Lines Matching refs:renderer

60 `);const g=FF(a);g.attr("viewBox","0 0 2412 512"),sg(g,100,512,!0);const w=g.append("g");w.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),w.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),w.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),w.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),w.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),w.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),w.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),w.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${f}`)}},yPe=fBt,xPe={db:{},renderer:fBt,parser:{parser:{yy:{}},parse:()=>{}}},dBt="flowchart-elk",kPe={id:dBt,detector:(i,a)=>{var f;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ltn);return{id:dBt,diagram:i}}},gBt="timeline",EPe={id:gBt,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Wtn);return{id:gBt,diagram:i}}},pBt="mindmap",TPe={id:pBt,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ken);return{id:pBt,diagram:i}}},bBt="sankey",CPe={id:bBt,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Jen);return{id:bBt,diagram:i}}},wBt="block",SPe={id:wBt,detector:i=>/^\s*block-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mnn);return{id:wBt,diagram:i}}};let mBt=!1;const Rgt=()=>{mBt||(mBt=!0,yY("error",xPe,i=>i.toLowerCase().trim()==="error"),yY("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),UPt(GNe,sPe,iPe,YNe,QNe,JNe,ZNe,nPe,rPe,kPe,WNe,KNe,TPe,EPe,XNe,oPe,aPe,cPe,tPe,CPe,ePe,SPe))};class vBt{constructor(a,f={}){this.text=a,this.metadata=f,this.type="graph",this.text=TNe(a),this.text+=`

61 `;const g=o1();try{this.type=QW(a,g)}catch(v){this.type="error",this.detectError=v}const w=Bgt(this.type);Kt.debug("Type "+this.type),this.db=w.db,this.renderer=w.renderer,this.parser=w.parser,this.parser.parser.yy=this.db,this.init=w.init,this.parse()}parse(){var f,g,w,v,b;if(this.detectError)throw this.detectError;(g=(f=this.db).clear)==null||g.call(f);const a=o1();(w=this.init)==null||w.call(this,a),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(a,f){await this.renderer.draw(this.text,a,f,this)}getParser(){return this.parser}getType(){return this.type}}const _Pe=async(i,a={})=>{const f=QW(i,o1());try{Bgt(f)}catch{const w=DMe(f);if(!w)throw new VPt(`Diagram ${f} not found.`);const{id:v,diagram:b}=await w();yY(v,b)}return new vBt(i,a)};let yBt=[];const APe=()=>{yBt.forEach(i=>{i()}),yBt=[]};var LPe=sFt(Object.keys,Object);const DPe=LPe;var MPe=Object.prototype,IPe=MPe.hasOwnProperty;function xBt(i){if(!rY(i))return DPe(i);var a=[];for(var f in Object(i))IPe.call(i,f)&&f!="constructor"&&a.push(f);return a}var OPe=m9(Uv,"DataView");const jgt=OPe;var NPe=m9(Uv,"Promise");const $gt=NPe;var PPe=m9(Uv,"Set");const lD=PPe;var FPe=m9(Uv,"WeakMap");const zgt=FPe;var kBt="[object Map]",BPe="[object Object]",EBt="[object Promise]",TBt="[object Set]",CBt="[object WeakMap]",SBt="[object DataView]",RPe=w9(jgt),jPe=w9(_F),$Pe=w9($gt),zPe=w9(lD),qPe=w9(zgt),T9=b9;(jgt&&T9(new jgt(new ArrayBuffer(1)))!=SBt||_F&&T9(new _F)!=kBt||$gt&&T9($gt.resolve())!=EBt||lD&&T9(new lD)!=TBt||zgt&&T9(new zgt)!=CBt)&&(T9=function(i){var a=b9(i),f=a==BPe?i.constructor:void 0,g=f?w9(f):"";if(g)switch(g){case RPe:return SBt;case jPe:return kBt;case $Pe:return EBt;case zPe:return TBt;case qPe:return CBt}return a});const hD=T9;var HPe="[object Map]",VPe="[object Set]",UPe=Object.prototype,GPe=UPe.hasOwnProperty;function BF(i){if(i==null)return!0;if(p8(i)&&(s1(i)||typeof i=="string"||typeof i.splice=="function"||rD(i)||sY(i)||nD(i)))return!i.length;var a=hD(i);if(a==HPe||a==VPe)return!i.size;if(rY(i))return!xBt(i).length;for(var f in i)if(GPe.call(i,f))return!1;return!0}const KPe="graphics-document document";function WPe(i,a){i.attr("role",KPe),a!==""&&i.attr("aria-roledescription",a)}function YPe(i,a,f,g){if(i.insert!==void 0){if(f){const w=`chart-desc-${g}`;i.attr("aria-describedby",w),i.insert("desc",":first-child").attr("id",w).text(f)}if(a){const w=`chart-title-${g}`;i.attr("aria-labelledby",w),i.insert("title",":first-child").attr("id",w).text(a)}}}const XPe=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function _Bt(i){return typeof i>"u"||i===null}function QPe(i){return typeof i=="object"&&i!==null}function JPe(i){return Array.isArray(i)?i:_Bt(i)?[]:[i]}function ZPe(i,a){var f,g,w,v;if(a)for(v=Object.keys(a),f=0,g=v.length;f<g;f+=1)w=v[f],i[w]=a[w];return i}function tFe(i,a){var f="",g;for(g=0;g<a;g+=1)f+=i;return f}function eFe(i){return i===0&&Number.NEGATIVE_INFINITY===1/i}var nFe=_Bt,rFe=QPe,iFe=JPe,sFe=tFe,aFe=eFe,oFe=ZPe,tp={isNothing:nFe,isObject:rFe,toArray:iFe,repeat:sFe,isNegativeZero:aFe,extend:oFe};function ABt(i,a){var f="",g=i.reason||"(unknown reason)";return i.mark?(i.mark.name&&(f+='in "'+i.mark.name+'" '),f+="("+(i.mark.line+1)+":"+(i.mark.column+1)+")",!a&&i.mark.snippet&&(f+=`
85 </iframe>`},XBt=(i,a,f,g,w)=>{const v=i.append("div");v.attr("id",f),g&&v.attr("style",g);const b=v.append("svg").attr("id",a).attr("width","100%").attr("xmlns",WBe);return w&&b.attr("xmlns:xlink",w),b.append("g"),i};function QBt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const lRe=(i,a,f,g)=>{var w,v,b;(w=i.getElementById(a))==null||w.remove(),(v=i.getElementById(f))==null||v.remove(),(b=i.getElementById(g))==null||b.remove()},hRe=async function(i,a,f){var V,Ot,It,jt,xt,Ft;Rgt();const g=WBt(a);a=g.code;const w=o1();Kt.debug(w),a.length>((w==null?void 0:w.maxTextSize)??VBe)&&(a=UBe);const v="#"+i,b="i"+i,E="#"+b,S="d"+i,_="#"+S;let M=Tr("body");const F=w.securityLevel===GBe,R=w.securityLevel===KBe,B=w.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),F){const Ct=QBt(Tr(f),b);M=Tr(Ct.nodes()[0].contentDocument.body),M.node().style.margin=0}else M=Tr(f);XBt(M,i,S,`font-family: ${B}`,YBe)}else{if(lRe(document,i,S,b),F){const Ct=QBt(Tr("body"),b);M=Tr(Ct.nodes()[0].contentDocument.body),M.node().style.margin=0}else M=Tr("body");XBt(M,i,S)}let z,Y;try{z=await Ygt(a,{title:g.title})}catch(Ct){z=new vBt("error"),Y=Ct}const nt=M.select(_).node(),ot=z.type,ft=nt.firstChild,wt=ft.firstChild,mt=(Ot=(V=z.renderer).getClasses)==null?void 0:Ot.call(V,a,z),ct=oRe(w,ot,mt,v),rt=document.createElement("style");rt.innerHTML=ct,ft.insertBefore(rt,wt);try{await z.renderer.draw(a,i,jFt,z)}catch(Ct){throw yPe.draw(a,i,jFt),Ct}const it=M.select(`${_} svg`),gt=(jt=(It=z.db).getAccTitle)==null?void 0:jt.call(It),Q=(Ft=(xt=z.db).getAccDescription)==null?void 0:Ft.call(xt);dRe(ot,it,gt,Q),M.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",XBe);let dt=M.select(_).node().innerHTML;if(Kt.debug("config.arrowMarkerAbsolute",w.arrowMarkerAbsolute),dt=cRe(dt,F,j1(w.arrowMarkerAbsolute)),F){const Ct=M.select(_+" svg").node();dt=uRe(dt,Ct)}else R||(dt=QL.sanitize(dt,{ADD_TAGS:rRe,ADD_ATTR:iRe}));if(APe(),Y)throw Y;const yt=Tr(F?E:_).node();return yt&&"remove"in yt&&yt.remove(),{svg:dt,bindFunctions:z.db.bindFunctions}};function fRe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),zNe(i),i!=null&&i.theme&&i.theme in Lx?i.themeVariables=Lx[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=Lx.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?$Ne(i):zFt();d0t(a.logLevel),Rgt()}const Ygt=(i,a={})=>{const{code:f}=KBt(i);return _Pe(f,a)};function dRe(i,a,f,g){WPe(a,i),YPe(a,f,g,a.attr("id"))}const S9=Object.freeze({render:hRe,parse:sRe,getDiagramFromText:Ygt,initialize:fRe,getConfig:o1,setConfig:qFt,getSiteConfig:zFt,updateSiteConfig:qNe,reset:()=>{wY()},globalReset:()=>{wY(cD)},defaultConfig:cD});d0t(o1().logLevel),wY(o1());const gRe=async()=>{Kt.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(JL).map(async([f,{detector:g,loader:w}])=>{if(w)try{Bgt(f)}catch{try{const{diagram:b,id:E}=await w();yY(E,b,g)}catch(b){throw Kt.error(`Failed to load external diagram with key ${f}. Removing from detectors.`),delete JL[f],b}}}))).filter(f=>f.status==="rejected");if(a.length>0){Kt.error(`Failed to load ${a.length} external diagrams`);for(const f of a)Kt.error(f);throw new Error(`Failed to load ${a.length} external diagrams`)}},pRe=(i,a,f)=>{Kt.warn(i),DFt(i)?(f&&f(i.str,i.hash),a.push({...i,message:i.str,error:i})):(f&&f(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},JBt=async function(i={querySelector:".mermaid"}){try{await bRe(i)}catch(a){if(DFt(a)&&Kt.error(a.str),_2.parseError&&_2.parseError(a),!i.suppressErrors)throw Kt.error("Use the suppressErrors option to suppress these errors"),a}},bRe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const g=S9.getConfig();Kt.debug(`${i?"":"No "}Callback function found`);let w;if(f)w=f;else if(a)w=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Kt.debug(`Found ${w.length} diagrams`),(g==null?void 0:g.startOnLoad)!==void 0&&(Kt.debug("Start On Load: "+(g==null?void 0:g.startOnLoad)),S9.updateSiteConfig({startOnLoad:g==null?void 0:g.startOnLoad}));const v=new uo.InitIDGenerator(g.deterministicIds,g.deterministicIDSeed);let b;const E=[];for(const S of Array.from(w)){Kt.info("Rendering diagram: "+S.id);/*! Check if previously processed */if(S.getAttribute("data-processed"))continue;S.setAttribute("data-processed","true");const _=`mermaid-${v.next()}`;b=S.innerHTML,b=BL(uo.entityDecode(b)).trim().replace(/<br\s*\/?>/gi,"<br/>");const M=uo.detectInit(b);M&&Kt.debug("Detected early reinit: ",M);try{const{svg:F,bindFunctions:R}=await nRt(_,b,S);S.innerHTML=F,i&&await i(_),R&&R(S)}catch(F){pRe(F,E,_2.parseError)}}if(E.length>0)throw E[0]},ZBt=function(i){S9.initialize(i)},wRe=async function(i,a,f){Kt.warn("mermaid.init is deprecated. Please use run instead."),i&&ZBt(i);const g={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?g.querySelector=a:a&&(a instanceof HTMLElement?g.nodes=[a]:g.nodes=a),await JBt(g)},mRe=async(i,{lazyLoad:a=!0}={})=>{UPt(...i),a===!1&&await gRe()},tRt=function(){if(_2.startOnLoad){const{startOnLoad:i}=S9.getConfig();i&&_2.run().catch(a=>Kt.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*!
92 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Nn=this.next();return Nn||this.lex()},begin:function(Nn){this.conditionStack.push(Nn)},popState:function(){var Nn=this.conditionStack.length-1;return Nn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Nn){return Nn=this.conditionStack.length-1-Math.abs(Nn||0),Nn>=0?this.conditionStack[Nn]:"INITIAL"},pushState:function(Nn){this.begin(Nn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Nn,Bn,ke,pe){switch(ke){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return br}();ga.lexer=Ss;function za(){this.yy={}}return za.prototype=ga,ga.Parser=za,new za}();SY.parser=SY;const xRe=SY;let Wv=[],y8=[""],ep="global",Yv="",i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],jF=[],Qgt="",Jgt=!1,_Y=4,AY=2;var rRt;const kRe=function(){return rRt},ERe=function(i){rRt=Ef(i,Re())},TRe=function(i,a,f,g,w,v,b,E,S){if(i==null||a===void 0||a===null||f===void 0||f===null||g===void 0||g===null)return;let _={};const M=jF.find(F=>F.from===a&&F.to===f);if(M?_=M:jF.push(_),_.type=i,_.from=a,_.to=f,_.label={text:g},w==null)_.techn={text:""};else if(typeof w=="object"){let[F,R]=Object.entries(w)[0];_[F]={text:R}}else _.techn={text:w};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[F,R]=Object.entries(v)[0];_[F]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[F,R]=Object.entries(b)[0];_[F]=R}else _.sprite=b;if(typeof E=="object"){let[F,R]=Object.entries(E)[0];_[F]=R}else _.tags=E;if(typeof S=="object"){let[F,R]=Object.entries(S)[0];_[F]=R}else _.link=S;_.wrap=x8()},CRe=function(i,a,f,g,w,v,b){if(a===null||f===null)return;let E={};const S=Wv.find(_=>_.alias===a);if(S&&a===S.alias?E=S:(E.alias=a,Wv.push(E)),f==null?E.label={text:""}:E.label={text:f},g==null)E.descr={text:""};else if(typeof g=="object"){let[_,M]=Object.entries(g)[0];E[_]={text:M}}else E.descr={text:g};if(typeof w=="object"){let[_,M]=Object.entries(w)[0];E[_]=M}else E.sprite=w;if(typeof v=="object"){let[_,M]=Object.entries(v)[0];E[_]=M}else E.tags=v;if(typeof b=="object"){let[_,M]=Object.entries(b)[0];E[_]=M}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=ep,E.wrap=x8()},SRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=Wv.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,Wv.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.techn={text:""};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.techn={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof v=="object"){let[M,F]=Object.entries(v)[0];S[M]=F}else S.sprite=v;if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.wrap=x8(),S.typeC4Shape={text:i},S.parentBoundary=ep},_Re=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=Wv.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,Wv.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.techn={text:""};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.techn={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof v=="object"){let[M,F]=Object.entries(v)[0];S[M]=F}else S.sprite=v;if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.wrap=x8(),S.typeC4Shape={text:i},S.parentBoundary=ep},ARe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"system"};else if(typeof f=="object"){let[E,S]=Object.entries(f)[0];v[E]={text:S}}else v.type={text:f};if(typeof g=="object"){let[E,S]=Object.entries(g)[0];v[E]=S}else v.tags=g;if(typeof w=="object"){let[E,S]=Object.entries(w)[0];v[E]=S}else v.link=w;v.parentBoundary=ep,v.wrap=x8(),Yv=ep,ep=i,y8.push(Yv)},LRe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"container"};else if(typeof f=="object"){let[E,S]=Object.entries(f)[0];v[E]={text:S}}else v.type={text:f};if(typeof g=="object"){let[E,S]=Object.entries(g)[0];v[E]=S}else v.tags=g;if(typeof w=="object"){let[E,S]=Object.entries(w)[0];v[E]=S}else v.link=w;v.parentBoundary=ep,v.wrap=x8(),Yv=ep,ep=i,y8.push(Yv)},DRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=i4.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,i4.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.type={text:"node"};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.type={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.nodeType=i,S.parentBoundary=ep,S.wrap=x8(),Yv=ep,ep=a,y8.push(Yv)},MRe=function(){ep=Yv,y8.pop(),Yv=y8.pop(),y8.push(Yv)},IRe=function(i,a,f,g,w,v,b,E,S,_,M){let F=Wv.find(R=>R.alias===a);if(!(F===void 0&&(F=i4.find(R=>R.alias===a),F===void 0))){if(f!=null)if(typeof f=="object"){let[R,B]=Object.entries(f)[0];F[R]=B}else F.bgColor=f;if(g!=null)if(typeof g=="object"){let[R,B]=Object.entries(g)[0];F[R]=B}else F.fontColor=g;if(w!=null)if(typeof w=="object"){let[R,B]=Object.entries(w)[0];F[R]=B}else F.borderColor=w;if(v!=null)if(typeof v=="object"){let[R,B]=Object.entries(v)[0];F[R]=B}else F.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,B]=Object.entries(b)[0];F[R]=B}else F.shape=b;if(E!=null)if(typeof E=="object"){let[R,B]=Object.entries(E)[0];F[R]=B}else F.sprite=E;if(S!=null)if(typeof S=="object"){let[R,B]=Object.entries(S)[0];F[R]=B}else F.techn=S;if(_!=null)if(typeof _=="object"){let[R,B]=Object.entries(_)[0];F[R]=B}else F.legendText=_;if(M!=null)if(typeof M=="object"){let[R,B]=Object.entries(M)[0];F[R]=B}else F.legendSprite=M}},ORe=function(i,a,f,g,w,v,b){const E=jF.find(S=>S.from===a&&S.to===f);if(E!==void 0){if(g!=null)if(typeof g=="object"){let[S,_]=Object.entries(g)[0];E[S]=_}else E.textColor=g;if(w!=null)if(typeof w=="object"){let[S,_]=Object.entries(w)[0];E[S]=_}else E.lineColor=w;if(v!=null)if(typeof v=="object"){let[S,_]=Object.entries(v)[0];E[S]=parseInt(_)}else E.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[S,_]=Object.entries(b)[0];E[S]=parseInt(_)}else E.offsetY=parseInt(b)}},NRe=function(i,a,f){let g=_Y,w=AY;if(typeof a=="object"){const v=Object.values(a)[0];g=parseInt(v)}else g=parseInt(a);if(typeof f=="object"){const v=Object.values(f)[0];w=parseInt(v)}else w=parseInt(f);g>=1&&(_Y=g),w>=1&&(AY=w)},PRe=function(){return _Y},FRe=function(){return AY},BRe=function(){return ep},RRe=function(){return Yv},iRt=function(i){return i==null?Wv:Wv.filter(a=>a.parentBoundary===i)},jRe=function(i){return Wv.find(a=>a.alias===i)},$Re=function(i){return Object.keys(iRt(i))},zRe=function(i){return i==null?i4:i4.filter(a=>a.parentBoundary===i)},qRe=function(){return jF},HRe=function(){return Qgt},VRe=function(i){Jgt=i},x8=function(){return Jgt},Zgt={addPersonOrSystem:CRe,addPersonOrSystemBoundary:ARe,addContainer:SRe,addContainerBoundary:LRe,addComponent:_Re,addDeploymentNode:DRe,popBoundaryParseStack:MRe,addRel:TRe,updateElStyle:IRe,updateRelStyle:ORe,updateLayoutConfig:NRe,autoWrap:x8,setWrap:VRe,getC4ShapeArray:iRt,getC4Shape:jRe,getC4ShapeKeys:$Re,getBoundarys:zRe,getCurrentBoundaryParse:BRe,getParentBoundaryParse:RRe,getRels:qRe,getTitle:HRe,getC4Type:kRe,getC4ShapeInRow:PRe,getC4BoundaryInRow:FRe,setAccTitle:og,getAccTitle:Xg,getAccDescription:Jg,setAccDescription:Qg,getConfig:()=>Re().c4,clear:function(){Wv=[],i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Yv="",ep="global",y8=[""],jF=[],y8=[""],Qgt="",Jgt=!1,_Y=4,AY=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Qgt=Ef(i,Re())},setC4Type:ERe},LY=(i,a)=>{const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),a.rx!==void 0&&f.attr("rx",a.rx),a.ry!==void 0&&f.attr("ry",a.ry),a.attrs!==void 0)for(const g in a.attrs)f.attr(g,a.attrs[g]);return a.class!==void 0&&f.attr("class",a.class),f},sRt=(i,a)=>{const f={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};LY(i,f).lower()},URe=(i,a)=>{const f=a.text.replace(xF," "),g=i.append("text");g.attr("x",a.x),g.attr("y",a.y),g.attr("class","legend"),g.style("text-anchor",a.anchor),a.class!==void 0&&g.attr("class",a.class);const w=g.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),g},GRe=(i,a,f,g)=>{const w=i.append("image");w.attr("x",a),w.attr("y",f);const v=h8(g);w.attr("xlink:href",v)},KRe=(i,a,f,g)=>{const w=i.append("use");w.attr("x",a),w.attr("y",f);const v=h8(g);w.attr("xlink:href",`#${v}`)},_9=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),tpt=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),ept=function(i,a){return LY(i,a)},aRt=function(i,a,f,g,w,v){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",g),b.attr("y",w);let E=v.startsWith("data:image/png;base64")?v:h8(v);b.attr("xlink:href",E)},WRe=(i,a,f)=>{const g=i.append("g");let w=0;for(let v of a){let b=v.textColor?v.textColor:"#444444",E=v.lineColor?v.lineColor:"#444444",S=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,M="";if(w===0){let R=g.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",E),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+M+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+M+"#arrowend)"),w=-1}else{let R=g.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+M+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+M+"#arrowend)")}let F=f.messageFont();Nx(f)(v.label.text,g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+S,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},F),v.techn&&v.techn.text!==""&&(F=f.messageFont(),Nx(f)("["+v.techn.text+"]",g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+S,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+f.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},F))}},YRe=function(i,a,f){const g=i.append("g");let w=a.bgColor?a.bgColor:"none",v=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let S={x:a.x,y:a.y,fill:w,stroke:v,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};ept(g,S);let _=f.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,Nx(f)(a.label.text,g,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},_),a.type&&a.type.text!==""&&(_=f.boundaryFont(),_.fontColor=b,Nx(f)(a.type.text,g,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},_)),a.descr&&a.descr.text!==""&&(_=f.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,Nx(f)(a.descr.text,g,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},_))},XRe=function(i,a,f){var F;let g=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],w=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],v=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const S=_9();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":S.x=a.x,S.y=a.y,S.fill=g,S.width=a.width,S.height=a.height,S.stroke=w,S.rx=2.5,S.ry=2.5,S.attrs={"stroke-width":.5},ept(E,S);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let _=sje(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":aRt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let M=f[a.typeC4Shape.text+"Font"]();return M.fontWeight="bold",M.fontSize=M.fontSize+2,M.fontColor=v,Nx(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:v},M),M=f[a.typeC4Shape.text+"Font"](),M.fontColor=v,a.techn&&((F=a.techn)==null?void 0:F.text)!==""?Nx(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:v,"font-style":"italic"},M):a.type&&a.type.text!==""&&Nx(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:v,"font-style":"italic"},M),a.descr&&a.descr.text!==""&&(M=f.personFont(),M.fontColor=v,Nx(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:v},M)),a.height},QRe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},JRe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},ZRe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},tje=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},eje=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},nje=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},rje=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},ije=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},sje=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),Nx=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b+S/2).attr("y",E+_/2+5).style("text-anchor","middle").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{fontSize:R,fontFamily:B,fontWeight:z}=F,Y=w.split(ei.lineBreakRegex);for(let nt=0;nt<Y.length;nt++){const ot=nt*R-R*(Y.length-1)/2,ft=v.append("text").attr("x",b+S/2).attr("y",E).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",R).style("font-weight",z).style("font-family",B);ft.append("tspan").attr("dy",ot).text(Y[nt]).attr("alignment-baseline","mathematical"),g(ft,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),s4={drawRect:ept,drawBoundary:YRe,drawC4Shape:XRe,drawRels:WRe,drawImage:aRt,insertArrowHead:tje,insertArrowEnd:eje,insertArrowFilledHead:nje,insertDynamicNumber:rje,insertArrowCrossHead:ije,insertDatabaseIcon:QRe,insertComputerIcon:JRe,insertClockIcon:ZRe};let DY=0,MY=0,oRt=4,npt=2;SY.yy=Zgt;let Cs={};class cRt{constructor(a){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,rpt(a.db.getConfig())}setData(a,f,g,w){this.nextData.startx=this.data.startx=a,this.nextData.stopx=this.data.stopx=f,this.nextData.starty=this.data.starty=g,this.nextData.stopy=this.data.stopy=w}updateVal(a,f,g,w){a[f]===void 0?a[f]=g:a[f]=w(g,a[f])}insert(a){this.nextData.cnt=this.nextData.cnt+1;let f=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+a.margin:this.nextData.stopx+a.margin*2,g=f+a.width,w=this.nextData.starty+a.margin*2,v=w+a.height;(f>=this.data.widthLimit||g>=this.data.widthLimit||this.nextData.cnt>oRt)&&(f=this.nextData.startx+a.margin+Cs.nextLinePaddingX,w=this.nextData.stopy+a.margin*2,this.nextData.stopx=g=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=w+a.height,this.nextData.cnt=1),a.x=f,a.y=w,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",w,Math.min),this.updateVal(this.data,"stopx",g,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",w,Math.min),this.updateVal(this.nextData,"stopx",g,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},rpt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const rpt=function(i){Ld(Cs,i),i.fontFamily&&(Cs.personFontFamily=Cs.systemFontFamily=Cs.messageFontFamily=i.fontFamily),i.fontSize&&(Cs.personFontSize=Cs.systemFontSize=Cs.messageFontSize=i.fontSize),i.fontWeight&&(Cs.personFontWeight=Cs.systemFontWeight=Cs.messageFontWeight=i.fontWeight)},$F=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),IY=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),aje=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function Xv(i,a,f,g,w){if(!a[i].width)if(f)a[i].text=LFt(a[i].text,w,g),a[i].textLines=a[i].text.split(ei.lineBreakRegex).length,a[i].width=w,a[i].height=Tgt(a[i].text,g);else{let v=a[i].text.split(ei.lineBreakRegex);a[i].textLines=v.length;let b=0;a[i].height=0,a[i].width=0;for(const E of v)a[i].width=Math.max(n4(E,g),a[i].width),b=Tgt(E,g),a[i].height=a[i].height+b}}const uRt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=Cs.c4ShapeMargin-35;let g=a.wrap&&Cs.wrap,w=IY(Cs);w.fontSize=w.fontSize+2,w.fontWeight="bold";let v=n4(a.label.text,w);Xv("label",a,g,w,v),s4.drawBoundary(i,a,Cs)},lRt=function(i,a,f,g){let w=0;for(const v of g){w=0;const b=f[v];let E=$F(Cs,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=n4("«"+b.typeC4Shape.text+"»",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=Cs.c4ShapePadding,w=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height);let S=b.wrap&&Cs.wrap,_=Cs.width-Cs.c4ShapePadding*2,M=$F(Cs,b.typeC4Shape.text);if(M.fontSize=M.fontSize+2,M.fontWeight="bold",Xv("label",b,S,M,_),b.label.Y=w+8,w=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let B=$F(Cs,b.typeC4Shape.text);Xv("type",b,S,B,_),b.type.Y=w+5,w=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let B=$F(Cs,b.techn.text);Xv("techn",b,S,B,_),b.techn.Y=w+5,w=b.techn.Y+b.techn.height}let F=w,R=b.label.width;if(b.descr&&b.descr.text!==""){let B=$F(Cs,b.typeC4Shape.text);Xv("descr",b,S,B,_),b.descr.Y=w+20,w=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),F=w-b.descr.textLines*5}R=R+Cs.c4ShapePadding,b.width=Math.max(b.width||Cs.width,R,Cs.width),b.height=Math.max(b.height||Cs.height,F,Cs.height),b.margin=b.margin||Cs.c4ShapeMargin,i.insert(b),s4.drawC4Shape(a,b,Cs)}i.bumpLastMargin(Cs.c4ShapeMargin)};let Jw=class{constructor(a,f){this.x=a,this.y=f}},hRt=function(i,a){let f=i.x,g=i.y,w=a.x,v=a.y,b=f+i.width/2,E=g+i.height/2,S=Math.abs(f-w),_=Math.abs(g-v),M=_/S,F=i.height/i.width,R=null;return g==v&&f<w?R=new Jw(f+i.width,E):g==v&&f>w?R=new Jw(f,E):f==w&&g<v?R=new Jw(b,g+i.height):f==w&&g>v&&(R=new Jw(b,g)),f>w&&g<v?F>=M?R=new Jw(f,E+M*i.width/2):R=new Jw(b-S/_*i.height/2,g+i.height):f<w&&g<v?F>=M?R=new Jw(f+i.width,E+M*i.width/2):R=new Jw(b+S/_*i.height/2,g+i.height):f<w&&g>v?F>=M?R=new Jw(f+i.width,E-M*i.width/2):R=new Jw(b+i.height/2*S/_,g):f>w&&g>v&&(F>=M?R=new Jw(f,E-i.width/2*M):R=new Jw(b-i.height/2*S/_,g)),R},oje=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let g=hRt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let w=hRt(a,f);return{startPoint:g,endPoint:w}};const cje=function(i,a,f,g){let w=0;for(let v of a){w=w+1;let b=v.wrap&&Cs.wrap,E=aje(Cs);g.db.getC4Type()==="C4Dynamic"&&(v.label.text=w+": "+v.label.text);let _=n4(v.label.text,E);Xv("label",v,b,E,_),v.techn&&v.techn.text!==""&&(_=n4(v.techn.text,E),Xv("techn",v,b,E,_)),v.descr&&v.descr.text!==""&&(_=n4(v.descr.text,E),Xv("descr",v,b,E,_));let M=f(v.from),F=f(v.to),R=oje(M,F);v.startPoint=R.startPoint,v.endPoint=R.endPoint}s4.drawRels(i,a,Cs)};function fRt(i,a,f,g,w){let v=new cRt(w);v.data.widthLimit=f.data.widthLimit/Math.min(npt,g.length);for(let[b,E]of g.entries()){let S=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=S,S=E.image.Y+E.image.height);let _=E.wrap&&Cs.wrap,M=IY(Cs);if(M.fontSize=M.fontSize+2,M.fontWeight="bold",Xv("label",E,_,M,v.data.widthLimit),E.label.Y=S+8,S=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let z=IY(Cs);Xv("type",E,_,z,v.data.widthLimit),E.type.Y=S+5,S=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let z=IY(Cs);z.fontSize=z.fontSize-2,Xv("descr",E,_,z,v.data.widthLimit),E.descr.Y=S+20,S=E.descr.Y+E.descr.height}if(b==0||b%npt===0){let z=f.data.startx+Cs.diagramMarginX,Y=f.data.stopy+Cs.diagramMarginY+S;v.setData(z,z,Y,Y)}else{let z=v.data.stopx!==v.data.startx?v.data.stopx+Cs.diagramMarginX:v.data.startx,Y=v.data.starty;v.setData(z,z,Y,Y)}v.name=E.alias;let F=w.db.getC4ShapeArray(E.alias),R=w.db.getC4ShapeKeys(E.alias);R.length>0&&lRt(v,i,F,R),a=E.alias;let B=w.db.getBoundarys(a);B.length>0&&fRt(i,a,v,B,w),E.alias!=="global"&&uRt(i,E,v),f.data.stopy=Math.max(v.data.stopy+Cs.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(v.data.stopx+Cs.c4ShapeMargin,f.data.stopx),DY=Math.max(DY,f.data.stopx),MY=Math.max(MY,f.data.stopy)}}const dRt={drawPersonOrSystemArray:lRt,drawBoundary:uRt,setConf:rpt,draw:function(i,a,f,g){Cs=Re().c4;const w=Re().securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const b=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body");let E=g.db;g.db.setWrap(Cs.wrap),oRt=E.getC4ShapeInRow(),npt=E.getC4BoundaryInRow(),Kt.debug(`C:${JSON.stringify(Cs,null,2)}`);const S=w==="sandbox"?b.select(`[id="${a}"]`):Tr(`[id="${a}"]`);s4.insertComputerIcon(S),s4.insertDatabaseIcon(S),s4.insertClockIcon(S);let _=new cRt(g);_.setData(Cs.diagramMarginX,Cs.diagramMarginX,Cs.diagramMarginY,Cs.diagramMarginY),_.data.widthLimit=screen.availWidth,DY=Cs.diagramMarginX,MY=Cs.diagramMarginY;const M=g.db.getTitle();let F=g.db.getBoundarys("");fRt(S,"",_,F,g),s4.insertArrowHead(S),s4.insertArrowEnd(S),s4.insertArrowCrossHead(S),s4.insertArrowFilledHead(S),cje(S,g.db.getRels(),g.db.getC4Shape,g),_.data.stopx=DY,_.data.stopy=MY;const R=_.data;let z=R.stopy-R.starty+2*Cs.diagramMarginY;const nt=R.stopx-R.startx+2*Cs.diagramMarginX;M&&S.append("text").text(M).attr("x",(R.stopx-R.startx)/2-4*Cs.diagramMarginX).attr("y",R.starty+Cs.diagramMarginY),sg(S,z,nt,Cs.useMaxWidth);const ot=M?60:0;S.attr("viewBox",R.startx-Cs.diagramMarginX+" -"+(Cs.diagramMarginY+ot)+" "+nt+" "+(z+ot)),Kt.debug("models:",R)}},uje=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:xRe,db:Zgt,renderer:dRt,styles:i=>`.person {
226 `,wWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:spt,db:A9,renderer:nbt,styles:mzt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,wUe.setConf(i.flowchart),A9.clear(),A9.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),mWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:spt,db:A9,renderer:nbt,styles:mzt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,bPe({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),nbt.setConf(i.flowchart),A9.clear(),A9.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var rbt=function(){var i=function(gt,Q,dt,K){for(dt=dt||{},K=gt.length;K--;dt[gt[K]]=Q);return dt},a=[6,8,10,20,22,24,26,27,28],f=[1,10],g=[1,11],w=[1,12],v=[1,13],b=[1,14],E=[1,15],S=[1,21],_=[1,22],M=[1,23],F=[1,24],R=[1,25],B=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],z=[1,34],Y=[27,28,46,47],nt=[41,42,43,44,45],ot=[17,34],ft=[1,54],wt=[1,53],mt=[17,34,36,38],ct={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(Q,dt,K,yt,V,Ot,It){var jt=Ot.length-1;switch(V){case 1:break;case 2:this.$=[];break;case 3:Ot[jt-1].push(Ot[jt]),this.$=Ot[jt-1];break;case 4:case 5:this.$=Ot[jt];break;case 6:case 7:this.$=[];break;case 8:yt.addEntity(Ot[jt-4]),yt.addEntity(Ot[jt-2]),yt.addRelationship(Ot[jt-4],Ot[jt],Ot[jt-2],Ot[jt-3]);break;case 9:yt.addEntity(Ot[jt-3]),yt.addAttributes(Ot[jt-3],Ot[jt-1]);break;case 10:yt.addEntity(Ot[jt-2]);break;case 11:yt.addEntity(Ot[jt]);break;case 12:yt.addEntity(Ot[jt-6],Ot[jt-4]),yt.addAttributes(Ot[jt-6],Ot[jt-1]);break;case 13:yt.addEntity(Ot[jt-5],Ot[jt-3]);break;case 14:yt.addEntity(Ot[jt-3],Ot[jt-1]);break;case 15:case 16:this.$=Ot[jt].trim(),yt.setAccTitle(this.$);break;case 17:case 18:this.$=Ot[jt].trim(),yt.setAccDescription(this.$);break;case 19:case 43:this.$=Ot[jt];break;case 20:case 41:case 42:this.$=Ot[jt].replace(/"/g,"");break;case 21:case 29:this.$=[Ot[jt]];break;case 22:Ot[jt].push(Ot[jt-1]),this.$=Ot[jt];break;case 23:this.$={attributeType:Ot[jt-1],attributeName:Ot[jt]};break;case 24:this.$={attributeType:Ot[jt-2],attributeName:Ot[jt-1],attributeKeyTypeList:Ot[jt]};break;case 25:this.$={attributeType:Ot[jt-2],attributeName:Ot[jt-1],attributeComment:Ot[jt]};break;case 26:this.$={attributeType:Ot[jt-3],attributeName:Ot[jt-2],attributeKeyTypeList:Ot[jt-1],attributeComment:Ot[jt]};break;case 27:case 28:case 31:this.$=Ot[jt];break;case 30:Ot[jt-2].push(Ot[jt]),this.$=Ot[jt-2];break;case 32:this.$=Ot[jt].replace(/"/g,"");break;case 33:this.$={cardA:Ot[jt],relType:Ot[jt-1],cardB:Ot[jt-2]};break;case 34:this.$=yt.Cardinality.ZERO_OR_ONE;break;case 35:this.$=yt.Cardinality.ZERO_OR_MORE;break;case 36:this.$=yt.Cardinality.ONE_OR_MORE;break;case 37:this.$=yt.Cardinality.ONLY_ONE;break;case 38:this.$=yt.Cardinality.MD_PARENT;break;case 39:this.$=yt.Identification.NON_IDENTIFYING;break;case 40:this.$=yt.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:f,22:g,24:w,26:v,27:b,28:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:16,11:9,20:f,22:g,24:w,26:v,27:b,28:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:S,42:_,43:M,44:F,45:R}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(a,[2,18]),i(B,[2,19]),i(B,[2,20]),i(a,[2,4]),{11:29,27:b,28:E},{16:30,17:[1,31],29:32,30:33,34:z},{11:35,27:b,28:E},{40:36,46:[1,37],47:[1,38]},i(Y,[2,34]),i(Y,[2,35]),i(Y,[2,36]),i(Y,[2,37]),i(Y,[2,38]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),{13:[1,39]},{17:[1,40]},i(a,[2,10]),{16:41,17:[2,21],29:32,30:33,34:z},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:S,42:_,43:M,44:F,45:R},i(nt,[2,39]),i(nt,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(a,[2,9]),{17:[2,22]},i(ot,[2,23],{32:50,33:51,35:52,37:ft,38:wt}),i([17,34,37,38],[2,28]),i(a,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(a,[2,8]),i(a,[2,41]),i(a,[2,42]),i(a,[2,43]),i(ot,[2,24],{33:56,36:[1,57],38:wt}),i(ot,[2,25]),i(mt,[2,29]),i(ot,[2,32]),i(mt,[2,31]),{16:58,17:[1,59],29:32,30:33,34:z},i(ot,[2,26]),{35:60,37:ft},{17:[1,61]},i(a,[2,13]),i(mt,[2,30]),i(a,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(Q,dt){if(dt.recoverable)this.trace(Q);else{var K=new Error(Q);throw K.hash=dt,K}},parse:function(Q){var dt=this,K=[0],yt=[],V=[null],Ot=[],It=this.table,jt="",xt=0,Ft=0,Ct=2,kt=1,Gt=Ot.slice.call(arguments,1),Fe=Object.create(this.lexer),Mt={yy:{}};for(var pn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pn)&&(Mt.yy[pn]=this.yy[pn]);Fe.setInput(Q,Mt.yy),Mt.yy.lexer=Fe,Mt.yy.parser=this,typeof Fe.yylloc>"u"&&(Fe.yylloc={});var Ae=Fe.yylloc;Ot.push(Ae);var ye=Fe.options&&Fe.options.ranges;typeof Mt.yy.parseError=="function"?this.parseError=Mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tn(){var Fi;return Fi=yt.pop()||Fe.lex()||kt,typeof Fi!="number"&&(Fi instanceof Array&&(yt=Fi,Fi=yt.pop()),Fi=dt.symbols_[Fi]||Fi),Fi}for(var sn,be,Ne,Xt,_e={},xe,Mn,ce,Br;;){if(be=K[K.length-1],this.defaultActions[be]?Ne=this.defaultActions[be]:((sn===null||typeof sn>"u")&&(sn=tn()),Ne=It[be]&&It[be][sn]),typeof Ne>"u"||!Ne.length||!Ne[0]){var we="";Br=[];for(xe in It[be])this.terminals_[xe]&&xe>Ct&&Br.push("'"+this.terminals_[xe]+"'");Fe.showPosition?we="Parse error on line "+(xt+1)+`:
231 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var dt=this.next();return dt||this.lex()},begin:function(dt){this.conditionStack.push(dt)},popState:function(){var dt=this.conditionStack.length-1;return dt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(dt){return dt=this.conditionStack.length-1-Math.abs(dt||0),dt>=0?this.conditionStack[dt]:"INITIAL"},pushState:function(dt){this.begin(dt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(dt,K,yt,V){switch(yt){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return K.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return K.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return gt}();ct.lexer=rt;function it(){this.yy={}}return it.prototype=ct,ct.Parser=it,new it}();rbt.parser=rbt;const vWe=rbt;let S8={},ibt=[];const yWe={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},xWe={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},vzt=function(i,a=void 0){return S8[i]===void 0?(S8[i]={attributes:[],alias:a},Kt.info("Added new entity :",i)):S8[i]&&!S8[i].alias&&a&&(S8[i].alias=a,Kt.info(`Add alias '${a}' to entity '${i}'`)),S8[i]},kWe={Cardinality:yWe,Identification:xWe,getConfig:()=>Re().er,addEntity:vzt,addAttributes:function(i,a){let f=vzt(i),g;for(g=a.length-1;g>=0;g--)f.attributes.push(a[g]),Kt.debug("Added attribute ",a[g].attributeName)},getEntities:()=>S8,addRelationship:function(i,a,f,g){let w={entityA:i,roleA:a,entityB:f,relSpec:g};ibt.push(w),Kt.debug("Added new relationship :",w)},getRelationships:()=>ibt,clear:function(){S8={},ibt=[],ag()},setAccTitle:og,getAccTitle:Xg,setAccDescription:Qg,getAccDescription:Jg,setDiagramTitle:S2,getDiagramTitle:Zg},ey={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},ny={ERMarkers:ey,insertMarkers:function(i,a){let f;i.append("defs").append("marker").attr("id",ey.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",ey.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",ey.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",ey.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",ey.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",ey.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},EWe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function TWe(i){return typeof i=="string"&&EWe.test(i)}const b0=[];for(let i=0;i<256;++i)b0.push((i+256).toString(16).slice(1));function CWe(i,a=0){return(b0[i[a+0]]+b0[i[a+1]]+b0[i[a+2]]+b0[i[a+3]]+"-"+b0[i[a+4]]+b0[i[a+5]]+"-"+b0[i[a+6]]+b0[i[a+7]]+"-"+b0[i[a+8]]+b0[i[a+9]]+"-"+b0[i[a+10]]+b0[i[a+11]]+b0[i[a+12]]+b0[i[a+13]]+b0[i[a+14]]+b0[i[a+15]]).toLowerCase()}function SWe(i){if(!TWe(i))throw TypeError("Invalid UUID");let a;const f=new Uint8Array(16);return f[0]=(a=parseInt(i.slice(0,8),16))>>>24,f[1]=a>>>16&255,f[2]=a>>>8&255,f[3]=a&255,f[4]=(a=parseInt(i.slice(9,13),16))>>>8,f[5]=a&255,f[6]=(a=parseInt(i.slice(14,18),16))>>>8,f[7]=a&255,f[8]=(a=parseInt(i.slice(19,23),16))>>>8,f[9]=a&255,f[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,f[11]=a/4294967296&255,f[12]=a>>>24&255,f[13]=a>>>16&255,f[14]=a>>>8&255,f[15]=a&255,f}function _We(i){i=unescape(encodeURIComponent(i));const a=[];for(let f=0;f<i.length;++f)a.push(i.charCodeAt(f));return a}const AWe="6ba7b810-9dad-11d1-80b4-00c04fd430c8",LWe="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function DWe(i,a,f){function g(w,v,b,E){var S;if(typeof w=="string"&&(w=_We(w)),typeof v=="string"&&(v=SWe(v)),((S=v)===null||S===void 0?void 0:S.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let _=new Uint8Array(16+w.length);if(_.set(v),_.set(w,v.length),_=f(_),_[6]=_[6]&15|a,_[8]=_[8]&63|128,b){E=E||0;for(let M=0;M<16;++M)b[E+M]=_[M];return b}return CWe(_)}try{g.name=i}catch{}return g.DNS=AWe,g.URL=LWe,g}function MWe(i,a,f,g){switch(i){case 0:return a&f^~a&g;case 1:return a^f^g;case 2:return a&f^a&g^f&g;case 3:return a^f^g}}function sbt(i,a){return i<<a|i>>>32-a}function IWe(i){const a=[1518500249,1859775393,2400959708,3395469782],f=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let E=0;E<b.length;++E)i.push(b.charCodeAt(E))}else Array.isArray(i)||(i=Array.prototype.slice.call(i));i.push(128);const g=i.length/4+2,w=Math.ceil(g/16),v=new Array(w);for(let b=0;b<w;++b){const E=new Uint32Array(16);for(let S=0;S<16;++S)E[S]=i[b*64+S*4]<<24|i[b*64+S*4+1]<<16|i[b*64+S*4+2]<<8|i[b*64+S*4+3];v[b]=E}v[w-1][14]=(i.length-1)*8/Math.pow(2,32),v[w-1][14]=Math.floor(v[w-1][14]),v[w-1][15]=(i.length-1)*8&4294967295;for(let b=0;b<w;++b){const E=new Uint32Array(80);for(let B=0;B<16;++B)E[B]=v[b][B];for(let B=16;B<80;++B)E[B]=sbt(E[B-3]^E[B-8]^E[B-14]^E[B-16],1);let S=f[0],_=f[1],M=f[2],F=f[3],R=f[4];for(let B=0;B<80;++B){const z=Math.floor(B/20),Y=sbt(S,5)+MWe(z,_,M,F)+R+a[z]+E[B]>>>0;R=F,F=M,M=sbt(_,30)>>>0,_=S,S=Y}f[0]=f[0]+S>>>0,f[1]=f[1]+_>>>0,f[2]=f[2]+M>>>0,f[3]=f[3]+F>>>0,f[4]=f[4]+R>>>0}return[f[0]>>24&255,f[0]>>16&255,f[0]>>8&255,f[0]&255,f[1]>>24&255,f[1]>>16&255,f[1]>>8&255,f[1]&255,f[2]>>24&255,f[2]>>16&255,f[2]>>8&255,f[2]&255,f[3]>>24&255,f[3]>>16&255,f[3]>>8&255,f[3]&255,f[4]>>24&255,f[4]>>16&255,f[4]>>8&255,f[4]&255]}const OWe=DWe("v5",80,IWe),NWe=/[^\dA-Za-z](\W)*/g;let z1={},nB=new Map;const PWe=function(i){const a=Object.keys(i);for(const f of a)z1[f]=i[f]},FWe=(i,a,f)=>{const g=z1.entityPadding/3,w=z1.entityPadding/3,v=z1.fontSize*.85,b=a.node().getBBox(),E=[];let S=!1,_=!1,M=0,F=0,R=0,B=0,z=b.height+g*2,Y=1;f.forEach(wt=>{wt.attributeKeyTypeList!==void 0&&wt.attributeKeyTypeList.length>0&&(S=!0),wt.attributeComment!==void 0&&(_=!0)}),f.forEach(wt=>{const mt=`${a.node().id}-attr-${Y}`;let ct=0;const rt=kF(wt.attributeType),it=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(rt),gt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(wt.attributeName),Q={};Q.tn=it,Q.nn=gt;const dt=it.node().getBBox(),K=gt.node().getBBox();if(M=Math.max(M,dt.width),F=Math.max(F,K.width),ct=Math.max(dt.height,K.height),S){const yt=wt.attributeKeyTypeList!==void 0?wt.attributeKeyTypeList.join(","):"",V=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(yt);Q.kn=V;const Ot=V.node().getBBox();R=Math.max(R,Ot.width),ct=Math.max(ct,Ot.height)}if(_){const yt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(wt.attributeComment||"");Q.cn=yt;const V=yt.node().getBBox();B=Math.max(B,V.width),ct=Math.max(ct,V.height)}Q.height=ct,E.push(Q),z+=ct+g*2,Y+=1});let nt=4;S&&(nt+=2),_&&(nt+=2);const ot=M+F+R+B,ft={width:Math.max(z1.minEntityWidth,Math.max(b.width+z1.entityPadding*2,ot+w*nt)),height:f.length>0?z:Math.max(z1.minEntityHeight,b.height+z1.entityPadding*2)};if(f.length>0){const wt=Math.max(0,(ft.width-ot-w*nt)/(nt/2));a.attr("transform","translate("+ft.width/2+","+(g+b.height/2)+")");let mt=b.height+g*2,ct="attributeBoxOdd";E.forEach(rt=>{const it=mt+g+rt.height/2;rt.tn.attr("transform","translate("+w+","+it+")");const gt=i.insert("rect","#"+rt.tn.node().id).classed(`er ${ct}`,!0).attr("x",0).attr("y",mt).attr("width",M+w*2+wt).attr("height",rt.height+g*2),Q=parseFloat(gt.attr("x"))+parseFloat(gt.attr("width"));rt.nn.attr("transform","translate("+(Q+w)+","+it+")");const dt=i.insert("rect","#"+rt.nn.node().id).classed(`er ${ct}`,!0).attr("x",Q).attr("y",mt).attr("width",F+w*2+wt).attr("height",rt.height+g*2);let K=parseFloat(dt.attr("x"))+parseFloat(dt.attr("width"));if(S){rt.kn.attr("transform","translate("+(K+w)+","+it+")");const yt=i.insert("rect","#"+rt.kn.node().id).classed(`er ${ct}`,!0).attr("x",K).attr("y",mt).attr("width",R+w*2+wt).attr("height",rt.height+g*2);K=parseFloat(yt.attr("x"))+parseFloat(yt.attr("width"))}_&&(rt.cn.attr("transform","translate("+(K+w)+","+it+")"),i.insert("rect","#"+rt.cn.node().id).classed(`er ${ct}`,"true").attr("x",K).attr("y",mt).attr("width",B+w*2+wt).attr("height",rt.height+g*2)),mt+=rt.height+g*2,ct=ct==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else ft.height=Math.max(z1.minEntityHeight,z),a.attr("transform","translate("+ft.width/2+","+ft.height/2+")");return ft},BWe=function(i,a,f){const g=Object.keys(a);let w;return g.forEach(function(v){const b=HWe(v,"entity");nB.set(v,b);const E=i.append("g").attr("id",b);w=w===void 0?b:w;const S="text-"+b,_=E.append("text").classed("er entityLabel",!0).attr("id",S).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Re().fontFamily).style("font-size",z1.fontSize+"px").text(a[v].alias??v),{width:M,height:F}=FWe(E,_,a[v].attributes),B=E.insert("rect","#"+S).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",M).attr("height",F).node().getBBox();f.setNode(b,{width:B.width,height:B.height,shape:"rect",id:b})}),w},RWe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )")})},yzt=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},jWe=function(i,a){return i.forEach(function(f){a.setEdge(nB.get(f.entityA),nB.get(f.entityB),{relationship:f},yzt(f))}),i};let xzt=0;const $We=function(i,a,f,g,w){xzt++;const v=f.edge(nB.get(a.entityA),nB.get(a.entityB),yzt(a)),b=Ax().x(function(z){return z.x}).y(function(z){return z.y}).curve(wF),E=i.insert("path","#"+g).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",z1.stroke).style("fill","none");a.relSpec.relType===w.db.Identification.NON_IDENTIFYING&&E.attr("stroke-dasharray","8,8");let S="";switch(z1.arrowMarkerAbsolute&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),a.relSpec.cardA){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ZERO_OR_ONE_END+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ZERO_OR_MORE_END+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ONE_OR_MORE_END+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ONLY_ONE_END+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.MD_PARENT_END+")");break}switch(a.relSpec.cardB){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ZERO_OR_ONE_START+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ZERO_OR_MORE_START+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ONE_OR_MORE_START+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ONLY_ONE_START+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.MD_PARENT_START+")");break}const _=E.node().getTotalLength(),M=E.node().getPointAtLength(_*.5),F="rel"+xzt,B=i.append("text").classed("er relationshipLabel",!0).attr("id",F).attr("x",M.x).attr("y",M.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Re().fontFamily).style("font-size",z1.fontSize+"px").text(a.roleA).node().getBBox();i.insert("rect","#"+F).classed("er relationshipLabelBox",!0).attr("x",M.x-B.width/2).attr("y",M.y-B.height/2).attr("width",B.width).attr("height",B.height)},zWe=function(i,a,f,g){z1=Re().er,Kt.info("Drawing ER diagram");const w=Re().securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const E=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);ny.insertMarkers(E,z1);let S;S=new l1({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:z1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=BWe(E,g.db.getEntities(),S),M=jWe(g.db.getRelationships(),S);kD(S),RWe(E,S),M.forEach(function(Y){$We(E,Y,S,_,g)});const F=z1.diagramPadding;uo.insertTitle(E,"entityTitleText",z1.titleTopMargin,g.db.getDiagramTitle());const R=E.node().getBBox(),B=R.width+F*2,z=R.height+F*2;sg(E,z,B,z1.useMaxWidth),E.attr("viewBox",`${R.x-F} ${R.y-F} ${B} ${z}`)},qWe="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function HWe(i="",a=""){const f=i.replace(NWe,"");return`${kzt(a)}${kzt(f)}${OWe(i,qWe)}`}function kzt(i=""){return i.length>0?`${i}-`:""}const VWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:vWe,db:kWe,renderer:{setConf:PWe,draw:zWe},styles:i=>`
293 ${nt+M},${b+it+2}`).attr("transform","translate(12,12) rotate(45, "+nt+","+b+")"),mt.attr("cx",nt+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+nt+","+b+")"),ct.attr("x",nt+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+nt+","+b+")"))}}b+=F+M,b>sB&&(sB=b)})},fYe=(i,a,f,g,w)=>{const b=(f1==="TB"?f.x<g.x:f.y<g.y)?a.branch:i.branch,E=_=>_.branch===b,S=_=>_.seq>i.seq&&_.seq<a.seq;return Object.values(w).some(_=>S(_)&&E(_))},aB=(i,a,f=0)=>{const g=i+Math.abs(i-a)/2;if(f>5)return g;if(uX.every(b=>Math.abs(b-g)>=10))return uX.push(g),g;const v=Math.abs(i-a);return aB(i,a-v/5,f+1)},dYe=(i,a,f,g)=>{const w=$x[a.id],v=$x[f.id],b=fYe(a,f,w,v,g);let E="",S="",_=0,M=0,F=Cf[f.branch].index,R;if(b){E="A 10 10, 0, 0, 0,",S="A 10 10, 0, 0, 1,",_=10,M=10;const B=w.y<v.y?aB(w.y,v.y):aB(v.y,w.y),z=w.x<v.x?aB(w.x,v.x):aB(v.x,w.x);f1==="TB"?w.x<v.x?(F=Cf[f.branch].index,R=`M ${w.x} ${w.y} L ${z-_} ${w.y} ${S} ${z} ${w.y+M} L ${z} ${v.y-_} ${E} ${z+M} ${v.y} L ${v.x} ${v.y}`):(F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${z+_} ${w.y} ${E} ${z} ${w.y+M} L ${z} ${v.y-_} ${S} ${z-M} ${v.y} L ${v.x} ${v.y}`):w.y<v.y?(F=Cf[f.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${B-_} ${E} ${w.x+M} ${B} L ${v.x-_} ${B} ${S} ${v.x} ${B+M} L ${v.x} ${v.y}`):(F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${B+_} ${S} ${w.x+M} ${B} L ${v.x-_} ${B} ${E} ${v.x} ${B-M} L ${v.x} ${v.y}`)}else f1==="TB"?(w.x<v.x&&(E="A 20 20, 0, 0, 0,",S="A 20 20, 0, 0, 1,",_=20,M=20,F=Cf[f.branch].index,R=`M ${w.x} ${w.y} L ${v.x-_} ${w.y} ${S} ${v.x} ${w.y+M} L ${v.x} ${v.y}`),w.x>v.x&&(E="A 20 20, 0, 0, 0,",S="A 20 20, 0, 0, 1,",_=20,M=20,F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${v.y-_} ${S} ${w.x-M} ${v.y} L ${v.x} ${v.y}`),w.x===v.x&&(F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${w.x+_} ${w.y} ${E} ${w.x+M} ${v.y+_} L ${v.x} ${v.y}`)):(w.y<v.y&&(E="A 20 20, 0, 0, 0,",_=20,M=20,F=Cf[f.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${v.y-_} ${E} ${w.x+M} ${v.y} L ${v.x} ${v.y}`),w.y>v.y&&(E="A 20 20, 0, 0, 0,",_=20,M=20,F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${v.x-_} ${w.y} ${E} ${v.x} ${w.y-M} L ${v.x} ${v.y}`),w.y===v.y&&(F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${v.y-_} ${E} ${w.x+M} ${v.y} L ${v.x} ${v.y}`));i.append("path").attr("d",R).attr("class","arrow arrow"+F%P9)},gYe=(i,a)=>{const f=i.append("g").attr("class","commit-arrows");Object.keys(a).forEach(g=>{const w=a[g];w.parents&&w.parents.length>0&&w.parents.forEach(v=>{dYe(f,a[v],w,a)})})},pYe=(i,a)=>{const f=Re().gitGraph,g=i.append("g");a.forEach((w,v)=>{const b=v%P9,E=Cf[w.name].pos,S=g.append("line");S.attr("x1",0),S.attr("y1",E),S.attr("x2",sB),S.attr("y2",E),S.attr("class","branch branch"+b),f1==="TB"&&(S.attr("y1",30),S.attr("x1",E),S.attr("y2",sB),S.attr("x2",E)),uX.push(E);let _=w.name;const M=Lzt(_),F=g.insert("rect"),B=g.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);B.node().appendChild(M);let z=M.getBBox();F.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-z.width-4-(f.rotateCommitLabel===!0?30:0)).attr("y",-z.height/2+8).attr("width",z.width+18).attr("height",z.height+4),B.attr("transform","translate("+(-z.width-14-(f.rotateCommitLabel===!0?30:0))+", "+(E-z.height/2-1)+")"),f1==="TB"&&(F.attr("x",E-z.width/2-10).attr("y",0),B.attr("transform","translate("+(E-z.width/2-5)+", 0)")),f1!=="TB"&&F.attr("transform","translate(-19, "+(E-z.height/2)+")")})},bYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:UWe,db:uYe,renderer:{draw:function(i,a,f,g){lYe();const w=Re(),v=w.gitGraph;Kt.debug("in gitgraph renderer",i+`
350 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var V=this.next();return V||this.lex()},begin:function(V){this.conditionStack.push(V)},popState:function(){var V=this.conditionStack.length-1;return V>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(V){return V=this.conditionStack.length-1-Math.abs(V||0),V>=0?this.conditionStack[V]:"INITIAL"},pushState:function(V){this.begin(V)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(V,Ot,It,jt){switch(It){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],inclusive:!0}}};return K}();gt.lexer=Q;function dt(){this.yy={}}return dt.prototype=gt,gt.Parser=dt,new dt}();cbt.parser=cbt;const wYe=cbt;var Mzt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){var f="day";return function(g,w,v){var b=function(_){return _.add(4-_.isoWeekday(),f)},E=w.prototype;E.isoWeekYear=function(){return b(this).year()},E.isoWeek=function(_){if(!this.$utils().u(_))return this.add(7*(_-this.isoWeek()),f);var M,F,R,B,z=b(this),Y=(M=this.isoWeekYear(),F=this.$u,R=(F?v.utc:v)().year(M).startOf("year"),B=4-R.isoWeekday(),R.isoWeekday()>4&&(B+=7),R.add(B,f));return z.diff(Y,"week")+1},E.isoWeekday=function(_){return this.$utils().u(_)?this.day()||7:this.day(this.day()%7?_:_-7)};var S=E.startOf;E.startOf=function(_,M){var F=this.$utils(),R=!!F.u(M)||M;return F.p(_)==="isoweek"?R?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):S.bind(this)(_,M)}}})})(Mzt);var mYe=Mzt.exports;const vYe=e9(mYe);var Izt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){var f={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},g=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,w=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,E={},S=function(Y){return(Y=+Y)+(Y>68?1900:2e3)},_=function(Y){return function(nt){this[Y]=+nt}},M=[/[+-]\d\d:?(\d\d)?|Z/,function(Y){(this.zone||(this.zone={})).offset=function(nt){if(!nt||nt==="Z")return 0;var ot=nt.match(/([+-]|\d\d)/g),ft=60*ot[1]+(+ot[2]||0);return ft===0?0:ot[0]==="+"?-ft:ft}(Y)}],F=function(Y){var nt=E[Y];return nt&&(nt.indexOf?nt:nt.s.concat(nt.f))},R=function(Y,nt){var ot,ft=E.meridiem;if(ft){for(var wt=1;wt<=24;wt+=1)if(Y.indexOf(ft(wt,0,nt))>-1){ot=wt>12;break}}else ot=Y===(nt?"pm":"PM");return ot},B={A:[b,function(Y){this.afternoon=R(Y,!1)}],a:[b,function(Y){this.afternoon=R(Y,!0)}],S:[/\d/,function(Y){this.milliseconds=100*+Y}],SS:[w,function(Y){this.milliseconds=10*+Y}],SSS:[/\d{3}/,function(Y){this.milliseconds=+Y}],s:[v,_("seconds")],ss:[v,_("seconds")],m:[v,_("minutes")],mm:[v,_("minutes")],H:[v,_("hours")],h:[v,_("hours")],HH:[v,_("hours")],hh:[v,_("hours")],D:[v,_("day")],DD:[w,_("day")],Do:[b,function(Y){var nt=E.ordinal,ot=Y.match(/\d+/);if(this.day=ot[0],nt)for(var ft=1;ft<=31;ft+=1)nt(ft).replace(/\[|\]/g,"")===Y&&(this.day=ft)}],M:[v,_("month")],MM:[w,_("month")],MMM:[b,function(Y){var nt=F("months"),ot=(F("monthsShort")||nt.map(function(ft){return ft.slice(0,3)})).indexOf(Y)+1;if(ot<1)throw new Error;this.month=ot%12||ot}],MMMM:[b,function(Y){var nt=F("months").indexOf(Y)+1;if(nt<1)throw new Error;this.month=nt%12||nt}],Y:[/[+-]?\d+/,_("year")],YY:[w,function(Y){this.year=S(Y)}],YYYY:[/\d{4}/,_("year")],Z:M,ZZ:M};function z(Y){var nt,ot;nt=Y,ot=E&&E.formats;for(var ft=(Y=nt.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(Q,dt,K){var yt=K&&K.toUpperCase();return dt||ot[K]||f[K]||ot[yt].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(V,Ot,It){return Ot||It.slice(1)})})).match(g),wt=ft.length,mt=0;mt<wt;mt+=1){var ct=ft[mt],rt=B[ct],it=rt&&rt[0],gt=rt&&rt[1];ft[mt]=gt?{regex:it,parser:gt}:ct.replace(/^\[|\]$/g,"")}return function(Q){for(var dt={},K=0,yt=0;K<wt;K+=1){var V=ft[K];if(typeof V=="string")yt+=V.length;else{var Ot=V.regex,It=V.parser,jt=Q.slice(yt),xt=Ot.exec(jt)[0];It.call(dt,xt),Q=Q.replace(xt,"")}}return function(Ft){var Ct=Ft.afternoon;if(Ct!==void 0){var kt=Ft.hours;Ct?kt<12&&(Ft.hours+=12):kt===12&&(Ft.hours=0),delete Ft.afternoon}}(dt),dt}}return function(Y,nt,ot){ot.p.customParseFormat=!0,Y&&Y.parseTwoDigitYear&&(S=Y.parseTwoDigitYear);var ft=nt.prototype,wt=ft.parse;ft.parse=function(mt){var ct=mt.date,rt=mt.utc,it=mt.args;this.$u=rt;var gt=it[1];if(typeof gt=="string"){var Q=it[2]===!0,dt=it[3]===!0,K=Q||dt,yt=it[2];dt&&(yt=it[2]),E=this.$locale(),!Q&&yt&&(E=ot.Ls[yt]),this.$d=function(jt,xt,Ft){try{if(["x","X"].indexOf(xt)>-1)return new Date((xt==="X"?1e3:1)*jt);var Ct=z(xt)(jt),kt=Ct.year,Gt=Ct.month,Fe=Ct.day,Mt=Ct.hours,pn=Ct.minutes,Ae=Ct.seconds,ye=Ct.milliseconds,tn=Ct.zone,sn=new Date,be=Fe||(kt||Gt?1:sn.getDate()),Ne=kt||sn.getFullYear(),Xt=0;kt&&!Gt||(Xt=Gt>0?Gt-1:sn.getMonth());var _e=Mt||0,xe=pn||0,Mn=Ae||0,ce=ye||0;return tn?new Date(Date.UTC(Ne,Xt,be,_e,xe,Mn,ce+60*tn.offset*1e3)):Ft?new Date(Date.UTC(Ne,Xt,be,_e,xe,Mn,ce)):new Date(Ne,Xt,be,_e,xe,Mn,ce)}catch{return new Date("")}}(ct,gt,rt),this.init(),yt&&yt!==!0&&(this.$L=this.locale(yt).$L),K&&ct!=this.format(gt)&&(this.$d=new Date("")),E={}}else if(gt instanceof Array)for(var V=gt.length,Ot=1;Ot<=V;Ot+=1){it[1]=gt[Ot-1];var It=ot.apply(this,it);if(It.isValid()){this.$d=It.$d,this.$L=It.$L,this.init();break}Ot===V&&(this.$d=new Date(""))}else wt.call(this,mt)}}})})(Izt);var yYe=Izt.exports;const xYe=e9(yYe);var Ozt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){return function(f,g){var w=g.prototype,v=w.format;w.format=function(b){var E=this,S=this.$locale();if(!this.isValid())return v.bind(this)(b);var _=this.$utils(),M=(b||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(F){switch(F){case"Q":return Math.ceil((E.$M+1)/3);case"Do":return S.ordinal(E.$D);case"gggg":return E.weekYear();case"GGGG":return E.isoWeekYear();case"wo":return S.ordinal(E.week(),"W");case"w":case"ww":return _.s(E.week(),F==="w"?1:2,"0");case"W":case"WW":return _.s(E.isoWeek(),F==="W"?1:2,"0");case"k":case"kk":return _.s(String(E.$H===0?24:E.$H),F==="k"?1:2,"0");case"X":return Math.floor(E.$d.getTime()/1e3);case"x":return E.$d.getTime();case"z":return"["+E.offsetName()+"]";case"zzz":return"["+E.offsetName("long")+"]";default:return F}});return v.bind(this)(M)}}})})(Ozt);var kYe=Ozt.exports;const EYe=e9(kYe);tg.extend(vYe),tg.extend(xYe),tg.extend(EYe);let h4="",ubt="",lbt,hbt="",oB=[],cB=[],fbt={},dbt=[],lX=[],SD="",gbt="";const Nzt=["active","done","crit","milestone"];let pbt=[],uB=!1,bbt=!1,wbt="sunday",mbt=0;const TYe=function(){dbt=[],lX=[],SD="",pbt=[],hX=0,ybt=void 0,fX=void 0,H1=[],h4="",ubt="",gbt="",lbt=void 0,hbt="",oB=[],cB=[],uB=!1,bbt=!1,mbt=0,fbt={},ag(),wbt="sunday"},CYe=function(i){ubt=i},SYe=function(){return ubt},_Ye=function(i){lbt=i},AYe=function(){return lbt},LYe=function(i){hbt=i},DYe=function(){return hbt},MYe=function(i){h4=i},IYe=function(){uB=!0},OYe=function(){return uB},NYe=function(){bbt=!0},PYe=function(){return bbt},FYe=function(i){gbt=i},BYe=function(){return gbt},RYe=function(){return h4},jYe=function(i){oB=i.toLowerCase().split(/[\s,]+/)},$Ye=function(){return oB},zYe=function(i){cB=i.toLowerCase().split(/[\s,]+/)},qYe=function(){return cB},HYe=function(){return fbt},VYe=function(i){SD=i,dbt.push(i)},UYe=function(){return dbt},GYe=function(){let i=$zt();const a=10;let f=0;for(;!i&&f<a;)i=$zt(),f++;return lX=H1,lX},Pzt=function(i,a,f,g){return g.includes(i.format(a.trim()))?!1:i.isoWeekday()>=6&&f.includes("weekends")||f.includes(i.format("dddd").toLowerCase())?!0:f.includes(i.format(a.trim()))},KYe=function(i){wbt=i},WYe=function(){return wbt},Fzt=function(i,a,f,g){if(!f.length||i.manualEndTime)return;let w;i.startTime instanceof Date?w=tg(i.startTime):w=tg(i.startTime,a,!0),w=w.add(1,"d");let v;i.endTime instanceof Date?v=tg(i.endTime):v=tg(i.endTime,a,!0);const[b,E]=YYe(w,v,a,f,g);i.endTime=b.toDate(),i.renderEndTime=E},YYe=function(i,a,f,g,w){let v=!1,b=null;for(;i<=a;)v||(b=a.toDate()),v=Pzt(i,f,g,w),v&&(a=a.add(1,"d")),i=i.add(1,"d");return[a,b]},vbt=function(i,a,f){f=f.trim();const w=/^after\s+([\d\w- ]+)/.exec(f.trim());if(w!==null){let b=null;if(w[1].split(" ").forEach(function(E){let S=AD(E);S!==void 0&&(b?S.endTime>b.endTime&&(b=S):b=S)}),b)return b.endTime;{const E=new Date;return E.setHours(0,0,0,0),E}}let v=tg(f,a.trim(),!0);if(v.isValid())return v.toDate();{Kt.debug("Invalid date:"+f),Kt.debug("With date format:"+a.trim());const b=new Date(f);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+f);return b}},Bzt=function(i){const a=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return a!==null?[Number.parseFloat(a[1]),a[2]]:[NaN,"ms"]},Rzt=function(i,a,f,g=!1){f=f.trim();let w=tg(f,a.trim(),!0);if(w.isValid())return g&&(w=w.add(1,"d")),w.toDate();let v=tg(i);const[b,E]=Bzt(f);if(!Number.isNaN(b)){const S=v.add(b,E);S.isValid()&&(v=S)}return v.toDate()};let hX=0;const _D=function(i){return i===void 0?(hX=hX+1,"task"+hX):i},XYe=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const g=f.split(","),w={};Hzt(g,w,Nzt);for(let b=0;b<g.length;b++)g[b]=g[b].trim();let v="";switch(g.length){case 1:w.id=_D(),w.startTime=i.endTime,v=g[0];break;case 2:w.id=_D(),w.startTime=vbt(void 0,h4,g[0]),v=g[1];break;case 3:w.id=_D(g[0]),w.startTime=vbt(void 0,h4,g[1]),v=g[2];break}return v&&(w.endTime=Rzt(w.startTime,h4,v,uB),w.manualEndTime=tg(v,"YYYY-MM-DD",!0).isValid(),Fzt(w,h4,cB,oB)),w},QYe=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const g=f.split(","),w={};Hzt(g,w,Nzt);for(let v=0;v<g.length;v++)g[v]=g[v].trim();switch(g.length){case 1:w.id=_D(),w.startTime={type:"prevTaskEnd",id:i},w.endTime={data:g[0]};break;case 2:w.id=_D(),w.startTime={type:"getStartDate",startData:g[0]},w.endTime={data:g[1]};break;case 3:w.id=_D(g[0]),w.startTime={type:"getStartDate",startData:g[1]},w.endTime={data:g[2]};break}return w};let ybt,fX,H1=[];const jzt={},JYe=function(i,a){const f={section:SD,type:SD,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:a},task:i,classes:[]},g=QYe(fX,a);f.raw.startTime=g.startTime,f.raw.endTime=g.endTime,f.id=g.id,f.prevTaskId=fX,f.active=g.active,f.done=g.done,f.crit=g.crit,f.milestone=g.milestone,f.order=mbt,mbt++;const w=H1.push(f);fX=f.id,jzt[f.id]=w-1},AD=function(i){const a=jzt[i];return H1[a]},ZYe=function(i,a){const f={section:SD,type:SD,description:i,task:i,classes:[]},g=XYe(ybt,a);f.startTime=g.startTime,f.endTime=g.endTime,f.id=g.id,f.active=g.active,f.done=g.done,f.crit=g.crit,f.milestone=g.milestone,ybt=f,lX.push(f)},$zt=function(){const i=function(f){const g=H1[f];let w="";switch(H1[f].raw.startTime.type){case"prevTaskEnd":{const v=AD(g.prevTaskId);g.startTime=v.endTime;break}case"getStartDate":w=vbt(void 0,h4,H1[f].raw.startTime.startData),w&&(H1[f].startTime=w);break}return H1[f].startTime&&(H1[f].endTime=Rzt(H1[f].startTime,h4,H1[f].raw.endTime.data,uB),H1[f].endTime&&(H1[f].processed=!0,H1[f].manualEndTime=tg(H1[f].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),Fzt(H1[f],h4,cB,oB))),H1[f].processed};let a=!0;for(const[f,g]of H1.entries())i(f),a=a&&g.processed;return a},tXe=function(i,a){let f=a;Re().securityLevel!=="loose"&&(f=h8(a)),i.split(",").forEach(function(g){AD(g)!==void 0&&(qzt(g,()=>{window.open(f,"_self")}),fbt[g]=f)}),zzt(i,"clickable")},zzt=function(i,a){i.split(",").forEach(function(f){let g=AD(f);g!==void 0&&g.classes.push(a)})},eXe=function(i,a,f){if(Re().securityLevel!=="loose"||a===void 0)return;let g=[];if(typeof f=="string"){g=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v<g.length;v++){let b=g[v].trim();b.charAt(0)==='"'&&b.charAt(b.length-1)==='"'&&(b=b.substr(1,b.length-2)),g[v]=b}}g.length===0&&g.push(i),AD(i)!==void 0&&qzt(i,()=>{uo.runFunc(a,...g)})},qzt=function(i,a){pbt.push(function(){const f=document.querySelector(`[id="${i}"]`);f!==null&&f.addEventListener("click",function(){a()})},function(){const f=document.querySelector(`[id="${i}-text"]`);f!==null&&f.addEventListener("click",function(){a()})})},nXe={getConfig:()=>Re().gantt,clear:TYe,setDateFormat:MYe,getDateFormat:RYe,enableInclusiveEndDates:IYe,endDatesAreInclusive:OYe,enableTopAxis:NYe,topAxisEnabled:PYe,setAxisFormat:CYe,getAxisFormat:SYe,setTickInterval:_Ye,getTickInterval:AYe,setTodayMarker:LYe,getTodayMarker:DYe,setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,setDisplayMode:FYe,getDisplayMode:BYe,setAccDescription:Qg,getAccDescription:Jg,addSection:VYe,getSections:UYe,getTasks:GYe,addTask:JYe,findTaskById:AD,addTaskOrg:ZYe,setIncludes:jYe,getIncludes:$Ye,setExcludes:zYe,getExcludes:qYe,setClickEvent:function(i,a,f){i.split(",").forEach(function(g){eXe(g,a,f)}),zzt(i,"clickable")},setLink:tXe,getLinks:HYe,bindFunctions:function(i){pbt.forEach(function(a){a(i)})},parseDuration:Bzt,isInvalidDate:Pzt,setWeekday:KYe,getWeekday:WYe};function Hzt(i,a,f){let g=!0;for(;g;)g=!1,f.forEach(function(w){const v="^\\s*"+w+"\\s*$",b=new RegExp(v);i[0].match(b)&&(a[w]=!0,i.shift(1),g=!0)})}const rXe=function(){Kt.debug("Something is calling, setConf, remove the call")},Vzt={monday:hF,tuesday:NNt,wednesday:PNt,thursday:l9,friday:FNt,saturday:BNt,sunday:lF},iXe=(i,a)=>{let f=[...i].map(()=>-1/0),g=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),w=0;for(const v of g)for(let b=0;b<f.length;b++)if(v.startTime>=f[b]){f[b]=v.endTime,v.order=b+a,b>w&&(w=b);break}return w};let zx;const sXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:wYe,db:nXe,renderer:{setConf:rXe,draw:function(i,a,f,g){const w=Re().gantt,v=Re().securityLevel;let b;v==="sandbox"&&(b=Tr("#i"+a));const E=Tr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=v==="sandbox"?b.nodes()[0].contentDocument:document,_=S.getElementById(a);zx=_.parentElement.offsetWidth,zx===void 0&&(zx=1200),w.useWidth!==void 0&&(zx=w.useWidth);const M=g.db.getTasks();let F=[];for(const gt of M)F.push(gt.type);F=it(F);const R={};let B=2*w.topPadding;if(g.db.getDisplayMode()==="compact"||w.displayMode==="compact"){const gt={};for(const dt of M)gt[dt.section]===void 0?gt[dt.section]=[dt]:gt[dt.section].push(dt);let Q=0;for(const dt of Object.keys(gt)){const K=iXe(gt[dt],Q)+1;Q+=K,B+=K*(w.barHeight+w.barGap),R[dt]=K}}else{B+=M.length*(w.barHeight+w.barGap);for(const gt of F)R[gt]=M.filter(Q=>Q.type===gt).length}_.setAttribute("viewBox","0 0 "+zx+" "+B);const z=E.select(`[id="${a}"]`),Y=eDe().domain([B9e(M,function(gt){return gt.startTime}),F9e(M,function(gt){return gt.endTime})]).rangeRound([0,zx-w.leftPadding-w.rightPadding]);function nt(gt,Q){const dt=gt.startTime,K=Q.startTime;let yt=0;return dt>K?yt=1:dt<K&&(yt=-1),yt}M.sort(nt),ot(M,zx,B),sg(z,B,zx,w.useMaxWidth),z.append("text").text(g.db.getDiagramTitle()).attr("x",zx/2).attr("y",w.titleTopMargin).attr("class","titleText");function ot(gt,Q,dt){const K=w.barHeight,yt=K+w.barGap,V=w.topPadding,Ot=w.leftPadding,It=VL().domain([0,F.length]).range(["#00B9FA","#F95002"]).interpolate(s_e);wt(yt,V,Ot,Q,dt,gt,g.db.getExcludes(),g.db.getIncludes()),mt(Ot,V,Q,dt),ft(gt,yt,V,Ot,K,It,Q),ct(yt,V),rt(Ot,V,Q,dt)}function ft(gt,Q,dt,K,yt,V,Ot){const jt=[...new Set(gt.map(kt=>kt.order))].map(kt=>gt.find(Gt=>Gt.order===kt));z.append("g").selectAll("rect").data(jt).enter().append("rect").attr("x",0).attr("y",function(kt,Gt){return Gt=kt.order,Gt*Q+dt-2}).attr("width",function(){return Ot-w.rightPadding/2}).attr("height",Q).attr("class",function(kt){for(const[Gt,Fe]of F.entries())if(kt.type===Fe)return"section section"+Gt%w.numberSectionStyles;return"section section0"});const xt=z.append("g").selectAll("rect").data(gt).enter(),Ft=g.db.getLinks();if(xt.append("rect").attr("id",function(kt){return kt.id}).attr("rx",3).attr("ry",3).attr("x",function(kt){return kt.milestone?Y(kt.startTime)+K+.5*(Y(kt.endTime)-Y(kt.startTime))-.5*yt:Y(kt.startTime)+K}).attr("y",function(kt,Gt){return Gt=kt.order,Gt*Q+dt}).attr("width",function(kt){return kt.milestone?yt:Y(kt.renderEndTime||kt.endTime)-Y(kt.startTime)}).attr("height",yt).attr("transform-origin",function(kt,Gt){return Gt=kt.order,(Y(kt.startTime)+K+.5*(Y(kt.endTime)-Y(kt.startTime))).toString()+"px "+(Gt*Q+dt+.5*yt).toString()+"px"}).attr("class",function(kt){const Gt="task";let Fe="";kt.classes.length>0&&(Fe=kt.classes.join(" "));let Mt=0;for(const[Ae,ye]of F.entries())kt.type===ye&&(Mt=Ae%w.numberSectionStyles);let pn="";return kt.active?kt.crit?pn+=" activeCrit":pn=" active":kt.done?kt.crit?pn=" doneCrit":pn=" done":kt.crit&&(pn+=" crit"),pn.length===0&&(pn=" task"),kt.milestone&&(pn=" milestone "+pn),pn+=Mt,pn+=" "+Fe,Gt+pn}),xt.append("text").attr("id",function(kt){return kt.id+"-text"}).text(function(kt){return kt.task}).attr("font-size",w.fontSize).attr("x",function(kt){let Gt=Y(kt.startTime),Fe=Y(kt.renderEndTime||kt.endTime);kt.milestone&&(Gt+=.5*(Y(kt.endTime)-Y(kt.startTime))-.5*yt),kt.milestone&&(Fe=Gt+yt);const Mt=this.getBBox().width;return Mt>Fe-Gt?Fe+Mt+1.5*w.leftPadding>Ot?Gt+K-5:Fe+K+5:(Fe-Gt)/2+Gt+K}).attr("y",function(kt,Gt){return Gt=kt.order,Gt*Q+w.barHeight/2+(w.fontSize/2-2)+dt}).attr("text-height",yt).attr("class",function(kt){const Gt=Y(kt.startTime);let Fe=Y(kt.endTime);kt.milestone&&(Fe=Gt+yt);const Mt=this.getBBox().width;let pn="";kt.classes.length>0&&(pn=kt.classes.join(" "));let Ae=0;for(const[tn,sn]of F.entries())kt.type===sn&&(Ae=tn%w.numberSectionStyles);let ye="";return kt.active&&(kt.crit?ye="activeCritText"+Ae:ye="activeText"+Ae),kt.done?kt.crit?ye=ye+" doneCritText"+Ae:ye=ye+" doneText"+Ae:kt.crit&&(ye=ye+" critText"+Ae),kt.milestone&&(ye+=" milestoneText"),Mt>Fe-Gt?Fe+Mt+1.5*w.leftPadding>Ot?pn+" taskTextOutsideLeft taskTextOutside"+Ae+" "+ye:pn+" taskTextOutsideRight taskTextOutside"+Ae+" "+ye+" width-"+Mt:pn+" taskText taskText"+Ae+" "+ye+" width-"+Mt}),Re().securityLevel==="sandbox"){let kt;kt=Tr("#i"+a);const Gt=kt.nodes()[0].contentDocument;xt.filter(function(Fe){return Ft[Fe.id]!==void 0}).each(function(Fe){var Mt=Gt.querySelector("#"+Fe.id),pn=Gt.querySelector("#"+Fe.id+"-text");const Ae=Mt.parentNode;var ye=Gt.createElement("a");ye.setAttribute("xlink:href",Ft[Fe.id]),ye.setAttribute("target","_top"),Ae.appendChild(ye),ye.appendChild(Mt),ye.appendChild(pn)})}}function wt(gt,Q,dt,K,yt,V,Ot,It){if(Ot.length===0&&It.length===0)return;let jt,xt;for(const{startTime:Mt,endTime:pn}of V)(jt===void 0||Mt<jt)&&(jt=Mt),(xt===void 0||pn>xt)&&(xt=pn);if(!jt||!xt)return;if(tg(xt).diff(tg(jt),"year")>5){Kt.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Ft=g.db.getDateFormat(),Ct=[];let kt=null,Gt=tg(jt);for(;Gt.valueOf()<=xt;)g.db.isInvalidDate(Gt,Ft,Ot,It)?kt?kt.end=Gt:kt={start:Gt,end:Gt}:kt&&(Ct.push(kt),kt=null),Gt=Gt.add(1,"d");z.append("g").selectAll("rect").data(Ct).enter().append("rect").attr("id",function(Mt){return"exclude-"+Mt.start.format("YYYY-MM-DD")}).attr("x",function(Mt){return Y(Mt.start)+dt}).attr("y",w.gridLineStartPadding).attr("width",function(Mt){const pn=Mt.end.add(1,"day");return Y(pn)-Y(Mt.start)}).attr("height",yt-Q-w.gridLineStartPadding).attr("transform-origin",function(Mt,pn){return(Y(Mt.start)+dt+.5*(Y(Mt.end)-Y(Mt.start))).toString()+"px "+(pn*gt+.5*yt).toString()+"px"}).attr("class","exclude-range")}function mt(gt,Q,dt,K){let yt=G9e(Y).tickSize(-K+Q+w.gridLineStartPadding).tickFormat(DW(g.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));const Ot=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(g.db.getTickInterval()||w.tickInterval);if(Ot!==null){const It=Ot[1],jt=Ot[2],xt=g.db.getWeekday()||w.weekday;switch(jt){case"millisecond":yt.ticks(UL.every(It));break;case"second":yt.ticks(f8.every(It));break;case"minute":yt.ticks(cF.every(It));break;case"hour":yt.ticks(uF.every(It));break;case"day":yt.ticks(c9.every(It));break;case"week":yt.ticks(Vzt[xt].every(It));break;case"month":yt.ticks(fF.every(It));break}}if(z.append("g").attr("class","grid").attr("transform","translate("+gt+", "+(K-50)+")").call(yt).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),g.db.topAxisEnabled()||w.topAxis){let It=U9e(Y).tickSize(-K+Q+w.gridLineStartPadding).tickFormat(DW(g.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));if(Ot!==null){const jt=Ot[1],xt=Ot[2],Ft=g.db.getWeekday()||w.weekday;switch(xt){case"millisecond":It.ticks(UL.every(jt));break;case"second":It.ticks(f8.every(jt));break;case"minute":It.ticks(cF.every(jt));break;case"hour":It.ticks(uF.every(jt));break;case"day":It.ticks(c9.every(jt));break;case"week":It.ticks(Vzt[Ft].every(jt));break;case"month":It.ticks(fF.every(jt));break}}z.append("g").attr("class","grid").attr("transform","translate("+gt+", "+Q+")").call(It).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function ct(gt,Q){let dt=0;const K=Object.keys(R).map(yt=>[yt,R[yt]]);z.append("g").selectAll("text").data(K).enter().append(function(yt){const V=yt[0].split(ei.lineBreakRegex),Ot=-(V.length-1)/2,It=S.createElementNS("http://www.w3.org/2000/svg","text");It.setAttribute("dy",Ot+"em");for(const[jt,xt]of V.entries()){const Ft=S.createElementNS("http://www.w3.org/2000/svg","tspan");Ft.setAttribute("alignment-baseline","central"),Ft.setAttribute("x","10"),jt>0&&Ft.setAttribute("dy","1em"),Ft.textContent=xt,It.appendChild(Ft)}return It}).attr("x",10).attr("y",function(yt,V){if(V>0)for(let Ot=0;Ot<V;Ot++)return dt+=K[V-1][1],yt[1]*gt/2+dt*gt+Q;else return yt[1]*gt/2+Q}).attr("font-size",w.sectionFontSize).attr("class",function(yt){for(const[V,Ot]of F.entries())if(yt[0]===Ot)return"sectionTitle sectionTitle"+V%w.numberSectionStyles;return"sectionTitle"})}function rt(gt,Q,dt,K){const yt=g.db.getTodayMarker();if(yt==="off")return;const V=z.append("g").attr("class","today"),Ot=new Date,It=V.append("line");It.attr("x1",Y(Ot)+gt).attr("x2",Y(Ot)+gt).attr("y1",w.titleTopMargin).attr("y2",K-w.titleTopMargin).attr("class","today"),yt!==""&&It.attr("style",yt.replace(/,/g,";"))}function it(gt){const Q={},dt=[];for(let K=0,yt=gt.length;K<yt;++K)Object.prototype.hasOwnProperty.call(Q,gt[K])||(Q[gt[K]]=!0,dt.push(gt[K]));return dt}}},styles:i=>`
606 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var E=this.next();return E||this.lex()},begin:function(E){this.conditionStack.push(E)},popState:function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},pushState:function(E){this.begin(E)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(E,S,_,M){switch(_){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return v}();f.lexer=g;function w(){this.yy={}}return w.prototype=f,f.Parser=w,new w}();xbt.parser=xbt;const aXe=xbt,Uzt={info:!1};let kbt=Uzt.info;const oXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:aXe,db:{clear:()=>{kbt=Uzt.info},setInfo:i=>{kbt=i},getInfo:()=>kbt},renderer:{draw:(i,a,f)=>{Kt.debug(`rendering info diagram
640 `,fXe=i=>{const a=Object.entries(i).map(g=>({label:g[0],value:g[1]})).sort((g,w)=>w.value-g.value);return pDe().value(g=>g.value)(a)},dXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:cXe,db:lXe,renderer:{draw:(i,a,f,g)=>{Kt.debug(`rendering pie chart
646 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var tn=this.next();return tn||this.lex()},begin:function(tn){this.conditionStack.push(tn)},popState:function(){var tn=this.conditionStack.length-1;return tn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(tn){return tn=this.conditionStack.length-1-Math.abs(tn||0),tn>=0?this.conditionStack[tn]:"INITIAL"},pushState:function(tn){this.begin(tn)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(tn,sn,be,Ne){switch(be){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return Ae}();Fe.lexer=Mt;function pn(){this.yy={}}return pn.prototype=Fe,Fe.Parser=pn,new pn}();Cbt.parser=Cbt;const gXe=Cbt,rp=dgt();class pXe{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var a,f,g,w,v,b,E,S,_,M,F,R,B,z,Y,nt,ot,ft;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=Bl.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((f=Bl.quadrantChart)==null?void 0:f.chartHeight)||500,titlePadding:((g=Bl.quadrantChart)==null?void 0:g.titlePadding)||10,titleFontSize:((w=Bl.quadrantChart)==null?void 0:w.titleFontSize)||20,quadrantPadding:((v=Bl.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=Bl.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((E=Bl.quadrantChart)==null?void 0:E.yAxisLabelPadding)||5,xAxisLabelFontSize:((S=Bl.quadrantChart)==null?void 0:S.xAxisLabelFontSize)||16,yAxisLabelFontSize:((_=Bl.quadrantChart)==null?void 0:_.yAxisLabelFontSize)||16,quadrantLabelFontSize:((M=Bl.quadrantChart)==null?void 0:M.quadrantLabelFontSize)||16,quadrantTextTopPadding:((F=Bl.quadrantChart)==null?void 0:F.quadrantTextTopPadding)||5,pointTextPadding:((R=Bl.quadrantChart)==null?void 0:R.pointTextPadding)||5,pointLabelFontSize:((B=Bl.quadrantChart)==null?void 0:B.pointLabelFontSize)||12,pointRadius:((z=Bl.quadrantChart)==null?void 0:z.pointRadius)||5,xAxisPosition:((Y=Bl.quadrantChart)==null?void 0:Y.xAxisPosition)||"top",yAxisPosition:((nt=Bl.quadrantChart)==null?void 0:nt.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((ot=Bl.quadrantChart)==null?void 0:ot.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((ft=Bl.quadrantChart)==null?void 0:ft.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:rp.quadrant1Fill,quadrant2Fill:rp.quadrant2Fill,quadrant3Fill:rp.quadrant3Fill,quadrant4Fill:rp.quadrant4Fill,quadrant1TextFill:rp.quadrant1TextFill,quadrant2TextFill:rp.quadrant2TextFill,quadrant3TextFill:rp.quadrant3TextFill,quadrant4TextFill:rp.quadrant4TextFill,quadrantPointFill:rp.quadrantPointFill,quadrantPointTextFill:rp.quadrantPointTextFill,quadrantXAxisTextFill:rp.quadrantXAxisTextFill,quadrantYAxisTextFill:rp.quadrantYAxisTextFill,quadrantTitleFill:rp.quadrantTitleFill,quadrantInternalBorderStrokeFill:rp.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:rp.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Kt.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){Kt.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){Kt.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,f,g,w){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:a==="top"&&f?v:0,bottom:a==="bottom"&&f?v:0},E=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,S={left:this.config.yAxisPosition==="left"&&g?E:0,right:this.config.yAxisPosition==="right"&&g?E:0},_=this.config.titleFontSize+this.config.titlePadding*2,M={top:w?_:0},F=this.config.quadrantPadding+S.left,R=this.config.quadrantPadding+b.top+M.top,B=this.config.chartWidth-this.config.quadrantPadding*2-S.left-S.right,z=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-M.top,Y=B/2,nt=z/2;return{xAxisSpace:b,yAxisSpace:S,titleSpace:M,quadrantSpace:{quadrantLeft:F,quadrantTop:R,quadrantWidth:B,quadrantHalfWidth:Y,quadrantHeight:z,quadrantHalfHeight:nt}}}getAxisLabels(a,f,g,w){const{quadrantSpace:v,titleSpace:b}=w,{quadrantHalfHeight:E,quadrantHeight:S,quadrantLeft:_,quadrantHalfWidth:M,quadrantTop:F,quadrantWidth:R}=v,B=!!this.data.xAxisRightText,z=!!this.data.yAxisTopText,Y=[];return this.data.xAxisLeftText&&f&&Y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+(B?M/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+F+S+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&f&&Y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+M+(B?M/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+F+S+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&g&&Y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:F+S-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&g&&Y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:F+E-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),Y}getQuadrants(a){const{quadrantSpace:f}=a,{quadrantHalfHeight:g,quadrantLeft:w,quadrantHalfWidth:v,quadrantTop:b}=f,E=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+v,y:b,width:v,height:g,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b,width:v,height:g,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b+g,width:v,height:g,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+v,y:b+g,width:v,height:g,fill:this.themeConfig.quadrant4Fill}];for(const S of E)S.text.x=S.x+S.width/2,this.data.points.length===0?(S.text.y=S.y+S.height/2,S.text.horizontalPos="middle"):(S.text.y=S.y+this.config.quadrantTextTopPadding,S.text.horizontalPos="top");return E}getQuadrantPoints(a){const{quadrantSpace:f}=a,{quadrantHeight:g,quadrantLeft:w,quadrantTop:v,quadrantWidth:b}=f,E=VL().domain([0,1]).range([w,b+w]),S=VL().domain([0,1]).range([g+v,v]);return this.data.points.map(M=>({x:E(M.x),y:S(M.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:M.text,fill:this.themeConfig.quadrantPointTextFill,x:E(M.x),y:S(M.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const f=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:g}=a,{quadrantHalfHeight:w,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:E,quadrantTop:S,quadrantWidth:_}=g;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:S,x2:b+_+f,y2:S},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+_,y1:S+f,x2:b+_,y2:S+v-f},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:S+v,x2:b+_+f,y2:S+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:S+f,x2:b,y2:S+v-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+E,y1:S+f,x2:b+E,y2:S+v-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+f,y1:S+w,x2:b+_-f,y2:S+w}]}getTitle(a){if(a)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),f=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),g=this.config.showTitle&&!!this.data.titleText,w=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(w,a,f,g);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(w,a,f,v),borderLines:this.getBorders(v),title:this.getTitle(g)}}}const bXe=Re();function qx(i){return Ef(i.trim(),bXe)}const ug=new pXe;function wXe(i){ug.setData({quadrant1Text:qx(i.text)})}function mXe(i){ug.setData({quadrant2Text:qx(i.text)})}function vXe(i){ug.setData({quadrant3Text:qx(i.text)})}function yXe(i){ug.setData({quadrant4Text:qx(i.text)})}function xXe(i){ug.setData({xAxisLeftText:qx(i.text)})}function kXe(i){ug.setData({xAxisRightText:qx(i.text)})}function EXe(i){ug.setData({yAxisTopText:qx(i.text)})}function TXe(i){ug.setData({yAxisBottomText:qx(i.text)})}function CXe(i,a,f){ug.addPoints([{x:a,y:f,text:qx(i.text)}])}function SXe(i){ug.setConfig({chartWidth:i})}function _Xe(i){ug.setConfig({chartHeight:i})}function AXe(){const i=Re(),{themeVariables:a,quadrantChart:f}=i;return f&&ug.setConfig(f),ug.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),ug.setData({titleText:Zg()}),ug.build()}const LXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:gXe,db:{setWidth:SXe,setHeight:_Xe,setQuadrant1Text:wXe,setQuadrant2Text:mXe,setQuadrant3Text:vXe,setQuadrant4Text:yXe,setXAxisLeftText:xXe,setXAxisRightText:kXe,setYAxisTopText:EXe,setYAxisBottomText:TXe,addPoint:CXe,getQuadrantData:AXe,clear:function(){ug.clear(),ag()},setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,getAccDescription:Jg,setAccDescription:Qg},renderer:{draw:(i,a,f,g)=>{var gt,Q,dt;function w(K){return K==="top"?"hanging":"middle"}function v(K){return K==="left"?"start":"middle"}function b(K){return`translate(${K.x}, ${K.y}) rotate(${K.rotation||0})`}const E=Re();Kt.debug(`Rendering quadrant chart
652 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var xt=this.next();return xt||this.lex()},begin:function(xt){this.conditionStack.push(xt)},popState:function(){var xt=this.conditionStack.length-1;return xt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(xt){return xt=this.conditionStack.length-1-Math.abs(xt||0),xt>=0?this.conditionStack[xt]:"INITIAL"},pushState:function(xt){this.begin(xt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(xt,Ft,Ct,kt){switch(Ct){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return It}();yt.lexer=V;function Ot(){this.yy={}}return Ot.prototype=yt,yt.Parser=Ot,new Ot}();Sbt.parser=Sbt;const DXe=Sbt;function Kzt(i){return i.type==="bar"}function Wzt(i){return i.type==="band"}function lB(i){return i.type==="linear"}class Yzt{constructor(a){this.parentGroup=a}getMaxDimension(a,f){if(!this.parentGroup)return{width:a.reduce((v,b)=>Math.max(b.length,v),0)*f,height:f};const g={width:0,height:0},w=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",f);for(const v of a){const b=AKe(w,1,v),E=b?b.width:v.length*f,S=b?b.height:f;g.width=Math.max(g.width,E),g.height=Math.max(g.height,S)}return w.remove(),g}}const Xzt=.7,Qzt=.2;class Jzt{constructor(a,f,g,w){this.axisConfig=a,this.title=f,this.textDimensionCalculator=g,this.axisThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Xzt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Xzt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let f=a.height;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Qzt*a.width;this.outerPadding=Math.min(g.width/2,w);const v=g.height+this.axisConfig.labelPadding*2;this.labelTextHeight=g.height,v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-f}calculateSpaceIfDrawnVertical(a){let f=a.width;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Qzt*a.height;this.outerPadding=Math.min(g.height/2,w);const v=g.width+this.axisConfig.labelPadding*2;v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width-f,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${f},${this.boundingRect.y} L ${f},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(f),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const f=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${f},${this.getScaleValue(g)} L ${f-this.axisConfig.tickLength},${this.getScaleValue(g)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f} L ${this.getScaleValue(g)},${f+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(g)},${f+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class MXe extends Jzt{constructor(a,f,g,w,v){super(a,w,v,f),this.categories=g,this.scale=V0t().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=V0t().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Kt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class IXe extends Jzt{constructor(a,f,g,w,v){super(a,w,v,f),this.domain=g,this.scale=VL().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=VL().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function Zzt(i,a,f,g){const w=new Yzt(g);return Wzt(i)?new MXe(a,f,i.categories,i.title,w):new IXe(a,f,[i.min,i.max],i.title,w)}class OXe{constructor(a,f,g,w){this.textDimensionCalculator=a,this.chartConfig=f,this.chartData=g,this.chartThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const f=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),g=Math.max(f.width,a.width),w=f.height+2*this.chartConfig.titlePadding;return f.width<=g&&f.height<=w&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=g,this.boundingRect.height=w,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),a}}function NXe(i,a,f,g){const w=new Yzt(g);return new OXe(w,i,a,f)}class PXe{constructor(a,f,g,w,v){this.plotData=a,this.xAxis=f,this.yAxis=g,this.orientation=w,this.plotIndex=v}getDrawableElement(){const a=this.plotData.data.map(g=>[this.xAxis.getScaleValue(g[0]),this.yAxis.getScaleValue(g[1])]);let f;return this.orientation==="horizontal"?f=Ax().y(g=>g[0]).x(g=>g[1])(a):f=Ax().x(g=>g[0]).y(g=>g[1])(a),f?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:f,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class FXe{constructor(a,f,g,w,v,b){this.barData=a,this.boundingRect=f,this.xAxis=g,this.yAxis=w,this.orientation=v,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),f=.05,g=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-f),w=g/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:this.boundingRect.x,y:v[0]-w,height:g,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:v[0]-w,y:v[1],width:g,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class BXe{constructor(a,f,g){this.chartConfig=a,this.chartData=f,this.chartThemeConfig=g,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,f){this.xAxis=a,this.yAxis=f}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const a=[];for(const[f,g]of this.chartData.plots.entries())switch(g.type){case"line":{const w=new PXe(g,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break;case"bar":{const w=new FXe(g,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break}return a}}function RXe(i,a,f){return new BXe(i,a,f)}class jXe{constructor(a,f,g,w){this.chartConfig=a,this.chartData=f,this.componentStore={title:NXe(a,f,g,w),plot:RXe(a,f,g),xAxis:Zzt(f.xAxis,a.xAxis,{titleColor:g.xAxisTitleColor,labelColor:g.xAxisLabelColor,tickColor:g.xAxisTickColor,axisLineColor:g.xAxisLineColor},w),yAxis:Zzt(f.yAxis,a.yAxis,{titleColor:g.yAxisTitleColor,labelColor:g.yAxisLabelColor,tickColor:g.yAxisTickColor,axisLineColor:g.yAxisLineColor},w)}}calculateVerticalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:v,height:b});a-=E.width,f-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),w=E.height,f-=E.height,this.componentStore.xAxis.setAxisPosition("bottom"),E=this.componentStore.xAxis.calculateSpace({width:a,height:f}),f-=E.height,this.componentStore.yAxis.setAxisPosition("left"),E=this.componentStore.yAxis.calculateSpace({width:a,height:f}),g=E.width,a-=E.width,a>0&&(v+=a,a=0),f>0&&(b+=f,f=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:g,y:w}),this.componentStore.xAxis.setRange([g,g+v]),this.componentStore.xAxis.setBoundingBoxXY({x:g,y:w+b}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:w}),this.chartData.plots.some(S=>Kzt(S))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizonatalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),E=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),S=this.componentStore.plot.calculateSpace({width:b,height:E});a-=S.width,f-=S.height,S=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),g=S.height,f-=S.height,this.componentStore.xAxis.setAxisPosition("left"),S=this.componentStore.xAxis.calculateSpace({width:a,height:f}),a-=S.width,w=S.width,this.componentStore.yAxis.setAxisPosition("top"),S=this.componentStore.yAxis.calculateSpace({width:a,height:f}),f-=S.height,v=g+S.height,a>0&&(b+=a,a=0),f>0&&(E+=f,f=0),this.componentStore.plot.calculateSpace({width:b,height:E}),this.componentStore.plot.setBoundingBoxXY({x:w,y:v}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:w,y:g}),this.componentStore.xAxis.setRange([v,v+E]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>Kzt(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizonatalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const f of Object.values(this.componentStore))a.push(...f.getDrawableElements());return a}}class $Xe{static build(a,f,g,w){return new jXe(a,f,g,w).getDrawableElement()}}let hB=0,tqt,fB=nqt(),dB=eqt(),Pu=rqt(),_bt=dB.plotColorPalette.split(",").map(i=>i.trim()),pX=!1,Abt=!1;function eqt(){const i=dgt(),a=o1();return MF(i.xyChart,a.themeVariables.xyChart)}function nqt(){const i=o1();return MF(Bl.xyChart,i.xyChart)}function rqt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Lbt(i){const a=o1();return Ef(i.trim(),a)}function zXe(i){tqt=i}function qXe(i){i==="horizontal"?fB.chartOrientation="horizontal":fB.chartOrientation="vertical"}function HXe(i){Pu.xAxis.title=Lbt(i.text)}function iqt(i,a){Pu.xAxis={type:"linear",title:Pu.xAxis.title,min:i,max:a},pX=!0}function VXe(i){Pu.xAxis={type:"band",title:Pu.xAxis.title,categories:i.map(a=>Lbt(a.text))},pX=!0}function UXe(i){Pu.yAxis.title=Lbt(i.text)}function GXe(i,a){Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:i,max:a},Abt=!0}function KXe(i){const a=Math.min(...i),f=Math.max(...i),g=lB(Pu.yAxis)?Pu.yAxis.min:1/0,w=lB(Pu.yAxis)?Pu.yAxis.max:-1/0;Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:Math.min(g,a),max:Math.max(w,f)}}function sqt(i){let a=[];if(i.length===0)return a;if(!pX){const f=lB(Pu.xAxis)?Pu.xAxis.min:1/0,g=lB(Pu.xAxis)?Pu.xAxis.max:-1/0;iqt(Math.min(f,1),Math.max(g,i.length))}if(Abt||KXe(i),Wzt(Pu.xAxis)&&(a=Pu.xAxis.categories.map((f,g)=>[f,i[g]])),lB(Pu.xAxis)){const f=Pu.xAxis.min,g=Pu.xAxis.max,w=(g-f+1)/i.length,v=[];for(let b=f;b<=g;b+=w)v.push(`${b}`);a=v.map((b,E)=>[b,i[E]])}return a}function aqt(i){return _bt[i===0?0:i%_bt.length]}function WXe(i,a){const f=sqt(a);Pu.plots.push({type:"line",strokeFill:aqt(hB),strokeWidth:2,data:f}),hB++}function YXe(i,a){const f=sqt(a);Pu.plots.push({type:"bar",fill:aqt(hB),data:f}),hB++}function XXe(){if(Pu.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return Pu.title=Zg(),$Xe.build(fB,Pu,dB,tqt)}function QXe(){return dB}function JXe(){return fB}const ZXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:DXe,db:{getDrawableElem:XXe,clear:function(){ag(),hB=0,fB=nqt(),Pu=rqt(),dB=eqt(),_bt=dB.plotColorPalette.split(",").map(i=>i.trim()),pX=!1,Abt=!1},setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,getAccDescription:Jg,setAccDescription:Qg,setOrientation:qXe,setXAxisTitle:HXe,setXAxisRangeData:iqt,setXAxisBand:VXe,setYAxisTitle:UXe,setYAxisRangeData:GXe,setLineData:WXe,setBarData:YXe,setTmpSVGG:zXe,getChartThemeConfig:QXe,getChartConfig:JXe},renderer:{draw:(i,a,f,g)=>{const w=g.db,v=w.getChartThemeConfig(),b=w.getChartConfig();function E(nt){return nt==="top"?"text-before-edge":"middle"}function S(nt){return nt==="left"?"start":nt==="right"?"end":"middle"}function _(nt){return`translate(${nt.x}, ${nt.y}) rotate(${nt.rotation||0})`}Kt.debug(`Rendering xychart chart
704 L0,${a.line_height}`).attr("stroke-width",1)}};let Xh={},cqt=0;const uqt=(i,a)=>i.insert("rect","#"+a).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Xh.rect_min_width+"px").attr("height",Xh.rect_min_height+"px"),lqt=(i,a,f)=>{let g=Xh.rect_min_width/2,w=i.append("text").attr("class","req reqLabel reqTitle").attr("id",a).attr("x",g).attr("y",Xh.rect_padding).attr("dominant-baseline","hanging"),v=0;f.forEach(_=>{v==0?w.append("tspan").attr("text-anchor","middle").attr("x",Xh.rect_min_width/2).attr("dy",0).text(_):w.append("tspan").attr("text-anchor","middle").attr("x",Xh.rect_min_width/2).attr("dy",Xh.line_height*.75).text(_),v++});let b=1.5*Xh.rect_padding,E=v*Xh.line_height*.75,S=b+E;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Xh.rect_min_width).attr("y1",S).attr("y2",S),{titleNode:w,y:S}},hqt=(i,a,f,g)=>{let w=i.append("text").attr("class","req reqLabel").attr("id",a).attr("x",Xh.rect_padding).attr("y",g).attr("dominant-baseline","hanging"),v=0;const b=30;let E=[];return f.forEach(S=>{let _=S.length;for(;_>b&&v<3;){let M=S.substring(0,b);S=S.substring(b,S.length),_=S.length,E[E.length]=M,v++}if(v==3){let M=E[E.length-1];E[E.length-1]=M.substring(0,M.length-4)+"..."}else E[E.length]=S;v=0}),E.forEach(S=>{w.append("tspan").attr("x",Xh.rect_padding).attr("dy",Xh.line_height).text(S)}),w},rQe=(i,a,f,g)=>{const w=a.node().getTotalLength(),v=a.node().getPointAtLength(w*.5),b="rel"+cqt;cqt++;const S=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(g).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-S.width/2).attr("y",v.y-S.height/2).attr("width",S.width).attr("height",S.height).attr("fill","white").attr("fill-opacity","85%")},iQe=function(i,a,f,g,w){const v=f.edge(LD(a.src),LD(a.dst)),b=Ax().x(function(S){return S.x}).y(function(S){return S.y}),E=i.insert("path","#"+g).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");a.type==w.db.Relationships.CONTAINS?E.attr("marker-start","url("+ei.getUrl(Xh.arrowMarkerAbsolute)+"#"+a.type+"_line_ending)"):(E.attr("stroke-dasharray","10,7"),E.attr("marker-end","url("+ei.getUrl(Xh.arrowMarkerAbsolute)+"#"+oqt.ReqMarkers.ARROW+"_line_ending)")),rQe(i,E,Xh,`<<${a.type}>>`)},sQe=(i,a,f)=>{Object.keys(i).forEach(g=>{let w=i[g];g=LD(g),Kt.info("Added new requirement: ",g);const v=f.append("g").attr("id",g),b="req-"+g,E=uqt(v,b);let S=lqt(v,g+"_title",[`<<${w.type}>>`,`${w.name}`]);hqt(v,g+"_body",[`Id: ${w.id}`,`Text: ${w.text}`,`Risk: ${w.risk}`,`Verification: ${w.verifyMethod}`],S.y);const _=E.node().getBBox();a.setNode(g,{width:_.width,height:_.height,shape:"rect",id:g})})},aQe=(i,a,f)=>{Object.keys(i).forEach(g=>{let w=i[g];const v=LD(g),b=f.append("g").attr("id",v),E="element-"+v,S=uqt(b,E);let _=lqt(b,E+"_title",["<<Element>>",`${g}`]);hqt(b,E+"_body",[`Type: ${w.type||"Not Specified"}`,`Doc Ref: ${w.docRef||"None"}`],_.y);const M=S.node().getBBox();a.setNode(v,{width:M.width,height:M.height,shape:"rect",id:v})})},oQe=(i,a)=>(i.forEach(function(f){let g=LD(f.src),w=LD(f.dst);a.setEdge(g,w,{relationship:f})}),i),cQe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&(i.select("#"+f),i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )"))})},LD=i=>i.replace(/\s/g,"").replace(/\./g,"_"),uQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:tQe,db:eQe,renderer:{draw:(i,a,f,g)=>{Xh=Re().requirement;const w=Xh.securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const E=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);oqt.insertLineEndings(E,Xh);const S=new l1({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Xh.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let _=g.db.getRequirements(),M=g.db.getElements(),F=g.db.getRelationships();sQe(_,S,E),aQe(M,S,E),oQe(F,S),kD(S),cQe(E,S),F.forEach(function(nt){iQe(E,nt,S,a,g)});const R=Xh.rect_padding,B=E.node().getBBox(),z=B.width+R*2,Y=B.height+R*2;sg(E,Y,z,Xh.useMaxWidth),E.attr("viewBox",`${B.x-R} ${B.y-R} ${z} ${Y}`)}},styles:nQe}},Symbol.toStringTag,{value:"Module"}));var Obt=function(){var i=function(be,Ne,Xt,_e){for(Xt=Xt||{},_e=be.length;_e--;Xt[be[_e]]=Ne);return Xt},a=[1,2],f=[1,3],g=[1,4],w=[2,4],v=[1,9],b=[1,11],E=[1,13],S=[1,14],_=[1,16],M=[1,17],F=[1,18],R=[1,24],B=[1,25],z=[1,26],Y=[1,27],nt=[1,28],ot=[1,29],ft=[1,30],wt=[1,31],mt=[1,32],ct=[1,33],rt=[1,34],it=[1,35],gt=[1,36],Q=[1,37],dt=[1,38],K=[1,39],yt=[1,41],V=[1,42],Ot=[1,43],It=[1,44],jt=[1,45],xt=[1,46],Ft=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ct=[4,5,16,50,52,53],kt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Gt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Fe=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Mt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],pn=[68,69,70],Ae=[1,120],ye={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(Ne,Xt,_e,xe,Mn,ce,Br){var we=ce.length-1;switch(Mn){case 3:return xe.apply(ce[we]),ce[we];case 4:case 9:this.$=[];break;case 5:case 10:ce[we-1].push(ce[we]),this.$=ce[we-1];break;case 6:case 7:case 11:case 12:this.$=ce[we];break;case 8:case 13:this.$=[];break;case 15:ce[we].type="createParticipant",this.$=ce[we];break;case 16:ce[we-1].unshift({type:"boxStart",boxData:xe.parseBoxData(ce[we-2])}),ce[we-1].push({type:"boxEnd",boxText:ce[we-2]}),this.$=ce[we-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ce[we-2]),sequenceIndexStep:Number(ce[we-1]),sequenceVisible:!0,signalType:xe.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ce[we-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:xe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:xe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:xe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:xe.LINETYPE.ACTIVE_START,actor:ce[we-1]};break;case 23:this.$={type:"activeEnd",signalType:xe.LINETYPE.ACTIVE_END,actor:ce[we-1]};break;case 29:xe.setDiagramTitle(ce[we].substring(6)),this.$=ce[we].substring(6);break;case 30:xe.setDiagramTitle(ce[we].substring(7)),this.$=ce[we].substring(7);break;case 31:this.$=ce[we].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=ce[we].trim(),xe.setAccDescription(this.$);break;case 34:ce[we-1].unshift({type:"loopStart",loopText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.LOOP_START}),ce[we-1].push({type:"loopEnd",loopText:ce[we-2],signalType:xe.LINETYPE.LOOP_END}),this.$=ce[we-1];break;case 35:ce[we-1].unshift({type:"rectStart",color:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.RECT_START}),ce[we-1].push({type:"rectEnd",color:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.RECT_END}),this.$=ce[we-1];break;case 36:ce[we-1].unshift({type:"optStart",optText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.OPT_START}),ce[we-1].push({type:"optEnd",optText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.OPT_END}),this.$=ce[we-1];break;case 37:ce[we-1].unshift({type:"altStart",altText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.ALT_START}),ce[we-1].push({type:"altEnd",signalType:xe.LINETYPE.ALT_END}),this.$=ce[we-1];break;case 38:ce[we-1].unshift({type:"parStart",parText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.PAR_START}),ce[we-1].push({type:"parEnd",signalType:xe.LINETYPE.PAR_END}),this.$=ce[we-1];break;case 39:ce[we-1].unshift({type:"parStart",parText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.PAR_OVER_START}),ce[we-1].push({type:"parEnd",signalType:xe.LINETYPE.PAR_END}),this.$=ce[we-1];break;case 40:ce[we-1].unshift({type:"criticalStart",criticalText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.CRITICAL_START}),ce[we-1].push({type:"criticalEnd",signalType:xe.LINETYPE.CRITICAL_END}),this.$=ce[we-1];break;case 41:ce[we-1].unshift({type:"breakStart",breakText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.BREAK_START}),ce[we-1].push({type:"breakEnd",optText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.BREAK_END}),this.$=ce[we-1];break;case 43:this.$=ce[we-3].concat([{type:"option",optionText:xe.parseMessage(ce[we-1]),signalType:xe.LINETYPE.CRITICAL_OPTION},ce[we]]);break;case 45:this.$=ce[we-3].concat([{type:"and",parText:xe.parseMessage(ce[we-1]),signalType:xe.LINETYPE.PAR_AND},ce[we]]);break;case 47:this.$=ce[we-3].concat([{type:"else",altText:xe.parseMessage(ce[we-1]),signalType:xe.LINETYPE.ALT_ELSE},ce[we]]);break;case 48:ce[we-3].draw="participant",ce[we-3].type="addParticipant",ce[we-3].description=xe.parseMessage(ce[we-1]),this.$=ce[we-3];break;case 49:ce[we-1].draw="participant",ce[we-1].type="addParticipant",this.$=ce[we-1];break;case 50:ce[we-3].draw="actor",ce[we-3].type="addParticipant",ce[we-3].description=xe.parseMessage(ce[we-1]),this.$=ce[we-3];break;case 51:ce[we-1].draw="actor",ce[we-1].type="addParticipant",this.$=ce[we-1];break;case 52:ce[we-1].type="destroyParticipant",this.$=ce[we-1];break;case 53:this.$=[ce[we-1],{type:"addNote",placement:ce[we-2],actor:ce[we-1].actor,text:ce[we]}];break;case 54:ce[we-2]=[].concat(ce[we-1],ce[we-1]).slice(0,2),ce[we-2][0]=ce[we-2][0].actor,ce[we-2][1]=ce[we-2][1].actor,this.$=[ce[we-1],{type:"addNote",placement:xe.PLACEMENT.OVER,actor:ce[we-2].slice(0,2),text:ce[we]}];break;case 55:this.$=[ce[we-1],{type:"addLinks",actor:ce[we-1].actor,text:ce[we]}];break;case 56:this.$=[ce[we-1],{type:"addALink",actor:ce[we-1].actor,text:ce[we]}];break;case 57:this.$=[ce[we-1],{type:"addProperties",actor:ce[we-1].actor,text:ce[we]}];break;case 58:this.$=[ce[we-1],{type:"addDetails",actor:ce[we-1].actor,text:ce[we]}];break;case 61:this.$=[ce[we-2],ce[we]];break;case 62:this.$=ce[we];break;case 63:this.$=xe.PLACEMENT.LEFTOF;break;case 64:this.$=xe.PLACEMENT.RIGHTOF;break;case 65:this.$=[ce[we-4],ce[we-1],{type:"addMessage",from:ce[we-4].actor,to:ce[we-1].actor,signalType:ce[we-3],msg:ce[we],activate:!0},{type:"activeStart",signalType:xe.LINETYPE.ACTIVE_START,actor:ce[we-1]}];break;case 66:this.$=[ce[we-4],ce[we-1],{type:"addMessage",from:ce[we-4].actor,to:ce[we-1].actor,signalType:ce[we-3],msg:ce[we]},{type:"activeEnd",signalType:xe.LINETYPE.ACTIVE_END,actor:ce[we-4]}];break;case 67:this.$=[ce[we-3],ce[we-1],{type:"addMessage",from:ce[we-3].actor,to:ce[we-1].actor,signalType:ce[we-2],msg:ce[we]}];break;case 68:this.$={type:"addParticipant",actor:ce[we]};break;case 69:this.$=xe.LINETYPE.SOLID_OPEN;break;case 70:this.$=xe.LINETYPE.DOTTED_OPEN;break;case 71:this.$=xe.LINETYPE.SOLID;break;case 72:this.$=xe.LINETYPE.DOTTED;break;case 73:this.$=xe.LINETYPE.SOLID_CROSS;break;case 74:this.$=xe.LINETYPE.DOTTED_CROSS;break;case 75:this.$=xe.LINETYPE.SOLID_POINT;break;case 76:this.$=xe.LINETYPE.DOTTED_POINT;break;case 77:this.$=xe.parseMessage(ce[we].trim().substring(1));break}},table:[{3:1,4:a,5:f,6:g},{1:[3]},{3:5,4:a,5:f,6:g},{3:6,4:a,5:f,6:g},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:E,14:S,17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},i(Ft,[2,5]),{9:47,12:12,13:E,14:S,17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},i(Ft,[2,7]),i(Ft,[2,8]),i(Ft,[2,14]),{12:48,50:Q,52:dt,53:K},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:xt},{22:55,70:xt},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Ft,[2,29]),i(Ft,[2,30]),{32:[1,61]},{34:[1,62]},i(Ft,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:xt},{22:72,70:xt},{22:73,70:xt},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:xt},{22:88,70:xt},{22:89,70:xt},{22:90,70:xt},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Ft,[2,6]),i(Ft,[2,15]),i(Ct,[2,9],{10:91}),i(Ft,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Ft,[2,21]),{5:[1,95]},{5:[1,96]},i(Ft,[2,24]),i(Ft,[2,25]),i(Ft,[2,26]),i(Ft,[2,27]),i(Ft,[2,28]),i(Ft,[2,31]),i(Ft,[2,32]),i(kt,w,{7:97}),i(kt,w,{7:98}),i(kt,w,{7:99}),i(Gt,w,{40:100,7:101}),i(Fe,w,{42:102,7:103}),i(Fe,w,{7:103,42:104}),i(Mt,w,{45:105,7:106}),i(kt,w,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:xt},i(pn,[2,69]),i(pn,[2,70]),i(pn,[2,71]),i(pn,[2,72]),i(pn,[2,73]),i(pn,[2,74]),i(pn,[2,75]),i(pn,[2,76]),{22:116,70:xt},{22:118,58:117,70:xt},{70:[2,63]},{70:[2,64]},{56:119,79:Ae},{56:121,79:Ae},{56:122,79:Ae},{56:123,79:Ae},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:Q,52:dt,53:K},{5:[1,129]},i(Ft,[2,19]),i(Ft,[2,20]),i(Ft,[2,22]),i(Ft,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,130],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,131],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,132],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[2,46],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,49:[1,134],50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[2,44],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,48:[1,136],50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[2,42],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,47:[1,139],50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,140],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{15:[1,141]},i(Ft,[2,49]),{15:[1,142]},i(Ft,[2,51]),i(Ft,[2,52]),{22:143,70:xt},{22:144,70:xt},{56:145,79:Ae},{56:146,79:Ae},{56:147,79:Ae},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Ft,[2,16]),i(Ct,[2,10]),{12:149,50:Q,52:dt,53:K},i(Ct,[2,12]),i(Ct,[2,13]),i(Ft,[2,18]),i(Ft,[2,34]),i(Ft,[2,35]),i(Ft,[2,36]),i(Ft,[2,37]),{15:[1,150]},i(Ft,[2,38]),{15:[1,151]},i(Ft,[2,39]),i(Ft,[2,40]),{15:[1,152]},i(Ft,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:Ae},{56:156,79:Ae},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:xt},i(Ct,[2,11]),i(Gt,w,{7:101,40:158}),i(Fe,w,{7:103,42:159}),i(Mt,w,{7:106,45:160}),i(Ft,[2,48]),i(Ft,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(Ne,Xt){if(Xt.recoverable)this.trace(Ne);else{var _e=new Error(Ne);throw _e.hash=Xt,_e}},parse:function(Ne){var Xt=this,_e=[0],xe=[],Mn=[null],ce=[],Br=this.table,we="",Fi=0,mi=0,ga=2,Ss=1,za=ce.slice.call(arguments,1),br=Object.create(this.lexer),An={yy:{}};for(var Nn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nn)&&(An.yy[Nn]=this.yy[Nn]);br.setInput(Ne,An.yy),An.yy.lexer=br,An.yy.parser=this,typeof br.yylloc>"u"&&(br.yylloc={});var Bn=br.yylloc;ce.push(Bn);var ke=br.options&&br.options.ranges;typeof An.yy.parseError=="function"?this.parseError=An.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(){var Zs;return Zs=xe.pop()||br.lex()||Ss,typeof Zs!="number"&&(Zs instanceof Array&&(xe=Zs,Zs=xe.pop()),Zs=Xt.symbols_[Zs]||Zs),Zs}for(var Je,an,xn,qa,xo={},ko,va,Ha,ds;;){if(an=_e[_e.length-1],this.defaultActions[an]?xn=this.defaultActions[an]:((Je===null||typeof Je>"u")&&(Je=pe()),xn=Br[an]&&Br[an][Je]),typeof xn>"u"||!xn.length||!xn[0]){var Fu="";ds=[];for(ko in Br[an])this.terminals_[ko]&&ko>ga&&ds.push("'"+this.terminals_[ko]+"'");br.showPosition?Fu="Parse error on line "+(Fi+1)+`:
825 `,B9=18*2,vqt="actor-top",yqt="actor-bottom",Fbt=function(i,a){return LY(i,a)},FQe=function(i,a,f,g,w){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};const v=a.links,b=a.actorCnt,E=a.rectData;var S="none";w&&(S="block !important");const _=i.append("g");_.attr("id","actor"+b+"_popup"),_.attr("class","actorPopupMenu"),_.attr("display",S);var M="";E.class!==void 0&&(M=" "+E.class);let F=E.width>f?E.width:f;const R=_.append("rect");if(R.attr("class","actorPopupMenuPanel"+M),R.attr("x",E.x),R.attr("y",E.height),R.attr("fill",E.fill),R.attr("stroke",E.stroke),R.attr("width",F),R.attr("height",E.height),R.attr("rx",E.rx),R.attr("ry",E.ry),v!=null){var B=20;for(let nt in v){var z=_.append("a"),Y=h8(v[nt]);z.attr("xlink:href",Y),z.attr("target","_blank"),ZQe(g)(nt,z,E.x+10,E.height+B,F,20,{class:"actor"},g),B+=30}}return R.attr("height",B),{height:E.height+B,width:F}},BQe=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},DD=function(i,a){let f=0,g=0;const w=a.text.split(ei.lineBreakRegex),[v,b]=k9(a.fontSize);let E=[],S=0,_=()=>a.y;if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":_=()=>Math.round(a.y+a.textMargin);break;case"middle":case"center":_=()=>Math.round(a.y+(f+g+a.textMargin)/2);break;case"bottom":case"end":_=()=>Math.round(a.y+(f+g+2*a.textMargin)-a.textMargin);break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[M,F]of w.entries()){a.textMargin!==void 0&&a.textMargin===0&&v!==void 0&&(S=M*v);const R=i.append("text");R.attr("x",a.x),R.attr("y",_()),a.anchor!==void 0&&R.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline),a.fontFamily!==void 0&&R.style("font-family",a.fontFamily),b!==void 0&&R.style("font-size",b),a.fontWeight!==void 0&&R.style("font-weight",a.fontWeight),a.fill!==void 0&&R.attr("fill",a.fill),a.class!==void 0&&R.attr("class",a.class),a.dy!==void 0?R.attr("dy",a.dy):S!==0&&R.attr("dy",S);const B=F||kFt;if(a.tspan){const z=R.append("tspan");z.attr("x",a.x),a.fill!==void 0&&z.attr("fill",a.fill),z.text(B)}else R.text(B);a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0&&(g+=(R._groups||R)[0][0].getBBox().height,f=g),E.push(R)}return E},xqt=function(i,a){function f(w,v,b,E,S){return w+","+v+" "+(w+b)+","+v+" "+(w+b)+","+(v+E-S)+" "+(w+b-S*1.2)+","+(v+E)+" "+w+","+(v+E)}const g=i.append("polygon");return g.attr("points",f(a.x,a.y,a.width,a.height,7)),g.attr("class","labelBox"),a.y=a.y+a.height/2,DD(i,a),g};let f4=-1;const kqt=(i,a,f,g)=>{i.select&&f.forEach(w=>{const v=a[w],b=i.select("#actor"+v.actorCnt);!g.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):g.mirrorActors&&b.attr("y2",v.stopy)})},RQe=function(i,a,f,g){const w=g?a.stopy:a.starty,v=a.x+a.width/2,b=w+5,E=i.append("g").lower();var S=E;g||(f4++,Object.keys(a.links||{}).length&&!f.forceMenus&&S.attr("onclick",BQe(`actor${f4}_popup`)).attr("cursor","pointer"),S.append("line").attr("id","actor"+f4).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),S=E.append("g"),a.actorCnt=f4,a.links!=null&&S.attr("id","root-"+f4));const _=_9();var M="actor";a.properties!=null&&a.properties.class?M=a.properties.class:_.fill="#eaeaea",g?M+=` ${yqt}`:M+=` ${vqt}`,_.x=a.x,_.y=w,_.width=a.width,_.height=a.height,_.class=M,_.rx=3,_.ry=3;const F=Fbt(S,_);if(a.rectData=_,a.properties!=null&&a.properties.icon){const B=a.properties.icon.trim();B.charAt(0)==="@"?KRe(S,_.x+_.width-20,_.y+10,B.substr(1)):GRe(S,_.x+_.width-20,_.y+10,B)}Bbt(f)(a.description,S,_.x,_.y,_.width,_.height,{class:"actor"},f);let R=a.height;if(F.node){const B=F.node().getBBox();a.height=B.height,R=B.height}return R},jQe=function(i,a,f,g){const w=g?a.stopy:a.starty,v=a.x+a.width/2,b=w+80;i.lower(),g||(f4++,i.append("line").attr("id","actor"+f4).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),a.actorCnt=f4);const E=i.append("g");let S="actor-man";g?S+=` ${yqt}`:S+=` ${vqt}`,E.attr("class",S);const _=_9();_.x=a.x,_.y=w,_.fill="#eaeaea",_.width=a.width,_.height=a.height,_.class="actor",_.rx=3,_.ry=3,E.append("line").attr("id","actor-man-torso"+f4).attr("x1",v).attr("y1",w+25).attr("x2",v).attr("y2",w+45),E.append("line").attr("id","actor-man-arms"+f4).attr("x1",v-B9/2).attr("y1",w+33).attr("x2",v+B9/2).attr("y2",w+33),E.append("line").attr("x1",v-B9/2).attr("y1",w+60).attr("x2",v).attr("y2",w+45),E.append("line").attr("x1",v).attr("y1",w+45).attr("x2",v+B9/2-2).attr("y2",w+60);const M=E.append("circle");M.attr("cx",a.x+a.width/2),M.attr("cy",w+10),M.attr("r",15),M.attr("width",a.width),M.attr("height",a.height);const F=E.node().getBBox();return a.height=F.height,Bbt(f)(a.description,E,_.x,_.y+35,_.width,_.height,{class:"actor"},f),a.height},$Qe=function(i,a,f,g){switch(a.type){case"actor":return jQe(i,a,f,g);case"participant":return RQe(i,a,f,g)}},zQe=function(i,a,f){const w=i.append("g");Eqt(w,a),a.name&&Bbt(f)(a.name,w,a.x,a.y+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},f),w.lower()},qQe=function(i){return i.append("g")},HQe=function(i,a,f,g,w){const v=_9(),b=a.anchored;v.x=a.startx,v.y=a.starty,v.class="activation"+w%3,v.width=a.stopx-a.startx,v.height=f-a.starty,Fbt(b,v)},VQe=function(i,a,f,g){const{boxMargin:w,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:E,messageFontFamily:S,messageFontSize:_,messageFontWeight:M}=g,F=i.append("g"),R=function(Y,nt,ot,ft){return F.append("line").attr("x1",Y).attr("y1",nt).attr("x2",ot).attr("y2",ft).attr("class","loopLine")};R(a.startx,a.starty,a.stopx,a.starty),R(a.stopx,a.starty,a.stopx,a.stopy),R(a.startx,a.stopy,a.stopx,a.stopy),R(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0&&a.sections.forEach(function(Y){R(a.startx,Y.y,a.stopx,Y.y).style("stroke-dasharray","3, 3")});let B=tpt();B.text=f,B.x=a.startx,B.y=a.starty,B.fontFamily=S,B.fontSize=_,B.fontWeight=M,B.anchor="middle",B.valign="middle",B.tspan=!1,B.width=E||50,B.height=b||20,B.textMargin=v,B.class="labelText",xqt(F,B),B=Tqt(),B.text=a.title,B.x=a.startx+E/2+(a.stopx-a.startx)/2,B.y=a.starty+w+v,B.anchor="middle",B.valign="middle",B.textMargin=v,B.class="loopText",B.fontFamily=S,B.fontSize=_,B.fontWeight=M,B.wrap=!0;let z=DD(F,B);return a.sectionTitles!==void 0&&a.sectionTitles.forEach(function(Y,nt){if(Y.message){B.text=Y.message,B.x=a.startx+(a.stopx-a.startx)/2,B.y=a.sections[nt].y+w+v,B.class="loopText",B.anchor="middle",B.valign="middle",B.tspan=!1,B.fontFamily=S,B.fontSize=_,B.fontWeight=M,B.wrap=a.wrap,z=DD(F,B);let ot=Math.round(z.map(ft=>(ft._groups||ft)[0][0].getBBox().height).reduce((ft,wt)=>ft+wt));a.sections[nt].height+=ot-(w+v)}}),a.height=Math.round(a.stopy-a.starty),F},Eqt=function(i,a){sRt(i,a)},UQe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},GQe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},KQe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},WQe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},YQe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},XQe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},QQe=function(i){i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},Tqt=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},JQe=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Bbt=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b+S/2).attr("y",E+_/2+5).style("text-anchor","middle").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{actorFontSize:R,actorFontFamily:B,actorFontWeight:z}=F,[Y,nt]=k9(R),ot=w.split(ei.lineBreakRegex);for(let ft=0;ft<ot.length;ft++){const wt=ft*Y-Y*(ot.length-1)/2,mt=v.append("text").attr("x",b+S/2).attr("y",E).style("text-anchor","middle").style("font-size",nt).style("font-weight",z).style("font-family",B);mt.append("tspan").attr("x",b+S/2).attr("dy",wt).text(ot[ft]),mt.attr("y",E+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(mt,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),ZQe=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b).attr("y",E).style("text-anchor","start").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{actorFontSize:R,actorFontFamily:B,actorFontWeight:z}=F,Y=w.split(ei.lineBreakRegex);for(let nt=0;nt<Y.length;nt++){const ot=nt*R-R*(Y.length-1)/2,ft=v.append("text").attr("x",b).attr("y",E).style("text-anchor","start").style("font-size",R).style("font-weight",z).style("font-family",B);ft.append("tspan").attr("x",b).attr("dy",ot).text(Y[nt]),ft.attr("y",E+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(ft,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),_f={drawRect:Fbt,drawText:DD,drawLabel:xqt,drawActor:$Qe,drawBox:zQe,drawPopup:FQe,anchorElement:qQe,drawActivation:HQe,drawLoop:VQe,drawBackgroundRect:Eqt,insertArrowHead:WQe,insertArrowFilledHead:YQe,insertSequenceNumber:XQe,insertArrowCrossHead:QQe,insertDatabaseIcon:UQe,insertComputerIcon:GQe,insertClockIcon:KQe,getTextObj:Tqt,getNoteRect:JQe,fixLifeLineHeights:kqt,sanitizeUrl:h8};let bn={};const Wr={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(i=>i.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,a)=>i+a))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,Sqt(Re())},updateVal:function(i,a,f,g){i[a]===void 0?i[a]=f:i[a]=g(f,i[a])},updateBounds:function(i,a,f,g){const w=this;let v=0;function b(E){return function(_){v++;const M=w.sequenceItems.length-v+1;w.updateVal(_,"starty",a-M*bn.boxMargin,Math.min),w.updateVal(_,"stopy",g+M*bn.boxMargin,Math.max),w.updateVal(Wr.data,"startx",i-M*bn.boxMargin,Math.min),w.updateVal(Wr.data,"stopx",f+M*bn.boxMargin,Math.max),E!=="activation"&&(w.updateVal(_,"startx",i-M*bn.boxMargin,Math.min),w.updateVal(_,"stopx",f+M*bn.boxMargin,Math.max),w.updateVal(Wr.data,"starty",a-M*bn.boxMargin,Math.min),w.updateVal(Wr.data,"stopy",g+M*bn.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,a,f,g){const w=ei.getMin(i,f),v=ei.getMax(i,f),b=ei.getMin(a,g),E=ei.getMax(a,g);this.updateVal(Wr.data,"startx",w,Math.min),this.updateVal(Wr.data,"starty",b,Math.min),this.updateVal(Wr.data,"stopx",v,Math.max),this.updateVal(Wr.data,"stopy",E,Math.max),this.updateBounds(w,b,v,E)},newActivation:function(i,a,f){const g=f[i.from.actor],w=bX(i.from.actor).length||0,v=g.x+g.width/2+(w-1)*bn.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+bn.activationWidth,stopy:void 0,actor:i.from.actor,anchored:_f.anchorElement(a)})},endActivation:function(i){const a=this.activations.map(function(f){return f.actor}).lastIndexOf(i.from.actor);return this.activations.splice(a,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:a}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(i,a))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:Wr.getVerticalPos(),height:0}),a.sectionTitles.push(i),this.sequenceItems.push(a)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=ei.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},tJe=function(i,a){Wr.bumpVerticalPos(bn.boxMargin),a.height=bn.boxMargin,a.starty=Wr.getVerticalPos();const f=_9();f.x=a.startx,f.y=a.starty,f.width=a.width||bn.width,f.class="note";const g=i.append("g"),w=_f.drawRect(g,f),v=tpt();v.x=a.startx,v.y=a.starty,v.width=f.width,v.dy="1em",v.text=a.message,v.class="noteText",v.fontFamily=bn.noteFontFamily,v.fontSize=bn.noteFontSize,v.fontWeight=bn.noteFontWeight,v.anchor=bn.noteAlign,v.textMargin=bn.noteMargin,v.valign="center";const b=DD(g,v),E=Math.round(b.map(S=>(S._groups||S)[0][0].getBBox().height).reduce((S,_)=>S+_));w.attr("height",E+2*bn.noteMargin),a.height+=E+2*bn.noteMargin,Wr.bumpVerticalPos(E+2*bn.noteMargin),a.stopy=a.starty+E+2*bn.noteMargin,a.stopx=a.startx+f.width,Wr.insert(a.startx,a.starty,a.stopx,a.stopy),Wr.models.addNote(a)},R9=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),MD=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Rbt=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});function eJe(i,a){Wr.bumpVerticalPos(10);const{startx:f,stopx:g,message:w}=a,v=ei.splitBreaks(w).length,b=uo.calculateTextDimensions(w,R9(bn)),E=b.height/v;a.height+=E,Wr.bumpVerticalPos(E);let S,_=b.height-10;const M=b.width;if(f===g){S=Wr.getVerticalPos()+_,bn.rightAngles||(_+=bn.boxMargin,S=Wr.getVerticalPos()+_),_+=30;const F=ei.getMax(M/2,bn.width/2);Wr.insert(f-F,Wr.getVerticalPos()-10+_,g+F,Wr.getVerticalPos()+30+_)}else _+=bn.boxMargin,S=Wr.getVerticalPos()+_,Wr.insert(f,S-10,g,S);return Wr.bumpVerticalPos(_),a.height+=_,a.stopy=a.starty+a.height,Wr.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),S}const nJe=function(i,a,f,g){const{startx:w,stopx:v,starty:b,message:E,type:S,sequenceIndex:_,sequenceVisible:M}=a,F=uo.calculateTextDimensions(E,R9(bn)),R=tpt();R.x=w,R.y=b+10,R.width=v-w,R.class="messageText",R.dy="1em",R.text=E,R.fontFamily=bn.messageFontFamily,R.fontSize=bn.messageFontSize,R.fontWeight=bn.messageFontWeight,R.anchor=bn.messageAlign,R.valign="center",R.textMargin=bn.wrapPadding,R.tspan=!1,DD(i,R);const B=F.width;let z;w===v?bn.rightAngles?z=i.append("path").attr("d",`M ${w},${f} H ${w+ei.getMax(bn.width/2,B/2)} V ${f+25} H ${w}`):z=i.append("path").attr("d","M "+w+","+f+" C "+(w+60)+","+(f-10)+" "+(w+60)+","+(f+30)+" "+w+","+(f+20)):(z=i.append("line"),z.attr("x1",w),z.attr("y1",f),z.attr("x2",v),z.attr("y2",f)),S===g.db.LINETYPE.DOTTED||S===g.db.LINETYPE.DOTTED_CROSS||S===g.db.LINETYPE.DOTTED_POINT||S===g.db.LINETYPE.DOTTED_OPEN?(z.style("stroke-dasharray","3, 3"),z.attr("class","messageLine1")):z.attr("class","messageLine0");let Y="";bn.arrowMarkerAbsolute&&(Y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,Y=Y.replace(/\(/g,"\\("),Y=Y.replace(/\)/g,"\\)")),z.attr("stroke-width",2),z.attr("stroke","none"),z.style("fill","none"),(S===g.db.LINETYPE.SOLID||S===g.db.LINETYPE.DOTTED)&&z.attr("marker-end","url("+Y+"#arrowhead)"),(S===g.db.LINETYPE.SOLID_POINT||S===g.db.LINETYPE.DOTTED_POINT)&&z.attr("marker-end","url("+Y+"#filled-head)"),(S===g.db.LINETYPE.SOLID_CROSS||S===g.db.LINETYPE.DOTTED_CROSS)&&z.attr("marker-end","url("+Y+"#crosshead)"),(M||bn.showSequenceNumbers)&&(z.attr("marker-start","url("+Y+"#sequencenumber)"),i.append("text").attr("x",w).attr("y",f+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(_))},rJe=function(i,a,f,g,w,v,b){let E=0,S=0,_,M=0;for(const F of g){const R=a[F],B=R.box;_&&_!=B&&(b||Wr.models.addBox(_),S+=bn.boxMargin+_.margin),B&&B!=_&&(b||(B.x=E+S,B.y=w),S+=B.margin),R.width=R.width||bn.width,R.height=ei.getMax(R.height||bn.height,bn.height),R.margin=R.margin||bn.actorMargin,M=ei.getMax(M,R.height),f[R.name]&&(S+=R.width/2),R.x=E+S,R.starty=Wr.getVerticalPos(),Wr.insert(R.x,w,R.x+R.width,R.height),E+=R.width+S,R.box&&(R.box.width=E+B.margin-R.box.x),S=R.margin,_=R.box,Wr.models.addActor(R)}_&&!b&&Wr.models.addBox(_),Wr.bumpVerticalPos(M)},jbt=function(i,a,f,g){if(g){let w=0;Wr.bumpVerticalPos(bn.boxMargin*2);for(const v of f){const b=a[v];b.stopy||(b.stopy=Wr.getVerticalPos());const E=_f.drawActor(i,b,bn,!0);w=ei.getMax(w,E)}Wr.bumpVerticalPos(w+bn.boxMargin)}else for(const w of f){const v=a[w];_f.drawActor(i,v,bn,!1)}},Cqt=function(i,a,f,g){let w=0,v=0;for(const b of f){const E=a[b],S=oJe(E),_=_f.drawPopup(i,E,S,bn,bn.forceMenus,g);_.height>w&&(w=_.height),_.width+E.x>v&&(v=_.width+E.x)}return{maxHeight:w,maxWidth:v}},Sqt=function(i){Ld(bn,i),i.fontFamily&&(bn.actorFontFamily=bn.noteFontFamily=bn.messageFontFamily=i.fontFamily),i.fontSize&&(bn.actorFontSize=bn.noteFontSize=bn.messageFontSize=i.fontSize),i.fontWeight&&(bn.actorFontWeight=bn.noteFontWeight=bn.messageFontWeight=i.fontWeight)},bX=function(i){return Wr.activations.filter(function(a){return a.actor===i})},_qt=function(i,a){const f=a[i],g=bX(i),w=g.reduce(function(b,E){return ei.getMin(b,E.startx)},f.x+f.width/2-1),v=g.reduce(function(b,E){return ei.getMax(b,E.stopx)},f.x+f.width/2+1);return[w,v]};function d4(i,a,f,g,w){Wr.bumpVerticalPos(f);let v=g;if(a.id&&a.message&&i[a.id]){const b=i[a.id].width,E=R9(bn);a.message=uo.wrapLabel(`[${a.message}]`,b-2*bn.wrapPadding,E),a.width=b,a.wrap=!0;const S=uo.calculateTextDimensions(a.message,E),_=ei.getMax(S.height,bn.labelBoxHeight);v=g+_,Kt.debug(`${_} - ${a.message}`)}w(a),Wr.bumpVerticalPos(v)}function iJe(i,a,f,g,w,v,b){function E(_,M){_.x<w[i.from].x?(Wr.insert(a.stopx-M,a.starty,a.startx,a.stopy+_.height/2+bn.noteMargin),a.stopx=a.stopx+M):(Wr.insert(a.startx,a.starty,a.stopx+M,a.stopy+_.height/2+bn.noteMargin),a.stopx=a.stopx-M)}function S(_,M){_.x<w[i.to].x?(Wr.insert(a.startx-M,a.starty,a.stopx,a.stopy+_.height/2+bn.noteMargin),a.startx=a.startx+M):(Wr.insert(a.stopx,a.starty,a.startx+M,a.stopy+_.height/2+bn.noteMargin),a.startx=a.startx-M)}if(v[i.to]==g){const _=w[i.to],M=_.type=="actor"?B9/2+3:_.width/2+3;E(_,M),_.starty=f-_.height/2,Wr.bumpVerticalPos(_.height/2)}else if(b[i.from]==g){const _=w[i.from];if(bn.mirrorActors){const M=_.type=="actor"?B9/2:_.width/2;S(_,M)}_.stopy=f-_.height/2,Wr.bumpVerticalPos(_.height/2)}else if(b[i.to]==g){const _=w[i.to];if(bn.mirrorActors){const M=_.type=="actor"?B9/2+3:_.width/2+3;E(_,M)}_.stopy=f-_.height/2,Wr.bumpVerticalPos(_.height/2)}}const sJe=function(i,a,f,g){const{securityLevel:w,sequence:v}=Re();bn=v;let b;w==="sandbox"&&(b=Tr("#i"+a));const E=Tr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=w==="sandbox"?b.nodes()[0].contentDocument:document;Wr.init(),Kt.debug(g.db);const _=w==="sandbox"?E.select(`[id="${a}"]`):Tr(`[id="${a}"]`),M=g.db.getActors(),F=g.db.getCreatedActors(),R=g.db.getDestroyedActors(),B=g.db.getBoxes();let z=g.db.getActorKeys();const Y=g.db.getMessages(),nt=g.db.getDiagramTitle(),ot=g.db.hasAtLeastOneBox(),ft=g.db.hasAtLeastOneBoxWithTitle(),wt=aJe(M,Y,g);if(bn.height=cJe(M,wt,B),_f.insertComputerIcon(_),_f.insertDatabaseIcon(_),_f.insertClockIcon(_),ot&&(Wr.bumpVerticalPos(bn.boxMargin),ft&&Wr.bumpVerticalPos(B[0].textMaxHeight)),bn.hideUnusedParticipants===!0){const xt=new Set;Y.forEach(Ft=>{xt.add(Ft.from),xt.add(Ft.to)}),z=z.filter(Ft=>xt.has(Ft))}rJe(_,M,F,z,0,Y,!1);const mt=hJe(Y,M,wt,g);_f.insertArrowHead(_),_f.insertArrowCrossHead(_),_f.insertArrowFilledHead(_),_f.insertSequenceNumber(_);function ct(xt,Ft){const Ct=Wr.endActivation(xt);Ct.starty+18>Ft&&(Ct.starty=Ft-6,Ft+=12),_f.drawActivation(_,Ct,Ft,bn,bX(xt.from.actor).length),Wr.insert(Ct.startx,Ft-10,Ct.stopx,Ft)}let rt=1,it=1;const gt=[],Q=[];Y.forEach(function(xt,Ft){let Ct,kt,Gt;switch(xt.type){case g.db.LINETYPE.NOTE:Wr.resetVerticalPos(),kt=xt.noteModel,tJe(_,kt);break;case g.db.LINETYPE.ACTIVE_START:Wr.newActivation(xt,_,M);break;case g.db.LINETYPE.ACTIVE_END:ct(xt,Wr.getVerticalPos());break;case g.db.LINETYPE.LOOP_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.LOOP_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"loop",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.RECT_START:d4(mt,xt,bn.boxMargin,bn.boxMargin,Fe=>Wr.newLoop(void 0,Fe.message));break;case g.db.LINETYPE.RECT_END:Ct=Wr.endLoop(),Q.push(Ct),Wr.models.addLoop(Ct),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos());break;case g.db.LINETYPE.OPT_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.OPT_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"opt",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.ALT_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.ALT_ELSE:d4(mt,xt,bn.boxMargin+bn.boxTextMargin,bn.boxMargin,Fe=>Wr.addSectionToLoop(Fe));break;case g.db.LINETYPE.ALT_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"alt",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.PAR_START:case g.db.LINETYPE.PAR_OVER_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe)),Wr.saveVerticalPos();break;case g.db.LINETYPE.PAR_AND:d4(mt,xt,bn.boxMargin+bn.boxTextMargin,bn.boxMargin,Fe=>Wr.addSectionToLoop(Fe));break;case g.db.LINETYPE.PAR_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"par",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.AUTONUMBER:rt=xt.message.start||rt,it=xt.message.step||it,xt.message.visible?g.db.enableSequenceNumbers():g.db.disableSequenceNumbers();break;case g.db.LINETYPE.CRITICAL_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.CRITICAL_OPTION:d4(mt,xt,bn.boxMargin+bn.boxTextMargin,bn.boxMargin,Fe=>Wr.addSectionToLoop(Fe));break;case g.db.LINETYPE.CRITICAL_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"critical",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.BREAK_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.BREAK_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"break",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;default:try{Gt=xt.msgModel,Gt.starty=Wr.getVerticalPos(),Gt.sequenceIndex=rt,Gt.sequenceVisible=g.db.showSequenceNumbers();const Fe=eJe(_,Gt);iJe(xt,Gt,Fe,Ft,M,F,R),gt.push({messageModel:Gt,lineStartY:Fe}),Wr.models.addMessage(Gt)}catch(Fe){Kt.error("error while drawing message",Fe)}}[g.db.LINETYPE.SOLID_OPEN,g.db.LINETYPE.DOTTED_OPEN,g.db.LINETYPE.SOLID,g.db.LINETYPE.DOTTED,g.db.LINETYPE.SOLID_CROSS,g.db.LINETYPE.DOTTED_CROSS,g.db.LINETYPE.SOLID_POINT,g.db.LINETYPE.DOTTED_POINT].includes(xt.type)&&(rt=rt+it)}),Kt.debug("createdActors",F),Kt.debug("destroyedActors",R),jbt(_,M,z,!1),gt.forEach(xt=>nJe(_,xt.messageModel,xt.lineStartY,g)),bn.mirrorActors&&jbt(_,M,z,!0),Q.forEach(xt=>_f.drawBackgroundRect(_,xt)),kqt(_,M,z,bn),Wr.models.boxes.forEach(function(xt){xt.height=Wr.getVerticalPos()-xt.y,Wr.insert(xt.x,xt.y,xt.x+xt.width,xt.height),xt.startx=xt.x,xt.starty=xt.y,xt.stopx=xt.startx+xt.width,xt.stopy=xt.starty+xt.height,xt.stroke="rgb(0,0,0, 0.5)",_f.drawBox(_,xt,bn)}),ot&&Wr.bumpVerticalPos(bn.boxMargin);const dt=Cqt(_,M,z,S),{bounds:K}=Wr.getBounds();let yt=K.stopy-K.starty;yt<dt.maxHeight&&(yt=dt.maxHeight);let V=yt+2*bn.diagramMarginY;bn.mirrorActors&&(V=V-bn.boxMargin+bn.bottomMarginAdj);let Ot=K.stopx-K.startx;Ot<dt.maxWidth&&(Ot=dt.maxWidth);const It=Ot+2*bn.diagramMarginX;nt&&_.append("text").text(nt).attr("x",(K.stopx-K.startx)/2-2*bn.diagramMarginX).attr("y",-25),sg(_,V,It,bn.useMaxWidth);const jt=nt?40:0;_.attr("viewBox",K.startx-bn.diagramMarginX+" -"+(bn.diagramMarginY+jt)+" "+It+" "+(V+jt)),Kt.debug("models:",Wr.models)};function aJe(i,a,f){const g={};return a.forEach(function(w){if(i[w.to]&&i[w.from]){const v=i[w.to];if(w.placement===f.db.PLACEMENT.LEFTOF&&!v.prevActor||w.placement===f.db.PLACEMENT.RIGHTOF&&!v.nextActor)return;const b=w.placement!==void 0,E=!b,S=b?MD(bn):R9(bn),_=w.wrap?uo.wrapLabel(w.message,bn.width-2*bn.wrapPadding,S):w.message,F=uo.calculateTextDimensions(_,S).width+2*bn.wrapPadding;E&&w.from===v.nextActor?g[w.to]=ei.getMax(g[w.to]||0,F):E&&w.from===v.prevActor?g[w.from]=ei.getMax(g[w.from]||0,F):E&&w.from===w.to?(g[w.from]=ei.getMax(g[w.from]||0,F/2),g[w.to]=ei.getMax(g[w.to]||0,F/2)):w.placement===f.db.PLACEMENT.RIGHTOF?g[w.from]=ei.getMax(g[w.from]||0,F):w.placement===f.db.PLACEMENT.LEFTOF?g[v.prevActor]=ei.getMax(g[v.prevActor]||0,F):w.placement===f.db.PLACEMENT.OVER&&(v.prevActor&&(g[v.prevActor]=ei.getMax(g[v.prevActor]||0,F/2)),v.nextActor&&(g[w.from]=ei.getMax(g[w.from]||0,F/2)))}}),Kt.debug("maxMessageWidthPerActor:",g),g}const oJe=function(i){let a=0;const f=Rbt(bn);for(const g in i.links){const v=uo.calculateTextDimensions(g,f).width+2*bn.wrapPadding+2*bn.boxMargin;a<v&&(a=v)}return a};function cJe(i,a,f){let g=0;Object.keys(i).forEach(v=>{const b=i[v];b.wrap&&(b.description=uo.wrapLabel(b.description,bn.width-2*bn.wrapPadding,Rbt(bn)));const E=uo.calculateTextDimensions(b.description,Rbt(bn));b.width=b.wrap?bn.width:ei.getMax(bn.width,E.width+2*bn.wrapPadding),b.height=b.wrap?ei.getMax(E.height,bn.height):bn.height,g=ei.getMax(g,b.height)});for(const v in a){const b=i[v];if(!b)continue;const E=i[b.nextActor];if(!E){const F=a[v]+bn.actorMargin-b.width/2;b.margin=ei.getMax(F,bn.actorMargin);continue}const _=a[v]+bn.actorMargin-b.width/2-E.width/2;b.margin=ei.getMax(_,bn.actorMargin)}let w=0;return f.forEach(v=>{const b=R9(bn);let E=v.actorKeys.reduce((M,F)=>M+=i[F].width+(i[F].margin||0),0);E-=2*bn.boxTextMargin,v.wrap&&(v.name=uo.wrapLabel(v.name,E-2*bn.wrapPadding,b));const S=uo.calculateTextDimensions(v.name,b);w=ei.getMax(S.height,w);const _=ei.getMax(E,S.width+2*bn.wrapPadding);if(v.margin=bn.boxTextMargin,E<_){const M=(_-E)/2;v.margin+=M}}),f.forEach(v=>v.textMaxHeight=w),ei.getMax(g,bn.height)}const uJe=function(i,a,f){const g=a[i.from].x,w=a[i.to].x,v=i.wrap&&i.message;let b=uo.calculateTextDimensions(v?uo.wrapLabel(i.message,bn.width,MD(bn)):i.message,MD(bn));const E={width:v?bn.width:ei.getMax(bn.width,b.width+2*bn.noteMargin),height:0,startx:a[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===f.db.PLACEMENT.RIGHTOF?(E.width=v?ei.getMax(bn.width,b.width):ei.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*bn.noteMargin),E.startx=g+(a[i.from].width+bn.actorMargin)/2):i.placement===f.db.PLACEMENT.LEFTOF?(E.width=v?ei.getMax(bn.width,b.width+2*bn.noteMargin):ei.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*bn.noteMargin),E.startx=g-E.width+(a[i.from].width-bn.actorMargin)/2):i.to===i.from?(b=uo.calculateTextDimensions(v?uo.wrapLabel(i.message,ei.getMax(bn.width,a[i.from].width),MD(bn)):i.message,MD(bn)),E.width=v?ei.getMax(bn.width,a[i.from].width):ei.getMax(a[i.from].width,bn.width,b.width+2*bn.noteMargin),E.startx=g+(a[i.from].width-E.width)/2):(E.width=Math.abs(g+a[i.from].width/2-(w+a[i.to].width/2))+bn.actorMargin,E.startx=g<w?g+a[i.from].width/2-bn.actorMargin/2:w+a[i.to].width/2-bn.actorMargin/2),v&&(E.message=uo.wrapLabel(i.message,E.width-2*bn.wrapPadding,MD(bn))),Kt.debug(`NM:[${E.startx},${E.stopx},${E.starty},${E.stopy}:${E.width},${E.height}=${i.message}]`),E},lJe=function(i,a,f){if(![f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN,f.db.LINETYPE.SOLID,f.db.LINETYPE.DOTTED,f.db.LINETYPE.SOLID_CROSS,f.db.LINETYPE.DOTTED_CROSS,f.db.LINETYPE.SOLID_POINT,f.db.LINETYPE.DOTTED_POINT].includes(i.type))return{};const[g,w]=_qt(i.from,a),[v,b]=_qt(i.to,a),E=g<=v,S=E?w:g;let _=E?v:b;const M=Math.abs(v-b)>2,F=Y=>E?-Y:Y;i.from===i.to?_=S:(i.activate&&!M&&(_+=F(bn.activationWidth/2-1)),[f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(_+=F(3)));const R=[g,w,v,b],B=Math.abs(S-_);i.wrap&&i.message&&(i.message=uo.wrapLabel(i.message,ei.getMax(B+2*bn.wrapPadding,bn.width),R9(bn)));const z=uo.calculateTextDimensions(i.message,R9(bn));return{width:ei.getMax(i.wrap?0:z.width+2*bn.wrapPadding,B+2*bn.wrapPadding,bn.width),height:0,startx:S,stopx:_,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,R),toBounds:Math.max.apply(null,R)}},hJe=function(i,a,f,g){const w={},v=[];let b,E,S;return i.forEach(function(_){switch(_.id=uo.random({length:10}),_.type){case g.db.LINETYPE.LOOP_START:case g.db.LINETYPE.ALT_START:case g.db.LINETYPE.OPT_START:case g.db.LINETYPE.PAR_START:case g.db.LINETYPE.PAR_OVER_START:case g.db.LINETYPE.CRITICAL_START:case g.db.LINETYPE.BREAK_START:v.push({id:_.id,msg:_.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case g.db.LINETYPE.ALT_ELSE:case g.db.LINETYPE.PAR_AND:case g.db.LINETYPE.CRITICAL_OPTION:_.message&&(b=v.pop(),w[b.id]=b,w[_.id]=b,v.push(b));break;case g.db.LINETYPE.LOOP_END:case g.db.LINETYPE.ALT_END:case g.db.LINETYPE.OPT_END:case g.db.LINETYPE.PAR_END:case g.db.LINETYPE.CRITICAL_END:case g.db.LINETYPE.BREAK_END:b=v.pop(),w[b.id]=b;break;case g.db.LINETYPE.ACTIVE_START:{const F=a[_.from?_.from.actor:_.to.actor],R=bX(_.from?_.from.actor:_.to.actor).length,B=F.x+F.width/2+(R-1)*bn.activationWidth/2,z={startx:B,stopx:B+bn.activationWidth,actor:_.from.actor,enabled:!0};Wr.activations.push(z)}break;case g.db.LINETYPE.ACTIVE_END:{const F=Wr.activations.map(R=>R.actor).lastIndexOf(_.from.actor);delete Wr.activations.splice(F,1)[0]}break}_.placement!==void 0?(E=uJe(_,a,g),_.noteModel=E,v.forEach(F=>{b=F,b.from=ei.getMin(b.from,E.startx),b.to=ei.getMax(b.to,E.startx+E.width),b.width=ei.getMax(b.width,Math.abs(b.from-b.to))-bn.labelBoxWidth})):(S=lJe(_,a,g),_.msgModel=S,S.startx&&S.stopx&&v.length>0&&v.forEach(F=>{if(b=F,S.startx===S.stopx){const R=a[_.from],B=a[_.to];b.from=ei.getMin(R.x-S.width/2,R.x-R.width/2,b.from),b.to=ei.getMax(B.x+S.width/2,B.x+R.width/2,b.to),b.width=ei.getMax(b.width,Math.abs(b.to-b.from))-bn.labelBoxWidth}else b.from=ei.getMin(S.startx,b.from),b.to=ei.getMax(S.stopx,b.to),b.width=ei.getMax(b.width,S.width)-bn.labelBoxWidth}))}),Wr.activations=[],Kt.debug("Loop type widths:",w),w},fJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lQe,db:mqt,renderer:{bounds:Wr,drawActors:jbt,drawActorsPopup:Cqt,setConf:Sqt,draw:sJe},styles:PQe,init:({wrap:i})=>{mqt.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var $bt=function(){var i=function(za,br,An,Nn){for(An=An||{},Nn=za.length;Nn--;An[za[Nn]]=br);return An},a=[1,17],f=[1,18],g=[1,19],w=[1,39],v=[1,40],b=[1,25],E=[1,23],S=[1,24],_=[1,31],M=[1,32],F=[1,33],R=[1,34],B=[1,35],z=[1,36],Y=[1,26],nt=[1,27],ot=[1,28],ft=[1,29],wt=[1,43],mt=[1,30],ct=[1,42],rt=[1,44],it=[1,41],gt=[1,45],Q=[1,9],dt=[1,8,9],K=[1,56],yt=[1,57],V=[1,58],Ot=[1,59],It=[1,60],jt=[1,61],xt=[1,62],Ft=[1,8,9,39],Ct=[1,74],kt=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Gt=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],Fe=[13,74,80,95,97,98],Mt=[13,64,65,74,80,95,97,98],pn=[13,59,60,61,62,63,74,80,95,97,98],Ae=[1,93],ye=[1,110],tn=[1,108],sn=[1,102],be=[1,103],Ne=[1,104],Xt=[1,105],_e=[1,106],xe=[1,107],Mn=[1,109],ce=[1,8,9,37,39,42],Br=[1,8,9,21],we=[1,8,9,78],Fi=[1,8,9,21,73,74,78,80,81,82,83,84,85],mi={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(br,An,Nn,Bn,ke,pe,Je){var an=pe.length-1;switch(ke){case 8:this.$=pe[an-1];break;case 9:case 11:case 12:this.$=pe[an];break;case 10:case 13:this.$=pe[an-1]+pe[an];break;case 14:case 15:this.$=pe[an-1]+"~"+pe[an]+"~";break;case 16:Bn.addRelation(pe[an]);break;case 17:pe[an-1].title=Bn.cleanupLabel(pe[an]),Bn.addRelation(pe[an-1]);break;case 27:this.$=pe[an].trim(),Bn.setAccTitle(this.$);break;case 28:case 29:this.$=pe[an].trim(),Bn.setAccDescription(this.$);break;case 30:Bn.addClassesToNamespace(pe[an-3],pe[an-1]);break;case 31:Bn.addClassesToNamespace(pe[an-4],pe[an-1]);break;case 32:this.$=pe[an],Bn.addNamespace(pe[an]);break;case 33:this.$=[pe[an]];break;case 34:this.$=[pe[an-1]];break;case 35:pe[an].unshift(pe[an-2]),this.$=pe[an];break;case 37:Bn.setCssClass(pe[an-2],pe[an]);break;case 38:Bn.addMembers(pe[an-3],pe[an-1]);break;case 39:Bn.setCssClass(pe[an-5],pe[an-3]),Bn.addMembers(pe[an-5],pe[an-1]);break;case 40:this.$=pe[an],Bn.addClass(pe[an]);break;case 41:this.$=pe[an-1],Bn.addClass(pe[an-1]),Bn.setClassLabel(pe[an-1],pe[an]);break;case 42:Bn.addAnnotation(pe[an],pe[an-2]);break;case 43:this.$=[pe[an]];break;case 44:pe[an].push(pe[an-1]),this.$=pe[an];break;case 45:break;case 46:Bn.addMember(pe[an-1],Bn.cleanupLabel(pe[an]));break;case 47:break;case 48:break;case 49:this.$={id1:pe[an-2],id2:pe[an],relation:pe[an-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:pe[an-3],id2:pe[an],relation:pe[an-1],relationTitle1:pe[an-2],relationTitle2:"none"};break;case 51:this.$={id1:pe[an-3],id2:pe[an],relation:pe[an-2],relationTitle1:"none",relationTitle2:pe[an-1]};break;case 52:this.$={id1:pe[an-4],id2:pe[an],relation:pe[an-2],relationTitle1:pe[an-3],relationTitle2:pe[an-1]};break;case 53:Bn.addNote(pe[an],pe[an-1]);break;case 54:Bn.addNote(pe[an]);break;case 55:Bn.setDirection("TB");break;case 56:Bn.setDirection("BT");break;case 57:Bn.setDirection("RL");break;case 58:Bn.setDirection("LR");break;case 59:this.$={type1:pe[an-2],type2:pe[an],lineType:pe[an-1]};break;case 60:this.$={type1:"none",type2:pe[an],lineType:pe[an-1]};break;case 61:this.$={type1:pe[an-1],type2:"none",lineType:pe[an]};break;case 62:this.$={type1:"none",type2:"none",lineType:pe[an]};break;case 63:this.$=Bn.relationType.AGGREGATION;break;case 64:this.$=Bn.relationType.EXTENSION;break;case 65:this.$=Bn.relationType.COMPOSITION;break;case 66:this.$=Bn.relationType.DEPENDENCY;break;case 67:this.$=Bn.relationType.LOLLIPOP;break;case 68:this.$=Bn.lineType.LINE;break;case 69:this.$=Bn.lineType.DOTTED_LINE;break;case 70:case 76:this.$=pe[an-2],Bn.setClickEvent(pe[an-1],pe[an]);break;case 71:case 77:this.$=pe[an-3],Bn.setClickEvent(pe[an-2],pe[an-1]),Bn.setTooltip(pe[an-2],pe[an]);break;case 72:this.$=pe[an-2],Bn.setLink(pe[an-1],pe[an]);break;case 73:this.$=pe[an-3],Bn.setLink(pe[an-2],pe[an-1],pe[an]);break;case 74:this.$=pe[an-3],Bn.setLink(pe[an-2],pe[an-1]),Bn.setTooltip(pe[an-2],pe[an]);break;case 75:this.$=pe[an-4],Bn.setLink(pe[an-3],pe[an-2],pe[an]),Bn.setTooltip(pe[an-3],pe[an-1]);break;case 78:this.$=pe[an-3],Bn.setClickEvent(pe[an-2],pe[an-1],pe[an]);break;case 79:this.$=pe[an-4],Bn.setClickEvent(pe[an-3],pe[an-2],pe[an-1]),Bn.setTooltip(pe[an-3],pe[an]);break;case 80:this.$=pe[an-3],Bn.setLink(pe[an-2],pe[an]);break;case 81:this.$=pe[an-4],Bn.setLink(pe[an-3],pe[an-1],pe[an]);break;case 82:this.$=pe[an-4],Bn.setLink(pe[an-3],pe[an-1]),Bn.setTooltip(pe[an-3],pe[an]);break;case 83:this.$=pe[an-5],Bn.setLink(pe[an-4],pe[an-2],pe[an]),Bn.setTooltip(pe[an-4],pe[an-1]);break;case 84:this.$=pe[an-2],Bn.setCssStyle(pe[an-1],pe[an]);break;case 85:Bn.setCssClass(pe[an-1],pe[an]);break;case 86:this.$=[pe[an]];break;case 87:pe[an-2].push(pe[an]),this.$=pe[an-2];break;case 89:this.$=pe[an-1]+pe[an];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:f,35:g,36:21,40:w,41:22,44:v,45:b,47:E,48:S,50:_,52:M,53:F,54:R,55:B,56:z,66:Y,67:nt,69:ot,73:ft,74:wt,76:mt,80:ct,95:rt,97:it,98:gt},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(Q,[2,5],{8:[1,46]}),{8:[1,47]},i(dt,[2,16],{21:[1,48]}),i(dt,[2,18]),i(dt,[2,19]),i(dt,[2,20]),i(dt,[2,21]),i(dt,[2,22]),i(dt,[2,23]),i(dt,[2,24]),i(dt,[2,25]),i(dt,[2,26]),{32:[1,49]},{34:[1,50]},i(dt,[2,29]),i(dt,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:K,60:yt,61:V,62:Ot,63:It,64:jt,65:xt}),{37:[1,63]},i(Ft,[2,36],{37:[1,65],42:[1,64]}),i(dt,[2,47]),i(dt,[2,48]),{16:66,74:wt,80:ct,95:rt,97:it},{16:37,17:67,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{16:37,17:68,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{16:37,17:69,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{13:Ct,51:73},i(dt,[2,55]),i(dt,[2,56]),i(dt,[2,57]),i(dt,[2,58]),i(kt,[2,11],{16:37,18:38,17:75,19:[1,76],74:wt,80:ct,95:rt,97:it,98:gt}),i(kt,[2,12],{19:[1,77]}),{15:78,16:79,74:wt,80:ct,95:rt,97:it},{16:37,17:80,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(Gt,[2,112]),i(Gt,[2,113]),i(Gt,[2,114]),i(Gt,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(Q,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:a,33:f,35:g,40:w,44:v,45:b,47:E,48:S,50:_,52:M,53:F,54:R,55:B,56:z,66:Y,67:nt,69:ot,73:ft,74:wt,76:mt,80:ct,95:rt,97:it,98:gt}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:f,35:g,36:21,40:w,41:22,44:v,45:b,47:E,48:S,50:_,52:M,53:F,54:R,55:B,56:z,66:Y,67:nt,69:ot,73:ft,74:wt,76:mt,80:ct,95:rt,97:it,98:gt},i(dt,[2,17]),i(dt,[2,27]),i(dt,[2,28]),{13:[1,84],16:37,17:83,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{49:85,57:54,58:55,59:K,60:yt,61:V,62:Ot,63:It,64:jt,65:xt},i(dt,[2,46]),{58:86,64:jt,65:xt},i(Fe,[2,62],{57:87,59:K,60:yt,61:V,62:Ot,63:It}),i(Mt,[2,63]),i(Mt,[2,64]),i(Mt,[2,65]),i(Mt,[2,66]),i(Mt,[2,67]),i(pn,[2,68]),i(pn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:wt,80:ct,95:rt,97:it},{43:92,47:Ae},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:ye,73:tn,74:sn,75:99,77:100,79:101,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn},{74:[1,111]},{13:Ct,51:112},i(dt,[2,54]),i(dt,[2,117]),i(kt,[2,13]),i(kt,[2,14]),i(kt,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:wt,80:ct,95:rt,97:it},i(ce,[2,40],{11:114,12:[1,115]}),i(Q,[2,7]),{9:[1,116]},i(Br,[2,49]),{16:37,17:117,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{13:[1,119],16:37,17:118,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(Fe,[2,61],{57:120,59:K,60:yt,61:V,62:Ot,63:It}),i(Fe,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Ft,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:Ae},{16:37,17:127,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(dt,[2,70],{13:[1,128]}),i(dt,[2,72],{13:[1,130],68:[1,129]}),i(dt,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(dt,[2,84],{78:[1,134]}),i(we,[2,86],{79:135,21:ye,73:tn,74:sn,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn}),i(Fi,[2,88]),i(Fi,[2,90]),i(Fi,[2,91]),i(Fi,[2,92]),i(Fi,[2,93]),i(Fi,[2,94]),i(Fi,[2,95]),i(Fi,[2,96]),i(Fi,[2,97]),i(Fi,[2,98]),i(dt,[2,85]),i(dt,[2,53]),{37:[2,10]},i(ce,[2,41]),{13:[1,136]},{1:[2,4]},i(Br,[2,51]),i(Br,[2,50]),{16:37,17:137,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(Fe,[2,59]),i(dt,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:Ae},i(Ft,[2,38]),{39:[2,44]},i(dt,[2,42]),i(dt,[2,71]),i(dt,[2,73]),i(dt,[2,74],{68:[1,141]}),i(dt,[2,77]),i(dt,[2,78],{13:[1,142]}),i(dt,[2,80],{13:[1,144],68:[1,143]}),{21:ye,73:tn,74:sn,77:145,79:101,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn},i(Fi,[2,89]),{14:[1,146]},i(Br,[2,52]),i(dt,[2,31]),{39:[2,35]},{39:[1,147]},i(dt,[2,75]),i(dt,[2,79]),i(dt,[2,81]),i(dt,[2,82],{68:[1,148]}),i(we,[2,87],{79:135,21:ye,73:tn,74:sn,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn}),i(ce,[2,8]),i(Ft,[2,39]),i(dt,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(br,An){if(An.recoverable)this.trace(br);else{var Nn=new Error(br);throw Nn.hash=An,Nn}},parse:function(br){var An=this,Nn=[0],Bn=[],ke=[null],pe=[],Je=this.table,an="",xn=0,qa=0,xo=2,ko=1,va=pe.slice.call(arguments,1),Ha=Object.create(this.lexer),ds={yy:{}};for(var Fu in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Fu)&&(ds.yy[Fu]=this.yy[Fu]);Ha.setInput(br,ds.yy),ds.yy.lexer=Ha,ds.yy.parser=this,typeof Ha.yylloc>"u"&&(Ha.yylloc={});var Zs=Ha.yylloc;pe.push(Zs);var d1=Ha.options&&Ha.options.ranges;typeof ds.yy.parseError=="function"?this.parseError=ds.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I2(){var ea;return ea=Bn.pop()||Ha.lex()||ko,typeof ea!="number"&&(ea instanceof Array&&(Bn=ea,ea=Bn.pop()),ea=An.symbols_[ea]||ea),ea}for(var ll,Ic,wc,Ea,gu={},ta,fo,mc,ca;;){if(Ic=Nn[Nn.length-1],this.defaultActions[Ic]?wc=this.defaultActions[Ic]:((ll===null||typeof ll>"u")&&(ll=I2()),wc=Je[Ic]&&Je[Ic][ll]),typeof wc>"u"||!wc.length||!wc[0]){var ya="";ca=[];for(ta in Je[Ic])this.terminals_[ta]&&ta>xo&&ca.push("'"+this.terminals_[ta]+"'");Ha.showPosition?ya="Parse error on line "+(xn+1)+`:
985 `);S.forEach(function(R){Kt.debug(`Adding line: ${R}`),E.append("tspan").text(R).attr("class","title").attr("dy",f.textHeight)});const _=b.node().getBBox(),F=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",_.width+2*f.padding).attr("height",_.height+S.length*f.textHeight+f.padding+.5*f.dividerMargin).node().getBBox().width;return E.node().childNodes.forEach(function(R){R.setAttribute("x",(F-R.getBBox().width)/2)}),v.width=F,v.height=_.height+S.length*f.textHeight+f.padding+.5*f.dividerMargin,v},jqt=function(i,a,f,g){const{displayText:w,cssStyle:v}=a.getDisplayDetails(),b=i.append("tspan").attr("x",g.padding).text(w);v!==""&&b.attr("style",a.cssStyle),f||b.attr("dy",g.textHeight)},Vbt={getClassTitleString:Rqt,drawClass:OJe,drawEdge:IJe,drawNote:NJe};let xX={};const kX=20,vB=function(i){const a=Object.entries(xX).find(f=>f[1].label===i);if(a)return a[0]},PJe=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},FJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Aqt,db:yX,renderer:{draw:function(i,a,f,g){const w=Re().class;xX={},Kt.info("Rendering diagram "+i);const v=Re().securityLevel;let b;v==="sandbox"&&(b=Tr("#i"+a));const E=Tr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=E.select(`[id='${a}']`);PJe(S);const _=new l1({multigraph:!0});_.setGraph({isMultiGraph:!0}),_.setDefaultEdgeLabel(function(){return{}});const M=g.db.getClasses(),F=Object.keys(M);for(const ft of F){const wt=M[ft],mt=Vbt.drawClass(S,wt,w,g);xX[mt.id]=mt,_.setNode(mt.id,mt),Kt.info("Org height: "+mt.height)}g.db.getRelations().forEach(function(ft){Kt.info("tjoho"+vB(ft.id1)+vB(ft.id2)+JSON.stringify(ft)),_.setEdge(vB(ft.id1),vB(ft.id2),{relation:ft},ft.title||"DEFAULT")}),g.db.getNotes().forEach(function(ft){Kt.debug(`Adding note: ${JSON.stringify(ft)}`);const wt=Vbt.drawNote(S,ft,w,g);xX[wt.id]=wt,_.setNode(wt.id,wt),ft.class&&ft.class in M&&_.setEdge(ft.id,vB(ft.class),{relation:{id1:ft.id,id2:ft.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),kD(_),_.nodes().forEach(function(ft){ft!==void 0&&_.node(ft)!==void 0&&(Kt.debug("Node "+ft+": "+JSON.stringify(_.node(ft))),E.select("#"+(g.db.lookUpDomId(ft)||ft)).attr("transform","translate("+(_.node(ft).x-_.node(ft).width/2)+","+(_.node(ft).y-_.node(ft).height/2)+" )"))}),_.edges().forEach(function(ft){ft!==void 0&&_.edge(ft)!==void 0&&(Kt.debug("Edge "+ft.v+" -> "+ft.w+": "+JSON.stringify(_.edge(ft))),Vbt.drawEdge(S,_.edge(ft),_.edge(ft).relation,w,g))});const z=S.node().getBBox(),Y=z.width+kX*2,nt=z.height+kX*2;sg(S,nt,Y,w.useMaxWidth);const ot=`${z.x-kX} ${z.y-kX} ${Y} ${nt}`;Kt.debug(`viewBox ${ot}`),S.attr("viewBox",ot)}},styles:Fqt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,yX.clear()}}},Symbol.toStringTag,{value:"Module"})),Ubt=i=>ei.sanitizeText(i,Re());let Gbt={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const BJe=function(i,a,f,g){const w=Object.keys(i);Kt.info("keys:",w),Kt.info(i),w.forEach(function(v){var _,M;const b=i[v],S={shape:"rect",id:b.id,domId:b.domId,labelText:Ubt(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((_=Re().flowchart)==null?void 0:_.padding)??((M=Re().class)==null?void 0:M.padding)};a.setNode(b.id,S),$qt(b.classes,a,f,g,b.id),Kt.info("setNode",S)})},$qt=function(i,a,f,g,w){const v=Object.keys(i);Kt.info("keys:",v),Kt.info(i),v.filter(b=>i[b].parent==w).forEach(function(b){var z,Y;const E=i[b],S=E.cssClasses.join(" "),_=C2(E.styles),M=E.label??E.id,F=0,R="class_box",B={labelStyle:_.labelStyle,shape:R,labelText:Ubt(M),classData:E,rx:F,ry:F,class:S,style:_.style,id:E.id,domId:E.domId,tooltip:g.db.getTooltip(E.id,w)||"",haveCallback:E.haveCallback,link:E.link,width:E.type==="group"?500:void 0,type:E.type,padding:((z=Re().flowchart)==null?void 0:z.padding)??((Y=Re().class)==null?void 0:Y.padding)};a.setNode(E.id,B),w&&a.setParent(E.id,w),Kt.info("setNode",B)})},RJe=function(i,a,f,g){Kt.info(i),i.forEach(function(w,v){var Y,nt;const b=w,E="",S={labelStyle:"",style:""},_=b.text,M=0,F="note",R={labelStyle:S.labelStyle,shape:F,labelText:Ubt(_),noteData:b,rx:M,ry:M,class:E,style:S.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((Y=Re().flowchart)==null?void 0:Y.padding)??((nt=Re().class)==null?void 0:nt.padding)};if(a.setNode(b.id,R),Kt.info("setNode",R),!b.class||!(b.class in g))return;const B=f+v,z={id:`edgeNote${B}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:Xw(Gbt.curve,Kg)};a.setEdge(b.id,b.class,z,B)})},jJe=function(i,a){const f=Re().flowchart;let g=0;i.forEach(function(w){var b;g++;const v={classes:"relation",pattern:w.relation.lineType==1?"dashed":"solid",id:`id_${w.id1}_${w.id2}_${g}`,arrowhead:w.type==="arrow_open"?"none":"normal",startLabelRight:w.relationTitle1==="none"?"":w.relationTitle1,endLabelLeft:w.relationTitle2==="none"?"":w.relationTitle2,arrowTypeStart:zqt(w.relation.type1),arrowTypeEnd:zqt(w.relation.type2),style:"fill:none",labelStyle:"",curve:Xw(f==null?void 0:f.curve,Kg)};if(Kt.info(v,w),w.style!==void 0){const E=C2(w.style);v.style=E.style,v.labelStyle=E.labelStyle}w.text=w.title,w.text===void 0?w.style!==void 0&&(v.arrowheadStyle="fill: #333"):(v.arrowheadStyle="fill: #333",v.labelpos="c",((b=Re().flowchart)==null?void 0:b.htmlLabels)??Re().htmlLabels?(v.labelType="html",v.label='<span class="edgeLabel">'+w.text+"</span>"):(v.labelType="text",v.label=w.text.replace(ei.lineBreakRegex,`
986 `),w.style===void 0&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none"),v.labelStyle=v.labelStyle.replace("color:","fill:"))),a.setEdge(w.id1,w.id2,v,g)})},$Je=function(i){Gbt={...Gbt,...i}},zJe=async function(i,a,f,g){Kt.info("Drawing class - ",a);const w=Re().flowchart??Re().class,v=Re().securityLevel;Kt.info("config:",w);const b=(w==null?void 0:w.nodeSpacing)??50,E=(w==null?void 0:w.rankSpacing)??50,S=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:g.db.getDirection(),nodesep:b,ranksep:E,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),_=g.db.getNamespaces(),M=g.db.getClasses(),F=g.db.getRelations(),R=g.db.getNotes();Kt.info(F),BJe(_,S,a,g),$qt(M,S,a,g),jJe(F,S),RJe(R,S,F.length+1,M);let B;v==="sandbox"&&(B=Tr("#i"+a));const z=Tr(v==="sandbox"?B.nodes()[0].contentDocument.body:"body"),Y=z.select(`[id="${a}"]`),nt=z.select("#"+a+" g");if(await ebt(nt,S,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",a),uo.insertTitle(Y,"classTitleText",(w==null?void 0:w.titleTopMargin)??5,g.db.getDiagramTitle()),w8(S,Y,w==null?void 0:w.diagramPadding,w==null?void 0:w.useMaxWidth),!(w!=null&&w.htmlLabels)){const ot=v==="sandbox"?B.nodes()[0].contentDocument:document,ft=ot.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const wt of ft){const mt=wt.getBBox(),ct=ot.createElementNS("http://www.w3.org/2000/svg","rect");ct.setAttribute("rx",0),ct.setAttribute("ry",0),ct.setAttribute("width",mt.width),ct.setAttribute("height",mt.height),wt.insertBefore(ct,wt.firstChild)}}};function zqt(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}const qJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Aqt,db:yX,renderer:{setConf:$Je,draw:zJe},styles:Fqt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,yX.clear()}}},Symbol.toStringTag,{value:"Module"}));var Kbt=function(){var i=function(xt,Ft,Ct,kt){for(Ct=Ct||{},kt=xt.length;kt--;Ct[xt[kt]]=Ft);return Ct},a=[1,2],f=[1,3],g=[1,4],w=[2,4],v=[1,9],b=[1,11],E=[1,15],S=[1,16],_=[1,17],M=[1,18],F=[1,30],R=[1,19],B=[1,20],z=[1,21],Y=[1,22],nt=[1,23],ot=[1,25],ft=[1,26],wt=[1,27],mt=[1,28],ct=[1,29],rt=[1,32],it=[1,33],gt=[1,34],Q=[1,35],dt=[1,31],K=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],yt=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],V=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Ot={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Ft,Ct,kt,Gt,Fe,Mt,pn){var Ae=Mt.length-1;switch(Fe){case 3:return Gt.setRootDoc(Mt[Ae]),Mt[Ae];case 4:this.$=[];break;case 5:Mt[Ae]!="nl"&&(Mt[Ae-1].push(Mt[Ae]),this.$=Mt[Ae-1]);break;case 6:case 7:this.$=Mt[Ae];break;case 8:this.$="nl";break;case 11:this.$=Mt[Ae];break;case 12:const be=Mt[Ae-1];be.description=Gt.trimColon(Mt[Ae]),this.$=be;break;case 13:this.$={stmt:"relation",state1:Mt[Ae-2],state2:Mt[Ae]};break;case 14:const Ne=Gt.trimColon(Mt[Ae]);this.$={stmt:"relation",state1:Mt[Ae-3],state2:Mt[Ae-1],description:Ne};break;case 18:this.$={stmt:"state",id:Mt[Ae-3],type:"default",description:"",doc:Mt[Ae-1]};break;case 19:var ye=Mt[Ae],tn=Mt[Ae-2].trim();if(Mt[Ae].match(":")){var sn=Mt[Ae].split(":");ye=sn[0],tn=[tn,sn[1]]}this.$={stmt:"state",id:ye,type:"default",description:tn};break;case 20:this.$={stmt:"state",id:Mt[Ae-3],type:"default",description:Mt[Ae-5],doc:Mt[Ae-1]};break;case 21:this.$={stmt:"state",id:Mt[Ae],type:"fork"};break;case 22:this.$={stmt:"state",id:Mt[Ae],type:"join"};break;case 23:this.$={stmt:"state",id:Mt[Ae],type:"choice"};break;case 24:this.$={stmt:"state",id:Gt.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Mt[Ae-1].trim(),note:{position:Mt[Ae-2].trim(),text:Mt[Ae].trim()}};break;case 28:this.$=Mt[Ae].trim(),Gt.setAccTitle(this.$);break;case 29:case 30:this.$=Mt[Ae].trim(),Gt.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Mt[Ae-1].trim(),classes:Mt[Ae].trim()};break;case 33:this.$={stmt:"applyClass",id:Mt[Ae-1].trim(),styleClass:Mt[Ae].trim()};break;case 34:Gt.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Gt.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Gt.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Gt.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Mt[Ae].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Mt[Ae-2].trim(),classes:[Mt[Ae].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Mt[Ae-2].trim(),classes:[Mt[Ae].trim()],type:"default",description:""};break}},table:[{3:1,4:a,5:f,6:g},{1:[3]},{3:5,4:a,5:f,6:g},{3:6,4:a,5:f,6:g},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:S,18:_,21:M,23:F,24:R,25:B,26:z,27:Y,28:nt,31:24,32:ot,34:ft,36:wt,37:mt,41:ct,44:rt,45:it,46:gt,47:Q,50:dt},i(K,[2,5]),{9:36,10:12,11:13,12:14,15:E,16:S,18:_,21:M,23:F,24:R,25:B,26:z,27:Y,28:nt,31:24,32:ot,34:ft,36:wt,37:mt,41:ct,44:rt,45:it,46:gt,47:Q,50:dt},i(K,[2,7]),i(K,[2,8]),i(K,[2,9]),i(K,[2,10]),i(K,[2,11],{13:[1,37],14:[1,38]}),i(K,[2,15]),{17:[1,39]},i(K,[2,17],{19:[1,40]}),{22:[1,41]},i(K,[2,21]),i(K,[2,22]),i(K,[2,23]),i(K,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(K,[2,27]),{33:[1,46]},{35:[1,47]},i(K,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(yt,[2,40],{51:[1,51]}),i(yt,[2,41],{51:[1,52]}),i(K,[2,34]),i(K,[2,35]),i(K,[2,36]),i(K,[2,37]),i(K,[2,6]),i(K,[2,12]),{12:53,23:F,50:dt},i(K,[2,16]),i(V,w,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(K,[2,28]),i(K,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(K,[2,13],{13:[1,63]}),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:S,18:_,20:[1,64],21:M,23:F,24:R,25:B,26:z,27:Y,28:nt,31:24,32:ot,34:ft,36:wt,37:mt,41:ct,44:rt,45:it,46:gt,47:Q,50:dt},i(K,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(K,[2,31]),i(K,[2,32]),i(K,[2,33]),i(yt,[2,42]),i(yt,[2,43]),i(K,[2,14]),i(K,[2,18]),i(V,w,{7:68}),i(K,[2,25]),i(K,[2,26]),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:S,18:_,20:[1,69],21:M,23:F,24:R,25:B,26:z,27:Y,28:nt,31:24,32:ot,34:ft,36:wt,37:mt,41:ct,44:rt,45:it,46:gt,47:Q,50:dt},i(K,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Ft,Ct){if(Ct.recoverable)this.trace(Ft);else{var kt=new Error(Ft);throw kt.hash=Ct,kt}},parse:function(Ft){var Ct=this,kt=[0],Gt=[],Fe=[null],Mt=[],pn=this.table,Ae="",ye=0,tn=0,sn=2,be=1,Ne=Mt.slice.call(arguments,1),Xt=Object.create(this.lexer),_e={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(_e.yy[xe]=this.yy[xe]);Xt.setInput(Ft,_e.yy),_e.yy.lexer=Xt,_e.yy.parser=this,typeof Xt.yylloc>"u"&&(Xt.yylloc={});var Mn=Xt.yylloc;Mt.push(Mn);var ce=Xt.options&&Xt.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Br(){var ke;return ke=Gt.pop()||Xt.lex()||be,typeof ke!="number"&&(ke instanceof Array&&(Gt=ke,ke=Gt.pop()),ke=Ct.symbols_[ke]||ke),ke}for(var we,Fi,mi,ga,Ss={},za,br,An,Nn;;){if(Fi=kt[kt.length-1],this.defaultActions[Fi]?mi=this.defaultActions[Fi]:((we===null||typeof we>"u")&&(we=Br()),mi=pn[Fi]&&pn[Fi][we]),typeof mi>"u"||!mi.length||!mi[0]){var Bn="";Nn=[];for(za in pn[Fi])this.terminals_[za]&&za>sn&&Nn.push("'"+this.terminals_[za]+"'");Xt.showPosition?Bn="Parse error on line "+(ye+1)+`:
1192 `,t2t={},fZe=(i,a)=>{t2t[i]=a},dZe=i=>t2t[i],rHt=()=>Object.keys(t2t),gZe={get:dZe,set:fZe,keys:rHt,size:()=>rHt().length},pZe=i=>i.append("circle").attr("class","start-state").attr("r",Re().state.sizeUnit).attr("cx",Re().state.padding+Re().state.sizeUnit).attr("cy",Re().state.padding+Re().state.sizeUnit),bZe=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Re().state.textHeight).attr("class","divider").attr("x2",Re().state.textHeight*2).attr("y1",0).attr("y2",0),wZe=(i,a)=>{const f=i.append("text").attr("x",2*Re().state.padding).attr("y",Re().state.textHeight+2*Re().state.padding).attr("font-size",Re().state.fontSize).attr("class","state-title").text(a.id),g=f.node().getBBox();return i.insert("rect",":first-child").attr("x",Re().state.padding).attr("y",Re().state.padding).attr("width",g.width+2*Re().state.padding).attr("height",g.height+2*Re().state.padding).attr("rx",Re().state.radius),f},mZe=(i,a)=>{const f=function(R,B,z){const Y=R.append("tspan").attr("x",2*Re().state.padding).text(B);z||Y.attr("dy",Re().state.textHeight)},w=i.append("text").attr("x",2*Re().state.padding).attr("y",Re().state.textHeight+1.3*Re().state.padding).attr("font-size",Re().state.fontSize).attr("class","state-title").text(a.descriptions[0]).node().getBBox(),v=w.height,b=i.append("text").attr("x",Re().state.padding).attr("y",v+Re().state.padding*.4+Re().state.dividerMargin+Re().state.textHeight).attr("class","state-description");let E=!0,S=!0;a.descriptions.forEach(function(R){E||(f(b,R,S),S=!1),E=!1});const _=i.append("line").attr("x1",Re().state.padding).attr("y1",Re().state.padding+v+Re().state.dividerMargin/2).attr("y2",Re().state.padding+v+Re().state.dividerMargin/2).attr("class","descr-divider"),M=b.node().getBBox(),F=Math.max(M.width,w.width);return _.attr("x2",F+3*Re().state.padding),i.insert("rect",":first-child").attr("x",Re().state.padding).attr("y",Re().state.padding).attr("width",F+2*Re().state.padding).attr("height",M.height+v+2*Re().state.padding).attr("rx",Re().state.radius),i},vZe=(i,a,f)=>{const g=Re().state.padding,w=2*Re().state.padding,v=i.node().getBBox(),b=v.width,E=v.x,S=i.append("text").attr("x",0).attr("y",Re().state.titleShift).attr("font-size",Re().state.fontSize).attr("class","state-title").text(a.id),M=S.node().getBBox().width+w;let F=Math.max(M,b);F===b&&(F=F+w);let R;const B=i.node().getBBox();a.doc,R=E-g,M>b&&(R=(b-F)/2+g),Math.abs(E-B.x)<g&&M>b&&(R=E-(M-b)/2);const z=1-Re().state.textHeight;return i.insert("rect",":first-child").attr("x",R).attr("y",z).attr("class",f?"alt-composit":"composit").attr("width",F).attr("height",B.height+Re().state.textHeight+Re().state.titleShift+1).attr("rx","0"),S.attr("x",R+g),M<=b&&S.attr("x",E+(F-w)/2-M/2+g),i.insert("rect",":first-child").attr("x",R).attr("y",Re().state.titleShift-Re().state.textHeight-Re().state.padding).attr("width",F).attr("height",Re().state.textHeight*3).attr("rx",Re().state.radius),i.insert("rect",":first-child").attr("x",R).attr("y",Re().state.titleShift-Re().state.textHeight-Re().state.padding).attr("width",F).attr("height",B.height+3+2*Re().state.textHeight).attr("rx",Re().state.radius),i},yZe=i=>(i.append("circle").attr("class","end-state-outer").attr("r",Re().state.sizeUnit+Re().state.miniPadding).attr("cx",Re().state.padding+Re().state.sizeUnit+Re().state.miniPadding).attr("cy",Re().state.padding+Re().state.sizeUnit+Re().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",Re().state.sizeUnit).attr("cx",Re().state.padding+Re().state.sizeUnit+2).attr("cy",Re().state.padding+Re().state.sizeUnit+2)),xZe=(i,a)=>{let f=Re().state.forkWidth,g=Re().state.forkHeight;if(a.parentId){let w=f;f=g,g=w}return i.append("rect").style("stroke","black").style("fill","black").attr("width",f).attr("height",g).attr("x",Re().state.padding).attr("y",Re().state.padding)},kZe=(i,a,f,g)=>{let w=0;const v=g.append("text");v.style("text-anchor","start"),v.attr("class","noteText");let b=i.replace(/\r\n/g,"<br/>");b=b.replace(/\n/g,"<br/>");const E=b.split(ei.lineBreakRegex);let S=1.25*Re().state.noteMargin;for(const _ of E){const M=_.trim();if(M.length>0){const F=v.append("tspan");if(F.text(M),S===0){const R=F.node().getBBox();S+=R.height}w+=S,F.attr("x",a+Re().state.noteMargin),F.attr("y",f+w+1.25*Re().state.noteMargin)}}return{textWidth:v.node().getBBox().width,textHeight:w}},EZe=(i,a)=>{a.attr("class","state-note");const f=a.append("rect").attr("x",0).attr("y",Re().state.padding),g=a.append("g"),{textWidth:w,textHeight:v}=kZe(i,0,0,g);return f.attr("height",v+2*Re().state.noteMargin),f.attr("width",w+Re().state.noteMargin*2),f},iHt=function(i,a){const f=a.id,g={id:f,label:a.id,width:0,height:0},w=i.append("g").attr("id",f).attr("class","stateGroup");a.type==="start"&&pZe(w),a.type==="end"&&yZe(w),(a.type==="fork"||a.type==="join")&&xZe(w,a),a.type==="note"&&EZe(a.note.text,w),a.type==="divider"&&bZe(w),a.type==="default"&&a.descriptions.length===0&&wZe(w,a),a.type==="default"&&a.descriptions.length>0&&mZe(w,a);const v=w.node().getBBox();return g.width=v.width+2*Re().state.padding,g.height=v.height+2*Re().state.padding,gZe.set(f,g),g};let sHt=0;const TZe=function(i,a,f){const g=function(S){switch(S){case Hx.relationType.AGGREGATION:return"aggregation";case Hx.relationType.EXTENSION:return"extension";case Hx.relationType.COMPOSITION:return"composition";case Hx.relationType.DEPENDENCY:return"dependency"}};a.points=a.points.filter(S=>!Number.isNaN(S.y));const w=a.points,v=Ax().x(function(S){return S.x}).y(function(S){return S.y}).curve(wF),b=i.append("path").attr("d",v(w)).attr("id","edge"+sHt).attr("class","transition");let E="";if(Re().state.arrowMarkerAbsolute&&(E=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,E=E.replace(/\(/g,"\\("),E=E.replace(/\)/g,"\\)")),b.attr("marker-end","url("+E+"#"+g(Hx.relationType.DEPENDENCY)+"End)"),f.title!==void 0){const S=i.append("g").attr("class","stateLabel"),{x:_,y:M}=uo.calcLabelPosition(a.points),F=ei.getRows(f.title);let R=0;const B=[];let z=0,Y=0;for(let ft=0;ft<=F.length;ft++){const wt=S.append("text").attr("text-anchor","middle").text(F[ft]).attr("x",_).attr("y",M+R),mt=wt.node().getBBox();z=Math.max(z,mt.width),Y=Math.min(Y,mt.x),Kt.info(mt.x,_,M+R),R===0&&(R=wt.node().getBBox().height,Kt.info("Title height",R,M)),B.push(wt)}let nt=R*F.length;if(F.length>1){const ft=(F.length-1)*R*.5;B.forEach((wt,mt)=>wt.attr("y",M+mt*R-ft)),nt=R*F.length}const ot=S.node().getBBox();S.insert("rect",":first-child").attr("class","box").attr("x",_-z/2-Re().state.padding/2).attr("y",M-nt/2-Re().state.padding/2-3.5).attr("width",z+Re().state.padding).attr("height",nt+Re().state.padding),Kt.info(ot)}sHt++};let M2;const e2t={},CZe=function(){},SZe=function(i){i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},_Ze=function(i,a,f,g){M2=Re().state;const w=Re().securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const b=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body"),E=w==="sandbox"?v.nodes()[0].contentDocument:document;Kt.debug("Rendering diagram "+i);const S=b.select(`[id='${a}']`);SZe(S);const _=g.db.getRootDoc();aHt(_,S,void 0,!1,b,E,g);const M=M2.padding,F=S.node().getBBox(),R=F.width+M*2,B=F.height+M*2,z=R*1.75;sg(S,B,z,M2.useMaxWidth),S.attr("viewBox",`${F.x-M2.padding} ${F.y-M2.padding} `+R+" "+B)},AZe=i=>i?i.length*M2.fontSizeFactor:1,aHt=(i,a,f,g,w,v,b)=>{const E=new l1({compound:!0,multigraph:!0});let S,_=!0;for(S=0;S<i.length;S++)if(i[S].stmt==="relation"){_=!1;break}f?E.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:_?1:M2.edgeLengthFactor,nodeSep:_?1:50,isMultiGraph:!0}):E.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:_?1:M2.edgeLengthFactor,nodeSep:_?1:50,ranker:"tight-tree",isMultiGraph:!0}),E.setDefaultEdgeLabel(function(){return{}}),b.db.extract(i);const M=b.db.getStates(),F=b.db.getRelations(),R=Object.keys(M);for(const ot of R){const ft=M[ot];f&&(ft.parentId=f);let wt;if(ft.doc){let mt=a.append("g").attr("id",ft.id).attr("class","stateGroup");wt=aHt(ft.doc,mt,ft.id,!g,w,v,b);{mt=vZe(mt,ft,g);let ct=mt.node().getBBox();wt.width=ct.width,wt.height=ct.height+M2.padding/2,e2t[ft.id]={y:M2.compositTitleSize}}}else wt=iHt(a,ft);if(ft.note){const mt={descriptions:[],id:ft.id+"-note",note:ft.note,type:"note"},ct=iHt(a,mt);ft.note.position==="left of"?(E.setNode(wt.id+"-note",ct),E.setNode(wt.id,wt)):(E.setNode(wt.id,wt),E.setNode(wt.id+"-note",ct)),E.setParent(wt.id,wt.id+"-group"),E.setParent(wt.id+"-note",wt.id+"-group")}else E.setNode(wt.id,wt)}Kt.debug("Count=",E.nodeCount(),E);let B=0;F.forEach(function(ot){B++,Kt.debug("Setting edge",ot),E.setEdge(ot.id1,ot.id2,{relation:ot,width:AZe(ot.title),height:M2.labelHeight*ei.getRows(ot.title).length,labelpos:"c"},"id"+B)}),kD(E),Kt.debug("Graph after layout",E.nodes());const z=a.node();E.nodes().forEach(function(ot){ot!==void 0&&E.node(ot)!==void 0?(Kt.warn("Node "+ot+": "+JSON.stringify(E.node(ot))),w.select("#"+z.id+" #"+ot).attr("transform","translate("+(E.node(ot).x-E.node(ot).width/2)+","+(E.node(ot).y+(e2t[ot]?e2t[ot].y:0)-E.node(ot).height/2)+" )"),w.select("#"+z.id+" #"+ot).attr("data-x-shift",E.node(ot).x-E.node(ot).width/2),v.querySelectorAll("#"+z.id+" #"+ot+" .divider").forEach(wt=>{const mt=wt.parentElement;let ct=0,rt=0;mt&&(mt.parentElement&&(ct=mt.parentElement.getBBox().width),rt=parseInt(mt.getAttribute("data-x-shift"),10),Number.isNaN(rt)&&(rt=0)),wt.setAttribute("x1",0-rt+8),wt.setAttribute("x2",ct-rt-8)})):Kt.debug("No Node "+ot+": "+JSON.stringify(E.node(ot)))});let Y=z.getBBox();E.edges().forEach(function(ot){ot!==void 0&&E.edge(ot)!==void 0&&(Kt.debug("Edge "+ot.v+" -> "+ot.w+": "+JSON.stringify(E.edge(ot))),TZe(a,E.edge(ot),E.edge(ot).relation))}),Y=z.getBBox();const nt={id:f||"root",label:f||"root",width:0,height:0};return nt.width=Y.width+2*M2.padding,nt.height=Y.height+2*M2.padding,Kt.debug("Doc rendered",nt,E),nt},LZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:qqt,db:Hx,renderer:{setConf:CZe,draw:_Ze},styles:nHt,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,Hx.clear()}}},Symbol.toStringTag,{value:"Module"})),AX="rect",n2t="rectWithTitle",DZe="start",MZe="end",IZe="divider",OZe="roundedWithTitle",NZe="note",PZe="noteGroup",ID="statediagram",FZe=`${ID}-state`,oHt="transition",BZe="note",RZe=`${oHt} note-edge`,jZe=`${ID}-${BZe}`,$Ze=`${ID}-cluster`,zZe=`${ID}-cluster-alt`,cHt="parent",uHt="note",qZe="state",r2t="----",HZe=`${r2t}${uHt}`,lHt=`${r2t}${cHt}`,hHt="fill:none",fHt="fill: #333",dHt="c",gHt="text",pHt="normal";let LX={},L8=0;const VZe=function(i){const a=Object.keys(i);for(const f of a)i[f]},UZe=function(i,a){return a.db.extract(a.db.getRootDocV2()),a.db.getClasses()};function GZe(i){return i==null?"":i.classes?i.classes.join(" "):""}function i2t(i="",a=0,f="",g=r2t){const w=f!==null&&f.length>0?`${g}${f}`:"";return`${qZe}-${i}${w}-${a}`}const TB=(i,a,f,g,w,v)=>{const b=f.id,E=GZe(g[b]);if(b!=="root"){let S=AX;f.start===!0&&(S=DZe),f.start===!1&&(S=MZe),f.type!==yB&&(S=f.type),LX[b]||(LX[b]={id:b,shape:S,description:ei.sanitizeText(b,Re()),classes:`${E} ${FZe}`});const _=LX[b];f.description&&(Array.isArray(_.description)?(_.shape=n2t,_.description.push(f.description)):_.description.length>0?(_.shape=n2t,_.description===b?_.description=[f.description]:_.description=[_.description,f.description]):(_.shape=AX,_.description=f.description),_.description=ei.sanitizeTextOrArray(_.description,Re())),_.description.length===1&&_.shape===n2t&&(_.shape=AX),!_.type&&f.doc&&(Kt.info("Setting cluster for ",b,s2t(f)),_.type="group",_.dir=s2t(f),_.shape=f.type===Hqt?IZe:OZe,_.classes=_.classes+" "+$Ze+" "+(v?zZe:""));const M={labelStyle:"",shape:_.shape,labelText:_.description,classes:_.classes,style:"",id:b,dir:_.dir,domId:i2t(b,L8),type:_.type,padding:15};if(M.centerLabel=!0,f.note){const F={labelStyle:"",shape:NZe,labelText:f.note.text,classes:jZe,style:"",id:b+HZe+"-"+L8,domId:i2t(b,L8,uHt),type:_.type,padding:15},R={labelStyle:"",shape:PZe,labelText:f.note.text,classes:_.classes,style:"",id:b+lHt,domId:i2t(b,L8,cHt),type:"group",padding:0};L8++;const B=b+lHt;i.setNode(B,R),i.setNode(F.id,F),i.setNode(b,M),i.setParent(b,B),i.setParent(F.id,B);let z=b,Y=F.id;f.note.position==="left of"&&(z=F.id,Y=b),i.setEdge(z,Y,{arrowhead:"none",arrowType:"",style:hHt,labelStyle:"",classes:RZe,arrowheadStyle:fHt,labelpos:dHt,labelType:gHt,thickness:pHt})}else i.setNode(b,M)}a&&a.id!=="root"&&(Kt.trace("Setting node ",b," to be child of its parent ",a.id),i.setParent(b,a.id)),f.doc&&(Kt.trace("Adding nodes children "),KZe(i,f,f.doc,g,w,!v))},KZe=(i,a,f,g,w,v)=>{Kt.trace("items",f),f.forEach(b=>{switch(b.stmt){case EX:TB(i,a,b,g,w,v);break;case yB:TB(i,a,b,g,w,v);break;case Wbt:{TB(i,a,b.state1,g,w,v),TB(i,a,b.state2,g,w,v);const E={id:"edge"+L8,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:hHt,labelStyle:"",label:ei.sanitizeText(b.description,Re()),arrowheadStyle:fHt,labelpos:dHt,labelType:gHt,thickness:pHt,classes:oHt};i.setEdge(b.state1.id,b.state2.id,E,L8),L8++}break}})},s2t=(i,a=VJe)=>{let f=a;if(i.doc)for(let g=0;g<i.doc.length;g++){const w=i.doc[g];w.stmt==="dir"&&(f=w.value)}return f},WZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:qqt,db:Hx,renderer:{setConf:VZe,getClasses:UZe,draw:async function(i,a,f,g){Kt.info("Drawing state diagram (v2)",a),LX={},g.db.getDirection();const{securityLevel:w,state:v}=Re(),b=v.nodeSpacing||50,E=v.rankSpacing||50;Kt.info(g.db.getRootDocV2()),g.db.extract(g.db.getRootDocV2()),Kt.info(g.db.getRootDocV2());const S=g.db.getStates(),_=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:s2t(g.db.getRootDocV2()),nodesep:b,ranksep:E,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});TB(_,void 0,g.db.getRootDocV2(),S,g.db,!0);let M;w==="sandbox"&&(M=Tr("#i"+a));const F=Tr(w==="sandbox"?M.nodes()[0].contentDocument.body:"body"),R=F.select(`[id="${a}"]`),B=F.select("#"+a+" g");await ebt(B,_,["barb"],ID,a);const z=8;uo.insertTitle(R,"statediagramTitleText",v.titleTopMargin,g.db.getDiagramTitle());const Y=R.node().getBBox(),nt=Y.width+z*2,ot=Y.height+z*2;R.attr("class",ID);const ft=R.node().getBBox();sg(R,ot,nt,v.useMaxWidth);const wt=`${ft.x-z} ${ft.y-z} ${nt} ${ot}`;Kt.debug(`viewBox ${wt}`),R.attr("viewBox",wt);const mt=document.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const ct of mt){const rt=ct.getBBox(),it=document.createElementNS("http://www.w3.org/2000/svg",AX);it.setAttribute("rx",0),it.setAttribute("ry",0),it.setAttribute("width",rt.width),it.setAttribute("height",rt.height),ct.insertBefore(it,ct.firstChild)}}},styles:nHt,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,Hx.clear()}}},Symbol.toStringTag,{value:"Module"}));var a2t=function(){var i=function(F,R,B,z){for(B=B||{},z=F.length;z--;B[F[z]]=R);return B},a=[6,8,10,11,12,14,16,17,18],f=[1,9],g=[1,10],w=[1,11],v=[1,12],b=[1,13],E=[1,14],S={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(R,B,z,Y,nt,ot,ft){var wt=ot.length-1;switch(nt){case 1:return ot[wt-1];case 2:this.$=[];break;case 3:ot[wt-1].push(ot[wt]),this.$=ot[wt-1];break;case 4:case 5:this.$=ot[wt];break;case 6:case 7:this.$=[];break;case 8:Y.setDiagramTitle(ot[wt].substr(6)),this.$=ot[wt].substr(6);break;case 9:this.$=ot[wt].trim(),Y.setAccTitle(this.$);break;case 10:case 11:this.$=ot[wt].trim(),Y.setAccDescription(this.$);break;case 12:Y.addSection(ot[wt].substr(8)),this.$=ot[wt].substr(8);break;case 13:Y.addTask(ot[wt-1],ot[wt]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:g,14:w,16:v,17:b,18:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:15,11:f,12:g,14:w,16:v,17:b,18:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,16]},{15:[1,17]},i(a,[2,11]),i(a,[2,12]),{19:[1,18]},i(a,[2,4]),i(a,[2,9]),i(a,[2,10]),i(a,[2,13])],defaultActions:{},parseError:function(R,B){if(B.recoverable)this.trace(R);else{var z=new Error(R);throw z.hash=B,z}},parse:function(R){var B=this,z=[0],Y=[],nt=[null],ot=[],ft=this.table,wt="",mt=0,ct=0,rt=2,it=1,gt=ot.slice.call(arguments,1),Q=Object.create(this.lexer),dt={yy:{}};for(var K in this.yy)Object.prototype.hasOwnProperty.call(this.yy,K)&&(dt.yy[K]=this.yy[K]);Q.setInput(R,dt.yy),dt.yy.lexer=Q,dt.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var yt=Q.yylloc;ot.push(yt);var V=Q.options&&Q.options.ranges;typeof dt.yy.parseError=="function"?this.parseError=dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var Ae;return Ae=Y.pop()||Q.lex()||it,typeof Ae!="number"&&(Ae instanceof Array&&(Y=Ae,Ae=Y.pop()),Ae=B.symbols_[Ae]||Ae),Ae}for(var It,jt,xt,Ft,Ct={},kt,Gt,Fe,Mt;;){if(jt=z[z.length-1],this.defaultActions[jt]?xt=this.defaultActions[jt]:((It===null||typeof It>"u")&&(It=Ot()),xt=ft[jt]&&ft[jt][It]),typeof xt>"u"||!xt.length||!xt[0]){var pn="";Mt=[];for(kt in ft[jt])this.terminals_[kt]&&kt>rt&&Mt.push("'"+this.terminals_[kt]+"'");Q.showPosition?pn="Parse error on line "+(mt+1)+`:
1330 `,c2t=function(i,a){return LY(i,a)},itn=function(i,a){const g=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),w=i.append("g");w.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(S){const _=YL().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);S.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(S){const _=YL().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);S.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function E(S){S.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?v(w):a.score<3?b(w):E(w),g},mHt=function(i,a){const f=i.append("circle");return f.attr("cx",a.cx),f.attr("cy",a.cy),f.attr("class","actor-"+a.pos),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("r",a.r),f.class!==void 0&&f.attr("class",f.class),a.title!==void 0&&f.append("title").text(a.title),f},vHt=function(i,a){return URe(i,a)},stn=function(i,a){function f(w,v,b,E,S){return w+","+v+" "+(w+b)+","+v+" "+(w+b)+","+(v+E-S)+" "+(w+b-S*1.2)+","+(v+E)+" "+w+","+(v+E)}const g=i.append("polygon");g.attr("points",f(a.x,a.y,50,20,7)),g.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,vHt(i,a)},atn=function(i,a,f){const g=i.append("g"),w=_9();w.x=a.x,w.y=a.y,w.fill=a.fill,w.width=f.width*a.taskCount+f.diagramMarginX*(a.taskCount-1),w.height=f.height,w.class="journey-section section-type-"+a.num,w.rx=3,w.ry=3,c2t(g,w),xHt(f)(a.text,g,w.x,w.y,w.width,w.height,{class:"journey-section section-type-"+a.num},f,a.colour)};let yHt=-1;const otn=function(i,a,f){const g=a.x+f.width/2,w=i.append("g");yHt++;const v=300+5*30;w.append("line").attr("id","task"+yHt).attr("x1",g).attr("y1",a.y).attr("x2",g).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),itn(w,{cx:g,cy:300+(5-a.score)*30,score:a.score});const b=_9();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=f.width,b.height=f.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,c2t(w,b);let E=a.x+14;a.people.forEach(S=>{const _=a.actors[S].color,M={cx:E,cy:a.y,r:7,fill:_,stroke:"#000",title:S,pos:a.actors[S].position};mHt(w,M),E+=10}),xHt(f)(a.task,w,b.x,b.y,b.width,b.height,{class:"task"},f,a.colour)},ctn=function(i,a){sRt(i,a)},xHt=function(){function i(w,v,b,E,S,_,M,F){const R=v.append("text").attr("x",b+S/2).attr("y",E+_/2+5).style("font-color",F).style("text-anchor","middle").text(w);g(R,M)}function a(w,v,b,E,S,_,M,F,R){const{taskFontSize:B,taskFontFamily:z}=F,Y=w.split(/<br\s*\/?>/gi);for(let nt=0;nt<Y.length;nt++){const ot=nt*B-B*(Y.length-1)/2,ft=v.append("text").attr("x",b+S/2).attr("y",E).attr("fill",R).style("text-anchor","middle").style("font-size",B).style("font-family",z);ft.append("tspan").attr("x",b+S/2).attr("dy",ot).text(Y[nt]),ft.attr("y",E+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(ft,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)b in v&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),_B={drawRect:c2t,drawCircle:mHt,drawSection:atn,drawText:vHt,drawLabel:stn,drawTask:otn,drawBackgroundRect:ctn,initGraphics:function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")}},utn=function(i){Object.keys(i).forEach(function(f){DX[f]=i[f]})},Vx={};function ltn(i){const a=Re().journey;let f=60;Object.keys(Vx).forEach(g=>{const w=Vx[g].color,v={cx:20,cy:f,r:7,fill:w,stroke:"#000",pos:Vx[g].position};_B.drawCircle(i,v);const b={x:40,y:f+7,fill:"#666",text:g,textMargin:a.boxTextMargin|5};_B.drawText(i,b),f+=20})}const DX=Re().journey,q9=DX.leftMargin,htn=function(i,a,f,g){const w=Re().journey,v=Re().securityLevel;let b;v==="sandbox"&&(b=Tr("#i"+a));const E=Tr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body");em.init();const S=E.select("#"+a);_B.initGraphics(S);const _=g.db.getTasks(),M=g.db.getDiagramTitle(),F=g.db.getActors();for(const ot in Vx)delete Vx[ot];let R=0;F.forEach(ot=>{Vx[ot]={color:w.actorColours[R%w.actorColours.length],position:R},R++}),ltn(S),em.insert(0,0,q9,Object.keys(Vx).length*50),ftn(S,_,0);const B=em.getBounds();M&&S.append("text").text(M).attr("x",q9).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const z=B.stopy-B.starty+2*w.diagramMarginY,Y=q9+B.stopx+2*w.diagramMarginX;sg(S,z,Y,w.useMaxWidth),S.append("line").attr("x1",q9).attr("y1",w.height*4).attr("x2",Y-q9-4).attr("y2",w.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const nt=M?70:0;S.attr("viewBox",`${B.startx} -25 ${Y} ${z+nt}`),S.attr("preserveAspectRatio","xMinYMin meet"),S.attr("height",z+nt+25)},em={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,a,f,g){i[a]===void 0?i[a]=f:i[a]=g(f,i[a])},updateBounds:function(i,a,f,g){const w=Re().journey,v=this;let b=0;function E(S){return function(M){b++;const F=v.sequenceItems.length-b+1;v.updateVal(M,"starty",a-F*w.boxMargin,Math.min),v.updateVal(M,"stopy",g+F*w.boxMargin,Math.max),v.updateVal(em.data,"startx",i-F*w.boxMargin,Math.min),v.updateVal(em.data,"stopx",f+F*w.boxMargin,Math.max),S!=="activation"&&(v.updateVal(M,"startx",i-F*w.boxMargin,Math.min),v.updateVal(M,"stopx",f+F*w.boxMargin,Math.max),v.updateVal(em.data,"starty",a-F*w.boxMargin,Math.min),v.updateVal(em.data,"stopy",g+F*w.boxMargin,Math.max))}}this.sequenceItems.forEach(E())},insert:function(i,a,f,g){const w=Math.min(i,f),v=Math.max(i,f),b=Math.min(a,g),E=Math.max(a,g);this.updateVal(em.data,"startx",w,Math.min),this.updateVal(em.data,"starty",b,Math.min),this.updateVal(em.data,"stopx",v,Math.max),this.updateVal(em.data,"stopy",E,Math.max),this.updateBounds(w,b,v,E)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},u2t=DX.sectionFills,kHt=DX.sectionColours,ftn=function(i,a,f){const g=Re().journey;let w="";const v=g.height*2+g.diagramMarginY,b=f+v;let E=0,S="#CCC",_="black",M=0;for(const[F,R]of a.entries()){if(w!==R.section){S=u2t[E%u2t.length],M=E%u2t.length,_=kHt[E%kHt.length];let z=0;const Y=R.section;for(let ot=F;ot<a.length&&a[ot].section==Y;ot++)z=z+1;const nt={x:F*g.taskMargin+F*g.width+q9,y:50,text:R.section,fill:S,num:M,colour:_,taskCount:z};_B.drawSection(i,nt,g),w=R.section,E++}const B=R.people.reduce((z,Y)=>(Vx[Y]&&(z[Y]=Vx[Y]),z),{});R.x=F*g.taskMargin+F*g.width+q9,R.y=b,R.width=g.diagramMarginX,R.height=g.diagramMarginY,R.colour=_,R.fill=S,R.num=M,R.actors=B,_B.drawTask(i,R,g),em.insert(R.x,R.y,R.x+R.width+g.taskMargin,300+5*30)}},EHt={setConf:utn,draw:htn},dtn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:YZe,db:wHt,renderer:EHt,styles:rtn,init:i=>{EHt.setConf(i.journey),wHt.clear()}}},Symbol.toStringTag,{value:"Module"})),gtn=(i,a,f)=>{const{parentById:g}=f,w=new Set;let v=i;for(;v;){if(w.add(v),v===a)return v;v=g[v]}for(v=a;v;){if(w.has(v))return v;v=g[v]}return"root"};function MX(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var THt={exports:{}};(function(i,a){(function(f){i.exports=f()})(function(){return function(){function f(g,w,v){function b(_,M){if(!w[_]){if(!g[_]){var F=typeof MX=="function"&&MX;if(!M&&F)return F(_,!0);if(E)return E(_,!0);var R=new Error("Cannot find module '"+_+"'");throw R.code="MODULE_NOT_FOUND",R}var B=w[_]={exports:{}};g[_][0].call(B.exports,function(z){var Y=g[_][1][z];return b(Y||z)},B,B.exports,f,g,w,v)}return w[_].exports}for(var E=typeof MX=="function"&&MX,S=0;S<v.length;S++)b(v[S]);return b}return f}()({1:[function(f,g,w){Object.defineProperty(w,"__esModule",{value:!0});var v=function(){function _(M,F){for(var R=0;R<F.length;R++){var B=F[R];B.enumerable=B.enumerable||!1,B.configurable=!0,"value"in B&&(B.writable=!0),Object.defineProperty(M,B.key,B)}}return function(M,F,R){return F&&_(M.prototype,F),R&&_(M,R),M}}();function b(_,M){if(!(_ instanceof M))throw new TypeError("Cannot call a class as a function")}var E=function(){function _(){var M=this,F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},R=F.defaultLayoutOptions,B=R===void 0?{}:R,z=F.algorithms,Y=z===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:z,nt=F.workerFactory,ot=F.workerUrl;if(b(this,_),this.defaultLayoutOptions=B,this.initialized=!1,typeof ot>"u"&&typeof nt>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var ft=nt;typeof ot<"u"&&typeof nt>"u"&&(ft=function(ct){return new Worker(ct)});var wt=ft(ot);if(typeof wt.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new S(wt),this.worker.postMessage({cmd:"register",algorithms:Y}).then(function(mt){return M.initialized=!0}).catch(console.err)}return v(_,[{key:"layout",value:function(F){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},B=R.layoutOptions,z=B===void 0?this.defaultLayoutOptions:B,Y=R.logging,nt=Y===void 0?!1:Y,ot=R.measureExecutionTime,ft=ot===void 0?!1:ot;return F?this.worker.postMessage({cmd:"layout",graph:F,layoutOptions:z,options:{logging:nt,measureExecutionTime:ft}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),_}();w.default=E;var S=function(){function _(M){var F=this;if(b(this,_),M===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=M,this.worker.onmessage=function(R){setTimeout(function(){F.receive(F,R)},0)}}return v(_,[{key:"postMessage",value:function(F){var R=this.id||0;this.id=R+1,F.id=R;var B=this;return new Promise(function(z,Y){B.resolvers[R]=function(nt,ot){nt?(B.convertGwtStyleError(nt),Y(nt)):z(ot)},B.worker.postMessage(F)})}},{key:"receive",value:function(F,R){var B=R.data,z=F.resolvers[B.id];z&&(delete F.resolvers[B.id],B.error?z(B.error):z(null,B.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(F){if(F){var R=F.__java$exception;R&&(R.cause&&R.cause.backingJsObject&&(F.cause=R.cause.backingJsObject,this.convertGwtStyleError(F.cause)),delete F.__java$exception)}}}]),_}()},{}],2:[function(f,g,w){(function(v){(function(){var b;typeof window<"u"?b=window:typeof v<"u"?b=v:typeof self<"u"&&(b=self);var E;function S(){}function _(){}function M(){}function F(){}function R(){}function B(){}function z(){}function Y(){}function nt(){}function ot(){}function ft(){}function wt(){}function mt(){}function ct(){}function rt(){}function it(){}function gt(){}function Q(){}function dt(){}function K(){}function yt(){}function V(){}function Ot(){}function It(){}function jt(){}function xt(){}function Ft(){}function Ct(){}function kt(){}function Gt(){}function Fe(){}function Mt(){}function pn(){}function Ae(){}function ye(){}function tn(){}function sn(){}function be(){}function Ne(){}function Xt(){}function _e(){}function xe(){}function Mn(){}function ce(){}function Br(){}function we(){}function Fi(){}function mi(){}function ga(){}function Ss(){}function za(){}function br(){}function An(){}function Nn(){}function Bn(){}function ke(){}function pe(){}function Je(){}function an(){}function xn(){}function qa(){}function xo(){}function ko(){}function va(){}function Ha(){}function ds(){}function Fu(){}function Zs(){}function d1(){}function I2(){}function ll(){}function Ic(){}function wc(){}function Ea(){}function gu(){}function ta(){}function fo(){}function mc(){}function ca(){}function ya(){}function ea(){}function Zl(){}function Uc(){}function rm(){}function kh(){}function Md(){}function w0(){}function Id(){}function m0(){}function hg(){}function Gi(){}function cn(){}function Nr(){}function Si(){}function vc(){}function Rc(){}function Eh(){}function Zc(){}function Qh(){}function Od(){}function cs(){}function As(){}function to(){}function Ci(){}function pu(){}function Le(){}function iy(){}function $e(){}function g1(){}function ip(){}function sy(){}function D8(){}function g4(){}function th(){}function fg(){}function O2(){}function M8(){}function N2(){}function p4(){}function U1(){}function Nd(){}function Pd(){}function I8(){}function im(){}function Gx(){}function hb(){}function Kx(){}function b4(){}function ay(){}function sp(){}function BD(){}function $l(){}function U9(){}function Gc(){}function $X(){}function P2(){}function zX(){}function MB(){}function qX(){}function IB(){}function p1(){}function oy(){}function G9(){}function OB(){}function fb(){}function cy(){}function HX(){}function F2(){}function VX(){}function UX(){}function Wx(){}function K9(){}function NB(){}function O8(){}function GX(){}function N8(){}function KX(){}function WX(){}function YX(){}function XX(){}function QX(){}function JX(){}function ZX(){}function tQ(){}function eQ(){}function nQ(){}function rQ(){}function RD(){}function iQ(){}function sQ(){}function W9(){}function PB(){}function Yx(){}function aQ(){}function oQ(){}function cQ(){}function uQ(){}function lQ(){}function Y9(){}function jD(){}function FB(){}function w4(){}function m4(){}function hQ(){}function Lf(){}function Xx(){}function fQ(){}function P8(){}function v0(){}function dQ(){}function gQ(){}function pQ(){}function BB(){}function bQ(){}function X9(){}function Q9(){}function RB(){}function $D(){}function Qx(){}function wQ(){}function jB(){}function $B(){}function mQ(){}function vQ(){}function yQ(){}function xQ(){}function kQ(){}function EQ(){}function y0(){}function sm(){}function TQ(){}function J9(){}function Z9(){}function CQ(){}function v4(){}function F8(){}function zD(){}function uy(){}function B8(){}function SQ(){}function tC(){}function Fd(){}function zB(){}function qD(){}function R8(){}function HD(){}function qB(){}function _Q(){}function VD(){}function AQ(){}function LQ(){}function HB(){}function Jx(){}function VB(){}function Zx(){}function DQ(){}function UD(){}function MQ(){}function IQ(){}function OQ(){}function NQ(){}function UB(){}function PQ(){}function FQ(){}function GB(){}function BQ(){}function RQ(){}function jQ(){}function $Q(){}function KB(){}function zQ(){}function qQ(){}function WB(){}function YB(){}function XB(){}function HQ(){}function VQ(){}function j8(){}function t6(){}function eC(){}function UQ(){}function GD(){}function nC(){}function KD(){}function QB(){}function JB(){}function GQ(){}function KQ(){}function WQ(){}function ZB(){}function tR(){}function YQ(){}function XQ(){}function QQ(){}function JQ(){}function ZQ(){}function eR(){}function tJ(){}function eJ(){}function nJ(){}function rJ(){}function nR(){}function rC(){}function iJ(){}function sJ(){}function rR(){}function aJ(){}function oJ(){}function cJ(){}function uJ(){}function lJ(){}function hJ(){}function iR(){}function fJ(){}function sR(){}function dJ(){}function gJ(){}function pJ(){}function iC(){}function bJ(){}function sC(){}function wJ(){}function aR(){}function oR(){}function cR(){}function uR(){}function am(){}function lR(){}function hR(){}function fR(){}function dR(){}function mJ(){}function e6(){}function WD(){}function y4(){}function vJ(){}function yJ(){}function aC(){}function gR(){}function xJ(){}function kJ(){}function EJ(){}function TJ(){}function CJ(){}function SJ(){}function _J(){}function AJ(){}function LJ(){}function DJ(){}function oC(){}function pR(){}function MJ(){}function IJ(){}function OJ(){}function NJ(){}function PJ(){}function bR(){}function wR(){}function FJ(){}function mR(){}function vR(){}function BJ(){}function RJ(){}function jJ(){}function $J(){}function zJ(){}function qJ(){}function HJ(){}function VJ(){}function YD(){}function UJ(){}function $8(){}function yR(){}function GJ(){}function KJ(){}function WJ(){}function YJ(){}function XJ(){}function QJ(){}function JJ(){}function ZJ(){}function tZ(){}function eZ(){}function nZ(){}function rZ(){}function iZ(){}function sZ(){}function aZ(){}function n6(){}function xR(){}function oZ(){}function cZ(){}function uZ(){}function kR(){}function lZ(){}function cC(){}function hZ(){}function fZ(){}function dZ(){}function gZ(){}function pZ(){}function bZ(){}function wZ(){}function mZ(){}function vZ(){}function yZ(){}function r6(){}function xZ(){}function kZ(){}function EZ(){}function TZ(){}function CZ(){}function SZ(){}function _Z(){}function AZ(){}function uC(){}function LZ(){}function DZ(){}function MZ(){}function IZ(){}function OZ(){}function NZ(){}function PZ(){}function FZ(){}function i6(){}function ER(){}function BZ(){}function XD(){}function RZ(){}function jZ(){}function $Z(){}function zZ(){}function qZ(){}function HZ(){}function VZ(){}function TR(){}function UZ(){}function CR(){}function GZ(){}function SR(){}function _R(){}function AR(){}function KZ(){}function WZ(){}function LR(){}function YZ(){}function DR(){}function XZ(){}function QZ(){}function QD(){}function JZ(){}function ZZ(){}function ttt(){}function ett(){}function ntt(){}function MR(){}function rtt(){}function itt(){}function stt(){}function A2t(){}function att(){}function ott(){}function ctt(){}function utt(){}function ltt(){}function htt(){}function ftt(){}function dtt(){}function gtt(){}function ptt(){}function btt(){}function wtt(){}function mtt(){}function vtt(){}function ytt(){}function xtt(){}function Kc(){}function ktt(){}function lC(){}function yc(){}function bu(){}function Xi(){}function JD(){}function Ett(){}function Ttt(){}function Ctt(){}function s6(){}function B2(){}function z8(){}function Stt(){}function ZD(){}function _tt(){}function Att(){}function Ltt(){}function IR(){}function Dtt(){}function Mtt(){}function tM(){}function Itt(){}function zl(){}function Yu(){}function OR(){}function Ott(){}function Ntt(){}function ly(){}function x4(){}function hy(){}function ap(){}function a6(){}function eM(){}function NR(){}function PR(){}function Ptt(){}function G1(){}function FR(){}function fy(){}function q8(){}function nM(){}function o6(){}function db(){}function BR(){}function RR(){}function jR(){}function Ftt(){}function c6(){}function dy(){}function op(){}function gb(){}function k4(){}function H8(){}function hC(){}function rM(){}function Btt(){}function Rtt(){}function $R(){}function zR(){}function je(){}function V8(){}function qR(){}function HR(){}function jtt(){}function U8(){}function G8(){}function VR(){}function $tt(){}function ztt(){}function qtt(){}function Htt(){}function Vtt(){}function Utt(){}function iM(){}function Gtt(){}function Ktt(){}function UR(){}function fC(){}function Wtt(){}function sM(){}function K8(){}function W8(){}function Y8(){}function GR(){}function Ytt(){}function KR(){}function WR(){}function Xtt(){}function dC(){}function pb(){}function YR(){}function XR(){}function gC(){}function Qtt(){}function E4(){}function QR(){}function aM(){}function Oc(){}function oM(){}function cM(){}function pC(){}function Jtt(){}function Ztt(){}function bC(){}function tet(){}function wC(){}function mC(){}function b1(){}function uM(){}function lM(){}function u6(){}function eet(){}function net(){}function ret(){}function iet(){}function x0(){}function vC(){}function l6(){}function K1(){}function JR(){}function ZR(){}function tj(){}function ej(){}function nj(){}function rj(){}function w1(){}function Bu(){}function set(){}function aet(){}function oet(){}function Ru(){}function yC(){}function ij(){}function sj(){}function h6(){}function cet(){}function X8(){}function uet(){}function aj(){}function het(){}function fet(){}function xC(){}function oj(){}function hM(){}function kC(){}function det(){}function get(){}function fM(){}function EC(){}function W1(){}function Q8(){}function pet(){}function J8(){}function dM(){}function R2(){}function TC(){}function gM(){}function m1(){}function CC(){}function Y1(){}function X1(){}function bet(){}function wet(){}function T4(){}function Z8(){}function tE(){}function SC(){}function met(){}function vet(){}function f6(){}function cj(){}function uj(){}function yet(){}function lj(){}function xet(){}function hj(){}function pM(){}function ket(){}function _C(){}function Eet(){}function Tet(){}function Cet(){}function _et(){}function Aet(){}function fj(){}function Let(){}function Det(){}function Met(){}function dj(){}function Iet(){}function Oet(){}function AC(){}function Net(){}function Pet(){}function Fet(){}function Bet(){}function Ret(){}function jet(){}function gj(){}function $et(){}function pj(){}function zet(){}function bM(){}function qet(){}function bj(){}function Het(){}function wj(){}function Vet(){}function mj(){}function vj(){}function yj(){}function wM(){}function C4(){}function LC(){}function Q1(){}function xj(){}function eE(){}function mM(){}function kj(){}function j2(){}function Ej(){}function DC(){UC()}function Uet(){jM()}function Tj(){RH()}function Cj(){Mat()}function Sj(){b_()}function MC(){u6t()}function IC(){Vf()}function _j(){vxt()}function Aj(){TO()}function d6(){$M()}function om(){gI()}function nE(){UYt()}function Lj(){ok()}function Get(){vse()}function Dj(){m4t()}function g6(){ore()}function vM(){v4t()}function Mj(){Xse()}function Ket(){are()}function Ij(){g7()}function OC(){Ooe()}function NC(){Ioe()}function yM(){nie()}function Wet(){Noe()}function Yet(){Vb()}function Xet(){T$()}function Qet(){o8t()}function Jet(){De()}function Zet(){Poe()}function tnt(){cce()}function ent(){cre()}function nnt(){Ohe()}function rnt(){ure()}function int(){W0e()}function snt(){j6t()}function ant(){Sg()}function ont(){Wue()}function p6(){Cc()}function cnt(){mre()}function rE(){ak()}function Jh(){xkt()}function unt(){Ub()}function iE(){kkt()}function PC(){fd()}function lnt(){LO()}function hnt(){rct()}function fnt(){fot()}function Zh(){WZt()}function dnt(){Tq()}function gnt(){VH()}function Oj(){ai()}function pnt(){aH()}function Nj(){Y5t()}function Pj(){fat()}function Fj(){fV()}function Bj(){Okt()}function Df(t){Wn(t)}function Rj(t){this.a=t}function FC(t){this.a=t}function jj(t){this.a=t}function $j(t){this.a=t}function bnt(t){this.a=t}function wnt(t){this.a=t}function zj(t){this.a=t}function mnt(t){this.a=t}function qj(t){this.a=t}function bb(t){this.a=t}function vnt(t){this.a=t}function ynt(t){this.a=t}function xM(t){this.a=t}function xnt(t){this.a=t}function knt(t){this.a=t}function sE(t){this.a=t}function wb(t){this.a=t}function Hj(t){this.a=t}function aE(t){this.a=t}function S4(t){this.a=t}function kM(t){this.a=t}function b6(t){this.a=t}function EM(t){this.b=t}function dg(t){this.c=t}function Ent(t){this.a=t}function gy(t){this.a=t}function Vj(t){this.a=t}function Uj(t){this.a=t}function TM(t){this.a=t}function CM(t){this.a=t}function Gj(t){this.a=t}function w6(t){this.a=t}function oE(t){this.a=t}function Tnt(t){this.a=t}function Kj(t){this.a=t}function Wj(t){this.a=t}function Yj(t){this.a=t}function Xj(t){this.a=t}function xc(t){this.a=t}function cE(t){this.a=t}function uE(t){this.a=t}function cp(){this.a=[]}function Cnt(t,e){t.a=e}function Snt(t,e){t.a=e}function _nt(t,e){t.b=e}function Ant(t,e){t.b=e}function Lnt(t,e){t.b=e}function Qj(t,e){t.j=e}function L2t(t,e){t.g=e}function Jj(t,e){t.i=e}function Dnt(t,e){t.c=e}function m6(t,e){t.c=e}function D2t(t,e){t.d=e}function v6(t,e){t.d=e}function y(t,e){t.k=e}function p(t,e){t.c=e}function x(t,e){t.c=e}function C(t,e){t.a=e}function L(t,e){t.a=e}function O(t,e){t.f=e}function N(t,e){t.a=e}function j(t,e){t.b=e}function H(t,e){t.d=e}function q(t,e){t.i=e}function W(t,e){t.o=e}function Z(t,e){t.r=e}function st(t,e){t.a=e}function bt(t,e){t.b=e}function pt(t,e){t.e=e}function _t(t,e){t.f=e}function St(t,e){t.g=e}function Et(t,e){t.e=e}function Nt(t,e){t.f=e}function Pt(t,e){t.f=e}function qt(t,e){t.a=e}function re(t,e){t.b=e}function ee(t,e){t.n=e}function Ut(t,e){t.a=e}function de(t,e){t.c=e}function Yt(t,e){t.c=e}function Ee(t,e){t.c=e}function Te(t,e){t.a=e}function ie(t,e){t.a=e}function ze(t,e){t.d=e}function me(t,e){t.d=e}function yn(t,e){t.e=e}function nn(t,e){t.e=e}function qe(t,e){t.g=e}function Tn(t,e){t.f=e}function Xn(t,e){t.j=e}function lr(t,e){t.a=e}function Sn(t,e){t.a=e}function or(t,e){t.b=e}function pr(t){t.b=t.a}function kr(t){t.c=t.d.d}function wr(t){this.a=t}function Cr(t){this.a=t}function $n(t){this.a=t}function cr(t){this.a=t}function mr(t){this.a=t}function Sr(t){this.a=t}function gi(t){this.a=t}function ss(t){this.a=t}function na(t){this.a=t}function vi(t){this.a=t}function si(t){this.a=t}function Qi(t){this.a=t}function ks(t){this.a=t}function as(t){this.a=t}function Es(t){this.b=t}function eo(t){this.b=t}function Ta(t){this.b=t}function pa(t){this.a=t}function mo(t){this.a=t}function Kn(t){this.c=t}function G(t){this.c=t}function Vn(t){this.c=t}function gr(t){this.d=t}function nr(t){this.a=t}function Be(t){this.a=t}function Ls(t){this.a=t}function hr(t){this.a=t}function us(t){this.a=t}function Ya(t){this.a=t}function kc(t){this.a=t}function Ca(t){this.a=t}function oc(t){this.a=t}function ra(t){this.a=t}function no(t){this.a=t}function ql(t){this.a=t}function Sl(t){this.a=t}function mb(t){this.a=t}function vb(t){this.a=t}function v1(t){this.a=t}function up(t){this.a=t}function Bd(t){this.a=t}function cm(t){this.a=t}function py(t){this.a=t}function y6(t){this.a=t}function _4(t){this.a=t}function x6(t){this.a=t}function BC(t){this.a=t}function A4(t){this.a=t}function k0(t){this.a=t}function J1(t){this.a=t}function E0(t){this.a=t}function by(t){this.a=t}function $2(t){this.a=t}function Zj(t){this.a=t}function Mnt(t){this.a=t}function Int(t){this.a=t}function RC(t){this.a=t}function Ont(t){this.a=t}function Nnt(t){this.a=t}function L4(t){this.a=t}function t$(t){this.a=t}function lE(t){this.a=t}function SM(t){this.a=t}function jC(t){this.a=t}function e$(t){this.a=t}function n$(t){this.a=t}function Pnt(t){this.a=t}function lp(t){this.a=t}function $C(t){this.a=t}function _M(t){this.a=t}function z2(t){this.a=t}function T0(t){this.e=t}function D4(t){this.a=t}function yVt(t){this.a=t}function k6(t){this.a=t}function M2t(t){this.a=t}function xVt(t){this.a=t}function kVt(t){this.a=t}function EVt(t){this.a=t}function TVt(t){this.a=t}function CVt(t){this.a=t}function SVt(t){this.a=t}function _Vt(t){this.a=t}function AVt(t){this.a=t}function LVt(t){this.a=t}function DVt(t){this.a=t}function MVt(t){this.a=t}function I2t(t){this.a=t}function IVt(t){this.a=t}function OVt(t){this.a=t}function NVt(t){this.a=t}function PVt(t){this.a=t}function FVt(t){this.a=t}function BVt(t){this.a=t}function RVt(t){this.a=t}function jVt(t){this.a=t}function $Vt(t){this.a=t}function zVt(t){this.a=t}function qVt(t){this.a=t}function HVt(t){this.a=t}function VVt(t){this.a=t}function UVt(t){this.a=t}function GVt(t){this.a=t}function KVt(t){this.a=t}function WVt(t){this.a=t}function YVt(t){this.a=t}function XVt(t){this.a=t}function QVt(t){this.a=t}function JVt(t){this.a=t}function ZVt(t){this.a=t}function tUt(t){this.a=t}function eUt(t){this.a=t}function nUt(t){this.a=t}function rUt(t){this.a=t}function iUt(t){this.a=t}function sUt(t){this.a=t}function aUt(t){this.a=t}function oUt(t){this.a=t}function cUt(t){this.a=t}function uUt(t){this.a=t}function lUt(t){this.a=t}function hUt(t){this.a=t}function fUt(t){this.a=t}function dUt(t){this.a=t}function gUt(t){this.a=t}function pUt(t){this.a=t}function bUt(t){this.c=t}function wUt(t){this.b=t}function mUt(t){this.a=t}function vUt(t){this.a=t}function yUt(t){this.a=t}function xUt(t){this.a=t}function kUt(t){this.a=t}function EUt(t){this.a=t}function TUt(t){this.a=t}function CUt(t){this.a=t}function SUt(t){this.a=t}function _Ut(t){this.a=t}function AUt(t){this.a=t}function LUt(t){this.a=t}function DUt(t){this.a=t}function MUt(t){this.a=t}function IUt(t){this.a=t}function OUt(t){this.a=t}function NUt(t){this.a=t}function PUt(t){this.a=t}function FUt(t){this.a=t}function BUt(t){this.a=t}function RUt(t){this.a=t}function jUt(t){this.a=t}function $Ut(t){this.a=t}function zUt(t){this.a=t}function qUt(t){this.a=t}function HUt(t){this.a=t}function VUt(t){this.a=t}function gg(t){this.a=t}function M4(t){this.a=t}function UUt(t){this.a=t}function GUt(t){this.a=t}function KUt(t){this.a=t}function WUt(t){this.a=t}function YUt(t){this.a=t}function XUt(t){this.a=t}function QUt(t){this.a=t}function JUt(t){this.a=t}function ZUt(t){this.a=t}function tGt(t){this.a=t}function eGt(t){this.a=t}function nGt(t){this.a=t}function rGt(t){this.a=t}function iGt(t){this.a=t}function sGt(t){this.a=t}function aGt(t){this.a=t}function oGt(t){this.a=t}function cGt(t){this.a=t}function uGt(t){this.a=t}function lGt(t){this.a=t}function hGt(t){this.a=t}function fGt(t){this.a=t}function dGt(t){this.a=t}function gGt(t){this.a=t}function pGt(t){this.a=t}function bGt(t){this.a=t}function r$(t){this.a=t}function wGt(t){this.f=t}function mGt(t){this.a=t}function vGt(t){this.a=t}function yGt(t){this.a=t}function xGt(t){this.a=t}function kGt(t){this.a=t}function EGt(t){this.a=t}function TGt(t){this.a=t}function CGt(t){this.a=t}function SGt(t){this.a=t}function _Gt(t){this.a=t}function AGt(t){this.a=t}function LGt(t){this.a=t}function DGt(t){this.a=t}function MGt(t){this.a=t}function IGt(t){this.a=t}function OGt(t){this.a=t}function NGt(t){this.a=t}function PGt(t){this.a=t}function FGt(t){this.a=t}function BGt(t){this.a=t}function RGt(t){this.a=t}function jGt(t){this.a=t}function $Gt(t){this.a=t}function zGt(t){this.a=t}function qGt(t){this.a=t}function HGt(t){this.a=t}function VGt(t){this.a=t}function UGt(t){this.a=t}function Fnt(t){this.a=t}function O2t(t){this.a=t}function Oi(t){this.b=t}function GGt(t){this.a=t}function KGt(t){this.a=t}function WGt(t){this.a=t}function YGt(t){this.a=t}function XGt(t){this.a=t}function QGt(t){this.a=t}function JGt(t){this.a=t}function ZGt(t){this.b=t}function tKt(t){this.a=t}function AM(t){this.a=t}function eKt(t){this.a=t}function nKt(t){this.a=t}function N2t(t){this.c=t}function i$(t){this.e=t}function s$(t){this.a=t}function a$(t){this.a=t}function Bnt(t){this.a=t}function rKt(t){this.d=t}function iKt(t){this.a=t}function P2t(t){this.a=t}function F2t(t){this.a=t}function um(t){this.e=t}function vnn(){this.a=0}function _r(){dl(this)}function fe(){Qrt(this)}function Rnt(){zee(this)}function sKt(){}function lm(){this.c=qIt}function aKt(t,e){t.b+=e}function ynn(t,e){e.Wb(t)}function xnn(t){return t.a}function knn(t){return t.a}function Enn(t){return t.a}function Tnn(t){return t.a}function Cnn(t){return t.a}function at(t){return t.e}function Snn(){return null}function _nn(){return null}function Ann(){xwt(),oSn()}function Lnn(t){t.b.Of(t.e)}function oKt(t){t.b=new irt}function zC(t,e){t.b=e-t.b}function qC(t,e){t.a=e-t.a}function In(t,e){t.push(e)}function cKt(t,e){t.sort(e)}function uKt(t,e){e.jd(t.a)}function Dnn(t,e){Xs(e,t)}function Mnn(t,e,n){t.Yd(n,e)}function LM(t,e){t.e=e,e.b=t}function B2t(t){Vd(),this.a=t}function lKt(t){Vd(),this.a=t}function hKt(t){Vd(),this.a=t}function jnt(t){Dm(),this.a=t}function fKt(t){$E(),Aht.le(t)}function R2t(){R2t=V,new _r}function q2(){MJt.call(this)}function j2t(){MJt.call(this)}function $2t(){q2.call(this)}function $nt(){q2.call(this)}function dKt(){q2.call(this)}function DM(){q2.call(this)}function Xu(){q2.call(this)}function E6(){q2.call(this)}function Vr(){q2.call(this)}function Th(){q2.call(this)}function gKt(){q2.call(this)}function cc(){q2.call(this)}function pKt(){q2.call(this)}function bKt(){this.a=this}function o$(){this.Bb|=256}function wKt(){this.b=new TQt}function wy(t,e){t.length=e}function c$(t,e){ge(t.a,e)}function Inn(t,e){h6t(t.c,e)}function Onn(t,e){qs(t.b,e)}function Nnn(t,e){IH(t.a,e)}function Pnn(t,e){jat(t.a,e)}function hE(t,e){Ei(t.e,e)}function T6(t){WH(t.c,t.b)}function Fnn(t,e){t.kc().Nb(e)}function z2t(t){this.a=A2n(t)}function Os(){this.a=new _r}function mKt(){this.a=new _r}function q2t(){this.a=new BYt}function u$(){this.a=new fe}function znt(){this.a=new fe}function H2t(){this.a=new fe}function tf(){this.a=new I2}function H2(){this.a=new dse}function V2t(){this.a=new O2}function U2t(){this.a=new sre}function G2t(){this.a=new wZt}function vKt(){this.a=new fe}function yKt(){this.a=new fe}function xKt(){this.a=new fe}function K2t(){this.a=new fe}function kKt(){this.d=new fe}function EKt(){this.a=new Cre}function TKt(){this.a=new Os}function CKt(){this.a=new _r}function SKt(){this.b=new _r}function _Kt(){this.b=new fe}function W2t(){this.e=new fe}function AKt(){this.a=new Yet}function LKt(){this.d=new fe}function DKt(){Dne.call(this)}function MKt(){Dne.call(this)}function IKt(){fe.call(this)}function Y2t(){$2t.call(this)}function X2t(){u$.call(this)}function OKt(){gz.call(this)}function NKt(){K2t.call(this)}function HC(){sKt.call(this)}function qnt(){HC.call(this)}function C6(){sKt.call(this)}function Q2t(){C6.call(this)}function PKt(){ewt.call(this)}function FKt(){ewt.call(this)}function BKt(){ewt.call(this)}function RKt(){nwt.call(this)}function VC(){Wtt.call(this)}function J2t(){Wtt.call(this)}function Qu(){Ki.call(this)}function jKt(){tWt.call(this)}function $Kt(){tWt.call(this)}function zKt(){_r.call(this)}function qKt(){_r.call(this)}function HKt(){_r.call(this)}function Hnt(){Roe.call(this)}function VKt(){Os.call(this)}function UKt(){o$.call(this)}function Vnt(){Pmt.call(this)}function Z2t(){_r.call(this)}function Unt(){Pmt.call(this)}function Gnt(){_r.call(this)}function GKt(){_r.call(this)}function twt(){E4.call(this)}function KKt(){twt.call(this)}function WKt(){E4.call(this)}function YKt(){kj.call(this)}function ewt(){this.a=new Os}function XKt(){this.a=new _r}function QKt(){this.a=new fe}function nwt(){this.a=new _r}function S6(){this.a=new Ki}function JKt(){this.j=new fe}function ZKt(){this.a=new QWt}function tWt(){this.a=new Qtt}function rwt(){this.a=new Xi}function UC(){UC=V,yht=new _}function Knt(){Knt=V,xht=new nWt}function Wnt(){Wnt=V,kht=new eWt}function eWt(){sE.call(this,"")}function nWt(){sE.call(this,"")}function rWt(t){ooe.call(this,t)}function iWt(t){ooe.call(this,t)}function iwt(t){qj.call(this,t)}function swt(t){SYt.call(this,t)}function Bnn(t){SYt.call(this,t)}function Rnn(t){swt.call(this,t)}function jnn(t){swt.call(this,t)}function $nn(t){swt.call(this,t)}function sWt(t){Sst.call(this,t)}function aWt(t){Sst.call(this,t)}function oWt(t){jZt.call(this,t)}function cWt(t){Awt.call(this,t)}function GC(t){y$.call(this,t)}function awt(t){y$.call(this,t)}function uWt(t){y$.call(this,t)}function owt(t){c4n.call(this,t)}function cwt(t){owt.call(this,t)}function uc(t){aee.call(this,t)}function lWt(t){uc.call(this,t)}function _6(){uE.call(this,{})}function hWt(){hWt=V,Kve=new K}function l$(){l$=V,Cht=new oJt}function fWt(){fWt=V,r9t=new S}function uwt(){uwt=V,i9t=new ct}function h$(){h$=V,mA=new gt}function Ynt(t){EE(),this.a=t}function Xnt(t){F4t(),this.a=t}function my(t){Nit(),this.f=t}function Qnt(t){Nit(),this.f=t}function dWt(t){KZt(),this.a=t}function gWt(t){t.b=null,t.c=0}function znn(t,e){t.e=e,Wde(t,e)}function qnn(t,e){t.a=e,Y4n(t)}function Jnt(t,e,n){t.a[e.g]=n}function Hnn(t,e,n){lyn(n,t,e)}function Vnn(t,e){jan(e.i,t.n)}function pWt(t,e){ubn(t).Cd(e)}function Unn(t,e){t.a.ec().Mc(e)}function bWt(t,e){return t.g-e.g}function Gnn(t,e){return t*t/e}function Ie(t){return Wn(t),t}function Rt(t){return Wn(t),t}function MM(t){return Wn(t),t}function Knn(t){return new cE(t)}function Wnn(t){return new Oy(t)}function lwt(t){return Wn(t),t}function Ynn(t){return Wn(t),t}function f$(t){uc.call(this,t)}function Bo(t){uc.call(this,t)}function wWt(t){uc.call(this,t)}function Znt(t){aee.call(this,t)}function fE(t){uc.call(this,t)}function zn(t){uc.call(this,t)}function Ro(t){uc.call(this,t)}function mWt(t){uc.call(this,t)}function A6(t){uc.call(this,t)}function hp(t){uc.call(this,t)}function fp(t){uc.call(this,t)}function L6(t){uc.call(this,t)}function Rd(t){uc.call(this,t)}function trt(t){uc.call(this,t)}function Yr(t){uc.call(this,t)}function hl(t){Wn(t),this.a=t}function hwt(t){return cw(t),t}function KC(t){Eyt(t,t.length)}function WC(t){return t.b==t.c}function vy(t){return!!t&&t.b}function Xnn(t){return!!t&&t.k}function Qnn(t){return!!t&&t.j}function Jnn(t,e,n){t.c.Ef(e,n)}function vWt(t,e){t.be(e),e.ae(t)}function D6(t){Vd(),this.a=Hr(t)}function ert(){this.a=Gr(Hr(ao))}function yWt(){throw at(new Vr)}function Znn(){throw at(new Vr)}function fwt(){throw at(new Vr)}function xWt(){throw at(new Vr)}function trn(){throw at(new Vr)}function ern(){throw at(new Vr)}function d$(){d$=V,$E()}function dp(){Sr.call(this,"")}function YC(){Sr.call(this,"")}function yb(){Sr.call(this,"")}function I4(){Sr.call(this,"")}function dwt(t){Bo.call(this,t)}function gwt(t){Bo.call(this,t)}function jd(t){zn.call(this,t)}function dE(t){Ta.call(this,t)}function kWt(t){dE.call(this,t)}function nrt(t){uz.call(this,t)}function rrt(t){Kmt.call(this,t,0)}function irt(){s3t.call(this,12,3)}function ut(t,e){return Zne(t,e)}function g$(t,e){return zst(t,e)}function nrn(t,e){return t.a-e.a}function rrn(t,e){return t.a-e.a}function irn(t,e){return t.a-e.a}function srn(t,e){return e in t.a}function EWt(t){return t.a?t.b:0}function arn(t){return t.a?t.b:0}function orn(t,e,n){e.Cd(t.a[n])}function crn(t,e,n){e.Pe(t.a[n])}function urn(t,e){t.b=new io(e)}function lrn(t,e){return t.b=e,t}function TWt(t,e){return t.c=e,t}function CWt(t,e){return t.f=e,t}function hrn(t,e){return t.g=e,t}function pwt(t,e){return t.a=e,t}function bwt(t,e){return t.f=e,t}function frn(t,e){return t.k=e,t}function wwt(t,e){return t.a=e,t}function drn(t,e){return t.e=e,t}function mwt(t,e){return t.e=e,t}function grn(t,e){return t.f=e,t}function prn(t,e){t.b=!0,t.d=e}function brn(t,e){return t.b-e.b}function wrn(t,e){return t.g-e.g}function mrn(t,e){return t?0:e-1}function SWt(t,e){return t?0:e-1}function vrn(t,e){return t?e-1:0}function yrn(t,e){return t.s-e.s}function xrn(t,e){return e.rg(t)}function hm(t,e){return t.b=e,t}function p$(t,e){return t.a=e,t}function fm(t,e){return t.c=e,t}function dm(t,e){return t.d=e,t}function gm(t,e){return t.e=e,t}function vwt(t,e){return t.f=e,t}function XC(t,e){return t.a=e,t}function gE(t,e){return t.b=e,t}function pE(t,e){return t.c=e,t}function Ve(t,e){return t.c=e,t}function fn(t,e){return t.b=e,t}function Ue(t,e){return t.d=e,t}function Ge(t,e){return t.e=e,t}function krn(t,e){return t.f=e,t}function Ke(t,e){return t.g=e,t}function We(t,e){return t.a=e,t}function Ye(t,e){return t.i=e,t}function Xe(t,e){return t.j=e,t}function Ern(t,e){Vb(),hc(e,t)}function Trn(t,e,n){$un(t.a,e,n)}function b$(t){pit.call(this,t)}function _Wt(t){H2n.call(this,t)}function AWt(t){one.call(this,t)}function ywt(t){one.call(this,t)}function xb(t){$m.call(this,t)}function LWt(t){ist.call(this,t)}function DWt(t){ist.call(this,t)}function MWt(){Lmt.call(this,"")}function Sa(){this.a=0,this.b=0}function IWt(){this.b=0,this.a=0}function OWt(t,e){t.b=0,Hy(t,e)}function NWt(t,e){return t.k=e,t}function Crn(t,e){return t.j=e,t}function Srn(t,e){t.c=e,t.b=!0}function PWt(){PWt=V,aye=Byn()}function kb(){kb=V,Z7e=Wvn()}function FWt(){FWt=V,da=a3n()}function xwt(){xwt=V,b2=e7()}function bE(){bE=V,zIt=Yvn()}function BWt(){BWt=V,BTe=Xvn()}function kwt(){kwt=V,Bc=G4n()}function y1(t){return t.e&&t.e()}function RWt(t){return t.l|t.m<<22}function jWt(t,e){return t.c._b(e)}function $Wt(t,e){return Bue(t.b,e)}function srt(t){return t?t.d:null}function _rn(t){return t?t.g:null}function Arn(t){return t?t.i:null}function V2(t){return wg(t),t.o}function O4(t,e){return t.a+=e,t}function art(t,e){return t.a+=e,t}function gp(t,e){return t.a+=e,t}function pm(t,e){return t.a+=e,t}function Ewt(t,e){for(;t.Bd(e););}function w$(t){this.a=new M6(t)}function zWt(){throw at(new Vr)}function qWt(){throw at(new Vr)}function HWt(){throw at(new Vr)}function VWt(){throw at(new Vr)}function UWt(){throw at(new Vr)}function GWt(){throw at(new Vr)}function pp(t){this.a=new Bit(t)}function KWt(){this.a=new L_(PLt)}function WWt(){this.b=new L_(tLt)}function YWt(){this.a=new L_(sDt)}function XWt(){this.b=new L_(bdt)}function QWt(){this.b=new L_(bdt)}function m$(t){this.a=0,this.b=t}function Twt(t){Spe(),ySn(this,t)}function wE(t){return Mb(t),t.a}function IM(t){return t.b!=t.d.c}function Cwt(t,e){return t.d[e.p]}function JWt(t,e){return Bkn(t,e)}function Swt(t,e,n){t.splice(e,n)}function N4(t,e){for(;t.Re(e););}function ZWt(t){t.c?f0e(t):d0e(t)}function tYt(){throw at(new Vr)}function eYt(){throw at(new Vr)}function nYt(){throw at(new Vr)}function rYt(){throw at(new Vr)}function iYt(){throw at(new Vr)}function sYt(){throw at(new Vr)}function aYt(){throw at(new Vr)}function oYt(){throw at(new Vr)}function cYt(){throw at(new Vr)}function uYt(){throw at(new Vr)}function Lrn(){throw at(new cc)}function Drn(){throw at(new cc)}function OM(t){this.a=new lYt(t)}function lYt(t){Ngn(this,t,f4n())}function NM(t){return!t||$ee(t)}function PM(t){return _d[t]!=-1}function Mrn(){MU!=0&&(MU=0),IU=-1}function hYt(){vht==null&&(vht=[])}function FM(t,e){W4.call(this,t,e)}function mE(t,e){FM.call(this,t,e)}function fYt(t,e){this.a=t,this.b=e}function dYt(t,e){this.a=t,this.b=e}function gYt(t,e){this.a=t,this.b=e}function pYt(t,e){this.a=t,this.b=e}function bYt(t,e){this.a=t,this.b=e}function wYt(t,e){this.a=t,this.b=e}function mYt(t,e){this.a=t,this.b=e}function vE(t,e){this.e=t,this.d=e}function _wt(t,e){this.b=t,this.c=e}function vYt(t,e){this.b=t,this.a=e}function yYt(t,e){this.b=t,this.a=e}function xYt(t,e){this.b=t,this.a=e}function kYt(t,e){this.b=t,this.a=e}function EYt(t,e){this.a=t,this.b=e}function ort(t,e){this.a=t,this.b=e}function TYt(t,e){this.a=t,this.f=e}function bm(t,e){this.g=t,this.i=e}function Rr(t,e){this.f=t,this.g=e}function CYt(t,e){this.b=t,this.c=e}function SYt(t){Bmt(t.dc()),this.c=t}function Irn(t,e){this.a=t,this.b=e}function _Yt(t,e){this.a=t,this.b=e}function AYt(t){this.a=u(Hr(t),15)}function Awt(t){this.a=u(Hr(t),15)}function LYt(t){this.a=u(Hr(t),85)}function v$(t){this.b=u(Hr(t),85)}function y$(t){this.b=u(Hr(t),51)}function x$(){this.q=new b.Date}function crt(t,e){this.a=t,this.b=e}function DYt(t,e){return Tu(t.b,e)}function BM(t,e){return t.b.Hc(e)}function MYt(t,e){return t.b.Ic(e)}function IYt(t,e){return t.b.Qc(e)}function OYt(t,e){return t.b.Hc(e)}function NYt(t,e){return t.c.uc(e)}function PYt(t,e){return Ti(t.c,e)}function x1(t,e){return t.a._b(e)}function FYt(t,e){return t>e&&e<z_}function QC(t){return t.f.c+t.i.c}function Orn(t){return Cee(),t?Gve:Uve}function M6(t){Wce.call(this,t,0)}function BYt(){Bit.call(this,null)}function I6(t){this.c=t,Fae(this)}function Ki(){eJt(this),nh(this)}function pg(){pg=V,Qve=new Ot}function yE(){yE=V,mT=new xt}function yy(){yy=V,Nht=new kQt}function k$(){k$=V,cye=new EQt}function xE(){xE=V,M9t=new Xt}function Lwt(){Bst.call(this,null)}function U2(){U2=V,Rk=new an}function ms(t,e){Mb(t),t.a.Nb(e)}function Nrn(t,e){return t.a.Xc(e)}function Prn(t,e){return t.a.Yc(e)}function urt(t,e){return t.a.$c(e)}function lrt(t,e){return t.a._c(e)}function Frn(t,e){return t.Gc(e),t}function Brn(t,e){return Ma(t,e),t}function Rrn(t,e){Got(Qt(t.a),e)}function jrn(t,e){Got(Qt(t.a),e)}function RYt(t,e){return t.Gc(e),t}function $rn(t,e){return t.a.f=e,t}function jYt(t,e){return t.a.d=e,t}function $Yt(t,e){return t.a.g=e,t}function zYt(t,e){return t.a.j=e,t}function Mf(t,e){return t.a.a=e,t}function If(t,e){return t.a.d=e,t}function Of(t,e){return t.a.e=e,t}function Nf(t,e){return t.a.g=e,t}function RM(t,e){return t.a.f=e,t}function zrn(t){return t.b=!1,t}function qYt(){qYt=V,mye=new va}function E$(){E$=V,Wht=new KJt}function Dwt(){Dwt=V,n4e=new N2}function HYt(){HYt=V,r4e=new hb}function Mwt(){Mwt=V,i4e=new Wte}function Iwt(){Iwt=V,_Ct=new sp}function VYt(){VYt=V,d4e=new p1}function JC(){JC=V,p4e=new oy}function jM(){jM=V,v4e=new W9}function $M(){$M=V,m4e=new Sa}function UYt(){UYt=V,E4e=new y0}function ZC(){ZC=V,M4e=new iC}function T$(){T$=V,R5=new CJ}function C$(){C$=V,D6e=new $tt}function S$(){S$=V,wdt=new KYt}function _$(){_$=V,mdt=new GJt}function tS(){tS=V,kP=new Kee}function GYt(){Moe(),this.c=new irt}function KYt(){Rr.call(this,A2e,0)}function qrn(t,e,n){jo(t.d,e.f,n)}function Hrn(t,e,n,r){vmn(t,r,e,n)}function Vrn(t,e,n,r){V6n(r,t,e,n)}function Urn(t,e,n,r){yCn(r,t,e,n)}function eS(t,e){Op(t.c.c,e.b,e)}function wm(t,e){Op(t.c.b,e.c,e)}function Grn(t){return t.e.b+t.f.b}function Krn(t){return t.e.a+t.f.a}function Wrn(t){return t.b?t.b:t.a}function Yrn(t){return(t.c+t.a)/2}function WYt(t,e){return Lvn(t.a,e)}function nS(t,e){return t.a=e.g,t}function Owt(){Owt=V,$It=new GKt}function YYt(){YYt=V,vTe=new HKt}function xy(){xy=V,Q7e=new ztt}function XYt(){XYt=V,sTe=new Ytt}function QYt(){QYt=V,mTe=new qKt}function Eb(){Eb=V,yf=new Z2t}function A$(){A$=V,KK=new _r}function rS(){rS=V,i0t=new sJt}function bp(){bp=V,KP=new aJt}function hrt(){hrt=V,OTe=new wet}function vo(){vo=V,PTe=new T4}function Tb(){Tb=V,y2=new Ej}function Nwt(){Nwt=V,QIt=new fe}function L$(t){return u(t,44).ld()}function frt(t){return t.b<t.d.gc()}function Xrn(t,e){return e.split(t)}function drt(t,e){return $c(t,e)>0}function grt(t,e){return $c(t,e)<0}function JYt(t,e){return Dit(t.a,e)}function Qrn(t,e){tre.call(this,t,e)}function Pwt(t){Yit(),jZt.call(this,t)}function Fwt(t,e){Kte(t,t.length,e)}function zM(t,e){xee(t,t.length,e)}function iS(t,e){return t.a.get(e)}function ZYt(t,e){return Tu(t.e,e)}function Bwt(t){return Wn(t),!1}function Rwt(t){this.a=u(Hr(t),229)}function D$(t){gn.call(this,t,21)}function M$(t,e){Rr.call(this,t,e)}function prt(t,e){Rr.call(this,t,e)}function tXt(t,e){this.b=t,this.a=e}function I$(t,e){this.d=t,this.e=e}function eXt(t,e){this.a=t,this.b=e}function nXt(t,e){this.a=t,this.b=e}function rXt(t,e){this.a=t,this.b=e}function iXt(t,e){this.a=t,this.b=e}function O6(t,e){this.a=t,this.b=e}function sXt(t,e){this.b=t,this.a=e}function jwt(t,e){this.b=t,this.a=e}function $wt(t,e){Rr.call(this,t,e)}function zwt(t,e){Rr.call(this,t,e)}function P4(t,e){Rr.call(this,t,e)}function brt(t,e){Rr.call(this,t,e)}function wrt(t,e){Rr.call(this,t,e)}function mrt(t,e){Rr.call(this,t,e)}function O$(t,e){Rr.call(this,t,e)}function qwt(t,e){this.b=t,this.a=e}function N$(t,e){Rr.call(this,t,e)}function Hwt(t,e){this.b=t,this.a=e}function P$(t,e){Rr.call(this,t,e)}function aXt(t,e){this.b=t,this.a=e}function Vwt(t,e){Rr.call(this,t,e)}function vrt(t,e){Rr.call(this,t,e)}function qM(t,e){Rr.call(this,t,e)}function sS(t,e,n){t.splice(e,0,n)}function Jrn(t,e,n){t.Mb(n)&&e.Cd(n)}function Zrn(t,e,n){e.Pe(t.a.Ye(n))}function tin(t,e,n){e.Dd(t.a.Ze(n))}function ein(t,e,n){e.Cd(t.a.Kb(n))}function nin(t,e){return Zu(t.c,e)}function rin(t,e){return Zu(t.e,e)}function F$(t,e){Rr.call(this,t,e)}function B$(t,e){Rr.call(this,t,e)}function aS(t,e){Rr.call(this,t,e)}function Uwt(t,e){Rr.call(this,t,e)}function Ns(t,e){Rr.call(this,t,e)}function R$(t,e){Rr.call(this,t,e)}function oXt(t,e){this.a=t,this.b=e}function cXt(t,e){this.a=t,this.b=e}function uXt(t,e){this.a=t,this.b=e}function lXt(t,e){this.a=t,this.b=e}function hXt(t,e){this.a=t,this.b=e}function fXt(t,e){this.a=t,this.b=e}function dXt(t,e){this.b=t,this.a=e}function gXt(t,e){this.b=t,this.a=e}function Gwt(t,e){this.b=t,this.a=e}function kE(t,e){this.c=t,this.d=e}function pXt(t,e){this.e=t,this.d=e}function bXt(t,e){this.a=t,this.b=e}function wXt(t,e){this.a=t,this.b=e}function mXt(t,e){this.a=t,this.b=e}function vXt(t,e){this.b=t,this.a=e}function yXt(t,e){this.b=e,this.c=t}function j$(t,e){Rr.call(this,t,e)}function HM(t,e){Rr.call(this,t,e)}function yrt(t,e){Rr.call(this,t,e)}function Kwt(t,e){Rr.call(this,t,e)}function oS(t,e){Rr.call(this,t,e)}function xrt(t,e){Rr.call(this,t,e)}function krt(t,e){Rr.call(this,t,e)}function VM(t,e){Rr.call(this,t,e)}function Wwt(t,e){Rr.call(this,t,e)}function Ert(t,e){Rr.call(this,t,e)}function cS(t,e){Rr.call(this,t,e)}function Ywt(t,e){Rr.call(this,t,e)}function uS(t,e){Rr.call(this,t,e)}function lS(t,e){Rr.call(this,t,e)}function ky(t,e){Rr.call(this,t,e)}function Trt(t,e){Rr.call(this,t,e)}function Crt(t,e){Rr.call(this,t,e)}function Xwt(t,e){Rr.call(this,t,e)}function UM(t,e){Rr.call(this,t,e)}function F4(t,e){Rr.call(this,t,e)}function Srt(t,e){Rr.call(this,t,e)}function $$(t,e){Rr.call(this,t,e)}function GM(t,e){Rr.call(this,t,e)}function Ey(t,e){Rr.call(this,t,e)}function z$(t,e){Rr.call(this,t,e)}function Qwt(t,e){Rr.call(this,t,e)}function _rt(t,e){Rr.call(this,t,e)}function Art(t,e){Rr.call(this,t,e)}function Lrt(t,e){Rr.call(this,t,e)}function Drt(t,e){Rr.call(this,t,e)}function Mrt(t,e){Rr.call(this,t,e)}function Irt(t,e){Rr.call(this,t,e)}function Ort(t,e){Rr.call(this,t,e)}function xXt(t,e){this.b=t,this.a=e}function Jwt(t,e){Rr.call(this,t,e)}function kXt(t,e){this.a=t,this.b=e}function EXt(t,e){this.a=t,this.b=e}function TXt(t,e){this.a=t,this.b=e}function Zwt(t,e){Rr.call(this,t,e)}function tmt(t,e){Rr.call(this,t,e)}function CXt(t,e){this.a=t,this.b=e}function iin(t,e){return LE(),e!=t}function KM(t){return ur(t.a),t.b}function Nrt(t){return hxn(t,t.c),t}function SXt(){return PWt(),new aye}function _Xt(){vz(),this.a=new wvt}function AXt(){rV(),this.a=new Os}function LXt(){gst(),this.b=new Os}function DXt(t,e){this.b=t,this.d=e}function MXt(t,e){this.a=t,this.b=e}function IXt(t,e){this.a=t,this.b=e}function OXt(t,e){this.a=t,this.b=e}function NXt(t,e){this.b=t,this.a=e}function emt(t,e){Rr.call(this,t,e)}function nmt(t,e){Rr.call(this,t,e)}function q$(t,e){Rr.call(this,t,e)}function mm(t,e){Rr.call(this,t,e)}function Prt(t,e){Rr.call(this,t,e)}function H$(t,e){Rr.call(this,t,e)}function rmt(t,e){Rr.call(this,t,e)}function imt(t,e){Rr.call(this,t,e)}function WM(t,e){Rr.call(this,t,e)}function smt(t,e){Rr.call(this,t,e)}function Frt(t,e){Rr.call(this,t,e)}function V$(t,e){Rr.call(this,t,e)}function Brt(t,e){Rr.call(this,t,e)}function Rrt(t,e){Rr.call(this,t,e)}function jrt(t,e){Rr.call(this,t,e)}function $rt(t,e){Rr.call(this,t,e)}function amt(t,e){Rr.call(this,t,e)}function zrt(t,e){Rr.call(this,t,e)}function omt(t,e){Rr.call(this,t,e)}function YM(t,e){Rr.call(this,t,e)}function qrt(t,e){Rr.call(this,t,e)}function cmt(t,e){Rr.call(this,t,e)}function XM(t,e){Rr.call(this,t,e)}function umt(t,e){Rr.call(this,t,e)}function PXt(t,e){this.b=t,this.a=e}function FXt(t,e){this.b=t,this.a=e}function BXt(t,e){this.b=t,this.a=e}function RXt(t,e){this.b=t,this.a=e}function lmt(t,e){this.a=t,this.b=e}function jXt(t,e){this.a=t,this.b=e}function $Xt(t,e){this.a=t,this.b=e}function ae(t,e){this.a=t,this.b=e}function hS(t,e){Rr.call(this,t,e)}function QM(t,e){Rr.call(this,t,e)}function N6(t,e){Rr.call(this,t,e)}function fS(t,e){Rr.call(this,t,e)}function JM(t,e){Rr.call(this,t,e)}function Hrt(t,e){Rr.call(this,t,e)}function U$(t,e){Rr.call(this,t,e)}function dS(t,e){Rr.call(this,t,e)}function Vrt(t,e){Rr.call(this,t,e)}function G$(t,e){Rr.call(this,t,e)}function B4(t,e){Rr.call(this,t,e)}function ZM(t,e){Rr.call(this,t,e)}function gS(t,e){Rr.call(this,t,e)}function pS(t,e){Rr.call(this,t,e)}function tI(t,e){Rr.call(this,t,e)}function K$(t,e){Rr.call(this,t,e)}function R4(t,e){Rr.call(this,t,e)}function Urt(t,e){Rr.call(this,t,e)}function zXt(t,e){Rr.call(this,t,e)}function W$(t,e){Rr.call(this,t,e)}function qXt(t,e){this.a=t,this.b=e}function HXt(t,e){this.a=t,this.b=e}function VXt(t,e){this.a=t,this.b=e}function UXt(t,e){this.a=t,this.b=e}function GXt(t,e){this.a=t,this.b=e}function KXt(t,e){this.a=t,this.b=e}function Ws(t,e){this.a=t,this.b=e}function WXt(t,e){this.a=t,this.b=e}function YXt(t,e){this.a=t,this.b=e}function XXt(t,e){this.a=t,this.b=e}function QXt(t,e){this.a=t,this.b=e}function JXt(t,e){this.a=t,this.b=e}function ZXt(t,e){this.a=t,this.b=e}function tQt(t,e){this.b=t,this.a=e}function eQt(t,e){this.b=t,this.a=e}function nQt(t,e){this.b=t,this.a=e}function rQt(t,e){this.b=t,this.a=e}function iQt(t,e){this.a=t,this.b=e}function sQt(t,e){this.a=t,this.b=e}function Y$(t,e){Rr.call(this,t,e)}function aQt(t,e){this.a=t,this.b=e}function oQt(t,e){this.a=t,this.b=e}function P6(t,e){Rr.call(this,t,e)}function cQt(t,e){this.f=t,this.c=e}function hmt(t,e){return Zu(t.g,e)}function sin(t,e){return Zu(e.b,t)}function uQt(t,e){return Yat(t.a,e)}function ain(t,e){return-t.b.af(e)}function oin(t,e){t&&hi(VP,t,e)}function fmt(t,e){t.i=null,Gq(t,e)}function cin(t,e,n){tfe(e,zot(t,n))}function uin(t,e,n){tfe(e,zot(t,n))}function lin(t,e){R6n(t.a,u(e,58))}function lQt(t,e){N0n(t.a,u(e,12))}function X$(t,e){this.a=t,this.b=e}function hQt(t,e){this.a=t,this.b=e}function fQt(t,e){this.a=t,this.b=e}function dQt(t,e){this.a=t,this.b=e}function gQt(t,e){this.a=t,this.b=e}function pQt(t,e){this.d=t,this.b=e}function bQt(t,e){this.e=t,this.a=e}function eI(t,e){this.b=t,this.c=e}function dmt(t,e){this.i=t,this.g=e}function gmt(t,e){this.d=t,this.e=e}function hin(t,e){Y0n(new Zn(t),e)}function Q$(t){return wO(t.c,t.b)}function Ko(t){return t?t.md():null}function $t(t){return t??null}function ba(t){return typeof t===Nct}function Ty(t){return typeof t===kk}function Cy(t){return typeof t===u8t}function vm(t,e){return $c(t,e)==0}function J$(t,e){return $c(t,e)>=0}function bS(t,e){return $c(t,e)!=0}function Z$(t,e){return fpn(t.Kc(),e)}function Cb(t,e){return t.Rd().Xb(e)}function wQt(t){return Ll(t),t.d.gc()}function tz(t){return AS(t==null),t}function wS(t,e){return t.a+=""+e,t}function Mo(t,e){return t.a+=""+e,t}function mS(t,e){return t.a+=""+e,t}function tu(t,e){return t.a+=""+e,t}function ni(t,e){return t.a+=""+e,t}function pmt(t,e){return t.a+=""+e,t}function fin(t){return""+(Wn(t),t)}function mQt(t){dl(this),t_(this,t)}function vQt(){i3t(),lyt.call(this)}function yQt(t,e){pyt.call(this,t,e)}function xQt(t,e){pyt.call(this,t,e)}function ez(t,e){pyt.call(this,t,e)}function ro(t,e){hs(t,e,t.c.b,t.c)}function j4(t,e){hs(t,e,t.a,t.a.a)}function bmt(t){return vn(t,0),null}function kQt(){this.b=0,this.a=!1}function EQt(){this.b=0,this.a=!1}function TQt(){this.b=new M6(zy(12))}function CQt(){CQt=V,t3e=$r(not())}function SQt(){SQt=V,k4e=$r(Bde())}function _Qt(){_Qt=V,Uke=$r(pce())}function wmt(){wmt=V,R2t(),s9t=new _r}function k1(t){return t.a=0,t.b=0,t}function AQt(t,e){return t.a=e.g+1,t}function Grt(t,e){Dy.call(this,t,e)}function un(t,e){rs.call(this,t,e)}function $4(t,e){dmt.call(this,t,e)}function LQt(t,e){sI.call(this,t,e)}function Krt(t,e){o7.call(this,t,e)}function ui(t,e){A$(),hi(KK,t,e)}function DQt(t,e){t.q.setTime(tw(e))}function din(t){b.clearTimeout(t)}function gin(t){return Hr(t),new vS(t)}function MQt(t,e){return $t(t)===$t(e)}function IQt(t,e){return t.a.a.a.cc(e)}function Wrt(t,e){return Lh(t.a,0,e)}function mmt(t){return wln(u(t,74))}function F6(t){return Ys((Wn(t),t))}function pin(t){return Ys((Wn(t),t))}function OQt(t){return Eu(t.l,t.m,t.h)}function vmt(t,e){return jc(t.a,e.a)}function bin(t,e){return vee(t.a,e.a)}function win(t,e){return Bi(t.a,e.a)}function $d(t,e){return t.indexOf(e)}function min(t,e){return t.j[e.p]==2}function ym(t,e){return t==e?0:t?1:-1}function nz(t){return t<10?"0"+t:""+t}function ec(t){return typeof t===u8t}function vin(t){return t==bv||t==y3}function yin(t){return t==bv||t==v3}function NQt(t,e){return jc(t.g,e.g)}function ymt(t){return Xo(t.b.b,t,0)}function PQt(){Lz.call(this,0,0,0,0)}function zd(){hr.call(this,new kp)}function xmt(t,e){GE(t,0,t.length,e)}function xin(t,e){return ge(t.a,e),e}function kin(t,e){return Bf(),e.a+=t}function Ein(t,e){return Bf(),e.a+=t}function Tin(t,e){return Bf(),e.c+=t}function Cin(t,e){return ge(t.c,e),t}function kmt(t,e){return ch(t.a,e),t}function FQt(t){this.a=SXt(),this.b=t}function BQt(t){this.a=SXt(),this.b=t}function io(t){this.a=t.a,this.b=t.b}function vS(t){this.a=t,DC.call(this)}function RQt(t){this.a=t,DC.call(this)}function B6(){Ah.call(this,0,0,0,0)}function rz(t){return ch(new Fs,t)}function jQt(t){return Kz(u(t,123))}function Hl(t){return t.vh()&&t.wh()}function z4(t){return t!=Td&&t!=d2}function bg(t){return t==Uo||t==tc}function q4(t){return t==Gh||t==kd}function $Qt(t){return t==J5||t==Q5}function Sin(t,e){return jc(t.g,e.g)}function zQt(t,e){return new o7(e,t)}function _in(t,e){return new o7(e,t)}function Emt(t){return Wcn(t.b.Kc(),t.a)}function Yrt(t,e){p7(t,e),t7(t,t.D)}function Xrt(t,e,n){Rq(t,e),Bq(t,n)}function H4(t,e,n){qm(t,e),zm(t,n)}function Ch(t,e,n){Su(t,e),_u(t,n)}function nI(t,e,n){XE(t,e),JE(t,n)}function rI(t,e,n){QE(t,e),ZE(t,n)}function qQt(t,e,n){svt.call(this,t,e,n)}function Tmt(t){cQt.call(this,t,!0)}function HQt(){M$.call(this,"Tail",3)}function VQt(){M$.call(this,"Head",1)}function Sb(t){Xd(),cpn.call(this,t)}function xm(t){Lz.call(this,t,t,t,t)}function Qrt(t){t.c=Vt(aa,Ln,1,0,5,1)}function Cmt(t){return t.b&&bct(t),t.a}function Smt(t){return t.b&&bct(t),t.c}function Ain(t,e){wd||(t.b=e)}function Lin(t,e){return t[t.length]=e}function Din(t,e){return t[t.length]=e}function Min(t,e){return qy(e,ed(t))}function Iin(t,e){return qy(e,ed(t))}function Oin(t,e){return Hq(Kit(t.d),e)}function Nin(t,e){return Hq(Kit(t.g),e)}function Pin(t,e){return Hq(Kit(t.j),e)}function _a(t,e){rs.call(this,t.b,e)}function Fin(t,e){Or(Wc(t.a),hre(e))}function Bin(t,e){Or(Al(t.a),fre(e))}function Rin(t,e,n){Ch(n,n.i+t,n.j+e)}function UQt(t,e,n){ls(t.c[e.g],e.g,n)}function jin(t,e,n){u(t.c,71).Gi(e,n)}function Jrt(t,e,n){return ls(t,e,n),n}function GQt(t){Cu(t.Sf(),new Int(t))}function V4(t){return t!=null?$i(t):0}function $in(t){return t==null?0:$i(t)}function yS(t){yi(),um.call(this,t)}function KQt(t){this.a=t,$vt.call(this,t)}function Z1(){Z1=V,b.Math.log(2)}function Sh(){Sh=V,Q0=(XYt(),sTe)}function WQt(){WQt=V,I1t=new d_(Udt)}function Ur(){Ur=V,new YQt,new fe}function YQt(){new _r,new _r,new _r}function zin(){throw at(new hp(Mve))}function qin(){throw at(new hp(Mve))}function Hin(){throw at(new hp(Ive))}function Vin(){throw at(new hp(Ive))}function Zrt(t){this.a=t,v$.call(this,t)}function tit(t){this.a=t,v$.call(this,t)}function XQt(t,e){Dm(),this.a=t,this.b=e}function Uin(t,e){Hr(e),X4(t).Jc(new ot)}function Ds(t,e){Mit(t.c,t.c.length,e)}function lc(t){return t.a<t.c.c.length}function _mt(t){return t.a<t.c.a.length}function QQt(t,e){return t.a?t.b:e.We()}function jc(t,e){return t<e?-1:t>e?1:0}function Amt(t,e){return $c(t,e)>0?t:e}function Eu(t,e,n){return{l:t,m:e,h:n}}function Gin(t,e){t.a!=null&&lQt(e,t.a)}function Kin(t){Xa(t,null),xa(t,null)}function Win(t,e,n){return hi(t.g,n,e)}function U4(t,e,n){return Q5t(e,n,t.c)}function Yin(t,e,n){return hi(t.k,n,e)}function Xin(t,e,n){return P9n(t,e,n),n}function Qin(t,e){return rh(),e.n.b+=t}function JQt(t){Qyt.call(this),this.b=t}function Lmt(t){bvt.call(this),this.a=t}function ZQt(){M$.call(this,"Range",2)}function iz(t){this.b=t,this.a=new fe}function tJt(t){this.b=new pu,this.a=t}function eJt(t){t.a=new Ae,t.c=new Ae}function nJt(t){t.a=new _r,t.d=new _r}function rJt(t){pst(t,null),bst(t,null)}function iJt(t,e){return B9n(t.a,e,null)}function Jin(t,e){return hi(t.a,e.a,e)}function Oa(t){return new ae(t.a,t.b)}function Dmt(t){return new ae(t.c,t.d)}function Zin(t){return new ae(t.c,t.d)}function xS(t,e){return YTn(t.c,t.b,e)}function Lt(t,e){return t!=null&&aot(t,e)}function eit(t,e){return qpn(t.Kc(),e)!=-1}function sz(t){return t.Ob()?t.Pb():null}function tsn(t){this.b=(mn(),new Kn(t))}function Mmt(t){this.a=t,_r.call(this)}function sJt(){sI.call(this,null,null)}function aJt(){fz.call(this,null,null)}function oJt(){Rr.call(this,"INSTANCE",0)}function cJt(){Dxt(),this.a=new L_(SCt)}function uJt(t){return af(t,0,t.length)}function esn(t,e){return new _Jt(t.Kc(),e)}function Imt(t,e){return t.a.Bc(e)!=null}function lJt(t,e){Ir(t),t.Gc(u(e,15))}function nsn(t,e,n){t.c.bd(e,u(n,136))}function rsn(t,e,n){t.c.Ui(e,u(n,136))}function hJt(t,e){t.c&&(Zvt(e),Bne(e))}function isn(t,e){t.q.setHours(e),N_(t,e)}function ssn(t,e){Tm(e,t.a.a.a,t.a.a.b)}function asn(t,e,n,r){ls(t.a[e.g],n.g,r)}function nit(t,e,n){return t.a[e.g][n.g]}function osn(t,e){return t.e[e.c.p][e.p]}function csn(t,e){return t.c[e.c.p][e.p]}function td(t,e){return t.a[e.c.p][e.p]}function usn(t,e){return t.j[e.p]=y6n(e)}function rit(t,e){return t.a.Bc(e)!=null}function lsn(t,e){return Rt(Ht(e.a))<=t}function hsn(t,e){return Rt(Ht(e.a))>=t}function fsn(t,e){return F3t(t.f,e.Pg())}function R6(t,e){return t.a*e.a+t.b*e.b}function dsn(t,e){return t.a<_vt(e)?-1:1}function gsn(t,e){return F3t(t.b,e.Pg())}function psn(t,e,n){return n?e!=0:e!=t-1}function fJt(t,e,n){t.a=e^1502,t.b=n^dut}function bsn(t,e,n){return t.a=e,t.b=n,t}function qd(t,e){return t.a*=e,t.b*=e,t}function ge(t,e){return In(t.c,e),!0}function kS(t,e,n){return ls(t.g,e,n),n}function Ps(t,e,n){mI.call(this,t,e,n)}function az(t,e,n){Ps.call(this,t,e,n)}function Omt(t,e,n){kz.call(this,t,e,n)}function dJt(t,e,n){kz.call(this,t,e,n)}function gJt(t,e,n){Omt.call(this,t,e,n)}function Ju(t,e,n){Ps.call(this,t,e,n)}function pJt(t,e,n){az.call(this,t,e,n)}function Nmt(t,e,n){mI.call(this,t,e,n)}function G4(t,e,n){mI.call(this,t,e,n)}function bJt(t,e,n){Nmt.call(this,t,e,n)}function oz(t){t.j=Vt(m9t,ue,319,0,0,1)}function K4(){this.a=Vt(aa,Ln,1,8,5,1)}function Pmt(){this.Bb|=256,this.Bb|=512}function Zn(t){this.i=t,this.f=this.i.j}function _b(t){this.c=t,this.a=this.c.a}function W4(t,e){this.a=t,v$.call(this,e)}function Fmt(t,e){return I2n(t,new yb,e).a}function Bmt(t){if(!t)throw at(new DM)}function Rmt(t){if(!t)throw at(new Xu)}function jmt(){jmt=V,jmt(),uye=new sn}function wJt(){wJt=V,hrt(),NTe=new Bj}function EE(){EE=V,A9t=new Ynt(null)}function wsn(t){SI(t,sme),ZH(t,PCn(t))}function mJt(t){t.a=u(jn(t.b.a,4),129)}function vJt(t){t.a=u(jn(t.b.a,4),129)}function yJt(t){t.b.Qb(),--t.d.f.d,Nz(t.d)}function $mt(t){this.a=t,dg.call(this,t.d)}function xJt(t,e){this.a=t,rrt.call(this,e)}function kJt(t,e){this.a=t,rrt.call(this,e)}function EJt(t,e){this.a=t,rrt.call(this,e)}function zmt(t,e){this.a=e,rrt.call(this,t)}function TJt(t,e){this.a=e,Sst.call(this,t)}function CJt(t,e){this.a=t,Sst.call(this,e)}function SJt(t,e){this.a=e,y$.call(this,t)}function _Jt(t,e){this.a=e,y$.call(this,t)}function sr(t,e){return Hr(e),new SJt(t,e)}function AJt(t,e){return new Zfe(t.a,t.b,e)}function qmt(t,e,n){return t.indexOf(e,n)}function cz(t,e){return t.lastIndexOf(e)}function ES(t){return t==null?Vu:rc(t)}function msn(t){return t==null?null:t.name}function vsn(t){return t.l+t.m*Sk+t.h*bw}function ysn(t){return IM(t.a)?dre(t):null}function ef(t){Sr.call(this,(Wn(t),t))}function eh(t){Sr.call(this,(Wn(t),t))}function LJt(t){sE.call(this,u(Hr(t),34))}function DJt(t){sE.call(this,u(Hr(t),34))}function iit(t){hr.call(this,new U3t(t))}function uz(t){Ta.call(this,t),this.a=t}function Hmt(t){eo.call(this,t),this.a=t}function Vmt(t){dE.call(this,t),this.a=t}function MJt(){oz(this),Xz(this),this.je()}function IJt(t){this.a=t,Es.call(this,t)}function Vl(t){return ur(t.a!=null),t.a}function OJt(t,e){return ge(e.a,t.a),t.a}function NJt(t,e){return ge(e.b,t.a),t.a}function km(t,e){return ge(e.a,t.a),t.a}function iI(t,e,n){return dat(t,e,e,n),t}function lz(t,e){return++t.b,ge(t.a,e)}function Umt(t,e){return++t.b,zu(t.a,e)}function xsn(t,e){return Bi(t.c.d,e.c.d)}function ksn(t,e){return Bi(t.c.c,e.c.c)}function Esn(t,e){return Bi(t.n.a,e.n.a)}function ju(t,e){return u(Ai(t.b,e),15)}function Tsn(t,e){return t.n.b=(Wn(e),e)}function Csn(t,e){return t.n.b=(Wn(e),e)}function Zu(t,e){return!!e&&t.b[e.g]==e}function TS(t){return lc(t.a)||lc(t.b)}function Em(t){return t.$H||(t.$H=++i_n)}function Ssn(t){return t.a!=null?t.a:null}function _sn(t,e){return Bi(t.e.b,e.e.b)}function Asn(t,e){return Bi(t.e.a,e.e.a)}function Lsn(t,e,n){return bie(t,e,n,t.b)}function Gmt(t,e,n){return bie(t,e,n,t.c)}function Dsn(t){return Bf(),!!t&&!t.dc()}function PJt(){ZC(),this.b=new WVt(this)}function hz(){hz=V,$U=new rs(Xbe,0)}function Pn(){Pn=V,t2=!1,bT=!0}function wp(t){var e;e=t.a,t.a=t.b,t.b=e}function sI(t,e){rS(),this.a=t,this.b=e}function fz(t,e){bp(),this.b=t,this.c=e}function sit(t,e){Nit(),this.f=e,this.d=t}function Kmt(t,e){P3t(e,t),this.d=t,this.c=e}function Wmt(t,e){ixt.call(this,t,e,null)}function FJt(t,e,n,r){byt.call(this,t,e,n,r)}function j6(t){this.d=t,Zn.call(this,t)}function $6(t){this.c=t,Zn.call(this,t)}function aI(t){this.c=t,j6.call(this,t)}function Msn(t){return new By(3,t)}function C0(t){return oh(t,c3),new wu(t)}function BJt(t){return $E(),parseInt(t)||-1}function Isn(t){return l$(),jr((Vne(),zve),t)}function TE(t,e,n){return qmt(t,Hu(e),n)}function ait(t,e){return new FZt(t,t.gc(),e)}function Osn(t,e){return Pit(t.c).Md().Xb(e)}function CE(t,e,n){var r;r=t.fd(e),r.Rb(n)}function Ymt(t,e,n){u(UI(t,e),21).Fc(n)}function Nsn(t,e,n){jat(t.a,n),IH(t.a,e)}function oI(t){Lt(t,158)&&u(t,158).pi()}function RJt(t){zvt.call(this,t,null,null)}function oit(t){yy(),this.b=t,this.a=!0}function jJt(t){k$(),this.b=t,this.a=!0}function SE(t){return ur(t.b!=0),t.a.a.c}function Pf(t){return ur(t.b!=0),t.c.b.c}function Psn(t,e){return dat(t,e,e+1,""),t}function qi(t,e){return!!t.q&&Tu(t.q,e)}function $Jt(t){return t.b=u(Uyt(t.a),44)}function Fsn(t){return t.f!=null?t.f:""+t.g}function cit(t){return t.f!=null?t.f:""+t.g}function Bsn(t,e){return t>0?e/(t*t):e*100}function Rsn(t,e){return t>0?e*e/t:e*e*100}function Sy(t,e){return u(od(t.a,e),34)}function jsn(t,e){return Vb(),dn(t,e.e,e)}function $sn(t,e,n){return C$(),n.Mg(t,e)}function zsn(t){return Sg(),t.e.a+t.f.a/2}function qsn(t,e,n){return Sg(),n.e.a-t*e}function Hsn(t){return Sg(),t.e.b+t.f.b/2}function Vsn(t,e,n){return Sg(),n.e.b-t*e}function zJt(t){t.d=new RJt(t),t.e=new _r}function qJt(){this.a=new Fm,this.b=new Fm}function HJt(t){this.c=t,this.a=1,this.b=1}function VJt(t){Ict(),oKt(this),this.Ff(t)}function Usn(t,e,n){Tq(),t.pf(e)&&n.Cd(t)}function Gsn(t,e,n){return ge(e,ele(t,n))}function Tm(t,e,n){return t.a+=e,t.b+=n,t}function Ksn(t,e,n){return t.a*=e,t.b*=n,t}function Xmt(t,e){return t.a=e.a,t.b=e.b,t}function dz(t){return t.a=-t.a,t.b=-t.b,t}function CS(t,e,n){return t.a-=e,t.b-=n,t}function UJt(t){Ki.call(this),XS(this,t)}function GJt(){Rr.call(this,"GROW_TREE",0)}function KJt(){Rr.call(this,"POLYOMINO",0)}function Ul(t,e,n){nl.call(this,t,e,n,2)}function Wsn(t,e,n){h_(Wc(t.a),e,hre(n))}function WJt(t,e){rS(),sI.call(this,t,e)}function Qmt(t,e){bp(),fz.call(this,t,e)}function YJt(t,e){bp(),Qmt.call(this,t,e)}function XJt(t,e){bp(),fz.call(this,t,e)}function Ysn(t,e){return t.c.Fc(u(e,136))}function Xsn(t,e,n){h_(Al(t.a),e,fre(n))}function QJt(t){this.c=t,Su(t,0),_u(t,0)}function uit(t,e){Sh(),Iz.call(this,t,e)}function JJt(t,e){Sh(),uit.call(this,t,e)}function Jmt(t,e){Sh(),uit.call(this,t,e)}function Zmt(t,e){Sh(),Iz.call(this,t,e)}function ZJt(t,e){Sh(),Jmt.call(this,t,e)}function tZt(t,e){Sh(),Zmt.call(this,t,e)}function eZt(t,e){Sh(),Iz.call(this,t,e)}function Qsn(t,e,n){return e.zl(t.e,t.c,n)}function Jsn(t,e,n){return e.Al(t.e,t.c,n)}function tvt(t,e,n){return pV(VI(t,e),n)}function lit(t,e){return jb(t.e,u(e,54))}function Zsn(t){return t==null?null:TCn(t)}function tan(t){return t==null?null:w4n(t)}function ean(t){return t==null?null:rc(t)}function nan(t){return t==null?null:rc(t)}function Me(t){return AS(t==null||Ty(t)),t}function Ht(t){return AS(t==null||Cy(t)),t}function Gr(t){return AS(t==null||ba(t)),t}function wg(t){t.o==null&&Yxn(t)}function evt(t){if(!t)throw at(new DM)}function ran(t){if(!t)throw at(new $nt)}function ur(t){if(!t)throw at(new cc)}function _y(t){if(!t)throw at(new Xu)}function nZt(t){if(!t)throw at(new Th)}function _E(){_E=V,GP=new jKt,new $Kt}function Y4(){Y4=V,ex=new Oi("root")}function nvt(){Roe.call(this),this.Bb|=po}function ian(t,e){this.d=t,kr(this),this.b=e}function rvt(t,e){Bst.call(this,t),this.a=e}function ivt(t,e){Bst.call(this,t),this.a=e}function svt(t,e,n){yq.call(this,t,e,n,null)}function rZt(t,e,n){yq.call(this,t,e,n,null)}function cI(t,e){this.c=t,vE.call(this,t,e)}function SS(t,e){this.a=t,cI.call(this,t,e)}function avt(t){this.q=new b.Date(tw(t))}function iZt(t){return t>8?0:t+1}function sZt(t,e){wd||ge(t.a,e)}function san(t,e){return $M(),a7(e.d.i,t)}function aan(t,e){return ok(),new F0e(e,t)}function oan(t,e,n){return t.Ne(e,n)<=0?n:e}function can(t,e,n){return t.Ne(e,n)<=0?e:n}function uan(t,e){return u(od(t.b,e),143)}function lan(t,e){return u(od(t.c,e),233)}function hit(t){return u(Oe(t.a,t.b),293)}function aZt(t){return new ae(t.c,t.d+t.a)}function oZt(t){return Wn(t),t?1231:1237}function cZt(t){return rh(),$Qt(u(t,203))}function Ay(){Ay=V,tCt=en((Yl(),qw))}function han(t,e){e.a?pxn(t,e):rit(t.a,e.b)}function uI(t,e,n){++t.j,t.tj(),Fst(t,e,n)}function uZt(t,e,n){++t.j,t.qj(e,t.Zi(e,n))}function lZt(t,e,n){var r;r=t.fd(e),r.Rb(n)}function ovt(t,e,n){return n=hh(t,e,6,n),n}function cvt(t,e,n){return n=hh(t,e,3,n),n}function uvt(t,e,n){return n=hh(t,e,9,n),n}function Hd(t,e){return SI(e,I8t),t.f=e,t}function lvt(t,e){return(e&xi)%t.d.length}function hZt(t,e,n){return qkt(t.c,t.b,e,n)}function fZt(t,e){this.c=t,$m.call(this,e)}function dZt(t,e){this.a=t,ZGt.call(this,e)}function lI(t,e){this.a=t,ZGt.call(this,e)}function rs(t,e){Oi.call(this,t),this.a=e}function hvt(t,e){N2t.call(this,t),this.a=e}function fit(t,e){N2t.call(this,t),this.a=e}function fan(t){U5t.call(this,0,0),this.f=t}function gZt(t,e,n){return t.a+=af(e,0,n),t}function hI(t){return!t.a&&(t.a=new dt),t.a}function fvt(t,e){var n;return n=t.e,t.e=e,n}function dvt(t,e){var n;return n=e,!!t.Fe(n)}function dan(t,e){return Pn(),t==e?0:t?1:-1}function Ly(t,e){t.a.bd(t.b,e),++t.b,t.c=-1}function fI(t){t.b?fI(t.b):t.f.c.zc(t.e,t.d)}function pZt(t){dl(t.e),t.d.b=t.d,t.d.a=t.d}function gan(t,e,n){U2(),Cnt(t,e.Ve(t.a,n))}function gvt(t,e,n){return W6(t,u(e,22),n)}function Ff(t,e){return g$(new Array(e),t)}function pan(t){return qr(Ab(t,32))^qr(t)}function dit(t){return String.fromCharCode(t)}function ban(t){return t==null?null:t.message}function wan(t,e,n){return t.apply(e,n)}function man(t,e){var n;n=t[fut],n.call(t,e)}function van(t,e){var n;n=t[fut],n.call(t,e)}function yan(t,e){return $M(),!a7(e.d.i,t)}function pvt(t,e,n,r){Lz.call(this,t,e,n,r)}function bZt(){gz.call(this),this.a=new Sa}function bvt(){this.n=new Sa,this.o=new Sa}function wZt(){this.b=new Sa,this.c=new fe}function mZt(){this.a=new fe,this.b=new fe}function vZt(){this.a=new O2,this.b=new wKt}function wvt(){this.b=new kp,this.a=new kp}function yZt(){this.b=new Os,this.a=new Os}function xZt(){this.b=new _r,this.a=new _r}function kZt(){this.b=new WWt,this.a=new uC}function EZt(){this.a=new Xet,this.b=new AJ}function TZt(){this.a=new fe,this.d=new fe}function gz(){this.n=new C6,this.i=new B6}function CZt(t){this.a=(oh(t,c3),new wu(t))}function SZt(t){this.a=(oh(t,c3),new wu(t))}function xan(t){return t<100?null:new xb(t)}function kan(t,e){return t.n.a=(Wn(e),e+10)}function Ean(t,e){return t.n.a=(Wn(e),e+10)}function Tan(t,e){return e==t||L7(JH(e),t)}function _Zt(t,e){return hi(t.a,e,"")==null}function Can(t,e){var n;return n=e.qi(t.a),n}function ki(t,e){return t.a+=e.a,t.b+=e.b,t}function ia(t,e){return t.a-=e.a,t.b-=e.b,t}function San(t){return wy(t.j.c,0),t.a=-1,t}function mvt(t,e,n){return n=hh(t,e,11,n),n}function _an(t,e,n){n!=null&&Vq(e,wot(t,n))}function Aan(t,e,n){n!=null&&Uq(e,wot(t,n))}function z6(t,e,n,r){Jt.call(this,t,e,n,r)}function vvt(t,e,n,r){Jt.call(this,t,e,n,r)}function AZt(t,e,n,r){vvt.call(this,t,e,n,r)}function LZt(t,e,n,r){jz.call(this,t,e,n,r)}function git(t,e,n,r){jz.call(this,t,e,n,r)}function yvt(t,e,n,r){jz.call(this,t,e,n,r)}function DZt(t,e,n,r){git.call(this,t,e,n,r)}function xvt(t,e,n,r){git.call(this,t,e,n,r)}function kn(t,e,n,r){yvt.call(this,t,e,n,r)}function MZt(t,e,n,r){xvt.call(this,t,e,n,r)}function IZt(t,e,n,r){vyt.call(this,t,e,n,r)}function Dy(t,e){Bo.call(this,uA+t+Ew+e)}function kvt(t,e){return t.jk().wi().ri(t,e)}function Evt(t,e){return t.jk().wi().ti(t,e)}function OZt(t,e){return Wn(t),$t(t)===$t(e)}function hn(t,e){return Wn(t),$t(t)===$t(e)}function Lan(t,e){return t.b.Bd(new nXt(t,e))}function Dan(t,e){return t.b.Bd(new rXt(t,e))}function NZt(t,e){return t.b.Bd(new iXt(t,e))}function Man(t,e){return t.e=u(t.d.Kb(e),159)}function Tvt(t,e,n){return t.lastIndexOf(e,n)}function Ian(t,e,n){return Bi(t[e.a],t[n.a])}function Oan(t,e){return Zt(e,(De(),iP),t)}function Nan(t,e){return jc(e.a.d.p,t.a.d.p)}function Pan(t,e){return jc(t.a.d.p,e.a.d.p)}function Fan(t,e){return Bi(t.c-t.s,e.c-e.s)}function Ban(t,e){return Bi(t.b.e.a,e.b.e.a)}function Ran(t,e){return Bi(t.c.e.a,e.c.e.a)}function PZt(t){return t.c?Xo(t.c.a,t,0):-1}function q6(t){return t==zw||t==Y0||t==hu}function Cvt(t,e){this.c=t,zit.call(this,t,e)}function FZt(t,e,n){this.a=t,Kmt.call(this,e,n)}function BZt(t){this.c=t,ez.call(this,rN,0)}function RZt(t,e,n){this.c=e,this.b=n,this.a=t}function dI(t){LE(),this.d=t,this.a=new K4}function jZt(t){Vd(),this.a=(mn(),new dE(t))}function jan(t,e){bg(t.f)?zxn(t,e):m3n(t,e)}function $Zt(t,e){Jcn.call(this,t,t.length,e)}function $an(t,e){wd||e&&(t.d=e)}function zZt(t,e){return Lt(e,15)&&b0e(t.c,e)}function zan(t,e,n){return u(t.c,71).Wk(e,n)}function pz(t,e,n){return u(t.c,71).Xk(e,n)}function qan(t,e,n){return Qsn(t,u(e,343),n)}function Svt(t,e,n){return Jsn(t,u(e,343),n)}function Han(t,e,n){return cfe(t,u(e,343),n)}function qZt(t,e,n){return M3n(t,u(e,343),n)}function _S(t,e){return e==null?null:Gy(t.b,e)}function _vt(t){return Cy(t)?(Wn(t),t):t.ue()}function bz(t){return!isNaN(t)&&!isFinite(t)}function pit(t){eJt(this),nh(this),Ma(this,t)}function fl(t){Qrt(this),Hvt(this.c,0,t.Pc())}function _h(t,e,n){this.a=t,this.b=e,this.c=n}function HZt(t,e,n){this.a=t,this.b=e,this.c=n}function VZt(t,e,n){this.d=t,this.b=n,this.a=e}function UZt(t){this.a=t,pg(),Pc(Date.now())}function GZt(t){Kl(t.a),q3t(t.c,t.b),t.b=null}function bit(){bit=V,_9t=new ye,oye=new tn}function KZt(){KZt=V,lTe=Vt(aa,Ln,1,0,5,1)}function WZt(){WZt=V,ATe=Vt(aa,Ln,1,0,5,1)}function Avt(){Avt=V,LTe=Vt(aa,Ln,1,0,5,1)}function Vd(){Vd=V,new B2t((mn(),mn(),co))}function Van(t){return KE(),jr((tae(),lye),t)}function Uan(t){return bl(),jr((Vse(),bye),t)}function Gan(t){return TH(),jr((Lie(),kye),t)}function Kan(t){return Mq(),jr((Die(),Eye),t)}function Wan(t){return aV(),jr((Lce(),Tye),t)}function Yan(t){return A1(),jr((qse(),_ye),t)}function Xan(t){return pl(),jr((zse(),Lye),t)}function Qan(t){return qu(),jr((Hse(),Mye),t)}function Jan(t){return yV(),jr((CQt(),t3e),t)}function Zan(t){return Gm(),jr((nae(),n3e),t)}function ton(t){return dk(),jr((iae(),i3e),t)}function eon(t){return m_(),jr((rae(),o3e),t)}function non(t){return E$(),jr((eie(),c3e),t)}function ron(t){return Iq(),jr((Mie(),C3e),t)}function ion(t){return WS(),jr((Use(),Q3e),t)}function son(t){return Ua(),jr((jae(),e4e),t)}function aon(t){return u7(),jr((aae(),a4e),t)}function oon(t){return lw(),jr((sae(),f4e),t)}function Lvt(t,e){if(!t)throw at(new zn(e))}function AE(t){if(!t)throw at(new Ro(l8t))}function wit(t,e){if(t!=e)throw at(new Th)}function YZt(t,e,n){this.a=t,this.b=e,this.c=n}function Dvt(t,e,n){this.a=t,this.b=e,this.c=n}function XZt(t,e,n){this.a=t,this.b=e,this.c=n}function wz(t,e,n){this.b=t,this.a=e,this.c=n}function Mvt(t,e,n){this.b=t,this.c=e,this.a=n}function Ivt(t,e,n){this.a=t,this.b=e,this.c=n}function mz(t,e,n){this.e=e,this.b=t,this.d=n}function QZt(t,e,n){this.b=t,this.a=e,this.c=n}function con(t,e,n){return U2(),t.a.Yd(e,n),e}function mit(t){var e;return e=new ll,e.e=t,e}function Ovt(t){var e;return e=new kKt,e.b=t,e}function gI(){gI=V,XU=new pQ,QU=new BB}function vz(){vz=V,_4e=new SQ,S4e=new tC}function Bf(){Bf=V,I4e=new iJ,O4e=new sJ}function uon(t){return Vm(),jr((Ese(),H4e),t)}function lon(t){return Za(),jr((SQt(),k4e),t)}function hon(t){return rH(),jr((cae(),C4e),t)}function fon(t){return ud(),jr((oae(),F4e),t)}function don(t){return Qy(),jr(($ae(),R4e),t)}function gon(t){return iV(),jr((gce(),V4e),t)}function pon(t){return wk(),jr((hoe(),U4e),t)}function bon(t){return Eq(),jr((Pie(),G4e),t)}function won(t){return QS(),jr((yse(),K4e),t)}function mon(t){return $q(),jr((xse(),W4e),t)}function von(t){return Ip(),jr((zae(),Y4e),t)}function yon(t){return YI(),jr((Nie(),X4e),t)}function xon(t){return M7(),jr((goe(),n5e),t)}function kon(t){return Co(),jr((Uce(),r5e),t)}function Eon(t){return c7(),jr((Cse(),i5e),t)}function Ton(t){return Cg(),jr((Tse(),a5e),t)}function Con(t){return fq(),jr((zie(),o5e),t)}function Son(t){return AO(),jr((doe(),e5e),t)}function _on(t){return ow(),jr((kse(),J4e),t)}function Aon(t){return UH(),jr((foe(),Z4e),t)}function Lon(t){return qI(),jr((Oie(),t5e),t)}function Don(t){return Rh(),jr((Hae(),c5e),t)}function Mon(t){return Bp(),jr((Sce(),I6e),t)}function Ion(t){return o_(),jr((Sse(),O6e),t)}function Oon(t){return Yy(),jr((uae(),N6e),t)}function Non(t){return w_(),jr((qae(),P6e),t)}function Pon(t){return cf(),jr((Gce(),F6e),t)}function Fon(t){return Wd(),jr((lae(),B6e),t)}function Bon(t){return KI(),jr((Fie(),R6e),t)}function Ron(t){return To(),jr((Lse(),$6e),t)}function jon(t){return tH(),jr((_se(),z6e),t)}function $on(t){return i_(),jr((Ase(),q6e),t)}function zon(t){return b7(),jr((Mse(),H6e),t)}function qon(t){return jq(),jr((Dse(),V6e),t)}function Hon(t){return iH(),jr((Ise(),U6e),t)}function Von(t){return Hm(),jr(($se(),oke),t)}function Uon(t){return US(),jr((Bie(),fke),t)}function Gon(t){return Gd(),jr((Rie(),vke),t)}function Kon(t){return nd(),jr((jie(),xke),t)}function Won(t){return C1(),jr(($ie(),Fke),t)}function Yon(t){return Bm(),jr((qie(),Hke),t)}function Xon(t){return bk(),jr((wae(),Vke),t)}function Qon(t){return I_(),jr((_Qt(),Uke),t)}function Jon(t){return s_(),jr((Ose(),Gke),t)}function Zon(t){return a_(),jr((bae(),p8e),t)}function tcn(t){return uq(),jr((Vie(),b8e),t)}function ecn(t){return Kq(),jr((Uie(),x8e),t)}function ncn(t){return zH(),jr((Vae(),E8e),t)}function rcn(t){return uO(),jr((Nse(),C8e),t)}function icn(t){return Cq(),jr((Hie(),T8e),t)}function scn(t){return NH(),jr((pae(),U8e),t)}function acn(t){return Zq(),jr((Pse(),G8e),t)}function ocn(t){return vH(),jr((Fse(),K8e),t)}function ccn(t){return DH(),jr((Bse(),Y8e),t)}function ucn(t){return dH(),jr((Rse(),J8e),t)}function lcn(t){return wq(),jr((Gie(),vEe),t)}function hcn(t){return r7(),jr((Iie(),x4e),t)}function fcn(t){return Un(),jr((poe(),b4e),t)}function dcn(t){return Sq(),jr((jse(),yEe),t)}function gcn(t){return gat(),jr((Kie(),xEe),t)}function pcn(t){return A_(),jr((Uae(),EEe),t)}function bcn(t){return S$(),jr((uie(),CEe),t)}function wcn(t){return pO(),jr((Kse(),TEe),t)}function mcn(t){return _$(),jr((lie(),_Ee),t)}function vcn(t){return BI(),jr((Wie(),AEe),t)}function ycn(t){return DO(),jr((Gae(),LEe),t)}function xcn(t){return tS(),jr((hie(),UEe),t)}function kcn(t){return sO(),jr((Yie(),GEe),t)}function Ecn(t){return D1(),jr((Wae(),JEe),t)}function Tcn(t){return Fp(),jr((fce(),t7e),t)}function Ccn(t){return I0(),jr((boe(),e7e),t)}function Scn(t){return fw(),jr((woe(),o7e),t)}function _cn(t){return Rs(),jr((Kae(),S7e),t)}function Acn(t){return cd(),jr((Wse(),_7e),t)}function Lcn(t){return Lg(),jr((mae(),A7e),t)}function Dcn(t){return HH(),jr((moe(),L7e),t)}function Mcn(t){return Ag(),jr((Gse(),M7e),t)}function Icn(t){return uh(),jr((vae(),O7e),t)}function Ocn(t){return e3(),jr((Ace(),N7e),t)}function Ncn(t){return o5(),jr((Yae(),P7e),t)}function Pcn(t){return ka(),jr((voe(),F7e),t)}function Fcn(t){return wl(),jr((yoe(),B7e),t)}function Bcn(t){return ve(),jr((Xae(),R7e),t)}function Rcn(t){return Yl(),jr((yae(),H7e),t)}function jcn(t){return Ml(),jr((_ce(),V7e),t)}function $cn(t){return lk(),jr((Yse(),U7e),t)}function zcn(t,e){return Wn(t),t+(Wn(e),e)}function qcn(t){return vit(),jr((Xie(),G7e),t)}function Hcn(t){return pH(),jr((xae(),K7e),t)}function Vcn(t){return sH(),jr((kae(),X7e),t)}function LE(){LE=V,JAt=(ve(),Gn),nK=Jn}function vit(){vit=V,bIt=new _te,wIt=new fee}function Ucn(t){return!t.e&&(t.e=new fe),t.e}function yit(t,e){this.c=t,this.a=e,this.b=e-t}function JZt(t,e,n){this.a=t,this.b=e,this.c=n}function xit(t,e,n){this.a=t,this.b=e,this.c=n}function Nvt(t,e,n){this.a=t,this.b=e,this.c=n}function Pvt(t,e,n){this.a=t,this.b=e,this.c=n}function ZZt(t,e,n){this.a=t,this.b=e,this.c=n}function tte(t,e,n){this.a=t,this.b=e,this.c=n}function mp(t,e,n){this.e=t,this.a=e,this.c=n}function ete(t,e,n){Sh(),Zyt.call(this,t,e,n)}function kit(t,e,n){Sh(),Fyt.call(this,t,e,n)}function Fvt(t,e,n){Sh(),Fyt.call(this,t,e,n)}function Bvt(t,e,n){Sh(),Fyt.call(this,t,e,n)}function nte(t,e,n){Sh(),kit.call(this,t,e,n)}function Rvt(t,e,n){Sh(),kit.call(this,t,e,n)}function rte(t,e,n){Sh(),Rvt.call(this,t,e,n)}function ite(t,e,n){Sh(),Fvt.call(this,t,e,n)}function ste(t,e,n){Sh(),Bvt.call(this,t,e,n)}function Eit(t){Lz.call(this,t.d,t.c,t.a,t.b)}function jvt(t){Lz.call(this,t.d,t.c,t.a,t.b)}function $vt(t){this.d=t,kr(this),this.b=Vun(t.d)}function Gcn(t){return O7(),jr((dce(),uTe),t)}function pI(t,e){return Hr(t),Hr(e),new dYt(t,e)}function H6(t,e){return Hr(t),Hr(e),new mte(t,e)}function Kcn(t,e){return Hr(t),Hr(e),new vte(t,e)}function Wcn(t,e){return Hr(t),Hr(e),new kYt(t,e)}function Tit(t){return ur(t.b!=0),Oh(t,t.a.a)}function Ycn(t){return ur(t.b!=0),Oh(t,t.c.b)}function Xcn(t){return!t.c&&(t.c=new x0),t.c}function DE(t){var e;return e=new fe,Wst(e,t),e}function Qcn(t){var e;return e=new Os,Wst(e,t),e}function ate(t){var e;return e=new q2t,oat(e,t),e}function bI(t){var e;return e=new Ki,oat(e,t),e}function u(t,e){return AS(t==null||aot(t,e)),t}function Jcn(t,e,n){see.call(this,e,n),this.a=t}function ote(t,e){this.c=t,this.b=e,this.a=!1}function cte(){this.a=";,;",this.b="",this.c=""}function ute(t,e,n){this.b=t,yQt.call(this,e,n)}function zvt(t,e,n){this.c=t,I$.call(this,e,n)}function qvt(t,e,n){kE.call(this,t,e),this.b=n}function Hvt(t,e,n){N6t(n,0,t,e,n.length,!1)}function S0(t,e,n,r,s){t.b=e,t.c=n,t.d=r,t.a=s}function Vvt(t,e,n,r,s){t.d=e,t.c=n,t.a=r,t.b=s}function Zcn(t,e){e&&(t.b=e,t.a=(Mb(e),e.a))}function wI(t,e){if(!t)throw at(new zn(e))}function V6(t,e){if(!t)throw at(new Ro(e))}function Uvt(t,e){if(!t)throw at(new wWt(e))}function tun(t,e){return T$(),jc(t.d.p,e.d.p)}function eun(t,e){return Sg(),Bi(t.e.b,e.e.b)}function nun(t,e){return Sg(),Bi(t.e.a,e.e.a)}function run(t,e){return jc(Tte(t.d),Tte(e.d))}function yz(t,e){return e&&Vz(t,e.d)?e:null}function iun(t,e){return e==(ve(),Gn)?t.c:t.d}function Gvt(t){return Fb(rln(ec(t)?rf(t):t))}function sun(t){return new ae(t.c+t.b,t.d+t.a)}function lte(t){return t!=null&&!Uat(t,CL,SL)}function aun(t,e){return(que(t)<<4|que(e))&js}function hte(t,e,n,r,s){t.c=e,t.d=n,t.b=r,t.a=s}function Kvt(t){var e,n;e=t.b,n=t.c,t.b=n,t.c=e}function Wvt(t){var e,n;n=t.d,e=t.a,t.d=e,t.a=n}function oun(t,e){var n;return n=t.c,S4t(t,e),n}function Yvt(t,e){return e<0?t.g=-1:t.g=e,t}function xz(t,e){return pgn(t),t.a*=e,t.b*=e,t}function fte(t,e,n){aoe.call(this,e,n),this.d=t}function mI(t,e,n){gmt.call(this,t,e),this.c=n}function kz(t,e,n){gmt.call(this,t,e),this.c=n}function Xvt(t){Avt(),E4.call(this),this.ci(t)}function dte(){VE(),Aln.call(this,(Eb(),yf))}function gte(t){return yi(),new _0(0,t)}function pte(){pte=V,a0t=(mn(),new pa(lht))}function Ez(){Ez=V,new oxt((Wnt(),kht),(Knt(),xht))}function bte(){bte=V,d9t=Vt(Ra,ue,17,256,0,1)}function wte(){this.b=Rt(Ht(Se((Vf(),eft))))}function Cit(t){this.b=t,this.a=K2(this.b.a).Od()}function mte(t,e){this.b=t,this.a=e,DC.call(this)}function vte(t,e){this.a=t,this.b=e,DC.call(this)}function yte(t,e,n){this.a=t,$4.call(this,e,n)}function xte(t,e,n){this.a=t,$4.call(this,e,n)}function ME(t,e,n){var r;r=new Oy(n),_1(t,e,r)}function Qvt(t,e,n){var r;return r=t[e],t[e]=n,r}function Tz(t){var e;return e=t.slice(),zst(e,t)}function Cz(t){var e;return e=t.n,t.a.b+e.d+e.a}function kte(t){var e;return e=t.n,t.e.b+e.d+e.a}function Jvt(t){var e;return e=t.n,t.e.a+e.b+e.c}function Zvt(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Zr(t,e){return hs(t,e,t.c.b,t.c),!0}function cun(t){return t.a?t.a:Zit(t)}function uun(t){return J6(),O0(t)==Ji(qb(t))}function lun(t){return J6(),qb(t)==Ji(O0(t))}function Cm(t,e){return k_(t,new kE(e.a,e.b))}function hun(t,e){return Gz(),got(t,e),new Vee(t,e)}function fun(t,e){return t.c<e.c?-1:t.c==e.c?0:1}function Ete(t){return t.b.c.length-t.e.c.length}function Tte(t){return t.e.c.length-t.g.c.length}function Sit(t){return t.e.c.length+t.g.c.length}function vI(t){return t==0||isNaN(t)?t:t<0?-1:1}function dun(t){return!go(t)&&t.c.i.c==t.d.i.c}function gun(t){return rh(),(ve(),Ou).Hc(t.j)}function pun(t,e,n){return Sg(),n.e.a+n.f.a+t*e}function bun(t,e,n){return Sg(),n.e.b+n.f.b+t*e}function wun(t,e,n){return hi(t.b,u(n.b,18),e)}function mun(t,e,n){return hi(t.b,u(n.b,18),e)}function vun(t,e,n){sCn(t.a,t.b,t.c,u(e,166),n)}function tyt(t,e,n,r){txt.call(this,t,e,n,r,0,0)}function Cte(t){Avt(),Xvt.call(this,t),this.a=-1}function Ste(t,e){see.call(this,e,1040),this.a=t}function _te(){zXt.call(this,"COUNT_CHILDREN",0)}function Sz(t,e){eI.call(this,t,e),this.a=this}function os(t,e){var n;return n=Wit(t,e),n.i=2,n}function _z(t,e){var n;return++t.j,n=t.Cj(e),n}function ri(t,e,n){return t.a=-1,Ymt(t,e.g,n),t}function yun(t,e){return ge(t,new ae(e.a,e.b))}function Ate(t){return ak(),Vt(aK,rU,39,t,0,1)}function Lte(t){return t.e.Rd().gc()*t.c.Rd().gc()}function _it(t,e,n){return new RZt(Dln(t)._e(),n,e)}function xun(t,e){_4t(t,e==null?null:(Wn(e),e))}function kun(t,e){C4t(t,e==null?null:(Wn(e),e))}function Eun(t,e){C4t(t,e==null?null:(Wn(e),e))}function AS(t){if(!t)throw at(new fE(null))}function eyt(t){if(t.c.e!=t.a)throw at(new Th)}function nyt(t){if(t.e.c!=t.b)throw at(new Th)}function Az(t){for(Hr(t);t.Ob();)t.Pb(),t.Qb()}function Ait(t){Dm(),this.a=(mn(),new pa(Hr(t)))}function ryt(t){this.c=t,this.b=this.c.d.vc().Kc()}function Tun(t){t.a.ld(),u(t.a.md(),16).gc(),fwt()}function Dte(t,e){return t.a+=af(e,0,e.length),t}function Oe(t,e){return vn(e,t.c.length),t.c[e]}function Mte(t,e){return vn(e,t.a.length),t.a[e]}function Cun(t,e){return Wn(e),JI(e,(Wn(t),t))}function Sun(t,e){return Wn(t),JI(t,(Wn(e),e))}function G2(t,e,n,r,s,o){return efe(t,e,n,r,s,0,o)}function _un(t,e){return ls(e,0,iyt(e[0],Mg(1)))}function Aun(t,e){return Mg(Qa(Mg(t.a).a,e.a))}function iyt(t,e){return Aun(u(t,168),u(e,168))}function Ite(){Ite=V,g9t=Vt(gv,ue,168,256,0,1)}function Ote(){Ote=V,w9t=Vt(pv,ue,191,256,0,1)}function Nte(){Nte=V,l9t=Vt(Fk,ue,222,256,0,1)}function Pte(){Pte=V,f9t=Vt(vA,ue,180,128,0,1)}function syt(){S0(this,!1,!1,!1,!1)}function ayt(t){hr.call(this,new kp),Ma(this,t)}function LS(t){this.a=new M6(t.gc()),Ma(this,t)}function Fte(t){this.c=t,this.a=new I6(this.c.a)}function Bte(t){this.a=t,this.c=new _r,Qpn(this)}function Rte(){this.d=new ae(0,0),this.e=new Os}function ln(t,e){U2(),Bst.call(this,t),this.a=e}function Lz(t,e,n,r){Vvt(this,t,e,n,r)}function Lun(t,e,n){return jc(e.d[t.g],n.d[t.g])}function Dun(t,e,n){return jc(t.d[e.p],t.d[n.p])}function Mun(t,e,n){return jc(t.d[e.p],t.d[n.p])}function Iun(t,e,n){return jc(t.d[e.p],t.d[n.p])}function Oun(t,e,n){return jc(t.d[e.p],t.d[n.p])}function Dz(t,e,n){return b.Math.min(n/t,1/e)}function jte(t,e){return t?0:b.Math.max(0,e-1)}function Lit(t,e){return t==null?e==null:hn(t,e)}function Nun(t,e){return t==null?e==null:kH(t,e)}function $te(t){return t.q?t.q:(mn(),mn(),q0)}function zte(t){return t.c-u(Oe(t.a,t.b),293).b}function Gl(t){return t.c?t.c.f:t.e.b}function tl(t){return t.c?t.c.g:t.e.a}function Pun(t,e){return t.a==null&&E0e(t),t.a[e]}function qte(t){var e;return e=rfe(t),e?qte(e):t}function Mz(t,e){return yi(),new Cyt(t,e)}function _0(t,e){yi(),um.call(this,t),this.a=e}function Iz(t,e){Sh(),i$.call(this,e),this.a=t}function DS(t,e,n){this.a=t,Ps.call(this,e,n,2)}function Hte(t){this.b=new Ki,this.a=t,this.c=-1}function Vte(t){Kmt.call(this,0,0),this.a=t,this.b=0}function Oz(t){$m.call(this,t.gc()),gs(this,t)}function Nz(t){t.b?Nz(t.b):t.d.dc()&&t.f.c.Bc(t.e)}function oyt(t){return Array.isArray(t)&&t.Tm===yt}function Dit(t,e){return Lt(e,22)&&Zu(t,u(e,22))}function Ute(t,e){return Lt(e,22)&&lgn(t,u(e,22))}function Eo(t,e){return wue(t,e,$dn(t,t.b.Ce(e)))}function Fun(t,e){return t.a.get(e)!==void 0}function cyt(t){return Dl(t,26)*q_+Dl(t,27)*H_}function Gte(t,e){return Lgn(new Ss,new mb(t),e)}function Mit(t,e,n){pue(0,e,t.length),GE(t,0,e,n)}function Sm(t,e,n){Fy(e,t.c.length),sS(t.c,e,n)}function Pz(t,e,n){var r;t&&(r=t.i,r.c=e,r.b=n)}function Fz(t,e,n){var r;t&&(r=t.i,r.d=e,r.a=n)}function Kte(t,e,n){var r;for(r=0;r<e;++r)t[r]=n}function Bun(t,e){var n;for(n=0;n<e;++n)t[n]=-1}function Hi(t,e){var n;return n=en(t),J4t(n,e),n}function Run(t,e){return!t&&(t=[]),t[t.length]=e,t}function Iit(t,e){ki(t.c,e),t.b.c+=e.a,t.b.d+=e.b}function jun(t,e){Iit(t,ia(new ae(e.a,e.b),t.c))}function Oit(t,e){this.b=new Ki,this.a=t,this.c=e}function Wte(){this.b=new ay,this.c=new Ane(this)}function uyt(){this.d=new Zs,this.e=new _ne(this)}function lyt(){i3t(),this.f=new Ki,this.e=new Ki}function Yte(){rh(),this.k=new _r,this.d=new Os}function Nit(){Nit=V,J7e=new _a((ai(),Pl),0)}function Xte(){Xte=V,jve=new Vte(Vt(aa,Ln,1,0,5,1))}function $un(t,e,n){return qs(t,new O6(e.a,n.a))}function zun(t,e,n){return-jc(t.f[e.p],t.f[n.p])}function qun(t,e,n){fde(n,t,1),ge(e,new hXt(n,t))}function Hun(t,e,n){x_(n,t,1),ge(e,new gXt(n,t))}function Qte(t,e,n){this.a=t,az.call(this,e,n,22)}function Jte(t,e,n){this.a=t,az.call(this,e,n,14)}function Zte(t,e,n,r){Sh(),Bre.call(this,t,e,n,r)}function tee(t,e,n,r){Sh(),Bre.call(this,t,e,n,r)}function el(t,e,n){return t.a=-1,Ymt(t,e.g+1,n),t}function hyt(t,e,n){return n=hh(t,u(e,54),7,n),n}function fyt(t,e,n){return n=hh(t,u(e,54),3,n),n}function qr(t){return ec(t)?t|0:RWt(t)}function eee(t){return yi(),new lst(10,t,0)}function nee(t){var e;return e=t.f,e||(t.f=t.Dc())}function U6(t){var e;return e=t.i,e||(t.i=t.bc())}function Bz(t){if(t.e.j!=t.d)throw at(new Th)}function K2(t){return t.c?t.c:t.c=t.Sd()}function Pit(t){return t.d?t.d:t.d=t.Td()}function MS(t,e){return Own(VI(t,e))?e.zi():null}function Vun(t){return Lt(t,15)?u(t,15).ed():t.Kc()}function dyt(t){return t.Qc(Vt(aa,Ln,1,t.gc(),5,1))}function ree(t){return t!=null&&$it(t)&&t.Tm!==yt}function gyt(t){return!Array.isArray(t)&&t.Tm===yt}function iee(t,e){return Hr(e),t.a.Jd(e)&&!t.b.Jd(e)}function Uun(t,e){return Eu(t.l&e.l,t.m&e.m,t.h&e.h)}function Gun(t,e){return Eu(t.l|e.l,t.m|e.m,t.h|e.h)}function Kun(t,e){return Eu(t.l^e.l,t.m^e.m,t.h^e.h)}function Rf(t,e){return Fb(Pfe(ec(t)?rf(t):t,e))}function _m(t,e){return Fb(H6t(ec(t)?rf(t):t,e))}function Ab(t,e){return Fb(A4n(ec(t)?rf(t):t,e))}function Wun(t,e){return dan((Wn(t),t),(Wn(e),e))}function Fit(t,e){return Bi((Wn(t),t),(Wn(e),e))}function Rz(t){this.b=new wu(11),this.a=(Nm(),t)}function rr(t){this.a=(Xte(),jve),this.d=u(Hr(t),51)}function see(t,e){this.c=0,this.d=t,this.b=e|64|Jd}function pyt(t,e){this.e=t,this.d=e&64?e|Jd:e}function Bit(t){this.b=null,this.a=(Nm(),t||C9t)}function aee(t){oz(this),this.g=t,Xz(this),this.je()}function W2(t){Tb(),this.a=0,this.b=t-1,this.c=1}function byt(t,e,n,r){this.a=t,yq.call(this,t,e,n,r)}function Yun(t,e,n){t.a.Mb(n)&&(t.b=!0,e.Cd(n))}function wyt(t){t.d||(t.d=t.b.Kc(),t.c=t.b.gc())}function IE(t,e){if(t<0||t>=e)throw at(new Y2t)}function My(t,e){return dO(t,(Wn(e),new no(e)))}function G6(t,e){return dO(t,(Wn(e),new ql(e)))}function oee(t,e,n){return RSn(t,u(e,12),u(n,12))}function cee(t){return rl(),u(t,12).g.c.length!=0}function uee(t){return rl(),u(t,12).e.c.length!=0}function Xun(t,e){return ok(),Bi(e.a.o.a,t.a.o.a)}function Qun(t,e){e.Bb&Fc&&!t.a.o&&(t.a.o=e)}function Jun(t,e){e.Ug("General 'Rotator",1),fCn(t)}function Zun(t,e,n){e.qf(n,Rt(Ht(tr(t.b,n)))*t.a)}function lee(t,e,n){return w5(),i7(t,e)&&i7(t,n)}function IS(t){return wl(),!t.Hc(Hg)&&!t.Hc(g2)}function tln(t){return t.e?$3t(t.e):null}function OS(t){return ec(t)?""+t:p0e(t)}function myt(t){var e;for(e=t;e.f;)e=e.f;return e}function eln(t,e,n){return ls(e,0,iyt(e[0],n[0])),e}function vp(t,e,n,r){var s;s=t.i,s.i=e,s.a=n,s.b=r}function Jt(t,e,n,r){Ps.call(this,t,e,n),this.b=r}function ha(t,e,n,r,s){jst.call(this,t,e,n,r,s,-1)}function NS(t,e,n,r,s){jI.call(this,t,e,n,r,s,-1)}function jz(t,e,n,r){mI.call(this,t,e,n),this.b=r}function hee(t){cQt.call(this,t,!1),this.a=!1}function fee(){zXt.call(this,"LOOKAHEAD_LAYOUT",1)}function dee(t){this.b=t,j6.call(this,t),mJt(this)}function gee(t){this.b=t,aI.call(this,t),vJt(this)}function Iy(t,e,n){this.a=t,z6.call(this,e,n,5,6)}function vyt(t,e,n,r){this.b=t,Ps.call(this,e,n,r)}function pee(t,e){this.b=t,dg.call(this,t.b),this.a=e}function bee(t){this.a=Zle(t.a),this.b=new fl(t.b)}function yyt(t,e){Dm(),Irn.call(this,t,uH(new hl(e)))}function $z(t,e){return yi(),new Pyt(t,e,0)}function Rit(t,e){return yi(),new Pyt(6,t,e)}function Na(t,e){for(Wn(e);t.Ob();)e.Cd(t.Pb())}function Tu(t,e){return ba(e)?ost(t,e):!!Eo(t.f,e)}function jit(t,e){return e.Vh()?jb(t.b,u(e,54)):e}function nln(t,e){return hn(t.substr(0,e.length),e)}function A0(t){return new rr(new zmt(t.a.length,t.a))}function zz(t){return new ae(t.c+t.b/2,t.d+t.a/2)}function rln(t){return Eu(~t.l&Il,~t.m&Il,~t.h&Fg)}function $it(t){return typeof t===ZO||typeof t===Pct}function dl(t){t.f=new FQt(t),t.i=new BQt(t),++t.g}function wee(t){if(!t)throw at(new cc);return t.d}function K6(t){var e;return e=r_(t),ur(e!=null),e}function iln(t){var e;return e=y2n(t),ur(e!=null),e}function OE(t,e){var n;return n=t.a.gc(),P3t(e,n),n-e}function qs(t,e){var n;return n=t.a.zc(e,t),n==null}function yI(t,e){return t.a.zc(e,(Pn(),t2))==null}function xyt(t){return new ln(null,uln(t,t.length))}function kyt(t,e,n){return jge(t,u(e,42),u(n,176))}function W6(t,e,n){return zf(t.a,e),Qvt(t.b,e.g,n)}function sln(t,e,n){IE(n,t.a.c.length),Mh(t.a,n,e)}function zt(t,e,n,r){pue(e,n,t.length),aln(t,e,n,r)}function aln(t,e,n,r){var s;for(s=e;s<n;++s)t[s]=r}function Eyt(t,e){var n;for(n=0;n<e;++n)t[n]=!1}function Y2(t,e,n){Xd(),this.e=t,this.d=e,this.a=n}function Tyt(t,e,n){this.c=t,this.a=e,mn(),this.b=n}function zit(t,e){this.d=t,Zn.call(this,t),this.e=e}function E1(t,e,n){return Cbn(t,e.g,n),zf(t.c,e),t}function oln(t){return x5(t,(Rs(),Uo)),t.d=!0,t}function qit(t){return!t.j&&Xn(t,hEn(t.g,t.b)),t.j}function mee(t){t.a=null,t.e=null,dl(t.b),t.d=0,++t.c}function PS(t){_y(t.b!=-1),Ep(t.c,t.a=t.b),t.b=-1}function Cyt(t,e){um.call(this,1),this.a=t,this.b=e}function cln(t,e){return t>0?b.Math.log(t/e):-100}function vee(t,e){return $c(t,e)<0?-1:$c(t,e)>0?1:0}function xI(t,e){lJt(t,Lt(e,160)?e:u(e,2036).Rl())}function Syt(t,e){if(t==null)throw at(new A6(e))}function uln(t,e){return hgn(e,t.length),new Ste(t,e)}function _yt(t,e){return e?Ma(t,e):!1}function lln(){return l$(),lt(ut($ve,1),te,549,0,[Cht])}function FS(t){return t.e==0?t:new Y2(-t.e,t.d,t.a)}function hln(t,e){return Bi(t.c.c+t.c.b,e.c.c+e.c.b)}function kI(t,e){hs(t.d,e,t.b.b,t.b),++t.a,t.c=null}function yee(t,e){return t.c?yee(t.c,e):ge(t.b,e),t}function fln(t,e,n){var r;return r=$y(t,e),Est(t,e,n),r}function xee(t,e,n){var r;for(r=0;r<e;++r)ls(t,r,n)}function kee(t,e,n,r,s){for(;e<n;)r[s++]=Va(t,e++)}function NE(t,e,n,r,s){Mot(t,u(Ai(e.k,n),15),n,r,s)}function Am(t,e){ms(Wo(t.Oc(),new oR),new rUt(e))}function dln(t,e){return Bi(t.e.a+t.f.a,e.e.a+e.f.a)}function gln(t,e){return Bi(t.e.b+t.f.b,e.e.b+e.f.b)}function Hit(t){return b.Math.abs(t.d.e-t.e.e)-t.a}function pln(t){return t==Zi?NN:t==Vs?"-INF":""+t}function bln(t){return t==Zi?NN:t==Vs?"-INF":""+t}function wln(t){return J6(),Ji(O0(t))==Ji(qb(t))}function mln(t,e,n){return u(t.c.hd(e,u(n,136)),44)}function vln(t,e){Y6(t,new Oy(e.f!=null?e.f:""+e.g))}function yln(t,e){Y6(t,new Oy(e.f!=null?e.f:""+e.g))}function gs(t,e){return t.Si()&&(e=Yne(t,e)),t.Fi(e)}function Vit(t,e){return e=t.Yk(null,e),wfe(t,null,e)}function xln(t,e){++t.j,Dot(t,t.i,e),V5n(t,u(e,343))}function Ayt(t){t?Xxt(t,(pg(),Qve)):Chn((pg(),t))}function Lm(t){this.d=(Wn(t),t),this.a=0,this.c=rN}function Uit(t,e){this.d=f2n(t),this.c=e,this.a=.5*e}function Eee(t){Qyt.call(this),this.a=t,ge(t.a,this)}function Tee(){kp.call(this),this.a=!0,this.b=!0}function Cee(){Cee=V,Uve=new xc(!1),Gve=new xc(!0)}function BS(t){var e;return e=t.g,e||(t.g=new qj(t))}function qz(t){var e;return e=t.k,e||(t.k=new bb(t))}function Lyt(t){var e;return e=t.k,e||(t.k=new bb(t))}function kln(t){var e;return e=t.i,e||(t.i=new xnt(t))}function See(t){var e;return e=t.f,e||(t.f=new $mt(t))}function Git(t){var e;return e=t.j,e||(t.j=new Gj(t))}function Kit(t){var e;return e=t.d,e||(t.d=new wb(t))}function _ee(t,e,n){return yi(),new kre(t,e,n)}function Aee(t,e){return OI(e,t.c.b.c.gc()),new fYt(t,e)}function Dyt(t,e){var n;return n=t.a.gc(),OI(e,n),n-1-e}function I(t,e,n){var r;return r=Wit(t,e),Toe(n,r),r}function Wit(t,e){var n;return n=new Y4t,n.j=t,n.d=e,n}function Hr(t){if(t==null)throw at(new E6);return t}function Oy(t){if(t==null)throw at(new E6);this.a=t}function Lee(t){R2t(),this.b=new fe,this.a=t,g9n(this,t)}function Myt(t){this.b=t,this.a=u(nf(this.b.a.e),227)}function Dm(){Dm=V,Vd(),Eht=new ust((mn(),mn(),co))}function Yit(){Yit=V,Vd(),n9t=new Pwt((mn(),mn(),FU))}function Lb(){Lb=V,Fn=H5n(),wn(),G3&&Vvn()}function Hz(t){t.s=NaN,t.c=NaN,tde(t,t.e),tde(t,t.j)}function fr(t){return(t.i==null&&Qd(t),t.i).length}function Dee(t,e){return u(K2(t.a).Md().Xb(e),44).ld()}function tr(t,e){return ba(e)?nu(t,e):Ko(Eo(t.f,e))}function Eln(t,e){return J6(),t==O0(e)?qb(e):O0(e)}function Tln(t,e,n,r){return n==0||(n-r)/n<t.e||e>=t.g}function ls(t,e,n){return ran(n==null||JEn(t,n)),t[e]=n}function Iyt(t,e){return qn(e,t.length+1),t.substr(e)}function Xit(t,e){for(Wn(e);t.c<t.d;)t.Se(e,t.c++)}function Oyt(t){this.d=t,this.c=t.a.d.a,this.b=t.a.e.g}function Mee(t){this.c=t,this.a=new Ki,this.b=new Ki}function eu(t){this.c=new Sa,this.a=new fe,this.b=t}function Iee(t){this.b=new fe,this.a=new fe,this.c=t}function Cln(t,e,n){u(e.b,68),Cu(e.a,new Nvt(t,n,e))}function Sln(t,e){return ok(),u(Io(t,e.d),15).Fc(e)}function Y6(t,e){var n;n=t.a.length,$y(t,n),Est(t,n,e)}function Oee(t,e){var n;n=console[t],n.call(console,e)}function Nee(t,e){var n;++t.j,n=t.Ej(),t.rj(t.Zi(n,e))}function Qit(t,e,n){var r;return r=aat(t,e,n),wkt(t,r)}function Mm(t){return!t.d&&(t.d=new Ps(Do,t,1)),t.d}function _ln(t){return!t.a&&(t.a=new Ps(p2,t,4)),t.a}function PE(t,e){return t.a+=String.fromCharCode(e),t}function Db(t,e){return t.a+=String.fromCharCode(e),t}function Nyt(t,e,n){this.a=t,N2t.call(this,e),this.b=n}function Pee(t,e,n){this.a=t,b3t.call(this,8,e,null,n)}function Pyt(t,e,n){um.call(this,t),this.a=e,this.b=n}function Fyt(t,e,n){i$.call(this,e),this.a=t,this.b=n}function Fee(t){this.c=t,this.b=this.c.a,this.a=this.c.e}function Aln(t){this.a=(Wn(ti),ti),this.b=t,new Z2t}function Bee(t){Hyt(t.a),t.b=Vt(aa,Ln,1,t.b.length,5,1)}function Kl(t){_y(t.c!=-1),t.d.gd(t.c),t.b=t.c,t.c=-1}function RS(t){return b.Math.sqrt(t.a*t.a+t.b*t.b)}function Vz(t,e){return Eot(t.c,t.f,e,t.b,t.a,t.e,t.d)}function Im(t,e){return IE(e,t.a.c.length),Oe(t.a,e)}function Ud(t,e){return $t(t)===$t(e)||t!=null&&Ti(t,e)}function Ree(t){return Lt(t,102)&&(u(t,19).Bb&Fc)!=0}function jee(t){return nf(t),Lt(t,483)?u(t,483):rc(t)}function $ee(t){return t?t.dc():!t.Kc().Ob()}function Lln(t){return W3?ost(W3,t):!1}function Dln(t){return 0>=t?new Lwt:Pgn(t-1)}function Pa(t){return!t.a&&t.c?t.c.b:t.a}function Byt(t){return Lt(t,616)?t:new $ne(t)}function Mb(t){t.c?Mb(t.c):($b(t),t.d=!0)}function jS(t){t.c?t.c.$e():(t.d=!0,Z6n(t))}function zee(t){t.b=!1,t.c=!1,t.d=!1,t.a=!1}function qee(t){var e,n;return e=t.c.i.c,n=t.d.i.c,e==n}function Mln(t,e){var n;n=t.Ih(e),n>=0?t.ki(n):C6t(t,e)}function Hee(t,e){t.c<0||t.b.b<t.c?ro(t.b,e):t.a.tf(e)}function Iln(t,e){Or((!t.a&&(t.a=new lI(t,t)),t.a),e)}function Oln(t,e){Iit(u(e.b,68),t),Cu(e.a,new t$(t))}function Nln(t,e){return jc(e.j.c.length,t.j.c.length)}function Pln(t,e,n){return ck(),n.Lg(t,u(e.ld(),149))}function nf(t){if(t==null)throw at(new E6);return t}function Wn(t){if(t==null)throw at(new E6);return t}function Fln(t){if(t.p!=4)throw at(new Xu);return t.e}function Bln(t){if(t.p!=3)throw at(new Xu);return t.e}function Rln(t){if(t.p!=3)throw at(new Xu);return t.j}function jln(t){if(t.p!=4)throw at(new Xu);return t.j}function $ln(t){if(t.p!=6)throw at(new Xu);return t.f}function zln(t){if(t.p!=6)throw at(new Xu);return t.k}function Ryt(t){return!t.b&&(t.b=new s$(new Gnt)),t.b}function Om(t){return t.c==-2&&Ee(t,N3n(t.g,t.b)),t.c}function FE(t,e){var n;return n=Wit("",t),n.n=e,n.i=1,n}function Uz(t,e,n,r){bm.call(this,t,n),this.a=e,this.f=r}function jyt(t,e,n,r){bm.call(this,t,e),this.d=n,this.a=r}function Vee(t,e){tsn.call(this,Fgn(Hr(t),Hr(e))),this.a=e}function Fs(){JKt.call(this),wy(this.j.c,0),this.a=-1}function Uee(){r6t.call(this,hf,(bE(),zIt)),uTn(this)}function Gee(){r6t.call(this,Cw,(BWt(),BTe)),t9n(this)}function Kee(){Rr.call(this,"DELAUNAY_TRIANGULATION",0)}function qln(t){return String.fromCharCode.apply(null,t)}function hi(t,e,n){return ba(e)?jo(t,e,n):yu(t.f,e,n)}function $yt(t){return mn(),t?t.Oe():(Nm(),Nm(),S9t)}function Hln(t){return oh(t,jct),Oq(Qa(Qa(5,t),t/10|0))}function Wee(t,e){return Ez(),new oxt(new DJt(t),new LJt(e))}function Gz(){Gz=V,Rve=new cwt(lt(ut(Sw,1),xV,44,0,[]))}function Yee(t){return!t.d&&(t.d=new Ta(t.c.Cc())),t.d}function BE(t){return!t.a&&(t.a=new kWt(t.c.vc())),t.a}function Xee(t){return!t.b&&(t.b=new dE(t.c.ec())),t.b}function L0(t,e){for(;e-- >0;)t=t<<1|(t<0?1:0);return t}function Qee(t,e){var n;return n=new eu(t),In(e.c,n),n}function Jee(t,e){t.u.Hc((wl(),Hg))&&F5n(t,e),t0n(t,e)}function Nc(t,e){return $t(t)===$t(e)||t!=null&&Ti(t,e)}function Io(t,e){return Dit(t.a,e)?t.b[u(e,22).g]:null}function Vln(){return E$(),lt(ut(rCt,1),te,488,0,[Wht])}function Uln(){return S$(),lt(ut(IDt,1),te,489,0,[wdt])}function Gln(){return _$(),lt(ut(SEe,1),te,558,0,[mdt])}function Kln(){return tS(),lt(ut(ZDt,1),te,539,0,[kP])}function Kz(t){return!t.n&&(t.n=new Jt(Po,t,1,7)),t.n}function Jit(t){return!t.c&&(t.c=new Jt(kl,t,9,9)),t.c}function zyt(t){return!t.c&&(t.c=new kn(vr,t,5,8)),t.c}function Wln(t){return!t.b&&(t.b=new kn(vr,t,4,7)),t.b}function EI(t){return t.j.c.length=0,Hyt(t.c),San(t.a),t}function RE(t){return t.e==dT&&nn(t,qwn(t.g,t.b)),t.e}function TI(t){return t.f==dT&&Tn(t,Ovn(t.g,t.b)),t.f}function fi(t,e,n,r){return xce(t,e,n,!1),lH(t,r),t}function Zee(t,e){this.b=t,zit.call(this,t,e),mJt(this)}function tne(t,e){this.b=t,Cvt.call(this,t,e),vJt(this)}function $S(t){this.d=t,this.a=this.d.b,this.b=this.d.c}function qyt(t,e){this.b=t,this.c=e,this.a=new I6(this.b)}function Va(t,e){return qn(e,t.length),t.charCodeAt(e)}function Yln(t,e){L5t(t,Rt(_g(e,"x")),Rt(_g(e,"y")))}function Xln(t,e){L5t(t,Rt(_g(e,"x")),Rt(_g(e,"y")))}function _i(t,e){return $b(t),new ln(t,new Z3t(e,t.a))}function Wo(t,e){return $b(t),new ln(t,new R3t(e,t.a))}function Ny(t,e){return $b(t),new rvt(t,new use(e,t.a))}function Wz(t,e){return $b(t),new ivt(t,new lse(e,t.a))}function Qln(t,e){return new Tne(u(Hr(t),50),u(Hr(e),50))}function Jln(t,e){return Bi(t.d.c+t.d.b/2,e.d.c+e.d.b/2)}function ene(t,e,n){n.a?_u(t,e.b-t.f/2):Su(t,e.a-t.g/2)}function Zln(t,e){return Bi(t.g.c+t.g.b/2,e.g.c+e.g.b/2)}function thn(t,e){return Iwt(),Bi((Wn(t),t),(Wn(e),e))}function ehn(t){return t!=null&&BM(WK,t.toLowerCase())}function Hyt(t){var e;for(e=t.Kc();e.Ob();)e.Pb(),e.Qb()}function X4(t){var e;return e=t.b,!e&&(t.b=e=new vnt(t)),e}function Zit(t){var e;return e=jgn(t),e||null}function nne(t,e){var n,r;return n=t/e,r=Ys(n),n>r&&++r,r}function nhn(t,e,n){var r;r=u(t.d.Kb(n),159),r&&r.Nb(e)}function rhn(t,e,n){sTn(t.a,n),Fpn(n),Sxn(t.b,n),STn(e,n)}function Yz(t,e,n,r){this.a=t,this.c=e,this.b=n,this.d=r}function Vyt(t,e,n,r){this.c=t,this.b=e,this.a=n,this.d=r}function rne(t,e,n,r){this.c=t,this.b=e,this.d=n,this.a=r}function Ah(t,e,n,r){this.c=t,this.d=e,this.b=n,this.a=r}function ine(t,e,n,r){this.a=t,this.d=e,this.c=n,this.b=r}function tst(t,e,n,r){this.a=t,this.e=e,this.d=n,this.c=r}function sne(t,e,n,r){this.a=t,this.c=e,this.d=n,this.b=r}function est(t,e,n){this.a=b8t,this.d=t,this.b=e,this.c=n}function X6(t,e,n,r){Rr.call(this,t,e),this.a=n,this.b=r}function ane(t,e){this.d=(Wn(t),t),this.a=16449,this.c=e}function one(t){this.a=new fe,this.e=Vt(Fr,ue,53,t,0,2)}function ihn(t){t.Ug("No crossing minimization",1),t.Vg()}function cne(){uc.call(this,"There is no more element.")}function une(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function lne(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function X2(t,e,n,r){this.e=t,this.a=e,this.c=n,this.d=r}function hne(t,e,n,r){this.a=t,this.c=e,this.d=n,this.b=r}function fne(t,e,n,r){Sh(),hse.call(this,e,n,r),this.a=t}function dne(t,e,n,r){Sh(),hse.call(this,e,n,r),this.a=t}function nst(t,e,n){var r,s;return r=n8t(t),s=e.ti(n,r),s}function mg(t){var e,n;return n=(e=new lm,e),YE(n,t),n}function rst(t){var e,n;return n=(e=new lm,e),a6t(n,t),n}function shn(t,e){var n;return n=tr(t.f,e),j4t(e,n),null}function gne(t){return!t.b&&(t.b=new Jt(Ts,t,12,3)),t.b}function pne(t){return AS(t==null||$it(t)&&t.Tm!==yt),t}function Xz(t){return t.n&&(t.e!==wbe&&t.je(),t.j=null),t}function jE(t){if(Ll(t.d),t.d.d!=t.c)throw at(new Th)}function Uyt(t){return ur(t.b<t.d.gc()),t.d.Xb(t.c=t.b++)}function nh(t){t.a.a=t.c,t.c.b=t.a,t.a.b=t.c.a=null,t.b=0}function ist(t){this.f=t,this.c=this.f.e,t.f>0&&Khe(this)}function bne(t,e){this.a=t,ian.call(this,t,u(t.d,15).fd(e))}function ahn(t,e){return Bi(tl(t)*Gl(t),tl(e)*Gl(e))}function ohn(t,e){return Bi(tl(t)*Gl(t),tl(e)*Gl(e))}function chn(t){return Zm(t)&&Ie(Me(ne(t,(De(),Mw))))}function uhn(t,e){return dn(t,u(X(e,(De(),OT)),17),e)}function lhn(t,e){return u(X(t,(oe(),Uk)),15).Fc(e),e}function Gyt(t,e){return t.b=e.b,t.c=e.c,t.d=e.d,t.a=e.a,t}function wne(t,e,n,r){this.b=t,this.c=r,ez.call(this,e,n)}function hhn(t,e,n){t.i=0,t.e=0,e!=n&&tue(t,e,n)}function fhn(t,e,n){t.i=0,t.e=0,e!=n&&eue(t,e,n)}function dhn(t,e,n){return ZC(),$2n(u(tr(t.e,e),529),n)}function Q6(t){var e;return e=t.f,e||(t.f=new vE(t,t.c))}function mne(t,e){return a5(t.j,e.s,e.c)+a5(e.e,t.s,t.c)}function vne(t,e){t.e&&!t.e.a&&(aKt(t.e,e),vne(t.e,e))}function yne(t,e){t.d&&!t.d.a&&(aKt(t.d,e),yne(t.d,e))}function ghn(t,e){return-Bi(tl(t)*Gl(t),tl(e)*Gl(e))}function phn(t){return u(t.ld(),149).Pg()+":"+rc(t.md())}function xne(){Fot(this,new Fj),this.wb=(Lb(),Fn),bE()}function kne(t){this.b=new fe,Hs(this.b,this.b),this.a=t}function Kyt(t,e){new Ki,this.a=new Qu,this.b=t,this.c=e}function Nm(){Nm=V,C9t=new Gt,Oht=new Gt,S9t=new Fe}function mn(){mn=V,co=new jt,q0=new Ft,FU=new Ct}function Wyt(){Wyt=V,vye=new Ha,xye=new uyt,yye=new ds}function J6(){J6=V,VU=new fe,Jht=new _r,Qht=new fe}function Qz(t,e){if(t==null)throw at(new A6(e));return t}function Jz(t){return!t.a&&(t.a=new Jt(bi,t,10,11)),t.a}function Di(t){return!t.q&&(t.q=new Jt(vf,t,11,10)),t.q}function Qt(t){return!t.s&&(t.s=new Jt(Wu,t,21,17)),t.s}function bhn(t){return Hr(t),uhe(new rr(sr(t.a.Kc(),new z)))}function whn(t,e){return Wl(t),Wl(e),bWt(u(t,22),u(e,22))}function Q2(t,e,n){var r,s;r=_vt(n),s=new cE(r),_1(t,e,s)}function sst(t,e,n,r,s,o){jI.call(this,t,e,n,r,s,o?-2:-1)}function Ene(t,e,n,r){gmt.call(this,e,n),this.b=t,this.a=r}function Tne(t,e){Rnn.call(this,new Bit(t)),this.a=t,this.b=e}function Yyt(t){this.b=t,this.c=t,t.e=null,t.c=null,this.a=1}function mhn(t){Bf();var e;e=u(t.g,10),e.n.a=t.d.c+e.d.b}function $E(){$E=V;var t,e;e=!Cwn(),t=new it,Aht=e?new rt:t}function ast(t){return mn(),Lt(t,59)?new nrt(t):new uz(t)}function Zz(t){return Lt(t,16)?new LS(u(t,16)):Qcn(t.Kc())}function vhn(t){return new xJt(t,t.e.Rd().gc()*t.c.Rd().gc())}function yhn(t){return new kJt(t,t.e.Rd().gc()*t.c.Rd().gc())}function Xyt(t){return t&&t.hashCode?t.hashCode():Em(t)}function ost(t,e){return e==null?!!Eo(t.f,null):Fun(t.i,e)}function xhn(t,e){var n;return n=Imt(t.a,e),n&&(e.d=null),n}function Cne(t,e,n){return t.f?t.f.ef(e,n):!1}function CI(t,e,n,r){ls(t.c[e.g],n.g,r),ls(t.c[n.g],e.g,r)}function cst(t,e,n,r){ls(t.c[e.g],e.g,n),ls(t.b[e.g],e.g,r)}function khn(t,e,n){return Rt(Ht(n.a))<=t&&Rt(Ht(n.b))>=e}function Sne(t,e){this.g=t,this.d=lt(ut(V0,1),jp,10,0,[e])}function _ne(t){this.c=t,this.b=new pp(u(Hr(new Fu),50))}function Ane(t){this.c=t,this.b=new pp(u(Hr(new b4),50))}function Lne(t){this.b=t,this.a=new pp(u(Hr(new Ci),50))}function Dne(){this.b=new Os,this.d=new Ki,this.e=new X2t}function Qyt(){this.c=new Sa,this.d=new Sa,this.e=new Sa}function Pm(){this.a=new Qu,this.b=(oh(3,c3),new wu(3))}function yp(t,e){this.e=t,this.a=aa,this.b=M0e(e),this.c=e}function tq(t){this.c=t.c,this.d=t.d,this.b=t.b,this.a=t.a}function Mne(t,e,n,r,s,o){this.a=t,tat.call(this,e,n,r,s,o)}function Ine(t,e,n,r,s,o){this.a=t,tat.call(this,e,n,r,s,o)}function Ib(t,e,n,r,s,o,h){return new Cst(t.e,e,n,r,s,o,h)}function Ehn(t,e,n){return n>=0&&hn(t.substr(n,e.length),e)}function One(t,e){return Lt(e,149)&&hn(t.b,u(e,149).Pg())}function Thn(t,e){return t.a?e.Gh().Kc():u(e.Gh(),71).Ii()}function Nne(t,e){var n;return n=t.b.Qc(e),Aie(n,t.b.gc()),n}function SI(t,e){if(t==null)throw at(new A6(e));return t}function Yo(t){return t.u||(_l(t),t.u=new dZt(t,t)),t.u}function ust(t){this.a=(mn(),Lt(t,59)?new nrt(t):new uz(t))}function $u(t){var e;return e=u(jn(t,16),29),e||t.ii()}function eq(t,e){var n;return n=V2(t.Rm),e==null?n:n+": "+e}function Lh(t,e,n){return Da(e,n,t.length),t.substr(e,n-e)}function Pne(t,e){gz.call(this),c4t(this),this.a=t,this.c=e}function Chn(t){t&&eq(t,t.ie())}function Shn(t){d$(),b.setTimeout(function(){throw t},0)}function _hn(){return TH(),lt(ut(N9t,1),te,436,0,[zht,O9t])}function Ahn(){return Mq(),lt(ut(F9t,1),te,435,0,[P9t,qht])}function Lhn(){return Iq(),lt(ut(lCt,1),te,432,0,[Zht,UU])}function Dhn(){return r7(),lt(ut(y4e,1),te,517,0,[KN,dft])}function Mhn(){return qI(),lt(ut(NSt,1),te,487,0,[OSt,EG])}function Ihn(){return YI(),lt(ut(MSt,1),te,428,0,[xG,DSt])}function Ohn(){return Eq(),lt(ut(ESt,1),te,431,0,[kSt,Aft])}function Nhn(){return KI(),lt(ut(jAt,1),te,430,0,[T1t,C1t])}function Phn(){return US(),lt(ut(hke,1),te,531,0,[KA,GA])}function Fhn(){return Gd(),lt(ut(mke,1),te,523,0,[Dv,Gp])}function Bhn(){return nd(),lt(ut(yke,1),te,522,0,[Fw,yd])}function Rhn(){return C1(),lt(ut(Pke,1),te,528,0,[F3,o2])}function jhn(){return fq(),lt(ut(KSt,1),te,429,0,[Hft,GSt])}function $hn(){return wq(),lt(ut(CDt,1),te,490,0,[gdt,TDt])}function zhn(){return gat(),lt(ut(MDt,1),te,491,0,[LDt,DDt])}function qhn(){return uq(),lt(ut(NLt,1),te,433,0,[K1t,OLt])}function Hhn(){return Cq(),lt(ut(BLt,1),te,434,0,[FLt,Z1t])}function Vhn(){return Bm(),lt(ut(qke,1),te,464,0,[c2,Z5])}function Uhn(){return Kq(),lt(ut(PLt,1),te,500,0,[hK,nx])}function Ghn(){return BI(),lt(ut(ODt,1),te,438,0,[vdt,kK])}function Khn(){return sO(),lt(ut(eMt,1),te,437,0,[TK,tMt])}function Whn(){return vit(),lt(ut(jK,1),te,347,0,[bIt,wIt])}function nq(t,e,n,r){return n>=0?t.Uh(e,n,r):t.Ch(null,n,r)}function _I(t){return t.b.b==0?t.a.sf():Tit(t.b)}function Yhn(t){if(t.p!=5)throw at(new Xu);return qr(t.f)}function Xhn(t){if(t.p!=5)throw at(new Xu);return qr(t.k)}function Jyt(t){return $t(t.a)===$t((fat(),r0t))&&WTn(t),t.a}function Qhn(t,e){t.b=e,t.c>0&&t.b>0&&(t.g=Dz(t.c,t.b,t.a))}function Jhn(t,e){t.c=e,t.c>0&&t.b>0&&(t.g=Dz(t.c,t.b,t.a))}function Fne(t,e){st(this,new ae(t.a,t.b)),bt(this,bI(e))}function Fm(){jnn.call(this,new M6(zy(12))),Bmt(!0),this.a=2}function lst(t,e,n){yi(),um.call(this,t),this.b=e,this.a=n}function Zyt(t,e,n){Sh(),i$.call(this,e),this.a=t,this.b=n}function Bne(t){var e;e=t.c.d.b,t.b=e,t.a=t.c.d,e.a=t.c.d.b=t}function Zhn(t){return t.b==0?null:(ur(t.b!=0),Oh(t,t.a.a))}function nu(t,e){return e==null?Ko(Eo(t.f,null)):iS(t.i,e)}function Rne(t,e,n,r,s){return new Rot(t,(KE(),Bht),e,n,r,s)}function rq(t,e){return Cie(e),Egn(t,Vt(Fr,ii,28,e,15,1),e)}function iq(t,e){return Qz(t,"set1"),Qz(e,"set2"),new _Yt(t,e)}function tfn(t,e){var n=_ht[t.charCodeAt(0)];return n??t}function jne(t,e){var n,r;return n=e,r=new be,dpe(t,n,r),r.d}function hst(t,e,n,r){var s;s=new bZt,e.a[n.g]=s,W6(t.b,r,s)}function efn(t,e){var n;return n=ygn(t.f,e),ki(dz(n),t.f.d)}function sq(t){var e;Mgn(t.a),GQt(t.a),e=new RC(t.a),j5t(e)}function nfn(t,e){x0e(t,!0),Cu(t.e.Rf(),new Mvt(t,!0,e))}function rfn(t,e){return J6(),t==Ji(O0(e))||t==Ji(qb(e))}function ifn(t,e){return Sg(),u(X(e,(Cc(),h0)),17).a==t}function Ys(t){return Math.max(Math.min(t,xi),-2147483648)|0}function $ne(t){this.a=u(Hr(t),277),this.b=(mn(),new Vmt(t))}function zne(t,e,n){this.i=new fe,this.b=t,this.g=e,this.a=n}function t3t(t,e,n){this.a=new fe,this.e=t,this.f=e,this.c=n}function aq(t,e,n){this.c=new fe,this.e=t,this.f=e,this.b=n}function qne(t){gz.call(this),c4t(this),this.a=t,this.c=!0}function sfn(t){function e(){}return e.prototype=t||{},new e}function afn(t){if(t.Ae())return null;var e=t.n;return DU[e]}function AI(t){return t.Db>>16!=3?null:u(t.Cb,27)}function ed(t){return t.Db>>16!=9?null:u(t.Cb,27)}function Hne(t){return t.Db>>16!=6?null:u(t.Cb,74)}function Bm(){Bm=V,c2=new nmt(_k,0),Z5=new nmt(Ak,1)}function Gd(){Gd=V,Dv=new Zwt(Ak,0),Gp=new Zwt(_k,1)}function nd(){nd=V,Fw=new tmt(xut,0),yd=new tmt("UP",1)}function Vne(){Vne=V,zve=$r((l$(),lt(ut($ve,1),te,549,0,[Cht])))}function Une(t){var e;return e=new w$(zy(t.length)),J4t(e,t),e}function Gne(t,e){return t.b+=e.b,t.c+=e.c,t.d+=e.d,t.a+=e.a,t}function ofn(t,e){return Ice(t,e)?(Aoe(t),!0):!1}function vg(t,e){if(e==null)throw at(new E6);return _wn(t,e)}function LI(t,e){var n;n=t.q.getHours(),t.q.setDate(e),N_(t,n)}function e3t(t,e,n){var r;r=t.Ih(e),r>=0?t.bi(r,n):J6t(t,e,n)}function Kne(t,e){var n;return n=t.Ih(e),n>=0?t.Wh(n):Vot(t,e)}function Wne(t,e){var n;for(Hr(e),n=t.a;n;n=n.c)e.Yd(n.g,n.i)}function fst(t,e,n){var r;r=Jce(t,e,n),t.b=new Yq(r.c.length)}function Q4(t,e,n){oq(),t&&hi(t0t,t,e),t&&hi(VP,t,n)}function cfn(t,e){return vz(),Pn(),u(e.a,17).a<t}function ufn(t,e){return vz(),Pn(),u(e.b,17).a<t}function dst(t,e){return b.Math.abs(t)<b.Math.abs(e)?t:e}function lfn(t){return!t.a&&(t.a=new Jt(bi,t,10,11)),t.a.i>0}function n3t(t){var e;return e=t.d,e=t.bj(t.f),Or(t,e),e.Ob()}function Yne(t,e){var n;return n=new ayt(e),yfe(n,t),new fl(n)}function hfn(t){if(t.p!=0)throw at(new Xu);return bS(t.f,0)}function ffn(t){if(t.p!=0)throw at(new Xu);return bS(t.k,0)}function Xne(t){return t.Db>>16!=7?null:u(t.Cb,241)}function zE(t){return t.Db>>16!=6?null:u(t.Cb,241)}function Qne(t){return t.Db>>16!=7?null:u(t.Cb,167)}function Ji(t){return t.Db>>16!=11?null:u(t.Cb,27)}function Py(t){return t.Db>>16!=17?null:u(t.Cb,29)}function Jne(t){return t.Db>>16!=3?null:u(t.Cb,155)}function r3t(t){var e;return $b(t),e=new Os,_i(t,new A4(e))}function Zne(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.ve(e))}function dfn(t,e){var n;n=t.q.getHours(),t.q.setMonth(e),N_(t,n)}function tre(t,e){oz(this),this.f=e,this.g=t,Xz(this),this.je()}function ere(t,e){this.a=t,this.c=Oa(this.a),this.b=new tq(e)}function nre(t,e,n){this.a=e,this.c=t,this.b=(Hr(n),new fl(n))}function rre(t,e,n){this.a=e,this.c=t,this.b=(Hr(n),new fl(n))}function ire(t){this.a=t,this.b=Vt(cke,ue,2043,t.e.length,0,2)}function sre(){this.a=new zd,this.e=new Os,this.g=0,this.i=0}function oq(){oq=V,t0t=new _r,VP=new _r,oin(sye,new dC)}function are(){are=V,G6e=el(new Fs,(Ua(),Zo),(Za(),WN))}function i3t(){i3t=V,K6e=el(new Fs,(Ua(),Zo),(Za(),WN))}function ore(){ore=V,Y6e=el(new Fs,(Ua(),Zo),(Za(),WN))}function cre(){cre=V,dke=ri(new Fs,(Ua(),Zo),(Za(),CA))}function rh(){rh=V,bke=ri(new Fs,(Ua(),Zo),(Za(),CA))}function ure(){ure=V,wke=ri(new Fs,(Ua(),Zo),(Za(),CA))}function gst(){gst=V,kke=ri(new Fs,(Ua(),Zo),(Za(),CA))}function zS(t,e,n,r,s,o){return new Tg(t.e,e,t.Lj(),n,r,s,o)}function jo(t,e,n){return e==null?yu(t.f,null,n):Km(t.i,e,n)}function Xa(t,e){t.c&&zu(t.c.g,t),t.c=e,t.c&&ge(t.c.g,t)}function Aa(t,e){t.c&&zu(t.c.a,t),t.c=e,t.c&&ge(t.c.a,t)}function hc(t,e){t.i&&zu(t.i.j,t),t.i=e,t.i&&ge(t.i.j,t)}function xa(t,e){t.d&&zu(t.d.e,t),t.d=e,t.d&&ge(t.d.e,t)}function pst(t,e){t.a&&zu(t.a.k,t),t.a=e,t.a&&ge(t.a.k,t)}function bst(t,e){t.b&&zu(t.b.f,t),t.b=e,t.b&&ge(t.b.f,t)}function lre(t,e){Cln(t,t.b,t.c),u(t.b.b,68),e&&u(e.b,68).b}function gfn(t,e){return Bi(u(t.c,65).c.e.b,u(e.c,65).c.e.b)}function pfn(t,e){return Bi(u(t.c,65).c.e.a,u(e.c,65).c.e.a)}function bfn(t){return Iat(),Pn(),u(t.a,86).d.e!=0}function cq(t,e){Lt(t.Cb,184)&&(u(t.Cb,184).tb=null),mu(t,e)}function wst(t,e){Lt(t.Cb,90)&&t3(_l(u(t.Cb,90)),4),mu(t,e)}function wfn(t,e){D5t(t,e),Lt(t.Cb,90)&&t3(_l(u(t.Cb,90)),2)}function mfn(t,e){var n,r;n=e.c,r=n!=null,r&&Y6(t,new Oy(e.c))}function hre(t){var e,n;return n=(bE(),e=new lm,e),YE(n,t),n}function fre(t){var e,n;return n=(bE(),e=new lm,e),YE(n,t),n}function dre(t){for(var e;;)if(e=t.Pb(),!t.Ob())return e}function vfn(t,e,n){return ge(t.a,(Gz(),got(e,n),new bm(e,n))),t}function ru(t,e){return vo(),Gst(e)?new Sz(e,t):new eI(e,t)}function DI(t){return Xd(),$c(t,0)>=0?zb(t):FS(zb(Cp(t)))}function yfn(t){var e;return e=u(Tz(t.b),9),new _h(t.a,e,t.c)}function gre(t,e){var n;return n=u(Gy(Q6(t.a),e),16),n?n.gc():0}function pre(t,e,n){var r;$ue(e,n,t.c.length),r=n-e,Swt(t.c,e,r)}function xp(t,e,n){$ue(e,n,t.gc()),this.c=t,this.a=e,this.b=n-e}function Z6(t){this.c=new Ki,this.b=t.b,this.d=t.c,this.a=t.a}function mst(t){this.a=b.Math.cos(t),this.b=b.Math.sin(t)}function J2(t,e,n,r){this.c=t,this.d=r,pst(this,e),bst(this,n)}function s3t(t,e){Bnn.call(this,new M6(zy(t))),oh(e,hbe),this.a=e}function bre(t,e,n){return new Rot(t,(KE(),Fht),null,!1,e,n)}function wre(t,e,n){return new Rot(t,(KE(),Rht),e,n,null,!1)}function xfn(){return bl(),lt(ut(Ho,1),te,108,0,[I9t,sc,w3])}function kfn(){return qu(),lt(ut(Dye,1),te,471,0,[O1,n2,Kf])}function Efn(){return pl(),lt(ut(Aye,1),te,470,0,[c0,e2,Gf])}function Tfn(){return A1(),lt(ut(m3,1),te,237,0,[Ac,xu,Lc])}function Cfn(){return WS(),lt(ut(CCt,1),te,391,0,[rft,nft,ift])}function Sfn(){return Vm(),lt(ut(vft,1),te,372,0,[mv,r2,wv])}function _fn(){return QS(),lt(ut(CSt,1),te,322,0,[_A,QN,TSt])}function Afn(){return $q(),lt(ut(_St,1),te,351,0,[SSt,yG,Lft])}function Lfn(){return ow(),lt(ut(Q4e,1),te,459,0,[Ift,_T,z5])}function Dfn(){return c7(),lt(ut(qft,1),te,298,0,[$ft,zft,JN])}function Mfn(){return Cg(),lt(ut(s5e,1),te,311,0,[ZN,H5,qk])}function Ifn(){return o_(),lt(ut(LAt,1),te,390,0,[w1t,AAt,QG])}function Ofn(){return To(),lt(ut(j6e,1),te,462,0,[HA,vl,ku])}function Nfn(){return tH(),lt(ut(qAt,1),te,387,0,[$At,S1t,zAt])}function Pfn(){return i_(),lt(ut(HAt,1),te,349,0,[A1t,_1t,lP])}function Ffn(){return b7(),lt(ut(UAt,1),te,350,0,[L1t,VAt,VA])}function Bfn(){return jq(),lt(ut(WAt,1),te,352,0,[KAt,D1t,GAt])}function Rfn(){return iH(),lt(ut(YAt,1),te,388,0,[M1t,$T,P3])}function jfn(){return Hm(),lt(ut(ake,1),te,463,0,[hP,UA,eK])}function rd(t){return dc(lt(ut(la,1),ue,8,0,[t.i.n,t.n,t.a]))}function $fn(){return s_(),lt(ut(fLt,1),te,392,0,[hLt,N1t,dP])}function mre(){mre=V,w8e=el(new Fs,(bk(),YA),(I_(),nLt))}function uq(){uq=V,K1t=new rmt("DFS",0),OLt=new rmt("BFS",1)}function vre(t,e,n){var r;r=new hZ,r.b=e,r.a=n,++e.b,ge(t.d,r)}function zfn(t,e,n){var r;r=new io(n.d),ki(r,t),L5t(e,r.a,r.b)}function qfn(t,e){fJt(t,qr(sa(_m(e,24),TV)),qr(sa(e,TV)))}function Fy(t,e){if(t<0||t>e)throw at(new Bo(C8t+t+S8t+e))}function vn(t,e){if(t<0||t>=e)throw at(new Bo(C8t+t+S8t+e))}function qn(t,e){if(t<0||t>=e)throw at(new dwt(C8t+t+S8t+e))}function gn(t,e){this.b=(Wn(t),t),this.a=e&u3?e:e|64|Jd}function a3t(t){var e;return $b(t),e=(Nm(),Nm(),Oht),Pq(t,e)}function Hfn(t,e,n){var r;return r=B_(t,e,!1),r.b<=e&&r.a<=n}function Vfn(){return Sq(),lt(ut(ADt,1),te,439,0,[pdt,_Dt,SDt])}function Ufn(){return dH(),lt(ut(cDt,1),te,394,0,[oDt,hdt,aDt])}function Gfn(){return vH(),lt(ut(sDt,1),te,445,0,[mP,pK,sdt])}function Kfn(){return DH(),lt(ut(W8e,1),te,455,0,[adt,cdt,odt])}function Wfn(){return uO(),lt(ut($Lt,1),te,393,0,[fK,RLt,jLt])}function Yfn(){return Zq(),lt(ut(iDt,1),te,299,0,[idt,rDt,nDt])}function Xfn(){return cd(),lt(ut(XMt,1),te,278,0,[GT,$3,KT])}function Qfn(){return lk(),lt(ut(pIt,1),te,280,0,[gIt,q3,RK])}function Jfn(){return Ag(),lt(ut(cIt,1),te,346,0,[IK,Xp,bL])}function Zfn(){return pO(),lt(ut(bdt,1),te,444,0,[vK,yK,xK])}function Rm(t){return Hr(t),Lt(t,16)?new fl(u(t,16)):DE(t.Kc())}function o3t(t,e){return t&&t.equals?t.equals(e):$t(t)===$t(e)}function sa(t,e){return Fb(Uun(ec(t)?rf(t):t,ec(e)?rf(e):e))}function T1(t,e){return Fb(Gun(ec(t)?rf(t):t,ec(e)?rf(e):e))}function vst(t,e){return Fb(Kun(ec(t)?rf(t):t,ec(e)?rf(e):e))}function t1n(t,e){var n;return n=(Wn(t),t).g,evt(!!n),Wn(e),n(e)}function yre(t,e){var n,r;return r=OE(t,e),n=t.a.fd(r),new CYt(t,n)}function e1n(t){return t.Db>>16!=6?null:u(Kot(t),241)}function n1n(t){if(t.p!=2)throw at(new Xu);return qr(t.f)&js}function r1n(t){if(t.p!=2)throw at(new Xu);return qr(t.k)&js}function et(t){return ur(t.a<t.c.c.length),t.b=t.a++,t.c.c[t.b]}function i1n(t,e){t.b=t.b|e.b,t.c=t.c|e.c,t.d=t.d|e.d,t.a=t.a|e.a}function s1n(t,e){var n;n=Rt(Ht(t.a.of((ai(),LK)))),Fpe(t,e,n)}function xre(t,e){Y2.call(this,1,2,lt(ut(Fr,1),ii,28,15,[t,e]))}function kre(t,e,n){um.call(this,25),this.b=t,this.a=e,this.c=n}function ih(t){yi(),um.call(this,t),this.c=!1,this.a=!1}function a1n(t){return t.a==(VE(),JK)&&ie(t,y8n(t.g,t.b)),t.a}function tk(t){return t.d==(VE(),JK)&&me(t,v7n(t.g,t.b)),t.d}function o1n(t,e){return YS(),t.c==e.c?Bi(e.d,t.d):Bi(e.c,t.c)}function c1n(t,e){return YS(),t.c==e.c?Bi(e.d,t.d):Bi(t.c,e.c)}function u1n(t,e){return YS(),t.c==e.c?Bi(t.d,e.d):Bi(t.c,e.c)}function l1n(t,e){return YS(),t.c==e.c?Bi(t.d,e.d):Bi(e.c,t.c)}function c3t(t,e){return Ute(t.a,e)?Qvt(t.b,u(e,22).g,null):null}function h1n(t){return Qa(Rf(Pc(Dl(t,32)),32),Pc(Dl(t,32)))}function u3t(t){return t.b==null||t.b.length==0?"n_"+t.a:"n_"+t.b}function Z2(t){return t.c==null||t.c.length==0?"n_"+t.g:"n_"+t.c}function Ere(t,e){var n;for(n=t+"";n.length<e;)n="0"+n;return n}function f1n(t,e){var n;n=u(tr(t.g,e),60),Cu(e.d,new wXt(t,n))}function d1n(t,e){var n,r;return n=She(t),r=She(e),n<r?-1:n>r?1:0}function Tre(t,e){var n,r;return n=qst(e),r=n,u(tr(t.c,r),17).a}function yst(t,e,n){var r;r=t.d[e.p],t.d[e.p]=t.d[n.p],t.d[n.p]=r}function g1n(t,e,n){var r;t.n&&e&&n&&(r=new Ktt,ge(t.e,r))}function xst(t,e){if(qs(t.a,e),e.d)throw at(new uc(Nbe));e.d=t}function l3t(t,e){this.a=new fe,this.d=new fe,this.f=t,this.c=e}function Cre(){this.c=new cJt,this.a=new gse,this.b=new SKt,VYt()}function Sre(){ck(),this.b=new _r,this.a=new _r,this.c=new fe}function _re(t,e,n){this.d=t,this.j=e,this.e=n,this.o=-1,this.p=3}function Are(t,e,n){this.d=t,this.k=e,this.f=n,this.o=-1,this.p=5}function Lre(t,e,n,r,s,o){l4t.call(this,t,e,n,r,s),o&&(this.o=-2)}function Dre(t,e,n,r,s,o){h4t.call(this,t,e,n,r,s),o&&(this.o=-2)}function Mre(t,e,n,r,s,o){A3t.call(this,t,e,n,r,s),o&&(this.o=-2)}function Ire(t,e,n,r,s,o){g4t.call(this,t,e,n,r,s),o&&(this.o=-2)}function Ore(t,e,n,r,s,o){L3t.call(this,t,e,n,r,s),o&&(this.o=-2)}function Nre(t,e,n,r,s,o){f4t.call(this,t,e,n,r,s),o&&(this.o=-2)}function Pre(t,e,n,r,s,o){d4t.call(this,t,e,n,r,s),o&&(this.o=-2)}function Fre(t,e,n,r,s,o){D3t.call(this,t,e,n,r,s),o&&(this.o=-2)}function Bre(t,e,n,r){i$.call(this,n),this.b=t,this.c=e,this.d=r}function Rre(t,e){this.f=t,this.a=(VE(),QK),this.c=QK,this.b=e}function jre(t,e){this.g=t,this.d=(VE(),JK),this.a=JK,this.b=e}function h3t(t,e){!t.c&&(t.c=new ps(t,0)),gV(t.c,(Ni(),AL),e)}function p1n(t,e){return Qxn(t,e,Lt(e,102)&&(u(e,19).Bb&po)!=0)}function b1n(t,e){return vee(Pc(t.q.getTime()),Pc(e.q.getTime()))}function $re(t){return _it(t.e.Rd().gc()*t.c.Rd().gc(),16,new wnt(t))}function w1n(t){return!!t.u&&Wc(t.u.a).i!=0&&!(t.n&&lot(t.n))}function m1n(t){return!!t.a&&Al(t.a.a).i!=0&&!(t.b&&hot(t.b))}function f3t(t,e){return e==0?!!t.o&&t.o.f!=0:iot(t,e)}function v1n(t,e,n){var r;return r=u(t.Zb().xc(e),16),!!r&&r.Hc(n)}function zre(t,e,n){var r;return r=u(t.Zb().xc(e),16),!!r&&r.Mc(n)}function qre(t,e){var n;return n=1-e,t.a[n]=Wq(t.a[n],n),Wq(t,e)}function Hre(t,e){var n,r;return r=sa(t,So),n=Rf(e,32),T1(n,r)}function Vre(t,e,n){var r;r=(Hr(t),new fl(t)),xvn(new nre(r,e,n))}function MI(t,e,n){var r;r=(Hr(t),new fl(t)),kvn(new rre(r,e,n))}function Ec(t,e,n,r,s,o){return xce(t,e,n,o),x5t(t,r),k5t(t,s),t}function Ure(t,e,n,r){return t.a+=""+Lh(e==null?Vu:rc(e),n,r),t}function La(t,e){this.a=t,gr.call(this,t),Fy(e,t.gc()),this.b=e}function Gre(t){this.a=Vt(aa,Ln,1,W4t(b.Math.max(8,t))<<1,5,1)}function II(t){return u(ld(t,Vt(V0,jp,10,t.c.length,0,1)),199)}function Kd(t){return u(ld(t,Vt(hft,Rut,18,t.c.length,0,1)),482)}function Kre(t){return t.a?t.e.length==0?t.a.a:t.a.a+(""+t.e):t.c}function qS(t){for(;t.d>0&&t.a[--t.d]==0;);t.a[t.d++]==0&&(t.e=0)}function Wre(t){return ur(t.b.b!=t.d.a),t.c=t.b=t.b.b,--t.a,t.c.c}function y1n(t,e,n){t.a=e,t.c=n,t.b.a.$b(),nh(t.d),wy(t.e.a.c,0)}function Yre(t,e){var n;t.e=new rwt,n=n3(e),Ds(n,t.c),l0e(t,n,0)}function Bs(t,e,n,r){var s;s=new q8,s.a=e,s.b=n,s.c=r,Zr(t.a,s)}function le(t,e,n,r){var s;s=new q8,s.a=e,s.b=n,s.c=r,Zr(t.b,s)}function Xre(t,e,n){if(t<0||e<t||e>n)throw at(new Bo(O4n(t,e,n)))}function OI(t,e){if(t<0||t>=e)throw at(new Bo(l5n(t,e)));return t}function x1n(t){if(!("stack"in t))try{throw t}catch{}return t}function J4(t){return ZC(),Lt(t.g,10)?u(t.g,10):null}function k1n(t){return X4(t).dc()?!1:(Uin(t,new ft),!0)}function tw(t){var e;return ec(t)?(e=t,e==-0?0:e):B0n(t)}function Qre(t,e){return Lt(e,44)?bot(t.a,u(e,44)):!1}function Jre(t,e){return Lt(e,44)?bot(t.a,u(e,44)):!1}function Zre(t,e){return Lt(e,44)?bot(t.a,u(e,44)):!1}function d3t(t){var e;return Mb(t),e=new Mt,N4(t.a,new _4(e)),e}function g3t(){var t,e,n;return e=(n=(t=new lm,t),n),ge(QIt,e),e}function lq(t){var e;return Mb(t),e=new pn,N4(t.a,new x6(e)),e}function E1n(t,e){return t.a<=t.b?(e.Dd(t.a++),!0):!1}function tie(t){uat.call(this,t,(KE(),Pht),null,!1,null,!1)}function eie(){eie=V,c3e=$r((E$(),lt(ut(rCt,1),te,488,0,[Wht])))}function nie(){nie=V,QAt=Wee(he(1),he(4)),XAt=Wee(he(1),he(2))}function T1n(t,e){return new xit(e,CS(Oa(e.e),t,t),(Pn(),!0))}function hq(t){return new wu((oh(t,jct),Oq(Qa(Qa(5,t),t/10|0))))}function C1n(t){return _it(t.e.Rd().gc()*t.c.Rd().gc(),273,new bnt(t))}function rie(t){return u(ld(t,Vt(w4e,f2e,12,t.c.length,0,1)),2042)}function S1n(t){return rh(),!go(t)&&!(!go(t)&&t.c.i.c==t.d.i.c)}function _1n(t,e){return ak(),u(X(e,(Cc(),tx)),17).a>=t.gc()}function HS(t,e){uSn(e,t),Kvt(t.d),Kvt(u(X(t,(De(),VG)),214))}function kst(t,e){lSn(e,t),Wvt(t.d),Wvt(u(X(t,(De(),VG)),214))}function A1n(t,e,n){t.d&&zu(t.d.e,t),t.d=e,t.d&&Sm(t.d.e,n,t)}function L1n(t,e,n){return n.f.c.length>0?kyt(t.a,e,n):kyt(t.b,e,n)}function D1n(t,e,n){var r;r=Kwn();try{return wan(t,e,n)}finally{kdn(r)}}function jm(t,e){var n,r;return n=vg(t,e),r=null,n&&(r=n.pe()),r}function VS(t,e){var n,r;return n=vg(t,e),r=null,n&&(r=n.se()),r}function qE(t,e){var n,r;return n=$y(t,e),r=null,n&&(r=n.se()),r}function yg(t,e){var n,r;return n=vg(t,e),r=null,n&&(r=d6t(n)),r}function M1n(t,e,n){var r;return r=T7(n),uV(t.g,r,e),uV(t.i,e,n),e}function p3t(t,e,n){this.d=new gUt(this),this.e=t,this.i=e,this.f=n}function iie(t,e,n,r){this.e=null,this.c=t,this.d=e,this.a=n,this.b=r}function sie(t,e,n,r){nJt(this),this.c=t,this.e=e,this.f=n,this.b=r}function b3t(t,e,n,r){this.d=t,this.n=e,this.g=n,this.o=r,this.p=-1}function aie(t,e,n,r){return Lt(n,59)?new FJt(t,e,n,r):new byt(t,e,n,r)}function HE(t){return Lt(t,16)?u(t,16).dc():!t.Kc().Ob()}function oie(t){if(t.e.g!=t.b)throw at(new Th);return!!t.c&&t.d>0}function Ar(t){return ur(t.b!=t.d.c),t.c=t.b,t.b=t.b.a,++t.a,t.c.c}function w3t(t,e){Wn(e),ls(t.a,t.c,e),t.c=t.c+1&t.a.length-1,Lhe(t)}function Ob(t,e){Wn(e),t.b=t.b-1&t.a.length-1,ls(t.a,t.b,e),Lhe(t)}function cie(t){var e;e=t.Gh(),this.a=Lt(e,71)?u(e,71).Ii():e.Kc()}function I1n(t){return new gn(wgn(u(t.a.md(),16).gc(),t.a.ld()),16)}function uie(){uie=V,CEe=$r((S$(),lt(ut(IDt,1),te,489,0,[wdt])))}function lie(){lie=V,_Ee=$r((_$(),lt(ut(SEe,1),te,558,0,[mdt])))}function hie(){hie=V,UEe=$r((tS(),lt(ut(ZDt,1),te,539,0,[kP])))}function O1n(){return lw(),lt(ut(LCt,1),te,389,0,[x3,ACt,uft,lft])}function N1n(){return KE(),lt(ut(BU,1),te,303,0,[Pht,Fht,Bht,Rht])}function P1n(){return dk(),lt(ut(r3e,1),te,332,0,[$N,jN,zN,qN])}function F1n(){return m_(),lt(ut(a3e,1),te,406,0,[HN,zU,qU,VN])}function B1n(){return Gm(),lt(ut(e3e,1),te,417,0,[RN,BN,Ght,Kht])}function R1n(){return u7(),lt(ut(s4e,1),te,416,0,[bv,y3,v3,F5])}function j1n(){return ud(),lt(ut(P4e,1),te,421,0,[zk,yT,xT,mft])}function $1n(){return rH(),lt(ut(T4e,1),te,371,0,[wft,gG,pG,YN])}function z1n(){return Yy(),lt(ut(v1t,1),te,203,0,[JG,m1t,J5,Q5])}function q1n(){return Wd(),lt(ut(RAt,1),te,284,0,[Up,BAt,k1t,E1t])}function H1n(t){var e;return t.j==(ve(),Er)&&(e=J1e(t),Zu(e,Jn))}function V1n(t,e){var n;n=e.a,Xa(n,e.c.d),xa(n,e.d.d),Vy(n.a,t.n)}function m3t(t,e){var n;return n=u(od(t.b,e),67),!n&&(n=new Ki),n}function ek(t){return ZC(),Lt(t.g,154)?u(t.g,154):null}function U1n(t){t.a=null,t.e=null,wy(t.b.c,0),wy(t.f.c,0),t.c=null}function fq(){fq=V,Hft=new Xwt(J7,0),GSt=new Xwt("TOP_LEFT",1)}function US(){US=V,KA=new Jwt("UPPER",0),GA=new Jwt("LOWER",1)}function G1n(t,e){return R6(new ae(e.e.a+e.f.a/2,e.e.b+e.f.b/2),t)}function fie(t,e){return u(Vl(My(u(Ai(t.k,e),15).Oc(),R5)),113)}function die(t,e){return u(Vl(G6(u(Ai(t.k,e),15).Oc(),R5)),113)}function K1n(){return bk(),lt(ut(tLt,1),te,405,0,[sK,WA,YA,XA])}function W1n(){return a_(),lt(ut(ILt,1),te,353,0,[G1t,lK,U1t,V1t])}function Y1n(){return NH(),lt(ut(eDt,1),te,354,0,[rdt,ZLt,tDt,JLt])}function X1n(){return Yl(),lt(ut(xL,1),te,386,0,[RP,qw,BP,z3])}function Q1n(){return uh(),lt(ut(I7e,1),te,290,0,[NP,K0,h2,OP])}function J1n(){return Lg(),lt(ut(Udt,1),te,223,0,[Vdt,IP,WT,e8])}function Z1n(){return pH(),lt(ut(xIt,1),te,320,0,[Wdt,mIt,yIt,vIt])}function tdn(){return sH(),lt(ut(Y7e,1),te,415,0,[Ydt,EIt,kIt,TIt])}function edn(t){return oq(),Tu(t0t,t)?u(tr(t0t,t),341).Qg():null}function Dh(t,e,n){return e<0?Vot(t,n):u(n,69).wk().Bk(t,t.hi(),e)}function ndn(t,e,n){var r;return r=T7(n),uV(t.j,r,e),hi(t.k,e,n),e}function rdn(t,e,n){var r;return r=T7(n),uV(t.d,r,e),hi(t.e,e,n),e}function gie(t){var e,n;return e=(kb(),n=new sM,n),t&&ZH(e,t),e}function v3t(t){var e;return e=t.aj(t.i),t.i>0&&Xc(t.g,0,e,0,t.i),e}function pie(t,e){var n;for(n=t.j.c.length;n<e;n++)ge(t.j,t.Ng())}function bie(t,e,n,r){var s;return s=r[e.g][n.g],Rt(Ht(X(t.a,s)))}function wie(t,e){A$();var n;return n=u(tr(KK,t),57),!n||n.fk(e)}function idn(t){if(t.p!=1)throw at(new Xu);return qr(t.f)<<24>>24}function sdn(t){if(t.p!=1)throw at(new Xu);return qr(t.k)<<24>>24}function adn(t){if(t.p!=7)throw at(new Xu);return qr(t.k)<<16>>16}function odn(t){if(t.p!=7)throw at(new Xu);return qr(t.f)<<16>>16}function Z4(t,e){return e.e==0||t.e==0?yA:(F7(),Zot(t,e))}function mie(t,e){return $t(e)===$t(t)?"(this Map)":e==null?Vu:rc(e)}function cdn(t,e,n){return Fit(Ht(Ko(Eo(t.f,e))),Ht(Ko(Eo(t.f,n))))}function udn(t,e,n){var r;r=u(tr(t.g,n),60),ge(t.a.c,new Ws(e,r))}function vie(t,e,n){t.i=0,t.e=0,e!=n&&(eue(t,e,n),tue(t,e,n))}function ldn(t,e,n,r,s){var o;o=h6n(s,n,r),ge(e,r5n(s,o)),W3n(t,s,e)}function y3t(t,e,n,r,s){this.i=t,this.a=e,this.e=n,this.j=r,this.f=s}function yie(t,e){Qyt.call(this),this.a=t,this.b=e,ge(this.a.b,this)}function xie(t){this.b=new _r,this.c=new _r,this.d=new _r,this.a=t}function kie(t,e){var n;return n=new I4,t.Gd(n),n.a+="..",e.Hd(n),n.a}function Eie(t,e){var n;for(n=e;n;)Tm(t,n.i,n.j),n=Ji(n);return t}function Tie(t,e,n){var r;return r=T7(n),hi(t.b,r,e),hi(t.c,e,n),e}function xg(t){var e;for(e=0;t.Ob();)t.Pb(),e=Qa(e,1);return Oq(e)}function D0(t,e){vo();var n;return n=u(t,69).vk(),l4n(n,e),n.xl(e)}function hdn(t,e,n){if(n){var r=n.oe();t.a[e]=r(n)}else delete t.a[e]}function x3t(t,e){var n;n=t.q.getHours(),t.q.setFullYear(e+Wb),N_(t,n)}function fdn(t,e){return u(e==null?Ko(Eo(t.f,null)):iS(t.i,e),288)}function k3t(t,e){return t==(Un(),xs)&&e==xs?4:t==xs||e==xs?8:32}function dq(t,e,n){return hV(t,e,n,Lt(e,102)&&(u(e,19).Bb&po)!=0)}function ddn(t,e,n){return $7(t,e,n,Lt(e,102)&&(u(e,19).Bb&po)!=0)}function gdn(t,e,n){return i6n(t,e,n,Lt(e,102)&&(u(e,19).Bb&po)!=0)}function E3t(t){t.b!=t.c&&(t.a=Vt(aa,Ln,1,8,5,1),t.b=0,t.c=0)}function GS(t){return ur(t.a<t.c.a.length),t.b=t.a,Fae(t),t.c.b[t.b]}function Wc(t){return t.n||(_l(t),t.n=new Qte(t,Do,t),Yo(t)),t.n}function Cie(t){if(t<0)throw at(new mWt("Negative array size: "+t))}function Est(t,e,n){if(n){var r=n.oe();n=r(n)}else n=void 0;t.a[e]=n}function Sie(t,e){g7();var n;return n=t.j.g-e.j.g,n!=0?n:0}function pdn(t,e){return pg(),Or(Qt(t.a),e)}function bdn(t,e){return pg(),Or(Qt(t.a),e)}function kg(t,e){Xd(),Y2.call(this,t,1,lt(ut(Fr,1),ii,28,15,[e]))}function By(t,e){yi(),um.call(this,t),this.a=e,this.c=-1,this.b=-1}function Ry(t,e,n,r){_re.call(this,1,n,r),this.c=t,this.b=e}function Tst(t,e,n,r){Are.call(this,1,n,r),this.c=t,this.b=e}function Cst(t,e,n,r,s,o,h){tat.call(this,e,r,s,o,h),this.c=t,this.a=n}function ew(t,e,n){this.e=t,this.a=aa,this.b=M0e(e),this.c=e,this.d=n}function Sst(t){this.e=t,this.c=this.e.a,this.b=this.e.g,this.d=this.e.i}function T3t(t){this.d=t,this.b=this.d.a.entries(),this.a=this.b.next()}function _ie(t){this.c=t,this.a=u(of(t),156),this.b=this.a.jk().wi()}function kp(){_r.call(this),zJt(this),this.d.b=this.d,this.d.a=this.d}function hs(t,e,n,r){var s;s=new Ae,s.c=e,s.b=n,s.a=r,r.b=n.a=s,++t.b}function wdn(t,e){var n;return n=e!=null?nu(t,e):Ko(Eo(t.f,e)),tz(n)}function mdn(t,e){var n;return n=e!=null?nu(t,e):Ko(Eo(t.f,e)),tz(n)}function nc(t,e){var n;return e.b.Kb(Tae(t,e.c.Xe(),(n=new J1(e),n)))}function vdn(t,e){var n;return Cie(e),n=t.slice(0,e),n.length=e,zst(n,t)}function Aie(t,e){var n;for(n=0;n<e;++n)ls(t,n,new nr(u(t[n],44)))}function ydn(t,e){var n;for(n=t.d-1;n>=0&&t.a[n]===e[n];n--);return n<0}function gq(t){var e;return t?new ayt(t):(e=new zd,oat(e,t),e)}function xdn(t,e){var n,r;r=!1;do n=Vce(t,e),r=r|n;while(n);return r}function kdn(t){t&&W0n((uwt(),i9t)),--MU,t&&IU!=-1&&(din(IU),IU=-1)}function pq(t){Qxt(),fJt(this,qr(sa(_m(t,24),TV)),qr(sa(t,TV)))}function Lie(){Lie=V,kye=$r((TH(),lt(ut(N9t,1),te,436,0,[zht,O9t])))}function Die(){Die=V,Eye=$r((Mq(),lt(ut(F9t,1),te,435,0,[P9t,qht])))}function Mie(){Mie=V,C3e=$r((Iq(),lt(ut(lCt,1),te,432,0,[Zht,UU])))}function Iie(){Iie=V,x4e=$r((r7(),lt(ut(y4e,1),te,517,0,[KN,dft])))}function Oie(){Oie=V,t5e=$r((qI(),lt(ut(NSt,1),te,487,0,[OSt,EG])))}function Nie(){Nie=V,X4e=$r((YI(),lt(ut(MSt,1),te,428,0,[xG,DSt])))}function Pie(){Pie=V,G4e=$r((Eq(),lt(ut(ESt,1),te,431,0,[kSt,Aft])))}function Fie(){Fie=V,R6e=$r((KI(),lt(ut(jAt,1),te,430,0,[T1t,C1t])))}function Bie(){Bie=V,fke=$r((US(),lt(ut(hke,1),te,531,0,[KA,GA])))}function Rie(){Rie=V,vke=$r((Gd(),lt(ut(mke,1),te,523,0,[Dv,Gp])))}function jie(){jie=V,xke=$r((nd(),lt(ut(yke,1),te,522,0,[Fw,yd])))}function $ie(){$ie=V,Fke=$r((C1(),lt(ut(Pke,1),te,528,0,[F3,o2])))}function zie(){zie=V,o5e=$r((fq(),lt(ut(KSt,1),te,429,0,[Hft,GSt])))}function qie(){qie=V,Hke=$r((Bm(),lt(ut(qke,1),te,464,0,[c2,Z5])))}function Hie(){Hie=V,T8e=$r((Cq(),lt(ut(BLt,1),te,434,0,[FLt,Z1t])))}function Vie(){Vie=V,b8e=$r((uq(),lt(ut(NLt,1),te,433,0,[K1t,OLt])))}function Uie(){Uie=V,x8e=$r((Kq(),lt(ut(PLt,1),te,500,0,[hK,nx])))}function Gie(){Gie=V,vEe=$r((wq(),lt(ut(CDt,1),te,490,0,[gdt,TDt])))}function Kie(){Kie=V,xEe=$r((gat(),lt(ut(MDt,1),te,491,0,[LDt,DDt])))}function Wie(){Wie=V,AEe=$r((BI(),lt(ut(ODt,1),te,438,0,[vdt,kK])))}function Yie(){Yie=V,GEe=$r((sO(),lt(ut(eMt,1),te,437,0,[TK,tMt])))}function Xie(){Xie=V,G7e=$r((vit(),lt(ut(jK,1),te,347,0,[bIt,wIt])))}function Edn(){return Rs(),lt(ut(gL,1),te,88,0,[Ed,tc,Uo,kd,Gh])}function Tdn(){return ve(),lt(ut(bo,1),qc,64,0,[bc,Hn,Jn,Er,Gn])}function Cdn(t,e,n){return u(e==null?yu(t.f,null,n):Km(t.i,e,n),288)}function Sdn(t){return(t.k==(Un(),xs)||t.k==Ms)&&qi(t,(oe(),MA))}function _st(t){return t.c&&t.d?u3t(t.c)+"->"+u3t(t.d):"e_"+Em(t)}function Fa(t,e){var n,r;for(Wn(e),r=t.Kc();r.Ob();)n=r.Pb(),e.Cd(n)}function _dn(t,e){var n;n=new _6,Q2(n,"x",e.a),Q2(n,"y",e.b),Y6(t,n)}function Adn(t,e){var n;n=new _6,Q2(n,"x",e.a),Q2(n,"y",e.b),Y6(t,n)}function Qie(t,e){var n;for(n=e;n;)Tm(t,-n.i,-n.j),n=Ji(n);return t}function C3t(t,e){var n,r;for(n=e,r=0;n>0;)r+=t.a[n],n-=n&-n;return r}function Mh(t,e,n){var r;return r=(vn(e,t.c.length),t.c[e]),t.c[e]=n,r}function S3t(t,e,n){t.a.c.length=0,ZTn(t,e,n),t.a.c.length==0||_En(t,e)}function NI(t){t.i=0,zM(t.b,null),zM(t.c,null),t.a=null,t.e=null,++t.g}function bq(){bq=V,wd=!0,fye=!1,dye=!1,pye=!1,gye=!1}function Ast(t){bq(),!wd&&(this.c=t,this.e=!0,this.a=new fe)}function Jie(t,e){this.c=0,this.b=e,xQt.call(this,t,17493),this.a=this.c}function Zie(t){nbe(),oKt(this),this.a=new Ki,s5t(this,t),Zr(this.a,t)}function tse(){Qrt(this),this.b=new ae(Zi,Zi),this.a=new ae(Vs,Vs)}function wq(){wq=V,gdt=new amt(eEt,0),TDt=new amt("TARGET_WIDTH",1)}function t5(t,e){return($b(t),wE(new ln(t,new Z3t(e,t.a)))).Bd(Rk)}function Ldn(){return Ua(),lt(ut(SCt,1),te,367,0,[Wf,H0,Qc,cu,Zo])}function Ddn(){return Qy(),lt(ut(B4e,1),te,375,0,[XN,mG,vG,wG,bG])}function Mdn(){return Ip(),lt(ut(LSt,1),te,348,0,[Dft,ASt,Mft,ST,CT])}function Idn(){return w_(),lt(ut(MAt,1),te,323,0,[DAt,y1t,x1t,zA,qA])}function Odn(){return Rh(),lt(ut(a_t,1),te,171,0,[rP,OA,s2,NA,S3])}function Ndn(){return zH(),lt(ut(k8e,1),te,368,0,[Q1t,W1t,J1t,Y1t,X1t])}function Pdn(){return A_(),lt(ut(kEe,1),te,373,0,[rx,Xk,aL,sL,xP])}function Fdn(){return DO(),lt(ut(BDt,1),te,324,0,[NDt,ydt,FDt,xdt,PDt])}function Bdn(){return D1(),lt(ut(G0,1),te,170,0,[_n,Qs,f0,Bw,Wp])}function Rdn(){return o5(),lt(ut(mL,1),te,256,0,[f2,PP,uIt,wL,lIt])}function jdn(t){return d$(),function(){return D1n(t,this,arguments)}}function go(t){return!t.c||!t.d?!1:!!t.c.i&&t.c.i==t.d.i}function _3t(t,e){return Lt(e,143)?hn(t.c,u(e,143).c):!1}function _l(t){return t.t||(t.t=new QGt(t),h_(new dWt(t),0,t.t)),t.t}function ese(t){this.b=t,Zn.call(this,t),this.a=u(jn(this.b.a,4),129)}function nse(t){this.b=t,$6.call(this,t),this.a=u(jn(this.b.a,4),129)}function jf(t,e,n,r,s){fse.call(this,e,r,s),this.c=t,this.b=n}function A3t(t,e,n,r,s){_re.call(this,e,r,s),this.c=t,this.a=n}function L3t(t,e,n,r,s){Are.call(this,e,r,s),this.c=t,this.a=n}function D3t(t,e,n,r,s){fse.call(this,e,r,s),this.c=t,this.a=n}function Lst(t,e){var n;return n=u(od(t.d,e),23),n||u(od(t.e,e),23)}function rse(t,e){var n,r;return n=e.ld(),r=t.Fe(n),!!r&&Nc(r.e,e.md())}function ise(t,e){var n;return n=e.ld(),new bm(n,t.e.pc(n,u(e.md(),16)))}function $dn(t,e){var n;return n=t.a.get(e),n??Vt(aa,Ln,1,0,5,1)}function sse(t){var e;return e=t.length,hn(Qn.substr(Qn.length-e,e),t)}function dr(t){if(Mr(t))return t.c=t.a,t.a.Pb();throw at(new cc)}function M3t(t,e){return e==0||t.e==0?t:e>0?Yde(t,e):mle(t,-e)}function nk(t,e){return e==0||t.e==0?t:e>0?mle(t,e):Yde(t,-e)}function I3t(t){Qrn.call(this,t==null?Vu:rc(t),Lt(t,82)?u(t,82):null)}function ase(t){var e;return t.c||(e=t.r,Lt(e,90)&&(t.c=u(e,29))),t.c}function Dst(t){var e;return e=new Pm,Qo(e,t),Zt(e,(De(),Vo),null),e}function ose(t){var e,n;return e=t.c.i,n=t.d.i,e.k==(Un(),Ms)&&n.k==Ms}function Mst(t){var e,n,r;return e=t&Il,n=t>>22&Il,r=t<0?Fg:0,Eu(e,n,r)}function zdn(t){var e,n,r,s;for(n=t,r=0,s=n.length;r<s;++r)e=n[r],jS(e)}function qdn(t,e){var n,r;n=u(Qbn(t.c,e),16),n&&(r=n.gc(),n.$b(),t.d-=r)}function Ist(t,e,n){var r;return r=t.Ih(e),r>=0?t.Lh(r,n,!0):tv(t,e,n)}function Hdn(t,e,n){return Bi(R6(S7(t),Oa(e.b)),R6(S7(t),Oa(n.b)))}function Vdn(t,e,n){return Bi(R6(S7(t),Oa(e.e)),R6(S7(t),Oa(n.e)))}function Udn(t,e){return b.Math.min(Nb(e.a,t.d.d.c),Nb(e.b,t.d.d.c))}function PI(t,e){t._i(t.i+1),kS(t,t.i,t.Zi(t.i,e)),t.Mi(t.i++,e),t.Ni()}function KS(t){var e,n;++t.j,e=t.g,n=t.i,t.g=null,t.i=0,t.Oi(n,e),t.Ni()}function cse(t,e,n){var r;r=new Mmt(t.a),t_(r,t.a.a),yu(r.f,e,n),t.a.a=r}function O3t(t,e,n,r){var s;for(s=0;s<jU;s++)Pz(t.a[s][e.g],n,r[e.g])}function N3t(t,e,n,r){var s;for(s=0;s<Vht;s++)Fz(t.a[e.g][s],n,r[e.g])}function Ai(t,e){var n;return n=u(t.c.xc(e),16),!n&&(n=t.ic(e)),t.pc(e,n)}function Gdn(t){var e;return e=(Hr(t),t?new fl(t):DE(t.Kc())),IO(e),uH(e)}function id(t){var e,n;return Hr(t),e=Hln(t.length),n=new wu(e),J4t(n,t),n}function Ost(t,e,n,r){var s;return s=Vt(Fr,ii,28,e,15,1),d3n(s,t,e,n,r),s}function P3t(t,e){if(t<0||t>e)throw at(new Bo(x6t(t,e,"index")));return t}function Ep(t,e){var n;return n=(vn(e,t.c.length),t.c[e]),Swt(t.c,e,1),n}function F3t(t,e){var n,r;return n=(Wn(t),t),r=(Wn(e),e),n==r?0:n<r?-1:1}function B3t(t){var e;return e=t.e+t.f,isNaN(e)&&bz(t.d)?t.d:e}function Kdn(t){return t.e=3,t.d=t.Yb(),t.e!=2?(t.e=0,!0):!1}function Eg(t,e){return t.a?ni(t.a,t.b):t.a=new eh(t.d),mS(t.a,e),t}function rk(t,e){return ba(e)?e==null?R6t(t.f,null):Tce(t.i,e):R6t(t.f,e)}function use(t,e){yQt.call(this,e.zd(),e.yd()&-6),Wn(t),this.a=t,this.b=e}function lse(t,e){xQt.call(this,e.zd(),e.yd()&-6),Wn(t),this.a=t,this.b=e}function R3t(t,e){ez.call(this,e.zd(),e.yd()&-6),Wn(t),this.a=t,this.b=e}function hse(t,e,n){i$.call(this,n),this.b=t,this.c=e,this.d=(Xat(),s0t)}function fse(t,e,n){this.d=t,this.k=e?1:0,this.f=n?1:0,this.o=-1,this.p=0}function sd(t){this.c=t,this.a=new G(this.c.a),this.b=new G(this.c.b)}function mq(){this.e=new fe,this.c=new fe,this.d=new fe,this.b=new fe}function dse(){this.g=new H2t,this.b=new H2t,this.a=new fe,this.k=new fe}function gse(){this.a=new K2t,this.b=new NKt,this.d=new $l,this.e=new qX}function pse(t,e,n){this.a=t,this.c=e,this.d=n,ge(e.e,this),ge(n.b,this)}function j3t(t,e,n){var r,s;for(r=0,s=0;s<e.length;s++)r+=t.tg(e[s],r,n)}function Wdn(t,e){var n;return n=d9n(t,e),t.b=new Yq(n.c.length),ITn(t,n)}function Ydn(t,e){var n;n=t.q.getHours()+(e/60|0),t.q.setMinutes(e),N_(t,n)}function Nst(t){var e;return e=t.b,e.b==0?null:u(jh(e,0),65).b}function $3t(t){if(t.a){if(t.e)return $3t(t.e)}else return t;return null}function Xdn(t,e){return t.p<e.p?1:t.p>e.p?-1:0}function bse(t){var e;return t.a||(e=t.r,Lt(e,156)&&(t.a=u(e,156))),t.a}function Qdn(t,e,n){var r;return++t.e,--t.f,r=u(t.d[e].gd(n),136),r.md()}function Jdn(t){var e,n;return e=t.ld(),n=u(t.md(),16),pI(n.Nc(),new mnt(e))}function wse(t,e){return Tu(t.a,e)?(rk(t.a,e),!0):!1}function ik(t,e,n){return OI(e,t.e.Rd().gc()),OI(n,t.c.Rd().gc()),t.a[e][n]}function vq(t,e,n){this.a=t,this.b=e,this.c=n,ge(t.t,this),ge(e.i,this)}function yq(t,e,n,r){this.f=t,this.e=e,this.d=n,this.b=r,this.c=r?r.d:null}function FI(){this.b=new Ki,this.a=new Ki,this.b=new Ki,this.a=new Ki}function VE(){VE=V;var t,e;QK=(bE(),e=new o$,e),JK=(t=new Hnt,t)}function Zdn(t){var e;return $b(t),e=new ute(t,t.a.e,t.a.d|4),new rvt(t,e)}function mse(t){var e;for(Mb(t),e=0;t.a.Bd(new xn);)e=Qa(e,1);return e}function xq(t,e){return Wn(e),t.c<t.d?(t.Se(e,t.c++),!0):!1}function wu(t){Qrt(this),wI(t>=0,"Initial capacity must not be negative")}function kq(){kq=V,oL=new Oi("org.eclipse.elk.labels.labelManager")}function vse(){vse=V,wSt=new rs("separateLayerConnections",(rH(),wft))}function C1(){C1=V,F3=new emt("REGULAR",0),o2=new emt("CRITICAL",1)}function BI(){BI=V,vdt=new cmt("FIXED",0),kK=new cmt("CENTER_NODE",1)}function Eq(){Eq=V,kSt=new Kwt("QUADRATIC",0),Aft=new Kwt("SCANLINE",1)}function yse(){yse=V,K4e=$r((QS(),lt(ut(CSt,1),te,322,0,[_A,QN,TSt])))}function xse(){xse=V,W4e=$r(($q(),lt(ut(_St,1),te,351,0,[SSt,yG,Lft])))}function kse(){kse=V,J4e=$r((ow(),lt(ut(Q4e,1),te,459,0,[Ift,_T,z5])))}function Ese(){Ese=V,H4e=$r((Vm(),lt(ut(vft,1),te,372,0,[mv,r2,wv])))}function Tse(){Tse=V,a5e=$r((Cg(),lt(ut(s5e,1),te,311,0,[ZN,H5,qk])))}function Cse(){Cse=V,i5e=$r((c7(),lt(ut(qft,1),te,298,0,[$ft,zft,JN])))}function Sse(){Sse=V,O6e=$r((o_(),lt(ut(LAt,1),te,390,0,[w1t,AAt,QG])))}function _se(){_se=V,z6e=$r((tH(),lt(ut(qAt,1),te,387,0,[$At,S1t,zAt])))}function Ase(){Ase=V,q6e=$r((i_(),lt(ut(HAt,1),te,349,0,[A1t,_1t,lP])))}function Lse(){Lse=V,$6e=$r((To(),lt(ut(j6e,1),te,462,0,[HA,vl,ku])))}function Dse(){Dse=V,V6e=$r((jq(),lt(ut(WAt,1),te,352,0,[KAt,D1t,GAt])))}function Mse(){Mse=V,H6e=$r((b7(),lt(ut(UAt,1),te,350,0,[L1t,VAt,VA])))}function Ise(){Ise=V,U6e=$r((iH(),lt(ut(YAt,1),te,388,0,[M1t,$T,P3])))}function Ose(){Ose=V,Gke=$r((s_(),lt(ut(fLt,1),te,392,0,[hLt,N1t,dP])))}function Nse(){Nse=V,C8e=$r((uO(),lt(ut($Lt,1),te,393,0,[fK,RLt,jLt])))}function Pse(){Pse=V,G8e=$r((Zq(),lt(ut(iDt,1),te,299,0,[idt,rDt,nDt])))}function Fse(){Fse=V,K8e=$r((vH(),lt(ut(sDt,1),te,445,0,[mP,pK,sdt])))}function Bse(){Bse=V,Y8e=$r((DH(),lt(ut(W8e,1),te,455,0,[adt,cdt,odt])))}function Rse(){Rse=V,J8e=$r((dH(),lt(ut(cDt,1),te,394,0,[oDt,hdt,aDt])))}function jse(){jse=V,yEe=$r((Sq(),lt(ut(ADt,1),te,439,0,[pdt,_Dt,SDt])))}function $se(){$se=V,oke=$r((Hm(),lt(ut(ake,1),te,463,0,[hP,UA,eK])))}function zse(){zse=V,Lye=$r((pl(),lt(ut(Aye,1),te,470,0,[c0,e2,Gf])))}function qse(){qse=V,_ye=$r((A1(),lt(ut(m3,1),te,237,0,[Ac,xu,Lc])))}function Hse(){Hse=V,Mye=$r((qu(),lt(ut(Dye,1),te,471,0,[O1,n2,Kf])))}function Vse(){Vse=V,bye=$r((bl(),lt(ut(Ho,1),te,108,0,[I9t,sc,w3])))}function Use(){Use=V,Q3e=$r((WS(),lt(ut(CCt,1),te,391,0,[rft,nft,ift])))}function Gse(){Gse=V,M7e=$r((Ag(),lt(ut(cIt,1),te,346,0,[IK,Xp,bL])))}function Kse(){Kse=V,TEe=$r((pO(),lt(ut(bdt,1),te,444,0,[vK,yK,xK])))}function Wse(){Wse=V,_7e=$r((cd(),lt(ut(XMt,1),te,278,0,[GT,$3,KT])))}function Yse(){Yse=V,U7e=$r((lk(),lt(ut(pIt,1),te,280,0,[gIt,q3,RK])))}function ad(t,e){return!t.o&&(t.o=new nl((zc(),X0),Qp,t,0)),Yat(t.o,e)}function t0n(t,e){var n;t.C&&(n=u(Io(t.b,e),127).n,n.d=t.C.d,n.a=t.C.a)}function z3t(t){var e,n,r,s;s=t.d,e=t.a,n=t.b,r=t.c,t.d=n,t.a=r,t.b=s,t.c=e}function e0n(t){return!t.g&&(t.g=new gC),!t.g.b&&(t.g.b=new KGt(t)),t.g.b}function RI(t){return!t.g&&(t.g=new gC),!t.g.c&&(t.g.c=new XGt(t)),t.g.c}function n0n(t){return!t.g&&(t.g=new gC),!t.g.d&&(t.g.d=new WGt(t)),t.g.d}function r0n(t){return!t.g&&(t.g=new gC),!t.g.a&&(t.g.a=new YGt(t)),t.g.a}function i0n(t,e,n,r){return n&&(r=n.Rh(e,ns(n.Dh(),t.c.uk()),null,r)),r}function s0n(t,e,n,r){return n&&(r=n.Th(e,ns(n.Dh(),t.c.uk()),null,r)),r}function Pst(t,e,n,r){var s;return s=Vt(Fr,ii,28,e+1,15,1),u7n(s,t,e,n,r),s}function Vt(t,e,n,r,s,o){var h;return h=yhe(s,r),s!=10&&lt(ut(t,o),e,n,s,h),h}function a0n(t,e,n){var r,s;for(s=new o7(e,t),r=0;r<n;++r)LH(s);return s}function Fst(t,e,n){var r,s;if(n!=null)for(r=0;r<e;++r)s=n[r],t.Qi(r,s)}function q3t(t,e){var n;return n=new be,n.c=!0,n.d=e.md(),dpe(t,e.ld(),n)}function o0n(t,e){var n;n=t.q.getHours()+(e/3600|0),t.q.setSeconds(e),N_(t,n)}function H3t(t,e){var n,r;return n=e,r=ast(DE(new Hst(t,n))),Az(new Hst(t,n)),r}function c0n(t,e){e.Ug("Label management",1),tz(X(t,(kq(),oL))),e.Vg()}function u0n(t,e,n,r){dge(t,e,n,$7(t,e,r,Lt(e,102)&&(u(e,19).Bb&po)!=0))}function V3t(t,e,n){u(t.b,68),u(t.b,68),u(t.b,68),Cu(t.a,new YZt(n,e,t))}function Da(t,e,n){if(t<0||e>n||e<t)throw at(new dwt(CV+t+T8t+e+x8t+n))}function Bst(t){t?(this.c=t,this.b=null):(this.c=null,this.b=new fe)}function Rst(t,e){I$.call(this,t,e),this.a=Vt(e_n,xV,447,2,0,1),this.b=!0}function U3t(t){Wce.call(this,t,0),zJt(this),this.d.b=this.d,this.d.a=this.d}function G3t(t){this.e=t,this.b=this.e.a.entries(),this.a=Vt(aa,Ln,1,0,5,1)}function Xse(){Xse=V,W6e=el(ri(new Fs,(Ua(),Wf),(Za(),gft)),Zo,WN)}function l0n(){return UH(),lt(ut(ISt,1),te,283,0,[Nft,Oft,Fft,Pft,Bft,kG])}function h0n(){return AO(),lt(ut(jSt,1),te,281,0,[TG,FSt,RSt,PSt,BSt,Rft])}function f0n(){return M7(),lt(ut(USt,1),te,282,0,[AA,zSt,VSt,HSt,qSt,$St])}function d0n(){return wk(),lt(ut(TT,1),te,232,0,[ET,SA,kT,T3,$5,j5])}function g0n(){return Un(),lt(ut(fft,1),te,273,0,[xs,fa,Ms,uu,Vc,md])}function p0n(){return wl(),lt(ut(OK,1),te,279,0,[g2,Hg,FP,yL,vL,n8])}function b0n(){return ka(),lt(ut(hIt,1),te,101,0,[d2,Td,YT,zw,Y0,hu])}function w0n(){return HH(),lt(ut(nIt,1),te,321,0,[Gdt,ZMt,eIt,QMt,tIt,JMt])}function m0n(){return I0(),lt(ut(aMt,1),te,255,0,[_dt,EP,TP,_K,CK,SK])}function v0n(){return fw(),lt(ut(Mdt,1),te,297,0,[Ddt,hL,lL,Ldt,cL,uL])}function K3t(t){var e;return!t.a&&t.b!=-1&&(e=t.c.Dh(),t.a=En(e,t.b)),t.a}function Or(t,e){return t.Si()&&t.Hc(e)?!1:(t.Hi(e),!0)}function S1(t,e){return SI(e,"Horizontal alignment cannot be null"),t.b=e,t}function Qse(t,e,n){yi();var r;return r=Gb(t,e),n&&r&&Lln(t)&&(r=null),r}function W3t(t,e,n){var r;r=t.b[n.c.p][n.p],r.b+=e.b,r.c+=e.c,r.a+=e.a,++r.a}function Y3t(t,e,n){var r;t.d[e.g]=n,r=t.g.c,r[e.g]=b.Math.max(r[e.g],n+1)}function Nb(t,e){var n,r;return n=t.a-e.a,r=t.b-e.b,b.Math.sqrt(n*n+r*r)}function X3t(t,e){var n,r;for(r=e.Kc();r.Ob();)n=u(r.Pb(),36),q0e(t,n,0,0)}function Tp(t,e,n){var r,s;for(s=t.Kc();s.Ob();)r=u(s.Pb(),36),B7(r,e,n)}function y0n(t){var e,n;for(n=Dr(t.a,0);n.b!=n.d.c;)e=u(Ar(n),65),A6t(e)}function Jse(t,e){return ZYt(t.e,e)||Op(t.e,e,new qle(e)),u(od(t.e,e),113)}function gl(t,e,n,r){return Wn(t),Wn(e),Wn(n),Wn(r),new Tyt(t,e,new Ne)}function nl(t,e,n,r){this.ak(),this.a=e,this.b=t,this.c=new vyt(this,e,n,r)}function jst(t,e,n,r,s,o){b3t.call(this,e,r,s,o),this.c=t,this.b=n}function jI(t,e,n,r,s,o){b3t.call(this,e,r,s,o),this.c=t,this.a=n}function $I(t,e){var n,r,s;return s=t.r,r=t.d,n=B_(t,e,!0),n.b!=s||n.a!=r}function zI(t,e,n){var r,s;return s=(r=N7(t.b,e),r),s?pV(VI(t,s),n):null}function x0n(t,e,n){var r,s,o;r=vg(t,n),s=null,r&&(s=d6t(r)),o=s,jle(e,n,o)}function k0n(t,e,n){var r,s,o;r=vg(t,n),s=null,r&&(s=d6t(r)),o=s,jle(e,n,o)}function UE(t,e){var n;return n=t.Ih(e),n>=0?t.Lh(n,!0,!0):tv(t,e,!0)}function E0n(t,e,n){var r;return r=Jce(t,e,n),t.b=new Yq(r.c.length),ukt(t,r)}function T0n(t){if(t.b<=0)throw at(new cc);return--t.b,t.a-=t.c.c,he(t.a)}function C0n(t){var e;if(!t.a)throw at(new cne);return e=t.a,t.a=Ji(t.a),e}function S0n(t){for(;!t.a;)if(!NZt(t.c,new BC(t)))return!1;return!0}function sk(t){var e;return Hr(t),Lt(t,204)?(e=u(t,204),e):new b6(t)}function _0n(t){Tq(),u(t.of((ai(),j3)),181).Fc((wl(),FP)),t.qf(zdt,null)}function Tq(){Tq=V,YEe=new NR,QEe=new PR,XEe=pbn((ai(),zdt),YEe,l2,QEe)}function Cq(){Cq=V,FLt=new smt("LEAF_NUMBER",0),Z1t=new smt("NODE_SIZE",1)}function $st(t){t.a=Vt(Fr,ii,28,t.b+1,15,1),t.c=Vt(Fr,ii,28,t.b,15,1),t.d=0}function A0n(t,e){t.a.Ne(e.d,t.b)>0&&(ge(t.c,new qvt(e.c,e.d,t.d)),t.b=e.d)}function Q3t(t,e){if(t.g==null||e>=t.i)throw at(new Grt(e,t.i));return t.g[e]}function Zse(t,e,n){if(d7(t,n),n!=null&&!t.fk(n))throw at(new $nt);return n}function zst(t,e){return WI(e)!=10&&lt(Wl(e),e.Sm,e.__elementTypeId$,WI(e),t),t}function GE(t,e,n,r){var s;r=(Nm(),r||C9t),s=t.slice(e,n),k6t(s,t,e,n,-e,r)}function Ih(t,e,n,r,s){return e<0?tv(t,n,r):u(n,69).wk().yk(t,t.hi(),e,r,s)}function L0n(t,e){return Bi(Rt(Ht(X(t,(oe(),xv)))),Rt(Ht(X(e,xv))))}function tae(){tae=V,lye=$r((KE(),lt(ut(BU,1),te,303,0,[Pht,Fht,Bht,Rht])))}function KE(){KE=V,Pht=new M$("All",0),Fht=new VQt,Bht=new ZQt,Rht=new HQt}function pl(){pl=V,c0=new wrt(_k,0),e2=new wrt(J7,1),Gf=new wrt(Ak,2)}function eae(){eae=V,fV(),sOt=Zi,JTe=Vs,aOt=new na(Zi),ZTe=new na(Vs)}function nae(){nae=V,n3e=$r((Gm(),lt(ut(e3e,1),te,417,0,[RN,BN,Ght,Kht])))}function rae(){rae=V,o3e=$r((m_(),lt(ut(a3e,1),te,406,0,[HN,zU,qU,VN])))}function iae(){iae=V,i3e=$r((dk(),lt(ut(r3e,1),te,332,0,[$N,jN,zN,qN])))}function sae(){sae=V,f4e=$r((lw(),lt(ut(LCt,1),te,389,0,[x3,ACt,uft,lft])))}function aae(){aae=V,a4e=$r((u7(),lt(ut(s4e,1),te,416,0,[bv,y3,v3,F5])))}function oae(){oae=V,F4e=$r((ud(),lt(ut(P4e,1),te,421,0,[zk,yT,xT,mft])))}function cae(){cae=V,C4e=$r((rH(),lt(ut(T4e,1),te,371,0,[wft,gG,pG,YN])))}function uae(){uae=V,N6e=$r((Yy(),lt(ut(v1t,1),te,203,0,[JG,m1t,J5,Q5])))}function lae(){lae=V,B6e=$r((Wd(),lt(ut(RAt,1),te,284,0,[Up,BAt,k1t,E1t])))}function qI(){qI=V,OSt=new Ywt(r0,0),EG=new Ywt("IMPROVE_STRAIGHTNESS",1)}function hae(t,e){var n,r;return r=e/t.c.Rd().gc()|0,n=e%t.c.Rd().gc(),ik(t,r,n)}function fae(t){var e;if(t.nl())for(e=t.i-1;e>=0;--e)Dt(t,e);return v3t(t)}function J3t(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[0];)n=e;return n}function dae(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[1];)n=e;return n}function D0n(t){return Lt(t,180)?""+u(t,180).a:t==null?null:rc(t)}function M0n(t){return Lt(t,180)?""+u(t,180).a:t==null?null:rc(t)}function gae(t,e){if(e.a)throw at(new uc(Nbe));qs(t.a,e),e.a=t,!t.j&&(t.j=e)}function Z3t(t,e){ez.call(this,e.zd(),e.yd()&-16449),Wn(t),this.a=t,this.c=e}function I0n(t,e){return new xit(e,Tm(Oa(e.e),e.f.a+t,e.f.b+t),(Pn(),!1))}function O0n(t,e){return LE(),ge(t,new Ws(e,he(e.e.c.length+e.g.c.length)))}function N0n(t,e){return LE(),ge(t,new Ws(e,he(e.e.c.length+e.g.c.length)))}function pae(){pae=V,U8e=$r((NH(),lt(ut(eDt,1),te,354,0,[rdt,ZLt,tDt,JLt])))}function bae(){bae=V,p8e=$r((a_(),lt(ut(ILt,1),te,353,0,[G1t,lK,U1t,V1t])))}function wae(){wae=V,Vke=$r((bk(),lt(ut(tLt,1),te,405,0,[sK,WA,YA,XA])))}function mae(){mae=V,A7e=$r((Lg(),lt(ut(Udt,1),te,223,0,[Vdt,IP,WT,e8])))}function vae(){vae=V,O7e=$r((uh(),lt(ut(I7e,1),te,290,0,[NP,K0,h2,OP])))}function yae(){yae=V,H7e=$r((Yl(),lt(ut(xL,1),te,386,0,[RP,qw,BP,z3])))}function xae(){xae=V,K7e=$r((pH(),lt(ut(xIt,1),te,320,0,[Wdt,mIt,yIt,vIt])))}function kae(){kae=V,X7e=$r((sH(),lt(ut(Y7e,1),te,415,0,[Ydt,EIt,kIt,TIt])))}function Sq(){Sq=V,pdt=new zrt(J2e,0),_Dt=new zrt(y7t,1),SDt=new zrt(r0,2)}function jy(t,e,n,r,s){return Wn(t),Wn(e),Wn(n),Wn(r),Wn(s),new Tyt(t,e,r)}function Eae(t,e){var n;return n=u(rk(t.e,e),400),n?(Zvt(n),n.e):null}function zu(t,e){var n;return n=Xo(t,e,0),n==-1?!1:(Ep(t,n),!0)}function Tae(t,e,n){var r;return Mb(t),r=new Je,r.a=e,t.a.Nb(new sXt(r,n)),r.a}function P0n(t){var e;return Mb(t),e=Vt(ma,No,28,0,15,1),N4(t.a,new y6(e)),e}function t4t(t){var e;if(!rat(t))throw at(new cc);return t.e=1,e=t.d,t.d=null,e}function Cp(t){var e;return ec(t)&&(e=0-t,!isNaN(e))?e:Fb(h7(t))}function Xo(t,e,n){for(;n<t.c.length;++n)if(Nc(e,t.c[n]))return n;return-1}function qst(t){var e,n;return n=u(Oe(t.j,0),12),e=u(X(n,(oe(),Li)),12),e}function Hst(t,e){var n;this.f=t,this.b=e,n=u(tr(t.b,e),260),this.c=n?n.b:null}function Cae(){Bf(),this.b=new _r,this.f=new _r,this.g=new _r,this.e=new _r}function _q(t){oz(this),this.g=t?eq(t,t.ie()):null,this.f=t,Xz(this),this.je()}function Vst(t){var e;e=t.jj(),e!=null&&t.d!=-1&&u(e,94).xh(t),t.i&&t.i.oj()}function HI(t){var e;for(e=t.p+1;e<t.c.a.c.length;++e)--u(Oe(t.c.a,e),10).p}function Sae(t){_y(!!t.c),wit(t.f.g,t.d),t.c.Qb(),t.c=null,t.b=q4t(t),t.d=t.f.g}function Al(t){return t.b||(t.b=new Jte(t,Do,t),!t.a&&(t.a=new lI(t,t))),t.b}function VI(t,e){var n,r;return n=u(e,690),r=n.xi(),!r&&n.Ai(r=new bQt(t,e)),r}function $o(t,e){var n,r;return n=u(e,692),r=n.$k(),!r&&n.cl(r=new jre(t,e)),r}function e4t(t,e){ZC();var n,r;return n=ek(t),r=ek(e),!!n&&!!r&&!Xle(n.k,r.k)}function Aq(t,e){return Nc(e,Oe(t.f,0))||Nc(e,Oe(t.f,1))||Nc(e,Oe(t.f,2))}function UI(t,e){if(e<0)throw at(new Bo(fwe+e));return pie(t,e+1),Oe(t.j,e)}function _ae(t,e,n,r){if(!t)throw at(new zn(M_(e,lt(ut(aa,1),Ln,1,5,[n,r]))))}function Tg(t,e,n,r,s,o,h){tat.call(this,e,r,s,o,h),this.c=t,this.b=n}function M0(t,e,n){var r,s;for(r=10,s=0;s<n-1;s++)e<r&&(t.a+="0"),r*=10;t.a+=e}function Lq(t){var e,n;return n=t.length,e=Vt(Yh,Zd,28,n,15,1),kee(t,0,n,e,0),e}function GI(t){Nte();var e,n;return e=t+128,n=l9t[e],!n&&(n=l9t[e]=new gi(t)),n}function Aae(t){return wit(t.d.a.e.g,t.b),ur(t.c!=t.d.a.d),t.a=t.c,t.c=t.c.a,t.a}function F0n(t){switch(t.g){case 0:return xi;case 1:return-1;default:return 0}}function B0n(t){return Lxt(t,(WE(),c9t))<0?-vsn(h7(t)):t.l+t.m*Sk+t.h*bw}function Lae(t){(this.q?this.q:(mn(),mn(),q0)).Ac(t.q?t.q:(mn(),mn(),q0))}function R0n(t,e){q6(u(u(t.f,27).of((ai(),fL)),101))&&U2n(Jit(u(t.f,27)),e)}function Ust(t,e){var n;return n=ns(t.d,e),n>=0?AH(t,n,!0,!0):tv(t,e,!0)}function n4t(t){var e;return e=nw(jn(t,32)),e==null&&(Au(t),e=nw(jn(t,32))),e}function r4t(t){var e;return t.Oh()||(e=fr(t.Dh())-t.ji(),t.$h().Mk(e)),t.zh()}function Dae(t,e){eCt=new Le,s3e=e,kA=t,u(kA.b,68),V3t(kA,eCt,null),Gge(kA)}function WS(){WS=V,rft=new vrt("XY",0),nft=new vrt("X",1),ift=new vrt("Y",2)}function qu(){qu=V,O1=new mrt("TOP",0),n2=new mrt(J7,1),Kf=new mrt(O8t,2)}function Cg(){Cg=V,ZN=new Crt(r0,0),H5=new Crt("TOP",1),qk=new Crt(O8t,2)}function KI(){KI=V,T1t=new Qwt("INPUT_ORDER",0),C1t=new Qwt("PORT_DEGREE",1)}function WE(){WE=V,a9t=Eu(Il,Il,524287),Wve=Eu(0,0,aN),o9t=Mst(1),Mst(2),c9t=Mst(0)}function Gst(t){var e;return t.d!=t.r&&(e=of(t),t.e=!!e&&e.lk()==Wme,t.d=e),t.e}function Kst(t,e,n){var r;return r=t.g[e],kS(t,e,t.Zi(e,n)),t.Ri(e,n,r),t.Ni(),r}function Dq(t,e){var n;return n=t.dd(e),n>=0?(t.gd(n),!0):!1}function Wst(t,e){var n;for(Hr(t),Hr(e),n=!1;e.Ob();)n=n|t.Fc(e.Pb());return n}function od(t,e){var n;return n=u(tr(t.e,e),400),n?(hJt(t,n),n.e):null}function Mae(t){var e,n;return e=t/60|0,n=t%60,n==0?""+e:""+e+":"+(""+n)}function $y(t,e){var n=t.a[e],r=(yat(),Lht)[typeof n];return r?r(n):f5t(typeof n)}function fc(t,e){var n,r;return $b(t),r=new R3t(e,t.a),n=new BZt(r),new ln(t,n)}function Yst(t){var e;return e=t.b.c.length==0?null:Oe(t.b,0),e!=null&&sat(t,0),e}function j0n(t,e){var n,r,s;s=e.c.i,n=u(tr(t.f,s),60),r=n.d.c-n.e.c,P4t(e.a,r,0)}function i4t(t,e){var n;for(++t.d,++t.c[e],n=e+1;n<t.a.length;)++t.a[n],n+=n&-n}function Iae(t,e,n,r){yi(),um.call(this,26),this.c=t,this.a=e,this.d=n,this.b=r}function Oae(t,e){for(;e[0]<t.length&&$d(` \r
1356 `),_.style===void 0&&(z.style=z.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),z.labelStyle=z.labelStyle.replace("color:","fill:"),z.id=F,z.classes="flowchart-link "+R+" "+B;const ot=tbt(w,z),{source:ft,target:wt,sourceId:mt,targetId:ct}=vtn(_,b);Kt.debug("abc78 source and target",ft,wt),f.edges.push({id:"e"+_.start+_.end,sources:[ft],targets:[wt],sourceId:mt,targetId:ct,labelEl:ot,labels:[{width:z.width,height:z.height,orgWidth:z.width,orgHeight:z.height,text:z.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:z})}),f},xtn=function(i,a,f,g,w){let v="";g&&(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,v=v.replace(/\(/g,"\\("),v=v.replace(/\)/g,"\\)")),uzt(i,a,v,w,f)},ktn=function(i,a){return Kt.info("Extracting classes"),a.db.getClasses()},Etn=function(i){const a={parentById:{},childrenById:{}},f=i.getSubGraphs();return Kt.info("Subgraphs - ",f),f.forEach(function(g){g.nodes.forEach(function(w){a.parentById[w]=g.id,a.childrenById[g.id]===void 0&&(a.childrenById[g.id]=[]),a.childrenById[g.id].push(w)})}),f.forEach(function(g){g.id,a.parentById[g.id]!==void 0&&a.parentById[g.id]}),a},Ttn=function(i,a,f){const g=gtn(i,a,f);if(g===void 0||g==="root")return{x:0,y:0};const w=Ux[g].offset;return{x:w.posX,y:w.posY}},Ctn=function(i,a,f,g,w,v){const b=Ttn(a.sourceId,a.targetId,w),E=a.sections[0].startPoint,S=a.sections[0].endPoint,M=(a.sections[0].bendPoints?a.sections[0].bendPoints:[]).map(wt=>[wt.x+b.x,wt.y+b.y]),F=[[E.x+b.x,E.y+b.y],...M,[S.x+b.x,S.y+b.y]],{x:R,y:B}=czt(a.edgeData),z=Ax().x(R).y(B).curve(Kg),Y=i.insert("path").attr("d",z(F)).attr("class","path "+f.classes).attr("fill","none"),nt=i.insert("g").attr("class","edgeLabel"),ot=Tr(nt.node().appendChild(a.labelEl)),ft=ot.node().firstChild.getBoundingClientRect();ot.attr("width",ft.width),ot.attr("height",ft.height),nt.attr("transform",`translate(${a.labels[0].x+b.x}, ${a.labels[0].y+b.y})`),xtn(Y,f,g.type,g.arrowMarkerAbsolute,v)},AHt=(i,a)=>{i.forEach(f=>{f.children||(f.children=[]);const g=a.childrenById[f.id];g&&g.forEach(w=>{f.children.push(Ux[w])}),AHt(f.children,a)})},Stn=async function(i,a,f,g){var it;g.db.clear(),Ux={},nm={},g.db.setGen("gen-2"),g.parser.parse(i);const w=Tr("body").append("div").attr("style","height:400px").attr("id","cy");let v={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Kt.info("Drawing flowchart using v3 renderer",CHt),g.db.getDirection()){case"BT":v.layoutOptions["elk.direction"]="UP";break;case"TB":v.layoutOptions["elk.direction"]="DOWN";break;case"LR":v.layoutOptions["elk.direction"]="RIGHT";break;case"RL":v.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:E,flowchart:S}=o1();let _;E==="sandbox"&&(_=Tr("#i"+a));const M=Tr(E==="sandbox"?_.nodes()[0].contentDocument.body:"body"),F=E==="sandbox"?_.nodes()[0].contentDocument:document,R=M.select(`[id="${a}"]`);jpt(R,["point","circle","cross"],g.type,a);const z=g.db.getVertices();let Y;const nt=g.db.getSubGraphs();Kt.info("Subgraphs - ",nt);for(let gt=nt.length-1;gt>=0;gt--)Y=nt[gt],g.db.addVertex(Y.id,{text:Y.title,type:Y.labelType},"group",void 0,Y.classes,Y.dir);const ot=R.insert("g").attr("class","subgraphs"),ft=Etn(g.db);v=await mtn(z,a,M,F,g,ft,v);const wt=R.insert("g").attr("class","edges edgePath"),mt=g.db.getEdges();v=ytn(mt,g,v,R),Object.keys(Ux).forEach(gt=>{const Q=Ux[gt];Q.parent||v.children.push(Q),ft.childrenById[gt]!==void 0&&(Q.labels=[{text:Q.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:Q.labelData.width,height:Q.labelData.height}],delete Q.x,delete Q.y,delete Q.width,delete Q.height)}),AHt(v.children,ft),Kt.info("after layout",JSON.stringify(v,null,2));const rt=await CHt.layout(v);LHt(0,0,rt.children,R,ot,g,0),Kt.info("after layout",rt),(it=rt.edges)==null||it.map(gt=>{Ctn(wt,gt,gt.edgeData,g,ft,a)}),w8({},R,S.diagramPadding,S.useMaxWidth),w.remove()},LHt=(i,a,f,g,w,v,b)=>{f.forEach(function(E){if(E)if(Ux[E.id].offset={posX:E.x+i,posY:E.y+a,x:i,y:a,depth:b,width:E.width,height:E.height},E.type==="group"){const S=w.insert("g").attr("class","subgraph");S.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",E.x+i).attr("y",E.y+a).attr("width",E.width).attr("height",E.height);const _=S.insert("g").attr("class","label"),M=o1().flowchart.htmlLabels?E.labelData.width/2:0;_.attr("transform",`translate(${E.labels[0].x+i+E.x+M}, ${E.labels[0].y+a+E.y+3})`),_.node().appendChild(E.labelData.labelNode),Kt.info("Id (UGH)= ",E.type,E.labels)}else Kt.info("Id (UGH)= ",E.id),E.el.attr("transform",`translate(${E.x+i+E.width/2}, ${E.y+a+E.height/2})`)}),f.forEach(function(E){E&&E.type==="group"&&LHt(i+E.x,a+E.y,E.children,g,w,v,b+1)})},_tn={getClasses:ktn,draw:Stn},Atn=i=>{let a="";for(let f=0;f<5;f++)a+=`
1361 `;return a},Ltn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:wje,renderer:_tn,parser:spt,styles:i=>`.label {
1505 `}return a},Wtn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:Mtn,renderer:Gtn,parser:Dtn,styles:i=>`
1538 */var oR=0,cR=1,uR=2,am=function y(p){if(!(this instanceof y))return new y(p);this.id="Thenable/1.0.7",this.state=oR,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof p=="function"&&p.call(this,this.fulfill.bind(this),this.reject.bind(this))};am.prototype={fulfill:function(p){return lR(this,cR,"fulfillValue",p)},reject:function(p){return lR(this,uR,"rejectReason",p)},then:function(p,x){var C=this,L=new am;return C.onFulfilled.push(dR(p,L,"fulfill")),C.onRejected.push(dR(x,L,"reject")),hR(C),L.proxy}};var lR=function(p,x,C,L){return p.state===oR&&(p.state=x,p[C]=L,hR(p)),p},hR=function(p){p.state===cR?fR(p,"onFulfilled",p.fulfillValue):p.state===uR&&fR(p,"onRejected",p.rejectReason)},fR=function(p,x,C){if(p[x].length!==0){var L=p[x];p[x]=[];var O=function(){for(var j=0;j<L.length;j++)L[j](C)};typeof setImmediate=="function"?setImmediate(O):setTimeout(O,0)}},dR=function(p,x,C){return function(L){if(typeof p!="function")x[C].call(x,L);else{var O;try{O=p(L)}catch(N){x.reject(N);return}mJ(x,O)}}},mJ=function y(p,x){if(p===x||p.proxy===x){p.reject(new TypeError("cannot resolve promise with itself"));return}var C;if(f(x)==="object"&&x!==null||typeof x=="function")try{C=x.then}catch(O){p.reject(O);return}if(typeof C=="function"){var L=!1;try{C.call(x,function(O){L||(L=!0,O===x?p.reject(new TypeError("circular thenable chain")):y(p,O))},function(O){L||(L=!0,p.reject(O))})}catch(O){L||p.reject(O)}return}p.fulfill(x)};am.all=function(y){return new am(function(p,x){for(var C=new Array(y.length),L=0,O=function(H,q){C[H]=q,L++,L===y.length&&p(C)},N=0;N<y.length;N++)(function(j){var H=y[j],q=H!=null&&H.then!=null;if(q)H.then(function(Z){O(j,Z)},function(Z){x(Z)});else{var W=H;O(j,W)}})(N)})},am.resolve=function(y){return new am(function(p,x){p(y)})},am.reject=function(y){return new am(function(p,x){x(y)})};var e6=typeof Promise<"u"?Promise:am,WD=function(p,x,C){var L=It(p),O=!L,N=this._private=we({duration:1e3},x,C);if(N.target=p,N.style=N.style||N.css,N.started=!1,N.playing=!1,N.hooked=!1,N.applying=!1,N.progress=0,N.completes=[],N.frames=[],N.complete&&ct(N.complete)&&N.completes.push(N.complete),O){var j=p.position();N.startPosition=N.startPosition||{x:j.x,y:j.y},N.startStyle=N.startStyle||p.cy().style().getAnimationStartStyle(p,N.style)}if(L){var H=p.pan();N.startPan={x:H.x,y:H.y},N.startZoom=p.zoom()}this.length=1,this[0]=this},y4=WD.prototype;we(y4,{instanceString:function(){return"animation"},hook:function(){var p=this._private;if(!p.hooked){var x,C=p.target._private.animation;p.queue?x=C.queue:x=C.current,x.push(this),yt(p.target)&&p.target.cy().addToAnimationPool(p.target),p.hooked=!0}return this},play:function(){var p=this._private;return p.progress===1&&(p.progress=0),p.playing=!0,p.started=!1,p.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var p=this._private;return p.applying=!0,p.started=!1,p.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var p=this._private;return p.playing=!1,p.started=!1,this},stop:function(){var p=this._private;return p.playing=!1,p.started=!1,p.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(p){var x=this._private;return p===void 0?x.progress*x.duration:this.progress(p/x.duration)},progress:function(p){var x=this._private,C=x.playing;return p===void 0?x.progress:(C&&this.pause(),x.progress=p,x.started=!1,C&&this.play(),this)},completed:function(){return this._private.progress===1},reverse:function(){var p=this._private,x=p.playing;x&&this.pause(),p.progress=1-p.progress,p.started=!1;var C=function(q,W){var Z=p[q];Z!=null&&(p[q]=p[W],p[W]=Z)};if(C("zoom","startZoom"),C("pan","startPan"),C("position","startPosition"),p.style)for(var L=0;L<p.style.length;L++){var O=p.style[L],N=O.name,j=p.startStyle[N];p.startStyle[N]=O,p.style[L]=j}return x&&this.play(),this},promise:function(p){var x=this._private,C;switch(p){case"frame":C=x.frames;break;default:case"complete":case"completed":C=x.completes}return new e6(function(L,O){C.push(function(){L()})})}}),y4.complete=y4.completed,y4.run=y4.play,y4.running=y4.playing;var vJ={animated:function(){return function(){var x=this,C=x.length!==void 0,L=C?x:[x],O=this._private.cy||this;if(!O.styleEnabled())return!1;var N=L[0];if(N)return N._private.animation.current.length>0}},clearQueue:function(){return function(){var x=this,C=x.length!==void 0,L=C?x:[x],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var N=0;N<L.length;N++){var j=L[N];j._private.animation.queue=[]}return this}},delay:function(){return function(x,C){var L=this._private.cy||this;return L.styleEnabled()?this.animate({delay:x,duration:x,complete:C}):this}},delayAnimation:function(){return function(x,C){var L=this._private.cy||this;return L.styleEnabled()?this.animation({delay:x,duration:x,complete:C}):this}},animation:function(){return function(x,C){var L=this,O=L.length!==void 0,N=O?L:[L],j=this._private.cy||this,H=!O,q=!H;if(!j.styleEnabled())return this;var W=j.style();x=we({},x,C);var Z=Object.keys(x).length===0;if(Z)return new WD(N[0],x);switch(x.duration===void 0&&(x.duration=400),x.duration){case"slow":x.duration=600;break;case"fast":x.duration=200;break}if(q&&(x.style=W.getPropsList(x.style||x.css),x.css=void 0),q&&x.renderedPosition!=null){var st=x.renderedPosition,bt=j.pan(),pt=j.zoom();x.position=PB(st,pt,bt)}if(H&&x.panBy!=null){var _t=x.panBy,St=j.pan();x.pan={x:St.x+_t.x,y:St.y+_t.y}}var Et=x.center||x.centre;if(H&&Et!=null){var Nt=j.getCenterPan(Et.eles,x.zoom);Nt!=null&&(x.pan=Nt)}if(H&&x.fit!=null){var Pt=x.fit,qt=j.getFitViewport(Pt.eles||Pt.boundingBox,Pt.padding);qt!=null&&(x.pan=qt.pan,x.zoom=qt.zoom)}if(H&&it(x.zoom)){var re=j.getZoomedViewport(x.zoom);re!=null?(re.zoomed&&(x.zoom=re.zoom),re.panned&&(x.pan=re.pan)):x.zoom=null}return new WD(N[0],x)}},animate:function(){return function(x,C){var L=this,O=L.length!==void 0,N=O?L:[L],j=this._private.cy||this;if(!j.styleEnabled())return this;C&&(x=we({},x,C));for(var H=0;H<N.length;H++){var q=N[H],W=q.animated()&&(x.queue===void 0||x.queue),Z=q.animation(x,W?{queue:!0}:void 0);Z.play()}return this}},stop:function(){return function(x,C){var L=this,O=L.length!==void 0,N=O?L:[L],j=this._private.cy||this;if(!j.styleEnabled())return this;for(var H=0;H<N.length;H++){for(var q=N[H],W=q._private,Z=W.animation.current,st=0;st<Z.length;st++){var bt=Z[st],pt=bt._private;C&&(pt.duration=0)}x&&(W.animation.queue=[]),C||(W.animation.current=[])}return j.notify("draw"),this}}},yJ=Array.isArray,aC=yJ,gR=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xJ=/^\w*$/;function kJ(y,p){if(aC(y))return!1;var x=typeof y;return x=="number"||x=="symbol"||x=="boolean"||y==null||Nr(y)?!0:xJ.test(y)||!gR.test(y)||p!=null&&y in Object(p)}var EJ=kJ,TJ="[object AsyncFunction]",CJ="[object Function]",SJ="[object GeneratorFunction]",_J="[object Proxy]";function AJ(y){if(!ke(y))return!1;var p=Id(y);return p==CJ||p==SJ||p==TJ||p==_J}var LJ=AJ,DJ=ko["__core-js_shared__"],oC=DJ,pR=function(){var y=/[^.]+$/.exec(oC&&oC.keys&&oC.keys.IE_PROTO||"");return y?"Symbol(src)_1."+y:""}();function MJ(y){return!!pR&&pR in y}var IJ=MJ,OJ=Function.prototype,NJ=OJ.toString;function PJ(y){if(y!=null){try{return NJ.call(y)}catch{}try{return y+""}catch{}}return""}var bR=PJ,wR=/[\\^$.*+?()[\]{}|]/g,FJ=/^\[object .+?Constructor\]$/,mR=Function.prototype,vR=Object.prototype,BJ=mR.toString,RJ=vR.hasOwnProperty,jJ=RegExp("^"+BJ.call(RJ).replace(wR,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $J(y){if(!ke(y)||IJ(y))return!1;var p=LJ(y)?jJ:FJ;return p.test(bR(y))}var zJ=$J;function qJ(y,p){return y==null?void 0:y[p]}var HJ=qJ;function VJ(y,p){var x=HJ(y,p);return zJ(x)?x:void 0}var YD=VJ,UJ=YD(Object,"create"),$8=UJ;function yR(){this.__data__=$8?$8(null):{},this.size=0}var GJ=yR;function KJ(y){var p=this.has(y)&&delete this.__data__[y];return this.size-=p?1:0,p}var WJ=KJ,YJ="__lodash_hash_undefined__",XJ=Object.prototype,QJ=XJ.hasOwnProperty;function JJ(y){var p=this.__data__;if($8){var x=p[y];return x===YJ?void 0:x}return QJ.call(p,y)?p[y]:void 0}var ZJ=JJ,tZ=Object.prototype,eZ=tZ.hasOwnProperty;function nZ(y){var p=this.__data__;return $8?p[y]!==void 0:eZ.call(p,y)}var rZ=nZ,iZ="__lodash_hash_undefined__";function sZ(y,p){var x=this.__data__;return this.size+=this.has(y)?0:1,x[y]=$8&&p===void 0?iZ:p,this}var aZ=sZ;function n6(y){var p=-1,x=y==null?0:y.length;for(this.clear();++p<x;){var C=y[p];this.set(C[0],C[1])}}n6.prototype.clear=GJ,n6.prototype.delete=WJ,n6.prototype.get=ZJ,n6.prototype.has=rZ,n6.prototype.set=aZ;var xR=n6;function oZ(){this.__data__=[],this.size=0}var cZ=oZ;function uZ(y,p){return y===p||y!==y&&p!==p}var kR=uZ;function lZ(y,p){for(var x=y.length;x--;)if(kR(y[x][0],p))return x;return-1}var cC=lZ,hZ=Array.prototype,fZ=hZ.splice;function dZ(y){var p=this.__data__,x=cC(p,y);if(x<0)return!1;var C=p.length-1;return x==C?p.pop():fZ.call(p,x,1),--this.size,!0}var gZ=dZ;function pZ(y){var p=this.__data__,x=cC(p,y);return x<0?void 0:p[x][1]}var bZ=pZ;function wZ(y){return cC(this.__data__,y)>-1}var mZ=wZ;function vZ(y,p){var x=this.__data__,C=cC(x,y);return C<0?(++this.size,x.push([y,p])):x[C][1]=p,this}var yZ=vZ;function r6(y){var p=-1,x=y==null?0:y.length;for(this.clear();++p<x;){var C=y[p];this.set(C[0],C[1])}}r6.prototype.clear=cZ,r6.prototype.delete=gZ,r6.prototype.get=bZ,r6.prototype.has=mZ,r6.prototype.set=yZ;var xZ=r6,kZ=YD(ko,"Map"),EZ=kZ;function TZ(){this.size=0,this.__data__={hash:new xR,map:new(EZ||xZ),string:new xR}}var CZ=TZ;function SZ(y){var p=typeof y;return p=="string"||p=="number"||p=="symbol"||p=="boolean"?y!=="__proto__":y===null}var _Z=SZ;function AZ(y,p){var x=y.__data__;return _Z(p)?x[typeof p=="string"?"string":"hash"]:x.map}var uC=AZ;function LZ(y){var p=uC(this,y).delete(y);return this.size-=p?1:0,p}var DZ=LZ;function MZ(y){return uC(this,y).get(y)}var IZ=MZ;function OZ(y){return uC(this,y).has(y)}var NZ=OZ;function PZ(y,p){var x=uC(this,y),C=x.size;return x.set(y,p),this.size+=x.size==C?0:1,this}var FZ=PZ;function i6(y){var p=-1,x=y==null?0:y.length;for(this.clear();++p<x;){var C=y[p];this.set(C[0],C[1])}}i6.prototype.clear=CZ,i6.prototype.delete=DZ,i6.prototype.get=IZ,i6.prototype.has=NZ,i6.prototype.set=FZ;var ER=i6,BZ="Expected a function";function XD(y,p){if(typeof y!="function"||p!=null&&typeof p!="function")throw new TypeError(BZ);var x=function(){var C=arguments,L=p?p.apply(this,C):C[0],O=x.cache;if(O.has(L))return O.get(L);var N=y.apply(this,C);return x.cache=O.set(L,N)||O,N};return x.cache=new(XD.Cache||ER),x}XD.Cache=ER;var RZ=XD,jZ=500;function $Z(y){var p=RZ(y,function(C){return x.size===jZ&&x.clear(),C}),x=p.cache;return p}var zZ=$Z,qZ=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,HZ=/\\(\\)?/g,VZ=zZ(function(y){var p=[];return y.charCodeAt(0)===46&&p.push(""),y.replace(qZ,function(x,C,L,O){p.push(L?O.replace(HZ,"$1"):C||x)}),p}),TR=VZ;function UZ(y,p){for(var x=-1,C=y==null?0:y.length,L=Array(C);++x<C;)L[x]=p(y[x],x,y);return L}var CR=UZ,GZ=1/0,SR=wc?wc.prototype:void 0,_R=SR?SR.toString:void 0;function AR(y){if(typeof y=="string")return y;if(aC(y))return CR(y,AR)+"";if(Nr(y))return _R?_R.call(y):"";var p=y+"";return p=="0"&&1/y==-GZ?"-0":p}var KZ=AR;function WZ(y){return y==null?"":KZ(y)}var LR=WZ;function YZ(y,p){return aC(y)?y:EJ(y,p)?[y]:TR(LR(y))}var DR=YZ,XZ=1/0;function QZ(y){if(typeof y=="string"||Nr(y))return y;var p=y+"";return p=="0"&&1/y==-XZ?"-0":p}var QD=QZ;function JZ(y,p){p=DR(p,y);for(var x=0,C=p.length;y!=null&&x<C;)y=y[QD(p[x++])];return x&&x==C?y:void 0}var ZZ=JZ;function ttt(y,p,x){var C=y==null?void 0:ZZ(y,p);return C===void 0?x:C}var ett=ttt,ntt=function(){try{var y=YD(Object,"defineProperty");return y({},"",{}),y}catch{}}(),MR=ntt;function rtt(y,p,x){p=="__proto__"&&MR?MR(y,p,{configurable:!0,enumerable:!0,value:x,writable:!0}):y[p]=x}var itt=rtt,stt=Object.prototype,A2t=stt.hasOwnProperty;function att(y,p,x){var C=y[p];(!(A2t.call(y,p)&&kR(C,x))||x===void 0&&!(p in y))&&itt(y,p,x)}var ott=att,ctt=9007199254740991,utt=/^(?:0|[1-9]\d*)$/;function ltt(y,p){var x=typeof y;return p=p??ctt,!!p&&(x=="number"||x!="symbol"&&utt.test(y))&&y>-1&&y%1==0&&y<p}var htt=ltt;function ftt(y,p,x,C){if(!ke(y))return y;p=DR(p,y);for(var L=-1,O=p.length,N=O-1,j=y;j!=null&&++L<O;){var H=QD(p[L]),q=x;if(H==="__proto__"||H==="constructor"||H==="prototype")return y;if(L!=N){var W=j[H];q=C?C(W,H,j):void 0,q===void 0&&(q=ke(W)?W:htt(p[L+1])?[]:{})}ott(j,H,q),j=j[H]}return y}var dtt=ftt;function gtt(y,p,x){return y==null?y:dtt(y,p,x)}var ptt=gtt;function btt(y,p){var x=-1,C=y.length;for(p||(p=Array(C));++x<C;)p[x]=y[x];return p}var wtt=btt;function mtt(y){return aC(y)?CR(y,QD):Nr(y)?[y]:wtt(TR(LR(y)))}var vtt=mtt,ytt={data:function(p){var x={field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(L){},beforeSet:function(L,O){},onSet:function(L){},canSet:function(L){return!0}};return p=we({},x,p),function(L,O){var N=p,j=this,H=j.length!==void 0,q=H?j:[j],W=H?j[0]:j;if(mt(L)){var Z=L.indexOf(".")!==-1,st=Z&&vtt(L);if(N.allowGetting&&O===void 0){var bt;return W&&(N.beforeGet(W),st&&W._private[N.field][L]===void 0?bt=ett(W._private[N.field],st):bt=W._private[N.field][L]),bt}else if(N.allowSetting&&O!==void 0){var pt=!N.immutableKeys[L];if(pt){var _t=b({},L,O);N.beforeSet(j,_t);for(var St=0,Et=q.length;St<Et;St++){var Nt=q[St];N.canSet(Nt)&&(st&&W._private[N.field][L]===void 0?ptt(Nt._private[N.field],st,O):Nt._private[N.field][L]=O)}N.updateStyle&&j.updateStyle(),N.onSet(j),N.settingTriggersEvent&&j[N.triggerFnName](N.settingEvent)}}}else if(N.allowSetting&&it(L)){var Pt=L,qt,re,ee=Object.keys(Pt);N.beforeSet(j,Pt);for(var Ut=0;Ut<ee.length;Ut++){qt=ee[Ut],re=Pt[qt];var de=!N.immutableKeys[qt];if(de)for(var Yt=0;Yt<q.length;Yt++){var Ee=q[Yt];N.canSet(Ee)&&(Ee._private[N.field][qt]=re)}}N.updateStyle&&j.updateStyle(),N.onSet(j),N.settingTriggersEvent&&j[N.triggerFnName](N.settingEvent)}else if(N.allowBinding&&ct(L)){var Te=L;j.on(N.bindingEvent,Te)}else if(N.allowGetting&&L===void 0){var ie;return W&&(N.beforeGet(W),ie=W._private[N.field]),ie}return j}},removeData:function(p){var x={field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}};return p=we({},x,p),function(L){var O=p,N=this,j=N.length!==void 0,H=j?N:[N];if(mt(L)){for(var q=L.split(/\s+/),W=q.length,Z=0;Z<W;Z++){var st=q[Z];if(!Ft(st)){var bt=!O.immutableKeys[st];if(bt)for(var pt=0,_t=H.length;pt<_t;pt++)H[pt]._private[O.field][st]=void 0}}O.triggerEvent&&N[O.triggerFnName](O.event)}else if(L===void 0){for(var St=0,Et=H.length;St<Et;St++)for(var Nt=H[St]._private[O.field],Pt=Object.keys(Nt),qt=0;qt<Pt.length;qt++){var re=Pt[qt],ee=!O.immutableKeys[re];ee&&(Nt[re]=void 0)}O.triggerEvent&&N[O.triggerFnName](O.event)}return N}}},xtt={eventAliasesOn:function(p){var x=p;x.addListener=x.listen=x.bind=x.on,x.unlisten=x.unbind=x.off=x.removeListener,x.trigger=x.emit,x.pon=x.promiseOn=function(C,L){var O=this,N=Array.prototype.slice.call(arguments,0);return new e6(function(j,H){var q=function(bt){O.off.apply(O,Z),j(bt)},W=N.concat([q]),Z=W.concat([]);O.on.apply(O,W)})}}},Kc={};[vJ,ytt,xtt].forEach(function(y){we(Kc,y)});var ktt={animate:Kc.animate(),animation:Kc.animation(),animated:Kc.animated(),clearQueue:Kc.clearQueue(),delay:Kc.delay(),delayAnimation:Kc.delayAnimation(),stop:Kc.stop()},lC={classes:function(p){var x=this;if(p===void 0){var C=[];return x[0]._private.classes.forEach(function(pt){return C.push(pt)}),C}else rt(p)||(p=(p||"").match(/\S+/g)||[]);for(var L=[],O=new Wx(p),N=0;N<x.length;N++){for(var j=x[N],H=j._private,q=H.classes,W=!1,Z=0;Z<p.length;Z++){var st=p[Z],bt=q.has(st);if(!bt){W=!0;break}}W||(W=q.size!==p.length),W&&(H.classes=O,L.push(j))}return L.length>0&&this.spawn(L).updateStyle().emit("class"),x},addClass:function(p){return this.toggleClass(p,!0)},hasClass:function(p){var x=this[0];return x!=null&&x._private.classes.has(p)},toggleClass:function(p,x){rt(p)||(p=p.match(/\S+/g)||[]);for(var C=this,L=x===void 0,O=[],N=0,j=C.length;N<j;N++)for(var H=C[N],q=H._private.classes,W=!1,Z=0;Z<p.length;Z++){var st=p[Z],bt=q.has(st),pt=!1;x||L&&!bt?(q.add(st),pt=!0):(!x||L&&bt)&&(q.delete(st),pt=!0),!W&&pt&&(O.push(H),W=!0)}return O.length>0&&this.spawn(O).updateStyle().emit("class"),C},removeClass:function(p){return this.toggleClass(p,!1)},flashClass:function(p,x){var C=this;if(x==null)x=250;else if(x===0)return C;return C.addClass(p),setTimeout(function(){C.removeClass(p)},x),C}};lC.className=lC.classNames=lC.classes;var yc={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:sn,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};yc.variable="(?:[\\w-.]|(?:\\\\"+yc.metaChar+"))+",yc.className="(?:[\\w-]|(?:\\\\"+yc.metaChar+"))+",yc.value=yc.string+"|"+yc.number,yc.id=yc.variable,function(){var y,p,x;for(y=yc.comparatorOp.split("|"),x=0;x<y.length;x++)p=y[x],yc.comparatorOp+="|@"+p;for(y=yc.comparatorOp.split("|"),x=0;x<y.length;x++)p=y[x],!(p.indexOf("!")>=0)&&p!=="="&&(yc.comparatorOp+="|\\!"+p)}();var bu=function(){return{checks:[]}},Xi={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},JD=[{selector:":selected",matches:function(p){return p.selected()}},{selector:":unselected",matches:function(p){return!p.selected()}},{selector:":selectable",matches:function(p){return p.selectable()}},{selector:":unselectable",matches:function(p){return!p.selectable()}},{selector:":locked",matches:function(p){return p.locked()}},{selector:":unlocked",matches:function(p){return!p.locked()}},{selector:":visible",matches:function(p){return p.visible()}},{selector:":hidden",matches:function(p){return!p.visible()}},{selector:":transparent",matches:function(p){return p.transparent()}},{selector:":grabbed",matches:function(p){return p.grabbed()}},{selector:":free",matches:function(p){return!p.grabbed()}},{selector:":removed",matches:function(p){return p.removed()}},{selector:":inside",matches:function(p){return!p.removed()}},{selector:":grabbable",matches:function(p){return p.grabbable()}},{selector:":ungrabbable",matches:function(p){return!p.grabbable()}},{selector:":animated",matches:function(p){return p.animated()}},{selector:":unanimated",matches:function(p){return!p.animated()}},{selector:":parent",matches:function(p){return p.isParent()}},{selector:":childless",matches:function(p){return p.isChildless()}},{selector:":child",matches:function(p){return p.isChild()}},{selector:":orphan",matches:function(p){return p.isOrphan()}},{selector:":nonorphan",matches:function(p){return p.isChild()}},{selector:":compound",matches:function(p){return p.isNode()?p.isParent():p.source().isParent()||p.target().isParent()}},{selector:":loop",matches:function(p){return p.isLoop()}},{selector:":simple",matches:function(p){return p.isSimple()}},{selector:":active",matches:function(p){return p.active()}},{selector:":inactive",matches:function(p){return!p.active()}},{selector:":backgrounding",matches:function(p){return p.backgrounding()}},{selector:":nonbackgrounding",matches:function(p){return!p.backgrounding()}}].sort(function(y,p){return Br(y.selector,p.selector)}),Ett=function(){for(var y={},p,x=0;x<JD.length;x++)p=JD[x],y[p.selector]=p.matches;return y}(),Ttt=function(p,x){return Ett[p](x)},Ctt="("+JD.map(function(y){return y.selector}).join("|")+")",s6=function(p){return p.replace(new RegExp("\\\\("+yc.metaChar+")","g"),function(x,C){return C})},B2=function(p,x,C){p[p.length-1]=C},z8=[{name:"group",query:!0,regex:"("+yc.group+")",populate:function(p,x,C){var L=E(C,1),O=L[0];x.checks.push({type:Xi.GROUP,value:O==="*"?O:O+"s"})}},{name:"state",query:!0,regex:Ctt,populate:function(p,x,C){var L=E(C,1),O=L[0];x.checks.push({type:Xi.STATE,value:O})}},{name:"id",query:!0,regex:"\\#("+yc.id+")",populate:function(p,x,C){var L=E(C,1),O=L[0];x.checks.push({type:Xi.ID,value:s6(O)})}},{name:"className",query:!0,regex:"\\.("+yc.className+")",populate:function(p,x,C){var L=E(C,1),O=L[0];x.checks.push({type:Xi.CLASS,value:s6(O)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+yc.variable+")\\s*\\]",populate:function(p,x,C){var L=E(C,1),O=L[0];x.checks.push({type:Xi.DATA_EXIST,field:s6(O)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+yc.variable+")\\s*("+yc.comparatorOp+")\\s*("+yc.value+")\\s*\\]",populate:function(p,x,C){var L=E(C,3),O=L[0],N=L[1],j=L[2],H=new RegExp("^"+yc.string+"$").exec(j)!=null;H?j=j.substring(1,j.length-1):j=parseFloat(j),x.checks.push({type:Xi.DATA_COMPARE,field:s6(O),operator:N,value:j})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+yc.boolOp+")\\s*("+yc.variable+")\\s*\\]",populate:function(p,x,C){var L=E(C,2),O=L[0],N=L[1];x.checks.push({type:Xi.DATA_BOOL,field:s6(N),operator:O})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+yc.meta+")\\s*("+yc.comparatorOp+")\\s*("+yc.number+")\\s*\\]\\]",populate:function(p,x,C){var L=E(C,3),O=L[0],N=L[1],j=L[2];x.checks.push({type:Xi.META_COMPARE,field:s6(O),operator:N,value:parseFloat(j)})}},{name:"nextQuery",separator:!0,regex:yc.separator,populate:function(p,x){var C=p.currentSubject,L=p.edgeCount,O=p.compoundCount,N=p[p.length-1];C!=null&&(N.subject=C,p.currentSubject=null),N.edgeCount=L,N.compoundCount=O,p.edgeCount=0,p.compoundCount=0;var j=p[p.length++]=bu();return j}},{name:"directedEdge",separator:!0,regex:yc.directedEdge,populate:function(p,x){if(p.currentSubject==null){var C=bu(),L=x,O=bu();return C.checks.push({type:Xi.DIRECTED_EDGE,source:L,target:O}),B2(p,x,C),p.edgeCount++,O}else{var N=bu(),j=x,H=bu();return N.checks.push({type:Xi.NODE_SOURCE,source:j,target:H}),B2(p,x,N),p.edgeCount++,H}}},{name:"undirectedEdge",separator:!0,regex:yc.undirectedEdge,populate:function(p,x){if(p.currentSubject==null){var C=bu(),L=x,O=bu();return C.checks.push({type:Xi.UNDIRECTED_EDGE,nodes:[L,O]}),B2(p,x,C),p.edgeCount++,O}else{var N=bu(),j=x,H=bu();return N.checks.push({type:Xi.NODE_NEIGHBOR,node:j,neighbor:H}),B2(p,x,N),H}}},{name:"child",separator:!0,regex:yc.child,populate:function(p,x){if(p.currentSubject==null){var C=bu(),L=bu(),O=p[p.length-1];return C.checks.push({type:Xi.CHILD,parent:O,child:L}),B2(p,x,C),p.compoundCount++,L}else if(p.currentSubject===x){var N=bu(),j=p[p.length-1],H=bu(),q=bu(),W=bu(),Z=bu();return N.checks.push({type:Xi.COMPOUND_SPLIT,left:j,right:H,subject:q}),q.checks=x.checks,x.checks=[{type:Xi.TRUE}],Z.checks.push({type:Xi.TRUE}),H.checks.push({type:Xi.PARENT,parent:Z,child:W}),B2(p,j,N),p.currentSubject=q,p.compoundCount++,W}else{var st=bu(),bt=bu(),pt=[{type:Xi.PARENT,parent:st,child:bt}];return st.checks=x.checks,x.checks=pt,p.compoundCount++,bt}}},{name:"descendant",separator:!0,regex:yc.descendant,populate:function(p,x){if(p.currentSubject==null){var C=bu(),L=bu(),O=p[p.length-1];return C.checks.push({type:Xi.DESCENDANT,ancestor:O,descendant:L}),B2(p,x,C),p.compoundCount++,L}else if(p.currentSubject===x){var N=bu(),j=p[p.length-1],H=bu(),q=bu(),W=bu(),Z=bu();return N.checks.push({type:Xi.COMPOUND_SPLIT,left:j,right:H,subject:q}),q.checks=x.checks,x.checks=[{type:Xi.TRUE}],Z.checks.push({type:Xi.TRUE}),H.checks.push({type:Xi.ANCESTOR,ancestor:Z,descendant:W}),B2(p,j,N),p.currentSubject=q,p.compoundCount++,W}else{var st=bu(),bt=bu(),pt=[{type:Xi.ANCESTOR,ancestor:st,descendant:bt}];return st.checks=x.checks,x.checks=pt,p.compoundCount++,bt}}},{name:"subject",modifier:!0,regex:yc.subject,populate:function(p,x){if(p.currentSubject!=null&&p.currentSubject!==x)return Gc("Redefinition of subject in selector `"+p.toString()+"`"),!1;p.currentSubject=x;var C=p[p.length-1],L=C.checks[0],O=L==null?null:L.type;O===Xi.DIRECTED_EDGE?L.type=Xi.NODE_TARGET:O===Xi.UNDIRECTED_EDGE&&(L.type=Xi.NODE_NEIGHBOR,L.node=L.nodes[1],L.neighbor=L.nodes[0],L.nodes=null)}}];z8.forEach(function(y){return y.regexObj=new RegExp("^"+y.regex)});var Stt=function(p){for(var x,C,L,O=0;O<z8.length;O++){var N=z8[O],j=N.name,H=p.match(N.regexObj);if(H!=null){C=H,x=N,L=j;var q=H[0];p=p.substring(q.length);break}}return{expr:x,match:C,name:L,remaining:p}},ZD=function(p){var x=p.match(/^\s+/);if(x){var C=x[0];p=p.substring(C.length)}return p},_tt=function(p){var x=this,C=x.inputText=p,L=x[0]=bu();for(x.length=1,C=ZD(C);;){var O=Stt(C);if(O.expr==null)return Gc("The selector `"+p+"`is invalid"),!1;var N=O.match.slice(1),j=O.expr.populate(x,L,N);if(j===!1)return!1;if(j!=null&&(L=j),C=O.remaining,C.match(/^\s*$/))break}var H=x[x.length-1];x.currentSubject!=null&&(H.subject=x.currentSubject),H.edgeCount=x.edgeCount,H.compoundCount=x.compoundCount;for(var q=0;q<x.length;q++){var W=x[q];if(W.compoundCount>0&&W.edgeCount>0)return Gc("The selector `"+p+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(W.edgeCount>1)return Gc("The selector `"+p+"` is invalid because it uses multiple edge selectors"),!1;W.edgeCount===1&&Gc("The selector `"+p+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},Att=function(){if(this.toStringCache!=null)return this.toStringCache;for(var p=function(W){return W??""},x=function(W){return mt(W)?'"'+W+'"':p(W)},C=function(W){return" "+W+" "},L=function(W,Z){var st=W.type,bt=W.value;switch(st){case Xi.GROUP:{var pt=p(bt);return pt.substring(0,pt.length-1)}case Xi.DATA_COMPARE:{var _t=W.field,St=W.operator;return"["+_t+C(p(St))+x(bt)+"]"}case Xi.DATA_BOOL:{var Et=W.operator,Nt=W.field;return"["+p(Et)+Nt+"]"}case Xi.DATA_EXIST:{var Pt=W.field;return"["+Pt+"]"}case Xi.META_COMPARE:{var qt=W.operator,re=W.field;return"[["+re+C(p(qt))+x(bt)+"]]"}case Xi.STATE:return bt;case Xi.ID:return"#"+bt;case Xi.CLASS:return"."+bt;case Xi.PARENT:case Xi.CHILD:return O(W.parent,Z)+C(">")+O(W.child,Z);case Xi.ANCESTOR:case Xi.DESCENDANT:return O(W.ancestor,Z)+" "+O(W.descendant,Z);case Xi.COMPOUND_SPLIT:{var ee=O(W.left,Z),Ut=O(W.subject,Z),de=O(W.right,Z);return ee+(ee.length>0?" ":"")+Ut+de}case Xi.TRUE:return""}},O=function(W,Z){return W.checks.reduce(function(st,bt,pt){return st+(Z===W&&pt===0?"$":"")+L(bt,Z)},"")},N="",j=0;j<this.length;j++){var H=this[j];N+=O(H,H.subject),this.length>1&&j<this.length-1&&(N+=", ")}return this.toStringCache=N,N},Ltt={parse:_tt,toString:Att},IR=function(p,x,C){var L,O=mt(p),N=Q(p),j=mt(C),H,q,W=!1,Z=!1,st=!1;switch(x.indexOf("!")>=0&&(x=x.replace("!",""),Z=!0),x.indexOf("@")>=0&&(x=x.replace("@",""),W=!0),(O||j||W)&&(H=!O&&!N?"":""+p,q=""+C),W&&(p=H=H.toLowerCase(),C=q=q.toLowerCase()),x){case"*=":L=H.indexOf(q)>=0;break;case"$=":L=H.indexOf(q,H.length-q.length)>=0;break;case"^=":L=H.indexOf(q)===0;break;case"=":L=p===C;break;case">":st=!0,L=p>C;break;case">=":st=!0,L=p>=C;break;case"<":st=!0,L=p<C;break;case"<=":st=!0,L=p<=C;break;default:L=!1;break}return Z&&(p!=null||!st)&&(L=!L),L},Dtt=function(p,x){switch(x){case"?":return!!p;case"!":return!p;case"^":return p===void 0}},Mtt=function(p){return p!==void 0},tM=function(p,x){return p.data(x)},Itt=function(p,x){return p[x]()},zl=[],Yu=function(p,x){return p.checks.every(function(C){return zl[C.type](C,x)})};zl[Xi.GROUP]=function(y,p){var x=y.value;return x==="*"||x===p.group()},zl[Xi.STATE]=function(y,p){var x=y.value;return Ttt(x,p)},zl[Xi.ID]=function(y,p){var x=y.value;return p.id()===x},zl[Xi.CLASS]=function(y,p){var x=y.value;return p.hasClass(x)},zl[Xi.META_COMPARE]=function(y,p){var x=y.field,C=y.operator,L=y.value;return IR(Itt(p,x),C,L)},zl[Xi.DATA_COMPARE]=function(y,p){var x=y.field,C=y.operator,L=y.value;return IR(tM(p,x),C,L)},zl[Xi.DATA_BOOL]=function(y,p){var x=y.field,C=y.operator;return Dtt(tM(p,x),C)},zl[Xi.DATA_EXIST]=function(y,p){var x=y.field;return y.operator,Mtt(tM(p,x))},zl[Xi.UNDIRECTED_EDGE]=function(y,p){var x=y.nodes[0],C=y.nodes[1],L=p.source(),O=p.target();return Yu(x,L)&&Yu(C,O)||Yu(C,L)&&Yu(x,O)},zl[Xi.NODE_NEIGHBOR]=function(y,p){return Yu(y.node,p)&&p.neighborhood().some(function(x){return x.isNode()&&Yu(y.neighbor,x)})},zl[Xi.DIRECTED_EDGE]=function(y,p){return Yu(y.source,p.source())&&Yu(y.target,p.target())},zl[Xi.NODE_SOURCE]=function(y,p){return Yu(y.source,p)&&p.outgoers().some(function(x){return x.isNode()&&Yu(y.target,x)})},zl[Xi.NODE_TARGET]=function(y,p){return Yu(y.target,p)&&p.incomers().some(function(x){return x.isNode()&&Yu(y.source,x)})},zl[Xi.CHILD]=function(y,p){return Yu(y.child,p)&&Yu(y.parent,p.parent())},zl[Xi.PARENT]=function(y,p){return Yu(y.parent,p)&&p.children().some(function(x){return Yu(y.child,x)})},zl[Xi.DESCENDANT]=function(y,p){return Yu(y.descendant,p)&&p.ancestors().some(function(x){return Yu(y.ancestor,x)})},zl[Xi.ANCESTOR]=function(y,p){return Yu(y.ancestor,p)&&p.descendants().some(function(x){return Yu(y.descendant,x)})},zl[Xi.COMPOUND_SPLIT]=function(y,p){return Yu(y.subject,p)&&Yu(y.left,p)&&Yu(y.right,p)},zl[Xi.TRUE]=function(){return!0},zl[Xi.COLLECTION]=function(y,p){var x=y.value;return x.has(p)},zl[Xi.FILTER]=function(y,p){var x=y.value;return x(p)};var OR=function(p){var x=this;if(x.length===1&&x[0].checks.length===1&&x[0].checks[0].type===Xi.ID)return p.getElementById(x[0].checks[0].value).collection();var C=function(O){for(var N=0;N<x.length;N++){var j=x[N];if(Yu(j,O))return!0}return!1};return x.text()==null&&(C=function(){return!0}),p.filter(C)},Ott=function(p){for(var x=this,C=0;C<x.length;C++){var L=x[C];if(Yu(L,p))return!0}return!1},Ntt={matches:Ott,filter:OR},ly=function(p){this.inputText=p,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,p==null||mt(p)&&p.match(/^\s*$/)||(yt(p)?this.addQuery({checks:[{type:Xi.COLLECTION,value:p.collection()}]}):ct(p)?this.addQuery({checks:[{type:Xi.FILTER,value:p}]}):mt(p)?this.parse(p)||(this.invalid=!0):$l("A selector must be created from a string; found "))},x4=ly.prototype;[Ltt,Ntt].forEach(function(y){return we(x4,y)}),x4.text=function(){return this.inputText},x4.size=function(){return this.length},x4.eq=function(y){return this[y]},x4.sameText=function(y){return!this.invalid&&!y.invalid&&this.text()===y.text()},x4.addQuery=function(y){this[this.length++]=y},x4.selector=x4.toString;var hy={allAre:function(p){var x=new ly(p);return this.every(function(C){return x.matches(C)})},is:function(p){var x=new ly(p);return this.some(function(C){return x.matches(C)})},some:function(p,x){for(var C=0;C<this.length;C++){var L=x?p.apply(x,[this[C],C,this]):p(this[C],C,this);if(L)return!0}return!1},every:function(p,x){for(var C=0;C<this.length;C++){var L=x?p.apply(x,[this[C],C,this]):p(this[C],C,this);if(!L)return!1}return!0},same:function(p){if(this===p)return!0;p=this.cy().collection(p);var x=this.length,C=p.length;return x!==C?!1:x===1?this[0]===p[0]:this.every(function(L){return p.hasElementWithId(L.id())})},anySame:function(p){return p=this.cy().collection(p),this.some(function(x){return p.hasElementWithId(x.id())})},allAreNeighbors:function(p){p=this.cy().collection(p);var x=this.neighborhood();return p.every(function(C){return x.hasElementWithId(C.id())})},contains:function(p){p=this.cy().collection(p);var x=this;return p.every(function(C){return x.hasElementWithId(C.id())})}};hy.allAreNeighbours=hy.allAreNeighbors,hy.has=hy.contains,hy.equal=hy.equals=hy.same;var ap=function(p,x){return function(L,O,N,j){var H=L,q=this,W;if(H==null?W="":yt(H)&&H.length===1&&(W=H.id()),q.length===1&&W){var Z=q[0]._private,st=Z.traversalCache=Z.traversalCache||{},bt=st[x]=st[x]||[],pt=Nd(W),_t=bt[pt];return _t||(bt[pt]=p.call(q,L,O,N,j))}else return p.call(q,L,O,N,j)}},a6={parent:function(p){var x=[];if(this.length===1){var C=this[0]._private.parent;if(C)return C}for(var L=0;L<this.length;L++){var O=this[L],N=O._private.parent;N&&x.push(N)}return this.spawn(x,!0).filter(p)},parents:function(p){for(var x=[],C=this.parent();C.nonempty();){for(var L=0;L<C.length;L++){var O=C[L];x.push(O)}C=C.parent()}return this.spawn(x,!0).filter(p)},commonAncestors:function(p){for(var x,C=0;C<this.length;C++){var L=this[C],O=L.parents();x=x||O,x=x.intersect(O)}return x.filter(p)},orphans:function(p){return this.stdFilter(function(x){return x.isOrphan()}).filter(p)},nonorphans:function(p){return this.stdFilter(function(x){return x.isChild()}).filter(p)},children:ap(function(y){for(var p=[],x=0;x<this.length;x++)for(var C=this[x],L=C._private.children,O=0;O<L.length;O++)p.push(L[O]);return this.spawn(p,!0).filter(y)},"children"),siblings:function(p){return this.parent().children().not(this).filter(p)},isParent:function(){var p=this[0];if(p)return p.isNode()&&p._private.children.length!==0},isChildless:function(){var p=this[0];if(p)return p.isNode()&&p._private.children.length===0},isChild:function(){var p=this[0];if(p)return p.isNode()&&p._private.parent!=null},isOrphan:function(){var p=this[0];if(p)return p.isNode()&&p._private.parent==null},descendants:function(p){var x=[];function C(L){for(var O=0;O<L.length;O++){var N=L[O];x.push(N),N.children().nonempty()&&C(N.children())}}return C(this.children()),this.spawn(x,!0).filter(p)}};function eM(y,p,x,C){for(var L=[],O=new Wx,N=y.cy(),j=N.hasCompoundNodes(),H=0;H<y.length;H++){var q=y[H];x?L.push(q):j&&C(L,O,q)}for(;L.length>0;){var W=L.shift();p(W),O.add(W.id()),j&&C(L,O,W)}return y}function NR(y,p,x){if(x.isParent())for(var C=x._private.children,L=0;L<C.length;L++){var O=C[L];p.has(O.id())||y.push(O)}}a6.forEachDown=function(y){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return eM(this,y,p,NR)};function PR(y,p,x){if(x.isChild()){var C=x._private.parent;p.has(C.id())||y.push(C)}}a6.forEachUp=function(y){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return eM(this,y,p,PR)};function Ptt(y,p,x){PR(y,p,x),NR(y,p,x)}a6.forEachUpAndDown=function(y){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return eM(this,y,p,Ptt)},a6.ancestors=a6.parents;var G1,FR;G1=FR={data:Kc.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Kc.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Kc.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Kc.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Kc.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Kc.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var p=this[0];if(p)return p._private.data.id}},G1.attr=G1.data,G1.removeAttr=G1.removeData;var fy=FR,q8={};function nM(y){return function(p){var x=this;if(p===void 0&&(p=!0),x.length!==0)if(x.isNode()&&!x.removed()){for(var C=0,L=x[0],O=L._private.edges,N=0;N<O.length;N++){var j=O[N];!p&&j.isLoop()||(C+=y(L,j))}return C}else return}}we(q8,{degree:nM(function(y,p){return p.source().same(p.target())?2:1}),indegree:nM(function(y,p){return p.target().same(y)?1:0}),outdegree:nM(function(y,p){return p.source().same(y)?1:0})});function o6(y,p){return function(x){for(var C,L=this.nodes(),O=0;O<L.length;O++){var N=L[O],j=N[y](x);j!==void 0&&(C===void 0||p(j,C))&&(C=j)}return C}}we(q8,{minDegree:o6("degree",function(y,p){return y<p}),maxDegree:o6("degree",function(y,p){return y>p}),minIndegree:o6("indegree",function(y,p){return y<p}),maxIndegree:o6("indegree",function(y,p){return y>p}),minOutdegree:o6("outdegree",function(y,p){return y<p}),maxOutdegree:o6("outdegree",function(y,p){return y>p})}),we(q8,{totalDegree:function(p){for(var x=0,C=this.nodes(),L=0;L<C.length;L++)x+=C[L].degree(p);return x}});var db,BR,RR=function(p,x,C){for(var L=0;L<p.length;L++){var O=p[L];if(!O.locked()){var N=O._private.position,j={x:x.x!=null?x.x-N.x:0,y:x.y!=null?x.y-N.y:0};O.isParent()&&!(j.x===0&&j.y===0)&&O.children().shift(j,C),O.dirtyBoundingBoxCache()}}},jR={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(p){p.updateCompoundBounds()},beforeSet:function(p,x){RR(p,x,!1)},onSet:function(p){p.dirtyCompoundBoundsCache()},canSet:function(p){return!p.locked()}};db=BR={position:Kc.data(jR),silentPosition:Kc.data(we({},jR,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(p,x){RR(p,x,!0)},onSet:function(p){p.dirtyCompoundBoundsCache()}})),positions:function(p,x){if(it(p))x?this.silentPosition(p):this.position(p);else if(ct(p)){var C=p,L=this.cy();L.startBatch();for(var O=0;O<this.length;O++){var N=this[O],j=void 0;(j=C(N,O))&&(x?N.silentPosition(j):N.position(j))}L.endBatch()}return this},silentPositions:function(p){return this.positions(p,!0)},shift:function(p,x,C){var L;if(it(p)?(L={x:Q(p.x)?p.x:0,y:Q(p.y)?p.y:0},C=x):mt(p)&&Q(x)&&(L={x:0,y:0},L[p]=x),L!=null){var O=this.cy();O.startBatch();for(var N=0;N<this.length;N++){var j=this[N];if(!(O.hasCompoundNodes()&&j.isChild()&&j.ancestors().anySame(this))){var H=j.position(),q={x:H.x+L.x,y:H.y+L.y};C?j.silentPosition(q):j.position(q)}}O.endBatch()}return this},silentShift:function(p,x){return it(p)?this.shift(p,!0):mt(p)&&Q(x)&&this.shift(p,x,!0),this},renderedPosition:function(p,x){var C=this[0],L=this.cy(),O=L.zoom(),N=L.pan(),j=it(p)?p:void 0,H=j!==void 0||x!==void 0&&mt(p);if(C&&C.isNode())if(H)for(var q=0;q<this.length;q++){var W=this[q];x!==void 0?W.position(p,(x-N[p])/O):j!==void 0&&W.position(PB(j,O,N))}else{var Z=C.position();return j=W9(Z,O,N),p===void 0?j:j[p]}else if(!H)return;return this},relativePosition:function(p,x){var C=this[0],L=this.cy(),O=it(p)?p:void 0,N=O!==void 0||x!==void 0&&mt(p),j=L.hasCompoundNodes();if(C&&C.isNode())if(N)for(var H=0;H<this.length;H++){var q=this[H],W=j?q.parent():null,Z=W&&W.length>0,st=Z;Z&&(W=W[0]);var bt=st?W.position():{x:0,y:0};x!==void 0?q.position(p,x+bt[p]):O!==void 0&&q.position({x:O.x+bt.x,y:O.y+bt.y})}else{var pt=C.position(),_t=j?C.parent():null,St=_t&&_t.length>0,Et=St;St&&(_t=_t[0]);var Nt=Et?_t.position():{x:0,y:0};return O={x:pt.x-Nt.x,y:pt.y-Nt.y},p===void 0?O:O[p]}else if(!N)return;return this}},db.modelPosition=db.point=db.position,db.modelPositions=db.points=db.positions,db.renderedPoint=db.renderedPosition,db.relativePoint=db.relativePosition;var Ftt=BR,c6,dy;c6=dy={},dy.renderedBoundingBox=function(y){var p=this.boundingBox(y),x=this.cy(),C=x.zoom(),L=x.pan(),O=p.x1*C+L.x,N=p.x2*C+L.x,j=p.y1*C+L.y,H=p.y2*C+L.y;return{x1:O,x2:N,y1:j,y2:H,w:N-O,h:H-j}},dy.dirtyCompoundBoundsCache=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,p=this.cy();return!p.styleEnabled()||!p.hasCompoundNodes()?this:(this.forEachUp(function(x){if(x.isParent()){var C=x._private;C.compoundBoundsClean=!1,C.bbCache=null,y||x.emitAndNotify("bounds")}}),this)},dy.updateCompoundBounds=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,p=this.cy();if(!p.styleEnabled()||!p.hasCompoundNodes())return this;if(!y&&p.batching())return this;function x(N){if(!N.isParent())return;var j=N._private,H=N.children(),q=N.pstyle("compound-sizing-wrt-labels").value==="include",W={width:{val:N.pstyle("min-width").pfValue,left:N.pstyle("min-width-bias-left"),right:N.pstyle("min-width-bias-right")},height:{val:N.pstyle("min-height").pfValue,top:N.pstyle("min-height-bias-top"),bottom:N.pstyle("min-height-bias-bottom")}},Z=H.boundingBox({includeLabels:q,includeOverlays:!1,useCache:!1}),st=j.position;(Z.w===0||Z.h===0)&&(Z={w:N.pstyle("width").pfValue,h:N.pstyle("height").pfValue},Z.x1=st.x-Z.w/2,Z.x2=st.x+Z.w/2,Z.y1=st.y-Z.h/2,Z.y2=st.y+Z.h/2);function bt(Yt,Ee,Te){var ie=0,ze=0,me=Ee+Te;return Yt>0&&me>0&&(ie=Ee/me*Yt,ze=Te/me*Yt),{biasDiff:ie,biasComplementDiff:ze}}function pt(Yt,Ee,Te,ie){if(Te.units==="%")switch(ie){case"width":return Yt>0?Te.pfValue*Yt:0;case"height":return Ee>0?Te.pfValue*Ee:0;case"average":return Yt>0&&Ee>0?Te.pfValue*(Yt+Ee)/2:0;case"min":return Yt>0&&Ee>0?Yt>Ee?Te.pfValue*Ee:Te.pfValue*Yt:0;case"max":return Yt>0&&Ee>0?Yt>Ee?Te.pfValue*Yt:Te.pfValue*Ee:0;default:return 0}else return Te.units==="px"?Te.pfValue:0}var _t=W.width.left.value;W.width.left.units==="px"&&W.width.val>0&&(_t=_t*100/W.width.val);var St=W.width.right.value;W.width.right.units==="px"&&W.width.val>0&&(St=St*100/W.width.val);var Et=W.height.top.value;W.height.top.units==="px"&&W.height.val>0&&(Et=Et*100/W.height.val);var Nt=W.height.bottom.value;W.height.bottom.units==="px"&&W.height.val>0&&(Nt=Nt*100/W.height.val);var Pt=bt(W.width.val-Z.w,_t,St),qt=Pt.biasDiff,re=Pt.biasComplementDiff,ee=bt(W.height.val-Z.h,Et,Nt),Ut=ee.biasDiff,de=ee.biasComplementDiff;j.autoPadding=pt(Z.w,Z.h,N.pstyle("padding"),N.pstyle("padding-relative-to").value),j.autoWidth=Math.max(Z.w,W.width.val),st.x=(-qt+Z.x1+Z.x2+re)/2,j.autoHeight=Math.max(Z.h,W.height.val),st.y=(-Ut+Z.y1+Z.y2+de)/2}for(var C=0;C<this.length;C++){var L=this[C],O=L._private;(!O.compoundBoundsClean||y)&&(x(L),p.batching()||(O.compoundBoundsClean=!0))}return this};var op=function(p){return p===1/0||p===-1/0?0:p},gb=function(p,x,C,L,O){L-x===0||O-C===0||x==null||C==null||L==null||O==null||(p.x1=x<p.x1?x:p.x1,p.x2=L>p.x2?L:p.x2,p.y1=C<p.y1?C:p.y1,p.y2=O>p.y2?O:p.y2,p.w=p.x2-p.x1,p.h=p.y2-p.y1)},k4=function(p,x){return x==null?p:gb(p,x.x1,x.y1,x.x2,x.y2)},H8=function(p,x,C){return fb(p,x,C)},hC=function(p,x,C){if(!x.cy().headless()){var L=x._private,O=L.rstyle,N=O.arrowWidth/2,j=x.pstyle(C+"-arrow-shape").value,H,q;if(j!=="none"){C==="source"?(H=O.srcX,q=O.srcY):C==="target"?(H=O.tgtX,q=O.tgtY):(H=O.midX,q=O.midY);var W=L.arrowBounds=L.arrowBounds||{},Z=W[C]=W[C]||{};Z.x1=H-N,Z.y1=q-N,Z.x2=H+N,Z.y2=q+N,Z.w=Z.x2-Z.x1,Z.h=Z.y2-Z.y1,X9(Z,1),gb(p,Z.x1,Z.y1,Z.x2,Z.y2)}}},rM=function(p,x,C){if(!x.cy().headless()){var L;C?L=C+"-":L="";var O=x._private,N=O.rstyle,j=x.pstyle(L+"label").strValue;if(j){var H=x.pstyle("text-halign"),q=x.pstyle("text-valign"),W=H8(N,"labelWidth",C),Z=H8(N,"labelHeight",C),st=H8(N,"labelX",C),bt=H8(N,"labelY",C),pt=x.pstyle(L+"text-margin-x").pfValue,_t=x.pstyle(L+"text-margin-y").pfValue,St=x.isEdge(),Et=x.pstyle(L+"text-rotation"),Nt=x.pstyle("text-outline-width").pfValue,Pt=x.pstyle("text-border-width").pfValue,qt=Pt/2,re=x.pstyle("text-background-padding").pfValue,ee=2,Ut=Z,de=W,Yt=de/2,Ee=Ut/2,Te,ie,ze,me;if(St)Te=st-Yt,ie=st+Yt,ze=bt-Ee,me=bt+Ee;else{switch(H.value){case"left":Te=st-de,ie=st;break;case"center":Te=st-Yt,ie=st+Yt;break;case"right":Te=st,ie=st+de;break}switch(q.value){case"top":ze=bt-Ut,me=bt;break;case"center":ze=bt-Ee,me=bt+Ee;break;case"bottom":ze=bt,me=bt+Ut;break}}Te+=pt-Math.max(Nt,qt)-re-ee,ie+=pt+Math.max(Nt,qt)+re+ee,ze+=_t-Math.max(Nt,qt)-re-ee,me+=_t+Math.max(Nt,qt)+re+ee;var yn=C||"main",nn=O.labelBounds,qe=nn[yn]=nn[yn]||{};qe.x1=Te,qe.y1=ze,qe.x2=ie,qe.y2=me,qe.w=ie-Te,qe.h=me-ze;var Tn=St&&Et.strValue==="autorotate",Xn=Et.pfValue!=null&&Et.pfValue!==0;if(Tn||Xn){var lr=Tn?H8(O.rstyle,"labelAngle",C):Et.pfValue,Sn=Math.cos(lr),or=Math.sin(lr),pr=(Te+ie)/2,kr=(ze+me)/2;if(!St){switch(H.value){case"left":pr=ie;break;case"right":pr=Te;break}switch(q.value){case"top":kr=me;break;case"bottom":kr=ze;break}}var wr=function(na,vi){return na=na-pr,vi=vi-kr,{x:na*Sn-vi*or+pr,y:na*or+vi*Sn+kr}},Cr=wr(Te,ze),$n=wr(Te,me),cr=wr(ie,ze),mr=wr(ie,me);Te=Math.min(Cr.x,$n.x,cr.x,mr.x),ie=Math.max(Cr.x,$n.x,cr.x,mr.x),ze=Math.min(Cr.y,$n.y,cr.y,mr.y),me=Math.max(Cr.y,$n.y,cr.y,mr.y)}var Sr=yn+"Rot",gi=nn[Sr]=nn[Sr]||{};gi.x1=Te,gi.y1=ze,gi.x2=ie,gi.y2=me,gi.w=ie-Te,gi.h=me-ze,gb(p,Te,ze,ie,me),gb(O.labelBounds.all,Te,ze,ie,me)}return p}},Btt=function(p,x){if(!x.cy().headless()){var C=x.pstyle("outline-opacity").value,L=x.pstyle("outline-width").value;if(C>0&&L>0){var O=x.pstyle("outline-offset").value,N=x.pstyle("shape").value,j=L+O,H=(p.w+j*2)/p.w,q=(p.h+j*2)/p.h,W=0,Z=0;["diamond","pentagon","round-triangle"].includes(N)?(H=(p.w+j*2.4)/p.w,Z=-j/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(N)?H=(p.w+j*2.4)/p.w:N==="star"?(H=(p.w+j*2.8)/p.w,q=(p.h+j*2.6)/p.h,Z=-j/3.8):N==="triangle"?(H=(p.w+j*2.8)/p.w,q=(p.h+j*2.4)/p.h,Z=-j/1.4):N==="vee"&&(H=(p.w+j*4.4)/p.w,q=(p.h+j*3.8)/p.h,Z=-j*.5);var st=p.h*q-p.h,bt=p.w*H-p.w;if(Q9(p,[Math.ceil(st/2),Math.ceil(bt/2)]),W!=0||Z!==0){var pt=pQ(p,W,Z);BB(p,pt)}}}},Rtt=function(p,x){var C=p._private.cy,L=C.styleEnabled(),O=C.headless(),N=v0(),j=p._private,H=p.isNode(),q=p.isEdge(),W,Z,st,bt,pt,_t,St=j.rstyle,Et=H&&L?p.pstyle("bounds-expansion").pfValue:[0],Nt=function(Qi){return Qi.pstyle("display").value!=="none"},Pt=!L||Nt(p)&&(!q||Nt(p.source())&&Nt(p.target()));if(Pt){var qt=0,re=0;L&&x.includeOverlays&&(qt=p.pstyle("overlay-opacity").value,qt!==0&&(re=p.pstyle("overlay-padding").value));var ee=0,Ut=0;L&&x.includeUnderlays&&(ee=p.pstyle("underlay-opacity").value,ee!==0&&(Ut=p.pstyle("underlay-padding").value));var de=Math.max(re,Ut),Yt=0,Ee=0;if(L&&(Yt=p.pstyle("width").pfValue,Ee=Yt/2),H&&x.includeNodes){var Te=p.position();pt=Te.x,_t=Te.y;var ie=p.outerWidth(),ze=ie/2,me=p.outerHeight(),yn=me/2;W=pt-ze,Z=pt+ze,st=_t-yn,bt=_t+yn,gb(N,W,st,Z,bt),L&&x.includeOutlines&&Btt(N,p)}else if(q&&x.includeEdges)if(L&&!O){var nn=p.pstyle("curve-style").strValue;if(W=Math.min(St.srcX,St.midX,St.tgtX),Z=Math.max(St.srcX,St.midX,St.tgtX),st=Math.min(St.srcY,St.midY,St.tgtY),bt=Math.max(St.srcY,St.midY,St.tgtY),W-=Ee,Z+=Ee,st-=Ee,bt+=Ee,gb(N,W,st,Z,bt),nn==="haystack"){var qe=St.haystackPts;if(qe&&qe.length===2){if(W=qe[0].x,st=qe[0].y,Z=qe[1].x,bt=qe[1].y,W>Z){var Tn=W;W=Z,Z=Tn}if(st>bt){var Xn=st;st=bt,bt=Xn}gb(N,W-Ee,st-Ee,Z+Ee,bt+Ee)}}else if(nn==="bezier"||nn==="unbundled-bezier"||nn==="segments"||nn==="taxi"){var lr;switch(nn){case"bezier":case"unbundled-bezier":lr=St.bezierPts;break;case"segments":case"taxi":lr=St.linePts;break}if(lr!=null)for(var Sn=0;Sn<lr.length;Sn++){var or=lr[Sn];W=or.x-Ee,Z=or.x+Ee,st=or.y-Ee,bt=or.y+Ee,gb(N,W,st,Z,bt)}}}else{var pr=p.source(),kr=pr.position(),wr=p.target(),Cr=wr.position();if(W=kr.x,Z=Cr.x,st=kr.y,bt=Cr.y,W>Z){var $n=W;W=Z,Z=$n}if(st>bt){var cr=st;st=bt,bt=cr}W-=Ee,Z+=Ee,st-=Ee,bt+=Ee,gb(N,W,st,Z,bt)}if(L&&x.includeEdges&&q&&(hC(N,p,"mid-source"),hC(N,p,"mid-target"),hC(N,p,"source"),hC(N,p,"target")),L){var mr=p.pstyle("ghost").value==="yes";if(mr){var Sr=p.pstyle("ghost-offset-x").pfValue,gi=p.pstyle("ghost-offset-y").pfValue;gb(N,N.x1+Sr,N.y1+gi,N.x2+Sr,N.y2+gi)}}var ss=j.bodyBounds=j.bodyBounds||{};RB(ss,N),Q9(ss,Et),X9(ss,1),L&&(W=N.x1,Z=N.x2,st=N.y1,bt=N.y2,gb(N,W-de,st-de,Z+de,bt+de));var na=j.overlayBounds=j.overlayBounds||{};RB(na,N),Q9(na,Et),X9(na,1);var vi=j.labelBounds=j.labelBounds||{};vi.all!=null?gQ(vi.all):vi.all=v0(),L&&x.includeLabels&&(x.includeMainLabels&&rM(N,p,null),q&&(x.includeSourceLabels&&rM(N,p,"source"),x.includeTargetLabels&&rM(N,p,"target")))}return N.x1=op(N.x1),N.y1=op(N.y1),N.x2=op(N.x2),N.y2=op(N.y2),N.w=op(N.x2-N.x1),N.h=op(N.y2-N.y1),N.w>0&&N.h>0&&Pt&&(Q9(N,Et),X9(N,1)),N},$R=function(p){var x=0,C=function(N){return(N?1:0)<<x++},L=0;return L+=C(p.incudeNodes),L+=C(p.includeEdges),L+=C(p.includeLabels),L+=C(p.includeMainLabels),L+=C(p.includeSourceLabels),L+=C(p.includeTargetLabels),L+=C(p.includeOverlays),L+=C(p.includeOutlines),L},zR=function(p){if(p.isEdge()){var x=p.source().position(),C=p.target().position(),L=function(N){return Math.round(N)};return U1([L(x.x),L(x.y),L(C.x),L(C.y)])}else return 0},je=function(p,x){var C=p._private,L,O=p.isEdge(),N=x==null?qR:$R(x),j=N===qR,H=zR(p),q=C.bbCachePosKey===H,W=x.useCache&&q,Z=function(_t){return _t._private.bbCache==null||_t._private.styleDirty},st=!W||Z(p)||O&&Z(p.source())||Z(p.target());if(st?(q||p.recalculateRenderedStyle(W),L=Rtt(p,V8),C.bbCache=L,C.bbCachePosKey=H):L=C.bbCache,!j){var bt=p.isNode();L=v0(),(x.includeNodes&&bt||x.includeEdges&&!bt)&&(x.includeOverlays?k4(L,C.overlayBounds):k4(L,C.bodyBounds)),x.includeLabels&&(x.includeMainLabels&&(!O||x.includeSourceLabels&&x.includeTargetLabels)?k4(L,C.labelBounds.all):(x.includeMainLabels&&k4(L,C.labelBounds.mainRot),x.includeSourceLabels&&k4(L,C.labelBounds.sourceRot),x.includeTargetLabels&&k4(L,C.labelBounds.targetRot))),L.w=L.x2-L.x1,L.h=L.y2-L.y1}return L},V8={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},qR=$R(V8),HR=p1(V8);dy.boundingBox=function(y){var p;if(this.length===1&&this[0]._private.bbCache!=null&&!this[0]._private.styleDirty&&(y===void 0||y.useCache===void 0||y.useCache===!0))y===void 0?y=V8:y=HR(y),p=je(this[0],y);else{p=v0(),y=y||V8;var x=HR(y),C=this,L=C.cy(),O=L.styleEnabled();if(O)for(var N=0;N<C.length;N++){var j=C[N],H=j._private,q=zR(j),W=H.bbCachePosKey===q,Z=x.useCache&&W&&!H.styleDirty;j.recalculateRenderedStyle(Z)}this.updateCompoundBounds(!y.useCache);for(var st=0;st<C.length;st++){var bt=C[st];k4(p,je(bt,x))}}return p.x1=op(p.x1),p.y1=op(p.y1),p.x2=op(p.x2),p.y2=op(p.y2),p.w=op(p.x2-p.x1),p.h=op(p.y2-p.y1),p},dy.dirtyBoundingBoxCache=function(){for(var y=0;y<this.length;y++){var p=this[y]._private;p.bbCache=null,p.bbCachePosKey=null,p.bodyBounds=null,p.overlayBounds=null,p.labelBounds.all=null,p.labelBounds.source=null,p.labelBounds.target=null,p.labelBounds.main=null,p.labelBounds.sourceRot=null,p.labelBounds.targetRot=null,p.labelBounds.mainRot=null,p.arrowBounds.source=null,p.arrowBounds.target=null,p.arrowBounds["mid-source"]=null,p.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},dy.boundingBoxAt=function(y){var p=this.nodes(),x=this.cy(),C=x.hasCompoundNodes(),L=x.collection();if(C&&(L=p.filter(function(q){return q.isParent()}),p=p.not(L)),it(y)){var O=y;y=function(){return O}}var N=function(W,Z){return W._private.bbAtOldPos=y(W,Z)},j=function(W){return W._private.bbAtOldPos};x.startBatch(),p.forEach(N).silentPositions(y),C&&(L.dirtyCompoundBoundsCache(),L.dirtyBoundingBoxCache(),L.updateCompoundBounds(!0));var H=dQ(this.boundingBox({useCache:!1}));return p.silentPositions(j),C&&(L.dirtyCompoundBoundsCache(),L.dirtyBoundingBoxCache(),L.updateCompoundBounds(!0)),x.endBatch(),H},c6.boundingbox=c6.bb=c6.boundingBox,c6.renderedBoundingbox=c6.renderedBoundingBox;var jtt=dy,U8,G8;U8=G8={};var VR=function(p){p.uppercaseName=tn(p.name),p.autoName="auto"+p.uppercaseName,p.labelName="label"+p.uppercaseName,p.outerName="outer"+p.uppercaseName,p.uppercaseOuterName=tn(p.outerName),U8[p.name]=function(){var C=this[0],L=C._private,O=L.cy,N=O._private.styleEnabled;if(C)if(N){if(C.isParent())return C.updateCompoundBounds(),L[p.autoName]||0;var j=C.pstyle(p.name);switch(j.strValue){case"label":return C.recalculateRenderedStyle(),L.rstyle[p.labelName]||0;default:return j.pfValue}}else return 1},U8["outer"+p.uppercaseName]=function(){var C=this[0],L=C._private,O=L.cy,N=O._private.styleEnabled;if(C)if(N){var j=C[p.name](),H=C.pstyle("border-width").pfValue,q=2*C.padding();return j+H+q}else return 1},U8["rendered"+p.uppercaseName]=function(){var C=this[0];if(C){var L=C[p.name]();return L*this.cy().zoom()}},U8["rendered"+p.uppercaseOuterName]=function(){var C=this[0];if(C){var L=C[p.outerName]();return L*this.cy().zoom()}}};VR({name:"width"}),VR({name:"height"}),G8.padding=function(){var y=this[0],p=y._private;return y.isParent()?(y.updateCompoundBounds(),p.autoPadding!==void 0?p.autoPadding:y.pstyle("padding").pfValue):y.pstyle("padding").pfValue},G8.paddedHeight=function(){var y=this[0];return y.height()+2*y.padding()},G8.paddedWidth=function(){var y=this[0];return y.width()+2*y.padding()};var $tt=G8,ztt=function(p,x){if(p.isEdge())return x(p)},qtt=function(p,x){if(p.isEdge()){var C=p.cy();return W9(x(p),C.zoom(),C.pan())}},Htt=function(p,x){if(p.isEdge()){var C=p.cy(),L=C.pan(),O=C.zoom();return x(p).map(function(N){return W9(N,O,L)})}},Vtt=function(p){return p.renderer().getControlPoints(p)},Utt=function(p){return p.renderer().getSegmentPoints(p)},iM=function(p){return p.renderer().getSourceEndpoint(p)},Gtt=function(p){return p.renderer().getTargetEndpoint(p)},Ktt=function(p){return p.renderer().getEdgeMidpoint(p)},UR={controlPoints:{get:Vtt,mult:!0},segmentPoints:{get:Utt,mult:!0},sourceEndpoint:{get:iM},targetEndpoint:{get:Gtt},midpoint:{get:Ktt}},fC=function(p){return"rendered"+p[0].toUpperCase()+p.substr(1)},Wtt=Object.keys(UR).reduce(function(y,p){var x=UR[p],C=fC(p);return y[p]=function(){return ztt(this,x.get)},x.mult?y[C]=function(){return Htt(this,x.get)}:y[C]=function(){return qtt(this,x.get)},y},{}),sM=we({},Ftt,jtt,$tt,Wtt);/*!
1544 */var K8=function(p,x){this.recycle(p,x)};function W8(){return!1}function Y8(){return!0}K8.prototype={instanceString:function(){return"event"},recycle:function(p,x){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=W8,p!=null&&p.preventDefault?(this.type=p.type,this.isDefaultPrevented=p.defaultPrevented?Y8:W8):p!=null&&p.type?x=p:this.type=p,x!=null&&(this.originalEvent=x.originalEvent,this.type=x.type!=null?x.type:this.type,this.cy=x.cy,this.target=x.target,this.position=x.position,this.renderedPosition=x.renderedPosition,this.namespace=x.namespace,this.layout=x.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var C=this.position,L=this.cy.zoom(),O=this.cy.pan();this.renderedPosition={x:C.x*L+O.x,y:C.y*L+O.y}}this.timeStamp=p&&p.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=Y8;var p=this.originalEvent;p&&p.preventDefault&&p.preventDefault()},stopPropagation:function(){this.isPropagationStopped=Y8;var p=this.originalEvent;p&&p.stopPropagation&&p.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Y8,this.stopPropagation()},isDefaultPrevented:W8,isPropagationStopped:W8,isImmediatePropagationStopped:W8};var GR=/^([^.]+)(\.(?:[^.]+))?$/,Ytt=".*",KR={qualifierCompare:function(p,x){return p===x},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(p){return p},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},WR=Object.keys(KR),Xtt={};function dC(){for(var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Xtt,p=arguments.length>1?arguments[1]:void 0,x=0;x<WR.length;x++){var C=WR[x];this[C]=y[C]||KR[C]}this.context=p||this.context,this.listeners=[],this.emitting=0}var pb=dC.prototype,YR=function(p,x,C,L,O,N,j){ct(L)&&(O=L,L=null),j&&(N==null?N=j:N=we({},N,j));for(var H=rt(C)?C:C.split(/\s+/),q=0;q<H.length;q++){var W=H[q];if(!Ft(W)){var Z=W.match(GR);if(Z){var st=Z[1],bt=Z[2]?Z[2]:null,pt=x(p,W,st,bt,L,O,N);if(pt===!1)break}}}},XR=function(p,x){return p.addEventFields(p.context,x),new K8(x.type,x)},gC=function(p,x,C){if(xt(C)){x(p,C);return}else if(it(C)){x(p,XR(p,C));return}for(var L=rt(C)?C:C.split(/\s+/),O=0;O<L.length;O++){var N=L[O];if(!Ft(N)){var j=N.match(GR);if(j){var H=j[1],q=j[2]?j[2]:null,W=XR(p,{type:H,namespace:q,target:p.context});x(p,W)}}}};pb.on=pb.addListener=function(y,p,x,C,L){return YR(this,function(O,N,j,H,q,W,Z){ct(W)&&O.listeners.push({event:N,callback:W,type:j,namespace:H,qualifier:q,conf:Z})},y,p,x,C,L),this},pb.one=function(y,p,x,C){return this.on(y,p,x,C,{one:!0})},pb.removeListener=pb.off=function(y,p,x,C){var L=this;this.emitting!==0&&(this.listeners=zX(this.listeners));for(var O=this.listeners,N=function(q){var W=O[q];YR(L,function(Z,st,bt,pt,_t,St){if((W.type===bt||y==="*")&&(!pt&&W.namespace!==".*"||W.namespace===pt)&&(!_t||Z.qualifierCompare(W.qualifier,_t))&&(!St||W.callback===St))return O.splice(q,1),!1},y,p,x,C)},j=O.length-1;j>=0;j--)N(j);return this},pb.removeAllListeners=function(){return this.removeListener("*")},pb.emit=pb.trigger=function(y,p,x){var C=this.listeners,L=C.length;return this.emitting++,rt(p)||(p=[p]),gC(this,function(O,N){x!=null&&(C=[{event:N.event,type:N.type,namespace:N.namespace,callback:x}],L=C.length);for(var j=function(W){var Z=C[W];if(Z.type===N.type&&(!Z.namespace||Z.namespace===N.namespace||Z.namespace===Ytt)&&O.eventMatches(O.context,Z,N)){var st=[N];p!=null&&OB(st,p),O.beforeEmit(O.context,Z,N),Z.conf&&Z.conf.one&&(O.listeners=O.listeners.filter(function(_t){return _t!==Z}));var bt=O.callbackContext(O.context,Z,N),pt=Z.callback.apply(bt,st);O.afterEmit(O.context,Z,N),pt===!1&&(N.stopPropagation(),N.preventDefault())}},H=0;H<L;H++)j(H);O.bubble(O.context)&&!N.isPropagationStopped()&&O.parent(O.context).emit(N,p)},y),this.emitting--,this};var Qtt={qualifierCompare:function(p,x){return p==null||x==null?p==null&&x==null:p.sameText(x)},eventMatches:function(p,x,C){var L=x.qualifier;return L!=null?p!==C.target&&V(C.target)&&L.matches(C.target):!0},addEventFields:function(p,x){x.cy=p.cy(),x.target=p},callbackContext:function(p,x,C){return x.qualifier!=null?C.target:p},beforeEmit:function(p,x){x.conf&&x.conf.once&&x.conf.onceCollection.removeListener(x.event,x.qualifier,x.callback)},bubble:function(){return!0},parent:function(p){return p.isChild()?p.parent():p.cy()}},E4=function(p){return mt(p)?new ly(p):p},QR={createEmitter:function(){for(var p=0;p<this.length;p++){var x=this[p],C=x._private;C.emitter||(C.emitter=new dC(Qtt,x))}return this},emitter:function(){return this._private.emitter},on:function(p,x,C){for(var L=E4(x),O=0;O<this.length;O++){var N=this[O];N.emitter().on(p,L,C)}return this},removeListener:function(p,x,C){for(var L=E4(x),O=0;O<this.length;O++){var N=this[O];N.emitter().removeListener(p,L,C)}return this},removeAllListeners:function(){for(var p=0;p<this.length;p++){var x=this[p];x.emitter().removeAllListeners()}return this},one:function(p,x,C){for(var L=E4(x),O=0;O<this.length;O++){var N=this[O];N.emitter().one(p,L,C)}return this},once:function(p,x,C){for(var L=E4(x),O=0;O<this.length;O++){var N=this[O];N.emitter().on(p,L,C,{once:!0,onceCollection:this})}},emit:function(p,x){for(var C=0;C<this.length;C++){var L=this[C];L.emitter().emit(p,x)}return this},emitAndNotify:function(p,x){if(this.length!==0)return this.cy().notify(p,this),this.emit(p,x),this}};Kc.eventAliasesOn(QR);var aM={nodes:function(p){return this.filter(function(x){return x.isNode()}).filter(p)},edges:function(p){return this.filter(function(x){return x.isEdge()}).filter(p)},byGroup:function(){for(var p=this.spawn(),x=this.spawn(),C=0;C<this.length;C++){var L=this[C];L.isNode()?p.push(L):x.push(L)}return{nodes:p,edges:x}},filter:function(p,x){if(p===void 0)return this;if(mt(p)||yt(p))return new ly(p).filter(this);if(ct(p)){for(var C=this.spawn(),L=this,O=0;O<L.length;O++){var N=L[O],j=x?p.apply(x,[N,O,L]):p(N,O,L);j&&C.push(N)}return C}return this.spawn()},not:function(p){if(p){mt(p)&&(p=this.filter(p));for(var x=this.spawn(),C=0;C<this.length;C++){var L=this[C],O=p.has(L);O||x.push(L)}return x}else return this},absoluteComplement:function(){var p=this.cy();return p.mutableElements().not(this)},intersect:function(p){if(mt(p)){var x=p;return this.filter(x)}for(var C=this.spawn(),L=this,O=p,N=this.length<p.length,j=N?L:O,H=N?O:L,q=0;q<j.length;q++){var W=j[q];H.has(W)&&C.push(W)}return C},xor:function(p){var x=this._private.cy;mt(p)&&(p=x.$(p));var C=this.spawn(),L=this,O=p,N=function(H,q){for(var W=0;W<H.length;W++){var Z=H[W],st=Z._private.data.id,bt=q.hasElementWithId(st);bt||C.push(Z)}};return N(L,O),N(O,L),C},diff:function(p){var x=this._private.cy;mt(p)&&(p=x.$(p));var C=this.spawn(),L=this.spawn(),O=this.spawn(),N=this,j=p,H=function(W,Z,st){for(var bt=0;bt<W.length;bt++){var pt=W[bt],_t=pt._private.data.id,St=Z.hasElementWithId(_t);St?O.merge(pt):st.push(pt)}};return H(N,j,C),H(j,N,L),{left:C,right:L,both:O}},add:function(p){var x=this._private.cy;if(!p)return this;if(mt(p)){var C=p;p=x.mutableElements().filter(C)}for(var L=this.spawnSelf(),O=0;O<p.length;O++){var N=p[O],j=!this.has(N);j&&L.push(N)}return L},merge:function(p){var x=this._private,C=x.cy;if(!p)return this;if(p&&mt(p)){var L=p;p=C.mutableElements().filter(L)}for(var O=x.map,N=0;N<p.length;N++){var j=p[N],H=j._private.data.id,q=!O.has(H);if(q){var W=this.length++;this[W]=j,O.set(H,{ele:j,index:W})}}return this},unmergeAt:function(p){var x=this[p],C=x.id(),L=this._private,O=L.map;this[p]=void 0,O.delete(C);var N=p===this.length-1;if(this.length>1&&!N){var j=this.length-1,H=this[j],q=H._private.data.id;this[j]=void 0,this[p]=H,O.set(q,{ele:H,index:p})}return this.length--,this},unmergeOne:function(p){p=p[0];var x=this._private,C=p._private.data.id,L=x.map,O=L.get(C);if(!O)return this;var N=O.index;return this.unmergeAt(N),this},unmerge:function(p){var x=this._private.cy;if(!p)return this;if(p&&mt(p)){var C=p;p=x.mutableElements().filter(C)}for(var L=0;L<p.length;L++)this.unmergeOne(p[L]);return this},unmergeBy:function(p){for(var x=this.length-1;x>=0;x--){var C=this[x];p(C)&&this.unmergeAt(x)}return this},map:function(p,x){for(var C=[],L=this,O=0;O<L.length;O++){var N=L[O],j=x?p.apply(x,[N,O,L]):p(N,O,L);C.push(j)}return C},reduce:function(p,x){for(var C=x,L=this,O=0;O<L.length;O++)C=p(C,L[O],O,L);return C},max:function(p,x){for(var C=-1/0,L,O=this,N=0;N<O.length;N++){var j=O[N],H=x?p.apply(x,[j,N,O]):p(j,N,O);H>C&&(C=H,L=j)}return{value:C,ele:L}},min:function(p,x){for(var C=1/0,L,O=this,N=0;N<O.length;N++){var j=O[N],H=x?p.apply(x,[j,N,O]):p(j,N,O);H<C&&(C=H,L=j)}return{value:C,ele:L}}},Oc=aM;Oc.u=Oc["|"]=Oc["+"]=Oc.union=Oc.or=Oc.add,Oc["\\"]=Oc["!"]=Oc["-"]=Oc.difference=Oc.relativeComplement=Oc.subtract=Oc.not,Oc.n=Oc["&"]=Oc["."]=Oc.and=Oc.intersection=Oc.intersect,Oc["^"]=Oc["(+)"]=Oc["(-)"]=Oc.symmetricDifference=Oc.symdiff=Oc.xor,Oc.fnFilter=Oc.filterFn=Oc.stdFilter=Oc.filter,Oc.complement=Oc.abscomp=Oc.absoluteComplement;var oM={isNode:function(){return this.group()==="nodes"},isEdge:function(){return this.group()==="edges"},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var p=this[0];if(p)return p._private.group}},cM=function(p,x){var C=p.cy(),L=C.hasCompoundNodes();function O(W){var Z=W.pstyle("z-compound-depth");return Z.value==="auto"?L?W.zDepth():0:Z.value==="bottom"?-1:Z.value==="top"?Kx:0}var N=O(p)-O(x);if(N!==0)return N;function j(W){var Z=W.pstyle("z-index-compare");return Z.value==="auto"&&W.isNode()?1:0}var H=j(p)-j(x);if(H!==0)return H;var q=p.pstyle("z-index").value-x.pstyle("z-index").value;return q!==0?q:p.poolIndex()-x.poolIndex()},pC={forEach:function(p,x){if(ct(p))for(var C=this.length,L=0;L<C;L++){var O=this[L],N=x?p.apply(x,[O,L,this]):p(O,L,this);if(N===!1)break}return this},toArray:function(){for(var p=[],x=0;x<this.length;x++)p.push(this[x]);return p},slice:function(p,x){var C=[],L=this.length;x==null&&(x=L),p==null&&(p=0),p<0&&(p=L+p),x<0&&(x=L+x);for(var O=p;O>=0&&O<x&&O<L;O++)C.push(this[O]);return this.spawn(C)},size:function(){return this.length},eq:function(p){return this[p]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return this.length===0},nonempty:function(){return!this.empty()},sort:function(p){if(!ct(p))return this;var x=this.toArray().sort(p);return this.spawn(x)},sortByZIndex:function(){return this.sort(cM)},zDepth:function(){var p=this[0];if(p){var x=p._private,C=x.group;if(C==="nodes"){var L=x.data.parent?p.parents().size():0;return p.isParent()?L:Kx-1}else{var O=x.source,N=x.target,j=O.zDepth(),H=N.zDepth();return Math.max(j,H,0)}}}};pC.each=pC.forEach;var Jtt=function(){var p="undefined",x=(typeof Symbol>"u"?"undefined":f(Symbol))!=p&&f(Symbol.iterator)!=p;x&&(pC[Symbol.iterator]=function(){var C=this,L={value:void 0,done:!1},O=0,N=this.length;return b({next:function(){return O<N?L.value=C[O++]:(L.value=void 0,L.done=!0),L}},Symbol.iterator,function(){return this})})};Jtt();var Ztt=p1({nodeDimensionsIncludeLabels:!1}),bC={layoutDimensions:function(p){p=Ztt(p);var x;if(!this.takesUpSpace())x={w:0,h:0};else if(p.nodeDimensionsIncludeLabels){var C=this.boundingBox();x={w:C.w,h:C.h}}else x={w:this.outerWidth(),h:this.outerHeight()};return(x.w===0||x.h===0)&&(x.w=x.h=1),x},layoutPositions:function(p,x,C){var L=this.nodes().filter(function(re){return!re.isParent()}),O=this.cy(),N=x.eles,j=function(ee){return ee.id()},H=Mt(C,j);p.emit({type:"layoutstart",layout:p}),p.animations=[];var q=function(ee,Ut,de){var Yt={x:Ut.x1+Ut.w/2,y:Ut.y1+Ut.h/2},Ee={x:(de.x-Yt.x)*ee,y:(de.y-Yt.y)*ee};return{x:Yt.x+Ee.x,y:Yt.y+Ee.y}},W=x.spacingFactor&&x.spacingFactor!==1,Z=function(){if(!W)return null;for(var ee=v0(),Ut=0;Ut<L.length;Ut++){var de=L[Ut],Yt=H(de,Ut);bQ(ee,Yt.x,Yt.y)}return ee},st=Z(),bt=Mt(function(re,ee){var Ut=H(re,ee);if(W){var de=Math.abs(x.spacingFactor);Ut=q(de,st,Ut)}return x.transform!=null&&(Ut=x.transform(re,Ut)),Ut},j);if(x.animate){for(var pt=0;pt<L.length;pt++){var _t=L[pt],St=bt(_t,pt),Et=x.animateFilter==null||x.animateFilter(_t,pt);if(Et){var Nt=_t.animation({position:St,duration:x.animationDuration,easing:x.animationEasing});p.animations.push(Nt)}else _t.position(St)}if(x.fit){var Pt=O.animation({fit:{boundingBox:N.boundingBoxAt(bt),padding:x.padding},duration:x.animationDuration,easing:x.animationEasing});p.animations.push(Pt)}else if(x.zoom!==void 0&&x.pan!==void 0){var qt=O.animation({zoom:x.zoom,pan:x.pan,duration:x.animationDuration,easing:x.animationEasing});p.animations.push(qt)}p.animations.forEach(function(re){return re.play()}),p.one("layoutready",x.ready),p.emit({type:"layoutready",layout:p}),e6.all(p.animations.map(function(re){return re.promise()})).then(function(){p.one("layoutstop",x.stop),p.emit({type:"layoutstop",layout:p})})}else L.positions(bt),x.fit&&O.fit(x.eles,x.padding),x.zoom!=null&&O.zoom(x.zoom),x.pan&&O.pan(x.pan),p.one("layoutready",x.ready),p.emit({type:"layoutready",layout:p}),p.one("layoutstop",x.stop),p.emit({type:"layoutstop",layout:p});return this},layout:function(p){var x=this.cy();return x.makeLayout(we({},p,{eles:this}))}};bC.createLayout=bC.makeLayout=bC.layout;function tet(y,p,x){var C=x._private,L=C.styleCache=C.styleCache||[],O;return(O=L[y])!=null||(O=L[y]=p(x)),O}function wC(y,p){return y=Nd(y),function(C){return tet(y,p,C)}}function mC(y,p){y=Nd(y);var x=function(L){return p.call(L)};return function(){var L=this[0];if(L)return tet(y,x,L)}}var b1={recalculateRenderedStyle:function(p){var x=this.cy(),C=x.renderer(),L=x.styleEnabled();return C&&L&&C.recalculateRenderedStyle(this,p),this},dirtyStyleCache:function(){var p=this.cy(),x=function(O){return O._private.styleCache=null};if(p.hasCompoundNodes()){var C;C=this.spawnSelf().merge(this.descendants()).merge(this.parents()),C.merge(C.connectedEdges()),C.forEach(x)}else this.forEach(function(L){x(L),L.connectedEdges().forEach(x)});return this},updateStyle:function(p){var x=this._private.cy;if(!x.styleEnabled())return this;if(x.batching()){var C=x._private.batchStyleEles;return C.merge(this),this}var L=x.hasCompoundNodes(),O=this;p=!!(p||p===void 0),L&&(O=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var N=O;return p?N.emitAndNotify("style"):N.emit("style"),O.forEach(function(j){return j._private.styleDirty=!0}),this},cleanStyle:function(){var p=this.cy();if(p.styleEnabled())for(var x=0;x<this.length;x++){var C=this[x];C._private.styleDirty&&(C._private.styleDirty=!1,p.style().apply(C))}},parsedStyle:function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,C=this[0],L=C.cy();if(L.styleEnabled()&&C){this.cleanStyle();var O=C._private.style[p];return O??(x?L.style().getDefaultProperty(p):null)}},numericStyle:function(p){var x=this[0];if(x.cy().styleEnabled()&&x){var C=x.pstyle(p);return C.pfValue!==void 0?C.pfValue:C.value}},numericStyleUnits:function(p){var x=this[0];if(x.cy().styleEnabled()&&x)return x.pstyle(p).units},renderedStyle:function(p){var x=this.cy();if(!x.styleEnabled())return this;var C=this[0];if(C)return x.style().getRenderedStyle(C,p)},style:function(p,x){var C=this.cy();if(!C.styleEnabled())return this;var L=!1,O=C.style();if(it(p)){var N=p;O.applyBypass(this,N,L),this.emitAndNotify("style")}else if(mt(p))if(x===void 0){var j=this[0];return j?O.getStylePropertyValue(j,p):void 0}else O.applyBypass(this,p,x,L),this.emitAndNotify("style");else if(p===void 0){var H=this[0];return H?O.getRawStyle(H):void 0}return this},removeStyle:function(p){var x=this.cy();if(!x.styleEnabled())return this;var C=!1,L=x.style(),O=this;if(p===void 0)for(var N=0;N<O.length;N++){var j=O[N];L.removeAllBypasses(j,C)}else{p=p.split(/\s+/);for(var H=0;H<O.length;H++){var q=O[H];L.removeBypasses(q,p,C)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var p=this.cy();if(!p.styleEnabled())return 1;var x=p.hasCompoundNodes(),C=this[0];if(C){var L=C._private,O=C.pstyle("opacity").value;if(!x)return O;var N=L.data.parent?C.parents():null;if(N)for(var j=0;j<N.length;j++){var H=N[j],q=H.pstyle("opacity").value;O=q*O}return O}},transparent:function(){var p=this.cy();if(!p.styleEnabled())return!1;var x=this[0],C=x.cy().hasCompoundNodes();if(x)return C?x.effectiveOpacity()===0:x.pstyle("opacity").value===0},backgrounding:function(){var p=this.cy();if(!p.styleEnabled())return!1;var x=this[0];return!!x._private.backgrounding}};function uM(y,p){var x=y._private,C=x.data.parent?y.parents():null;if(C)for(var L=0;L<C.length;L++){var O=C[L];if(!p(O))return!1}return!0}function lM(y){var p=y.ok,x=y.edgeOkViaNode||y.ok,C=y.parentOk||y.ok;return function(){var L=this.cy();if(!L.styleEnabled())return!0;var O=this[0],N=L.hasCompoundNodes();if(O){var j=O._private;if(!p(O))return!1;if(O.isNode())return!N||uM(O,C);var H=j.source,q=j.target;return x(H)&&(!N||uM(H,x))&&(H===q||x(q)&&(!N||uM(q,x)))}}}var u6=wC("eleTakesUpSpace",function(y){return y.pstyle("display").value==="element"&&y.width()!==0&&(y.isNode()?y.height()!==0:!0)});b1.takesUpSpace=mC("takesUpSpace",lM({ok:u6}));var eet=wC("eleInteractive",function(y){return y.pstyle("events").value==="yes"&&y.pstyle("visibility").value==="visible"&&u6(y)}),net=wC("parentInteractive",function(y){return y.pstyle("visibility").value==="visible"&&u6(y)});b1.interactive=mC("interactive",lM({ok:eet,parentOk:net,edgeOkViaNode:u6})),b1.noninteractive=function(){var y=this[0];if(y)return!y.interactive()};var ret=wC("eleVisible",function(y){return y.pstyle("visibility").value==="visible"&&y.pstyle("opacity").pfValue!==0&&u6(y)}),iet=u6;b1.visible=mC("visible",lM({ok:ret,edgeOkViaNode:iet})),b1.hidden=function(){var y=this[0];if(y)return!y.visible()},b1.isBundledBezier=mC("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1}),b1.bypass=b1.css=b1.style,b1.renderedCss=b1.renderedStyle,b1.removeBypass=b1.removeCss=b1.removeStyle,b1.pstyle=b1.parsedStyle;var x0={};function vC(y){return function(){var p=arguments,x=[];if(p.length===2){var C=p[0],L=p[1];this.on(y.event,C,L)}else if(p.length===1&&ct(p[0])){var O=p[0];this.on(y.event,O)}else if(p.length===0||p.length===1&&rt(p[0])){for(var N=p.length===1?p[0]:null,j=0;j<this.length;j++){var H=this[j],q=!y.ableField||H._private[y.ableField],W=H._private[y.field]!=y.value;if(y.overrideAble){var Z=y.overrideAble(H);if(Z!==void 0&&(q=Z,!Z))return this}q&&(H._private[y.field]=y.value,W&&x.push(H))}var st=this.spawn(x);st.updateStyle(),st.emit(y.event),N&&st.emit(N)}return this}}function l6(y){x0[y.field]=function(){var p=this[0];if(p){if(y.overrideField){var x=y.overrideField(p);if(x!==void 0)return x}return p._private[y.field]}},x0[y.on]=vC({event:y.on,field:y.field,ableField:y.ableField,overrideAble:y.overrideAble,value:!0}),x0[y.off]=vC({event:y.off,field:y.field,ableField:y.ableField,overrideAble:y.overrideAble,value:!1})}l6({field:"locked",overrideField:function(p){return p.cy().autolock()?!0:void 0},on:"lock",off:"unlock"}),l6({field:"grabbable",overrideField:function(p){return p.cy().autoungrabify()||p.pannable()?!1:void 0},on:"grabify",off:"ungrabify"}),l6({field:"selected",ableField:"selectable",overrideAble:function(p){return p.cy().autounselectify()?!1:void 0},on:"select",off:"unselect"}),l6({field:"selectable",overrideField:function(p){return p.cy().autounselectify()?!1:void 0},on:"selectify",off:"unselectify"}),x0.deselect=x0.unselect,x0.grabbed=function(){var y=this[0];if(y)return y._private.grabbed},l6({field:"active",on:"activate",off:"unactivate"}),l6({field:"pannable",on:"panify",off:"unpanify"}),x0.inactive=function(){var y=this[0];if(y)return!y._private.active};var K1={},JR=function(p){return function(C){for(var L=this,O=[],N=0;N<L.length;N++){var j=L[N];if(j.isNode()){for(var H=!1,q=j.connectedEdges(),W=0;W<q.length;W++){var Z=q[W],st=Z.source(),bt=Z.target();if(p.noIncomingEdges&&bt===j&&st!==j||p.noOutgoingEdges&&st===j&&bt!==j){H=!0;break}}H||O.push(j)}}return this.spawn(O,!0).filter(C)}},ZR=function(p){return function(x){for(var C=this,L=[],O=0;O<C.length;O++){var N=C[O];if(N.isNode())for(var j=N.connectedEdges(),H=0;H<j.length;H++){var q=j[H],W=q.source(),Z=q.target();p.outgoing&&W===N?(L.push(q),L.push(Z)):p.incoming&&Z===N&&(L.push(q),L.push(W))}}return this.spawn(L,!0).filter(x)}},tj=function(p){return function(x){for(var C=this,L=[],O={};;){var N=p.outgoing?C.outgoers():C.incomers();if(N.length===0)break;for(var j=!1,H=0;H<N.length;H++){var q=N[H],W=q.id();O[W]||(O[W]=!0,L.push(q),j=!0)}if(!j)break;C=N}return this.spawn(L,!0).filter(x)}};K1.clearTraversalCache=function(){for(var y=0;y<this.length;y++)this[y]._private.traversalCache=null},we(K1,{roots:JR({noIncomingEdges:!0}),leaves:JR({noOutgoingEdges:!0}),outgoers:ap(ZR({outgoing:!0}),"outgoers"),successors:tj({outgoing:!0}),incomers:ap(ZR({incoming:!0}),"incomers"),predecessors:tj({incoming:!0})}),we(K1,{neighborhood:ap(function(y){for(var p=[],x=this.nodes(),C=0;C<x.length;C++)for(var L=x[C],O=L.connectedEdges(),N=0;N<O.length;N++){var j=O[N],H=j.source(),q=j.target(),W=L===H?q:H;W.length>0&&p.push(W[0]),p.push(j[0])}return this.spawn(p,!0).filter(y)},"neighborhood"),closedNeighborhood:function(p){return this.neighborhood().add(this).filter(p)},openNeighborhood:function(p){return this.neighborhood(p)}}),K1.neighbourhood=K1.neighborhood,K1.closedNeighbourhood=K1.closedNeighborhood,K1.openNeighbourhood=K1.openNeighborhood,we(K1,{source:ap(function(p){var x=this[0],C;return x&&(C=x._private.source||x.cy().collection()),C&&p?C.filter(p):C},"source"),target:ap(function(p){var x=this[0],C;return x&&(C=x._private.target||x.cy().collection()),C&&p?C.filter(p):C},"target"),sources:ej({attr:"source"}),targets:ej({attr:"target"})});function ej(y){return function(x){for(var C=[],L=0;L<this.length;L++){var O=this[L],N=O._private[y.attr];N&&C.push(N)}return this.spawn(C,!0).filter(x)}}we(K1,{edgesWith:ap(nj(),"edgesWith"),edgesTo:ap(nj({thisIsSrc:!0}),"edgesTo")});function nj(y){return function(x){var C=[],L=this._private.cy,O=y||{};mt(x)&&(x=L.$(x));for(var N=0;N<x.length;N++)for(var j=x[N]._private.edges,H=0;H<j.length;H++){var q=j[H],W=q._private.data,Z=this.hasElementWithId(W.source)&&x.hasElementWithId(W.target),st=x.hasElementWithId(W.source)&&this.hasElementWithId(W.target),bt=Z||st;bt&&((O.thisIsSrc||O.thisIsTgt)&&(O.thisIsSrc&&!Z||O.thisIsTgt&&!st)||C.push(q))}return this.spawn(C,!0)}}we(K1,{connectedEdges:ap(function(y){for(var p=[],x=this,C=0;C<x.length;C++){var L=x[C];if(L.isNode())for(var O=L._private.edges,N=0;N<O.length;N++){var j=O[N];p.push(j)}}return this.spawn(p,!0).filter(y)},"connectedEdges"),connectedNodes:ap(function(y){for(var p=[],x=this,C=0;C<x.length;C++){var L=x[C];L.isEdge()&&(p.push(L.source()[0]),p.push(L.target()[0]))}return this.spawn(p,!0).filter(y)},"connectedNodes"),parallelEdges:ap(rj(),"parallelEdges"),codirectedEdges:ap(rj({codirected:!0}),"codirectedEdges")});function rj(y){var p={codirected:!1};return y=we({},p,y),function(C){for(var L=[],O=this.edges(),N=y,j=0;j<O.length;j++)for(var H=O[j],q=H._private,W=q.source,Z=W._private.data.id,st=q.data.target,bt=W._private.edges,pt=0;pt<bt.length;pt++){var _t=bt[pt],St=_t._private.data,Et=St.target,Nt=St.source,Pt=Et===st&&Nt===Z,qt=Z===Et&&st===Nt;(N.codirected&&Pt||!N.codirected&&(Pt||qt))&&L.push(_t)}return this.spawn(L,!0).filter(C)}}we(K1,{components:function(p){var x=this,C=x.cy(),L=C.collection(),O=p==null?x.nodes():p.nodes(),N=[];p!=null&&O.empty()&&(O=p.sources());var j=function(W,Z){L.merge(W),O.unmerge(W),Z.merge(W)};if(O.empty())return x.spawn();var H=function(){var W=C.collection();N.push(W);var Z=O[0];j(Z,W),x.bfs({directed:!1,roots:Z,visit:function(bt){return j(bt,W)}}),W.forEach(function(st){st.connectedEdges().forEach(function(bt){x.has(bt)&&W.has(bt.source())&&W.has(bt.target())&&W.merge(bt)})})};do H();while(O.length>0);return N},component:function(){var p=this[0];return p.cy().mutableElements().components(p)[0]}}),K1.componentsOf=K1.components;var w1=function(p,x){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(p===void 0){$l("A collection must have a reference to the core");return}var O=new F2,N=!1;if(!x)x=[];else if(x.length>0&&it(x[0])&&!V(x[0])){N=!0;for(var j=[],H=new Wx,q=0,W=x.length;q<W;q++){var Z=x[q];Z.data==null&&(Z.data={});var st=Z.data;if(st.id==null)st.id=MB();else if(p.hasElementWithId(st.id)||H.has(st.id))continue;var bt=new K9(p,Z,!1);j.push(bt),H.add(st.id)}x=j}this.length=0;for(var pt=0,_t=x.length;pt<_t;pt++){var St=x[pt][0];if(St!=null){var Et=St._private.data.id;(!C||!O.has(Et))&&(C&&O.set(Et,{index:this.length,ele:St}),this[this.length]=St,this.length++)}}this._private={eles:this,cy:p,get map(){return this.lazyMap==null&&this.rebuildMap(),this.lazyMap},set map(Nt){this.lazyMap=Nt},rebuildMap:function(){for(var Pt=this.lazyMap=new F2,qt=this.eles,re=0;re<qt.length;re++){var ee=qt[re];Pt.set(ee.id(),{index:re,ele:ee})}}},C&&(this._private.map=O),N&&!L&&this.restore()},Bu=K9.prototype=w1.prototype=Object.create(Array.prototype);Bu.instanceString=function(){return"collection"},Bu.spawn=function(y,p){return new w1(this.cy(),y,p)},Bu.spawnSelf=function(){return this.spawn(this)},Bu.cy=function(){return this._private.cy},Bu.renderer=function(){return this._private.cy.renderer()},Bu.element=function(){return this[0]},Bu.collection=function(){return Ot(this)?this:new w1(this._private.cy,[this])},Bu.unique=function(){return new w1(this._private.cy,this,!0)},Bu.hasElementWithId=function(y){return y=""+y,this._private.map.has(y)},Bu.getElementById=function(y){y=""+y;var p=this._private.cy,x=this._private.map.get(y);return x?x.ele:new w1(p)},Bu.$id=Bu.getElementById,Bu.poolIndex=function(){var y=this._private.cy,p=y._private.elements,x=this[0]._private.data.id;return p._private.map.get(x).index},Bu.indexOf=function(y){var p=y[0]._private.data.id;return this._private.map.get(p).index},Bu.indexOfId=function(y){return y=""+y,this._private.map.get(y).index},Bu.json=function(y){var p=this.element(),x=this.cy();if(p==null&&y)return this;if(p!=null){var C=p._private;if(it(y)){if(x.startBatch(),y.data){p.data(y.data);var L=C.data;if(p.isEdge()){var O=!1,N={},j=y.data.source,H=y.data.target;j!=null&&j!=L.source&&(N.source=""+j,O=!0),H!=null&&H!=L.target&&(N.target=""+H,O=!0),O&&(p=p.move(N))}else{var q="parent"in y.data,W=y.data.parent;q&&(W!=null||L.parent!=null)&&W!=L.parent&&(W===void 0&&(W=null),W!=null&&(W=""+W),p=p.move({parent:W}))}}y.position&&p.position(y.position);var Z=function(_t,St,Et){var Nt=y[_t];Nt!=null&&Nt!==C[_t]&&(Nt?p[St]():p[Et]())};return Z("removed","remove","restore"),Z("selected","select","unselect"),Z("selectable","selectify","unselectify"),Z("locked","lock","unlock"),Z("grabbable","grabify","ungrabify"),Z("pannable","panify","unpanify"),y.classes!=null&&p.classes(y.classes),x.endBatch(),this}else if(y===void 0){var st={data:P2(C.data),position:P2(C.position),group:C.group,removed:C.removed,selected:C.selected,selectable:C.selectable,locked:C.locked,grabbable:C.grabbable,pannable:C.pannable,classes:null};st.classes="";var bt=0;return C.classes.forEach(function(pt){return st.classes+=bt++===0?pt:" "+pt}),st}}},Bu.jsons=function(){for(var y=[],p=0;p<this.length;p++){var x=this[p],C=x.json();y.push(C)}return y},Bu.clone=function(){for(var y=this.cy(),p=[],x=0;x<this.length;x++){var C=this[x],L=C.json(),O=new K9(y,L,!1);p.push(O)}return new w1(y,p)},Bu.copy=Bu.clone,Bu.restore=function(){for(var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,C=x.cy(),L=C._private,O=[],N=[],j,H=0,q=x.length;H<q;H++){var W=x[H];p&&!W.removed()||(W.isNode()?O.push(W):N.push(W))}j=O.concat(N);var Z,st=function(){j.splice(Z,1),Z--};for(Z=0;Z<j.length;Z++){var bt=j[Z],pt=bt._private,_t=pt.data;if(bt.clearTraversalCache(),!(!p&&!pt.removed)){if(_t.id===void 0)_t.id=MB();else if(Q(_t.id))_t.id=""+_t.id;else if(Ft(_t.id)||!mt(_t.id)){$l("Can not create element with invalid string ID `"+_t.id+"`"),st();continue}else if(C.hasElementWithId(_t.id)){$l("Can not create second element with ID `"+_t.id+"`"),st();continue}}var St=_t.id;if(bt.isNode()){var Et=pt.position;Et.x==null&&(Et.x=0),Et.y==null&&(Et.y=0)}if(bt.isEdge()){for(var Nt=bt,Pt=["source","target"],qt=Pt.length,re=!1,ee=0;ee<qt;ee++){var Ut=Pt[ee],de=_t[Ut];Q(de)&&(de=_t[Ut]=""+_t[Ut]),de==null||de===""?($l("Can not create edge `"+St+"` with unspecified "+Ut),re=!0):C.hasElementWithId(de)||($l("Can not create edge `"+St+"` with nonexistant "+Ut+" `"+de+"`"),re=!0)}if(re){st();continue}var Yt=C.getElementById(_t.source),Ee=C.getElementById(_t.target);Yt.same(Ee)?Yt._private.edges.push(Nt):(Yt._private.edges.push(Nt),Ee._private.edges.push(Nt)),Nt._private.source=Yt,Nt._private.target=Ee}pt.map=new F2,pt.map.set(St,{ele:bt,index:0}),pt.removed=!1,p&&C.addToPool(bt)}for(var Te=0;Te<O.length;Te++){var ie=O[Te],ze=ie._private.data;Q(ze.parent)&&(ze.parent=""+ze.parent);var me=ze.parent,yn=me!=null;if(yn||ie._private.parent){var nn=ie._private.parent?C.collection().merge(ie._private.parent):C.getElementById(me);if(nn.empty())ze.parent=void 0;else if(nn[0].removed())Gc("Node added with missing parent, reference to parent removed"),ze.parent=void 0,ie._private.parent=null;else{for(var qe=!1,Tn=nn;!Tn.empty();){if(ie.same(Tn)){qe=!0,ze.parent=void 0;break}Tn=Tn.parent()}qe||(nn[0]._private.children.push(ie),ie._private.parent=nn[0],L.hasCompoundNodes=!0)}}}if(j.length>0){for(var Xn=j.length===x.length?x:new w1(C,j),lr=0;lr<Xn.length;lr++){var Sn=Xn[lr];Sn.isNode()||(Sn.parallelEdges().clearTraversalCache(),Sn.source().clearTraversalCache(),Sn.target().clearTraversalCache())}var or;L.hasCompoundNodes?or=C.collection().merge(Xn).merge(Xn.connectedNodes()).merge(Xn.parent()):or=Xn,or.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(y),y?Xn.emitAndNotify("add"):p&&Xn.emit("add")}return x},Bu.removed=function(){var y=this[0];return y&&y._private.removed},Bu.inside=function(){var y=this[0];return y&&!y._private.removed},Bu.remove=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,C=[],L={},O=x._private.cy;function N(me){for(var yn=me._private.edges,nn=0;nn<yn.length;nn++)H(yn[nn])}function j(me){for(var yn=me._private.children,nn=0;nn<yn.length;nn++)H(yn[nn])}function H(me){var yn=L[me.id()];p&&me.removed()||yn||(L[me.id()]=!0,me.isNode()?(C.push(me),N(me),j(me)):C.unshift(me))}for(var q=0,W=x.length;q<W;q++){var Z=x[q];H(Z)}function st(me,yn){var nn=me._private.edges;oy(nn,yn),me.clearTraversalCache()}function bt(me){me.clearTraversalCache()}var pt=[];pt.ids={};function _t(me,yn){yn=yn[0],me=me[0];var nn=me._private.children,qe=me.id();oy(nn,yn),yn._private.parent=null,pt.ids[qe]||(pt.ids[qe]=!0,pt.push(me))}x.dirtyCompoundBoundsCache(),p&&O.removeFromPool(C);for(var St=0;St<C.length;St++){var Et=C[St];if(Et.isEdge()){var Nt=Et.source()[0],Pt=Et.target()[0];st(Nt,Et),st(Pt,Et);for(var qt=Et.parallelEdges(),re=0;re<qt.length;re++){var ee=qt[re];bt(ee),ee.isBundledBezier()&&ee.dirtyBoundingBoxCache()}}else{var Ut=Et.parent();Ut.length!==0&&_t(Ut,Et)}p&&(Et._private.removed=!0)}var de=O._private.elements;O._private.hasCompoundNodes=!1;for(var Yt=0;Yt<de.length;Yt++){var Ee=de[Yt];if(Ee.isParent()){O._private.hasCompoundNodes=!0;break}}var Te=new w1(this.cy(),C);Te.size()>0&&(y?Te.emitAndNotify("remove"):p&&Te.emit("remove"));for(var ie=0;ie<pt.length;ie++){var ze=pt[ie];(!p||!ze.removed())&&ze.updateStyle()}return Te},Bu.move=function(y){var p=this._private.cy,x=this,C=!1,L=!1,O=function(pt){return pt==null?pt:""+pt};if(y.source!==void 0||y.target!==void 0){var N=O(y.source),j=O(y.target),H=N!=null&&p.hasElementWithId(N),q=j!=null&&p.hasElementWithId(j);(H||q)&&(p.batch(function(){x.remove(C,L),x.emitAndNotify("moveout");for(var bt=0;bt<x.length;bt++){var pt=x[bt],_t=pt._private.data;pt.isEdge()&&(H&&(_t.source=N),q&&(_t.target=j))}x.restore(C,L)}),x.emitAndNotify("move"))}else if(y.parent!==void 0){var W=O(y.parent),Z=W===null||p.hasElementWithId(W);if(Z){var st=W===null?void 0:W;p.batch(function(){var bt=x.remove(C,L);bt.emitAndNotify("moveout");for(var pt=0;pt<x.length;pt++){var _t=x[pt],St=_t._private.data;_t.isNode()&&(St.parent=st)}bt.restore(C,L)}),x.emitAndNotify("move")}}return this},[aR,ktt,lC,hy,a6,fy,q8,sM,QR,aM,oM,pC,bC,b1,x0,K1].forEach(function(y){we(Bu,y)});var set={add:function(p){var x,C=this;if(yt(p)){var L=p;if(L._private.cy===C)x=L.restore();else{for(var O=[],N=0;N<L.length;N++){var j=L[N];O.push(j.json())}x=new w1(C,O)}}else if(rt(p)){var H=p;x=new w1(C,H)}else if(it(p)&&(rt(p.nodes)||rt(p.edges))){for(var q=p,W=[],Z=["nodes","edges"],st=0,bt=Z.length;st<bt;st++){var pt=Z[st],_t=q[pt];if(rt(_t))for(var St=0,Et=_t.length;St<Et;St++){var Nt=we({group:pt},_t[St]);W.push(Nt)}}x=new w1(C,W)}else{var Pt=p;x=new K9(C,Pt).collection()}return x},remove:function(p){if(!yt(p)){if(mt(p)){var x=p;p=this.$(x)}}return p.remove()}};/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function aet(y,p,x,C){var L=4,O=.001,N=1e-7,j=10,H=11,q=1/(H-1),W=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var Z=0;Z<4;++Z)if(typeof arguments[Z]!="number"||isNaN(arguments[Z])||!isFinite(arguments[Z]))return!1;y=Math.min(y,1),x=Math.min(x,1),y=Math.max(y,0),x=Math.max(x,0);var st=W?new Float32Array(H):new Array(H);function bt(Ee,Te){return 1-3*Te+3*Ee}function pt(Ee,Te){return 3*Te-6*Ee}function _t(Ee){return 3*Ee}function St(Ee,Te,ie){return((bt(Te,ie)*Ee+pt(Te,ie))*Ee+_t(Te))*Ee}function Et(Ee,Te,ie){return 3*bt(Te,ie)*Ee*Ee+2*pt(Te,ie)*Ee+_t(Te)}function Nt(Ee,Te){for(var ie=0;ie<L;++ie){var ze=Et(Te,y,x);if(ze===0)return Te;var me=St(Te,y,x)-Ee;Te-=me/ze}return Te}function Pt(){for(var Ee=0;Ee<H;++Ee)st[Ee]=St(Ee*q,y,x)}function qt(Ee,Te,ie){var ze,me,yn=0;do me=Te+(ie-Te)/2,ze=St(me,y,x)-Ee,ze>0?ie=me:Te=me;while(Math.abs(ze)>N&&++yn<j);return me}function re(Ee){for(var Te=0,ie=1,ze=H-1;ie!==ze&&st[ie]<=Ee;++ie)Te+=q;--ie;var me=(Ee-st[ie])/(st[ie+1]-st[ie]),yn=Te+me*q,nn=Et(yn,y,x);return nn>=O?Nt(Ee,yn):nn===0?yn:qt(Ee,Te,Te+q)}var ee=!1;function Ut(){ee=!0,(y!==p||x!==C)&&Pt()}var de=function(Te){return ee||Ut(),y===p&&x===C?Te:Te===0?0:Te===1?1:St(re(Te),p,C)};de.getControlPoints=function(){return[{x:y,y:p},{x,y:C}]};var Yt="generateBezier("+[y,p,x,C]+")";return de.toString=function(){return Yt},de}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var oet=function(){function y(C){return-C.tension*C.x-C.friction*C.v}function p(C,L,O){var N={x:C.x+O.dx*L,v:C.v+O.dv*L,tension:C.tension,friction:C.friction};return{dx:N.v,dv:y(N)}}function x(C,L){var O={dx:C.v,dv:y(C)},N=p(C,L*.5,O),j=p(C,L*.5,N),H=p(C,L,j),q=1/6*(O.dx+2*(N.dx+j.dx)+H.dx),W=1/6*(O.dv+2*(N.dv+j.dv)+H.dv);return C.x=C.x+q*L,C.v=C.v+W*L,C}return function C(L,O,N){var j={x:-1,v:0,tension:null,friction:null},H=[0],q=0,W=1/1e4,Z=16/1e3,st,bt,pt;for(L=parseFloat(L)||500,O=parseFloat(O)||20,N=N||null,j.tension=L,j.friction=O,st=N!==null,st?(q=C(L,O),bt=q/N*Z):bt=Z;pt=x(pt||j,bt),H.push(1+pt.x),q+=16,Math.abs(pt.x)>W&&Math.abs(pt.v)>W;);return st?function(_t){return H[_t*(H.length-1)|0]}:q}}(),Ru=function(p,x,C,L){var O=aet(p,x,C,L);return function(N,j,H){return N+(j-N)*O(H)}},yC={linear:function(p,x,C){return p+(x-p)*C},ease:Ru(.25,.1,.25,1),"ease-in":Ru(.42,0,1,1),"ease-out":Ru(0,0,.58,1),"ease-in-out":Ru(.42,0,.58,1),"ease-in-sine":Ru(.47,0,.745,.715),"ease-out-sine":Ru(.39,.575,.565,1),"ease-in-out-sine":Ru(.445,.05,.55,.95),"ease-in-quad":Ru(.55,.085,.68,.53),"ease-out-quad":Ru(.25,.46,.45,.94),"ease-in-out-quad":Ru(.455,.03,.515,.955),"ease-in-cubic":Ru(.55,.055,.675,.19),"ease-out-cubic":Ru(.215,.61,.355,1),"ease-in-out-cubic":Ru(.645,.045,.355,1),"ease-in-quart":Ru(.895,.03,.685,.22),"ease-out-quart":Ru(.165,.84,.44,1),"ease-in-out-quart":Ru(.77,0,.175,1),"ease-in-quint":Ru(.755,.05,.855,.06),"ease-out-quint":Ru(.23,1,.32,1),"ease-in-out-quint":Ru(.86,0,.07,1),"ease-in-expo":Ru(.95,.05,.795,.035),"ease-out-expo":Ru(.19,1,.22,1),"ease-in-out-expo":Ru(1,0,0,1),"ease-in-circ":Ru(.6,.04,.98,.335),"ease-out-circ":Ru(.075,.82,.165,1),"ease-in-out-circ":Ru(.785,.135,.15,.86),spring:function(p,x,C){if(C===0)return yC.linear;var L=oet(p,x,C);return function(O,N,j){return O+(N-O)*L(j)}},"cubic-bezier":Ru};function ij(y,p,x,C,L){if(C===1||p===x)return x;var O=L(p,x,C);return y==null||((y.roundValue||y.color)&&(O=Math.round(O)),y.min!==void 0&&(O=Math.max(O,y.min)),y.max!==void 0&&(O=Math.min(O,y.max))),O}function sj(y,p){return y.pfValue!=null||y.value!=null?y.pfValue!=null&&(p==null||p.type.units!=="%")?y.pfValue:y.value:y}function h6(y,p,x,C,L){var O=L!=null?L.type:null;x<0?x=0:x>1&&(x=1);var N=sj(y,L),j=sj(p,L);if(Q(N)&&Q(j))return ij(O,N,j,x,C);if(rt(N)&&rt(j)){for(var H=[],q=0;q<j.length;q++){var W=N[q],Z=j[q];if(W!=null&&Z!=null){var st=ij(O,W,Z,x,C);H.push(st)}else H.push(Z)}return H}}function cet(y,p,x,C){var L=!C,O=y._private,N=p._private,j=N.easing,H=N.startTime,q=C?y:y.cy(),W=q.style();if(!N.easingImpl)if(j==null)N.easingImpl=yC.linear;else{var Z;if(mt(j)){var st=W.parse("transition-timing-function",j);Z=st.value}else Z=j;var bt,pt;mt(Z)?(bt=Z,pt=[]):(bt=Z[1],pt=Z.slice(2).map(function(Xn){return+Xn})),pt.length>0?(bt==="spring"&&pt.push(N.duration),N.easingImpl=yC[bt].apply(null,pt)):N.easingImpl=yC[bt]}var _t=N.easingImpl,St;if(N.duration===0?St=1:St=(x-H)/N.duration,N.applying&&(St=N.progress),St<0?St=0:St>1&&(St=1),N.delay==null){var Et=N.startPosition,Nt=N.position;if(Nt&&L&&!y.locked()){var Pt={};X8(Et.x,Nt.x)&&(Pt.x=h6(Et.x,Nt.x,St,_t)),X8(Et.y,Nt.y)&&(Pt.y=h6(Et.y,Nt.y,St,_t)),y.position(Pt)}var qt=N.startPan,re=N.pan,ee=O.pan,Ut=re!=null&&C;Ut&&(X8(qt.x,re.x)&&(ee.x=h6(qt.x,re.x,St,_t)),X8(qt.y,re.y)&&(ee.y=h6(qt.y,re.y,St,_t)),y.emit("pan"));var de=N.startZoom,Yt=N.zoom,Ee=Yt!=null&&C;Ee&&(X8(de,Yt)&&(O.zoom=P8(O.minZoom,h6(de,Yt,St,_t),O.maxZoom)),y.emit("zoom")),(Ut||Ee)&&y.emit("viewport");var Te=N.style;if(Te&&Te.length>0&&L){for(var ie=0;ie<Te.length;ie++){var ze=Te[ie],me=ze.name,yn=ze,nn=N.startStyle[me],qe=W.properties[nn.name],Tn=h6(nn,yn,St,_t,qe);W.overrideBypass(y,me,Tn)}y.emit("style")}}return N.progress=St,St}function X8(y,p){return y==null||p==null?!1:Q(y)&&Q(p)?!0:!!(y&&p)}function uet(y,p,x,C){var L=p._private;L.started=!0,L.startTime=x-L.progress*L.duration}function aj(y,p){var x=p._private.aniEles,C=[];function L(W,Z){var st=W._private,bt=st.animation.current,pt=st.animation.queue,_t=!1;if(bt.length===0){var St=pt.shift();St&&bt.push(St)}for(var Et=function(ee){for(var Ut=ee.length-1;Ut>=0;Ut--){var de=ee[Ut];de()}ee.splice(0,ee.length)},Nt=bt.length-1;Nt>=0;Nt--){var Pt=bt[Nt],qt=Pt._private;if(qt.stopped){bt.splice(Nt,1),qt.hooked=!1,qt.playing=!1,qt.started=!1,Et(qt.frames);continue}!qt.playing&&!qt.applying||(qt.playing&&qt.applying&&(qt.applying=!1),qt.started||uet(W,Pt,y),cet(W,Pt,y,Z),qt.applying&&(qt.applying=!1),Et(qt.frames),qt.step!=null&&qt.step(y),Pt.completed()&&(bt.splice(Nt,1),qt.hooked=!1,qt.playing=!1,qt.started=!1,Et(qt.completes)),_t=!0)}return!Z&&bt.length===0&&pt.length===0&&C.push(W),_t}for(var O=!1,N=0;N<x.length;N++){var j=x[N],H=L(j);O=O||H}var q=L(p,!0);(O||q)&&(x.length>0?p.notify("draw",x):p.notify("draw")),x.unmerge(C),p.emit("step")}var het={animate:Kc.animate(),animation:Kc.animation(),animated:Kc.animated(),clearQueue:Kc.clearQueue(),delay:Kc.delay(),delayAnimation:Kc.delayAnimation(),stop:Kc.stop(),addToAnimationPool:function(p){var x=this;x.styleEnabled()&&x._private.aniEles.merge(p)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var p=this;if(p._private.animationsRunning=!0,!p.styleEnabled())return;function x(){p._private.animationsRunning&&g1(function(O){aj(O,p),x()})}var C=p.renderer();C&&C.beforeRender?C.beforeRender(function(O,N){aj(N,p)},C.beforeRenderPriorities.animations):x()}},fet={qualifierCompare:function(p,x){return p==null||x==null?p==null&&x==null:p.sameText(x)},eventMatches:function(p,x,C){var L=x.qualifier;return L!=null?p!==C.target&&V(C.target)&&L.matches(C.target):!0},addEventFields:function(p,x){x.cy=p,x.target=p},callbackContext:function(p,x,C){return x.qualifier!=null?C.target:p}},xC=function(p){return mt(p)?new ly(p):p},oj={createEmitter:function(){var p=this._private;return p.emitter||(p.emitter=new dC(fet,this)),this},emitter:function(){return this._private.emitter},on:function(p,x,C){return this.emitter().on(p,xC(x),C),this},removeListener:function(p,x,C){return this.emitter().removeListener(p,xC(x),C),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(p,x,C){return this.emitter().one(p,xC(x),C),this},once:function(p,x,C){return this.emitter().one(p,xC(x),C),this},emit:function(p,x){return this.emitter().emit(p,x),this},emitAndNotify:function(p,x){return this.emit(p),this.notify(p,x),this}};Kc.eventAliasesOn(oj);var hM={png:function(p){var x=this._private.renderer;return p=p||{},x.png(p)},jpg:function(p){var x=this._private.renderer;return p=p||{},p.bg=p.bg||"#fff",x.jpg(p)}};hM.jpeg=hM.jpg;var kC={layout:function(p){var x=this;if(p==null){$l("Layout options must be specified to make a layout");return}if(p.name==null){$l("A `name` must be specified to make a layout");return}var C=p.name,L=x.extension("layout",C);if(L==null){$l("No such layout `"+C+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;mt(p.eles)?O=x.$(p.eles):O=p.eles!=null?p.eles:x.$();var N=new L(we({},p,{cy:x,eles:O}));return N}};kC.createLayout=kC.makeLayout=kC.layout;var det={notify:function(p,x){var C=this._private;if(this.batching()){C.batchNotifications=C.batchNotifications||{};var L=C.batchNotifications[p]=C.batchNotifications[p]||this.collection();x!=null&&L.merge(x);return}if(C.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(p,x)}},notifications:function(p){var x=this._private;return p===void 0?x.notificationsEnabled:(x.notificationsEnabled=!!p,this)},noNotifications:function(p){this.notifications(!1),p(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var p=this._private;return p.batchCount==null&&(p.batchCount=0),p.batchCount===0&&(p.batchStyleEles=this.collection(),p.batchNotifications={}),p.batchCount++,this},endBatch:function(){var p=this._private;if(p.batchCount===0)return this;if(p.batchCount--,p.batchCount===0){p.batchStyleEles.updateStyle();var x=this.renderer();Object.keys(p.batchNotifications).forEach(function(C){var L=p.batchNotifications[C];L.empty()?x.notify(C):x.notify(C,L)})}return this},batch:function(p){return this.startBatch(),p(),this.endBatch(),this},batchData:function(p){var x=this;return this.batch(function(){for(var C=Object.keys(p),L=0;L<C.length;L++){var O=C[L],N=p[O],j=x.getElementById(O);j.data(N)}})}},get=p1({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),fM={renderTo:function(p,x,C,L){var O=this._private.renderer;return O.renderTo(p,x,C,L),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(p){var x=this,C=x.extension("renderer",p.name);if(C==null){$l("Can not initialise: No such renderer `".concat(p.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}p.wheelSensitivity!==void 0&&Gc("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var L=get(p);L.cy=x,x._private.renderer=new C(L),this.notify("init")},destroyRenderer:function(){var p=this;p.notify("destroy");var x=p.container();if(x)for(x._cyreg=null;x.childNodes.length>0;)x.removeChild(x.childNodes[0]);p._private.renderer=null,p.mutableElements().forEach(function(C){var L=C._private;L.rscratch={},L.rstyle={},L.animation.current=[],L.animation.queue=[]})},onRender:function(p){return this.on("render",p)},offRender:function(p){return this.off("render",p)}};fM.invalidateDimensions=fM.resize;var EC={collection:function(p,x){return mt(p)?this.$(p):yt(p)?p.collection():rt(p)?(x||(x={}),new w1(this,p,x.unique,x.removed)):new w1(this)},nodes:function(p){var x=this.$(function(C){return C.isNode()});return p?x.filter(p):x},edges:function(p){var x=this.$(function(C){return C.isEdge()});return p?x.filter(p):x},$:function(p){var x=this._private.elements;return p?x.filter(p):x.spawnSelf()},mutableElements:function(){return this._private.elements}};EC.elements=EC.filter=EC.$;var W1={},Q8="t",pet="f";W1.apply=function(y){for(var p=this,x=p._private,C=x.cy,L=C.collection(),O=0;O<y.length;O++){var N=y[O],j=p.getContextMeta(N);if(!j.empty){var H=p.getContextStyle(j),q=p.applyContextStyle(j,H,N);N._private.appliedInitStyle?p.updateTransitions(N,q.diffProps):N._private.appliedInitStyle=!0;var W=p.updateStyleHints(N);W&&L.push(N)}}return L},W1.getPropertiesDiff=function(y,p){var x=this,C=x._private.propDiffs=x._private.propDiffs||{},L=y+"-"+p,O=C[L];if(O)return O;for(var N=[],j={},H=0;H<x.length;H++){var q=x[H],W=y[H]===Q8,Z=p[H]===Q8,st=W!==Z,bt=q.mappedProperties.length>0;if(st||Z&&bt){var pt=void 0;st&&bt||st?pt=q.properties:bt&&(pt=q.mappedProperties);for(var _t=0;_t<pt.length;_t++){for(var St=pt[_t],Et=St.name,Nt=!1,Pt=H+1;Pt<x.length;Pt++){var qt=x[Pt],re=p[Pt]===Q8;if(re&&(Nt=qt.properties[St.name]!=null,Nt))break}!j[Et]&&!Nt&&(j[Et]=!0,N.push(Et))}}}return C[L]=N,N},W1.getContextMeta=function(y){for(var p=this,x="",C,L=y._private.styleCxtKey||"",O=0;O<p.length;O++){var N=p[O],j=N.selector&&N.selector.matches(y);j?x+=Q8:x+=pet}return C=p.getPropertiesDiff(L,x),y._private.styleCxtKey=x,{key:x,diffPropNames:C,empty:C.length===0}},W1.getContextStyle=function(y){var p=y.key,x=this,C=this._private.contextStyles=this._private.contextStyles||{};if(C[p])return C[p];for(var L={_private:{key:p}},O=0;O<x.length;O++){var N=x[O],j=p[O]===Q8;if(j)for(var H=0;H<N.properties.length;H++){var q=N.properties[H];L[q.name]=q}}return C[p]=L,L},W1.applyContextStyle=function(y,p,x){for(var C=this,L=y.diffPropNames,O={},N=C.types,j=0;j<L.length;j++){var H=L[j],q=p[H],W=x.pstyle(H);if(!q)if(W)W.bypass?q={name:H,deleteBypassed:!0}:q={name:H,delete:!0};else continue;if(W!==q){if(q.mapped===N.fn&&W!=null&&W.mapping!=null&&W.mapping.value===q.value){var Z=W.mapping,st=Z.fnValue=q.value(x);if(st===Z.prevFnValue)continue}var bt=O[H]={prev:W};C.applyParsedProperty(x,q),bt.next=x.pstyle(H),bt.next&&bt.next.bypass&&(bt.next=bt.next.bypassed)}}return{diffProps:O}},W1.updateStyleHints=function(y){var p=y._private,x=this,C=x.propertyGroupNames,L=x.propertyGroupKeys,O=function(gi,ss,na){return x.getPropertiesHash(gi,ss,na)},N=p.styleKey;if(y.removed())return!1;var j=p.group==="nodes",H=y._private.style;C=Object.keys(H);for(var q=0;q<L.length;q++){var W=L[q];p.styleKeys[W]=[sy,g4]}for(var Z=function(gi,ss){return p.styleKeys[ss][0]=fg(gi,p.styleKeys[ss][0])},st=function(gi,ss){return p.styleKeys[ss][1]=O2(gi,p.styleKeys[ss][1])},bt=function(gi,ss){Z(gi,ss),st(gi,ss)},pt=function(gi,ss){for(var na=0;na<gi.length;na++){var vi=gi.charCodeAt(na);Z(vi,ss),st(vi,ss)}},_t=2e9,St=function(gi){return-128<gi&&gi<128&&Math.floor(gi)!==gi?_t-(gi*1024|0):gi},Et=0;Et<C.length;Et++){var Nt=C[Et],Pt=H[Nt];if(Pt!=null){var qt=this.properties[Nt],re=qt.type,ee=qt.groupKey,Ut=void 0;qt.hashOverride!=null?Ut=qt.hashOverride(y,Pt):Pt.pfValue!=null&&(Ut=Pt.pfValue);var de=qt.enums==null?Pt.value:null,Yt=Ut!=null,Ee=de!=null,Te=Yt||Ee,ie=Pt.units;if(re.number&&Te&&!re.multiple){var ze=Yt?Ut:de;bt(St(ze),ee),!Yt&&ie!=null&&pt(ie,ee)}else pt(Pt.strValue,ee)}}for(var me=[sy,g4],yn=0;yn<L.length;yn++){var nn=L[yn],qe=p.styleKeys[nn];me[0]=fg(qe[0],me[0]),me[1]=O2(qe[1],me[1])}p.styleKey=M8(me[0],me[1]);var Tn=p.styleKeys;p.labelDimsKey=N2(Tn.labelDimensions);var Xn=O(y,["label"],Tn.labelDimensions);if(p.labelKey=N2(Xn),p.labelStyleKey=N2(p4(Tn.commonLabel,Xn)),!j){var lr=O(y,["source-label"],Tn.labelDimensions);p.sourceLabelKey=N2(lr),p.sourceLabelStyleKey=N2(p4(Tn.commonLabel,lr));var Sn=O(y,["target-label"],Tn.labelDimensions);p.targetLabelKey=N2(Sn),p.targetLabelStyleKey=N2(p4(Tn.commonLabel,Sn))}if(j){var or=p.styleKeys,pr=or.nodeBody,kr=or.nodeBorder,wr=or.nodeOutline,Cr=or.backgroundImage,$n=or.compound,cr=or.pie,mr=[pr,kr,wr,Cr,$n,cr].filter(function(Sr){return Sr!=null}).reduce(p4,[sy,g4]);p.nodeKey=N2(mr),p.hasPie=cr!=null&&cr[0]!==sy&&cr[1]!==g4}return N!==p.styleKey},W1.clearStyleHints=function(y){var p=y._private;p.styleCxtKey="",p.styleKeys={},p.styleKey=null,p.labelKey=null,p.labelStyleKey=null,p.sourceLabelKey=null,p.sourceLabelStyleKey=null,p.targetLabelKey=null,p.targetLabelStyleKey=null,p.nodeKey=null,p.hasPie=null},W1.applyParsedProperty=function(y,p){var x=this,C=p,L=y._private.style,O,N=x.types,j=x.properties[C.name].type,H=C.bypass,q=L[C.name],W=q&&q.bypass,Z=y._private,st="mapping",bt=function(pr){return pr==null?null:pr.pfValue!=null?pr.pfValue:pr.value},pt=function(){var pr=bt(q),kr=bt(C);x.checkTriggers(y,C.name,pr,kr)};if(p.name==="curve-style"&&y.isEdge()&&(p.value!=="bezier"&&y.isLoop()||p.value==="haystack"&&(y.source().isParent()||y.target().isParent()))&&(C=p=this.parse(p.name,"bezier",H)),C.delete)return L[C.name]=void 0,pt(),!0;if(C.deleteBypassed)return q?q.bypass?(q.bypassed=void 0,pt(),!0):!1:(pt(),!0);if(C.deleteBypass)return q?q.bypass?(L[C.name]=q.bypassed,pt(),!0):!1:(pt(),!0);var _t=function(){Gc("Do not assign mappings to elements without corresponding data (i.e. ele `"+y.id()+"` has no mapping for property `"+C.name+"` with data field `"+C.field+"`); try a `["+C.field+"]` selector to limit scope to elements with `"+C.field+"` defined")};switch(C.mapped){case N.mapData:{for(var St=C.field.split("."),Et=Z.data,Nt=0;Nt<St.length&&Et;Nt++){var Pt=St[Nt];Et=Et[Pt]}if(Et==null)return _t(),!1;var qt;if(Q(Et)){var re=C.fieldMax-C.fieldMin;re===0?qt=0:qt=(Et-C.fieldMin)/re}else return Gc("Do not use continuous mappers without specifying numeric data (i.e. `"+C.field+": "+Et+"` for `"+y.id()+"` is non-numeric)"),!1;if(qt<0?qt=0:qt>1&&(qt=1),j.color){var ee=C.valueMin[0],Ut=C.valueMax[0],de=C.valueMin[1],Yt=C.valueMax[1],Ee=C.valueMin[2],Te=C.valueMax[2],ie=C.valueMin[3]==null?1:C.valueMin[3],ze=C.valueMax[3]==null?1:C.valueMax[3],me=[Math.round(ee+(Ut-ee)*qt),Math.round(de+(Yt-de)*qt),Math.round(Ee+(Te-Ee)*qt),Math.round(ie+(ze-ie)*qt)];O={bypass:C.bypass,name:C.name,value:me,strValue:"rgb("+me[0]+", "+me[1]+", "+me[2]+")"}}else if(j.number){var yn=C.valueMin+(C.valueMax-C.valueMin)*qt;O=this.parse(C.name,yn,C.bypass,st)}else return!1;if(!O)return _t(),!1;O.mapping=C,C=O;break}case N.data:{for(var nn=C.field.split("."),qe=Z.data,Tn=0;Tn<nn.length&&qe;Tn++){var Xn=nn[Tn];qe=qe[Xn]}if(qe!=null&&(O=this.parse(C.name,qe,C.bypass,st)),!O)return _t(),!1;O.mapping=C,C=O;break}case N.fn:{var lr=C.value,Sn=C.fnValue!=null?C.fnValue:lr(y);if(C.prevFnValue=Sn,Sn==null)return Gc("Custom function mappers may not return null (i.e. `"+C.name+"` for ele `"+y.id()+"` is null)"),!1;if(O=this.parse(C.name,Sn,C.bypass,st),!O)return Gc("Custom function mappers may not return invalid values for the property type (i.e. `"+C.name+"` for ele `"+y.id()+"` is invalid)"),!1;O.mapping=P2(C),C=O;break}case void 0:break;default:return!1}return H?(W?C.bypassed=q.bypassed:C.bypassed=q,L[C.name]=C):W?q.bypassed=C:L[C.name]=C,pt(),!0},W1.cleanElements=function(y,p){for(var x=0;x<y.length;x++){var C=y[x];if(this.clearStyleHints(C),C.dirtyCompoundBoundsCache(),C.dirtyBoundingBoxCache(),!p)C._private.style={};else for(var L=C._private.style,O=Object.keys(L),N=0;N<O.length;N++){var j=O[N],H=L[j];H!=null&&(H.bypass?H.bypassed=null:L[j]=null)}}},W1.update=function(){var y=this._private.cy,p=y.mutableElements();p.updateStyle()},W1.updateTransitions=function(y,p){var x=this,C=y._private,L=y.pstyle("transition-property").value,O=y.pstyle("transition-duration").pfValue,N=y.pstyle("transition-delay").pfValue;if(L.length>0&&O>0){for(var j={},H=!1,q=0;q<L.length;q++){var W=L[q],Z=y.pstyle(W),st=p[W];if(st){var bt=st.prev,pt=bt,_t=st.next!=null?st.next:Z,St=!1,Et=void 0,Nt=1e-6;pt&&(Q(pt.pfValue)&&Q(_t.pfValue)?(St=_t.pfValue-pt.pfValue,Et=pt.pfValue+Nt*St):Q(pt.value)&&Q(_t.value)?(St=_t.value-pt.value,Et=pt.value+Nt*St):rt(pt.value)&&rt(_t.value)&&(St=pt.value[0]!==_t.value[0]||pt.value[1]!==_t.value[1]||pt.value[2]!==_t.value[2],Et=pt.strValue),St&&(j[W]=_t.strValue,this.applyBypass(y,W,Et),H=!0))}}if(!H)return;C.transitioning=!0,new e6(function(Pt){N>0?y.delayAnimation(N).play().promise().then(Pt):Pt()}).then(function(){return y.animation({style:j,duration:O,easing:y.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){x.removeBypasses(y,L),y.emitAndNotify("style"),C.transitioning=!1})}else C.transitioning&&(this.removeBypasses(y,L),y.emitAndNotify("style"),C.transitioning=!1)},W1.checkTrigger=function(y,p,x,C,L,O){var N=this.properties[p],j=L(N);j!=null&&j(x,C)&&O(N)},W1.checkZOrderTrigger=function(y,p,x,C){var L=this;this.checkTrigger(y,p,x,C,function(O){return O.triggersZOrder},function(){L._private.cy.notify("zorder",y)})},W1.checkBoundsTrigger=function(y,p,x,C){this.checkTrigger(y,p,x,C,function(L){return L.triggersBounds},function(L){y.dirtyCompoundBoundsCache(),y.dirtyBoundingBoxCache(),L.triggersBoundsOfParallelBeziers&&p==="curve-style"&&(x==="bezier"||C==="bezier")&&y.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()}),L.triggersBoundsOfConnectedEdges&&p==="display"&&(x==="none"||C==="none")&&y.connectedEdges().forEach(function(O){O.dirtyBoundingBoxCache()})})},W1.checkTriggers=function(y,p,x,C){y.dirtyStyleCache(),this.checkZOrderTrigger(y,p,x,C),this.checkBoundsTrigger(y,p,x,C)};var J8={};J8.applyBypass=function(y,p,x,C){var L=this,O=[],N=!0;if(p==="*"||p==="**"){if(x!==void 0)for(var j=0;j<L.properties.length;j++){var H=L.properties[j],q=H.name,W=this.parse(q,x,!0);W&&O.push(W)}}else if(mt(p)){var Z=this.parse(p,x,!0);Z&&O.push(Z)}else if(it(p)){var st=p;C=x;for(var bt=Object.keys(st),pt=0;pt<bt.length;pt++){var _t=bt[pt],St=st[_t];if(St===void 0&&(St=st[Ae(_t)]),St!==void 0){var Et=this.parse(_t,St,!0);Et&&O.push(Et)}}}else return!1;if(O.length===0)return!1;for(var Nt=!1,Pt=0;Pt<y.length;Pt++){for(var qt=y[Pt],re={},ee=void 0,Ut=0;Ut<O.length;Ut++){var de=O[Ut];if(C){var Yt=qt.pstyle(de.name);ee=re[de.name]={prev:Yt}}Nt=this.applyParsedProperty(qt,P2(de))||Nt,C&&(ee.next=qt.pstyle(de.name))}Nt&&this.updateStyleHints(qt),C&&this.updateTransitions(qt,re,N)}return Nt},J8.overrideBypass=function(y,p,x){p=pn(p);for(var C=0;C<y.length;C++){var L=y[C],O=L._private.style[p],N=this.properties[p].type,j=N.color,H=N.mutiple,q=O?O.pfValue!=null?O.pfValue:O.value:null;!O||!O.bypass?this.applyBypass(L,p,x):(O.value=x,O.pfValue!=null&&(O.pfValue=x),j?O.strValue="rgb("+x.join(",")+")":H?O.strValue=x.join(" "):O.strValue=""+x,this.updateStyleHints(L)),this.checkTriggers(L,p,q,x)}},J8.removeAllBypasses=function(y,p){return this.removeBypasses(y,this.propertyNames,p)},J8.removeBypasses=function(y,p,x){for(var C=!0,L=0;L<y.length;L++){for(var O=y[L],N={},j=0;j<p.length;j++){var H=p[j],q=this.properties[H],W=O.pstyle(q.name);if(!(!W||!W.bypass)){var Z="",st=this.parse(H,Z,!0),bt=N[q.name]={prev:W};this.applyParsedProperty(O,st),bt.next=O.pstyle(q.name)}}this.updateStyleHints(O),x&&this.updateTransitions(O,N,C)}};var dM={};dM.getEmSizeInPixels=function(){var y=this.containerCss("font-size");return y!=null?parseFloat(y):1},dM.containerCss=function(y){var p=this._private.cy,x=p.container(),C=p.window();if(C&&x&&C.getComputedStyle)return C.getComputedStyle(x).getPropertyValue(y)};var R2={};R2.getRenderedStyle=function(y,p){return p?this.getStylePropertyValue(y,p,!0):this.getRawStyle(y,!0)},R2.getRawStyle=function(y,p){var x=this;if(y=y[0],y){for(var C={},L=0;L<x.properties.length;L++){var O=x.properties[L],N=x.getStylePropertyValue(y,O.name,p);N!=null&&(C[O.name]=N,C[Ae(O.name)]=N)}return C}},R2.getIndexedStyle=function(y,p,x,C){var L=y.pstyle(p)[x][C];return L??y.cy().style().getDefaultProperty(p)[x][0]},R2.getStylePropertyValue=function(y,p,x){var C=this;if(y=y[0],y){var L=C.properties[p];L.alias&&(L=L.pointsTo);var O=L.type,N=y.pstyle(L.name);if(N){var j=N.value,H=N.units,q=N.strValue;if(x&&O.number&&j!=null&&Q(j)){var W=y.cy().zoom(),Z=function(St){return St*W},st=function(St,Et){return Z(St)+Et},bt=rt(j),pt=bt?H.every(function(_t){return _t!=null}):H!=null;return pt?bt?j.map(function(_t,St){return st(_t,H[St])}).join(" "):st(j,H):bt?j.map(function(_t){return mt(_t)?_t:""+Z(_t)}).join(" "):""+Z(j)}else if(q!=null)return q}return null}},R2.getAnimationStartStyle=function(y,p){for(var x={},C=0;C<p.length;C++){var L=p[C],O=L.name,N=y.pstyle(O);N!==void 0&&(it(N)?N=this.parse(O,N.strValue):N=this.parse(O,N)),N&&(x[O]=N)}return x},R2.getPropsList=function(y){var p=this,x=[],C=y,L=p.properties;if(C)for(var O=Object.keys(C),N=0;N<O.length;N++){var j=O[N],H=C[j],q=L[j]||L[pn(j)],W=this.parse(q.name,H);W&&x.push(W)}return x},R2.getNonDefaultPropertiesHash=function(y,p,x){var C=x.slice(),L,O,N,j,H,q;for(H=0;H<p.length;H++)if(L=p[H],O=y.pstyle(L,!1),O!=null)if(O.pfValue!=null)C[0]=fg(j,C[0]),C[1]=O2(j,C[1]);else for(N=O.strValue,q=0;q<N.length;q++)j=N.charCodeAt(q),C[0]=fg(j,C[0]),C[1]=O2(j,C[1]);return C},R2.getPropertiesHash=R2.getNonDefaultPropertiesHash;var TC={};TC.appendFromJson=function(y){for(var p=this,x=0;x<y.length;x++){var C=y[x],L=C.selector,O=C.style||C.css,N=Object.keys(O);p.selector(L);for(var j=0;j<N.length;j++){var H=N[j],q=O[H];p.css(H,q)}}return p},TC.fromJson=function(y){var p=this;return p.resetToDefault(),p.appendFromJson(y),p},TC.json=function(){for(var y=[],p=this.defaultLength;p<this.length;p++){for(var x=this[p],C=x.selector,L=x.properties,O={},N=0;N<L.length;N++){var j=L[N];O[j.name]=j.strValue}y.push({selector:C?C.toString():"core",style:O})}return y};var gM={};gM.appendFromString=function(y){var p=this,x=this,C=""+y,L,O,N;C=C.replace(/[/][*](\s|.)+?[*][/]/g,"");function j(){C.length>L.length?C=C.substr(L.length):C=""}function H(){O.length>N.length?O=O.substr(N.length):O=""}for(;;){var q=C.match(/^\s*$/);if(q)break;var W=C.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!W){Gc("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+C);break}L=W[0];var Z=W[1];if(Z!=="core"){var st=new ly(Z);if(st.invalid){Gc("Skipping parsing of block: Invalid selector found in string stylesheet: "+Z),j();continue}}var bt=W[2],pt=!1;O=bt;for(var _t=[];;){var St=O.match(/^\s*$/);if(St)break;var Et=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!Et){Gc("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+bt),pt=!0;break}N=Et[0];var Nt=Et[1],Pt=Et[2],qt=p.properties[Nt];if(!qt){Gc("Skipping property: Invalid property name in: "+N),H();continue}var re=x.parse(Nt,Pt);if(!re){Gc("Skipping property: Invalid property definition in: "+N),H();continue}_t.push({name:Nt,val:Pt}),H()}if(pt){j();break}x.selector(Z);for(var ee=0;ee<_t.length;ee++){var Ut=_t[ee];x.css(Ut.name,Ut.val)}j()}return x},gM.fromString=function(y){var p=this;return p.resetToDefault(),p.appendFromString(y),p};var m1={};(function(){var y=sn,p=Ne,x=_e,C=xe,L=Mn,O=function(mr){return"^"+mr+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},N=function(mr){var Sr=y+"|\\w+|"+p+"|"+x+"|"+C+"|"+L;return"^"+mr+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+y+")\\s*\\,\\s*("+y+")\\s*,\\s*("+Sr+")\\s*\\,\\s*("+Sr+")\\)$"},j=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];m1.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi"]},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:O("data")},layoutData:{mapping:!0,regex:O("layoutData")},scratch:{mapping:!0,regex:O("scratch")},mapData:{mapping:!0,regex:N("mapData")},mapLayoutData:{mapping:!0,regex:N("mapLayoutData")},mapScratch:{mapping:!0,regex:N("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:j,singleRegexMatchValue:!0},urls:{regexes:j,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(mr,Sr){switch(mr.length){case 2:return Sr[0]!=="deg"&&Sr[0]!=="rad"&&Sr[1]!=="deg"&&Sr[1]!=="rad";case 1:return mt(mr[0])||Sr[0]==="deg"||Sr[0]==="rad";default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+y+")\\s*,\\s*("+y+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+y+")\\s*,\\s*("+y+")\\s*,\\s*("+y+")\\s*,\\s*("+y+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(mr){var Sr=mr.length;return Sr===1||Sr===2||Sr===4}}};var H={zeroNonZero:function(mr,Sr){return(mr==null||Sr==null)&&mr!==Sr||mr==0&&Sr!=0?!0:mr!=0&&Sr==0},any:function(mr,Sr){return mr!=Sr},emptyNonEmpty:function(mr,Sr){var gi=Ft(mr),ss=Ft(Sr);return gi&&!ss||!gi&&ss}},q=m1.types,W=[{name:"label",type:q.text,triggersBounds:H.any,triggersZOrder:H.emptyNonEmpty},{name:"text-rotation",type:q.textRotation,triggersBounds:H.any},{name:"text-margin-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"text-margin-y",type:q.bidirectionalSize,triggersBounds:H.any}],Z=[{name:"source-label",type:q.text,triggersBounds:H.any},{name:"source-text-rotation",type:q.textRotation,triggersBounds:H.any},{name:"source-text-margin-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"source-text-margin-y",type:q.bidirectionalSize,triggersBounds:H.any},{name:"source-text-offset",type:q.size,triggersBounds:H.any}],st=[{name:"target-label",type:q.text,triggersBounds:H.any},{name:"target-text-rotation",type:q.textRotation,triggersBounds:H.any},{name:"target-text-margin-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"target-text-margin-y",type:q.bidirectionalSize,triggersBounds:H.any},{name:"target-text-offset",type:q.size,triggersBounds:H.any}],bt=[{name:"font-family",type:q.fontFamily,triggersBounds:H.any},{name:"font-style",type:q.fontStyle,triggersBounds:H.any},{name:"font-weight",type:q.fontWeight,triggersBounds:H.any},{name:"font-size",type:q.size,triggersBounds:H.any},{name:"text-transform",type:q.textTransform,triggersBounds:H.any},{name:"text-wrap",type:q.textWrap,triggersBounds:H.any},{name:"text-overflow-wrap",type:q.textOverflowWrap,triggersBounds:H.any},{name:"text-max-width",type:q.size,triggersBounds:H.any},{name:"text-outline-width",type:q.size,triggersBounds:H.any},{name:"line-height",type:q.positiveNumber,triggersBounds:H.any}],pt=[{name:"text-valign",type:q.valign,triggersBounds:H.any},{name:"text-halign",type:q.halign,triggersBounds:H.any},{name:"color",type:q.color},{name:"text-outline-color",type:q.color},{name:"text-outline-opacity",type:q.zeroOneNumber},{name:"text-background-color",type:q.color},{name:"text-background-opacity",type:q.zeroOneNumber},{name:"text-background-padding",type:q.size,triggersBounds:H.any},{name:"text-border-opacity",type:q.zeroOneNumber},{name:"text-border-color",type:q.color},{name:"text-border-width",type:q.size,triggersBounds:H.any},{name:"text-border-style",type:q.borderStyle,triggersBounds:H.any},{name:"text-background-shape",type:q.textBackgroundShape,triggersBounds:H.any},{name:"text-justification",type:q.justification}],_t=[{name:"events",type:q.bool,triggersZOrder:H.any},{name:"text-events",type:q.bool,triggersZOrder:H.any}],St=[{name:"display",type:q.display,triggersZOrder:H.any,triggersBounds:H.any,triggersBoundsOfConnectedEdges:!0},{name:"visibility",type:q.visibility,triggersZOrder:H.any},{name:"opacity",type:q.zeroOneNumber,triggersZOrder:H.zeroNonZero},{name:"text-opacity",type:q.zeroOneNumber},{name:"min-zoomed-font-size",type:q.size},{name:"z-compound-depth",type:q.zCompoundDepth,triggersZOrder:H.any},{name:"z-index-compare",type:q.zIndexCompare,triggersZOrder:H.any},{name:"z-index",type:q.number,triggersZOrder:H.any}],Et=[{name:"overlay-padding",type:q.size,triggersBounds:H.any},{name:"overlay-color",type:q.color},{name:"overlay-opacity",type:q.zeroOneNumber,triggersBounds:H.zeroNonZero},{name:"overlay-shape",type:q.overlayShape,triggersBounds:H.any}],Nt=[{name:"underlay-padding",type:q.size,triggersBounds:H.any},{name:"underlay-color",type:q.color},{name:"underlay-opacity",type:q.zeroOneNumber,triggersBounds:H.zeroNonZero},{name:"underlay-shape",type:q.overlayShape,triggersBounds:H.any}],Pt=[{name:"transition-property",type:q.propList},{name:"transition-duration",type:q.time},{name:"transition-delay",type:q.time},{name:"transition-timing-function",type:q.easing}],qt=function(mr,Sr){return Sr.value==="label"?-mr.poolIndex():Sr.pfValue},re=[{name:"height",type:q.nodeSize,triggersBounds:H.any,hashOverride:qt},{name:"width",type:q.nodeSize,triggersBounds:H.any,hashOverride:qt},{name:"shape",type:q.nodeShape,triggersBounds:H.any},{name:"shape-polygon-points",type:q.polygonPointList,triggersBounds:H.any},{name:"background-color",type:q.color},{name:"background-fill",type:q.fill},{name:"background-opacity",type:q.zeroOneNumber},{name:"background-blacken",type:q.nOneOneNumber},{name:"background-gradient-stop-colors",type:q.colors},{name:"background-gradient-stop-positions",type:q.percentages},{name:"background-gradient-direction",type:q.gradientDirection},{name:"padding",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"padding-relative-to",type:q.paddingRelativeTo,triggersBounds:H.any},{name:"bounds-expansion",type:q.boundsExpansion,triggersBounds:H.any}],ee=[{name:"border-color",type:q.color},{name:"border-opacity",type:q.zeroOneNumber},{name:"border-width",type:q.size,triggersBounds:H.any},{name:"border-style",type:q.borderStyle}],Ut=[{name:"outline-color",type:q.color},{name:"outline-opacity",type:q.zeroOneNumber},{name:"outline-width",type:q.size,triggersBounds:H.any},{name:"outline-style",type:q.borderStyle},{name:"outline-offset",type:q.size,triggersBounds:H.any}],de=[{name:"background-image",type:q.urls},{name:"background-image-crossorigin",type:q.bgCrossOrigin},{name:"background-image-opacity",type:q.zeroOneNumbers},{name:"background-image-containment",type:q.bgContainment},{name:"background-image-smoothing",type:q.bools},{name:"background-position-x",type:q.bgPos},{name:"background-position-y",type:q.bgPos},{name:"background-width-relative-to",type:q.bgRelativeTo},{name:"background-height-relative-to",type:q.bgRelativeTo},{name:"background-repeat",type:q.bgRepeat},{name:"background-fit",type:q.bgFit},{name:"background-clip",type:q.bgClip},{name:"background-width",type:q.bgWH},{name:"background-height",type:q.bgWH},{name:"background-offset-x",type:q.bgPos},{name:"background-offset-y",type:q.bgPos}],Yt=[{name:"position",type:q.position,triggersBounds:H.any},{name:"compound-sizing-wrt-labels",type:q.compoundIncludeLabels,triggersBounds:H.any},{name:"min-width",type:q.size,triggersBounds:H.any},{name:"min-width-bias-left",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"min-width-bias-right",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"min-height",type:q.size,triggersBounds:H.any},{name:"min-height-bias-top",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"min-height-bias-bottom",type:q.sizeMaybePercent,triggersBounds:H.any}],Ee=[{name:"line-style",type:q.lineStyle},{name:"line-color",type:q.color},{name:"line-fill",type:q.fill},{name:"line-cap",type:q.lineCap},{name:"line-opacity",type:q.zeroOneNumber},{name:"line-dash-pattern",type:q.numbers},{name:"line-dash-offset",type:q.number},{name:"line-gradient-stop-colors",type:q.colors},{name:"line-gradient-stop-positions",type:q.percentages},{name:"curve-style",type:q.curveStyle,triggersBounds:H.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:q.zeroOneNumber,triggersBounds:H.any},{name:"source-endpoint",type:q.edgeEndpoint,triggersBounds:H.any},{name:"target-endpoint",type:q.edgeEndpoint,triggersBounds:H.any},{name:"control-point-step-size",type:q.size,triggersBounds:H.any},{name:"control-point-distances",type:q.bidirectionalSizes,triggersBounds:H.any},{name:"control-point-weights",type:q.numbers,triggersBounds:H.any},{name:"segment-distances",type:q.bidirectionalSizes,triggersBounds:H.any},{name:"segment-weights",type:q.numbers,triggersBounds:H.any},{name:"taxi-turn",type:q.bidirectionalSizeMaybePercent,triggersBounds:H.any},{name:"taxi-turn-min-distance",type:q.size,triggersBounds:H.any},{name:"taxi-direction",type:q.axisDirection,triggersBounds:H.any},{name:"edge-distances",type:q.edgeDistances,triggersBounds:H.any},{name:"arrow-scale",type:q.positiveNumber,triggersBounds:H.any},{name:"loop-direction",type:q.angle,triggersBounds:H.any},{name:"loop-sweep",type:q.angle,triggersBounds:H.any},{name:"source-distance-from-node",type:q.size,triggersBounds:H.any},{name:"target-distance-from-node",type:q.size,triggersBounds:H.any}],Te=[{name:"ghost",type:q.bool,triggersBounds:H.any},{name:"ghost-offset-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"ghost-offset-y",type:q.bidirectionalSize,triggersBounds:H.any},{name:"ghost-opacity",type:q.zeroOneNumber}],ie=[{name:"selection-box-color",type:q.color},{name:"selection-box-opacity",type:q.zeroOneNumber},{name:"selection-box-border-color",type:q.color},{name:"selection-box-border-width",type:q.size},{name:"active-bg-color",type:q.color},{name:"active-bg-opacity",type:q.zeroOneNumber},{name:"active-bg-size",type:q.size},{name:"outside-texture-bg-color",type:q.color},{name:"outside-texture-bg-opacity",type:q.zeroOneNumber}],ze=[];m1.pieBackgroundN=16,ze.push({name:"pie-size",type:q.sizeMaybePercent});for(var me=1;me<=m1.pieBackgroundN;me++)ze.push({name:"pie-"+me+"-background-color",type:q.color}),ze.push({name:"pie-"+me+"-background-size",type:q.percent}),ze.push({name:"pie-"+me+"-background-opacity",type:q.zeroOneNumber});var yn=[],nn=m1.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:q.arrowShape,triggersBounds:H.any},{name:"arrow-color",type:q.color},{name:"arrow-fill",type:q.arrowFill},{name:"arrow-width",type:q.arrowWidth}].forEach(function(cr){nn.forEach(function(mr){var Sr=mr+"-"+cr.name,gi=cr.type,ss=cr.triggersBounds;yn.push({name:Sr,type:gi,triggersBounds:ss})})},{});var qe=m1.properties=[].concat(_t,Pt,St,Et,Nt,Te,pt,bt,W,Z,st,re,ee,Ut,de,ze,Yt,Ee,yn,ie),Tn=m1.propertyGroups={behavior:_t,transition:Pt,visibility:St,overlay:Et,underlay:Nt,ghost:Te,commonLabel:pt,labelDimensions:bt,mainLabel:W,sourceLabel:Z,targetLabel:st,nodeBody:re,nodeBorder:ee,nodeOutline:Ut,backgroundImage:de,pie:ze,compound:Yt,edgeLine:Ee,edgeArrow:yn,core:ie},Xn=m1.propertyGroupNames={},lr=m1.propertyGroupKeys=Object.keys(Tn);lr.forEach(function(cr){Xn[cr]=Tn[cr].map(function(mr){return mr.name}),Tn[cr].forEach(function(mr){return mr.groupKey=cr})});var Sn=m1.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];m1.propertyNames=qe.map(function(cr){return cr.name});for(var or=0;or<qe.length;or++){var pr=qe[or];qe[pr.name]=pr}for(var kr=0;kr<Sn.length;kr++){var wr=Sn[kr],Cr=qe[wr.pointsTo],$n={name:wr.name,alias:!0,pointsTo:Cr};qe.push($n),qe[wr.name]=$n}})(),m1.getDefaultProperty=function(y){return this.getDefaultProperties()[y]},m1.getDefaultProperties=function(){var y=this._private;if(y.defaultProperties!=null)return y.defaultProperties;for(var p=we({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(H,q){for(var W=1;W<=m1.pieBackgroundN;W++){var Z=q.name.replace("{{i}}",W),st=q.value;H[Z]=st}return H},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"taxi-turn":"50%","taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(H,q){return m1.arrowPrefixes.forEach(function(W){var Z=W+"-"+q.name,st=q.value;H[Z]=st}),H},{})),x={},C=0;C<this.properties.length;C++){var L=this.properties[C];if(!L.pointsTo){var O=L.name,N=p[O],j=this.parse(O,N);x[O]=j}}return y.defaultProperties=x,y.defaultProperties},m1.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var CC={};CC.parse=function(y,p,x,C){var L=this;if(ct(p))return L.parseImplWarn(y,p,x,C);var O=C==="mapping"||C===!0||C===!1||C==null?"dontcare":C,N=x?"t":"f",j=""+p,H=Pd(y,j,N,O),q=L.propCache=L.propCache||[],W;return(W=q[H])||(W=q[H]=L.parseImplWarn(y,p,x,C)),(x||C==="mapping")&&(W=P2(W),W&&(W.value=P2(W.value))),W},CC.parseImplWarn=function(y,p,x,C){var L=this.parseImpl(y,p,x,C);return!L&&p!=null&&Gc("The style property `".concat(y,": ").concat(p,"` is invalid")),L&&(L.name==="width"||L.name==="height")&&p==="label"&&Gc("The style value of `label` is deprecated for `"+L.name+"`"),L},CC.parseImpl=function(y,p,x,C){var L=this;y=pn(y);var O=L.properties[y],N=p,j=L.types;if(!O||p===void 0)return null;O.alias&&(O=O.pointsTo,y=O.name);var H=mt(p);H&&(p=p.trim());var q=O.type;if(!q)return null;if(x&&(p===""||p===null))return{name:y,value:p,bypass:!0,deleteBypass:!0};if(ct(p))return{name:y,value:p,strValue:"fn",mapped:j.fn,bypass:x};var W,Z;if(!(!H||C||p.length<7||p[1]!=="a")){if(p.length>=7&&p[0]==="d"&&(W=new RegExp(j.data.regex).exec(p))){if(x)return!1;var st=j.data;return{name:y,value:W,strValue:""+p,mapped:st,field:W[1],bypass:x}}else if(p.length>=10&&p[0]==="m"&&(Z=new RegExp(j.mapData.regex).exec(p))){if(x||q.multiple)return!1;var bt=j.mapData;if(!(q.color||q.number))return!1;var pt=this.parse(y,Z[4]);if(!pt||pt.mapped)return!1;var _t=this.parse(y,Z[5]);if(!_t||_t.mapped)return!1;if(pt.pfValue===_t.pfValue||pt.strValue===_t.strValue)return Gc("`"+y+": "+p+"` is not a valid mapper because the output range is zero; converting to `"+y+": "+pt.strValue+"`"),this.parse(y,pt.strValue);if(q.color){var St=pt.value,Et=_t.value,Nt=St[0]===Et[0]&&St[1]===Et[1]&&St[2]===Et[2]&&(St[3]===Et[3]||(St[3]==null||St[3]===1)&&(Et[3]==null||Et[3]===1));if(Nt)return!1}return{name:y,value:Z,strValue:""+p,mapped:bt,field:Z[1],fieldMin:parseFloat(Z[2]),fieldMax:parseFloat(Z[3]),valueMin:pt.value,valueMax:_t.value,bypass:x}}}if(q.multiple&&C!=="multiple"){var Pt;if(H?Pt=p.split(/\s+/):rt(p)?Pt=p:Pt=[p],q.evenMultiple&&Pt.length%2!==0)return null;for(var qt=[],re=[],ee=[],Ut="",de=!1,Yt=0;Yt<Pt.length;Yt++){var Ee=L.parse(y,Pt[Yt],x,"multiple");de=de||mt(Ee.value),qt.push(Ee.value),ee.push(Ee.pfValue!=null?Ee.pfValue:Ee.value),re.push(Ee.units),Ut+=(Yt>0?" ":"")+Ee.strValue}return q.validate&&!q.validate(qt,re)?null:q.singleEnum&&de?qt.length===1&&mt(qt[0])?{name:y,value:qt[0],strValue:qt[0],bypass:x}:null:{name:y,value:qt,pfValue:ee,strValue:Ut,bypass:x,units:re}}var Te=function(){for(var mr=0;mr<q.enums.length;mr++){var Sr=q.enums[mr];if(Sr===p)return{name:y,value:p,strValue:""+p,bypass:x}}return null};if(q.number){var ie,ze="px";if(q.units&&(ie=q.units),q.implicitUnits&&(ze=q.implicitUnits),!q.unitless)if(H){var me="px|em"+(q.allowPercent?"|\\%":"");ie&&(me=ie);var yn=p.match("^("+sn+")("+me+")?$");yn&&(p=yn[1],ie=yn[2]||ze)}else(!ie||q.implicitUnits)&&(ie=ze);if(p=parseFloat(p),isNaN(p)&&q.enums===void 0)return null;if(isNaN(p)&&q.enums!==void 0)return p=N,Te();if(q.integer&&!dt(p)||q.min!==void 0&&(p<q.min||q.strictMin&&p===q.min)||q.max!==void 0&&(p>q.max||q.strictMax&&p===q.max))return null;var nn={name:y,value:p,strValue:""+p+(ie||""),units:ie,bypass:x};return q.unitless||ie!=="px"&&ie!=="em"?nn.pfValue=p:nn.pfValue=ie==="px"||!ie?p:this.getEmSizeInPixels()*p,(ie==="ms"||ie==="s")&&(nn.pfValue=ie==="ms"?p:1e3*p),(ie==="deg"||ie==="rad")&&(nn.pfValue=ie==="rad"?p:lQ(p)),ie==="%"&&(nn.pfValue=p/100),nn}else if(q.propList){var qe=[],Tn=""+p;if(Tn!=="none"){for(var Xn=Tn.split(/\s*,\s*|\s+/),lr=0;lr<Xn.length;lr++){var Sn=Xn[lr].trim();L.properties[Sn]?qe.push(Sn):Gc("`"+Sn+"` is not a valid property name")}if(qe.length===0)return null}return{name:y,value:qe,strValue:qe.length===0?"none":qe.join(" "),bypass:x}}else if(q.color){var or=za(p);return or?{name:y,value:or,pfValue:or,strValue:"rgb("+or[0]+","+or[1]+","+or[2]+")",bypass:x}:null}else if(q.regex||q.regexes){if(q.enums){var pr=Te();if(pr)return pr}for(var kr=q.regexes?q.regexes:[q.regex],wr=0;wr<kr.length;wr++){var Cr=new RegExp(kr[wr]),$n=Cr.exec(p);if($n)return{name:y,value:q.singleRegexMatchValue?$n[1]:$n,strValue:""+p,bypass:x}}return null}else return q.string?{name:y,value:""+p,strValue:""+p,bypass:x}:q.enums?Te():null};var Y1=function y(p){if(!(this instanceof y))return new y(p);if(!It(p)){$l("A style must have a core reference");return}this._private={cy:p,coreStyle:{}},this.length=0,this.resetToDefault()},X1=Y1.prototype;X1.instanceString=function(){return"style"},X1.clear=function(){for(var y=this._private,p=y.cy,x=p.elements(),C=0;C<this.length;C++)this[C]=void 0;return this.length=0,y.contextStyles={},y.propDiffs={},this.cleanElements(x,!0),x.forEach(function(L){var O=L[0]._private;O.styleDirty=!0,O.appliedInitStyle=!1}),this},X1.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},X1.core=function(y){return this._private.coreStyle[y]||this.getDefaultProperty(y)},X1.selector=function(y){var p=y==="core"?null:new ly(y),x=this.length++;return this[x]={selector:p,properties:[],mappedProperties:[],index:x},this},X1.css=function(){var y=this,p=arguments;if(p.length===1)for(var x=p[0],C=0;C<y.properties.length;C++){var L=y.properties[C],O=x[L.name];O===void 0&&(O=x[Ae(L.name)]),O!==void 0&&this.cssRule(L.name,O)}else p.length===2&&this.cssRule(p[0],p[1]);return this},X1.style=X1.css,X1.cssRule=function(y,p){var x=this.parse(y,p);if(x){var C=this.length-1;this[C].properties.push(x),this[C].properties[x.name]=x,x.name.match(/pie-(\d+)-background-size/)&&x.value&&(this._private.hasPie=!0),x.mapped&&this[C].mappedProperties.push(x);var L=!this[C].selector;L&&(this._private.coreStyle[x.name]=x)}return this},X1.append=function(y){return jt(y)?y.appendToStyle(this):rt(y)?this.appendFromJson(y):mt(y)&&this.appendFromString(y),this},Y1.fromJson=function(y,p){var x=new Y1(y);return x.fromJson(p),x},Y1.fromString=function(y,p){return new Y1(y).fromString(p)},[W1,J8,dM,R2,TC,gM,m1,CC].forEach(function(y){we(X1,y)}),Y1.types=X1.types,Y1.properties=X1.properties,Y1.propertyGroups=X1.propertyGroups,Y1.propertyGroupNames=X1.propertyGroupNames,Y1.propertyGroupKeys=X1.propertyGroupKeys;var bet={style:function(p){if(p){var x=this.setStyle(p);x.update()}return this._private.style},setStyle:function(p){var x=this._private;return jt(p)?x.style=p.generateStyle(this):rt(p)?x.style=Y1.fromJson(this,p):mt(p)?x.style=Y1.fromString(this,p):x.style=Y1(this),x.style},updateStyle:function(){this.mutableElements().updateStyle()}},wet="single",T4={autolock:function(p){if(p!==void 0)this._private.autolock=!!p;else return this._private.autolock;return this},autoungrabify:function(p){if(p!==void 0)this._private.autoungrabify=!!p;else return this._private.autoungrabify;return this},autounselectify:function(p){if(p!==void 0)this._private.autounselectify=!!p;else return this._private.autounselectify;return this},selectionType:function(p){var x=this._private;if(x.selectionType==null&&(x.selectionType=wet),p!==void 0)(p==="additive"||p==="single")&&(x.selectionType=p);else return x.selectionType;return this},panningEnabled:function(p){if(p!==void 0)this._private.panningEnabled=!!p;else return this._private.panningEnabled;return this},userPanningEnabled:function(p){if(p!==void 0)this._private.userPanningEnabled=!!p;else return this._private.userPanningEnabled;return this},zoomingEnabled:function(p){if(p!==void 0)this._private.zoomingEnabled=!!p;else return this._private.zoomingEnabled;return this},userZoomingEnabled:function(p){if(p!==void 0)this._private.userZoomingEnabled=!!p;else return this._private.userZoomingEnabled;return this},boxSelectionEnabled:function(p){if(p!==void 0)this._private.boxSelectionEnabled=!!p;else return this._private.boxSelectionEnabled;return this},pan:function(){var p=arguments,x=this._private.pan,C,L,O,N,j;switch(p.length){case 0:return x;case 1:if(mt(p[0]))return C=p[0],x[C];if(it(p[0])){if(!this._private.panningEnabled)return this;O=p[0],N=O.x,j=O.y,Q(N)&&(x.x=N),Q(j)&&(x.y=j),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;C=p[0],L=p[1],(C==="x"||C==="y")&&Q(L)&&(x[C]=L),this.emit("pan viewport");break}return this.notify("viewport"),this},panBy:function(p,x){var C=arguments,L=this._private.pan,O,N,j,H,q;if(!this._private.panningEnabled)return this;switch(C.length){case 1:it(p)&&(j=C[0],H=j.x,q=j.y,Q(H)&&(L.x+=H),Q(q)&&(L.y+=q),this.emit("pan viewport"));break;case 2:O=p,N=x,(O==="x"||O==="y")&&Q(N)&&(L[O]+=N),this.emit("pan viewport");break}return this.notify("viewport"),this},fit:function(p,x){var C=this.getFitViewport(p,x);if(C){var L=this._private;L.zoom=C.zoom,L.pan=C.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(p,x){if(Q(p)&&x===void 0&&(x=p,p=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var C;if(mt(p)){var L=p;p=this.$(L)}else if(kt(p)){var O=p;C={x1:O.x1,y1:O.y1,x2:O.x2,y2:O.y2},C.w=C.x2-C.x1,C.h=C.y2-C.y1}else yt(p)||(p=this.mutableElements());if(!(yt(p)&&p.empty())){C=C||p.boundingBox();var N=this.width(),j=this.height(),H;if(x=Q(x)?x:0,!isNaN(N)&&!isNaN(j)&&N>0&&j>0&&!isNaN(C.w)&&!isNaN(C.h)&&C.w>0&&C.h>0){H=Math.min((N-2*x)/C.w,(j-2*x)/C.h),H=H>this._private.maxZoom?this._private.maxZoom:H,H=H<this._private.minZoom?this._private.minZoom:H;var q={x:(N-H*(C.x1+C.x2))/2,y:(j-H*(C.y1+C.y2))/2};return{zoom:H,pan:q}}}}},zoomRange:function(p,x){var C=this._private;if(x==null){var L=p;p=L.min,x=L.max}return Q(p)&&Q(x)&&p<=x?(C.minZoom=p,C.maxZoom=x):Q(p)&&x===void 0&&p<=C.maxZoom?C.minZoom=p:Q(x)&&p===void 0&&x>=C.minZoom&&(C.maxZoom=x),this},minZoom:function(p){return p===void 0?this._private.minZoom:this.zoomRange({min:p})},maxZoom:function(p){return p===void 0?this._private.maxZoom:this.zoomRange({max:p})},getZoomedViewport:function(p){var x=this._private,C=x.pan,L=x.zoom,O,N,j=!1;if(x.zoomingEnabled||(j=!0),Q(p)?N=p:it(p)&&(N=p.level,p.position!=null?O=W9(p.position,L,C):p.renderedPosition!=null&&(O=p.renderedPosition),O!=null&&!x.panningEnabled&&(j=!0)),N=N>x.maxZoom?x.maxZoom:N,N=N<x.minZoom?x.minZoom:N,j||!Q(N)||N===L||O!=null&&(!Q(O.x)||!Q(O.y)))return null;if(O!=null){var H=C,q=L,W=N,Z={x:-W/q*(O.x-H.x)+O.x,y:-W/q*(O.y-H.y)+O.y};return{zoomed:!0,panned:!0,zoom:W,pan:Z}}else return{zoomed:!0,panned:!1,zoom:N,pan:C}},zoom:function(p){if(p===void 0)return this._private.zoom;var x=this.getZoomedViewport(p),C=this._private;return x==null||!x.zoomed?this:(C.zoom=x.zoom,x.panned&&(C.pan.x=x.pan.x,C.pan.y=x.pan.y),this.emit("zoom"+(x.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function(p){var x=this._private,C=!0,L=!0,O=[],N=!1,j=!1;if(!p)return this;if(Q(p.zoom)||(C=!1),it(p.pan)||(L=!1),!C&&!L)return this;if(C){var H=p.zoom;H<x.minZoom||H>x.maxZoom||!x.zoomingEnabled?N=!0:(x.zoom=H,O.push("zoom"))}if(L&&(!N||!p.cancelOnFailedZoom)&&x.panningEnabled){var q=p.pan;Q(q.x)&&(x.pan.x=q.x,j=!1),Q(q.y)&&(x.pan.y=q.y,j=!1),j||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(p){var x=this.getCenterPan(p);return x&&(this._private.pan=x,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(p,x){if(this._private.panningEnabled){if(mt(p)){var C=p;p=this.mutableElements().filter(C)}else yt(p)||(p=this.mutableElements());if(p.length!==0){var L=p.boundingBox(),O=this.width(),N=this.height();x=x===void 0?this._private.zoom:x;var j={x:(O-x*(L.x1+L.x2))/2,y:(N-x*(L.y1+L.y2))/2};return j}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var p=this._private,x=p.container,C=this;return p.sizeCache=p.sizeCache||(x?function(){var L=C.window().getComputedStyle(x),O=function(j){return parseFloat(L.getPropertyValue(j))};return{width:x.clientWidth-O("padding-left")-O("padding-right"),height:x.clientHeight-O("padding-top")-O("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var p=this._private.pan,x=this._private.zoom,C=this.renderedExtent(),L={x1:(C.x1-p.x)/x,x2:(C.x2-p.x)/x,y1:(C.y1-p.y)/x,y2:(C.y2-p.y)/x};return L.w=L.x2-L.x1,L.h=L.y2-L.y1,L},renderedExtent:function(){var p=this.width(),x=this.height();return{x1:0,y1:0,x2:p,y2:x,w:p,h:x}},multiClickDebounceTime:function(p){if(p)this._private.multiClickDebounceTime=p;else return this._private.multiClickDebounceTime;return this}};T4.centre=T4.center,T4.autolockNodes=T4.autolock,T4.autoungrabifyNodes=T4.autoungrabify;var Z8={data:Kc.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Kc.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Kc.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Kc.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Z8.attr=Z8.data,Z8.removeAttr=Z8.removeData;var tE=function(p){var x=this;p=we({},p);var C=p.container;C&&!K(C)&&K(C[0])&&(C=C[0]);var L=C?C._cyreg:null;L=L||{},L&&L.cy&&(L.cy.destroy(),L={});var O=L.readies=L.readies||[];C&&(C._cyreg=L),L.cy=x;var N=B!==void 0&&C!==void 0&&!p.headless,j=p;j.layout=we({name:N?"grid":"null"},j.layout),j.renderer=we({name:N?"canvas":"null"},j.renderer);var H=function(pt,_t,St){return _t!==void 0?_t:St!==void 0?St:pt},q=this._private={container:C,ready:!1,options:j,elements:new w1(this),listeners:[],aniEles:new w1(this),data:j.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:H(!0,j.zoomingEnabled),userZoomingEnabled:H(!0,j.userZoomingEnabled),panningEnabled:H(!0,j.panningEnabled),userPanningEnabled:H(!0,j.userPanningEnabled),boxSelectionEnabled:H(!0,j.boxSelectionEnabled),autolock:H(!1,j.autolock,j.autolockNodes),autoungrabify:H(!1,j.autoungrabify,j.autoungrabifyNodes),autounselectify:H(!1,j.autounselectify),styleEnabled:j.styleEnabled===void 0?N:j.styleEnabled,zoom:Q(j.zoom)?j.zoom:1,pan:{x:it(j.pan)&&Q(j.pan.x)?j.pan.x:0,y:it(j.pan)&&Q(j.pan.y)?j.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:H(250,j.multiClickDebounceTime)};this.createEmitter(),this.selectionType(j.selectionType),this.zoomRange({min:j.minZoom,max:j.maxZoom});var W=function(pt,_t){var St=pt.some(Gt);if(St)return e6.all(pt).then(_t);_t(pt)};q.styleEnabled&&x.setStyle([]);var Z=we({},j,j.renderer);x.initRenderer(Z);var st=function(pt,_t,St){x.notifications(!1);var Et=x.mutableElements();Et.length>0&&Et.remove(),pt!=null&&(it(pt)||rt(pt))&&x.add(pt),x.one("layoutready",function(Pt){x.notifications(!0),x.emit(Pt),x.one("load",_t),x.emitAndNotify("load")}).one("layoutstop",function(){x.one("done",St),x.emit("done")});var Nt=we({},x._private.options.layout);Nt.eles=x.elements(),x.layout(Nt).run()};W([j.style,j.elements],function(bt){var pt=bt[0],_t=bt[1];q.styleEnabled&&x.style().append(pt),st(_t,function(){x.startAnimationLoop(),q.ready=!0,ct(j.ready)&&x.on("ready",j.ready);for(var St=0;St<O.length;St++){var Et=O[St];x.on("ready",Et)}L&&(L.readies=[]),x.emit("ready")},j.done)})},SC=tE.prototype;we(SC,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(p){return this.isReady()?this.emitter().emit("ready",[],p):this.on("ready",p),this},destroy:function(){var p=this;if(!p.destroyed())return p.stopAnimationLoop(),p.destroyRenderer(),this.emit("destroy"),p._private.destroyed=!0,p},hasElementWithId:function(p){return this._private.elements.hasElementWithId(p)},getElementById:function(p){return this._private.elements.getElementById(p)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(p){return this._private.elements.merge(p),this},removeFromPool:function(p){return this._private.elements.unmerge(p),this},container:function(){return this._private.container||null},window:function(){var p=this._private.container;if(p==null)return B;var x=this._private.container.ownerDocument;return x===void 0||x==null?B:x.defaultView||B},mount:function(p){if(p!=null){var x=this,C=x._private,L=C.options;return!K(p)&&K(p[0])&&(p=p[0]),x.stopAnimationLoop(),x.destroyRenderer(),C.container=p,C.styleEnabled=!0,x.invalidateSize(),x.initRenderer(we({},L,L.renderer,{name:L.renderer.name==="null"?"canvas":L.renderer.name})),x.startAnimationLoop(),x.style(L.style),x.emit("mount"),x}},unmount:function(){var p=this;return p.stopAnimationLoop(),p.destroyRenderer(),p.initRenderer({name:"null"}),p.emit("unmount"),p},options:function(){return P2(this._private.options)},json:function(p){var x=this,C=x._private,L=x.mutableElements(),O=function(qt){return x.getElementById(qt.id())};if(it(p)){if(x.startBatch(),p.elements){var N={},j=function(qt,re){for(var ee=[],Ut=[],de=0;de<qt.length;de++){var Yt=qt[de];if(!Yt.data.id){Gc("cy.json() cannot handle elements without an ID attribute");continue}var Ee=""+Yt.data.id,Te=x.getElementById(Ee);N[Ee]=!0,Te.length!==0?Ut.push({ele:Te,json:Yt}):(re&&(Yt.group=re),ee.push(Yt))}x.add(ee);for(var ie=0;ie<Ut.length;ie++){var ze=Ut[ie],me=ze.ele,yn=ze.json;me.json(yn)}};if(rt(p.elements))j(p.elements);else for(var H=["nodes","edges"],q=0;q<H.length;q++){var W=H[q],Z=p.elements[W];rt(Z)&&j(Z,W)}var st=x.collection();L.filter(function(Pt){return!N[Pt.id()]}).forEach(function(Pt){Pt.isParent()?st.merge(Pt):Pt.remove()}),st.forEach(function(Pt){return Pt.children().move({parent:null})}),st.forEach(function(Pt){return O(Pt).remove()})}p.style&&x.style(p.style),p.zoom!=null&&p.zoom!==C.zoom&&x.zoom(p.zoom),p.pan&&(p.pan.x!==C.pan.x||p.pan.y!==C.pan.y)&&x.pan(p.pan),p.data&&x.data(p.data);for(var bt=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],pt=0;pt<bt.length;pt++){var _t=bt[pt];p[_t]!=null&&x[_t](p[_t])}return x.endBatch(),this}else{var St=!!p,Et={};St?Et.elements=this.elements().map(function(Pt){return Pt.json()}):(Et.elements={},L.forEach(function(Pt){var qt=Pt.group();Et.elements[qt]||(Et.elements[qt]=[]),Et.elements[qt].push(Pt.json())})),this._private.styleEnabled&&(Et.style=x.style().json()),Et.data=P2(x.data());var Nt=C.options;return Et.zoomingEnabled=C.zoomingEnabled,Et.userZoomingEnabled=C.userZoomingEnabled,Et.zoom=C.zoom,Et.minZoom=C.minZoom,Et.maxZoom=C.maxZoom,Et.panningEnabled=C.panningEnabled,Et.userPanningEnabled=C.userPanningEnabled,Et.pan=P2(C.pan),Et.boxSelectionEnabled=C.boxSelectionEnabled,Et.renderer=P2(Nt.renderer),Et.hideEdgesOnViewport=Nt.hideEdgesOnViewport,Et.textureOnViewport=Nt.textureOnViewport,Et.wheelSensitivity=Nt.wheelSensitivity,Et.motionBlur=Nt.motionBlur,Et.multiClickDebounceTime=Nt.multiClickDebounceTime,Et}}}),SC.$id=SC.getElementById,[set,het,oj,hM,kC,det,fM,EC,bet,T4,Z8].forEach(function(y){we(SC,y)});var met={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}},vet={maximal:!1,acyclic:!1},f6=function(p){return p.scratch("breadthfirst")},cj=function(p,x){return p.scratch("breadthfirst",x)};function uj(y){this.options=we({},met,vet,y)}uj.prototype.run=function(){var y=this.options,p=y,x=y.cy,C=p.eles,L=C.nodes().filter(function(vi){return!vi.isParent()}),O=C,N=p.directed,j=p.acyclic||p.maximal||p.maximalAdjustments>0,H=v0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),q;if(yt(p.roots))q=p.roots;else if(rt(p.roots)){for(var W=[],Z=0;Z<p.roots.length;Z++){var st=p.roots[Z],bt=x.getElementById(st);W.push(bt)}q=x.collection(W)}else if(mt(p.roots))q=x.$(p.roots);else if(N)q=L.roots();else{var pt=C.components();q=x.collection();for(var _t=function(si){var Qi=pt[si],ks=Qi.maxDegree(!1),as=Qi.filter(function(Es){return Es.degree(!1)===ks});q=q.add(as)},St=0;St<pt.length;St++)_t(St)}var Et=[],Nt={},Pt=function(si,Qi){Et[Qi]==null&&(Et[Qi]=[]);var ks=Et[Qi].length;Et[Qi].push(si),cj(si,{index:ks,depth:Qi})},qt=function(si,Qi){var ks=f6(si),as=ks.depth,Es=ks.index;Et[as][Es]=null,Pt(si,Qi)};O.bfs({roots:q,directed:p.directed,visit:function(si,Qi,ks,as,Es){var eo=si[0],Ta=eo.id();Pt(eo,Es),Nt[Ta]=!0}});for(var re=[],ee=0;ee<L.length;ee++){var Ut=L[ee];Nt[Ut.id()]||re.push(Ut)}var de=function(si){for(var Qi=Et[si],ks=0;ks<Qi.length;ks++){var as=Qi[ks];if(as==null){Qi.splice(ks,1),ks--;continue}cj(as,{depth:si,index:ks})}},Yt=function(){for(var si=0;si<Et.length;si++)de(si)},Ee=function(si,Qi){for(var ks=f6(si),as=si.incomers().filter(function(G){return G.isNode()&&C.has(G)}),Es=-1,eo=si.id(),Ta=0;Ta<as.length;Ta++){var pa=as[Ta],mo=f6(pa);Es=Math.max(Es,mo.depth)}if(ks.depth<=Es){if(!p.acyclic&&Qi[eo])return null;var Kn=Es+1;return qt(si,Kn),Qi[eo]=Kn,!0}return!1};if(N&&j){var Te=[],ie={},ze=function(si){return Te.push(si)},me=function(){return Te.shift()};for(L.forEach(function(vi){return Te.push(vi)});Te.length>0;){var yn=me(),nn=Ee(yn,ie);if(nn)yn.outgoers().filter(function(vi){return vi.isNode()&&C.has(vi)}).forEach(ze);else if(nn===null){Gc("Detected double maximal shift for node `"+yn.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Yt();var qe=0;if(p.avoidOverlap)for(var Tn=0;Tn<L.length;Tn++){var Xn=L[Tn],lr=Xn.layoutDimensions(p),Sn=lr.w,or=lr.h;qe=Math.max(qe,Sn,or)}var pr={},kr=function(si){if(pr[si.id()])return pr[si.id()];for(var Qi=f6(si).depth,ks=si.neighborhood(),as=0,Es=0,eo=0;eo<ks.length;eo++){var Ta=ks[eo];if(!(Ta.isEdge()||Ta.isParent()||!L.has(Ta))){var pa=f6(Ta);if(pa!=null){var mo=pa.index,Kn=pa.depth;if(!(mo==null||Kn==null)){var G=Et[Kn].length;Kn<Qi&&(as+=mo/G,Es++)}}}}return Es=Math.max(1,Es),as=as/Es,Es===0&&(as=0),pr[si.id()]=as,as},wr=function(si,Qi){var ks=kr(si),as=kr(Qi),Es=ks-as;return Es===0?ce(si.id(),Qi.id()):Es};p.depthSort!==void 0&&(wr=p.depthSort);for(var Cr=0;Cr<Et.length;Cr++)Et[Cr].sort(wr),de(Cr);for(var $n=[],cr=0;cr<re.length;cr++)$n.push(re[cr]);Et.unshift($n),Yt();for(var mr=0,Sr=0;Sr<Et.length;Sr++)mr=Math.max(Et[Sr].length,mr);var gi={x:H.x1+H.w/2,y:H.x1+H.h/2},ss=Et.reduce(function(vi,si){return Math.max(vi,si.length)},0),na=function(si){var Qi=f6(si),ks=Qi.depth,as=Qi.index,Es=Et[ks].length,eo=Math.max(H.w/((p.grid?ss:Es)+1),qe),Ta=Math.max(H.h/(Et.length+1),qe),pa=Math.min(H.w/2/Et.length,H.h/2/Et.length);if(pa=Math.max(pa,qe),p.circle){var Kn=pa*ks+pa-(Et.length>0&&Et[0].length<=3?pa/2:0),G=2*Math.PI/Et[ks].length*as;return ks===0&&Et[0].length===1&&(Kn=1),{x:gi.x+Kn*Math.cos(G),y:gi.y+Kn*Math.sin(G)}}else{var mo={x:gi.x+(as+1-(Es+1)/2)*eo,y:(ks+1)*Ta};return mo}};return C.nodes().layoutPositions(this,p,na),this};var yet={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function lj(y){this.options=we({},yet,y)}lj.prototype.run=function(){var y=this.options,p=y,x=y.cy,C=p.eles,L=p.counterclockwise!==void 0?!p.counterclockwise:p.clockwise,O=C.nodes().not(":parent");p.sort&&(O=O.sort(p.sort));for(var N=v0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),j={x:N.x1+N.w/2,y:N.y1+N.h/2},H=p.sweep===void 0?2*Math.PI-2*Math.PI/O.length:p.sweep,q=H/Math.max(1,O.length-1),W,Z=0,st=0;st<O.length;st++){var bt=O[st],pt=bt.layoutDimensions(p),_t=pt.w,St=pt.h;Z=Math.max(Z,_t,St)}if(Q(p.radius)?W=p.radius:O.length<=1?W=0:W=Math.min(N.h,N.w)/2-Z,O.length>1&&p.avoidOverlap){Z*=1.75;var Et=Math.cos(q)-Math.cos(0),Nt=Math.sin(q)-Math.sin(0),Pt=Math.sqrt(Z*Z/(Et*Et+Nt*Nt));W=Math.max(Pt,W)}var qt=function(ee,Ut){var de=p.startAngle+Ut*q*(L?1:-1),Yt=W*Math.cos(de),Ee=W*Math.sin(de),Te={x:j.x+Yt,y:j.y+Ee};return Te};return C.nodes().layoutPositions(this,p,qt),this};var xet={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(p){return p.degree()},levelWidth:function(p){return p.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function hj(y){this.options=we({},xet,y)}hj.prototype.run=function(){for(var y=this.options,p=y,x=p.counterclockwise!==void 0?!p.counterclockwise:p.clockwise,C=y.cy,L=p.eles,O=L.nodes().not(":parent"),N=v0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:C.width(),h:C.height()}),j={x:N.x1+N.w/2,y:N.y1+N.h/2},H=[],q=0,W=0;W<O.length;W++){var Z=O[W],st=void 0;st=p.concentric(Z),H.push({value:st,node:Z}),Z._private.scratch.concentric=st}O.updateStyle();for(var bt=0;bt<O.length;bt++){var pt=O[bt],_t=pt.layoutDimensions(p);q=Math.max(q,_t.w,_t.h)}H.sort(function(vi,si){return si.value-vi.value});for(var St=p.levelWidth(O),Et=[[]],Nt=Et[0],Pt=0;Pt<H.length;Pt++){var qt=H[Pt];if(Nt.length>0){var re=Math.abs(Nt[0].value-qt.value);re>=St&&(Nt=[],Et.push(Nt))}Nt.push(qt)}var ee=q+p.minNodeSpacing;if(!p.avoidOverlap){var Ut=Et.length>0&&Et[0].length>1,de=Math.min(N.w,N.h)/2-ee,Yt=de/(Et.length+Ut?1:0);ee=Math.min(ee,Yt)}for(var Ee=0,Te=0;Te<Et.length;Te++){var ie=Et[Te],ze=p.sweep===void 0?2*Math.PI-2*Math.PI/ie.length:p.sweep,me=ie.dTheta=ze/Math.max(1,ie.length-1);if(ie.length>1&&p.avoidOverlap){var yn=Math.cos(me)-Math.cos(0),nn=Math.sin(me)-Math.sin(0),qe=Math.sqrt(ee*ee/(yn*yn+nn*nn));Ee=Math.max(qe,Ee)}ie.r=Ee,Ee+=ee}if(p.equidistant){for(var Tn=0,Xn=0,lr=0;lr<Et.length;lr++){var Sn=Et[lr],or=Sn.r-Xn;Tn=Math.max(Tn,or)}Xn=0;for(var pr=0;pr<Et.length;pr++){var kr=Et[pr];pr===0&&(Xn=kr.r),kr.r=Xn,Xn+=Tn}}for(var wr={},Cr=0;Cr<Et.length;Cr++)for(var $n=Et[Cr],cr=$n.dTheta,mr=$n.r,Sr=0;Sr<$n.length;Sr++){var gi=$n[Sr],ss=p.startAngle+(x?1:-1)*cr*Sr,na={x:j.x+mr*Math.cos(ss),y:j.y+mr*Math.sin(ss)};wr[gi.node.id()]=na}return L.nodes().layoutPositions(this,p,function(vi){var si=vi.id();return wr[si]}),this};var pM,ket={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(p,x){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(p){return 2048},nodeOverlap:4,idealEdgeLength:function(p){return 32},edgeElasticity:function(p){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function _C(y){this.options=we({},ket,y),this.options.layout=this;var p=this.options.eles.nodes(),x=this.options.eles.edges(),C=x.filter(function(L){var O=L.source().data("id"),N=L.target().data("id"),j=p.some(function(q){return q.data("id")===O}),H=p.some(function(q){return q.data("id")===N});return!j||!H});this.options.eles=this.options.eles.not(C)}_C.prototype.run=function(){var y=this.options,p=y.cy,x=this;x.stopped=!1,(y.animate===!0||y.animate===!1)&&x.emit({type:"layoutstart",layout:x}),y.debug===!0?pM=!0:pM=!1;var C=Eet(p,x,y);pM&&_et(C),y.randomize&&Aet(C);var L=ip(),O=function(){Let(C,p,y),y.fit===!0&&p.fit(y.padding)},N=function(st){return!(x.stopped||st>=y.numIter||(Det(C,y),C.temperature=C.temperature*y.coolingFactor,C.temperature<y.minTemp))},j=function(){if(y.animate===!0||y.animate===!1)O(),x.one("layoutstop",y.stop),x.emit({type:"layoutstop",layout:x});else{var st=y.eles.nodes(),bt=fj(C,y,st);st.layoutPositions(x,y,bt)}},H=0,q=!0;if(y.animate===!0){var W=function Z(){for(var st=0;q&&st<y.refresh;)q=N(H),H++,st++;if(!q)gj(C,y),j();else{var bt=ip();bt-L>=y.animationThreshold&&O(),g1(Z)}};W()}else{for(;q;)q=N(H),H++;gj(C,y),j()}return this},_C.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},_C.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Eet=function(p,x,C){for(var L=C.eles.edges(),O=C.eles.nodes(),N=v0(C.boundingBox?C.boundingBox:{x1:0,y1:0,w:p.width(),h:p.height()}),j={isCompound:p.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:L.size(),temperature:C.initialTemp,clientWidth:N.w,clientHeight:N.h,boundingBox:N},H=C.eles.components(),q={},W=0;W<H.length;W++)for(var Z=H[W],st=0;st<Z.length;st++){var bt=Z[st];q[bt.id()]=W}for(var W=0;W<j.nodeSize;W++){var pt=O[W],_t=pt.layoutDimensions(C),St={};St.isLocked=pt.locked(),St.id=pt.data("id"),St.parentId=pt.data("parent"),St.cmptId=q[pt.id()],St.children=[],St.positionX=pt.position("x"),St.positionY=pt.position("y"),St.offsetX=0,St.offsetY=0,St.height=_t.w,St.width=_t.h,St.maxX=St.positionX+St.width/2,St.minX=St.positionX-St.width/2,St.maxY=St.positionY+St.height/2,St.minY=St.positionY-St.height/2,St.padLeft=parseFloat(pt.style("padding")),St.padRight=parseFloat(pt.style("padding")),St.padTop=parseFloat(pt.style("padding")),St.padBottom=parseFloat(pt.style("padding")),St.nodeRepulsion=ct(C.nodeRepulsion)?C.nodeRepulsion(pt):C.nodeRepulsion,j.layoutNodes.push(St),j.idToIndex[St.id]=W}for(var Et=[],Nt=0,Pt=-1,qt=[],W=0;W<j.nodeSize;W++){var pt=j.layoutNodes[W],re=pt.parentId;re!=null?j.layoutNodes[j.idToIndex[re]].children.push(pt.id):(Et[++Pt]=pt.id,qt.push(pt.id))}for(j.graphSet.push(qt);Nt<=Pt;){var ee=Et[Nt++],Ut=j.idToIndex[ee],bt=j.layoutNodes[Ut],de=bt.children;if(de.length>0){j.graphSet.push(de);for(var W=0;W<de.length;W++)Et[++Pt]=de[W]}}for(var W=0;W<j.graphSet.length;W++)for(var Yt=j.graphSet[W],st=0;st<Yt.length;st++){var Ee=j.idToIndex[Yt[st]];j.indexToGraph[Ee]=W}for(var W=0;W<j.edgeSize;W++){var Te=L[W],ie={};ie.id=Te.data("id"),ie.sourceId=Te.data("source"),ie.targetId=Te.data("target");var ze=ct(C.idealEdgeLength)?C.idealEdgeLength(Te):C.idealEdgeLength,me=ct(C.edgeElasticity)?C.edgeElasticity(Te):C.edgeElasticity,yn=j.idToIndex[ie.sourceId],nn=j.idToIndex[ie.targetId],qe=j.indexToGraph[yn],Tn=j.indexToGraph[nn];if(qe!=Tn){for(var Xn=Tet(ie.sourceId,ie.targetId,j),lr=j.graphSet[Xn],Sn=0,St=j.layoutNodes[yn];lr.indexOf(St.id)===-1;)St=j.layoutNodes[j.idToIndex[St.parentId]],Sn++;for(St=j.layoutNodes[nn];lr.indexOf(St.id)===-1;)St=j.layoutNodes[j.idToIndex[St.parentId]],Sn++;ze*=Sn*C.nestingFactor}ie.idealLength=ze,ie.elasticity=me,j.layoutEdges.push(ie)}return j},Tet=function(p,x,C){var L=Cet(p,x,0,C);return 2>L.count?0:L.graph},Cet=function y(p,x,C,L){var O=L.graphSet[C];if(-1<O.indexOf(p)&&-1<O.indexOf(x))return{count:2,graph:C};for(var N=0,j=0;j<O.length;j++){var H=O[j],q=L.idToIndex[H],W=L.layoutNodes[q].children;if(W.length!==0){var Z=L.indexToGraph[L.idToIndex[W[0]]],st=y(p,x,Z,L);if(st.count!==0)if(st.count===1){if(N++,N===2)break}else return st}}return{count:N,graph:C}},_et,Aet=function(p,x){for(var C=p.clientWidth,L=p.clientHeight,O=0;O<p.nodeSize;O++){var N=p.layoutNodes[O];N.children.length===0&&!N.isLocked&&(N.positionX=Math.random()*C,N.positionY=Math.random()*L)}},fj=function(p,x,C){var L=p.boundingBox,O={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return x.boundingBox&&(C.forEach(function(N){var j=p.layoutNodes[p.idToIndex[N.data("id")]];O.x1=Math.min(O.x1,j.positionX),O.x2=Math.max(O.x2,j.positionX),O.y1=Math.min(O.y1,j.positionY),O.y2=Math.max(O.y2,j.positionY)}),O.w=O.x2-O.x1,O.h=O.y2-O.y1),function(N,j){var H=p.layoutNodes[p.idToIndex[N.data("id")]];if(x.boundingBox){var q=(H.positionX-O.x1)/O.w,W=(H.positionY-O.y1)/O.h;return{x:L.x1+q*L.w,y:L.y1+W*L.h}}else return{x:H.positionX,y:H.positionY}}},Let=function(p,x,C){var L=C.layout,O=C.eles.nodes(),N=fj(p,C,O);O.positions(N),p.ready!==!0&&(p.ready=!0,L.one("layoutready",C.ready),L.emit({type:"layoutready",layout:this}))},Det=function(p,x,C){Met(p,x),Net(p),Pet(p,x),Fet(p),Bet(p)},Met=function(p,x){for(var C=0;C<p.graphSet.length;C++)for(var L=p.graphSet[C],O=L.length,N=0;N<O;N++)for(var j=p.layoutNodes[p.idToIndex[L[N]]],H=N+1;H<O;H++){var q=p.layoutNodes[p.idToIndex[L[H]]];Iet(j,q,p,x)}},dj=function(p){return-p+2*p*Math.random()},Iet=function(p,x,C,L){var O=p.cmptId,N=x.cmptId;if(!(O!==N&&!C.isCompound)){var j=x.positionX-p.positionX,H=x.positionY-p.positionY,q=1;j===0&&H===0&&(j=dj(q),H=dj(q));var W=Oet(p,x,j,H);if(W>0)var Z=L.nodeOverlap*W,st=Math.sqrt(j*j+H*H),bt=Z*j/st,pt=Z*H/st;else var _t=AC(p,j,H),St=AC(x,-1*j,-1*H),Et=St.x-_t.x,Nt=St.y-_t.y,Pt=Et*Et+Nt*Nt,st=Math.sqrt(Pt),Z=(p.nodeRepulsion+x.nodeRepulsion)/Pt,bt=Z*Et/st,pt=Z*Nt/st;p.isLocked||(p.offsetX-=bt,p.offsetY-=pt),x.isLocked||(x.offsetX+=bt,x.offsetY+=pt)}},Oet=function(p,x,C,L){if(C>0)var O=p.maxX-x.minX;else var O=x.maxX-p.minX;if(L>0)var N=p.maxY-x.minY;else var N=x.maxY-p.minY;return O>=0&&N>=0?Math.sqrt(O*O+N*N):0},AC=function(p,x,C){var L=p.positionX,O=p.positionY,N=p.height||1,j=p.width||1,H=C/x,q=N/j,W={};return x===0&&0<C||x===0&&0>C?(W.x=L,W.y=O+N/2,W):0<x&&-1*q<=H&&H<=q?(W.x=L+j/2,W.y=O+j*C/2/x,W):0>x&&-1*q<=H&&H<=q?(W.x=L-j/2,W.y=O-j*C/2/x,W):0<C&&(H<=-1*q||H>=q)?(W.x=L+N*x/2/C,W.y=O+N/2,W):(0>C&&(H<=-1*q||H>=q)&&(W.x=L-N*x/2/C,W.y=O-N/2),W)},Net=function(p,x){for(var C=0;C<p.edgeSize;C++){var L=p.layoutEdges[C],O=p.idToIndex[L.sourceId],N=p.layoutNodes[O],j=p.idToIndex[L.targetId],H=p.layoutNodes[j],q=H.positionX-N.positionX,W=H.positionY-N.positionY;if(!(q===0&&W===0)){var Z=AC(N,q,W),st=AC(H,-1*q,-1*W),bt=st.x-Z.x,pt=st.y-Z.y,_t=Math.sqrt(bt*bt+pt*pt),St=Math.pow(L.idealLength-_t,2)/L.elasticity;if(_t!==0)var Et=St*bt/_t,Nt=St*pt/_t;else var Et=0,Nt=0;N.isLocked||(N.offsetX+=Et,N.offsetY+=Nt),H.isLocked||(H.offsetX-=Et,H.offsetY-=Nt)}}},Pet=function(p,x){if(x.gravity!==0)for(var C=1,L=0;L<p.graphSet.length;L++){var O=p.graphSet[L],N=O.length;if(L===0)var j=p.clientHeight/2,H=p.clientWidth/2;else var q=p.layoutNodes[p.idToIndex[O[0]]],W=p.layoutNodes[p.idToIndex[q.parentId]],j=W.positionX,H=W.positionY;for(var Z=0;Z<N;Z++){var st=p.layoutNodes[p.idToIndex[O[Z]]];if(!st.isLocked){var bt=j-st.positionX,pt=H-st.positionY,_t=Math.sqrt(bt*bt+pt*pt);if(_t>C){var St=x.gravity*bt/_t,Et=x.gravity*pt/_t;st.offsetX+=St,st.offsetY+=Et}}}}},Fet=function(p,x){var C=[],L=0,O=-1;for(C.push.apply(C,p.graphSet[0]),O+=p.graphSet[0].length;L<=O;){var N=C[L++],j=p.idToIndex[N],H=p.layoutNodes[j],q=H.children;if(0<q.length&&!H.isLocked){for(var W=H.offsetX,Z=H.offsetY,st=0;st<q.length;st++){var bt=p.layoutNodes[p.idToIndex[q[st]]];bt.offsetX+=W,bt.offsetY+=Z,C[++O]=q[st]}H.offsetX=0,H.offsetY=0}}},Bet=function(p,x){for(var C=0;C<p.nodeSize;C++){var L=p.layoutNodes[C];0<L.children.length&&(L.maxX=void 0,L.minX=void 0,L.maxY=void 0,L.minY=void 0)}for(var C=0;C<p.nodeSize;C++){var L=p.layoutNodes[C];if(!(0<L.children.length||L.isLocked)){var O=Ret(L.offsetX,L.offsetY,p.temperature);L.positionX+=O.x,L.positionY+=O.y,L.offsetX=0,L.offsetY=0,L.minX=L.positionX-L.width,L.maxX=L.positionX+L.width,L.minY=L.positionY-L.height,L.maxY=L.positionY+L.height,jet(L,p)}}for(var C=0;C<p.nodeSize;C++){var L=p.layoutNodes[C];0<L.children.length&&!L.isLocked&&(L.positionX=(L.maxX+L.minX)/2,L.positionY=(L.maxY+L.minY)/2,L.width=L.maxX-L.minX,L.height=L.maxY-L.minY)}},Ret=function(p,x,C){var L=Math.sqrt(p*p+x*x);if(L>C)var O={x:C*p/L,y:C*x/L};else var O={x:p,y:x};return O},jet=function y(p,x){var C=p.parentId;if(C!=null){var L=x.layoutNodes[x.idToIndex[C]],O=!1;if((L.maxX==null||p.maxX+L.padRight>L.maxX)&&(L.maxX=p.maxX+L.padRight,O=!0),(L.minX==null||p.minX-L.padLeft<L.minX)&&(L.minX=p.minX-L.padLeft,O=!0),(L.maxY==null||p.maxY+L.padBottom>L.maxY)&&(L.maxY=p.maxY+L.padBottom,O=!0),(L.minY==null||p.minY-L.padTop<L.minY)&&(L.minY=p.minY-L.padTop,O=!0),O)return y(L,x)}},gj=function(p,x){for(var C=p.layoutNodes,L=[],O=0;O<C.length;O++){var N=C[O],j=N.cmptId,H=L[j]=L[j]||[];H.push(N)}for(var q=0,O=0;O<L.length;O++){var W=L[O];if(W){W.x1=1/0,W.x2=-1/0,W.y1=1/0,W.y2=-1/0;for(var Z=0;Z<W.length;Z++){var st=W[Z];W.x1=Math.min(W.x1,st.positionX-st.width/2),W.x2=Math.max(W.x2,st.positionX+st.width/2),W.y1=Math.min(W.y1,st.positionY-st.height/2),W.y2=Math.max(W.y2,st.positionY+st.height/2)}W.w=W.x2-W.x1,W.h=W.y2-W.y1,q+=W.w*W.h}}L.sort(function(Nt,Pt){return Pt.w*Pt.h-Nt.w*Nt.h});for(var bt=0,pt=0,_t=0,St=0,Et=Math.sqrt(q)*p.clientWidth/p.clientHeight,O=0;O<L.length;O++){var W=L[O];if(W){for(var Z=0;Z<W.length;Z++){var st=W[Z];st.isLocked||(st.positionX+=bt-W.x1,st.positionY+=pt-W.y1)}bt+=W.w+x.componentSpacing,_t+=W.w+x.componentSpacing,St=Math.max(St,W.h),_t>Et&&(pt+=St+x.componentSpacing,bt=0,_t=0,St=0)}}},$et={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(p){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function pj(y){this.options=we({},$et,y)}pj.prototype.run=function(){var y=this.options,p=y,x=y.cy,C=p.eles,L=C.nodes().not(":parent");p.sort&&(L=L.sort(p.sort));var O=v0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()});if(O.h===0||O.w===0)C.nodes().layoutPositions(this,p,function(pr){return{x:O.x1,y:O.y1}});else{var N=L.size(),j=Math.sqrt(N*O.h/O.w),H=Math.round(j),q=Math.round(O.w/O.h*j),W=function(kr){if(kr==null)return Math.min(H,q);var wr=Math.min(H,q);wr==H?H=kr:q=kr},Z=function(kr){if(kr==null)return Math.max(H,q);var wr=Math.max(H,q);wr==H?H=kr:q=kr},st=p.rows,bt=p.cols!=null?p.cols:p.columns;if(st!=null&&bt!=null)H=st,q=bt;else if(st!=null&&bt==null)H=st,q=Math.ceil(N/H);else if(st==null&&bt!=null)q=bt,H=Math.ceil(N/q);else if(q*H>N){var pt=W(),_t=Z();(pt-1)*_t>=N?W(pt-1):(_t-1)*pt>=N&&Z(_t-1)}else for(;q*H<N;){var St=W(),Et=Z();(Et+1)*St>=N?Z(Et+1):W(St+1)}var Nt=O.w/q,Pt=O.h/H;if(p.condense&&(Nt=0,Pt=0),p.avoidOverlap)for(var qt=0;qt<L.length;qt++){var re=L[qt],ee=re._private.position;(ee.x==null||ee.y==null)&&(ee.x=0,ee.y=0);var Ut=re.layoutDimensions(p),de=p.avoidOverlapPadding,Yt=Ut.w+de,Ee=Ut.h+de;Nt=Math.max(Nt,Yt),Pt=Math.max(Pt,Ee)}for(var Te={},ie=function(kr,wr){return!!Te["c-"+kr+"-"+wr]},ze=function(kr,wr){Te["c-"+kr+"-"+wr]=!0},me=0,yn=0,nn=function(){yn++,yn>=q&&(yn=0,me++)},qe={},Tn=0;Tn<L.length;Tn++){var Xn=L[Tn],lr=p.position(Xn);if(lr&&(lr.row!==void 0||lr.col!==void 0)){var Sn={row:lr.row,col:lr.col};if(Sn.col===void 0)for(Sn.col=0;ie(Sn.row,Sn.col);)Sn.col++;else if(Sn.row===void 0)for(Sn.row=0;ie(Sn.row,Sn.col);)Sn.row++;qe[Xn.id()]=Sn,ze(Sn.row,Sn.col)}}var or=function(kr,wr){var Cr,$n;if(kr.locked()||kr.isParent())return!1;var cr=qe[kr.id()];if(cr)Cr=cr.col*Nt+Nt/2+O.x1,$n=cr.row*Pt+Pt/2+O.y1;else{for(;ie(me,yn);)nn();Cr=yn*Nt+Nt/2+O.x1,$n=me*Pt+Pt/2+O.y1,ze(me,yn),nn()}return{x:Cr,y:$n}};L.layoutPositions(this,p,or)}return this};var zet={ready:function(){},stop:function(){}};function bM(y){this.options=we({},zet,y)}bM.prototype.run=function(){var y=this.options,p=y.eles,x=this;return y.cy,x.emit("layoutstart"),p.nodes().positions(function(){return{x:0,y:0}}),x.one("layoutready",y.ready),x.emit("layoutready"),x.one("layoutstop",y.stop),x.emit("layoutstop"),this},bM.prototype.stop=function(){return this};var qet={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function bj(y){this.options=we({},qet,y)}bj.prototype.run=function(){var y=this.options,p=y.eles,x=p.nodes(),C=ct(y.positions);function L(O){if(y.positions==null)return sQ(O.position());if(C)return y.positions(O);var N=y.positions[O._private.data.id];return N??null}return x.layoutPositions(this,y,function(O,N){var j=L(O);return O.locked()||j==null?!1:j}),this};var Het={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function wj(y){this.options=we({},Het,y)}wj.prototype.run=function(){var y=this.options,p=y.cy,x=y.eles,C=v0(y.boundingBox?y.boundingBox:{x1:0,y1:0,w:p.width(),h:p.height()}),L=function(N,j){return{x:C.x1+Math.round(Math.random()*C.w),y:C.y1+Math.round(Math.random()*C.h)}};return x.nodes().layoutPositions(this,y,L),this};var Vet=[{name:"breadthfirst",impl:uj},{name:"circle",impl:lj},{name:"concentric",impl:hj},{name:"cose",impl:_C},{name:"grid",impl:pj},{name:"null",impl:bM},{name:"preset",impl:bj},{name:"random",impl:wj}];function mj(y){this.options=y,this.notifications=0}var vj=function(){},yj=function(){throw new Error("A headless instance can not render images")};mj.prototype={recalculateRenderedStyle:vj,notify:function(){this.notifications++},init:vj,isHeadless:function(){return!0},png:yj,jpg:yj};var wM={};wM.arrowShapeWidth=.3,wM.registerArrowShapes=function(){var y=this.arrowShapes={},p=this,x=function(q,W,Z,st,bt,pt,_t){var St=bt.x-Z/2-_t,Et=bt.x+Z/2+_t,Nt=bt.y-Z/2-_t,Pt=bt.y+Z/2+_t,qt=St<=q&&q<=Et&&Nt<=W&&W<=Pt;return qt},C=function(q,W,Z,st,bt){var pt=q*Math.cos(st)-W*Math.sin(st),_t=q*Math.sin(st)+W*Math.cos(st),St=pt*Z,Et=_t*Z,Nt=St+bt.x,Pt=Et+bt.y;return{x:Nt,y:Pt}},L=function(q,W,Z,st){for(var bt=[],pt=0;pt<q.length;pt+=2){var _t=q[pt],St=q[pt+1];bt.push(C(_t,St,W,Z,st))}return bt},O=function(q){for(var W=[],Z=0;Z<q.length;Z++){var st=q[Z];W.push(st.x,st.y)}return W},N=function(q){return q.pstyle("width").pfValue*q.pstyle("arrow-scale").pfValue*2},j=function(q,W){mt(W)&&(W=y[W]),y[q]=we({name:q,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(st,bt,pt,_t,St,Et){var Nt=O(L(this.points,pt+2*Et,_t,St)),Pt=y0(st,bt,Nt);return Pt},roughCollide:x,draw:function(st,bt,pt,_t){var St=L(this.points,bt,pt,_t);p.arrowShapeImpl("polygon")(st,St)},spacing:function(st){return 0},gap:N},W)};j("none",{collide:ay,roughCollide:ay,draw:BD,spacing:sp,gap:sp}),j("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),j("arrow","triangle"),j("triangle-backcurve",{points:y.triangle.points,controlPoint:[0,-.15],roughCollide:x,draw:function(q,W,Z,st,bt){var pt=L(this.points,W,Z,st),_t=this.controlPoint,St=C(_t[0],_t[1],W,Z,st);p.arrowShapeImpl(this.name)(q,pt,St)},gap:function(q){return N(q)*.8}}),j("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(q,W,Z,st,bt,pt,_t){var St=O(L(this.points,Z+2*_t,st,bt)),Et=O(L(this.pointsTee,Z+2*_t,st,bt)),Nt=y0(q,W,St)||y0(q,W,Et);return Nt},draw:function(q,W,Z,st,bt){var pt=L(this.points,W,Z,st),_t=L(this.pointsTee,W,Z,st);p.arrowShapeImpl(this.name)(q,pt,_t)}}),j("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(q,W,Z,st,bt,pt,_t){var St=bt,Et=Math.pow(St.x-q,2)+Math.pow(St.y-W,2)<=Math.pow((Z+2*_t)*this.radius,2),Nt=O(L(this.points,Z+2*_t,st,bt));return y0(q,W,Nt)||Et},draw:function(q,W,Z,st,bt){var pt=L(this.pointsTr,W,Z,st);p.arrowShapeImpl(this.name)(q,pt,st.x,st.y,this.radius*W)},spacing:function(q){return p.getArrowWidth(q.pstyle("width").pfValue,q.pstyle("arrow-scale").value)*this.radius}}),j("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(q,W){var Z=this.baseCrossLinePts.slice(),st=W/q,bt=3,pt=5;return Z[bt]=Z[bt]-st,Z[pt]=Z[pt]-st,Z},collide:function(q,W,Z,st,bt,pt,_t){var St=O(L(this.points,Z+2*_t,st,bt)),Et=O(L(this.crossLinePts(Z,pt),Z+2*_t,st,bt)),Nt=y0(q,W,St)||y0(q,W,Et);return Nt},draw:function(q,W,Z,st,bt){var pt=L(this.points,W,Z,st),_t=L(this.crossLinePts(W,bt),W,Z,st);p.arrowShapeImpl(this.name)(q,pt,_t)}}),j("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(q){return N(q)*.525}}),j("circle",{radius:.15,collide:function(q,W,Z,st,bt,pt,_t){var St=bt,Et=Math.pow(St.x-q,2)+Math.pow(St.y-W,2)<=Math.pow((Z+2*_t)*this.radius,2);return Et},draw:function(q,W,Z,st,bt){p.arrowShapeImpl(this.name)(q,st.x,st.y,this.radius*W)},spacing:function(q){return p.getArrowWidth(q.pstyle("width").pfValue,q.pstyle("arrow-scale").value)*this.radius}}),j("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(q){return 1},gap:function(q){return 1}}),j("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),j("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(q){return q.pstyle("width").pfValue*q.pstyle("arrow-scale").value}}),j("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(q){return .95*q.pstyle("width").pfValue*q.pstyle("arrow-scale").value}})};var C4={};C4.projectIntoViewport=function(y,p){var x=this.cy,C=this.findContainerClientCoords(),L=C[0],O=C[1],N=C[4],j=x.pan(),H=x.zoom(),q=((y-L)/N-j.x)/H,W=((p-O)/N-j.y)/H;return[q,W]},C4.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var y=this.container,p=y.getBoundingClientRect(),x=this.cy.window().getComputedStyle(y),C=function(Et){return parseFloat(x.getPropertyValue(Et))},L={left:C("padding-left"),right:C("padding-right"),top:C("padding-top"),bottom:C("padding-bottom")},O={left:C("border-left-width"),right:C("border-right-width"),top:C("border-top-width"),bottom:C("border-bottom-width")},N=y.clientWidth,j=y.clientHeight,H=L.left+L.right,q=L.top+L.bottom,W=O.left+O.right,Z=p.width/(N+W),st=N-H,bt=j-q,pt=p.left+L.left+O.left,_t=p.top+L.top+O.top;return this.containerBB=[pt,_t,st,bt,Z]},C4.invalidateContainerClientCoordsCache=function(){this.containerBB=null},C4.findNearestElement=function(y,p,x,C){return this.findNearestElements(y,p,x,C)[0]},C4.findNearestElements=function(y,p,x,C){var L=this,O=this,N=O.getCachedZSortedEles(),j=[],H=O.cy.zoom(),q=O.cy.hasCompoundNodes(),W=(C?24:8)/H,Z=(C?8:2)/H,st=(C?8:2)/H,bt=1/0,pt,_t;x&&(N=N.interactive);function St(Ut,de){if(Ut.isNode()){if(_t)return;_t=Ut,j.push(Ut)}if(Ut.isEdge()&&(de==null||de<bt))if(pt){if(pt.pstyle("z-compound-depth").value===Ut.pstyle("z-compound-depth").value&&pt.pstyle("z-compound-depth").value===Ut.pstyle("z-compound-depth").value){for(var Yt=0;Yt<j.length;Yt++)if(j[Yt].isEdge()){j[Yt]=Ut,pt=Ut,bt=de??bt;break}}}else j.push(Ut),pt=Ut,bt=de??bt}function Et(Ut){var de=Ut.outerWidth()+2*Z,Yt=Ut.outerHeight()+2*Z,Ee=de/2,Te=Yt/2,ie=Ut.position();if(ie.x-Ee<=y&&y<=ie.x+Ee&&ie.y-Te<=p&&p<=ie.y+Te){var ze=O.nodeShapes[L.getNodeShape(Ut)];if(ze.checkPoint(y,p,0,de,Yt,ie.x,ie.y))return St(Ut,0),!0}}function Nt(Ut){var de=Ut._private,Yt=de.rscratch,Ee=Ut.pstyle("width").pfValue,Te=Ut.pstyle("arrow-scale").value,ie=Ee/2+W,ze=ie*ie,me=ie*2,Tn=de.source,Xn=de.target,yn;if(Yt.edgeType==="segments"||Yt.edgeType==="straight"||Yt.edgeType==="haystack"){for(var nn=Yt.allpts,qe=0;qe+3<nn.length;qe+=2)if(mQ(y,p,nn[qe],nn[qe+1],nn[qe+2],nn[qe+3],me)&&ze>(yn=EQ(y,p,nn[qe],nn[qe+1],nn[qe+2],nn[qe+3])))return St(Ut,yn),!0}else if(Yt.edgeType==="bezier"||Yt.edgeType==="multibezier"||Yt.edgeType==="self"||Yt.edgeType==="compound"){for(var nn=Yt.allpts,qe=0;qe+5<Yt.allpts.length;qe+=4)if(vQ(y,p,nn[qe],nn[qe+1],nn[qe+2],nn[qe+3],nn[qe+4],nn[qe+5],me)&&ze>(yn=kQ(y,p,nn[qe],nn[qe+1],nn[qe+2],nn[qe+3],nn[qe+4],nn[qe+5])))return St(Ut,yn),!0}for(var Tn=Tn||de.source,Xn=Xn||de.target,lr=L.getArrowWidth(Ee,Te),Sn=[{name:"source",x:Yt.arrowStartX,y:Yt.arrowStartY,angle:Yt.srcArrowAngle},{name:"target",x:Yt.arrowEndX,y:Yt.arrowEndY,angle:Yt.tgtArrowAngle},{name:"mid-source",x:Yt.midX,y:Yt.midY,angle:Yt.midsrcArrowAngle},{name:"mid-target",x:Yt.midX,y:Yt.midY,angle:Yt.midtgtArrowAngle}],qe=0;qe<Sn.length;qe++){var or=Sn[qe],pr=O.arrowShapes[Ut.pstyle(or.name+"-arrow-shape").value],kr=Ut.pstyle("width").pfValue;if(pr.roughCollide(y,p,lr,or.angle,{x:or.x,y:or.y},kr,W)&&pr.collide(y,p,lr,or.angle,{x:or.x,y:or.y},kr,W))return St(Ut),!0}q&&j.length>0&&(Et(Tn),Et(Xn))}function Pt(Ut,de,Yt){return fb(Ut,de,Yt)}function qt(Ut,de){var Yt=Ut._private,Ee=st,Te;de?Te=de+"-":Te="",Ut.boundingBox();var ie=Yt.labelBounds[de||"main"],ze=Ut.pstyle(Te+"label").value,me=Ut.pstyle("text-events").strValue==="yes";if(!(!me||!ze)){var yn=Pt(Yt.rscratch,"labelX",de),nn=Pt(Yt.rscratch,"labelY",de),qe=Pt(Yt.rscratch,"labelAngle",de),Tn=Ut.pstyle(Te+"text-margin-x").pfValue,Xn=Ut.pstyle(Te+"text-margin-y").pfValue,lr=ie.x1-Ee-Tn,Sn=ie.x2+Ee-Tn,or=ie.y1-Ee-Xn,pr=ie.y2+Ee-Xn;if(qe){var kr=Math.cos(qe),wr=Math.sin(qe),Cr=function(na,vi){return na=na-yn,vi=vi-nn,{x:na*kr-vi*wr+yn,y:na*wr+vi*kr+nn}},$n=Cr(lr,or),cr=Cr(lr,pr),mr=Cr(Sn,or),Sr=Cr(Sn,pr),gi=[$n.x+Tn,$n.y+Xn,mr.x+Tn,mr.y+Xn,Sr.x+Tn,Sr.y+Xn,cr.x+Tn,cr.y+Xn];if(y0(y,p,gi))return St(Ut),!0}else if(Qx(ie,y,p))return St(Ut),!0}}for(var re=N.length-1;re>=0;re--){var ee=N[re];ee.isNode()?Et(ee)||qt(ee):Nt(ee)||qt(ee)||qt(ee,"source")||qt(ee,"target")}return j},C4.getAllInBox=function(y,p,x,C){var L=this.getCachedZSortedEles().interactive,O=[],N=Math.min(y,x),j=Math.max(y,x),H=Math.min(p,C),q=Math.max(p,C);y=N,x=j,p=H,C=q;for(var W=v0({x1:y,y1:p,x2:x,y2:C}),Z=0;Z<L.length;Z++){var st=L[Z];if(st.isNode()){var bt=st,pt=bt.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});$D(W,pt)&&!jB(pt,W)&&O.push(bt)}else{var _t=st,St=_t._private,Et=St.rscratch;if(Et.startX!=null&&Et.startY!=null&&!Qx(W,Et.startX,Et.startY)||Et.endX!=null&&Et.endY!=null&&!Qx(W,Et.endX,Et.endY))continue;if(Et.edgeType==="bezier"||Et.edgeType==="multibezier"||Et.edgeType==="self"||Et.edgeType==="compound"||Et.edgeType==="segments"||Et.edgeType==="haystack"){for(var Nt=St.rstyle.bezierPts||St.rstyle.linePts||St.rstyle.haystackPts,Pt=!0,qt=0;qt<Nt.length;qt++)if(!wQ(W,Nt[qt])){Pt=!1;break}Pt&&O.push(_t)}else(Et.edgeType==="haystack"||Et.edgeType==="straight")&&O.push(_t)}}return O};var LC={};LC.calculateArrowAngles=function(y){var p=y._private.rscratch,x=p.edgeType==="haystack",C=p.edgeType==="bezier",L=p.edgeType==="multibezier",O=p.edgeType==="segments",N=p.edgeType==="compound",j=p.edgeType==="self",H,q,W,Z,st,bt,Et,Nt;if(x?(W=p.haystackPts[0],Z=p.haystackPts[1],st=p.haystackPts[2],bt=p.haystackPts[3]):(W=p.arrowStartX,Z=p.arrowStartY,st=p.arrowEndX,bt=p.arrowEndY),Et=p.midX,Nt=p.midY,O)H=W-p.segpts[0],q=Z-p.segpts[1];else if(L||N||j||C){var pt=p.allpts,_t=Lf(pt[0],pt[2],pt[4],.1),St=Lf(pt[1],pt[3],pt[5],.1);H=W-_t,q=Z-St}else H=W-Et,q=Z-Nt;p.srcArrowAngle=Y9(H,q);var Et=p.midX,Nt=p.midY;if(x&&(Et=(W+st)/2,Nt=(Z+bt)/2),H=st-W,q=bt-Z,O){var pt=p.allpts;if(pt.length/2%2===0){var Pt=pt.length/2,qt=Pt-2;H=pt[Pt]-pt[qt],q=pt[Pt+1]-pt[qt+1]}else{var Pt=pt.length/2-1,qt=Pt-2,re=Pt+2;H=pt[Pt]-pt[qt],q=pt[Pt+1]-pt[qt+1]}}else if(L||N||j){var pt=p.allpts,ee=p.ctrlpts,Ut,de,Yt,Ee;if(ee.length/2%2===0){var Te=pt.length/2-1,ie=Te+2,ze=ie+2;Ut=Lf(pt[Te],pt[ie],pt[ze],0),de=Lf(pt[Te+1],pt[ie+1],pt[ze+1],0),Yt=Lf(pt[Te],pt[ie],pt[ze],1e-4),Ee=Lf(pt[Te+1],pt[ie+1],pt[ze+1],1e-4)}else{var ie=pt.length/2-1,Te=ie-2,ze=ie+2;Ut=Lf(pt[Te],pt[ie],pt[ze],.4999),de=Lf(pt[Te+1],pt[ie+1],pt[ze+1],.4999),Yt=Lf(pt[Te],pt[ie],pt[ze],.5),Ee=Lf(pt[Te+1],pt[ie+1],pt[ze+1],.5)}H=Yt-Ut,q=Ee-de}if(p.midtgtArrowAngle=Y9(H,q),p.midDispX=H,p.midDispY=q,H*=-1,q*=-1,O){var pt=p.allpts;if(pt.length/2%2!==0){var Pt=pt.length/2-1,re=Pt+2;H=-(pt[re]-pt[Pt]),q=-(pt[re+1]-pt[Pt+1])}}if(p.midsrcArrowAngle=Y9(H,q),O)H=st-p.segpts[p.segpts.length-2],q=bt-p.segpts[p.segpts.length-1];else if(L||N||j||C){var pt=p.allpts,me=pt.length,_t=Lf(pt[me-6],pt[me-4],pt[me-2],.9),St=Lf(pt[me-5],pt[me-3],pt[me-1],.9);H=st-_t,q=bt-St}else H=st-Et,q=bt-Nt;p.tgtArrowAngle=Y9(H,q)},LC.getArrowWidth=LC.getArrowHeight=function(y,p){var x=this.arrowWidthCache=this.arrowWidthCache||{},C=x[y+", "+p];return C||(C=Math.max(Math.pow(y*13.37,.9),29)*p,x[y+", "+p]=C,C)};var Q1={};Q1.findMidptPtsEtc=function(y,p){var x=p.posPts,C=p.intersectionPts,L=p.vectorNormInverse,O,N=y.pstyle("source-endpoint"),j=y.pstyle("target-endpoint"),H=N.units!=null&&j.units!=null,q=function(re,ee,Ut,de){var Yt=de-ee,Ee=Ut-re,Te=Math.sqrt(Ee*Ee+Yt*Yt);return{x:-Yt/Te,y:Ee/Te}},W=y.pstyle("edge-distances").value;switch(W){case"node-position":O=x;break;case"intersection":O=C;break;case"endpoints":{if(H){var Z=this.manualEndptToPx(y.source()[0],N),st=E(Z,2),bt=st[0],pt=st[1],_t=this.manualEndptToPx(y.target()[0],j),St=E(_t,2),Et=St[0],Nt=St[1],Pt={x1:bt,y1:pt,x2:Et,y2:Nt};L=q(bt,pt,Et,Nt),O=Pt}else Gc("Edge ".concat(y.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),O=C;break}}return{midptPts:O,vectorNormInverse:L}},Q1.findHaystackPoints=function(y){for(var p=0;p<y.length;p++){var x=y[p],C=x._private,L=C.rscratch;if(!L.haystack){var O=Math.random()*2*Math.PI;L.source={x:Math.cos(O),y:Math.sin(O)},O=Math.random()*2*Math.PI,L.target={x:Math.cos(O),y:Math.sin(O)}}var N=C.source,j=C.target,H=N.position(),q=j.position(),W=N.width(),Z=j.width(),st=N.height(),bt=j.height(),pt=x.pstyle("haystack-radius").value,_t=pt/2;L.haystackPts=L.allpts=[L.source.x*W*_t+H.x,L.source.y*st*_t+H.y,L.target.x*Z*_t+q.x,L.target.y*bt*_t+q.y],L.midX=(L.allpts[0]+L.allpts[2])/2,L.midY=(L.allpts[1]+L.allpts[3])/2,L.edgeType="haystack",L.haystack=!0,this.storeEdgeProjections(x),this.calculateArrowAngles(x),this.recalculateEdgeLabelProjections(x),this.calculateLabelAngles(x)}},Q1.findSegmentsPoints=function(y,p){var x=y._private.rscratch,C=y.pstyle("segment-weights"),L=y.pstyle("segment-distances"),O=Math.min(C.pfValue.length,L.pfValue.length);x.edgeType="segments",x.segpts=[];for(var N=0;N<O;N++){var j=C.pfValue[N],H=L.pfValue[N],q=1-j,W=j,Z=this.findMidptPtsEtc(y,p),st=Z.midptPts,bt=Z.vectorNormInverse,pt={x:st.x1*q+st.x2*W,y:st.y1*q+st.y2*W};x.segpts.push(pt.x+bt.x*H,pt.y+bt.y*H)}},Q1.findLoopPoints=function(y,p,x,C){var L=y._private.rscratch,O=p.dirCounts,N=p.srcPos,j=y.pstyle("control-point-distances"),H=j?j.pfValue[0]:void 0,q=y.pstyle("loop-direction").pfValue,W=y.pstyle("loop-sweep").pfValue,Z=y.pstyle("control-point-step-size").pfValue;L.edgeType="self";var st=x,bt=Z;C&&(st=0,bt=H);var pt=q-Math.PI/2,_t=pt-W/2,St=pt+W/2,Et=q+"_"+W;st=O[Et]===void 0?O[Et]=0:++O[Et],L.ctrlpts=[N.x+Math.cos(_t)*1.4*bt*(st/3+1),N.y+Math.sin(_t)*1.4*bt*(st/3+1),N.x+Math.cos(St)*1.4*bt*(st/3+1),N.y+Math.sin(St)*1.4*bt*(st/3+1)]},Q1.findCompoundLoopPoints=function(y,p,x,C){var L=y._private.rscratch;L.edgeType="compound";var O=p.srcPos,N=p.tgtPos,j=p.srcW,H=p.srcH,q=p.tgtW,W=p.tgtH,Z=y.pstyle("control-point-step-size").pfValue,st=y.pstyle("control-point-distances"),bt=st?st.pfValue[0]:void 0,pt=x,_t=Z;C&&(pt=0,_t=bt);var St=50,Et={x:O.x-j/2,y:O.y-H/2},Nt={x:N.x-q/2,y:N.y-W/2},Pt={x:Math.min(Et.x,Nt.x),y:Math.min(Et.y,Nt.y)},qt=.5,re=Math.max(qt,Math.log(j*.01)),ee=Math.max(qt,Math.log(q*.01));L.ctrlpts=[Pt.x,Pt.y-(1+Math.pow(St,1.12)/100)*_t*(pt/3+1)*re,Pt.x-(1+Math.pow(St,1.12)/100)*_t*(pt/3+1)*ee,Pt.y]},Q1.findStraightEdgePoints=function(y){y._private.rscratch.edgeType="straight"},Q1.findBezierPoints=function(y,p,x,C,L){var O=y._private.rscratch,N=y.pstyle("control-point-step-size").pfValue,j=y.pstyle("control-point-distances"),H=y.pstyle("control-point-weights"),q=j&&H?Math.min(j.value.length,H.value.length):1,W=j?j.pfValue[0]:void 0,Z=H.value[0],st=C;O.edgeType=st?"multibezier":"bezier",O.ctrlpts=[];for(var bt=0;bt<q;bt++){var pt=(.5-p.eles.length/2+x)*N*(L?-1:1),_t=void 0,St=FB(pt);st&&(W=j?j.pfValue[bt]:N,Z=H.value[bt]),C?_t=W:_t=W!==void 0?St*W:void 0;var Et=_t!==void 0?_t:pt,Nt=1-Z,Pt=Z,qt=this.findMidptPtsEtc(y,p),re=qt.midptPts,ee=qt.vectorNormInverse,Ut={x:re.x1*Nt+re.x2*Pt,y:re.y1*Nt+re.y2*Pt};O.ctrlpts.push(Ut.x+ee.x*Et,Ut.y+ee.y*Et)}},Q1.findTaxiPoints=function(y,p){var x=y._private.rscratch;x.edgeType="segments";var C="vertical",L="horizontal",O="leftward",N="rightward",j="downward",H="upward",q="auto",W=p.posPts,Z=p.srcW,st=p.srcH,bt=p.tgtW,pt=p.tgtH,_t=y.pstyle("edge-distances").value,St=_t!=="node-position",Et=y.pstyle("taxi-direction").value,Nt=Et,Pt=y.pstyle("taxi-turn"),qt=Pt.units==="%",re=Pt.pfValue,ee=re<0,Ut=y.pstyle("taxi-turn-min-distance").pfValue,de=St?(Z+bt)/2:0,Yt=St?(st+pt)/2:0,Ee=W.x2-W.x1,Te=W.y2-W.y1,ie=function(hr,us){return hr>0?Math.max(hr-us,0):Math.min(hr+us,0)},ze=ie(Ee,de),me=ie(Te,Yt),yn=!1;Nt===q?Et=Math.abs(ze)>Math.abs(me)?L:C:Nt===H||Nt===j?(Et=C,yn=!0):(Nt===O||Nt===N)&&(Et=L,yn=!0);var nn=Et===C,qe=nn?me:ze,Tn=nn?Te:Ee,Xn=FB(Tn),lr=!1;!(yn&&(qt||ee))&&(Nt===j&&Tn<0||Nt===H&&Tn>0||Nt===O&&Tn>0||Nt===N&&Tn<0)&&(Xn*=-1,qe=Xn*Math.abs(qe),lr=!0);var Sn;if(qt){var or=re<0?1+re:re;Sn=or*qe}else{var pr=re<0?qe:0;Sn=pr+re*Xn}var kr=function(hr){return Math.abs(hr)<Ut||Math.abs(hr)>=Math.abs(qe)},wr=kr(Sn),Cr=kr(Math.abs(qe)-Math.abs(Sn)),$n=wr||Cr;if($n&&!lr)if(nn){var cr=Math.abs(Tn)<=st/2,mr=Math.abs(Ee)<=bt/2;if(cr){var Sr=(W.x1+W.x2)/2,gi=W.y1,ss=W.y2;x.segpts=[Sr,gi,Sr,ss]}else if(mr){var na=(W.y1+W.y2)/2,vi=W.x1,si=W.x2;x.segpts=[vi,na,si,na]}else x.segpts=[W.x1,W.y2]}else{var Qi=Math.abs(Tn)<=Z/2,ks=Math.abs(Te)<=pt/2;if(Qi){var as=(W.y1+W.y2)/2,Es=W.x1,eo=W.x2;x.segpts=[Es,as,eo,as]}else if(ks){var Ta=(W.x1+W.x2)/2,pa=W.y1,mo=W.y2;x.segpts=[Ta,pa,Ta,mo]}else x.segpts=[W.x2,W.y1]}else if(nn){var Kn=W.y1+Sn+(St?st/2*Xn:0),G=W.x1,Vn=W.x2;x.segpts=[G,Kn,Vn,Kn]}else{var gr=W.x1+Sn+(St?Z/2*Xn:0),nr=W.y1,Be=W.y2;x.segpts=[gr,nr,gr,Be]}},Q1.tryToCorrectInvalidPoints=function(y,p){var x=y._private.rscratch;if(x.edgeType==="bezier"){var C=p.srcPos,L=p.tgtPos,O=p.srcW,N=p.srcH,j=p.tgtW,H=p.tgtH,q=p.srcShape,W=p.tgtShape,Z=!Q(x.startX)||!Q(x.startY),st=!Q(x.arrowStartX)||!Q(x.arrowStartY),bt=!Q(x.endX)||!Q(x.endY),pt=!Q(x.arrowEndX)||!Q(x.arrowEndY),_t=3,St=this.getArrowWidth(y.pstyle("width").pfValue,y.pstyle("arrow-scale").value)*this.arrowShapeWidth,Et=_t*St,Nt=w4({x:x.ctrlpts[0],y:x.ctrlpts[1]},{x:x.startX,y:x.startY}),Pt=Nt<Et,qt=w4({x:x.ctrlpts[0],y:x.ctrlpts[1]},{x:x.endX,y:x.endY}),re=qt<Et,ee=!1;if(Z||st||Pt){ee=!0;var Ut={x:x.ctrlpts[0]-C.x,y:x.ctrlpts[1]-C.y},de=Math.sqrt(Ut.x*Ut.x+Ut.y*Ut.y),Yt={x:Ut.x/de,y:Ut.y/de},Ee=Math.max(O,N),Te={x:x.ctrlpts[0]+Yt.x*2*Ee,y:x.ctrlpts[1]+Yt.y*2*Ee},ie=q.intersectLine(C.x,C.y,O,N,Te.x,Te.y,0);Pt?(x.ctrlpts[0]=x.ctrlpts[0]+Yt.x*(Et-Nt),x.ctrlpts[1]=x.ctrlpts[1]+Yt.y*(Et-Nt)):(x.ctrlpts[0]=ie[0]+Yt.x*Et,x.ctrlpts[1]=ie[1]+Yt.y*Et)}if(bt||pt||re){ee=!0;var ze={x:x.ctrlpts[0]-L.x,y:x.ctrlpts[1]-L.y},me=Math.sqrt(ze.x*ze.x+ze.y*ze.y),yn={x:ze.x/me,y:ze.y/me},nn=Math.max(O,N),qe={x:x.ctrlpts[0]+yn.x*2*nn,y:x.ctrlpts[1]+yn.y*2*nn},Tn=W.intersectLine(L.x,L.y,j,H,qe.x,qe.y,0);re?(x.ctrlpts[0]=x.ctrlpts[0]+yn.x*(Et-qt),x.ctrlpts[1]=x.ctrlpts[1]+yn.y*(Et-qt)):(x.ctrlpts[0]=Tn[0]+yn.x*Et,x.ctrlpts[1]=Tn[1]+yn.y*Et)}ee&&this.findEndpoints(y)}},Q1.storeAllpts=function(y){var p=y._private.rscratch;if(p.edgeType==="multibezier"||p.edgeType==="bezier"||p.edgeType==="self"||p.edgeType==="compound"){p.allpts=[],p.allpts.push(p.startX,p.startY);for(var x=0;x+1<p.ctrlpts.length;x+=2)p.allpts.push(p.ctrlpts[x],p.ctrlpts[x+1]),x+3<p.ctrlpts.length&&p.allpts.push((p.ctrlpts[x]+p.ctrlpts[x+2])/2,(p.ctrlpts[x+1]+p.ctrlpts[x+3])/2);p.allpts.push(p.endX,p.endY);var C,L;p.ctrlpts.length/2%2===0?(C=p.allpts.length/2-1,p.midX=p.allpts[C],p.midY=p.allpts[C+1]):(C=p.allpts.length/2-3,L=.5,p.midX=Lf(p.allpts[C],p.allpts[C+2],p.allpts[C+4],L),p.midY=Lf(p.allpts[C+1],p.allpts[C+3],p.allpts[C+5],L))}else if(p.edgeType==="straight")p.allpts=[p.startX,p.startY,p.endX,p.endY],p.midX=(p.startX+p.endX+p.arrowStartX+p.arrowEndX)/4,p.midY=(p.startY+p.endY+p.arrowStartY+p.arrowEndY)/4;else if(p.edgeType==="segments")if(p.allpts=[],p.allpts.push(p.startX,p.startY),p.allpts.push.apply(p.allpts,p.segpts),p.allpts.push(p.endX,p.endY),p.segpts.length%4===0){var O=p.segpts.length/2,N=O-2;p.midX=(p.segpts[N]+p.segpts[O])/2,p.midY=(p.segpts[N+1]+p.segpts[O+1])/2}else{var j=p.segpts.length/2-1;p.midX=p.segpts[j],p.midY=p.segpts[j+1]}},Q1.checkForInvalidEdgeWarning=function(y){var p=y[0]._private.rscratch;p.nodesOverlap||Q(p.startX)&&Q(p.startY)&&Q(p.endX)&&Q(p.endY)?p.loggedErr=!1:p.loggedErr||(p.loggedErr=!0,Gc("Edge `"+y.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},Q1.findEdgeControlPoints=function(y){var p=this;if(!(!y||y.length===0)){for(var x=this,C=x.cy,L=C.hasCompoundNodes(),O={map:new F2,get:function(Ut){var de=this.map.get(Ut[0]);return de!=null?de.get(Ut[1]):null},set:function(Ut,de){var Yt=this.map.get(Ut[0]);Yt==null&&(Yt=new F2,this.map.set(Ut[0],Yt)),Yt.set(Ut[1],de)}},N=[],j=[],H=0;H<y.length;H++){var q=y[H],W=q._private,Z=q.pstyle("curve-style").value;if(!(q.removed()||!q.takesUpSpace())){if(Z==="haystack"){j.push(q);continue}var st=Z==="unbundled-bezier"||Z==="segments"||Z==="straight"||Z==="straight-triangle"||Z==="taxi",bt=Z==="unbundled-bezier"||Z==="bezier",pt=W.source,_t=W.target,St=pt.poolIndex(),Et=_t.poolIndex(),Nt=[St,Et].sort(),Pt=O.get(Nt);Pt==null&&(Pt={eles:[]},O.set(Nt,Pt),N.push(Nt)),Pt.eles.push(q),st&&(Pt.hasUnbundled=!0),bt&&(Pt.hasBezier=!0)}}for(var qt=function(Ut){var de=N[Ut],Yt=O.get(de),Ee=void 0;if(!Yt.hasUnbundled){var Te=Yt.eles[0].parallelEdges().filter(function(mo){return mo.isBundledBezier()});G9(Yt.eles),Te.forEach(function(mo){return Yt.eles.push(mo)}),Yt.eles.sort(function(mo,Kn){return mo.poolIndex()-Kn.poolIndex()})}var ie=Yt.eles[0],ze=ie.source(),me=ie.target();if(ze.poolIndex()>me.poolIndex()){var yn=ze;ze=me,me=yn}var nn=Yt.srcPos=ze.position(),qe=Yt.tgtPos=me.position(),Tn=Yt.srcW=ze.outerWidth(),Xn=Yt.srcH=ze.outerHeight(),lr=Yt.tgtW=me.outerWidth(),Sn=Yt.tgtH=me.outerHeight(),or=Yt.srcShape=x.nodeShapes[p.getNodeShape(ze)],pr=Yt.tgtShape=x.nodeShapes[p.getNodeShape(me)];Yt.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var kr=0;kr<Yt.eles.length;kr++){var wr=Yt.eles[kr],Cr=wr[0]._private.rscratch,$n=wr.pstyle("curve-style").value,cr=$n==="unbundled-bezier"||$n==="segments"||$n==="taxi",mr=!ze.same(wr.source());if(!Yt.calculatedIntersection&&ze!==me&&(Yt.hasBezier||Yt.hasUnbundled)){Yt.calculatedIntersection=!0;var Sr=or.intersectLine(nn.x,nn.y,Tn,Xn,qe.x,qe.y,0),gi=Yt.srcIntn=Sr,ss=pr.intersectLine(qe.x,qe.y,lr,Sn,nn.x,nn.y,0),na=Yt.tgtIntn=ss,vi=Yt.intersectionPts={x1:Sr[0],x2:ss[0],y1:Sr[1],y2:ss[1]},si=Yt.posPts={x1:nn.x,x2:qe.x,y1:nn.y,y2:qe.y},Qi=ss[1]-Sr[1],ks=ss[0]-Sr[0],as=Math.sqrt(ks*ks+Qi*Qi),Es=Yt.vector={x:ks,y:Qi},eo=Yt.vectorNorm={x:Es.x/as,y:Es.y/as},Ta={x:-eo.y,y:eo.x};Yt.nodesOverlap=!Q(as)||pr.checkPoint(Sr[0],Sr[1],0,lr,Sn,qe.x,qe.y)||or.checkPoint(ss[0],ss[1],0,Tn,Xn,nn.x,nn.y),Yt.vectorNormInverse=Ta,Ee={nodesOverlap:Yt.nodesOverlap,dirCounts:Yt.dirCounts,calculatedIntersection:!0,hasBezier:Yt.hasBezier,hasUnbundled:Yt.hasUnbundled,eles:Yt.eles,srcPos:qe,tgtPos:nn,srcW:lr,srcH:Sn,tgtW:Tn,tgtH:Xn,srcIntn:na,tgtIntn:gi,srcShape:pr,tgtShape:or,posPts:{x1:si.x2,y1:si.y2,x2:si.x1,y2:si.y1},intersectionPts:{x1:vi.x2,y1:vi.y2,x2:vi.x1,y2:vi.y1},vector:{x:-Es.x,y:-Es.y},vectorNorm:{x:-eo.x,y:-eo.y},vectorNormInverse:{x:-Ta.x,y:-Ta.y}}}var pa=mr?Ee:Yt;Cr.nodesOverlap=pa.nodesOverlap,Cr.srcIntn=pa.srcIntn,Cr.tgtIntn=pa.tgtIntn,L&&(ze.isParent()||ze.isChild()||me.isParent()||me.isChild())&&(ze.parents().anySame(me)||me.parents().anySame(ze)||ze.same(me)&&ze.isParent())?p.findCompoundLoopPoints(wr,pa,kr,cr):ze===me?p.findLoopPoints(wr,pa,kr,cr):$n==="segments"?p.findSegmentsPoints(wr,pa):$n==="taxi"?p.findTaxiPoints(wr,pa):$n==="straight"||!cr&&Yt.eles.length%2===1&&kr===Math.floor(Yt.eles.length/2)?p.findStraightEdgePoints(wr):p.findBezierPoints(wr,pa,kr,cr,mr),p.findEndpoints(wr),p.tryToCorrectInvalidPoints(wr,pa),p.checkForInvalidEdgeWarning(wr),p.storeAllpts(wr),p.storeEdgeProjections(wr),p.calculateArrowAngles(wr),p.recalculateEdgeLabelProjections(wr),p.calculateLabelAngles(wr)}},re=0;re<N.length;re++)qt(re);this.findHaystackPoints(j)}};function xj(y){var p=[];if(y!=null){for(var x=0;x<y.length;x+=2){var C=y[x],L=y[x+1];p.push({x:C,y:L})}return p}}Q1.getSegmentPoints=function(y){var p=y[0]._private.rscratch,x=p.edgeType;if(x==="segments")return this.recalculateRenderedStyle(y),xj(p.segpts)},Q1.getControlPoints=function(y){var p=y[0]._private.rscratch,x=p.edgeType;if(x==="bezier"||x==="multibezier"||x==="self"||x==="compound")return this.recalculateRenderedStyle(y),xj(p.ctrlpts)},Q1.getEdgeMidpoint=function(y){var p=y[0]._private.rscratch;return this.recalculateRenderedStyle(y),{x:p.midX,y:p.midY}};var eE={};eE.manualEndptToPx=function(y,p){var x=this,C=y.position(),L=y.outerWidth(),O=y.outerHeight();if(p.value.length===2){var N=[p.pfValue[0],p.pfValue[1]];return p.units[0]==="%"&&(N[0]=N[0]*L),p.units[1]==="%"&&(N[1]=N[1]*O),N[0]+=C.x,N[1]+=C.y,N}else{var j=p.pfValue[0];j=-Math.PI/2+j;var H=2*Math.max(L,O),q=[C.x+Math.cos(j)*H,C.y+Math.sin(j)*H];return x.nodeShapes[this.getNodeShape(y)].intersectLine(C.x,C.y,L,O,q[0],q[1],0)}},eE.findEndpoints=function(y){var p=this,x,C=y.source()[0],L=y.target()[0],O=C.position(),N=L.position(),j=y.pstyle("target-arrow-shape").value,H=y.pstyle("source-arrow-shape").value,q=y.pstyle("target-distance-from-node").pfValue,W=y.pstyle("source-distance-from-node").pfValue,Z=y.pstyle("curve-style").value,st=y._private.rscratch,bt=st.edgeType,pt=Z==="taxi",_t=bt==="self"||bt==="compound",St=bt==="bezier"||bt==="multibezier"||_t,Et=bt!=="bezier",Nt=bt==="straight"||bt==="segments",Pt=bt==="segments",qt=St||Et||Nt,re=_t||pt,ee=y.pstyle("source-endpoint"),Ut=re?"outside-to-node":ee.value,de=y.pstyle("target-endpoint"),Yt=re?"outside-to-node":de.value;st.srcManEndpt=ee,st.tgtManEndpt=de;var Ee,Te,ie,ze;if(St){var me=[st.ctrlpts[0],st.ctrlpts[1]],yn=Et?[st.ctrlpts[st.ctrlpts.length-2],st.ctrlpts[st.ctrlpts.length-1]]:me;Ee=yn,Te=me}else if(Nt){var nn=Pt?st.segpts.slice(0,2):[N.x,N.y],qe=Pt?st.segpts.slice(st.segpts.length-2):[O.x,O.y];Ee=qe,Te=nn}if(Yt==="inside-to-node")x=[N.x,N.y];else if(de.units)x=this.manualEndptToPx(L,de);else if(Yt==="outside-to-line")x=st.tgtIntn;else if(Yt==="outside-to-node"||Yt==="outside-to-node-or-label"?ie=Ee:(Yt==="outside-to-line"||Yt==="outside-to-line-or-label")&&(ie=[O.x,O.y]),x=p.nodeShapes[this.getNodeShape(L)].intersectLine(N.x,N.y,L.outerWidth(),L.outerHeight(),ie[0],ie[1],0),Yt==="outside-to-node-or-label"||Yt==="outside-to-line-or-label"){var Tn=L._private.rscratch,Xn=Tn.labelWidth,lr=Tn.labelHeight,Sn=Tn.labelX,or=Tn.labelY,pr=Xn/2,kr=lr/2,wr=L.pstyle("text-valign").value;wr==="top"?or-=kr:wr==="bottom"&&(or+=kr);var Cr=L.pstyle("text-halign").value;Cr==="left"?Sn-=pr:Cr==="right"&&(Sn+=pr);var $n=B8(ie[0],ie[1],[Sn-pr,or-kr,Sn+pr,or-kr,Sn+pr,or+kr,Sn-pr,or+kr],N.x,N.y);if($n.length>0){var cr=O,mr=m4(cr,Yx(x)),Sr=m4(cr,Yx($n)),gi=mr;if(Sr<mr&&(x=$n,gi=Sr),$n.length>2){var ss=m4(cr,{x:$n[2],y:$n[3]});ss<gi&&(x=[$n[2],$n[3]])}}}var na=tC(x,Ee,p.arrowShapes[j].spacing(y)+q),vi=tC(x,Ee,p.arrowShapes[j].gap(y)+q);if(st.endX=vi[0],st.endY=vi[1],st.arrowEndX=na[0],st.arrowEndY=na[1],Ut==="inside-to-node")x=[O.x,O.y];else if(ee.units)x=this.manualEndptToPx(C,ee);else if(Ut==="outside-to-line")x=st.srcIntn;else if(Ut==="outside-to-node"||Ut==="outside-to-node-or-label"?ze=Te:(Ut==="outside-to-line"||Ut==="outside-to-line-or-label")&&(ze=[N.x,N.y]),x=p.nodeShapes[this.getNodeShape(C)].intersectLine(O.x,O.y,C.outerWidth(),C.outerHeight(),ze[0],ze[1],0),Ut==="outside-to-node-or-label"||Ut==="outside-to-line-or-label"){var si=C._private.rscratch,Qi=si.labelWidth,ks=si.labelHeight,as=si.labelX,Es=si.labelY,eo=Qi/2,Ta=ks/2,pa=C.pstyle("text-valign").value;pa==="top"?Es-=Ta:pa==="bottom"&&(Es+=Ta);var mo=C.pstyle("text-halign").value;mo==="left"?as-=eo:mo==="right"&&(as+=eo);var Kn=B8(ze[0],ze[1],[as-eo,Es-Ta,as+eo,Es-Ta,as+eo,Es+Ta,as-eo,Es+Ta],O.x,O.y);if(Kn.length>0){var G=N,Vn=m4(G,Yx(x)),gr=m4(G,Yx(Kn)),nr=Vn;if(gr<Vn&&(x=[Kn[0],Kn[1]],nr=gr),Kn.length>2){var Be=m4(G,{x:Kn[2],y:Kn[3]});Be<nr&&(x=[Kn[2],Kn[3]])}}}var Ls=tC(x,Te,p.arrowShapes[H].spacing(y)+W),hr=tC(x,Te,p.arrowShapes[H].gap(y)+W);st.startX=hr[0],st.startY=hr[1],st.arrowStartX=Ls[0],st.arrowStartY=Ls[1],qt&&(!Q(st.startX)||!Q(st.startY)||!Q(st.endX)||!Q(st.endY)?st.badLine=!0:st.badLine=!1)},eE.getSourceEndpoint=function(y){var p=y[0]._private.rscratch;switch(this.recalculateRenderedStyle(y),p.edgeType){case"haystack":return{x:p.haystackPts[0],y:p.haystackPts[1]};default:return{x:p.arrowStartX,y:p.arrowStartY}}},eE.getTargetEndpoint=function(y){var p=y[0]._private.rscratch;switch(this.recalculateRenderedStyle(y),p.edgeType){case"haystack":return{x:p.haystackPts[2],y:p.haystackPts[3]};default:return{x:p.arrowEndX,y:p.arrowEndY}}};var mM={};function kj(y,p,x){for(var C=function(q,W,Z,st){return Lf(q,W,Z,st)},L=p._private,O=L.rstyle.bezierPts,N=0;N<y.bezierProjPcts.length;N++){var j=y.bezierProjPcts[N];O.push({x:C(x[0],x[2],x[4],j),y:C(x[1],x[3],x[5],j)})}}mM.storeEdgeProjections=function(y){var p=y._private,x=p.rscratch,C=x.edgeType;if(p.rstyle.bezierPts=null,p.rstyle.linePts=null,p.rstyle.haystackPts=null,C==="multibezier"||C==="bezier"||C==="self"||C==="compound"){p.rstyle.bezierPts=[];for(var L=0;L+5<x.allpts.length;L+=4)kj(this,y,x.allpts.slice(L,L+6))}else if(C==="segments")for(var O=p.rstyle.linePts=[],L=0;L+1<x.allpts.length;L+=2)O.push({x:x.allpts[L],y:x.allpts[L+1]});else if(C==="haystack"){var N=x.haystackPts;p.rstyle.haystackPts=[{x:N[0],y:N[1]},{x:N[2],y:N[3]}]}p.rstyle.arrowWidth=this.getArrowWidth(y.pstyle("width").pfValue,y.pstyle("arrow-scale").value)*this.arrowShapeWidth},mM.recalculateEdgeProjections=function(y){this.findEdgeControlPoints(y)};var j2={};j2.recalculateNodeLabelProjection=function(y){var p=y.pstyle("label").strValue;if(!Ft(p)){var x,C,L=y._private,O=y.width(),N=y.height(),j=y.padding(),H=y.position(),q=y.pstyle("text-halign").strValue,W=y.pstyle("text-valign").strValue,Z=L.rscratch,st=L.rstyle;switch(q){case"left":x=H.x-O/2-j;break;case"right":x=H.x+O/2+j;break;default:x=H.x}switch(W){case"top":C=H.y-N/2-j;break;case"bottom":C=H.y+N/2+j;break;default:C=H.y}Z.labelX=x,Z.labelY=C,st.labelX=x,st.labelY=C,this.calculateLabelAngles(y),this.applyLabelDimensions(y)}};var Ej=function(p,x){var C=Math.atan(x/p);return p===0&&C<0&&(C=C*-1),C},DC=function(p,x){var C=x.x-p.x,L=x.y-p.y;return Ej(C,L)},Uet=function(p,x,C,L){var O=P8(0,L-.001,1),N=P8(0,L+.001,1),j=Xx(p,x,C,O),H=Xx(p,x,C,N);return DC(j,H)};j2.recalculateEdgeLabelProjections=function(y){var p,x=y._private,C=x.rscratch,L=this,O={mid:y.pstyle("label").strValue,source:y.pstyle("source-label").strValue,target:y.pstyle("target-label").strValue};if(O.mid||O.source||O.target){p={x:C.midX,y:C.midY};var N=function(Z,st,bt){cy(x.rscratch,Z,st,bt),cy(x.rstyle,Z,st,bt)};N("labelX",null,p.x),N("labelY",null,p.y);var j=Ej(C.midDispX,C.midDispY);N("labelAutoAngle",null,j);var H=function W(){if(W.cache)return W.cache;for(var Z=[],st=0;st+5<C.allpts.length;st+=4){var bt={x:C.allpts[st],y:C.allpts[st+1]},pt={x:C.allpts[st+2],y:C.allpts[st+3]},_t={x:C.allpts[st+4],y:C.allpts[st+5]};Z.push({p0:bt,p1:pt,p2:_t,startDist:0,length:0,segments:[]})}var St=x.rstyle.bezierPts,Et=L.bezierProjPcts.length;function Nt(Ut,de,Yt,Ee,Te){var ie=w4(de,Yt),ze=Ut.segments[Ut.segments.length-1],me={p0:de,p1:Yt,t0:Ee,t1:Te,startDist:ze?ze.startDist+ze.length:0,length:ie};Ut.segments.push(me),Ut.length+=ie}for(var Pt=0;Pt<Z.length;Pt++){var qt=Z[Pt],re=Z[Pt-1];re&&(qt.startDist=re.startDist+re.length),Nt(qt,qt.p0,St[Pt*Et],0,L.bezierProjPcts[0]);for(var ee=0;ee<Et-1;ee++)Nt(qt,St[Pt*Et+ee],St[Pt*Et+ee+1],L.bezierProjPcts[ee],L.bezierProjPcts[ee+1]);Nt(qt,St[Pt*Et+Et-1],qt.p2,L.bezierProjPcts[Et-1],1)}return W.cache=Z},q=function(Z){var st,bt=Z==="source";if(O[Z]){var pt=y.pstyle(Z+"-text-offset").pfValue;switch(C.edgeType){case"self":case"compound":case"bezier":case"multibezier":{for(var _t=H(),St,Et=0,Nt=0,Pt=0;Pt<_t.length;Pt++){for(var qt=_t[bt?Pt:_t.length-1-Pt],re=0;re<qt.segments.length;re++){var ee=qt.segments[bt?re:qt.segments.length-1-re],Ut=Pt===_t.length-1&&re===qt.segments.length-1;if(Et=Nt,Nt+=ee.length,Nt>=pt||Ut){St={cp:qt,segment:ee};break}}if(St)break}var de=St.cp,Yt=St.segment,Ee=(pt-Et)/Yt.length,Te=Yt.t1-Yt.t0,ie=bt?Yt.t0+Te*Ee:Yt.t1-Te*Ee;ie=P8(0,ie,1),p=Xx(de.p0,de.p1,de.p2,ie),st=Uet(de.p0,de.p1,de.p2,ie);break}case"straight":case"segments":case"haystack":{for(var ze=0,me,yn,nn,qe,Tn=C.allpts.length,Xn=0;Xn+3<Tn&&(bt?(nn={x:C.allpts[Xn],y:C.allpts[Xn+1]},qe={x:C.allpts[Xn+2],y:C.allpts[Xn+3]}):(nn={x:C.allpts[Tn-2-Xn],y:C.allpts[Tn-1-Xn]},qe={x:C.allpts[Tn-4-Xn],y:C.allpts[Tn-3-Xn]}),me=w4(nn,qe),yn=ze,ze+=me,!(ze>=pt));Xn+=2);var lr=pt-yn,Sn=lr/me;Sn=P8(0,Sn,1),p=fQ(nn,qe,Sn),st=DC(nn,qe);break}}N("labelX",Z,p.x),N("labelY",Z,p.y),N("labelAutoAngle",Z,st)}};q("source"),q("target"),this.applyLabelDimensions(y)}},j2.applyLabelDimensions=function(y){this.applyPrefixedLabelDimensions(y),y.isEdge()&&(this.applyPrefixedLabelDimensions(y,"source"),this.applyPrefixedLabelDimensions(y,"target"))},j2.applyPrefixedLabelDimensions=function(y,p){var x=y._private,C=this.getLabelText(y,p),L=this.calculateLabelDimensions(y,C),O=y.pstyle("line-height").pfValue,N=y.pstyle("text-wrap").strValue,j=fb(x.rscratch,"labelWrapCachedLines",p)||[],H=N!=="wrap"?1:Math.max(j.length,1),q=L.height/H,W=q*O,Z=L.width,st=L.height+(H-1)*(O-1)*q;cy(x.rstyle,"labelWidth",p,Z),cy(x.rscratch,"labelWidth",p,Z),cy(x.rstyle,"labelHeight",p,st),cy(x.rscratch,"labelHeight",p,st),cy(x.rscratch,"labelLineHeight",p,W)},j2.getLabelText=function(y,p){var x=y._private,C=p?p+"-":"",L=y.pstyle(C+"label").strValue,O=y.pstyle("text-transform").value,N=function(lr,Sn){return Sn?(cy(x.rscratch,lr,p,Sn),Sn):fb(x.rscratch,lr,p)};if(!L)return"";O=="none"||(O=="uppercase"?L=L.toUpperCase():O=="lowercase"&&(L=L.toLowerCase()));var j=y.pstyle("text-wrap").value;if(j==="wrap"){var H=N("labelKey");if(H!=null&&N("labelWrapKey")===H)return N("labelWrapCachedText");for(var q="​",W=L.split(`
1547 `),Et=0;Et<St.length;Et++){var Nt=St[Et],Pt=st.measureText(Nt),qt=Math.ceil(Pt.width),re=H;pt=Math.max(qt,pt),_t+=re}return pt+=N,_t+=N,L[C]={width:pt,height:_t}},j2.calculateLabelAngle=function(y,p){var x=y._private,C=x.rscratch,L=y.isEdge(),O=p?p+"-":"",N=y.pstyle(O+"text-rotation"),j=N.strValue;return j==="none"?0:L&&j==="autorotate"?C.labelAutoAngle:j==="autorotate"?0:N.pfValue},j2.calculateLabelAngles=function(y){var p=this,x=y.isEdge(),C=y._private,L=C.rscratch;L.labelAngle=p.calculateLabelAngle(y),x&&(L.sourceLabelAngle=p.calculateLabelAngle(y,"source"),L.targetLabelAngle=p.calculateLabelAngle(y,"target"))};var Tj={},Cj=28,Sj=!1;Tj.getNodeShape=function(y){var p=this,x=y.pstyle("shape").value;if(x==="cutrectangle"&&(y.width()<Cj||y.height()<Cj))return Sj||(Gc("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),Sj=!0),"rectangle";if(y.isParent())return x==="rectangle"||x==="roundrectangle"||x==="round-rectangle"||x==="cutrectangle"||x==="cut-rectangle"||x==="barrel"?x:"rectangle";if(x==="polygon"){var C=y.pstyle("shape-polygon-points").value;return p.nodeShapes.makePolygon(C).name}return x};var MC={};MC.registerCalculationListeners=function(){var y=this.cy,p=y.collection(),x=this,C=function(N){var j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(p.merge(N),j)for(var H=0;H<N.length;H++){var q=N[H],W=q._private,Z=W.rstyle;Z.clean=!1,Z.cleanConnected=!1}};x.binder(y).on("bounds.* dirty.*",function(N){var j=N.target;C(j)}).on("style.* background.*",function(N){var j=N.target;C(j,!1)});var L=function(N){if(N){var j=x.onUpdateEleCalcsFns;p.cleanStyle();for(var H=0;H<p.length;H++){var q=p[H],W=q._private.rstyle;q.isNode()&&!W.cleanConnected&&(C(q.connectedEdges()),W.cleanConnected=!0)}if(j)for(var Z=0;Z<j.length;Z++){var st=j[Z];st(N,p)}x.recalculateRenderedStyle(p),p=y.collection()}};x.flushRenderedStyleQueue=function(){L(!0)},x.beforeRender(L,x.beforeRenderPriorities.eleCalcs)},MC.onUpdateEleCalcs=function(y){var p=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];p.push(y)},MC.recalculateRenderedStyle=function(y,p){var x=function(qt){return qt._private.rstyle.cleanConnected},C=[],L=[];if(!this.destroyed){p===void 0&&(p=!0);for(var O=0;O<y.length;O++){var N=y[O],j=N._private,H=j.rstyle;N.isEdge()&&(!x(N.source())||!x(N.target()))&&(H.clean=!1),!(p&&H.clean||N.removed())&&N.pstyle("display").value!=="none"&&(j.group==="nodes"?L.push(N):C.push(N),H.clean=!0)}for(var q=0;q<L.length;q++){var W=L[q],Z=W._private,st=Z.rstyle,bt=W.position();this.recalculateNodeLabelProjection(W),st.nodeX=bt.x,st.nodeY=bt.y,st.nodeW=W.pstyle("width").pfValue,st.nodeH=W.pstyle("height").pfValue}this.recalculateEdgeProjections(C);for(var pt=0;pt<C.length;pt++){var _t=C[pt],St=_t._private,Et=St.rstyle,Nt=St.rscratch;Et.srcX=Nt.arrowStartX,Et.srcY=Nt.arrowStartY,Et.tgtX=Nt.arrowEndX,Et.tgtY=Nt.arrowEndY,Et.midX=Nt.midX,Et.midY=Nt.midY,Et.labelAngle=Nt.labelAngle,Et.sourceLabelAngle=Nt.sourceLabelAngle,Et.targetLabelAngle=Nt.targetLabelAngle}}};var IC={};IC.updateCachedGrabbedEles=function(){var y=this.cachedZSortedEles;if(y){y.drag=[],y.nondrag=[];for(var p=[],x=0;x<y.length;x++){var C=y[x],L=C._private.rscratch;C.grabbed()&&!C.isParent()?p.push(C):L.inDragLayer?y.drag.push(C):y.nondrag.push(C)}for(var x=0;x<p.length;x++){var C=p[x];y.drag.push(C)}}},IC.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},IC.getCachedZSortedEles=function(y){if(y||!this.cachedZSortedEles){var p=this.cy.mutableElements().toArray();p.sort(cM),p.interactive=p.filter(function(x){return x.interactive()}),this.cachedZSortedEles=p,this.updateCachedGrabbedEles()}else p=this.cachedZSortedEles;return p};var _j={};[C4,LC,Q1,eE,mM,j2,Tj,MC,IC].forEach(function(y){we(_j,y)});var Aj={};Aj.getCachedImage=function(y,p,x){var C=this,L=C.imageCache=C.imageCache||{},O=L[y];if(O)return O.image.complete||O.image.addEventListener("load",x),O.image;O=L[y]=L[y]||{};var N=O.image=new Image;N.addEventListener("load",x),N.addEventListener("error",function(){N.error=!0});var j="data:",H=y.substring(0,j.length).toLowerCase()===j;return H||(p=p==="null"?null:p,N.crossOrigin=p),N.src=y,N};var d6={};d6.registerBinding=function(y,p,x,C){var L=Array.prototype.slice.apply(arguments,[1]),O=this.binder(y);return O.on.apply(O,L)},d6.binder=function(y){var p=this,x=p.cy.window(),C=y===x||y===x.document||y===x.document.body||Ct(y);if(p.supportsPassiveEvents==null){var L=!1;try{var O=Object.defineProperty({},"passive",{get:function(){return L=!0,!0}});x.addEventListener("test",null,O)}catch{}p.supportsPassiveEvents=L}var N=function(H,q,W){var Z=Array.prototype.slice.call(arguments);return C&&p.supportsPassiveEvents&&(Z[2]={capture:W??!1,passive:!1,once:!1}),p.bindings.push({target:y,args:Z}),(y.addEventListener||y.on).apply(y,Z),this};return{on:N,addEventListener:N,addListener:N,bind:N}},d6.nodeIsDraggable=function(y){return y&&y.isNode()&&!y.locked()&&y.grabbable()},d6.nodeIsGrabbable=function(y){return this.nodeIsDraggable(y)&&y.interactive()},d6.load=function(){var y=this,p=y.cy.window(),x=function(G){return G.selected()},C=function(G,Vn,gr,nr){G==null&&(G=y.cy);for(var Be=0;Be<Vn.length;Be++){var Ls=Vn[Be];G.emit({originalEvent:gr,type:Ls,position:nr})}},L=function(G){return G.shiftKey||G.metaKey||G.ctrlKey},O=function(G,Vn){var gr=!0;if(y.cy.hasCompoundNodes()&&G&&G.pannable())for(var nr=0;Vn&&nr<Vn.length;nr++){var G=Vn[nr];if(G.isNode()&&G.isParent()&&!G.pannable()){gr=!1;break}}else gr=!0;return gr},N=function(G){G[0]._private.grabbed=!0},j=function(G){G[0]._private.grabbed=!1},H=function(G){G[0]._private.rscratch.inDragLayer=!0},q=function(G){G[0]._private.rscratch.inDragLayer=!1},W=function(G){G[0]._private.rscratch.isGrabTarget=!0},Z=function(G){G[0]._private.rscratch.isGrabTarget=!1},st=function(G,Vn){var gr=Vn.addToList,nr=gr.has(G);!nr&&G.grabbable()&&!G.locked()&&(gr.merge(G),N(G))},bt=function(G,Vn){if(G.cy().hasCompoundNodes()&&!(Vn.inDragLayer==null&&Vn.addToList==null)){var gr=G.descendants();Vn.inDragLayer&&(gr.forEach(H),gr.connectedEdges().forEach(H)),Vn.addToList&&st(gr,Vn)}},pt=function(G,Vn){Vn=Vn||{};var gr=G.cy().hasCompoundNodes();Vn.inDragLayer&&(G.forEach(H),G.neighborhood().stdFilter(function(nr){return!gr||nr.isEdge()}).forEach(H)),Vn.addToList&&G.forEach(function(nr){st(nr,Vn)}),bt(G,Vn),Et(G,{inDragLayer:Vn.inDragLayer}),y.updateCachedGrabbedEles()},_t=pt,St=function(G){G&&(y.getCachedZSortedEles().forEach(function(Vn){j(Vn),q(Vn),Z(Vn)}),y.updateCachedGrabbedEles())},Et=function(G,Vn){if(!(Vn.inDragLayer==null&&Vn.addToList==null)&&G.cy().hasCompoundNodes()){var gr=G.ancestors().orphans();if(!gr.same(G)){var nr=gr.descendants().spawnSelf().merge(gr).unmerge(G).unmerge(G.descendants()),Be=nr.connectedEdges();Vn.inDragLayer&&(Be.forEach(H),nr.forEach(H)),Vn.addToList&&nr.forEach(function(Ls){st(Ls,Vn)})}}},Nt=function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},Pt=typeof MutationObserver<"u",qt=typeof ResizeObserver<"u";Pt?(y.removeObserver=new MutationObserver(function(Kn){for(var G=0;G<Kn.length;G++){var Vn=Kn[G],gr=Vn.removedNodes;if(gr)for(var nr=0;nr<gr.length;nr++){var Be=gr[nr];if(Be===y.container){y.destroy();break}}}}),y.container.parentNode&&y.removeObserver.observe(y.container.parentNode,{childList:!0})):y.registerBinding(y.container,"DOMNodeRemoved",function(Kn){y.destroy()});var re=pu(function(){y.cy.resize()},100);Pt&&(y.styleObserver=new MutationObserver(re),y.styleObserver.observe(y.container,{attributes:!0})),y.registerBinding(p,"resize",re),qt&&(y.resizeObserver=new ResizeObserver(re),y.resizeObserver.observe(y.container));var ee=function(G,Vn){for(;G!=null;)Vn(G),G=G.parentNode},Ut=function(){y.invalidateContainerClientCoordsCache()};ee(y.container,function(Kn){y.registerBinding(Kn,"transitionend",Ut),y.registerBinding(Kn,"animationend",Ut),y.registerBinding(Kn,"scroll",Ut)}),y.registerBinding(y.container,"contextmenu",function(Kn){Kn.preventDefault()});var de=function(){return y.selection[4]!==0},Yt=function(G){for(var Vn=y.findContainerClientCoords(),gr=Vn[0],nr=Vn[1],Be=Vn[2],Ls=Vn[3],hr=G.touches?G.touches:[G],us=!1,Ya=0;Ya<hr.length;Ya++){var kc=hr[Ya];if(gr<=kc.clientX&&kc.clientX<=gr+Be&&nr<=kc.clientY&&kc.clientY<=nr+Ls){us=!0;break}}if(!us)return!1;for(var Ca=y.container,oc=G.target,ra=oc.parentNode,no=!1;ra;){if(ra===Ca){no=!0;break}ra=ra.parentNode}return!!no};y.registerBinding(y.container,"mousedown",function(G){if(Yt(G)){G.preventDefault(),Nt(),y.hoverData.capture=!0,y.hoverData.which=G.which;var Vn=y.cy,gr=[G.clientX,G.clientY],nr=y.projectIntoViewport(gr[0],gr[1]),Be=y.selection,Ls=y.findNearestElements(nr[0],nr[1],!0,!1),hr=Ls[0],us=y.dragData.possibleDragElements;y.hoverData.mdownPos=nr,y.hoverData.mdownGPos=gr;var Ya=function(){y.hoverData.tapholdCancelled=!1,clearTimeout(y.hoverData.tapholdTimeout),y.hoverData.tapholdTimeout=setTimeout(function(){if(!y.hoverData.tapholdCancelled){var ql=y.hoverData.down;ql?ql.emit({originalEvent:G,type:"taphold",position:{x:nr[0],y:nr[1]}}):Vn.emit({originalEvent:G,type:"taphold",position:{x:nr[0],y:nr[1]}})}},y.tapholdDuration)};if(G.which==3){y.hoverData.cxtStarted=!0;var kc={originalEvent:G,type:"cxttapstart",position:{x:nr[0],y:nr[1]}};hr?(hr.activate(),hr.emit(kc),y.hoverData.down=hr):Vn.emit(kc),y.hoverData.downTime=new Date().getTime(),y.hoverData.cxtDragged=!1}else if(G.which==1){hr&&hr.activate();{if(hr!=null&&y.nodeIsGrabbable(hr)){var Ca=function(ql){return{originalEvent:G,type:ql,position:{x:nr[0],y:nr[1]}}},oc=function(ql){ql.emit(Ca("grab"))};if(W(hr),!hr.selected())us=y.dragData.possibleDragElements=Vn.collection(),_t(hr,{addToList:us}),hr.emit(Ca("grabon")).emit(Ca("grab"));else{us=y.dragData.possibleDragElements=Vn.collection();var ra=Vn.$(function(no){return no.isNode()&&no.selected()&&y.nodeIsGrabbable(no)});pt(ra,{addToList:us}),hr.emit(Ca("grabon")),ra.forEach(oc)}y.redrawHint("eles",!0),y.redrawHint("drag",!0)}y.hoverData.down=hr,y.hoverData.downs=Ls,y.hoverData.downTime=new Date().getTime()}C(hr,["mousedown","tapstart","vmousedown"],G,{x:nr[0],y:nr[1]}),hr==null?(Be[4]=1,y.data.bgActivePosistion={x:nr[0],y:nr[1]},y.redrawHint("select",!0),y.redraw()):hr.pannable()&&(Be[4]=1),Ya()}Be[0]=Be[2]=nr[0],Be[1]=Be[3]=nr[1]}},!1),y.registerBinding(p,"mousemove",function(G){var Vn=y.hoverData.capture;if(!(!Vn&&!Yt(G))){var gr=!1,nr=y.cy,Be=nr.zoom(),Ls=[G.clientX,G.clientY],hr=y.projectIntoViewport(Ls[0],Ls[1]),us=y.hoverData.mdownPos,Ya=y.hoverData.mdownGPos,kc=y.selection,Ca=null;!y.hoverData.draggingEles&&!y.hoverData.dragging&&!y.hoverData.selecting&&(Ca=y.findNearestElement(hr[0],hr[1],!0,!1));var oc=y.hoverData.last,ra=y.hoverData.down,no=[hr[0]-kc[2],hr[1]-kc[3]],ql=y.dragData.possibleDragElements,Sl;if(Ya){var mb=Ls[0]-Ya[0],vb=mb*mb,v1=Ls[1]-Ya[1],up=v1*v1,Bd=vb+up;y.hoverData.isOverThresholdDrag=Sl=Bd>=y.desktopTapThreshold2}var cm=L(G);Sl&&(y.hoverData.tapholdCancelled=!0);var py=function(){var $2=y.hoverData.dragDelta=y.hoverData.dragDelta||[];$2.length===0?($2.push(no[0]),$2.push(no[1])):($2[0]+=no[0],$2[1]+=no[1])};gr=!0,C(Ca,["mousemove","vmousemove","tapdrag"],G,{x:hr[0],y:hr[1]});var y6=function(){y.data.bgActivePosistion=void 0,y.hoverData.selecting||nr.emit({originalEvent:G,type:"boxstart",position:{x:hr[0],y:hr[1]}}),kc[4]=1,y.hoverData.selecting=!0,y.redrawHint("select",!0),y.redraw()};if(y.hoverData.which===3){if(Sl){var _4={originalEvent:G,type:"cxtdrag",position:{x:hr[0],y:hr[1]}};ra?ra.emit(_4):nr.emit(_4),y.hoverData.cxtDragged=!0,(!y.hoverData.cxtOver||Ca!==y.hoverData.cxtOver)&&(y.hoverData.cxtOver&&y.hoverData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:hr[0],y:hr[1]}}),y.hoverData.cxtOver=Ca,Ca&&Ca.emit({originalEvent:G,type:"cxtdragover",position:{x:hr[0],y:hr[1]}}))}}else if(y.hoverData.dragging){if(gr=!0,nr.panningEnabled()&&nr.userPanningEnabled()){var x6;if(y.hoverData.justStartedPan){var BC=y.hoverData.mdownPos;x6={x:(hr[0]-BC[0])*Be,y:(hr[1]-BC[1])*Be},y.hoverData.justStartedPan=!1}else x6={x:no[0]*Be,y:no[1]*Be};nr.panBy(x6),nr.emit("dragpan"),y.hoverData.dragged=!0}hr=y.projectIntoViewport(G.clientX,G.clientY)}else if(kc[4]==1&&(ra==null||ra.pannable())){if(Sl){if(!y.hoverData.dragging&&nr.boxSelectionEnabled()&&(cm||!nr.panningEnabled()||!nr.userPanningEnabled()))y6();else if(!y.hoverData.selecting&&nr.panningEnabled()&&nr.userPanningEnabled()){var A4=O(ra,y.hoverData.downs);A4&&(y.hoverData.dragging=!0,y.hoverData.justStartedPan=!0,kc[4]=0,y.data.bgActivePosistion=Yx(us),y.redrawHint("select",!0),y.redraw())}ra&&ra.pannable()&&ra.active()&&ra.unactivate()}}else{if(ra&&ra.pannable()&&ra.active()&&ra.unactivate(),(!ra||!ra.grabbed())&&Ca!=oc&&(oc&&C(oc,["mouseout","tapdragout"],G,{x:hr[0],y:hr[1]}),Ca&&C(Ca,["mouseover","tapdragover"],G,{x:hr[0],y:hr[1]}),y.hoverData.last=Ca),ra)if(Sl){if(nr.boxSelectionEnabled()&&cm)ra&&ra.grabbed()&&(St(ql),ra.emit("freeon"),ql.emit("free"),y.dragData.didDrag&&(ra.emit("dragfreeon"),ql.emit("dragfree"))),y6();else if(ra&&ra.grabbed()&&y.nodeIsDraggable(ra)){var k0=!y.dragData.didDrag;k0&&y.redrawHint("eles",!0),y.dragData.didDrag=!0,y.hoverData.draggingEles||pt(ql,{inDragLayer:!0});var J1={x:0,y:0};if(Q(no[0])&&Q(no[1])&&(J1.x+=no[0],J1.y+=no[1],k0)){var E0=y.hoverData.dragDelta;E0&&Q(E0[0])&&Q(E0[1])&&(J1.x+=E0[0],J1.y+=E0[1])}y.hoverData.draggingEles=!0,ql.silentShift(J1).emit("position drag"),y.redrawHint("drag",!0),y.redraw()}}else py();gr=!0}if(kc[2]=hr[0],kc[3]=hr[1],gr)return G.stopPropagation&&G.stopPropagation(),G.preventDefault&&G.preventDefault(),!1}},!1);var Ee,Te,ie;y.registerBinding(p,"mouseup",function(G){var Vn=y.hoverData.capture;if(Vn){y.hoverData.capture=!1;var gr=y.cy,nr=y.projectIntoViewport(G.clientX,G.clientY),Be=y.selection,Ls=y.findNearestElement(nr[0],nr[1],!0,!1),hr=y.dragData.possibleDragElements,us=y.hoverData.down,Ya=L(G);if(y.data.bgActivePosistion&&(y.redrawHint("select",!0),y.redraw()),y.hoverData.tapholdCancelled=!0,y.data.bgActivePosistion=void 0,us&&us.unactivate(),y.hoverData.which===3){var kc={originalEvent:G,type:"cxttapend",position:{x:nr[0],y:nr[1]}};if(us?us.emit(kc):gr.emit(kc),!y.hoverData.cxtDragged){var Ca={originalEvent:G,type:"cxttap",position:{x:nr[0],y:nr[1]}};us?us.emit(Ca):gr.emit(Ca)}y.hoverData.cxtDragged=!1,y.hoverData.which=null}else if(y.hoverData.which===1){if(C(Ls,["mouseup","tapend","vmouseup"],G,{x:nr[0],y:nr[1]}),!y.dragData.didDrag&&!y.hoverData.dragged&&!y.hoverData.selecting&&!y.hoverData.isOverThresholdDrag&&(C(us,["click","tap","vclick"],G,{x:nr[0],y:nr[1]}),Te=!1,G.timeStamp-ie<=gr.multiClickDebounceTime()?(Ee&&clearTimeout(Ee),Te=!0,ie=null,C(us,["dblclick","dbltap","vdblclick"],G,{x:nr[0],y:nr[1]})):(Ee=setTimeout(function(){Te||C(us,["oneclick","onetap","voneclick"],G,{x:nr[0],y:nr[1]})},gr.multiClickDebounceTime()),ie=G.timeStamp)),us==null&&!y.dragData.didDrag&&!y.hoverData.selecting&&!y.hoverData.dragged&&!L(G)&&(gr.$(x).unselect(["tapunselect"]),hr.length>0&&y.redrawHint("eles",!0),y.dragData.possibleDragElements=hr=gr.collection()),Ls==us&&!y.dragData.didDrag&&!y.hoverData.selecting&&Ls!=null&&Ls._private.selectable&&(y.hoverData.dragging||(gr.selectionType()==="additive"||Ya?Ls.selected()?Ls.unselect(["tapunselect"]):Ls.select(["tapselect"]):Ya||(gr.$(x).unmerge(Ls).unselect(["tapunselect"]),Ls.select(["tapselect"]))),y.redrawHint("eles",!0)),y.hoverData.selecting){var oc=gr.collection(y.getAllInBox(Be[0],Be[1],Be[2],Be[3]));y.redrawHint("select",!0),oc.length>0&&y.redrawHint("eles",!0),gr.emit({type:"boxend",originalEvent:G,position:{x:nr[0],y:nr[1]}});var ra=function(Sl){return Sl.selectable()&&!Sl.selected()};gr.selectionType()==="additive"||Ya||gr.$(x).unmerge(oc).unselect(),oc.emit("box").stdFilter(ra).select().emit("boxselect"),y.redraw()}if(y.hoverData.dragging&&(y.hoverData.dragging=!1,y.redrawHint("select",!0),y.redrawHint("eles",!0),y.redraw()),!Be[4]){y.redrawHint("drag",!0),y.redrawHint("eles",!0);var no=us&&us.grabbed();St(hr),no&&(us.emit("freeon"),hr.emit("free"),y.dragData.didDrag&&(us.emit("dragfreeon"),hr.emit("dragfree")))}}Be[4]=0,y.hoverData.down=null,y.hoverData.cxtStarted=!1,y.hoverData.draggingEles=!1,y.hoverData.selecting=!1,y.hoverData.isOverThresholdDrag=!1,y.dragData.didDrag=!1,y.hoverData.dragged=!1,y.hoverData.dragDelta=[],y.hoverData.mdownPos=null,y.hoverData.mdownGPos=null}},!1);var ze=function(G){if(!y.scrollingPage){var Vn=y.cy,gr=Vn.zoom(),nr=Vn.pan(),Be=y.projectIntoViewport(G.clientX,G.clientY),Ls=[Be[0]*gr+nr.x,Be[1]*gr+nr.y];if(y.hoverData.draggingEles||y.hoverData.dragging||y.hoverData.cxtStarted||de()){G.preventDefault();return}if(Vn.panningEnabled()&&Vn.userPanningEnabled()&&Vn.zoomingEnabled()&&Vn.userZoomingEnabled()){G.preventDefault(),y.data.wheelZooming=!0,clearTimeout(y.data.wheelTimeout),y.data.wheelTimeout=setTimeout(function(){y.data.wheelZooming=!1,y.redrawHint("eles",!0),y.redraw()},150);var hr;G.deltaY!=null?hr=G.deltaY/-250:G.wheelDeltaY!=null?hr=G.wheelDeltaY/1e3:hr=G.wheelDelta/1e3,hr=hr*y.wheelSensitivity;var us=G.deltaMode===1;us&&(hr*=33);var Ya=Vn.zoom()*Math.pow(10,hr);G.type==="gesturechange"&&(Ya=y.gestureStartZoom*G.scale),Vn.zoom({level:Ya,renderedPosition:{x:Ls[0],y:Ls[1]}}),Vn.emit(G.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};y.registerBinding(y.container,"wheel",ze,!0),y.registerBinding(p,"scroll",function(G){y.scrollingPage=!0,clearTimeout(y.scrollingPageTimeout),y.scrollingPageTimeout=setTimeout(function(){y.scrollingPage=!1},250)},!0),y.registerBinding(y.container,"gesturestart",function(G){y.gestureStartZoom=y.cy.zoom(),y.hasTouchStarted||G.preventDefault()},!0),y.registerBinding(y.container,"gesturechange",function(Kn){y.hasTouchStarted||ze(Kn)},!0),y.registerBinding(y.container,"mouseout",function(G){var Vn=y.projectIntoViewport(G.clientX,G.clientY);y.cy.emit({originalEvent:G,type:"mouseout",position:{x:Vn[0],y:Vn[1]}})},!1),y.registerBinding(y.container,"mouseover",function(G){var Vn=y.projectIntoViewport(G.clientX,G.clientY);y.cy.emit({originalEvent:G,type:"mouseover",position:{x:Vn[0],y:Vn[1]}})},!1);var me,yn,nn,qe,Tn,Xn,lr,Sn,or,pr,kr,wr,Cr,$n=function(G,Vn,gr,nr){return Math.sqrt((gr-G)*(gr-G)+(nr-Vn)*(nr-Vn))},cr=function(G,Vn,gr,nr){return(gr-G)*(gr-G)+(nr-Vn)*(nr-Vn)},mr;y.registerBinding(y.container,"touchstart",mr=function(G){if(y.hasTouchStarted=!0,!!Yt(G)){Nt(),y.touchData.capture=!0,y.data.bgActivePosistion=void 0;var Vn=y.cy,gr=y.touchData.now,nr=y.touchData.earlier;if(G.touches[0]){var Be=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);gr[0]=Be[0],gr[1]=Be[1]}if(G.touches[1]){var Be=y.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);gr[2]=Be[0],gr[3]=Be[1]}if(G.touches[2]){var Be=y.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);gr[4]=Be[0],gr[5]=Be[1]}if(G.touches[1]){y.touchData.singleTouchMoved=!0,St(y.dragData.touchDragEles);var Ls=y.findContainerClientCoords();or=Ls[0],pr=Ls[1],kr=Ls[2],wr=Ls[3],me=G.touches[0].clientX-or,yn=G.touches[0].clientY-pr,nn=G.touches[1].clientX-or,qe=G.touches[1].clientY-pr,Cr=0<=me&&me<=kr&&0<=nn&&nn<=kr&&0<=yn&&yn<=wr&&0<=qe&&qe<=wr;var hr=Vn.pan(),us=Vn.zoom();Tn=$n(me,yn,nn,qe),Xn=cr(me,yn,nn,qe),lr=[(me+nn)/2,(yn+qe)/2],Sn=[(lr[0]-hr.x)/us,(lr[1]-hr.y)/us];var Ya=200,kc=Ya*Ya;if(Xn<kc&&!G.touches[2]){var Ca=y.findNearestElement(gr[0],gr[1],!0,!0),oc=y.findNearestElement(gr[2],gr[3],!0,!0);Ca&&Ca.isNode()?(Ca.activate().emit({originalEvent:G,type:"cxttapstart",position:{x:gr[0],y:gr[1]}}),y.touchData.start=Ca):oc&&oc.isNode()?(oc.activate().emit({originalEvent:G,type:"cxttapstart",position:{x:gr[0],y:gr[1]}}),y.touchData.start=oc):Vn.emit({originalEvent:G,type:"cxttapstart",position:{x:gr[0],y:gr[1]}}),y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxt=!0,y.touchData.cxtDragged=!1,y.data.bgActivePosistion=void 0,y.redraw();return}}if(G.touches[2])Vn.boxSelectionEnabled()&&G.preventDefault();else if(!G.touches[1]){if(G.touches[0]){var ra=y.findNearestElements(gr[0],gr[1],!0,!0),no=ra[0];if(no!=null&&(no.activate(),y.touchData.start=no,y.touchData.starts=ra,y.nodeIsGrabbable(no))){var ql=y.dragData.touchDragEles=Vn.collection(),Sl=null;y.redrawHint("eles",!0),y.redrawHint("drag",!0),no.selected()?(Sl=Vn.$(function(Bd){return Bd.selected()&&y.nodeIsGrabbable(Bd)}),pt(Sl,{addToList:ql})):_t(no,{addToList:ql}),W(no);var mb=function(cm){return{originalEvent:G,type:cm,position:{x:gr[0],y:gr[1]}}};no.emit(mb("grabon")),Sl?Sl.forEach(function(Bd){Bd.emit(mb("grab"))}):no.emit(mb("grab"))}C(no,["touchstart","tapstart","vmousedown"],G,{x:gr[0],y:gr[1]}),no==null&&(y.data.bgActivePosistion={x:Be[0],y:Be[1]},y.redrawHint("select",!0),y.redraw()),y.touchData.singleTouchMoved=!1,y.touchData.singleTouchStartTime=+new Date,clearTimeout(y.touchData.tapholdTimeout),y.touchData.tapholdTimeout=setTimeout(function(){y.touchData.singleTouchMoved===!1&&!y.pinching&&!y.touchData.selecting&&C(y.touchData.start,["taphold"],G,{x:gr[0],y:gr[1]})},y.tapholdDuration)}}if(G.touches.length>=1){for(var vb=y.touchData.startPosition=[null,null,null,null,null,null],v1=0;v1<gr.length;v1++)vb[v1]=nr[v1]=gr[v1];var up=G.touches[0];y.touchData.startGPosition=[up.clientX,up.clientY]}}},!1);var Sr;y.registerBinding(window,"touchmove",Sr=function(G){var Vn=y.touchData.capture;if(!(!Vn&&!Yt(G))){var gr=y.selection,nr=y.cy,Be=y.touchData.now,Ls=y.touchData.earlier,hr=nr.zoom();if(G.touches[0]){var us=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);Be[0]=us[0],Be[1]=us[1]}if(G.touches[1]){var us=y.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);Be[2]=us[0],Be[3]=us[1]}if(G.touches[2]){var us=y.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);Be[4]=us[0],Be[5]=us[1]}var Ya=y.touchData.startGPosition,kc;if(Vn&&G.touches[0]&&Ya){for(var Ca=[],oc=0;oc<Be.length;oc++)Ca[oc]=Be[oc]-Ls[oc];var ra=G.touches[0].clientX-Ya[0],no=ra*ra,ql=G.touches[0].clientY-Ya[1],Sl=ql*ql,mb=no+Sl;kc=mb>=y.touchTapThreshold2}if(Vn&&y.touchData.cxt){G.preventDefault();var vb=G.touches[0].clientX-or,v1=G.touches[0].clientY-pr,up=G.touches[1].clientX-or,Bd=G.touches[1].clientY-pr,cm=cr(vb,v1,up,Bd),py=cm/Xn,y6=150,_4=y6*y6,x6=1.5,BC=x6*x6;if(py>=BC||cm>=_4){y.touchData.cxt=!1,y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var A4={originalEvent:G,type:"cxttapend",position:{x:Be[0],y:Be[1]}};y.touchData.start?(y.touchData.start.unactivate().emit(A4),y.touchData.start=null):nr.emit(A4)}}if(Vn&&y.touchData.cxt){var A4={originalEvent:G,type:"cxtdrag",position:{x:Be[0],y:Be[1]}};y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.touchData.start?y.touchData.start.emit(A4):nr.emit(A4),y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxtDragged=!0;var k0=y.findNearestElement(Be[0],Be[1],!0,!0);(!y.touchData.cxtOver||k0!==y.touchData.cxtOver)&&(y.touchData.cxtOver&&y.touchData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:Be[0],y:Be[1]}}),y.touchData.cxtOver=k0,k0&&k0.emit({originalEvent:G,type:"cxtdragover",position:{x:Be[0],y:Be[1]}}))}else if(Vn&&G.touches[2]&&nr.boxSelectionEnabled())G.preventDefault(),y.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,y.touchData.selecting||nr.emit({originalEvent:G,type:"boxstart",position:{x:Be[0],y:Be[1]}}),y.touchData.selecting=!0,y.touchData.didSelect=!0,gr[4]=1,!gr||gr.length===0||gr[0]===void 0?(gr[0]=(Be[0]+Be[2]+Be[4])/3,gr[1]=(Be[1]+Be[3]+Be[5])/3,gr[2]=(Be[0]+Be[2]+Be[4])/3+1,gr[3]=(Be[1]+Be[3]+Be[5])/3+1):(gr[2]=(Be[0]+Be[2]+Be[4])/3,gr[3]=(Be[1]+Be[3]+Be[5])/3),y.redrawHint("select",!0),y.redraw();else if(Vn&&G.touches[1]&&!y.touchData.didSelect&&nr.zoomingEnabled()&&nr.panningEnabled()&&nr.userZoomingEnabled()&&nr.userPanningEnabled()){G.preventDefault(),y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var J1=y.dragData.touchDragEles;if(J1){y.redrawHint("drag",!0);for(var E0=0;E0<J1.length;E0++){var by=J1[E0]._private;by.grabbed=!1,by.rscratch.inDragLayer=!1}}var $2=y.touchData.start,vb=G.touches[0].clientX-or,v1=G.touches[0].clientY-pr,up=G.touches[1].clientX-or,Bd=G.touches[1].clientY-pr,Zj=$n(vb,v1,up,Bd),Mnt=Zj/Tn;if(Cr){var Int=vb-me,RC=v1-yn,Ont=up-nn,Nnt=Bd-qe,L4=(Int+Ont)/2,t$=(RC+Nnt)/2,lE=nr.zoom(),SM=lE*Mnt,jC=nr.pan(),e$=Sn[0]*lE+jC.x,n$=Sn[1]*lE+jC.y,Pnt={x:-SM/lE*(e$-jC.x-L4)+e$,y:-SM/lE*(n$-jC.y-t$)+n$};if($2&&$2.active()){var J1=y.dragData.touchDragEles;St(J1),y.redrawHint("drag",!0),y.redrawHint("eles",!0),$2.unactivate().emit("freeon"),J1.emit("free"),y.dragData.didDrag&&($2.emit("dragfreeon"),J1.emit("dragfree"))}nr.viewport({zoom:SM,pan:Pnt,cancelOnFailedZoom:!0}),nr.emit("pinchzoom"),Tn=Zj,me=vb,yn=v1,nn=up,qe=Bd,y.pinching=!0}if(G.touches[0]){var us=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);Be[0]=us[0],Be[1]=us[1]}if(G.touches[1]){var us=y.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);Be[2]=us[0],Be[3]=us[1]}if(G.touches[2]){var us=y.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);Be[4]=us[0],Be[5]=us[1]}}else if(G.touches[0]&&!y.touchData.didSelect){var lp=y.touchData.start,$C=y.touchData.last,k0;if(!y.hoverData.draggingEles&&!y.swipePanning&&(k0=y.findNearestElement(Be[0],Be[1],!0,!0)),Vn&&lp!=null&&G.preventDefault(),Vn&&lp!=null&&y.nodeIsDraggable(lp))if(kc){var J1=y.dragData.touchDragEles,_M=!y.dragData.didDrag;_M&&pt(J1,{inDragLayer:!0}),y.dragData.didDrag=!0;var z2={x:0,y:0};if(Q(Ca[0])&&Q(Ca[1])&&(z2.x+=Ca[0],z2.y+=Ca[1],_M)){y.redrawHint("eles",!0);var T0=y.touchData.dragDelta;T0&&Q(T0[0])&&Q(T0[1])&&(z2.x+=T0[0],z2.y+=T0[1])}y.hoverData.draggingEles=!0,J1.silentShift(z2).emit("position drag"),y.redrawHint("drag",!0),y.touchData.startPosition[0]==Ls[0]&&y.touchData.startPosition[1]==Ls[1]&&y.redrawHint("eles",!0),y.redraw()}else{var T0=y.touchData.dragDelta=y.touchData.dragDelta||[];T0.length===0?(T0.push(Ca[0]),T0.push(Ca[1])):(T0[0]+=Ca[0],T0[1]+=Ca[1])}if(C(lp||k0,["touchmove","tapdrag","vmousemove"],G,{x:Be[0],y:Be[1]}),(!lp||!lp.grabbed())&&k0!=$C&&($C&&$C.emit({originalEvent:G,type:"tapdragout",position:{x:Be[0],y:Be[1]}}),k0&&k0.emit({originalEvent:G,type:"tapdragover",position:{x:Be[0],y:Be[1]}})),y.touchData.last=k0,Vn)for(var E0=0;E0<Be.length;E0++)Be[E0]&&y.touchData.startPosition[E0]&&kc&&(y.touchData.singleTouchMoved=!0);if(Vn&&(lp==null||lp.pannable())&&nr.panningEnabled()&&nr.userPanningEnabled()){var D4=O(lp,y.touchData.starts);D4&&(G.preventDefault(),y.data.bgActivePosistion||(y.data.bgActivePosistion=Yx(y.touchData.startPosition)),y.swipePanning?(nr.panBy({x:Ca[0]*hr,y:Ca[1]*hr}),nr.emit("dragpan")):kc&&(y.swipePanning=!0,nr.panBy({x:ra*hr,y:ql*hr}),nr.emit("dragpan"),lp&&(lp.unactivate(),y.redrawHint("select",!0),y.touchData.start=null)));var us=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);Be[0]=us[0],Be[1]=us[1]}}for(var oc=0;oc<Be.length;oc++)Ls[oc]=Be[oc];Vn&&G.touches.length>0&&!y.hoverData.draggingEles&&!y.swipePanning&&y.data.bgActivePosistion!=null&&(y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.redraw())}},!1);var gi;y.registerBinding(p,"touchcancel",gi=function(G){var Vn=y.touchData.start;y.touchData.capture=!1,Vn&&Vn.unactivate()});var ss,na,vi,si;if(y.registerBinding(p,"touchend",ss=function(G){var Vn=y.touchData.start,gr=y.touchData.capture;if(gr)G.touches.length===0&&(y.touchData.capture=!1),G.preventDefault();else return;var nr=y.selection;y.swipePanning=!1,y.hoverData.draggingEles=!1;var Be=y.cy,Ls=Be.zoom(),hr=y.touchData.now,us=y.touchData.earlier;if(G.touches[0]){var Ya=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);hr[0]=Ya[0],hr[1]=Ya[1]}if(G.touches[1]){var Ya=y.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);hr[2]=Ya[0],hr[3]=Ya[1]}if(G.touches[2]){var Ya=y.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);hr[4]=Ya[0],hr[5]=Ya[1]}Vn&&Vn.unactivate();var kc;if(y.touchData.cxt){if(kc={originalEvent:G,type:"cxttapend",position:{x:hr[0],y:hr[1]}},Vn?Vn.emit(kc):Be.emit(kc),!y.touchData.cxtDragged){var Ca={originalEvent:G,type:"cxttap",position:{x:hr[0],y:hr[1]}};Vn?Vn.emit(Ca):Be.emit(Ca)}y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxt=!1,y.touchData.start=null,y.redraw();return}if(!G.touches[2]&&Be.boxSelectionEnabled()&&y.touchData.selecting){y.touchData.selecting=!1;var oc=Be.collection(y.getAllInBox(nr[0],nr[1],nr[2],nr[3]));nr[0]=void 0,nr[1]=void 0,nr[2]=void 0,nr[3]=void 0,nr[4]=0,y.redrawHint("select",!0),Be.emit({type:"boxend",originalEvent:G,position:{x:hr[0],y:hr[1]}});var ra=function(_4){return _4.selectable()&&!_4.selected()};oc.emit("box").stdFilter(ra).select().emit("boxselect"),oc.nonempty()&&y.redrawHint("eles",!0),y.redraw()}if(Vn!=null&&Vn.unactivate(),G.touches[2])y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);else if(!G.touches[1]){if(!G.touches[0]){if(!G.touches[0]){y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var no=y.dragData.touchDragEles;if(Vn!=null){var ql=Vn._private.grabbed;St(no),y.redrawHint("drag",!0),y.redrawHint("eles",!0),ql&&(Vn.emit("freeon"),no.emit("free"),y.dragData.didDrag&&(Vn.emit("dragfreeon"),no.emit("dragfree"))),C(Vn,["touchend","tapend","vmouseup","tapdragout"],G,{x:hr[0],y:hr[1]}),Vn.unactivate(),y.touchData.start=null}else{var Sl=y.findNearestElement(hr[0],hr[1],!0,!0);C(Sl,["touchend","tapend","vmouseup","tapdragout"],G,{x:hr[0],y:hr[1]})}var mb=y.touchData.startPosition[0]-hr[0],vb=mb*mb,v1=y.touchData.startPosition[1]-hr[1],up=v1*v1,Bd=vb+up,cm=Bd*Ls*Ls;y.touchData.singleTouchMoved||(Vn||Be.$(":selected").unselect(["tapunselect"]),C(Vn,["tap","vclick"],G,{x:hr[0],y:hr[1]}),na=!1,G.timeStamp-si<=Be.multiClickDebounceTime()?(vi&&clearTimeout(vi),na=!0,si=null,C(Vn,["dbltap","vdblclick"],G,{x:hr[0],y:hr[1]})):(vi=setTimeout(function(){na||C(Vn,["onetap","voneclick"],G,{x:hr[0],y:hr[1]})},Be.multiClickDebounceTime()),si=G.timeStamp)),Vn!=null&&!y.dragData.didDrag&&Vn._private.selectable&&cm<y.touchTapThreshold2&&!y.pinching&&(Be.selectionType()==="single"?(Be.$(x).unmerge(Vn).unselect(["tapunselect"]),Vn.select(["tapselect"])):Vn.selected()?Vn.unselect(["tapunselect"]):Vn.select(["tapselect"]),y.redrawHint("eles",!0)),y.touchData.singleTouchMoved=!0}}}for(var py=0;py<hr.length;py++)us[py]=hr[py];y.dragData.didDrag=!1,G.touches.length===0&&(y.touchData.dragDelta=[],y.touchData.startPosition=[null,null,null,null,null,null],y.touchData.startGPosition=null,y.touchData.didSelect=!1),G.touches.length<2&&(G.touches.length===1&&(y.touchData.startGPosition=[G.touches[0].clientX,G.touches[0].clientY]),y.pinching=!1,y.redrawHint("eles",!0),y.redraw())},!1),typeof TouchEvent>"u"){var Qi=[],ks=function(G){return{clientX:G.clientX,clientY:G.clientY,force:1,identifier:G.pointerId,pageX:G.pageX,pageY:G.pageY,radiusX:G.width/2,radiusY:G.height/2,screenX:G.screenX,screenY:G.screenY,target:G.target}},as=function(G){return{event:G,touch:ks(G)}},Es=function(G){Qi.push(as(G))},eo=function(G){for(var Vn=0;Vn<Qi.length;Vn++){var gr=Qi[Vn];if(gr.event.pointerId===G.pointerId){Qi.splice(Vn,1);return}}},Ta=function(G){var Vn=Qi.filter(function(gr){return gr.event.pointerId===G.pointerId})[0];Vn.event=G,Vn.touch=ks(G)},pa=function(G){G.touches=Qi.map(function(Vn){return Vn.touch})},mo=function(G){return G.pointerType==="mouse"||G.pointerType===4};y.registerBinding(y.container,"pointerdown",function(Kn){mo(Kn)||(Kn.preventDefault(),Es(Kn),pa(Kn),mr(Kn))}),y.registerBinding(y.container,"pointerup",function(Kn){mo(Kn)||(eo(Kn),pa(Kn),ss(Kn))}),y.registerBinding(y.container,"pointercancel",function(Kn){mo(Kn)||(eo(Kn),pa(Kn),gi(Kn))}),y.registerBinding(y.container,"pointermove",function(Kn){mo(Kn)||(Kn.preventDefault(),Ta(Kn),pa(Kn),Sr(Kn))})}};var om={};om.generatePolygon=function(y,p){return this.nodeShapes[y]={renderer:this,name:y,points:p,draw:function(C,L,O,N,j){this.renderer.nodeShapeImpl("polygon",C,L,O,N,j,this.points)},intersectLine:function(C,L,O,N,j,H,q){return B8(j,H,this.points,C,L,O/2,N/2,q)},checkPoint:function(C,L,O,N,j,H,q){return sm(C,L,this.points,H,q,N,j,[0,-1],O)}}},om.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},intersectLine:function(p,x,C,L,O,N,j){return CQ(O,N,p,x,C/2+j,L/2+j)},checkPoint:function(p,x,C,L,O,N,j){return v4(p,x,L,O,N,j,C)}}},om.generateRoundPolygon=function(y,p){for(var x=new Array(p.length*2),C=0;C<p.length/2;C++){var L=C*2,O=void 0;C<p.length/2-1?O=(C+1)*2:O=0,x[C*4]=p[L],x[C*4+1]=p[L+1];var N=p[O]-p[L],j=p[O+1]-p[L+1],H=Math.sqrt(N*N+j*j);x[C*4+2]=N/H,x[C*4+3]=j/H}return this.nodeShapes[y]={renderer:this,name:y,points:x,draw:function(W,Z,st,bt,pt){this.renderer.nodeShapeImpl("round-polygon",W,Z,st,bt,pt,this.points)},intersectLine:function(W,Z,st,bt,pt,_t,St){return SQ(pt,_t,this.points,W,Z,st,bt)},checkPoint:function(W,Z,st,bt,pt,_t,St){return TQ(W,Z,this.points,_t,St,bt,pt)}}},om.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:Fd(4,0),draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},intersectLine:function(p,x,C,L,O,N,j){return $B(O,N,p,x,C,L,j)},checkPoint:function(p,x,C,L,O,N,j){var H=R8(L,O),q=H*2;return!!(sm(p,x,this.points,N,j,L,O-q,[0,-1],C)||sm(p,x,this.points,N,j,L-q,O,[0,-1],C)||v4(p,x,q,q,N-L/2+H,j-O/2+H,C)||v4(p,x,q,q,N+L/2-H,j-O/2+H,C)||v4(p,x,q,q,N+L/2-H,j+O/2-H,C)||v4(p,x,q,q,N-L/2+H,j+O/2-H,C))}}},om.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:qB(),points:Fd(4,0),draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},generateCutTrianglePts:function(p,x,C,L){var O=this.cornerLength,N=x/2,j=p/2,H=C-j,q=C+j,W=L-N,Z=L+N;return{topLeft:[H,W+O,H+O,W,H+O,W+O],topRight:[q-O,W,q,W+O,q-O,W+O],bottomRight:[q,Z-O,q-O,Z,q-O,Z-O],bottomLeft:[H+O,Z,H,Z-O,H+O,Z-O]}},intersectLine:function(p,x,C,L,O,N,j){var H=this.generateCutTrianglePts(C+2*j,L+2*j,p,x),q=[].concat.apply([],[H.topLeft.splice(0,4),H.topRight.splice(0,4),H.bottomRight.splice(0,4),H.bottomLeft.splice(0,4)]);return B8(O,N,q,p,x)},checkPoint:function(p,x,C,L,O,N,j){if(sm(p,x,this.points,N,j,L,O-2*this.cornerLength,[0,-1],C)||sm(p,x,this.points,N,j,L-2*this.cornerLength,O,[0,-1],C))return!0;var H=this.generateCutTrianglePts(L,O,N,j);return y0(p,x,H.topLeft)||y0(p,x,H.topRight)||y0(p,x,H.bottomRight)||y0(p,x,H.bottomLeft)}}},om.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:Fd(4,0),draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},intersectLine:function(p,x,C,L,O,N,j){var H=.15,q=.5,W=.85,Z=this.generateBarrelBezierPts(C+2*j,L+2*j,p,x),st=function(_t){var St=Xx({x:_t[0],y:_t[1]},{x:_t[2],y:_t[3]},{x:_t[4],y:_t[5]},H),Et=Xx({x:_t[0],y:_t[1]},{x:_t[2],y:_t[3]},{x:_t[4],y:_t[5]},q),Nt=Xx({x:_t[0],y:_t[1]},{x:_t[2],y:_t[3]},{x:_t[4],y:_t[5]},W);return[_t[0],_t[1],St.x,St.y,Et.x,Et.y,Nt.x,Nt.y,_t[4],_t[5]]},bt=[].concat(st(Z.topLeft),st(Z.topRight),st(Z.bottomRight),st(Z.bottomLeft));return B8(O,N,bt,p,x)},generateBarrelBezierPts:function(p,x,C,L){var O=x/2,N=p/2,j=C-N,H=C+N,q=L-O,W=L+O,Z=VD(p,x),st=Z.heightOffset,bt=Z.widthOffset,pt=Z.ctrlPtOffsetPct*p,_t={topLeft:[j,q+st,j+pt,q,j+bt,q],topRight:[H-bt,q,H-pt,q,H,q+st],bottomRight:[H,W-st,H-pt,W,H-bt,W],bottomLeft:[j+bt,W,j+pt,W,j,W-st]};return _t.topLeft.isTop=!0,_t.topRight.isTop=!0,_t.bottomLeft.isBottom=!0,_t.bottomRight.isBottom=!0,_t},checkPoint:function(p,x,C,L,O,N,j){var H=VD(L,O),q=H.heightOffset,W=H.widthOffset;if(sm(p,x,this.points,N,j,L,O-2*q,[0,-1],C)||sm(p,x,this.points,N,j,L-2*W,O,[0,-1],C))return!0;for(var Z=this.generateBarrelBezierPts(L,O,N,j),st=function(Ut,de,Yt){var Ee=Yt[4],Te=Yt[2],ie=Yt[0],ze=Yt[5],me=Yt[1],yn=Math.min(Ee,ie),nn=Math.max(Ee,ie),qe=Math.min(ze,me),Tn=Math.max(ze,me);if(yn<=Ut&&Ut<=nn&&qe<=de&&de<=Tn){var Xn=_Q(Ee,Te,ie),lr=yQ(Xn[0],Xn[1],Xn[2],Ut),Sn=lr.filter(function(or){return 0<=or&&or<=1});if(Sn.length>0)return Sn[0]}return null},bt=Object.keys(Z),pt=0;pt<bt.length;pt++){var _t=bt[pt],St=Z[_t],Et=st(p,x,St);if(Et!=null){var Nt=St[5],Pt=St[3],qt=St[1],re=Lf(Nt,Pt,qt,Et);if(St.isTop&&re<=x||St.isBottom&&x<=re)return!0}}return!1}}},om.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:Fd(4,0),draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},intersectLine:function(p,x,C,L,O,N,j){var H=p-(C/2+j),q=x-(L/2+j),W=q,Z=p+(C/2+j),st=uy(O,N,p,x,H,q,Z,W,!1);return st.length>0?st:$B(O,N,p,x,C,L,j)},checkPoint:function(p,x,C,L,O,N,j){var H=R8(L,O),q=2*H;if(sm(p,x,this.points,N,j,L,O-q,[0,-1],C)||sm(p,x,this.points,N,j,L-q,O,[0,-1],C))return!0;var W=L/2+2*C,Z=O/2+2*C,st=[N-W,j-Z,N-W,j,N+W,j,N+W,j-Z];return!!(y0(p,x,st)||v4(p,x,q,q,N+L/2-H,j+O/2-H,C)||v4(p,x,q,q,N-L/2+H,j+O/2-H,C))}}},om.registerNodeShapes=function(){var y=this.nodeShapes={},p=this;this.generateEllipse(),this.generatePolygon("triangle",Fd(3,0)),this.generateRoundPolygon("round-triangle",Fd(3,0)),this.generatePolygon("rectangle",Fd(4,0)),y.square=y.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var x=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",x),this.generateRoundPolygon("round-diamond",x)}this.generatePolygon("pentagon",Fd(5,0)),this.generateRoundPolygon("round-pentagon",Fd(5,0)),this.generatePolygon("hexagon",Fd(6,0)),this.generateRoundPolygon("round-hexagon",Fd(6,0)),this.generatePolygon("heptagon",Fd(7,0)),this.generateRoundPolygon("round-heptagon",Fd(7,0)),this.generatePolygon("octagon",Fd(8,0)),this.generateRoundPolygon("round-octagon",Fd(8,0));var C=new Array(20);{var L=qD(5,0),O=qD(5,Math.PI/5),N=.5*(3-Math.sqrt(5));N*=1.57;for(var j=0;j<O.length/2;j++)O[j*2]*=N,O[j*2+1]*=N;for(var j=0;j<20/4;j++)C[j*4]=L[j*2],C[j*4+1]=L[j*2+1],C[j*4+2]=O[j*2],C[j*4+3]=O[j*2+1]}C=zB(C),this.generatePolygon("star",C),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);{var H=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",H),this.generateRoundPolygon("round-tag",H)}y.makePolygon=function(q){var W=q.join("$"),Z="polygon-"+W,st;return(st=this[Z])?st:p.generatePolygon(Z,q)}};var nE={};nE.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},nE.redraw=function(y){y=y||IB();var p=this;p.averageRedrawTime===void 0&&(p.averageRedrawTime=0),p.lastRedrawTime===void 0&&(p.lastRedrawTime=0),p.lastDrawTime===void 0&&(p.lastDrawTime=0),p.requestedFrame=!0,p.renderOptions=y},nE.beforeRender=function(y,p){if(!this.destroyed){p==null&&$l("Priority is not optional for beforeRender");var x=this.beforeRenderCallbacks;x.push({fn:y,priority:p}),x.sort(function(C,L){return L.priority-C.priority})}};var Lj=function(p,x,C){for(var L=p.beforeRenderCallbacks,O=0;O<L.length;O++)L[O].fn(x,C)};nE.startRenderLoop=function(){var y=this,p=y.cy;if(!y.renderLoopStarted){y.renderLoopStarted=!0;var x=function C(L){if(!y.destroyed){if(!p.batching())if(y.requestedFrame&&!y.skipFrame){Lj(y,!0,L);var O=ip();y.render(y.renderOptions);var N=y.lastDrawTime=ip();y.averageRedrawTime===void 0&&(y.averageRedrawTime=N-O),y.redrawCount===void 0&&(y.redrawCount=0),y.redrawCount++,y.redrawTotalTime===void 0&&(y.redrawTotalTime=0);var j=N-O;y.redrawTotalTime+=j,y.lastRedrawTime=j,y.averageRedrawTime=y.averageRedrawTime/2+j/2,y.requestedFrame=!1}else Lj(y,!1,L);y.skipFrame=!1,g1(C)}};g1(x)}};var Get=function(p){this.init(p)},Dj=Get,g6=Dj.prototype;g6.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],g6.init=function(y){var p=this;p.options=y,p.cy=y.cy;var x=p.container=y.cy.container(),C=p.cy.window();if(C){var L=C.document,O=L.head,N="__________cytoscape_stylesheet",j="__________cytoscape_container",H=L.getElementById(N)!=null;if(x.className.indexOf(j)<0&&(x.className=(x.className||"")+" "+j),!H){var q=L.createElement("style");q.id=N,q.textContent="."+j+" { position: relative; }",O.insertBefore(q,O.children[0])}var W=C.getComputedStyle(x),Z=W.getPropertyValue("position");Z==="static"&&Gc("A Cytoscape container has style position:static and so can not use UI extensions properly")}p.selection=[void 0,void 0,void 0,void 0,0],p.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],p.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},p.dragData={possibleDragElements:[]},p.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},p.redraws=0,p.showFps=y.showFps,p.debug=y.debug,p.hideEdgesOnViewport=y.hideEdgesOnViewport,p.textureOnViewport=y.textureOnViewport,p.wheelSensitivity=y.wheelSensitivity,p.motionBlurEnabled=y.motionBlur,p.forcedPixelRatio=Q(y.pixelRatio)?y.pixelRatio:null,p.motionBlur=y.motionBlur,p.motionBlurOpacity=y.motionBlurOpacity,p.motionBlurTransparency=1-p.motionBlurOpacity,p.motionBlurPxRatio=1,p.mbPxRBlurry=1,p.minMbLowQualFrames=4,p.fullQualityMb=!1,p.clearedForMotionBlur=[],p.desktopTapThreshold=y.desktopTapThreshold,p.desktopTapThreshold2=y.desktopTapThreshold*y.desktopTapThreshold,p.touchTapThreshold=y.touchTapThreshold,p.touchTapThreshold2=y.touchTapThreshold*y.touchTapThreshold,p.tapholdDuration=500,p.bindings=[],p.beforeRenderCallbacks=[],p.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},p.registerNodeShapes(),p.registerArrowShapes(),p.registerCalculationListeners()},g6.notify=function(y,p){var x=this,C=x.cy;if(!this.destroyed){if(y==="init"){x.load();return}if(y==="destroy"){x.destroy();return}(y==="add"||y==="remove"||y==="move"&&C.hasCompoundNodes()||y==="load"||y==="zorder"||y==="mount")&&x.invalidateCachedZSortedEles(),y==="viewport"&&x.redrawHint("select",!0),(y==="load"||y==="resize"||y==="mount")&&(x.invalidateContainerClientCoordsCache(),x.matchCanvasSize(x.container)),x.redrawHint("eles",!0),x.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},g6.destroy=function(){var y=this;y.destroyed=!0,y.cy.stopAnimationLoop();for(var p=0;p<y.bindings.length;p++){var x=y.bindings[p],C=x,L=C.target;(L.off||L.removeEventListener).apply(L,C.args)}if(y.bindings=[],y.beforeRenderCallbacks=[],y.onUpdateEleCalcsFns=[],y.removeObserver&&y.removeObserver.disconnect(),y.styleObserver&&y.styleObserver.disconnect(),y.resizeObserver&&y.resizeObserver.disconnect(),y.labelCalcDiv)try{document.body.removeChild(y.labelCalcDiv)}catch{}},g6.isHeadless=function(){return!1},[wM,_j,Aj,d6,om,nE].forEach(function(y){we(g6,y)});var vM=1e3/60,Mj={setupDequeueing:function(p){return function(){var C=this,L=this.renderer;if(!C.dequeueingSetup){C.dequeueingSetup=!0;var O=pu(function(){L.redrawHint("eles",!0),L.redrawHint("drag",!0),L.redraw()},p.deqRedrawThreshold),N=function(q,W){var Z=ip(),st=L.averageRedrawTime,bt=L.lastRedrawTime,pt=[],_t=L.cy.extent(),St=L.getPixelRatio();for(q||L.flushRenderedStyleQueue();;){var Et=ip(),Nt=Et-Z,Pt=Et-W;if(bt<vM){var qt=vM-(q?st:0);if(Pt>=p.deqFastCost*qt)break}else if(q){if(Nt>=p.deqCost*bt||Nt>=p.deqAvgCost*st)break}else if(Pt>=p.deqNoDrawCost*vM)break;var re=p.deq(C,St,_t);if(re.length>0)for(var ee=0;ee<re.length;ee++)pt.push(re[ee]);else break}pt.length>0&&(p.onDeqd(C,pt),!q&&p.shouldRedraw(C,pt,St,_t)&&O())},j=p.priority||BD;L.beforeRender(N,j(C))}}}},Ket=function(){function y(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ay;g(this,y),this.idsByKey=new F2,this.keyForId=new F2,this.cachesByLvl=new F2,this.lvls=[],this.getKey=p,this.doesEleInvalidateKey=x}return v(y,[{key:"getIdsFor",value:function(x){x==null&&$l("Can not get id list for null key");var C=this.idsByKey,L=this.idsByKey.get(x);return L||(L=new Wx,C.set(x,L)),L}},{key:"addIdForKey",value:function(x,C){x!=null&&this.getIdsFor(x).add(C)}},{key:"deleteIdForKey",value:function(x,C){x!=null&&this.getIdsFor(x).delete(C)}},{key:"getNumberOfIdsForKey",value:function(x){return x==null?0:this.getIdsFor(x).size}},{key:"updateKeyMappingFor",value:function(x){var C=x.id(),L=this.keyForId.get(C),O=this.getKey(x);this.deleteIdForKey(L,C),this.addIdForKey(O,C),this.keyForId.set(C,O)}},{key:"deleteKeyMappingFor",value:function(x){var C=x.id(),L=this.keyForId.get(C);this.deleteIdForKey(L,C),this.keyForId.delete(C)}},{key:"keyHasChangedFor",value:function(x){var C=x.id(),L=this.keyForId.get(C),O=this.getKey(x);return L!==O}},{key:"isInvalid",value:function(x){return this.keyHasChangedFor(x)||this.doesEleInvalidateKey(x)}},{key:"getCachesAt",value:function(x){var C=this.cachesByLvl,L=this.lvls,O=C.get(x);return O||(O=new F2,C.set(x,O),L.push(x)),O}},{key:"getCache",value:function(x,C){return this.getCachesAt(C).get(x)}},{key:"get",value:function(x,C){var L=this.getKey(x),O=this.getCache(L,C);return O!=null&&this.updateKeyMappingFor(x),O}},{key:"getForCachedKey",value:function(x,C){var L=this.keyForId.get(x.id()),O=this.getCache(L,C);return O}},{key:"hasCache",value:function(x,C){return this.getCachesAt(C).has(x)}},{key:"has",value:function(x,C){var L=this.getKey(x);return this.hasCache(L,C)}},{key:"setCache",value:function(x,C,L){L.key=x,this.getCachesAt(C).set(x,L)}},{key:"set",value:function(x,C,L){var O=this.getKey(x);this.setCache(O,C,L),this.updateKeyMappingFor(x)}},{key:"deleteCache",value:function(x,C){this.getCachesAt(C).delete(x)}},{key:"delete",value:function(x,C){var L=this.getKey(x);this.deleteCache(L,C)}},{key:"invalidateKey",value:function(x){var C=this;this.lvls.forEach(function(L){return C.deleteCache(x,L)})}},{key:"invalidate",value:function(x){var C=x.id(),L=this.keyForId.get(C);this.deleteKeyMappingFor(x);var O=this.doesEleInvalidateKey(x);return O&&this.invalidateKey(L),O||this.getNumberOfIdsForKey(L)===0}}]),y}(),Ij=25,OC=50,NC=-4,yM=3,Wet=7.99,Yet=8,Xet=1024,Qet=1024,Jet=1024,Zet=.2,tnt=.8,ent=10,nnt=.15,rnt=.1,int=.9,snt=.9,ant=100,ont=1,p6={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},cnt=p1({getKey:null,doesEleInvalidateKey:ay,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:b4,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),rE=function(p,x){var C=this;C.renderer=p,C.onDequeues=[];var L=cnt(x);we(C,L),C.lookup=new Ket(L.getKey,L.doesEleInvalidateKey),C.setupDequeueing()},Jh=rE.prototype;Jh.reasons=p6,Jh.getTextureQueue=function(y){var p=this;return p.eleImgCaches=p.eleImgCaches||{},p.eleImgCaches[y]=p.eleImgCaches[y]||[]},Jh.getRetiredTextureQueue=function(y){var p=this,x=p.eleImgCaches.retired=p.eleImgCaches.retired||{},C=x[y]=x[y]||[];return C},Jh.getElementQueue=function(){var y=this,p=y.eleCacheQueue=y.eleCacheQueue||new N8(function(x,C){return C.reqs-x.reqs});return p},Jh.getElementKeyToQueue=function(){var y=this,p=y.eleKeyToCacheQueue=y.eleKeyToCacheQueue||{};return p},Jh.getElement=function(y,p,x,C,L){var O=this,N=this.renderer,j=N.cy.zoom(),H=this.lookup;if(!p||p.w===0||p.h===0||isNaN(p.w)||isNaN(p.h)||!y.visible()||y.removed()||!O.allowEdgeTxrCaching&&y.isEdge()||!O.allowParentTxrCaching&&y.isParent())return null;if(C==null&&(C=Math.ceil(jD(j*x))),C<NC)C=NC;else if(j>=Wet||C>yM)return null;var q=Math.pow(2,C),W=p.h*q,Z=p.w*q,st=N.eleTextBiggerThanMin(y,q);if(!this.isVisible(y,st))return null;var bt=H.get(y,C);if(bt&&bt.invalidated&&(bt.invalidated=!1,bt.texture.invalidatedWidth-=bt.width),bt)return bt;var pt;if(W<=Ij?pt=Ij:W<=OC?pt=OC:pt=Math.ceil(W/OC)*OC,W>Jet||Z>Qet)return null;var _t=O.getTextureQueue(pt),St=_t[_t.length-2],Et=function(){return O.recycleTexture(pt,Z)||O.addTexture(pt,Z)};St||(St=_t[_t.length-1]),St||(St=Et()),St.width-St.usedWidth<Z&&(St=Et());for(var Nt=function(nn){return nn&&nn.scaledLabelShown===st},Pt=L&&L===p6.dequeue,qt=L&&L===p6.highQuality,re=L&&L===p6.downscale,ee,Ut=C+1;Ut<=yM;Ut++){var de=H.get(y,Ut);if(de){ee=de;break}}var Yt=ee&&ee.level===C+1?ee:null,Ee=function(){St.context.drawImage(Yt.texture.canvas,Yt.x,0,Yt.width,Yt.height,St.usedWidth,0,Z,W)};if(St.context.setTransform(1,0,0,1,0,0),St.context.clearRect(St.usedWidth,0,Z,pt),Nt(Yt))Ee();else if(Nt(ee))if(qt){for(var Te=ee.level;Te>C;Te--)Yt=O.getElement(y,p,x,Te,p6.downscale);Ee()}else return O.queueElement(y,ee.level-1),ee;else{var ie;if(!Pt&&!qt&&!re)for(var ze=C-1;ze>=NC;ze--){var me=H.get(y,ze);if(me){ie=me;break}}if(Nt(ie))return O.queueElement(y,C),ie;St.context.translate(St.usedWidth,0),St.context.scale(q,q),this.drawElement(St.context,y,p,st,!1),St.context.scale(1/q,1/q),St.context.translate(-St.usedWidth,0)}return bt={x:St.usedWidth,texture:St,level:C,scale:q,width:Z,height:W,scaledLabelShown:st},St.usedWidth+=Math.ceil(Z+Yet),St.eleCaches.push(bt),H.set(y,C,bt),O.checkTextureFullness(St),bt},Jh.invalidateElements=function(y){for(var p=0;p<y.length;p++)this.invalidateElement(y[p])},Jh.invalidateElement=function(y){var p=this,x=p.lookup,C=[],L=x.isInvalid(y);if(L){for(var O=NC;O<=yM;O++){var N=x.getForCachedKey(y,O);N&&C.push(N)}var j=x.invalidate(y);if(j)for(var H=0;H<C.length;H++){var q=C[H],W=q.texture;W.invalidatedWidth+=q.width,q.invalidated=!0,p.checkTextureUtility(W)}p.removeFromQueue(y)}},Jh.checkTextureUtility=function(y){y.invalidatedWidth>=Zet*y.width&&this.retireTexture(y)},Jh.checkTextureFullness=function(y){var p=this,x=p.getTextureQueue(y.height);y.usedWidth/y.width>tnt&&y.fullnessChecks>=ent?oy(x,y):y.fullnessChecks++},Jh.retireTexture=function(y){var p=this,x=y.height,C=p.getTextureQueue(x),L=this.lookup;oy(C,y),y.retired=!0;for(var O=y.eleCaches,N=0;N<O.length;N++){var j=O[N];L.deleteCache(j.key,j.level)}G9(O);var H=p.getRetiredTextureQueue(x);H.push(y)},Jh.addTexture=function(y,p){var x=this,C=x.getTextureQueue(y),L={};return C.push(L),L.eleCaches=[],L.height=y,L.width=Math.max(Xet,p),L.usedWidth=0,L.invalidatedWidth=0,L.fullnessChecks=0,L.canvas=x.renderer.makeOffscreenCanvas(L.width,L.height),L.context=L.canvas.getContext("2d"),L},Jh.recycleTexture=function(y,p){for(var x=this,C=x.getTextureQueue(y),L=x.getRetiredTextureQueue(y),O=0;O<L.length;O++){var N=L[O];if(N.width>=p)return N.retired=!1,N.usedWidth=0,N.invalidatedWidth=0,N.fullnessChecks=0,G9(N.eleCaches),N.context.setTransform(1,0,0,1,0,0),N.context.clearRect(0,0,N.width,N.height),oy(L,N),C.push(N),N}},Jh.queueElement=function(y,p){var x=this,C=x.getElementQueue(),L=x.getElementKeyToQueue(),O=this.getKey(y),N=L[O];if(N)N.level=Math.max(N.level,p),N.eles.merge(y),N.reqs++,C.updateItem(N);else{var j={eles:y.spawn().merge(y),level:p,reqs:1,key:O};C.push(j),L[O]=j}},Jh.dequeue=function(y){for(var p=this,x=p.getElementQueue(),C=p.getElementKeyToQueue(),L=[],O=p.lookup,N=0;N<ont&&x.size()>0;N++){var j=x.pop(),H=j.key,q=j.eles[0],W=O.hasCache(q,j.level);if(C[H]=null,W)continue;L.push(j);var Z=p.getBoundingBox(q);p.getElement(q,Z,y,j.level,p6.dequeue)}return L},Jh.removeFromQueue=function(y){var p=this,x=p.getElementQueue(),C=p.getElementKeyToQueue(),L=this.getKey(y),O=C[L];O!=null&&(O.eles.length===1?(O.reqs=Kx,x.updateItem(O),x.pop(),C[L]=null):O.eles.unmerge(y))},Jh.onDequeue=function(y){this.onDequeues.push(y)},Jh.offDequeue=function(y){oy(this.onDequeues,y)},Jh.setupDequeueing=Mj.setupDequeueing({deqRedrawThreshold:ant,deqCost:nnt,deqAvgCost:rnt,deqNoDrawCost:int,deqFastCost:snt,deq:function(p,x,C){return p.dequeue(x,C)},onDeqd:function(p,x){for(var C=0;C<p.onDequeues.length;C++){var L=p.onDequeues[C];L(x)}},shouldRedraw:function(p,x,C,L){for(var O=0;O<x.length;O++)for(var N=x[O].eles,j=0;j<N.length;j++){var H=N[j].boundingBox();if($D(H,L))return!0}return!1},priority:function(p){return p.renderer.beforeRenderPriorities.eleTxrDeq}});var unt=1,iE=-4,PC=2,lnt=3.99,hnt=50,fnt=50,Zh=.15,dnt=.1,gnt=.9,Oj=.9,pnt=1,Nj=250,Pj=4e3*4e3,Fj=!0,Bj=function(p){var x=this,C=x.renderer=p,L=C.cy;x.layersByLevel={},x.firstGet=!0,x.lastInvalidationTime=ip()-2*Nj,x.skipping=!1,x.eleTxrDeqs=L.collection(),x.scheduleElementRefinement=pu(function(){x.refineElementTextures(x.eleTxrDeqs),x.eleTxrDeqs.unmerge(x.eleTxrDeqs)},fnt),C.beforeRender(function(N,j){j-x.lastInvalidationTime<=Nj?x.skipping=!0:x.skipping=!1},C.beforeRenderPriorities.lyrTxrSkip);var O=function(j,H){return H.reqs-j.reqs};x.layersQueue=new N8(O),x.setupDequeueing()},Df=Bj.prototype,Rj=0,FC=Math.pow(2,53)-1;Df.makeLayer=function(y,p){var x=Math.pow(2,p),C=Math.ceil(y.w*x),L=Math.ceil(y.h*x),O=this.renderer.makeOffscreenCanvas(C,L),N={id:Rj=++Rj%FC,bb:y,level:p,width:C,height:L,canvas:O,context:O.getContext("2d"),eles:[],elesQueue:[],reqs:0},j=N.context,H=-N.bb.x1,q=-N.bb.y1;return j.scale(x,x),j.translate(H,q),N},Df.getLayers=function(y,p,x){var C=this,L=C.renderer,O=L.cy,N=O.zoom(),j=C.firstGet;if(C.firstGet=!1,x==null){if(x=Math.ceil(jD(N*p)),x<iE)x=iE;else if(N>=lnt||x>PC)return null}C.validateLayersElesOrdering(x,y);var H=C.layersByLevel,q=Math.pow(2,x),W=H[x]=H[x]||[],Z,st=C.levelIsComplete(x,y),bt,pt=function(){var Ee=function(yn){if(C.validateLayersElesOrdering(yn,y),C.levelIsComplete(yn,y))return bt=H[yn],!0},Te=function(yn){if(!bt)for(var nn=x+yn;iE<=nn&&nn<=PC&&!Ee(nn);nn+=yn);};Te(1),Te(-1);for(var ie=W.length-1;ie>=0;ie--){var ze=W[ie];ze.invalid&&oy(W,ze)}};if(!st)pt();else return W;var _t=function(){if(!Z){Z=v0();for(var Ee=0;Ee<y.length;Ee++)BB(Z,y[Ee].boundingBox())}return Z},St=function(Ee){Ee=Ee||{};var Te=Ee.after;_t();var ie=Z.w*q*(Z.h*q);if(ie>Pj)return null;var ze=C.makeLayer(Z,x);if(Te!=null){var me=W.indexOf(Te)+1;W.splice(me,0,ze)}else(Ee.insert===void 0||Ee.insert)&&W.unshift(ze);return ze};if(C.skipping&&!j)return null;for(var Et=null,Nt=y.length/unt,Pt=!j,qt=0;qt<y.length;qt++){var re=y[qt],ee=re._private.rscratch,Ut=ee.imgLayerCaches=ee.imgLayerCaches||{},de=Ut[x];if(de){Et=de;continue}if((!Et||Et.eles.length>=Nt||!jB(Et.bb,re.boundingBox()))&&(Et=St({insert:!0,after:Et}),!Et))return null;bt||Pt?C.queueLayer(Et,re):C.drawEleInLayer(Et,re,x,p),Et.eles.push(re),Ut[x]=Et}return bt||(Pt?null:W)},Df.getEleLevelForLayerLevel=function(y,p){return y},Df.drawEleInLayer=function(y,p,x,C){var L=this,O=this.renderer,N=y.context,j=p.boundingBox();j.w===0||j.h===0||!p.visible()||(x=L.getEleLevelForLayerLevel(x,C),O.setImgSmoothing(N,!1),O.drawCachedElement(N,p,null,null,x,Fj),O.setImgSmoothing(N,!0))},Df.levelIsComplete=function(y,p){var x=this,C=x.layersByLevel[y];if(!C||C.length===0)return!1;for(var L=0,O=0;O<C.length;O++){var N=C[O];if(N.reqs>0||N.invalid)return!1;L+=N.eles.length}return L===p.length},Df.validateLayersElesOrdering=function(y,p){var x=this.layersByLevel[y];if(x)for(var C=0;C<x.length;C++){for(var L=x[C],O=-1,N=0;N<p.length;N++)if(L.eles[0]===p[N]){O=N;break}if(O<0){this.invalidateLayer(L);continue}for(var j=O,N=0;N<L.eles.length;N++)if(L.eles[N]!==p[j+N]){this.invalidateLayer(L);break}}},Df.updateElementsInLayers=function(y,p){for(var x=this,C=V(y[0]),L=0;L<y.length;L++)for(var O=C?null:y[L],N=C?y[L]:y[L].ele,j=N._private.rscratch,H=j.imgLayerCaches=j.imgLayerCaches||{},q=iE;q<=PC;q++){var W=H[q];W&&(O&&x.getEleLevelForLayerLevel(W.level)!==O.level||p(W,N,O))}},Df.haveLayers=function(){for(var y=this,p=!1,x=iE;x<=PC;x++){var C=y.layersByLevel[x];if(C&&C.length>0){p=!0;break}}return p},Df.invalidateElements=function(y){var p=this;y.length!==0&&(p.lastInvalidationTime=ip(),!(y.length===0||!p.haveLayers())&&p.updateElementsInLayers(y,function(C,L,O){p.invalidateLayer(C)}))},Df.invalidateLayer=function(y){if(this.lastInvalidationTime=ip(),!y.invalid){var p=y.level,x=y.eles,C=this.layersByLevel[p];oy(C,y),y.elesQueue=[],y.invalid=!0,y.replacement&&(y.replacement.invalid=!0);for(var L=0;L<x.length;L++){var O=x[L]._private.rscratch.imgLayerCaches;O&&(O[p]=null)}}},Df.refineElementTextures=function(y){var p=this;p.updateElementsInLayers(y,function(C,L,O){var N=C.replacement;if(N||(N=C.replacement=p.makeLayer(C.bb,C.level),N.replaces=C,N.eles=C.eles),!N.reqs)for(var j=0;j<N.eles.length;j++)p.queueLayer(N,N.eles[j])})},Df.enqueueElementRefinement=function(y){this.eleTxrDeqs.merge(y),this.scheduleElementRefinement()},Df.queueLayer=function(y,p){var x=this,C=x.layersQueue,L=y.elesQueue,O=L.hasId=L.hasId||{};if(!y.replacement){if(p){if(O[p.id()])return;L.push(p),O[p.id()]=!0}y.reqs?(y.reqs++,C.updateItem(y)):(y.reqs=1,C.push(y))}},Df.dequeue=function(y){for(var p=this,x=p.layersQueue,C=[],L=0;L<pnt&&x.size()!==0;){var O=x.peek();if(O.replacement){x.pop();continue}if(O.replaces&&O!==O.replaces.replacement){x.pop();continue}if(O.invalid){x.pop();continue}var N=O.elesQueue.shift();N&&(p.drawEleInLayer(O,N,O.level,y),L++),C.length===0&&C.push(!0),O.elesQueue.length===0&&(x.pop(),O.reqs=0,O.replaces&&p.applyLayerReplacement(O),p.requestRedraw())}return C},Df.applyLayerReplacement=function(y){var p=this,x=p.layersByLevel[y.level],C=y.replaces,L=x.indexOf(C);if(!(L<0||C.invalid)){x[L]=y;for(var O=0;O<y.eles.length;O++){var N=y.eles[O]._private,j=N.imgLayerCaches=N.imgLayerCaches||{};j&&(j[y.level]=y)}p.requestRedraw()}},Df.requestRedraw=pu(function(){var y=this.renderer;y.redrawHint("eles",!0),y.redrawHint("drag",!0),y.redraw()},100),Df.setupDequeueing=Mj.setupDequeueing({deqRedrawThreshold:hnt,deqCost:Zh,deqAvgCost:dnt,deqNoDrawCost:gnt,deqFastCost:Oj,deq:function(p,x){return p.dequeue(x)},onDeqd:BD,shouldRedraw:b4,priority:function(p){return p.renderer.beforeRenderPriorities.lyrTxrDeq}});var jj={},$j;function bnt(y,p){for(var x=0;x<p.length;x++){var C=p[x];y.lineTo(C.x,C.y)}}function wnt(y,p,x){for(var C,L=0;L<p.length;L++){var O=p[L];L===0&&(C=O),y.lineTo(O.x,O.y)}y.quadraticCurveTo(x.x,x.y,C.x,C.y)}function zj(y,p,x){y.beginPath&&y.beginPath();for(var C=p,L=0;L<C.length;L++){var O=C[L];y.lineTo(O.x,O.y)}var N=x,j=x[0];y.moveTo(j.x,j.y);for(var L=1;L<N.length;L++){var O=N[L];y.lineTo(O.x,O.y)}y.closePath&&y.closePath()}function mnt(y,p,x,C,L){y.beginPath&&y.beginPath(),y.arc(x,C,L,0,Math.PI*2,!1);var O=p,N=O[0];y.moveTo(N.x,N.y);for(var j=0;j<O.length;j++){var H=O[j];y.lineTo(H.x,H.y)}y.closePath&&y.closePath()}function qj(y,p,x,C){y.arc(p,x,C,0,Math.PI*2,!1)}jj.arrowShapeImpl=function(y){return($j||($j={polygon:bnt,"triangle-backcurve":wnt,"triangle-tee":zj,"circle-triangle":mnt,"triangle-cross":zj,circle:qj}))[y]};var bb={};bb.drawElement=function(y,p,x,C,L,O){var N=this;p.isNode()?N.drawNode(y,p,x,C,L,O):N.drawEdge(y,p,x,C,L,O)},bb.drawElementOverlay=function(y,p){var x=this;p.isNode()?x.drawNodeOverlay(y,p):x.drawEdgeOverlay(y,p)},bb.drawElementUnderlay=function(y,p){var x=this;p.isNode()?x.drawNodeUnderlay(y,p):x.drawEdgeUnderlay(y,p)},bb.drawCachedElementPortion=function(y,p,x,C,L,O,N,j){var H=this,q=x.getBoundingBox(p);if(!(q.w===0||q.h===0)){var W=x.getElement(p,q,C,L,O);if(W!=null){var Z=j(H,p);if(Z===0)return;var st=N(H,p),bt=q.x1,pt=q.y1,_t=q.w,St=q.h,Et,Nt,Pt,qt,re;if(st!==0){var ee=x.getRotationPoint(p);Pt=ee.x,qt=ee.y,y.translate(Pt,qt),y.rotate(st),re=H.getImgSmoothing(y),re||H.setImgSmoothing(y,!0);var Ut=x.getRotationOffset(p);Et=Ut.x,Nt=Ut.y}else Et=bt,Nt=pt;var de;Z!==1&&(de=y.globalAlpha,y.globalAlpha=de*Z),y.drawImage(W.texture.canvas,W.x,0,W.width,W.height,Et,Nt,_t,St),Z!==1&&(y.globalAlpha=de),st!==0&&(y.rotate(-st),y.translate(-Pt,-qt),re||H.setImgSmoothing(y,!1))}else x.drawElement(y,p)}};var vnt=function(){return 0},ynt=function(p,x){return p.getTextAngle(x,null)},xM=function(p,x){return p.getTextAngle(x,"source")},xnt=function(p,x){return p.getTextAngle(x,"target")},knt=function(p,x){return x.effectiveOpacity()},sE=function(p,x){return x.pstyle("text-opacity").pfValue*x.effectiveOpacity()};bb.drawCachedElement=function(y,p,x,C,L,O){var N=this,j=N.data,H=j.eleTxrCache,q=j.lblTxrCache,W=j.slbTxrCache,Z=j.tlbTxrCache,st=p.boundingBox(),bt=O===!0?H.reasons.highQuality:null;if(!(st.w===0||st.h===0||!p.visible())&&(!C||$D(st,C))){var pt=p.isEdge(),_t=p.element()._private.rscratch.badLine;N.drawElementUnderlay(y,p),N.drawCachedElementPortion(y,p,H,x,L,bt,vnt,knt),(!pt||!_t)&&N.drawCachedElementPortion(y,p,q,x,L,bt,ynt,sE),pt&&!_t&&(N.drawCachedElementPortion(y,p,W,x,L,bt,xM,sE),N.drawCachedElementPortion(y,p,Z,x,L,bt,xnt,sE)),N.drawElementOverlay(y,p)}},bb.drawElements=function(y,p){for(var x=this,C=0;C<p.length;C++){var L=p[C];x.drawElement(y,L)}},bb.drawCachedElements=function(y,p,x,C){for(var L=this,O=0;O<p.length;O++){var N=p[O];L.drawCachedElement(y,N,x,C)}},bb.drawCachedNodes=function(y,p,x,C){for(var L=this,O=0;O<p.length;O++){var N=p[O];N.isNode()&&L.drawCachedElement(y,N,x,C)}},bb.drawLayeredElements=function(y,p,x,C){var L=this,O=L.data.lyrTxrCache.getLayers(p,x);if(O)for(var N=0;N<O.length;N++){var j=O[N],H=j.bb;H.w===0||H.h===0||y.drawImage(j.canvas,H.x1,H.y1,H.w,H.h)}else L.drawCachedElements(y,p,x,C)};var wb={};wb.drawEdge=function(y,p,x){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,j=p._private.rscratch;if(!(O&&!p.visible())&&!(j.badLine||j.allpts==null||isNaN(j.allpts[0]))){var H;x&&(H=x,y.translate(-H.x1,-H.y1));var q=O?p.pstyle("opacity").value:1,W=O?p.pstyle("line-opacity").value:1,Z=p.pstyle("curve-style").value,st=p.pstyle("line-style").value,bt=p.pstyle("width").pfValue,pt=p.pstyle("line-cap").value,_t=q*W,St=q*W,Et=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_t;Z==="straight-triangle"?(N.eleStrokeStyle(y,p,ie),N.drawEdgeTrianglePath(p,y,j.allpts)):(y.lineWidth=bt,y.lineCap=pt,N.eleStrokeStyle(y,p,ie),N.drawEdgePath(p,y,j.allpts,st),y.lineCap="butt")},Nt=function(){L&&N.drawEdgeOverlay(y,p)},Pt=function(){L&&N.drawEdgeUnderlay(y,p)},qt=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:St;N.drawArrowheads(y,p,ie)},re=function(){N.drawElementText(y,p,null,C)};y.lineJoin="round";var ee=p.pstyle("ghost").value==="yes";if(ee){var Ut=p.pstyle("ghost-offset-x").pfValue,de=p.pstyle("ghost-offset-y").pfValue,Yt=p.pstyle("ghost-opacity").value,Ee=_t*Yt;y.translate(Ut,de),Et(Ee),qt(Ee),y.translate(-Ut,-de)}Pt(),Et(),qt(),Nt(),re(),x&&y.translate(H.x1,H.y1)}};var Hj=function(p){if(!["overlay","underlay"].includes(p))throw new Error("Invalid state");return function(x,C){if(C.visible()){var L=C.pstyle("".concat(p,"-opacity")).value;if(L!==0){var O=this,N=O.usePaths(),j=C._private.rscratch,H=C.pstyle("".concat(p,"-padding")).pfValue,q=2*H,W=C.pstyle("".concat(p,"-color")).value;x.lineWidth=q,j.edgeType==="self"&&!N?x.lineCap="butt":x.lineCap="round",O.colorStrokeStyle(x,W[0],W[1],W[2],L),O.drawEdgePath(C,x,j.allpts,"solid")}}}};wb.drawEdgeOverlay=Hj("overlay"),wb.drawEdgeUnderlay=Hj("underlay"),wb.drawEdgePath=function(y,p,x,C){var L=y._private.rscratch,O=p,N,j=!1,H=this.usePaths(),q=y.pstyle("line-dash-pattern").pfValue,W=y.pstyle("line-dash-offset").pfValue;if(H){var Z=x.join("$"),st=L.pathCacheKey&&L.pathCacheKey===Z;st?(N=p=L.pathCache,j=!0):(N=p=new Path2D,L.pathCacheKey=Z,L.pathCache=N)}if(O.setLineDash)switch(C){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(q),O.lineDashOffset=W;break;case"solid":O.setLineDash([]);break}if(!j&&!L.badLine)switch(p.beginPath&&p.beginPath(),p.moveTo(x[0],x[1]),L.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var bt=2;bt+3<x.length;bt+=4)p.quadraticCurveTo(x[bt],x[bt+1],x[bt+2],x[bt+3]);break;case"straight":case"segments":case"haystack":for(var pt=2;pt+1<x.length;pt+=2)p.lineTo(x[pt],x[pt+1]);break}p=O,H?p.stroke(N):p.stroke(),p.setLineDash&&p.setLineDash([])},wb.drawEdgeTrianglePath=function(y,p,x){p.fillStyle=p.strokeStyle;for(var C=y.pstyle("width").pfValue,L=0;L+1<x.length;L+=2){var O=[x[L+2]-x[L],x[L+3]-x[L+1]],N=Math.sqrt(O[0]*O[0]+O[1]*O[1]),j=[O[1]/N,-O[0]/N],H=[j[0]*C/2,j[1]*C/2];p.beginPath(),p.moveTo(x[L]-H[0],x[L+1]-H[1]),p.lineTo(x[L]+H[0],x[L+1]+H[1]),p.lineTo(x[L+2],x[L+3]),p.closePath(),p.fill()}},wb.drawArrowheads=function(y,p,x){var C=p._private.rscratch,L=C.edgeType==="haystack";L||this.drawArrowhead(y,p,"source",C.arrowStartX,C.arrowStartY,C.srcArrowAngle,x),this.drawArrowhead(y,p,"mid-target",C.midX,C.midY,C.midtgtArrowAngle,x),this.drawArrowhead(y,p,"mid-source",C.midX,C.midY,C.midsrcArrowAngle,x),L||this.drawArrowhead(y,p,"target",C.arrowEndX,C.arrowEndY,C.tgtArrowAngle,x)},wb.drawArrowhead=function(y,p,x,C,L,O,N){if(!(isNaN(C)||C==null||isNaN(L)||L==null||isNaN(O)||O==null)){var j=this,H=p.pstyle(x+"-arrow-shape").value;if(H!=="none"){var q=p.pstyle(x+"-arrow-fill").value==="hollow"?"both":"filled",W=p.pstyle(x+"-arrow-fill").value,Z=p.pstyle("width").pfValue,st=p.pstyle(x+"-arrow-width"),bt=st.value==="match-line"?Z:st.pfValue;st.units==="%"&&(bt*=Z);var pt=p.pstyle("opacity").value;N===void 0&&(N=pt);var _t=y.globalCompositeOperation;(N!==1||W==="hollow")&&(y.globalCompositeOperation="destination-out",j.colorFillStyle(y,255,255,255,1),j.colorStrokeStyle(y,255,255,255,1),j.drawArrowShape(p,y,q,Z,H,bt,C,L,O),y.globalCompositeOperation=_t);var St=p.pstyle(x+"-arrow-color").value;j.colorFillStyle(y,St[0],St[1],St[2],N),j.colorStrokeStyle(y,St[0],St[1],St[2],N),j.drawArrowShape(p,y,W,Z,H,bt,C,L,O)}}},wb.drawArrowShape=function(y,p,x,C,L,O,N,j,H){var q=this,W=this.usePaths()&&L!=="triangle-cross",Z=!1,st,bt=p,pt={x:N,y:j},_t=y.pstyle("arrow-scale").value,St=this.getArrowWidth(C,_t),Et=q.arrowShapes[L];if(W){var Nt=q.arrowPathCache=q.arrowPathCache||[],Pt=Nd(L),qt=Nt[Pt];qt!=null?(st=p=qt,Z=!0):(st=p=new Path2D,Nt[Pt]=st)}Z||(p.beginPath&&p.beginPath(),W?Et.draw(p,1,0,{x:0,y:0},1):Et.draw(p,St,H,pt,C),p.closePath&&p.closePath()),p=bt,W&&(p.translate(N,j),p.rotate(H),p.scale(St,St)),(x==="filled"||x==="both")&&(W?p.fill(st):p.fill()),(x==="hollow"||x==="both")&&(p.lineWidth=O/(W?St:1),p.lineJoin="miter",W?p.stroke(st):p.stroke()),W&&(p.scale(1/St,1/St),p.rotate(-H),p.translate(-N,-j))};var aE={};aE.safeDrawImage=function(y,p,x,C,L,O,N,j,H,q){if(!(L<=0||O<=0||H<=0||q<=0))try{y.drawImage(p,x,C,L,O,N,j,H,q)}catch(W){Gc(W)}},aE.drawInscribedImage=function(y,p,x,C,L){var O=this,N=x.position(),j=N.x,H=N.y,q=x.cy().style(),W=q.getIndexedStyle.bind(q),Z=W(x,"background-fit","value",C),st=W(x,"background-repeat","value",C),bt=x.width(),pt=x.height(),_t=x.padding()*2,St=bt+(W(x,"background-width-relative-to","value",C)==="inner"?0:_t),Et=pt+(W(x,"background-height-relative-to","value",C)==="inner"?0:_t),Nt=x._private.rscratch,Pt=W(x,"background-clip","value",C),qt=Pt==="node",re=W(x,"background-image-opacity","value",C)*L,ee=W(x,"background-image-smoothing","value",C),Ut=p.width||p.cachedW,de=p.height||p.cachedH;(Ut==null||de==null)&&(document.body.appendChild(p),Ut=p.cachedW=p.width||p.offsetWidth,de=p.cachedH=p.height||p.offsetHeight,document.body.removeChild(p));var Yt=Ut,Ee=de;if(W(x,"background-width","value",C)!=="auto"&&(W(x,"background-width","units",C)==="%"?Yt=W(x,"background-width","pfValue",C)*St:Yt=W(x,"background-width","pfValue",C)),W(x,"background-height","value",C)!=="auto"&&(W(x,"background-height","units",C)==="%"?Ee=W(x,"background-height","pfValue",C)*Et:Ee=W(x,"background-height","pfValue",C)),!(Yt===0||Ee===0)){if(Z==="contain"){var Te=Math.min(St/Yt,Et/Ee);Yt*=Te,Ee*=Te}else if(Z==="cover"){var Te=Math.max(St/Yt,Et/Ee);Yt*=Te,Ee*=Te}var ie=j-St/2,ze=W(x,"background-position-x","units",C),me=W(x,"background-position-x","pfValue",C);ze==="%"?ie+=(St-Yt)*me:ie+=me;var yn=W(x,"background-offset-x","units",C),nn=W(x,"background-offset-x","pfValue",C);yn==="%"?ie+=(St-Yt)*nn:ie+=nn;var qe=H-Et/2,Tn=W(x,"background-position-y","units",C),Xn=W(x,"background-position-y","pfValue",C);Tn==="%"?qe+=(Et-Ee)*Xn:qe+=Xn;var lr=W(x,"background-offset-y","units",C),Sn=W(x,"background-offset-y","pfValue",C);lr==="%"?qe+=(Et-Ee)*Sn:qe+=Sn,Nt.pathCache&&(ie-=j,qe-=H,j=0,H=0);var or=y.globalAlpha;y.globalAlpha=re;var pr=O.getImgSmoothing(y),kr=!1;if(ee==="no"&&pr?(O.setImgSmoothing(y,!1),kr=!0):ee==="yes"&&!pr&&(O.setImgSmoothing(y,!0),kr=!0),st==="no-repeat")qt&&(y.save(),Nt.pathCache?y.clip(Nt.pathCache):(O.nodeShapes[O.getNodeShape(x)].draw(y,j,H,St,Et),y.clip())),O.safeDrawImage(y,p,0,0,Ut,de,ie,qe,Yt,Ee),qt&&y.restore();else{var wr=y.createPattern(p,st);y.fillStyle=wr,O.nodeShapes[O.getNodeShape(x)].draw(y,j,H,St,Et),y.translate(ie,qe),y.fill(),y.translate(-ie,-qe)}y.globalAlpha=or,kr&&O.setImgSmoothing(y,pr)}};var S4={};S4.eleTextBiggerThanMin=function(y,p){if(!p){var x=y.cy().zoom(),C=this.getPixelRatio(),L=Math.ceil(jD(x*C));p=Math.pow(2,L)}var O=y.pstyle("font-size").pfValue*p,N=y.pstyle("min-zoomed-font-size").pfValue;return!(O<N)},S4.drawElementText=function(y,p,x,C,L){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this;if(C==null){if(O&&!N.eleTextBiggerThanMin(p))return}else if(C===!1)return;if(p.isNode()){var j=p.pstyle("label");if(!j||!j.value)return;var H=N.getLabelJustification(p);y.textAlign=H,y.textBaseline="bottom"}else{var q=p.element()._private.rscratch.badLine,W=p.pstyle("label"),Z=p.pstyle("source-label"),st=p.pstyle("target-label");if(q||(!W||!W.value)&&(!Z||!Z.value)&&(!st||!st.value))return;y.textAlign="center",y.textBaseline="bottom"}var bt=!x,pt;x&&(pt=x,y.translate(-pt.x1,-pt.y1)),L==null?(N.drawText(y,p,null,bt,O),p.isEdge()&&(N.drawText(y,p,"source",bt,O),N.drawText(y,p,"target",bt,O))):N.drawText(y,p,L,bt,O),x&&y.translate(pt.x1,pt.y1)},S4.getFontCache=function(y){var p;this.fontCaches=this.fontCaches||[];for(var x=0;x<this.fontCaches.length;x++)if(p=this.fontCaches[x],p.context===y)return p;return p={context:y},this.fontCaches.push(p),p},S4.setupTextStyle=function(y,p){var x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,C=p.pstyle("font-style").strValue,L=p.pstyle("font-size").pfValue+"px",O=p.pstyle("font-family").strValue,N=p.pstyle("font-weight").strValue,j=x?p.effectiveOpacity()*p.pstyle("text-opacity").value:1,H=p.pstyle("text-outline-opacity").value*j,q=p.pstyle("color").value,W=p.pstyle("text-outline-color").value;y.font=C+" "+N+" "+L+" "+O,y.lineJoin="round",this.colorFillStyle(y,q[0],q[1],q[2],j),this.colorStrokeStyle(y,W[0],W[1],W[2],H)};function kM(y,p,x,C,L){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,N=arguments.length>6?arguments[6]:void 0;y.beginPath(),y.moveTo(p+O,x),y.lineTo(p+C-O,x),y.quadraticCurveTo(p+C,x,p+C,x+O),y.lineTo(p+C,x+L-O),y.quadraticCurveTo(p+C,x+L,p+C-O,x+L),y.lineTo(p+O,x+L),y.quadraticCurveTo(p,x+L,p,x+L-O),y.lineTo(p,x+O),y.quadraticCurveTo(p,x,p+O,x),y.closePath(),N?y.stroke():y.fill()}S4.getTextAngle=function(y,p){var x,C=y._private,L=C.rscratch,O=p?p+"-":"",N=y.pstyle(O+"text-rotation"),j=fb(L,"labelAngle",p);return N.strValue==="autorotate"?x=y.isEdge()?j:0:N.strValue==="none"?x=0:x=N.pfValue,x},S4.drawText=function(y,p,x){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=p._private,N=O.rscratch,j=L?p.effectiveOpacity():1;if(!(L&&(j===0||p.pstyle("text-opacity").value===0))){x==="main"&&(x=null);var H=fb(N,"labelX",x),q=fb(N,"labelY",x),W,Z,st=this.getLabelText(p,x);if(st!=null&&st!==""&&!isNaN(H)&&!isNaN(q)){this.setupTextStyle(y,p,L);var bt=x?x+"-":"",pt=fb(N,"labelWidth",x),_t=fb(N,"labelHeight",x),St=p.pstyle(bt+"text-margin-x").pfValue,Et=p.pstyle(bt+"text-margin-y").pfValue,Nt=p.isEdge(),Pt=p.pstyle("text-halign").value,qt=p.pstyle("text-valign").value;Nt&&(Pt="center",qt="center"),H+=St,q+=Et;var re;switch(C?re=this.getTextAngle(p,x):re=0,re!==0&&(W=H,Z=q,y.translate(W,Z),y.rotate(re),H=0,q=0),qt){case"top":break;case"center":q+=_t/2;break;case"bottom":q+=_t;break}var ee=p.pstyle("text-background-opacity").value,Ut=p.pstyle("text-border-opacity").value,de=p.pstyle("text-border-width").pfValue,Yt=p.pstyle("text-background-padding").pfValue,Ee=p.pstyle("text-background-shape").strValue,Te=Ee.indexOf("round")===0,ie=2;if(ee>0||de>0&&Ut>0){var ze=H-Yt;switch(Pt){case"left":ze-=pt;break;case"center":ze-=pt/2;break}var me=q-_t-Yt,yn=pt+2*Yt,nn=_t+2*Yt;if(ee>0){var qe=y.fillStyle,Tn=p.pstyle("text-background-color").value;y.fillStyle="rgba("+Tn[0]+","+Tn[1]+","+Tn[2]+","+ee*j+")",Te?kM(y,ze,me,yn,nn,ie):y.fillRect(ze,me,yn,nn),y.fillStyle=qe}if(de>0&&Ut>0){var Xn=y.strokeStyle,lr=y.lineWidth,Sn=p.pstyle("text-border-color").value,or=p.pstyle("text-border-style").value;if(y.strokeStyle="rgba("+Sn[0]+","+Sn[1]+","+Sn[2]+","+Ut*j+")",y.lineWidth=de,y.setLineDash)switch(or){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"double":y.lineWidth=de/4,y.setLineDash([]);break;case"solid":y.setLineDash([]);break}if(Te?kM(y,ze,me,yn,nn,ie,"stroke"):y.strokeRect(ze,me,yn,nn),or==="double"){var pr=de/2;Te?kM(y,ze+pr,me+pr,yn-pr*2,nn-pr*2,ie,"stroke"):y.strokeRect(ze+pr,me+pr,yn-pr*2,nn-pr*2)}y.setLineDash&&y.setLineDash([]),y.lineWidth=lr,y.strokeStyle=Xn}}var kr=2*p.pstyle("text-outline-width").pfValue;if(kr>0&&(y.lineWidth=kr),p.pstyle("text-wrap").value==="wrap"){var wr=fb(N,"labelWrapCachedLines",x),Cr=fb(N,"labelLineHeight",x),$n=pt/2,cr=this.getLabelJustification(p);switch(cr==="auto"||(Pt==="left"?cr==="left"?H+=-pt:cr==="center"&&(H+=-$n):Pt==="center"?cr==="left"?H+=-$n:cr==="right"&&(H+=$n):Pt==="right"&&(cr==="center"?H+=$n:cr==="right"&&(H+=pt))),qt){case"top":q-=(wr.length-1)*Cr;break;case"center":case"bottom":q-=(wr.length-1)*Cr;break}for(var mr=0;mr<wr.length;mr++)kr>0&&y.strokeText(wr[mr],H,q),y.fillText(wr[mr],H,q),q+=Cr}else kr>0&&y.strokeText(st,H,q),y.fillText(st,H,q);re!==0&&(y.rotate(-re),y.translate(-W,-Z))}}};var b6={};b6.drawNode=function(y,p,x){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,j,H,q=p._private,W=q.rscratch,Z=p.position();if(!(!Q(Z.x)||!Q(Z.y))&&!(O&&!p.visible())){var st=O?p.effectiveOpacity():1,bt=N.usePaths(),pt,_t=!1,St=p.padding();j=p.width()+2*St,H=p.height()+2*St;var Et;x&&(Et=x,y.translate(-Et.x1,-Et.y1));for(var Nt=p.pstyle("background-image"),Pt=Nt.value,qt=new Array(Pt.length),re=new Array(Pt.length),ee=0,Ut=0;Ut<Pt.length;Ut++){var de=Pt[Ut],Yt=qt[Ut]=de!=null&&de!=="none";if(Yt){var Ee=p.cy().style().getIndexedStyle(p,"background-image-crossorigin","value",Ut);ee++,re[Ut]=N.getCachedImage(de,Ee,function(){q.backgroundTimestamp=Date.now(),p.emitAndNotify("background")})}}var Te=p.pstyle("background-blacken").value,ie=p.pstyle("border-width").pfValue,ze=p.pstyle("background-opacity").value*st,me=p.pstyle("border-color").value,yn=p.pstyle("border-style").value,nn=p.pstyle("border-opacity").value*st,qe=p.pstyle("outline-width").pfValue,Tn=p.pstyle("outline-color").value,Xn=p.pstyle("outline-style").value,lr=p.pstyle("outline-opacity").value*st,Sn=p.pstyle("outline-offset").value;y.lineJoin="miter";var or=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ze;N.eleFillStyle(y,p,Kn)},pr=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:nn;N.colorStrokeStyle(y,me[0],me[1],me[2],Kn)},kr=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:lr;N.colorStrokeStyle(y,Tn[0],Tn[1],Tn[2],Kn)},wr=function(Kn,G,Vn,gr){var nr=N.nodePathCache=N.nodePathCache||[],Be=Pd(Vn==="polygon"?Vn+","+gr.join(","):Vn,""+G,""+Kn),Ls=nr[Be],hr,us=!1;return Ls!=null?(hr=Ls,us=!0,W.pathCache=hr):(hr=new Path2D,nr[Be]=W.pathCache=hr),{path:hr,cacheHit:us}},Cr=p.pstyle("shape").strValue,$n=p.pstyle("shape-polygon-points").pfValue;if(bt){y.translate(Z.x,Z.y);var cr=wr(j,H,Cr,$n);pt=cr.path,_t=cr.cacheHit}var mr=function(){if(!_t){var Kn=Z;bt&&(Kn={x:0,y:0}),N.nodeShapes[N.getNodeShape(p)].draw(pt||y,Kn.x,Kn.y,j,H)}bt?y.fill(pt):y.fill()},Sr=function(){for(var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:st,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Vn=q.backgrounding,gr=0,nr=0;nr<re.length;nr++){var Be=p.cy().style().getIndexedStyle(p,"background-image-containment","value",nr);if(G&&Be==="over"||!G&&Be==="inside"){gr++;continue}qt[nr]&&re[nr].complete&&!re[nr].error&&(gr++,N.drawInscribedImage(y,re[nr],p,nr,Kn))}q.backgrounding=gr!==ee,Vn!==q.backgrounding&&p.updateStyle(!1)},gi=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:st;N.hasPie(p)&&(N.drawPie(y,p,G),Kn&&(bt||N.nodeShapes[N.getNodeShape(p)].draw(y,Z.x,Z.y,j,H)))},ss=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:st,G=(Te>0?Te:-Te)*Kn,Vn=Te>0?0:255;Te!==0&&(N.colorFillStyle(y,Vn,Vn,Vn,G),bt?y.fill(pt):y.fill())},na=function(){if(ie>0){if(y.lineWidth=ie,y.lineCap="butt",y.setLineDash)switch(yn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"solid":case"double":y.setLineDash([]);break}if(bt?y.stroke(pt):y.stroke(),yn==="double"){y.lineWidth=ie/3;var Kn=y.globalCompositeOperation;y.globalCompositeOperation="destination-out",bt?y.stroke(pt):y.stroke(),y.globalCompositeOperation=Kn}y.setLineDash&&y.setLineDash([])}},vi=function(){if(qe>0){if(y.lineWidth=qe,y.lineCap="butt",y.setLineDash)switch(Xn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"solid":case"double":y.setLineDash([]);break}var Kn=Z;bt&&(Kn={x:0,y:0});var G=N.getNodeShape(p),Vn=(j+ie+(qe+Sn))/j,gr=(H+ie+(qe+Sn))/H,nr=j*Vn,Be=H*gr,Ls=N.nodeShapes[G].points,hr;if(bt){var us=wr(nr,Be,G,Ls);hr=us.path}if(G==="ellipse")N.drawEllipsePath(hr||y,Kn.x,Kn.y,nr,Be);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(G)){var Ya=0,kc=0,Ca=0;G==="round-diamond"?Ya=(ie+Sn+qe)*1.4:G==="round-heptagon"?(Ya=(ie+Sn+qe)*1.075,Ca=-(ie/2+Sn+qe)/35):G==="round-hexagon"?Ya=(ie+Sn+qe)*1.12:G==="round-pentagon"?(Ya=(ie+Sn+qe)*1.13,Ca=-(ie/2+Sn+qe)/15):G==="round-tag"?(Ya=(ie+Sn+qe)*1.12,kc=(ie/2+qe+Sn)*.07):G==="round-triangle"&&(Ya=(ie+Sn+qe)*(Math.PI/2),Ca=-(ie+Sn/2+qe)/Math.PI),Ya!==0&&(Vn=(j+Ya)/j,gr=(H+Ya)/H),N.drawRoundPolygonPath(hr||y,Kn.x+kc,Kn.y+Ca,j*Vn,H*gr,Ls)}else if(["roundrectangle","round-rectangle"].includes(G))N.drawRoundRectanglePath(hr||y,Kn.x,Kn.y,nr,Be);else if(["cutrectangle","cut-rectangle"].includes(G))N.drawCutRectanglePath(hr||y,Kn.x,Kn.y,nr,Be);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(G))N.drawBottomRoundRectanglePath(hr||y,Kn.x,Kn.y,nr,Be);else if(G==="barrel")N.drawBarrelPath(hr||y,Kn.x,Kn.y,nr,Be);else if(G.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(G)){var oc=(ie+qe+Sn)/j;Ls=J9(Z9(Ls,oc)),N.drawPolygonPath(hr||y,Kn.x,Kn.y,j,H,Ls)}else{var ra=(ie+qe+Sn)/j;Ls=J9(Z9(Ls,-ra)),N.drawPolygonPath(hr||y,Kn.x,Kn.y,j,H,Ls)}if(bt?y.stroke(hr):y.stroke(),Xn==="double"){y.lineWidth=ie/3;var no=y.globalCompositeOperation;y.globalCompositeOperation="destination-out",bt?y.stroke(hr):y.stroke(),y.globalCompositeOperation=no}y.setLineDash&&y.setLineDash([])}},si=function(){L&&N.drawNodeOverlay(y,p,Z,j,H)},Qi=function(){L&&N.drawNodeUnderlay(y,p,Z,j,H)},ks=function(){N.drawElementText(y,p,null,C)},as=p.pstyle("ghost").value==="yes";if(as){var Es=p.pstyle("ghost-offset-x").pfValue,eo=p.pstyle("ghost-offset-y").pfValue,Ta=p.pstyle("ghost-opacity").value,pa=Ta*st;y.translate(Es,eo),kr(),vi(),or(Ta*ze),mr(),Sr(pa,!0),pr(Ta*nn),na(),gi(Te!==0||ie!==0),Sr(pa,!1),ss(pa),y.translate(-Es,-eo)}bt&&y.translate(-Z.x,-Z.y),Qi(),bt&&y.translate(Z.x,Z.y),kr(),vi(),or(),mr(),Sr(st,!0),pr(),na(),gi(Te!==0||ie!==0),Sr(st,!1),ss(),bt&&y.translate(-Z.x,-Z.y),ks(),si(),x&&y.translate(Et.x1,Et.y1)}};var EM=function(p){if(!["overlay","underlay"].includes(p))throw new Error("Invalid state");return function(x,C,L,O,N){var j=this;if(C.visible()){var H=C.pstyle("".concat(p,"-padding")).pfValue,q=C.pstyle("".concat(p,"-opacity")).value,W=C.pstyle("".concat(p,"-color")).value,Z=C.pstyle("".concat(p,"-shape")).value;if(q>0){if(L=L||C.position(),O==null||N==null){var st=C.padding();O=C.width()+2*st,N=C.height()+2*st}j.colorFillStyle(x,W[0],W[1],W[2],q),j.nodeShapes[Z].draw(x,L.x,L.y,O+H*2,N+H*2),x.fill()}}}};b6.drawNodeOverlay=EM("overlay"),b6.drawNodeUnderlay=EM("underlay"),b6.hasPie=function(y){return y=y[0],y._private.hasPie},b6.drawPie=function(y,p,x,C){p=p[0],C=C||p.position();var L=p.cy().style(),O=p.pstyle("pie-size"),N=C.x,j=C.y,H=p.width(),q=p.height(),W=Math.min(H,q)/2,Z=0,st=this.usePaths();st&&(N=0,j=0),O.units==="%"?W=W*O.pfValue:O.pfValue!==void 0&&(W=O.pfValue/2);for(var bt=1;bt<=L.pieBackgroundN;bt++){var pt=p.pstyle("pie-"+bt+"-background-size").value,_t=p.pstyle("pie-"+bt+"-background-color").value,St=p.pstyle("pie-"+bt+"-background-opacity").value*x,Et=pt/100;Et+Z>1&&(Et=1-Z);var Nt=1.5*Math.PI+2*Math.PI*Z,Pt=2*Math.PI*Et,qt=Nt+Pt;pt===0||Z>=1||Z+Et>1||(y.beginPath(),y.moveTo(N,j),y.arc(N,j,W,Nt,qt),y.closePath(),this.colorFillStyle(y,_t[0],_t[1],_t[2],St),y.fill(),Z+=Et)}};var dg={},Ent=100;dg.getPixelRatio=function(){var y=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var p=y.backingStorePixelRatio||y.webkitBackingStorePixelRatio||y.mozBackingStorePixelRatio||y.msBackingStorePixelRatio||y.oBackingStorePixelRatio||y.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/p},dg.paintCache=function(y){for(var p=this.paintCaches=this.paintCaches||[],x=!0,C,L=0;L<p.length;L++)if(C=p[L],C.context===y){x=!1;break}return x&&(C={context:y},p.push(C)),C},dg.createGradientStyleFor=function(y,p,x,C,L){var O,N=this.usePaths(),j=x.pstyle(p+"-gradient-stop-colors").value,H=x.pstyle(p+"-gradient-stop-positions").pfValue;if(C==="radial-gradient")if(x.isEdge()){var q=x.sourceEndpoint(),W=x.targetEndpoint(),Z=x.midpoint(),st=w4(q,Z),bt=w4(W,Z);O=y.createRadialGradient(Z.x,Z.y,0,Z.x,Z.y,Math.max(st,bt))}else{var pt=N?{x:0,y:0}:x.position(),_t=x.paddedWidth(),St=x.paddedHeight();O=y.createRadialGradient(pt.x,pt.y,0,pt.x,pt.y,Math.max(_t,St))}else if(x.isEdge()){var Et=x.sourceEndpoint(),Nt=x.targetEndpoint();O=y.createLinearGradient(Et.x,Et.y,Nt.x,Nt.y)}else{var Pt=N?{x:0,y:0}:x.position(),qt=x.paddedWidth(),re=x.paddedHeight(),ee=qt/2,Ut=re/2,de=x.pstyle("background-gradient-direction").value;switch(de){case"to-bottom":O=y.createLinearGradient(Pt.x,Pt.y-Ut,Pt.x,Pt.y+Ut);break;case"to-top":O=y.createLinearGradient(Pt.x,Pt.y+Ut,Pt.x,Pt.y-Ut);break;case"to-left":O=y.createLinearGradient(Pt.x+ee,Pt.y,Pt.x-ee,Pt.y);break;case"to-right":O=y.createLinearGradient(Pt.x-ee,Pt.y,Pt.x+ee,Pt.y);break;case"to-bottom-right":case"to-right-bottom":O=y.createLinearGradient(Pt.x-ee,Pt.y-Ut,Pt.x+ee,Pt.y+Ut);break;case"to-top-right":case"to-right-top":O=y.createLinearGradient(Pt.x-ee,Pt.y+Ut,Pt.x+ee,Pt.y-Ut);break;case"to-bottom-left":case"to-left-bottom":O=y.createLinearGradient(Pt.x+ee,Pt.y-Ut,Pt.x-ee,Pt.y+Ut);break;case"to-top-left":case"to-left-top":O=y.createLinearGradient(Pt.x+ee,Pt.y+Ut,Pt.x-ee,Pt.y-Ut);break}}if(!O)return null;for(var Yt=H.length===j.length,Ee=j.length,Te=0;Te<Ee;Te++)O.addColorStop(Yt?H[Te]:Te/(Ee-1),"rgba("+j[Te][0]+","+j[Te][1]+","+j[Te][2]+","+L+")");return O},dg.gradientFillStyle=function(y,p,x,C){var L=this.createGradientStyleFor(y,"background",p,x,C);if(!L)return null;y.fillStyle=L},dg.colorFillStyle=function(y,p,x,C,L){y.fillStyle="rgba("+p+","+x+","+C+","+L+")"},dg.eleFillStyle=function(y,p,x){var C=p.pstyle("background-fill").value;if(C==="linear-gradient"||C==="radial-gradient")this.gradientFillStyle(y,p,C,x);else{var L=p.pstyle("background-color").value;this.colorFillStyle(y,L[0],L[1],L[2],x)}},dg.gradientStrokeStyle=function(y,p,x,C){var L=this.createGradientStyleFor(y,"line",p,x,C);if(!L)return null;y.strokeStyle=L},dg.colorStrokeStyle=function(y,p,x,C,L){y.strokeStyle="rgba("+p+","+x+","+C+","+L+")"},dg.eleStrokeStyle=function(y,p,x){var C=p.pstyle("line-fill").value;if(C==="linear-gradient"||C==="radial-gradient")this.gradientStrokeStyle(y,p,C,x);else{var L=p.pstyle("line-color").value;this.colorStrokeStyle(y,L[0],L[1],L[2],x)}},dg.matchCanvasSize=function(y){var p=this,x=p.data,C=p.findContainerClientCoords(),L=C[2],O=C[3],N=p.getPixelRatio(),j=p.motionBlurPxRatio;(y===p.data.bufferCanvases[p.MOTIONBLUR_BUFFER_NODE]||y===p.data.bufferCanvases[p.MOTIONBLUR_BUFFER_DRAG])&&(N=j);var H=L*N,q=O*N,W;if(!(H===p.canvasWidth&&q===p.canvasHeight)){p.fontCaches=null;var Z=x.canvasContainer;Z.style.width=L+"px",Z.style.height=O+"px";for(var st=0;st<p.CANVAS_LAYERS;st++)W=x.canvases[st],W.width=H,W.height=q,W.style.width=L+"px",W.style.height=O+"px";for(var st=0;st<p.BUFFER_COUNT;st++)W=x.bufferCanvases[st],W.width=H,W.height=q,W.style.width=L+"px",W.style.height=O+"px";p.textureMult=1,N<=1&&(W=x.bufferCanvases[p.TEXTURE_BUFFER],p.textureMult=2,W.width=H*p.textureMult,W.height=q*p.textureMult),p.canvasWidth=H,p.canvasHeight=q}},dg.renderTo=function(y,p,x,C){this.render({forcedContext:y,forcedZoom:p,forcedPan:x,drawAllLayers:!0,forcedPxRatio:C})},dg.render=function(y){y=y||IB();var p=y.forcedContext,x=y.drawAllLayers,C=y.drawOnlyNodeLayer,L=y.forcedZoom,O=y.forcedPan,N=this,j=y.forcedPxRatio===void 0?this.getPixelRatio():y.forcedPxRatio,H=N.cy,q=N.data,W=q.canvasNeedsRedraw,Z=N.textureOnViewport&&!p&&(N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming),st=y.motionBlur!==void 0?y.motionBlur:N.motionBlur,bt=N.motionBlurPxRatio,pt=H.hasCompoundNodes(),_t=N.hoverData.draggingEles,St=!!(N.hoverData.selecting||N.touchData.selecting);st=st&&!p&&N.motionBlurEnabled&&!St;var Et=st;p||(N.prevPxRatio!==j&&(N.invalidateContainerClientCoordsCache(),N.matchCanvasSize(N.container),N.redrawHint("eles",!0),N.redrawHint("drag",!0)),N.prevPxRatio=j),!p&&N.motionBlurTimeout&&clearTimeout(N.motionBlurTimeout),st&&(N.mbFrames==null&&(N.mbFrames=0),N.mbFrames++,N.mbFrames<3&&(Et=!1),N.mbFrames>N.minMbLowQualFrames&&(N.motionBlurPxRatio=N.mbPxRBlurry)),N.clearingMotionBlur&&(N.motionBlurPxRatio=1),N.textureDrawLastFrame&&!Z&&(W[N.NODE]=!0,W[N.SELECT_BOX]=!0);var Nt=H.style(),Pt=H.zoom(),qt=L!==void 0?L:Pt,re=H.pan(),ee={x:re.x,y:re.y},Ut={zoom:Pt,pan:{x:re.x,y:re.y}},de=N.prevViewport,Yt=de===void 0||Ut.zoom!==de.zoom||Ut.pan.x!==de.pan.x||Ut.pan.y!==de.pan.y;!Yt&&!(_t&&!pt)&&(N.motionBlurPxRatio=1),O&&(ee=O),qt*=j,ee.x*=j,ee.y*=j;var Ee=N.getCachedZSortedEles();function Te(vi,si,Qi,ks,as){var Es=vi.globalCompositeOperation;vi.globalCompositeOperation="destination-out",N.colorFillStyle(vi,255,255,255,N.motionBlurTransparency),vi.fillRect(si,Qi,ks,as),vi.globalCompositeOperation=Es}function ie(vi,si){var Qi,ks,as,Es;!N.clearingMotionBlur&&(vi===q.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]||vi===q.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG])?(Qi={x:re.x*bt,y:re.y*bt},ks=Pt*bt,as=N.canvasWidth*bt,Es=N.canvasHeight*bt):(Qi=ee,ks=qt,as=N.canvasWidth,Es=N.canvasHeight),vi.setTransform(1,0,0,1,0,0),si==="motionBlur"?Te(vi,0,0,as,Es):!p&&(si===void 0||si)&&vi.clearRect(0,0,as,Es),x||(vi.translate(Qi.x,Qi.y),vi.scale(ks,ks)),O&&vi.translate(O.x,O.y),L&&vi.scale(L,L)}if(Z||(N.textureDrawLastFrame=!1),Z){if(N.textureDrawLastFrame=!0,!N.textureCache){N.textureCache={},N.textureCache.bb=H.mutableElements().boundingBox(),N.textureCache.texture=N.data.bufferCanvases[N.TEXTURE_BUFFER];var ze=N.data.bufferContexts[N.TEXTURE_BUFFER];ze.setTransform(1,0,0,1,0,0),ze.clearRect(0,0,N.canvasWidth*N.textureMult,N.canvasHeight*N.textureMult),N.render({forcedContext:ze,drawOnlyNodeLayer:!0,forcedPxRatio:j*N.textureMult});var Ut=N.textureCache.viewport={zoom:H.zoom(),pan:H.pan(),width:N.canvasWidth,height:N.canvasHeight};Ut.mpan={x:(0-Ut.pan.x)/Ut.zoom,y:(0-Ut.pan.y)/Ut.zoom}}W[N.DRAG]=!1,W[N.NODE]=!1;var me=q.contexts[N.NODE],yn=N.textureCache.texture,Ut=N.textureCache.viewport;me.setTransform(1,0,0,1,0,0),st?Te(me,0,0,Ut.width,Ut.height):me.clearRect(0,0,Ut.width,Ut.height);var nn=Nt.core("outside-texture-bg-color").value,qe=Nt.core("outside-texture-bg-opacity").value;N.colorFillStyle(me,nn[0],nn[1],nn[2],qe),me.fillRect(0,0,Ut.width,Ut.height);var Pt=H.zoom();ie(me,!1),me.clearRect(Ut.mpan.x,Ut.mpan.y,Ut.width/Ut.zoom/j,Ut.height/Ut.zoom/j),me.drawImage(yn,Ut.mpan.x,Ut.mpan.y,Ut.width/Ut.zoom/j,Ut.height/Ut.zoom/j)}else N.textureOnViewport&&!p&&(N.textureCache=null);var Tn=H.extent(),Xn=N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming||N.hoverData.draggingEles||N.cy.animated(),lr=N.hideEdgesOnViewport&&Xn,Sn=[];if(Sn[N.NODE]=!W[N.NODE]&&st&&!N.clearedForMotionBlur[N.NODE]||N.clearingMotionBlur,Sn[N.NODE]&&(N.clearedForMotionBlur[N.NODE]=!0),Sn[N.DRAG]=!W[N.DRAG]&&st&&!N.clearedForMotionBlur[N.DRAG]||N.clearingMotionBlur,Sn[N.DRAG]&&(N.clearedForMotionBlur[N.DRAG]=!0),W[N.NODE]||x||C||Sn[N.NODE]){var or=st&&!Sn[N.NODE]&&bt!==1,me=p||(or?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]:q.contexts[N.NODE]),pr=st&&!or?"motionBlur":void 0;ie(me,pr),lr?N.drawCachedNodes(me,Ee.nondrag,j,Tn):N.drawLayeredElements(me,Ee.nondrag,j,Tn),N.debug&&N.drawDebugPoints(me,Ee.nondrag),!x&&!st&&(W[N.NODE]=!1)}if(!C&&(W[N.DRAG]||x||Sn[N.DRAG])){var or=st&&!Sn[N.DRAG]&&bt!==1,me=p||(or?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG]:q.contexts[N.DRAG]);ie(me,st&&!or?"motionBlur":void 0),lr?N.drawCachedNodes(me,Ee.drag,j,Tn):N.drawCachedElements(me,Ee.drag,j,Tn),N.debug&&N.drawDebugPoints(me,Ee.drag),!x&&!st&&(W[N.DRAG]=!1)}if(N.showFps||!C&&W[N.SELECT_BOX]&&!x){var me=p||q.contexts[N.SELECT_BOX];if(ie(me),N.selection[4]==1&&(N.hoverData.selecting||N.touchData.selecting)){var Pt=N.cy.zoom(),kr=Nt.core("selection-box-border-width").value/Pt;me.lineWidth=kr,me.fillStyle="rgba("+Nt.core("selection-box-color").value[0]+","+Nt.core("selection-box-color").value[1]+","+Nt.core("selection-box-color").value[2]+","+Nt.core("selection-box-opacity").value+")",me.fillRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]),kr>0&&(me.strokeStyle="rgba("+Nt.core("selection-box-border-color").value[0]+","+Nt.core("selection-box-border-color").value[1]+","+Nt.core("selection-box-border-color").value[2]+","+Nt.core("selection-box-opacity").value+")",me.strokeRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]))}if(q.bgActivePosistion&&!N.hoverData.selecting){var Pt=N.cy.zoom(),wr=q.bgActivePosistion;me.fillStyle="rgba("+Nt.core("active-bg-color").value[0]+","+Nt.core("active-bg-color").value[1]+","+Nt.core("active-bg-color").value[2]+","+Nt.core("active-bg-opacity").value+")",me.beginPath(),me.arc(wr.x,wr.y,Nt.core("active-bg-size").pfValue/Pt,0,2*Math.PI),me.fill()}var Cr=N.lastRedrawTime;if(N.showFps&&Cr){Cr=Math.round(Cr);var $n=Math.round(1e3/Cr);me.setTransform(1,0,0,1,0,0),me.fillStyle="rgba(255, 0, 0, 0.75)",me.strokeStyle="rgba(255, 0, 0, 0.75)",me.lineWidth=1,me.fillText("1 frame = "+Cr+" ms = "+$n+" fps",0,20);var cr=60;me.strokeRect(0,30,250,20),me.fillRect(0,30,250*Math.min($n/cr,1),20)}x||(W[N.SELECT_BOX]=!1)}if(st&&bt!==1){var mr=q.contexts[N.NODE],Sr=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_NODE],gi=q.contexts[N.DRAG],ss=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_DRAG],na=function(si,Qi,ks){si.setTransform(1,0,0,1,0,0),ks||!Et?si.clearRect(0,0,N.canvasWidth,N.canvasHeight):Te(si,0,0,N.canvasWidth,N.canvasHeight);var as=bt;si.drawImage(Qi,0,0,N.canvasWidth*as,N.canvasHeight*as,0,0,N.canvasWidth,N.canvasHeight)};(W[N.NODE]||Sn[N.NODE])&&(na(mr,Sr,Sn[N.NODE]),W[N.NODE]=!1),(W[N.DRAG]||Sn[N.DRAG])&&(na(gi,ss,Sn[N.DRAG]),W[N.DRAG]=!1)}N.prevViewport=Ut,N.clearingMotionBlur&&(N.clearingMotionBlur=!1,N.motionBlurCleared=!0,N.motionBlur=!0),st&&(N.motionBlurTimeout=setTimeout(function(){N.motionBlurTimeout=null,N.clearedForMotionBlur[N.NODE]=!1,N.clearedForMotionBlur[N.DRAG]=!1,N.motionBlur=!1,N.clearingMotionBlur=!Z,N.mbFrames=0,W[N.NODE]=!0,W[N.DRAG]=!0,N.redraw()},Ent)),p||H.emit("render")};var gy={};gy.drawPolygonPath=function(y,p,x,C,L,O){var N=C/2,j=L/2;y.beginPath&&y.beginPath(),y.moveTo(p+N*O[0],x+j*O[1]);for(var H=1;H<O.length/2;H++)y.lineTo(p+N*O[H*2],x+j*O[H*2+1]);y.closePath()},gy.drawRoundPolygonPath=function(y,p,x,C,L,O){var N=C/2,j=L/2,H=HD(C,L);y.beginPath&&y.beginPath();for(var q=0;q<O.length/4;q++){var W=void 0,Z=void 0;q===0?W=O.length-2:W=q*4-2,Z=q*4+2;var st=p+N*O[q*4],bt=x+j*O[q*4+1],pt=-O[W]*O[Z]-O[W+1]*O[Z+1],_t=H/Math.tan(Math.acos(pt)/2),St=st-_t*O[W],Et=bt-_t*O[W+1],Nt=st+_t*O[Z],Pt=bt+_t*O[Z+1];q===0?y.moveTo(St,Et):y.lineTo(St,Et),y.arcTo(st,bt,Nt,Pt,H)}y.closePath()},gy.drawRoundRectanglePath=function(y,p,x,C,L){var O=C/2,N=L/2,j=R8(C,L);y.beginPath&&y.beginPath(),y.moveTo(p,x-N),y.arcTo(p+O,x-N,p+O,x,j),y.arcTo(p+O,x+N,p,x+N,j),y.arcTo(p-O,x+N,p-O,x,j),y.arcTo(p-O,x-N,p,x-N,j),y.lineTo(p,x-N),y.closePath()},gy.drawBottomRoundRectanglePath=function(y,p,x,C,L){var O=C/2,N=L/2,j=R8(C,L);y.beginPath&&y.beginPath(),y.moveTo(p,x-N),y.lineTo(p+O,x-N),y.lineTo(p+O,x),y.arcTo(p+O,x+N,p,x+N,j),y.arcTo(p-O,x+N,p-O,x,j),y.lineTo(p-O,x-N),y.lineTo(p,x-N),y.closePath()},gy.drawCutRectanglePath=function(y,p,x,C,L){var O=C/2,N=L/2,j=qB();y.beginPath&&y.beginPath(),y.moveTo(p-O+j,x-N),y.lineTo(p+O-j,x-N),y.lineTo(p+O,x-N+j),y.lineTo(p+O,x+N-j),y.lineTo(p+O-j,x+N),y.lineTo(p-O+j,x+N),y.lineTo(p-O,x+N-j),y.lineTo(p-O,x-N+j),y.closePath()},gy.drawBarrelPath=function(y,p,x,C,L){var O=C/2,N=L/2,j=p-O,H=p+O,q=x-N,W=x+N,Z=VD(C,L),st=Z.widthOffset,bt=Z.heightOffset,pt=Z.ctrlPtOffsetPct*st;y.beginPath&&y.beginPath(),y.moveTo(j,q+bt),y.lineTo(j,W-bt),y.quadraticCurveTo(j+pt,W,j+st,W),y.lineTo(H-st,W),y.quadraticCurveTo(H-pt,W,H,W-bt),y.lineTo(H,q+bt),y.quadraticCurveTo(H-pt,q,H-st,q),y.lineTo(j+st,q),y.quadraticCurveTo(j+pt,q,j,q+bt),y.closePath()};for(var Vj=Math.sin(0),Uj=Math.cos(0),TM={},CM={},Gj=Math.PI/40,w6=0*Math.PI;w6<2*Math.PI;w6+=Gj)TM[w6]=Math.sin(w6),CM[w6]=Math.cos(w6);gy.drawEllipsePath=function(y,p,x,C,L){if(y.beginPath&&y.beginPath(),y.ellipse)y.ellipse(p,x,C/2,L/2,0,0,2*Math.PI);else for(var O,N,j=C/2,H=L/2,q=0*Math.PI;q<2*Math.PI;q+=Gj)O=p-j*TM[q]*Vj+j*CM[q]*Uj,N=x+H*CM[q]*Vj+H*TM[q]*Uj,q===0?y.moveTo(O,N):y.lineTo(O,N);y.closePath()};var oE={};oE.createBuffer=function(y,p){var x=document.createElement("canvas");return x.width=y,x.height=p,[x,x.getContext("2d")]},oE.bufferCanvasImage=function(y){var p=this.cy,x=p.mutableElements(),C=x.boundingBox(),L=this.findContainerClientCoords(),O=y.full?Math.ceil(C.w):L[2],N=y.full?Math.ceil(C.h):L[3],j=Q(y.maxWidth)||Q(y.maxHeight),H=this.getPixelRatio(),q=1;if(y.scale!==void 0)O*=y.scale,N*=y.scale,q=y.scale;else if(j){var W=1/0,Z=1/0;Q(y.maxWidth)&&(W=q*y.maxWidth/O),Q(y.maxHeight)&&(Z=q*y.maxHeight/N),q=Math.min(W,Z),O*=q,N*=q}j||(O*=H,N*=H,q*=H);var st=document.createElement("canvas");st.width=O,st.height=N,st.style.width=O+"px",st.style.height=N+"px";var bt=st.getContext("2d");if(O>0&&N>0){bt.clearRect(0,0,O,N),bt.globalCompositeOperation="source-over";var pt=this.getCachedZSortedEles();if(y.full)bt.translate(-C.x1*q,-C.y1*q),bt.scale(q,q),this.drawElements(bt,pt),bt.scale(1/q,1/q),bt.translate(C.x1*q,C.y1*q);else{var _t=p.pan(),St={x:_t.x*q,y:_t.y*q};q*=p.zoom(),bt.translate(St.x,St.y),bt.scale(q,q),this.drawElements(bt,pt),bt.scale(1/q,1/q),bt.translate(-St.x,-St.y)}y.bg&&(bt.globalCompositeOperation="destination-over",bt.fillStyle=y.bg,bt.rect(0,0,O,N),bt.fill())}return st};function Tnt(y,p){for(var x=atob(y),C=new ArrayBuffer(x.length),L=new Uint8Array(C),O=0;O<x.length;O++)L[O]=x.charCodeAt(O);return new Blob([C],{type:p})}function Kj(y){var p=y.indexOf(",");return y.substr(p+1)}function Wj(y,p,x){var C=function(){return p.toDataURL(x,y.quality)};switch(y.output){case"blob-promise":return new e6(function(L,O){try{p.toBlob(function(N){N!=null?L(N):O(new Error("`canvas.toBlob()` sent a null value in its callback"))},x,y.quality)}catch(N){O(N)}});case"blob":return Tnt(Kj(C()),x);case"base64":return Kj(C());case"base64uri":default:return C()}}oE.png=function(y){return Wj(y,this.bufferCanvasImage(y),"image/png")},oE.jpg=function(y){return Wj(y,this.bufferCanvasImage(y),"image/jpeg")};var Yj={};Yj.nodeShapeImpl=function(y,p,x,C,L,O,N){switch(y){case"ellipse":return this.drawEllipsePath(p,x,C,L,O);case"polygon":return this.drawPolygonPath(p,x,C,L,O,N);case"round-polygon":return this.drawRoundPolygonPath(p,x,C,L,O,N);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(p,x,C,L,O);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(p,x,C,L,O);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(p,x,C,L,O);case"barrel":return this.drawBarrelPath(p,x,C,L,O)}};var Xj=cE,xc=cE.prototype;xc.CANVAS_LAYERS=3,xc.SELECT_BOX=0,xc.DRAG=1,xc.NODE=2,xc.BUFFER_COUNT=3,xc.TEXTURE_BUFFER=0,xc.MOTIONBLUR_BUFFER_NODE=1,xc.MOTIONBLUR_BUFFER_DRAG=2;function cE(y){var p=this;p.data={canvases:new Array(xc.CANVAS_LAYERS),contexts:new Array(xc.CANVAS_LAYERS),canvasNeedsRedraw:new Array(xc.CANVAS_LAYERS),bufferCanvases:new Array(xc.BUFFER_COUNT),bufferContexts:new Array(xc.CANVAS_LAYERS)};var x="-webkit-tap-highlight-color",C="rgba(0,0,0,0)";p.data.canvasContainer=document.createElement("div");var L=p.data.canvasContainer.style;p.data.canvasContainer.style[x]=C,L.position="relative",L.zIndex="0",L.overflow="hidden";var O=y.cy.container();O.appendChild(p.data.canvasContainer),O.style[x]=C;var N={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};Fe()&&(N["-ms-touch-action"]="none",N["touch-action"]="none");for(var j=0;j<xc.CANVAS_LAYERS;j++){var H=p.data.canvases[j]=document.createElement("canvas");p.data.contexts[j]=H.getContext("2d"),Object.keys(N).forEach(function(Cr){H.style[Cr]=N[Cr]}),H.style.position="absolute",H.setAttribute("data-id","layer"+j),H.style.zIndex=String(xc.CANVAS_LAYERS-j),p.data.canvasContainer.appendChild(H),p.data.canvasNeedsRedraw[j]=!1}p.data.topCanvas=p.data.canvases[0],p.data.canvases[xc.NODE].setAttribute("data-id","layer"+xc.NODE+"-node"),p.data.canvases[xc.SELECT_BOX].setAttribute("data-id","layer"+xc.SELECT_BOX+"-selectbox"),p.data.canvases[xc.DRAG].setAttribute("data-id","layer"+xc.DRAG+"-drag");for(var j=0;j<xc.BUFFER_COUNT;j++)p.data.bufferCanvases[j]=document.createElement("canvas"),p.data.bufferContexts[j]=p.data.bufferCanvases[j].getContext("2d"),p.data.bufferCanvases[j].style.position="absolute",p.data.bufferCanvases[j].setAttribute("data-id","buffer"+j),p.data.bufferCanvases[j].style.zIndex=String(-j-1),p.data.bufferCanvases[j].style.visibility="hidden";p.pathsEnabled=!0;var q=v0(),W=function($n){return{x:($n.x1+$n.x2)/2,y:($n.y1+$n.y2)/2}},Z=function($n){return{x:-$n.w/2,y:-$n.h/2}},st=function($n){var cr=$n[0]._private,mr=cr.oldBackgroundTimestamp===cr.backgroundTimestamp;return!mr},bt=function($n){return $n[0]._private.nodeKey},pt=function($n){return $n[0]._private.labelStyleKey},_t=function($n){return $n[0]._private.sourceLabelStyleKey},St=function($n){return $n[0]._private.targetLabelStyleKey},Et=function($n,cr,mr,Sr,gi){return p.drawElement($n,cr,mr,!1,!1,gi)},Nt=function($n,cr,mr,Sr,gi){return p.drawElementText($n,cr,mr,Sr,"main",gi)},Pt=function($n,cr,mr,Sr,gi){return p.drawElementText($n,cr,mr,Sr,"source",gi)},qt=function($n,cr,mr,Sr,gi){return p.drawElementText($n,cr,mr,Sr,"target",gi)},re=function($n){return $n.boundingBox(),$n[0]._private.bodyBounds},ee=function($n){return $n.boundingBox(),$n[0]._private.labelBounds.main||q},Ut=function($n){return $n.boundingBox(),$n[0]._private.labelBounds.source||q},de=function($n){return $n.boundingBox(),$n[0]._private.labelBounds.target||q},Yt=function($n,cr){return cr},Ee=function($n){return W(re($n))},Te=function($n,cr,mr){var Sr=$n?$n+"-":"";return{x:cr.x+mr.pstyle(Sr+"text-margin-x").pfValue,y:cr.y+mr.pstyle(Sr+"text-margin-y").pfValue}},ie=function($n,cr,mr){var Sr=$n[0]._private.rscratch;return{x:Sr[cr],y:Sr[mr]}},ze=function($n){return Te("",ie($n,"labelX","labelY"),$n)},me=function($n){return Te("source",ie($n,"sourceLabelX","sourceLabelY"),$n)},yn=function($n){return Te("target",ie($n,"targetLabelX","targetLabelY"),$n)},nn=function($n){return Z(re($n))},qe=function($n){return Z(Ut($n))},Tn=function($n){return Z(de($n))},Xn=function($n){var cr=ee($n),mr=Z(ee($n));if($n.isNode()){switch($n.pstyle("text-halign").value){case"left":mr.x=-cr.w;break;case"right":mr.x=0;break}switch($n.pstyle("text-valign").value){case"top":mr.y=-cr.h;break;case"bottom":mr.y=0;break}}return mr},lr=p.data.eleTxrCache=new rE(p,{getKey:bt,doesEleInvalidateKey:st,drawElement:Et,getBoundingBox:re,getRotationPoint:Ee,getRotationOffset:nn,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),Sn=p.data.lblTxrCache=new rE(p,{getKey:pt,drawElement:Nt,getBoundingBox:ee,getRotationPoint:ze,getRotationOffset:Xn,isVisible:Yt}),or=p.data.slbTxrCache=new rE(p,{getKey:_t,drawElement:Pt,getBoundingBox:Ut,getRotationPoint:me,getRotationOffset:qe,isVisible:Yt}),pr=p.data.tlbTxrCache=new rE(p,{getKey:St,drawElement:qt,getBoundingBox:de,getRotationPoint:yn,getRotationOffset:Tn,isVisible:Yt}),kr=p.data.lyrTxrCache=new Bj(p);p.onUpdateEleCalcs(function($n,cr){lr.invalidateElements(cr),Sn.invalidateElements(cr),or.invalidateElements(cr),pr.invalidateElements(cr),kr.invalidateElements(cr);for(var mr=0;mr<cr.length;mr++){var Sr=cr[mr]._private;Sr.oldBackgroundTimestamp=Sr.backgroundTimestamp}});var wr=function($n){for(var cr=0;cr<$n.length;cr++)kr.enqueueElementRefinement($n[cr].ele)};lr.onDequeue(wr),Sn.onDequeue(wr),or.onDequeue(wr),pr.onDequeue(wr)}xc.redrawHint=function(y,p){var x=this;switch(y){case"eles":x.data.canvasNeedsRedraw[xc.NODE]=p;break;case"drag":x.data.canvasNeedsRedraw[xc.DRAG]=p;break;case"select":x.data.canvasNeedsRedraw[xc.SELECT_BOX]=p;break}};var uE=typeof Path2D<"u";xc.path2dEnabled=function(y){if(y===void 0)return this.pathsEnabled;this.pathsEnabled=!!y},xc.usePaths=function(){return uE&&this.pathsEnabled},xc.setImgSmoothing=function(y,p){y.imageSmoothingEnabled!=null?y.imageSmoothingEnabled=p:(y.webkitImageSmoothingEnabled=p,y.mozImageSmoothingEnabled=p,y.msImageSmoothingEnabled=p)},xc.getImgSmoothing=function(y){return y.imageSmoothingEnabled!=null?y.imageSmoothingEnabled:y.webkitImageSmoothingEnabled||y.mozImageSmoothingEnabled||y.msImageSmoothingEnabled},xc.makeOffscreenCanvas=function(y,p){var x;return(typeof OffscreenCanvas>"u"?"undefined":f(OffscreenCanvas))!=="undefined"?x=new OffscreenCanvas(y,p):(x=document.createElement("canvas"),x.width=y,x.height=p),x},[jj,bb,wb,aE,S4,b6,dg,gy,oE,Yj].forEach(function(y){we(xc,y)});var cp=[{name:"null",impl:mj},{name:"base",impl:Dj},{name:"canvas",impl:Xj}],Cnt=[{type:"layout",extensions:Vet},{type:"renderer",extensions:cp}],Snt={},_nt={};function Ant(y,p,x){var C=x,L=function(de){Gc("Can not register `"+p+"` for `"+y+"` since `"+de+"` already exists in the prototype and can not be overridden")};if(y==="core"){if(tE.prototype[p])return L(p);tE.prototype[p]=x}else if(y==="collection"){if(w1.prototype[p])return L(p);w1.prototype[p]=x}else if(y==="layout"){for(var O=function(de){this.options=de,x.call(this,de),it(this._private)||(this._private={}),this._private.cy=de.cy,this._private.listeners=[],this.createEmitter()},N=O.prototype=Object.create(x.prototype),j=[],H=0;H<j.length;H++){var q=j[H];N[q]=N[q]||function(){return this}}N.start&&!N.run?N.run=function(){return this.start(),this}:!N.start&&N.run&&(N.start=function(){return this.run(),this});var W=x.prototype.stop;N.stop=function(){var Ut=this.options;if(Ut&&Ut.animate){var de=this.animations;if(de)for(var Yt=0;Yt<de.length;Yt++)de[Yt].stop()}return W?W.call(this):this.emit("layoutstop"),this},N.destroy||(N.destroy=function(){return this}),N.cy=function(){return this._private.cy};var Z=function(de){return de._private.cy},st={addEventFields:function(de,Yt){Yt.layout=de,Yt.cy=Z(de),Yt.target=de},bubble:function(){return!0},parent:function(de){return Z(de)}};we(N,{createEmitter:function(){return this._private.emitter=new dC(st,this),this},emitter:function(){return this._private.emitter},on:function(de,Yt){return this.emitter().on(de,Yt),this},one:function(de,Yt){return this.emitter().one(de,Yt),this},once:function(de,Yt){return this.emitter().one(de,Yt),this},removeListener:function(de,Yt){return this.emitter().removeListener(de,Yt),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(de,Yt){return this.emitter().emit(de,Yt),this}}),Kc.eventAliasesOn(N),C=O}else if(y==="renderer"&&p!=="null"&&p!=="base"){var bt=Lnt("renderer","base"),pt=bt.prototype,_t=x,St=x.prototype,Et=function(){bt.apply(this,arguments),_t.apply(this,arguments)},Nt=Et.prototype;for(var Pt in pt){var qt=pt[Pt],re=St[Pt]!=null;if(re)return L(Pt);Nt[Pt]=qt}for(var ee in St)Nt[ee]=St[ee];pt.clientFunctions.forEach(function(Ut){Nt[Ut]=Nt[Ut]||function(){$l("Renderer does not implement `renderer."+Ut+"()` on its prototype")}}),C=Et}else if(y==="__proto__"||y==="constructor"||y==="prototype")return $l(y+" is an illegal type to be registered, possibly lead to prototype pollutions");return An({map:Snt,keys:[y,p],value:C})}function Lnt(y,p){return Nn({map:Snt,keys:[y,p]})}function Qj(y,p,x,C,L){return An({map:_nt,keys:[y,p,x,C],value:L})}function L2t(y,p,x,C){return Nn({map:_nt,keys:[y,p,x,C]})}var Jj=function(){if(arguments.length===2)return Lnt.apply(null,arguments);if(arguments.length===3)return Ant.apply(null,arguments);if(arguments.length===4)return L2t.apply(null,arguments);if(arguments.length===5)return Qj.apply(null,arguments);$l("Invalid extension access syntax")};tE.prototype.extension=Jj,Cnt.forEach(function(y){y.extensions.forEach(function(p){Ant(y.type,p.name,p.impl)})});var Dnt=function y(){if(!(this instanceof y))return new y;this.length=0},m6=Dnt.prototype;m6.instanceString=function(){return"stylesheet"},m6.selector=function(y){var p=this.length++;return this[p]={selector:y,properties:[]},this},m6.css=function(y,p){var x=this.length-1;if(mt(y))this[x].properties.push({name:y,value:p});else if(it(y))for(var C=y,L=Object.keys(C),O=0;O<L.length;O++){var N=L[O],j=C[N];if(j!=null){var H=Y1.properties[N]||Y1.properties[Ae(N)];if(H!=null){var q=H.name,W=j;this[x].properties.push({name:q,value:W})}}}return this},m6.style=m6.css,m6.generateStyle=function(y){var p=new Y1(y);return this.appendToStyle(p)},m6.appendToStyle=function(y){for(var p=0;p<this.length;p++){var x=this[p],C=x.selector,L=x.properties;y.selector(C);for(var O=0;O<L.length;O++){var N=L[O];y.css(N.name,N.value)}}return y};var D2t="3.28.1",v6=function(p){if(p===void 0&&(p={}),it(p))return new tE(p);if(mt(p))return Jj.apply(Jj,arguments)};return v6.use=function(y){var p=Array.prototype.slice.call(arguments,1);return p.unshift(v6),y.apply(null,p),this},v6.warnings=function(y){return U9(y)},v6.version=D2t,v6.stylesheet=v6.Stylesheet=Dnt,v6})})(GHt);var een=GHt.exports;const KHt=e9(een);var WHt={exports:{}},p2t={exports:{}},b2t={exports:{}},YHt;function nen(){return YHt||(YHt=1,function(i,a){(function(g,w){i.exports=w()})(Z0,function(){return function(f){var g={};function w(v){if(g[v])return g[v].exports;var b=g[v]={i:v,l:!1,exports:{}};return f[v].call(b.exports,b,b.exports,w),b.l=!0,b.exports}return w.m=f,w.c=g,w.i=function(v){return v},w.d=function(v,b,E){w.o(v,b)||Object.defineProperty(v,b,{configurable:!1,enumerable:!0,get:E})},w.n=function(v){var b=v&&v.__esModule?function(){return v.default}:function(){return v};return w.d(b,"a",b),b},w.o=function(v,b){return Object.prototype.hasOwnProperty.call(v,b)},w.p="",w(w.s=26)}([function(f,g,w){function v(){}v.QUALITY=1,v.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,v.DEFAULT_INCREMENTAL=!1,v.DEFAULT_ANIMATION_ON_LAYOUT=!0,v.DEFAULT_ANIMATION_DURING_LAYOUT=!1,v.DEFAULT_ANIMATION_PERIOD=50,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,v.DEFAULT_GRAPH_MARGIN=15,v.NODE_DIMENSIONS_INCLUDE_LABELS=!1,v.SIMPLE_NODE_SIZE=40,v.SIMPLE_NODE_HALF_SIZE=v.SIMPLE_NODE_SIZE/2,v.EMPTY_COMPOUND_NODE_SIZE=40,v.MIN_EDGE_LENGTH=1,v.WORLD_BOUNDARY=1e6,v.INITIAL_WORLD_BOUNDARY=v.WORLD_BOUNDARY/1e3,v.WORLD_CENTER_X=1200,v.WORLD_CENTER_Y=900,f.exports=v},function(f,g,w){var v=w(2),b=w(8),E=w(9);function S(M,F,R){v.call(this,R),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=R,this.bendpoints=[],this.source=M,this.target=F}S.prototype=Object.create(v.prototype);for(var _ in v)S[_]=v[_];S.prototype.getSource=function(){return this.source},S.prototype.getTarget=function(){return this.target},S.prototype.isInterGraph=function(){return this.isInterGraph},S.prototype.getLength=function(){return this.length},S.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},S.prototype.getBendpoints=function(){return this.bendpoints},S.prototype.getLca=function(){return this.lca},S.prototype.getSourceInLca=function(){return this.sourceInLca},S.prototype.getTargetInLca=function(){return this.targetInLca},S.prototype.getOtherEnd=function(M){if(this.source===M)return this.target;if(this.target===M)return this.source;throw"Node is not incident with this edge"},S.prototype.getOtherEndInGraph=function(M,F){for(var R=this.getOtherEnd(M),B=F.getGraphManager().getRoot();;){if(R.getOwner()==F)return R;if(R.getOwner()==B)break;R=R.getOwner().getParent()}return null},S.prototype.updateLength=function(){var M=new Array(4);this.isOverlapingSourceAndTarget=b.getIntersection(this.target.getRect(),this.source.getRect(),M),this.isOverlapingSourceAndTarget||(this.lengthX=M[0]-M[2],this.lengthY=M[1]-M[3],Math.abs(this.lengthX)<1&&(this.lengthX=E.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=E.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},S.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=E.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=E.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},f.exports=S},function(f,g,w){function v(b){this.vGraphObject=b}f.exports=v},function(f,g,w){var v=w(2),b=w(10),E=w(13),S=w(0),_=w(16),M=w(4);function F(B,z,Y,nt){Y==null&&nt==null&&(nt=z),v.call(this,nt),B.graphManager!=null&&(B=B.graphManager),this.estimatedSize=b.MIN_VALUE,this.inclusionTreeDepth=b.MAX_VALUE,this.vGraphObject=nt,this.edges=[],this.graphManager=B,Y!=null&&z!=null?this.rect=new E(z.x,z.y,Y.width,Y.height):this.rect=new E}F.prototype=Object.create(v.prototype);for(var R in v)F[R]=v[R];F.prototype.getEdges=function(){return this.edges},F.prototype.getChild=function(){return this.child},F.prototype.getOwner=function(){return this.owner},F.prototype.getWidth=function(){return this.rect.width},F.prototype.setWidth=function(B){this.rect.width=B},F.prototype.getHeight=function(){return this.rect.height},F.prototype.setHeight=function(B){this.rect.height=B},F.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},F.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},F.prototype.getCenter=function(){return new M(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},F.prototype.getLocation=function(){return new M(this.rect.x,this.rect.y)},F.prototype.getRect=function(){return this.rect},F.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},F.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},F.prototype.setRect=function(B,z){this.rect.x=B.x,this.rect.y=B.y,this.rect.width=z.width,this.rect.height=z.height},F.prototype.setCenter=function(B,z){this.rect.x=B-this.rect.width/2,this.rect.y=z-this.rect.height/2},F.prototype.setLocation=function(B,z){this.rect.x=B,this.rect.y=z},F.prototype.moveBy=function(B,z){this.rect.x+=B,this.rect.y+=z},F.prototype.getEdgeListToNode=function(B){var z=[],Y=this;return Y.edges.forEach(function(nt){if(nt.target==B){if(nt.source!=Y)throw"Incorrect edge source!";z.push(nt)}}),z},F.prototype.getEdgesBetween=function(B){var z=[],Y=this;return Y.edges.forEach(function(nt){if(!(nt.source==Y||nt.target==Y))throw"Incorrect edge source and/or target";(nt.target==B||nt.source==B)&&z.push(nt)}),z},F.prototype.getNeighborsList=function(){var B=new Set,z=this;return z.edges.forEach(function(Y){if(Y.source==z)B.add(Y.target);else{if(Y.target!=z)throw"Incorrect incidency!";B.add(Y.source)}}),B},F.prototype.withChildren=function(){var B=new Set,z,Y;if(B.add(this),this.child!=null)for(var nt=this.child.getNodes(),ot=0;ot<nt.length;ot++)z=nt[ot],Y=z.withChildren(),Y.forEach(function(ft){B.add(ft)});return B},F.prototype.getNoOfChildren=function(){var B=0,z;if(this.child==null)B=1;else for(var Y=this.child.getNodes(),nt=0;nt<Y.length;nt++)z=Y[nt],B+=z.getNoOfChildren();return B==0&&(B=1),B},F.prototype.getEstimatedSize=function(){if(this.estimatedSize==b.MIN_VALUE)throw"assert failed";return this.estimatedSize},F.prototype.calcEstimatedSize=function(){return this.child==null?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},F.prototype.scatter=function(){var B,z,Y=-S.INITIAL_WORLD_BOUNDARY,nt=S.INITIAL_WORLD_BOUNDARY;B=S.WORLD_CENTER_X+_.nextDouble()*(nt-Y)+Y;var ot=-S.INITIAL_WORLD_BOUNDARY,ft=S.INITIAL_WORLD_BOUNDARY;z=S.WORLD_CENTER_Y+_.nextDouble()*(ft-ot)+ot,this.rect.x=B,this.rect.y=z},F.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var B=this.getChild();if(B.updateBounds(!0),this.rect.x=B.getLeft(),this.rect.y=B.getTop(),this.setWidth(B.getRight()-B.getLeft()),this.setHeight(B.getBottom()-B.getTop()),S.NODE_DIMENSIONS_INCLUDE_LABELS){var z=B.getRight()-B.getLeft(),Y=B.getBottom()-B.getTop();this.labelWidth>z&&(this.rect.x-=(this.labelWidth-z)/2,this.setWidth(this.labelWidth)),this.labelHeight>Y&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-Y)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-Y),this.setHeight(this.labelHeight))}}},F.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},F.prototype.transform=function(B){var z=this.rect.x;z>S.WORLD_BOUNDARY?z=S.WORLD_BOUNDARY:z<-S.WORLD_BOUNDARY&&(z=-S.WORLD_BOUNDARY);var Y=this.rect.y;Y>S.WORLD_BOUNDARY?Y=S.WORLD_BOUNDARY:Y<-S.WORLD_BOUNDARY&&(Y=-S.WORLD_BOUNDARY);var nt=new M(z,Y),ot=B.inverseTransformPoint(nt);this.setLocation(ot.x,ot.y)},F.prototype.getLeft=function(){return this.rect.x},F.prototype.getRight=function(){return this.rect.x+this.rect.width},F.prototype.getTop=function(){return this.rect.y},F.prototype.getBottom=function(){return this.rect.y+this.rect.height},F.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},f.exports=F},function(f,g,w){function v(b,E){b==null&&E==null?(this.x=0,this.y=0):(this.x=b,this.y=E)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(b){this.x=b},v.prototype.setY=function(b){this.y=b},v.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},f.exports=v},function(f,g,w){var v=w(2),b=w(10),E=w(0),S=w(6),_=w(3),M=w(1),F=w(13),R=w(12),B=w(11);function z(nt,ot,ft){v.call(this,ft),this.estimatedSize=b.MIN_VALUE,this.margin=E.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=nt,ot!=null&&ot instanceof S?this.graphManager=ot:ot!=null&&ot instanceof Layout&&(this.graphManager=ot.graphManager)}z.prototype=Object.create(v.prototype);for(var Y in v)z[Y]=v[Y];z.prototype.getNodes=function(){return this.nodes},z.prototype.getEdges=function(){return this.edges},z.prototype.getGraphManager=function(){return this.graphManager},z.prototype.getParent=function(){return this.parent},z.prototype.getLeft=function(){return this.left},z.prototype.getRight=function(){return this.right},z.prototype.getTop=function(){return this.top},z.prototype.getBottom=function(){return this.bottom},z.prototype.isConnected=function(){return this.isConnected},z.prototype.add=function(nt,ot,ft){if(ot==null&&ft==null){var wt=nt;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(wt)>-1)throw"Node already in graph!";return wt.owner=this,this.getNodes().push(wt),wt}else{var mt=nt;if(!(this.getNodes().indexOf(ot)>-1&&this.getNodes().indexOf(ft)>-1))throw"Source or target not in graph!";if(!(ot.owner==ft.owner&&ot.owner==this))throw"Both owners must be this graph!";return ot.owner!=ft.owner?null:(mt.source=ot,mt.target=ft,mt.isInterGraph=!1,this.getEdges().push(mt),ot.edges.push(mt),ft!=ot&&ft.edges.push(mt),mt)}},z.prototype.remove=function(nt){var ot=nt;if(nt instanceof _){if(ot==null)throw"Node is null!";if(!(ot.owner!=null&&ot.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var ft=ot.edges.slice(),wt,mt=ft.length,ct=0;ct<mt;ct++)wt=ft[ct],wt.isInterGraph?this.graphManager.remove(wt):wt.source.owner.remove(wt);var rt=this.nodes.indexOf(ot);if(rt==-1)throw"Node not in owner node list!";this.nodes.splice(rt,1)}else if(nt instanceof M){var wt=nt;if(wt==null)throw"Edge is null!";if(!(wt.source!=null&&wt.target!=null))throw"Source and/or target is null!";if(!(wt.source.owner!=null&&wt.target.owner!=null&&wt.source.owner==this&&wt.target.owner==this))throw"Source and/or target owner is invalid!";var it=wt.source.edges.indexOf(wt),gt=wt.target.edges.indexOf(wt);if(!(it>-1&&gt>-1))throw"Source and/or target doesn't know this edge!";wt.source.edges.splice(it,1),wt.target!=wt.source&&wt.target.edges.splice(gt,1);var rt=wt.source.owner.getEdges().indexOf(wt);if(rt==-1)throw"Not in owner's edge list!";wt.source.owner.getEdges().splice(rt,1)}},z.prototype.updateLeftTop=function(){for(var nt=b.MAX_VALUE,ot=b.MAX_VALUE,ft,wt,mt,ct=this.getNodes(),rt=ct.length,it=0;it<rt;it++){var gt=ct[it];ft=gt.getTop(),wt=gt.getLeft(),nt>ft&&(nt=ft),ot>wt&&(ot=wt)}return nt==b.MAX_VALUE?null:(ct[0].getParent().paddingLeft!=null?mt=ct[0].getParent().paddingLeft:mt=this.margin,this.left=ot-mt,this.top=nt-mt,new R(this.left,this.top))},z.prototype.updateBounds=function(nt){for(var ot=b.MAX_VALUE,ft=-b.MAX_VALUE,wt=b.MAX_VALUE,mt=-b.MAX_VALUE,ct,rt,it,gt,Q,dt=this.nodes,K=dt.length,yt=0;yt<K;yt++){var V=dt[yt];nt&&V.child!=null&&V.updateBounds(),ct=V.getLeft(),rt=V.getRight(),it=V.getTop(),gt=V.getBottom(),ot>ct&&(ot=ct),ft<rt&&(ft=rt),wt>it&&(wt=it),mt<gt&&(mt=gt)}var Ot=new F(ot,wt,ft-ot,mt-wt);ot==b.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),dt[0].getParent().paddingLeft!=null?Q=dt[0].getParent().paddingLeft:Q=this.margin,this.left=Ot.x-Q,this.right=Ot.x+Ot.width+Q,this.top=Ot.y-Q,this.bottom=Ot.y+Ot.height+Q},z.calculateBounds=function(nt){for(var ot=b.MAX_VALUE,ft=-b.MAX_VALUE,wt=b.MAX_VALUE,mt=-b.MAX_VALUE,ct,rt,it,gt,Q=nt.length,dt=0;dt<Q;dt++){var K=nt[dt];ct=K.getLeft(),rt=K.getRight(),it=K.getTop(),gt=K.getBottom(),ot>ct&&(ot=ct),ft<rt&&(ft=rt),wt>it&&(wt=it),mt<gt&&(mt=gt)}var yt=new F(ot,wt,ft-ot,mt-wt);return yt},z.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},z.prototype.getEstimatedSize=function(){if(this.estimatedSize==b.MIN_VALUE)throw"assert failed";return this.estimatedSize},z.prototype.calcEstimatedSize=function(){for(var nt=0,ot=this.nodes,ft=ot.length,wt=0;wt<ft;wt++){var mt=ot[wt];nt+=mt.calcEstimatedSize()}return nt==0?this.estimatedSize=E.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=nt/Math.sqrt(this.nodes.length),this.estimatedSize},z.prototype.updateConnected=function(){var nt=this;if(this.nodes.length==0){this.isConnected=!0;return}var ot=new B,ft=new Set,wt=this.nodes[0],mt,ct,rt=wt.withChildren();for(rt.forEach(function(yt){ot.push(yt),ft.add(yt)});ot.length!==0;){wt=ot.shift(),mt=wt.getEdges();for(var it=mt.length,gt=0;gt<it;gt++){var Q=mt[gt];if(ct=Q.getOtherEndInGraph(wt,this),ct!=null&&!ft.has(ct)){var dt=ct.withChildren();dt.forEach(function(yt){ot.push(yt),ft.add(yt)})}}}if(this.isConnected=!1,ft.size>=this.nodes.length){var K=0;ft.forEach(function(yt){yt.owner==nt&&K++}),K==this.nodes.length&&(this.isConnected=!0)}},f.exports=z},function(f,g,w){var v,b=w(1);function E(S){v=w(5),this.layout=S,this.graphs=[],this.edges=[]}E.prototype.addRoot=function(){var S=this.layout.newGraph(),_=this.layout.newNode(null),M=this.add(S,_);return this.setRootGraph(M),this.rootGraph},E.prototype.add=function(S,_,M,F,R){if(M==null&&F==null&&R==null){if(S==null)throw"Graph is null!";if(_==null)throw"Parent node is null!";if(this.graphs.indexOf(S)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(S),S.parent!=null)throw"Already has a parent!";if(_.child!=null)throw"Already has a child!";return S.parent=_,_.child=S,S}else{R=M,F=_,M=S;var B=F.getOwner(),z=R.getOwner();if(!(B!=null&&B.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(z!=null&&z.getGraphManager()==this))throw"Target not in this graph mgr!";if(B==z)return M.isInterGraph=!1,B.add(M,F,R);if(M.isInterGraph=!0,M.source=F,M.target=R,this.edges.indexOf(M)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(M),!(M.source!=null&&M.target!=null))throw"Edge source and/or target is null!";if(!(M.source.edges.indexOf(M)==-1&&M.target.edges.indexOf(M)==-1))throw"Edge already in source and/or target incidency list!";return M.source.edges.push(M),M.target.edges.push(M),M}},E.prototype.remove=function(S){if(S instanceof v){var _=S;if(_.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(_==this.rootGraph||_.parent!=null&&_.parent.graphManager==this))throw"Invalid parent node!";var M=[];M=M.concat(_.getEdges());for(var F,R=M.length,B=0;B<R;B++)F=M[B],_.remove(F);var z=[];z=z.concat(_.getNodes());var Y;R=z.length;for(var B=0;B<R;B++)Y=z[B],_.remove(Y);_==this.rootGraph&&this.setRootGraph(null);var nt=this.graphs.indexOf(_);this.graphs.splice(nt,1),_.parent=null}else if(S instanceof b){if(F=S,F==null)throw"Edge is null!";if(!F.isInterGraph)throw"Not an inter-graph edge!";if(!(F.source!=null&&F.target!=null))throw"Source and/or target is null!";if(!(F.source.edges.indexOf(F)!=-1&&F.target.edges.indexOf(F)!=-1))throw"Source and/or target doesn't know this edge!";var nt=F.source.edges.indexOf(F);if(F.source.edges.splice(nt,1),nt=F.target.edges.indexOf(F),F.target.edges.splice(nt,1),!(F.source.owner!=null&&F.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(F.source.owner.getGraphManager().edges.indexOf(F)==-1)throw"Not in owner graph manager's edge list!";var nt=F.source.owner.getGraphManager().edges.indexOf(F);F.source.owner.getGraphManager().edges.splice(nt,1)}},E.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},E.prototype.getGraphs=function(){return this.graphs},E.prototype.getAllNodes=function(){if(this.allNodes==null){for(var S=[],_=this.getGraphs(),M=_.length,F=0;F<M;F++)S=S.concat(_[F].getNodes());this.allNodes=S}return this.allNodes},E.prototype.resetAllNodes=function(){this.allNodes=null},E.prototype.resetAllEdges=function(){this.allEdges=null},E.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},E.prototype.getAllEdges=function(){if(this.allEdges==null){var S=[],_=this.getGraphs();_.length;for(var M=0;M<_.length;M++)S=S.concat(_[M].getEdges());S=S.concat(this.edges),this.allEdges=S}return this.allEdges},E.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},E.prototype.setAllNodesToApplyGravitation=function(S){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=S},E.prototype.getRoot=function(){return this.rootGraph},E.prototype.setRootGraph=function(S){if(S.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=S,S.parent==null&&(S.parent=this.layout.newNode("Root node"))},E.prototype.getLayout=function(){return this.layout},E.prototype.isOneAncestorOfOther=function(S,_){if(!(S!=null&&_!=null))throw"assert failed";if(S==_)return!0;var M=S.getOwner(),F;do{if(F=M.getParent(),F==null)break;if(F==_)return!0;if(M=F.getOwner(),M==null)break}while(!0);M=_.getOwner();do{if(F=M.getParent(),F==null)break;if(F==S)return!0;if(M=F.getOwner(),M==null)break}while(!0);return!1},E.prototype.calcLowestCommonAncestors=function(){for(var S,_,M,F,R,B=this.getAllEdges(),z=B.length,Y=0;Y<z;Y++){if(S=B[Y],_=S.source,M=S.target,S.lca=null,S.sourceInLca=_,S.targetInLca=M,_==M){S.lca=_.getOwner();continue}for(F=_.getOwner();S.lca==null;){for(S.targetInLca=M,R=M.getOwner();S.lca==null;){if(R==F){S.lca=R;break}if(R==this.rootGraph)break;if(S.lca!=null)throw"assert failed";S.targetInLca=R.getParent(),R=S.targetInLca.getOwner()}if(F==this.rootGraph)break;S.lca==null&&(S.sourceInLca=F.getParent(),F=S.sourceInLca.getOwner())}if(S.lca==null)throw"assert failed"}},E.prototype.calcLowestCommonAncestor=function(S,_){if(S==_)return S.getOwner();var M=S.getOwner();do{if(M==null)break;var F=_.getOwner();do{if(F==null)break;if(F==M)return F;F=F.getParent().getOwner()}while(!0);M=M.getParent().getOwner()}while(!0);return M},E.prototype.calcInclusionTreeDepths=function(S,_){S==null&&_==null&&(S=this.rootGraph,_=1);for(var M,F=S.getNodes(),R=F.length,B=0;B<R;B++)M=F[B],M.inclusionTreeDepth=_,M.child!=null&&this.calcInclusionTreeDepths(M.child,_+1)},E.prototype.includesInvalidEdge=function(){for(var S,_=this.edges.length,M=0;M<_;M++)if(S=this.edges[M],this.isOneAncestorOfOther(S.source,S.target))return!0;return!1},f.exports=E},function(f,g,w){var v=w(0);function b(){}for(var E in v)b[E]=v[E];b.MAX_ITERATIONS=2500,b.DEFAULT_EDGE_LENGTH=50,b.DEFAULT_SPRING_STRENGTH=.45,b.DEFAULT_REPULSION_STRENGTH=4500,b.DEFAULT_GRAVITY_STRENGTH=.4,b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,b.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,b.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,b.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,b.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,b.COOLING_ADAPTATION_FACTOR=.33,b.ADAPTATION_LOWER_NODE_LIMIT=1e3,b.ADAPTATION_UPPER_NODE_LIMIT=5e3,b.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,b.MAX_NODE_DISPLACEMENT=b.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,b.CONVERGENCE_CHECK_PERIOD=100,b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,b.MIN_EDGE_LENGTH=1,b.GRID_CALCULATION_CHECK_PERIOD=10,f.exports=b},function(f,g,w){var v=w(12);function b(){}b.calcSeparationAmount=function(E,S,_,M){if(!E.intersects(S))throw"assert failed";var F=new Array(2);this.decideDirectionsForOverlappingNodes(E,S,F),_[0]=Math.min(E.getRight(),S.getRight())-Math.max(E.x,S.x),_[1]=Math.min(E.getBottom(),S.getBottom())-Math.max(E.y,S.y),E.getX()<=S.getX()&&E.getRight()>=S.getRight()?_[0]+=Math.min(S.getX()-E.getX(),E.getRight()-S.getRight()):S.getX()<=E.getX()&&S.getRight()>=E.getRight()&&(_[0]+=Math.min(E.getX()-S.getX(),S.getRight()-E.getRight())),E.getY()<=S.getY()&&E.getBottom()>=S.getBottom()?_[1]+=Math.min(S.getY()-E.getY(),E.getBottom()-S.getBottom()):S.getY()<=E.getY()&&S.getBottom()>=E.getBottom()&&(_[1]+=Math.min(E.getY()-S.getY(),S.getBottom()-E.getBottom()));var R=Math.abs((S.getCenterY()-E.getCenterY())/(S.getCenterX()-E.getCenterX()));S.getCenterY()===E.getCenterY()&&S.getCenterX()===E.getCenterX()&&(R=1);var B=R*_[0],z=_[1]/R;_[0]<z?z=_[0]:B=_[1],_[0]=-1*F[0]*(z/2+M),_[1]=-1*F[1]*(B/2+M)},b.decideDirectionsForOverlappingNodes=function(E,S,_){E.getCenterX()<S.getCenterX()?_[0]=-1:_[0]=1,E.getCenterY()<S.getCenterY()?_[1]=-1:_[1]=1},b.getIntersection2=function(E,S,_){var M=E.getCenterX(),F=E.getCenterY(),R=S.getCenterX(),B=S.getCenterY();if(E.intersects(S))return _[0]=M,_[1]=F,_[2]=R,_[3]=B,!0;var z=E.getX(),Y=E.getY(),nt=E.getRight(),ot=E.getX(),ft=E.getBottom(),wt=E.getRight(),mt=E.getWidthHalf(),ct=E.getHeightHalf(),rt=S.getX(),it=S.getY(),gt=S.getRight(),Q=S.getX(),dt=S.getBottom(),K=S.getRight(),yt=S.getWidthHalf(),V=S.getHeightHalf(),Ot=!1,It=!1;if(M===R){if(F>B)return _[0]=M,_[1]=Y,_[2]=R,_[3]=dt,!1;if(F<B)return _[0]=M,_[1]=ft,_[2]=R,_[3]=it,!1}else if(F===B){if(M>R)return _[0]=z,_[1]=F,_[2]=gt,_[3]=B,!1;if(M<R)return _[0]=nt,_[1]=F,_[2]=rt,_[3]=B,!1}else{var jt=E.height/E.width,xt=S.height/S.width,Ft=(B-F)/(R-M),Ct=void 0,kt=void 0,Gt=void 0,Fe=void 0,Mt=void 0,pn=void 0;if(-jt===Ft?M>R?(_[0]=ot,_[1]=ft,Ot=!0):(_[0]=nt,_[1]=Y,Ot=!0):jt===Ft&&(M>R?(_[0]=z,_[1]=Y,Ot=!0):(_[0]=wt,_[1]=ft,Ot=!0)),-xt===Ft?R>M?(_[2]=Q,_[3]=dt,It=!0):(_[2]=gt,_[3]=it,It=!0):xt===Ft&&(R>M?(_[2]=rt,_[3]=it,It=!0):(_[2]=K,_[3]=dt,It=!0)),Ot&&It)return!1;if(M>R?F>B?(Ct=this.getCardinalDirection(jt,Ft,4),kt=this.getCardinalDirection(xt,Ft,2)):(Ct=this.getCardinalDirection(-jt,Ft,3),kt=this.getCardinalDirection(-xt,Ft,1)):F>B?(Ct=this.getCardinalDirection(-jt,Ft,1),kt=this.getCardinalDirection(-xt,Ft,3)):(Ct=this.getCardinalDirection(jt,Ft,2),kt=this.getCardinalDirection(xt,Ft,4)),!Ot)switch(Ct){case 1:Fe=Y,Gt=M+-ct/Ft,_[0]=Gt,_[1]=Fe;break;case 2:Gt=wt,Fe=F+mt*Ft,_[0]=Gt,_[1]=Fe;break;case 3:Fe=ft,Gt=M+ct/Ft,_[0]=Gt,_[1]=Fe;break;case 4:Gt=ot,Fe=F+-mt*Ft,_[0]=Gt,_[1]=Fe;break}if(!It)switch(kt){case 1:pn=it,Mt=R+-V/Ft,_[2]=Mt,_[3]=pn;break;case 2:Mt=K,pn=B+yt*Ft,_[2]=Mt,_[3]=pn;break;case 3:pn=dt,Mt=R+V/Ft,_[2]=Mt,_[3]=pn;break;case 4:Mt=Q,pn=B+-yt*Ft,_[2]=Mt,_[3]=pn;break}}return!1},b.getCardinalDirection=function(E,S,_){return E>S?_:1+_%4},b.getIntersection=function(E,S,_,M){if(M==null)return this.getIntersection2(E,S,_);var F=E.x,R=E.y,B=S.x,z=S.y,Y=_.x,nt=_.y,ot=M.x,ft=M.y,wt=void 0,mt=void 0,ct=void 0,rt=void 0,it=void 0,gt=void 0,Q=void 0,dt=void 0,K=void 0;return ct=z-R,it=F-B,Q=B*R-F*z,rt=ft-nt,gt=Y-ot,dt=ot*nt-Y*ft,K=ct*gt-rt*it,K===0?null:(wt=(it*dt-gt*Q)/K,mt=(rt*Q-ct*dt)/K,new v(wt,mt))},b.angleOfVector=function(E,S,_,M){var F=void 0;return E!==_?(F=Math.atan((M-S)/(_-E)),_<E?F+=Math.PI:M<S&&(F+=this.TWO_PI)):M<S?F=this.ONE_AND_HALF_PI:F=this.HALF_PI,F},b.doIntersect=function(E,S,_,M){var F=E.x,R=E.y,B=S.x,z=S.y,Y=_.x,nt=_.y,ot=M.x,ft=M.y,wt=(B-F)*(ft-nt)-(ot-Y)*(z-R);if(wt===0)return!1;var mt=((ft-nt)*(ot-F)+(Y-ot)*(ft-R))/wt,ct=((R-z)*(ot-F)+(B-F)*(ft-R))/wt;return 0<mt&&mt<1&&0<ct&&ct<1},b.HALF_PI=.5*Math.PI,b.ONE_AND_HALF_PI=1.5*Math.PI,b.TWO_PI=2*Math.PI,b.THREE_PI=3*Math.PI,f.exports=b},function(f,g,w){function v(){}v.sign=function(b){return b>0?1:b<0?-1:0},v.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},v.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},f.exports=v},function(f,g,w){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,f.exports=v},function(f,g,w){var v=function(){function F(R,B){for(var z=0;z<B.length;z++){var Y=B[z];Y.enumerable=Y.enumerable||!1,Y.configurable=!0,"value"in Y&&(Y.writable=!0),Object.defineProperty(R,Y.key,Y)}}return function(R,B,z){return B&&F(R.prototype,B),z&&F(R,z),R}}();function b(F,R){if(!(F instanceof R))throw new TypeError("Cannot call a class as a function")}var E=function(R){return{value:R,next:null,prev:null}},S=function(R,B,z,Y){return R!==null?R.next=B:Y.head=B,z!==null?z.prev=B:Y.tail=B,B.prev=R,B.next=z,Y.length++,B},_=function(R,B){var z=R.prev,Y=R.next;return z!==null?z.next=Y:B.head=Y,Y!==null?Y.prev=z:B.tail=z,R.prev=R.next=null,B.length--,R},M=function(){function F(R){var B=this;b(this,F),this.length=0,this.head=null,this.tail=null,R!=null&&R.forEach(function(z){return B.push(z)})}return v(F,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(B,z){return S(z.prev,E(B),z,this)}},{key:"insertAfter",value:function(B,z){return S(z,E(B),z.next,this)}},{key:"insertNodeBefore",value:function(B,z){return S(z.prev,B,z,this)}},{key:"insertNodeAfter",value:function(B,z){return S(z,B,z.next,this)}},{key:"push",value:function(B){return S(this.tail,E(B),null,this)}},{key:"unshift",value:function(B){return S(null,E(B),this.head,this)}},{key:"remove",value:function(B){return _(B,this)}},{key:"pop",value:function(){return _(this.tail,this).value}},{key:"popNode",value:function(){return _(this.tail,this)}},{key:"shift",value:function(){return _(this.head,this).value}},{key:"shiftNode",value:function(){return _(this.head,this)}},{key:"get_object_at",value:function(B){if(B<=this.length()){for(var z=1,Y=this.head;z<B;)Y=Y.next,z++;return Y.value}}},{key:"set_object_at",value:function(B,z){if(B<=this.length()){for(var Y=1,nt=this.head;Y<B;)nt=nt.next,Y++;nt.value=z}}}]),F}();f.exports=M},function(f,g,w){function v(b,E,S){this.x=null,this.y=null,b==null&&E==null&&S==null?(this.x=0,this.y=0):typeof b=="number"&&typeof E=="number"&&S==null?(this.x=b,this.y=E):b.constructor.name=="Point"&&E==null&&S==null&&(S=b,this.x=S.x,this.y=S.y)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.getLocation=function(){return new v(this.x,this.y)},v.prototype.setLocation=function(b,E,S){b.constructor.name=="Point"&&E==null&&S==null?(S=b,this.setLocation(S.x,S.y)):typeof b=="number"&&typeof E=="number"&&S==null&&(parseInt(b)==b&&parseInt(E)==E?this.move(b,E):(this.x=Math.floor(b+.5),this.y=Math.floor(E+.5)))},v.prototype.move=function(b,E){this.x=b,this.y=E},v.prototype.translate=function(b,E){this.x+=b,this.y+=E},v.prototype.equals=function(b){if(b.constructor.name=="Point"){var E=b;return this.x==E.x&&this.y==E.y}return this==b},v.prototype.toString=function(){return new v().constructor.name+"[x="+this.x+",y="+this.y+"]"},f.exports=v},function(f,g,w){function v(b,E,S,_){this.x=0,this.y=0,this.width=0,this.height=0,b!=null&&E!=null&&S!=null&&_!=null&&(this.x=b,this.y=E,this.width=S,this.height=_)}v.prototype.getX=function(){return this.x},v.prototype.setX=function(b){this.x=b},v.prototype.getY=function(){return this.y},v.prototype.setY=function(b){this.y=b},v.prototype.getWidth=function(){return this.width},v.prototype.setWidth=function(b){this.width=b},v.prototype.getHeight=function(){return this.height},v.prototype.setHeight=function(b){this.height=b},v.prototype.getRight=function(){return this.x+this.width},v.prototype.getBottom=function(){return this.y+this.height},v.prototype.intersects=function(b){return!(this.getRight()<b.x||this.getBottom()<b.y||b.getRight()<this.x||b.getBottom()<this.y)},v.prototype.getCenterX=function(){return this.x+this.width/2},v.prototype.getMinX=function(){return this.getX()},v.prototype.getMaxX=function(){return this.getX()+this.width},v.prototype.getCenterY=function(){return this.y+this.height/2},v.prototype.getMinY=function(){return this.getY()},v.prototype.getMaxY=function(){return this.getY()+this.height},v.prototype.getWidthHalf=function(){return this.width/2},v.prototype.getHeightHalf=function(){return this.height/2},f.exports=v},function(f,g,w){var v=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(E){return typeof E}:function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E};function b(){}b.lastID=0,b.createID=function(E){return b.isPrimitive(E)?E:(E.uniqueID!=null||(E.uniqueID=b.getString(),b.lastID++),E.uniqueID)},b.getString=function(E){return E==null&&(E=b.lastID),"Object#"+E},b.isPrimitive=function(E){var S=typeof E>"u"?"undefined":v(E);return E==null||S!="object"&&S!="function"},f.exports=b},function(f,g,w){function v(Y){if(Array.isArray(Y)){for(var nt=0,ot=Array(Y.length);nt<Y.length;nt++)ot[nt]=Y[nt];return ot}else return Array.from(Y)}var b=w(0),E=w(6),S=w(3),_=w(1),M=w(5),F=w(4),R=w(17),B=w(27);function z(Y){B.call(this),this.layoutQuality=b.QUALITY,this.createBendsAsNeeded=b.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=b.DEFAULT_INCREMENTAL,this.animationOnLayout=b.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=b.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=b.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=b.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new E(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,Y!=null&&(this.isRemoteUse=Y)}z.RANDOM_SEED=1,z.prototype=Object.create(B.prototype),z.prototype.getGraphManager=function(){return this.graphManager},z.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},z.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},z.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},z.prototype.newGraphManager=function(){var Y=new E(this);return this.graphManager=Y,Y},z.prototype.newGraph=function(Y){return new M(null,this.graphManager,Y)},z.prototype.newNode=function(Y){return new S(this.graphManager,Y)},z.prototype.newEdge=function(Y){return new _(null,null,Y)},z.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},z.prototype.runLayout=function(){this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters();var Y;return this.checkLayoutSuccess()?Y=!1:Y=this.layout(),b.ANIMATE==="during"?!1:(Y&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,Y)},z.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},z.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var Y=this.graphManager.getAllEdges(),nt=0;nt<Y.length;nt++)Y[nt];for(var ot=this.graphManager.getRoot().getNodes(),nt=0;nt<ot.length;nt++)ot[nt];this.update(this.graphManager.getRoot())}},z.prototype.update=function(Y){if(Y==null)this.update2();else if(Y instanceof S){var nt=Y;if(nt.getChild()!=null)for(var ot=nt.getChild().getNodes(),ft=0;ft<ot.length;ft++)update(ot[ft]);if(nt.vGraphObject!=null){var wt=nt.vGraphObject;wt.update(nt)}}else if(Y instanceof _){var mt=Y;if(mt.vGraphObject!=null){var ct=mt.vGraphObject;ct.update(mt)}}else if(Y instanceof M){var rt=Y;if(rt.vGraphObject!=null){var it=rt.vGraphObject;it.update(rt)}}},z.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=b.QUALITY,this.animationDuringLayout=b.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=b.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=b.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=b.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=b.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=b.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},z.prototype.transform=function(Y){if(Y==null)this.transform(new F(0,0));else{var nt=new R,ot=this.graphManager.getRoot().updateLeftTop();if(ot!=null){nt.setWorldOrgX(Y.x),nt.setWorldOrgY(Y.y),nt.setDeviceOrgX(ot.x),nt.setDeviceOrgY(ot.y);for(var ft=this.getAllNodes(),wt,mt=0;mt<ft.length;mt++)wt=ft[mt],wt.transform(nt)}}},z.prototype.positionNodesRandomly=function(Y){if(Y==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var nt,ot,ft=Y.getNodes(),wt=0;wt<ft.length;wt++)nt=ft[wt],ot=nt.getChild(),ot==null||ot.getNodes().length==0?nt.scatter():(this.positionNodesRandomly(ot),nt.updateBounds())},z.prototype.getFlatForest=function(){for(var Y=[],nt=!0,ot=this.graphManager.getRoot().getNodes(),ft=!0,wt=0;wt<ot.length;wt++)ot[wt].getChild()!=null&&(ft=!1);if(!ft)return Y;var mt=new Set,ct=[],rt=new Map,it=[];for(it=it.concat(ot);it.length>0&&nt;){for(ct.push(it[0]);ct.length>0&&nt;){var gt=ct[0];ct.splice(0,1),mt.add(gt);for(var Q=gt.getEdges(),wt=0;wt<Q.length;wt++){var dt=Q[wt].getOtherEnd(gt);if(rt.get(gt)!=dt)if(!mt.has(dt))ct.push(dt),rt.set(dt,gt);else{nt=!1;break}}}if(!nt)Y=[];else{var K=[].concat(v(mt));Y.push(K);for(var wt=0;wt<K.length;wt++){var yt=K[wt],V=it.indexOf(yt);V>-1&&it.splice(V,1)}mt=new Set,rt=new Map}}return Y},z.prototype.createDummyNodesForBendpoints=function(Y){for(var nt=[],ot=Y.source,ft=this.graphManager.calcLowestCommonAncestor(Y.source,Y.target),wt=0;wt<Y.bendpoints.length;wt++){var mt=this.newNode(null);mt.setRect(new Point(0,0),new Dimension(1,1)),ft.add(mt);var ct=this.newEdge(null);this.graphManager.add(ct,ot,mt),nt.add(mt),ot=mt}var ct=this.newEdge(null);return this.graphManager.add(ct,ot,Y.target),this.edgeToDummyNodes.set(Y,nt),Y.isInterGraph()?this.graphManager.remove(Y):ft.remove(Y),nt},z.prototype.createBendpointsFromDummyNodes=function(){var Y=[];Y=Y.concat(this.graphManager.getAllEdges()),Y=[].concat(v(this.edgeToDummyNodes.keys())).concat(Y);for(var nt=0;nt<Y.length;nt++){var ot=Y[nt];if(ot.bendpoints.length>0){for(var ft=this.edgeToDummyNodes.get(ot),wt=0;wt<ft.length;wt++){var mt=ft[wt],ct=new F(mt.getCenterX(),mt.getCenterY()),rt=ot.bendpoints.get(wt);rt.x=ct.x,rt.y=ct.y,mt.getOwner().remove(mt)}this.graphManager.add(ot,ot.source,ot.target)}}},z.transform=function(Y,nt,ot,ft){if(ot!=null&&ft!=null){var wt=nt;if(Y<=50){var mt=nt/ot;wt-=(nt-mt)/50*(50-Y)}else{var ct=nt*ft;wt+=(ct-nt)/50*(Y-50)}return wt}else{var rt,it;return Y<=50?(rt=9*nt/500,it=nt/10):(rt=9*nt/50,it=-8*nt),rt*Y+it}},z.findCenterOfTree=function(Y){var nt=[];nt=nt.concat(Y);var ot=[],ft=new Map,wt=!1,mt=null;(nt.length==1||nt.length==2)&&(wt=!0,mt=nt[0]);for(var ct=0;ct<nt.length;ct++){var rt=nt[ct],it=rt.getNeighborsList().size;ft.set(rt,rt.getNeighborsList().size),it==1&&ot.push(rt)}var gt=[];for(gt=gt.concat(ot);!wt;){var Q=[];Q=Q.concat(gt),gt=[];for(var ct=0;ct<nt.length;ct++){var rt=nt[ct],dt=nt.indexOf(rt);dt>=0&&nt.splice(dt,1);var K=rt.getNeighborsList();K.forEach(function(Ot){if(ot.indexOf(Ot)<0){var It=ft.get(Ot),jt=It-1;jt==1&&gt.push(Ot),ft.set(Ot,jt)}})}ot=ot.concat(gt),(nt.length==1||nt.length==2)&&(wt=!0,mt=nt[0])}return mt},z.prototype.setGraphManager=function(Y){this.graphManager=Y},f.exports=z},function(f,g,w){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},f.exports=v},function(f,g,w){var v=w(4);function b(E,S){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(E){this.lworldOrgX=E},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(E){this.lworldOrgY=E},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(E){this.lworldExtX=E},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(E){this.lworldExtY=E},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(E){this.ldeviceOrgX=E},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(E){this.ldeviceOrgY=E},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(E){this.ldeviceExtX=E},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(E){this.ldeviceExtY=E},b.prototype.transformX=function(E){var S=0,_=this.lworldExtX;return _!=0&&(S=this.ldeviceOrgX+(E-this.lworldOrgX)*this.ldeviceExtX/_),S},b.prototype.transformY=function(E){var S=0,_=this.lworldExtY;return _!=0&&(S=this.ldeviceOrgY+(E-this.lworldOrgY)*this.ldeviceExtY/_),S},b.prototype.inverseTransformX=function(E){var S=0,_=this.ldeviceExtX;return _!=0&&(S=this.lworldOrgX+(E-this.ldeviceOrgX)*this.lworldExtX/_),S},b.prototype.inverseTransformY=function(E){var S=0,_=this.ldeviceExtY;return _!=0&&(S=this.lworldOrgY+(E-this.ldeviceOrgY)*this.lworldExtY/_),S},b.prototype.inverseTransformPoint=function(E){var S=new v(this.inverseTransformX(E.x),this.inverseTransformY(E.y));return S},f.exports=b},function(f,g,w){function v(B){if(Array.isArray(B)){for(var z=0,Y=Array(B.length);z<B.length;z++)Y[z]=B[z];return Y}else return Array.from(B)}var b=w(15),E=w(7),S=w(0),_=w(8),M=w(9);function F(){b.call(this),this.useSmartIdealEdgeLengthCalculation=E.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=E.DEFAULT_EDGE_LENGTH,this.springConstant=E.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=E.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=E.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=E.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=E.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=E.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*E.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=E.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=E.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=E.MAX_ITERATIONS}F.prototype=Object.create(b.prototype);for(var R in b)F[R]=b[R];F.prototype.initParameters=function(){b.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=E.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},F.prototype.calcIdealEdgeLengths=function(){for(var B,z,Y,nt,ot,ft,wt=this.getGraphManager().getAllEdges(),mt=0;mt<wt.length;mt++)B=wt[mt],B.idealLength=this.idealEdgeLength,B.isInterGraph&&(Y=B.getSource(),nt=B.getTarget(),ot=B.getSourceInLca().getEstimatedSize(),ft=B.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(B.idealLength+=ot+ft-2*S.SIMPLE_NODE_SIZE),z=B.getLca().getInclusionTreeDepth(),B.idealLength+=E.DEFAULT_EDGE_LENGTH*E.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(Y.getInclusionTreeDepth()+nt.getInclusionTreeDepth()-2*z))},F.prototype.initSpringEmbedder=function(){var B=this.getAllNodes().length;this.incremental?(B>E.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*E.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(B-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-E.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT_INCREMENTAL):(B>E.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(E.COOLING_ADAPTATION_FACTOR,1-(B-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*(1-E.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},F.prototype.calcSpringForces=function(){for(var B=this.getAllEdges(),z,Y=0;Y<B.length;Y++)z=B[Y],this.calcSpringForce(z,z.idealLength)},F.prototype.calcRepulsionForces=function(){var B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Y,nt,ot,ft,wt=this.getAllNodes(),mt;if(this.useFRGridVariant)for(this.totalIterations%E.GRID_CALCULATION_CHECK_PERIOD==1&&B&&this.updateGrid(),mt=new Set,Y=0;Y<wt.length;Y++)ot=wt[Y],this.calculateRepulsionForceOfANode(ot,mt,B,z),mt.add(ot);else for(Y=0;Y<wt.length;Y++)for(ot=wt[Y],nt=Y+1;nt<wt.length;nt++)ft=wt[nt],ot.getOwner()==ft.getOwner()&&this.calcRepulsionForce(ot,ft)},F.prototype.calcGravitationalForces=function(){for(var B,z=this.getAllNodesToApplyGravitation(),Y=0;Y<z.length;Y++)B=z[Y],this.calcGravitationalForce(B)},F.prototype.moveNodes=function(){for(var B=this.getAllNodes(),z,Y=0;Y<B.length;Y++)z=B[Y],z.move()},F.prototype.calcSpringForce=function(B,z){var Y=B.getSource(),nt=B.getTarget(),ot,ft,wt,mt;if(this.uniformLeafNodeSizes&&Y.getChild()==null&&nt.getChild()==null)B.updateLengthSimple();else if(B.updateLength(),B.isOverlapingSourceAndTarget)return;ot=B.getLength(),ot!=0&&(ft=this.springConstant*(ot-z),wt=ft*(B.lengthX/ot),mt=ft*(B.lengthY/ot),Y.springForceX+=wt,Y.springForceY+=mt,nt.springForceX-=wt,nt.springForceY-=mt)},F.prototype.calcRepulsionForce=function(B,z){var Y=B.getRect(),nt=z.getRect(),ot=new Array(2),ft=new Array(4),wt,mt,ct,rt,it,gt,Q;if(Y.intersects(nt)){_.calcSeparationAmount(Y,nt,ot,E.DEFAULT_EDGE_LENGTH/2),gt=2*ot[0],Q=2*ot[1];var dt=B.noOfChildren*z.noOfChildren/(B.noOfChildren+z.noOfChildren);B.repulsionForceX-=dt*gt,B.repulsionForceY-=dt*Q,z.repulsionForceX+=dt*gt,z.repulsionForceY+=dt*Q}else this.uniformLeafNodeSizes&&B.getChild()==null&&z.getChild()==null?(wt=nt.getCenterX()-Y.getCenterX(),mt=nt.getCenterY()-Y.getCenterY()):(_.getIntersection(Y,nt,ft),wt=ft[2]-ft[0],mt=ft[3]-ft[1]),Math.abs(wt)<E.MIN_REPULSION_DIST&&(wt=M.sign(wt)*E.MIN_REPULSION_DIST),Math.abs(mt)<E.MIN_REPULSION_DIST&&(mt=M.sign(mt)*E.MIN_REPULSION_DIST),ct=wt*wt+mt*mt,rt=Math.sqrt(ct),it=this.repulsionConstant*B.noOfChildren*z.noOfChildren/ct,gt=it*wt/rt,Q=it*mt/rt,B.repulsionForceX-=gt,B.repulsionForceY-=Q,z.repulsionForceX+=gt,z.repulsionForceY+=Q},F.prototype.calcGravitationalForce=function(B){var z,Y,nt,ot,ft,wt,mt,ct;z=B.getOwner(),Y=(z.getRight()+z.getLeft())/2,nt=(z.getTop()+z.getBottom())/2,ot=B.getCenterX()-Y,ft=B.getCenterY()-nt,wt=Math.abs(ot)+B.getWidth()/2,mt=Math.abs(ft)+B.getHeight()/2,B.getOwner()==this.graphManager.getRoot()?(ct=z.getEstimatedSize()*this.gravityRangeFactor,(wt>ct||mt>ct)&&(B.gravitationForceX=-this.gravityConstant*ot,B.gravitationForceY=-this.gravityConstant*ft)):(ct=z.getEstimatedSize()*this.compoundGravityRangeFactor,(wt>ct||mt>ct)&&(B.gravitationForceX=-this.gravityConstant*ot*this.compoundGravityConstant,B.gravitationForceY=-this.gravityConstant*ft*this.compoundGravityConstant))},F.prototype.isConverged=function(){var B,z=!1;return this.totalIterations>this.maxIterations/3&&(z=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),B=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,B||z},F.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},F.prototype.calcNoOfChildrenForAllNodes=function(){for(var B,z=this.graphManager.getAllNodes(),Y=0;Y<z.length;Y++)B=z[Y],B.noOfChildren=B.getNoOfChildren()},F.prototype.calcGrid=function(B){var z=0,Y=0;z=parseInt(Math.ceil((B.getRight()-B.getLeft())/this.repulsionRange)),Y=parseInt(Math.ceil((B.getBottom()-B.getTop())/this.repulsionRange));for(var nt=new Array(z),ot=0;ot<z;ot++)nt[ot]=new Array(Y);for(var ot=0;ot<z;ot++)for(var ft=0;ft<Y;ft++)nt[ot][ft]=new Array;return nt},F.prototype.addNodeToGrid=function(B,z,Y){var nt=0,ot=0,ft=0,wt=0;nt=parseInt(Math.floor((B.getRect().x-z)/this.repulsionRange)),ot=parseInt(Math.floor((B.getRect().width+B.getRect().x-z)/this.repulsionRange)),ft=parseInt(Math.floor((B.getRect().y-Y)/this.repulsionRange)),wt=parseInt(Math.floor((B.getRect().height+B.getRect().y-Y)/this.repulsionRange));for(var mt=nt;mt<=ot;mt++)for(var ct=ft;ct<=wt;ct++)this.grid[mt][ct].push(B),B.setGridCoordinates(nt,ot,ft,wt)},F.prototype.updateGrid=function(){var B,z,Y=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),B=0;B<Y.length;B++)z=Y[B],this.addNodeToGrid(z,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},F.prototype.calculateRepulsionForceOfANode=function(B,z,Y,nt){if(this.totalIterations%E.GRID_CALCULATION_CHECK_PERIOD==1&&Y||nt){var ot=new Set;B.surrounding=new Array;for(var ft,wt=this.grid,mt=B.startX-1;mt<B.finishX+2;mt++)for(var ct=B.startY-1;ct<B.finishY+2;ct++)if(!(mt<0||ct<0||mt>=wt.length||ct>=wt[0].length)){for(var rt=0;rt<wt[mt][ct].length;rt++)if(ft=wt[mt][ct][rt],!(B.getOwner()!=ft.getOwner()||B==ft)&&!z.has(ft)&&!ot.has(ft)){var it=Math.abs(B.getCenterX()-ft.getCenterX())-(B.getWidth()/2+ft.getWidth()/2),gt=Math.abs(B.getCenterY()-ft.getCenterY())-(B.getHeight()/2+ft.getHeight()/2);it<=this.repulsionRange&&gt<=this.repulsionRange&&ot.add(ft)}}B.surrounding=[].concat(v(ot))}for(mt=0;mt<B.surrounding.length;mt++)this.calcRepulsionForce(B,B.surrounding[mt])},F.prototype.calcRepulsionRange=function(){return 0},f.exports=F},function(f,g,w){var v=w(1),b=w(7);function E(_,M,F){v.call(this,_,M,F),this.idealLength=b.DEFAULT_EDGE_LENGTH}E.prototype=Object.create(v.prototype);for(var S in v)E[S]=v[S];f.exports=E},function(f,g,w){var v=w(3);function b(S,_,M,F){v.call(this,S,_,M,F),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}b.prototype=Object.create(v.prototype);for(var E in v)b[E]=v[E];b.prototype.setGridCoordinates=function(S,_,M,F){this.startX=S,this.finishX=_,this.startY=M,this.finishY=F},f.exports=b},function(f,g,w){function v(b,E){this.width=0,this.height=0,b!==null&&E!==null&&(this.height=E,this.width=b)}v.prototype.getWidth=function(){return this.width},v.prototype.setWidth=function(b){this.width=b},v.prototype.getHeight=function(){return this.height},v.prototype.setHeight=function(b){this.height=b},f.exports=v},function(f,g,w){var v=w(14);function b(){this.map={},this.keys=[]}b.prototype.put=function(E,S){var _=v.createID(E);this.contains(_)||(this.map[_]=S,this.keys.push(E))},b.prototype.contains=function(E){return v.createID(E),this.map[E]!=null},b.prototype.get=function(E){var S=v.createID(E);return this.map[S]},b.prototype.keySet=function(){return this.keys},f.exports=b},function(f,g,w){var v=w(14);function b(){this.set={}}b.prototype.add=function(E){var S=v.createID(E);this.contains(S)||(this.set[S]=E)},b.prototype.remove=function(E){delete this.set[v.createID(E)]},b.prototype.clear=function(){this.set={}},b.prototype.contains=function(E){return this.set[v.createID(E)]==E},b.prototype.isEmpty=function(){return this.size()===0},b.prototype.size=function(){return Object.keys(this.set).length},b.prototype.addAllTo=function(E){for(var S=Object.keys(this.set),_=S.length,M=0;M<_;M++)E.push(this.set[S[M]])},b.prototype.size=function(){return Object.keys(this.set).length},b.prototype.addAll=function(E){for(var S=E.length,_=0;_<S;_++){var M=E[_];this.add(M)}},f.exports=b},function(f,g,w){var v=function(){function _(M,F){for(var R=0;R<F.length;R++){var B=F[R];B.enumerable=B.enumerable||!1,B.configurable=!0,"value"in B&&(B.writable=!0),Object.defineProperty(M,B.key,B)}}return function(M,F,R){return F&&_(M.prototype,F),R&&_(M,R),M}}();function b(_,M){if(!(_ instanceof M))throw new TypeError("Cannot call a class as a function")}var E=w(11),S=function(){function _(M,F){b(this,_),(F!==null||F!==void 0)&&(this.compareFunction=this._defaultCompareFunction);var R=void 0;M instanceof E?R=M.size():R=M.length,this._quicksort(M,0,R-1)}return v(_,[{key:"_quicksort",value:function(F,R,B){if(R<B){var z=this._partition(F,R,B);this._quicksort(F,R,z),this._quicksort(F,z+1,B)}}},{key:"_partition",value:function(F,R,B){for(var z=this._get(F,R),Y=R,nt=B;;){for(;this.compareFunction(z,this._get(F,nt));)nt--;for(;this.compareFunction(this._get(F,Y),z);)Y++;if(Y<nt)this._swap(F,Y,nt),Y++,nt--;else return nt}}},{key:"_get",value:function(F,R){return F instanceof E?F.get_object_at(R):F[R]}},{key:"_set",value:function(F,R,B){F instanceof E?F.set_object_at(R,B):F[R]=B}},{key:"_swap",value:function(F,R,B){var z=this._get(F,R);this._set(F,R,this._get(F,B)),this._set(F,B,z)}},{key:"_defaultCompareFunction",value:function(F,R){return R>F}}]),_}();f.exports=S},function(f,g,w){var v=function(){function S(_,M){for(var F=0;F<M.length;F++){var R=M[F];R.enumerable=R.enumerable||!1,R.configurable=!0,"value"in R&&(R.writable=!0),Object.defineProperty(_,R.key,R)}}return function(_,M,F){return M&&S(_.prototype,M),F&&S(_,F),_}}();function b(S,_){if(!(S instanceof _))throw new TypeError("Cannot call a class as a function")}var E=function(){function S(_,M){var F=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,B=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,S),this.sequence1=_,this.sequence2=M,this.match_score=F,this.mismatch_penalty=R,this.gap_penalty=B,this.iMax=_.length+1,this.jMax=M.length+1,this.grid=new Array(this.iMax);for(var z=0;z<this.iMax;z++){this.grid[z]=new Array(this.jMax);for(var Y=0;Y<this.jMax;Y++)this.grid[z][Y]=0}this.tracebackGrid=new Array(this.iMax);for(var nt=0;nt<this.iMax;nt++){this.tracebackGrid[nt]=new Array(this.jMax);for(var ot=0;ot<this.jMax;ot++)this.tracebackGrid[nt][ot]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return v(S,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var M=1;M<this.jMax;M++)this.grid[0][M]=this.grid[0][M-1]+this.gap_penalty,this.tracebackGrid[0][M]=[!1,!1,!0];for(var F=1;F<this.iMax;F++)this.grid[F][0]=this.grid[F-1][0]+this.gap_penalty,this.tracebackGrid[F][0]=[!1,!0,!1];for(var R=1;R<this.iMax;R++)for(var B=1;B<this.jMax;B++){var z=void 0;this.sequence1[R-1]===this.sequence2[B-1]?z=this.grid[R-1][B-1]+this.match_score:z=this.grid[R-1][B-1]+this.mismatch_penalty;var Y=this.grid[R-1][B]+this.gap_penalty,nt=this.grid[R][B-1]+this.gap_penalty,ot=[z,Y,nt],ft=this.arrayAllMaxIndexes(ot);this.grid[R][B]=ot[ft[0]],this.tracebackGrid[R][B]=[ft.includes(0),ft.includes(1),ft.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var M=[];for(M.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});M[0];){var F=M[0],R=this.tracebackGrid[F.pos[0]][F.pos[1]];R[0]&&M.push({pos:[F.pos[0]-1,F.pos[1]-1],seq1:this.sequence1[F.pos[0]-1]+F.seq1,seq2:this.sequence2[F.pos[1]-1]+F.seq2}),R[1]&&M.push({pos:[F.pos[0]-1,F.pos[1]],seq1:this.sequence1[F.pos[0]-1]+F.seq1,seq2:"-"+F.seq2}),R[2]&&M.push({pos:[F.pos[0],F.pos[1]-1],seq1:"-"+F.seq1,seq2:this.sequence2[F.pos[1]-1]+F.seq2}),F.pos[0]===0&&F.pos[1]===0&&this.alignments.push({sequence1:F.seq1,sequence2:F.seq2}),M.shift()}return this.alignments}},{key:"getAllIndexes",value:function(M,F){for(var R=[],B=-1;(B=M.indexOf(F,B+1))!==-1;)R.push(B);return R}},{key:"arrayAllMaxIndexes",value:function(M){return this.getAllIndexes(M,Math.max.apply(null,M))}}]),S}();f.exports=E},function(f,g,w){var v=function(){};v.FDLayout=w(18),v.FDLayoutConstants=w(7),v.FDLayoutEdge=w(19),v.FDLayoutNode=w(20),v.DimensionD=w(21),v.HashMap=w(22),v.HashSet=w(23),v.IGeometry=w(8),v.IMath=w(9),v.Integer=w(10),v.Point=w(12),v.PointD=w(4),v.RandomSeed=w(16),v.RectangleD=w(13),v.Transform=w(17),v.UniqueIDGeneretor=w(14),v.Quicksort=w(24),v.LinkedList=w(11),v.LGraphObject=w(2),v.LGraph=w(5),v.LEdge=w(1),v.LGraphManager=w(6),v.LNode=w(3),v.Layout=w(15),v.LayoutConstants=w(0),v.NeedlemanWunsch=w(25),f.exports=v},function(f,g,w){function v(){this.listeners=[]}var b=v.prototype;b.addListener=function(E,S){this.listeners.push({event:E,callback:S})},b.removeListener=function(E,S){for(var _=this.listeners.length;_>=0;_--){var M=this.listeners[_];M.event===E&&M.callback===S&&this.listeners.splice(_,1)}},b.emit=function(E,S){for(var _=0;_<this.listeners.length;_++){var M=this.listeners[_];E===M.event&&M.callback(S)}},f.exports=v}])})}(b2t)),b2t.exports}var XHt;function ren(){return XHt||(XHt=1,function(i,a){(function(g,w){i.exports=w(nen())})(Z0,function(f){return function(g){var w={};function v(b){if(w[b])return w[b].exports;var E=w[b]={i:b,l:!1,exports:{}};return g[b].call(E.exports,E,E.exports,v),E.l=!0,E.exports}return v.m=g,v.c=w,v.i=function(b){return b},v.d=function(b,E,S){v.o(b,E)||Object.defineProperty(b,E,{configurable:!1,enumerable:!0,get:S})},v.n=function(b){var E=b&&b.__esModule?function(){return b.default}:function(){return b};return v.d(E,"a",E),E},v.o=function(b,E){return Object.prototype.hasOwnProperty.call(b,E)},v.p="",v(v.s=7)}([function(g,w){g.exports=f},function(g,w,v){var b=v(0).FDLayoutConstants;function E(){}for(var S in b)E[S]=b[S];E.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,E.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH,E.DEFAULT_COMPONENT_SEPERATION=60,E.TILE=!0,E.TILING_PADDING_VERTICAL=10,E.TILING_PADDING_HORIZONTAL=10,E.TREE_REDUCTION_ON_INCREMENTAL=!1,g.exports=E},function(g,w,v){var b=v(0).FDLayoutEdge;function E(_,M,F){b.call(this,_,M,F)}E.prototype=Object.create(b.prototype);for(var S in b)E[S]=b[S];g.exports=E},function(g,w,v){var b=v(0).LGraph;function E(_,M,F){b.call(this,_,M,F)}E.prototype=Object.create(b.prototype);for(var S in b)E[S]=b[S];g.exports=E},function(g,w,v){var b=v(0).LGraphManager;function E(_){b.call(this,_)}E.prototype=Object.create(b.prototype);for(var S in b)E[S]=b[S];g.exports=E},function(g,w,v){var b=v(0).FDLayoutNode,E=v(0).IMath;function S(M,F,R,B){b.call(this,M,F,R,B)}S.prototype=Object.create(b.prototype);for(var _ in b)S[_]=b[_];S.prototype.move=function(){var M=this.graphManager.getLayout();this.displacementX=M.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=M.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>M.coolingFactor*M.maxNodeDisplacement&&(this.displacementX=M.coolingFactor*M.maxNodeDisplacement*E.sign(this.displacementX)),Math.abs(this.displacementY)>M.coolingFactor*M.maxNodeDisplacement&&(this.displacementY=M.coolingFactor*M.maxNodeDisplacement*E.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),M.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},S.prototype.propogateDisplacementToChildren=function(M,F){for(var R=this.getChild().getNodes(),B,z=0;z<R.length;z++)B=R[z],B.getChild()==null?(B.moveBy(M,F),B.displacementX+=M,B.displacementY+=F):B.propogateDisplacementToChildren(M,F)},S.prototype.setPred1=function(M){this.pred1=M},S.prototype.getPred1=function(){return pred1},S.prototype.getPred2=function(){return pred2},S.prototype.setNext=function(M){this.next=M},S.prototype.getNext=function(){return next},S.prototype.setProcessed=function(M){this.processed=M},S.prototype.isProcessed=function(){return processed},g.exports=S},function(g,w,v){var b=v(0).FDLayout,E=v(4),S=v(3),_=v(5),M=v(2),F=v(1),R=v(0).FDLayoutConstants,B=v(0).LayoutConstants,z=v(0).Point,Y=v(0).PointD,nt=v(0).Layout,ot=v(0).Integer,ft=v(0).IGeometry,wt=v(0).LGraph,mt=v(0).Transform;function ct(){b.call(this),this.toBeTiled={}}ct.prototype=Object.create(b.prototype);for(var rt in b)ct[rt]=b[rt];ct.prototype.newGraphManager=function(){var it=new E(this);return this.graphManager=it,it},ct.prototype.newGraph=function(it){return new S(null,this.graphManager,it)},ct.prototype.newNode=function(it){return new _(this.graphManager,it)},ct.prototype.newEdge=function(it){return new M(null,null,it)},ct.prototype.initParameters=function(){b.prototype.initParameters.call(this,arguments),this.isSubLayout||(F.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=F.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=F.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=R.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=R.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=R.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=R.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=R.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=R.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/R.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=R.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},ct.prototype.layout=function(){var it=B.DEFAULT_CREATE_BENDS_AS_NEEDED;return it&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},ct.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(F.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var gt=new Set(this.getAllNodes()),Q=this.nodesWithGravity.filter(function(yt){return gt.has(yt)});this.graphManager.setAllNodesToApplyGravitation(Q)}}else{var it=this.getFlatForest();if(it.length>0)this.positionNodesRadially(it);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var gt=new Set(this.getAllNodes()),Q=this.nodesWithGravity.filter(function(dt){return gt.has(dt)});this.graphManager.setAllNodesToApplyGravitation(Q),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},ct.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%R.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var it=new Set(this.getAllNodes()),gt=this.nodesWithGravity.filter(function(K){return it.has(K)});this.graphManager.setAllNodesToApplyGravitation(gt),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=R.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=R.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var Q=!this.isTreeGrowing&&!this.isGrowthFinished,dt=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(Q,dt),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},ct.prototype.getPositionsData=function(){for(var it=this.graphManager.getAllNodes(),gt={},Q=0;Q<it.length;Q++){var dt=it[Q].rect,K=it[Q].id;gt[K]={id:K,x:dt.getCenterX(),y:dt.getCenterY(),w:dt.width,h:dt.height}}return gt},ct.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var it=!1;if(R.ANIMATE==="during")this.emit("layoutstarted");else{for(;!it;)it=this.tick();this.graphManager.updateBounds()}},ct.prototype.calculateNodesToApplyGravitationTo=function(){var it=[],gt,Q=this.graphManager.getGraphs(),dt=Q.length,K;for(K=0;K<dt;K++)gt=Q[K],gt.updateConnected(),gt.isConnected||(it=it.concat(gt.getNodes()));return it},ct.prototype.createBendpoints=function(){var it=[];it=it.concat(this.graphManager.getAllEdges());var gt=new Set,Q;for(Q=0;Q<it.length;Q++){var dt=it[Q];if(!gt.has(dt)){var K=dt.getSource(),yt=dt.getTarget();if(K==yt)dt.getBendpoints().push(new Y),dt.getBendpoints().push(new Y),this.createDummyNodesForBendpoints(dt),gt.add(dt);else{var V=[];if(V=V.concat(K.getEdgeListToNode(yt)),V=V.concat(yt.getEdgeListToNode(K)),!gt.has(V[0])){if(V.length>1){var Ot;for(Ot=0;Ot<V.length;Ot++){var It=V[Ot];It.getBendpoints().push(new Y),this.createDummyNodesForBendpoints(It)}}V.forEach(function(jt){gt.add(jt)})}}}if(gt.size==it.length)break}},ct.prototype.positionNodesRadially=function(it){for(var gt=new z(0,0),Q=Math.ceil(Math.sqrt(it.length)),dt=0,K=0,yt=0,V=new Y(0,0),Ot=0;Ot<it.length;Ot++){Ot%Q==0&&(yt=0,K=dt,Ot!=0&&(K+=F.DEFAULT_COMPONENT_SEPERATION),dt=0);var It=it[Ot],jt=nt.findCenterOfTree(It);gt.x=yt,gt.y=K,V=ct.radialLayout(It,jt,gt),V.y>dt&&(dt=Math.floor(V.y)),yt=Math.floor(V.x+F.DEFAULT_COMPONENT_SEPERATION)}this.transform(new Y(B.WORLD_CENTER_X-V.x/2,B.WORLD_CENTER_Y-V.y/2))},ct.radialLayout=function(it,gt,Q){var dt=Math.max(this.maxDiagonalInTree(it),F.DEFAULT_RADIAL_SEPARATION);ct.branchRadialLayout(gt,null,0,359,0,dt);var K=wt.calculateBounds(it),yt=new mt;yt.setDeviceOrgX(K.getMinX()),yt.setDeviceOrgY(K.getMinY()),yt.setWorldOrgX(Q.x),yt.setWorldOrgY(Q.y);for(var V=0;V<it.length;V++){var Ot=it[V];Ot.transform(yt)}var It=new Y(K.getMaxX(),K.getMaxY());return yt.inverseTransformPoint(It)},ct.branchRadialLayout=function(it,gt,Q,dt,K,yt){var V=(dt-Q+1)/2;V<0&&(V+=180);var Ot=(V+Q)%360,It=Ot*ft.TWO_PI/360,jt=K*Math.cos(It),xt=K*Math.sin(It);it.setCenter(jt,xt);var Ft=[];Ft=Ft.concat(it.getEdges());var Ct=Ft.length;gt!=null&&Ct--;for(var kt=0,Gt=Ft.length,Fe,Mt=it.getEdgesBetween(gt);Mt.length>1;){var pn=Mt[0];Mt.splice(0,1);var Ae=Ft.indexOf(pn);Ae>=0&&Ft.splice(Ae,1),Gt--,Ct--}gt!=null?Fe=(Ft.indexOf(Mt[0])+1)%Gt:Fe=0;for(var ye=Math.abs(dt-Q)/Ct,tn=Fe;kt!=Ct;tn=++tn%Gt){var sn=Ft[tn].getOtherEnd(it);if(sn!=gt){var be=(Q+kt*ye)%360,Ne=(be+ye)%360;ct.branchRadialLayout(sn,it,be,Ne,K+yt,yt),kt++}}},ct.maxDiagonalInTree=function(it){for(var gt=ot.MIN_VALUE,Q=0;Q<it.length;Q++){var dt=it[Q],K=dt.getDiagonal();K>gt&&(gt=K)}return gt},ct.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},ct.prototype.groupZeroDegreeMembers=function(){var it=this,gt={};this.memberGroups={},this.idToDummyNode={};for(var Q=[],dt=this.graphManager.getAllNodes(),K=0;K<dt.length;K++){var yt=dt[K],V=yt.getParent();this.getNodeDegreeWithChildren(yt)===0&&(V.id==null||!this.getToBeTiled(V))&&Q.push(yt)}for(var K=0;K<Q.length;K++){var yt=Q[K],Ot=yt.getParent().id;typeof gt[Ot]>"u"&&(gt[Ot]=[]),gt[Ot]=gt[Ot].concat(yt)}Object.keys(gt).forEach(function(It){if(gt[It].length>1){var jt="DummyCompound_"+It;it.memberGroups[jt]=gt[It];var xt=gt[It][0].getParent(),Ft=new _(it.graphManager);Ft.id=jt,Ft.paddingLeft=xt.paddingLeft||0,Ft.paddingRight=xt.paddingRight||0,Ft.paddingBottom=xt.paddingBottom||0,Ft.paddingTop=xt.paddingTop||0,it.idToDummyNode[jt]=Ft;var Ct=it.getGraphManager().add(it.newGraph(),Ft),kt=xt.getChild();kt.add(Ft);for(var Gt=0;Gt<gt[It].length;Gt++){var Fe=gt[It][Gt];kt.remove(Fe),Ct.add(Fe)}}})},ct.prototype.clearCompounds=function(){var it={},gt={};this.performDFSOnCompounds();for(var Q=0;Q<this.compoundOrder.length;Q++)gt[this.compoundOrder[Q].id]=this.compoundOrder[Q],it[this.compoundOrder[Q].id]=[].concat(this.compoundOrder[Q].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[Q].getChild()),this.compoundOrder[Q].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(it,gt)},ct.prototype.clearZeroDegreeMembers=function(){var it=this,gt=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(Q){var dt=it.idToDummyNode[Q];gt[Q]=it.tileNodes(it.memberGroups[Q],dt.paddingLeft+dt.paddingRight),dt.rect.width=gt[Q].width,dt.rect.height=gt[Q].height})},ct.prototype.repopulateCompounds=function(){for(var it=this.compoundOrder.length-1;it>=0;it--){var gt=this.compoundOrder[it],Q=gt.id,dt=gt.paddingLeft,K=gt.paddingTop;this.adjustLocations(this.tiledMemberPack[Q],gt.rect.x,gt.rect.y,dt,K)}},ct.prototype.repopulateZeroDegreeMembers=function(){var it=this,gt=this.tiledZeroDegreePack;Object.keys(gt).forEach(function(Q){var dt=it.idToDummyNode[Q],K=dt.paddingLeft,yt=dt.paddingTop;it.adjustLocations(gt[Q],dt.rect.x,dt.rect.y,K,yt)})},ct.prototype.getToBeTiled=function(it){var gt=it.id;if(this.toBeTiled[gt]!=null)return this.toBeTiled[gt];var Q=it.getChild();if(Q==null)return this.toBeTiled[gt]=!1,!1;for(var dt=Q.getNodes(),K=0;K<dt.length;K++){var yt=dt[K];if(this.getNodeDegree(yt)>0)return this.toBeTiled[gt]=!1,!1;if(yt.getChild()==null){this.toBeTiled[yt.id]=!1;continue}if(!this.getToBeTiled(yt))return this.toBeTiled[gt]=!1,!1}return this.toBeTiled[gt]=!0,!0},ct.prototype.getNodeDegree=function(it){it.id;for(var gt=it.getEdges(),Q=0,dt=0;dt<gt.length;dt++){var K=gt[dt];K.getSource().id!==K.getTarget().id&&(Q=Q+1)}return Q},ct.prototype.getNodeDegreeWithChildren=function(it){var gt=this.getNodeDegree(it);if(it.getChild()==null)return gt;for(var Q=it.getChild().getNodes(),dt=0;dt<Q.length;dt++){var K=Q[dt];gt+=this.getNodeDegreeWithChildren(K)}return gt},ct.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},ct.prototype.fillCompexOrderByDFS=function(it){for(var gt=0;gt<it.length;gt++){var Q=it[gt];Q.getChild()!=null&&this.fillCompexOrderByDFS(Q.getChild().getNodes()),this.getToBeTiled(Q)&&this.compoundOrder.push(Q)}},ct.prototype.adjustLocations=function(it,gt,Q,dt,K){gt+=dt,Q+=K;for(var yt=gt,V=0;V<it.rows.length;V++){var Ot=it.rows[V];gt=yt;for(var It=0,jt=0;jt<Ot.length;jt++){var xt=Ot[jt];xt.rect.x=gt,xt.rect.y=Q,gt+=xt.rect.width+it.horizontalPadding,xt.rect.height>It&&(It=xt.rect.height)}Q+=It+it.verticalPadding}},ct.prototype.tileCompoundMembers=function(it,gt){var Q=this;this.tiledMemberPack=[],Object.keys(it).forEach(function(dt){var K=gt[dt];Q.tiledMemberPack[dt]=Q.tileNodes(it[dt],K.paddingLeft+K.paddingRight),K.rect.width=Q.tiledMemberPack[dt].width,K.rect.height=Q.tiledMemberPack[dt].height})},ct.prototype.tileNodes=function(it,gt){var Q=F.TILING_PADDING_VERTICAL,dt=F.TILING_PADDING_HORIZONTAL,K={rows:[],rowWidth:[],rowHeight:[],width:0,height:gt,verticalPadding:Q,horizontalPadding:dt};it.sort(function(Ot,It){return Ot.rect.width*Ot.rect.height>It.rect.width*It.rect.height?-1:Ot.rect.width*Ot.rect.height<It.rect.width*It.rect.height?1:0});for(var yt=0;yt<it.length;yt++){var V=it[yt];K.rows.length==0?this.insertNodeToRow(K,V,0,gt):this.canAddHorizontal(K,V.rect.width,V.rect.height)?this.insertNodeToRow(K,V,this.getShortestRowIndex(K),gt):this.insertNodeToRow(K,V,K.rows.length,gt),this.shiftToLastRow(K)}return K},ct.prototype.insertNodeToRow=function(it,gt,Q,dt){var K=dt;if(Q==it.rows.length){var yt=[];it.rows.push(yt),it.rowWidth.push(K),it.rowHeight.push(0)}var V=it.rowWidth[Q]+gt.rect.width;it.rows[Q].length>0&&(V+=it.horizontalPadding),it.rowWidth[Q]=V,it.width<V&&(it.width=V);var Ot=gt.rect.height;Q>0&&(Ot+=it.verticalPadding);var It=0;Ot>it.rowHeight[Q]&&(It=it.rowHeight[Q],it.rowHeight[Q]=Ot,It=it.rowHeight[Q]-It),it.height+=It,it.rows[Q].push(gt)},ct.prototype.getShortestRowIndex=function(it){for(var gt=-1,Q=Number.MAX_VALUE,dt=0;dt<it.rows.length;dt++)it.rowWidth[dt]<Q&&(gt=dt,Q=it.rowWidth[dt]);return gt},ct.prototype.getLongestRowIndex=function(it){for(var gt=-1,Q=Number.MIN_VALUE,dt=0;dt<it.rows.length;dt++)it.rowWidth[dt]>Q&&(gt=dt,Q=it.rowWidth[dt]);return gt},ct.prototype.canAddHorizontal=function(it,gt,Q){var dt=this.getShortestRowIndex(it);if(dt<0)return!0;var K=it.rowWidth[dt];if(K+it.horizontalPadding+gt<=it.width)return!0;var yt=0;it.rowHeight[dt]<Q&&dt>0&&(yt=Q+it.verticalPadding-it.rowHeight[dt]);var V;it.width-K>=gt+it.horizontalPadding?V=(it.height+yt)/(K+gt+it.horizontalPadding):V=(it.height+yt)/it.width,yt=Q+it.verticalPadding;var Ot;return it.width<gt?Ot=(it.height+yt)/gt:Ot=(it.height+yt)/it.width,Ot<1&&(Ot=1/Ot),V<1&&(V=1/V),V<Ot},ct.prototype.shiftToLastRow=function(it){var gt=this.getLongestRowIndex(it),Q=it.rowWidth.length-1,dt=it.rows[gt],K=dt[dt.length-1],yt=K.width+it.horizontalPadding;if(it.width-it.rowWidth[Q]>yt&&gt!=Q){dt.splice(-1,1),it.rows[Q].push(K),it.rowWidth[gt]=it.rowWidth[gt]-yt,it.rowWidth[Q]=it.rowWidth[Q]+yt,it.width=it.rowWidth[instance.getLongestRowIndex(it)];for(var V=Number.MIN_VALUE,Ot=0;Ot<dt.length;Ot++)dt[Ot].height>V&&(V=dt[Ot].height);gt>0&&(V+=it.verticalPadding);var It=it.rowHeight[gt]+it.rowHeight[Q];it.rowHeight[gt]=V,it.rowHeight[Q]<K.height+it.verticalPadding&&(it.rowHeight[Q]=K.height+it.verticalPadding);var jt=it.rowHeight[gt]+it.rowHeight[Q];it.height+=jt-It,this.shiftToLastRow(it)}},ct.prototype.tilingPreLayout=function(){F.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},ct.prototype.tilingPostLayout=function(){F.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},ct.prototype.reduceTrees=function(){for(var it=[],gt=!0,Q;gt;){var dt=this.graphManager.getAllNodes(),K=[];gt=!1;for(var yt=0;yt<dt.length;yt++)Q=dt[yt],Q.getEdges().length==1&&!Q.getEdges()[0].isInterGraph&&Q.getChild()==null&&(K.push([Q,Q.getEdges()[0],Q.getOwner()]),gt=!0);if(gt==!0){for(var V=[],Ot=0;Ot<K.length;Ot++)K[Ot][0].getEdges().length==1&&(V.push(K[Ot]),K[Ot][0].getOwner().remove(K[Ot][0]));it.push(V),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=it},ct.prototype.growTree=function(it){for(var gt=it.length,Q=it[gt-1],dt,K=0;K<Q.length;K++)dt=Q[K],this.findPlaceforPrunedNode(dt),dt[2].add(dt[0]),dt[2].add(dt[1],dt[1].source,dt[1].target);it.splice(it.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},ct.prototype.findPlaceforPrunedNode=function(it){var gt,Q,dt=it[0];dt==it[1].source?Q=it[1].target:Q=it[1].source;var K=Q.startX,yt=Q.finishX,V=Q.startY,Ot=Q.finishY,It=0,jt=0,xt=0,Ft=0,Ct=[It,xt,jt,Ft];if(V>0)for(var kt=K;kt<=yt;kt++)Ct[0]+=this.grid[kt][V-1].length+this.grid[kt][V].length-1;if(yt<this.grid.length-1)for(var kt=V;kt<=Ot;kt++)Ct[1]+=this.grid[yt+1][kt].length+this.grid[yt][kt].length-1;if(Ot<this.grid[0].length-1)for(var kt=K;kt<=yt;kt++)Ct[2]+=this.grid[kt][Ot+1].length+this.grid[kt][Ot].length-1;if(K>0)for(var kt=V;kt<=Ot;kt++)Ct[3]+=this.grid[K-1][kt].length+this.grid[K][kt].length-1;for(var Gt=ot.MAX_VALUE,Fe,Mt,pn=0;pn<Ct.length;pn++)Ct[pn]<Gt?(Gt=Ct[pn],Fe=1,Mt=pn):Ct[pn]==Gt&&Fe++;if(Fe==3&&Gt==0)Ct[0]==0&&Ct[1]==0&&Ct[2]==0?gt=1:Ct[0]==0&&Ct[1]==0&&Ct[3]==0?gt=0:Ct[0]==0&&Ct[2]==0&&Ct[3]==0?gt=3:Ct[1]==0&&Ct[2]==0&&Ct[3]==0&&(gt=2);else if(Fe==2&&Gt==0){var Ae=Math.floor(Math.random()*2);Ct[0]==0&&Ct[1]==0?Ae==0?gt=0:gt=1:Ct[0]==0&&Ct[2]==0?Ae==0?gt=0:gt=2:Ct[0]==0&&Ct[3]==0?Ae==0?gt=0:gt=3:Ct[1]==0&&Ct[2]==0?Ae==0?gt=1:gt=2:Ct[1]==0&&Ct[3]==0?Ae==0?gt=1:gt=3:Ae==0?gt=2:gt=3}else if(Fe==4&&Gt==0){var Ae=Math.floor(Math.random()*4);gt=Ae}else gt=Mt;gt==0?dt.setCenter(Q.getCenterX(),Q.getCenterY()-Q.getHeight()/2-R.DEFAULT_EDGE_LENGTH-dt.getHeight()/2):gt==1?dt.setCenter(Q.getCenterX()+Q.getWidth()/2+R.DEFAULT_EDGE_LENGTH+dt.getWidth()/2,Q.getCenterY()):gt==2?dt.setCenter(Q.getCenterX(),Q.getCenterY()+Q.getHeight()/2+R.DEFAULT_EDGE_LENGTH+dt.getHeight()/2):dt.setCenter(Q.getCenterX()-Q.getWidth()/2-R.DEFAULT_EDGE_LENGTH-dt.getWidth()/2,Q.getCenterY())},g.exports=ct},function(g,w,v){var b={};b.layoutBase=v(0),b.CoSEConstants=v(1),b.CoSEEdge=v(2),b.CoSEGraph=v(3),b.CoSEGraphManager=v(4),b.CoSELayout=v(6),b.CoSENode=v(5),g.exports=b}])})}(p2t)),p2t.exports}(function(i,a){(function(g,w){i.exports=w(ren())})(Z0,function(f){return function(g){var w={};function v(b){if(w[b])return w[b].exports;var E=w[b]={i:b,l:!1,exports:{}};return g[b].call(E.exports,E,E.exports,v),E.l=!0,E.exports}return v.m=g,v.c=w,v.i=function(b){return b},v.d=function(b,E,S){v.o(b,E)||Object.defineProperty(b,E,{configurable:!1,enumerable:!0,get:S})},v.n=function(b){var E=b&&b.__esModule?function(){return b.default}:function(){return b};return v.d(E,"a",E),E},v.o=function(b,E){return Object.prototype.hasOwnProperty.call(b,E)},v.p="",v(v.s=1)}([function(g,w){g.exports=f},function(g,w,v){var b=v(0).layoutBase.LayoutConstants,E=v(0).layoutBase.FDLayoutConstants,S=v(0).CoSEConstants,_=v(0).CoSELayout,M=v(0).CoSENode,F=v(0).layoutBase.PointD,R=v(0).layoutBase.DimensionD,B={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function z(ft,wt){var mt={};for(var ct in ft)mt[ct]=ft[ct];for(var ct in wt)mt[ct]=wt[ct];return mt}function Y(ft){this.options=z(B,ft),nt(this.options)}var nt=function(wt){wt.nodeRepulsion!=null&&(S.DEFAULT_REPULSION_STRENGTH=E.DEFAULT_REPULSION_STRENGTH=wt.nodeRepulsion),wt.idealEdgeLength!=null&&(S.DEFAULT_EDGE_LENGTH=E.DEFAULT_EDGE_LENGTH=wt.idealEdgeLength),wt.edgeElasticity!=null&&(S.DEFAULT_SPRING_STRENGTH=E.DEFAULT_SPRING_STRENGTH=wt.edgeElasticity),wt.nestingFactor!=null&&(S.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=wt.nestingFactor),wt.gravity!=null&&(S.DEFAULT_GRAVITY_STRENGTH=E.DEFAULT_GRAVITY_STRENGTH=wt.gravity),wt.numIter!=null&&(S.MAX_ITERATIONS=E.MAX_ITERATIONS=wt.numIter),wt.gravityRange!=null&&(S.DEFAULT_GRAVITY_RANGE_FACTOR=E.DEFAULT_GRAVITY_RANGE_FACTOR=wt.gravityRange),wt.gravityCompound!=null&&(S.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.DEFAULT_COMPOUND_GRAVITY_STRENGTH=wt.gravityCompound),wt.gravityRangeCompound!=null&&(S.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=wt.gravityRangeCompound),wt.initialEnergyOnIncremental!=null&&(S.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.DEFAULT_COOLING_FACTOR_INCREMENTAL=wt.initialEnergyOnIncremental),wt.quality=="draft"?b.QUALITY=0:wt.quality=="proof"?b.QUALITY=2:b.QUALITY=1,S.NODE_DIMENSIONS_INCLUDE_LABELS=E.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=wt.nodeDimensionsIncludeLabels,S.DEFAULT_INCREMENTAL=E.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=!wt.randomize,S.ANIMATE=E.ANIMATE=b.ANIMATE=wt.animate,S.TILE=wt.tile,S.TILING_PADDING_VERTICAL=typeof wt.tilingPaddingVertical=="function"?wt.tilingPaddingVertical.call():wt.tilingPaddingVertical,S.TILING_PADDING_HORIZONTAL=typeof wt.tilingPaddingHorizontal=="function"?wt.tilingPaddingHorizontal.call():wt.tilingPaddingHorizontal};Y.prototype.run=function(){var ft,wt,mt=this.options;this.idToLNode={};var ct=this.layout=new _,rt=this;rt.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var it=ct.newGraphManager();this.gm=it;var gt=this.options.eles.nodes(),Q=this.options.eles.edges();this.root=it.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(gt),ct);for(var dt=0;dt<Q.length;dt++){var K=Q[dt],yt=this.idToLNode[K.data("source")],V=this.idToLNode[K.data("target")];if(yt!==V&&yt.getEdgesBetween(V).length==0){var Ot=it.add(ct.newEdge(),yt,V);Ot.id=K.id()}}var It=function(Ft,Ct){typeof Ft=="number"&&(Ft=Ct);var kt=Ft.data("id"),Gt=rt.idToLNode[kt];return{x:Gt.getRect().getCenterX(),y:Gt.getRect().getCenterY()}},jt=function xt(){for(var Ft=function(){mt.fit&&mt.cy.fit(mt.eles,mt.padding),ft||(ft=!0,rt.cy.one("layoutready",mt.ready),rt.cy.trigger({type:"layoutready",layout:rt}))},Ct=rt.options.refresh,kt,Gt=0;Gt<Ct&&!kt;Gt++)kt=rt.stopped||rt.layout.tick();if(kt){ct.checkLayoutSuccess()&&!ct.isSubLayout&&ct.doPostLayout(),ct.tilingPostLayout&&ct.tilingPostLayout(),ct.isLayoutFinished=!0,rt.options.eles.nodes().positions(It),Ft(),rt.cy.one("layoutstop",rt.options.stop),rt.cy.trigger({type:"layoutstop",layout:rt}),wt&&cancelAnimationFrame(wt),ft=!1;return}var Fe=rt.layout.getPositionsData();mt.eles.nodes().positions(function(Mt,pn){if(typeof Mt=="number"&&(Mt=pn),!Mt.isParent()){for(var Ae=Mt.id(),ye=Fe[Ae],tn=Mt;ye==null&&(ye=Fe[tn.data("parent")]||Fe["DummyCompound_"+tn.data("parent")],Fe[Ae]=ye,tn=tn.parent()[0],tn!=null););return ye!=null?{x:ye.x,y:ye.y}:{x:Mt.position("x"),y:Mt.position("y")}}}),Ft(),wt=requestAnimationFrame(xt)};return ct.addListener("layoutstarted",function(){rt.options.animate==="during"&&(wt=requestAnimationFrame(jt))}),ct.runLayout(),this.options.animate!=="during"&&(rt.options.eles.nodes().not(":parent").layoutPositions(rt,rt.options,It),ft=!1),this},Y.prototype.getTopMostNodes=function(ft){for(var wt={},mt=0;mt<ft.length;mt++)wt[ft[mt].id()]=!0;var ct=ft.filter(function(rt,it){typeof rt=="number"&&(rt=it);for(var gt=rt.parent()[0];gt!=null;){if(wt[gt.id()])return!1;gt=gt.parent()[0]}return!0});return ct},Y.prototype.processChildrenList=function(ft,wt,mt){for(var ct=wt.length,rt=0;rt<ct;rt++){var it=wt[rt],gt=it.children(),Q,dt=it.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if(it.outerWidth()!=null&&it.outerHeight()!=null?Q=ft.add(new M(mt.graphManager,new F(it.position("x")-dt.w/2,it.position("y")-dt.h/2),new R(parseFloat(dt.w),parseFloat(dt.h)))):Q=ft.add(new M(this.graphManager)),Q.id=it.data("id"),Q.paddingLeft=parseInt(it.css("padding")),Q.paddingTop=parseInt(it.css("padding")),Q.paddingRight=parseInt(it.css("padding")),Q.paddingBottom=parseInt(it.css("padding")),this.options.nodeDimensionsIncludeLabels&&it.isParent()){var K=it.boundingBox({includeLabels:!0,includeNodes:!1}).w,yt=it.boundingBox({includeLabels:!0,includeNodes:!1}).h,V=it.css("text-halign");Q.labelWidth=K,Q.labelHeight=yt,Q.labelPos=V}if(this.idToLNode[it.data("id")]=Q,isNaN(Q.rect.x)&&(Q.rect.x=0),isNaN(Q.rect.y)&&(Q.rect.y=0),gt!=null&&gt.length>0){var Ot;Ot=mt.getGraphManager().add(mt.newGraph(),Q),this.processChildrenList(Ot,gt,mt)}}},Y.prototype.stop=function(){return this.stopped=!0,this};var ot=function(wt){wt("layout","cose-bilkent",Y)};typeof cytoscape<"u"&&ot(cytoscape),g.exports=ot}])})})(WHt);var ien=WHt.exports;const sen=e9(ien),aen=12,oen=function(i,a,f,g){a.append("path").attr("id","node-"+f.id).attr("class","node-bkg node-"+i.type2Str(f.type)).attr("d",`M0 ${f.height-5} v${-f.height+2*5} q0,-5 5,-5 h${f.width-2*5} q5,0 5,5 v${f.height-5} H0 Z`),a.append("line").attr("class","node-line-"+g).attr("x1",0).attr("y1",f.height).attr("x2",f.width).attr("y2",f.height)},cen=function(i,a,f){a.append("rect").attr("id","node-"+f.id).attr("class","node-bkg node-"+i.type2Str(f.type)).attr("height",f.height).attr("width",f.width)},uen=function(i,a,f){const g=f.width,w=f.height,v=.15*g,b=.25*g,E=.35*g,S=.2*g;a.append("path").attr("id","node-"+f.id).attr("class","node-bkg node-"+i.type2Str(f.type)).attr("d",`M0 0 a${v},${v} 0 0,1 ${g*.25},${-1*g*.1}
1609 `}return a},ken=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:ten,renderer:yen,parser:Ytn,styles:i=>`
1643 `).trim(),Qen=NX.parse.bind(NX);NX.parse=i=>Qen(Xen(i));const Jen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:NX,db:_en,renderer:Yen}},Symbol.toStringTag,{value:"Module"}));var E2t=function(){var i=function(wt,mt,ct,rt){for(ct=ct||{},rt=wt.length;rt--;ct[wt[rt]]=mt);return ct},a=[1,7],f=[1,13],g=[1,14],w=[1,15],v=[1,19],b=[1,16],E=[1,17],S=[1,18],_=[8,30],M=[8,21,28,29,30,31,32,40,44,47],F=[1,23],R=[1,24],B=[8,15,16,21,28,29,30,31,32,40,44,47],z=[8,15,16,21,27,28,29,30,31,32,40,44,47],Y=[1,49],nt={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,seperator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(mt,ct,rt,it,gt,Q,dt){var K=Q.length-1;switch(gt){case 4:it.getLogger().debug("Rule: seperator (NL) ");break;case 5:it.getLogger().debug("Rule: seperator (Space) ");break;case 6:it.getLogger().debug("Rule: seperator (EOF) ");break;case 7:it.getLogger().debug("Rule: hierarchy: ",Q[K-1]),it.setHierarchy(Q[K-1]);break;case 8:it.getLogger().debug("Stop NL ");break;case 9:it.getLogger().debug("Stop EOF ");break;case 10:it.getLogger().debug("Stop NL2 ");break;case 11:it.getLogger().debug("Stop EOF2 ");break;case 12:it.getLogger().debug("Rule: statement: ",Q[K]),typeof Q[K].length=="number"?this.$=Q[K]:this.$=[Q[K]];break;case 13:it.getLogger().debug("Rule: statement #2: ",Q[K-1]),this.$=[Q[K-1]].concat(Q[K]);break;case 14:it.getLogger().debug("Rule: link: ",Q[K],mt),this.$={edgeTypeStr:Q[K],label:""};break;case 15:it.getLogger().debug("Rule: LABEL link: ",Q[K-3],Q[K-1],Q[K]),this.$={edgeTypeStr:Q[K],label:Q[K-1]};break;case 18:const yt=parseInt(Q[K]),V=it.generateId();this.$={id:V,type:"space",label:"",width:yt,children:[]};break;case 23:it.getLogger().debug("Rule: (nodeStatement link node) ",Q[K-2],Q[K-1],Q[K]," typestr: ",Q[K-1].edgeTypeStr);const Ot=it.edgeStrToEdgeData(Q[K-1].edgeTypeStr);this.$=[{id:Q[K-2].id,label:Q[K-2].label,type:Q[K-2].type,directions:Q[K-2].directions},{id:Q[K-2].id+"-"+Q[K].id,start:Q[K-2].id,end:Q[K].id,label:Q[K-1].label,type:"edge",directions:Q[K].directions,arrowTypeEnd:Ot,arrowTypeStart:"arrow_open"},{id:Q[K].id,label:Q[K].label,type:it.typeStr2Type(Q[K].typeStr),directions:Q[K].directions}];break;case 24:it.getLogger().debug("Rule: nodeStatement (abc88 node size) ",Q[K-1],Q[K]),this.$={id:Q[K-1].id,label:Q[K-1].label,type:it.typeStr2Type(Q[K-1].typeStr),directions:Q[K-1].directions,widthInColumns:parseInt(Q[K],10)};break;case 25:it.getLogger().debug("Rule: nodeStatement (node) ",Q[K]),this.$={id:Q[K].id,label:Q[K].label,type:it.typeStr2Type(Q[K].typeStr),directions:Q[K].directions,widthInColumns:1};break;case 26:it.getLogger().debug("APA123",this?this:"na"),it.getLogger().debug("COLUMNS: ",Q[K]),this.$={type:"column-setting",columns:Q[K]==="auto"?-1:parseInt(Q[K])};break;case 27:it.getLogger().debug("Rule: id-block statement : ",Q[K-2],Q[K-1]),it.generateId(),this.$={...Q[K-2],type:"composite",children:Q[K-1]};break;case 28:it.getLogger().debug("Rule: blockStatement : ",Q[K-2],Q[K-1],Q[K]);const It=it.generateId();this.$={id:It,type:"composite",label:"",children:Q[K-1]};break;case 29:it.getLogger().debug("Rule: node (NODE_ID seperator): ",Q[K]),this.$={id:Q[K]};break;case 30:it.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel seperator): ",Q[K-1],Q[K]),this.$={id:Q[K-1],label:Q[K].label,typeStr:Q[K].typeStr,directions:Q[K].directions};break;case 31:it.getLogger().debug("Rule: dirList: ",Q[K]),this.$=[Q[K]];break;case 32:it.getLogger().debug("Rule: dirList: ",Q[K-1],Q[K]),this.$=[Q[K-1]].concat(Q[K]);break;case 33:it.getLogger().debug("Rule: nodeShapeNLabel: ",Q[K-2],Q[K-1],Q[K]),this.$={typeStr:Q[K-2]+Q[K],label:Q[K-1]};break;case 34:it.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",Q[K-3],Q[K-2]," #3:",Q[K-1],Q[K]),this.$={typeStr:Q[K-3]+Q[K],label:Q[K-2],directions:Q[K-1]};break;case 35:case 36:this.$={type:"classDef",id:Q[K-1].trim(),css:Q[K].trim()};break;case 37:this.$={type:"applyClass",id:Q[K-1].trim(),styleClass:Q[K].trim()};break;case 38:this.$={type:"applyStyles",id:Q[K-1].trim(),stylesStr:Q[K].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:f,29:g,31:w,32:v,40:b,44:E,47:S},{8:[1,20]},i(_,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:f,29:g,31:w,32:v,40:b,44:E,47:S}),i(M,[2,16],{14:22,15:F,16:R}),i(M,[2,17]),i(M,[2,18]),i(M,[2,19]),i(M,[2,20]),i(M,[2,21]),i(M,[2,22]),i(B,[2,25],{27:[1,25]}),i(M,[2,26]),{19:26,26:12,32:v},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:f,29:g,31:w,32:v,40:b,44:E,47:S},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},i(z,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},i(_,[2,13]),{26:35,32:v},{32:[2,14]},{17:[1,36]},i(B,[2,24]),{11:37,13:4,14:22,15:F,16:R,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:f,29:g,31:w,32:v,40:b,44:E,47:S},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},i(z,[2,30]),{18:[1,43]},{18:[1,44]},i(B,[2,23]),{18:[1,45]},{30:[1,46]},i(M,[2,28]),i(M,[2,35]),i(M,[2,36]),i(M,[2,37]),i(M,[2,38]),{37:[1,47]},{34:48,35:Y},{15:[1,50]},i(M,[2,27]),i(z,[2,33]),{39:[1,51]},{34:52,35:Y,39:[2,31]},{32:[2,15]},i(z,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(mt,ct){if(ct.recoverable)this.trace(mt);else{var rt=new Error(mt);throw rt.hash=ct,rt}},parse:function(mt){var ct=this,rt=[0],it=[],gt=[null],Q=[],dt=this.table,K="",yt=0,V=0,Ot=2,It=1,jt=Q.slice.call(arguments,1),xt=Object.create(this.lexer),Ft={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(Ft.yy[Ct]=this.yy[Ct]);xt.setInput(mt,Ft.yy),Ft.yy.lexer=xt,Ft.yy.parser=this,typeof xt.yylloc>"u"&&(xt.yylloc={});var kt=xt.yylloc;Q.push(kt);var Gt=xt.options&&xt.options.ranges;typeof Ft.yy.parseError=="function"?this.parseError=Ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fe(){var xe;return xe=it.pop()||xt.lex()||It,typeof xe!="number"&&(xe instanceof Array&&(it=xe,xe=it.pop()),xe=ct.symbols_[xe]||xe),xe}for(var Mt,pn,Ae,ye,tn={},sn,be,Ne,Xt;;){if(pn=rt[rt.length-1],this.defaultActions[pn]?Ae=this.defaultActions[pn]:((Mt===null||typeof Mt>"u")&&(Mt=Fe()),Ae=dt[pn]&&dt[pn][Mt]),typeof Ae>"u"||!Ae.length||!Ae[0]){var _e="";Xt=[];for(sn in dt[pn])this.terminals_[sn]&&sn>Ot&&Xt.push("'"+this.terminals_[sn]+"'");xt.showPosition?_e="Parse error on line "+(yt+1)+`:
1760 `;function pVt(i,a,f=!1){var R,B,z;const g=i;let w="default";(((R=g==null?void 0:g.classes)==null?void 0:R.length)||0)>0&&(w=((g==null?void 0:g.classes)||[]).join(" ")),w=w+" flowchart-label";let v=0,b="",E;switch(g.type){case"round":v=5,b="rect";break;case"composite":v=0,b="composite",E=0;break;case"square":b="rect";break;case"diamond":b="question";break;case"hexagon":b="hexagon";break;case"block_arrow":b="block_arrow";break;case"odd":b="rect_left_inv_arrow";break;case"lean_right":b="lean_right";break;case"lean_left":b="lean_left";break;case"trapezoid":b="trapezoid";break;case"inv_trapezoid":b="inv_trapezoid";break;case"rect_left_inv_arrow":b="rect_left_inv_arrow";break;case"circle":b="circle";break;case"ellipse":b="ellipse";break;case"stadium":b="stadium";break;case"subroutine":b="subroutine";break;case"cylinder":b="cylinder";break;case"group":b="rect";break;case"doublecircle":b="doublecircle";break;default:b="rect"}const S=C2((g==null?void 0:g.styles)||[]),_=g.label,M=g.size||{width:0,height:0,x:0,y:0};return{labelStyle:S.labelStyle,shape:b,labelText:_,rx:v,ry:v,class:w,style:S.style,id:g.id,directions:g.directions,width:M.width,height:M.height,x:M.x,y:M.y,positioned:f,intersect:void 0,type:g.type,padding:E??(((z=(B=o1())==null?void 0:B.block)==null?void 0:z.padding)||0)}}async function lnn(i,a,f){const g=pVt(a,f,!1);if(g.type==="group")return;const w=await nX(i,g),v=w.node().getBBox(),b=f.getBlock(g.id);b.size={width:v.width,height:v.height,x:0,y:0,node:w},f.setBlock(b),w.remove()}async function hnn(i,a,f){const g=pVt(a,f,!0);f.getBlock(g.id).type!=="space"&&(await nX(i,g),a.intersect=g==null?void 0:g.intersect,Zpt(g))}async function S2t(i,a,f,g){for(const w of a)await g(i,w,f),w.children&&await S2t(i,w.children,f,g)}async function fnn(i,a,f){await S2t(i,a,f,lnn)}async function dnn(i,a,f){await S2t(i,a,f,hnn)}async function gnn(i,a,f,g,w){const v=new l1({multigraph:!0,compound:!0});v.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const b of f)b.size&&v.setNode(b.id,{width:b.size.width,height:b.size.height,intersect:b.intersect});for(const b of a)if(b.start&&b.end){const E=g.getBlock(b.start),S=g.getBlock(b.end);if(E!=null&&E.size&&(S!=null&&S.size)){const _=E.size,M=S.size,F=[{x:_.x,y:_.y},{x:_.x+(M.x-_.x)/2,y:_.y+(M.y-_.y)/2},{x:M.x,y:M.y}];await dzt(i,{v:b.start,w:b.end,name:b.id},{...b,arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:F,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",v,w),b.label&&(await tbt(i,{...b,label:b.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:F,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await hzt({...b,x:F[1].x,y:F[1].y},{originalPath:F}))}}}const Af=((vVt=(mVt=Re())==null?void 0:mVt.block)==null?void 0:vVt.padding)||8;function pnn(i,a){if(i===0||!Number.isInteger(i))throw new Error("Columns must be an integer !== 0.");if(a<0||!Number.isInteger(a))throw new Error("Position must be a non-negative integer."+a);if(i<0)return{px:a,py:0};if(i===1)return{px:0,py:a};const f=a%i,g=Math.floor(a/i);return{px:f,py:g}}const bnn=i=>{let a=0,f=0;for(const g of i.children){const{width:w,height:v,x:b,y:E}=g.size||{width:0,height:0,x:0,y:0};Kt.debug("getMaxChildSize abc95 child:",g.id,"width:",w,"height:",v,"x:",b,"y:",E,g.type),g.type!=="space"&&(w>a&&(a=w/(i.widthInColumns||1)),v>f&&(f=v))}return{width:a,height:f}};function _2t(i,a,f=0,g=0){var b,E,S,_,M,F,R,B,z,Y,nt;Kt.debug("setBlockSizes abc95 (start)",i.id,(b=i==null?void 0:i.size)==null?void 0:b.x,"block width =",i==null?void 0:i.size,"sieblingWidth",f),(E=i==null?void 0:i.size)!=null&&E.width||(i.size={width:f,height:g,x:0,y:0});let w=0,v=0;if(((S=i.children)==null?void 0:S.length)>0){for(const gt of i.children)_2t(gt,a);const ot=bnn(i);w=ot.width,v=ot.height,Kt.debug("setBlockSizes abc95 maxWidth of",i.id,":s children is ",w,v);for(const gt of i.children)gt.size&&(Kt.debug(`abc95 Setting size of children of ${i.id} id=${gt.id} ${w} ${v} ${gt.size}`),gt.size.width=w*(gt.widthInColumns||1)+Af*((gt.widthInColumns||1)-1),gt.size.height=v,gt.size.x=0,gt.size.y=0,Kt.debug(`abc95 updating size of ${i.id} children child:${gt.id} maxWidth:${w} maxHeight:${v}`));for(const gt of i.children)_2t(gt,a,w,v);const ft=i.columns||-1;let wt=0;for(const gt of i.children)wt+=gt.widthInColumns||1;let mt=i.children.length;ft>0&&ft<wt&&(mt=ft),i.widthInColumns;const ct=Math.ceil(wt/mt);let rt=mt*(w+Af)+Af,it=ct*(v+Af)+Af;if(rt<f){Kt.debug(`Detected to small siebling: abc95 ${i.id} sieblingWidth ${f} sieblingHeight ${g} width ${rt}`),rt=f,it=g;const gt=(f-mt*Af-Af)/mt,Q=(g-ct*Af-Af)/ct;Kt.debug("Size indata abc88",i.id,"childWidth",gt,"maxWidth",w),Kt.debug("Size indata abc88",i.id,"childHeight",Q,"maxHeight",v),Kt.debug("Size indata abc88 xSize",mt,"paddiong",Af);for(const dt of i.children)dt.size&&(dt.size.width=gt,dt.size.height=Q,dt.size.x=0,dt.size.y=0)}if(Kt.debug(`abc95 (finale calc) ${i.id} xSize ${mt} ySize ${ct} columns ${ft}${i.children.length} width=${Math.max(rt,((_=i.size)==null?void 0:_.width)||0)}`),rt<(((M=i==null?void 0:i.size)==null?void 0:M.width)||0)){rt=((F=i==null?void 0:i.size)==null?void 0:F.width)||0;const gt=ft>0?Math.min(i.children.length,ft):i.children.length;if(gt>0){const Q=(rt-gt*Af-Af)/gt;Kt.debug("abc95 (growing to fit) width",i.id,rt,(R=i.size)==null?void 0:R.width,Q);for(const dt of i.children)dt.size&&(dt.size.width=Q)}}i.size={width:rt,height:it,x:0,y:0}}Kt.debug("setBlockSizes abc94 (done)",i.id,(B=i==null?void 0:i.size)==null?void 0:B.x,(z=i==null?void 0:i.size)==null?void 0:z.width,(Y=i==null?void 0:i.size)==null?void 0:Y.y,(nt=i==null?void 0:i.size)==null?void 0:nt.height)}function bVt(i,a){var g,w,v,b,E,S,_,M,F,R,B,z,Y,nt,ot,ft,wt;Kt.debug(`abc85 layout blocks (=>layoutBlocks) ${i.id} x: ${(g=i==null?void 0:i.size)==null?void 0:g.x} y: ${(w=i==null?void 0:i.size)==null?void 0:w.y} width: ${(v=i==null?void 0:i.size)==null?void 0:v.width}`);const f=i.columns||-1;if(Kt.debug("layoutBlocks columns abc95",i.id,"=>",f,i),i.children&&i.children.length>0){const mt=((E=(b=i==null?void 0:i.children[0])==null?void 0:b.size)==null?void 0:E.width)||0,ct=i.children.length*mt+(i.children.length-1)*Af;Kt.debug("widthOfChildren 88",ct,"posX");let rt=0;Kt.debug("abc91 block?.size?.x",i.id,(S=i==null?void 0:i.size)==null?void 0:S.x);let it=(_=i==null?void 0:i.size)!=null&&_.x?((M=i==null?void 0:i.size)==null?void 0:M.x)+(-((F=i==null?void 0:i.size)==null?void 0:F.width)/2||0):-Af,gt=0;for(const Q of i.children){const dt=i;if(!Q.size)continue;const{width:K,height:yt}=Q.size,{px:V,py:Ot}=pnn(f,rt);if(Ot!=gt&&(gt=Ot,it=(R=i==null?void 0:i.size)!=null&&R.x?((B=i==null?void 0:i.size)==null?void 0:B.x)+(-((z=i==null?void 0:i.size)==null?void 0:z.width)/2||0):-Af,Kt.debug("New row in layout for block",i.id," and child ",Q.id,gt)),Kt.debug(`abc89 layout blocks (child) id: ${Q.id} Pos: ${rt} (px, py) ${V},${Ot} (${(Y=dt==null?void 0:dt.size)==null?void 0:Y.x},${(nt=dt==null?void 0:dt.size)==null?void 0:nt.y}) parent: ${dt.id} width: ${K}${Af}`),dt.size){const It=K/2;Q.size.x=it+Af+It,Kt.debug(`abc91 layout blocks (calc) px, pyid:${Q.id} startingPos=X${it} new startingPosX${Q.size.x} ${It} padding=${Af} width=${K} halfWidth=${It} => x:${Q.size.x} y:${Q.size.y} ${Q.widthInColumns} (width * (child?.w || 1)) / 2 ${K*((Q==null?void 0:Q.widthInColumns)||1)/2}`),it=Q.size.x+It,Q.size.y=dt.size.y-dt.size.height/2+Ot*(yt+Af)+yt/2+Af,Kt.debug(`abc88 layout blocks (calc) px, pyid:${Q.id}startingPosX${it}${Af}${It}=>x:${Q.size.x}y:${Q.size.y}${Q.widthInColumns}(width * (child?.w || 1)) / 2${K*((Q==null?void 0:Q.widthInColumns)||1)/2}`)}Q.children&&bVt(Q),rt+=(Q==null?void 0:Q.widthInColumns)||1,Kt.debug("abc88 columnsPos",Q,rt)}}Kt.debug(`layout blocks (<==layoutBlocks) ${i.id} x: ${(ot=i==null?void 0:i.size)==null?void 0:ot.x} y: ${(ft=i==null?void 0:i.size)==null?void 0:ft.y} width: ${(wt=i==null?void 0:i.size)==null?void 0:wt.width}`)}function wVt(i,{minX:a,minY:f,maxX:g,maxY:w}={minX:0,minY:0,maxX:0,maxY:0}){if(i.size&&i.id!=="root"){const{x:v,y:b,width:E,height:S}=i.size;v-E/2<a&&(a=v-E/2),b-S/2<f&&(f=b-S/2),v+E/2>g&&(g=v+E/2),b+S/2>w&&(w=b+S/2)}if(i.children)for(const v of i.children)({minX:a,minY:f,maxX:g,maxY:w}=wVt(v,{minX:a,minY:f,maxX:g,maxY:w}));return{minX:a,minY:f,maxX:g,maxY:w}}function wnn(i){const a=i.getBlock("root");if(!a)return;_2t(a,i,0,0),bVt(a),Kt.debug("getBlocks",JSON.stringify(a,null,2));const{minX:f,minY:g,maxX:w,maxY:v}=wVt(a),b=v-g,E=w-f;return{x:f,y:g,width:E,height:b}}const mnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Zen,db:cnn,renderer:{draw:async function(i,a,f,g){const{securityLevel:w,block:v}=o1(),b=g.db;let E;w==="sandbox"&&(E=Tr("#i"+a));const S=Tr(w==="sandbox"?E.nodes()[0].contentDocument.body:"body"),_=w==="sandbox"?S.select(`[id="${a}"]`):Tr(`[id="${a}"]`);jpt(_,["point","circle","cross"],g.type,a);const F=b.getBlocks(),R=b.getBlocksFlat(),B=b.getEdges(),z=_.insert("g").attr("class","block");await fnn(z,F,b);const Y=wnn(b);if(await dnn(z,F,b),await gnn(z,B,R,b,a),Y){const nt=Y,ot=Math.max(1,Math.round(.125*(nt.width/nt.height))),ft=nt.height+ot+10,wt=nt.width+10,{useMaxWidth:mt}=v;sg(_,ft,wt,!!mt),Kt.debug("Here Bounds",Y,nt),_.attr("viewBox",`${nt.x-5} ${nt.y-5} ${nt.width+10} ${nt.height+10}`)}oF(tPt)},getClasses:function(i,a){return a.db.getClasses()}},styles:unn}},Symbol.toStringTag,{value:"Module"}));return _2});