chalk-talk 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,199 @@
1
+ // GENERATED by tools/assets.mjs from the drawing engine v0.243.2. Do not edit.
2
+ import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
3
+ var OT=Object.create;var M1=Object.defineProperty;var BT=Object.getOwnPropertyDescriptor;var FT=Object.getOwnPropertyNames;var WT=Object.getPrototypeOf,HT=Object.prototype.hasOwnProperty;var PT=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Xe=(e,t)=>()=>(e&&(t=e(e=0)),t);var qt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Bt=(e,t)=>{for(var r in t)M1(e,r,{get:t[r],enumerable:!0})},GT=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of FT(t))!HT.call(e,i)&&i!==r&&M1(e,i,{get:()=>t[i],enumerable:!(a=BT(t,i))||a.enumerable});return e};var Ua=(e,t,r)=>(r=e!=null?OT(WT(e)):{},GT(t||!e||!e.__esModule?M1(r,"default",{value:e,enumerable:!0}):r,e));var Yn=qt((PK,wy)=>{wy.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}});var rd=qt(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.AttributeAction=Zi.IgnoreCaseMode=Zi.SelectorType=void 0;var iI;(function(e){e.Attribute="attribute",e.Pseudo="pseudo",e.PseudoElement="pseudo-element",e.Tag="tag",e.Universal="universal",e.Adjacent="adjacent",e.Child="child",e.Descendant="descendant",e.Parent="parent",e.Sibling="sibling",e.ColumnCombinator="column-combinator"})(iI=Zi.SelectorType||(Zi.SelectorType={}));Zi.IgnoreCaseMode={Unknown:null,QuirksMode:"quirks",IgnoreCase:!0,CaseSensitive:!1};var sI;(function(e){e.Any="any",e.Element="element",e.End="end",e.Equals="equals",e.Exists="exists",e.Hyphen="hyphen",e.Not="not",e.Start="start"})(sI=Zi.AttributeAction||(Zi.AttributeAction={}))});var vy=qt(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.parse=zo.isTraversal=void 0;var Yt=rd(),Sy=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,nI=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,oI=new Map([[126,Yt.AttributeAction.Element],[94,Yt.AttributeAction.Start],[36,Yt.AttributeAction.End],[42,Yt.AttributeAction.Any],[33,Yt.AttributeAction.Not],[124,Yt.AttributeAction.Hyphen]]),lI=new Set(["has","not","matches","is","where","host","host-context"]);function Cy(e){switch(e.type){case Yt.SelectorType.Adjacent:case Yt.SelectorType.Child:case Yt.SelectorType.Descendant:case Yt.SelectorType.Parent:case Yt.SelectorType.Sibling:case Yt.SelectorType.ColumnCombinator:return!0;default:return!1}}zo.isTraversal=Cy;var uI=new Set(["contains","icontains"]);function cI(e,t,r){var a=parseInt(t,16)-65536;return a!==a||r?t:a<0?String.fromCharCode(a+65536):String.fromCharCode(a>>10|55296,a&1023|56320)}function vu(e){return e.replace(nI,cI)}function pg(e){return e===39||e===34}function Ey(e){return e===32||e===9||e===10||e===12||e===13}function hI(e){var t=[],r=My(t,"".concat(e),0);if(r<e.length)throw new Error("Unmatched selector: ".concat(e.slice(r)));return t}zo.parse=hI;function My(e,t,r){var a=[];function i(P){var F=t.slice(r+P).match(Sy);if(!F)throw new Error("Expected name, found ".concat(t.slice(r)));var I=F[0];return r+=P+I.length,vu(I)}function s(P){for(r+=P;r<t.length&&Ey(t.charCodeAt(r));)r++}function o(){r+=1;for(var P=r,F=1;F>0&&r<t.length;r++)t.charCodeAt(r)===40&&!n(r)?F++:t.charCodeAt(r)===41&&!n(r)&&F--;if(F)throw new Error("Parenthesis not matched");return vu(t.slice(P,r-1))}function n(P){for(var F=0;t.charCodeAt(--P)===92;)F++;return(F&1)===1}function l(){if(a.length>0&&Cy(a[a.length-1]))throw new Error("Did not expect successive traversals.")}function u(P){if(a.length>0&&a[a.length-1].type===Yt.SelectorType.Descendant){a[a.length-1].type=P;return}l(),a.push({type:P})}function c(P,F){a.push({type:Yt.SelectorType.Attribute,name:P,action:F,value:i(1),namespace:null,ignoreCase:"quirks"})}function f(){if(a.length&&a[a.length-1].type===Yt.SelectorType.Descendant&&a.pop(),a.length===0)throw new Error("Empty sub-selector");e.push(a)}if(s(0),t.length===r)return r;e:for(;r<t.length;){var h=t.charCodeAt(r);switch(h){case 32:case 9:case 10:case 12:case 13:{(a.length===0||a[0].type!==Yt.SelectorType.Descendant)&&(l(),a.push({type:Yt.SelectorType.Descendant})),s(1);break}case 62:{u(Yt.SelectorType.Child),s(1);break}case 60:{u(Yt.SelectorType.Parent),s(1);break}case 126:{u(Yt.SelectorType.Sibling),s(1);break}case 43:{u(Yt.SelectorType.Adjacent),s(1);break}case 46:{c("class",Yt.AttributeAction.Element);break}case 35:{c("id",Yt.AttributeAction.Equals);break}case 91:{s(1);var g=void 0,p=null;t.charCodeAt(r)===124?g=i(1):t.startsWith("*|",r)?(p="*",g=i(2)):(g=i(0),t.charCodeAt(r)===124&&t.charCodeAt(r+1)!==61&&(p=g,g=i(1))),s(0);var m=Yt.AttributeAction.Exists,x=oI.get(t.charCodeAt(r));if(x){if(m=x,t.charCodeAt(r+1)!==61)throw new Error("Expected `=`");s(2)}else t.charCodeAt(r)===61&&(m=Yt.AttributeAction.Equals,s(1));var y="",C=null;if(m!=="exists"){if(pg(t.charCodeAt(r))){for(var S=t.charCodeAt(r),R=r+1;R<t.length&&(t.charCodeAt(R)!==S||n(R));)R+=1;if(t.charCodeAt(R)!==S)throw new Error("Attribute value didn't end");y=vu(t.slice(r+1,R)),r=R+1}else{for(var N=r;r<t.length&&(!Ey(t.charCodeAt(r))&&t.charCodeAt(r)!==93||n(r));)r+=1;y=vu(t.slice(N,r))}s(0);var D=t.charCodeAt(r)|32;D===115?(C=!1,s(1)):D===105&&(C=!0,s(1))}if(t.charCodeAt(r)!==93)throw new Error("Attribute selector didn't terminate");r+=1;var O={type:Yt.SelectorType.Attribute,name:g,action:m,value:y,namespace:p,ignoreCase:C};a.push(O);break}case 58:{if(t.charCodeAt(r+1)===58){a.push({type:Yt.SelectorType.PseudoElement,name:i(2).toLowerCase(),data:t.charCodeAt(r)===40?o():null});continue}var H=i(1).toLowerCase(),U=null;if(t.charCodeAt(r)===40)if(lI.has(H)){if(pg(t.charCodeAt(r+1)))throw new Error("Pseudo-selector ".concat(H," cannot be quoted"));if(U=[],r=My(U,t,r+1),t.charCodeAt(r)!==41)throw new Error("Missing closing parenthesis in :".concat(H," (").concat(t,")"));r+=1}else{if(U=o(),uI.has(H)){var k=U.charCodeAt(0);k===U.charCodeAt(U.length-1)&&pg(k)&&(U=U.slice(1,-1))}U=vu(U)}a.push({type:Yt.SelectorType.Pseudo,name:H,data:U});break}case 44:{f(),a=[],s(1);break}default:{if(t.startsWith("/*",r)){var j=t.indexOf("*/",r+2);if(j<0)throw new Error("Comment was not terminated");r=j+2,a.length===0&&s(0);break}var p=null,X=void 0;if(h===42)r+=1,X="*";else if(h===124){if(X="",t.charCodeAt(r+1)===124){u(Yt.SelectorType.ColumnCombinator),s(2);break}}else if(Sy.test(t.slice(r)))X=i(0);else break e;t.charCodeAt(r)===124&&t.charCodeAt(r+1)!==124&&(p=X,t.charCodeAt(r+1)===42?(X="*",r+=2):X=i(1)),a.push(X==="*"?{type:Yt.SelectorType.Universal,namespace:p}:{type:Yt.SelectorType.Tag,name:X,namespace:p})}}}return f(),r}});var Ry=qt(Vo=>{"use strict";var ad=Vo&&Vo.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var a=0,i=t.length,s;a<i;a++)(s||!(a in t))&&(s||(s=Array.prototype.slice.call(t,0,a)),s[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))};Object.defineProperty(Vo,"__esModule",{value:!0});Vo.stringify=void 0;var mr=rd(),Ty=["\\",'"'],Iy=ad(ad([],Ty,!0),["(",")"],!1),dI=new Set(Ty.map(function(e){return e.charCodeAt(0)})),ky=new Set(Iy.map(function(e){return e.charCodeAt(0)})),Qo=new Set(ad(ad([],Iy,!0),["~","^","$","*","+","!","|",":","[","]"," ","."],!1).map(function(e){return e.charCodeAt(0)}));function Ny(e){return e.map(function(t){return t.map(fI).join("")}).join(", ")}Vo.stringify=Ny;function fI(e,t,r){switch(e.type){case mr.SelectorType.Child:return t===0?"> ":" > ";case mr.SelectorType.Parent:return t===0?"< ":" < ";case mr.SelectorType.Sibling:return t===0?"~ ":" ~ ";case mr.SelectorType.Adjacent:return t===0?"+ ":" + ";case mr.SelectorType.Descendant:return" ";case mr.SelectorType.ColumnCombinator:return t===0?"|| ":" || ";case mr.SelectorType.Universal:return e.namespace==="*"&&t+1<r.length&&"name"in r[t+1]?"":"".concat(Dy(e.namespace),"*");case mr.SelectorType.Tag:return $y(e);case mr.SelectorType.PseudoElement:return"::".concat(Ts(e.name,Qo)).concat(e.data===null?"":"(".concat(Ts(e.data,ky),")"));case mr.SelectorType.Pseudo:return":".concat(Ts(e.name,Qo)).concat(e.data===null?"":"(".concat(typeof e.data=="string"?Ts(e.data,ky):Ny(e.data),")"));case mr.SelectorType.Attribute:{if(e.name==="id"&&e.action===mr.AttributeAction.Equals&&e.ignoreCase==="quirks"&&!e.namespace)return"#".concat(Ts(e.value,Qo));if(e.name==="class"&&e.action===mr.AttributeAction.Element&&e.ignoreCase==="quirks"&&!e.namespace)return".".concat(Ts(e.value,Qo));var a=$y(e);return e.action===mr.AttributeAction.Exists?"[".concat(a,"]"):"[".concat(a).concat(pI(e.action),'="').concat(Ts(e.value,dI),'"').concat(e.ignoreCase===null?"":e.ignoreCase?" i":" s","]")}}}function pI(e){switch(e){case mr.AttributeAction.Equals:return"";case mr.AttributeAction.Element:return"~";case mr.AttributeAction.Start:return"^";case mr.AttributeAction.End:return"$";case mr.AttributeAction.Any:return"*";case mr.AttributeAction.Not:return"!";case mr.AttributeAction.Hyphen:return"|";case mr.AttributeAction.Exists:throw new Error("Shouldn't be here")}}function $y(e){return"".concat(Dy(e.namespace)).concat(Ts(e.name,Qo))}function Dy(e){return e!==null?"".concat(e==="*"?"*":Ts(e,Qo),"|"):""}function Ts(e,t){for(var r=0,a="",i=0;i<e.length;i++)t.has(e.charCodeAt(i))&&(a+="".concat(e.slice(r,i),"\\").concat(e.charAt(i)),r=i+1);return a.length>0?a+e.slice(r):e}});var ku=qt(qa=>{"use strict";var gI=qa&&qa.__createBinding||(Object.create?function(e,t,r,a){a===void 0&&(a=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,i)}:function(e,t,r,a){a===void 0&&(a=r),e[a]=t[r]}),mI=qa&&qa.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&gI(t,e,r)};Object.defineProperty(qa,"__esModule",{value:!0});qa.stringify=qa.parse=qa.isTraversal=void 0;mI(rd(),qa);var _y=vy();Object.defineProperty(qa,"isTraversal",{enumerable:!0,get:function(){return _y.isTraversal}});Object.defineProperty(qa,"parse",{enumerable:!0,get:function(){return _y.parse}});var AI=Ry();Object.defineProperty(qa,"stringify",{enumerable:!0,get:function(){return AI.stringify}})});var qg=qt(ux=>{var lx={};lx.StyleSheet=function(){this.parentStyleSheet=null};ux.StyleSheet=lx.StyleSheet});var $a=qt(cx=>{var wr={};wr.CSSRule=function(){this.parentRule=null,this.parentStyleSheet=null};wr.CSSRule.UNKNOWN_RULE=0;wr.CSSRule.STYLE_RULE=1;wr.CSSRule.CHARSET_RULE=2;wr.CSSRule.IMPORT_RULE=3;wr.CSSRule.MEDIA_RULE=4;wr.CSSRule.FONT_FACE_RULE=5;wr.CSSRule.PAGE_RULE=6;wr.CSSRule.KEYFRAMES_RULE=7;wr.CSSRule.KEYFRAME_RULE=8;wr.CSSRule.MARGIN_RULE=9;wr.CSSRule.NAMESPACE_RULE=10;wr.CSSRule.COUNTER_STYLE_RULE=11;wr.CSSRule.SUPPORTS_RULE=12;wr.CSSRule.DOCUMENT_RULE=13;wr.CSSRule.FONT_FEATURE_VALUES_RULE=14;wr.CSSRule.VIEWPORT_RULE=15;wr.CSSRule.REGION_STYLE_RULE=16;wr.CSSRule.prototype={constructor:wr.CSSRule};cx.CSSRule=wr.CSSRule});var Wu=qt(hx=>{var za={CSSStyleDeclaration:Qn().CSSStyleDeclaration,CSSRule:$a().CSSRule};za.CSSStyleRule=function(){za.CSSRule.call(this),this.selectorText="",this.style=new za.CSSStyleDeclaration,this.style.parentRule=this};za.CSSStyleRule.prototype=new za.CSSRule;za.CSSStyleRule.prototype.constructor=za.CSSStyleRule;za.CSSStyleRule.prototype.type=1;Object.defineProperty(za.CSSStyleRule.prototype,"cssText",{get:function(){var e;return this.selectorText?e=this.selectorText+" {"+this.style.cssText+"}":e="",e},set:function(e){var t=za.CSSStyleRule.parse(e);this.style=t.style,this.selectorText=t.selectorText}});za.CSSStyleRule.parse=function(e){for(var t=0,r="selector",a,i=t,s="",o={selector:!0,value:!0},n=new za.CSSStyleRule,l,u="",c;c=e.charAt(t);t++)switch(c){case" ":case" ":case"\r":case`
4
+ `:case"\f":if(o[r])switch(e.charAt(t-1)){case" ":case" ":case"\r":case`
5
+ `:case"\f":break;default:s+=" ";break}break;case'"':if(i=t+1,a=e.indexOf('"',i)+1,!a)throw'" is missing';s+=e.slice(t,a),t=a-1;break;case"'":if(i=t+1,a=e.indexOf("'",i)+1,!a)throw"' is missing";s+=e.slice(t,a),t=a-1;break;case"/":if(e.charAt(t+1)==="*"){if(t+=2,a=e.indexOf("*/",t),a===-1)throw new SyntaxError("Missing */");t=a+1}else s+=c;break;case"{":r==="selector"&&(n.selectorText=s.trim(),s="",r="name");break;case":":r==="name"?(l=s.trim(),s="",r="value"):s+=c;break;case"!":r==="value"&&e.indexOf("!important",t)===t?(u="important",t+=9):s+=c;break;case";":r==="value"?(n.style.setProperty(l,s.trim(),u),u="",s="",r="name"):s+=c;break;case"}":if(r==="value")n.style.setProperty(l,s.trim(),u),u="",s="";else{if(r==="name")break;s+=c}r="selector";break;default:s+=c;break}return n};hx.CSSStyleRule=za.CSSStyleRule});var Hu=qt(dx=>{var ui={StyleSheet:qg().StyleSheet,CSSStyleRule:Wu().CSSStyleRule};ui.CSSStyleSheet=function(){ui.StyleSheet.call(this),this.cssRules=[]};ui.CSSStyleSheet.prototype=new ui.StyleSheet;ui.CSSStyleSheet.prototype.constructor=ui.CSSStyleSheet;ui.CSSStyleSheet.prototype.insertRule=function(e,t){if(t<0||t>this.cssRules.length)throw new RangeError("INDEX_SIZE_ERR");var r=ui.parse(e).cssRules[0];return r.parentStyleSheet=this,this.cssRules.splice(t,0,r),t};ui.CSSStyleSheet.prototype.deleteRule=function(e){if(e<0||e>=this.cssRules.length)throw new RangeError("INDEX_SIZE_ERR");this.cssRules.splice(e,1)};ui.CSSStyleSheet.prototype.toString=function(){for(var e="",t=this.cssRules,r=0;r<t.length;r++)e+=t[r].cssText+`
6
+ `;return e};dx.CSSStyleSheet=ui.CSSStyleSheet;ui.parse=Sd().parse});var Cd=qt(fx=>{var Ed={};Ed.MediaList=function(){this.length=0};Ed.MediaList.prototype={constructor:Ed.MediaList,get mediaText(){return Array.prototype.join.call(this,", ")},set mediaText(e){for(var t=e.split(","),r=this.length=t.length,a=0;a<r;a++)this[a]=t[a].trim()},appendMedium:function(e){Array.prototype.indexOf.call(this,e)===-1&&(this[this.length]=e,this.length++)},deleteMedium:function(e){var t=Array.prototype.indexOf.call(this,e);t!==-1&&Array.prototype.splice.call(this,t,1)}};fx.MediaList=Ed.MediaList});var zg=qt(px=>{var Ii={CSSRule:$a().CSSRule,CSSStyleSheet:Hu().CSSStyleSheet,MediaList:Cd().MediaList};Ii.CSSImportRule=function(){Ii.CSSRule.call(this),this.href="",this.media=new Ii.MediaList,this.styleSheet=new Ii.CSSStyleSheet};Ii.CSSImportRule.prototype=new Ii.CSSRule;Ii.CSSImportRule.prototype.constructor=Ii.CSSImportRule;Ii.CSSImportRule.prototype.type=3;Object.defineProperty(Ii.CSSImportRule.prototype,"cssText",{get:function(){var e=this.media.mediaText;return"@import url("+this.href+")"+(e?" "+e:"")+";"},set:function(e){for(var t=0,r="",a="",i,s;s=e.charAt(t);t++)switch(s){case" ":case" ":case"\r":case`
7
+ `:case"\f":r==="after-import"?r="url":a+=s;break;case"@":!r&&e.indexOf("@import",t)===t&&(r="after-import",t+=6,a="");break;case"u":if(r==="url"&&e.indexOf("url(",t)===t){if(i=e.indexOf(")",t+1),i===-1)throw t+': ")" not found';t+=4;var o=e.slice(t,i);o[0]===o[o.length-1]&&(o[0]==='"'||o[0]==="'")&&(o=o.slice(1,-1)),this.href=o,t=i,r="media"}break;case'"':if(r==="url"){if(i=e.indexOf('"',t+1),!i)throw t+`: '"' not found`;this.href=e.slice(t+1,i),t=i,r="media"}break;case"'":if(r==="url"){if(i=e.indexOf("'",t+1),!i)throw t+`: "'" not found`;this.href=e.slice(t+1,i),t=i,r="media"}break;case";":r==="media"&&a&&(this.media.mediaText=a.trim());break;default:r==="media"&&(a+=s);break}}});px.CSSImportRule=Ii.CSSImportRule});var Vn=qt(gx=>{var es={CSSRule:$a().CSSRule};es.CSSGroupingRule=function(){es.CSSRule.call(this),this.cssRules=[]};es.CSSGroupingRule.prototype=new es.CSSRule;es.CSSGroupingRule.prototype.constructor=es.CSSGroupingRule;es.CSSGroupingRule.prototype.insertRule=function(t,r){if(r<0||r>this.cssRules.length)throw new RangeError("INDEX_SIZE_ERR");var a=es.parse(t).cssRules[0];return a.parentRule=this,this.cssRules.splice(r,0,a),r};es.CSSGroupingRule.prototype.deleteRule=function(t){if(t<0||t>=this.cssRules.length)throw new RangeError("INDEX_SIZE_ERR");this.cssRules.splice(t,1)[0].parentRule=null};gx.CSSGroupingRule=es.CSSGroupingRule});var tl=qt(mx=>{var Ds={CSSRule:$a().CSSRule,CSSGroupingRule:Vn().CSSGroupingRule};Ds.CSSConditionRule=function(){Ds.CSSGroupingRule.call(this),this.cssRules=[]};Ds.CSSConditionRule.prototype=new Ds.CSSGroupingRule;Ds.CSSConditionRule.prototype.constructor=Ds.CSSConditionRule;Ds.CSSConditionRule.prototype.conditionText="";Ds.CSSConditionRule.prototype.cssText="";mx.CSSConditionRule=Ds.CSSConditionRule});var Md=qt(Ax=>{var ts={CSSRule:$a().CSSRule,CSSGroupingRule:Vn().CSSGroupingRule,CSSConditionRule:tl().CSSConditionRule,MediaList:Cd().MediaList};ts.CSSMediaRule=function(){ts.CSSConditionRule.call(this),this.media=new ts.MediaList};ts.CSSMediaRule.prototype=new ts.CSSConditionRule;ts.CSSMediaRule.prototype.constructor=ts.CSSMediaRule;ts.CSSMediaRule.prototype.type=4;Object.defineProperties(ts.CSSMediaRule.prototype,{conditionText:{get:function(){return this.media.mediaText},set:function(e){this.media.mediaText=e},configurable:!0,enumerable:!0},cssText:{get:function(){for(var e=[],t=0,r=this.cssRules.length;t<r;t++)e.push(this.cssRules[t].cssText);return"@media "+this.media.mediaText+" {"+e.join("")+"}"},configurable:!0,enumerable:!0}});Ax.CSSMediaRule=ts.CSSMediaRule});var vd=qt(bx=>{var Rs={CSSRule:$a().CSSRule,CSSGroupingRule:Vn().CSSGroupingRule,CSSConditionRule:tl().CSSConditionRule};Rs.CSSSupportsRule=function(){Rs.CSSConditionRule.call(this)};Rs.CSSSupportsRule.prototype=new Rs.CSSConditionRule;Rs.CSSSupportsRule.prototype.constructor=Rs.CSSSupportsRule;Rs.CSSSupportsRule.prototype.type=12;Object.defineProperty(Rs.CSSSupportsRule.prototype,"cssText",{get:function(){for(var e=[],t=0,r=this.cssRules.length;t<r;t++)e.push(this.cssRules[t].cssText);return"@supports "+this.conditionText+" {"+e.join("")+"}"}});bx.CSSSupportsRule=Rs.CSSSupportsRule});var Qg=qt(yx=>{var rs={CSSStyleDeclaration:Qn().CSSStyleDeclaration,CSSRule:$a().CSSRule};rs.CSSFontFaceRule=function(){rs.CSSRule.call(this),this.style=new rs.CSSStyleDeclaration,this.style.parentRule=this};rs.CSSFontFaceRule.prototype=new rs.CSSRule;rs.CSSFontFaceRule.prototype.constructor=rs.CSSFontFaceRule;rs.CSSFontFaceRule.prototype.type=5;Object.defineProperty(rs.CSSFontFaceRule.prototype,"cssText",{get:function(){return"@font-face {"+this.style.cssText+"}"}});yx.CSSFontFaceRule=rs.CSSFontFaceRule});var Vg=qt(xx=>{var _s={CSSRule:$a().CSSRule};_s.CSSHostRule=function(){_s.CSSRule.call(this),this.cssRules=[]};_s.CSSHostRule.prototype=new _s.CSSRule;_s.CSSHostRule.prototype.constructor=_s.CSSHostRule;_s.CSSHostRule.prototype.type=1001;Object.defineProperty(_s.CSSHostRule.prototype,"cssText",{get:function(){for(var e=[],t=0,r=this.cssRules.length;t<r;t++)e.push(this.cssRules[t].cssText);return"@host {"+e.join("")+"}"}});xx.CSSHostRule=_s.CSSHostRule});var kd=qt(wx=>{var as={CSSRule:$a().CSSRule,CSSStyleDeclaration:Qn().CSSStyleDeclaration};as.CSSKeyframeRule=function(){as.CSSRule.call(this),this.keyText="",this.style=new as.CSSStyleDeclaration,this.style.parentRule=this};as.CSSKeyframeRule.prototype=new as.CSSRule;as.CSSKeyframeRule.prototype.constructor=as.CSSKeyframeRule;as.CSSKeyframeRule.prototype.type=8;Object.defineProperty(as.CSSKeyframeRule.prototype,"cssText",{get:function(){return this.keyText+" {"+this.style.cssText+"} "}});wx.CSSKeyframeRule=as.CSSKeyframeRule});var $d=qt(Sx=>{var Ls={CSSRule:$a().CSSRule};Ls.CSSKeyframesRule=function(){Ls.CSSRule.call(this),this.name="",this.cssRules=[]};Ls.CSSKeyframesRule.prototype=new Ls.CSSRule;Ls.CSSKeyframesRule.prototype.constructor=Ls.CSSKeyframesRule;Ls.CSSKeyframesRule.prototype.type=7;Object.defineProperty(Ls.CSSKeyframesRule.prototype,"cssText",{get:function(){for(var e=[],t=0,r=this.cssRules.length;t<r;t++)e.push(" "+this.cssRules[t].cssText);return"@"+(this._vendorPrefix||"")+"keyframes "+this.name+` {
8
+ `+e.join(`
9
+ `)+`
10
+ }`}});Sx.CSSKeyframesRule=Ls.CSSKeyframesRule});var jg=qt(Ex=>{var Td={};Td.CSSValue=function(){};Td.CSSValue.prototype={constructor:Td.CSSValue,set cssText(e){var t=this._getConstructorName();throw new Error('DOMException: property "cssText" of "'+t+'" is readonly and can not be replaced with "'+e+'"!')},get cssText(){var e=this._getConstructorName();throw new Error('getter "cssText" of "'+e+'" is not implemented!')},_getConstructorName:function(){var e=this.constructor.toString(),t=e.match(/function\s([^\(]+)/),r=t[1];return r}};Ex.CSSValue=Td.CSSValue});var Xg=qt(Cx=>{var Ni={CSSValue:jg().CSSValue};Ni.CSSValueExpression=function(t,r){this._token=t,this._idx=r};Ni.CSSValueExpression.prototype=new Ni.CSSValue;Ni.CSSValueExpression.prototype.constructor=Ni.CSSValueExpression;Ni.CSSValueExpression.prototype.parse=function(){for(var e=this._token,t=this._idx,r="",a="",i="",s,o=[];;++t){if(r=e.charAt(t),r===""){i="css expression error: unfinished expression!";break}switch(r){case"(":o.push(r),a+=r;break;case")":o.pop(r),a+=r;break;case"/":(s=this._parseJSComment(e,t))?s.error?i="css expression error: unfinished comment in expression!":t=s.idx:(s=this._parseJSRexExp(e,t))?(t=s.idx,a+=s.text):a+=r;break;case"'":case'"':s=this._parseJSString(e,t,r),s?(t=s.idx,a+=s.text):a+=r;break;default:a+=r;break}if(i||o.length===0)break}var n;return i?n={error:i}:n={idx:t,expression:a},n};Ni.CSSValueExpression.prototype._parseJSComment=function(e,t){var r=e.charAt(t+1),a;if(r==="/"||r==="*"){var i=t,s,o;if(r==="/"?o=`
11
+ `:r==="*"&&(o="*/"),s=e.indexOf(o,i+1+1),s!==-1)return s=s+o.length-1,a=e.substring(t,s+1),{idx:s,text:a};var n="css expression error: unfinished comment in expression!";return{error:n}}else return!1};Ni.CSSValueExpression.prototype._parseJSString=function(e,t,r){var a=this._findMatchedIdx(e,t,r),i;return a===-1?!1:(i=e.substring(t,a+r.length),{idx:a,text:i})};Ni.CSSValueExpression.prototype._parseJSRexExp=function(e,t){var r=e.substring(0,t).replace(/\s+$/,""),a=[/^$/,/\($/,/\[$/,/\!$/,/\+$/,/\-$/,/\*$/,/\/\s+/,/\%$/,/\=$/,/\>$/,/<$/,/\&$/,/\|$/,/\^$/,/\~$/,/\?$/,/\,$/,/delete$/,/in$/,/instanceof$/,/new$/,/typeof$/,/void$/],i=a.some(function(o){return o.test(r)});if(i){var s="/";return this._parseJSString(e,t,s)}else return!1};Ni.CSSValueExpression.prototype._findMatchedIdx=function(e,t,r){for(var a=t,i,s=-1;;)if(i=e.indexOf(r,a+1),i===-1){i=s;break}else{var o=e.substring(t+1,i),n=o.match(/\\+$/);if(!n||n[0]%2===0)break;a=i}var l=e.indexOf(`
12
+ `,t+1);return l<i&&(i=s),i};Cx.CSSValueExpression=Ni.CSSValueExpression});var Zg=qt(Mx=>{var Id={};Id.MatcherList=function(){this.length=0};Id.MatcherList.prototype={constructor:Id.MatcherList,get matcherText(){return Array.prototype.join.call(this,", ")},set matcherText(e){for(var t=e.split(","),r=this.length=t.length,a=0;a<r;a++)this[a]=t[a].trim()},appendMatcher:function(e){Array.prototype.indexOf.call(this,e)===-1&&(this[this.length]=e,this.length++)},deleteMatcher:function(e){var t=Array.prototype.indexOf.call(this,e);t!==-1&&Array.prototype.splice.call(this,t,1)}};Mx.MatcherList=Id.MatcherList});var Jg=qt(vx=>{var is={CSSRule:$a().CSSRule,MatcherList:Zg().MatcherList};is.CSSDocumentRule=function(){is.CSSRule.call(this),this.matcher=new is.MatcherList,this.cssRules=[]};is.CSSDocumentRule.prototype=new is.CSSRule;is.CSSDocumentRule.prototype.constructor=is.CSSDocumentRule;is.CSSDocumentRule.prototype.type=10;Object.defineProperty(is.CSSDocumentRule.prototype,"cssText",{get:function(){for(var e=[],t=0,r=this.cssRules.length;t<r;t++)e.push(this.cssRules[t].cssText);return"@-moz-document "+this.matcher.matcherText+" {"+e.join("")+"}"}});vx.CSSDocumentRule=is.CSSDocumentRule});var Sd=qt(kx=>{var Zt={};Zt.parse=function(t){for(var r=0,a="before-selector",i,s="",o=0,n={selector:!0,value:!0,"value-parenthesis":!0,atRule:!0,"importRule-begin":!0,importRule:!0,atBlock:!0,conditionBlock:!0,"documentRule-begin":!0},l=new Zt.CSSStyleSheet,u=l,c,f=[],h=!1,g,p,m="",x,y,C,S,R,N,D,O,H=/@(-(?:\w+-)+)?keyframes/g,U=function(P){var F=t.substring(0,r).split(`
13
+ `),I=F.length,$=F.pop().length+1,w=new Error(P+" (line "+I+", char "+$+")");throw w.line=I,w.char=$,w.styleSheet=l,w},k;k=t.charAt(r);r++)switch(k){case" ":case" ":case"\r":case`
14
+ `:case"\f":n[a]&&(s+=k);break;case'"':i=r+1;do i=t.indexOf('"',i)+1,i||U('Unmatched "');while(t[i-2]==="\\");switch(s+=t.slice(r,i),r=i-1,a){case"before-value":a="value";break;case"importRule-begin":a="importRule";break}break;case"'":i=r+1;do i=t.indexOf("'",i)+1,i||U("Unmatched '");while(t[i-2]==="\\");switch(s+=t.slice(r,i),r=i-1,a){case"before-value":a="value";break;case"importRule-begin":a="importRule";break}break;case"/":t.charAt(r+1)==="*"?(r+=2,i=t.indexOf("*/",r),i===-1?U("Missing */"):r=i+1):s+=k,a==="importRule-begin"&&(s+=" ",a="importRule");break;case"@":if(t.indexOf("@-moz-document",r)===r){a="documentRule-begin",D=new Zt.CSSDocumentRule,D.__starts=r,r+=13,s="";break}else if(t.indexOf("@media",r)===r){a="atBlock",y=new Zt.CSSMediaRule,y.__starts=r,r+=5,s="";break}else if(t.indexOf("@supports",r)===r){a="conditionBlock",C=new Zt.CSSSupportsRule,C.__starts=r,r+=8,s="";break}else if(t.indexOf("@host",r)===r){a="hostRule-begin",r+=4,O=new Zt.CSSHostRule,O.__starts=r,s="";break}else if(t.indexOf("@import",r)===r){a="importRule-begin",r+=6,s+="@import";break}else if(t.indexOf("@font-face",r)===r){a="fontFaceRule-begin",r+=9,R=new Zt.CSSFontFaceRule,R.__starts=r,s="";break}else{H.lastIndex=r;var j=H.exec(t);if(j&&j.index===r){a="keyframesRule-begin",N=new Zt.CSSKeyframesRule,N.__starts=r,N._vendorPrefix=j[1],r+=j[0].length-1,s="";break}else a==="selector"&&(a="atRule")}s+=k;break;case"{":a==="selector"||a==="atRule"?(x.selectorText=s.trim(),x.style.__starts=r,s="",a="before-name"):a==="atBlock"?(y.media.mediaText=s.trim(),c&&f.push(c),u=c=y,y.parentStyleSheet=l,s="",a="before-selector"):a==="conditionBlock"?(C.conditionText=s.trim(),c&&f.push(c),u=c=C,C.parentStyleSheet=l,s="",a="before-selector"):a==="hostRule-begin"?(c&&f.push(c),u=c=O,O.parentStyleSheet=l,s="",a="before-selector"):a==="fontFaceRule-begin"?(c&&(R.parentRule=c),R.parentStyleSheet=l,x=R,s="",a="before-name"):a==="keyframesRule-begin"?(N.name=s.trim(),c&&(f.push(c),N.parentRule=c),N.parentStyleSheet=l,u=c=N,s="",a="keyframeRule-begin"):a==="keyframeRule-begin"?(x=new Zt.CSSKeyframeRule,x.keyText=s.trim(),x.__starts=r,s="",a="before-name"):a==="documentRule-begin"&&(D.matcher.matcherText=s.trim(),c&&(f.push(c),D.parentRule=c),u=c=D,D.parentStyleSheet=l,s="",a="before-selector");break;case":":a==="name"?(p=s.trim(),s="",a="before-value"):s+=k;break;case"(":if(a==="value")if(s.trim()==="expression"){var X=new Zt.CSSValueExpression(t,r).parse();X.error?U(X.error):(s+=X.expression,r=X.idx)}else a="value-parenthesis",o=1,s+=k;else a==="value-parenthesis"&&o++,s+=k;break;case")":a==="value-parenthesis"&&(o--,o===0&&(a="value")),s+=k;break;case"!":a==="value"&&t.indexOf("!important",r)===r?(m="important",r+=9):s+=k;break;case";":switch(a){case"value":x.style.setProperty(p,s.trim(),m),m="",s="",a="before-name";break;case"atRule":s="",a="before-selector";break;case"importRule":S=new Zt.CSSImportRule,S.parentStyleSheet=S.styleSheet.parentStyleSheet=l,S.cssText=s+k,l.cssRules.push(S),s="",a="before-selector";break;default:s+=k;break}break;case"}":switch(a){case"value":x.style.setProperty(p,s.trim(),m),m="";case"before-name":case"name":x.__ends=r+1,c&&(x.parentRule=c),x.parentStyleSheet=l,u.cssRules.push(x),s="",u.constructor===Zt.CSSKeyframesRule?a="keyframeRule-begin":a="before-selector";break;case"keyframeRule-begin":case"before-selector":case"selector":for(c||U("Unexpected }"),h=f.length>0;f.length>0;){if(c=f.pop(),c.constructor.name==="CSSMediaRule"||c.constructor.name==="CSSSupportsRule"){g=u,u=c,u.cssRules.push(g);break}f.length===0&&(h=!1)}h||(u.__ends=r+1,l.cssRules.push(u),u=l,c=null),s="",a="before-selector";break}break;default:switch(a){case"before-selector":a="selector",x=new Zt.CSSStyleRule,x.__starts=r;break;case"before-name":a="name";break;case"before-value":a="value";break;case"importRule-begin":a="importRule";break}s+=k;break}return l};kx.parse=Zt.parse;Zt.CSSStyleSheet=Hu().CSSStyleSheet;Zt.CSSStyleRule=Wu().CSSStyleRule;Zt.CSSImportRule=zg().CSSImportRule;Zt.CSSGroupingRule=Vn().CSSGroupingRule;Zt.CSSMediaRule=Md().CSSMediaRule;Zt.CSSConditionRule=tl().CSSConditionRule;Zt.CSSSupportsRule=vd().CSSSupportsRule;Zt.CSSFontFaceRule=Qg().CSSFontFaceRule;Zt.CSSHostRule=Vg().CSSHostRule;Zt.CSSStyleDeclaration=Qn().CSSStyleDeclaration;Zt.CSSKeyframeRule=kd().CSSKeyframeRule;Zt.CSSKeyframesRule=$d().CSSKeyframesRule;Zt.CSSValueExpression=Xg().CSSValueExpression;Zt.CSSDocumentRule=Jg().CSSDocumentRule});var Qn=qt($x=>{var rl={};rl.CSSStyleDeclaration=function(){this.length=0,this.parentRule=null,this._importants={}};rl.CSSStyleDeclaration.prototype={constructor:rl.CSSStyleDeclaration,getPropertyValue:function(e){return this[e]||""},setProperty:function(e,t,r){if(this[e]){var a=Array.prototype.indexOf.call(this,e);a<0&&(this[this.length]=e,this.length++)}else this[this.length]=e,this.length++;this[e]=t+"",this._importants[e]=r},removeProperty:function(e){if(!(e in this))return"";var t=Array.prototype.indexOf.call(this,e);if(t<0)return"";var r=this[e];return this[e]="",Array.prototype.splice.call(this,t,1),r},getPropertyCSSValue:function(){},getPropertyPriority:function(e){return this._importants[e]||""},getPropertyShorthand:function(){},isPropertyImplicit:function(){},get cssText(){for(var e=[],t=0,r=this.length;t<r;++t){var a=this[t],i=this.getPropertyValue(a),s=this.getPropertyPriority(a);s&&(s=" !"+s),e[t]=a+": "+i+s+";"}return e.join(" ")},set cssText(e){var t,r;for(t=this.length;t--;)r=this[t],this[r]="";Array.prototype.splice.call(this,0,this.length),this._importants={};var a=rl.parse("#bogus{"+e+"}").cssRules[0].style,i=a.length;for(t=0;t<i;++t)r=a[t],this.setProperty(a[t],a.getPropertyValue(r),a.getPropertyPriority(r))}};$x.CSSStyleDeclaration=rl.CSSStyleDeclaration;rl.parse=Sd().parse});var Ix=qt(Tx=>{var Nd={CSSStyleSheet:Hu().CSSStyleSheet,CSSRule:$a().CSSRule,CSSStyleRule:Wu().CSSStyleRule,CSSGroupingRule:Vn().CSSGroupingRule,CSSConditionRule:tl().CSSConditionRule,CSSMediaRule:Md().CSSMediaRule,CSSSupportsRule:vd().CSSSupportsRule,CSSStyleDeclaration:Qn().CSSStyleDeclaration,CSSKeyframeRule:kd().CSSKeyframeRule,CSSKeyframesRule:$d().CSSKeyframesRule};Nd.clone=function e(t){var r=new Nd.CSSStyleSheet,a=t.cssRules;if(!a)return r;for(var i=0,s=a.length;i<s;i++){var o=a[i],n=r.cssRules[i]=new o.constructor,l=o.style;if(l){for(var u=n.style=new Nd.CSSStyleDeclaration,c=0,f=l.length;c<f;c++){var h=u[c]=l[c];u[h]=l[h],u._importants[h]=l.getPropertyPriority(h)}u.length=l.length}o.hasOwnProperty("keyText")&&(n.keyText=o.keyText),o.hasOwnProperty("selectorText")&&(n.selectorText=o.selectorText),o.hasOwnProperty("mediaText")&&(n.mediaText=o.mediaText),o.hasOwnProperty("conditionText")&&(n.conditionText=o.conditionText),o.hasOwnProperty("cssRules")&&(n.cssRules=e(o).cssRules)}return r};Tx.clone=Nd.clone});var Nx=qt(Ar=>{"use strict";Ar.CSSStyleDeclaration=Qn().CSSStyleDeclaration;Ar.CSSRule=$a().CSSRule;Ar.CSSGroupingRule=Vn().CSSGroupingRule;Ar.CSSConditionRule=tl().CSSConditionRule;Ar.CSSStyleRule=Wu().CSSStyleRule;Ar.MediaList=Cd().MediaList;Ar.CSSMediaRule=Md().CSSMediaRule;Ar.CSSSupportsRule=vd().CSSSupportsRule;Ar.CSSImportRule=zg().CSSImportRule;Ar.CSSFontFaceRule=Qg().CSSFontFaceRule;Ar.CSSHostRule=Vg().CSSHostRule;Ar.StyleSheet=qg().StyleSheet;Ar.CSSStyleSheet=Hu().CSSStyleSheet;Ar.CSSKeyframesRule=$d().CSSKeyframesRule;Ar.CSSKeyframeRule=kd().CSSKeyframeRule;Ar.MatcherList=Zg().MatcherList;Ar.CSSDocumentRule=Jg().CSSDocumentRule;Ar.CSSValue=jg().CSSValue;Ar.CSSValueExpression=Xg().CSSValueExpression;Ar.parse=Sd().parse;Ar.clone=Ix().clone});var Bx=qt((JV,Ox)=>{var em=class{constructor(t,r){this.width=t,this.height=r}getContext(){return null}toDataURL(){return""}};Ox.exports={createCanvas:(e,t)=>new em(e,t)}});var Fx=qt((ej,tm)=>{try{tm.exports=PT("canvas")}catch{tm.exports=Bx()}});var sw=qt($0=>{"use strict";Object.defineProperty($0,"__esModule",{value:!0});$0.removeMarkdown=void 0;var t5=function(e,t){t===void 0&&(t={listUnicodeChar:""}),t=t||{},t.listUnicodeChar=t.hasOwnProperty("listUnicodeChar")?t.listUnicodeChar:!1,t.stripListLeaders=t.hasOwnProperty("stripListLeaders")?t.stripListLeaders:!0,t.gfm=t.hasOwnProperty("gfm")?t.gfm:!0,t.useImgAltText=t.hasOwnProperty("useImgAltText")?t.useImgAltText:!0,t.preserveLinks=t.hasOwnProperty("preserveLinks")?t.preserveLinks:!1;var r=e||"";r=r.replace(/^(-\s*?|\*\s*?|_\s*?){3,}\s*$/gm,"");try{t.stripListLeaders&&(t.listUnicodeChar?r=r.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm,t.listUnicodeChar+" $1"):r=r.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm,"$1")),t.gfm&&(r=r.replace(/\n={2,}/g,`
15
+ `).replace(/~{3}.*\n/g,"").replace(/~~/g,"").replace(/`{3}.*\n/g,"")),t.preserveLinks&&(r=r.replace(/\[(.*?)\][\[\(](.*?)[\]\)]/g,"$1 ($2)")),r=r.replace(/<[^>]*>/g,"").replace(/^[=\-]{2,}\s*$/g,"").replace(/\[\^.+?\](\: .*?$)?/g,"").replace(/\s{0,2}\[.*?\]: .*?$/g,"").replace(/\!\[(.*?)\][\[\(].*?[\]\)]/g,t.useImgAltText?"$1":"").replace(/\[(.*?)\][\[\(].*?[\]\)]/g,"$1").replace(/^\s{0,3}>\s?/g,"").replace(/(^|\n)\s{0,3}>\s?/g,`
16
+
17
+ `).replace(/^\s{1,2}\[(.*?)\]: (\S+)( ".*?")?\s*$/g,"").replace(/^(\n)?\s{0,}#{1,6}\s+| {0,}(\n)?\s{0,}#{0,} {0,}(\n)?\s{0,}$/gm,"$1$2$3").replace(/([\*_]{1,3})(\S.*?\S{0,1})\1/g,"$2").replace(/([\*_]{1,3})(\S.*?\S{0,1})\1/g,"$2").replace(/(`{3,})(.*?)\1/gm,"$2").replace(/`(.+?)`/g,"$1").replace(/\n{2,}/g,`
18
+
19
+ `)}catch(a){return console.error(a),e}return r};$0.removeMarkdown=t5});function N0(e,t,r){t==="__proto__"?Object.defineProperty(e,t,{value:r,enumerable:!0,writable:!0,configurable:!0}):e[t]=r}function uc(e){return e===" "||e===" "||e===`
20
+ `||e==="\r"}function nm(e){let t=e[0],r,a;if(t==='"'||t==="'"){let s=1;for(;;){if(s>=e.length)return null;let o=e[s];if(t==='"'&&o==="\\")s+=2;else if(o===t){if(t==='"'||e[s+1]!=="'")break;s+=2}else s++}for(r=s+1,a=r;uc(e[a]);)a++;if(e[a]!==":")return null}else{if(t===void 0||q5.test(t)||t==="-"&&(e.length<2||uc(e[1])||e[1]===":"||e[1]==="#"))return null;for(a=1;a<e.length&&e[a]!==":"&&e[a]!=="#";)a++;if(e[a]!==":")return null;for(r=a;uc(e[r-1]);)r--}let i=a+1;if(i<e.length&&!uc(e[i]))return null;for(;uc(e[i]);)i++;return{key:e.slice(0,r),length:i}}function lm(e){let t=e.trim();if(t===""||t==="~"||t==="null"||t==="Null"||t==="NULL")return null;if(t==="true"||t==="True"||t==="TRUE")return!0;if(t==="false"||t==="False"||t==="FALSE")return!1;let r=t[0];if(r!=="-"&&r!=="+"&&r!=="."&&(r<"0"||r>"9"))return t;if(P5.test(t)||K5.test(t))return Number(t);if(G5.test(t)||U5.test(t)||Y5.test(t)){let a=t[0]==="-",i=Number(a||t[0]==="+"?t.slice(1):t);return a?-i:i}return/^[-+]?\.(?:inf|Inf|INF)$/.test(t)?t[0]==="-"?-1/0:1/0:/^\.(?:nan|NaN|NAN)$/.test(t)?NaN:t}function cc(e){if(!e.includes(`
21
+ `))return e;let t=e.split(`
22
+ `),r=t.length-1;for(let a=0;a<=r;a++){let i=t[a],s=0,o=i.length;if(a>0)for(;s<o&&(i.charCodeAt(s)===32||i.charCodeAt(s)===9);)s++;if(a<r)for(;o>s&&(i.charCodeAt(o-1)===32||i.charCodeAt(o-1)===9);)o--;t[a]=i.slice(s,o)}return t.join(`
23
+ `).replace(/\n+/g,a=>a.length===1?" ":`
24
+ `.repeat(a.length-1))}function z5(e){if(!e.includes("\\"))return cc(e);let t="",r=cc(e.replace(/\\\n[ \t]*/g,""));for(let a=0;a<r.length;a++){let i=r[a];if(i!=="\\"){t+=i;continue}let s=r[++a];if(s==="x"||s==="u"||s==="U"){let o=s==="x"?2:s==="u"?4:8;t+=String.fromCodePoint(parseInt(r.slice(a+1,a+1+o),16)),a+=o}else if(s in Hw)t+=Hw[s];else throw new Error("YAML: unknown escape sequence")}return t}function Jn(e,t,r){for(;t<e.length;){let a=e[t];if(a===" "||a===`
25
+ `||a===" "||a==="\r"||r&&a===",")t++;else if(a==="#"&&(t===0||/\s/.test(e[t-1]))){let i=e.indexOf(`
26
+ `,t);t=i===-1?e.length:i}else break}return t}function Pw(e,t){if(!t)throw new Error("YAML: missed comma between flow collection entries");if(e===",")throw new Error("YAML: expected the node content, but found ','")}function ul(e,t,r,a=0){if(a>Gw)throw new Error("YAML: nesting is too deep");t=Jn(e,t,!1);let i=e[t];if(i==="{"){let o={};t++;let n=!0;for(;;){if(t=Jn(e,t,!1),t>=e.length)throw new ll("YAML: unexpected end of the stream within a flow collection");if(e[t]==="}")return[o,t+1];Pw(e[t],n);let l;[l,t]=ul(e,t,":,}",a+1),t=Jn(e,t,!1);let u=null;e[t]===":"&&([u,t]=ul(e,t+1,",}",a+1)),N0(o,String(l),u),t=Jn(e,t,!1),n=e[t]===",",n&&t++}}if(i==="["){let o=[];t++;let n=!0;for(;;){if(t=Jn(e,t,!1),t>=e.length)throw new ll("YAML: unexpected end of the stream within a flow collection");if(e[t]==="]")return[o,t+1];Pw(e[t],n);let l;[l,t]=ul(e,t,",]",a+1),o.push(l),t=Jn(e,t,!1),n=e[t]===",",n&&t++}}if(i==='"'){let o=t+1;for(;o<e.length&&e[o]!=='"';)o+=e[o]==="\\"?2:1;if(o>=e.length)throw new ll("YAML: unexpected end of the stream within a double quoted scalar");return[z5(e.slice(t+1,o)),o+1]}if(i==="'"){let o=t+1;for(;o<e.length;){if(e[o]==="'"){if(e[o+1]!=="'")break;o++}o++}if(o>=e.length)throw new ll("YAML: unexpected end of the stream within a single quoted scalar");return[cc(e.slice(t+1,o)).replace(/''/g,"'"),o+1]}let s=t;for(;s<e.length;){let o=e[s];if(r.includes(o)&&(o!==":"||s+1>=e.length||/[\s,[\]{}]/.test(e[s+1])))break;if(o==="#"&&s>t&&/\s/.test(e[s-1])){let n=e.indexOf(`
27
+ `,s);return[lm(cc(e.slice(t,s).trim())),n===-1?e.length:n]}s++}return[lm(cc(e.slice(t,s).trim())),s]}function hc(e){let t="";for(let r=0;r<e.length;r++){let a=e[r];if(t)a==="\\"&&t==='"'?r++:a===t&&(t="");else if(a==='"'||a==="'")t=a;else if(a==="#"&&(r===0||e[r-1]===" "||e[r-1]===" "))return e.slice(0,r)}return e}function Q5(e,t,r){let a=t[0]===">",i=t.includes("-")?"-":t.includes("+")?"+":"",s=/[1-9]/.exec(t),o=s?r+Number(s[0]):-1,n=[];for(;e.i<e.lines.length;){let c=e.lines[e.i];if(c.trim()===""){n.push(""),e.i++;continue}let f=c.length-c.trimStart().length;if(o===-1){if(f<=r)break;o=f}if(f<o)break;n.push(c.slice(o)),e.i++}let l=0;for(;n.length>0&&n[n.length-1]==="";)n.pop(),l++;let u;if(a){u="";for(let c=0;c<n.length;c++){let f=n[c];if(c>0){let h=n[c-1];f===""?u+=`
28
+ `:h!==""&&(u+=/^[ \t]/.test(h)||/^[ \t]/.test(f)?`
29
+ `:" ")}u+=f}}else u=n.join(`
30
+ `);return n.length===0?i==="+"?`
31
+ `.repeat(l):"":i==="-"?u:i==="+"?u+`
32
+ `.repeat(l+1):u+`
33
+ `}function om(e,t,r){let a=t[0];if((a==="|"||a===">")&&/^[|>][-+0-9]*\s*(?:#.*)?$/.test(t))return Q5(e,t,r);if(a==="{"||a==="["||a==='"'||a==="'"){let s=e.i,o=t,n=0,l=1;for(;;)try{let[u,c]=ul(o,0,""),f=0;for(let g=o.indexOf(`
34
+ `);g!==-1&&g<c;g=o.indexOf(`
35
+ `,g+1))f++;let h=o.indexOf(`
36
+ `,c);if(hc(o.slice(c,h===-1?o.length:h)).trim()!=="")throw new Error("YAML: unexpected content after a value");return e.i=s+f,u}catch(u){if(!(u instanceof ll))throw u;if(s+n>=e.lines.length)throw new Error(u.message);let c=e.lines.slice(s+n,s+n+l);o+=`
37
+ `+c.join(`
38
+ `),n+=c.length,l*=2}}let i=hc(t).trim();for(;e.i<e.lines.length;){let s=e.lines[e.i];if(s.trim()===""){let n=e.i;for(;n<e.lines.length&&e.lines[n].trim()==="";)n++;if(n>=e.lines.length||e.lines[n].length-e.lines[n].trimStart().length<=r)break;i+=`
39
+ `.repeat(n-e.i),e.i=n;continue}if(s.length-s.trimStart().length<=r)break;let o=hc(s).trim();i+=(i.endsWith(`
40
+ `)?"":" ")+o,e.i++}return lm(i)}function D0(e,t,r=0){if(r>Gw)throw new Error("YAML: nesting is too deep");if(e.skipBlank(),e.i>=e.lines.length)return null;let a=e.indent();if(a<t)return null;let i=e.lines[e.i].slice(a);if(i==="-"||i.startsWith("- ")){let o=[];for(;e.i<e.lines.length&&(e.skipBlank(),!(e.i>=e.lines.length||e.indent()!==a));){let n=e.lines[e.i].slice(a);if(n!=="-"&&!n.startsWith("- "))break;let l=n.slice(1),u=l.length-l.trimStart().length+1,c=hc(l).trim();c===""?(e.i++,o.push(D0(e,a+1,r+1))):nm(c)!==null?(e.lines[e.i]=" ".repeat(a+u)+l.trimStart(),o.push(D0(e,a+u,r+1))):(e.i++,o.push(om(e,l.trim(),a)))}return o}if(nm(i)===null)return e.i++,om(e,i.trim(),a-1);let s={};for(;e.i<e.lines.length&&(e.skipBlank(),!(e.i>=e.lines.length));){let o=e.indent();if(o<a)break;if(o>a)throw new Error("YAML: bad indentation of a mapping entry");let n=e.lines[e.i].slice(a),l=nm(n);if(!l)throw new Error("YAML: can not read a block mapping entry");let u=String(ul(l.key,0,"")[0]),c=n.slice(l.length);if(e.i++,hc(c).trim()==="")if(e.skipBlank(),e.i<e.lines.length){let f=e.indent(),h=e.lines[e.i].slice(f),g=h==="-"||h.startsWith("- ");N0(s,u,f>a||g&&f===a?D0(e,g?a:a+1,r+1):null)}else N0(s,u,null);else N0(s,u,om(e,c.trim(),a))}return s}function Di(e){let t=e.trim();if(t[0]==="{"||t[0]==="[")try{let[i,s]=ul(t,0,"");if(Jn(t,s,!1)===t.length)return i}catch(i){throw i instanceof ll?new Error(i.message):i}let r=new H5(e),a=D0(r,0);if(r.skipBlank(),r.i<r.lines.length&&r.lines[r.i].trim()!=="...")throw new Error("YAML: end of the stream or a document separator is expected");return a}var ll,Gw,H5,P5,G5,U5,Y5,K5,q5,Hw,cl=Xe(()=>{ll=class{constructor(e){this.message=e}message},Gw=64;H5=class{lines;i=0;constructor(e){this.lines=(e.includes("\r")?e.replace(/\r\n?/g,`
41
+ `):e).split(`
42
+ `)}skipBlank(){for(;this.i<this.lines.length;){let e=this.lines[this.i].trim();if(e!==""&&e[0]!=="#"&&e!=="---")break;this.i++}}indent(){let e=this.lines[this.i],t=0;for(;t<e.length&&e[t]===" ";)t++;if(e[t]===" ")throw new Error("YAML: tabs are not allowed for indentation");return t}},P5=/^[-+]?(?:0|[1-9][0-9]*)$/,G5=/^[-+]?0x[0-9a-fA-F]+$/,U5=/^[-+]?0o[0-7]+$/,Y5=/^[-+]?0b[01]+$/,K5=/^[-+]?(?:[0-9][0-9]*(?:\.[0-9]*)?|\.[0-9]+)(?:[eE][-+]?[0-9]+)?$/,q5=/[\s#:,[\]{}&*!|>'"%@`]/;Hw={0:"\0",a:"\x07",b:"\b",t:" ",n:`
43
+ `,v:"\v",f:"\f",r:"\r",e:"\x1B"," ":" ",'"':'"',"/":"/","\\":"\\",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"}});function Ke(e){return e<128?e===32||e>=9&&e<=13:e===160||e===5760||e>=8192&&e<=8202||e===8232||e===8233||e===8239||e===8287||e===12288||e===65279}function hi(e){return e===32||e===9}function eo(e){return e===10||e===13||e===8232||e===8233}function yt(e){return e>=48&&e<=57}function Ws(e){return e>=65&&e<=90||e>=97&&e<=122}function R0(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function tt(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===95}var pr=Xe(()=>{});function pc(e,t){let r=1,a=0;for(let n=e.indexOf(`
44
+ `);n!==-1&&n<t;n=e.indexOf(`
45
+ `,n+1))r++,a=n+1;let i=e.indexOf(`
46
+ `,t);i===-1&&(i=e.length);let s=t-a+1,o=e.slice(a,i);return{line:r,column:s,snippet:o+`
47
+ `+"-".repeat(s-1)+"^"}}function ut(e,t,r,a,i=!1){let s=pc(t,r),o=i?`Lexical error on line ${s.line}. Unrecognized text.`:`Parse error on line ${s.line}:`,n=i?`${o}
48
+ ${s.snippet}`:`${o}
49
+ ${s.snippet}
50
+ ${a}`;return new je(n,"syntax",{type:e,...s})}function j5(e){if(!_0){_0=new Map;for(let t of V5.split(",")){let r=t.indexOf(":");_0.set(t.slice(0,r),String.fromCodePoint(Number(t.slice(r+1))))}}return _0.get(e)}function Uw(e,t){return e>0&&e<=1114111&&(e<55296||e>57343)?String.fromCodePoint(e):t}function J5(e){let t="",r=0,a=e.indexOf(Yw);for(;a!==-1;){let i=e.indexOf("\xB6",a+2);if(i===-1)break;if(e[i+1]==="\xDF"){let s=e[a+2]==="\xB0";t+=e.slice(r,a)+(s?"&#":"&")+e.slice(a+(s?3:2),i)+";",r=i+2}a=e.indexOf(Yw,i+1)}return r===0?e:t+e.slice(r)}function Dt(e){return e.includes(Z5)&&(e=J5(e)),e.includes("&")&&(e=e.replace(X5,(t,r,a,i)=>r?Uw(Number(r),t):a?Uw(parseInt(a,16),t):j5(i)??t)),e}function Vw(e,t){let r=dc,a=fc;dc=e,fc=new Map;try{return t()}finally{dc=r,fc=a}}function dl(e){if(dc===void 0)return"";let t=fc.get(e);return t===void 0&&(t=dc(e)??"",fc.set(e,t)),t}function jw(e,t){let r=os,a=hl;os=e,hl=new Map;try{return t()}finally{os=r,hl=a}}function Xw(){return os!==void 0}function Kw(e){return Number.isFinite(e)&&e>0}function Zw(e,t){if(os===void 0)return;let r=t+`
51
+ `+e;if(hl.has(r))return hl.get(r);let a=os(e,t)??void 0,i=a&&Kw(a.width)&&Kw(a.height)&&typeof("svg"in a?a.svg:a.html)=="string"?a:void 0;return hl.set(r,i),i}function Jw(e){if(os===void 0)return e();let t=os;os=void 0;try{return e()}finally{os=t}}function qw(e){let t=new Uint16Array(95);for(let r=0;r<95;r++)t[r]=parseInt(e.substr(r*2,2),36);return t}function i8(e){return e>=4352&&e<=4447||e>=11904&&e<=42191||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65072&&e<=65103||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=55296&&e<=56319}function s8(e){return e>=768&&e<=879||e>=8203&&e<=8207||e>=56320&&e<=57343||e>=65024&&e<=65039||e===65279}function o8(){let e=globalThis;try{if(e.OffscreenCanvas)return new e.OffscreenCanvas(1,1).getContext("2d");if(e.document)return e.document.createElement("canvas").getContext("2d")}catch{return null}return null}function zw(){let e=globalThis;return e.document?.fonts??e.fonts}function u8(e,t,r){try{return e?.check(t,r)??!0}catch{return!0}}function c8(e,t="monospace"){let r=o8();if(!r)return null;let a=new Map,i="",s=zw()?.size;return{width(o,n,l){let u=zw();u?.size!==s&&(s=u?.size,a.clear());let c=(l&2?"italic ":"")+(l&1?"bold ":"")+n+"px "+(l&4?t:e),f=a.get(c);f||a.set(c,f=new Map);let h=f.get(o);return h===void 0&&(c!==i&&(r.font=i=c),h=r.measureText(o).width,u8(u,c,o)&&(f.size>=l8&&f.clear(),f.set(o,h))),h}}}function at(e="sans-serif",t="monospace"){let r=e+`
52
+ `+t,a=Qw.get(r);return a||(a=c8(e,t)??n8,Qw.set(r,a)),a}var je,V5,_0,X5,Yw,Z5,dc,fc,os,hl,e8,t8,r8,a8,n8,l8,Qw,Mt=Xe(()=>{je=class extends Error{code;type;mermaidType;line;column;snippet;constructor(e,t="syntax",r={}){super(e),this.name="PeleError",this.code=t,this.type=r.type??null,this.mermaidType=r.mermaidType??null,this.line=r.line??0,this.column=r.column??0,this.snippet=r.snippet??""}};V5="amp:38,lt:60,gt:62,quot:34,apos:39,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,sect:167,copy:169,laquo:171,not:172,reg:174,deg:176,plusmn:177,sup2:178,sup3:179,micro:181,para:182,middot:183,sup1:185,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,euro:8364,trade:8482,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,radic:8730,infin:8734,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830,check:10003,cross:10007,AMP:38,LT:60,GT:62,QUOT:34,lsqb:91,rsqb:93,lcub:123,rcub:125,verbar:124,VerticalLine:124,midast:42,DiacriticalGrave:96,Hat:94,UnderBar:95,equals:61,colon:58,semi:59,num:35,percnt:37,lpar:40,rpar:41,lbrack:91,rbrack:93,lbrace:123,rbrace:125,vert:124,sol:47,bsol:92,quest:63,excl:33,ast:42,plus:43,comma:44,period:46,dollar:36,commat:64,grave:96,hat:94,lowbar:95,tilde:126,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969";X5=/&(?:#(\d+)|#[xX]([0-9a-fA-F]+)|(\w+));/g,Yw="\uFB02\xB0",Z5="\xB6\xDF";fc=new Map;hl=new Map;e8="7q7q9vfgfgopij5b9999atg87q997q7qfgfgfgfgfgfgfgfgfgfg7q7qg8g8g8fgs7ijijk2k2ijgzlmk27qdwijfgn5k2lmijlmk2ijgzk2ijq8ijijgz7q7q7qd1fg99fgfgdwfgfg7qfgfg6666dw66n5fgfgfgfg99dw7qfgdwk2dwdwdw9a789ag8",t8="7q99d6fgfgopk26m9999atg87q997q7qfgfgfgfgfgfgfgfgfgfg9999g8g8g8gzr3k2k2k2k2ijgzlmk27qfgk2gzn5k2lmijlmk2ijgzk2ijq8ijijgz997q99g8fg99fggzfggzfg99gzgz7q7qfg7qopgzgzgzgzatfg99gzfglmfgfgdwat7satg8";n8={width(e,t,r){let a=(r&4)!==0,i=r&1?a8??=qw(t8):r8??=qw(e8),s=0;for(let o=0;o<e.length;o++){let n=e.charCodeAt(o);if(!(n<32))if(n<127)s+=a?600:i[n-32];else{if(s8(n))continue;i8(n)?s+=a?1200:1e3:s+=a?600:580}}return s*t/1e3}};l8=2e4;Qw=new Map});function F0(e){return B0.has(e)}function W0(e){return e===void 0?"rect":T8.get(e)??B0.get(e)??"rect"}var k8,$8,T8,B0,pm=Xe(()=>{k8=[["rect","proc","process","rectangle","squareRect"],["rounded","event","roundedRect"],["stadium","terminal","pill"],["fr-rect","subprocess","subproc","framed-rectangle","subroutine"],["cyl","db","database","cylinder"],["datastore","data-store"],["folder","directory"],["bucket"],["console"],["browser"],["person"],["circle","circ"],["bang"],["cloud"],["diam","decision","diamond","question"],["hex","hexagon","prepare"],["lean-r","lean-right","in-out","lean_right"],["lean-l","lean-left","out-in","lean_left"],["trap-b","priority","trapezoid-bottom","trapezoid"],["trap-t","manual","trapezoid-top","inv-trapezoid","inv_trapezoid"],["dbl-circ","double-circle","doublecircle"],["text"],["notch-rect","card","notched-rectangle"],["lin-rect","lined-rectangle","lined-process","lin-proc","shaded-process"],["sm-circ","start","small-circle","stateStart"],["fr-circ","stop","framed-circle","stateEnd"],["fork","join","forkJoin"],["hourglass","collate"],["brace","comment","brace-l"],["brace-r"],["braces"],["bolt","com-link","lightning-bolt"],["doc","document"],["delay","half-rounded-rectangle"],["h-cyl","das","horizontal-cylinder"],["lin-cyl","disk","lined-cylinder"],["curv-trap","curved-trapezoid","display"],["div-rect","div-proc","divided-rectangle","divided-process"],["tri","extract","triangle"],["win-pane","internal-storage","window-pane"],["f-circ","junction","filled-circle"],["notch-pent","loop-limit","notched-pentagon"],["flip-tri","manual-file","flipped-triangle"],["sl-rect","manual-input","sloped-rectangle"],["docs","documents","st-doc","stacked-document"],["st-rect","procs","processes","stacked-rectangle"],["bow-rect","stored-data","bow-tie-rectangle"],["cross-circ","summary","crossed-circle"],["tag-doc","tagged-document"],["tag-rect","tagged-rectangle","tag-proc","tagged-process"],["flag","paper-tape"],["odd","rect_left_inv_arrow"],["lin-doc","lined-document"]],$8=["state","choice","note","composite","rectWithTitle","labelRect","block_arrow","collapsedGroup","iconSquare","iconCircle","icon","iconRounded","imageSquare","anchor","kanbanItem","mindmapCircle","defaultMindmapNode","classBox","erBox","requirementBox","usecaseActor","usecaseActorHollow","usecaseActorAwesome","usecaseActorIcon","usecaseBusiness","usecaseEllipse","usecaseJsonTable"],T8=new Map([["square","rect"],["round","rounded"],["ellipse","ellipse"],["hexagon","hex"],["diamond","diam"]]),B0=new Map;for(let e of k8)for(let t of e)B0.set(t,e[0]);for(let e of $8)B0.set(e,e)});function D8(){let e=I8.split(" "),t=new Uint16Array(e.length),r=0;for(let a=0;a<e.length;a+=2){let i=r+parseInt(e[a],36);r=i+parseInt(e[a+1],36),t[a]=i,t[a+1]=r}return t}function pl(e){if(e<170||e>65500)return!1;let t=N8??=D8(),r=0,a=(t.length>>1)-1;for(;r<=a;){let i=r+a>>1;if(e<t[i*2])a=i-1;else if(e>t[i*2+1])r=i+1;else return!0}return!1}var I8,N8,H0=Xe(()=>{I8="4q 0 b 0 5 0 6 m 2 u 2 cp 5 b f 4 8 0 2 0 3m 4 2 1 3 3 9 0 2 2 2 0 2 j 2 2a 2 3u 9 4d a 11 3 0 8 12 21 q 6 2 1a 16 10 1 2 2q 2 0 g 1 8 1 b 2 3 0 h 0 2 t u 2g c 0 p w a 1 5 0 6 l 5 0 a 0 4 0 o o 20 0 2 a 2g 1h 4 0 j 0 8 9 g 6 2 6 6 7 3 1 3 l 2 6 2 0 4 3 4 0 h 0 e 1 2 2 f 1 k 5 5 1 3 l 2 6 2 1 2 1 2 1 w 3 2 0 k 2 h 8 2 2 2 l 2 6 2 1 2 4 4 0 j 0 g 1 10 7 3 1 3 l 2 6 2 1 2 4 4 0 v 1 2 2 g 0 i 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 b n 0 1h 7 2 2 2 m 2 9 2 4 4 0 r 1 7 1 10 7 2 2 2 m 2 9 2 4 4 0 x 0 2 1 g 1 j 7 2 2 2 14 3 0 h 0 i 1 p 5 6 h 4 n 2 8 2 0 3 6 1n 1b 2 1 d 6 1n 1 2 0 3 1 2 0 3 0 7 3 2 6 2 2 2 0 2 0 3 1 2 3 2 1 a 0 3 4 2 0 m 3 x 0 1s 7 2 z s 4 38 16 l 0 h 5 5 3 4 0 4 1 8 2 5 c d 0 i 11 2 0 6 0 3 16 2 98 2 3 3 6 2 0 2 3 3 14 2 3 3 w 2 3 3 6 2 0 2 3 3 e 2 1k 2 3 3 1u 12 f h 2c d h7 3 g 2 p 6 22 m c 2 3 f h f h f c 2 2 g 1f 10 0 5 0 1w 2f 9 14 2 0 6 1x b s 1g t 3 4 c 17 m 6 1l m a 1g 2b 0 2m 1a i 6 1k t e 1 b 17 r z 16 2 b z 30 3 2 3 4 1 a 5b 1t 7p 3 5 3 11 3 5 3 7 2 0 2 0 2 0 2 u 3 1g 2 6 2 0 4 2 2 6 4 3 3 5 5 c 6 2 2 6 39 0 e 0 h c 2u 0 5 0 3 9 2 0 4 4 7 0 2 0 2 0 2 3 2 a 3 3 6 4 5 0 1h 1 22k 1a 2 1a 2 3o 7 3 4 1 d 11 2 0 6 0 3 1j 8 0 h m a 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 29 0 d2 1 17 4 6 1 5 2d 7 2 2 2h 2 3 6 14 4 2l i q 1i f e9 52t 23 g5o 1g wc 1w 19 3 7g 4 f b 1 l 1a h o 9 1x 1e 8 3 2u 3 3 2 3 d a 26 9 2 2 2 3 2 m u 1f f 1d 1r 5 4 0 f r b m q s 8 1a t 0 1d 14 o 2 2 7 l m 4 0 6 1b 2 0 4 1 3 4 3 0 2 0 p 2 3 a 8 2 d 5 3 5 3 5 a 6 2 6 42 y u 8mb d m 5 1c 6it a5 3 2x 13 6 d 4 6 0 2 9 2 c 2 4 2 0 2 1 2 1 2 2z y a2 j 1r 3 1h 15 b 39 4 2 3q 11 p 7 p c 2g 4 5 3 5 3 5 3 2"});function Je(e){return R8.test(e)?e.replace(_8,t=>L8[t]??""):e}function Oe(e){return Je(Dt(e))}function d(e){let t=Math.round(e*100);if(t===0)return"0";if(t>0){if(t<1e11){let r=Math.floor(t/100);return r+Am[t-r*100]}}else if(t>-1e11){let r=-t,a=Math.floor(r/100);return"-"+a+Am[r-a*100]}return String(t/100)}function De(e,t,r,a,i){let s=e.lines;if(s.length===0)return"";let o=e.lineHeight,n=e.heights,l=e.size*.35,u=r-e.height/2,c=s.length===1&&s[0].length===1?s[0][0]:void 0;if(c&&c.icon===void 0&&c.math===void 0&&c.style===0)return`<text${a} x="${d(t)}" y="${d(u+o/2+l)}" text-anchor="middle">${Je(c.text)}</text>`;let f=Hs(e),h=a,g;a=Ri(a,f);let p="",m="";for(let x=0;x<s.length;x++){let y=s[x],C=n?n[x]:o,S=u+C/2,R=S+l,N=!1;for(let D of y)(D.icon!==void 0||D.math)&&(N=!0);if(N){let D=t-e.widths[x]/2;for(let O of y){if(O.math){let H=`x="${d(D)}" y="${d(S-O.math.height/2)}" width="${d(O.math.width)}" height="${d(O.math.height)}"`;g??=P8(h),m+=g.halo===void 0?G8(O.math,H,e.size,g.attrs):`<rect ${H} rx="2" fill="${g.halo}"/>`}else if(O.icon!==void 0){let H=e.size*1.1,U=i?.(O.icon)??"";m+=`<svg class="pele-icon" data-icon="${Oe(O.icon)}" x="${d(D)}" y="${d(S-H/2)}" width="${d(H)}" height="${d(H)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${U}</svg>`}else O.text!==""&&(p+=`<tspan x="${d(D)}" y="${d(R)}" text-anchor="start"${ls(O.style&~f)}>${Je(O.text)}</tspan>`);D+=O.width}}else{for(let D=0;D<y.length;D++){let O=y[D],H=D===0?` x="${d(t)}" y="${d(R)}"`:"";p+=`<tspan${H}${ls(O.style&~f)}>${Je(O.text)}</tspan>`}y.length===0&&(p+=`<tspan x="${d(t)}" y="${d(R)}"> </tspan>`)}u+=C}return`<text${a} text-anchor="middle" xml:space="preserve">${p}</text>${m}`}function P8(e){let t=F8.exec(e)?.[1]??"",r=(W8.exec(t)?.[1]??O8.exec(e)?.[1]??"").trim();if(r==="none")return{attrs:"",halo:B8.exec(e)?.[1]??"none"};let a=H8.exec(t)?.[1].trim();return{attrs:(r===""?"":` color="${r}"`)+(a?` opacity="${a}"`:"")}}function G8(e,t,r,a){return"svg"in e?`<svg class="pele-math" ${t} overflow="visible"${a}>${e.svg}</svg>`:`<foreignObject class="pele-math" ${t} overflow="visible"${a}><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:${d(r)}px;line-height:normal;white-space:nowrap">${e.html}</div></foreignObject>`}function ls(e){return(e&1?m3:"")+(e&2?A3:"")}function Hs(e){let t=3,r=!1;for(let a of e.lines)for(let i of a)i.icon!==void 0||i.text===""||(t&=i.style,r=!0);return r?t:0}function Ri(e,t){return e+(t&1&&!e.includes(' font-weight="')?m3:"")+(t&2&&!e.includes(' font-style="')?A3:"")}function J8(e){let t=e.split(`
53
+ `),r=1/0;for(let a of t){if(a.trim()==="")continue;let i=a.length-a.trimStart().length;i<r&&(r=i)}return r===1/0||r===0?e:t.map(a=>a.slice(Math.min(r,a.length-a.trimStart().length))).join(`
54
+ `)}function P0(e){return e!==void 0&&e.icon===void 0&&e.math===void 0}function gm(e,t,r){if(t!==""){if(gc!==void 0&&y3.test(t)){let a=gc,i=t.split(X8);for(let s=0;s<i.length;s++){if(s%2===0){i[s]!==""&&mm(e,i[s],r);continue}let o=i[s].charCodeAt(0)-b3,n=a.math[o];n?e.push({text:"",style:r,math:n,width:n.width}):mm(e,`$$${a.tex[o]}$$`,r)}return}mm(e,t,r)}}function mm(e,t,r){let a=Dt(t),i=e[e.length-1];P0(i)&&i.style===r?i.text+=a:e.push({text:a,style:r,width:0})}function eN(e,t,r){if(!t.includes(":fa-")){gm(e,t,r);return}let a=0;c3.lastIndex=0;let i;for(;(i=c3.exec(t))!==null;){let s=`${i[1]}:fa-${i[2]}`;if(gm(e,t.slice(a,i.index),r),a=i.index+i[0].length,dl(s)!=="")e.push({text:"",style:r,icon:s,width:0});else if(t[a]===" ")a++;else if(a===t.length){let o=e[e.length-1];P0(o)&&(o.text=o.text.trimEnd())}}gm(e,t.slice(a),r)}function tN(e,t,r,a,i){let s=i,o=0,n="",l=0,u=t.length,c=()=>{eN(e,n,s),n=""};for(;l<u;){let f=t[l];if(f==="<"){u3.lastIndex=l;let h=u3.exec(t);if(h&&h.index===l){let g=h[1].toLowerCase(),p=t[l+1]==="/",m=g==="b"||g==="strong"?1:g==="i"||g==="em"?2:0;m&&(c(),i=p?i&~m|a&m:i|m,s=p?s&~m|a&m:s|m),l+=h[0].length;continue}}else if(r&&(f==="*"||f==="_")){let h=t[l+1]===f,g=h?1:2,p=h?2:1,m=(o&g)===0,x=l>0?t[l-1]:" ",y=l+p<u?t[l+p]:" ",C=m&&y.trim()!==""&&t.indexOf(h?f+f:f,l+p)!==-1,S=!m&&x.trim()!=="",R=f==="_"&&/\w/.test(x)&&/\w/.test(y);if((C||S)&&!R){c(),o=C?o|g:o&~g,s=C?s|g:s&~g|a&g,l+=p;continue}}n+=f,l++}return c(),i}function rN(e,t,r){let a=0;for(let i of e)i.width=i.icon!==void 0?r*1.25:i.math?i.math.width:t.width(i.text,r,i.style),a+=i.width;return a}function x3(e,t,r,a,i,s){let o=[],n=0,l=()=>{let u=o[o.length-1];if(P0(u)){let c=u.text.trimEnd();if(c!==u.text){u.text=c;let f=t.width(c,r,u.style);n+=f-u.width,u.width=f}}i.push(o),s.push(n),o=[],n=0};for(let u of e){if(u.icon!==void 0||u.math){let c=u.math?u.math.width:r*1.25;n>0&&n+c>a&&l(),o.push({...u,width:c}),n+=c;continue}for(let c of u.text.match(Q8)??[]){let f=c;n>0&&n+t.width(f.trimEnd(),r,u.style)>a&&(l(),f=f.trimStart());let h=o[o.length-1];if(P0(h)&&h.style===u.style){h.text+=f,h.width=t.width(h.text,r,h.style),n=0;for(let g of o)n+=g.width}else{let g=t.width(f,r,u.style);o.push({text:f,style:u.style,width:g}),n+=g}}}(o.length>0||i.length===0)&&l()}function We(e,t,r,a,i,s=0){if(e===void 0||e==="")return Z8;let o=Math.round(a*U8);if(Xw()&&e.includes("$$")&&!y3.test(e)){let n={tex:[],math:[]},l=e.replace(j8,(u,c)=>n.tex.length===V8?u:(n.tex.push(c),String.fromCharCode(b3+n.tex.length-1)));if(n.tex.length>0){for(let u of n.tex)n.math.push(Zw(Dt(u),a));return d3(l,t,r,a,i,s,o,n)}}if(!K8.test(e)&&!e.includes("&")&&!e.includes("\uFB02")){let n=e.trim(),l=r.width(n,a,s);if(l<=i||!(n.includes(" ")||z8.test(n)))return{lines:[[{text:n,style:s,width:l}]],widths:[l],width:l,height:o,size:a,lineHeight:o};let u=[],c=[];x3([{text:n,style:s,width:l}],r,a,i,u,c);let f=0;for(let h of c)h>f&&(f=h);return{lines:u,widths:c,width:f,height:u.length*o,size:a,lineHeight:o}}return d3(e,t,r,a,i,s,o)}function d3(e,t,r,a,i,s,o,n){let l=gc;gc=n;try{let u=aN(e,t,r,a,i,s,o);return n?mc(u):u}finally{gc=l}}function aN(e,t,r,a,i,s,o){let n=t?J8(e.replace(/\r\n?/g,`
55
+ `)).trim():e.trim(),l=[],u=[],c=0,f=s;for(let h of n.split(Y8)){let g=[];f=tN(g,h.trim(),t,s,f);let p=rN(g,r,a);p>i?x3(g,r,a,i,l,u):(l.push(g),u.push(p))}for(let h of u)h>c&&(c=h);return{lines:l,widths:u,width:c,height:l.length*o,size:a,lineHeight:o}}function mc(e){let t;for(let a=0;a<e.lines.length;a++){let i=e.lineHeight;for(let s of e.lines[a])s.math&&(i=Math.max(i,Math.ceil(s.math.height+e.size/4)));i!==e.lineHeight&&t===void 0&&(t=e.lines.map(()=>e.lineHeight)),t&&(t[a]=i)}if(t===void 0)return e.heights===void 0?e:{...e,heights:void 0,height:e.lines.length*e.lineHeight};let r=0;for(let a of t)r+=a;return{...e,heights:t,height:r}}function gl(e){for(let t of e)if(t.math)return!0;return!1}function us(e,t){let r=e.heights;if(!r)return(t+.5)*e.lineHeight;let a=0;for(let i=0;i<t;i++)a+=r[i];return a+r[t]/2}function cs(e,t){let r=e.widths[t],a=e.heights?e.heights[t]:e.lineHeight,i={lines:[e.lines[t]],widths:[r],width:r,height:a,size:e.size,lineHeight:e.lineHeight};return a!==e.lineHeight&&(i.heights=[a]),i}function bt(e){let t=e.indexOf(' style="');return t<0?e+ct:`${e.slice(0,t+8)}rx:var(--_r);${e.slice(t+8)}`}function p3(e,t){return e&&nN.test(e)?e:t}function oN(e,t,r){return`;--_fm:var(--pele-font-mono,${p3(r,"monospace")});font:${e}px sans-serif;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;font-family:var(--pele-font,${p3(t,"sans-serif")})`}function Rt(e){if(e.length===0)return g3;let t=new Map,r=new Map;for(let u of e){let c=u.indexOf(":");if(c<=0)continue;let f=u.slice(0,c).trim().toLowerCase(),h=u.slice(c+1).replace(/!important/gi,"").trim();h===""||cN.test(h)||(lN.has(f)&&t.set(f,h),uN.has(f)&&r.set(f==="color"?"fill":f,h))}if(t.size===0&&r.size===0)return g3;let a="",i="";for(let[u,c]of t)a+=`${u}:${c};`,u!=="fill"&&u!=="fill-opacity"&&(i+=`${u}:${c};`);let s="";for(let[u,c]of r)s+=`${u}:${c};`;let o=r.get("font-weight"),n=r.get("font-size"),l=n&&/^[\d.]+(px)?$/.test(n)?parseFloat(n):void 0;return{shape:a?` style="${Je(a)}"`:"",line:i?` style="${Je(i)}"`:"",text:s?` style="${Je(s)}"`:"",stroke:t.get("stroke"),bold:o==="bold"||o==="bolder"||Number(o)>=600,italic:r.get("font-style")==="italic",fontSize:l!==void 0&&l>0&&l<=200?l:void 0}}function Wt(e){let t=e.replace(hN," ").trim();return t===""?"":" "+t}function At(e){let t=(e%8+8)%8;return`var(--pele-series-${t+1},${dN[t]})`}function rt(e,t,r,a,i,s,o){let n=Je(i.idPrefix??"pele"),l="",u="";s.accTitle&&(l+=`<title id="${n}-title">${Oe(s.accTitle)}</title>`,u+=` aria-labelledby="${n}-title"`),s.accDescr&&(l+=`<desc id="${n}-desc">${Oe(s.accDescr)}</desc>`,u+=` aria-describedby="${n}-desc"`);let c=i.responsive===!1?"":"max-width:100%;height:auto;",f=new Set;for(let[,g]of o.matchAll(pN))if(f.add(g),f.size===4)break;let h=f.has("r")?`;--_r:${sN}`:"";for(let[g,p]of fN)f.has(g)&&(h+=`;--_${g}:var(--pele-${p}-weight,bold)`);return`<svg xmlns="http://www.w3.org/2000/svg" class="pele pele-${e}" viewBox="0 0 ${t} ${r}" width="${t}" height="${r}" style="${c}${iN}${h}${Je(oN(a,i.fontFamily,i.fontFamilyMono))}" fill="var(--_fg)" role="graphics-document document" aria-roledescription="${e}"${u}>`+l+o+"</svg>"}var R8,_8,L8,Am,O8,B8,F8,W8,H8,m3,A3,U8,Y8,u3,c3,K8,bm,h3,q8,z8,Q8,b3,V8,j8,y3,X8,gc,Z8,iN,Ac,sN,ct,bc,f3,nN,lN,uN,cN,g3,hN,dN,fN,pN,xt=Xe(()=>{Mt();R8=/[&<>"\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/,_8=/[&<>"]|[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]+/g,L8={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};Am=[];for(let e=0;e<100;e++)Am.push(e===0?"":e%10===0?"."+e/10:"."+(e<10?"0"+e:e));O8=/ fill="([^"]*)"/,B8=/ stroke="([^"]*)"/,F8=/ style="([^"]*)"/,W8=/(?:^|;)\s*fill:([^;]*)/,H8=/(?:^|;)\s*opacity:([^;]*)/;m3=' font-weight="var(--_w)"',A3=' font-style="italic"';U8=1.5,Y8=/<br\s*\/?>|\\n|\n/gi,u3=/<\/?([a-zA-Z][\w-]*)(?:\s[^<>]*)?\/?>/y,c3=/(fa[bklrs]?):fa-([\w-]+)/g,K8=/[<\\\n*_]|fa[bklrs]?:fa-/,bm="\\u2e80-\\u9fff\\uf900-\\ufaff\\uff00-\\uff60",h3="\u3001\u3002\uFF0C\uFF0E\uFF1A\uFF1B\uFF01\uFF1F\uFF09\uFF3D\uFF5D\u300D\u300F\u3011\u3015\u3009\u300B\u3019\u3017\u30FC\u2026\u2025\u30FB\u309D\u309E\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE,.:;!?)\\]}",q8="\uFF08\uFF3B\uFF5B\u300C\u300E\u3010\u3014\u3008\u300A\u3018\u3016([{",z8=new RegExp(`[${bm}]`),Q8=new RegExp(`\\s*(?:[${q8}]*[${bm}][${h3}]*|[^\\s${bm}]+[${h3}]*)\\s*|\\s+`,"g"),b3=57344,V8=6400,j8=/\$\$(.+?)\$\$/g,y3=/[\ue000-\uf8ff]/,X8=/([\ue000-\uf8ff])/,Z8={lines:[],widths:[],width:0,height:0,size:0,lineHeight:0};iN="--_bg:var(--pele-bg,#fff);--_fg:var(--pele-fg,#1f1f1f);--_m:var(--pele-muted,#6e6e6e);--_l:var(--pele-line,#1f1f1f);--_s:var(--pele-surface,#f3f3f3);--_a:var(--pele-surface-alt,#e6e6e6);--_b:var(--pele-border,#8a8a8a);--_c:var(--pele-accent,#5b7bd5);color:var(--_fg)",Ac="var(--_fm)",sN="var(--pele-radius,4px)",ct=' style="rx:var(--_r)"';bc="var(--pele-critical,#e45756)",f3=String.raw`(?:"[^"'\\\n<>{}();:@]*"|'[^"'\\\n<>{}();:@]*'|[\p{L}\p{N}_-][\p{L}\p{N}_ .-]*)`,nN=new RegExp(String.raw`^\s*${f3}(?:\s*,\s*${f3})*\s*$`,"u");lN=new Set(["fill","fill-opacity","stroke","stroke-width","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-opacity","opacity","rx","ry"]),uN=new Set(["color","font-size","font-family","font-weight","font-style","text-decoration","letter-spacing","word-spacing","opacity"]),cN=/url\s*\(|expression\s*\(|javascript:|[<>{};\\]|@import|image-set|\/\*/i,g3={shape:"",line:"",text:"",stroke:void 0,bold:!1,italic:!1,fontSize:void 0};hN=/[^\w-]+/g;dN=["#4c78a8","#f58518","#54a24b","#e45756","#72b7b2","#eeca3b","#b279a2","#9d755d"];fN=[["tw","title"],["hw","heading"],["w","bold"]],pN=/var\(--_(r|tw|hw|w)\)/g});function _i(e,t){for(let r=0;r<t.length;r+=3){let a=Math.round(t[r+1]),i=e.get(a);i?i.push(t[r]):e.set(a,[t[r]])}}function pn(e,t,r,a){if(t===0)return e.x;let i=e.y-e.h/2,s=e.x-e.w/2,o=t/2,n=[s+a-6+o,e.x,s+e.w-a+6-o],l=r.get(Math.round(i));if(l===void 0)return n[0];let u=n[0],c=-1;for(let f of n){let h=1/0;for(let g of l)g>s&&g<s+e.w&&(h=Math.min(h,Math.abs(g-f)-o));if(h>=6)return f;h>c+.5&&(c=h,u=f)}return u}function G0(e,t,r,a){let i=t>0?a.get(Math.round(e.y-e.h/2)):void 0;if(i===void 0)return!1;let s=e.x-e.w/2;for(let o of i)if(o>s&&o<s+e.w&&Math.abs(o-r)<t/2+4)return!0;return!1}function U0(e,t,r,a,i,s,o,n){let l=1;for(let c=s[o].parent;c>=0&&l<8;c=s[c].parent)l++;let u=`color-mix(in srgb,var(--_a) ${d(100*(1-.5**l))}%,var(--_bg))`;return`<g class="pele-cluster-title" data-id="${i}">`+De(e,t,r,` fill="none" stroke="${u}" stroke-width="5" stroke-linejoin="round"`,n)+De(e,t,r,a,n)+"</g>"}var ml=Xe(()=>{xt()});function ro(e,t,r=0){return{w:e,h:t,kind:r,pin:0,hint:NaN,key:NaN,span:0,x:0,y:0,rank:0}}function ao(e,t,r=1,a=0,i=0){return{tail:e,head:t,minlen:r,labelW:a,labelH:i,tailDx:0,headDx:0,tailFixed:!1,headFixed:!1,reversed:!1,points:[],labelX:0,labelY:0}}function bl(e){return e===1||e===2}function $3(e,t,r,a){for(let i=t+1;i<r;i++){let s=e[i],o=a[s],n=i-1;for(;n>=t&&(a[e[n]]>o||a[e[n]]===o&&e[n]>s);)e[n+1]=e[n],n--;e[n+1]=s}}function vN(e,t,r,a,i,s){let o=(u,c)=>r[u]<r[c]||r[u]===r[c]&&(i?a[u]>a[c]:a[u]<a[c]);for(let u=0;u<t;u+=8)for(let c=u+1,f=Math.min(t,u+8);c<f;c++){let h=e[c],g=c-1;for(;g>=u&&o(h,e[g]);)e[g+1]=e[g],g--;e[g+1]=h}let n=e,l=s;for(let u=8;u<t;u*=2){for(let f=0;f<t;f+=2*u){let h=Math.min(t,f+u),g=Math.min(t,f+2*u),p=f,m=h,x=f;for(;p<h&&m<g;)l[x++]=o(n[m],n[p])?n[m++]:n[p++];for(;p<h;)l[x++]=n[p++];for(;m<g;)l[x++]=n[m++]}let c=n;n=l,l=c}if(n!==e)for(let u=0;u<t;u++)e[u]=n[u]}function q0(e,t,r){let a=e.length;if(a===0)return{width:0,height:0};let i=t.length;if(a===1&&i===0&&e[0].kind===0){let ue=e[0];return ue.rank=0,ue.x=ue.w/2,ue.y=ue.h/2,{width:ue.w,height:ue.h}}let s=1;if(i>0){let ue=new Set;for(let we of t){let $e=Math.min(we.tail,we.head),ye=Math.max(we.tail,we.head),Se=$e*a+ye;if(we.labelW>0||ue.has(Se)){s=2;break}ue.add(Se)}}xc(e,t),wc(e,t,s);let o=new Int32Array(i),n=0;for(let ue=0;ue<i;ue++){let we=t[ue];o[ue]=Math.abs(e[we.head].rank-e[we.tail].rank),o[ue]>1&&(n+=o[ue]-1)}let l=new Uint8Array(i);if(n>w3){let ue=[];for(let we=0;we<i;we++)o[we]>1&&ue.push(we);ue.sort((we,$e)=>o[$e]-o[we]||we-$e);for(let we of ue){if(n<=w3)break;l[we]=1,n-=o[we]-1}}let u=a+n,c=new Float64Array(u),f=new Float64Array(u),h=new Uint8Array(u),g=new Int32Array(u),p=0;for(let ue=0;ue<a;ue++){let we=e[ue];c[ue]=we.w,f[ue]=we.h,h[ue]=we.kind,g[ue]=we.rank,we.rank>p&&(p=we.rank)}let m=0;for(let ue=0;ue<i;ue++)l[ue]||(m+=o[ue]);let x=new Int32Array(m),y=new Int32Array(m),C=new Float64Array(m),S=new Float64Array(m),R=new Int32Array(i).fill(-1),N=new Uint8Array(p+1),D=new Int32Array(i).fill(-1),O=!1;for(let ue=0;ue<a;ue++)e[ue].span>0&&e[ue].kind===0&&(O=!0);let H=O?new Uint8Array(m):void 0,U=O?new Uint8Array(m):void 0,k=new Int32Array(i).fill(-1),j=new Int32Array(i).fill(-1),X=new Float64Array(u).fill(NaN);for(let ue=0;ue<a;ue++)X[ue]=e[ue].key;let P=!1;{let ue=a,we=0;for(let $e=0;$e<i;$e++){if(l[$e])continue;let ye=t[$e],Se=ye.reversed?ye.head:ye.tail,Ne=ye.reversed?ye.tail:ye.head,Ge=ye.reversed?ye.headDx:ye.tailDx,Fe=ye.reversed?ye.tailDx:ye.headDx;(Ge!==0||Fe!==0)&&(P=!0);let z=g[Se],ge=g[Ne],ae=-1;ye.labelW>0&&(ae=z+(ge-z>>1),s===2&&ge-z>=4?(ae&1)===1&&(ae+=ye.reversed?1:-1):s===2&&!(ae&1)&&(ae+=ye.reversed?1:-1));let xe=Se;ge-z>1&&(R[$e]=ue),k[$e]=we,H&&!(ye.reversed?ye.headFixed:ye.tailFixed)&&(H[we]=ye.reversed?2:1);for(let Ce=z+1;Ce<ge;Ce++){let ke=ue++;g[ke]=Ce,X[ke]=X[Se]+(X[Ne]-X[Se])*(Ce-z)/(ge-z),Ce===ae?(c[ke]=ye.labelW,f[ke]=ye.labelH,h[ke]=2,D[$e]=ke,N[Ce]|=ye.reversed?2:1):h[ke]=1,x[we]=xe,y[we]=ke,C[we]=xe===Se?Ge:0,we++,xe=ke}x[we]=xe,y[we]=Ne,C[we]=xe===Se?Ge:0,S[we]=Fe,U&&!(ye.reversed?ye.tailFixed:ye.headFixed)&&(U[we]=ye.reversed?1:2),j[$e]=we,we++}}let F;if(r.groups){let{of:ue,parent:we}=r.groups;F=new Int32Array(u);for(let Se=0;Se<a;Se++)F[Se]=ue[Se];let $e=Se=>{let Ne=0;for(;Se>=0;Se=we[Se])Ne++;return Ne},ye=(Se,Ne)=>{let Ge=$e(Se),Fe=$e(Ne);for(;Ge>Fe;Ge--)Se=we[Se];for(;Fe>Ge;Fe--)Ne=we[Ne];for(;Se!==Ne;)Se=we[Se],Ne=we[Ne];return Se};for(let Se=0;Se<i;Se++){if(R[Se]<0)continue;let Ne=t[Se],Ge=ye(ue[Ne.tail],ue[Ne.head]);for(let Fe=R[Se],z=Fe+o[Se]-1;Fe<z;Fe++)F[Fe]=Ge}}let I=new Int32Array(u+1),$=new Int32Array(u+1);for(let ue=0;ue<m;ue++)I[x[ue]+1]++,$[y[ue]+1]++;for(let ue=0;ue<u;ue++)I[ue+1]+=I[ue],$[ue+1]+=$[ue];let w=new Int32Array(m),A=new Int32Array(m);{let ue=I.slice(0,u),we=$.slice(0,u);for(let $e=0;$e<m;$e++)w[ue[x[$e]]++]=$e,A[we[y[$e]]++]=$e}let v=new Int32Array(p+2);for(let ue=0;ue<u;ue++)v[g[ue]+1]++;for(let ue=0;ue<=p;ue++)v[ue+1]+=v[ue];let b=new Int32Array(u),T=new Int32Array(u);{let ue=new Int32Array(u),we=v.slice(0,p+1);for(let Se=0;Se<u;Se++)ue[we[g[Se]]++]=Se;for(let Se=0;Se<=p;Se++)we[Se]=v[Se];let $e=new Uint8Array(u),ye=[];for(let Se=0;Se<u;Se++)if(!$e[ue[Se]])for(ye.push(ue[Se]);ye.length>0;){let Ne=ye.pop();if(!$e[Ne]){$e[Ne]=1,b[we[g[Ne]]++]=Ne;for(let Ge=I[Ne+1]-1;Ge>=I[Ne];Ge--){let Fe=y[w[Ge]];$e[Fe]||ye.push(Fe)}}}}let M=(ue,we)=>{let $e=v[ue],ye=v[ue+1];if(ye-$e<2)return!1;for(let Ge=$e;Ge<ye;Ge++)if(Number.isNaN(we(b[Ge])))return!1;let Se=Array.from(b.subarray($e,ye)),Ne=new Map;return Se.forEach((Ge,Fe)=>Ne.set(Ge,Fe)),Se.sort((Ge,Fe)=>we(Ge)-we(Fe)||Ne.get(Ge)-Ne.get(Fe)),b.set(Se,$e),!0};for(let ue=0;ue<=p;ue++)M(ue,we=>X[we]);let E=!1;for(let ue=0;ue<a;ue++)e[ue].pin!==0&&(E=!0);if(E)for(let ue=0;ue<=p;ue++){let we=Array.from(b.subarray(v[ue],v[ue+1])),$e=new Map;we.forEach((Se,Ne)=>$e.set(Se,Ne));let ye=Se=>Se<a?e[Se].pin:0;we.sort((Se,Ne)=>ye(Se)-ye(Ne)||$e.get(Se)-$e.get(Ne)),b.set(we,v[ue])}let Y=new Uint8Array(p+1),G=ue=>ue<a&&(e[ue].kind===3||e[ue].kind===4)?e[ue].hint:NaN;for(let ue of[0,p])M(ue,G)&&(Y[ue]=1);let K=()=>{for(let ue=0;ue<=p;ue++){let we=v[ue];for(let $e=we,ye=v[ue+1];$e<ye;$e++)T[b[$e]]=$e-we}};K();let L={n:u,real:a,maxRank:p,W:c,KIND:h,RANK:g,EF:x,ET:y,EFD:C,ETD:S,succStart:I,succE:w,predStart:$,predE:A,layerStart:v,order:b,pos:T,offsets:P,fixed:Y,GRP:F,groupParent:r.groups?.parent},_=0,B=0;if(m>0&&p>0&&([_,B]=ON(L,e),K()),r.orderOnly){let ue=T3(L,r);for(let we=0;we<a;we++)e[we].x=ue[we];for(let we=0;we<i;we++){let $e=t[we],ye=$e.reversed?$e.head:$e.tail,Se=$e.reversed?$e.tail:$e.head,Ne=[g[ye],ue[ye]];if(!l[we]&&R[we]>=0)for(let Ge=R[we],Fe=Ge+o[we]-1;Ge<Fe;Ge++)Ne.push(g[Ge],ue[Ge]);Ne.push(g[Se],ue[Se]),$e.points=Ne}return{width:0,height:0,crossings:_,declared:B}}H&&U&&kN(L,e,H,U);let q=T3(L,r),Q=DN(L);if(H&&U){let ue=$N(L,H,U);TN(L,e,q,ue,r,Q),IN(L,e,q,H,U,ue,Q),NN(L,q,Q,r);for(let we=0;we<i;we++){if(l[we])continue;let $e=t[we],ye=C[k[we]],Se=S[j[we]];$e.tailDx=$e.reversed?Se:ye,$e.headDx=$e.reversed?ye:Se}}let Z=new Uint8Array(u);Q&&!r.tracks&&_N(L,q,Q,R,o,r.apart?0:r.edgeSep,Z),r.tracks||LN(L,q,R,o,r.edgeSep,Z);let J=new Int32Array(i+1),W=r.tracks||H&&!r.straight?{from:[],to:[],rank:[],lower:[],track:[],levels:[],wide:[]}:void 0,V=new Int32Array(p+1);if(W){for(let ue=0;ue<i;ue++){if(J[ue]=W.from.length,l[ue])continue;let we=R[ue],$e=!1;for(let Ne=we,Ge=we<0?we:we+o[ue]-1;Ne<Ge;Ne++){let Fe=Q!==void 0&&Q[g[Ne]]===1;!r.tracks&&Fe!==(Z[Ne]===1)&&($e=!0)}if($e)continue;let ye=q[x[k[ue]]]+C[k[ue]],Se=g[x[k[ue]]];for(let Ne=we,Ge=we<0?we:we+o[ue]-1;Ne<Ge;Ne++)Q&&Q[g[Ne]]||(W.from.push(ye),W.to.push(q[Ne]),W.rank.push(Se),W.lower.push(Ne),ye=q[Ne],Se=g[Ne]);W.from.push(ye),W.to.push(q[y[j[ue]]]+S[j[ue]]),W.rank.push(Se),W.lower.push(-1)}J[i]=W.from.length}let re=(ue,we)=>{let $e=!1;for(let ye=v[ue];ye<v[ue+1];ye++){let Se=h[b[ye]];if(Se===we)$e=!0;else if(Se!==1)return!1}return $e},ne=re(0,3)?s:0,ce=re(p,4)?s:0,ie=new Float64Array(p+1);for(let ue=0;ue<m;ue++){let we=Math.abs(q[x[ue]]+C[ue]-q[y[ue]]-S[ue]);we>ie[g[x[ue]]]&&(ie[g[x[ue]]]=we)}let se=new Float64Array(p+1),ee=new Float64Array(p+1),te=ue=>(ue<ne||ue>=p-ce?r.portSep:r.rankSep)/s,he=new Float64Array(p+1);for(let ue=0;ue<p;ue++)he[ue]=W?te(ue):Math.max(te(ue),Math.min(E3*r.rankSep/s,ie[ue]*mN));let me=new Uint8Array(p+1).fill(1);for(let ue=0;ue<a;ue++)me[g[ue]]=0;for(let ue=1;ue<p;ue++){if(r.tracks||!me[ue]||N[ue]!==1&&N[ue]!==2)continue;let we=Math.min((r.headRoom??0)/2,he[N[ue]===1?ue-1:ue]/2);he[ue-1]+=N[ue]===1?-we:we,he[ue]+=N[ue]===1?we:-we}let oe=ue=>h[ue]===1&&me[g[ue]]&&!r.tracks?(ee[g[ue]]-se[g[ue]])/4:0,be=r.tracks?AN:wN,de=r.tracks?bN:C3,pe=r.tracks?yN:C3,Ee=new Int32Array(p+1);if(W){let ue=new Float64Array(p+1);for(let $e=0;$e<p;$e++){if(Q&&Q[$e])continue;let ye=$e+1;for(ue[$e]=he[$e];ye<p&&Q&&Q[ye];)ue[$e]+=he[ye++];Ee[$e]=ye}for(let $e=0;$e<W.from.length;$e++)W.wide.push(Math.abs(W.from[$e]-W.to[$e])>xN*ue[W.rank[$e]]?1:0);let we=new Float64Array(p+1);RN(W,V,!r.tracks,ue,we);for(let $e=0;$e<p;$e++)V[$e]>0?he[$e]+=Math.max(0,2*be+(V[$e]-1)*de-ue[$e]):we[$e]>0&&(he[$e]+=Math.max(0,Math.min(E3*r.rankSep,we[$e])-ue[$e]))}let ve=0;for(let ue=0;ue<=p;ue++){let we=0;for(let $e=v[ue];$e<v[ue+1];$e++)f[b[$e]]>we&&(we=f[b[$e]]);se[ue]=ve,ee[ue]=ve+we,ve+=we+he[ue]}let le=ve,fe=(ue,we=W.track[ue])=>{let $e=W.rank[ue],ye=ee[$e],Se=se[Ee[$e]],Ne=r.tracks?V[$e]:W.levels[ue],Ge=Ne>1?Math.min(pe,(Se-ye-2*be)/(Ne-1)):0;return(ye+Se)/2+(we-(Ne-1)/2)*Ge},Ae=1/0,Ie=-1/0;for(let ue=0;ue<u;ue++){let we=c[ue]/2;q[ue]-we<Ae&&(Ae=q[ue]-we),q[ue]+we>Ie&&(Ie=q[ue]+we)}let Re=new Uint8Array(p+1),Pe=new Uint8Array(p+1);for(let ue=0;ue<a;ue++)h[ue]!==0||!H||($[ue+1]>$[ue]&&(Re[g[ue]]=1),I[ue+1]>I[ue]&&(Pe[g[ue]]=1));for(let ue=0;ue<a;ue++){let we=e[ue],$e=we.rank;we.x=q[ue]-Ae,h[ue]===0&&Pe[$e]&&!Re[$e]?we.y=ee[$e]-we.h/2:h[ue]===0&&Re[$e]&&!Pe[$e]?we.y=se[$e]+we.h/2:we.y=(se[$e]+ee[$e])/2}for(let ue=0;ue<i;ue++){let we=t[ue],$e=e[we.reversed?we.head:we.tail],ye=e[we.reversed?we.tail:we.head],Se=[$e.x+(we.reversed?we.headDx:we.tailDx),$e.y+$e.h/2],Ne=R[ue];if(W&&J[ue+1]>J[ue])for(let Fe=J[ue];Fe<J[ue+1];Fe++){if(W.track[Fe]>=0&&(r.tracks||W.wide[Fe]===1)){let ge=fe(Fe);Se.push(W.from[Fe]-Ae,ge,W.to[Fe]-Ae,ge)}else W.track[Fe]>0&&Se.push(W.from[Fe]-Ae,fe(Fe,W.track[Fe]-1));let z=W.lower[Fe];z<0||(Se.push(q[z]-Ae,se[g[z]]+oe(z)),ee[g[z]]>se[g[z]]&&Se.push(q[z]-Ae,ee[g[z]]-oe(z)))}else if(Ne>=0)for(let Fe=Ne,z=Ne+o[ue]-1;Fe<z;Fe++){if(Z[Fe])continue;let ge=q[Fe]-Ae,ae=se[g[Fe]],xe=ee[g[Fe]];Se.push(ge,ae+oe(Fe)),xe>ae&&Se.push(ge,xe-oe(Fe))}if(Se.push(ye.x+(we.reversed?we.tailDx:we.headDx),ye.y-ye.h/2),we.reversed)for(let Fe=0,z=Se.length-2;Fe<z;Fe+=2,z-=2){let ge=Se[Fe],ae=Se[Fe+1];Se[Fe]=Se[z],Se[Fe+1]=Se[z+1],Se[z]=ge,Se[z+1]=ae}we.points=Se;let Ge=D[ue];Ge>=0?(we.labelX=q[Ge]-Ae,we.labelY=(se[g[Ge]]+ee[g[Ge]])/2):we.labelW>0&&(we.labelX=(Se[0]+Se[Se.length-2])/2,we.labelY=(Se[1]+Se[Se.length-1])/2)}return{width:Ie-Ae,height:le}}function xc(e,t){let r=e.length,a=t.length,i=new Int32Array(r+1);for(let u=0;u<a;u++){let c=t[u];c.reversed=e[c.head].kind===3||e[c.tail].kind===4,c.reversed||i[c.tail+1]++}for(let u=0;u<r;u++)i[u+1]+=i[u];let s=new Int32Array(i[r]);{let u=i.slice(0,r);for(let c=0;c<a;c++)t[c].reversed||(s[u[t[c].tail]++]=c)}let o=new Uint8Array(r),n=i.slice(0,r),l=[];for(let u=0;u<r;u++)if(o[u]===0)for(l.push(u),o[u]=1;l.length>0;){let c=l[l.length-1];if(n[c]<i[c+1]){let f=t[s[n[c]++]],h=f.head;o[h]===1?f.reversed=!0:o[h]===0&&(o[h]=1,l.push(h))}else o[c]=2,l.pop()}}function wc(e,t,r){let a=e.length,i=t.length,s=new Int32Array(i),o=new Int32Array(i),n=new Int32Array(i),l=new Int32Array(a+1),u=new Int32Array(a+1);for(let S=0;S<i;S++){let R=t[S],N=R.reversed?R.head:R.tail,D=R.reversed?R.tail:R.head;s[S]=N,o[S]=D,n[S]=Math.max(1,R.minlen)*r,l[N+1]++,u[D+1]++}for(let S=0;S<a;S++)l[S+1]+=l[S],u[S+1]+=u[S];let c=new Int32Array(i),f=new Int32Array(i);{let S=l.slice(0,a),R=u.slice(0,a);for(let N=0;N<i;N++)c[S[s[N]]++]=N,f[R[o[N]]++]=N}let h=new Int32Array(a),g=new Int32Array(a);for(let S=0;S<a;S++)g[S]=u[S+1]-u[S];let p=new Int32Array(a),m=0;for(let S=0;S<a;S++)g[S]===0&&(p[m++]=S);for(let S=0;S<m;S++){let R=p[S];for(let N=l[R];N<l[R+1];N++){let D=c[N],O=o[D];h[R]+n[D]>h[O]&&(h[O]=h[R]+n[D]),--g[O]===0&&(p[m++]=O)}}for(let S=0;S<8;S++){let R=!1;for(let N=m-1;N>=0;N--){let D=p[N],O=u[D+1]-u[D],H=l[D+1]-l[D];if(O===0&&H===0)continue;let U=-1/0,k=1/0;for(let X=u[D];X<u[D+1];X++){let P=f[X];U=Math.max(U,h[s[P]]+n[P])}for(let X=l[D];X<l[D+1];X++){let P=c[X];k=Math.min(k,h[o[P]]-n[P])}let j=h[D];H>O&&k!==1/0?j=k:O>H&&U!==-1/0&&(j=U),j!==h[D]&&(h[D]=j,R=!0)}if(!R)break}let x=1/0,y=-1/0,C=!1;for(let S=0;S<a;S++){let R=e[S].kind;R===3&&(C=!0),!(R===3||R===4)&&(h[S]<x&&(x=h[S]),h[S]>y&&(y=h[S]))}x===1/0&&(x=0,y=0);for(let S=0;S<a;S++)e[S].kind===3?h[S]=x-r:e[S].kind===4&&(h[S]=y+r);C&&(x-=r);for(let S=0;S<a;S++)e[S].rank=h[S]-x}function I3(e,t,r,a,i,s,o){let n=r===0?e.predStart:e.succStart,l=r===0?e.predE:e.succE,u=r===0?e.EF:e.ET,c=e.pos;for(let p=n[t];p<n[t+1];p++)i[l[p]]!==0&&s.push(l[p]);if(s.length<2)return 0;s.sort((p,m)=>c[u[p]]-c[u[m]]||p-m);let f=p=>{let m=0;o[0]=0;for(let x=1;x<s.length;x++){let y=i[s[x]]===i[s[x-1]];o[x]=p(y&&i[s[x]]===1,y),m+=o[x]}return m},h=f(()=>1);if(a/h<S3&&(h=f(p=>p?.5:1)),a/h<S3&&(h=f((p,m)=>m?0:1)),h===0)return 0;let g=Math.min(wm,a/h);for(let p=1;p<s.length;p++)o[p]*=g;return h*g}function kN(e,t,r,a){let{real:i,W:s,EFD:o,ETD:n}=e;for(let l=0;l<i;l++){let u=Math.min(t[l].span,s[l]);if(!(u<=0||t[l].kind!==0))for(let c=0;c<2;c++){let f=[],h=[],g=I3(e,l,c,u,c===0?a:r,f,h);if(g===0)continue;let p=c===0?n:o,m=-g/2;for(let x=0;x<f.length;x++)m+=h[x],p[f[x]]=m}}}function K0(e,t,r,a){if(!t)return r;let{KIND:i,RANK:s,EF:o,ET:n,succStart:l,succE:u,predStart:c,predE:f}=e;for(let h=0;h<1e5;h++){let g=a===0?o[r]:n[r];if(i[g]!==1||!t[s[g]])break;r=a===0?f[c[g]]:u[l[g]]}return r}function $N(e,t,r){let a=[new Int32Array(e.n),new Int32Array(e.n)];for(let i=0;i<e.EF.length;i++)r[i]!==0&&a[0][e.ET[i]]++,t[i]!==0&&a[1][e.EF[i]]++;return a}function Sc(e,t){return Math.max(.25,Math.min(.5,4*Math.abs(t)/(Math.abs(e)||1)))}function TN(e,t,r,a,i,s){let o=i.edgeSep,{n,real:l,maxRank:u,KIND:c,RANK:f,W:h,EF:g,ET:p,EFD:m,ETD:x,succStart:y,succE:C,predStart:S,predE:R,layerStart:N,order:D,pos:O}=e,H=F=>c[F]===2||c[F]===1&&!(s!==void 0&&s[f[F]]===1),U=(F,I)=>{let $=I===0?g[F]:p[F];return[I===0?r[$]+m[F]:r[$]+x[F],$<l&&t[$].kind===0?a[1-I][$]:0]},k=F=>{let I=N[f[F]],$=I+O[F],w=A=>h[A]/2+h[F]/2+(c[A]===0?i.nodeSep/2+o/2:c[A]===c[F]?o:o/2);return[$>I?r[D[$-1]]+w(D[$-1]):-1/0,$+1<N[f[F]+1]?r[D[$+1]]-w(D[$+1]):1/0]},j=(F,I,$,w,A)=>{let v=(I[1]!==$[1]?I[1]<$[1]:Math.abs(I[0]-F)<=Math.abs($[0]-F))?[I[0],$[0]]:[$[0],I[0]];return v.find(b=>b>=w&&b<=A)??Math.max(w,Math.min(A,v[0]))},X=new Uint8Array(n),P=[];for(let F=1;F<u;F++)for(let I=N[F];I<N[F+1];I++){if(!H(D[I])||X[D[I]])continue;let $=D[I];for(;bl(c[g[R[S[$]]]]);)$=g[R[S[$]]];let w=$,A=-1/0,v=1/0;P.length=0;for(let b=$;bl(c[b]);b=p[C[y[b]]]){if(w=b,!H(b))continue;X[b]=1,P.push(b);let[T,M]=k(b);T>A&&(A=T),M<v&&(v=M)}if(A<=v){let b=j(r[P[0]],U(R[S[$]],0),U(C[y[w]],1),A,v);for(let T of P)r[T]=b;continue}for(let b of P){let[T,M]=k(b);T>M||(r[b]=j(r[b],U(K0(e,s,R[S[b]],0),0),U(K0(e,s,C[y[b]],1),1),T,M))}}}function IN(e,t,r,a,i,s,o){let{real:n,W:l,EF:u,ET:c,EFD:f,ETD:h,succStart:g,succE:p,predStart:m,predE:x,pos:y}=e,C=(R,N,D,O,H)=>{if(s[N][D]<2)return 0;R=K0(e,o,R,N);let U=N===0?u[R]:c[R],k=N===0?r[U]+f[R]:r[U]+h[R];if(H&&Math.abs(k-r[D])<=O/2+hs)return Math.max(-O/2,Math.min(O/2,k-r[D]));let j=k,X=0;U<n&&t[U].kind===0&&(N===0?a:i)[R]!==0&&s[1-N][U]>=2&&(X=Math.max(0,Math.min(t[U].span,l[U])),X>0&&(j=r[U]));let P=Math.max(r[D]-O/2,j-X/2),F=Math.min(r[D]+O/2,j+X/2);if(P>F+hs){let $=Math.max(0,O/2-MN);return Math.max(-$,Math.min($,k-r[D]))}let I=(r[D]*X+j*O)/(X+O);return Math.max(P,Math.min(F,I))-r[D]},S=[];for(let R=0;R<n;R++){let N=Math.min(t[R].span,l[R]);if(!(N<=0||t[R].kind!==0))for(let D=0;D<2;D++){let O=D===0?u:c,H=D===0?m:g,U=D===0?x:p,k=[],j=[];if(I3(e,R,D,N,D===0?i:a,k,j),k.length===0)continue;k.length===1&&(j[0]=0);let X=[];for(let P=H[R];P<H[R+1];P++)X.push(U[P]);X.sort((P,F)=>y[O[P]]-y[O[F]]||P-F),S.push({v:R,side:D,span:N,ids:k,room:j,all:X})}}for(let R=0,N=!0;N&&R<6;R++){N=!1;for(let{v:D,side:O,span:H,ids:U,room:k,all:j}of S){let X=O===0?i:a,P=O===0?h:f,F=0,I=-H/2;for(let $=0;$<=j.length;$++){let w=$<j.length&&X[j[$]]===0;if($<j.length&&!w)continue;let A=0;for(let b=$-1;b>=0&&X[j[b]]!==0;b--)A++;let v=w?P[j[$]]-wm:H/2;if(A>0){let b=[],T=[],M=0;for(let G=0;G<A;G++){G>0&&(M+=k[F+G]),b.push(C(U[F+G],O,D,H,R>0)-M),T.push(1);let K=G>0&&k[F+G]===0;for(;b.length>1&&(K||b[b.length-2]/T[T.length-2]>b[b.length-1]/T[T.length-1]);){K=!1;let L=b.pop(),_=T.pop();b[b.length-1]+=L,T[T.length-1]+=_}}let E=M,Y=0;M=0;for(let G=0;G<b.length;G++){let K=v-E<I?(I+v-E)/2:Math.max(I,Math.min(v-E,b[G]/T[G]));for(let L=0;L<T[G];L++,Y++)Y>0&&(M+=k[F+Y]),Math.abs(P[U[F+Y]]-K-M)>.01&&(N=!0),P[U[F+Y]]=K+M}F+=A}w&&(I=P[j[$]]+wm)}}}}function NN(e,t,r,a){let{n:i,KIND:s,RANK:o,EF:n,ET:l,EFD:u,ETD:c,layerStart:f,order:h,pos:g}=e,p=k=>r!==void 0&&s[k]===1&&r[o[k]]===1,m=[],x=[],y=[],C=[];for(let k=0;k<n.length;k++){if(p(n[k]))continue;let j=K0(e,r,k,1);m.push(n[k]),x.push(l[j]),y.push(u[k]),C.push(c[j])}let S=k=>t[x[k]]+C[k]-t[m[k]]-y[k],R=new Int32Array(i),N=[];for(let k=0;k<i;k++)R[k]=k,N.push([k]);let D=(k,j)=>{let X=R[k],P=R[j];if(X!==P){N[X].length<N[P].length&&([X,P]=[P,X]);for(let F of N[P])R[F]=X,N[X].push(F);N[P]=[]}},O=[];for(let k=0;k<m.length;k++){let j=Math.abs(S(k));j<.01?D(m[k],x[k]):j<=v3&&O.push(k)}if(O.length===0)return;O.sort((k,j)=>Math.abs(S(k))-Math.abs(S(j))||k-j);let H=k=>N3(e,a,k),U=(k,j)=>{for(let X of N[k]){let P=f[o[X]],F=f[o[X]+1],I=P+g[X];if(I>P&&R[h[I-1]]!==k&&t[X]+j-t[h[I-1]]<H(X)+H(h[I-1])-.01||I+1<F&&R[h[I+1]]!==k&&t[h[I+1]]-t[X]-j<H(X)+H(h[I+1])-.01)return!1}return!0};for(let k of O){let j=S(k);if(Math.abs(j)<.01){D(m[k],x[k]);continue}if(Math.abs(j)>v3||R[m[k]]===R[x[k]])continue;let X=R[m[k]],P=R[x[k]],F=N[X].length<=N[P].length?X:P;for(let I of[F,F===X?P:X]){let $=I===X?j:-j;if(U(I,$)){for(let w of N[I])t[w]+=$;D(m[k],x[k]);break}}}}function DN(e){let{maxRank:t,KIND:r,layerStart:a,order:i}=e,s=new Uint8Array(t+1),o=!1;for(let n=1;n<t;n++){let l=a[n+1]>a[n];for(let u=a[n];l&&u<a[n+1];u++)r[i[u]]!==1&&(l=!1);l&&(s[n]=1,o=!0)}return o?s:void 0}function RN(e,t,r,a,i){let{from:s,to:o,rank:n,track:l,levels:u,wide:c}=e,f=s.length,h=new Map;for(let k=0;k<f;k++){if(l.push(-1),u.push(0),Math.abs(s[k]-o[k])<hs)continue;let j=h.get(n[k]);j?j.push(k):h.set(n[k],[k])}if(h.size===0)return;let g=new Float64Array(f),p=new Float64Array(f);for(let k=0;k<f;k++)g[k]=Math.min(s[k],o[k]),p[k]=Math.max(s[k],o[k]);let m=(k,j)=>k>=g[j]-hs&&k<=p[j]+hs?1:0,x=(k,j)=>Math.abs(s[k]-s[j])<hs||Math.abs(o[k]-o[j])<hs,y=(k,j)=>g[k]<p[j]-hs&&g[j]<p[k]-hs,C=(k,j)=>y(k,j)&&!x(k,j),S=(k,j)=>y(k,j)||m(o[k],j)+m(s[j],k)+m(o[j],k)+m(s[k],j)>0,R=(k,j)=>m(o[k],j)+m(s[j],k),N=k=>{let j=k.map((P,F)=>F).sort((P,F)=>g[k[P]]-g[k[F]]),X=[];for(let P=0;P<j.length;P++){let F=j[P],I=p[k[F]]+4*hs;for(let $=P+1;$<j.length&&g[k[j[$]]]<=I;$++){let w=j[$];X.push(Math.min(F,w),Math.max(F,w))}}return X},D=k=>{k.sort((Y,G)=>p[G]-g[G]-(p[Y]-g[Y])||g[Y]-g[G]||Y-G);let j=k.length,X=[],P=k.map((Y,G)=>G),F=Y=>{for(;P[Y]!==Y;)Y=P[Y]=P[P[Y]];return Y},I=j<=k3,$=I?N(k):[],w=I?k.map(()=>[]):[];for(let Y=0;Y<$.length;Y+=2){let G=$[Y],K=$[Y+1];C(k[G],k[K])&&(w[G].push(K),w[K].push(G))}let A=k.map((Y,G)=>G);if(I){let Y=new Int32Array(j),G=[];for(let L=0;L<j;L++)X.push([]),G.push([]);for(let L=0;L<$.length;L+=2){let _=$[L],B=$[L+1],q=k[_],Q=k[B];if(!S(q,Q))continue;P[F(_)]=F(B);let Z=R(q,Q),J=R(Q,q);if(Z===J)continue;let W=Z<J?_:B,V=Z<J?B:_;X[V].push(W),G[W].push(V),Y[V]++}let K=new Uint8Array(j);A=[];for(let L=0;L<j;L++){let _=-1;for(let B=0;B<j&&!(!K[B]&&((_<0||Y[B]<Y[_])&&(_=B),Y[B]===0));B++);K[_]=1,A.push(_);for(let B of G[_])Y[B]--}}let v=new Set,b=[],T=0;for(let Y of A){let G=k[Y],K=0;for(let L of X[Y]??[])l[k[L]]>=K&&(K=l[k[L]]+1);if(I){v.clear();for(let L of w[Y])v.add(l[k[L]]);for(;v.has(K);)K++}else{for(;b[K]?.some(L=>C(G,L));)K++;(b[K]??=[]).push(G)}l[G]=K,K>=T&&(T=K+1)}let M=new Int32Array(j).fill(T),E=new Int32Array(j).fill(-1);for(let Y=0;Y<j;Y++){let G=F(Y);M[G]=Math.min(M[G],l[k[Y]]),E[G]=Math.max(E[G],l[k[Y]])}for(let Y=0;Y<j;Y++){let G=F(Y);u[k[Y]]=E[G]-M[G]+1,r&&(l[k[Y]]-=M[G])}return T},O=(k,j,X)=>{let P=Sc(o[k]-s[k],j);for(let F=0;F<=Al;F++){let I=F/Al,$=1-I;X[2*F]=s[k]+(o[k]-s[k])*I*I*(3-2*I),X[2*F+1]=j*(3*P*I*$*$+3*(1-P)*I*I*$+I*I*I)}},H=(k,j,X)=>{let P=X*X*1.000000001;for(let F=0;F<=Al;F++){let I=k[2*F],$=k[2*F+1];for(let w=0;w<Al;w++){let A=j[2*w+2]-j[2*w],v=j[2*w+3]-j[2*w+1],b=Math.max(0,Math.min(1,((I-j[2*w])*A+($-j[2*w+1])*v)/(A*A+v*v||1))),T=I-j[2*w]-b*A,M=$-j[2*w+1]-b*v;if(T*T+M*M<P&&Math.hypot(T,M)<X)return!0}}return!1},U=(k,j,X,P)=>{let F=Math.max(X/2,X-2*SN);return O(k,F,ym),O(j,F,xm),H(ym,xm,P)||H(xm,ym,P)};for(let[k,j]of h){if(!r){t[k]=D(j);continue}if(j.length>k3)continue;let X=j.filter(b=>c[b]===1);D(X);let P=new Set(X.filter(b=>u[b]>1)),F=N(j);for(let b=0;b<F.length;b+=2){let T=j[F[b]],M=j[F[b+1]];P.has(T)&&P.has(M)||!C(T,M)||s[T]<o[T]!=s[M]<o[M]||U(T,M,a[k],c[T]===1||c[M]===1?EN:CN)&&P.add(T).add(M)}for(let b of X)l[b]=-1,u[b]=0;if(P.size===0)continue;let I=0,$=0,w=new Set;for(let b=0;b<F.length;b+=2){let T=j[F[b]],M=j[F[b+1]];if(P.has(T)&&P.has(M)){if(!y(T,M))continue;s[T]<o[T]!=s[M]<o[M]?I++:x(T,M)||$++}else(P.has(T)||P.has(M))&&S(T,M)&&w.add(T).add(M)}if(I>$){for(let b of j)(p[b]-g[b])*M3>i[k]&&(i[k]=(p[b]-g[b])*M3);continue}let A=j.filter(b=>P.has(b)||c[b]!==1&&w.has(b));D(A);let v=0;for(let b of A)u[b]>v&&(v=u[b]);t[k]=v}}function _N(e,t,r,a,i,s,o){let{maxRank:n,EF:l,ET:u,EFD:c,ETD:f,succStart:h,succE:g,predStart:p,predE:m,layerStart:x,order:y}=e,C=new Float64Array(t.length),S=new Float64Array(t.length),R=new Float64Array(t.length);for(let D=0;D<a.length;D++){let O=a[D];if(O<0)continue;let H=O+i[D]-1,U=e.RANK[O];for(let k=O;k<H;k++){if(!r[U+k-O])continue;let j=k;for(;j+1<H&&r[U+j+1-O];)j++;let X=m[p[k]],P=g[h[j]],F=t[l[X]]+c[X],I=t[u[P]]+f[P],$=j-k+2;for(let w=k;w<=j;w++)C[w]=F+(I-F)*(w-k+1)/$,S[w]=F,R[w]=I;k=j}}let N=[];for(let D=1;D<n;D++){if(!r[D])continue;let O=x[D],H=x[D+1],U=Array.from(y.subarray(O,H)).sort((k,j)=>S[k]-S[j]||R[k]-R[j]||k-j);for(let k=0;k<U.length;){N.length=0;let j=k;for(;j<U.length&&Math.abs(S[U[j]]-S[U[k]])<1&&Math.abs(R[U[j]]-R[U[k]])<1;j++)N.push(U[j]);N.sort((X,P)=>e.pos[X]-e.pos[P]);for(let X=0;X<N.length;X++){let P=N[X];t[P]=C[P]+(X-(N.length-1)/2)*s,(N.length===1||s===0)&&(o[P]=1)}k=j}}}function LN(e,t,r,a,i,s){let{maxRank:o,W:n,KIND:l,RANK:u,EF:c,ET:f,EFD:h,ETD:g,succStart:p,succE:m,predStart:x,predE:y,layerStart:C,order:S}=e,R=new Uint8Array(o+1),N=!1;for(let D=1;D<o;D++){let O=!1,H=!1;for(let U=C[D];U<C[D+1];U++){let k=l[S[U]];k===2?O=!0:k!==1&&(H=!0)}O&&!H&&(R[D]=1,N=!0)}if(N)for(let D=0;D<r.length;D++){let O=r[D];if(!(O<0))for(let H=O,U=O+a[D]-1;H<U;H++){if(l[H]!==1||!R[u[H]])continue;let k=H,j=H;for(;k>O&&s[k-1];)k--;for(;j+1<U&&s[j+1];)j++;let X=y[x[k]],P=m[p[j]],F=t[c[X]]+h[X],I=t[f[P]]+g[P],$=Math.min(F,I)-i,w=Math.max(F,I)+i,A=!0,v=u[H];for(let T=C[v];A&&T<C[v+1];T++){let M=S[T];l[M]===2&&t[M]+n[M]/2>$&&t[M]-n[M]/2<w&&(A=!1)}if(!A)continue;s[H]=1;let b=j-k+2;for(let T=k;T<=j;T++)t[T]=F+(I-F)*(T-k+1)/b}}}function ON(e,t){let{n:r,real:a,maxRank:i,W:s,EF:o,ET:n,EFD:l,ETD:u,succStart:c,succE:f,predStart:h,predE:g,layerStart:p,order:m,pos:x,offsets:y,fixed:C,GRP:S,groupParent:R}=e,N=0;for(let ie=0;ie<=i;ie++)N=Math.max(N,p[ie+1]-p[ie]);if(N<2)return[0,0];let D=y?new Int32Array(o.length):void 0,O=new Int32Array(D?o.length:0),H=new Int32Array(D?r:0),U=D?f.slice():f,k=new Uint8Array(D?r:0);if(D){let ie=g.slice(),se=(ee,te,he,me)=>{for(let oe=te+1;oe<he;oe++)if(me[ee[oe]]!==me[ee[te]])return ee.subarray(te,he).sort((be,de)=>me[be]-me[de]),!0;return!1};for(let ee=0;ee<r;ee++){if(H[ee]=1,se(ie,h[ee],h[ee+1],u))for(let te=h[ee]+1;te<h[ee+1];te++)u[ie[te]]!==u[ie[te-1]]&&H[ee]++,O[ie[te]]=H[ee]-1;se(U,c[ee],c[ee+1],l)&&(k[ee]=1)}}let j=1;for(;j<(D?N+o.length:N);)j<<=1;let X=new Int32Array(2*j),P=new Int32Array(o.length),F=()=>{let ie=0;for(let se=0;se<i;se++){let ee=p[se+2]-p[se+1];if(D){let me=0;for(let oe=p[se+1];oe<p[se+2];oe++){let be=m[oe];for(let de=h[be];de<h[be+1];de++)D[g[de]]=me+O[g[de]];me+=H[be]}ee=me}if(ee<2)continue;let te=0;for(let me=p[se];me<p[se+1];me++){let oe=m[me],be=c[oe],de=c[oe+1],pe=te;for(let ve=be;ve<de;ve++)P[te++]=D?D[U[ve]]:x[n[f[ve]]];let Ee=te-pe;if(!(Ee<2))if(D&&k[oe])for(let ve=pe+1;ve<te;ve++){let le=P[ve],fe=l[U[be+ve-pe]],Ae=ve-1;for(;Ae>=pe&&l[U[be+Ae-pe]]===fe&&P[Ae]>le;)P[Ae+1]=P[Ae],Ae--;P[Ae+1]=le}else if(Ee<=12)for(let ve=pe+1;ve<te;ve++){let le=P[ve],fe=ve-1;for(;fe>=pe&&P[fe]>le;)P[fe+1]=P[fe],fe--;P[fe+1]=le}else P.subarray(pe,te).sort()}if(te<2)continue;let he=1;for(;he<ee;)he<<=1;X.fill(0,0,2*he);for(let me=0;me<te;me++){let oe=P[me]+he;for(X[oe]++;oe>1;)!(oe&1)&&(ie+=X[oe+1]),oe>>=1,X[oe]++}}return ie},I=F(),$=new Float64Array(r),w=new Int32Array(N),A=new Int32Array(N),v=R?R.length:0,b=new Int32Array(v);for(let ie=0;ie<v;ie++)for(let se=ie;se>=0;se=R[se])b[ie]++;let T=new Float64Array(v),M=new Int32Array(v),E=new Int32Array(v),Y=(ie,se)=>{let ee=p[ie],te=p[ie+1];for(let de=ee;de<te;de++)for(let pe=S[m[de]];pe>=0;pe=R[pe])T[pe]=0,M[pe]=0;for(let de=ee;de<te;de++){let pe=m[de];for(let Ee=S[pe];Ee>=0;Ee=R[Ee])M[Ee]===0&&(E[Ee]=de),T[Ee]+=se[pe],M[Ee]++}let he=de=>de>=r?T[de-r]/M[de-r]:se[de],me=de=>de>=r?E[de-r]:ee+x[de],oe=(de,pe)=>{let Ee=de,ve=pe,le=S[de],fe=S[pe],Ae=le<0?0:b[le],Ie=fe<0?0:b[fe];for(;Ae>Ie;Ae--)Ee=r+le,le=R[le];for(;Ie>Ae;Ie--)ve=r+fe,fe=R[fe];for(;le!==fe;)Ee=r+le,le=R[le],ve=r+fe,fe=R[fe];return he(Ee)-he(ve)||me(Ee)-me(ve)},be=Array.from(m.subarray(ee,te)).sort(oe);m.set(be,ee);for(let de=ee;de<te;de++)x[m[de]]=de-ee};if(S){let ie=new Float64Array(r);for(let se=0;se<=i;se++){for(let ee=p[se];ee<p[se+1];ee++)ie[m[ee]]=ee-p[se];Y(se,ie)}}let G=S?F():I;if(G===0)return[0,I];let K=m.slice(),L=Math.min(G,I),_=(ie,se)=>{let ee=ie?h:c,te=ie?g:f,he=ie?o:n,me=ie?l:u;for(let oe=1;oe<=i;oe++){let be=ie?oe:i-oe;if(C[be])continue;let de=p[be],pe=p[be+1],Ee=0;for(let le=de;le<pe;le++){let fe=m[le],Ae=fe<a?t[fe].pin:0;if(Ae!==0){$[fe]=Ae*1e9,w[Ee++]=fe;continue}let Ie=ee[fe],Re=ee[fe+1];if(Ie===Re){if(S){let ue=ie?p[be]-p[be-1]:p[be+2]-p[be+1];$[fe]=(le-de)*ue/(pe-de);continue}$[fe]=-1;continue}let Pe=0;for(let ue=Ie;ue<Re;ue++){let we=he[te[ue]];Pe+=x[we],y&&s[we]>0&&(Pe+=me[te[ue]]/s[we])}$[fe]=Pe/(Re-Ie),w[Ee++]=fe}if(S){Y(be,$);continue}if(Ee<2)continue;vN(w,Ee,$,x,se,A);let ve=0;for(let le=de;le<pe;le++)$[m[le]]!==-1&&(m[le]=w[ve++]);for(let le=de;le<pe;le++)x[m[le]]=le-de}},B=()=>{let ie=0;for(let se=0;se<=i;se++)for(let ee=p[se];ee<p[se+1];ee++)if(!(m[ee]>=a))for(let te=ee+1;te<p[se+1];te++)m[te]<m[ee]&&ie++;return ie},q=()=>{for(let ie=0;ie<=i;ie++)for(let se=p[ie];se<p[ie+1];se++)x[m[se]]=se-p[ie]},Q=ie=>ie<a?t[ie].pin:0,Z=(ie,se)=>{let ee=se?o[ie]:n[ie];return y&&s[ee]>0?x[ee]+(se?l[ie]:u[ie])/s[ee]:x[ee]},J=(ie,se)=>{let ee=0;for(let te=h[ie];te<h[ie+1];te++){let he=Z(g[te],!0);for(let me=h[se];me<h[se+1];me++)he>Z(g[me],!0)&&ee++}for(let te=c[ie];te<c[ie+1];te++){let he=Z(f[te],!1);for(let me=c[se];me<c[se+1];me++)he>Z(f[me],!1)&&ee++}return ee},W=()=>{for(let ie=0;ie<8;ie++){let se=!1;for(let ee=0;ee<=i;ee++){if(C[ee])continue;let te=p[ee];for(let he=te;he+1<p[ee+1];he++){let me=m[he],oe=m[he+1];Q(me)!==Q(oe)||S&&S[me]!==S[oe]||J(oe,me)>=J(me,oe)||(m[he]=oe,m[he+1]=me,x[oe]=he-te,x[me]=he+1-te,se=!0)}}if(!se)break}},V=m.slice(),re=r<=600,ne=K,ce=1/0;for(let ie=0;ie<(re?2:1);ie++){ie>0&&(m.set(V),q());let se=L,ee=V.slice();for(let he=0,me=0;me<4&&he<gN;he++,me++){_((he+ie)%2===0,he%4>=2);let oe=F();if(oe<se&&(se=oe,ee.set(m),me=0,oe===0))break}if(m.set(ee),re&&se>0){q(),W();let he=F();he<se&&(se=he,ee.set(m))}let te=re?B():0;(ie===0||se<G||se===G&&te<ce)&&(G=se,ne=ee,ce=te)}if(m.set(ne),q(),K.set(ne),S&&(G=F()),!re)return[G,I];for(let ie=0;ie<a;ie++)if(t[ie].pin!==0)return[G,I];if(ce===0||C[0]||C[i])return[G,I];for(let ie=0;ie<=i;ie++)m.subarray(p[ie],p[ie+1]).reverse();return q(),(F()>G||B()>=ce)&&m.set(K),[G,I]}function N3(e,t,r){return e.W[r]/2+(e.KIND[r]===0?t.nodeSep:t.edgeSep)/2}function T3(e,t){let{n:r,maxRank:a,W:i,KIND:s,EF:o,ET:n,EFD:l,ETD:u,succStart:c,succE:f,predStart:h,predE:g,layerStart:p,order:m,pos:x}=e,y=o.length,C=new Float64Array(r);for(let E=0;E<r;E++)C[E]=N3(e,t,E);let S=new Int32Array(y);for(let E=0;E<y;E++)S[E]=x[n[E]];for(let E=0;E<r;E++)c[E+1]-c[E]>1&&$3(f,c[E],c[E+1],S);for(let E=0;E<y;E++)S[E]=x[o[E]];for(let E=0;E<r;E++)h[E+1]-h[E]>1&&$3(g,h[E],h[E+1],S);let R=new Uint8Array(y);for(let E=1;E<=a;E++){let Y=p[E]-p[E-1],G=p[E],K=p[E+1],L=0,_=G;for(let B=G;B<K;B++){let q=m[B],Q=-1;if(bl(s[q])){let J=o[g[h[q]]];bl(s[J])&&(Q=J)}let Z=Q>=0?x[Q]:Y;if(Q>=0||B===K-1){for(let J=_;J<=B;J++){let W=m[J],V=bl(s[W]);for(let re=h[W];re<h[W+1];re++){let ne=g[re],ce=x[o[ne]];(ce<L||Z<ce)&&!(V&&bl(s[o[ne]]))&&(R[ne]=1)}}_=B+1,L=Z}}}let N=[],D=new Int32Array(r),O=new Int32Array(r),H=new Float64Array(r),U=new Int32Array(r),k=new Int32Array(r),j=new Float64Array(r),X=new Int32Array(r),P=new Int32Array(r+1),F=new Int32Array(r),I=new Int32Array(r),$=new Int32Array(r),w=new Float64Array(r);for(let E=0;E<4;E++){let Y=E<2,G=(E&1)===1,K=Y?h:c,L=Y?g:f,_=Y?o:n,B=Y?u:l,q=Y?l:u;for(let W=0;W<r;W++)D[W]=W,O[W]=W,H[W]=0,X[W]=0,P[W+1]=0,w[W]=0;for(let W=0;W<=a;W++){let V=Y?W:a-W,re=p[V],ne=p[V+1],ce=Y?V-1:V+1,ie=ce>=0&&ce<=a?p[ce+1]-p[ce]-1:0,se=-1;for(let ee=G?ne-1:re;G?ee>=re:ee<ne;G?ee--:ee++){let te=m[ee],he=K[te],me=K[te+1]-he;if(me===0)continue;let oe=he+(me-1>>1),be=he+(me>>1);for(let de=0;de<2&&!(de===1&&oe===be);de++){let pe=L[de===0!==G?oe:be],Ee=_[pe],ve=G?ie-x[Ee]:x[Ee];O[te]===te&&se<ve&&R[pe]===0&&(O[Ee]=te,O[te]=D[te]=D[Ee],H[te]=H[Ee]+q[pe]-B[pe],se=ve)}}}let Q=0;for(let W=0;W<=a;W++){let V=p[W],re=p[W+1];for(let ne=V+1;ne<re;ne++){let ce=G?m[ne]:m[ne-1],ie=G?m[ne-1]:m[ne],se=C[ce]+C[ie];U[Q]=D[ce],k[Q]=D[ie],j[Q]=G?se-H[ce]+H[ie]:se+H[ce]-H[ie],X[D[ie]]++,P[D[ce]+1]++,Q++}}for(let W=0;W<r;W++)P[W+1]+=P[W];for(let W=0;W<r;W++)I[W]=P[W];for(let W=0;W<Q;W++)F[I[U[W]]++]=W;let Z=0;for(let W=0;W<r;W++)D[W]===W&&X[W]===0&&($[Z++]=W);for(let W=0;W<Z;W++){let V=$[W];for(let re=P[V];re<P[V+1];re++){let ne=F[re],ce=k[ne];w[V]+j[ne]>w[ce]&&(w[ce]=w[V]+j[ne]),--X[ce]===0&&($[Z++]=ce)}}for(let W=Z-1;W>=0;W--){let V=$[W],re=1/0;for(let ne=P[V];ne<P[V+1];ne++){let ce=F[ne],ie=w[k[ce]]-j[ce];ie<re&&(re=ie)}re!==1/0&&re>w[V]&&(w[V]=re)}let J=new Float64Array(r);for(let W=0;W<r;W++)J[W]=(G?-w[D[W]]:w[D[W]])+H[W];N.push(J)}let A=0,v=1/0,b=[],T=[];for(let E=0;E<4;E++){let Y=1/0,G=-1/0,K=N[E];for(let L=0;L<r;L++){let _=i[L]/2;K[L]-_<Y&&(Y=K[L]-_),K[L]+_>G&&(G=K[L]+_)}b.push(Y),T.push(G),G-Y<v&&(v=G-Y,A=E)}for(let E=0;E<4;E++){let Y=E&1?T[A]-T[E]:b[A]-b[E];if(Y!==0){let G=N[E];for(let K=0;K<r;K++)G[K]+=Y}}let M=new Float64Array(r);for(let E=0;E<r;E++){let Y=N[0][E],G=N[1][E],K=N[2][E],L=N[3][E],_;Y>G&&(_=Y,Y=G,G=_),K>L&&(_=K,K=L,L=_),Y>K&&(_=Y,Y=K,K=_),G>L&&(_=G,G=L,L=_),G>K&&(_=G,G=K,K=_),M[E]=(G+K)/2}return M}function z0(){let e=new Map;return{add(t,r,a){let i=wt(a);r>=0&&i>0&&i+yc>(e.get(t*4+r)??0)&&e.set(t*4+r,i+yc)},of:(t,r)=>r>=0?e.get(t*4+r)??0:0}}function ya(e,t,r,a,i=r>0?r+yc:0,s=a>0?a+yc:0){let o=t==="linear",n=t==="step"||t==="stepBefore"||t==="stepAfter",l=[],u=[],c=[],f=(A,v,b,T)=>Math.abs(A-b)<.01&&Math.abs(v-T)<.01;for(let A=0;A<e.length;A+=3){let v=e[A],b=e[A+1],T=e[A+2],M=l.length-1;if(n&&M>=0&&Math.abs(v-l[M])>=.01&&Math.abs(b-u[M])>=.01){let E=l[M],Y=u[M],G=t==="stepBefore"?Y:t==="stepAfter"?b:(Y+b)/2,K=t==="stepBefore"?E:t==="stepAfter"?v:(E+v)/2,L=T===0?[E,G,v,G]:[K,Y,K,b];for(let _=0;_<4;_+=2)f(L[_],L[_+1],E,Y)||f(L[_],L[_+1],v,b)||(l.push(L[_]),u.push(L[_+1]),c.push(T))}l.push(v),u.push(b),c.push(T)}let h=l.length-1,g=A=>Math.abs(l[A]-l[A-1])<.01||Math.abs(u[A]-u[A-1])<.01,p=A=>o||g(A),m=(A,v,b)=>{if(!p(Math.max(A,v)))return b===0?[0,Math.sign(u[v]-u[A])||1]:[Math.sign(l[v]-l[A])||1,0];let T=l[v]-l[A],M=u[v]-u[A],E=Math.hypot(T,M)||1;return[T/E,M/E]},[x,y]=m(0,1,c[1]),[C,S]=m(h-1,h,c[h]),R=l[0],N=u[0],D=l[h],O=u[h];l[0]+=x*r,u[0]+=y*r,l[h]-=C*a,u[h]-=S*a;let H=A=>Math.abs(l[A]-l[A-1])+Math.abs(u[A]-u[A-1]),U=A=>!o&&A>0&&A<h&&g(A)&&g(A+1)&&H(A)>=.01&&H(A+1)>=.01&&Math.abs(l[A]-l[A-1])<.01!=Math.abs(l[A+1]-l[A])<.01,k=(A,v,b)=>Math.abs(l[A]-l[A-1])*Math.abs(v)+Math.abs(u[A]-u[A-1])*Math.abs(b),j=(A,v,b)=>{let T=Math.min(Math.max(0,A-yc-v),b/4);return T+Math.min(A-v-T,(b-T)/4)},X=s>a&&(!p(h)||U(h-1))?j(s,a,k(h,C,S)):0,P=i>r&&(!p(1)||U(1))?j(i,r,k(1,x,y)):0;X>=1&&(l.splice(h,0,l[h]-C*X),u.splice(h,0,u[h]-S*X),c.splice(h,0,c[h]),h++),P>=1&&(l.splice(1,0,l[0]+x*P),u.splice(1,0,u[0]+y*P),c.splice(1,0,c[1]),h++);let F=`M${d(l[0])},${d(u[0])}`,I=l[0],$=u[0],w=(A,v)=>{f(A,v,I,$)||(F+=`L${d(A)},${d(v)}`,I=A,$=v)};for(let A=1;A<=h;A++){let v=l[A],b=u[A];if(!p(A)){let L=c[A]===0,_=L?b-$:v-I,B=Math.abs(_)*Sc(L?v-I:b-$,_),q=L?0:Math.sign(_)*B,Q=L?Math.sign(_)*B:0;F+=`C${d(I+q)},${d($+Q)} ${d(v-q)},${d(b-Q)} ${d(v)},${d(b)}`,I=v,$=b;continue}if(!U(A)){if(A<h&&g(A)&&g(A+1)&&(v-l[A-1])*(l[A+1]-v)+(b-u[A-1])*(u[A+1]-b)>0)continue;w(v,b);continue}let T=U(A-1)?H(A)/2:H(A),M=U(A+1)?H(A+1)/2:H(A+1);n&&(T=M=Math.min(BN,T,M));let[E,Y]=m(A-1,A,c[A]),[G,K]=m(A,A+1,c[A+1]);w(v-E*T,b-Y*T),I=v+G*M,$=b+K*M,n?F+=`Q${d(v)},${d(b)} ${d(I)},${d($)}`:F+=`C${d(v-E*T*(1-Y0))},${d(b-Y*T*(1-Y0))} ${d(v+G*M*(1-Y0))},${d(b+K*M*(1-Y0))} ${d(I)},${d($)}`}return{d:F,sx:R,sy:N,sdx:-x,sdy:-y,ex:D,ey:O,edx:C,edy:S}}function wt(e){return e==="arrow_point"?er-1:e==="arrow_circle"?er:e==="arrow_cross"?4:0}function vt(e,t,r,a,i,s){let o=-i,n=a;if(e==="arrow_point"){let l=t-a*er,u=r-i*er,c=er*.42;return`<path class="pele-marker" d="M${d(t)},${d(r)}L${d(l+o*c)},${d(u+n*c)}L${d(l-o*c)},${d(u-n*c)}Z" fill="${s}" stroke="none"/>`}if(e==="arrow_circle")return`<circle class="pele-marker" cx="${d(t-a*4)}" cy="${d(r-i*4)}" r="3.5" fill="${s}" stroke="none"/>`;if(e==="arrow_cross"){let l=t-a*4,u=r-i*4,c=3.5,f=(a+o)*c,h=(i+n)*c,g=(a-o)*c,p=(i-n)*c;return`<path class="pele-marker" d="M${d(l-f)},${d(u-h)}L${d(l+f)},${d(u+h)}M${d(l-g)},${d(u-p)}L${d(l+g)},${d(u+p)}"/>`}return""}function qr(e,t,r,a,i,s){let o=t.width+8,n=t.height;return`<g class="pele-edge-label" data-id="${Oe(e)}"><rect x="${d(r-o/2)}" y="${d(a-n/2)}" width="${d(o)}" height="${d(n)}" rx="3" fill="var(--_bg)"/>`+De(t,r,a,i,s)+"</g>"}function Q0(e,t,r,a,i,s,o,n){let l=(i?t:r)/2,u=Math.min(l-4,8+a*6),c=s+a*8,f=Math.hypot(c,u)||1,h=(m,x)=>i?`${d(e.x+x)},${d(e.y+r/2+m)}`:`${d(e.x+t/2+m)},${d(e.y+x)}`,g=c/f*o,p=u/f*o;return i?(n.labelX=e.x,n.labelY=e.y+r/2+c+4+n.labelH/2):(n.labelX=e.x+t/2+c+4+n.labelW/2,n.labelY=e.y),{d:`M${h(0,-u)}C${h(c,-u*2)} ${h(c,u*2)} ${h(g,u+p)}`,sx:i?e.x-u:e.x+t/2,sy:i?e.y+r/2:e.y-u,sdx:i?0:-1,sdy:i?-1:0,ex:i?e.x+u:e.x+t/2,ey:i?e.y+r/2:e.y+u,edx:i?-u/f:-c/f,edy:i?-c/f:-u/f}}var gN,w3,wm,S3,mN,E3,AN,bN,yN,xN,wN,C3,SN,EN,CN,M3,hs,v3,MN,k3,Al,ym,xm,er,BN,Y0,yc,Lr=Xe(()=>{xt();gN=24,w3=2e4,wm=16,S3=8,mN=.125,E3=3,AN=18,bN=10,yN=14,xN=2,wN=28,C3=12,SN=12,EN=8,CN=4,M3=.5,hs=.5,v3=12,MN=40,k3=400,Al=16,ym=new Float64Array(2*Al+2),xm=new Float64Array(2*Al+2);er=8,BN=12,Y0=.62,yc=6});function zr(e){return e==="BT"||e==="LR"||e==="RL"?e:"TB"}function D3(e,t,r,a){let i=[];for(let n of e)i.push(n.x,n.y,n.w,n.h);let s=[];for(let n of t)s.push(n.labelX,n.labelY);let o=[];for(let n of r){o.push(n.x,n.y);for(let l of n.ports)o.push(l.px,l.py)}return{nodes:i,routes:t.map(n=>n.route),labels:s,levels:o,total:a}}function R3(e,t,r,a){t.forEach((s,o)=>{s.x=e.nodes[4*o],s.y=e.nodes[4*o+1],s.w=e.nodes[4*o+2],s.h=e.nodes[4*o+3]}),r.forEach((s,o)=>{s.route=e.routes[o],s.labelX=e.labels[2*o],s.labelY=e.labels[2*o+1]});let i=0;for(let s of a){s.x=e.levels[i++],s.y=e.levels[i++];for(let o of s.ports)o.px=e.levels[i++],o.py=e.levels[i++]}return e.total}function KN(e){return e.tracks?1:e.straight?2:0}function j0(e,t,r=0){let a=0;for(let I of t)I.src!==I.dst&&I.route.length>3&&(a+=(I.route.length/3-1)*UN);let i=new Float64Array(a),s=new Float64Array(a),o=new Float64Array(a),n=new Float64Array(a),l=new Float64Array(a),u=new Float64Array(a),c=new Int32Array(a),f=new Uint8Array(a),h=0,g=1/0,p=-1/0,m=NaN,x=NaN,y=NaN,C=NaN,S=(I,$,w,A,v,b)=>{let T=h-1;w===y&&A===C&&(b===A&&x===A||v===w&&m===w)&&c[T]===I&&f[T]===$&&(w-m)*(v-w)+(A-x)*(b-A)>0&&(h--,w=m,A=x),m=w,x=A,y=v,C=b,f[h]=$,i[h]=Math.min(w,v),o[h]=Math.max(w,v),s[h]=w<=v?A:b,n[h]=w<=v?b:A,l[h]=Math.min(A,b),u[h]=Math.max(A,b),l[h]<g&&(g=l[h]),u[h]>p&&(p=u[h]),c[h++]=I};for(let I=0;I<t.length;I++){let $=t[I];if($.src===$.dst)continue;let w=$.route,A=E=>Math.abs(w[E]-w[E-3])<.01||Math.abs(w[E+1]-w[E-2])<.01,v=E=>Math.abs(w[E]-w[E-3])+Math.abs(w[E+1]-w[E-2]),b=E=>r===0&&E>0&&E<w.length-3&&A(E)&&A(E+3)&&v(E)>=.01&&v(E+3)>=.01&&Math.abs(w[E]-w[E-3])<.01!=Math.abs(w[E+3]-w[E])<.01,T=w[0],M=w[1];for(let E=3;E<w.length;E+=3){let Y=(E===3?1:0)|(E===w.length-3?2:0),G=T,K=M,L=w[E],_=w[E+1];if(T=L,M=_,A(E)||r===2){if(!b(E)){S(I,Y,G,K,L,_);continue}let J=b(E-3)?v(E)/2:v(E),W=b(E+3)?v(E+3)/2:v(E+3),V=(L-w[E-3])/v(E),re=(_-w[E-2])/v(E),ne=(w[E+3]-L)/v(E+3),ce=(w[E+4]-_)/v(E+3),ie=L-V*J,se=_-re*J;S(I,Y,G,K,ie,se);let ee=L-V*J*(1-V0),te=_-re*J*(1-V0),he=L+ne*W*(1-V0),me=_+ce*W*(1-V0);T=L+ne*W,M=_+ce*W;let oe=Y|(E+3===w.length-3?2:0),be=ie,de=se;for(let pe=1;pe<=Em;pe++){let Ee=pe/Em,ve=1-Ee,le=ve*ve*ve*ie+3*ve*ve*Ee*ee+3*ve*Ee*Ee*he+Ee*Ee*Ee*T,fe=ve*ve*ve*se+3*ve*ve*Ee*te+3*ve*Ee*Ee*me+Ee*Ee*Ee*M;S(I,oe,be,de,le,fe),be=le,de=fe}continue}if(r===1){let J=w[E+2]===0,W=J?G:(G+L)/2,V=J?(K+_)/2:K;S(I,Y,G,K,W,V),S(I,Y,W,V,J?L:W,J?V:_),S(I,Y,J?L:W,J?V:_,L,_);continue}let B=w[E+2]===0,q=B?Sc(L-G,_-K):Sc(_-K,L-G),Q=G,Z=K;for(let J=1;J<=Sm;J++){let W=J/Sm,V=1-W,re=W*W*(3-2*W),ne=3*q*W*V*V+3*(1-q)*W*W*V+W*W*W,ce=G+(L-G)*(B?re:ne),ie=K+(_-K)*(B?ne:re);S(I,Y,Q,Z,ce,ie),Q=ce,Z=ie}}}let R=p>g?Math.round(Math.sqrt(h)):1,N=p>g?R/(p-g):0,D=I=>Math.min(R-1,Math.floor((I-g)*N)),O=new Int32Array(h),H=new Int32Array(R+1);for(let I=0;I<h;I++){O[I]=D(l[I]);for(let $=O[I],w=D(u[I]);$<=w;$++)H[$+1]++}for(let I=0;I<R;I++)H[I+1]+=H[I];let U=H.slice(0,R),k=new Int32Array(H[R]);for(let I=0;I<h;I++)for(let $=O[I],w=D(u[I]);$<=w;$++)k[U[$]++]=I;let j=new Float64Array(t.length*8),X=(I,$,w,A)=>Math.abs(I[$]-I[w])<yl&&Math.abs(I[$]-I[A])<yl||Math.abs(I[$+1]-I[w+1])<yl&&Math.abs(I[$+1]-I[A+1])<yl;for(let I=0;I<t.length;I++){let $=t[I].route;if($.length<6)continue;let w=3;for(;w+3<$.length&&X($,0,w,w+3);)w+=3;let A=$.length-3,v=A-3;for(;v>=3&&X($,A,v,v-3);)v-=3;j.set([$[0],$[1],$[w],$[w+1],$[v],$[v+1],$[A],$[A+1]],I*8)}let P=(I,$,w,A)=>{let v=I*8+($===1?0:4),b=j[v],T=j[v+1],M=j[v+2]-b,E=j[v+3]-T,Y=M*M+E*E,G=Y>0?Math.max(0,Math.min(1,((w-b)*M+(A-T)*E)/Y)):0;return Math.hypot(w-b-G*M,A-T-G*E)<yl},F=0;for(let I=0;I<R;I++){let $=H[I+1];if($-H[I]>YN)k.subarray(H[I],$).sort((w,A)=>i[w]-i[A]||w-A);else for(let w=H[I]+1;w<$;w++){let A=k[w],v=w;for(;v>H[I]&&i[k[v-1]]>i[A];v--)k[v]=k[v-1];k[v]=A}for(let w=H[I];w<$;w++){let A=k[w],v=o[A]-i[A],b=n[A]-s[A],T=O[A]===I;for(let M=w+1;M<$;M++){let E=k[M];if(i[E]>o[A])break;if(u[E]<l[A]||l[E]>u[A]||c[A]===c[E]||!T&&O[E]!==I)continue;let Y=v*(s[E]-s[A])-b*(i[E]-i[A]),G=v*(n[E]-s[A])-b*(o[E]-i[A]);if(Y>0==G>0)continue;let K=o[E]-i[E],L=n[E]-s[E],_=K*(s[A]-s[E])-L*(i[A]-i[E]),B=K*(n[A]-s[E])-L*(o[A]-i[E]);if(_>0==B>0)continue;let q=t[c[A]],Q=t[c[E]],Z=_/(_-B),J=i[A]+Z*v,W=s[A]+Z*b,V=(re,ne,ce)=>(f[A]&ne)!==0&&(f[E]&ce)!==0||Math.abs(J-e[re].x)<e[re].w/2+_3&&Math.abs(W-e[re].y)<e[re].h/2+_3||P(c[A],ne,J,W)&&P(c[E],ce,J,W);q.src===Q.src&&V(q.src,1,1)||q.src===Q.dst&&V(q.src,1,2)||q.dst===Q.src&&V(q.dst,2,1)||q.dst===Q.dst&&V(q.dst,2,2)||F++}}}return F}function gn(e,t,r,a){for(let i of e)i.x+=r,i.y+=a;for(let i of t){for(let s=0;s<i.route.length;s+=3)i.route[s]+=r,i.route[s+1]+=a;i.labelX+=r,i.labelY+=a}}function rr(e,t,r=-1){return{w:e,h:t,parent:r,isGroup:!1,dir:void 0,padX:0,padTop:0,padBottom:0,minW:0,seq:0,span:0,x:0,y:0}}function X0(e){return e==="TB"?0:e==="BT"?2:e==="LR"?3:1}function Ec(e){return e+2&3}function Na(e,t,r,a){let i=e.length,s=new Map,o=[],n=($,w)=>{let A={id:$,dir:w,items:[],edges:[],ports:[],portOf:new Map,routes:new Map,x:0,y:0};return s.set($,A),A},l=n(-1,r),u=[];for(let $=0;$<i;$++)u.push([]);let c=[];for(let $=0;$<i;$++){let w=e[$].parent;w>=0&&w<i&&w!==$&&e[w].isGroup?u[w].push($):(e[$].parent=-1,c.push($))}l.items=c,o.push(l);let f=new Int32Array(i),h=new Uint8Array(i),g=$=>{for(let w=$;w<o.length;w++){let A=o[w];for(let v of A.items)if(h[v]=1,f[v]=A.id<0?0:f[A.id]+1,e[v].isGroup){let b=n(v,e[v].dir??A.dir);b.items=u[v],o.push(b)}}};g(0);for(let $=0;$<i;$++){if(h[$])continue;let w=e[$].parent;if(u[w]=u[w].filter(A=>A!==$),e[$].parent=-1,l.items.push($),h[$]=1,f[$]=0,e[$].isGroup){let A=o.length,v=n($,e[$].dir??r);v.items=u[$],o.push(v),g(A)}}for(let $=o.length-1;$>0;$--){let w=o[$],A=1/0;for(let v of w.items)e[v].seq<A&&(A=e[v].seq);A!==1/0&&(e[w.id].seq=A)}for(let $ of o)$.items.sort((w,A)=>e[w].seq-e[A].seq||w-A);let p=0;for(let $ of t){let w=$.src,A=$.dst,v=0;for(;f[w]>f[A];v++)w=e[w].parent;for(;f[A]>f[w];v++)A=e[A].parent;for(;w!==A&&e[w].parent!==e[A].parent;v+=2)w=e[w].parent,A=e[A].parent;w!==A&&(p+v>FN?($.src=w,$.dst=A):p+=v)}let m=[],x=[];for(let $=0;$<t.length;$++){let w=t[$];if(w.route=[],w.src===w.dst){m.push($);continue}let A=w.src,v=w.dst,b=[],T=[];for(;f[A]>f[v];)b.push(A),A=e[A].parent;for(;f[v]>f[A];)T.push(v),v=e[v].parent;if(A===v){x.push($);continue}for(;e[A].parent!==e[v].parent;)b.push(A),T.push(v),A=e[A].parent,v=e[v].parent;s.get(e[A].parent).edges.push({e:$,a:A,b:v});for(let[M,E]of[[b,!0],[T,!1]])for(let Y of M){let G=s.get(e[Y].parent),K={e:$,inner:Y,out:E,side:0,hint:NaN,px:0,py:0,route:[]};G.ports.push(K),G.portOf.set($*2+(E?0:1),K)}}let y=new Int32Array(i),C=($,w,A)=>(A?w.src:w.dst)!==$,S=($,w)=>{let A=$.dir==="TB"||$.dir==="BT",v=X0($.dir),b=[],T=[];$.items.forEach((G,K)=>{y[G]=K;let L=e[G],_=w?ro(A?L.w:L.h,A?L.h:L.w):ro(0,0);_.span=L.isGroup?Math.min(L.span,_.w-2*L.padX):L.span,_.key=D?N[G]:NaN,b.push(_)});let M=(G,K,L)=>e[G].isGroup&&C(G,t[K],L),E=(G,K,L)=>{if(!w||!e[G].isGroup||!C(G,t[K],L))return 0;let _=s.get(G).portOf.get(K*2+(L?0:1));return A?_.px-e[G].w/2:_.py-e[G].h/2};for(let G of $.edges){let K=t[G.e],L=ao(y[G.a],y[G.b],K.minlen);w&&(L.labelW=A?K.labelW:K.labelH,L.labelH=A?K.labelH:K.labelW,L.tailDx=E(G.a,G.e,!0),L.headDx=E(G.b,G.e,!1),L.tailFixed=M(G.a,G.e,!0),L.headFixed=M(G.b,G.e,!1)),T.push(L)}let Y=new Int32Array($.ports.length).fill(-1);return $.ports.forEach((G,K)=>{if(G.side===v||G.side===Ec(v)){let L=b.length,_=ro(0,0,G.side===v?3:4);_.key=D?N[G.out?t[G.e].dst:t[G.e].src]:NaN,_.hint=Number.isNaN(G.hint)&&D&&H?H($,G):G.hint,b.push(_),Y[K]=L;let B=G.out?ao(y[G.inner],L):ao(L,y[G.inner]);G.out?(B.tailDx=E(G.inner,G.e,!0),B.tailFixed=M(G.inner,G.e,!0)):(B.headDx=E(G.inner,G.e,!1),B.headFixed=M(G.inner,G.e,!1)),T.push(B)}else b[y[G.inner]].pin=G.side===0||G.side===3?-1:1}),{lnodes:b,ledges:T,dummies:Y}},R=p>1&&p<=WN&&t.length<=HN,N=new Float64Array(i).fill(NaN),D=!1,O=0,H,U=o.length>1&&R;for(let $ of o)$.dir!==r&&(U=!1);if(U){let $=r==="TB"||r==="BT",w=new Int32Array(i).fill(-1),A=new Int32Array(i).fill(-1),v=[],b=[],T=[];for(let _=0;_<i;_++)e[_].isGroup&&(A[_]=T.length,T.push(-1));for(let _=0;_<i;_++){let B=e[_].parent;e[_].isGroup?T[A[_]]=B>=0?A[B]:-1:(w[_]=v.length,v.push(ro($?e[_].w:e[_].h,$?e[_].h:e[_].w)),b.push(B>=0?A[B]:-1))}let M=[],E=new Int32Array(t.length).fill(-1);t.forEach((_,B)=>{_.src===_.dst||w[_.src]<0||w[_.dst]<0||(E[B]=M.length,M.push(ao(w[_.src],w[_.dst],_.minlen,$?_.labelW:_.labelH,$?_.labelH:_.labelW)))});let Y=q0(v,M,{...a,groups:{of:Int32Array.from(b),parent:Int32Array.from(T)},orderOnly:!0});O=Math.min(Y.crossings??0,Y.declared??0);let G=new Float64Array(i),K=new Int32Array(i),L=new Int32Array(i).fill(-1);for(let _=0;_<i;_++)if(!(w[_]<0)){N[_]=v[w[_]].x;for(let B=e[_].parent;B>=0;B=e[B].parent)G[B]+=N[_],K[B]++,L[B]=Math.max(L[B],v[w[_]].rank)}for(let _=0;_<i;_++)K[_]>0&&(N[_]=G[_]/K[_]);H=(_,B)=>{let q=E[B.e];if(q<0||_.id<0||!B.out||B.side!==Ec(X0(_.dir)))return NaN;let Q=M[q].points,Z=N[t[B.e].src],J=0;for(let W=0;W<Q.length;W+=2)Q[W]===L[_.id]&&(Z=Q[W+1]),Q[W]===L[_.id]+1&&(J=Q[W+1]);return Z+J*1e-6}}let k=new Map,j=($,w,A)=>{if(!R)return{lnodes:w,ledges:A,size:q0(w,A,a)};let v=[];for(let M of w)v.push(M.w,M.h,M.kind,M.pin,M.hint,M.key,M.span);for(let M of A)v.push(M.tail,M.head,M.minlen,M.labelW,M.labelH,M.tailDx,M.headDx,+M.tailFixed,+M.headFixed);let b=k.get($.id);b||k.set($.id,b=[]);for(let M of b){let E=M.given.length===v.length;for(let Y=0;E&&Y<v.length;Y++)E=Object.is(M.given[Y],v[Y]);if(E)return M}let T={given:v,lnodes:w,ledges:A,size:q0(w,A,a)};return b.push(T),T},X={width:0,height:0},P=()=>{for(let w of o){for(let M of w.ports)e[M.inner].isGroup&&C(M.inner,t[M.e],M.out)&&(s.get(M.inner).portOf.get(M.e*2+(M.out?0:1)).side=M.side);if(w.edges.length===0)continue;let A=!1;for(let M of w.edges){let E=t[M.e];(e[M.a].isGroup&&E.src!==M.a||e[M.b].isGroup&&E.dst!==M.b)&&(A=!0)}if(!A)continue;let{lnodes:v,ledges:b}=S(w,!1);xc(v,b),wc(v,b,1);let T=X0(w.dir);w.edges.forEach((M,E)=>{let Y=t[M.e],G=!b[E].reversed;e[M.a].isGroup&&Y.src!==M.a&&(s.get(M.a).portOf.get(M.e*2).side=G?Ec(T):T),e[M.b].isGroup&&Y.dst!==M.b&&(s.get(M.b).portOf.get(M.e*2+1).side=G?T:Ec(T))})}for(let w=o.length-1;w>=0;w--){let A=o[w],v=A.id>=0?e[A.id]:void 0,b=A.dir==="TB"||A.dir==="BT",T=A.dir==="BT"||A.dir==="RL",M=S(A,!0),{lnodes:E,ledges:Y,size:G}=j(A,M.lnodes,M.ledges),K=M.dummies,L=b?G.width:G.height,_=b?G.height:G.width,B=v?v.padX:0,q=v?v.padTop:0,Q=Math.max(L+2*B,v?v.minW:0),Z=_+q+(v?v.padBottom:0),J=(Q-L)/2,W=q,V=(se,ee)=>J+(b?se:T?G.height-ee:ee),re=(se,ee)=>W+(b?T?G.height-ee:ee:se),ne=b?0:1,ce=se=>{let ee=[];for(let te=0;te<se.length;te+=2)ee.push(V(se[te],se[te+1]),re(se[te],se[te+1]),ne);return ee};A.items.forEach((se,ee)=>{e[se].x=V(E[ee].x,E[ee].y),e[se].y=re(E[ee].x,E[ee].y)}),A.edges.forEach((se,ee)=>{let te=Y[ee];A.routes.set(se.e,ce(te.points));let he=t[se.e];he.labelW>0&&(he.labelX=V(te.labelX,te.labelY),he.labelY=re(te.labelX,te.labelY))});let ie=A.edges.length;A.ports.forEach((se,ee)=>{let te=e[se.inner];if(K[ee]>=0){let pe=ce(Y[ie++].points),Ee=se.out?pe.length-3:0,ve=pe[Ee],le=pe[Ee+1];se.side===0?le=0:se.side===2?le=Z:se.side===3?ve=0:ve=Q,se.out?pe.push(ve,le,ne):pe.unshift(ve,le,ne),se.px=ve,se.py=le,se.route=pe;return}let he=te.x,me=te.y;if(te.isGroup&&C(se.inner,t[se.e],se.out)){let pe=s.get(se.inner).portOf.get(se.e*2+(se.out?0:1));he+=pe.px-te.w/2,me+=pe.py-te.h/2}else se.side===0?me-=te.h/2:se.side===2?me+=te.h/2:se.side===3?he-=te.w/2:he+=te.w/2;let oe=he,be=me;se.side===0?be=0:se.side===2?be=Z:se.side===3?oe=0:oe=Q;let de=se.side===0||se.side===2?0:1;se.px=oe,se.py=be,se.route=se.out?[he,me,de,oe,be,de]:[oe,be,de,he,me,de]}),v?(v.w=Q,v.h=Z):X={width:Q,height:Z}}for(let w of o){let A=w.x,v=w.y;for(let b of w.items){let T=e[b];if(T.x+=A,T.y+=v,T.isGroup){let M=s.get(b);M.x=T.x-T.w/2,M.y=T.y-T.h/2}}}let $=(w,A,v,b)=>{for(let T=0;T<A.length;T+=3){let M=A[T]+v,E=A[T+1]+b,Y=w.length;Y>=3&&Math.abs(w[Y-3]-M)<.01&&Math.abs(w[Y-2]-E)<.01||w.push(M,E,A[T+2])}};for(let w of o)for(let A of w.edges){let v=t[A.e],b=[],T=[];for(let E=v.src;e[E].parent!==w.id;E=e[E].parent)T.push(s.get(e[E].parent));for(let E of T)$(b,E.portOf.get(A.e*2).route,E.x,E.y);$(b,w.routes.get(A.e),w.x,w.y);let M=[];for(let E=v.dst;e[E].parent!==w.id;E=e[E].parent)M.push(s.get(e[E].parent));for(let E=M.length-1;E>=0;E--)$(b,M[E].portOf.get(A.e*2+1).route,M[E].x,M[E].y);v.route=b,v.labelW>0&&(v.labelX+=w.x,v.labelY+=w.y)}},F=KN(a);D=U,P();let I=-1;if(U&&(I=j0(e,t,F),I>O*PN+GN)){let $=D3(e,t,o,X);D=!1,P();let w=j0(e,t,F);w>=I?(D=!0,X=R3($,e,t,o)):I=w}if(D===U&&R){let $=!1;for(let w of o){if(w.id<0)continue;let A=e[w.id],v=w.dir==="TB"||w.dir==="BT",b=Ec(X0(w.dir)),T=[];for(let M of w.ports){if(M.side!==b)continue;let E=t[M.e].route,Y=w.x+M.px,G=w.y+M.py,K=-1;for(let B=0;B<E.length&&(K<0||M.out);B+=3)Math.abs(E[B]-Y)<.01&&Math.abs(E[B+1]-G)<.01&&(K=B);if(K<0)continue;let L=v?0:1,_=M.out?K+3:K-3;for(;_>=0&&_<E.length&&Math.abs(E[_+L]-E[K+L])<yl;)_+=M.out?3:-3;_<0||_>=E.length||(M.hint=E[_+L]-(v?A.x-A.w/2:A.y-A.h/2),T.push([v?M.px:M.py,M.hint]))}T.sort((M,E)=>M[0]-E[0]);for(let M=1;M<T.length;M++)T[M-1][1]>T[M][1]&&($=!0)}if($){let w=I>=0?I:j0(e,t,F),A=w>0?D3(e,t,o,X):void 0;A&&(P(),j0(e,t,F)>=w&&(X=R3(A,e,t,o)))}}for(let $ of x){let w=t[$],A=e[w.src],v=e[w.dst];w.route=[A.x,A.y,0,v.x,v.y,0],w.labelX=(A.x+v.x)/2,w.labelY=(A.y+v.y)/2}for(let $ of m){let w=t[$],A=e[w.src];w.labelX=A.x+A.w/2+28+w.labelW/2,w.labelY=A.y}return X}var FN,WN,HN,PN,GN,_3,yl,Sm,Em,UN,V0,YN,mn=Xe(()=>{Lr();FN=4e4,WN=400,HN=500,PN=1.5,GN=4;_3=24,yl=.5,Sm=3,Em=2,UN=Math.max(3,Sm,Em+1),V0=.62,YN=128});function aa(e,t,r,a){return Jw(()=>We(e,!1,t,r,a,1))}function Z0(e,t,r,a,i,s,o){let n=aa(e,t,r,4e3);if(n.height===0)return{width:i,height:s,content:o};let l=n.height+12,u=Math.max(i,Math.ceil(n.width+2*a));return{width:u,height:Math.ceil(s+l),content:De(n,u/2,a+n.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g transform="translate(${d((u-i)/2)},${d(l)})">${o}</g>`}}var Li=Xe(()=>{xt();Mt()});function F3(e){try{return decodeURIComponent(e)}catch{return e}}function Oi(e){if(!e)return Cc;let t=F3(e.trim()),r,a=0;do{if(++a>32)return Cc;t=t.replace(Cm,"").replace(L3,(l,u)=>String.fromCharCode(u)).replace(O3,"").replace(Cm,"").replace(B3,"").trim(),t=F3(t),r=t.match(Cm)||t.match(L3)||t.match(O3)||t.match(B3)}while(r&&r.length>0);if(!t)return Cc;if(t[0]==="."||t[0]==="/")return t;let i=t.trimStart(),s=i.match(zN);if(!s)return t;let o=s[0].toLowerCase().trim();if(qN.test(o))return Cc;let n=i.replace(/\\/g,"/");if(o==="mailto:"||o.includes("://"))return n;if(o==="http:"||o==="https:"){let l;try{l=new URL(n)}catch{return Cc}return l.protocol=l.protocol.toLowerCase(),l.hostname=l.hostname.toLowerCase(),l.toString()}return n}function Bi(e){return Oi(Dt(e))}function W3(e,t){if(XN.test(e))return;let r=jN.exec(e);return!r||t.includes(r[1].toLowerCase())?e:void 0}function Ps(e,t){return t.links===!1?void 0:W3(e,t.linkSchemes??QN)}function H3(e,t){return t.images===!1?void 0:W3(e,t.imageSchemes??VN)}function di(e,t,r,a,i,s=""){let o=Ps(t,i);return o===void 0?e:(a.push({id:r,href:o,internal:!1}),`<a href="${Je(o)}"${s}${Gs(i)}>${e}</a>`)}function Gs(e){let t=e.linkRel??"noopener";return t?` rel="${Je(t)}"`:""}var Cc,qN,L3,O3,Cm,zN,B3,QN,VN,jN,XN,Us=Xe(()=>{xt();Mt();Cc="about:blank",qN=/^([^\w]*)(javascript|data|vbscript)/im,L3=/&#(\w+)(^\w|;)?/g,O3=/&(newline|tab);/gi,Cm=/[\u0000-\u001F\u007F-\u009F -‍]/gim,zN=/^.+(:|&colon;)/gim,B3=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;QN=["http","https","mailto","tel"],VN=["http","https"],jN=/^([a-z][a-z0-9+.-]*):/i,XN=/^[\\/]{2}/});function rf(e,t,r){let a=Math.min(1,Math.abs(e)/t);return r*(1-Math.sqrt(1-a*a))}function G3(e,t,r){let a=Math.max(1.6*e+40,80),i=(t+10)/(1-(e+8)/a),s=i/2-10-t/2;return{w:a,h:i,dy:r?-s:s}}function xl(e,t){return`<path d="${e}"${t}/>`}function xa(e,t){let r="";for(let a=0;a<e.length;a+=2)r+=(a?" ":"")+d(e[a])+","+d(e[a+1]);return`<polygon points="${r}"${t}/>`}function ua(e,t,r,a=""){return`<rect x="${d(-e/2)}" y="${d(-t/2)}" width="${d(e)}" height="${d(t)}"${a}${r}/>`}function ef(e,t,r,a){let i=t/2,s=6*r;return`<path d="M${d(e)},${d(-i)}q${d(s)},0 ${d(s)},6V-6q0,6 ${d(s)},6q${d(-s)},0 ${d(-s)},6V${d(i-6)}q0,6 ${d(-s)},6" fill="none"${a}/>`}function tf(e,t,r){let a=e/2,i=-t/2,s=t/2-10,o=e/4;return`<path d="M${d(-a)},${d(i)}H${d(a)}V${d(s)}q${d(-o)},-12 ${d(-2*o)},0t${d(-2*o)},0Z"${r}/>`}function An(e,t,r){return(kc.get(e)??Y3).size(t,r)}function Fi(e,t,r,a,i){return(kc.get(e)??Y3).draw(t,r,a,i)}function Ys(e,t,r,a,i=0){return kc.get(e)?.inset?.(t,r,a,i)??0}function K3(e,t,r,a){return Math.max(0,kc.get(e)?.span?.(t,r,a)??0)}function q3(e){return kc.get(e)?.noLabel!==!0}function fi(e,t,r){let a=e[t]-r.x,i=e[t+1]-r.y;return Math.abs(Math.abs(i)-r.h/2)<.5?i<0?0:2:Math.abs(Math.abs(a)-r.w/2)<.5?a<0?3:1:-1}function oo(e,t,r,a){if(a.isGroup)return;let i=fi(e,t,a);if(i===0||i===2){let s=Ys(r.shape,r.w,r.h,i,e[t]-a.x)+(a.h-r.h)/2;e[t+1]+=i===0?s:-s}else if(i>=0){let s=Ys(r.shape,r.w,r.h,i,e[t+1]-a.y)+(a.w-r.w)/2;e[t]+=i===3?s:-s}}var St,kt,wl,Va,Mc,io,so,P3,no,J0,vc,U3,Y3,kc,bn=Xe(()=>{xt();St=18,kt=12,wl=12,Va=(e,t,r)=>(r?t:e)-2*wl,Mc=e=>(t,r,a)=>a?0:t-2*e(r)-2*wl;io=(e,t,r,a)=>r&1?rf(a,t/2,e/2):rf(a,e/2,t/2),so=(e,t,r)=>(r?t:e)*.6,P3=(e,t,r,a)=>r&1?0:rf(a,e/2,Math.min(12,Math.max(6,e/14))),no=(e,t)=>()=>({w:e,h:t,dy:0});J0=(e,t,r)=>r&1?t/8:0,vc=(e,t)=>({w:Math.max(e+2*St,2*St+12),h:t+2*kt,dy:0});U3={rect:{size:vc,span:Va,draw:(e,t,r)=>ua(e,t,bt(r))},rounded:{size:vc,span:Va,draw:(e,t,r)=>ua(e,t,r,` rx="${d(Math.min(12,t/2))}"`)},stadium:{inset:(e,t,r,a)=>r&1?rf(a,t/2,t/2):0,span:(e,t,r)=>r?t*.6:e-t,size:(e,t)=>{let r=t+2*kt;return{w:e+r*.5+2*St-8,h:r,dy:0}},draw:(e,t,r)=>ua(e,t,r,` rx="${d(t/2)}"`)},"fr-rect":{span:Va,size:(e,t)=>({w:e+2*St+16,h:t+2*kt,dy:0}),draw:(e,t,r,a)=>{let i=e/2-8;return ua(e,t,bt(r))+`<path d="M${d(-i)},${d(-t/2)}V${d(t/2)}M${d(i)},${d(-t/2)}V${d(t/2)}" fill="none"${a}/>`}},cyl:{inset:P3,span:(e,t,r)=>r?t-2*wl-12:e*.6,size:(e,t)=>{let r=Math.max(e+2*St,56),a=Math.min(12,Math.max(6,r/14));return{w:r,h:t+2*kt+2*a,dy:a/2}},draw:(e,t,r,a)=>{let i=e/2,s=Math.min(12,Math.max(6,e/14)),o=-t/2+s,n=t/2-s;return`<path d="M${d(-i)},${d(o)}A${d(i)},${d(s)} 0 0 1 ${d(i)},${d(o)}V${d(n)}A${d(i)},${d(s)} 0 0 1 ${d(-i)},${d(n)}Z"${r}/><path d="M${d(-i)},${d(o)}A${d(i)},${d(s)} 0 0 0 ${d(i)},${d(o)}" fill="none"${a}/>`}},circle:{inset:io,span:so,size:(e,t)=>{let r=Math.max(Math.sqrt(e*e+t*t)+16,44);return{w:r,h:r,dy:0}},draw:(e,t,r)=>`<circle r="${d(e/2)}"${r}/>`},"dbl-circ":{inset:io,span:so,size:(e,t)=>{let r=Math.max(Math.sqrt(e*e+t*t)+26,54);return{w:r,h:r,dy:0}},draw:(e,t,r,a)=>`<circle r="${d(e/2)}"${r}/><circle r="${d(e/2-5)}" fill="none"${a}/>`},ellipse:{inset:io,span:so,size:(e,t)=>({w:e*1.3+2*St,h:t*1.2+2*kt,dy:0}),draw:(e,t,r)=>`<ellipse rx="${d(e/2)}" ry="${d(t/2)}"${r}/>`},diam:{inset:(e,t,r,a)=>r&1?Math.abs(a)*e/t:Math.abs(a)*t/e,span:(e,t,r)=>(r?t:e)*.6,size:(e,t)=>{let r=e+16,a=t+8;return{w:r+1.6*a,h:r/1.6+a,dy:0}},draw:(e,t,r)=>xa([0,-t/2,e/2,0,0,t/2,-e/2,0],r)},hex:{inset:(e,t,r,a)=>r&1?Math.abs(a)/2:0,span:(e,t,r)=>r?t*.5:e-t/2-wl,size:(e,t)=>{let r=t+2*kt;return{w:e+2*St+r/2,h:r,dy:0}},draw:(e,t,r)=>{let a=t/4;return xa([-e/2+a,-t/2,e/2-a,-t/2,e/2,0,e/2-a,t/2,-e/2+a,t/2,-e/2,0],r)}},odd:{inset:(e,t,r)=>r===3?t/4:0,span:Mc(()=>0),size:(e,t)=>{let r=t+2*kt;return{w:e+2*St+r/4,h:r,dy:0}},draw:(e,t,r)=>{let a=t/4;return xa([-e/2,-t/2,e/2,-t/2,e/2,t/2,-e/2,t/2,-e/2+a,0],r)}},"lean-r":{inset:J0,span:Mc(e=>e/4),size:(e,t)=>{let r=t+2*kt;return{w:e+2*St+r/2,h:r,dy:0}},draw:(e,t,r)=>{let a=t/4;return xa([-e/2+a,-t/2,e/2,-t/2,e/2-a,t/2,-e/2,t/2],r)}},"lean-l":{inset:J0,span:Mc(e=>e/4),size:(e,t)=>{let r=t+2*kt;return{w:e+2*St+r/2,h:r,dy:0}},draw:(e,t,r)=>{let a=t/4;return xa([-e/2,-t/2,e/2-a,-t/2,e/2,t/2,-e/2+a,t/2],r)}},"trap-b":{inset:J0,span:Mc(e=>e/4),size:(e,t)=>{let r=t+2*kt;return{w:e+2*St+r/2,h:r,dy:0}},draw:(e,t,r)=>{let a=t/4;return xa([-e/2+a,-t/2,e/2-a,-t/2,e/2,t/2,-e/2,t/2],r)}},"trap-t":{inset:J0,span:Mc(e=>e/4),size:(e,t)=>{let r=t+2*kt;return{w:e+2*St+r/2,h:r,dy:0}},draw:(e,t,r)=>{let a=t/4;return xa([-e/2,-t/2,e/2,-t/2,e/2-a,t/2,-e/2+a,t/2],r)}},text:{span:Va,size:(e,t)=>({w:e+8,h:t+8,dy:0}),draw:(e,t)=>ua(e,t,' fill="none" stroke="none"')},"sm-circ":{noLabel:!0,inset:io,span:so,size:no(14,14),draw:(e,t,r)=>`<circle r="${d(e/2)}"${r}/>`},"f-circ":{noLabel:!0,inset:io,span:so,size:no(14,14),draw:(e,t,r,a)=>`<circle r="${d(e/2)}" fill="var(--_l)"${a}/>`},"fr-circ":{noLabel:!0,inset:io,span:so,size:no(18,18),draw:(e,t,r,a)=>`<circle r="${d(e/2)}"${r}/><circle r="${d(e/2-4)}" fill="var(--_l)"${a}/>`},fork:{noLabel:!0,span:(e,t,r)=>(r?t:e)-8,size:no(72,8),draw:(e,t,r,a)=>ua(e,t,` fill="var(--_l)"${a}`,' rx="2"')},"notch-rect":{size:vc,span:Va,draw:(e,t,r)=>xa([-e/2+10,-t/2,e/2,-t/2,e/2,t/2,-e/2,t/2,-e/2,-t/2+10],r)},"lin-rect":{span:Va,size:(e,t)=>({w:e+2*St+8,h:t+2*kt,dy:0}),draw:(e,t,r,a)=>ua(e,t,bt(r))+`<path d="M${d(-e/2+8)},${d(-t/2)}V${d(t/2)}" fill="none"${a}/>`},"div-rect":{span:Va,size:(e,t)=>({w:e+2*St,h:t+2*kt+8,dy:4}),draw:(e,t,r,a)=>ua(e,t,bt(r))+`<path d="M${d(-e/2)},${d(-t/2+8)}H${d(e/2)}" fill="none"${a}/>`},"win-pane":{span:Va,size:(e,t)=>({w:e+2*St+8,h:t+2*kt+8,dy:4}),draw:(e,t,r,a)=>ua(e,t,bt(r))+`<path d="M${d(-e/2+8)},${d(-t/2)}V${d(t/2)}M${d(-e/2)},${d(-t/2+8)}H${d(e/2)}" fill="none"${a}/>`},tri:{inset:(e,t,r)=>r&1?e/4:0,size:(e,t)=>G3(e,t,!1),draw:(e,t,r)=>xa([0,-t/2,e/2,t/2,-e/2,t/2],r)},"flip-tri":{inset:(e,t,r)=>r&1?e/4:0,size:(e,t)=>G3(e,t,!0),draw:(e,t,r)=>xa([-e/2,-t/2,e/2,-t/2,0,t/2],r)},"sl-rect":{inset:(e,t,r)=>r===0?5:0,size:(e,t)=>({w:e+2*St,h:t+2*kt+10,dy:5}),draw:(e,t,r)=>xa([-e/2,-t/2+10,e/2,-t/2,e/2,t/2,-e/2,t/2],r)},"notch-pent":{span:Va,size:(e,t)=>({w:e+2*St,h:t+2*kt,dy:0}),draw:(e,t,r)=>xa([-e/2+10,-t/2,e/2-10,-t/2,e/2,-t/2+10,e/2,t/2,-e/2,t/2,-e/2,-t/2+10],r)},hourglass:{noLabel:!0,inset:(e,t,r)=>r&1?e/2:0,size:no(32,40),draw:(e,t,r)=>xa([-e/2,-t/2,e/2,-t/2,-e/2,t/2,e/2,t/2],r)},delay:{size:(e,t)=>{let r=t+2*kt;return{w:e+2*St+r/4,h:r,dy:0}},draw:(e,t,r)=>{let a=t/2;return`<path d="M${d(-e/2)},${d(-a)}H${d(e/2-a)}A${d(a)},${d(a)} 0 0 1 ${d(e/2-a)},${d(a)}H${d(-e/2)}Z"${r}/>`}},"h-cyl":{size:(e,t)=>{let r=t+2*kt,a=Math.min(12,r/4);return{w:e+2*St+2*a,h:r,dy:0}},draw:(e,t,r,a)=>{let i=t/2,s=Math.min(12,t/4),o=-e/2+s,n=e/2-s;return`<path d="M${d(o)},${d(-i)}H${d(n)}A${d(s)},${d(i)} 0 0 1 ${d(n)},${d(i)}H${d(o)}A${d(s)},${d(i)} 0 0 1 ${d(o)},${d(-i)}Z"${r}/><path d="M${d(n)},${d(-i)}A${d(s)},${d(i)} 0 0 0 ${d(n)},${d(i)}" fill="none"${a}/>`}},"cross-circ":{noLabel:!0,inset:io,span:so,size:no(44,44),draw:(e,t,r,a)=>{let i=e/2,s=i*Math.SQRT1_2;return`<circle r="${d(i)}"${r}/><path d="M${d(-s)},${d(-s)}L${d(s)},${d(s)}M${d(s)},${d(-s)}L${d(-s)},${d(s)}" fill="none"${a}/>`}},"st-rect":{span:(e,t,r)=>(r?t:e)-2*wl-8,size:(e,t)=>({w:e+2*St+8,h:t+2*kt+8,dy:4}),draw:(e,t,r)=>{let a=e-8,i=t-8,s="";for(let o=0;o<3;o++){let n=-e/2+(2-o)*4,l=-t/2+o*4;s+=`<rect x="${d(n)}" y="${d(l)}" width="${d(a)}" height="${d(i)}"${bt(r)}/>`}return s}},doc:{inset:(e,t,r)=>r===2?10:0,size:(e,t)=>({w:e+2*St,h:t+2*kt+10,dy:-5}),draw:(e,t,r)=>tf(e,t,r)},flag:{inset:(e,t,r)=>r&1?0:8,size:(e,t)=>({w:e+2*St,h:t+2*kt+16,dy:0}),draw:(e,t,r)=>{let a=e/2,i=t/2-8,s=e/4;return`<path d="M${d(-a)},${d(-i)}q${d(s)},-10 ${d(2*s)},0t${d(2*s)},0V${d(i)}q${d(-s)},10 ${d(-2*s)},0t${d(-2*s)},0Z"${r}/>`}},datastore:{size:vc,span:Va,draw:(e,t,r,a)=>ua(e,t,r.replace('stroke="var(--_b)"','stroke="none"'))+`<path d="M${d(-e/2)},${d(-t/2)}H${d(e/2)}M${d(-e/2)},${d(t/2)}H${d(e/2)}" fill="none"${a}/>`},folder:{size:(e,t)=>({w:Math.max(e+2*St,64),h:t+2*kt+8,dy:4}),draw:(e,t,r)=>{let a=e/2,i=t/2,s=Math.min(e*.4,48);return xl(`M${d(-a)},${d(-i)}H${d(-a+s)}L${d(-a+s+8)},${d(-i+8)}H${d(a)}V${d(i)}H${d(-a)}Z`,r)}},bucket:{size:(e,t)=>({w:e+2*St+20,h:t+2*kt+10,dy:3}),inset:(e,t,r)=>r&1?t/12:0,draw:(e,t,r,a)=>{let i=e/2,s=t/2,o=5,n=t/6;return xl(`M${d(-i)},${d(-s+o)}A${d(i)},${d(o)} 0 0 1 ${d(i)},${d(-s+o)}L${d(i-n)},${d(s-o)}A${d(i-n)},${d(o)} 0 0 1 ${d(-i+n)},${d(s-o)}Z`,r)+`<path d="M${d(-i)},${d(-s+o)}A${d(i)},${d(o)} 0 0 0 ${d(i)},${d(-s+o)}" fill="none"${a}/>`}},console:{span:Va,size:(e,t)=>({w:Math.max(e+2*St,72),h:t+2*kt+12,dy:6}),draw:(e,t,r,a)=>ua(e,t,bt(r))+`<path d="M${d(-e/2)},${d(-t/2+12)}H${d(e/2)}M${d(-e/2+7)},${d(-t/2+4)}l3,2.5l-3,2.5M${d(-e/2+13)},${d(-t/2+9)}h4" fill="none"${a}/>`},browser:{span:Va,size:(e,t)=>({w:Math.max(e+2*St,72),h:t+2*kt+12,dy:6}),draw:(e,t,r,a)=>{let i="";for(let s=0;s<3;s++)i+=`<circle cx="${d(-e/2+8+s*7)}" cy="${d(-t/2+6)}" r="1.5" fill="none"${a}/>`;return ua(e,t,bt(r))+`<path d="M${d(-e/2)},${d(-t/2+12)}H${d(e/2)}" fill="none"${a}/>`+i}},person:{size:(e,t)=>({w:Math.max(e+2*St,56),h:t+2*kt+26,dy:13}),draw:(e,t,r)=>{let a=-t/2;return`<rect x="${d(-e/2)}" y="${d(a+26)}" width="${d(e)}" height="${d(t-26)}" rx="12"${r}/><circle cy="${d(a+14)}" r="13"${r}/>`}},bang:{size:(e,t)=>({w:e+2*St+28,h:t+2*kt+24,dy:0}),inset:()=>3,draw:(e,t,r)=>{let a=[];for(let i=0;i<28;i++){let s=Math.PI*i/14-Math.PI/2,o=i%2===0?1:.82;a.push(Math.cos(s)*(e/2)*o,Math.sin(s)*(t/2)*o)}return xa(a,r)}},cloud:{size:(e,t)=>({w:e+2*St+32,h:t+2*kt+24,dy:0}),inset:(e,t,r)=>r&1?2:1,draw:(e,t,r)=>{let a=e/2,i=t/2,s=i*.55;return xl(`M${d(-a+s)},${d(i)}A${d(s)},${d(s)} 0 0 1 ${d(-a+s*.6)},${d(-i*.1)}A${d(a*.42)},${d(i*.7)} 0 0 1 ${d(-a*.1)},${d(-i*.72)}A${d(a*.4)},${d(i*.62)} 0 0 1 ${d(a*.62)},${d(-i*.42)}A${d(s*1.05)},${d(s*1.05)} 0 0 1 ${d(a-s)},${d(i)}Z`,r)}},brace:{size:(e,t)=>({w:e+2*St+12,h:t+2*kt,dy:0}),draw:(e,t,r,a)=>ua(e,t,' fill="none" stroke="none"')+ef(-e/2+12,t,-1,a)},"brace-r":{size:(e,t)=>({w:e+2*St+12,h:t+2*kt,dy:0}),draw:(e,t,r,a)=>ua(e,t,' fill="none" stroke="none"')+ef(e/2-12,t,1,a)},braces:{size:(e,t)=>({w:e+2*St+24,h:t+2*kt,dy:0}),draw:(e,t,r,a)=>ua(e,t,' fill="none" stroke="none"')+ef(-e/2+12,t,-1,a)+ef(e/2-12,t,1,a)},bolt:{noLabel:!0,size:no(36,56),inset:(e,t,r)=>r&1?e/4:0,draw:(e,t,r)=>xa([e*.15,-t/2,-e/2,t*.08,-e*.05,t*.08,-e*.15,t/2,e/2,-t*.08,e*.05,-t*.08],r)},"lin-cyl":{inset:P3,span:(e,t,r)=>r?t-2*wl-20:e*.6,size:(e,t)=>{let r=Math.max(e+2*St,56),a=Math.min(12,Math.max(6,r/14));return{w:r,h:t+2*kt+2*a+8,dy:a/2+4}},draw:(e,t,r,a)=>{let i=e/2,s=Math.min(12,Math.max(6,e/14)),o=-t/2+s,n=t/2-s,l=u=>`M${d(-i)},${d(u)}A${d(i)},${d(s)} 0 0 0 ${d(i)},${d(u)}`;return xl(`M${d(-i)},${d(o)}A${d(i)},${d(s)} 0 0 1 ${d(i)},${d(o)}V${d(n)}A${d(i)},${d(s)} 0 0 1 ${d(-i)},${d(n)}Z`,r)+`<path d="${l(o)}${l(o+8)}" fill="none"${a}/>`}},"curv-trap":{size:(e,t)=>{let r=t+2*kt;return{w:e+2*St+r*.6,h:r,dy:0}},draw:(e,t,r)=>{let a=e/2,i=t/2,s=t*.3;return xl(`M${d(-a+s)},${d(-i)}H${d(a-s)}A${d(s)},${d(i)} 0 0 1 ${d(a-s)},${d(i)}H${d(-a+s)}L${d(-a)},0Z`,r)}},docs:{size:(e,t)=>({w:e+2*St+8,h:t+2*kt+18,dy:-1}),inset:(e,t,r)=>r===2?10:0,draw:(e,t,r)=>{let a="";for(let i=0;i<3;i++)a+=`<g transform="translate(${(1-i)*4},${(i-1)*4})">${tf(e-8,t-8,r)}</g>`;return a}},"bow-rect":{size:(e,t)=>{let r=t+2*kt;return{w:e+2*St+r*.4,h:r,dy:0}},inset:(e,t,r)=>r===1?t*.2:0,draw:(e,t,r)=>{let a=e/2,i=t/2,s=t*.2;return xl(`M${d(-a+s)},${d(-i)}H${d(a)}A${d(s)},${d(i)} 0 0 0 ${d(a)},${d(i)}H${d(-a+s)}A${d(s)},${d(i)} 0 0 1 ${d(-a+s)},${d(-i)}Z`,r)}},"tag-rect":{size:vc,span:Va,draw:(e,t,r,a)=>ua(e,t,bt(r))+`<path d="M${d(e/2-12)},${d(t/2)}L${d(e/2)},${d(t/2-12)}" fill="none"${a}/>`},"tag-doc":{size:(e,t)=>({w:e+2*St,h:t+2*kt+10,dy:-5}),inset:(e,t,r)=>r===2?10:0,draw:(e,t,r,a)=>tf(e,t,r)+`<path d="M${d(e/2-12)},${d(t/2-14)}L${d(e/2)},${d(t/2-26)}" fill="none"${a}/>`},"lin-doc":{size:(e,t)=>({w:e+2*St+8,h:t+2*kt+10,dy:-5}),inset:(e,t,r)=>r===2?10:0,draw:(e,t,r,a)=>tf(e,t,r)+`<path d="M${d(-e/2+8)},${d(-t/2)}V${d(t/2-6)}" fill="none"${a}/>`},collapsedGroup:{size:(e,t)=>({w:e+2*St+8,h:t+2*kt+8,dy:-2}),draw:(e,t,r)=>`<rect x="${d(-e/2+6)}" y="${d(-t/2+8)}" width="${d(e-12)}" height="${d(t-8)}"${bt(r)}/><rect x="${d(-e/2)}" y="${d(-t/2)}" width="${d(e)}" height="${d(t-4)}"${bt(r)}/>`}};Y3=U3.rect,kc=new Map(Object.entries(U3))});function yn(e,t,r,a){let i=a(t,!1),s=e.maxWidth;if(s===void 0||!(s>0)||i.width<=s)return i;let o=Math.min(r,t),n=t;i=a(n,!0);for(let l=0;l<3&&i.width>s&&n>o;l++)n=Math.max(o,n-(i.width-s)),i=a(n,!0);return i}function Ht(e){let t=e.maxWidth;return t!==void 0&&t>0?Math.max(80,t-2*(e.padding??8)):4e3}function xn(e,t,r,a=0){let i=e.maxWidth;return i===void 0||!(i>0)?t:Math.max(Math.min(r,t),Math.min(t,i-a))}function Jt(e,t){let r=t(!1),a=e.maxWidth;if(e.autoDirection===!1||a===void 0||!(a>0)||r.width<=a)return r;let i=e.directionBreakpoint;if(a>=(i!==void 0&&i>0?i:ZN))return r;let s=t(!0);return s.width<r.width?s:r}function Da(e){return e==="LR"||e==="RL"}function ca(e,t){let r=t(!1),a=e.maxWidth;if(a===void 0||!(a>0)||r.width<=a)return r;let i=t(!0);return i.width<r.width?i:r}var ZN,zt=Xe(()=>{ZN=640});function Mm(e){return e==="markdown"||e==="string"||e==="text"?e:"markdown"}function z3(e){return e.startsWith('"')&&e.endsWith('"')?e.substring(1,e.length-1):e}function JN(e,t){let r=0;for(let a=0;a<t.length;a++)t[a]===e&&r++;return r}function eD(e){let t=e.trim(),r="arrow_open";switch(t[0]){case"<":r="arrow_point",t=t.slice(1);break;case"x":r="arrow_cross",t=t.slice(1);break;case"o":r="arrow_circle",t=t.slice(1);break}let a="normal";return t.includes("=")&&(a="thick"),t.includes(".")&&(a="dotted"),{type:r,stroke:a}}function tD(e){let t=e.trim(),r=t.slice(0,-1),a="arrow_open";switch(t.slice(-1)){case"x":a="arrow_cross",t.startsWith("x")&&(a="double_"+a,r=r.slice(1));break;case">":a="arrow_point",t.startsWith("<")&&(a="double_"+a,r=r.slice(1));break;case"o":a="arrow_circle",t.startsWith("o")&&(a="double_"+a,r=r.slice(1));break}let i="normal",s=r.length-1;r.startsWith("=")&&(i="thick"),r.startsWith("~")&&(i="invisible");let o=JN(".",r);return o&&(i="dotted",s=o),{type:a,stroke:i,length:s}}function xD(e){let t=e.length,r=[],a=[],i=[],s=[],o=0,n=0,l=!0,u=e.indexOf("direction"),c=e.indexOf("@"),f=-1,h=0,g=0,p=-1,m=-1,x=-1,y=($,w,A)=>{r.push($),a.push(e.slice(w,A)),i.push(w),n=A},C=$=>{s.push(o),o=$},S=()=>{s.length>0&&(o=s.pop())},R=($,w)=>($.lastIndex=w,$.test(e)?$.lastIndex:-1),N=$=>e.startsWith($,n)&&!tt(e.charCodeAt(n+$.length)),D=$=>{let w=$;if($>=m&&$<=x)w=x;else if(Ke(e.charCodeAt($))){for(;w<t&&Ke(e.charCodeAt(w));)w++;m=$,x=w}let A=e.charCodeAt(w);return A===120||A===111||A===60?e.charCodeAt(w+1):A},O=$=>{let w=$;if($>=m&&$<=x)w=x;else if(Ke(e.charCodeAt($))){for(;w<t&&Ke(e.charCodeAt(w));)w++;m=$,x=w}return e.charCodeAt(w)===126},H=()=>{e.charCodeAt(n+1)===96?(C(2),n+=2):(C(1),n++)},U=()=>{if(!O(n))return!1;let $=R(X3,n);return $<0?!1:(y(40,n,$),!0)},k=$=>{let w=e.charCodeAt(n+1);return $===40?(w===45?(C(8),y(45,n,n+2)):w===91?(C(7),y(47,n,n+2)):w===40&&e.charCodeAt(n+2)===40?(C(7),y(55,n,n+3)):(C(7),y(69,n,n+1)),!0):$===91?(w===91?(C(7),y(49,n,n+2)):w===40?(C(7),y(53,n,n+2)):w===47?(C(9),y(58,n,n+2)):w===92?(C(9),y(59,n,n+2)):(C(7),y(71,n,n+1)),!0):$===124?(C(7),y(67,n,n+1),!0):$===123?(C(7),y(73,n,n+1),!0):!1},j=$=>{l&&(l=!1,C(6)),y(20,n,n+$)},X=()=>{let $=n;for(;$<t;){let w=e.charCodeAt($);if(w<128&&tS[w]===1)$++;else if(w===45&&$+1<t){let A=e.charCodeAt($+1);if(A===62||A===45||A===46)break;$++}else break}return $===n?!1:(y(64,n,$),!0)},P=$=>{let w=D(n),A;if(w===45){if((A=R(V3,n))>=0)return y(40,n,A),!0;if((A=R(fD,n))>=0)return C(10),y(41,n,A),!0;if((A=R(km,n))>=0)return y(40,n,A),!0;if((A=R(gD,n))>=0)return C(12),y(41,n,A),!0}else if(w===61){if((A=R(j3,n))>=0)return y(40,n,A),!0;if((A=R(pD,n))>=0)return C(11),y(41,n,A),!0}else if(w===46&&(A=R(km,n))>=0)return y(40,n,A),!0;return $!==45&&$!==61&&$!==46&&U()},F=$=>{let w;switch($){case 97:if(e.startsWith("acc",n)){if((w=R(aD,n))>=0)return C(3),y(2,n,w),!0;if((w=R(iD,n))>=0)return C(4),y(4,n,w),!0;if((w=R(sD,n))>=0)return C(5),n=w,!0}break;case 64:if(e.charCodeAt(n+1)===123)return C(16),r.push(7),a.push(""),i.push(n),n+=2,!0;break;case 99:if((w=R(nD,n))>=0)return C(14),n=w,!0;if(N("classDef"))return y(16,n,n+8),!0;if(N("class"))return y(17,n,n+5),!0;if((w=R(oD,n))>=0)return C(13),n=w,!0;break;case 34:return H(),!0;case 115:if(N("style"))return y(12,n,n+5),!0;if(N("swimlane-beta"))return j(13),!0;if(N("subgraph"))return y(21,n,n+8),!0;break;case 100:if(N("default"))return y(13,n,n+7),!0;break;case 108:if(N("linkStyle"))return y(14,n,n+9),!0;break;case 105:if(N("interpolate"))return y(15,n,n+11),!0;break;case 104:if(e.startsWith("href",n)&&Ke(e.charCodeAt(n+4)))return y(18,n,n+5),!0;break;case 102:if(N("flowchart-elk"))return j(13),!0;if(N("flowchart"))return j(9),!0;break;case 103:if(N("graph"))return j(5),!0;break;case 101:if(N("end")){for(w=n+3;w<t&&Ke(e.charCodeAt(w));)w++;return y(22,n,w),!0}break;case 95:if(N("_self"))return y(23,n,n+5),!0;if(N("_blank"))return y(23,n,n+6),!0;if(N("_parent"))return y(23,n,n+7),!0;if(N("_top"))return y(23,n,n+4),!0;break}if(u!==-1&&n>=h&&(u<n&&(u=e.indexOf("direction",n)),u!==-1&&(f<n&&(vm.lastIndex=n,f=vm.test(e)?vm.lastIndex-1:t),u<f))){for(let A=0;A<5;A++)if((w=R(dD[A],n))>=0)return y(26+A,n,w),!0;h=f}if(c!==-1&&$!==34&&!Ke($)){if(n>=g){c<n&&(c=e.indexOf("@",n));let A=n;for(;A<t;){let v=e.charCodeAt(A);if(v===34||Ke(v))break;A++}if(g=A,p=-1,c!==-1&&c<A)for(let v=Math.min(A,t-1)-1;v>=c;v--){if(e.charCodeAt(v)!==64)continue;let b=e.charCodeAt(v+1);if(b!==123&&b!==34){p=v;break}}}if(p>n)return y(31,n,p+1),!0}if($>=48&&$<=57){let A=n+1;for(;A<t;){let v=e.charCodeAt(A);if(v<48||v>57)break;A++}return y(32,n,A),!0}switch($){case 35:return y(33,n,n+1),!0;case 58:return e.charCodeAt(n+1)===58&&e.charCodeAt(n+2)===58?y(34,n,n+3):y(35,n,n+1),!0;case 38:return y(36,n,n+1),!0;case 59:return y(37,n,n+1),!0;case 44:return y(38,n,n+1),!0;case 42:return y(39,n,n+1),!0;case 120:case 111:return P($)||X();case 60:return P($)||y(60,n,n+1),!0;case 45:return P($)||X()||y(65,n,n+1),!0;case 61:return P($);case 46:return P($)||X();case 126:return U();case 40:return k($);case 91:return e.charCodeAt(n+1)===124?(y(50,n,n+2),!0):k($);case 124:case 123:return k($);case 62:return C(7),y(51,n,n+1),!0;case 94:return y(61,n,n+1),!0;case 92:return e.charCodeAt(n+1)===124?(y(62,n,n+2),!0):X();case 118:return tt(e.charCodeAt(n+1))?X():(y(63,n,n+1),!0)}return Ke($)?P($)?!0:(w=R(mD,n))>=0?(y(74,n,w),!0):(w=R(AD,n))>=0?(y(75,n,w),!0):!1:$<128?X():pl($)?(y(66,n,n+1),!0):!1},I=($,w,A,v)=>{if($===34)return H(),!0;let b=D(n);if(b===A||b===v){let M=R(w,n);if(M>=0)return S(),y(40,n,M),!0}if($===A&&(A!==45||e.charCodeAt(n+1)===45))return!1;let T=n+1;for(;T<t;){let M=e.charCodeAt(T);if(M===34)break;if(M===A){if(A!==45||e.charCodeAt(T+1)===45)break}else if(M===120||M===111||M===60||M===v||Ke(M)){let E=D(T);if((E===A||E===v)&&R(w,T)>=0)break}T++}return y(42,n,T),!0};e:for(;;){if(n>=t){let A=-1;switch(o){case 0:A=76;break;case 3:A=3;break;case 4:A=5;break;case 5:A=6;break;case 13:A=19;break;case 14:A=8;break;case 15:A=9;break}A!==-1&&y(A,t,t);break}let $=e.charCodeAt(n),w=!0;switch(o){case 0:w=F($);break;case 1:if($===34)e.charCodeAt(n+1)===96?(C(2),n+=2):(S(),n++);else{let A=e.indexOf('"',n);y(11,n,A===-1?t:A)}break;case 2:if($===96)e.charCodeAt(n+1)===34?(S(),n+=2):w=!1;else if($===34)H();else{let A=n+1;for(;A<t;){let v=e.charCodeAt(A);if(v===96||v===34)break;A++}y(10,n,A)}break;case 3:case 4:{let A=e.indexOf(`
56
+ `,n);A===-1&&(A=t);let v=o===3?3:5;S(),y(v,n,A);break}case 5:if($===125)S(),n++;else{let A=e.indexOf("}",n);A===-1&&(A=t),y(6,n,A)}break;case 6:{let A;$===34?H():(A=R(lD,n))>=0?(S(),y(24,n,A)):(A=R(uD,n))>=0||(A=R(cD,n))>=0||(A=R(hD,n))>=0?(S(),y(25,n,A)):w=U()||k($);break}case 7:{let A=e.charCodeAt(n+1);switch($){case 34:H();break;case 40:case 91:case 123:k($);break;case 93:S(),A===41?y(46,n,n+2):A===93?y(48,n,n+2):y(70,n,n+1);break;case 41:S(),A===93?y(52,n,n+2):A===41&&e.charCodeAt(n+2)===41?y(54,n,n+3):y(68,n,n+1);break;case 124:S(),y(67,n,n+1);break;case 125:S(),y(72,n,n+1);break;default:{if(($===126||Ke($))&&U())break;let v=n+1;for(;v<t;){let b=e.charCodeAt(v);if(b===91||b===93||b===40||b===41||b===123||b===125||b===124||b===34)break;v++}y(44,n,v)}}break}case 8:{let A=e.charCodeAt(n+1);if($===34)H();else{if(($===126||Ke($))&&U())break;if(($===45||$===47||$===41)&&A===41)S(),y(43,n,n+2);else if($===40||$===91||$===123)k($);else if($===41||$===93||$===125)w=!1;else{let v=n+1;for(;v<t;){let b=e.charCodeAt(v);if(b===34||b===40||b===41||b===91||b===93||b===123||b===125||(b===45||b===47)&&e.charCodeAt(v+1)===41||(b===126||Ke(b))&&O(v)&&R(X3,v)>=0)break;v++}y(44,n,v)}}break}case 9:{let A=e.charCodeAt(n+1);if($===34){H();break}if(($===126||Ke($))&&U())break;switch($){case 40:A===45||A===91||A===40&&e.charCodeAt(n+2)===40?k($):A===93?(S(),y(56,n,n+2)):k($);break;case 91:case 123:k($);break;case 92:A===93?(S(),y(56,n,n+2)):y(44,n,n+1);break;case 47:A===93?(S(),y(57,n,n+2)):y(44,n,n+1);break;case 93:case 41:A===93?(S(),y(56,n,n+2)):w=!1;break;case 125:w=!1;break;default:{if(($===63||$===61)&&A===93){S(),y(56,n,n+2);break}let v=n+1;for(;v<t;){let b=e.charCodeAt(v);if(b===92||b===91||b===93||b===40||b===41||b===123||b===125||b===47)break;v++}y(44,n,v)}}break}case 10:w=I($,V3,45,-1);break;case 11:w=I($,j3,61,-1);break;case 12:w=I($,km,46,45);break;case 13:if($===34)H();else if(Ke($))S(),n++;else{let A=n+1;for(;A<t&&!Ke(e.charCodeAt(A));)A++;y(19,n,A)}break;case 14:if($===40){let A=R(bD,n);S(),A>=0?n=A:(C(15),n++)}else{let A=e.indexOf("(",n);A===-1&&(A=t),y(8,n,A)}break;case 15:if($===41)S(),n++;else{let A=e.indexOf(")",n);A===-1&&(A=t),y(9,n,A)}break;case 16:if($===34)C(17),y(7,n,n+1);else if($===125)S(),n++;else if($===94)w=!1;else{let A=n+1;for(;A<t;){let v=e.charCodeAt(A);if(v===125||v===94||v===34)break;A++}y(7,n,A)}break;case 17:if($===34)S(),y(7,n,n+1);else{let A=e.indexOf('"',n);A===-1&&(A=t),r.push(7),a.push(e.slice(n,A).replace(yD,"<br/>")),i.push(n),n=A}break}if(!w)return r.push(1),a.push(""),i.push(n),{types:r,texts:a,starts:i};continue e}return r.push(0),a.push(""),i.push(t),{types:r,texts:a,starts:i}}function SD(e,t){let r=e.includes("}")?e.replace(wD,`}
57
+ `):e,{types:a,texts:i,starts:s}=xD(r),o=0,n,l=I=>{let $=a[o];throw $===1?ut("flowchart",r,s[o],"",!0):ut("flowchart",r,s[o],`Expecting ${I}, got '${Q3[$]}'`)},u=(I,$="")=>(a[o]!==I&&l(`'${Q3[I]}'${$?", "+$:""}`),i[o++]),c=()=>{let I=a[o];I!==74&&I!==37&&I!==76&&l("'SEMI', 'NEWLINE', 'EOF'"),o++},f=()=>{af[a[o]]===0&&l("'NODE_STRING'");let I=i[o++];for(;af[a[o]]===1;)I+=i[o++];return I},h=()=>{Nm[a[o]]===0&&l("'NODE_STRING'");let I=i[o++];for(;Nm[a[o]]===1;)I+=i[o++];return I},g=()=>{let I=a[o],$;if(I===11)$="string";else if(I===10)$="markdown";else if(I===44||I===60||I===51||I===66)$="text";else return l(`${Z3}, 'TAGEND', 'STR', 'MD_STR'`);let w=i[o++];for(;;){let A=a[o];if(A!==44&&A!==60&&A!==51&&A!==66)break;w+=i[o++]}return{text:w,type:$}},p=I=>{u(I,Z3)},m=()=>{let I=a[o],$;if(I===11)$="string";else if(I===10)$="markdown";else if(I===42||I===66)$="text";else return l("'EDGE_TEXT', 'STR', 'MD_STR'");let w=i[o++];for(;a[o]===42||a[o]===66;)w+=i[o++];return{text:w,type:$}},x=()=>{let I=a[o],$;if(I===11)$="text";else if(I===10)$="markdown";else if(Dm[I]===1)$="text";else return l("'NODE_STRING', 'STR', 'MD_STR'");let w=i[o++];for(;Dm[a[o]]===1;)w+=i[o++];return{text:w,type:$}},y=()=>{let I=i[o++];for(;a[o]===7;)I+=i[o++];return I},C=()=>{let I=f(),$;switch(a[o]){case 71:o++,$=g(),p(70),t.addVertex(I,$,"square");break;case 55:o++,$=g(),p(54),t.addVertex(I,$,"doublecircle");break;case 69:o++,a[o]===69?(o++,$=g(),p(68),u(68),t.addVertex(I,$,"circle")):($=g(),p(68),t.addVertex(I,$,"round"));break;case 45:o++,$=g(),p(43),t.addVertex(I,$,"ellipse");break;case 47:o++,$=g(),p(46),t.addVertex(I,$,"stadium");break;case 49:o++,$=g(),p(48),t.addVertex(I,$,"subroutine");break;case 50:{o++;let w=u(64);u(35);let A=u(64);u(67),$=g(),p(70),t.addVertex(I,$,"rect",void 0,void 0,void 0,{[w]:A});break}case 53:o++,$=g(),p(52),t.addVertex(I,$,"cylinder");break;case 73:o++,a[o]===73?(o++,$=g(),p(72),u(72),t.addVertex(I,$,"hexagon")):($=g(),p(72),t.addVertex(I,$,"diamond"));break;case 51:o++,$=g(),p(70),t.addVertex(I,$,"odd");break;case 58:o++,$=g(),a[o]===57?(o++,t.addVertex(I,$,"lean_right")):(p(56),t.addVertex(I,$,"trapezoid"));break;case 59:o++,$=g(),a[o]===56?(o++,t.addVertex(I,$,"lean_left")):(p(57),t.addVertex(I,$,"inv_trapezoid"));break;default:t.addVertex(I)}return I},S=()=>{let I=C();return a[o]===34&&(o++,t.setClass(I,f())),I},R=()=>{let I=[S()];for(n=void 0;;){let $=a[o]===7?y():void 0;if(a[o]!==75)return n=$,I;do o++;while(a[o]===75);if(a[o]!==36)return $!==void 0&&l("'AMP'"),I;o++,a[o]!==75&&l("'SPACE'");do o++;while(a[o]===75);let w=S();$!==void 0&&t.addVertex(I[I.length-1],void 0,void 0,void 0,void 0,void 0,void 0,$),I.push(w)}},N=()=>{let I;if(a[o]===31&&(I=i[o++]),a[o]===40){let $=t.destructLink(i[o++]);return I!==void 0&&($.id=I),a[o]===67&&(o++,$.text=g(),p(67),a[o]===75&&o++),$}if(a[o]===41){let $=i[o++],w=m(),A=u(40,"'EDGE_TEXT'"),v=t.destructLink(A,$);return v.text=w,I!==void 0&&(v.id=I),v}return l("'LINK', 'START_LINK'")},D=I=>{let $=R();n!==void 0&&t.addVertex($[$.length-1],void 0,void 0,void 0,void 0,void 0,void 0,n);let w=$;for(;;){let A=a[o];if(A!==40&&A!==41&&A!==31)return w;let v=N(),b=R();n!==void 0&&t.addVertex(b[b.length-1],void 0,void 0,void 0,void 0,void 0,void 0,n),t.addLink($,b,v),I&&(w=b.concat(w)),$=b}},O=()=>{Rm[a[o]]===0&&l("'NODE_STRING', 'NUM', 'COLON', 'BRKT'");let I=i[o++];for(;Rm[a[o]]===1;)I+=i[o++];return I},H=()=>{let I=[O()];for(;a[o]===38;)o++,I.push(O());return I},U=()=>{o++,u(75);let I;if(a[o]===13)I=[i[o++]];else for(I=[u(32,"'DEFAULT'")];a[o]===38;)o++,I.push(u(32));if(u(75),a[o]!==15){t.updateLink(I,H());return}o++,u(75);let $=h();if(a[o]===75){o++;let w=H();t.updateLinkInterpolate(I,$),t.updateLink(I,w)}else t.updateLinkInterpolate(I,$)},k=(I,$)=>{if(a[o]!==75){t.setLink(I,$);return}if(o++,a[o]===23){t.setLink(I,$,i[o++]);return}let w=u(11,"'LINK_TARGET'");a[o]===75?(o++,t.setLink(I,$,u(23))):t.setLink(I,$),t.setTooltip(I,w)},j=()=>{let I=i[o++];switch(a[o]){case 8:{let $=i[o++],w=a[o]===9,A=w?i[o++]:void 0,v;a[o]===75&&(o++,v=u(11)),w?t.setClickEvent(I,$,A):t.setClickEvent(I,$),v!==void 0&&t.setTooltip(I,v);return}case 18:o++,k(I,u(11));return;case 11:k(I,i[o++]);return;default:{let $=h();if(a[o]===75){o++;let w=u(11);t.setClickEvent(I,$),t.setTooltip(I,w)}else t.setClickEvent(I,$)}}},X=()=>{o++;let I=a[o];if(I===74||I===37||I===76)return o++,{id:void 0,title:void 0,list:[],collect:!1};u(75,"'SEMI', 'NEWLINE', 'EOF'");let $=x(),w=$;return a[o]===71&&(o++,w=g(),p(70)),I=a[o],I!==74&&I!==37&&I!==76&&l("'SEMI', 'NEWLINE', 'EOF', 'SQS'"),o++,{id:$,title:w,list:[],collect:!1}},P=I=>{let $=a[o];switch($){case 12:{o++,u(75);let w=f();return u(75),t.addVertex(w,void 0,void 0,H()),c(),$c}case 14:return U(),c(),$c;case 16:{o++,u(75);let w=f();return u(75),t.addClass(w,H()),c(),$c}case 17:{o++,u(75);let w=f();return u(75),t.setClass(w,f()),c(),$c}case 19:return j(),c(),$c;case 26:case 27:case 28:case 29:case 30:return o++,{stmt:"dir",value:ED[$-26]};case 2:{o++;let w=u(3).trim();return t.setAccTitle(w),w}case 4:{o++;let w=u(5).trim();return t.setAccDescription(w),w}case 6:{let w=i[o++].trim();return t.setAccDescription(w),w}default:{af[$]===0&&l(J3);let w=D(I);return c(),w}}},F=()=>{let I=[],$=[],w=!1;for(;;){let A=a[o];if(A===0)break;if(A===22){let v=I.pop();if(v===void 0)break;o++;let b=t.addSubGraph(v.id,$,v.title);$=v.list,w=v.collect,w&&$.push(b)}else if(A===37||A===74||A===75||A===76)w&&$.push(i[o]),o++;else if(A===21){let v=X();v.list=$,v.collect=w,I.push(v),$=[],w=!0}else{let v=P(w);w&&(!Array.isArray(v)||v.length>0)&&$.push(v)}}I.length>0&&l("'end'")};for(;a[o]===75||a[o]===74;)o++;if(u(20,"'SPACE', 'NEWLINE'"),a[o]===24)o++,t.setDirection("TB");else{let I=u(25,"'NODIR'"),$=a[o];if($===75){do o++;while(a[o]===75);$=a[o],$!==74&&l("'NEWLINE', 'SPACE'")}else $!==37&&$!==74&&l("'SEMI', 'NEWLINE', 'SPACE'");o++,t.setDirection(I)}F(),a[o]!==0&&l(J3)}function CD(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";default:return e.type}}function MD(e){switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":return["none",e];case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":{let t=e.replace("double_","");return[t,t]}}return["none","arrow_point"]}function vD(e,t){let r=[],a=[],i=e.subgraphs,s=S=>{let R=[];for(let N of S){let D=e.classes.get(N);if(D!==void 0){for(let O of D.styles)R.push(O.trim());for(let O of D.textStyles)R.push(O.trim())}}return R},o=new Map;for(let S of i)for(let R of S.nodes)e.subgraph(R)&&o.set(R,S.id);let n=new Map,l=new Map;for(let S of i){let R=o.get(S.id);if(R===void 0)continue;let N=l.get(R);N?N.push(S.id):l.set(R,[S.id])}let u=0;for(let S of i){if(o.has(S.id))continue;let R=[S.id];for(;R.length>0;){let N=R.pop();if(n.has(N))continue;n.set(N,u++);let D=l.get(N);if(D)for(let O=D.length-1;O>=0;O--)R.push(D[O])}}let c=S=>e.subgraph(S)?.metadata?.view==="collapsed",f=!1;for(let S of i)S.metadata?.view==="collapsed"&&(f=!0);let h=new Map,g=S=>{let R=[],N=new Set,D=S;for(;D!==void 0&&!h.has(D)&&!N.has(D);)N.add(D),R.push(D),D=o.get(D);let O=D!==void 0?h.get(D):void 0;for(let H=R.length-1;H>=0;H--)O===void 0&&c(R[H])&&(O=R[H]),h.set(R[H],O);return O},p=new Set,m=new Map;for(let S of f?i:[]){let R=g(S.id);if(R!==void 0){S.id!==R&&(p.add(S.id),m.set(S.id,R));for(let N of S.nodes)N!==R&&(p.add(N),m.set(N,R))}}let x=new Map,y=new Set;for(let S=i.length-1;S>=0;S--){let R=i[S];if(!p.has(R.id)){R.nodes.length>0&&y.add(R.id);for(let N of R.nodes)x.set(N,R.id)}}let C=new Map;for(let S=i.length-1;S>=0;S--){let R=i[S];if(p.has(R.id))continue;let N=R.metadata?.view==="collapsed",D={id:R.id,label:R.title,labelType:R.labelType,parentId:x.get(R.id),cssStyles:[],cssCompiledStyles:s(R.classes),cssClasses:R.classes.join(" "),shape:N?"collapsedGroup":"rect",dir:R.dir,isGroup:!N,colorIndex:n.get(R.id)};N||(D.metadata=R.metadata),r.push(D),C.set(R.id,D)}for(let S of e.nodes.values()){if(p.has(S.id))continue;let R=C.get(S.id);if(R){R.cssStyles=S.styles,R.cssCompiledStyles=s(S.classes),R.cssClasses=S.classes.join(" ");continue}let N=y.has(S.id),D={id:S.id,label:S.text,labelType:S.labelType,parentId:x.get(S.id),cssStyles:S.styles,cssCompiledStyles:s(["default","node",...S.classes]),cssClasses:"default "+S.classes.join(" "),dir:S.dir,link:S.link,linkTarget:S.linkTarget,tooltip:e.tooltips.get(S.id),icon:S.icon,pos:S.pos,img:S.img,assetWidth:S.assetWidth,assetHeight:S.assetHeight,constraint:S.constraint,isGroup:N,shape:N?"rect":CD(S)};r.push(D)}return e.edges.forEach((S,R)=>{let N=m.get(S.start)??S.start,D=m.get(S.end)??S.end;if(N===D&&(m.has(S.start)||m.has(S.end)))return;let[O,H]=MD(S.type),U=[...e.defaultEdgeStyle??[]];S.style&&U.push(...S.style);let k=S.stroke==="invisible"||S.type==="arrow_open";a.push({id:S.id||`L_${N}_${D}_${R}`,isUserDefinedId:S.isUserDefinedId,start:N,end:D,type:S.type??"normal",label:S.text,labelType:S.labelType,thickness:S.stroke,pattern:S.stroke,minlen:S.length,classes:S.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:k?"none":O,arrowTypeEnd:k?"none":H,cssCompiledStyles:s(S.classes),style:U,animate:S.animate,animation:S.animation,curve:S.interpolate||e.defaultInterpolate||t})}),{nodes:r,edges:a}}function Im(e,t,r){let a=e[t];return typeof a=="number"&&a>0?Math.min(a,2e3):r}function Tc(e,t){return e!==void 0&&e>0&&e<=4e3?e:t}function _m(e,t,r,a){let i=s=>ca(r,o=>ND(e,t,r,a,s,o));return Da(e.direction)?Jt(r,i):i(!1)}function ND(e,t,r,a,i,s){let o=s?12:eS,n=a?t[a.type]:void 0,l=typeof n=="object"&&n!==null&&!Array.isArray(n)?n:t.flowchart??{},u=vD(e,typeof l.curve=="string"?l.curve:void 0);a?.prepare(u);let c=r.fontSize??16,f=Math.round(c*.875),h=r.measurer??at(r.fontFamily),g=Math.min(Im(l,"wrappingWidth",200),a&&s?100:1/0),p=r.padding??8,m=r.icons,x=new Map,y=[],C=[];u.nodes.forEach((L,_)=>x.set(L.id,_));for(let L of u.nodes){let _=Rt(L.cssStyles.length>0?L.cssCompiledStyles.concat(L.cssStyles):L.cssCompiledStyles),B=(_.bold?1:0)|(_.italic?2:0),q=L.labelType==="markdown",Q=_.fontSize??c,Z,J;if(L.isGroup){let W=We(L.label,q,h,Q,a&&s?Math.max(80,Ht(r)/2):4e3,B);Z={node:L,style:_,label:W,shape:"group",w:0,h:0,dy:0,loops:0},J=rr(0,0),J.isGroup=!0,J.dir=L.dir?zr(L.dir):void 0,J.padX=o,J.padTop=W.height>0?W.height+16:eS,J.padBottom=o,J.minW=W.width+2*o-12}else{let W=W0(L.shape),V=L.img||L.icon||q3(W)?L.label:void 0,re=We(V,q,h,Q,g,B),ne,ce,ie=0;if(L.img||L.icon){let se=L.img?80:48,ee=Tc(L.assetWidth,se),te=Tc(L.assetHeight,se);ne=Math.max(ee,re.width+8),ce=te+(re.height>0?re.height+6:0),ie=L.pos==="t"?-te/2:te/2,re.height===0&&(ie=0)}else{let se=An(W,re.width,re.height);ne=se.w,ce=se.h,ie=se.dy}Z={node:L,style:_,label:re,shape:W,w:ne,h:ce,dy:ie,loops:0},J=rr(ne,ce)}J.seq=y.length,y.push(Z),C.push(J)}u.nodes.forEach((L,_)=>{C[_].parent=L.parentId!==void 0?x.get(L.parentId)??-1:-1});let S=i?"TB":zr(e.direction),R=L=>{let _;for(let B=C[L].parent,q=0;B>=0&&_===void 0&&q<1e4;B=C[B].parent,q++)_=C[B].dir;return _??=S,_==="LR"||_==="RL"};y.forEach((L,_)=>{L.node.isGroup?C[_].span=1/0:!L.node.img&&!L.node.icon&&(C[_].span=K3(L.shape,L.w,L.h,R(_)))});let N=[],D=[],O=[];for(let L of u.edges){let _=x.get(L.start),B=x.get(L.end);if(_===void 0||B===void 0)continue;let q=We(L.label,L.labelType==="markdown",h,f,g);_===B&&(y[_].loops++,R(_)?C[_].h+=2*($m+(q.height>0?q.height+8:0)):C[_].w+=2*($m+(q.width>0?q.width+12:0))),O.push(L),D.push(q),N.push({src:_,dst:B,minlen:L.minlen??1,labelW:q.width>0?q.width+12:0,labelH:q.height>0?q.height+4:0,route:[],labelX:0,labelY:0})}let H={nodeSep:Im(l,"nodeSpacing",kD)*(s?.5:1),edgeSep:$D,rankSep:Im(l,"rankSpacing",TD)*(s?.75:1),portSep:20,tracks:typeof l.curve=="string"&&/^step/.test(l.curve),straight:l.curve==="linear",headRoom:wt("arrow_point")},U=a?a.layout(C,N,S,H,s):Na(C,N,S,H),k=aa(e.title,h,c,s?Ht(r):4e3),j=k.height>0?k.height+12:0,X=Math.max(U.width,k.width),P=p+(X-U.width)/2,F=p+j;gn(C,N,P,F);let I=Math.ceil(X+2*p),$=Math.ceil(U.height+j+2*p),w=[],A=new Map,v=!1;for(let L of C)L.isGroup&&(v=!0);if(v)for(let L of N)_i(A,L.route);let b="",T="",M="";for(let L=0;L<y.length;L++){let _=y[L],B=C[L],q=_.node,Q=B.x,Z=B.y,J=Wt(q.cssClasses.replace(/^default\s?/,"")),W=Oe(q.id);if(B.isGroup&&a?.drawGroup&&B.parent<0){b+=a.drawGroup(B,_.label,_.style,J,W,S,m);continue}if(B.isGroup){let se=pn(B,_.label.width,A,o),ee=Z-B.h/2+8+_.label.height/2,te=` class="pele-cluster-label" fill="var(--_m)"${_.style.text}`,he=G0(B,_.label.width,se,A);he&&(T+=U0(_.label,se,ee,te,W,C,L,m)),b+=`<g class="pele-cluster${J}" data-id="${W}"><rect x="${d(Q-B.w/2)}" y="${d(Z-B.h/2)}" width="${d(B.w)}" height="${d(B.h)}" fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${bt(_.style.shape)}/>`+(he?"":De(_.label,se,ee,te,m))+"</g>";continue}let V=_.w,re=_.h,ne;if(q.img){let se=Tc(q.assetWidth,80),ee=Tc(q.assetHeight,80),te=_.label.height>0?q.pos==="t"?re/2-ee:-re/2:-ee/2,he=H3(Bi(q.img),r);ne=he===void 0?"":`<image href="${Je(he)}" x="${d(-se/2)}" y="${d(te)}" width="${d(se)}" height="${d(ee)}" preserveAspectRatio="${q.constraint==="on"?"xMidYMid meet":"none"}"/>`}else if(q.icon){let se=Tc(q.assetHeight,48),ee=_.label.height>0?q.pos==="t"?re/2-se:-re/2:-se/2,te=q.shape==="icon"?"":q.shape==="iconCircle"?`<circle cy="${d(ee+se/2)}" r="${d(se/2)}"${Tm}${_.style.shape}/>`:`<rect x="${d(-se/2)}" y="${d(ee)}" width="${d(se)}" height="${d(se)}" rx="${q.shape==="iconRounded"?8:0}"${Tm}${_.style.shape}/>`,he=se*.6;ne=te+`<svg class="pele-icon" data-icon="${Oe(q.icon)}" x="${d(-he/2)}" y="${d(ee+(se-he)/2)}" width="${d(he)}" height="${d(he)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${m?.(q.icon)??""}</svg>`}else ne=Fi(_.shape,V,re,Tm+_.style.shape,ID+_.style.line);let ce=De(_.label,0,_.dy,` class="pele-label"${_.style.text}`,m);if(/ internal-link(?: |$)/.test(J+" ")&&q.label&&r.links!==!1){let se=Dt(q.label),ee=Ps(Oi(se),r)!==void 0,te=Je(se);ce=`<a class="internal-link"${ee?` href="${te}"${Gs(r)}`:""} data-href="${te}">${ce}</a>`,w.push({id:q.id,href:se,internal:!0})}let ie=ne+ce;q.tooltip&&(ie=`<title>${Oe(q.tooltip)}</title>`+ie),q.link&&(ie=di(ie,q.link,q.id,w,r,q.linkTarget?` target="${Je(q.linkTarget)}"`:"")),M+=`<g class="pele-node pele-shape-${_.shape}${J}" data-id="${W}" transform="translate(${d(Q)},${d(Z)})">${ie}</g>`}let E=z0();for(let L=0;L<N.length;L++){let _=N[L];_.src===_.dst||O[L].thickness==="invisible"||_.route.length<6||(E.add(_.src,fi(_.route,0,C[_.src]),O[L].arrowTypeStart),E.add(_.dst,fi(_.route,_.route.length-3,C[_.dst]),O[L].arrowTypeEnd))}let Y="",G="",K=new Map;for(let L=0;L<N.length;L++){let _=N[L],B=O[L],q=D[L],Q=B.style.length>0||B.cssCompiledStyles.length>0?Rt(B.cssCompiledStyles.concat(B.style)):void 0;if(B.thickness!=="invisible"){let Z=B.arrowTypeStart,J=B.arrowTypeEnd,W;if(_.src===_.dst){let ce=y[_.src],ie=K.get(_.src)??0;K.set(_.src,ie+1),W=Q0(C[_.src],ce.w,ce.h,ie,R(_.src),$m,wt(J),_)}else{let ce=_.route.slice(),ie=E.of(_.src,fi(ce,0,C[_.src])),se=E.of(_.dst,fi(ce,ce.length-3,C[_.dst]));oo(ce,0,y[_.src],C[_.src]),oo(ce,ce.length-3,y[_.dst],C[_.dst]),W=ya(ce,B.curve,wt(Z),wt(J),ie,se)}let V=Q?.stroke&&B.thickness!=="invisible"?Je(Q.stroke):"var(--_l)",re="";B.thickness==="thick"?re+=' stroke-width="2.5"':B.thickness==="dotted"&&(re+=' stroke-dasharray="3 4"');let ne=Wt(B.classes.replace(/edge-thickness-normal|edge-pattern-solid|flowchart-link/g,""));Y+=`<g class="pele-edge${ne}" data-id="${Oe(B.id)}"${Q?.line??""}><path d="${W.d}"${re}/>`+vt(Z,W.sx,W.sy,W.sdx,W.sdy,V)+vt(J,W.ex,W.ey,W.edx,W.edy,V)+"</g>"}if(q.width>0){let Z=_.labelX,J=_.labelY;G+=qr(B.id,q,Z,J,Q?.text??"",m)}}return{svg:rt(a?.type??"flowchart",I,$,c,r,e,De(k,I/2,p+k.height/2,' class="pele-title" font-weight="var(--_tw)"')+(b?`<g class="pele-clusters">${b}</g>`:"")+(Y?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${Y}</g>`:"")+(T?`<g class="pele-cluster-titles">${T}</g>`:"")+(G?`<g class="pele-edge-labels" font-size="${f}">${G}</g>`:"")+`<g class="pele-nodes">${M}</g>`),width:I,height:$,links:w}}var rD,Q3,tS,aD,iD,sD,nD,oD,lD,uD,cD,hD,dD,vm,V3,fD,j3,pD,km,gD,X3,mD,AD,bD,yD,af,Nm,Dm,Rm,Z3,$c,wD,ED,J3,kD,$D,TD,eS,$m,Tm,ID,sf,Lm=Xe(()=>{pm();cl();H0();ml();mn();Li();Us();bn();pr();zt();Lr();xt();Mt();rD=class{type="flowchart";direction;nodes=new Map;edges=[];subgraphs=[];classes=new Map;tooltips=new Map;defaultEdgeStyle;defaultInterpolate;title;accTitle;accDescr;subgraphLookup=new Map;members=new Set;edgeById=new Map;pairCount=new Map;subCount=0;options;constructor(e={}){this.options=e}addVertex(e,t,r,a,i,s,o,n){if(!e||e.trim().length===0)return;let l;if(n!==void 0){let g=n.includes(`
58
+ `)?n+`
59
+ `:`{
60
+ `+n+`
61
+ }`,p;try{p=Di(g)}catch(m){throw new je(`Metadata of "${e}" is not valid YAML. ${m.message}`,"syntax",{type:"flowchart"})}l=p!==null&&typeof p=="object"&&!Array.isArray(p)?p:void 0}let u=this.subgraphLookup.get(e);if(u&&l){u.metadata={...u.metadata,...l};return}let c=this.edgeById.get(e);if(c){l?.animate!==void 0&&(c.animate=l.animate),l?.animation!==void 0&&(c.animation=l.animation),l?.curve!==void 0&&(c.interpolate=l.curve);return}let f=this.nodes.get(e);if(f===void 0&&(t===void 0&&r===void 0&&a!==void 0&&a!==null&&this.options.warn?.(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",styles:[],classes:[]},this.nodes.set(e,f)),t!==void 0?(f.labelType=t.type,f.text=z3(t.text.trim())):f.text===void 0&&(f.text=e),r!==void 0&&(f.type=r),a!=null)for(let g of a)f.styles.push(g);if(i!=null)for(let g of i)f.classes.push(g);if(s!==void 0&&(f.dir=s),f.props===void 0?f.props=o??{}:o!==void 0&&Object.assign(f.props,o),l===void 0)return;if(l.shape){let g=String(l.shape);if(g!==g.toLowerCase()||g.includes("_"))throw new je(`No such shape: ${g}. Shape names should be lowercase.`,"semantic",{type:"flowchart"});if(!F0(g))throw new je(`No such shape: ${g}.`,"semantic",{type:"flowchart"});f.type=g}let h=typeof l.label=="string"?l.label:void 0;l.label&&(f.text=String(l.label),f.labelType=Mm(l.labelType)),l.icon&&(f.icon=String(l.icon),!h?.trim()&&f.text===e&&(f.text="")),l.form&&(f.form=String(l.form)),l.pos&&(f.pos=String(l.pos)),l.img&&(f.img=String(l.img),!h?.trim()&&f.text===e&&(f.text="")),l.constraint&&(f.constraint=String(l.constraint)),l.w&&(f.assetWidth=Number(l.w)),l.h&&(f.assetHeight=Number(l.h))}addSingleLink(e,t,r,a){let i={start:e,end:t,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.defaultInterpolate},s=r?.text;s!==void 0&&(i.text=z3(s.text.trim()),i.labelType=Mm(s.type)),r!==void 0&&(i.type=r.type,i.stroke=r.stroke,i.length=r.length>10?10:r.length);let o=e+"\0"+t,n=this.pairCount.get(o)??0;a&&!this.edgeById.has(a)?(i.id=a,i.isUserDefinedId=!0):i.id=`L_${e}_${t}_${n===0?0:n+1}`;let l=this.options.maxEdges;if(l!==void 0&&this.edges.length>=l)throw new je(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${l}.`,"limit",{type:"flowchart"});this.edges.push(i),this.pairCount.set(o,n+1),this.edgeById.has(i.id)||this.edgeById.set(i.id,i)}addLink(e,t,r){let a=typeof r?.id=="string"?r.id.replace("@",""):void 0,i=e[e.length-1],s=t[0];for(let o of e)for(let n of t)this.addSingleLink(o,n,r,o===i&&n===s?a:void 0)}updateLinkInterpolate(e,t){for(let r of e)r==="default"?this.defaultInterpolate=t:this.edgeAt(r).interpolate=t}updateLink(e,t){for(let r of e){if(r==="default"){this.defaultEdgeStyle=t;continue}let a=this.edgeAt(r);a.style=t,t.length>0&&!t.some(i=>i?.startsWith("fill"))&&t.push("fill:none")}}edgeAt(e){let t=this.edges[Number(e)];if(t===void 0)throw new je(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`,"semantic",{type:"flowchart"});return t}addClass(e,t){let r=t.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");for(let a of e.split(",")){let i=this.classes.get(a);i===void 0&&(i={id:a,styles:[],textStyles:[]},this.classes.set(a,i));for(let s of r)s.includes("color")&&i.textStyles.push(s.replace("fill","bgFill")),i.styles.push(s)}}setDirection(e){let t=e.trim();t.includes("<")&&(t="RL"),t.includes("^")&&(t="BT"),t.includes(">")&&(t="LR"),t.includes("v")&&(t="TB"),t==="TD"&&(t="TB"),this.direction=t}setClass(e,t){for(let r of e.split(","))this.nodes.get(r)?.classes.push(t),this.edgeById.get(r)?.classes.push(t),this.subgraphLookup.get(r)?.classes.push(t)}setTooltip(e,t){if(t!==void 0)for(let r of e.split(","))this.tooltips.set(r,t)}setLink(e,t,r){let a=t.trim();for(let i of e.split(",")){let s=this.nodes.get(i);s!==void 0&&(s.link=a?Bi(a):void 0,s.linkTarget=r)}this.setClass(e,"clickable")}setClickEvent(e,t,r){this.setClass(e,"clickable")}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
62
+ `)}addSubGraph(e,t,r){let a=e?.text.trim(),i=r?.text??"";e!==void 0&&e===r&&/\s/.test(i)&&(a=void 0);let s=new Set,o=[],n;for(let f of t)if(typeof f=="string")f.trim()!==""&&!s.has(f)&&(s.add(f),o.push(f));else if(Array.isArray(f))for(let h of f)h.trim()!==""&&!s.has(h)&&(s.add(h),o.push(h));else n=f.value;n??=this.options.inheritDir?this.direction??this.options.direction:void 0,a??="subGraph"+this.subCount,i=i||"",this.subCount++;let l={id:a,nodes:o,title:i.trim(),classes:[],dir:n,labelType:Mm(r?.type)},u=this.members;l.nodes=o.filter(f=>!u.has(f)&&f!==a);for(let f of l.nodes)u.add(f);let c=this.subgraphLookup.get(a);if(c)for(let f of l.nodes)c.nodes.push(f);else this.subgraphs.push(l);return this.subgraphLookup.set(a,c??l),a}exists(e,t){for(let r of e)if(r.nodes.includes(t))return!0;return!1}makeUniq(e,t){let r=new Set;for(let a of t)for(let i of a.nodes)r.add(i);return{nodes:e.nodes.filter(a=>!r.has(a))}}destructLink(e,t){let r=tD(e);if(!t)return r;let a=eD(t);if(a.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(a.type==="arrow_open")a.type=r.type;else{if(a.type!==r.type)return{type:"INVALID",stroke:"INVALID"};a.type="double_"+a.type}return a.type==="double_arrow"&&(a.type="double_arrow_point"),a.length=r.length,a}subgraph(e){return this.subgraphLookup.get(e)}},Q3=["$end","INVALID","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","SHAPE_DATA","CALLBACKNAME","CALLBACKARGS","MD_STR","STR","STYLE","DEFAULT","LINKSTYLE","INTERPOLATE","CLASSDEF","CLASS","HREF","CLICK","GRAPH","subgraph","end","LINK_TARGET","NODIR","DIR","direction_tb","direction_bt","direction_rl","direction_lr","direction_td","LINK_ID","NUM","BRKT","STYLE_SEPARATOR","COLON","AMP","SEMI","COMMA","MULT","LINK","START_LINK","EDGE_TEXT","-)","TEXT","(-","STADIUMEND","STADIUMSTART","SUBROUTINEEND","SUBROUTINESTART","VERTEX_WITH_PROPS_START","TAGEND","CYLINDEREND","CYLINDERSTART","DOUBLECIRCLEEND","DOUBLECIRCLESTART","TRAPEND","INVTRAPEND","TRAPSTART","INVTRAPSTART","TAGSTART","UP","SEP","DOWN","NODE_STRING","MINUS","UNICODE_TEXT","PIPE","PE","PS","SQE","SQS","DIAMOND_STOP","DIAMOND_START","NEWLINE","SPACE","EOF"],tS=new Uint8Array(128);for(let e of"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"#$%&'*+.`?\\_/")tS[e.charCodeAt(0)]=1;aD=/accTitle\s*:\s*/y,iD=/accDescr\s*:\s*/y,sD=/accDescr\s*\{\s*/y,nD=/call\s+/y,oD=/click\s+/y,lD=/(?:\r?\n)*\s*\n/y,uD=/\s*(?:LR|RL|TB|BT|TD|BR)\b/y,cD=/\s*[<>^]/y,hD=/\s*v\b/y,dD=[/.*direction\s+TB[^\n]*/y,/.*direction\s+BT[^\n]*/y,/.*direction\s+RL[^\n]*/y,/.*direction\s+LR[^\n]*/y,/.*direction\s+TD[^\n]*/y],vm=/[\n\r\u2028\u2029]/g,V3=/\s*[xo<]?--+[-xo>]\s*/y,fD=/\s*[xo<]?--\s*/y,j3=/\s*[xo<]?==+[=xo>]\s*/y,pD=/\s*[xo<]?==\s*/y,km=/\s*[xo<]?-?\.+-[xo>]?\s*/y,gD=/\s*[xo<]?-\.\s*/y,X3=/\s*~~~+\s*/y,mD=/(?:\r?\n)+/y,AD=/[^\S\n\r]+/y,bD=/\(\s*\)/y,yD=/\n\s*/g;af=new Uint8Array(77);for(let e of[32,64,63,65,13,38,35,36,33,39,66])af[e]=1;Nm=new Uint8Array(77);for(let e of[32,66,64,25,63,65,38,35,36,33,39])Nm[e]=1;Dm=new Uint8Array(77);for(let e of[32,64,75,65,36,66,35,39,33,12,14,16,17,19,20,25,21,22,63,61,41])Dm[e]=1;Rm=new Uint8Array(77);for(let e of[32,64,35,75,33,12])Rm[e]=1;Z3="'UNICODE_TEXT', 'TEXT', 'TAGSTART'",$c=[],wD=/}\s*\n/g;ED=["TB","BT","RL","LR","TD"],J3="'SEMI', 'NEWLINE', 'SPACE', 'EOF', 'subgraph', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'STYLE', 'LINKSTYLE', 'CLASSDEF', 'CLASS', 'CLICK', 'NODE_STRING'";kD=40,$D=16,TD=48,eS=20,$m=26,Tm=' fill="var(--_s)" stroke="var(--_b)"',ID=' stroke="var(--_b)"';sf={type:"flowchart",math:!0,parse(e,t,r,a,i){let s=t.flowchart??{},o=new rD({inheritDir:s.inheritDir===!0,maxEdges:i.maxEdges});return r&&(o.title=r),SD(e,o),o},render:_m}});var rS={};Bt(rS,{flowchart:()=>sf});var aS=Xe(()=>{Lm()});function DD(e){let t=e.map((i,s)=>s),r=[];for(let i=0;i<128;i++){let s=String.fromCharCode(i);r.push(t.filter(o=>{let{pattern:n,first:l}=e[o];return typeof n=="string"?n[0]===s:l===void 0||l.includes(s)}))}let a={starting:r,every:t,longer:e.map(i=>i.longer?.map(s=>e.indexOf(s)))};return iS.set(e,a),a}function sr(e,t,r){let a=[],i=[],s=[],o=new Uint8Array(t.length),{starting:n,every:l,longer:u}=iS.get(t)??DD(t),c=[],f=e.length,h=(p,m)=>{if(o[p])return-1;let x=t[p];if(x.match!==void 0)return x.match(e,m);if(x.scanner!==void 0)return(c[p]??=x.scanner())(e,m);let y=x.pattern;return typeof y=="string"?e.startsWith(y,m)?m+y.length:-1:(y.lastIndex=m,y.test(e)?y.lastIndex:(x.opener!==void 0&&(x.opener.lastIndex=m,x.opener.test(e)&&(o[p]=1)),-1))},g=0;e:for(;g<f;){let p=e.charCodeAt(g);for(let m of p<128?n[p]:l){let x=h(m,g);if(x<=g)continue;let y=m,C=u[m];if(C!==void 0)for(let S of C){let R=h(S,g);if(R>x){y=S,x=R;break}}t[y].hidden||(a.push(y),i.push(g),s.push(x)),g=x;continue e}throw ut(r,e,g,"",!0)}return a.push(-1),i.push(f),s.push(f),{kinds:a,starts:i,ends:s,src:e}}function $r(e){return{name:e,pattern:new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"(?:(?=%%)|(?!\\S))","y"),first:e[0]}}function Om(e){return e.trim().replace(/[\t ]{2,}/gm," ")}function or(e){return Om(LD.exec(e)[1])}function lr(e){return Om(_D.exec(e)[1])}function ur(e){let t=RD.exec(e);return t[1]!==void 0?Om(t[1]):t[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
63
+ `)}function Qr(e){if(!e.includes("\\"))return e.slice(1,-1);let t="";for(let r=1;r<e.length-1;r++){let a=e[r];if(a==="\\"){let i=e[++r];t+=OD.get(i)??i}else t+=a}return t}var iS,Or,br,yr,Ra,ha,da,nr,vr,kr,RD,_D,LD,OD,cr,_a=Xe(()=>{Mt();iS=new WeakMap;Or={name:"ACC_DESCR",pattern:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/y,first:" a"},br={name:"ACC_TITLE",pattern:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/y,first:" a"},yr={name:"TITLE",pattern:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/y,first:" t"},Ra={name:"STRING",pattern:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/y,first:`"'`},ha={name:"NEWLINE",pattern:/\r?\n/y,first:`\r
64
+ `},da={name:"WHITESPACE",pattern:/[\t ]+/y,hidden:!0,first:" "},nr={name:"YAML",pattern:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/y,hidden:!0,opener:/---[\t ]*\r?\n/y,first:"-"},vr={name:"DIRECTIVE",pattern:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/y,hidden:!0,opener:/[\t ]*%%{/y,first:" %"},kr={name:"SINGLE_LINE_COMMENT",pattern:/[\t ]*%%[^\n\r]*/y,first:" %",hidden:!0};RD=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,_D=/accTitle[\t ]*:([^\n\r]*)/,LD=/title([\t ][^\n\r]*|)/;OD=new Map([["b","\b"],["f","\f"],["n",`
65
+ `],["r","\r"],["t"," "],["v","\v"],["0","\0"]]);cr=class{constructor(e,t,r){this.tokens=e,this.types=t,this.diagram=r,this.kinds=e.kinds}tokens;types;diagram;i=0;kinds;get kind(){return this.kinds[this.i]}text(e=this.i){return this.tokens.src.slice(this.tokens.starts[e],this.tokens.ends[e])}take(){return this.text(this.i++)}accept(e){return this.kinds[this.i]!==e?!1:(this.i++,!0)}expect(e){return this.kinds[this.i]!==e&&this.fail(`token of type '${this.types[e].name}'`),this.take()}fail(e){let t=this.kind===-1?"end of input":`\`${this.text()}\``;throw ut(this.diagram,this.tokens.src,this.tokens.starts[this.i],`Expecting ${e} but found ${t}.`)}}});function BD(e,t){let r=new Map;for(let{label:a,value:i}of e.sections){if(i<0)throw new je(`"${a}" has invalid value: ${i}. Negative values are not allowed in pie charts. All slice values must be >= 0.`,"semantic",{type:"pie"});r.has(a)||r.set(a,i)}return{type:"pie",title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,""):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
66
+ `):void 0,showData:e.showData,sections:r}}function sS(e,t){let r=t;for(let a=e.charCodeAt(r);a>=48&&a<=57;a=e.charCodeAt(r))r++;return r}function FD(){let e=0,t=0,r=-1;return(a,i)=>{let s=a.charCodeAt(i)===45?i+1:i;if((s<e||s>=t)&&(e=s,t=sS(a,s),r=-1,t>s&&a.charCodeAt(t)===46)){let o=sS(a,t+1),n=o-t-1;n>0&&a.charCodeAt(o)!==46?r=o:n>1&&(r=o-1)}return t===s?-1:r>=0?r:a.charCodeAt(s)===48?a.charCodeAt(s+1)===46?-1:s+1:a.charCodeAt(t)!==46?t:t-1>s?t-1:-1}}function WD(e){let t=new cr(sr(e,nS,"pie"),nS,"pie"),r={$type:"Pie",showData:!1,sections:[]},a=()=>{if(t.kind!==-1)for(t.kind!==8&&t.fail("a line break or the end of input");t.kind===8;)t.i++};for(;t.kind===8;)t.i++;for(t.expect(1),r.showData=t.accept(0);t.kind!==-1;)switch(t.kind){case 8:t.i++;break;case 4:r.accDescr=ur(t.take()),a();break;case 5:r.accTitle=lr(t.take()),a();break;case 6:r.title=or(t.take()),a();break;case 7:{let i=Qr(t.take());t.expect(2);let s=Number(t.expect(3));r.sections.push({$type:"PieSection",label:i,value:s}),a();break}default:t.fail("a section, a title, or a line break")}return r}function Wm(e,t){return e.pie?.[t]}function Sl(e,t){return`${d(Math.sin(e)*t)},${d(-Math.cos(e)*t)}`}function PD(e,t,r,a){if(t-e>=Math.PI*2-1e-9){let s=(o,n)=>`M0,${d(-o)}A${d(o)},${d(o)} 0 1 ${n} 0,${d(o)}A${d(o)},${d(o)} 0 1 ${n} 0,${d(-o)}Z`;return s(r,1)+(a>0?s(a,0):"")}let i=t-e>Math.PI?1:0;return a<=0?`M0,0L${Sl(e,r)}A${d(r)},${d(r)} 0 ${i} 1 ${Sl(t,r)}Z`:`M${Sl(e,r)}A${d(r)},${d(r)} 0 ${i} 1 ${Sl(t,r)}L${Sl(t,a)}A${d(a)},${d(a)} 0 ${i} 0 ${Sl(e,a)}Z`}function GD(e,t,r){return yn(r,HD*2,140,(a,i)=>UD(e,t,r,a/2,i))}function UD(e,t,r,a,i){let s=r.fontSize??16,o=Math.round(s*.875),n=r.measurer??at(r.fontFamily),l=r.padding??8,u=Wm(t,"textPosition"),c=typeof u=="number"&&u>=0&&u<=1?u:.75,f=Wm(t,"donutHole"),h=typeof f=="number"&&f>0&&f<=.9?f*a:0,g=String(Wm(t,"legendPosition")??"right"),p=i&&(g==="left"||g==="right")?"bottom":g,m=[...e.sections],x=0;for(let[,q]of m)x+=q;let y=m.map(([q,Q])=>We(e.showData?`${q} [${Q}]`:q,!1,n,o,4e3)),C=0;for(let q of y)C=Math.max(C,q.width);C+=y.length>0?Ic+8:0;let S=y.length*Bm,R=We(e.title,!1,n,s,Ht(r),1),N=R.height>0?R.height+16:0,D=m.map(([,q])=>{let Q=x>0?q/x:0;return Q*100>=1&&(Q*100).toFixed(0)!=="0"?Q:0}),O=D.map(q=>q===0||q>=.5?!1:2*a*c*Math.sin(q*Math.PI)<n.width((q*100).toFixed(0)+"%",o,0)+6),H=O.includes(!0)?oS:0,U=p==="left"||p==="right"||p==="center"?p:"",k=p==="top"||p==="bottom",j=(a+H)*2,X=j,P=j;U==="left"||U==="right"?(X+=C>0?Fm+C:0,P=Math.max(P,S)):k&&(X=Math.max(X,C),P+=S>0?20+S:0),X=Math.max(X,R.width);let F=l+(U==="left"?C+Fm+j/2:U==="right"?j/2:X/2),I=l+N,$=I+(p==="top"?S+20+j/2:k?j/2:P/2),w="",A="",v="",b=0,T=a+oS/2,M=[],E=(q,Q,Z)=>M.every(J=>Math.abs(q-J.x)>=(Z+J.width)/2+2||Math.abs(Q-J.y)>=o+2);m.forEach(([q],Q)=>{let Z=D[Q];if(Z===0)return;let J=b+Z*Math.PI*2;w+=`<path class="pele-slice" data-id="${Oe(q)}" d="${PD(b,J,a,h)}" fill="${At(Q)}"/>`;let W=(b+J)/2,V=(Z*100).toFixed(0)+"%";if(O[Q]){let re=n.width(V,o,0),ne=W;for(let se=0;se<360&&!E(Math.sin(ne)*T,-Math.cos(ne)*T,re);se++)ne+=2/T;let ce=Math.sin(ne)*T,ie=-Math.cos(ne)*T;M.push({x:ce,y:ie,width:re}),v+=`<text x="${d(ce)}" y="${d(ie+o*.35)}">${V}</text>`}else{let re=a*c;A+=`<text x="${d(Math.sin(W)*re)}" y="${d(-Math.cos(W)*re+o*.35)}">${V}</text>`}b=J}),w===""&&(w=`<circle class="pele-slice" r="${a}" fill="none" stroke="var(--_b)"/>`);let Y="",G,K;U==="right"?(G=F+j/2+Fm,K=I+(P-S)/2):U==="left"?(G=l,K=I+(P-S)/2):U==="center"?(G=F-C/2,K=$-S/2):(G=l+(X-C)/2,K=p==="top"?I:I+j+20),y.forEach((q,Q)=>{let Z=K+Q*Bm+Bm/2;Y+=`<g class="pele-legend-item" data-id="${Oe(m[Q][0])}"><rect x="${d(G)}" y="${d(Z-Ic/2)}" width="${Ic}" height="${Ic}" rx="2" fill="${At(Q)}"/>`+De(q,G+Ic+8+q.width/2,Z,"")+"</g>"});let L=Math.ceil(X+2*l),_=Math.ceil(P+N+2*l),B=De(R,L/2,l+R.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g class="pele-slices" transform="translate(${d(F)},${d($)})" stroke="var(--_bg)" stroke-width="1" stroke-linejoin="round">${w}</g>`+(A?`<g class="pele-slice-labels" transform="translate(${d(F)},${d($)})" font-size="${o}" text-anchor="middle" fill="var(--_bg)">${A}</g>`:"")+(v?`<g class="pele-slice-labels" transform="translate(${d(F)},${d($)})" font-size="${o}" text-anchor="middle">${v}</g>`:"")+(Y?`<g class="pele-legend" font-size="${o}">${Y}</g>`:"");return{svg:rt("pie",L,_,s,r,e,B),width:L,height:_,links:[]}}var nS,HD,Ic,Bm,Fm,oS,lS,uS=Xe(()=>{zt();_a();xt();Mt();nS=[$r("showData"),$r("pie"),{name:":",pattern:":"},{name:"NUMBER_PIE",pattern:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/y,scanner:FD,first:"-0123456789"},Or,br,yr,Ra,ha,da,nr,vr,kr];HD=120,Ic=12,Bm=26,Fm=32,oS=28;lS={type:"pie",parse:(e,t,r)=>BD(WD(e),r),render:GD}});var cS={};Bt(cS,{pie:()=>lS});var hS=Xe(()=>{uS()});function Hm(e){let t=0;for(let r=e.indexOf("~");r!==-1;r=e.indexOf("~",r+1))t++;return t}function YD(e){let t=Hm(e);if(t<=1)return e;let r=t%2!==0&&e.startsWith("~"),a=e.split(""),i=[];for(let s=r?1:0;s<a.length;s++)a[s]==="~"&&i.push(s);for(let s=0,o=i.length-1;s<o;s++,o--)a[i[s]]="<",a[i[o]]=">";return a.join("")}function lo(e){if(!e.includes("~"))return e;let t=e.split(/(,)/),r=[];for(let a=0;a<t.length;a++){let i=t[a];i===","&&a>0&&a+1<t.length&&Hm(t[a-1])===1&&Hm(t[a+1])===1&&(i=t[a-1]+","+t[a+1],a++,r.pop()),r.push(YD(i))}return r.join("")}var Pm=Xe(()=>{});function KD(e){return e==="markdown"||e==="string"||e==="text"?e:"markdown"}function fS(e,t){return e<128?(Wi[e]&t)!==0:e>=192||e===181}function XD(e){let t=e.length,r=[],a=[],i=[],s=0,o=0,n=-2,l=0,u=-1,c=-2,f=-1,h=-1,g=-1,p=(P,F,I)=>{r.push(P),a.push(e.slice(F,I)),i.push(F),o=I},m=(P,F)=>(P.lastIndex=F,P.test(e)?P.lastIndex:-1),x=P=>{for(let F=0;F<P.length;F++){let I=P.charCodeAt(F),$=e.charCodeAt(o+F);if($!==I&&(I<97||I>122||($|32)!==I))return!1}return!0},y=P=>x(P)&&!tt(e.charCodeAt(o+P.length)),C=P=>{let F=e.charCodeAt(P);return F>=65&&F<=90?F+32:F},S=P=>(Um.lastIndex=P,Um.test(e)?Um.lastIndex-1:t),R=P=>{for(;yt(e.charCodeAt(P));)P++;return P},N=()=>{if(n===-1||n<o&&(Gm.lastIndex=o,n=Gm.test(e)?Gm.lastIndex-9:-1,n===-1)||o<l||(u<o&&(u=S(o)),n>=u))return!1;for(let P=0;P<4;P++){let F=m(jD[P],o);if(F>=0)return p(18+P,o,F),!0}return l=u,!1},D=()=>{let P=e.indexOf('"',o+1);if(P===-1){p(45,o,o+1);return}let F=P>o+1;for(let I=o+1;F&&I<P;I++){let $=e.charCodeAt(I);($===37||$===92||$===13||$===10||$===11||$===8)&&(F=!1)}p(F?31:44,o,P+1)},O=P=>{let F=e.charCodeAt(o+1);if(F===43&&(P===49||P===48)){p(P===49?39:38,o,o+2);return}let I=R(o+1);if(e.charCodeAt(I)===46&&yt(e.charCodeAt(I+1))){p(32,o,R(I+2));return}if(P===49){if(Ke(F)){let $=o+2;for(;Ke(e.charCodeAt($));)$++;let w=e.charCodeAt($);if(tt(w)||w===34||w===39){p(40,o,o+1);return}}else if(F===45||F===46){let $=e.charCodeAt(o+2);if($===45||$===46){p(40,o,o+1);return}}if(!tt(F)){p(33,o,o+1);return}}p(29,o,I)},H=P=>{let F=e.charCodeAt(o+1);switch(P){case 101:if(y("erdiagram"))p(2,o,o+9);else if(y("end")){let I=o+3;for(;Ke(e.charCodeAt(I));)I++;p(16,o,I)}else return!1;return!0;case 115:if(y("style"))s=6,p(27,o,o+5);else if(y("subgraph"))p(17,o,o+8);else return!1;return!0;case 99:if(y("classdef"))s=6,p(22,o,o+8);else if(y("class"))p(26,o,o+5);else return!1;return!0;case 111:if(y("one or zero"))p(37,o,o+11);else if(y("one or more")||y("one or many"))p(39,o,o+11);else if(y("one"))p(40,o,o+3);else if(y("only one"))p(40,o,o+8);else if(F===124)p(37,o,o+2);else if(F===123)p(38,o,o+2);else if(y("optionally to"))p(42,o,o+13);else return!1;return!0;case 122:if(y("zero or one"))p(37,o,o+11);else if(y("zero or more")||y("zero or many"))p(38,o,o+12);else return!1;return!0;case 109:if(x("many(0)"))p(38,o,o+7);else if(x("many(1)"))p(39,o,o+7);else if(y("many"))p(38,o,o+4);else return!1;return!0;case 116:return y("to")?(p(43,o,o+2),!0):!1;case 117:return F!==46&&F!==45&&F!==124?!1:(p(41,o,o+1),!0);case 124:if(C(o+1)===111&&!tt(e.charCodeAt(o+2)))p(37,o,o+2);else if(F===124)p(40,o,o+2);else if(F===123)p(39,o,o+2);else return!1;return!0;case 125:if(C(o+1)===111&&!tt(e.charCodeAt(o+2)))p(38,o,o+2);else if(F===124)p(39,o,o+2);else return!1;return!0;case 46:return F!==46&&F!==45?!1:(p(42,o,o+2),!0);case 45:if(F===45)p(43,o,o+2);else if(F===46)p(42,o,o+2);else return!1;return!0}return!1},U=P=>{let F;if((P===97||P===65)&&x("acc")){if((F=m(zD,o))>=0){s=3,p(11,o,F);return}if((F=m(QD,o))>=0){s=4,p(13,o,F);return}if((F=m(VD,o))>=0){s=5,o=F;return}}if(!N()){switch(P){case 32:case 9:case 13:F=o+1;for(let I=e.charCodeAt(F);I===32||I===9||I===13;I=e.charCodeAt(F))F++;o=F;return;case 10:for(F=o+1;e.charCodeAt(F)===10;)F++;p(4,o,F);return;case 34:D();return;case 123:s=1,p(7,o,o+1);return;case 35:p(30,o,o+1);return;case 44:p(25,o,o+1);return;case 58:e.charCodeAt(o+1)===58&&e.charCodeAt(o+2)===58?p(6,o,o+3):p(5,o,o+1);return;case 91:p(9,o,o+1);return;case 93:p(10,o,o+1);return}if(yt(P)){O(P);return}if(!H(P>=65&&P<=90?P+32:P)){if(P>=128||Wi[P]&Rc){F=o+1;for(let I=e.charCodeAt(F);I>=128||Wi[I]&Rc;I=e.charCodeAt(F))F++;p(23,o,F);return}p(45,o,o+1)}}},k=()=>{if(c===-1||c<o&&(c=e.indexOf("~",o),c===-1))return!1;if(g<o){let F=o;for(;F<t&&!Ke(e.charCodeAt(F));)F++;g=F}if(c>=g||(f<o&&(f=S(o),h=e.lastIndexOf("~",f-1)),h<=c))return!1;let P=h+1;for(;P<t&&!Ke(e.charCodeAt(P));)P++;return p(34,o,P),!0},j=P=>{if(Ke(P)){for(o++;Ke(e.charCodeAt(o));)o++;return}let F=P|32;if((F===112||F===102||F===117)&&(e.charCodeAt(o+1)|32)===107&&!tt(e.charCodeAt(o+2))){p(35,o,o+2);return}if(!k()){if(fS(P,jm)){let I=o+1;for(;I<t&&fS(e.charCodeAt(I),_c);)I++;p(34,o,I);return}if(P===96){s=2,o++;return}if(P===34){let I=e.indexOf('"',o+1);if(I!==-1){p(36,o,I+1);return}}else if(P===125){s=0,p(8,o,o+1);return}p(45,o,o+1)}};for(;o<t;){let P=e.charCodeAt(o),F;switch(s){case 0:U(P);break;case 1:j(P);break;case 2:P===96?(s=1,o++):(F=e.indexOf("`",o),p(34,o,F===-1?t:F));break;case 3:case 4:F=e.indexOf(`
67
+ `,o),p(s===3?12:14,o,F===-1?t:F),s=0;break;case 5:P===125?(s=0,o++):(F=e.indexOf("}",o),p(15,o,F===-1?t:F));break;case 6:if(P===10){for(F=o+1;e.charCodeAt(F)===10;)F++;s=0,p(4,o,F)}else if(Ke(P))for(o++;Ke(e.charCodeAt(o));)o++;else if(P===58)p(5,o,o+1);else if(P===44)p(25,o,o+1);else if(P===35)p(30,o,o+1);else if(P===59)p(28,o,o+1);else if(P>=128||Wi[P]&lf){F=o+1;for(let I=e.charCodeAt(F);I>=128||Wi[I]&lf;I=e.charCodeAt(F))F++;p(24,o,F)}else return r.push(1),a.push(""),i.push(o),{types:r,texts:a,starts:i};break}}let X=s===0?3:s===3?12:s===4?14:s===5?15:-1;return X!==-1&&(r.push(X),a.push(""),i.push(t)),r.push(0),a.push(""),i.push(t),{types:r,texts:a,starts:i}}function eR(e,t){let{types:r,texts:a,starts:i}=XD(e),s=0,o=O=>{let H=r[s];throw H===1?ut("er",e,i[s],"",!0):ut("er",e,i[s],`Expecting ${O}, got '${H===45?a[s]:dS[H]}'`)},n=O=>(r[s]!==O&&o(`'${dS[O]}'`),a[s++]),l=()=>{let O=r[s];O!==4&&O!==28&&O!==3&&o("'EOF', 'NEWLINE', 'SEMI'"),s++},u=O=>O===23||O===31||O===29||O===32||O===33,c=()=>{let O=r[s];u(O)||o(CS);let H=a[s++];return O===31?H.slice(1,-1):H},f=()=>{let O=[];for(;;){let H=r[s];if(H!==23&&H!==24&&o("'UNICODE_TEXT', 'STYLE_TEXT'"),O.push(a[s++]),r[s]!==25)return O;s++}},h=O=>O===24||O===29||O===5||O===30,g=()=>{let O=[];for(;;){h(r[s])||o("'STYLE_TEXT', 'COLON', 'NUM', 'BRKT'");let H=a[s++];for(;h(r[s]);)H+=a[s++];if(O.push(H),r[s]!==25)return O;s++}},p=()=>{let O=Ym.get(r[s++]),H=r[s];H!==43&&H!==42&&o("'NON_IDENTIFYING', 'IDENTIFYING'");let U=H===43?"IDENTIFYING":"NON_IDENTIFYING";s++;let k=Ym.get(r[s]);return k===void 0?o(JD):(s++,{cardA:k,relType:U,cardB:O})},m=()=>{let O=r[s];O!==44&&O!==31&&O!==23&&o("'UNICODE_TEXT', 'ENTITY_NAME', 'WORD'");let H=a[s++];return O===23?H:H.slice(1,-1)},x=O=>r[s]===45&&a[s]===O,y=()=>{let O=[];do{let H=n(34);x("?")&&(H+=a[s++]),r[s]!==34&&o(H.endsWith("?")?"'ATTRIBUTE_WORD'":"'ATTRIBUTE_WORD', '?'");let U={type:H,name:a[s++]};if(r[s]===35){let k=[a[s++]];for(;x(",");)s++,k.push(n(35));U.keys=k}r[s]===36&&(U.comment=a[s++].slice(1,-1)),O.push(U)}while(r[s]!==8);return O.reverse()},C=()=>{if(r[s]!==7)return;if(s++,r[s]===8){s++;return}let O=y();return s++,O},S=()=>{let O=c(),H=r[s];if(H===9){s++;let j=c();n(10);let X;r[s]===6&&(s++,X=f());let P=C();return t.addEntity(O,j),P&&t.addAttributes(O,P),X&&t.setClass([O],X),[O]}let U;if(H===6&&(s++,U=f(),H=r[s]),Ym.has(H)){let j=p(),X=c(),P;r[s]===6&&(s++,P=f()),n(5);let F=m();return t.addEntity(O),t.addEntity(X),t.addRelationship(O,F,X,j),U&&t.setClass([O],U),P&&t.setClass([X],P),[O,X]}let k=C();return t.addEntity(O),k&&t.addAttributes(O,k),U&&t.setClass([O],U),[O]};n(2);let R=[{id:"",title:"",list:[]}],N=R[0],D=!1;for(;;){let O=r[s];switch(O){case 4:s++;break;case 3:s++,D&&o(`'END', ${nf}`);return;case 16:{D||o(nf),s++;let H=t.addSubGraph({text:N.id},N.list,{text:N.title});R.pop(),N=R[R.length-1],D=R.length>1,D&&N.list.push(H);break}case 17:{s++;let H=c(),U=H;if(r[s]===9){for(s++,U=c();u(r[s]);)U+=" "+c();n(10)}l(),N={id:H,title:U,list:[]},R.push(N),D=!0;break}case 11:{s++;let H=n(12).trim();t.setAccTitle(H),D&&N.list.push(H);break}case 13:{s++;let H=n(14).trim();t.setAccDescription(H),D&&N.list.push(H);break}case 15:{let H=a[s++].trim();t.setAccDescription(H),D&&N.list.push(H);break}case 18:case 19:case 20:case 21:{s++;let H=ZD[O-18];D?N.list.push({stmt:"dir",value:H}):t.setDirection(H);break}case 22:{let H=a[s++],U=f(),k=g();l(),t.addClass(U,k),D&&N.list.push(H);break}case 26:{let H=a[s++],U=f();t.setClass(U,f()),D&&N.list.push(H);break}case 27:{let H=a[s++],U=f(),k=g();l(),t.addCssStyles(U,k),D&&N.list.push(H);break}default:{u(O)||o(D?`'END', ${nf}`:nf);let H=S();if(D)for(let U of H)N.list.push(U)}}}}function rR(e){let t=[],r=[],a=e.subgraphs,i=l=>{let u=[];for(let c of l){let f=e.classes.get(c);if(f!==void 0){for(let h of f.styles)u.push(h.trim());for(let h of f.textStyles)u.push(h.trim())}}return u},s=new Map,o=new Set;for(let l=a.length-1;l>=0;l--){let u=a[l];o.add(u.id);for(let c of u.nodes)s.set(c,u.id)}for(let l=a.length-1;l>=0;l--){let u=a[l];t.push({id:u.id,label:u.title,alias:"",attributes:tR,isGroup:!0,parentId:s.get(u.id),cssStyles:u.cssStyles,cssCompiledStyles:i(u.classes),cssClasses:u.classes.join(" "),dir:u.dir,labelType:u.labelType})}let n=new Map;for(let[l,u]of e.entities){if(o.has(l)){n.set(u.id,l);continue}t.push({id:u.id,label:u.label,alias:u.alias,attributes:u.attributes,isGroup:!1,parentId:s.get(l),cssStyles:u.cssStyles,cssCompiledStyles:i(u.cssClasses.split(" ")),cssClasses:u.cssClasses,dir:void 0,labelType:"markdown"})}return e.relationships.forEach((l,u)=>{r.push({id:`id_${l.entityA}_${l.entityB}_${u}`,start:n.get(l.entityA)??l.entityA,end:n.get(l.entityB)??l.entityB,label:l.roleA,arrowTypeStart:l.relSpec.cardB.toLowerCase(),arrowTypeEnd:l.relSpec.cardA.toLowerCase(),pattern:l.relSpec.relType==="IDENTIFYING"?"solid":"dashed"})}),{nodes:t,edges:r}}function El(e,t,r,a,i){let s=(c,f)=>d(t-a*c-i*f)+","+d(r-i*c+a*f),o=c=>`M${s(c,-pS)}L${s(c,pS)}`,n=`M${s(0,-gS)}L${s(Km,0)}L${s(0,gS)}`,l=c=>`<circle class="pele-marker" cx="${d(t-a*c)}" cy="${d(r-i*c)}" r="${mS}" fill="var(--_bg)"/>`,u=c=>`<path class="pele-marker" d="${c}"/>`;switch(e){case"only_one":return u(o(6)+o(10));case"zero_or_one":return u(o(6))+l(13.5);case"one_or_more":return u(n+o(Km+3.5));case"zero_or_more":return u(n)+l(Km+mS+.5);case"md_parent":return`<path class="pele-marker" d="M${s(0,0)}L${s(6,4)}L${s(12,0)}L${s(6,-4)}Z" fill="var(--_bg)"/>`}return""}function wS(e,t,r){let a=e.er?.[t];return typeof a=="number"&&a>0?Math.min(a,2e3):r}function of(e,t,r,a,i){let s=e.lines;if(s.length===0)return"";let o=s.length===1&&s[0].length===1?s[0][0]:void 0;if(o&&o.icon===void 0&&o.math===void 0&&o.style===0)return`<text${a} x="${d(t)}" y="${d(r)}">${Je(o.text)}</text>`;let n=Hs(e),l=e.size*.35,u=r-l-e.lineHeight/2,c="",f="";for(let h=0;h<s.length;h++){let g=s[h],p=u+us(e,h);if(gl(g)){f+=De(cs(e,h),t+e.widths[h]/2,p,a,i);continue}r=p+l;let m=!1;for(let C of g)C.icon!==void 0&&(m=!0);let x=t,y=!1;for(let C of g){if(C.icon!==void 0){let S=e.size*1.1;f+=`<svg class="pele-icon" data-icon="${Oe(C.icon)}" x="${d(x)}" y="${d(r-e.size*.35-S/2)}" width="${d(S)}" height="${d(S)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${i?.(C.icon)??""}</svg>`}else if(C.text!==""){let S=m||!y?` x="${d(x)}" y="${d(r)}"`:"";c+=`<tspan${S}${ls(C.style&~n)}>${Je(C.text)}</tspan>`,y=!0}x+=C.width}}return`<text${Ri(a,n)} xml:space="preserve">${c}</text>${f}`}function Vm(e){let t=lo(e);return t===e?e:t.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function fR(e,t,r){return Da(e.direction)?Jt(r,a=>SS(e,t,r,a)):SS(e,t,r,!1)}function SS(e,t,r,a){let i=rR(e),s=r.fontSize??16,o=Math.round(s*.875),n=r.measurer??at(r.fontFamily),l=r.padding??8,u=r.icons,c=new Map,f=[],h=[];i.nodes.forEach((v,b)=>c.set(v.id,b));let g=[],p=[],m=[],x=new Map,y=[];for(let v of i.edges){let b=c.get(v.start),T=c.get(v.end);if(b===void 0||T===void 0)continue;let M=We(v.label,!0,n,o,200),E;if(b===T){E={label:M,band:0,at:0};let Y=x.get(b);Y?Y.push(E):x.set(b,[E])}y.push(E),m.push(v),p.push(M),g.push({src:b,dst:T,minlen:1,labelW:M.width>0?M.width+12:0,labelH:M.height>0?M.height+4:0,route:[],labelX:0,labelY:0})}let C=v=>{let b=v;for(let T=0;T<i.nodes.length;T++){let M=i.nodes[b].parentId,E=M===void 0?void 0:c.get(M);if(E===void 0)break;let Y=i.nodes[E].dir;if(Y)return Y==="LR"||Y==="RL";b=E}return e.direction==="LR"||e.direction==="RL"};for(let v=0;v<i.nodes.length;v++){let b=i.nodes[v],T=Rt(b.cssStyles.length>0?b.cssCompiledStyles.concat(b.cssStyles):b.cssCompiledStyles),M=(T.bold?1:0)|(T.italic?2:0),E=T.fontSize??s,Y=T.fontSize??o,G=T.fontSize??Math.round(s*.75),K=b.isGroup?We(b.label,!0,n,E,4e3,M):We(b.alias||b.label,!0,n,E,240,M),L=x.get(v)??cR,_=L.length>0&&!b.isGroup&&C(v),B={node:b,style:T,label:K,w:0,h:0,headH:0,rows:[],cols:[],rowSize:Y,keySize:G,below:_},q=0,Q=0;for(let W of L)W.band=Math.max(nR,_?W.label.width+12:W.label.height+6),Q+=W.band,q=Math.max(q,_?W.label.height:W.label.width);let Z=Math.max(AS,_?Q+8:0),J;if(b.isGroup)J=rr(0,0),J.isGroup=!0,J.dir=b.dir?zr(b.dir):void 0,J.padX=Nc,J.padTop=B.label.height>0?B.label.height+16:Nc,J.padBottom=Nc,J.minW=Math.max(B.label.width+2*Nc-12,AS);else{let W=Math.max(K.height,Math.round(E*1.5));if(b.attributes.length===0)B.w=Math.max(K.width+2*bS,Z),B.h=Math.max(W+2*oR,_?0:Q+8);else{let re=Math.round(Y*1.5),ne=[0,0,0,0];for(let te of b.attributes){let he=[We(Vm(te.type),!0,n,Y,Qm,M),We(Vm(te.name),!0,n,Y,Qm,M),We(te.keys.join(", "),!1,n,G,Qm,M),We(Vm(te.comment),!0,n,Y,uR,M)],me=re;for(let oe=0;oe<4;oe++)he[oe].width>ne[oe]&&(ne[oe]=he[oe].width),he[oe].height>me&&(me=he[oe].height);B.rows.push({cells:he,h:me+zm}),B.h+=me+zm}let ce=0,ie=0;for(let te of ne)te!==0&&(ie+=te+(ce>0?yS:0),ce++);B.w=Math.max(ie+2*qm,K.width+2*bS,Z);let se=ce>0?(B.w-ie-2*qm)/ce:0,ee=qm;for(let te of ne)B.cols.push(ee),te>0&&(ee+=te+se+yS);B.headH=W+2*lR,B.h+=B.headH}let V=L.length>0?2*(Ks+Dc*.75+10+q):0;J=_?rr(B.w,B.h+V):rr(B.w+V,B.h)}J.seq=f.length,f.push(B),h.push(J)}i.nodes.forEach((v,b)=>{h[b].parent=v.parentId!==void 0?c.get(v.parentId)??-1:-1});let S=Na(h,g,a?"TB":zr(e.direction),{nodeSep:wS(t,"nodeSpacing",aR),edgeSep:iR,rankSep:wS(t,"rankSpacing",sR),portSep:24});gR(g,h,f);let R=S.width;for(let[v,b]of x){let T=h[v];if(!T.isGroup)continue;let M=0;for(let E of b)M=Math.max(M,E.label.width);R=Math.max(R,T.x+T.w/2+Ks+Dc*.75+10+M)}let N=aa(e.title,n,s,4e3),D=N.height>0?N.height+12:0,O=Math.max(R,N.width),H=l+(O-R)/2,U=l+D;gn(h,g,H,U);let k=Math.ceil(O+2*l),j=Math.ceil(S.height+D+2*l),X=[],P=new Map,F=!1;for(let v of h)v.isGroup&&(F=!0);if(F)for(let v of g)_i(P,v.route);let I="",$="";for(let v=0;v<f.length;v++){let b=f[v],T=h[v],M=b.node,E=Wt(M.cssClasses.replace(/^default\s?/,""));if(T.isGroup){b.w=T.w,b.h=T.h;let J=T.x-T.w/2,W=T.y-T.h/2,V=pn(T,b.label.width,P,Nc);I+=`<g class="pele-cluster${E}" data-id="${Oe(M.id)}"><rect x="${d(J)}" y="${d(W)}" width="${d(T.w)}" height="${d(T.h)}" fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${bt(b.style.shape)}/>`+De(b.label,V,W+8+b.label.height/2,` class="pele-cluster-label" fill="var(--_m)"${b.style.text}`,u)+"</g>";continue}let Y=b.w,G=b.h,K=-Y/2,L=-G/2,_=b.style.text,B=`x="${d(K)}" y="${d(L)}" width="${d(Y)}" height="${d(G)}"`,q=De(b.label,0,b.rows.length>0?L+b.headH/2:0,` class="pele-label"${_}`,u),Q=Dt(M.alias||M.label);if(/ internal-link(?: |$)/.test(E+" ")&&q!==""&&r.links!==!1){let J=Ps(Oi(Q),r)!==void 0,W=Je(Q);q=`<a class="internal-link"${J?` href="${W}"${Gs(r)}`:""} data-href="${W}">${q}</a>`,X.push({id:M.label,href:Q,internal:!0})}let Z;if(b.rows.length===0)Z=`<rect ${B}${bt(xS+b.style.shape)}/>`+q;else{let J=Math.round(b.rowSize*1.5),W=b.style.stroke?Je(b.style.stroke):"var(--_b)",V="",re="",ne=L+b.headH;for(let ie=0;ie<b.rows.length;ie++){let se=b.rows[ie];if(ie%2===0){let be=`x="${d(K)}" width="${d(Y)}"`;ie===b.rows.length-1?V+=`<rect ${be} y="${d(ne)}" height="${d(se.h)}"${ct}/><rect ${be} y="${d(ne)}" height="${d(se.h/2)}"/>`:V+=`<rect ${be} y="${d(ne)}" height="${d(se.h)}"/>`}let ee=ne+zm/2+J/2+b.rowSize*.35,[te,he,me,oe]=se.cells;re+=of(te,K+b.cols[0],ee,` class="pele-er-type" fill="var(--_m)"${_}`,u)+of(he,K+b.cols[1],ee,` class="pele-er-name"${_}`,u)+of(me,K+b.cols[2],ee,` class="pele-er-keys" font-size="${b.keySize}" fill="var(--_m)"${_}`,u)+of(oe,K+b.cols[3],ee,` class="pele-er-comment" fill="var(--_m)"${_}`,u),ne+=se.h}let ce=d(L+b.headH);Z=`<rect ${B}${bt(xS+b.style.shape)}/><g class="pele-er-stripes" fill="var(--_bg)"${b.style.shape.includes("fill:")?' opacity="0.6"':""}>${V}</g><path class="pele-er-divider" d="M${d(K)},${ce}H${d(K+Y)}" stroke="${W}"/><rect ${B} fill="none" stroke="var(--_b)"${bt(b.style.line)}/>`+q+`<g class="pele-er-attributes" font-size="${b.rowSize}">${re}</g>`}$+=`<g class="pele-node pele-entity${E}" data-id="${Oe(M.label)}" transform="translate(${d(T.x)},${d(T.y)})">${Z}</g>`}for(let[v,b]of x){let T=f[v],M=0;for(let G of b)M+=G.band;let E=Math.min(1,Math.max((T.below?T.w:T.h)-8,0)/M),Y=-M*E/2;for(let G of b)G.band*=E,G.at=Y+G.band/2,Y+=G.band}let w="",A="";for(let v=0;v<g.length;v++){let b=g[v],T=m[v],M=p[v],E,Y,G,K=y[v];if(K){let _=h[b.src],B=f[b.src],q=Math.max(Math.min(K.band/2-6,13),1),Q=Ks+Dc*.75+6;if(B.below){let Z=_.x+K.at,J=_.y+B.h/2,W=d(J+Ks),V=d(J+Ks+Dc);E=`M${d(Z-q)},${d(J)}V${W}C${d(Z-q)},${V} ${d(Z+q)},${V} ${d(Z+q)},${W}V${d(J)}`,Y=El(T.arrowTypeStart,Z-q,J,0,-1),G=El(T.arrowTypeEnd,Z+q,J,0,-1),b.labelX=Z,b.labelY=J+Q+M.height/2}else{let Z=_.x+B.w/2,J=_.y+K.at,W=d(Z+Ks),V=d(Z+Ks+Dc);E=`M${d(Z)},${d(J-q)}H${W}C${V},${d(J-q)} ${V},${d(J+q)} ${W},${d(J+q)}H${d(Z)}`,Y=El(T.arrowTypeStart,Z,J-q,-1,0),G=El(T.arrowTypeEnd,Z,J+q,-1,0),b.labelX=Z+Q+M.width/2,b.labelY=J}}else{let _=pR(b.route);if(_.length<6)continue;ES(_,0,f[b.src],h[b.src]),ES(_,_.length-3,f[b.dst],h[b.dst]);let B=Math.abs(_[_.length-3]-_[0]),q=Math.abs(_[_.length-2]-_[1]),Q=_.length===6&&(B<.01||q<.01||Math.hypot(B,q)<=3*Ks)?0:Ks,Z=ya(_,void 0,Q,Q);E=Q>0?`M${d(Z.sx)},${d(Z.sy)}L${Z.d.slice(1)}L${d(Z.ex)},${d(Z.ey)}`:Z.d,Y=El(T.arrowTypeStart,Z.sx,Z.sy,Z.sdx,Z.sdy),G=El(T.arrowTypeEnd,Z.ex,Z.ey,Z.edx,Z.edy)}let L=T.pattern==="dashed";if(w+=`<g class="pele-edge pele-er-${L?"non-identifying":"identifying"}" data-id="${Oe(T.id)}"><path d="${E}"${L?' stroke-dasharray="4 3"':""}/>`+Y+G+"</g>",M.width>0){let _=b.labelX,B=b.labelY;A+=qr(T.id,M,_,B,"",u)}}return{svg:rt("er",k,j,s,r,e,De(N,k/2,l+N.height/2,' class="pele-title" font-weight="var(--_tw)"')+(I?`<g class="pele-clusters">${I}</g>`:"")+(w?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${w}</g>`:"")+(A?`<g class="pele-edge-labels" font-size="${o}">${A}</g>`:"")+`<g class="pele-nodes">${$}</g>`),width:k,height:j,links:X}}function pR(e){let t=e.slice(0,3);for(let r=3;r<e.length;r+=3){let a=t.length-3,i=s=>Math.abs(t[a+s]-e[r+s])<.01&&Math.abs(e[r+s]-e[r+3+s])<.01;r+3<e.length&&(i(0)||i(1))||t.push(e[r],e[r+1],e[r+2])}return t}function gR(e,t,r){let a=new Map,i=(s,o,n,l)=>{let u=t[s],c=o[n]-u.x,f=o[n+1]-u.y,h;if(Math.abs(Math.abs(f)-u.h/2)<.5)h=f<0?0:2;else if(Math.abs(Math.abs(c)-u.w/2)<.5)h=c<0?3:1;else return;let g=s*4+h,p={route:o,at:n,toward:o[l+(h&1?1:0)]},m=a.get(g);m?m.push(p):a.set(g,[p])};for(let s of e){let o=s.route.length-3;s.src===s.dst||o<3||(i(s.src,s.route,0,3),i(s.dst,s.route,o,o-3))}for(let[s,o]of a){if(o.length<2)continue;let n=s>>2,l=(s&1)===1,u=t[n].isGroup?t[n]:r[n],c=l?u.h:u.w,f=Math.max(Math.min(hR,(c-2*dR)/(o.length-1)),0),h=l?t[n].y:t[n].x;o.sort((g,p)=>g.toward-p.toward);for(let g=0;g<o.length;g++)o[g].route[o[g].at+(l?1:0)]=h+(g-(o.length-1)/2)*f}}function ES(e,t,r,a){if(a.isGroup)return;let i=e[t]-a.x,s=e[t+1]-a.y;a.w!==r.w&&Math.abs(Math.abs(i)-a.w/2)<.5&&(e[t]-=Math.sign(i)*(a.w-r.w)/2),a.h!==r.h&&Math.abs(Math.abs(s)-a.h/2)<.5&&(e[t+1]-=Math.sign(s)*(a.h-r.h)/2)}var qD,dS,Rc,lf,jm,_c,Wi,zD,QD,VD,jD,Gm,Um,Ym,ZD,CS,JD,nf,tR,Ks,pS,gS,Km,mS,aR,iR,sR,Nc,Dc,nR,AS,bS,oR,lR,qm,yS,zm,uR,Qm,cR,hR,dR,xS,MS,vS=Xe(()=>{Pm();ml();mn();Li();Us();pr();zt();Lr();xt();Mt();qD=class{type="er";direction="TB";entities=new Map;relationships=[];classes=new Map;subgraphs=[];title;accTitle;accDescr;subgraphLookup=new Map;claimed=new Set;addEntity(e,t=""){let r=this.entities.get(e);return r===void 0?(r={id:`entity-${e}-${this.entities.size}`,label:e,alias:t,attributes:[],cssClasses:"default",cssStyles:[]},this.entities.set(e,r)):!r.alias&&t&&(r.alias=t),r}addAttributes(e,t){let r=this.addEntity(e);for(let a=t.length-1;a>=0;a--){let i=t[a];i.keys??=[],i.comment??="",r.attributes.push(i)}}addRelationship(e,t,r,a){let i=this.subgraphLookup.has(e)?e:this.addEntity(e).id,s=this.subgraphLookup.has(r)?r:this.addEntity(r).id;this.relationships.push({entityA:i,roleA:t,entityB:s,relSpec:a})}setDirection(e){this.direction=e}addCssStyles(e,t){if(t)for(let r of e){let a=this.entities.get(r);if(a)for(let s of t)a.cssStyles.push(s);let i=this.subgraphLookup.get(r);if(i)for(let s of t)i.cssStyles.push(s)}}addClass(e,t){for(let r of e){let a=this.classes.get(r);if(a===void 0&&(a={id:r,styles:[],textStyles:[]},this.classes.set(r,a)),!!t)for(let i of t)i.includes("color")&&a.textStyles.push(i.replace("fill","bgFill")),a.styles.push(i)}}setClass(e,t){for(let r of e){let a=this.entities.get(r);if(a)for(let s of t)a.cssClasses+=" "+s;let i=this.subgraphLookup.get(r);if(i)for(let s of t)i.classes.push(s)}}addSubGraph(e,t,r){let a=e.text.trim(),i=new Set,s=[],o;for(let l of t.flat()){if(typeof l!="string"){l?.stmt==="dir"&&(o=l.value);continue}let u=l.trim();u===""||i.has(u)||(i.add(u),this.claimed.has(l)||s.push(l))}for(let l of s)this.claimed.add(l);let n={id:a,nodes:s,title:(r.text||"").trim(),classes:[],cssStyles:[],dir:o,labelType:KD(r.type)};return this.subgraphs.push(n),this.subgraphLookup.set(a,n),a}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
68
+ `)}},dS=["$end","INVALID","ER_DIAGRAM","EOF","NEWLINE","COLON","STYLE_SEPARATOR","BLOCK_START","BLOCK_STOP","SQS","SQE","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","END","SUBGRAPH","direction_tb","direction_bt","direction_rl","direction_lr","CLASSDEF","UNICODE_TEXT","STYLE_TEXT","COMMA","CLASS","STYLE","SEMI","NUM","BRKT","ENTITY_NAME","DECIMAL_NUM","ENTITY_ONE","ATTRIBUTE_WORD","ATTRIBUTE_KEY","COMMENT","ZERO_OR_ONE","ZERO_OR_MORE","ONE_OR_MORE","ONLY_ONE","MD_PARENT","NON_IDENTIFYING","IDENTIFYING","WORD","CHAR"],Rc=1,lf=2,jm=4,_c=8,Wi=new Uint8Array(128);for(let e=0;e<128;e++){let t=e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===95,r=t&&(e<48||e>57);t&&(Wi[e]|=Rc|lf|_c),r&&(Wi[e]|=jm)}for(let e of"-*")Wi[e.charCodeAt(0)]|=Rc|lf|_c;Wi[46]|=Rc|_c;Wi[42]|=jm;for(let e of"[](),")Wi[e.charCodeAt(0)]|=_c;zD=/accTitle\s*:\s*/iy,QD=/accDescr\s*:\s*/iy,VD=/accDescr\s*\{\s*/iy,jD=[/.*direction\s+TB[^\n]*/iy,/.*direction\s+BT[^\n]*/iy,/.*direction\s+RL[^\n]*/iy,/.*direction\s+LR[^\n]*/iy],Gm=/direction/gi,Um=/[\n\r\u2028\u2029]/g;Ym=new Map([[37,"ZERO_OR_ONE"],[38,"ZERO_OR_MORE"],[39,"ONE_OR_MORE"],[40,"ONLY_ONE"],[41,"MD_PARENT"]]),ZD=["TB","BT","RL","LR"],CS="'UNICODE_TEXT', 'NUM', 'ENTITY_NAME', 'DECIMAL_NUM', 'ENTITY_ONE'",JD="'ZERO_OR_ONE', 'ZERO_OR_MORE', 'ONE_OR_MORE', 'ONLY_ONE', 'MD_PARENT'",nf="'EOF', 'NEWLINE', 'title', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'SUBGRAPH', 'direction_tb', 'direction_bt', 'direction_rl', 'direction_lr', 'CLASSDEF', 'CLASS', 'STYLE', "+CS;tR=[];Ks=18,pS=5,gS=6,Km=10,mS=3.5;aR=48,iR=20,sR=64,Nc=20,Dc=28,nR=38,AS=96,bS=18,oR=12,lR=9,qm=12,yS=16,zm=9,uR=260,Qm=1e6,cR=[],hR=18,dR=14,xS=' fill="var(--_s)" stroke="var(--_b)"';MS={type:"er",math:!0,parse(e,t,r){let a=new qD;return r&&(a.title=r),eR(e,a),a},render:fR}});var kS={};Bt(kS,{er:()=>MS});var $S=Xe(()=>{vS()});function TS(e,t){return e===5?t?"KANBAN":"MINDMAP":mR[e]}function uf(e,t){switch(e){case"[":return wn.RECT;case"(":return t===")"?wn.ROUNDED_RECT:wn.CLOUD;case"((":return wn.CIRCLE;case")":return wn.CLOUD;case"))":return wn.BANG;case"{{":return wn.HEXAGON;default:return wn.DEFAULT}}function IS(e,t,r){for(let a=0;a<r.length;a++)if((e.charCodeAt(t+a)|32)!==r.charCodeAt(a))return!1;return!0}function CR(e,t){let r=e.length,a=[],i=[],s=[],o=t?"kanban":"mindmap",n=t?yR:bR,l=0,u=0,c=-1,f=(m,x,y)=>{a.push(m),i.push(x),s.push(u),u=y},h=(m,x,y)=>{f(m,e.slice(u,x),x),l=y},g=(m,x)=>(m.lastIndex=x,m.test(e)?m.lastIndex:-1),p=m=>{let x=e.indexOf(m,u);return x===-1?r:x};for(;u<r;){let m=e.charCodeAt(u),x=e.charCodeAt(u+1),y;if(l===0){let C=m<=32||m>=160?Math.max(g(AR,u),u):u;if(t&&m===64&&x===123)f(13,"",u+2),l=6;else if(e.charCodeAt(C)===37&&e.charCodeAt(C+1)===37)h(2,g(Xm,C),0);else if(C>u)c<u&&(c=p(`
69
+ `)),c>=C?h(6,C,0):(y=e.lastIndexOf(`
70
+ `,C-1))>u?h(2,y+1,0):h(3,u+1,0);else if(IS(e,u,o)&&!tt(e.charCodeAt(u+o.length)))h(5,u+o.length,0);else if(m===58&&x===58&&e.charCodeAt(u+2)===58)u+=3,l=1;else if(m===58&&x===58&&IS(e,u+2,"icon")&&e.charCodeAt(u+6)===40)u+=7,l=2;else if(m===45&&x===41||m===40&&(x===45||x===40)||(m===41||m===123)&&x===m)h(9,u+2,3);else if(m===41||m===40||m===91)h(9,u+1,3);else if((y=g(n,u))!==-1)h(10,y,0);else break}else if(l===3)m===34?(l=x===96?5:4,u+=x===96?2:1):m===41||m===40?h(12,x===m||m===40&&x===45?u+2:u+1,0):m===93?h(12,u+1,0):m===125&&x===125||m===45&&x===41?h(12,u+2,0):h(11,g(m===125?Xm:xR,u),3);else if(l===4)m===34?(u++,l=3):h(11,p('"'),4);else if(l===5)if(m===96&&x===34)u+=2,l=3;else if((y=g(wR,u))!==-1)h(11,y,5);else break;else if(l===1)if((y=g(Xm,u))!==-1)h(8,y,0);else if(m===10)u++,l=0;else break;else if(l===2)m===41?(u++,l=0):h(7,p(")"),2);else if(l===6)if(m===34)h(13,u+1,7);else if(m===125)u++,l=0;else if((y=g(SR,u))!==-1)h(13,y,6);else break;else m===34?h(13,u+1,6):(y=p('"'),f(13,e.slice(u,y).replace(ER,"<br/>"),y))}return u<r?f(1,"",u):(l===0&&f(4,"",r),f(0,"",r)),{types:a,texts:i,starts:s}}function Cl(e){return e===2||e===3||e===4}function cf(e,t,r){let a=r?"kanban":"mindmap",{types:i,texts:s,starts:o}=CR(e,r),n=r?", 'SHAPE_DATA'":"",l=0,u=h=>{let g=i[l];throw g===1?ut(a,e,o[l],"",!0):ut(a,e,o[l],`Expecting ${h}, got '${TS(g,r)}'`)},c=`'${TS(5,r)}'`;if(i[l]===2){for(l++;i[l]===2||i[l]===3;)l++;i[l]!==5&&u(`'SPACELINE', 'NL', ${c}`)}else i[l]!==5&&u(`'SPACELINE', ${c}`);l++;let f="'SPACELINE', 'NL', 'SPACELIST', 'ICON', 'CLASS', 'NODE_DSTART', 'NODE_ID'";for(i[l]===3&&(l++,f="'SPACELINE', 'SPACELIST', 'ICON', 'CLASS', 'NODE_DSTART', 'NODE_ID'");;){let h=i[l],g=0,p=h===6;if(p&&(g=s[l++].length,h=i[l]),h===10||h===9){let m,x,y=0;if(h===10&&(m=s[l++]),i[l]===9){let C=s[l++];i[l]!==11&&u("'NODE_DESCR'"),x=s[l++],i[l]!==12&&u("'NODE_DEND'");let S=s[l++];!Cl(i[l])&&i[l]!==13&&u(uo+n),y=t.getType(C,S)}else!Cl(i[l])&&i[l]!==13&&u(uo+", 'NODE_DSTART'"+n),x=m;if(i[l]===13){let C=s[l++];for(;i[l]===13;)C+=s[l++];Cl(i[l])||u(uo+n),t.addNode(g,m??x,x,y,C)}else t.addNode(g,m??x,x,y)}else if(h===7||h===8){let m=s[l++];Cl(i[l])||u(uo),t.decorateNode(h===7?{icon:m}:{class:m})}else p?Cl(h)||u(uo+", 'ICON', 'CLASS', 'NODE_DSTART', 'NODE_ID'"):h===2?Cl(i[++l])||u(uo):u(f);for(l++;i[l]===3||i[l]===4;)l++;if(i[l]===0)return;NS[i[l]]===0&&u(uo+", 'SPACELIST', 'ICON', 'CLASS', 'NODE_DSTART', 'NODE_ID'")}}function Lc(e,t,r,a,i){return`<svg class="pele-icon" data-icon="${Oe(e)}" x="${d(t)}" y="${d(r)}" width="${d(a)}" height="${d(a)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${i?.(e)??""}</svg>`}var mR,wn,AR,Xm,bR,yR,xR,wR,SR,ER,uo,NS,Zm=Xe(()=>{pr();xt();Mt();mR=["1","INVALID","SPACELINE","NL","EOF","","SPACELIST","ICON","CLASS","NODE_DSTART","NODE_ID","NODE_DESCR","NODE_DEND","SHAPE_DATA"];wn={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6};AR=/\s+/y,Xm=/.+/y,bR=/[^([\n){}]+/y,yR=/[^([\n){}@]+/y,xR=/[^)\](}]+/y,wR=/[^`"]+/y,SR=/[^}^"]+/y,ER=/\n\s*/g;uo="'SPACELINE', 'NL', 'EOF'",NS=new Uint8Array(14);for(let e of[2,6,7,8,9,10])NS[e]=1});function kR(e,t){cf(e,t,!1)}function LR(e,t,r,a){if(e.lines.length<2)return De(e,t+e.width/2,r,' class="pele-label"',a);let i="",s=r-e.height/2;for(let o=0;o<e.lines.length;o++)i+=De(cs(e,o),t+e.widths[o]/2,s+us(e,o),' class="pele-label"',a);return i}function OR(e,t,r){return Jt(r,a=>BR(e,t,r,a))}function BR(e,t,r,a){let i=r.fontSize??16,s=r.measurer??at(r.fontFamily),o=r.padding??8,n=r.icons,l=t.mindmap?.maxNodeWidth,u=typeof l=="number"&&l>0?Math.min(l,2e3):200,c=i*1.25,f=e.nodes,h=f.length,g=new Int32Array(h),p=new Int32Array(h);for(let J=0;J<h;J++)for(let W of f[J].children)g[W.id]=J,p[W.id]=p[J]+1;let m=a&&r.maxWidth!==void 0&&r.maxWidth>0?r.maxWidth-2*o:1/0,x=new Array(h),y=new Array(h),C=new Float64Array(h),S=new Float64Array(h),R=new Float64Array(h),N=new Float64Array(h),D=new Uint8Array(h);for(let J=0;J<h;J++){let W=f[J];D[J]=W.icon!==void 0&&dl(W.icon)!==""?1:0;let V=Math.min(u,Math.max(72,m-p[J]*eA-2*_S-(D[J]?c+Jm:0))),re=x[J]=We(W.descr,!0,s,i,V),ne=re.width+(D[J]?c+(re.width>0?Jm:0):0),ce=Math.max(re.height,Math.round(i*1.5)),ie=$R[W.type]||(J===0?DS:"");if(a&&J===0&&ie!=="rect"&&ie!=="rounded"&&(ie=DS),y[J]=ie,ie===""){let se=W.children.length>0;C[J]=ne+2*(se?RR:_S),S[J]=ce+(se?6:0),N[J]=S[J]/2}else{let se=An(ie,ne,ce);C[J]=se.w,S[J]=se.h,R[J]=se.dy,N[J]=se.h/2}}let O=new Float64Array(h),H=new Float64Array(h),U=new Float64Array(h),k=new Float64Array(h),j=0,X=(J,W,V,re)=>{let ne=0,ce=0;for(let ee=W;ee<V;ee++){let te=J[ee].id;H[te]=ne,ce=J[ee].children.length>0||ee+1<V&&J[ee+1].children.length>0?Math.max(re,NR):re,ne+=O[te]+ce}j=ne-ce;let ie=J[W].id,se=J[V-1].id;return(H[ie]+U[ie]+N[ie]+H[se]+U[se]+N[se])/2};for(let J=h-1;J>0;J--){let W=f[J].children;if(W.length===0){O[J]=S[J];continue}let V=X(W,0,W.length,IR)-N[J],re=Math.min(0,V);O[J]=Math.max(j,V+S[J])-re,U[J]=V-re,k[J]=-re}let P=new Float64Array(h),F=new Float64Array(h),I=new Float64Array(h),$=new Int8Array(h),w=new Float64Array(h);if(a){let J=0;for(let W=0;W<h;W++)W>0&&g[W]===0&&(J+=BS),P[W]=p[W]*eA+C[W]/2,F[W]=J,J+=S[W]+BS}else if(h>0){let J=f[0].children,W=J.length,V=0;for(let ie of J)V+=O[ie.id];let re=W,ne=1/0,ce=0;for(let ie=1;ie<W;ie++){ce+=O[J[ie-1].id];let se=Math.abs(2*ce-V+(2*ie-W)*RS);se<ne&&(ne=se,re=ie)}for(let ie=0,se=re,ee=1;ie<W;ie=se,se=W,ee=-1){let te=X(J,ie,se,RS);for(let he=ie;he<se;he++){let me=J[he].id;I[me]=H[me]-te,$[me]=ee}}F[0]=-S[0]/2;for(let ie=0;ie<h;ie++){ie>0&&(F[ie]=I[ie]+U[ie]);for(let se of f[ie].children){let ee=se.id;ie>0&&($[ee]=$[ie],I[ee]=I[ie]+k[ie]+H[ee]),P[ee]=P[ie]+$[ee]*(C[ie]/2+(ie>0?TR:DR)+C[ee]/2)}}}let A=0,v=0,b=0,T=0,M="",E="",Y="",G="",K=J=>{Y!==""&&(M+=`<g class="pele-branch pele-section-${J??0}"><g class="pele-edges" fill="none" stroke="${G}" stroke-width="1.5">${E}</g>${Y}</g>`,E=Y="")};for(let J=1;J<=h;J++){let W=J%h,V=f[W],re=y[W],ne=x[W],ce=P[W],ie=F[W];if(A=Math.min(A,ce-C[W]/2),v=Math.max(v,ce+C[W]/2),b=Math.min(b,ie),T=Math.max(T,ie+S[W]),(W===0||g[W]===0)&&K(f[J-1].section),W>0&&a){g[W]===0&&(G=At(V.section??0));let oe=g[W],be=oe===0?Math.min(Math.max(LS,S[0]/2),eA-OS):LS,de=P[oe]-C[oe]/2+Math.min(be,C[oe]/2),pe=w[oe]||F[oe]+S[oe],Ee=ce-C[W]/2+(re?Ys(re,C[W],S[W],3):0),ve=ie+N[W],le=Math.max(0,Math.min(OS,Ee-de,ve-pe));w[oe]=ve-le,E+=`<path class="pele-edge" d="M${d(de)},${d(pe)}V${d(ve-le)}Q${d(de)},${d(ve)} ${d(de+le)},${d(ve)}H${d(Ee)}"/>`}else if(W>0){g[W]===0&&(G=At(V.section??0));let oe=g[W],be=$[W],de=be>0?1:3,pe=P[oe]+be*(C[oe]/2-(y[oe]?Ys(y[oe],C[oe],S[oe],de):0)),Ee=F[oe]+N[oe],ve=ce-be*C[W]/2+(re?be*Ys(re,C[W],S[W],4-de):0),le=ie+N[W],fe=d((pe+ve)/2);E+=`<path class="pele-edge" d="M${d(pe)},${d(Ee)}C${fe},${d(Ee)} ${fe},${d(le)} ${d(ve)},${d(le)}"/>`}let se=!re&&V.children.length>0,ee=` fill="${G}" fill-opacity="${_R}" stroke="${G}"`,te="";re?te=W>0?Fi(re,C[W],S[W],ee,` stroke="${G}"`):Fi(re,C[W],S[W],' fill="var(--_s)" stroke="var(--_b)"',' stroke="var(--_b)"'):se&&(te=`<rect x="${d(-C[W]/2)}" y="${d(-S[W]/2)}" width="${d(C[W])}" height="${d(S[W])}" rx="${d(S[W]/2)}"${ee}/>`);let he=0;V.icon&&D[W]&&(he=(c+(ne.width>0?Jm:0))/2,te+=Lc(V.icon,-he-ne.width/2,R[W]-c/2,c,n));let me=`<g class="pele-node pele-shape-${re||(se?"branch":"text")}${W>0?"":" pele-root"}${Wt(V.class??"")}" data-id="${Oe(V.nodeId)}" transform="translate(${d(ce)},${d(ie+S[W]/2)})">`+te+(a&&!re?LR(ne,he-ne.width/2,R[W],n):De(ne,he,R[W],' class="pele-label"',n))+"</g>";W>0?Y+=me:M+=me}let L=aa(e.title,s,i,Ht(r)),_=L.height>0?L.height+16:0,B=Math.max(v-A,L.width),q=Math.ceil(B+2*o),Q=Math.ceil(T-b+_+2*o),Z=De(L,q/2,o+L.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g transform="translate(${d(o-A+(B-v+A)/2)},${d(o+_-b)})">${M}</g>`;return{svg:rt("mindmap",q,Q,i,r,{},Z),width:q,height:Q,links:[]}}var MR,vR,$R,DS,TR,IR,NR,DR,RS,_S,RR,_R,Jm,eA,LS,OS,BS,FS,WS=Xe(()=>{Zm();Li();bn();zt();xt();Mt();MR=11,vR=class{type="mindmap";title;nodes=[];getType=uf;baseLevel=0;open=[];addNode(e,t,r,a){let i=this.nodes.length===0;i&&(this.baseLevel=e),e-=this.baseLevel;let s=this.open,o=s.length;for(;o>0&&s[o-1].level>=e;)o--;let n=s[o-1];if(!n&&!i)throw new je(`There can be only one root. No parent could be found for ("${r}")`,"semantic",{type:"mindmap"});let l={id:this.nodes.length,nodeId:t,level:e,descr:r,type:a,children:[],isRoot:i};n&&(l.section=n.isRoot?n.children.length%MR:n.section,n.children.push(l)),s.length=o,s.push(l),this.nodes.push(l)}decorateNode(e){let t=this.nodes[this.nodes.length-1];!e||!t||(e.icon&&(t.icon=e.icon),e.class&&(t.class=e.class))}};$R=["","rounded","rect","circle","cloud","bang","hex"],DS="stadium",TR=36,IR=8,NR=18,DR=52,RS=28,_S=6,RR=12,_R=.22,Jm=6,eA=28,LS=12,OS=8,BS=10;FS={type:"mindmap",math:!0,parse(e,t,r){let a=new vR;return a.title=r,kR(e,a),a},render:OR}});var HS={};Bt(HS,{mindmap:()=>FS});var PS=Xe(()=>{WS()});function WR(e,t){cf(e,t,!0)}function hf(e,t,r,a,i,s=0){let o=We(e,t,r,a,i,s);if(o.width<=i)return o;let n=[],l=[],u=0,c=[],f=0,h=()=>{n.push(c),l.push(f),u=Math.max(u,f),c=[],f=0};for(let p=0;p<o.lines.length;p++){if(o.widths[p]<=i){c=o.lines[p],f=o.widths[p],h();continue}for(let m of o.lines[p]){if(m.icon!==void 0||m.math){f>0&&f+m.width>i&&h(),c.push(m),f+=m.width;continue}let x="",y=f;for(let C of m.text){let S=r.width(C,a,m.style);f>0&&f+S>i&&(x&&c.push({text:x,style:m.style,width:f-y}),h(),x="",y=0),x+=C,f+=S}x&&c.push({text:x,style:m.style,width:f-y})}h()}let g={...o,lines:n,widths:l,width:u,height:n.length*o.lineHeight};return o.heights?mc(g):g}function Bc(e,t,r,a,i,s=!1){let o="";for(let n=0;n<e.lines.length;n++){let l=e.lines[n],u=r+us(e,n);if(l.length===1&&l[0].icon===void 0&&l[0].math===void 0)o+=`<text${Ri(a,l[0].style)} x="${d(t)}" y="${d(u+e.size*.35)}"${s?' text-anchor="end"':""}>${Je(l[0].text)}</text>`;else{let c=e.widths[n];o+=De(cs(e,n),t+(s?-c:c)/2,u,a,i)}}return o}function GR(e,t,r){let a=r.fontSize??16,i=Math.round(a*.875),s=Math.round(a*1.5),o=Math.round(i*1.5),n=r.measurer??at(r.fontFamily),l=r.padding??8,u=r.icons,c=t.kanban??{},f=c.sectionWidth,h=i*1.25,g=0,p=(_,B,q)=>{if(!(!_||!_.includes("$$")))for(let Q of We(_,!0,n,B,1/0).lines)for(let Z of Q)Z.math&&(g=Math.max(g,Z.math.width+q))};for(let _ of e.sections){let B=n.width(String(_.items.length),i,0);p(_.label,a,2*fs+8+B+12+(Ml(_.icon)?h+Oc:0));for(let q of _.items){let Q=2*(fs+Hi);p(q.label,i,Q+(Ml(q.icon)?h+Oc:0)),p(q.ticket,i,Q),p(q.assigned,i,Q)}}let m=Math.max(typeof f=="number"&&f>0?Math.min(Math.max(f,80),2e3):200,Math.ceil(g)),x=r.maxWidth!==void 0&&r.maxWidth>0?r.maxWidth-2*l:1/0,y=e.sections.length,C=y*(m+ds)-ds<=x,S=C?Math.max(y,1):Math.max(1,Math.floor((x+ds)/(m+ds))),R=C?m:Math.max(Math.min(m,x),Math.min(Math.floor((x+ds)/S)-ds,m*2),Math.ceil(g)),N=typeof c.ticketBaseUrl=="string"?c.ticketBaseUrl:"",D=R-2*fs,O=D-2*Hi,H=[],U=e.sections,k=[],j=[],X=[],P=s,F=[];for(let _ of U){let B=n.width(String(_.items.length),i,0),q=B+12+(Ml(_.icon)?h+Oc:0),Q=hf(_.label,!0,n,a,D-8-q,1);P=Math.max(P,Q.height),j.push(B),k.push(Q);let Z=[],J=0;for(let W of _.items){let V=hf(W.label,!0,n,i,O-(Ml(W.icon)?h+Oc:0)),re=hf(W.ticket,!1,n,i,O),ne=hf(W.assigned,!1,n,i,O),ce=re.width+ne.width+8>O?re.height+ne.height:Math.max(re.height,ne.height),ie=2*Hi+Math.max(V.height,o)+(ce?HR+ce:0);Z.push({item:W,label:V,ticket:re,assigned:ne,meta:ce,height:ie}),J+=ie+tA}X.push(Z),F.push(J)}P+=2*fs;let I=[],$=[];for(let _=0,B=0;_<U.length;_+=S){let q=tA;for(let Q=_;Q<Math.min(_+S,U.length);Q++)q=Math.max(q,F[Q]);$.push(B),I.push(P+q),B+=P+q+ds}let w=I.length>0?$[$.length-1]+I[I.length-1]:0,A=aa(e.title,n,a,Ht(r)),v=A.height>0?A.height+16:0,b=Math.max(Math.min(U.length,S)*(R+ds)-ds,0),T=Math.max(b,A.width),M=l+(T-b)/2,E=R-fs-4,Y="";for(let _=0;_<U.length;_++){let B=U[_],q=Math.floor(_/S),Q=`<rect width="${R}" height="${d(I[q])}" fill="var(--_s)"${ct}/>`+Bc(k[_],fs+4,fs,' class="pele-cluster-label" font-weight="var(--_hw)"',u)+`<text class="pele-count" x="${E}" y="${d(fs+s/2+i*.35)}" text-anchor="end" font-size="${i}" fill="var(--_m)">${B.items.length}</text>`;Ml(B.icon)&&(Q+=Lc(B.icon,E-j[_]-Oc-h,fs+(s-h)/2,h,u));let Z=P;for(let J of X[_]){let W=J.item,V=(W.priority??"").trim().toLowerCase(),re=PR.get(V),ne=`<rect width="${D}" height="${d(J.height)}" fill="var(--_bg)" stroke="var(--_b)"${ct}/>`;re!==void 0&&(ne+=`<path class="pele-priority" d="M2.5,5V${d(J.height-5)}" fill="none" ${re} stroke-width="3" stroke-linecap="round"/>`),ne+=Bc(J.label,Hi,Hi,' class="pele-label"',u),Ml(W.icon)&&(ne+=Lc(W.icon,D-Hi-h,Hi+(o-h)/2,h,u));let ce=J.height-Hi;if(W.ticket){let ie=ce-J.meta,se=N?Ps(Bi(N.replace("#TICKET#",()=>W.ticket)),r):void 0;se===void 0?ne+=Bc(J.ticket,Hi,ie,' class="pele-ticket" fill="var(--_m)"',u):(ne+=`<a href="${Je(se)}" target="_blank"${Gs(r)}>`+Bc(J.ticket,Hi,ie,' class="pele-ticket" fill="var(--_c)"',u)+"</a>",H.push({id:W.id,href:se,internal:!1}))}W.assigned&&(ne+=Bc(J.assigned,D-Hi,ce-J.assigned.height,' class="pele-assigned" fill="var(--_m)"',u,!0)),Q+=`<g class="pele-node pele-card${re===void 0?"":" pele-priority-"+V.replace(" ","-")}${Wt(W.cssClasses??"")}" data-id="${Oe(W.id)}" transform="translate(${fs},${d(Z)})" font-size="${i}">${ne}</g>`,Z+=J.height+tA}Y+=`<g class="pele-cluster pele-column${Wt(B.cssClasses??"")}" data-id="${Oe(B.id)}" transform="translate(${d(M+_%S*(R+ds))},${d(l+v+$[q])})">${Q}</g>`}let G=Math.ceil(T+2*l),K=Math.ceil(w+v+2*l),L=De(A,G/2,l+A.height/2,' class="pele-title" font-weight="var(--_tw)"')+Y;return{svg:rt("kanban",G,K,a,r,{},L),width:G,height:K,links:H}}var FR,ds,fs,Hi,tA,HR,Oc,PR,Ml,GS,US=Xe(()=>{Zm();cl();Li();Us();zt();xt();Mt();FR=class{type="kanban";title;sections=[];getType=uf;last;sectionLevel=0;misplaced;addNode(e,t,r,a,i){let s={id:t,level:e,label:r};if(i!==void 0){let n=i.includes(`
71
+ `)?i+`
72
+ `:`{
73
+ `+i+`
74
+ }`,l;try{l=Di(n)}catch(u){throw new je(`Metadata of "${s.id}" is not valid YAML. ${u.message}`,"syntax",{type:"kanban"})}if(l!==null&&typeof l=="object"&&!Array.isArray(l)){let u=l.shape?String(l.shape):"";if(u!==u.toLowerCase()||u.includes("_"))throw new je(`No such shape: ${u}. Shape names should be lowercase.`,"semantic",{type:"kanban"});l.label&&(s.label=String(l.label)),l.icon&&(s.icon=String(l.icon)),l.assigned&&(s.assigned=String(l.assigned)),l.ticket&&(s.ticket=String(l.ticket)),l.priority&&(s.priority=String(l.priority))}}if(this.misplaced)throw new je(`Items without section detected, found section ("${this.misplaced.label}")`,"semantic",{type:"kanban"});let o=this.sections;if(o.length===0&&(this.sectionLevel=e),this.last=s,e===this.sectionLevel){let n=s;n.items=[],o.push(n)}else o[o.length-1].items.push(s),e<this.sectionLevel&&(this.misplaced=s)}decorateNode(e){let t=this.last;!e||!t||(e.icon&&(t.icon=e.icon),e.class&&(t.cssClasses=e.class))}};ds=12,fs=8,Hi=10,tA=8,HR=4,Oc=6,PR=new Map([["very high",`stroke="${bc}"`],["high",`stroke="${bc}" opacity="0.5"`],["low",'stroke="var(--_m)" opacity="0.5"'],["very low",'stroke="var(--_m)"']]);Ml=e=>!!e&&dl(e)!=="";GS={type:"kanban",math:!0,parse(e,t,r){let a=new FR;return a.title=r,WR(e,a),a},render:GR}});var YS={};Bt(YS,{kanban:()=>GS});var KS=Xe(()=>{US()});function vl(e,t){let r=e.indexOf(`
75
+ `,t);return r===-1?e.length:r}function pi(e,t,r){for(let a=0;a<r.length;a++)if((e.charCodeAt(t+a)|32)!==r.charCodeAt(a))return!1;return!0}function df(e,t){let r=e.length,a=t;for(;a<r;){let i=e.charCodeAt(a);if(i===37&&e.charCodeAt(a+1)!==123)a=vl(e,a);else if(i!==125&&e.charCodeAt(a+1)===37&&e.charCodeAt(a+2)===37)a=vl(e,a+3);else{if(i===10)return a;if(Ke(i))do a++;while(a<r&&Ke(e.charCodeAt(a)));else if(i===35)a=vl(e,a);else return a}}return a}function rA(e,t){let r=t;for(;Ke(e.charCodeAt(r));)r++;return r}function ff(e,t,r,a){let i=pi(e,t,"accdescr");if(!i&&!pi(e,t,"acctitle"))return t;let s=e.length,o=rA(e,t+8),n=e.charCodeAt(o),l=(u,c,f)=>{r.types.push(u),r.texts.push(e.slice(c,f)),r.starts.push(c)};if(n===58){o=rA(e,o+1);let u=vl(e,o);return l(i?a+2:a,t,o),l(i?a+3:a+1,o,u),u}if(!i||n!==123)return t;for(o=rA(e,o+1);e.charCodeAt(o)!==125;){let u=e.indexOf("}",o);if(u===-1&&(u=s),l(a+4,o,u),o===s)return s;o=u}return o+1}var aA=Xe(()=>{pr()});function Pi(e,t,r,a,i=0){let s=e;return s!==void 0&&(s.includes("<")&&(s=s.replace(UR,"&lt;")),s.includes(":fa-")&&(s=s.replace(YR,"&colon;fa-"))),We(s,!1,t,r,a,i)}function La(e,t,r,a,i=0){let s=Pi(e,t,r,a,i);if(e===void 0||s.width<=a)return s;let o="",n=0;for(let l of e.match(KR)??[]){if(l.trim()===""||l.length>2&&l[0]==="<")n=0;else{let u=t.width(l.length>2?"x":l,r,i);n>0&&n+u>a&&(o+=`
76
+ `,n=0),n+=u}o+=l}return Pi(o,t,r,a,i)}var UR,YR,KR,pf=Xe(()=>{xt();UR=/<(?!br\s*\/?>)/gi,YR=/:fa-/g,KR=/<br\s*\/?>|fl°°?\w+¶ß|&#?\w+;|[\ud800-\udbff][\udc00-\udfff]|[\s\S]/gi});function QR(e){let t=e.length,r=[],a=[],i=[],s={types:r,texts:a,starts:i},o=0,n=(l,u)=>{r.push(l),a.push(e.slice(o,u)),i.push(o),o=u};for(;o=df(e,o),!(o>=t);){let l=e.charCodeAt(o),u=o+1;if(l===10){for(;e.charCodeAt(u)===10;)u++;n(3,u);continue}if(pi(e,o,"timeline")){for(u=o+8;e.charCodeAt(u)===32||e.charCodeAt(u)===9;)u++;let c=pi(e,u,"lr");if(u>o+8&&(c||pi(e,u,"td"))&&!tt(e.charCodeAt(u+2))){n(c?5:6,u+2);continue}if(!tt(e.charCodeAt(o+8))){n(4,o+8);continue}}if(pi(e,o,"title")&&Ke(e.charCodeAt(o+5))&&o+6<t&&e.charCodeAt(o+6)!==10){n(7,vl(e,o+6));continue}if(u=ff(e,o,s,8),u!==o){o=u;continue}if(pi(e,o,"section")&&Ke(e.charCodeAt(o+7))){for(u=o+8;u<t&&e.charCodeAt(u)!==58&&e.charCodeAt(u)!==10;)u++;if(u>o+8){n(13,u);continue}}if(l!==58){u=o+1;for(let c=e.charCodeAt(u);u<t&&c!==35&&c!==58&&c!==10;c=e.charCodeAt(++u));n(14,u);continue}if(Ke(e.charCodeAt(o+1))){for(u=o+2;u<t;u++){let c=e.charCodeAt(u);if(c===10||c===58&&Ke(e.charCodeAt(u+1)))break}if(u>o+2){n(15,u);continue}}n(2,o+1)}return(i.length===0||i[i.length-1]<t)&&n(1,t),n(0,t),s}function jR(e,t){let{types:r,texts:a,starts:i}=QR(e),s=(n,l)=>{let u=r[n]===0?"1":zR[r[n]];throw ut("timeline",e,i[n],`Expecting ${l}, got '${u}'`)},o=r[0];o!==4&&o!==5&&o!==6&&s(0,"'timeline', 'timeline_lr', 'timeline_td'"),o!==4&&t.setDirection(o===5?"LR":"TD");for(let n=1;;n++){let l=a[n];switch(r[n]){case 3:break;case 7:t.getCommonDb().setDiagramTitle(l.substring(6));break;case 8:t.getCommonDb().setAccTitle(a[++n].trim());break;case 10:t.getCommonDb().setAccDescription(a[++n].trim());break;case 12:t.getCommonDb().setAccDescription(l.trim());break;case 13:t.addSection(l.substring(8));break;case 14:t.addTask(l,0,"");break;case 15:t.addEvent(l.substring(2));break;case 1:return;default:s(n,VR)}}}function sA(e,t,r,a,i){return`<rect x="${d(e)}" y="${d(t)}" width="${d(r)}" height="${d(a)}"${bt(i)}/>`}function e_(e,t,r){return e.direction==="TD"?VS(e,t,r,!0):Jt(r,a=>VS(e,t,r,a))}function VS(e,t,r,a){let i=r.fontSize??16,s=Math.round(i*.875),o=r.measurer??at(r.fontFamily),n=r.padding??8,l=t.timeline?.disableMulticolor!==!0,u=e.periods,c=e.sections.length>0,f=e.sections.map((V,re)=>({section:re,periods:[]})),h={section:-1,periods:[]};u.forEach((V,re)=>(f[V.sectionIndex]??h).periods.push(re)),h.periods.length>0&&f.unshift(h);let g=a&&r.maxWidth!==void 0&&r.maxWidth>0?r.maxWidth-2*n:1/0,p=kl+mf*2+4*gf,m=Math.min(XR,Math.max(80,Math.round((g-p)*.38))),x=Math.min(JR,Math.max(110,g-p-m)),y=m,C=()=>a?x:y,S=u.map(V=>Pi(V.text,o,i,y)),R=u.map(V=>V.events.map(re=>Pi(re,o,s,C()))),N=0;for(let V of S)N=Math.max(N,V.width);if(!a)for(let V of R)for(let re of V)N=Math.max(N,re.width);let D=N>y;if(a)for(let V of R)for(let re of V)D||=re.width>x;D&&(y=Math.min(Math.max(Math.ceil(N),m),g===1/0?ZR:m),S=u.map(V=>La(V.text,o,i,y)),R=u.map(V=>V.events.map(re=>La(re,o,s,C()))));let O=Math.round(i*1.5),H=y+2*gf,U=C()+2*gf,k=V=>Math.max(V.height,O)+2*qS,j=V=>Math.max(V.height,Math.round(s*1.5))+2*qS,X=(V,re)=>V.section>=0?At(V.section):c?"var(--_m)":At(l?re:0),P=!1;for(let V of R)V.length>0&&(P=!0);let F=0;for(let V of f)F+=Math.max(V.periods.length,1);let I=H+co,$=u.length>0,w=a?H+(P?kl+mf*2+U:$?kl+Af:0):F>0?F*I-co+($?Af+er:0):0,A=La(e.title,o,i,Math.max(w,320),1),v=A.height>0?A.height+16:0,b=Math.max(w,A.width),T=n+(b-w)/2,M=n+v,E=(V,re)=>La(e.sections[V.section],o,i,re-2*gf,1),Y=(V,re,ne,ce,ie,se)=>sA(ne,ce,ie,se,` fill="${At(V.section)}"`)+De(re,ne+ie/2,ce+se/2,' font-weight="var(--_hw)"'+zS),G=(V,re,ne,ce,ie)=>sA(ne,ce,H,ie,` fill="${re}"`)+De(S[V],ne+H/2,ce+ie/2,zS),K=(V,re,ne,ce,ie)=>'<g class="pele-node pele-event">'+sA(ne,ce,U,ie,` fill="${re}" fill-opacity="0.16"`)+De(V,ne+U/2,ce+ie/2,` font-size="${s}"`)+"</g>",L=(V,re,ne)=>`<circle class="pele-dot" cx="${d(V)}" cy="${d(re)}" r="4" fill="${ne}" stroke="var(--_bg)" stroke-width="2"/>`,_=V=>V.section>=0?`<g class="pele-cluster pele-section" data-id="${Oe(e.sections[V.section].trim())}">`:"",B=V=>`<g class="pele-node pele-period" data-id="${Oe(u[V].text.trim())}">`,q="",Q;if(a){let V=T+H+kl,re=V+mf,ne=re+mf,ce=M;for(let ie of f){if(q+=_(ie),ie.section>=0){let se=E(ie,w),ee=k(se);q+=Y(ie,se,T,ce,w,ee),ce+=ee+iA+4}for(let se of ie.periods){let ee=X(ie,se),te=k(S[se]),he=R[se].length>0?j(R[se][0]):te,me=ce+Math.max(te,he)/2,oe=`M${d(T+H)},${d(me)}H${d(V)}`,be="",de=me-he/2,pe=me;for(let Ee of R[se]){let ve=j(Ee);pe=de+ve/2,oe+=`M${d(re)},${d(pe)}H${d(ne)}`,be+=K(Ee,ee,ne,de,ve),de+=ve+Fc}be&&(oe+=`M${d(V)},${d(me)}H${d(re)}V${d(pe)}`),q+=B(se)+G(se,ee,T,me-te/2,te)+`<path class="pele-edge" d="${oe}"${QS}/>`+L(V,me,ee)+be+"</g>",ce=Math.max(me+te/2,de-Fc)+co}ie.periods.length===0&&(ce+=co-iA-4),ie.section>=0&&(q+="</g>")}if(f.length>0&&(ce-=co),$){let ie=ce+Af+er;q=`<path class="pele-axis" d="M${d(V)},${d(M)}V${d(ie-er+1)}" fill="none" stroke="var(--_l)"/>`+vt("arrow_point",V,ie,0,1,"var(--_l)")+q,ce=ie}Q=ce+n}else{let V=0,re=f.map(he=>{if(he.section<0)return;let me=E(he,Math.max(he.periods.length,1)*I-co);return V=Math.max(V,k(me)),me}),ne=0;for(let he of S)ne=Math.max(ne,k(he));let ce=M+(c?V+iA:0),ie=ce+ne+(ne>0?kl:0),se=ie+kl,ee=$?ie+Af:M+V,te=0;if(f.forEach((he,me)=>{let oe=Math.max(he.periods.length,1),be=T+te*I;q+=_(he);let de=re[me];de&&(q+=Y(he,de,be,M,oe*I-co,V)),he.periods.forEach((pe,Ee)=>{let ve=X(he,pe),le=be+Ee*I,fe=le+H/2,Ae=`M${d(fe)},${d(ce+ne)}V${d(R[pe].length>0?se:ie)}`,Ie="",Re=se;for(let Pe of R[pe]){let ue=j(Pe);Re>se&&(Ae+=`M${d(fe)},${d(Re-Fc)}V${d(Re)}`),Ie+=K(Pe,ve,le,Re,ue),Re+=ue+Fc}ee=Math.max(ee,Re-Fc),q+=B(pe)+G(pe,ve,le,ce,ne)+`<path class="pele-edge" d="${Ae}"${QS}/>`+L(fe,ie,ve)+Ie+"</g>"}),he.section>=0&&(q+="</g>"),te+=oe}),$){let he=T+w;q=`<path class="pele-axis" d="M${d(T)},${d(ie)}H${d(he-er+1)}" fill="none" stroke="var(--_l)"/>`+vt("arrow_point",he,ie,1,0,"var(--_l)")+q}Q=ee+n}let Z=Math.ceil(b+2*n),J=Math.ceil(Math.max(Q,n*2)),W=De(A,Z/2,n+A.height/2,' class="pele-title" font-weight="var(--_tw)"')+q;return{svg:rt("timeline",Z,J,i,r,e,W),width:Z,height:J,links:[]}}var qR,zR,VR,gf,qS,XR,ZR,JR,co,kl,mf,Fc,iA,Af,zS,QS,jS,XS=Xe(()=>{aA();pf();pr();zt();Lr();xt();Mt();qR=class{type="timeline";title;accTitle;accDescr;direction="LR";sections=[];periods=[];currentSection="";getCommonDb(){return this}setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
77
+ `)}setDirection(e){this.direction=e}addSection(e){this.currentSection=e,this.sections.push(e)}addTask(e,t,r){this.periods.push({text:e,events:r?[r]:[],section:this.currentSection,sectionIndex:this.sections.length-1})}addEvent(e){let t=this.periods[this.periods.length-1];if(!t)throw new je("An event needs a time period before it.","semantic",{type:"timeline"});t.events.push(e)}},zR=["$end","EOF","INVALID","NEWLINE","timeline","timeline_lr","timeline_td","title","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","section","period","event"];VR="'EOF', 'SPACE', 'NEWLINE', 'title', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'section', 'period', 'event'";gf=12,qS=8,XR=152,ZR=216,JR=264,co=20,kl=20,mf=14,Fc=8,iA=8,Af=12,zS=' fill="var(--_bg)"',QS=' fill="none" stroke="var(--_b)"';jS={type:"timeline",parse(e,t,r){let a=new qR;return a.title=r,jR(e,a),a},render:e_}});var ZS={};Bt(ZS,{timeline:()=>jS});var JS=Xe(()=>{XS()});function lA(e){let t=new Set;for(let r of e)for(let a of r.people)t.add(a);return[...t].sort()}function bf(e,t,r){let a=e.length,i=t;for(;i<a;i++){let s=e.charCodeAt(i);if(s===35||s===10||s===59||r&&s===58)break}return i}function a_(e){let t=e.length,r=[],a=[],i=[],s={types:r,texts:a,starts:i},o=0,n=(l,u)=>{r.push(l),a.push(e.slice(o,u)),i.push(o),o=u};for(;o=df(e,o),!(o>=t);){let l=e.charCodeAt(o),u=o+1;if(l===10){for(;e.charCodeAt(u)===10;)u++;n(3,u);continue}if(pi(e,o,"journey")&&!tt(e.charCodeAt(o+7))){n(4,o+7);continue}if(pi(e,o,"title")&&Ke(e.charCodeAt(o+5))&&(u=bf(e,o+6,!1),u>o+6)){n(5,u);continue}if(u=ff(e,o,s,6),u!==o){o=u;continue}if(pi(e,o,"section")&&Ke(e.charCodeAt(o+7))&&(u=bf(e,o+8,!0),u>o+8)){n(11,u);continue}l===58?(u=bf(e,o+1,!1),n(u>o+1?13:14,u>o+1?u:o+1)):l===59?n(2,o+1):n(12,bf(e,o+1,!0))}return(i.length===0||i[i.length-1]<t)&&n(1,t),n(0,t),s}function s_(e,t){let{types:r,texts:a,starts:i}=a_(e),s=(o,n)=>{let l=r[o]===0?"1":r_[r[o]];throw ut("journey",e,i[o],`Expecting ${n}, got '${l}'`)};r[0]!==4&&s(0,"'journey'");for(let o=1;;o++){let n=a[o];switch(r[o]){case 3:break;case 5:t.setDiagramTitle(n.substring(6));break;case 6:t.setAccTitle(a[++o].trim());break;case 8:t.setAccDescription(a[++o].trim());break;case 10:t.setAccDescription(n.trim());break;case 11:t.addSection(n.substring(8));break;case 12:r[++o]!==13&&s(o,"'taskData'"),t.addTask(n,a[o]);break;case 1:return;default:s(o,i_)}}}function tE(e,t,r){return`<g class="pele-face pele-face-${r}" transform="translate(${d(e)},${d(t)})"><circle r="${$l}" fill="var(--_bg)" stroke="var(--_l)"/><g fill="var(--_l)">${c_}</g><path d="${h_[r]}" fill="none" stroke="var(--_l)" stroke-linecap="round"/></g>`}function d_(e,t,r){return Jt(r,a=>f_(e,t,r,a))}function f_(e,t,r,a){let i=r.fontSize??16,s=Math.round(i*.875),o=Math.round(i*.75),n=r.measurer??at(r.fontFamily),l=r.padding??8;if(a)return p_(e,r);let u=e.tasks,c=u.length,f=lA(u).filter(B=>B!==""),h=new Map;f.forEach((B,q)=>h.set(B,q));let g=n_,p=u.map(B=>Pi(B.task,n,s,g)),m=0;for(let B of p)m=Math.max(m,B.width);m>g&&(g=Math.min(Math.ceil(m),o_),p=u.map(B=>La(B.task,n,s,g)));let x=g+2*xf,y=x+yf,C=c>0?c*y-yf:0,S=Math.round(s*1.5),R=Math.max(C,240),N=[],D=0,O=0,H=0;for(let B of f){let q=La(B,n,s,R-2*ps-6),Q=2*ps+6+q.width;H>0&&H+Q>R&&(H=0,O+=4);let Z=H>0?N[N.length-1].y:O,J=Math.max(q.height,S);N.push({name:B,label:q,x:H,y:Z,h:J}),H+=Q,D=Math.max(D,H),O=Math.max(O,Z+J),H+=u_}let U=c>0?nA+C:0,k=La(e.title,n,i,Math.max(U,320),1),j=k.height>0?k.height+16:0,X=Math.max(U,k.width,c>0?nA+D:0),P=l+(X-U)/2+nA,F=l+j,I=[],$=0;for(let B=0;B<c;){let q=B+1;for(;q<c&&u[q].section===u[B].section;)q++;let Q;u[B].section!==""&&(Q=La(u[B].section,n,s,(q-B)*y-yf-2*xf,1),$=Math.max($,Math.max(Q.height,S)+2*eE)),I.push({start:B,count:q-B,label:Q}),B=q}let w=S;for(let B of p)w=Math.max(w,B.height);let A=f.length>0?2*ps+6:0,v=w+A+2*Sn,b=F+($>0?$+eE:0),T=b+v+$l+16,M=T+4*oA,E=P+C,Y="",G=F;if(c>0){let B="",q="";for(let V=5;V>=1;V--){let re=T+(5-V)*oA;B+=`M${d(P-6)},${d(re)}H${d(E)}`,q+=`<text x="${d(P-12)}" y="${d(re+o*.35)}">${V}</text>`}Y+=`<path class="pele-grid" d="${B}" fill="none" stroke="var(--_a)"/><g class="pele-scale" font-size="${o}" text-anchor="end" fill="var(--_m)">${q}</g>`;let Q="",Z="",J="",W=[];u.forEach((V,re)=>{let ne=P+re*y,ce=ne+x/2,ie=V.score,se=Number.isNaN(ie)?3:Math.min(5,Math.max(1,ie)),ee=T+(5-se)*oA;Q+=`${re===0?"M":"L"}${d(ce)},${d(ee)}`,Z+=`M${d(ce)},${d(b+v)}V${d(ee-$l)}`,J+=tE(ce,ee,ie>3?"happy":ie<3?"sad":"neutral");let te="",he=V.people.filter(oe=>oe!==""),me=Math.min(l_,(x-2*xf-2*ps)/Math.max(he.length-1,1));he.forEach((oe,be)=>{te+=`<circle class="pele-actor" cx="${d(ce+(be-(he.length-1)/2)*me)}" cy="${d(b+v-Sn-ps)}" r="${ps}" fill="${At(h.get(oe)??0)}" stroke="var(--_s)"><title>${Oe(oe)}</title></circle>`}),W.push(`<g class="pele-node pele-task" data-id="${Oe(V.task.trim())}"><rect x="${d(ne)}" y="${d(b)}" width="${d(x)}" height="${d(v)}" fill="var(--_s)" stroke="var(--_b)"${ct}/>`+De(p[re],ce,b+Sn+w/2,` font-size="${s}"`)+te+"</g>")}),Y+=`<path class="pele-stems" d="${Z}" fill="none" stroke="var(--_b)" stroke-dasharray="2 3"/>`+(c>1?`<path class="pele-edge" d="${Q}" fill="none" stroke="var(--_l)" stroke-linejoin="round"/>`:"")+J;for(let V of I){let re=W.slice(V.start,V.start+V.count).join("");if(!V.label){Y+=re;continue}let ne=P+V.start*y,ce=V.count*y-yf;Y+=`<g class="pele-cluster pele-section" data-id="${Oe(u[V.start].section.trim())}"><rect x="${d(ne)}" y="${d(F)}" width="${d(ce)}" height="${d($)}" fill="var(--_a)"${ct}/>`+De(V.label,ne+ce/2,F+$/2,` font-size="${s}" font-weight="var(--_hw)"`)+re+"</g>"}if(G=M+$l,N.length>0){let V=P+(C-D)/2,re=G+16,ne="";for(let ce of N){let ie=re+ce.y+ce.h/2;ne+=`<g class="pele-legend-item" data-id="${Oe(ce.name)}"><circle cx="${d(V+ce.x+ps)}" cy="${d(ie)}" r="${ps}" fill="${At(h.get(ce.name)??0)}"/>`+De(ce.label,V+ce.x+2*ps+6+ce.label.width/2,ie,"")+"</g>"}Y+=`<g class="pele-legend" font-size="${s}">${ne}</g>`,G=re+O}}let K=Math.ceil(X+2*l),L=Math.ceil(Math.max(G,l)+l),_=De(k,l+X/2,l+k.height/2,' class="pele-title" font-weight="var(--_tw)"')+Y;return{svg:rt("journey",K,L,i,r,e,_),width:K,height:L,links:[]}}function p_(e,t){let r=t.fontSize??16,a=Math.round(r*.875),i=t.measurer??at(t.fontFamily),s=t.padding??8,o=Math.max(140,(t.maxWidth??320)-2*s),n=La(e.title,i,r,o,1),l=lA(e.tasks).filter(y=>y!==""),u=new Map(l.map((y,C)=>[y,C])),c=s+(n.height?n.height+16:0),f,h="",g=n.width;e.tasks.forEach((y,C)=>{if(y.section!==f){f=y.section;let k=La(f,i,r,o-16,1);k.height&&(h+=De(k,s+8+k.width/2,c+k.height/2,' class="pele-cluster-label" font-weight="var(--_hw)"'),g=Math.max(g,k.width+16),c+=k.height+8)}let S=La(y.task,i,a,o-72),R=y.people.filter(k=>k!=="").map(k=>({name:k,label:La(k,i,a,o-44)})),N=Math.max(S.height,42),D=2*Sn+N;for(let k of R)D+=Math.max(16,k.label.height)+4;let O=Math.max(o,S.width+72);h+=`<g class="pele-node pele-journey-step" data-id="${C}"><rect x="${d(s)}" y="${d(c)}" width="${d(O)}" height="${d(D)}" fill="var(--_s)" stroke="var(--_b)"${ct}/>`,h+=De(S,s+xf+S.width/2,c+Sn+S.height/2,' class="pele-label"');let H=s+O-28;h+=tE(H,c+Sn+$l,y.score>3?"happy":y.score<3?"sad":"neutral"),Number.isNaN(y.score)||(h+=`<text class="pele-journey-score" x="${d(H)}" y="${d(c+Sn+2*$l+a)}" font-size="${a}" text-anchor="middle">${d(Math.min(5,Math.max(1,y.score)))}</text>`);let U=c+Sn+N+4;for(let k of R){let j=Math.max(16,k.label.height);h+=`<circle class="pele-actor" cx="${d(s+16)}" cy="${d(U+j/2)}" r="${ps}" fill="${At(u.get(k.name))}"/>`+De(k.label,s+28+k.label.width/2,U+j/2,` class="pele-journey-actor" font-size="${a}"`),U+=j+4}h+="</g>",c+=D,C+1<e.tasks.length&&(h+=`<path class="pele-edge" d="M${d(s+O/2)},${d(c)}v16" fill="none" stroke="var(--_l)"/>`),c+=16,g=Math.max(g,O)});let p=Math.ceil(g+2*s),m=Math.ceil(Math.max(s+n.height,c-(e.tasks.length?16:0))+s),x=De(n,p/2,s+n.height/2,' class="pele-title" font-weight="var(--_tw)"')+h;return{svg:rt("journey",p,m,r,t,e,x),width:p,height:m,links:[]}}var t_,r_,i_,xf,Sn,n_,o_,yf,eE,nA,oA,$l,ps,l_,u_,c_,h_,rE,aE=Xe(()=>{aA();pf();pr();zt();xt();Mt();t_=class{type="journey";title;accTitle;accDescr;sections=[];tasks=[];currentSection="";setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
78
+ `)}addSection(e){this.currentSection=e,this.sections.push(e)}addTask(e,t){let r=t.substring(1).split(":"),a=r.length===1?[]:r[1].split(",").map(i=>i.trim());this.tasks.push({task:e,score:Number(r[0]),people:a,section:this.currentSection})}getActors(){return lA(this.tasks)}},r_=["$end","EOF","INVALID","NEWLINE","journey","title","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","section","taskName","taskData",":"];i_="'EOF', 'SPACE', 'NEWLINE', 'title', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'section', 'taskName'";xf=10,Sn=8,n_=124,o_=200,yf=12,eE=6,nA=24,oA=26,$l=11,ps=5,l_=13,u_=20,c_='<circle cx="-3.6" cy="-2.8" r="1.3"/><circle cx="3.6" cy="-2.8" r="1.3"/>',h_={happy:"M-5,2A6,6 0 0 0 5,2",neutral:"M-4.5,4.5H4.5",sad:"M-5,6.5A6,6 0 0 1 5,6.5"};rE={type:"journey",parse(e,t,r){let a=new t_;return a.title=r,s_(e,a),a},render:d_}});var iE={};Bt(iE,{journey:()=>rE});var sE=Xe(()=>{aE()});function nE(e){return e==="#"||e==="+"||e==="~"||e==="-"}function En(e){let t=e.indexOf("~");if(t<=0)return{className:e,type:""};let r=e.indexOf("~",t+1);return{className:e.slice(0,t),type:e.slice(t+1,r===-1?e.length:r)}}function lE(e){let t=e.charCodeAt(0);return En(t>=48&&t<=57?m_+e:e).className}function x_(e){let t=e.length,r=[],a=[],i=[],s=[],o=0,n=0,l=e.indexOf("direction"),u=-1,c=0,f=(D,O,H)=>(r.push(D),a.push(e.slice(O,H)),i.push(O),n=H,!0),h=D=>{s.push(o),o=D},g=()=>{s.length>0&&(o=s.pop())},p=D=>e.startsWith(D,n)&&!tt(e.charCodeAt(n+D.length)),m=D=>{for(;D<t&&Ke(e.charCodeAt(D));)D++;return D},x=D=>{let O=e.indexOf(D,n);return O===-1?t:O},y=D=>{let O=n,H=-1;for(let U=e.charCodeAt(O);O<t&&Ke(U);U=e.charCodeAt(++O))U===10&&(H=O);if(H<0){n=O;return}D&&g(),f(3,n,H+1)},C=D=>{switch(D){case 99:if(p("cssClass"))return f(48,n,n+8);if(p("callback"))return f(40,n,n+8);if(p("click"))return f(43,n,n+5);break;case 108:if(p("link"))return f(41,n,n+4);break;case 110:if(p("note for"))return f(24,n,n+8);if(p("note"))return f(25,n,n+4);break;case 60:if(e.charCodeAt(n+1)===60)return f(20,n,n+2);break;case 62:if(e.charCodeAt(n+1)===62)return f(21,n,n+2);break;case 104:if(p("href"))return f(46,n,n+4);break}return!1},S=D=>{if(C(D))return!0;let O=e.charCodeAt(n+1);switch(D){case 34:return h(1),n++,!0;case 126:return h(3),n++,!0;case 96:return h(2),n++,!0;case 95:if(p("_self"))return f(42,n,n+5);if(p("_blank"))return f(42,n,n+6);if(p("_parent"))return f(42,n,n+7);if(p("_top"))return f(42,n,n+4);break;case 60:return O===124?f(34,n,n+2):f(36,n,n+1);case 124:return O===62&&f(34,n,n+2);case 62:return f(36,n,n+1);case 42:return f(35,n,n+1);case 111:if(!tt(O))return f(33,n,n+1);break;case 40:return O===41&&f(37,n,n+2);case 45:return O===45?f(38,n,n+2):f(52,n,n+1);case 46:return O===46?f(39,n,n+2):f(8,n,n+1);case 58:{let H=n+1;for(;H<t;){let U=e.charCodeAt(H);if(U===58||U===10||U===59)break;H++}return H>n+1?f(10,n,H):O===58&&e.charCodeAt(n+2)===58&&f(19,n,n+3)}case 43:return f(58,n,n+1);case 37:return f(51,n,n+1);case 61:return f(59,n,n+1);case 91:return f(5,n,n+1);case 93:return f(7,n,n+1);case 33:case 35:case 36:case 38:case 39:case 44:case 63:case 92:case 47:return f(60,n,n+1)}if(tt(D)){let H=n+1;for(;tt(e.charCodeAt(H));)H++;return f(27,n,H)}return pl(D)&&f(53,n,n+1)},R=()=>{if(l===-1||n<c||(l<n&&(l=e.indexOf("direction",n)),l===-1)||(u<n&&(uA.lastIndex=n,u=uA.test(e)?uA.lastIndex-1:t),l>=u))return!1;for(let D=0;D<4;D++){let O=y_[D];if(O.lastIndex=n,O.test(e))return f(29+D,n,O.lastIndex)}return c=u,!1},N=D=>{if(R())return!0;if(Ke(D))return y(!1),!0;switch(D){case 37:if(e.charCodeAt(n+1)===37){let O=x(`
79
+ `);for(;O<t&&(e.charCodeAt(O)===10||e.charCodeAt(O)===13);)O++;return n=O,!0}break;case 97:{let O=e.startsWith("accTitle",n);if(!O&&!e.startsWith("accDescr",n))break;let H=m(n+8),U=e.charCodeAt(H);if(U===58)return f(O?11:13,n,m(H+1)),h(O?6:7),!0;if(U===123&&!O)return n=m(H+1),h(8),!0;break}case 99:if(p("classDiagram-v2"))return f(2,n,n+15);if(p("classDiagram"))return f(2,n,n+12);if(e.startsWith("call",n)&&Ke(e.charCodeAt(n+4)))return n=m(n+4),h(4),!0;if(p("classDef"))return f(26,n,n+8);if(p("class"))return h(9),f(22,n,n+5);break;case 91:if(e.startsWith("*]",n+1))return f(55,n,n+3);break;case 115:if(p("style"))return f(47,n,n+5);break;case 110:if(p("namespace"))return h(11),f(18,n,n+9);break;case 44:return f(28,n,n+1);case 35:return f(50,n,n+1)}return S(D)||D===58&&f(49,n,n+1)};for(;;){if(n>=t){r.push(b_[o]),a.push(""),i.push(t);break}let D=e.charCodeAt(n),O=!0;switch(o){case 0:O=N(D);break;case 9:Ke(D)?y(!0):D===125?(g(),g(),f(17,n,n+1)):D===123?(h(10),f(16,n,n+1)):O=S(D);break;case 10:if(D===34)h(1),n++;else if(D===125)g(),f(17,n,n+1);else if(D===91&&e.startsWith("*]",n+1))f(55,n,n+3);else if(D===123)f(57,n,n+1);else if(D===10)n++;else{let H=n+1;for(;H<t;){let U=e.charCodeAt(H);if(U===123||U===125||U===10)break;H++}f(23,n,H)}break;case 11:Ke(D)?y(!0):D===123?(h(12),f(16,n,n+1)):D===125?g():D===110&&p("namespace")?(h(11),f(18,n,n+9)):O=S(D);break;case 12:Ke(D)?y(!1):D===125?(g(),f(17,n,n+1)):D===110&&p("namespace")?(h(11),f(18,n,n+9)):D===91&&e.startsWith("*]",n+1)?f(55,n,n+3):D===99&&p("class")?(h(9),f(22,n,n+5)):O=S(D);break;case 1:D===34?(g(),n++):f(6,n,x('"'));break;case 3:if(D===34)h(1),n++;else{if(C(D))break;D===126?(g(),n++):f(9,n,x("~"))}break;case 2:if(D===34)h(1),n++;else{if(C(D))break;D===126?(h(3),n++):D===96?(g(),n++):f(54,n,x("`"))}break;case 4:if(D===40){let H=m(n+1);g(),e.charCodeAt(H)===41?n=H+1:(h(5),n++)}else f(44,n,x("("));break;case 5:D===41?(g(),n++):f(45,n,x(")"));break;case 6:case 7:f(o===6?12:14,n,x(`
80
+ `)),g();break;case 8:D===125?(g(),n++):f(15,n,x("}"));break}if(!O)return r.push(1),a.push(""),i.push(n),{types:r,texts:a,starts:i}}return r.push(0),a.push(""),i.push(t),{types:r,texts:a,starts:i}}function S_(e,t){let{types:r,texts:a,starts:i}=x_(e),s=0,o=D=>{let O=r[s];throw O===1?ut("class",e,i[s],"",!0):ut("class",e,i[s],`Expecting ${D}, got '${uE[O]}'`)},n=D=>(r[s]!==D&&o(`'${uE[D]}'`),a[s++]),l=()=>(Mf[r[s]]===0&&o("'UNICODE_TEXT', 'NUM', 'ALPHA', 'MINUS'"),a[s++]),u=D=>{let O="";for(;;){if(r[s]===54){O+=a[s++];break}Mf[r[s]]===0&&o(w_),O+=a[s++];let H=r[s];if(H===8)O+=".",s++;else if(Mf[H]===0&&H!==54)break}return D&&r[s]===9&&(O+="~"+a[s++]+"~"),O},c=()=>{s++;let D=n(6);return n(7),D},f=()=>{r[s]!==23&&o("'STRUCT_STOP', 'MEMBER'");let D=[];for(;r[s]===23;)D.push(a[s++]);return n(17),D.reverse()},h=()=>{s++;let D=u(!0);switch(t.addClass(D),r[s]===5&&t.setClassLabel(D,c()),r[s]){case 19:{s++;let O=l();t.setCssClass(D,O),r[s]===16&&(s++,t.addMembers(D,f()));break}case 16:s++,r[s]===17?s++:t.addMembers(D,f());break;case 20:{s++;let O=l();n(21),t.addAnnotation(D,O),r[s]===16&&(s++,r[s]===17?s++:t.addMembers(D,f()));break}}return D},g=()=>{if(r[s++]===25)return t.addNote(n(6));let D=u(!0);return t.addNote(n(6),D)},p=()=>{let D=[];for(;;){s++;let O=u(!1),H=r[s]===5?t.addNamespace(O,c()):t.addNamespace(O);n(16),r[s]===3&&s++,D.push({id:H,classes:[],notes:[]});let U=!0;for(;U;){let k=D[D.length-1],j=r[s];if(j===18)break;for(j===22?k.classes.push(h()):j===25||j===24?k.notes.push(g()):o("'NAMESPACE', 'CLASS', 'NOTE_FOR', 'NOTE'");;){if(r[s]===3){let P=r[s+1];if(P===18||P===22||P===25||P===24){s++;break}s++}n(17);let X=D.pop();if(t.addClassesToNamespace(X.id,X.classes,X.notes),t.popNamespace(),D.length===0){U=!1;break}}}if(D.length===0)return}},m=()=>{let D=fo[r[s]];return D===0?"none":(s++,D-1)},x=()=>{let D=u(!0),O=r[s];if(O===10){t.addMember(D,t.cleanupLabel(a[s++]));return}let H="none";if(O===6)H=a[s++],O=r[s];else if(fo[O]===0&&O!==38&&O!==39)return;let U=m();O=r[s],O!==38&&O!==39&&o("'AGGREGATION', 'EXTENSION', 'COMPOSITION', 'DEPENDENCY', 'LOLLIPOP', 'LINE', 'DOTTED_LINE'"),s++;let k=m(),j=r[s]===6?a[s++]:"none",X=u(!0),P={id1:D,id2:X,relation:{type1:U,type2:k,lineType:O===38?0:1},relationTitle1:H,relationTitle2:j};r[s]===10&&(P.title=t.cleanupLabel(a[s++])),t.addRelation(P)},y=()=>{let D=[];for(;;){dA[r[s]]===0&&o("'ALPHA', 'NUM', 'COLON', 'UNIT', 'SPACE', 'BRKT', 'STYLE', 'PCT', 'LABEL'");let O=a[s++];for(;dA[r[s]]===1;)O+=a[s++];if(D.push(O),r[s]!==28)return D;s++}},C=D=>{r[s]===6&&t.setTooltip(D,a[s++])},S=D=>{let O=n(6),H=r[s]===6?a[s++]:void 0;r[s]===42?t.setLink(D,O,a[s++]):t.setLink(D,O),H!==void 0&&t.setTooltip(D,H)},R=()=>{let D=r[s];switch(D){case 53:case 27:case 52:case 54:x();return;case 18:p();return;case 22:h();return;case 23:s++;return;case 20:{s++;let O=l();n(21),t.addAnnotation(u(!0),O);return}case 40:{s++;let O=u(!0);t.setClickEvent(O,n(6)),C(O);return}case 41:s++,S(u(!0));return;case 43:{s++;let O=u(!0);if(r[s]===46){s++,S(O);return}let H=n(44);r[s]===45?t.setClickEvent(O,H,a[s++]):t.setClickEvent(O,H),C(O);return}case 47:{s++;let O=n(27);t.setCssStyle(O,y());return}case 48:{s++;let O=n(6);t.setCssClass(O,n(27));return}case 25:case 24:g();return;case 26:{s++;let O=[n(27)];for(;r[s]===28;)s++,O.push(n(27));t.defineClass(O,y());return}case 29:case 30:case 31:case 32:s++,t.setDirection(D===29?"TB":D===30?"BT":D===31?"RL":"LR");return;case 11:s++,t.setAccTitle(n(12).trim());return;case 13:s++,t.setAccDescription(n(14).trim());return;case 15:t.setAccDescription(a[s++].trim());return}o("'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'NAMESPACE', 'ANNOTATION_START', 'CLASS', 'MEMBER', 'NOTE_FOR', 'NOTE', 'CLASSDEF', 'direction_tb', 'CALLBACK', 'LINK', 'CLICK', 'STYLE', 'CSSCLASS', 'ALPHA', 'MINUS', 'BQUOTE_STR'")},N=r[s]===2;for(N&&(s++,n(3));R(),!(r[s]!==3||(s++,r[s]===4||r[s]===0)););N&&n(4),n(0)}function cE(e){return typeof e=="number"&&E_[e]||"none"}function C_(e,t=!0){let r=[],a=[],i=new Map,s=new Map,o=new Map,n=new Map,l=h=>{if(t||h===void 0)return h;let g=[],p=h,m;for(;p;){if(n.has(p)){m=n.get(p);break}let x=e.namespaces.get(p);if(x===void 0)break;if(x.explicit){m=p;break}g.push(p),p=x.parent}for(let x of g)n.set(x,m);return m},u=h=>h===void 0?-1:i.get(h)??-1;for(let h of e.namespaces.values())!t&&!h.explicit||(i.set(h.id,r.length),r.push({id:h.id,label:t?h.label:h.id,isGroup:!0,shape:"rect",parentId:t?h.parent:void 0,parent:-1}));for(let h of r)h.parent=u(h.parentId);let c=0;for(let h of e.classes.values()){let g=l(h.parent);s.set(h.id,r.length),r.push({id:h.id,label:h.label,isGroup:!1,shape:"classBox",parentId:g,parent:u(g),classNode:h,colorIndex:c++})}for(let h of e.notes.values()){let g=l(h.parent),p=h.class===void 0?void 0:s.get(h.class);p!==void 0&&a.push({id:`edgeNote${h.index}`,start:h.id,end:r[p].id,source:r.length,target:p,label:void 0,arrowTypeStart:"none",arrowTypeEnd:"none",startLabelRight:"",endLabelLeft:"",pattern:"dotted",classes:"relation"}),r.push({id:h.id,label:h.text,isGroup:!1,shape:"note",parentId:g,parent:u(g)})}for(let h of e.interfaces){let g=s.get(h.classId);o.set(h.id,r.length),r.push({id:h.id,label:h.label,isGroup:!1,shape:"interface",parentId:void 0,parent:g===void 0?-1:r[g].parent})}let f=0;for(let h of e.relations){f++;let{type1:g,type2:p}=h.relation,m=g===Pc.LOLLIPOP&&p==="none"?o:s,x=m===s&&p===Pc.LOLLIPOP&&g==="none"?o:s;a.push({id:`id_${h.id1}_${h.id2}_${f}`,start:h.id1,end:h.id2,source:m.get(h.id1)??-1,target:x.get(h.id2)??-1,label:h.title,arrowTypeStart:cE(g),arrowTypeEnd:cE(p),startLabelRight:h.relationTitle1==="none"?"":h.relationTitle1,endLabelLeft:h.relationTitle2==="none"?"":h.relationTitle2,pattern:h.relation.lineType===1?"dashed":"solid",classes:"relation"})}return{nodes:r,edges:a}}function hE(e){switch(e){case"extension":return fA;case"composition":case"aggregation":return Hc;case"lollipop":return 2*vf;case"dependency":return wt("arrow_point")}return 0}function dE(e,t,r,a,i,s){let o=-i,n=a;switch(e){case"extension":{let l=t-a*fA,u=r-i*fA;return`<path class="pele-marker" d="M${d(t)},${d(r)}L${d(l+o*Wc)},${d(u+n*Wc)}L${d(l-o*Wc)},${d(u-n*Wc)}Z" stroke-linejoin="round"/>`}case"composition":case"aggregation":{let l=t-a*Hc/2,u=r-i*Hc/2,c=Wc-1;return`<path class="pele-marker" d="M${d(t)},${d(r)}L${d(l+o*c)},${d(u+n*c)}L${d(t-a*Hc)},${d(r-i*Hc)}L${d(l-o*c)},${d(u-n*c)}Z" stroke-linejoin="round"${e==="composition"?` fill="${s}"`:""}/>`}case"lollipop":return`<circle class="pele-marker" cx="${d(t-a*vf)}" cy="${d(r-i*vf)}" r="${vf}"/>`;case"dependency":return vt("arrow_point",t,r,a,i,s)}return""}function mE(e,t,r){let a=e[t];return typeof a=="number"&&a>0?Math.min(a,2e3):r}function AE(e,t,r){let a=Dt(e.getDisplayDetails().displayText).trim();return{text:a,width:t.width(a,r,e.classifier==="*"?2:0),classifier:e.classifier}}function I_(e,t,r){let a=i=>ca(r,s=>N_(e,t,r,i,s));return Da(e.direction)?Jt(r,a):a(!1)}function N_(e,t,r,a,i){let s=t.class??{},o=C_(e,s.hierarchicalNamespaces!==!1),n=s.hideEmptyMembersBox===!0,l=r.fontSize??16,u=Math.round(l*.875),c=Math.round(l*.8),f=Math.round(c*1.4),h=r.measurer??at(r.fontFamily),g=r.padding??8,p=(le,fe)=>{if(!le.includes("$$"))return;let Ae=We(le,!1,h,fe,4e3);return Ae.lines.some(gl)?Ae:void 0},m=le=>le?p(le,c)?.width??h.width(Dt(le),c,0):0,x=a?"TB":zr(e.direction),y=new Map,C=new Map,S=new Map,R=le=>{let fe=y.get(le);if(fe===void 0){let Ae=Rt([le]);fe=Ae.shape===""&&Ae.text===""?"":le.slice(0,le.indexOf(":")).trim().toLowerCase(),y.set(le,fe)}fe!==""&&S.set(fe,le)},N=le=>{S.clear();let fe=C.get(le.cssClasses);if(fe===void 0){for(let Ae of le.cssClasses.split(" ")){let Ie=e.styleClasses.get(Ae);if(Ie)for(let Re of Ie.styles)for(let Pe of Re.split(","))R(Pe)}fe=[...S],C.set(le.cssClasses,fe)}else for(let[Ae,Ie]of fe)S.set(Ae,Ie);for(let Ae of le.styles)R(Ae);return Rt(S.size===0?Cf:[...S.values()])},D=new Int32Array(o.nodes.length);for(let le of o.nodes)le.parent>=0&&D[le.parent]++;let O=new Uint8Array(o.nodes.length);for(let le of o.edges){if(le.source<0||le.target<0)continue;let fe=o.nodes[le.source].parent,Ae=o.nodes[le.target].parent;if(fe!==Ae){for(let Ie=fe;Ie>=0&&O[Ie]===0;Ie=o.nodes[Ie].parent)O[Ie]=1;for(let Ie=Ae;Ie>=0&&O[Ie]===0;Ie=o.nodes[Ie].parent)O[Ie]=1}}let H=[],U=[];o.nodes.forEach((le,fe)=>{let Ae,Ie;if(le.isGroup){let Re=We(le.label,!1,h,l,4e3);Ae=k(le,Re,0,0,l),D[fe]>0?(Ie=rr(0,0),Ie.isGroup=!0,Ie.padX=ho,Ie.padTop=Re.height>0?Re.height+16:ho,Ie.padBottom=ho,Ie.minW=Re.width+2*ho-12+(O[fe]===1&&!i?Math.min(Re.width+24,240):0)):(Ae.w=Math.max(Re.width+2*ho,80),Ae.h=Re.height+2*ho,Ie=rr(Ae.w,Ae.h))}else if(le.classNode)Ae=j(le,le.classNode),Ie=rr(Ae.w,Ae.h);else if(le.shape==="note"){let Re=We(le.label,!0,h,u,260);Ae=k(le,Re,Math.max(Re.width+2*cA,40),Re.height+2*wf,u),Ie=rr(Ae.w,Ae.h)}else{let Re=We(le.label,!1,h,u,200);Ae=k(le,Re,Math.max(Re.width,12)+4,Math.max(Re.height,12),u),Ie=rr(Ae.w,Ae.h)}Ie.parent=le.parent,Ie.seq=fe,H.push(Ae),U.push(Ie)});function k(le,fe,Ae,Ie,Re){return{node:le,style:Rt(Cf),label:fe,w:Ae,h:Ie,loops:0,annotations:Cf,attributes:Ef,methods:Ef,titleH:0,attributesH:0,fontSize:Re}}function j(le,fe){let Ae=N(fe),Ie=Ae.fontSize??l,Re=Math.round(Ie*.875),Pe=Math.round(Re*1.5),ue=fe.type?"&lt;"+lo(fe.type).replace(/</g,"&lt;").replace(/>/g,"&gt;")+"&gt;":"",we=We(fe.label+ue,!1,h,Ie,4e3,1|(Ae.italic?2:0)),$e=fe.annotations.length>0?fe.annotations.map(xe=>p(`\xAB${xe.trim()}\xBB`,c)??`\xAB${Dt(xe).trim()}\xBB`):Cf,ye=fe.members.length>0?fe.members.map(xe=>AE(xe,h,Re)):Ef,Se=fe.methods.length>0?fe.methods.map(xe=>AE(xe,h,Re)):Ef,Ne=we.width,Ge=0;for(let xe of $e)Ne=Math.max(Ne,typeof xe=="string"?h.width(xe,c,0):xe.width),Ge+=typeof xe=="string"?f:Math.max(f,xe.height);for(let xe of ye)Ne=Math.max(Ne,xe.width);for(let xe of Se)Ne=Math.max(Ne,xe.width);let Fe=!(n&&ye.length===0&&Se.length===0),z=xe=>Fe?xe>0?2*gE+xe*Pe:k_:0,ge=2*wf+Ge+Math.max(we.height,Math.round(Ie*1.5)),ae=z(ye.length);return{node:le,style:Ae,label:we,w:Math.max(Ne+2*cA,$_),h:ge+ae+z(Se.length),loops:0,annotations:$e,attributes:ye,methods:Se,titleH:ge,attributesH:ae,fontSize:Ie}}let X=[],P=[],F=[],I=[],$=[],w=new Float64Array(H.length*4),A=(le,fe,Ae)=>{w[le*4+fe]++,Ae>w[le*4+fe+1]&&(w[le*4+fe+1]=Ae)};for(let le of o.edges){if(le.source<0||le.target<0)continue;let fe=We(le.label,!0,h,u,200),Ae=m(le.startLabelRight),Ie=m(le.endLabelLeft);le.source===le.target?(H[le.source].loops++,U[le.source].w+=2*(pE+(fe.width>0?fe.width+12:0))):(A(le.source,0,Ae),A(le.target,2,Ie)),I.push(Ae),$.push(Ie),P.push(le),F.push(fe),X.push({src:le.source,dst:le.target,minlen:1,labelW:fe.width>0?fe.width+12:0,labelH:fe.height>0?fe.height+4:0,route:[],labelX:0,labelY:0})}if(x==="TB"||x==="BT")for(let le=0;le<H.length;le++){if(!H[le].node.classNode)continue;let fe=0;for(let Ae=0;Ae<4;Ae+=2){let Ie=w[le*4+Ae],Re=w[le*4+Ae+1];Ie>1&&(fe=Math.max(fe,(Ie-1)*(Re>0?Re+24:14)+24))}fe=Math.min(fe,480),fe>H[le].w&&(U[le].w+=fe-H[le].w,H[le].w=fe)}let v=!1;for(let le=0;le<P.length&&!v;le++)v=I[le]>0||$[le]>0;let b=0;if(x==="TB"||x==="BT"){let le=fe=>fe?Math.max(f,p(fe,c)?.height??0):0;for(let fe of P)b=Math.max(b,le(fe.startLabelRight)+le(fe.endLabelLeft)-2*f)}let T=Na(U,X,x,{nodeSep:mE(s,"nodeSpacing",M_),edgeSep:v_,rankSep:mE(s,"rankSpacing",v?fE+16:fE)+b,portSep:20,apart:!0}),M=new Map,E=[],Y=(le,fe,Ae,Ie,Re)=>{let Pe=le.route,ue=U[Ae],we=fi(Pe,fe,ue);if(we<0)return;let $e=(ue.w-H[Ae].w)/2;we===1?Pe[fe]-=$e:we===3&&(Pe[fe]+=$e);let ye=we&1,Se=Pe[(fe===0?3:fe-3)+ye],Ne=Se-Pe[fe+ye],Ge={route:Pe,at:fe,toward:Se,order:Re,room:Ie,side:we,after:ye?Ne>0:Ne>=0},Fe=Ae*4+we,z=M.get(Fe);return z?z.push(Ge):M.set(Fe,[Ge]),Ge},G=[],K=[];for(let le=0;le<X.length;le++){let fe=X[le],Ae=fe.src!==fe.dst&&fe.route.length>=6;G.push(Ae?Y(fe,0,fe.src,I[le],le):void 0),K.push(Ae?Y(fe,fe.route.length-3,fe.dst,$[le],le):void 0)}let L=(le,fe,Ae)=>{for(let Ie=U[le].parent,Re=0;Ie>=0&&Re<1e4;Ie=U[Ie].parent,Re++){let Pe=U[Ie],ue=Math.abs(fe-Pe.x),we=Math.abs(Ae-Pe.y);if(Math.abs(we-Pe.h/2)<.5&&ue<=Pe.w/2+.5||Math.abs(ue-Pe.w/2)<.5&&we<=Pe.h/2+.5)return!0}return!1},_=[];for(let[le,fe]of M){if(fe.length<2)continue;let Ae=le>>2,Ie=le&1,Re=Ie?H[Ae].h:H[Ae].w;fe.sort(($e,ye)=>$e.toward-ye.toward||$e.order-ye.order);let Pe=0;for(let $e=0;$e+1<fe.length;$e++){let ye=fe[$e],Se=fe[$e+1],Ne=Ie?20:24;ye.room>0&&ye.after&&(Ne+=Ie?f+6:ye.room),Se.room>0&&!Se.after&&(Ne+=Ie?f+6:Se.room),_[$e]=Ne,Pe+=Ne}let ue=Math.min(1,(Re-24)/Pe);if(ue<=0)continue;let we=(Ie?U[Ae].y:U[Ae].x)-Pe*ue/2;for(let $e=0;$e<fe.length;$e++){let{route:ye,at:Se}=fe[$e],Ne=Se===0?3:-3,Ge=Se+Ne,Fe=-1;for(let z=Ge;z>=0&&z<ye.length&&Math.abs(ye[z+Ie]-ye[Ge+Ie])<.5;z+=Ne)if(L(Ae,ye[z],ye[z+1])){Fe=z;break}if(Fe>=0&&Math.abs(ye[Ge+Ie]-we)<=24)for(let z=Ge;z!==Fe+Ne;z+=Ne)ye[z+Ie]=we;ye[Se+Ie]=we,we+=_[$e]*ue}}let B=(le,fe,Ae,Ie)=>{if(fe===void 0||Ae<=0)return;let Re=fe.side&1,Pe=Ie?0:le.length-3,ue=Pe+1-Re,we=Math.abs(le[(Ie?3:Pe-3)+1-Re]-le[ue]),$e=Math.min(Re?Ae+10:f+6,we*.35);if($e<4)return;let ye=[le[Pe],le[Pe+1],le[Pe+2]];ye[1-Re]+=(fe.side===0||fe.side===3?-1:1)*$e,le.splice(Ie?3:Pe,0,ye[0],ye[1],ye[2])};for(let le=0;le<X.length;le++)B(X[le].route,G[le],I[le],!0),B(X[le].route,K[le],$[le],!1);let q=0,Q=0,Z=T.width,J=T.height,W=(le,fe,Ae,Ie,Re,Pe)=>{if(!le)return;let ue=p(le,c),we=ue?Math.max(f,ue.height):f,$e=Ae,ye=Ie;Re&1?($e+=(Re===3?-1:1)*(5+fe/2),ye+=(Pe?1:-1)*(7+we/2)):($e+=(Pe?1:-1)*(9+fe/2),ye+=(Re===0?-1:1)*(3+we/2)),E.push({text:Dt(le),math:ue,x:$e,y:ye}),q=Math.min(q,$e-fe/2),Z=Math.max(Z,$e+fe/2),Q=Math.min(Q,ye-we/2),J=Math.max(J,ye+we/2)},V=new Map,re=new Int32Array(X.length);for(let le=0;le<X.length;le++){let fe=X[le],Ae=P[le],Ie=fe.route;if(fe.src===fe.dst){let Re=V.get(fe.src)??0;V.set(fe.src,Re+1),re[le]=Re;let Pe=U[fe.src],ue=H[fe.src],we=Pe.x+ue.w/2,$e=Math.min(ue.h/2-4,8+Re*6);W(Ae.startLabelRight,I[le],we,Pe.y-$e,1,!1),W(Ae.endLabelLeft,$[le],we,Pe.y+$e,1,!0)}else if(Ie.length>=6){let Re=Ie.length-3,Pe=G[le],ue=K[le];W(Ae.startLabelRight,I[le],Ie[0],Ie[1],Pe?Pe.side:2,Pe?Pe.after:!0),W(Ae.endLabelLeft,$[le],Ie[Re],Ie[Re+1],ue?ue.side:0,ue?ue.after:!0)}}let ne=g-q,ce=g-Q,ie=Math.ceil(Z-q+2*g),se=Math.ceil(J-Q+2*g),ee=[],te=new Map;if(o.nodes.length>0&&o.nodes[0].isGroup)for(let le of X)_i(te,le.route);let he="",me="",oe="";for(let le=0;le<H.length;le++){let fe=H[le],Ae=U[le],Ie=fe.node,Re=Ae.x+ne,Pe=Ae.y+ce,ue=Oe(Ie.id),we=Ae.isGroup?Ae.w:fe.w,$e=Ae.isGroup?Ae.h:fe.h;if(Ie.isGroup){let Se=Ae.isGroup?pn(Ae,fe.label.width,te,ho):Ae.x,Ne=Pe-$e/2+8+fe.label.height/2,Ge=' class="pele-cluster-label" fill="var(--_m)"',Fe=Ae.isGroup&&G0(Ae,fe.label.width,Se,te);Fe&&(me+=U0(fe.label,Se+ne,Ne,Ge,ue,o.nodes,le)),he+=`<g class="pele-cluster pele-namespace" data-id="${ue}"><rect x="${d(Re-we/2)}" y="${d(Pe-$e/2)}" width="${d(we)}" height="${d($e)}" fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${ct}/>`+(Fe?"":De(fe.label,Se+ne,Ne,Ge))+"</g>";continue}let ye=` transform="translate(${d(Re)},${d(Pe)})"`;if(Ie.classNode)oe+=be(fe,Ie.classNode,ue,ye);else if(Ie.shape==="note"){let Se=we/2,Ne=-$e/2;oe+=`<g class="pele-node pele-note" data-id="${ue}"${ye}><path d="M${d(-Se)},${d(Ne)}H${d(Se-Sf)}L${d(Se)},${d(Ne+Sf)}V${d(-Ne)}H${d(-Se)}Z" fill="var(--_a)" stroke="var(--_b)" stroke-linejoin="round"/><path d="M${d(Se-Sf)},${d(Ne)}V${d(Ne+Sf)}H${d(Se)}" fill="none" stroke="var(--_b)" stroke-linejoin="round"/>`+De(fe.label,0,0,` class="pele-label" font-size="${u}"`,r.icons)+"</g>"}else oe+=`<g class="pele-node pele-interface" data-id="${ue}"${ye}>`+De(fe.label,0,0,` class="pele-label" font-size="${u}"`,r.icons)+"</g>"}function be(le,fe,Ae,Ie){let{w:Re,h:Pe,style:ue}=le,we=-Re/2,$e=-Pe/2,ye=Math.round(le.fontSize*.875),Se=Math.round(ye*1.5),Ne=`<rect x="${d(we)}" y="${d($e)}" width="${d(Re)}" height="${d(Pe)}" fill="var(--_s)" stroke="var(--_b)"${bt(ue.shape)}/>`,Ge=$e+le.titleH,Fe=Ge+le.attributesH;if(Pe>le.titleH){let xe=ue.stroke?` style="stroke:${Je(ue.stroke)}"`:"";Ne+=`<path class="pele-divider" d="M${d(we)},${d(Ge)}H${d(-we)}M${d(we)},${d(Fe)}H${d(-we)}" fill="none" stroke="var(--_b)"${xe}/>`}let z=$e+wf;for(let xe of le.annotations)if(typeof xe=="string")Ne+=`<text class="pele-annotation" x="0" y="${d(z+f/2+c*.35)}" text-anchor="middle" font-size="${c}" fill="var(--_m)">${Je(xe)}</text>`,z+=f;else{let Ce=Math.max(f,xe.height);Ne+=De(xe,0,z+Ce/2,` class="pele-annotation" font-size="${c}" fill="var(--_m)"`,r.icons),z+=Ce}let ge=le.fontSize===l?"":` font-size="${d(le.fontSize)}"`;Ne+=De(le.label,0,(z+Ge-wf)/2,` class="pele-label"${ge} font-weight="var(--_hw)"${ue.text}`,r.icons);let ae=(xe,Ce,ke)=>{let _e="",Te=ke+gE+Se/2+ye*.35;for(let Ue of xe){let Me=Ue.classifier==="$"?` pele-static"${ue.text?ue.text.slice(0,-1)+'text-decoration:underline"':' style="text-decoration:underline"'}`:Ue.classifier==="*"?` pele-abstract" font-style="italic"${ue.text}`:`"${ue.text}`;_e+=`<text class="pele-member pele-${Ce}${Me} x="${d(we+cA)}" y="${d(Te)}">${Je(Ue.text)}</text>`,Te+=Se}return _e};return(le.attributes.length>0||le.methods.length>0)&&(Ne+=`<g class="pele-members" font-size="${ye}">${ae(le.attributes,"attribute",Ge)}${ae(le.methods,"method",Fe)}</g>`),fe.tooltip&&(Ne=`<title>${Oe(fe.tooltip)}</title>`+Ne),fe.link&&(Ne=di(Ne,fe.link,fe.id,ee,r,fe.linkTarget&&T_.has(fe.linkTarget)?` target="${fe.linkTarget}"`:"")),`<g class="pele-node pele-class${Wt(fe.cssClasses.replace(/^default\s?/,""))}" data-id="${Ae}"${Ie}>${Ne}</g>`}let de="",pe="";for(let le=0;le<X.length;le++){let fe=X[le],Ae=P[le],Ie=F[le],Re=Ae.arrowTypeStart,Pe=Ae.arrowTypeEnd,ue=hE(Re),we=hE(Pe),$e;if(fe.src===fe.dst){let Se=U[fe.src],Ne=H[fe.src],Ge=re[le],Fe=Se.x+ne+Ne.w/2,z=Se.y+ce,ge=Math.min(Ne.h/2-4,8+Ge*6),ae=pE+Ge*8;$e={d:`M${d(Fe+ue)},${d(z-ge)}C${d(Fe+ae+ue)},${d(z-ge)} ${d(Fe+ae+we)},${d(z+ge)} ${d(Fe+we)},${d(z+ge)}`,sx:Fe,sy:z-ge,sdx:-1,sdy:0,ex:Fe,ey:z+ge,edx:-1,edy:0},fe.labelX=Se.x+Ne.w/2+ae+4+fe.labelW/2,fe.labelY=Se.y}else{let Se=fe.route;for(let Ne=0;Ne<Se.length;Ne+=3)Se[Ne]+=ne,Se[Ne+1]+=ce;$e=ya(Se,void 0,ue,we)}let ye=Ae.pattern==="dashed"?' stroke-dasharray="6 4"':Ae.pattern==="dotted"?' stroke-dasharray="2 4"':"";if(de+=`<g class="pele-edge${Ae.pattern==="dotted"?" pele-note-edge":" pele-relation"}" data-id="${Oe(Ae.id)}"><path d="${$e.d}"${ye}/>`+dE(Re,$e.sx,$e.sy,$e.sdx,$e.sdy,hA)+dE(Pe,$e.ex,$e.ey,$e.edx,$e.edy,hA)+"</g>",Ie.width>0){let Se=fe.labelX+ne,Ne=fe.labelY+ce;pe+=qr(Ae.id,Ie,Se,Ne,"",r.icons)}}let Ee="";for(let le of E)Ee+=le.math?De(le.math,le.x+ne,le.y+ce,' class="pele-cardinality"',r.icons):`<text class="pele-cardinality" x="${d(le.x+ne)}" y="${d(le.y+ce+c*.35)}" text-anchor="middle">${Je(le.text)}</text>`;let ve=Z0(e.title,h,l,g,ie,se,(he?`<g class="pele-clusters">${he}</g>`:"")+(de?`<g class="pele-edges" fill="none" stroke="${hA}" stroke-linecap="round">${de}</g>`:"")+(me?`<g class="pele-cluster-titles">${me}</g>`:"")+(pe?`<g class="pele-edge-labels" font-size="${u}">${pe}</g>`:"")+(Ee?`<g class="pele-cardinalities" font-size="${c}" fill="var(--_m)">${Ee}</g>`:"")+`<g class="pele-nodes">${oe}</g>`);return{svg:rt("class",ve.width,ve.height,l,r,e,ve.content),width:ve.width,height:ve.height,links:ee}}var oE,g_,Pc,m_,A_,uE,b_,y_,uA,pA,Mf,dA,fo,w_,E_,fA,Hc,Wc,vf,M_,v_,fE,ho,pE,cA,wf,gE,k_,$_,Sf,hA,T_,Ef,Cf,bE,yE=Xe(()=>{Pm();H0();ml();mn();Li();Us();bn();pr();zt();Lr();xt();Mt();oE=class{id="";memberType;visibility="";classifier="";parameters="";returnType="";constructor(e,t){this.memberType=t,(t!=="method"||!this.parseMethod(e))&&this.parseAttribute(e),this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim()}parseMethod(e){let t=e.length;for(let r=0;r<t;){let a=r;for(;a<t&&!eo(e.charCodeAt(a));)a++;let i=a-1;for(;i>r&&e.charCodeAt(i)!==41;)i--;let s=i-1;for(;s>r&&e.charCodeAt(s)!==40;)s--;if(s>r){let o=e[r],n=nE(o)&&s>r+1;n&&(this.visibility=o),this.id=e.slice(n?r+1:r,s),this.parameters=e.slice(s+1,i).trim();let l=i+1,u="";if(l<t){let f=e[l];(f==="$"||f==="*"||f.trim()==="")&&(u=f.trim(),l++)}let c=l;for(;c<t&&!eo(e.charCodeAt(c));)c++;if(this.returnType=e.slice(l,c).trim(),u===""){let f=this.returnType.slice(-1);(f==="$"||f==="*")&&(u=f,this.returnType=this.returnType.slice(0,-1))}return this.classifier=u,!0}r=a+1}return this.memberType="attribute",!1}parseAttribute(e){let t=e.slice(0,1),r=e.slice(-1);nE(t)&&(this.visibility=t),(r==="$"||r==="*")&&(this.classifier=r),this.id=e.substring(this.visibility===""?0:1,this.classifier===""?e.length:e.length-1)}getDisplayDetails(){let e=this.visibility+lo(this.id);return this.memberType==="method"&&(e+=`(${lo(this.parameters.trim())})`,this.returnType&&(e+=" : "+lo(this.returnType))),{displayText:e.trim(),cssStyle:this.parseClassifier()}}parseClassifier(){return this.classifier==="*"?"font-style:italic;":this.classifier==="$"?"text-decoration:underline;":""}},g_={LINE:0,DOTTED_LINE:1},Pc={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},m_="classId-";A_=class{type="class";lineType=g_;relationType=Pc;direction="TB";classes=new Map;relations=[];notes=new Map;namespaces=new Map;interfaces=[];styleClasses=new Map;title;accTitle;accDescr;namespaceStack=[];withCssClass=new Map;addClass(e){let{className:t,type:r}=En(e);if(this.classes.has(t))return;let a={id:t,type:r,label:t,cssClasses:"default",methods:[],members:[],annotations:[],styles:[]};this.classes.set(t,a),this.tag(a,"default")}tag(e,t){let r=this.withCssClass.get(t);r?r.add(e):this.withCssClass.set(t,new Set([e]))}ensure(e){return this.addClass(e),this.classes.get(En(e).className)}setClassLabel(e,t){this.ensure(e).label=t}addRelation(e){let{type1:t,type2:r}=e.relation;t===Pc.LOLLIPOP&&r==="none"?(this.addClass(e.id2),e.id1=this.addInterface(e.id1,e.id2)):r===Pc.LOLLIPOP&&t==="none"?(this.addClass(e.id1),e.id2=this.addInterface(e.id2,e.id1)):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=En(e.id1).className,e.id2=En(e.id2).className,e.relationTitle1=e.relationTitle1.trim(),e.relationTitle2=e.relationTitle2.trim(),this.relations.push(e)}addInterface(e,t){let r=`interface${this.interfaces.length}`;return this.interfaces.push({id:r,label:e,classId:t}),r}addAnnotation(e,t){this.ensure(e).annotations.push(t)}addMember(e,t){let r=this.ensure(e);if(typeof t!="string")return;let a=t.trim();if(a.startsWith("<<")&&a.endsWith(">>"))r.annotations.push(a.substring(2,a.length-2));else if(a.indexOf(")")>0){let i=new oE(a,"method");(i.memberType==="method"?r.methods:r.members).push(i)}else a&&r.members.push(new oE(a,"attribute"))}addMembers(e,t){if(Array.isArray(t)){t.reverse();for(let r of t)this.addMember(e,r)}}addNote(e,t){let r=this.notes.size,a=`note${r}`;return this.notes.set(a,{id:a,class:t,text:e,index:r}),a}cleanupLabel(e){return(e.startsWith(":")?e.substring(1):e).trim()}setCssClass(e,t){for(let r of e.split(",")){let a=this.classes.get(lE(r));if(a!==void 0){a.cssClasses+=" "+t;for(let i of t.split(" "))this.tag(a,i)}}}defineClass(e,t){for(let r of e){let a=this.styleClasses.get(r);if(a===void 0&&(a={id:r,styles:[],textStyles:[]},this.styleClasses.set(r,a)),!t)continue;for(let o of t)o.includes("color")&&a.textStyles.push(o.replace("fill","bgFill")),a.styles.push(o);let i=this.withCssClass.get(r);if(i===void 0)continue;let s=t.flatMap(o=>o.split(","));for(let o of i)for(let n of s)o.styles.push(n)}}setTooltip(e,t){if(t!==void 0)for(let r of e.split(",")){let a=this.classes.get(En(r).className);a&&(a.tooltip=t)}}setLink(e,t,r){let a=Dt(t).trim();for(let i of e.split(",")){let s=this.classes.get(lE(i));s&&(s.link=a?Oi(a):void 0,s.linkTarget=typeof r=="string"?r:"_blank")}this.setCssClass(e,"clickable")}setClickEvent(e,t,r){for(let a of e.split(",")){let i=this.classes.get(En(a).className);i&&(i.haveCallback=!0)}this.setCssClass(e,"clickable")}setDirection(e){this.direction=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
81
+ `)}addNamespace(e,t){let r=this.namespaceStack[this.namespaceStack.length-1],a=r?`${r}.${e}`:e;this.namespaceStack.push(a);let i=this.namespaces.get(a);if(i)return i.explicit=!0,t&&(i.label=t),a;let s=r||void 0,o=r?r.length+1:0;for(;;){let n=a.indexOf(".",o),l=n===-1,u=l?a:a.slice(0,n),c=this.namespaces.get(u);if(c===void 0){let h=a.slice(o,l?a.length:n);c={id:u,label:l&&t?t:h,classes:new Map,notes:new Map,children:new Map,parent:s,explicit:l},this.namespaces.set(u,c)}else l&&(c.explicit=!0);let f=s?this.namespaces.get(s):void 0;if(f&&(f.children.has(u)||f.children.set(u,c),c.parent??=s),l)return a;s=u,o=n+1}}popNamespace(){this.namespaceStack.pop()}addClassesToNamespace(e,t,r){let a=this.namespaces.get(e);if(a!==void 0){for(let i of t){let{className:s}=En(i),o=this.classes.get(s);o!==void 0&&(o.parent=e,a.classes.set(s,o))}for(let i of r){let s=this.notes.get(i);s!==void 0&&(s.parent=e,a.notes.set(i,s))}}}setCssStyle(e,t){let r=this.classes.get(e);if(!(!t||!r))for(let a of t)for(let i of a.split(","))r.styles.push(i)}},uE=["$end","INVALID","CLASS_DIAGRAM","NEWLINE","EOF","SQS","STR","SQE","DOT","GENERICTYPE","LABEL","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","STRUCT_START","STRUCT_STOP","NAMESPACE","STYLE_SEPARATOR","ANNOTATION_START","ANNOTATION_END","CLASS","MEMBER","NOTE_FOR","NOTE","CLASSDEF","ALPHA","COMMA","direction_tb","direction_bt","direction_rl","direction_lr","AGGREGATION","EXTENSION","COMPOSITION","DEPENDENCY","LOLLIPOP","LINE","DOTTED_LINE","CALLBACK","LINK","LINK_TARGET","CLICK","CALLBACK_NAME","CALLBACK_ARGS","HREF","STYLE","CSSCLASS","COLON","BRKT","PCT","MINUS","UNICODE_TEXT","BQUOTE_STR","EDGE_STATE","EOF_IN_STRUCT","OPEN_IN_STRUCT","PLUS","EQUALS","PUNCTUATION"],b_=[4,6,4,9,44,45,12,14,15,4,56,4,56],y_=[/.*direction\s+TB[^\n]*/y,/.*direction\s+BT[^\n]*/y,/.*direction\s+RL[^\n]*/y,/.*direction\s+LR[^\n]*/y],uA=/[\n\r\u2028\u2029]/g;pA=61,Mf=new Uint8Array(pA);for(let e of[53,27,52])Mf[e]=1;dA=new Uint8Array(pA);for(let e of[27,49,50,47,51,10])dA[e]=1;fo=new Uint8Array(pA);fo[33]=1;fo[34]=2;fo[35]=3;fo[36]=4;fo[37]=5;w_="'UNICODE_TEXT', 'NUM', 'ALPHA', 'MINUS', 'BQUOTE_STR'";E_=["aggregation","extension","composition","dependency","lollipop"];fA=12,Hc=16,Wc=6,vf=5;M_=40,v_=16,fE=56,ho=20,pE=26,cA=12,wf=8,gE=6,k_=10,$_=64,Sf=8,hA="var(--_l)",T_=new Set(["_self","_blank","_parent","_top"]);Ef=[],Cf=[];bE={type:"class",math:!0,parse(e,t,r){let a=new A_;return r&&(a.title=r),S_(e,a),a},render:I_}});var xE={};Bt(xE,{classDiagram:()=>bE});var wE=Xe(()=>{yE()});function Vr(e,t,r){for(let a=0;a<r.length;a++){let i=e.charCodeAt(t+a),s=r.charCodeAt(a);if(i!==s&&!(s>=97&&s<=122&&i===s-32))return!1}return!0}var gA=Xe(()=>{});function kf(e,t,r){return new je(`value for ${e} ${t} is invalid, please use a valid ${r}`,"semantic",{type:"quadrantChart"})}function __(e){let t=e.trim(),r=t.indexOf(":");if(r===-1)return[t,"undefined"];let a=t.slice(r+1).trimStart(),i=a.indexOf(":");return[t.slice(0,r).trimEnd(),i===-1?a:a.slice(0,i).trimEnd()]}function EE(e){let t={};for(let r of e){let[a,i]=__(r);if(a==="radius"){if(!D_.test(i))throw kf(a,i,"number");t.radius=parseInt(i)}else if(a==="color"){if(!SE.test(i))throw kf(a,i,"hex code");t.color=i}else if(a==="stroke-color"){if(!SE.test(i))throw kf(a,i,"hex code");t.strokeColor=i}else if(a==="stroke-width"){if(!R_.test(i))throw kf(a,i,"number of pixels (eg. 10px)");t.strokeWidth=i}else throw new je(`style named ${a} is not supported.`,"semantic",{type:"quadrantChart"})}return t}function qs(e){return{text:e.text.trim(),type:e.type}}function O_(e){let t=e.length,r=[],a=[],i=[],s=[],o=0,n=0,l=0,u=0,c=0,f=0,h=0,g=0,p=0,m=0,x=(O,H,U)=>{r.push(O),a.push(e.slice(H,U)),i.push(H),n=U},y=O=>{s.push(o),o=O},C=()=>{s.length>0&&(o=s.pop())},S=O=>{let H=e.indexOf(`
82
+ `,O);return H===-1?t:H},R=O=>{for(;e.charCodeAt(O)===32;)O++;return O},N=O=>{for(;O<t&&Ke(e.charCodeAt(O));)O++;return O},D=O=>{let H=e.charCodeAt(O);if(H===49)return O+1;if(H!==48)return-1;let U=O+1;if(U<t&&!eo(e.charCodeAt(U))&&yt(e.charCodeAt(U+1)))for(U+=2;yt(e.charCodeAt(U));)U++;return U};e:for(;n<t;){let O=e.charCodeAt(n),H=e.charCodeAt(n+1);switch(o){case 0:break;case 1:case 2:case 3:x(mA[o],n,S(n)),C();continue;case 4:if(O===125)n++,C();else{let I=e.indexOf("}",n);x(9,n,I===-1?t:I)}continue;case 5:if(O===34)n++,C();else{let I=e.indexOf('"',n);x(19,n,I===-1?t:I)}continue;case 6:if(O===96&&H===34){n+=2,C();continue}if(O!==96&&O!==34){let I=n+1;for(let $=e.charCodeAt(I);I<t&&$!==96&&$!==34;$=e.charCodeAt(++I));x(18,n,I);continue}break e;case 7:if(tt(O)){let I=n+1;for(;tt(e.charCodeAt(I));)I++;x(20,n,I),C();continue}break e;case 8:{let I=D(n);if(I!==-1){x(22,n,I),y(9);continue}let $=N(n);if(e.charCodeAt($)===93){n=R($+1),C();continue}break e}case 9:{let I=N(n);if(e.charCodeAt(I)===44){n=N(I+1),o=10;continue}break e}case 10:{let I=D(n);if(I!==-1){x(23,n,I),C();continue}break e}}if(O===37&&H===37){n=S(n+2);continue}if(O!==125&&H===37&&e.charCodeAt(n+2)===37){n=S(n+3);continue}if(O===10||O===13){let I=n+1;for(let $=e.charCodeAt(I);$===10||$===13;$=e.charCodeAt(++I));x(2,n,I);continue}let U=O|32;if(U===116&&Vr(e,n,"title")&&!tt(e.charCodeAt(n+5))){x(3,n,n+5),y(1);continue}if(U===97&&Vr(e,n,"acc")){let I=Vr(e,n+3,"descr");if(I||Vr(e,n+3,"title")){let $=N(n+8),w=e.charCodeAt($);if(w===58){x(I?7:5,n,N($+1)),y(I?3:2);continue}if(w===123&&I){n=N($+1),y(4);continue}}}let k=n;O===32&&((n<l||n>=u)&&(l=n,u=R(n)),k=u);let j=e.charCodeAt(k),X=j|32,P=0,F=0;if(X===120&&Vr(e,k,"x-axis"))P=10,F=k+6;else if(X===121&&Vr(e,k,"y-axis"))P=11,F=k+6;else if(j===45){if(k<c||k>=f)for(c=k,f=k;e.charCodeAt(f)===45;)f++;f-k>=2&&e.charCodeAt(f)===62&&(P=12,F=f+1)}else if(X===113&&Vr(e,k,"quadrant")){let I=e.charCodeAt(k+9);e.charCodeAt(k+8)===45&&I>=49&&I<=52?(P=13+I-49,F=k+10):Vr(e,k+8,"chart")&&(P=24,F=k+13)}if(P!==0){x(P,n,R(F));continue}if(U===99&&Vr(e,n,"classdef")&&!tt(e.charCodeAt(n+8))){x(17,n,n+8);continue}if(O===34){H===96?(n+=2,y(6)):(n++,y(5));continue}if(O===58&&H===58&&e.charCodeAt(n+2)===58){n+=3,y(7);continue}if(O===58||Ke(O)){let I=n;if(O!==58&&((n<h||n>=g)&&(h=n,g=N(n)),I=g),e.charCodeAt(I)===58&&((I+1<p||I+1>=m)&&(p=I+1,m=N(I+1)),e.charCodeAt(m)===91)){x(21,n,N(m+1)),y(8);continue}}if(Ws(O)){let I=n+1;for(;Ws(e.charCodeAt(I));)I++;x(25,n,I);continue}if(O>=128){let I=n+1;for(;e.charCodeAt(I)>=128;)I++;x(26,n,I);continue}if(yt(O)){let I=n+1;for(;yt(e.charCodeAt(I));)I++;x(37,n,I);continue}if(bA[O]!==0){x(bA[O],n,n+1);continue}break}return n<t?(r.push(1),a.push(""),i.push(n),{types:r,texts:a,starts:i}):(o<mA.length&&(r.push(mA[o]),a.push(""),i.push(t)),r.push(0),a.push(""),i.push(t),{types:r,texts:a,starts:i})}function $f(...e){let t=new Uint8Array(42);for(let r of e)t[r]=1;return t}function W_(e,t){let{types:r,texts:a,starts:i}=O_(e),s=0,o=f=>{let h=r[s];throw h===1?ut("quadrantChart",e,i[s],"",!0):ut("quadrantChart",e,i[s],`Expecting ${f}, got '${CE[h]}'`)},n=f=>(r[s]!==f&&o(`'${CE[f]}'`),a[s++]),l=f=>f===19||f===18||ME[f]===1,u=()=>{let f=r[s];l(f)||o(F_);let h=a[s++];for(;ME[r[s]]===1||r[s]===38||r[s]===36;)h+=a[s++];return{text:h,type:f===18?"markdown":"text"}},c=()=>{let f=[];for(;;){AA[r[s]]===0&&o("'ALPHA', 'NUM', 'COLON', 'SPACE', 'BRKT', 'MINUS'");let h=a[s++];for(;AA[r[s]]===1;)h+=a[s++];if(f.push(h.trim()),r[s]!==29)return f;s++}};for(;kE[r[s]]===1||r[s]===38;)s++;for(n(24);r[s]!==0;){for(;r[s]===38;)s++;let f=r[s];switch(f){case 17:{s++,n(38),vE[r[s]]===0&&o("'ALPHA', 'NUM', 'UNICODE_TEXT'");let h=a[s++];for(;vE[r[s]]===1;)h+=a[s++];n(38),t.addClass(h,c());break}case 10:case 11:{s++;let h=u(),g;r[s]===12&&(s++,l(r[s])?g=u():h.text+=" \u27F6 "),f===10?(t.setXAxisLeftText(h),g&&t.setXAxisRightText(g)):(t.setYAxisBottomText(h),g&&t.setYAxisTopText(g));break}case 13:case 14:case 15:case 16:s++,t[B_[f-13]](u());break;case 3:s++,t.setDiagramTitle(n(4).trim());break;case 5:s++,t.setAccTitle(n(6).trim());break;case 7:s++,t.setAccDescription(n(8).trim());break;case 9:t.setAccDescription(a[s++].trim());break;default:if(l(f)){let h=u(),g=r[s]===20?a[s++]:"";n(21);let p=n(22),m=n(23);t.addPoint(h,g,p,m,AA[r[s]]===1?c():[])}}kE[r[s]]===0&&o("'NEWLINE', 'SEMI', 'EOF'"),s++}}function yA(e,t){return e.quadrantChart?.[t]}function zs(e,t,r,a){let i=yA(e,t);return typeof i=="number"&&i>=0?Math.min(i,a):r}function TE(e){return e.startsWith("#")?e:"#"+e}function P_(e,t,r){let a=r.fontSize??16,i=Math.round(a*.875),s=Math.round(a*.75),o=r.measurer??at(r.fontFamily),n=Math.round(Math.max(100,zs(t,"chartWidth",500,4e3))),l=Math.round(xn(r,n,280)),u=Math.round(Math.max(100,zs(t,"chartHeight",500,4e3))*l/n),c=zs(t,"quadrantPadding",r.padding??8,200),f=zs(t,"xAxisLabelPadding",5,200),h=zs(t,"yAxisLabelPadding",5,200),g=e.points.length>0,p=(V,re,ne)=>We(V?.text,V?.type==="markdown",o,re,Math.max(ne,40)),m=We(e.title,!1,o,a,Math.max(l-2*c,40),1),x=zs(t,"titlePadding",10,200),y=m.height>0?m.height+x:0,C=!!(e.xAxisLeft?.text||e.xAxisRight?.text),S=!!(e.yAxisBottom?.text||e.yAxisTop?.text),R=g||yA(t,"xAxisPosition")==="bottom",N=yA(t,"yAxisPosition")==="right",D=l-2*c,O=p(e.xAxisLeft,i,e.xAxisRight?D/2-16:D),H=p(e.xAxisRight,i,D/2-16),U=Math.max(O.height,H.height),k=C?U+f:0,j=u-2*c-y-k,X=p(e.yAxisBottom,i,e.yAxisTop?j/2-16:j),P=p(e.yAxisTop,i,j/2-16),F=Math.max(X.height,P.height),I=S?F+h:0,$=c+(N?0:I),w=c+y+(R?0:k),A=Math.max(0,D-I),v=Math.max(0,j),b=Math.max(0,(A-$E)/2),T=Math.max(0,(v-$E)/2),M=[$+b,w,$+A-b,w+v,$,w+T,$+A,w+v-T],E=(V,re,ne,ce,ie)=>{for(let se=V;se<M.length;se+=4)if(re<M[se+2]&&ce>M[se]&&ne<M[se+3]&&ie>M[se+1])return!1;return!0},Y=zs(t,"quadrantTextTopPadding",5,200),G="";for(let V=0;V<4;V++){let re=V===0||V===3?$+A-b:$,ne=V<2?w:w+v-T,ce=p(e.quadrants[V],a,b-16),ie=re+b/2,se=g?ne+Y+ce.height/2:ne+T/2;M.push(ie-ce.width/2,se-ce.height/2,ie+ce.width/2,se+ce.height/2),G+=`<g class="pele-quadrant" data-id="${V+1}"><rect x="${d(re)}" y="${d(ne)}" width="${d(b)}" height="${d(T)}"${ct}/>`+De(ce,ie,se,' class="pele-label" fill="var(--_fg)" stroke="none"')+"</g>"}let K="";if(C){let V=R?w+v+f+U/2:w-f-U/2;K+=De(O,H.height>0?$+A/4:$+O.width/2,V,"")+De(H,$+A*3/4,V,"")}if(S){let V=N?$+A+h+F/2:$-h-F/2,re=(ne,ce)=>ne.height>0?`<g transform="translate(${d(V)},${d(ce)}) rotate(-90)">${De(ne,0,0,"")}</g>`:"";K+=re(X,P.height>0?w+v*3/4:w+v-X.width/2)+re(P,w+v/4)}let L=zs(t,"pointRadius",5,200),_=zs(t,"pointTextPadding",5,200),B=At(0),q=[],Q=[];for(let V of e.points){if(!(V.x>=0&&V.x<=1&&V.y>=0&&V.y<=1))continue;let re=e.classes.get(V.className),ne=Math.min(V.radius??re?.radius??L,2e3),ce=V.color??re?.color,ie=V.strokeColor??re?.strokeColor,se=V.strokeWidth??re?.strokeWidth,ee=[];ce&&ee.push("fill:"+TE(ce)),se&&(ie&&ee.push("stroke:"+TE(ie)),ee.push("stroke-width:"+se));let te=$+V.x*A,he=w+(1-V.y)*v;q.push({cx:te,cy:he,reach:ne+(se?Math.min(parseInt(se),400)/2:0),text:p(V.text,s,200)}),Q.push(`<circle class="pele-point${Wt(V.className)}" data-id="${Oe(V.text.text)}" cx="${d(te)}" cy="${d(he)}" r="${d(ne)}"${se&&!ie?` stroke="${B}"`:""}${Rt(ee).shape}/>`)}let Z=q.length<=H_;if(Z)for(let{cx:V,cy:re,reach:ne}of q)M.push(V-ne,re-ne,V+ne,re+ne);let J="";for(let{cx:V,cy:re,reach:ne,text:ce}of q){let ie=ce.width/2,se=ce.size*.6+(ce.height-ce.lineHeight)/2,ee=ne+_,te=[V,re+ee+se,V,re-ee-se,V+ee+ie,re,V-ee-ie,re],he=V,me=te[1],oe=!1;for(let be=0;be<16;be+=2){let de=be%8,pe=de<4&&ce.width<A?Math.min(Math.max(te[de],$+ie),$+A-ie):te[de],Ee=te[de+1];if(pe-ie<$||pe+ie>$+A||Ee-se<w||Ee+se>w+v)continue;let ve=!Z||E(be<8?0:8,pe-ie,Ee-se,pe+ie,Ee+se);if((!oe||ve)&&(he=pe,me=Ee,oe=!0),ve)break}Z&&M.push(he-ie,me-se,he+ie,me+se),J+=De(ce,he,me,' class="pele-label"')}let W=De(m,l/2,x/2+m.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g class="pele-quadrants" fill="var(--_s)" stroke="var(--_b)">${G}</g>`+(K?`<g class="pele-axis-labels" font-size="${i}" fill="var(--_m)">${K}</g>`:"")+(q.length>0?`<g class="pele-points" fill="${B}">${Q.reverse().join("")}</g><g class="pele-point-labels" font-size="${s}">${J}</g>`:"");return{svg:rt("quadrantChart",l,u,a,r,e,W),width:l,height:u,links:[]}}var D_,SE,R_,L_,CE,mA,bA,ME,vE,AA,kE,B_,F_,$E,H_,IE,NE=Xe(()=>{gA();pr();zt();xt();Mt();D_=/^\d+$/,SE=/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/,R_=/^\d+px$/;L_=class{type="quadrantChart";title;accTitle;accDescr;quadrants=[void 0,void 0,void 0,void 0];xAxisLeft;xAxisRight;yAxisBottom;yAxisTop;points=[];classes=new Map;setQuadrant1Text(e){this.quadrants[0]=qs(e)}setQuadrant2Text(e){this.quadrants[1]=qs(e)}setQuadrant3Text(e){this.quadrants[2]=qs(e)}setQuadrant4Text(e){this.quadrants[3]=qs(e)}setXAxisLeftText(e){this.xAxisLeft=qs(e)}setXAxisRightText(e){this.xAxisRight=qs(e)}setYAxisBottomText(e){this.yAxisBottom=qs(e)}setYAxisTopText(e){this.yAxisTop=qs(e)}addPoint(e,t,r,a,i){this.points.push({x:Number(r),y:Number(a),text:qs(e),className:t,...EE(i)})}addClass(e,t){this.classes.set(e,EE(t))}setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
83
+ `)}},CE=["$end","INVALID","NEWLINE","title","title_value","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","X-AXIS","Y-AXIS","AXIS-TEXT-DELIMITER","QUADRANT_1","QUADRANT_2","QUADRANT_3","QUADRANT_4","CLASSDEF","MD_STR","STR","class_name","point_start","point_x","point_y","QUADRANT","ALPHA","UNICODE_TEXT","COLON","PLUS","COMMA","EQUALS","MULT","BRKT","UNDERSCORE","DOT","AMP","MINUS","NUM","SPACE","SEMI","PUNCTUATION","EOF"],mA=[41,4,6,8,9,19],bA=new Uint8Array(128);for(let[e,t]of[[":",27],["+",28],[",",29],["=",30],["*",31],["#",32],["_",33],[".",34],["&",35],["-",36],[" \v\f",38],[";",39],["!$%'`?\\/",40]])for(let r=0;r<e.length;r++)bA[e.charCodeAt(r)]=t;ME=$f(40,35,37,25,29,28,30,31,34,32,33,26),vE=$f(25,37,36,29,27,35,32,31,26),AA=$f(25,37,27,38,32,36),kE=$f(2,39,41),B_=["setQuadrant1Text","setQuadrant2Text","setQuadrant3Text","setQuadrant4Text"],F_="'STR', 'MD_STR', 'ALPHA', 'NUM', 'UNICODE_TEXT', 'PUNCTUATION'";$E=4,H_=300;IE={type:"quadrantChart",parse(e,t,r){let a=new L_;return a.title=r,W_(e,a),a},render:P_}});var DE={};Bt(DE,{quadrantChart:()=>IE});var RE=Xe(()=>{NE()});function U_(e){let t=e.length,r=[],a=[],i=[],s=[],o=0,n=0,l=(m,x,y)=>{r.push(m),a.push(e.slice(x,y)),i.push(x),n=y},u=m=>{s.push(o),o=m},c=()=>{s.length>0&&(o=s.pop())},f=m=>{let x=e.indexOf(`
84
+ `,m);return x===-1?t:x},h=m=>{for(;m<t&&Ke(e.charCodeAt(m));)m++;return m},g=m=>{for(;yt(e.charCodeAt(m));)m++;return m},p=m=>Vr(e,n,m)&&!tt(e.charCodeAt(n+m.length));for(;n<t;){let m=e.charCodeAt(n);if(o===5){if(m===34)n++,c();else{let y=e.indexOf('"',n);l(19,n,y===-1?t:y)}continue}if(o===6||o===7){l(LE[o],n,f(n)),c();continue}if(o===8){if(m===125)n++,c();else{let y=e.indexOf("}",n);l(8,n,y===-1?t:y)}continue}let x=e.charCodeAt(n+1);if(m===37&&x===37){n=f(n+2);continue}if(m!==125&&x===37&&e.charCodeAt(n+2)===37){n=f(n+3);continue}if(m===10||m===13){if((o===1||o===3)&&(m===10||x===10)){l(2,n,m===10?n+1:n+2),c();continue}let y=n+1;for(let C=e.charCodeAt(y);C===10||C===13;C=e.charCodeAt(++y));l(2,n,y);continue}switch(m|32){case 116:if(p("title")){l(3,n,n+5);continue}break;case 97:if(Vr(e,n,"acc")){let y=Vr(e,n+3,"descr");if(y||Vr(e,n+3,"title")){let C=h(n+8),S=e.charCodeAt(C);if(S===58){l(y?6:4,n,h(C+1)),u(y?7:6);continue}if(S===123&&y){n=h(C+1),u(8);continue}}}break;case 120:if(p("xychart-beta")){l(9,n,n+12);continue}if(p("xychart")){l(9,n,n+7);continue}if(p("x-axis")){l(11,n,n+6),u(1);continue}break;case 121:if(p("y-axis")){l(12,n,n+6),u(1);continue}break;case 118:if(Vr(e,n,"vertical")){l(10,n,n+8);continue}break;case 104:if(Vr(e,n,"horizontal")){l(10,n,n+10);continue}break;case 108:if(p("line")){l(14,n,n+4),u(3);continue}break;case 98:if(p("bar")){l(15,n,n+3),u(3);continue}break}if(m===91){o===1?u(2):o===3&&u(4),l(17,n,n+1);continue}if(m===93){(o===4||o===2)&&c(),l(18,n,n+1);continue}if(o===1&&m===45&&x===45&&e.charCodeAt(n+2)===62){l(13,n,n+3);continue}if(o===1||o===4){let y=m===43||m===45?n+1:n,C=e.charCodeAt(y),S=-1;if(yt(C)?(S=g(y+1),e.charCodeAt(S)===46&&yt(e.charCodeAt(S+1))&&(S=g(S+2))):C===46&&yt(e.charCodeAt(y+1))&&(S=g(y+2)),S!==-1){l(16,n,S);continue}}if(m===96&&Vr(e,n,OE)){n+=OE.length,c();continue}if(m===34){n++,u(5);continue}if(Ws(m)){let y=n+1;for(;Ws(e.charCodeAt(y));)y++;l(20,n,y);continue}if(yt(m)){l(31,n,g(n+1));continue}if(Ke(m)){n=h(n+1);continue}if(m<128&&wA[m]!==0){l(wA[m],n,n+1);continue}break}return n<t?(r.push(1),a.push(""),i.push(n),{types:r,texts:a,starts:i}):(r.push(LE[o]),a.push(""),i.push(t),r.push(0),a.push(""),i.push(t),{types:r,texts:a,starts:i})}function qE(...e){let t=new Uint8Array(34);for(let r of e)t[r]=1;return t}function Y_(e,t){let{types:r,texts:a,starts:i}=U_(e),s=0,o=h=>{let g=r[s];throw g===1?ut("xychart",e,i[s],"",!0):ut("xychart",e,i[s],`Expecting ${h}, got '${_E[g]}'`)},n=h=>(r[s]!==h&&o(`'${_E[h]}'`),a[s++]),l=h=>h===19||BE[h]===1,u=()=>{l(r[s])||o("'STR', 'ALPHA', 'NUM'");let h=a[s++];if(r[s-1]!==19)for(;BE[r[s]]===1;)h+=a[s++];return{text:h,type:"text"}},c=()=>{let h=Number(n(16));return n(13),[h,Number(n(16))]},f=()=>{let h=[];for(n(17);;){let g=Number(n(16));if(h.push({value:g,label:r[s]===19?a[s++]:""}),r[s]!==23)break;s++}return n(18),h};for(;;)if(FE[r[s]]===1)s++;else{if(r[s]!==9)break;r[++s]===10&&t.setOrientation(a[s++])}for(;r[s]!==0;){let h=r[s++];switch(h){case 3:t.setDiagramTitle(u().text.trim());break;case 11:case 12:{let g=l(r[s])?u():void 0;if(h===11&&r[s]===17){let p=[];do s++,p.push(u());while(r[s]===23);n(18),t.setXAxisBand(p)}else if(r[s]===16||g===void 0){let[p,m]=c();h===11?t.setXAxisRangeData(p,m):t.setYAxisRangeData(p,m)}h===11?t.setXAxisTitle(g??{type:"text",text:""}):t.setYAxisTitle(g??{type:"text",text:""});break}case 14:case 15:{let g=r[s]===17?{text:"",type:"text"}:u(),p=f();h===14?t.setLineData(g,p):t.setBarData(g,p);break}case 4:t.setAccTitle(n(5).trim());break;case 6:t.setAccDescription(n(7).trim());break;case 8:t.setAccDescription(a[s-1].trim());break;default:s--,o("'title', 'X_AXIS', 'Y_AXIS', 'LINE', 'BAR', 'acc_title', 'acc_descr', 'acc_descr_multiline_value'")}for(;FE[r[s]]===1;)s++}}function WE(e,t){let r=e/Math.max(t,1),a=Math.floor(Math.log10(r)),i=r/10**a,s=i>=7.07?10:i>=3.16?5:i>=1.41?2:1;return a<0?-(10**-a)/s:s*10**a}function If(e,t){return e>0?t/e:t*-e}function Gc(e,t){return e>0?t*e:t/-e}function HE(e,t,r){let a=Math.round(If(r,e));Gc(r,a)<e&&a++;let i=Math.round(If(r,t));Gc(r,i)>t&&i--;let s=[];for(let o=a;o<=i&&s.length<100;o++)s.push(Gc(r,o));return s}function xA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function gi(e,t,r=!0){let a=e[t];return typeof a=="boolean"?a:r}function KE(e,t){return typeof e=="number"&&e>0?Math.round(Math.min(Math.max(e,100),4e3)):t}function Cn(e){return typeof e=="number"&&isFinite(e)?Math.min(Math.max(e,-YE),YE):void 0}function K_(e){let t=0;for(let r of e)t=Math.max(t,r.label.width);return t}function Tf(e,t,r,a){let i=e.lines.length===1?e.lines[0]:void 0;return i&&i.length===1&&i[0].icon===void 0&&i[0].style===0?`<text x="${d(t)}" y="${d(r+e.size*.35)}" text-anchor="${a}">${Je(i[0].text)}</text>`:De(e,t+(a==="start"?e.width/2:a==="end"?-e.width/2:0),r,"")}function q_(e,t,r){if(e.plots.length===0)throw new je("No Plot to render, please provide a plot with some data","semantic",{type:"xychart"});let a=xA(t.xyChart),i=r.fontSize??16,s=Math.round(i*.875),o=Math.round(i*.75),n=r.measurer??at(r.fontFamily),l=r.padding??8,u=KE(a.width,700),c=xn(r,u,240),f=Math.round(KE(a.height,500)*Math.max(.6,c/u)),h=(e.orientation??a.chartOrientation)==="horizontal",g=gi(a,"showDataLabel",!1),p=e.xAxis,m=e.plots,x=(Me,qe,Ve)=>We(Me,!1,n,qe,Ve),y=x("0",s,4e3).height,C=x("0",o,4e3).height,S=We(gi(a,"showTitle")?e.title:void 0,!1,n,i,c-2*l,1),R=S.height>0?S.height+12:0,N=[],D=0;gi(a,"showLegend")&&m.forEach((Me,qe)=>{if(Me.title==="")return;let Ve=x(Me.title,s,c*.3);N.push({index:qe,label:Ve}),D=Math.max(D,Ve.width+Tl+8)});let O=N.length>0?D+UE:0,H=m.filter(Me=>Me.type==="bar").length,U=e.yAxis.min,k=e.yAxis.max,j=e.hasSetYAxis&&isFinite(U)&&isFinite(k)&&U!==k;if(j)U=Cn(U),k=Cn(k);else{U=1/0,k=-1/0;for(let Me of m)for(let[,qe]of Me.data){let Ve=Cn(qe);Ve!==void 0&&(Ve<U&&(U=Ve),Ve>k&&(k=Ve))}U>k&&(U=k=0),H>0&&(U=Math.min(U,0),k=Math.max(k,0)),U===k&&(U===0?k=1:(U-=Math.abs(U)/2,k+=Math.abs(k)/2))}let X=(Me,qe)=>{let Ve=WE(Math.abs(k-U),Math.max(2,Math.min(10,Math.floor(Me/qe))));return j||(U=Gc(Ve,Math.floor(If(Ve,U)+1e-9)),k=Gc(Ve,Math.ceil(If(Ve,k)-1e-9))),HE(Math.min(U,k),Math.max(U,k),Ve).map(nt=>({at:(nt-U)/(k-U),label:x(String(nt),s,4e3)}))},P=1;if(p.type==="band")P=Math.max(p.categories.length,1);else for(let Me of m)P=Math.max(P,Me.data.length);let F=1/P,I=p.type==="band"||H>0?F/2:0,$=Cn(p.type==="linear"?p.min:void 0),w=Cn(p.type==="linear"?p.max:void 0),A=$!==void 0&&w!==void 0&&$!==w,v=(Me,qe)=>p.type==="band"?(Me+.5)*F:I+(qe>1?Me/(qe-1):A?0:.5)*(1-2*I),b=xA(a.xAxis),T=xA(a.yAxis),M=h?b:T,E=h?T:b,Y=x(gi(M,"showTitle")?h?p.title:e.yAxis.title:void 0,s,f*.8),G=x(gi(E,"showTitle")?h?e.yAxis.title:p.title:void 0,s,c*.8),K=gi(M,"showTick")?PE:0,L=gi(E,"showTick")?PE:0,_=gi(M,"showLabel"),B=gi(E,"showLabel"),q=h?c*.3:Math.max(48,(c-2*l-64-O)*F-8),Q=p.type==="band"&&gi(b,"showLabel")?p.categories.map(Me=>x(Me,s,q)):[],Z=0,J=0;for(let Me of Q)Z=Math.max(Z,Me.width),J=Math.max(J,Me.height);let W=Me=>{let qe=[];if(p.type==="band"){let Ve=Q.length===0?8:h?J:Z+12,nt=Math.max(1,Math.ceil(Ve/(Me*F)));for(let gt=0;gt<p.categories.length;gt+=nt)qe.push({at:(gt+.5)*F,label:Q[gt]??x(void 0,s,0)})}else if(A){let Ve=WE(Math.abs(w-$),Math.max(2,Math.min(10,Math.floor(Me/(h?32:80)))));for(let nt of HE(Math.min($,w),Math.max($,w),Ve))qe.push({at:I+(nt-$)/(w-$)*(1-2*I),label:x(String(nt),s,4e3)})}else $!==void 0&&qe.push({at:.5,label:x(String($),s,4e3)});return qe},V=0,re=0;for(let Me of m){for(let qe of Me.pointLabels??[])V=Math.max(V,n.width(qe,o,0));if(g&&h&&Me.type==="bar")for(let[,qe]of Me.data)re=Math.max(re,n.width(String(Cn(qe)??""),o,0))}let ne=B?h||p.type!=="band"?y:J:0,ce=L+(ne>0?ne+4:0)+(G.height>0?G.height+4:0),ie=h?0:V>0||g?C+4:_?y/2:0,se=l+R+ie,ee=Math.max(1,f-l-ce-se),te=se+ee,he=h?W(ee):X(ee,56),me=_?K_(he):0,oe=l+(Y.height>0?Y.height+6:0)+(me>0?me+6:0)+K,be=Math.max(V>0?V+12:0,re>0?re+8:0),de=h?Math.min(c*.25,be):0,pe=Math.max(1,c-l-oe-O-de),Ee=h?X(pe,80):W(pe);if(B&&O+de===0){let Me=0;for(let qe of Ee)Me=Math.max(Me,qe.at*pe+qe.label.width/2-pe);pe=Math.max(1,pe-Me)}let ve=oe+pe,le=(Me,qe)=>h?oe+qe*pe:oe+Me*pe,fe=(Me,qe)=>h?se+Me*ee:te-qe*ee,Ae=Me=>(Me-U)/(k-U),Ie=Me=>Math.min(Math.max(Me,0),1),Re=Me=>h?`M${d(le(0,Me))},${d(se)}V${d(te)}`:`M${d(oe)},${d(fe(0,Me))}H${d(ve)}`,Pe="";for(let Me of h?Ee:he)Pe+=Re(Me.at);let ue="",we="";gi(M,"showAxisLine")&&(ue+=`M${d(oe)},${d(se)}V${d(te)}`),gi(E,"showAxisLine")&&(ue+=`M${d(oe)},${d(te)}H${d(ve)}`);for(let Me of he){let qe=h?se+Me.at*ee:te-Me.at*ee;K&&(ue+=`M${d(oe)},${d(qe)}h${-K}`),_&&(we+=Tf(Me.label,oe-K-6,qe,"end"))}for(let Me of Ee){let qe=oe+Me.at*pe;L&&(ue+=`M${d(qe)},${d(te)}v${L}`),B&&(we+=Tf(Me.label,qe,te+L+4+Me.label.height/2,"middle"))}let $e=(h?ee:pe)*F,ye=$e*.7/Math.max(H,1),Se=H>1?Math.min(2,ye*.2):0,Ne=Ie(Ae(0));H>0&&Ne>0&&Ne<1&&(ue+=Re(Ne));let Ge="",Fe="",z="",ge="",ae=0;m.forEach((Me,qe)=>{let Ve=At(qe),nt=Me.title?` data-id="${Oe(Me.title)}"`:"",gt=p.type==="band"?Math.min(Me.data.length,P):Me.data.length;if(Me.type==="bar"){let $t=(ae++-(H-1)/2)*ye-(ye-Se)/2,Qt="";for(let Ye=0;Ye<gt;Ye++){let mt=Cn(Me.data[Ye][1]);if(mt===void 0)continue;let Et=v(Ye,gt),ft=Ie(Ae(mt)),dr=Math.min(Ne,ft),_t=Math.max(Ne,ft),et=h?le(Et,dr):le(Et,0)+$t,Ct=h?fe(Et,0)+$t:fe(Et,_t),Ut=h?(_t-dr)*pe:ye-Se,Pt=h?ye-Se:(_t-dr)*ee;if(Qt+=`<rect x="${d(et)}" y="${d(Ct)}" width="${d(Ut)}" height="${d(Pt)}"/>`,!g)continue;let xr=String(mt),Ga=n.width(xr,o,0),yi=ft>=Ne?1:-1,au=et+Ut/2,iu=Ct+Pt/2,su="middle";if(h){if(Pt<o)continue;au=(yi>0?et+Ut:et)+yi*6,su=yi>0?"start":"end"}else{if(Ga+2>$e/H)continue;iu=(yi>0?Ct:Ct+Pt)-yi*(C/2+2)}z+=`<text x="${d(au)}" y="${d(iu+o*.35)}" text-anchor="${su}">${xr}</text>`}Ge+=`<g class="pele-series pele-bars"${nt} fill="${Ve}">${Qt}</g>`;return}let it="",dt="",ht=!1,jt=0,Ot=NaN;for(let $t=0;$t<gt;$t++){let Qt=Cn(Me.data[$t][1]);if(Qt===void 0){Ot=NaN;continue}let Ye=v($t,gt),mt=Ae(Qt),Et=mt>=0&&mt<=1;if(Ot!==Ot)Et&&(it+=`M${d(le(Ye,mt))},${d(fe(Ye,mt))}`),ht=Et;else{let et=mt-Ot,Ct=0,Ut=1;if(et!==0){let Pt=-Ot/et,xr=(1-Ot)/et;Ct=Math.max(Ct,Math.min(Pt,xr)),Ut=Math.min(Ut,Math.max(Pt,xr))}else Et||(Ct=2);if(Ct<=Ut){let Pt=jt+(Ye-jt)*Ct,xr=Ot+et*Ct,Ga=jt+(Ye-jt)*Ut,yi=Ot+et*Ut;(!ht||Ct>0)&&(it+=`M${d(le(Pt,xr))},${d(fe(Pt,xr))}`),it+=`L${d(le(Ga,yi))},${d(fe(Ga,yi))}`}ht=Et}if(jt=Ye,Ot=mt,!Et)continue;let ft=le(Ye,mt),dr=fe(Ye,mt);$e>=12&&(dt+=`<circle cx="${d(ft)}" cy="${d(dr)}" r="3"/>`);let _t=x(Me.pointLabels?.[$t],o,4e3);if(_t.height>0){let et=_t.width/2;ge+=h?Tf(_t,ft+10,dr,"start"):Tf(_t,Math.max(Math.min(ft,ve-et),oe+et),dr-6-_t.height/2,"middle")}}Fe+=`<g class="pele-series pele-line"${nt} fill="${Ve}">`+(it?`<path d="${it}" fill="none" stroke="${Ve}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>`:"")+dt+"</g>"});let xe="";Y.height>0&&(xe+=`<g transform="translate(${d(l+Y.height/2)},${d(se+ee/2)}) rotate(-90)">${De(Y,0,0,"")}</g>`),xe+=De(G,oe+pe/2,f-l-G.height/2,"");let Ce="",ke=0;for(let Me of N)ke+=Math.max(GE,Me.label.height+6);let _e=se+Math.max(0,(ee-ke)/2),Te=ve+de+UE;for(let{index:Me,label:qe}of N){let Ve=Math.max(GE,qe.height+6);if(_e+Ve>f)break;let nt=_e+Ve/2,gt=At(Me);Ce+=`<g class="pele-legend-item" data-id="${Oe(m[Me].title)}">`+(m[Me].type==="bar"?`<rect x="${d(Te)}" y="${d(nt-Tl/2)}" width="${Tl}" height="${Tl}" rx="2" fill="${gt}"/>`:`<path d="M${d(Te)},${d(nt)}h${Tl}" stroke="${gt}" stroke-width="2" stroke-linecap="round"/>`)+De(qe,Te+Tl+8+qe.width/2,nt,"")+"</g>",_e+=Ve}let Ue=De(S,c/2,l+S.height/2,' class="pele-title" font-weight="var(--_tw)"')+(Pe?`<path class="pele-grid" d="${Pe}" stroke="var(--_a)"/>`:"")+`<g class="pele-plot">${Ge}${Fe}</g>`+(ue?`<path class="pele-axis" d="${ue}" fill="none" stroke="var(--_b)"/>`:"")+(we?`<g class="pele-axis-labels" font-size="${s}" fill="var(--_m)">${we}</g>`:"")+(xe?`<g class="pele-axis-titles" font-size="${s}">${xe}</g>`:"")+(z?`<g class="pele-data-labels" font-size="${o}">${z}</g>`:"")+(ge?`<g class="pele-point-labels" font-size="${o}">${ge}</g>`:"")+(Ce?`<g class="pele-legend" font-size="${s}">${Ce}</g>`:"");return{svg:rt("xychart",c,f,i,r,e,Ue),width:c,height:f,links:[]}}var G_,_E,LE,OE,wA,BE,FE,PE,Tl,GE,UE,YE,zE,QE=Xe(()=>{gA();pr();zt();xt();Mt();G_=class{type="xychart";title;accTitle;accDescr;orientation;xAxis={type:"band",title:"",categories:[]};yAxis={type:"linear",title:"",min:1/0,max:-1/0};hasSetXAxis=!1;hasSetYAxis=!1;plots=[];setOrientation(e){this.orientation=e==="horizontal"?"horizontal":"vertical"}setXAxisTitle(e){this.xAxis.title=e.text.trim()}setXAxisRangeData(e,t){this.xAxis={type:"linear",title:this.xAxis.title,min:e,max:t},this.hasSetXAxis=!0}setXAxisBand(e){this.xAxis={type:"band",title:this.xAxis.title,categories:e.map(t=>t.text.trim())},this.hasSetXAxis=!0}setYAxisTitle(e){this.yAxis.title=e.text.trim()}setYAxisRangeData(e,t){this.yAxis={type:"linear",title:this.yAxis.title,min:e,max:t},this.hasSetYAxis=!0}plotData(e){if(e.length===0)return[];this.hasSetXAxis||this.setXAxisRangeData(1,e.length);let t=this.xAxis;if(t.type==="band"&&e.length>t.categories.length&&(e=e.slice(0,t.categories.length)),!this.hasSetYAxis){let{min:a,max:i}=this.yAxis;for(let s of e)s<a&&(a=s),s>i&&(i=s);this.yAxis={type:"linear",title:this.yAxis.title,min:a,max:i}}if(t.type==="band")return t.categories.map((a,i)=>[a,e[i]]);if(e.length===1)return[[`${t.min}`,e[0]]];let r=(t.max-t.min)/(e.length-1);return e.map((a,i)=>[`${t.min+i*r}`,a])}addPlot(e,t,r){let a={type:e,title:t.text.trim(),data:this.plotData(r.map(i=>i.value))};e==="line"&&r.some(i=>i.label.trim()!=="")&&(a.pointLabels=r.map(i=>i.label.trim())),this.plots.push(a)}setLineData(e,t){this.addPlot("line",e,t)}setBarData(e,t){this.addPlot("bar",e,t)}setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
85
+ `)}},_E=["$end","INVALID","NEWLINE","title","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","XYCHART","CHART_ORIENTATION","X_AXIS","Y_AXIS","ARROW_DELIMITER","LINE","BAR","NUMBER_WITH_DECIMAL","SQUARE_BRACES_START","SQUARE_BRACES_END","STR","ALPHA","COLON","PLUS","COMMA","EQUALS","MULT","BRKT","UNDERSCORE","DOT","AMP","MINUS","NUM","SEMI","EOF"],LE=[33,33,33,33,33,19,5,7,8],OE="`)"+" ".repeat(36)+'{ this.pushstate(md_string); }\n<md_string>(?:(?!`").)+'+" ".repeat(18)+"{ return md_str; }\n<md_string>(?:`",wA=new Uint8Array(128);for(let[e,t]of[[":",21],["+",22],[",",23],["=",24],["*",25],["#",26],["_",27],[".",28],["&",29],["-",30],[";",32]])wA[e.charCodeAt(0)]=t;BE=qE(29,31,20,22,24,25,28,26,30,27),FE=qE(2,32,33);PE=4,Tl=12,GE=26,UE=24,YE=1e300;zE={type:"xychart",section:"xyChart",parse(e,t,r){let a=new G_;return a.title=r,Y_(e,a),a},render:q_}});var VE={};Bt(VE,{xychart:()=>zE});var jE=Xe(()=>{QE()});function z_(e){let t="TB";for(let r of e)typeof r!="string"&&r.stmt==="dir"&&(t=r.value);return t}function Q_(e,t,r){let a=[],i=[],s=new Map,o=new Map,n=new Map,l=0,u=0,c=g=>{if(!g.id||g.id==="</join></fork>"||g.id==="</choice>")return;if(g.cssClasses){let m;for(let x of g.cssClasses.split(" ")){let y=r.get(x);if(y){m??=g.cssCompiledStyles.slice();for(let C of y.styles)m.push(C)}}m&&(g.cssCompiledStyles=m)}let p=s.get(g.id);if(p){let m=g.parentId??p.parentId;Object.assign(p,g),m!==void 0&&(p.parentId=m)}else s.set(g.id,g),a.push(g)},f=(g,p,m)=>{let x=p.id;if(x==="root")return;let y=t.get(x),C=y?.classes?.join(" ")??"",S=y?.styles??[],R=o.get(x);if(!R){let P="rect";p.start===!0?P="stateStart":p.start===!1&&(P="stateEnd"),p.type!=="default"&&(P=p.type),R={shape:P,description:x,cssClasses:`${C} statediagram-state`,cssStyles:S,type:void 0,dir:void 0,colorIndex:void 0},o.set(x,R)}if(p.description&&(Array.isArray(R.description)?(R.shape="rectWithTitle",R.description=R.description.concat(p.description)):R.description.length>0?(R.shape="rectWithTitle",R.description=R.description===x?[p.description].flat():[R.description,p.description].flat()):(R.shape="rect",R.description=Array.isArray(p.description)?p.description.slice():p.description)),R.description.length===1&&R.shape==="rectWithTitle"&&(R.shape=R.type==="group"?"roundedWithTitle":"rect"),!R.type&&p.doc){if(R.type="group",R.dir=z_(p.doc),R.shape=p.type==="divider"?"divider":"roundedWithTitle",R.shape==="divider"&&g?.id!==void 0&&n.has(g.id))R.colorIndex=n.get(g.id);else{let P=u++;R.colorIndex=C.trim()!==""||S.length>0?void 0:P}n.set(x,R.colorIndex),R.cssClasses=`${R.cssClasses} statediagram-cluster ${m?"statediagram-cluster-alt":""}`}let N=R.description,D={id:x,shape:R.shape,label:Array.isArray(N)?N[0]:N,description:Array.isArray(N)?N.slice(1):[],cssClasses:R.cssClasses,cssCompiledStyles:[],cssStyles:R.cssStyles,type:R.type,isGroup:R.type==="group",dir:R.dir,colorIndex:R.colorIndex};D.shape==="divider"&&(D.label=""),g&&g.id!=="root"&&(D.parentId=g.id);let O=p.note;if(!O){c(D);return}let H=(P,F,I,$)=>({id:P,shape:F,label:O.text,description:[],cssClasses:I,cssCompiledStyles:[],cssStyles:[],type:$?"group":"node",isGroup:$,dir:void 0,position:O.position}),U=H(`${x}----note-${l++}`,"note","statediagram-note",!1);U.parentId=`${x}----parent`,U.noteFor=x,c(H(U.parentId,"noteGroup",R.cssClasses,!0)),c(U),c(D);let k=O.position==="left of",j=k?U.id:x,X=k?x:U.id;i.push({id:`${j}-${X}`,start:j,end:X,label:"",classes:"transition note-edge",pattern:"dashed"})},h=[{item:void 0,doc:e,at:0,alt:!0}];for(;h.length>0;){let g=h[h.length-1];if(g.at>=g.doc.length){h.pop();continue}let p=g.doc[g.at++];typeof p!="string"&&(p.stmt==="state"?(f(g.item,p,g.alt),p.doc&&h.push({item:p,doc:p.doc,at:0,alt:!g.alt})):p.stmt==="relation"&&(f(g.item,p.state1,g.alt),f(g.item,p.state2,g.alt),i.push({id:`edge${l++}`,start:p.state1.id,end:p.state2.id,label:p.description??"",classes:"transition"})))}for(let g of a)if(g.isGroup&&g.description.length>0)throw new je(`Group nodes can only have label. Remove the additional description for node [${g.id}]`,"semantic",{type:"state"});return{nodes:a,edges:i}}function Uc(e,t){let r=0,a=-2;return i=>{if(a===-2||i<r||a!==-1&&i>a){e.lastIndex=i;let s=e.exec(t);a=s?s.index:-1,r=i}return a}}function tL(e){let t=e.length,r=[],a=[],i=[],s=[],o=0,n=0,l,u=Uc(j_,e),c=Uc(X_,e),f=Uc(Z_,e),h=Uc(J_,e),g=Uc(eL,e),p=-1,m=-1,x=[-1,-1,-1,-1],y=[0,0,0,0],C=-1,S=-1,R=[-1,-1,-1,-1,-1,-1],N=(A,v,b)=>{r.push(A),a.push(e.slice(v,b)),i.push(v),n=b},D=(A,v,b,T)=>{r.push(A),a.push(v),i.push(b),n=T},O=A=>{s.push(o),o=A},H=()=>{s.length>0&&(o=s.pop())},U=(A,v)=>{for(let b=0;b<A.length;b++){let T=A.charCodeAt(b),M=e.charCodeAt(v+b);if(M!==T&&!(T>=97&&T<=122&&M===T-32))return!1}return!0},k=A=>{let v=A;for(;v<t&&Ke(e.charCodeAt(v));)v++;return v},j=A=>{let v=A;for(;v<t&&tt(e.charCodeAt(v));)v++;return v},X=A=>{let v=e.indexOf(`
86
+ `,A);return v===-1?t:v},P=A=>{let v=f(A);return v===-1?t:v},F=A=>{if(A<p||A>m){let v=u(A),b=v===-1?t:P(A);p=A,m=b,x[0]=x[1]=x[2]=x[3]=-1;for(let T=v;T!==-1&&T<b;T=u(T+1)){let M=k(T+9);if(M===T+9)continue;let E=U("tb",M)?0:U("bt",M)?1:U("rl",M)?2:U("lr",M)?3:-1;E!==-1&&(x[E]=T,y[E]=M+2)}}for(let v=0;v<4;v++)if(x[v]>=A)return v;return-1},I=A=>{if(A<C||A>S){let v=c(A),b=v===-1?t:P(A);C=A,S=b,R.fill(-1);for(let T=v;T!==-1&&T<b;T=c(T+1)){let M=e.charCodeAt(T+2)|32;R[(e.charCodeAt(T)===60?0:3)+(M===102?0:M===106?1:2)]=T}}for(let v=0;v<6;v++)if(R[v]>=A)return v;return-1},$=(A,v)=>{let b=h(A);return b===-1||b+2>v?(N(14,A,v),!0):b===A?(n=v,!1):(N(14,A,b),!0)},w=A=>(r.push(A),a.push(""),i.push(n),{types:r,texts:a,starts:i,error:l});for(;;){if(n>=t){switch(o){case 0:N(2,t,t);break;case 6:N(22,t,t);break;case 7:N(24,t,t);break;case 8:N(25,t,t);break;case 10:N(32,t,t);break;case 12:N(39,t,t);break;case 14:N(36,t,t);break;case 3:N(12,t,t);break;case 18:N(20,t,t);break;case 4:case 19:N(14,t,t);break}return w(0)}let A=e.charCodeAt(n);switch(o){case 0:case 1:{let v=o===0,b=A|32;if(v){if(b===99&&U("click",n)&&!tt(e.charCodeAt(n+5))){N(26,n,n+5);continue}if(b===104&&U("href",n)&&!tt(e.charCodeAt(n+4))){N(28,n,n+4);continue}if(A===34){let E=e.indexOf('"',n+1);if(E!==-1){N(27,n,E+1);continue}}if(b===100&&U("default",n)&&!tt(e.charCodeAt(n+7))){N(33,n,n+7);continue}let M=F(n);if(M!==-1){N(40+M,n,X(y[M]));continue}if(A===10){let E=n+1;for(;e.charCodeAt(E)===10;)E++;N(2,n,E);continue}if(Ke(A)){n=k(n);continue}}else if(A!==10&&Ke(A)){let M=n+1;for(;M<t&&e.charCodeAt(M)!==10&&Ke(e.charCodeAt(M));)M++;n=M;continue}if(A===35||A===37&&e.charCodeAt(n+1)===37&&e.charCodeAt(n+2)!==123){n=X(n);continue}if(b===115){if(v&&U("scale",n)){let M=k(n+5);if(M>n+5){N(7,n,M),O(5);continue}}if(U("style",n)){let M=k(n+5);if(M>n+5){N(34,n,M),O(13);continue}}if(U("state",n)){let M=k(n+5);if(M>n+5){n=M,O(2);continue}if(v&&U("diagram",n+5)){let E=U("-v2",n+12)?n+15:n+12;if(M=k(E),M>E){N(3,n,M);continue}}}}else if(b===99){if(U("class",n)){let M=U("def",n+5),E=M?n+8:n+5,Y=k(E);if(Y>E){N(M?29:37,n,Y),O(M?9:11);continue}}}else if(b===97&&v&&(U("acctitle",n)||U("accdescr",n))){let M=(e.charCodeAt(n+3)|32)===116,E=k(n+8),Y=e.charCodeAt(E);if(Y===58){N(M?21:23,n,k(E+1)),O(M?6:7);continue}if(Y===123&&!M){n=k(E+1),O(8);continue}}if(v){if(A===123){N(10,n,n+1),O(1);continue}}else{let M=F(n);if(M!==-1){N(40+M,n,X(y[M]));continue}if(A===125){N(11,n,n+1),H();continue}if(A===10){n++;continue}}if(b===110&&U("note",n)){let M=k(n+4);if(M>n+4){N(19,n,M),O(15);continue}}if(v&&b===104&&U("hide empty description",n)&&!tt(e.charCodeAt(n+22))){N(6,n,n+22);continue}if(A===91&&e.charCodeAt(n+1)===42&&e.charCodeAt(n+2)===93){N(44,n,n+3);continue}let T=n;for(;T<t;){let M=e.charCodeAt(T);if(M===58||M===45||M===123||Ke(M))break;T++}if(T>n){$(n,T);continue}if(A===58){for(T=n+1;T<t;){let M=e.charCodeAt(T);if(M===10||M===59)break;if(M===58){let E=e.charCodeAt(T+1);if(T+1>=t||E===58||E===10||E===59)break;T++}T++}if(T>n+1){D(4,e.slice(n,T).trim(),n,T);continue}if(e.charCodeAt(n+1)===58&&e.charCodeAt(n+2)===58){N(45,n,n+3);continue}}else if(A===45&&e.charCodeAt(n+1)===45){if(e.charCodeAt(n+2)===62){N(5,n,n+3);continue}if(!v){N(18,n,n+2);continue}}if(!v)return w(1);N(48,n,n+1);continue}case 2:{if(A!==10&&Ke(A)){let M=n+1;for(;M<t&&e.charCodeAt(M)!==10&&Ke(e.charCodeAt(M));)M++;n=M;continue}if(A===35||A===37&&e.charCodeAt(n+1)===37&&e.charCodeAt(n+2)!==123){n=X(n);continue}let v=I(n);if(v!==-1){let M=R[v],E=v===2||v===5;D(E?17:v%3===0?15:16,e.slice(n,M).trim(),n,M+(E?10:8)),H();continue}if(A===34){n++,O(3);continue}let b=A===10?k(n):n;if(U("as",b)){let M=k(b+2);if(M>b+2){N(13,n,M),O(4);continue}}if(A===10){n++,H();continue}if(A===123){N(10,n,n+1),H(),O(1);continue}if(tt(A)){let M=j(n),E=k(M);if(E>M&&tt(e.charCodeAt(E))){let Y=g(E+1);if(Y!==-1&&Y<P(E))return l=`Error: State name must be a single word. Found: "${e.slice(n,Y+1).trim()}"`,w(1)}}let T=n+1;for(;T<t;){let M=e.charCodeAt(T);if(M===123||Ke(M))break;T++}N(9,n,T);continue}case 3:{if(A===34){n++,H();continue}let v=e.indexOf('"',n);N(12,n,v===-1?t:v);continue}case 4:{let v=n;for(;v<t;){let b=e.charCodeAt(v);if(b===10||b===123)break;v++}$(n,v)&&H();continue}case 5:{if(A>=48&&A<=57){let b=n+1;for(;b<t&&e.charCodeAt(b)>=48&&e.charCodeAt(b)<=57;)b++;N(8,n,b);continue}let v=k(n);if(v>n&&U("width",v)&&!tt(e.charCodeAt(v+5))){n=v+5,H();continue}return w(1)}case 6:N(22,n,X(n)),H();continue;case 7:N(24,n,X(n)),H();continue;case 8:{if(A===125){n++,H();continue}let v=e.indexOf("}",n);N(25,n,v===-1?t:v);continue}case 9:{let v=U("default",n)&&k(n+7)>n+7,b=v?n+7:j(n),T=k(b);if(b===n||T===b)return w(1);N(v?31:30,n,T),H(),O(10);continue}case 10:N(32,n,X(n)),H();continue;case 11:{let v=j(n);if(v===n)return w(1);for(;e.charCodeAt(v)===44;){let b=k(v+1),T=j(b);if(T===b)break;v=T}N(38,n,v),H(),O(12);continue}case 12:N(39,n,X(n)),H();continue;case 13:{let v=n;for(;v<t&&(tt(e.charCodeAt(v))||e.charCodeAt(v)===44);)v++;let b=k(v);if(v===n||b===v)return w(1);N(35,n,b),H(),O(14);continue}case 14:N(36,n,X(n)),H();continue;case 15:{if(U("left of",n)&&!tt(e.charCodeAt(n+7))){N(46,n,n+7),H(),O(16);continue}if(U("right of",n)&&!tt(e.charCodeAt(n+8))){N(47,n,n+8),H(),O(16);continue}if(A===34){n++,H(),O(18);continue}return w(1)}case 16:{let v=k(n),b=v;for(;b<t;){let T=e.charCodeAt(b);if(T===58||T===45||Ke(T))break;b++}if(b===v)return w(1);$(n,b)&&(H(),O(17));continue}case 17:{let v=k(n);if(e.charCodeAt(v)===58){let M=v+1;for(;M<t;){let E=e.charCodeAt(M);if(E===58||E===10||E===59)break;M++}if(M>v+1){D(20,e.slice(n+2,M).trim(),n,M),H();continue}}let b=e.indexOf(`
87
+ `,n),T=-1;for(;b!==-1&&(T=k(b),!(U("end note",T)&&!tt(e.charCodeAt(T+8))));)b=e.indexOf(`
88
+ `,T);if(b===-1)return w(1);D(20,e.slice(n,T).trim(),n,T+8),H();continue}case 18:{let v=k(n);if(U("as",v)){N(13,n,k(v+2)),H(),O(19);continue}if(A===34){n++;continue}let b=e.indexOf('"',n);N(20,n,b===-1?t:b);continue}case 19:$(n,X(n))&&H();continue}}}function aL(e,t){let{types:r,texts:a,starts:i,error:s}=tL(e),o=0,n=p=>{let m=r[o];throw m===1?s!==void 0?new je(s,"syntax",{type:"state",...pc(e,i[o])}):ut("state",e,i[o],"",!0):ut("state",e,i[o],`Expecting ${p}, got '${XE[m]}'`)},l=p=>(r[o]!==p&&n(`'${XE[p]}'`),a[o++]),u=()=>{let p=r[o];p!==14&&p!==44&&n("'ID', 'EDGE_STATE'");let m=a[o++].trim();return r[o]!==45?{stmt:"state",id:m,type:"default",description:""}:(o++,{stmt:"state",id:m,classes:[l(14).trim()],type:"default",description:""})};for(;r[o]===2;)o++;r[o]!==3&&n("'NL', 'SD'"),o++;let c=[],f=[],h=p=>{p!=="nl"&&c.push(p)},g=(p,m)=>{o++;let x=[];c.push({stmt:"state",id:p,type:"default",description:m,doc:x}),f.push(c),c=x};for(;;){let p=r[o];switch(p){case 2:o++;break;case 14:case 44:{let m=u();if(r[o]===4)m.description=t.trimColon(a[o++]),h(m);else if(r[o]===5){o++;let x=u();r[o]===4?h({stmt:"relation",state1:m,state2:x,description:t.trimColon(a[o++])}):h({stmt:"relation",state1:m,state2:x})}else h(m);break}case 6:h(a[o++]);break;case 7:o++,l(8),h(a[o-2]);break;case 9:r[o+1]===10?g(a[o++],""):h(a[o++]);break;case 12:{let m=a[o++];l(13);let x=l(14);if(r[o]===10)g(x,m);else if(x.includes(":")){let y=x.split(":");h({stmt:"state",id:y[0],type:"default",description:[m.trim(),y[1]]})}else h({stmt:"state",id:x,type:"default",description:m.trim()});break}case 15:h({stmt:"state",id:a[o++],type:"fork"});break;case 16:h({stmt:"state",id:a[o++],type:"join"});break;case 17:h({stmt:"state",id:a[o++],type:"choice"});break;case 18:o++,h({stmt:"state",id:t.getDividerId(),type:"divider"});break;case 19:{let m=a[o++];if(r[o]===46||r[o]===47){let x=a[o++].trim(),y=l(14).trim();h({stmt:"state",id:y,note:{position:x,text:l(20).trim()}})}else r[o]!==20&&n("'NOTE_TEXT', 'left_of', 'right_of'"),o++,l(13),l(14),h(m);break}case 40:case 41:case 42:case 43:{let m=rL[p-40];o++,t.setDirection(m),h({stmt:"dir",value:m});break}case 21:{o++;let m=l(22).trim();t.setAccTitle(m),h(m);break}case 23:{o++;let m=l(24).trim();t.setAccDescription(m),h(m);break}case 25:{let m=a[o++].trim();t.setAccDescription(m),h(m);break}case 26:{o++;let m=u(),x,y="";r[o]===28?(o++,x=l(27)):(r[o]!==27&&n("'STRING', 'HREF'"),x=a[o++],y=l(27)),l(2),h({stmt:"click",id:m,url:x,tooltip:y});break}case 29:{o++;let m=l(30).trim();h({stmt:"classDef",id:m,classes:l(32).trim()});break}case 34:{o++;let m=l(35).trim();h({stmt:"style",id:m,styleClass:l(36).trim()});break}case 37:{o++;let m=l(38).trim();h({stmt:"applyClass",id:m,styleClass:l(39).trim()});break}case 11:f.length===0&&n(`'$end', ${Nf}`),o++,c=f.pop();break;case 0:return f.length>0&&n(`'STRUCT_STOP', ${Nf}`),t.setRootDoc(c),c;default:n(f.length>0?`'STRUCT_STOP', ${Nf}`:`'$end', ${Nf}`)}}}function r4(e){return e==="TB"||e==="BT"}function MA(e,t,r){let a=e.state?.[t];return typeof a=="number"&&a>0?Math.min(a,2e3):r}function a4(e){let t=0,r=e.length;for(;t<r&&e.charCodeAt(t)===34;)t++;for(;r>t&&e.charCodeAt(r-1)===34;)r--;return e.slice(t,r)}function i4(e,t,r){return e<t?t:e>r?r:e}function Rf(e,t,r,a,i){return`<rect x="${d(e)}" y="${d(t)}" width="${d(r)}" height="${d(a)}"${i}/>`}function _f(e,t,r,a){let i=rr(0,0);return i.isGroup=!0,i.dir=e,i.padX=t,i.padTop=r,i.padBottom=a,i}function dL(e,t,r){return Da(e.direction)?Jt(r,a=>s4(e,t,r,a)):s4(e,t,r,!1)}function s4(e,t,r,a){let i=e.graph,s=r.fontSize??16,o=Math.round(s*.875),n=r.measurer??at(r.fontFamily),l=MA(t,"wrappingWidth",200),u=r.padding??8,c=r.icons,f=a?"TB":zr(e.direction),h=We(void 0,!1,n,s,0),g=(ee,te,he,me=0)=>We(ee,!0,n,te,he,me),p=new Map,m=[],x=[],y=(ee,te,he)=>(m.push({node:ee,kind:te,style:void 0,label:h,lines:[],w:0,h:0,titleH:0}),he&&x.push(he),m.length-1);for(let ee of i.nodes){if(ee.shape==="noteGroup")continue;let te=ee.isGroup?ee.shape==="divider"?9:8:cL.get(ee.shape)??0;p.set(ee.id,y(ee,te,void 0))}let C=m.length,S=[];for(let ee=0;ee<C;ee++){let te=m[ee].node.parentId,he=te===void 0?void 0:p.get(te);S.push(he!==void 0&&he!==ee&&m[he].node.isGroup?he:-1)}{let ee=[];for(let de=0;de<C;de++)ee.push([]);let te=[],he=new Uint8Array(C);for(let de=0;de<C;de++)S[de]===-1?(he[de]=1,te.push(de)):ee[S[de]].push(de);let me=0,oe=()=>{for(;me<te.length;me++)for(let de of ee[te[me]])he[de]||(he[de]=1,te.push(de))};oe();let be=new Int32Array(C).fill(-1);for(let de=0;de<C;de++){if(he[de])continue;let pe=de;for(;be[pe]!==de;)be[pe]=de,pe=S[pe];S[pe]=-1,he[pe]=1,te.push(pe),oe()}}let R=new Int32Array(C).fill(-1);for(let ee=0;ee<C;ee++){let te=m[ee].node.noteFor,he=te===void 0?void 0:p.get(te);he!==void 0&&(R[ee]=he,S[ee]=S[he])}let N=ee=>zr(m[ee].node.dir),D=ee=>r4(S[ee]===-1?f:N(S[ee])),O=new Int32Array(C),H=new Uint8Array(C),U=new Array(C).fill(1/0),k=0,j=new Int32Array(2*C);for(let ee of i.edges){let te=p.get(ee.start),he=p.get(ee.end);if(!(te===void 0||he===void 0)){if(ee.pattern==="dashed"){H[m[te].kind===7?he:te]=1;continue}O[te]=Math.max(O[te],++j[2*te]),O[he]=Math.max(O[he],++j[2*he+1]),U[te]===1/0&&(U[te]=k++),U[he]===1/0&&(U[he]=k++)}}for(let ee=0;ee<C;ee++){let te=m[ee],he=te.node,me=Rt(he.cssStyles.length>0?he.cssCompiledStyles.concat(he.cssStyles):he.cssCompiledStyles),oe=(me.bold?1:0)|(me.italic?2:0),be=me.fontSize??s;te.style=me;let de;switch(te.kind){case 8:te.label=g(he.label,be,4e3,oe),te.titleH=te.label.height>0?te.label.height+12:0,de=_f(N(ee),Il,te.titleH+Il,Il),de.minW=te.label.width+2*Il;break;case 9:de=_f(N(ee),SA,SA,SA);break;case 2:te.w=te.h=14;break;case 3:te.w=te.h=18;break;case 4:te.w=te.h=30;break;case 5:case 6:{let pe=i4(40*O[ee]+16,72,320);te.w=D(ee)?pe:e4,te.h=D(ee)?e4:pe;break}case 10:break;case 7:te.label=g(he.label,o,Math.max(l,lL)),te.w=te.label.width+24,te.h=te.label.height+16;break;default:{te.label=g(he.label,be,l,oe);let pe=te.label.width,Ee=te.label.height+2*ZE;if(te.kind===1){Ee+=14;for(let ve of he.description){let le=g(ve===""?" ":ve,o,l,oe);te.lines.push(le),le.width>pe&&(pe=le.width),Ee+=le.height}}te.w=Math.max(pe+2*oL,56),te.h=Ee}}de??=rr(te.w,te.h),(te.kind===0||te.kind===1)&&(de.span=(D(ee)?te.w:te.h)-24),x.push(de)}let X=[],P=[],F=[],I=new Int32Array(C),$=new Float64Array(C),w=new Float64Array(C),A=new Map,v=(ee,te)=>{if(!x[ee].isGroup)return!1;for(let he=S[te];he!==-1;he=S[he])if(he===ee)return!0;return!1},b=(ee,te)=>(A.set(X.length,ee),U.push(te?-1:1/0),y(void 0,10,rr(0,0,ee)));for(let ee of i.edges){let te=p.get(ee.start),he=p.get(ee.end);if(te===void 0||he===void 0)continue;let me=g(ee.label,o,l),oe=me.width>0?me.width+12:0;te===he?(I[te]++,$[te]=Math.max($[te],oe),w[te]+=me.height):v(te,he)?te=b(te,!0):v(he,te)&&(he=b(he,!1)),F.push(ee),P.push(me),X.push({src:te,dst:he,minlen:1,labelW:oe,labelH:me.height>0?me.height+4:0,route:[],labelX:0,labelY:0})}for(let ee=0;ee<C;ee++){if(R[ee]!==-1)continue;let te=x[ee],he=0;if(I[ee]>0){let oe=EA+(I[ee]-1)*8;he=D(ee)?oe+$[ee]:oe*.75+4+w[ee],te.isGroup||(D(ee)?(te.w+=2*he,te.h=Math.max(te.h,w[ee])):(te.h+=2*he,te.w=Math.max(te.w,$[ee])),he=0)}if(!H[ee]&&he===0){te.parent=S[ee];continue}let me=D(ee)?_f("LR",he,0,0):_f("TB",0,he,he);me.parent=S[ee],U.push(U[ee]),x[ee].parent=y(void 0,10,me)}for(let ee=0;ee<C;ee++)R[ee]!==-1&&(x[ee].parent=x[R[ee]].parent);{let ee=[];for(let de=0;de<x.length;de++)ee.push([]);let te=[];for(let de=0;de<x.length;de++){let pe=x[de].parent;pe>=0?ee[pe].push(de):te.push(de)}let he=de=>m[de].kind===2?0:1,me=(de,pe)=>he(de)-he(pe)||(U[de]===U[pe]?0:U[de]<U[pe]?-1:1)||de-pe,oe=0,be=te.sort(me).reverse();for(;be.length>0;){let de=be.pop();x[de].seq=oe++;let pe=ee[de].sort(me);for(let Ee=pe.length-1;Ee>=0;Ee--)be.push(pe[Ee])}}let T=Na(x,X,f,{nodeSep:MA(t,"nodeSpacing",iL),edgeSep:sL,rankSep:MA(t,"rankSpacing",nL),portSep:20,headRoom:wt("arrow_point")}),M=Math.ceil(T.width+2*u),E=Math.ceil(T.height+2*u),Y=[],G=new Map;for(let ee of X){let te=ee.route;for(let he=3;he<te.length-3;he+=3){let me=Math.round(te[he+1]),oe=G.get(me);oe?oe.push(te[he]):G.set(me,[te[he]])}}let K=[];for(let ee=0;ee<x.length;ee++)K.push([]);let L=[];for(let ee=0;ee<x.length;ee++){let te=x[ee].parent;te>=0?K[te].push(ee):L.push(ee)}let _=L.slice();for(let ee=0;ee<L.length;ee++)for(let te of K[L[ee]])L.push(te);let B="",q="",Q="",Z="",J=(ee,te,he,me,oe)=>{let be=ee.filter(Ee=>m[Ee].kind===9);if(be.length<2)return;let de=(Ee,ve)=>ve?x[Ee].x-x[Ee].w/2:x[Ee].y-x[Ee].h/2,pe=(Ee,ve)=>ve?x[Ee].x+x[Ee].w/2:x[Ee].y+x[Ee].h/2;for(let Ee of[!0,!1]){let ve=be.slice().sort((fe,Ae)=>de(fe,Ee)-de(Ae,Ee)||fe-Ae),le=!0;for(let fe=1;fe<ve.length;fe++)pe(ve[fe-1],Ee)>de(ve[fe],Ee)+.5&&(le=!1);if(le){for(let fe=1;fe<ve.length;fe++){let Ae=d((pe(ve[fe-1],Ee)+de(ve[fe],Ee))/2+u);q+=`<path class="pele-divider" d="M${Ee?`${Ae},${d(he)}V${d(oe)}`:`${d(te)},${Ae}H${d(me)}`}"/>`}return}}for(let Ee of be){let ve=x[Ee];q+=Rf(ve.x-ve.w/2+u,ve.y-ve.h/2+u,ve.w,ve.h,` class="pele-divider" rx="${CA}"`)}};J(_,u/2,u/2,M-u/2,E-u/2);for(let ee of L){let te=m[ee],he=te.node,me=te.style;if(he===void 0||me===void 0||te.kind>=9)continue;let oe=x[ee],be=oe.x+u,de=oe.y+u,pe=te.w,Ee=te.h,ve=` class="pele-label"${me.text}`,le;switch(te.kind){case 8:{let Ie=be-oe.w/2,Re=de-oe.h/2;le=Rf(Ie,Re,oe.w,oe.h,` rx="${CA}" fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${me.shape}`),te.titleH>0&&(le+=`<path d="M${d(Ie)},${d(Re+te.titleH)}H${d(Ie+oe.w)}"${Df}${me.line}/>`+De(te.label,fL(oe,te.label.width,G)+u,Re+te.titleH/2,` class="pele-cluster-label"${me.text}`,c)),J(K[ee],Ie,Re+te.titleH,Ie+oe.w,Re+oe.h);break}case 2:le=`<circle r="7" fill="var(--_l)"${me.shape}/>`;break;case 3:le=`<circle r="8.5" fill="var(--_bg)" stroke="var(--_l)"${me.line}/><circle r="5" fill="var(--_l)"${me.shape}/>`;break;case 4:le=`<polygon points="0,${d(-Ee/2)} ${d(pe/2)},0 0,${d(Ee/2)} ${d(-pe/2)},0"${t4}${me.shape}/>`;break;case 5:case 6:le=Rf(-pe/2,-Ee/2,pe,Ee,` rx="2" fill="var(--_l)"${me.shape}`);break;case 7:{let Ie=d(pe/2),Re=d(Ee/2),Pe=d(pe/2-JE),ue=d(JE-Ee/2);le=`<path d="M-${Ie},-${Re}H${Pe}L${Ie},${ue}V${Re}H-${Ie}Z" fill="var(--_bg)" stroke="var(--_b)"/><path d="M${Pe},-${Re}V${ue}H${Ie}"${Df}/>`+De(te.label,0,0,` class="pele-label" font-size="${o}" fill="var(--_m)"`,c);break}default:{if(le=Rf(-pe/2,-Ee/2,pe,Ee,` rx="${d(Math.min(CA,Ee/2))}"${t4}${me.shape}`),te.kind===0){le+=De(te.label,0,0,ve,c);break}let Ie=ZE-Ee/2+te.label.height;le+=`<path d="M${d(-pe/2)},${d(Ie+6)}H${d(pe/2)}"${Df}${me.line}/>`+De(te.label,0,Ie-te.label.height/2,ve,c),Ie+=14;for(let Re of te.lines)le+=De(Re,0,Ie+Re.height/2,` class="pele-state-description" font-size="${o}"${me.text}`,c),Ie+=Re.height}}let fe=e.links.get(he.id);if(fe){let Ie=Dt(a4(fe.tooltip));Ie&&(le=`<title>${Je(Ie)}</title>`+le),le=di(le,Bi(a4(fe.url)),he.id,Y,r,' target="_blank"')}let Ae=`<g class="${hL[te.kind]}${Wt(he.cssClasses.replace(uL,""))}" data-id="${Oe(he.id)}"`;te.kind===8?B+=`${Ae}>${le}</g>`:te.kind===7?Z+=`${Ae} transform="translate(${d(be)},${d(de)})">${le}</g>`:Q+=`${Ae} transform="translate(${d(be)},${d(de)})">${le}</g>`}let W=(ee,te,he)=>{let me=x[he];if(me.isGroup)return;let oe=m[he],be=oe.kind===5||oe.kind===6,de=te===0?3:te-3;for(let pe of[1,0]){let Ee=pe?me.h:me.w,ve=pe?oe.h:oe.w,le=pe?oe.w:oe.h,fe=(pe?me.y:me.x)+u,Ae=(pe?me.x:me.y)+u,Ie=ee[te+pe]-fe;if(!(Math.abs(Math.abs(Ie)-Ee/2)>=.5)){ee[te+pe]-=Math.sign(Ie)*(Ee-ve)/2,be&&le>ve&&(ee[te+1-pe]=i4(ee[de+1-pe],Ae-le/2+6,Ae+le/2-6));return}}},V=z0();for(let ee=0;ee<X.length;ee++){let te=X[ee];te.src===te.dst||te.route.length<6||F[ee].pattern==="dashed"||V.add(te.dst,fi(te.route,te.route.length-3,x[te.dst]),"arrow_point")}let re="",ne="",ce=new Int32Array(C),ie=new Float64Array(C);for(let ee=0;ee<X.length;ee++){let te=X[ee],he=F[ee],me=P[ee],oe=he.pattern==="dashed",be=oe?"none":"arrow_point",de;if(te.src===te.dst){let pe=x[te.src],Ee=m[te.src],ve=ce[te.src]++,le=D(te.src),fe=pe.isGroup?pe.w:Ee.w,Ae=pe.isGroup?pe.h:Ee.h,Ie=(le?fe:Ae)/2,Re=Math.max(Math.min((le?Ae:fe)/2-4,8+ve*6),2),Pe=EA+ve*8,ue=wt(be)/(Math.hypot(Pe,Re)||1),we=(Fe,z)=>pe.x+u+(le?Ie+Fe:-z),$e=(Fe,z)=>pe.y+u+(le?z:Ie+Fe),ye=(Fe,z)=>`${d(we(Fe,z))},${d($e(Fe,z))}`;de={d:`M${ye(0,-Re)}C${ye(Pe,-2*Re)} ${ye(Pe,2*Re)} ${ye(Pe*ue,Re+Re*ue)}`,sx:0,sy:0,sdx:0,sdy:0,ex:we(0,Re),ey:$e(0,Re),edx:we(-Pe,-Re)-we(0,0),edy:$e(-Pe,-Re)-$e(0,0)};let Se=Math.hypot(de.edx,de.edy)||1;de.edx/=Se,de.edy/=Se;let Ne=EA+(I[te.src]-1)*8,Ge=ie[te.src]+me.height/2;ie[te.src]+=me.height,te.labelX=le?pe.x+Ie+Ne+4+te.labelW/2:pe.x,te.labelY=le?pe.y-w[te.src]/2+Ge:pe.y+Ie+Ne*.75+4+Ge}else{let pe=te.route.slice(),Ee=V.of(te.src,fi(pe,0,x[te.src])),ve=V.of(te.dst,fi(pe,pe.length-3,x[te.dst]));for(let fe=0;fe<pe.length;fe+=3)pe[fe]+=u,pe[fe+1]+=u;W(pe,0,te.src),W(pe,pe.length-3,te.dst);let le=A.get(ee);if(le!==void 0&&pe.length>=6){let fe=x[le],Ae=m[te.src].kind===10,Ie=Ae?0:pe.length-3,Re=(fe.dir==="TB"||fe.dir==="LR")===Ae,Pe=r4(fe.dir)?[pe[Ie],fe.y+u+(Re?m[le].titleH-fe.h/2:fe.h/2),0]:[fe.x+u+(Re?-fe.w/2:fe.w/2),pe[Ie+1],1];pe=Ae?Pe.concat(pe):pe.concat(Pe)}de=ya(pe,void 0,0,wt(be),Ee,ve)}if(re+=`<g class="pele-edge ${oe?'pele-note-edge" stroke="var(--_b)" stroke-dasharray="3 4':"pele-transition"}" data-id="${Oe(he.id)}"><path d="${de.d}"/>`+vt(be,de.ex,de.ey,de.edx,de.edy,"var(--_l)")+"</g>",me.width>0){let pe=te.labelX+u,Ee=te.labelY+u;ne+=qr(he.id,me,pe,Ee,"",c)}}let se=Z0(e.title,n,s,u,M,E,(B?`<g class="pele-clusters">${B}</g>`:"")+(q?`<g class="pele-dividers" stroke-dasharray="4 4"${Df}>${q}</g>`:"")+(re?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${re}</g>`:"")+(ne?`<g class="pele-edge-labels" font-size="${o}">${ne}</g>`:"")+`<g class="pele-nodes">${Q}${Z}</g>`);return{svg:rt("state",se.width,se.height,s,r,e,se.content),width:se.width,height:se.height,links:Y}}function fL(e,t,r){let a=r.get(Math.round(e.y-e.h/2));if(a===void 0||t===0)return e.x;let i=e.x-e.w/2,s=t/2,o=e.x,n=-1;for(let l of[e.x,i+Il+s,i+e.w-Il-s]){let u=1/0;for(let c of a)c>i&&c<i+e.w&&(u=Math.min(u,Math.abs(c-l)-s));if(u>=6)return l;u>n+.5&&(n=u,o=l)}return o}var V_,XE,j_,X_,Z_,J_,eL,rL,Nf,iL,sL,nL,Il,SA,oL,ZE,EA,JE,lL,CA,e4,t4,Df,uL,cL,hL,n4,o4=Xe(()=>{mn();Li();Us();bn();pr();zt();Lr();xt();Mt();V_=class{type="state";rootDoc=[];states=new Map;relations=[];classes=new Map;links=new Map;graph={nodes:[],edges:[]};title;accTitle;accDescr;dividerCount=0;get direction(){let e="TB";for(let t of this.rootDoc)typeof t!="string"&&t.stmt==="dir"&&(e=t.value);return e}setRootDoc(e){this.rootDoc=e,this.translate(),this.extract(e)}extract(e){this.states=new Map,this.relations=[],this.classes=new Map;let t=Array.isArray(e)?e:e.doc;for(let r of t)if(typeof r!="string")switch(r.stmt){case"state":this.addState(r.id.trim(),r.type,r.doc,r.description,r.note);break;case"relation":this.addRelation(r.state1,r.state2,r.description);break;case"classDef":this.addStyleClass(r.id.trim(),r.classes);break;case"style":{let a=r.styleClass.split(",").map(i=>i.replace(/;/g,"").trim());for(let i of this.named(r.id.trim()))i.styles=a.slice();break}case"applyClass":this.setCssClass(r.id.trim(),r.styleClass);break;case"click":this.addLink(typeof r.id=="string"?r.id:r.id.id,r.url,r.tooltip);break}this.graph=Q_(t,this.states,this.classes)}translate(){let e=[["root",{stmt:"root",id:"root",doc:this.rootDoc},!0]];for(;e.length>0;){let[t,r,a]=e.pop();if(typeof r=="string")continue;if(r.stmt==="relation"){e.push([t,r.state2,!1],[t,r.state1,!0]);continue}if(r.stmt==="state")r.id==="[*]"?(r.id=t+(a?"_start":"_end"),r.start=a):r.id=r.id.trim();else if(r.stmt!=="root")continue;if(!r.doc)continue;let i=[],s=[];for(let o of r.doc)typeof o!="string"&&o.stmt==="state"&&o.type==="divider"&&!o.doc?(i.push({...o,doc:s}),s=[]):s.push(o);i.length>0&&(s.length>0&&i.push({stmt:"state",id:this.getDividerId(),type:"divider",doc:s}),r.doc=i);for(let o=r.doc.length-1;o>=0;o--)e.push([r.id,r.doc[o],!0])}}addState(e,t="default",r,a,i,s){let o=e.trim(),n=this.states.get(o);if(n?(n.doc||(n.doc=r),n.type||(n.type=t)):(n={stmt:"state",id:o,descriptions:[],type:t,doc:r,note:i,classes:[],styles:[],textStyles:[]},this.states.set(o,n)),a)for(let l of Array.isArray(a)?a:[a])this.addDescription(o,l.trim());if(i&&(n.note=i),s)for(let l of s)this.setCssClass(o,l.trim())}getState(e){return this.states.get(e)}addLink(e,t,r){this.links.set(e,{url:t,tooltip:r})}addRelation(e,t,r=""){for(let a of[e,t])this.addState(a.id,a.type,a.doc,a.description,a.note,a.classes);this.relations.push({id1:e.id.trim(),id2:t.id.trim(),relationTitle:r})}addDescription(e,t){this.states.get(e)?.descriptions?.push(t.startsWith(":")?t.replace(":","").trim():t)}getDividerId(){return`divider-id-${++this.dividerCount}`}addStyleClass(e,t=""){let r=this.classes.get(e);if(r||(r={id:e,styles:[],textStyles:[]},this.classes.set(e,r)),!!t)for(let a of t.split(",")){let i=a.replace(";","").trim();a.includes("color")&&r.textStyles.push(i.replace("fill","bgFill").replace("color","fill")),r.styles.push(i)}}setCssClass(e,t){for(let r of this.named(e))r.classes?.push(t)}getDirection(){for(let e of this.rootDoc)if(typeof e!="string"&&e.stmt==="dir")return e.value;return"TB"}setDirection(e){for(let t of this.rootDoc)if(typeof t!="string"&&t.stmt==="dir"){t.value=e;return}this.rootDoc.unshift({stmt:"dir",value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
89
+ `)}named(e){let t=[];for(let r of e.split(",")){let a=this.states.get(r);a||(this.addState(r),a=this.states.get(r.trim())),a&&t.push(a)}return t}},XE=["$end","INVALID","NL","SD","DESCR","-->","HIDE_EMPTY","scale","WIDTH","COMPOSIT_STATE","STRUCT_START","STRUCT_STOP","STATE_DESCR","AS","ID","FORK","JOIN","CHOICE","CONCURRENT","note","NOTE_TEXT","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","CLICK","STRING","HREF","classDef","CLASSDEF_ID","DEFAULT_CLASSDEF_ID","CLASSDEF_STYLEOPTS","DEFAULT","style","STYLE_IDS","STYLEDEF_STYLEOPTS","class","CLASSENTITY_IDS","STYLECLASS","direction_tb","direction_bt","direction_rl","direction_lr","EDGE_STATE","STYLE_SEPARATOR","left_of","right_of","INVALID"],j_=/direction/gi,X_=/<<(?:fork|join|choice)>>|\[\[(?:fork|join|choice)\]\]/gi,Z_=/[\n\r\u2028\u2029]/g,J_=/%%/g,eL=/\{/g;rL=["TB","BT","RL","LR"],Nf="'NL', 'ID', 'HIDE_EMPTY', 'scale', 'COMPOSIT_STATE', 'STATE_DESCR', 'FORK', 'JOIN', 'CHOICE', 'CONCURRENT', 'note', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'CLICK', 'classDef', 'style', 'class', 'direction_tb', 'direction_bt', 'direction_rl', 'direction_lr', 'EDGE_STATE'";iL=40,sL=16,nL=44,Il=16,SA=10,oL=16,ZE=10,EA=26,JE=8,lL=320,CA=10,e4=8,t4=' fill="var(--_s)" stroke="var(--_b)"',Df=' fill="none" stroke="var(--_b)"',uL=/(?:^| )statediagram-(?:state|cluster-alt|cluster|note)(?= |$)/g,cL=new Map([["rectWithTitle",1],["stateStart",2],["stateEnd",3],["choice",4],["fork",5],["join",6],["note",7],["divider",10]]),hL=["pele-node pele-state","pele-node pele-state","pele-node pele-state-start","pele-node pele-state-end","pele-node pele-state-choice","pele-node pele-state-fork","pele-node pele-state-join","pele-note","pele-cluster pele-state-composite"];n4={type:"state",math:!0,parse(e,t,r){let a=new V_;return r&&(a.title=r),aL(e,a),a},render:dL}});var l4={};Bt(l4,{state:()=>n4});var u4=Xe(()=>{o4()});function qc(e){return!Number.isNaN(e.getTime())}function ja(e,t){let r=String(e);return r.length>=t?r:"0".repeat(t-r.length)+r}function E4(e){let t=["th","st","nd","rd"],r=e%100;return e+(t[(r-20)%10]||t[r]||t[0])}function IA(e){let t=-Math.round(e.getTimezoneOffset()/15)*15;return t===0?0:t}function c4(e){let t=IA(e),r=Math.abs(t);return(t>=0?"+":"-")+ja(Math.floor(r/60),2)+":"+ja(r%60,2)}function C4(e){return e.getDay()||7}function vn(e,t){let r=new Date(e);return r.setDate(r.getDate()+t),r}function pL(e){let t=new Date(e.getFullYear(),e.getMonth()+1,0);return t.setHours(23,59,59,999),t.getDate()}function h4(e,t){let r=new Date(e);return r.setDate(1),t(r),r.setDate(Math.min(e.getDate(),pL(r))),r}function M4(e,t,r){switch(r){case"M":return h4(e,a=>a.setMonth(e.getMonth()+t));case"y":return h4(e,a=>a.setFullYear(e.getFullYear()+t));case"d":return vn(e,Math.round(t));case"w":return vn(e,Math.round(7*t));case"h":return new Date(e.getTime()+t*36e5);case"m":return new Date(e.getTime()+t*6e4);case"s":return new Date(e.getTime()+t*1e3);default:return new Date(e.getTime()+t)}}function v4(e){return vn(e,4-C4(e))}function d4(e){let t=v4(e),r=new Date(t.getFullYear(),0,1),a=C4(r),i=vn(r,4-a+(a>4?7:0)),s=(IA(i)-IA(t))*6e4,o=(t.getTime()-i.getTime()-s)/6048e5;return(o<0?Math.ceil(o)||0:Math.floor(o))+1}function k4(e,t){if(!qc(e))return"Invalid Date";let r=t||AL;if(r==="YYYY-MM-DD")return $4(e);let a=!1,i=r.replace(gL,o=>{switch(o){case"Q":return String(Math.ceil((e.getMonth()+1)/3));case"Do":return"["+E4(e.getDate())+"]";case"GGGG":return String(v4(e).getFullYear());case"W":return String(d4(e));case"WW":return ja(d4(e),2);case"k":return String(e.getHours()||24);case"kk":return ja(e.getHours()||24,2);case"X":return String(Math.floor(e.getTime()/1e3));case"x":return String(e.getTime());case"gggg":case"wo":case"w":case"ww":case"z":case"zzz":return a=!0,o;default:return o}});if(a)return;let s=e.getHours();return i.replace(mL,(o,n)=>{if(n)return n;switch(o){case"YY":return String(e.getFullYear()).slice(-2);case"YYYY":return ja(e.getFullYear(),4);case"M":return String(e.getMonth()+1);case"MM":return ja(e.getMonth()+1,2);case"MMM":return Rl[e.getMonth()].slice(0,3);case"MMMM":return Rl[e.getMonth()];case"D":return String(e.getDate());case"DD":return ja(e.getDate(),2);case"d":return String(e.getDay());case"dd":return go[e.getDay()].slice(0,2);case"ddd":return go[e.getDay()].slice(0,3);case"dddd":return go[e.getDay()];case"H":return String(s);case"HH":return ja(s,2);case"h":return String(s%12||12);case"hh":return ja(s%12||12,2);case"a":return s<12?"am":"pm";case"A":return s<12?"AM":"PM";case"m":return String(e.getMinutes());case"mm":return ja(e.getMinutes(),2);case"s":return String(e.getSeconds());case"ss":return ja(e.getSeconds(),2);case"SSS":return ja(e.getMilliseconds(),3);case"Z":return c4(e);default:return c4(e).replace(":","")}})}function $4(e){let t=e.getFullYear(),r=e.getMonth()+1,a=e.getDate();return(t>=1e3&&t<=9999?t:ja(t,4))+(r<10?"-0":"-")+r+(a<10?"-0":"-")+a}function fa(e){return(t,r)=>(t[e]=+r,!0)}function m4(e){return(t,r)=>{let a=e.indexOf(r)+1;return a<1?!1:(t.month=a%12||a,!0)}}function CL(e){if(e===A4)return Lf;if(A4=e,Lf=null,/[Ll]/.test(e.replace(yL,"")))return null;let t=e.match(bL);return t?(Lf=t.map(r=>EL.get(r)??r.replace(/^\[|\]$/g,"")),Lf):null}function ML(e,t,r){if(t==="x"||t==="X")return new Date((t==="X"?1e3:1)*Number(e));let a=CL(t);if(!a)return;let i={},s=e,o=0;for(let p of a){if(typeof p=="string"){o+=p.length;continue}let m=p.re.exec(s.slice(o));if(!m||!p.read(i,m[0]))return;s=s.replace(m[0],"")}i.afternoon!==void 0&&i.hours!==void 0&&(i.afternoon?i.hours<12&&(i.hours+=12):i.hours===12&&(i.hours=0));let n=i.dayGiven||i.day?i.day:!i.year&&!i.month?r.getDate():1,l=i.year||r.getFullYear(),u=0;i.year&&!i.month||(u=i.month>0?i.month-1:r.getMonth());let c=i.hours||0,f=i.minutes||0,h=i.seconds||0,g=i.milliseconds||0;if(i.offset!==void 0)return new Date(Date.UTC(l,u,n,c,f,h,g+i.offset*6e4));if(!i.week)return new Date(l,u,n,c,f,h,g)}function vL(e,t,r){let a=ML(e,t,r);return a&&qc(a)&&k4(a,t)===e?a:void 0}function T4(e){let t=e===void 0?NaN:+e;return Number.isFinite(t)?t:Date.now()}function WL(e){let t=NL.exec(e.trim());return t?[Number.parseFloat(t[1]),t[2]]:[NaN,"ms"]}function b4(e,t){let r=new Set(e);for(let a of t.toLowerCase().split(DL))a!==""&&r.add(a);return[...r]}function ZL(e){let t=e.length,r=[],a=[],i=[],s=0,o=0,n=(f,h,g)=>{r.push(f),a.push(e.slice(h,g)),i.push(h),o=g},l=f=>(f.lastIndex=o,f.test(e)?f.lastIndex:-1),u=(f,h)=>{let g=e.indexOf(f,h);return g===-1?t:g},c=f=>{let h;switch(f|32){case 97:if((h=l(GL))>=0)return s=1,n(3,o,h),!0;if((h=l(UL))>=0)return s=2,n(5,o,h),!0;if((h=l(YL))>=0)return s=3,o=h,!0;break;case 104:if((h=l(KL))>=0)return s=4,o=h,!0;break;case 99:if((h=l(qL))>=0)return s=5,o=h,!0;if((h=l(zL))>=0)return s=7,o=h,!0;break;case 119:{vA.lastIndex=o;let p=vA.exec(e);if(p)return n(22+VL.indexOf(p[1].toLowerCase()),o,vA.lastIndex),!0;if(kA.lastIndex=o,p=kA.exec(e),p)return n(p[1]!==void 0?29:30,o,kA.lastIndex),!0;break}}let g=XL.get(f|32);if(g){for(let[p,m]of g)if((h=l(p))>=0)return n(m,o,h),!0}return!1};for(;;){if(o>=t){let h=38;switch(s){case 1:h=4;break;case 2:h=6;break;case 3:h=7;break;case 4:h=9;break;case 5:h=10;break;case 6:h=11;break;case 7:h=12;break}n(h,t,t);break}let f=e.charCodeAt(o);switch(s){case 0:{let h=e.charCodeAt(o+1);if(f===37)if(h!==37){let g=u(`
90
+ `,o+1);for(;e.charCodeAt(g)===10;)g++;o=g}else{if(e.charCodeAt(o+2)===123)return n(2,o,o+3),n(1,o,o),{types:r,texts:a,starts:i};o=u(`
91
+ `,o+2)}else if(f!==125&&h===37)o=u(`
92
+ `,o+2);else if(f===10){let g=o+1;for(;e.charCodeAt(g)===10;)g++;n(8,o,g)}else if(Ke(f))for(o++;o<t&&Ke(e.charCodeAt(o));)o++;else{if(c(f))break;if(f>=48&&f<=57&&l(jL)>=0)n(31,o,o+10);else if(f!==58){let g=o+1;for(;g<t;){let p=e.charCodeAt(g);if(p===58||p===10)break;g++}n(35,o,g)}else{let g=o+1;for(;g<t;){let p=e.charCodeAt(g);if(p===35||p===10||p===59)break;g++}n(g>o+1?36:37,o,g)}}break}case 1:case 2:{let h=s===1?4:6;s=0,n(h,o,u(`
93
+ `,o));break}case 3:f===125?(s=0,o++):n(7,o,u("}",o));break;case 4:f===34?(s=0,o++):n(9,o,u('"',o));break;case 5:if(f===40){let h=l(QL);h>=0?(s=0,o=h):(s=6,o++)}else n(10,o,u("(",o));break;case 6:f===41?(s=0,o++):n(11,o,u(")",o));break;case 7:if(Ke(f))s=0,o++;else{let h=o+1;for(;h<t&&!Ke(e.charCodeAt(h));)h++;n(12,o,h)}break}}return r.push(0),a.push(""),i.push(t),{types:r,texts:a,starts:i}}function eO(e,t){let{types:r,texts:a,starts:i}=ZL(e),s=0,o=l=>{let u=r[s];throw ut("gantt",e,i[s],`Expecting ${l}, got '${u===0?"1":PL[u]}'`)},n=(l="")=>{Hf[r[s]]!==1&&o(y4+l)};for(r[s]!==13&&o("'gantt'"),s++;;){let l=r[s],u=a[s];switch(Hf[l]!==1&&o(y4),s++,l){case 38:if(r[s]===0)return;n();break;case 8:break;case 14:n(),t.setDateFormat(u.slice(11));break;case 15:n(),t.enableInclusiveEndDates();break;case 16:n(),t.TopAxis();break;case 17:n(),t.setAxisFormat(u.slice(11));break;case 18:n(),t.setTickInterval(u.slice(13));break;case 20:n(),t.setExcludes(u.slice(9));break;case 19:n(),t.setIncludes(u.slice(9));break;case 21:n(),t.setTodayMarker(u.slice(12));break;case 29:n(),t.setWeekend("friday");break;case 30:n(),t.setWeekend("saturday");break;case 32:n(),t.setDiagramTitle(u.slice(6));break;case 3:{r[s]!==4&&o("'acc_title_value'");let c=a[s++];n(),t.setAccTitle(c.trim());break}case 5:{r[s]!==6&&o("'acc_descr_value'");let c=a[s++];n(),t.setAccDescription(c.trim());break}case 7:n(),t.setAccDescription(u.trim());break;case 34:n(),t.addSection(u.slice(8));break;case 35:{r[s]!==36&&o("'taskData'");let c=a[s++];n(),t.addTask(u,c);break}case 12:{let c,f=null,h;r[s]===10?(c=a[s++],r[s]===11&&(f=a[s++]),r[s]===9?(h=a[s++],n()):n(f===null?", 'callbackargs', 'href'":", 'href'")):r[s]===9?(h=a[s++],r[s]===10?(c=a[s++],r[s]===11?(f=a[s++],n()):n(", 'callbackargs'")):n(", 'callbackname'")):o("'callbackname', 'href'"),c!==void 0&&t.setClickEvent(u,c,f),h!==void 0&&t.setLink(u,h);break}default:n(),t.setWeekday(JL[l-22])}}}function Of(e){e.setHours(0,0,0,0)}function Uf(e){return{floor(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),Of(t)},offset:(t,r)=>t.setDate(t.getDate()+r*7),cycle:1/0,ms:Qc}}function Gf(e,t,r){return Math.floor((+t-+e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Vs)/r)}function tO(e,t){return(e%t+t)%t}function Bf(e,t,r){let a=e==="week"?Uf(r):zc[e];if(t<=1)return a;if(e==="millisecond")return{...a,floor:o=>o.setTime(Math.floor(+o/t)*t),offset:(o,n)=>o.setTime(+o+n*t)};if(e==="year")return{...a,floor(o){o.setFullYear(Math.floor(o.getFullYear()/t)*t),a.floor(o)},offset:(o,n)=>o.setFullYear(o.getFullYear()+n*t)};if(e==="week"){let o=new Date(0);return a.floor(o),{...a,floor(n){a.floor(n),a.offset(n,-tO(Gf(o,n,Qc),t))},offset:(n,l)=>a.offset(n,l*t)}}let i=a.field,s=o=>i(o)%t===0;return{...a,floor(o){for(a.floor(o);Number.isFinite(+o)&&!s(o);a.floor(o))o.setTime(+o-1)},offset(o,n){for(let l=0;l<n&&Number.isFinite(+o);l++)do a.offset(o,1);while(Number.isFinite(+o)&&!s(o))}}}function I4(e,t,r,a){let i=new Date(t-1);e.floor(i),e.offset(i,1),e.floor(i);let s=[],o=-1/0;for(;+i<=r&&+i>o;){if(s.length>=a)return;o=+i,s.push(o),e.offset(i,1),e.floor(i)}return s}function x4(e,t,r){let a=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(a)),s=a/Math.pow(10,i),o=s>=Math.sqrt(50)?10:s>=Math.sqrt(10)?5:s>=Math.SQRT2?2:1;return Math.pow(10,i)*o}function rO(e,t,r){let a=(t-e)/r,i=0;for(;i<Nl.length&&Nl[i][2]<=a;)i++;let s;if(i===Nl.length)s=Bf("year",Math.max(1,x4(e/Pf,t/Pf,r)),0);else if(i===0)s=Bf("millisecond",Math.max(x4(e,t,r),1),0);else{let[o,n]=Nl[a/Nl[i-1][2]<Nl[i][2]/a?i-1:i];s=Bf(o,n,0)}return I4(s,e,t,4*r+8)??[]}function sO(e,t,r,a,i){let s=aO.exec(e);if(!s)return;let o=parseInt(s[1],10),n=s[2],l=Bf(n,o,Math.max(0,iO.indexOf(t)));if(!((a-r)/(Math.min(o,l.cycle)*l.ms)>i))return I4(l,r,a,i)}function jr(e,t,r){let a=e<0?"-":"",i=String(a?-e:e);return a+(i.length<r?t.repeat(r-i.length)+i:i)}function Mn(e,t){let r=new Date(+e);return t.floor(r),r}function w4(e,t){let r=Uf(t),a=Mn(e,zc.year);return Gf(Mn(new Date(+a-1),r),Mn(e,r),Qc)}function $A(e){let t=Uf(4),r=e.getDay(),a=Mn(r>=4||r===0?e:new Date(+e-1),t);return r>=4||r===0||(t.offset(a,1),t.floor(a)),a}function Ff(e,t){let r="",a=0,i=e.length;for(let s=0;s<i;s++){if(e.charCodeAt(s)!==37)continue;r+=e.slice(a,s);let o=e.charAt(++s),n=nO.get(o);n!==void 0?o=e.charAt(++s):n=o==="e"?" ":"0",r+=oO(o,t,n),a=s+1}return r+e.slice(a)}function oO(e,t,r){switch(e){case"a":return go[t.getDay()].slice(0,3);case"A":return go[t.getDay()];case"b":return Rl[t.getMonth()].slice(0,3);case"B":return Rl[t.getMonth()];case"c":return Ff("%x, %X",t);case"d":case"e":return jr(t.getDate(),r,2);case"f":return jr(t.getMilliseconds(),r,3)+"000";case"g":return jr($A(t).getFullYear()%100,r,2);case"G":return jr($A(t).getFullYear()%1e4,r,4);case"H":return jr(t.getHours(),r,2);case"I":return jr(t.getHours()%12||12,r,2);case"j":return jr(1+Gf(Mn(t,zc.year),Mn(t,zc.day),mo),r,3);case"L":return jr(t.getMilliseconds(),r,3);case"m":return jr(t.getMonth()+1,r,2);case"M":return jr(t.getMinutes(),r,2);case"p":return t.getHours()>=12?"PM":"AM";case"q":return String(1+Math.floor(t.getMonth()/3));case"Q":return String(+t);case"s":return String(Math.floor(+t/1e3));case"S":return jr(t.getSeconds(),r,2);case"u":return String(t.getDay()||7);case"U":return jr(w4(t,0),r,2);case"V":{let a=$A(t),i=Mn(a,zc.year),s=Mn(i,Uf(4));return jr(Gf(s,a,Qc)+(i.getDay()===4?1:0),r,2)}case"w":return String(t.getDay());case"W":return jr(w4(t,1),r,2);case"x":return Ff("%-m/%-d/%Y",t);case"X":return Ff("%-I:%M:%S %p",t);case"y":return jr(t.getFullYear()%100,r,2);case"Y":return jr(t.getFullYear()%1e4,r,4);case"Z":{let a=t.getTimezoneOffset(),i=Math.abs(a);return(a>0?"-":"+")+jr(Math.floor(i/60),"0",2)+jr(i%60,"0",2)}case"%":return"%";default:return e}}function gs(e,t,r,a){let i=e.gantt?.[t];return typeof i=="number"&&Number.isFinite(i)?Math.min(a,Math.max(r,i)):void 0}function TA(e,t){let r=e.gantt?.[t];return typeof r=="string"?r:void 0}function hO(e,t){return e.gantt?.[t]===!0}function S4(e,t,r){let a=We(e.replace(cO," "),!1,t,r,4e3);return a.lines.length<=1?a:{...a,lines:[a.lines[0]],widths:[a.widths[0]],width:a.widths[0],height:a.lineHeight}}function Wf(e){return Number.isFinite(+e.startTime)&&Number.isFinite(+e.endTime)}function dO(e,t,r){let a=e.filter(Wf).sort((o,n)=>+o.startTime-+n.startTime||o.order-n.order),i=[];for(let o of a){let n=+o.startTime,l=0;for(;l<i.length&&n<i[l];)l++;i[l]=+o.endTime,r.set(o,t+l)}let s=i.length;for(let o of e)r.has(o)||r.set(o,t+s++);return Math.max(s,1)}function fO(e,t,r){let a=r.fontSize??16,i=r.measurer??at(r.fontFamily),s=r.padding??8,o=T4(r.now),n=gs(t,"fontSize",4,72)??Math.round(a*.8125),l=gs(t,"sectionFontSize",4,72)??n,u=Math.round(a*.75),c=gs(t,"barHeight",4,400)??Math.round(n*1.85),f=gs(t,"barGap",0,400)??Math.round(c/4),h=c+f,g=Math.round(gs(t,"numberSectionStyles",1,1e3)??4),p=e.displayMode==="compact",m=e.topAxis||hO(t,"topAxis"),x=e.getTasks(o),y=x.filter(ye=>!ye.vert),C=x.filter(ye=>ye.vert&&Wf(ye)),S=new Map;for(let ye of y)S.has(ye.section)||S.set(ye.section,S.size);let R=new Map,N=[];if(p){let ye=new Map;for(let Se of y){let Ne=ye.get(Se.section);Ne?Ne.push(Se):ye.set(Se.section,[Se])}for(let[Se,Ne]of ye){let Ge=dO(Ne,N.length,R);for(let Fe=0;Fe<Ge;Fe++)N.push(Se)}}else for(let ye of y)R.set(ye,N.length),N.push(ye.section);let D=N.length,O=1/0,H=-1/0;for(let ye of x)Wf(ye)&&(O=Math.min(O,+ye.startTime),H=Math.max(H,+ye.endTime));let U=O<=H,k=We(e.title,!1,i,a,4e3,1),j=k.height>0?k.height+16:0;if(!U){let ye=Math.ceil(Math.max(k.width,1)+2*s),Se=Math.ceil(Math.max(k.height,1)+2*s),Ne=De(k,ye/2,s+k.height/2,' class="pele-title" font-weight="var(--_tw)"');return{svg:rt("gantt",ye,Se,a,r,e,Ne),width:ye,height:Se,links:[]}}let X=new Map,P=0;for(let ye of S.keys()){let Se=We(ye,!1,i,l,180);X.set(ye,Se),P=Math.max(P,Se.width)}let F=e.axisFormat||(e.dateFormat==="D"?"%d":TA(t,"axisFormat")??"%Y-%m-%d"),I=ye=>Ff(F,new Date(ye)),$=Math.max(i.width(I(O),u,0),i.width(I(H),u,0)),w=s+(gs(t,"leftPadding",0,2e3)??Math.max(P>0?P+24:0,$/2)),A=gs(t,"rightPadding",0,2e3)??Math.max(16,$/2),v=xn(r,gs(t,"useWidth",100,2e4)??lO,280),b=Math.max(uO,v-w-A-s),T=w+b,M=H>O?b/(H-O):0,E=ye=>M===0?w+b/2:w+(ye-O)*M,Y=Math.round(u*1.75),G=gs(t,"topPadding",0,2e3),K=gs(t,"gridLineStartPadding",0,2e3),L=s+j+(m?Y:0),_=Math.max(L,G??0),B=G!==void 0&&K!==void 0?Math.max(0,Math.min(G-K,_-L)):0,q=Math.max(D,1)*h,Q=_+q,Z=[],J=T+A;for(let ye of y){let Se=S4(ye.task,i,n),Ne=R.get(ye);if(!Wf(ye)){let ae=w+Dl+Se.width/2;J=Math.max(J,ae+Se.width/2),Z.push({task:ye,label:Se,row:Ne,x0:NaN,x1:NaN,labelX:ae,inside:!1});continue}let Ge=E(+ye.startTime),Fe=Math.max(E(+(ye.renderEndTime??ye.endTime)),Ge+(ye.milestone?0:2));if(ye.milestone){let ae=Ge+(E(+ye.endTime)-Ge)/2;Ge=ae-c/2,Fe=ae+c/2}let z=!ye.milestone&&Se.width+2*Dl<=Fe-Ge,ge=(Ge+Fe)/2;if(!z){let ae=Fe+Dl+Se.width<=T+A,xe=Ge-Dl-Se.width>=w;ge=ae||!xe?Fe+Dl+Se.width/2:Ge-Dl-Se.width/2,J=Math.max(J,ge+Se.width/2)}Z.push({task:ye,label:Se,row:Ne,x0:Ge,x1:Fe,labelX:ge,inside:z})}let W=e.tickInterval||TA(t,"tickInterval")||"",V=e.weekday??TA(t,"weekday")??"sunday",re=Math.max(2,Math.min(10,Math.floor(b/($+24)))),ne=sO(W,V,O,H,Math.ceil(b/3))??rO(O,H,re),ce="",ie="",se="",ee=-1/0,te="",he=Q+Y/2+2,me=_-B-Y/2-2;for(let ye of ne){let Se=E(ye);ce+=`M${d(Se)},${d(_-B)}V${d(Q)}`;let Ne=I(ye),Ge=i.width(Ne,u,0);if(Se-Ge/2<ee+8||Ne===te)continue;ee=Se+Ge/2,te=Ne,J=Math.max(J,ee);let Fe=`text-anchor="middle">${Je(Ne)}</text>`;ie+=`<text x="${d(Se)}" y="${d(he+u*.35)}" ${Fe}`,m&&(se+=`<text x="${d(Se)}" y="${d(me+u*.35)}" ${Fe}`)}let oe="",be="",de=[],pe=Q+Y+4,Ee=Math.round(n*1.5);for(let ye of[...C].sort((Se,Ne)=>+Se.startTime-+Ne.startTime)){let Se=E(+ye.startTime),Ne=S4(ye.task,i,n),Ge=Math.max(s+Ne.width/2,Se),Fe=0;for(;Fe<de.length&&Ge-Ne.width/2<de[Fe]+8;)Fe++;de[Fe]=Ge+Ne.width/2,J=Math.max(J,de[Fe]),oe+=`<path class="pele-vert" data-id="${Oe(ye.id)}" d="M${d(Se)},${d(_-B)}V${d(Q)}"/>`,be+=De(Ne,Ge,pe+Fe*Ee+Ee/2,` class="pele-vert-label" data-id="${Oe(ye.id)}"`)}let ve=Math.ceil(Math.max(J,s+k.width)+s),le=Math.ceil(Q+Y+(de.length>0?4+de.length*Ee:0)+s),fe="",Ae="";for(let ye=0;ye<D;){let Se=N[ye],Ne=ye+1;for(;Ne<D&&N[Ne]===Se;)Ne++;let Ge=S.get(Se)%g,Fe=_+ye*h,z=(Ne-ye)*h;(S.size>1||Se!=="")&&(fe+=`<rect class="pele-section pele-section-${Ge}" x="0" y="${d(Fe)}" width="${ve}" height="${d(z)}" fill="${Ge%2===0?"var(--_s)":"none"}"/>`);let ge=X.get(Se);Ae+=De(ge,s+8+ge.width/2,Fe+z/2,` class="pele-section-label" data-id="${Oe(Se)}"`,r.icons),ye=Ne}let Ie="";if((e.excludes.length>0||e.includes.length>0)&&+M4(new Date(O),6,"y")>H){let ye,Se,Ne=()=>{if(!ye||!Se)return;let Ge=new Date(ye);Ge.setHours(0,0,0,0);let Fe=new Date(Se);Fe.setHours(23,59,59,999);let z=Math.max(w,E(+Ge)),ge=Math.min(T,E(+Fe));ge>z&&(Ie+=`<rect x="${d(z)}" y="${d(_)}" width="${d(ge-z)}" height="${d(q)}"/>`),ye=Se=void 0};for(let Ge=new Date(O);+Ge<=H;Ge=vn(Ge,1))e.isInvalidDate(Ge)?(ye??=Ge,Se=Ge):Ne();Ne()}let Re=[],Pe="";for(let ye of Z){let Se=ye.task,Ne=_+ye.row*h+h/2,Ge=Se.active?"active":Se.done?"done":"",Fe="pele-task";Ge&&(Fe+=" pele-"+Ge),Se.crit&&(Fe+=" pele-crit"),Se.milestone&&(Fe+=" pele-milestone"),Se.classes.includes("clickable")&&(Fe+=" pele-clickable");let z="",ge="";if(Number.isNaN(ye.x0))Fe+=" pele-unscheduled",ge=' fill="var(--_m)"';else{let Ce=Se.crit?bc:"var(--_c)",ke=Ge==="done"?'fill="var(--_a)"':Ge==="active"?`fill="${Ce}" fill-opacity="0.25"`:`fill="${Ce}"`,_e=`stroke="${Ge==="done"&&!Se.crit?"var(--_b)":Ce}"`;if(Se.milestone){let Te=(ye.x0+ye.x1)/2,Ue=c/2;z=`<path d="M${d(Te)},${d(Ne-Ue)}L${d(Te+Ue)},${d(Ne)}L${d(Te)},${d(Ne+Ue)}L${d(Te-Ue)},${d(Ne)}Z" ${ke} ${_e} stroke-linejoin="round"/>`}else z=`<rect x="${d(ye.x0)}" y="${d(Ne-c/2)}" width="${d(ye.x1-ye.x0)}" height="${d(c)}" ${ke} ${_e}${ct}/>`;ye.inside?ge=Ge===""?' fill="var(--_bg)"':"":Ge==="done"&&(ge=' fill="var(--_m)"')}let ae=z+De(ye.label,ye.labelX,Ne,` class="pele-label"${ge}`),xe=e.links.get(Se.id);xe!==void 0&&(ae=di(ae,xe,Se.id,Re,r)),Pe+=`<g class="${Fe}" data-id="${Oe(Se.id)}">${ae}</g>`}let ue="";if(e.todayMarker!=="off"&&o>=O&&o<=H&&H>O){let ye=E(o),Se=_-B,Ne=e.todayMarker?Rt(e.todayMarker.split(",")).line:"";ue=`<g class="pele-today"><path d="M${d(ye)},${d(Se)}V${d(Q)}" fill="none" stroke="var(--_c)" stroke-width="2"${Ne}/>`+(Ne?"":`<path d="M${d(ye-4)},${d(Se-5)}H${d(ye+4)}L${d(ye)},${d(Se+1)}Z" fill="var(--_c)"/>`)+"</g>"}let we=`M${d(w)},${d(Q)}H${d(T)}`+(m?`M${d(w)},${d(_-B)}H${d(T)}`:""),$e=De(k,ve/2,s+k.height/2,' class="pele-title" font-weight="var(--_tw)"')+(fe?`<g class="pele-sections">${fe}</g>`:"")+(Ie?`<g class="pele-excluded" fill="var(--_a)">${Ie}</g>`:"")+`<g class="pele-grid" fill="none"><path d="${ce}" stroke="var(--_b)" stroke-dasharray="1 3"/><path d="${we}" stroke="var(--_b)"/></g>`+(oe?`<g class="pele-verts" fill="none" stroke="var(--_l)" stroke-width="1.5" stroke-dasharray="4 3">${oe}</g>`:"")+ue+`<g class="pele-tasks" font-size="${d(n)}">${Pe}</g><g class="pele-section-labels" font-size="${d(l)}">${Ae}</g><g class="pele-axis" font-size="${u}" fill="var(--_m)">${ie}${se}</g>`+(be?`<g class="pele-vert-labels" font-size="${d(n)}">${be}</g>`:"");return{svg:rt("gantt",ve,le,a,r,e,$e),width:ve,height:le,links:Re}}var Rl,go,gL,mL,AL,bL,yL,f4,Yc,xL,wL,Gi,SL,p4,Kc,g4,EL,A4,Lf,kL,$L,TL,IL,NL,DL,RL,_L,LL,OL,BL,FL,HL,PL,GL,UL,YL,KL,qL,zL,QL,vA,VL,kA,jL,XL,JL,y4,Hf,Qs,Vs,po,mo,Qc,NA,Pf,zc,Nl,aO,iO,nO,lO,uO,Dl,cO,N4,D4=Xe(()=>{Us();pr();zt();xt();Mt();Rl=["January","February","March","April","May","June","July","August","September","October","November","December"],go=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];gL=/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,mL=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,AL="YYYY-MM-DDTHH:mm:ssZ";bL=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,yL=/\[[^\]]+]/g,f4=/\d/,Yc=/\d\d/,xL=/\d{3}/,wL=/\d{4}/,Gi=/\d\d?/,SL=/[+-]?\d+/,p4=/[+-]\d\d:?(\d\d)?|Z/,Kc=/\d*[^-_:/,()\s\d]+/;g4=(e,t)=>{if(t==="Z")return e.offset=0,!0;let r=t.match(/([+-]|\d\d)/g),a=+r[1]*60+(+r[2]||0);return e.offset=a===0?0:r[0]==="+"?-a:a,!0};EL=new Map([["A",{re:Kc,read:(e,t)=>(e.afternoon=t==="PM",!0)}],["a",{re:Kc,read:(e,t)=>(e.afternoon=t==="pm",!0)}],["Q",{re:f4,read:(e,t)=>(e.month=(+t-1)*3+1,!0)}],["S",{re:f4,read:(e,t)=>(e.milliseconds=+t*100,!0)}],["SS",{re:Yc,read:(e,t)=>(e.milliseconds=+t*10,!0)}],["SSS",{re:xL,read:(e,t)=>(e.milliseconds=+t,!0)}],["s",{re:Gi,read:fa("seconds")}],["ss",{re:Gi,read:fa("seconds")}],["m",{re:Gi,read:fa("minutes")}],["mm",{re:Gi,read:fa("minutes")}],["H",{re:Gi,read:fa("hours")}],["h",{re:Gi,read:fa("hours")}],["HH",{re:Gi,read:fa("hours")}],["hh",{re:Gi,read:fa("hours")}],["D",{re:Gi,read:fa("day")}],["DD",{re:Yc,read:fa("day")}],["Do",{re:Kc,read:(e,t)=>{let r=t.match(/\d+/);if(!r)return!1;e.day=+r[0],e.dayGiven=!0;for(let a=1;a<=31;a++)E4(a)===t&&(e.day=a);return!0}}],["w",{re:Gi,read:fa("week")}],["ww",{re:Yc,read:fa("week")}],["M",{re:Gi,read:fa("month")}],["MM",{re:Yc,read:fa("month")}],["MMM",{re:Kc,read:m4(Rl.map(e=>e.slice(0,3)))}],["MMMM",{re:Kc,read:m4(Rl)}],["Y",{re:SL,read:fa("year")}],["YY",{re:Yc,read:(e,t)=>(e.year=+t+(+t>68?1900:2e3),!0)}],["YYYY",{re:wL,read:fa("year")}],["Z",{re:p4,read:g4}],["ZZ",{re:p4,read:g4}]]),Lf=null;kL=/^[YMDHhmsSZXx\-/.:, T]*$/,$L=/^\s*(active|done|crit|milestone|vert)\s*$/,TL=/^after\s+([\d\w- ]+)/,IL=/^until\s+([\d\w- ]+)/,NL=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/,DL=/[\s,]+/,RL=/^\d+$/,_L=new Set(go.map(e=>e.toLowerCase())),LL=4e8,OL=400,BL=200,FL=400;HL=class{type="gantt";title;accTitle;accDescr;dateFormat="";axisFormat="";tickInterval;todayMarker="";includes=[];excludes=[];inclusiveEndDates=!1;topAxis=!1;displayMode="";weekday;weekend="saturday";sections=[];links=new Map;tasks=[];byId=new Map;currentSection="";taskCount=0;lastOrder=0;lastTaskId;options;now=0;work=0;includeSet=new Set;excludeSet=new Set;excludedDays=[];datedTokens=!1;constructor(e={}){this.options=e}setDateFormat(e){this.dateFormat=e}enableInclusiveEndDates(){this.inclusiveEndDates=!0}TopAxis(){this.topAxis=!0}setAxisFormat(e){this.axisFormat=e}setTickInterval(e){this.tickInterval=e}setTodayMarker(e){this.todayMarker=e}setIncludes(e){this.includes=b4(this.includes,e)}setExcludes(e){this.excludes=b4(this.excludes,e)}setWeekday(e){this.weekday=e}setWeekend(e){this.weekend=e}setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
94
+ `)}addSection(e){this.currentSection=e,this.sections.push(e)}addTask(e,t){let r=(t.startsWith(":")?t.slice(1):t).split(","),a={id:"",task:e,section:this.currentSection,startTime:void 0,endTime:void 0,renderEndTime:null,manualEndTime:!1,processed:!1,active:!1,done:!1,crit:!1,milestone:!1,vert:!1,order:-1,classes:[],prevTaskId:this.lastTaskId,raw:{data:t,start:void 0,end:""}},i;for(;r.length>0&&(i=$L.exec(r[0]))!==null;)a[i[1]]=!0,r.shift();if(r.length===0)throw new je(`Task "${e.trim()}" needs a duration or an end date.`,"semantic",{type:"gantt"});if(r.length>3)throw new je(`Task "${e.trim()}" has too many fields. A task takes an id, a start, and an end or duration.`,"semantic",{type:"gantt"});for(let s=0;s<r.length;s++)r[s]=r[s].trim();r.length===3?a.id=r[0]:(this.taskCount++,a.id="task"+this.taskCount),r.length>1&&(a.raw.start=r[r.length-2]),a.raw.end=r[r.length-1],a.vert||(a.order=this.lastOrder++),this.tasks.push(a),this.lastTaskId=a.id,this.byId.set(a.id,a)}setLink(e,t){let r=Bi(t);for(let a of e.split(","))this.byId.has(a)&&this.links.set(a,r);this.setClass(e,"clickable")}setClickEvent(e,t,r){this.setClass(e,"clickable")}setClass(e,t){for(let r of e.split(","))this.byId.get(r)?.classes.push(t)}getTasks(e){this.now=T4(e),this.work=0,this.includeSet=new Set(this.includes),this.excludeSet=new Set(this.excludes);let t=this.weekend==="friday"?5:this.weekend==="saturday"?6:NaN,r=this.excludeSet.has("weekends");this.excludedDays=go.map((i,s)=>{let o=s||7;return r&&(o===t||o===t+1)||this.excludeSet.has(i.toLowerCase())}),this.datedTokens=this.includes.length>0||!kL.test(this.dateFormat.trim());for(let i of this.excludes)i!=="weekends"&&!_L.has(i)&&(this.datedTokens=!0);for(let i of this.tasks)i.startTime=i.endTime=void 0,i.renderEndTime=null,i.processed=i.manualEndTime=!1;let a=this.compileTasks();for(let i=0;!a&&i<10;i++)a=this.compileTasks();return this.tasks}isInvalidDate(e){let t=this.excludedDays[e.getDay()];if(!this.datedTokens)return t;let r=this.dateFormat.trim(),a=$4(e),i=a;this.spend(BL),r!=="YYYY-MM-DD"&&(this.spend(FL+r.length*8),i=k4(e,r));let s=o=>o.has(a)||i!==void 0&&o.has(i);return s(this.includeSet)?!1:t||s(this.excludeSet)}spend(e){if(this.work+=e,this.work>LL)throw new je("The gantt chart takes too much work to schedule.","limit",{type:"gantt"})}parse(e,t){return this.spend((t.length+1)*(e.length+1)),vL(e,t,new Date(this.now))}today(){let e=new Date(this.now);return e.setHours(0,0,0,0),e}warn(e){this.options.warn&&this.options.warn(e())}compileTasks(){let e=!0;for(let t of this.tasks)this.compileTask(t),e=e&&t.processed;return e}compileTask(e){let t=e.raw.start;if(t===void 0){let r=e.prevTaskId===void 0?void 0:this.byId.get(e.prevTaskId);e.startTime=r?r.endTime:this.today()}else{let r=this.getStartDate(t);r&&(e.startTime=r)}e.startTime&&(e.endTime=this.getEndDate(e.startTime,e.raw.end),e.endTime&&(e.processed=!0,e.manualEndTime=this.parse(e.raw.end,"YYYY-MM-DD")!==void 0,this.checkTaskDates(e)))}references(e,t){let r=[],a;for(let i of t.split(" ")){if(i==="")continue;let s=this.byId.get(i);s?r.push(s):(a??=[]).push(i)}if(a){let i=a;this.warn(()=>`Gantt: "${e}" refers to task ids that do not exist: ${i.join(", ")}.`)}return r}getStartDate(e){let t=e.trim(),r=this.dateFormat.trim();if((r==="x"||r==="X")&&RL.test(t))return this.checked(new Date(Number(t)),t);let a=TL.exec(t);if(a!==null){let o=this.references("after",a[1]),n;for(let l of o)(!n||l.endTime>n.endTime)&&(n=l);return n?n.endTime:this.today()}let i=this.parse(t,r);if(i)return i;let s=new Date(t);if(!qc(s)||s.getFullYear()<-1e4||s.getFullYear()>1e4)throw new je("Invalid date:"+t,"semantic",{type:"gantt"});return s}checked(e,t){if(!qc(e))throw new je("Invalid date:"+t,"semantic",{type:"gantt"});return e}getEndDate(e,t){let r=t.trim(),a=IL.exec(r);if(a!==null){let u=this.references("until",a[1]),c;for(let f of u)(!c||f.startTime<c.startTime)&&(c=f);return c?c.startTime:this.today()}let i=this.dateFormat.trim(),s=this.parse(r,i);if(s)return this.inclusiveEndDates?vn(s,1):s;let[o,n]=WL(r);if(Number.isNaN(o))return this.warn(()=>`Gantt: "${r}" is neither a date in the "${i}" format nor a duration such as "3d", so the task gets no duration.`),new Date(e);let l=M4(e,o,n);return qc(l)?l:new Date(e)}checkTaskDates(e){if(this.excludes.length===0||e.manualEndTime)return;let t=vn(e.startTime,1),r=new Date(e.endTime),a=+vn(r,1e4),i=!1,s=null;for(;+t<=+r;){if(this.spend(OL),i||(s=+r),i=this.isInvalidDate(t),i&&(r.setDate(r.getDate()+1),+r>a))throw new je("Failed to find a valid date that was not excluded by `excludes` after 10,000 iterations.","semantic",{type:"gantt"});t.setDate(t.getDate()+1)}e.endTime=r,e.renderEndTime=s===null?null:new Date(s)}},PL=["$end","INVALID","open_directive","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","NL","href","callbackname","callbackargs","click","gantt","dateFormat","inclusiveEndDates","topAxis","axisFormat","tickInterval","includes","excludes","todayMarker","weekday_monday","weekday_tuesday","weekday_wednesday","weekday_thursday","weekday_friday","weekday_saturday","weekday_sunday","weekend_friday","weekend_saturday","date","title","accDescription","section","taskTxt","taskData",":","EOF"],GL=/accTitle\s*:\s*/iy,UL=/accDescr\s*:\s*/iy,YL=/accDescr\s*\{\s*/iy,KL=/href\s+"/iy,qL=/call\s+/iy,zL=/click\s+/iy,QL=/\(\s*\)/y,vA=/weekday\s+(monday|tuesday|wednesday|thursday|friday|saturday|sunday)\b/iy,VL=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],kA=/weekend\s+(?:(friday)|saturday)\b/iy,jL=/\d\d\d\d-\d\d-\d\d\b/y,XL=new Map([[97,[[/axisFormat\s[^#\n;]+/iy,17],[/accDescription\s[^#\n;]+/iy,33]]],[103,[[/gantt\b/iy,13]]],[100,[[/dateFormat\s[^#\n;]+/iy,14]]],[105,[[/inclusiveEndDates\b/iy,15],[/includes\s[^#\n;]+/iy,19]]],[116,[[/topAxis\b/iy,16],[/tickInterval\s[^#\n;]+/iy,18],[/todayMarker\s[^\n;]+/iy,21],[/title\s[^\n]+/iy,32]]],[101,[[/excludes\s[^#\n;]+/iy,20]]],[115,[[/section\s[^\n]+/iy,34]]]]);JL=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],y4="'EOF', 'SPACE', 'NL', 'weekday_monday', 'weekday_tuesday', 'weekday_wednesday', 'weekday_thursday', 'weekday_friday', 'weekday_saturday', 'weekday_sunday', 'weekend_friday', 'weekend_saturday', 'dateFormat', 'inclusiveEndDates', 'topAxis', 'axisFormat', 'tickInterval', 'excludes', 'includes', 'todayMarker', 'title', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'section', 'taskTxt', 'click'",Hf=new Uint8Array(39);for(let e=22;e<=30;e++)Hf[e]=1;for(let e of[38,8,14,15,16,17,18,20,19,21,32,3,5,7,34,35,12])Hf[e]=1;Qs=1e3,Vs=60*Qs,po=60*Vs,mo=24*po,Qc=7*mo,NA=30*mo,Pf=365*mo;zc={millisecond:{floor:()=>{},offset:(e,t)=>e.setTime(+e+t),cycle:1/0,ms:1},second:{floor:e=>e.setTime(+e-e.getMilliseconds()),offset:(e,t)=>e.setTime(+e+t*Qs),field:e=>e.getUTCSeconds(),cycle:60,ms:Qs},minute:{floor:e=>e.setTime(+e-e.getMilliseconds()-e.getSeconds()*Qs),offset:(e,t)=>e.setTime(+e+t*Vs),field:e=>e.getMinutes(),cycle:60,ms:Vs},hour:{floor:e=>e.setTime(+e-e.getMilliseconds()-e.getSeconds()*Qs-e.getMinutes()*Vs),offset:(e,t)=>e.setTime(+e+t*po),field:e=>e.getHours(),cycle:24,ms:po},day:{floor:Of,offset:(e,t)=>e.setDate(e.getDate()+t),field:e=>e.getDate()-1,cycle:31,ms:mo},month:{floor(e){e.setDate(1),Of(e)},offset:(e,t)=>e.setMonth(e.getMonth()+t),field:e=>e.getMonth(),cycle:12,ms:NA},year:{floor(e){e.setMonth(0,1),Of(e)},offset:(e,t)=>e.setFullYear(e.getFullYear()+t),cycle:1/0,ms:Pf}};Nl=[["second",1,Qs],["second",5,5*Qs],["second",15,15*Qs],["second",30,30*Qs],["minute",1,Vs],["minute",5,5*Vs],["minute",15,15*Vs],["minute",30,30*Vs],["hour",1,po],["hour",3,3*po],["hour",6,6*po],["hour",12,12*po],["day",1,mo],["day",2,2*mo],["week",1,Qc],["month",1,NA],["month",3,3*NA],["year",1,Pf]];aO=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/,iO=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];nO=new Map([["-",""],["_"," "],["0","0"]]);lO=800,uO=240,Dl=8,cO=/<br\s*\/?>/gi;N4={type:"gantt",parse(e,t,r){let a=new HL;r&&(a.title=r);let i=t.gantt?.displayMode;return typeof i=="string"&&(a.displayMode=i),eO(e,a),a},render:fO}});var R4={};Bt(R4,{gantt:()=>N4});var _4=Xe(()=>{D4()});function ms(e){throw new je(e,"semantic",{type:"architecture"})}function gO(e,t){e.accDescr&&(t.accDescr=e.accDescr.replace(/\n\s+/g,`
95
+ `)),e.accTitle&&(t.accTitle=e.accTitle.replace(/^\s+/g,"")),e.title&&(t.title=e.title);for(let r of e.groups)t.addGroup(r);for(let r of e.services)t.addService(r);for(let r of e.junctions)t.addJunction(r);for(let r of e.edges)t.addEdge(r);for(let r of e.alignments)t.addLayoutHint({direction:r.direction,members:[...r.members]})}function kn(e){return{name:e,pattern:e,longer:[G4]}}function DA(e){let t=e.slice(1,-1).trim();return(t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"))&&(t=t.slice(1,-1).replace(/\\"/g,'"').replace(/\\'/g,"'")),t.trim()}function mO(e){let t=new cr(sr(e,L4,"architecture"),L4,"architecture"),r={$type:"Architecture",groups:[],services:[],junctions:[],edges:[],alignments:[]},a=s=>t.kinds[t.i]===s,i=()=>{if(t.kind!==-1)for(t.kind!==19&&t.fail("a line break or the end of input");t.kind===19;)t.i++};for(;t.kind===19;)t.i++;for(t.expect(0);t.kind!==-1;){switch(t.kind){case 19:t.i++;continue;case 14:r.accDescr=ur(t.take());break;case 15:r.accTitle=lr(t.take());break;case 16:r.title=or(t.take());break;case 4:{t.i++;let s={$type:"Group",id:t.expect(18)};a(24)&&(s.icon=t.take().slice(1,-1)),a(25)&&(s.title=DA(t.take())),t.accept(8)&&(s.in=t.expect(18)),r.groups.push(s);break}case 2:{t.i++;let s={$type:"Service",id:t.expect(18)};a(17)?s.iconText=Qr(t.take()):a(24)&&(s.icon=t.take().slice(1,-1)),a(25)&&(s.title=DA(t.take())),t.accept(8)&&(s.in=t.expect(18)),r.services.push(s);break}case 1:{t.i++;let s={$type:"Junction",id:t.expect(18)};t.accept(8)&&(s.in=t.expect(18)),r.junctions.push(s);break}case 18:{let s=t.take(),o=t.accept(12);t.expect(9);let n=t.expect(11),l=t.accept(13),u;t.accept(7)||(a(10)||t.fail("'--' or '-'"),t.i++,u=DA(t.expect(25)),t.expect(10));let c=t.accept(13),f=t.expect(11);t.expect(9);let h=t.expect(18),g=t.accept(12);r.edges.push({$type:"Edge",lhsId:s,lhsGroup:o,lhsDir:n,lhsInto:l,title:u,rhsInto:c,rhsDir:f,rhsId:h,rhsGroup:g});break}case 5:{t.i++,!a(6)&&!a(3)&&t.fail("'row' or 'column'");let s=t.take(),o=[t.expect(18),t.expect(18)];for(;a(18);)o.push(t.take());r.alignments.push({$type:"Alignment",direction:s,members:o});break}default:t.fail("a group, a service, a junction, an edge, an alignment, a title, or a line break")}i()}return r}function bO(e){let t=AO.get(e);return t===void 0?"":`<path d="${t}" stroke="var(--_fg)" stroke-width="1.5"/>`}function qf(e){return e==="L"?0:e==="R"?1:e==="T"?2:3}function yO(e,t,r,a){let i=e.length,s=t.length,o=s,n=new Map,l=new Map,u=new Int32Array(i+s).fill(o),c=new Int32Array(s+1),f=[];for(let Q=0;Q<=s;Q++)f.push([]);t.forEach((Q,Z)=>{l.set(Q.id,Z);let J=Q.in===void 0?void 0:l.get(Q.in);J!==void 0&&J!==Z?(u[i+Z]=J,c[Z]=c[J]+1):c[Z]=1}),e.forEach((Q,Z)=>{n.set(Q.id,Z);let J=Q.in===void 0?void 0:l.get(Q.in);J!==void 0&&(u[Z]=J),f[u[Z]].push(Z)});for(let Q=0;Q<s;Q++)f[u[i+Q]].push(i+Q);let h=[],g=[],p=[],m=[],x=[],y=[],C=new Array(i+s),S=new Array(i+s),R=(Q,Z,J,W,V)=>{if(Q===Z)return;let re=Q,ne=Z,ce=u[Q],ie=u[Z];for(;ce!==ie;)c[ce]>=c[ie]?(re=i+ce,ce=u[re]):(ne=i+ie,ie=u[ne]);let se=h.length;h.push(Q),g.push(Z),p.push(J),m.push(W),x.push(re),y.push(ne),(V[re]??=[]).push(se),(V[ne]??=[]).push(se)};for(let Q of a){let Z=Q.direction==="row";for(let J=1;J<Q.members.length;J++){let W=n.get(Q.members[J-1]),V=n.get(Q.members[J]);W!==void 0&&V!==void 0&&R(W,V,Z?1:3,Z?0:2,C)}}for(let Q of[!1,!0])for(let Z of r){if(Z.lhsDir===Z.rhsDir!==Q)continue;let J=n.get(Z.lhsId),W=n.get(Z.rhsId);J!==void 0&&W!==void 0&&R(J,W,qf(Z.lhsDir),qf(Z.rhsDir),S)}let N=new Int32Array(i+s),D=new Int32Array(i+s),O=new Int32Array(i+s).fill(1),H=new Int32Array(i+s).fill(1),U=new Uint8Array(i+s),k=[],j=new Map,X=[],P=new Map,F=0,I=0,$=0,w=(Q,Z)=>{I=0,$=0;for(let J=Q;J!==Z;J=i+u[J])I+=N[J],$+=D[J]},A=(Q,Z,J)=>{if(N[Q]=Z,D[Q]=J,U[Q]=1,k.push(Q),O[Q]*H[Q]>O4){X.push(Q);return}for(let W=J;W<J+H[Q];W++)for(let V=Z;V<Z+O[Q];V++)j.set((V+Kf)*B4+W+Kf,Q)},v=(Q,Z,J,W,V)=>N[Q]<Z+W&&Z<N[Q]+O[Q]&&D[Q]<J+V&&J<D[Q]+H[Q],b=(Q,Z,J,W)=>{if(J*W>O4){for(let V=F;V<k.length;V++)if(v(k[V],Q,Z,J,W))return k[V];return-1}for(let V=Z;V<Z+W;V++)for(let re=Q;re<Q+J;re++){let ne=j.get((re+Kf)*B4+V+Kf);if(ne!==void 0)return ne}for(let V of X)if(v(V,Q,Z,J,W))return V;return-1},T=(Q,Z,J,W,V,re)=>{let ne=`${Q},${Z},${J},${W},${V},${re}`,ce=P.get(ne)??0;for(;;){let ie=b(Q+ce*V,Z+ce*re,J,W);if(ie<0)break;ce=V>0?N[ie]+O[ie]-Q:V<0?Q+J-N[ie]:re>0?D[ie]+H[ie]-Z:Z+W-D[ie]}return P.set(ne,ce),ce},M=(Q,Z)=>{let J=x[Z]===Q,W=J?y[Z]:x[Z];if(U[W])return;let V=J?p[Z]:m[Z],re=J?m[Z]:p[Z];w(J?h[Z]:g[Z],Q);let ne=I,ce=$;w(J?g[Z]:h[Z],W);let ie=Vc[V],se=Yf[V],ee=0,te=0,he=Vc[V]+Vc[re]===0&&Yf[V]+Yf[re]===0;V===re?(ie=Vc[V]===0?1:0,se=1-ie):he||(ee=-Vc[re],te=-Yf[re]);let me,oe;if(ie!==0?(me=ie>0?N[Q]+O[Q]:N[Q]-O[W],oe=D[Q]+ce+te-$):(oe=se>0?D[Q]+H[Q]:D[Q]-H[W],me=N[Q]+ne+ee-I),he){let be=S[W];if(be!==void 0&&be.length>1){let fe=[];for(let Ae of be){let Ie=y[Ae]===W,Re=Ie?x[Ae]:y[Ae];if(!U[Re]||(Ie?p[Ae]:m[Ae])!==V||(Ie?m[Ae]:p[Ae])!==re)continue;w(Ie?h[Ae]:g[Ae],Re);let Pe=ie!==0?D[Re]+$:N[Re]+I;w(Ie?g[Ae]:h[Ae],W),fe.push(Pe-(ie!==0?$:I))}fe.length>1&&(fe.sort((Ae,Ie)=>Ae-Ie),ie!==0?oe=fe[fe.length-1>>1]:me=fe[fe.length-1>>1])}let de=ie===0?1:0,pe=1-de,Ee=T(me,oe,O[W],H[W],de,pe),ve=Ee===0?0:T(me,oe,O[W],H[W],-de,-pe),le=Ee<=ve?Ee:-ve;me+=de*le,oe+=pe*le}else{let be=T(me,oe,O[W],H[W],ie,se);me+=ie*be,oe+=se*be}A(W,me,oe)},E=Q=>{let Z=f[Q];if(Z.length===0)return;k.length=0;let J=[];for(let be of Z){if(U[be])continue;F=k.length,J.push(F),j.clear(),X.length=0,P.clear(),A(be,0,0);let de=F,pe=F,Ee=0;for(;;){if(de<k.length){let le=k[de++],fe=C[le];if(fe!==void 0)for(let Ae of fe)M(le,Ae);continue}if(pe>=k.length)break;let ve=S[k[pe]];if(ve===void 0||Ee>=ve.length){pe++,Ee=0;continue}M(k[pe],ve[Ee++])}}J.push(k.length);let W=J.length-1,V=new Array(W),re=new Array(W),ne=new Array(W),ce=new Array(W),ie=0,se=0;for(let be=0;be<W;be++){let de=1/0,pe=1/0,Ee=-1/0,ve=-1/0;for(let le=J[be];le<J[be+1];le++){let fe=k[le];de=Math.min(de,N[fe]),pe=Math.min(pe,D[fe]),Ee=Math.max(Ee,N[fe]+O[fe]),ve=Math.max(ve,D[fe]+H[fe])}V[be]=de,re[be]=pe,ne[be]=Ee-de,ce[be]=ve-pe,ie+=ne[be]*ce[be],se=Math.max(se,ne[be])}let ee=Math.max(se,Math.ceil(Math.sqrt(ie*2))),te=0,he=0,me=0,oe=0;for(let be=0;be<W;be++){te>0&&te+ne[be]>ee&&(he+=me,te=0,me=0);for(let de=J[be];de<J[be+1];de++)N[k[de]]+=te-V[be],D[k[de]]+=he-re[be];te+=ne[be],me=Math.max(me,ce[be]),oe=Math.max(oe,te)}Q<s&&(O[i+Q]=oe,H[i+Q]=he+me)};for(let Q=s-1;Q>=0;Q--)E(Q);E(o);let Y=new Int32Array(s),G=new Int32Array(s),K=new Int32Array(s),L=new Uint8Array(s);for(let Q=0;Q<s;Q++){let Z=u[i+Q];K[Q]=Z===o?-1:Z,Y[Q]=N[i+Q]+(Z===o?0:Y[Z]),G[Q]=D[i+Q]+(Z===o?0:G[Z]),f[Q].length===0&&(L[Q]=1)}let _=new Int32Array(i),B=new Int32Array(i),q=new Int32Array(i);for(let Q=0;Q<i;Q++){let Z=u[Q];q[Q]=Z===o?-1:Z,_[Q]=N[Q]+(Z===o?0:Y[Z]),B[Q]=D[Q]+(Z===o?0:G[Z])}return{col:_,row:B,groupCol:Y,groupRow:G,groupCols:O.slice(i),groupRows:H.slice(i),groupParent:K,groupEmpty:L,nodeParent:q}}function RA(e,t,r,a,i){let s=e.architecture,o=s!==null&&typeof s=="object"&&!Array.isArray(s)?s[t]:void 0;return typeof o=="number"&&Number.isFinite(o)?Math.min(i,Math.max(a,o)):r}function H4(e){let t=new Map;for(let r of e.sort((a,i)=>a-i))t.has(r)||t.set(r,t.size);return t}function P4(e,t,r,a,i){return`<svg class="pele-icon" data-icon="${Oe(e)}" x="${d(t)}" y="${d(r)}" width="${d(a)}" height="${d(a)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${i?.(e)??bO(e)}</svg>`}function EO(e,t,r,a){let i=e.lines.length>r;if(!i&&e.width<=t)return e;let s=a.width("\u2026",e.size,0),o=[],n=[],l=0;for(let u=0;u<Math.min(r,e.lines.length);u++){let c=e.lines[u].map(h=>({...h})),f=e.widths[u];if(f>t||i&&u===r-1)for(;;){let h=c[c.length-1];if(h===void 0){c.push({text:"\u2026",style:0,width:s}),f=s;break}let g=f-h.width;if(h.icon===void 0&&g+s<t){let p=0,m=h.text.length;for(;p<m;){let y=p+m+1>>1;g+a.width(h.text.slice(0,y),e.size,h.style)+s<=t?p=y:m=y-1}let x=p>0?h.text.charCodeAt(p-1):0;x>=55296&&x<=56319&&p--,h.text=h.text.slice(0,p).trimEnd()+"\u2026",h.width=a.width(h.text,e.size,h.style),f=g+h.width;break}c.pop(),f=g}o.push(c),n.push(f),l=Math.max(l,f)}return{...e,lines:o,widths:n,width:l,height:o.length*e.lineHeight}}function CO(e,t){let{x:r,y:a,dx:i,dy:s}=e,{x:o,y:n,dx:l,dy:u}=t,c=r+i*wa,f=a+s*wa,h=o+l*wa,g=n+u*wa;if(i*l+s*u===0){let y=i!==0?o:r,C=i!==0?a:n;return(y-r)*i+(C-a)*s>0&&(y-o)*l+(C-n)*u>0?[r,a,y,C,o,n]:i!==0?[r,a,c,f,c,g,h,g,o,n]:[r,a,c,f,h,f,h,g,o,n]}let p=i!==0,m=p?n-a:o-r;if(i===-l&&s===-u){if((o-r)*i+(n-a)*s>0){if(Math.abs(m)<.5)return[r,a,o,n];if(p){let R=i>0?e.x1:t.x1,N=i>0?t.x0:e.x0,D=R<N?(R+N)/2:(r+o)/2;return[r,a,D,a,D,n,o,n]}let y=s>0?e.y1:t.y1,C=s>0?t.y0:e.y0,S=y<C?(y+C)/2:(a+n)/2;return[r,a,r,S,o,S,o,n]}}else if(Math.abs(m)>=1){if(p){let C=i>0?Math.max(r,o)+wa:Math.min(r,o)-wa;return[r,a,C,a,C,n,o,n]}let y=s>0?Math.max(a,n)+wa:Math.min(a,n)-wa;return[r,a,r,y,o,y,o,n]}if(p){let y=e.y1+wa<=t.y0?(e.y1+t.y0)/2:t.y1+wa<=e.y0?(t.y1+e.y0)/2:Math.max(e.y1,t.y1)+wa;return[r,a,c,a,c,y,h,y,h,n,o,n]}let x=e.x1+wa<=t.x0?(e.x1+t.x0)/2:t.x1+wa<=e.x0?(t.x1+e.x0)/2:Math.max(e.x1,t.x1)+wa;return[r,a,r,f,x,f,x,g,o,g,o,n]}function MO(e){let t=[e[0],e[1]];for(let r=2;r<e.length;r+=2){let a=e[r],i=e[r+1],s=t.length,o=Math.abs(a-t[s-2])<.01,n=Math.abs(i-t[s-1])<.01;o&&n||(s>=4&&(o&&Math.abs(t[s-4]-t[s-2])<.01||n&&Math.abs(t[s-3]-t[s-1])<.01)?(t[s-2]=a,t[s-1]=i):t.push(a,i))}return t}function vO(e,t,r){let a=e.length/2,i=new Array(a),s=new Array(a);for(let l=0;l<a;l++)i[l]=e[l*2],s[l]=e[l*2+1];let o=(l,u,c)=>{let f=Math.hypot(i[u]-i[l],s[u]-s[l]),h=Math.min(c,Math.max(0,f-1));f>0&&h>0&&(i[l]+=(i[u]-i[l])/f*h,s[l]+=(s[u]-s[l])/f*h)};o(0,1,t),o(a-1,a-2,r);let n=`M${d(i[0])},${d(s[0])}`;for(let l=1;l<a-1;l++){let u=Math.hypot(i[l]-i[l-1],s[l]-s[l-1]),c=Math.hypot(i[l+1]-i[l],s[l+1]-s[l]),f=Math.min(xO,u/2,c/2);if(f<.5){n+=`L${d(i[l])},${d(s[l])}`;continue}let h=i[l]-(i[l]-i[l-1])/u*f,g=s[l]-(s[l]-s[l-1])/u*f,p=i[l]+(i[l+1]-i[l])/c*f,m=s[l]+(s[l+1]-s[l])/c*f;n+=`L${d(h)},${d(g)}Q${d(i[l])},${d(s[l])} ${d(p)},${d(m)}`}return n+`L${d(i[a-1])},${d(s[a-1])}`}function kO(e,t,r){return ca(r,a=>$O(e,t,r,a))}function $O(e,t,r,a){let i=RA(t,"iconSize",48,8,512),s=RA(t,"fontSize",r.fontSize??16,4,128),o=Math.min(RA(t,"padding",20,0,256),a?12:1/0),n=Math.round(s*.875),l=r.measurer??at(r.fontFamily),u=r.padding??8,c=r.icons,f=i/2,h=[...e.nodes.values()],g=[...e.groups.values()],p=h.length,m=g.length,x=yO(h,g,e.edges,e.layoutHints),y=new Map;h.forEach((ae,xe)=>y.set(ae.id,xe));let C=new Array(p),S=new Float64Array(p),R=new Float64Array(p),N=a?Math.max(i,64):Math.max(i*2.25,96);for(let ae=0;ae<p;ae++){let xe=h[ae],Ce=We(xe.type==="service"?xe.title:void 0,!0,l,s,N);C[ae]=Ce,S[ae]=Math.max(i,2*Math.ceil(Ce.width/2)),R[ae]=i+(Ce.height>0?F4+Ce.height:0)}let D=[],O=[];for(let ae=0;ae<p;ae++)D.push(x.col[ae]),O.push(x.row[ae]);for(let ae=0;ae<m;ae++)x.groupEmpty[ae]&&(D.push(x.groupCol[ae]),O.push(x.groupRow[ae]));let H=H4(D),U=H4(O),k=H.size,j=U.size,X=new Float64Array(k),P=new Float64Array(j),F=a?Math.max(24,2*wa):Math.max(40,Math.round(i*.75)),I=new Float64Array(k).fill(F),$=new Float64Array(j).fill(F),w=new Int32Array(p),A=new Int32Array(p);for(let ae=0;ae<p;ae++){let xe=w[ae]=H.get(x.col[ae]),Ce=A[ae]=U.get(x.row[ae]);X[xe]=Math.max(X[xe],S[ae]),P[Ce]=Math.max(P[Ce],R[ae])}for(let ae=0;ae<m;ae++){if(!x.groupEmpty[ae])continue;let xe=H.get(x.groupCol[ae]),Ce=U.get(x.groupRow[ae]);X[xe]=Math.max(X[xe],i),P[Ce]=Math.max(P[Ce],f)}let v=e.edges.length,b=new Array(v),T=new Int32Array(v*2);for(let ae=0;ae<v;ae++){let xe=e.edges[ae],Ce=T[ae*2]=y.get(xe.lhsId)??-1,ke=T[ae*2+1]=y.get(xe.rhsId)??-1,_e=We(xe.title,!0,l,n,160);if(b[ae]=_e,!(_e.width===0||Ce<0||ke<0)){if(w[Ce]!==w[ke]){let Te=Math.min(w[Ce],w[ke]);I[Te]=Math.max(I[Te],Math.ceil(_e.width)+28)}else if(X[w[Ce]]=Math.max(X[w[Ce]],2*Math.ceil(_e.width/2)+8),A[Ce]!==A[ke]){let Te=Math.min(A[Ce],A[ke]);$[Te]=Math.max($[Te],Math.ceil(_e.height)+24)}}}let M=new Array(m),E=new Int32Array(m),Y=new Int32Array(m),G=new Int32Array(m),K=new Int32Array(m),L=new Float64Array(m),_=new Float64Array(m),B=new Float64Array(m),q=new Float64Array(m),Q=new Float64Array(m),Z=new Float64Array(m),J=new Float64Array(k),W=new Float64Array(k),V=new Float64Array(j),re=new Float64Array(j),ne=Math.round(s*1.25);for(let ae=0;ae<m;ae++){E[ae]=H.get(x.groupCol[ae]),Y[ae]=H.get(x.groupCol[ae]+x.groupCols[ae]-1),G[ae]=U.get(x.groupRow[ae]),K[ae]=U.get(x.groupRow[ae]+x.groupRows[ae]-1);let xe=We(g[ae].title,!0,l,s,a?Math.max(80,Ht(r)/2):320);M[ae]=xe;let Ce=g[ae].icon?ne:0;Q[ae]=xe.width+Ce+(xe.width>0&&Ce>0?6:0),Z[ae]=Math.max(xe.height,Ce)}for(let ae=m-1;ae>=0;ae--){let xe=o+L[ae],Ce=o+_[ae],ke=(Z[ae]>0?Math.max(o,Z[ae]+12):o)+B[ae],_e=o+q[ae];if(Q[ae]>0){let Ue=xe+Ce;for(let Me=E[ae];Me<=Y[ae];Me++)Ue+=X[Me]+(Me<Y[ae]?W[Me]+I[Me]+J[Me+1]:0);Q[ae]+20>Ue&&(Ce+=Math.ceil(Q[ae]+20-Ue))}L[ae]=xe,_[ae]=Ce,B[ae]=ke,q[ae]=_e,J[E[ae]]=Math.max(J[E[ae]],xe),W[Y[ae]]=Math.max(W[Y[ae]],Ce),V[G[ae]]=Math.max(V[G[ae]],ke),re[K[ae]]=Math.max(re[K[ae]],_e);let Te=x.groupParent[ae];Te<0||(E[Te]===E[ae]&&(L[Te]=Math.max(L[Te],xe)),Y[Te]===Y[ae]&&(_[Te]=Math.max(_[Te],Ce)),G[Te]===G[ae]&&(B[Te]=Math.max(B[Te],ke)),K[Te]===K[ae]&&(q[Te]=Math.max(q[Te],_e)))}let ce=new Float64Array(k),ie=new Float64Array(j),se=0;for(let ae=0;ae<k;ae++)ce[ae]=se+J[ae],se=ce[ae]+X[ae]+W[ae]+(ae<k-1?I[ae]:0);let ee=0;for(let ae=0;ae<j;ae++)ie[ae]=ee+V[ae],ee=ie[ae]+P[ae]+re[ae]+(ae<j-1?$[ae]:0);let te=0,he=0,me=se,oe=ee,be=ae=>ce[E[ae]]-L[ae],de=ae=>ce[Y[ae]]+X[Y[ae]]+_[ae],pe=ae=>ie[G[ae]]-B[ae],Ee=ae=>ie[K[ae]]+P[K[ae]]+q[ae],ve=ae=>ce[w[ae]]+X[w[ae]]/2,le=(ae,xe,Ce)=>{let ke=wO[xe],_e=SO[xe],Te=ve(ae),Ue=ie[A[ae]],Me={x:Te,y:Ue+f,dx:ke,dy:_e,x0:Te-S[ae]/2,y0:Ue,x1:Te+S[ae]/2,y1:Ue+R[ae],gap:0,wire:!1};h[ae].type==="junction"?(Me.x0=Me.x1=Te,Me.y0=Me.y1=Me.y,Me.gap=W4):ke!==0?Me.x=Te+ke*f:Me.y=_e<0?Ue:Ue+R[ae]+(C[ae].height>0?2:0);let qe=Ce?x.nodeParent[ae]:-1;return qe>=0&&(Me.x0=be(qe),Me.x1=de(qe),Me.y0=pe(qe),Me.y1=Ee(qe),Me.gap=0,Me.wire=h[ae].type==="junction",ke!==0?Me.x=ke<0?Me.x0:Me.x1:Me.y=_e<0?Me.y0:Me.y1),Me},fe="",Ae="",Ie=[],Re=wt("arrow_point");for(let ae=0;ae<v;ae++){let xe=e.edges[ae],Ce=T[ae*2],ke=T[ae*2+1];if(Ce<0||ke<0)continue;let _e=le(Ce,qf(xe.lhsDir),xe.lhsGroup),Te=le(ke,qf(xe.rhsDir),xe.rhsGroup);_e.x===Te.x&&_e.y===Te.y&&_e.dx===Te.dx&&(_e.x-=8*Math.abs(_e.dy),_e.y-=8*Math.abs(_e.dx),Te.x+=8*Math.abs(_e.dy),Te.y+=8*Math.abs(_e.dx));let Ue=CO(_e,Te);_e.wire&&Ue.unshift(ve(Ce),ie[A[Ce]]+f),Te.wire&&Ue.push(ve(ke),ie[A[ke]]+f);let Me=MO(Ue);if(Me.length<4)continue;let qe=Oe(`${xe.lhsId}-${xe.rhsId}`);fe+=`<g class="pele-edge" data-id="${qe}"><path d="${vO(Me,xe.lhsInto&&!_e.wire?Re+_e.gap:0,xe.rhsInto&&!Te.wire?Re+Te.gap:0)}"/>`+(xe.lhsInto?vt("arrow_point",_e.x+_e.dx*_e.gap,_e.y+_e.dy*_e.gap,-_e.dx,-_e.dy,"var(--_l)"):"")+(xe.rhsInto?vt("arrow_point",Te.x+Te.dx*Te.gap,Te.y+Te.dy*Te.gap,-Te.dx,-Te.dy,"var(--_l)"):"")+"</g>";let Ve=-1,nt=-1,gt=-1,it=-1,dt=b[ae];for(let ht=0;ht<Me.length;ht+=2)te=Math.min(te,Me[ht]-4),me=Math.max(me,Me[ht]+4),he=Math.min(he,Me[ht+1]-4),oe=Math.max(oe,Me[ht+1]+4);for(let ht=0;ht+3<Me.length;ht+=2){let jt=Math.abs(Me[ht+1]-Me[ht+3])<.01,Ot=Math.abs(Me[ht]-Me[ht+2])+Math.abs(Me[ht+1]-Me[ht+3]);jt||Ie.push(Me[ht],Math.min(Me[ht+1],Me[ht+3]),Math.max(Me[ht+1],Me[ht+3])),Ot>nt&&(Ve=ht,nt=Ot),jt&&Ot>it&&(gt=ht,it=Ot)}if(dt.width>0){let ht=it>=dt.width+8?gt:Ve,jt=(Me[ht]+Me[ht+2])/2,Ot=(Me[ht+1]+Me[ht+3])/2,$t=dt.width+8,Qt=Math.abs(Me[ht]-Me[ht+2])<.01;for(let Ye of[_e,Te])jt+$t/2<=Ye.x0||jt-$t/2>=Ye.x1||Ot+dt.height/2<=Ye.y0||Ot-dt.height/2>=Ye.y1||(Qt?jt=jt>=(Ye.x0+Ye.x1)/2?Ye.x1+$t/2+4:Ye.x0-$t/2-4:Ot=Ot>=(Ye.y0+Ye.y1)/2?Ye.y1+dt.height/2+4:Ye.y0-dt.height/2-4);te=Math.min(te,jt-$t/2),me=Math.max(me,jt+$t/2),he=Math.min(he,Ot-dt.height/2),oe=Math.max(oe,Ot+dt.height/2),Ae+=qr(`${xe.lhsId}-${xe.rhsId}`,dt,jt,Ot,"",c)}}let Pe="";for(let ae=0;ae<m;ae++){let xe=g[ae],Ce=be(ae),ke=pe(ae),_e=de(ae)-Ce,Te=M[ae],Ue="";if(Q[ae]>0){let Me=ke+Z[ae]+12,qe=[];for(let it=0;it<Ie.length;it+=3)Ie[it+1]<Me&&Ie[it+2]>ke&&Ie[it]>Ce&&Ie[it]<Ce+_e&&qe.push(Ie[it]);qe.sort((it,dt)=>it-dt),qe.push(Ce+_e-4);let Ve=Ce+10;for(let it of qe){if(it-6-Ve>=Q[ae])break;Ve=Math.max(Ve,it+6)}Ve+Q[ae]>Ce+_e-4&&(Ve=Ce+10);let nt=ke+6+Z[ae]/2,gt=Ve;xe.icon&&(Ue+=P4(xe.icon,Ve,nt-ne/2,ne,c),gt+=ne+6),Ue+=De(Te,gt+Te.width/2,nt,' class="pele-cluster-label" fill="var(--_m)"',c)}Pe+=`<g class="pele-cluster" data-id="${Oe(xe.id)}"><rect x="${d(Ce)}" y="${d(ke)}" width="${d(_e)}" height="${d(Ee(ae)-ke)}" fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${ct}/>`+Ue+"</g>"}let ue="",we=i*.5,$e=Math.max(6,Math.round(s*.75));for(let ae=0;ae<p;ae++){let xe=h[ae],Ce=`data-id="${Oe(xe.id)}" transform="translate(${d(ve(ae))},${d(ie[A[ae]])})"`;if(xe.type==="junction"){ue+=`<g class="pele-node pele-junction" ${Ce}><circle cy="${d(f)}" r="${W4}" fill="var(--_l)"/></g>`;continue}let ke="";if(xe.icon)ke=P4(xe.icon,-we/2,(i-we)/2,we,c);else if(xe.iconText){let _e=We(xe.iconText,!1,l,$e,i-8),Te=Math.max(1,Math.floor((i-4)/(_e.lineHeight||1)));ke=De(EO(_e,i-8,Te,l),0,f,` class="pele-icon-text" font-size="${$e}"`,c)}ue+=`<g class="pele-node pele-service" ${Ce}><rect x="${d(-f)}" width="${d(i)}" height="${d(i)}" fill="var(--_s)" stroke="var(--_b)"${ct}/>`+ke+De(C[ae],0,i+F4+C[ae].height/2,' class="pele-label"',c)+"</g>"}let ye=We(e.title,!1,l,s,a?Ht(r):4e3,1),Se=ye.height>0?ye.height+12:0,Ne=Math.ceil(Math.max(me-te,ye.width)+2*u),Ge=Math.ceil(oe-he+Se+2*u),Fe=Math.round((Ne-(me-te))/2-te),z=Math.round(u+Se-he),ge=(Pe?`<g class="pele-clusters">${Pe}</g>`:"")+(fe?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round" stroke-linejoin="round">${fe}</g>`:"")+(Ae?`<g class="pele-edge-labels" font-size="${n}">${Ae}</g>`:"")+(ue?`<g class="pele-nodes">${ue}</g>`:"");return{svg:rt("architecture",Ne,Ge,s,r,e,De(ye,Ne/2,u+ye.height/2,' class="pele-title" font-weight="var(--_tw)"')+(ge?`<g transform="translate(${Fe},${z})">${ge}</g>`:"")),width:Ne,height:Ge,links:[]}}var pO,G4,L4,AO,Vc,Yf,O4,Kf,B4,wa,xO,F4,W4,wO,SO,U4,Y4=Xe(()=>{zt();_a();Lr();xt();Mt();pO=class{type="architecture";title;accTitle;accDescr;nodes=new Map;groups=new Map;edges=[];layoutHints=[];registered=new Map;register(e,t,r){this.registered.has(t)&&ms(`The ${e} id [${t}] is already in use by another ${this.registered.get(t)}`),r!==void 0&&(t===r&&ms(`The ${e} [${t}] cannot be placed within itself`),this.registered.has(r)||ms(`The ${e} [${t}]'s parent does not exist. Please make sure the parent is created before this ${e}`),this.registered.get(r)==="node"&&ms(`The ${e} [${t}]'s parent is not a group`)),this.registered.set(t,e==="group"?"group":"node")}addService({id:e,icon:t,iconText:r,title:a,in:i}){this.register("service",e,i),this.nodes.set(e,{id:e,type:"service",icon:t,iconText:r,title:a,in:i})}addJunction({id:e,in:t}){this.register("junction",e,t),this.nodes.set(e,{id:e,type:"junction",in:t})}addGroup({id:e,icon:t,title:r,in:a}){this.register("group",e,a),this.groups.set(e,{id:e,icon:t,title:r,in:a})}addEdge({lhsId:e,rhsId:t,lhsDir:r,rhsDir:a,lhsInto:i,rhsInto:s,lhsGroup:o,rhsGroup:n,title:l}){let u=[["left",e,o],["right",t,n]];for(let[f,h]of u)this.registered.has(h)||ms(`The ${f}-hand id [${h}] does not yet exist. Please create the service/group before declaring an edge to it.`);for(let[f,h]of u)this.nodes.has(h)||ms(`The ${f}-hand id [${h}] is a group. Add {group} to a service inside it instead.`);let c=this.nodes.get(e).in;if(c!==void 0&&c===this.nodes.get(t).in)for(let[f,h,g]of u)g&&ms(`The ${f}-hand id [${h}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);this.edges.push({lhsId:e,lhsDir:r,lhsInto:i,lhsGroup:o,rhsId:t,rhsDir:a,rhsInto:s,rhsGroup:n,title:l})}addLayoutHint(e){e.members.length<2&&ms(`An align directive requires at least two members; got ${e.members.length}`);let t=new Set;for(let r of e.members)this.registered.get(r)!=="node"&&ms(`align ${e.direction} references [${r}], which is not a service or junction`),t.has(r)&&ms(`align ${e.direction} lists [${r}] more than once`),t.add(r);this.layoutHints.push(e)}};G4={name:"ID",pattern:/[\w]([-\w]*\w)?/y};L4=[kn("architecture-beta"),kn("junction"),kn("service"),kn("column"),kn("group"),kn("align"),kn("row"),{name:"--",pattern:"--",longer:[nr]},kn("in"),{name:":",pattern:":"},{name:"-",pattern:"-",longer:[nr]},{name:"ARROW_DIRECTION",pattern:/L|R|T|B/y},{name:"ARROW_GROUP",pattern:/\{group\}/y},{name:"ARROW_INTO",pattern:/<|>/y},Or,br,yr,Ra,G4,ha,da,nr,vr,kr,{name:"ARCH_ICON",pattern:/\([\w-:]+\)/y},{name:"ARCH_TITLE",pattern:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[^\[\]\r\n]+)\]/y}];AO=new Map([["database","M4 6a8 3 0 1 0 16 0a8 3 0 1 0-16 0M4 6v12a8 3 0 0 0 16 0V6M4 12a8 3 0 0 0 16 0"],["server","M3 4h18v7H3zM3 13h18v7H3zM7 7.5h.01M7 16.5h.01M11 7.5h6M11 16.5h6"],["disk","M5 3h14v18H5zM12 6.5a4 4 0 1 0 0 8a4 4 0 1 0 0-8M12 10.5h.01M8 18h3"],["internet","M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0M3 12h18M12 3a13 13 0 0 0 0 18M12 3a13 13 0 0 1 0 18"],["cloud","M7 18a4 4 0 0 1-.5-7.97A6 6 0 0 1 18 9.5a4.25 4.25 0 0 1-.5 8.5z"]]);Vc=[-1,1,0,0],Yf=[0,0,-1,1];O4=64,Kf=2**25,B4=2**26;wa=12,xO=6,F4=4,W4=3,wO=[-1,1,0,0],SO=[0,0,-1,1];U4={type:"architecture",parse(e,t,r){let a=new pO;return r&&(a.title=r),gO(mO(e),a),a},render:kO}});var K4={};Bt(K4,{architecture:()=>U4});var q4=Xe(()=>{Y4()});function OO(e){let t=e.length,r=[],a=[],i=[],s=[],o=0,n=0,l=[[],[],[],[]],u=[[],[],[],[]],c=[0,0,0,0],f=!1,h=-1;Qf.lastIndex=0;for(let D=Qf.exec(e);D!==null;D=Qf.exec(e)){let O=D[1]!==void 0?0:D[2]!==void 0?1:D[3]!==void 0?2:3;l[O].push(D.index),u[O].push(Qf.lastIndex),f=!0}let g=(D,O,H)=>{r.push(D),a.push(e.slice(O,H)),i.push(O),n=H},p=D=>{s.push(o),o=D},m=()=>{s.length>0&&(o=s.pop())},x=(D,O)=>(D.lastIndex=O,D.test(e)?D.lastIndex:-1),y=D=>{let O=e.indexOf(`
96
+ `,D);return O===-1?t:O},C=()=>{if(h<n){LA.lastIndex=n,h=LA.test(e)?LA.lastIndex-1:t;for(let D=0;D<4;D++){let O=l[D],H=c[D];for(;H<O.length&&O[H]<=h;)H++;c[D]=H}}for(let D=0;D<4;D++){let O=c[D]-1;if(O>=0&&l[D][O]>=n)return g(8+D,n,y(u[D][O])),!0}return!1},S=D=>{let O=D|32;if(O===116&&e.slice(n+1,n+5).toLowerCase()==="itle"&&Ke(e.charCodeAt(n+5))){let H=n+6;for(;H<t;){let U=e.charCodeAt(H);if(U===35||U===10||U===59)break;H++}if(H>n+6)return g(2,n,H),!0}if(O===97&&(e.charCodeAt(n+1)|32)===99&&(e.charCodeAt(n+2)|32)===99){let H;if((H=x(DO,n))>=0)return p(3),g(3,n,H),!0;if((H=x(RO,n))>=0)return p(4),g(5,n,H),!0;if((H=x(_O,n))>=0)return p(5),n=H,!0}if(f&&!eo(D)&&C())return!0;if(D===10||D===13&&e.charCodeAt(n+1)===10){let H=n;for(;H<t;){let U=e.charCodeAt(H);if(U===10)H++;else if(U===13&&e.charCodeAt(H+1)===10)H+=2;else break}return g(12,n,H),!0}if(Ke(D)){for(n++;n<t&&Ke(e.charCodeAt(n));)n++;return!0}if(D===35||D===37)return n=y(n),!0;if(tt(D)){let H=n+1;for(;H<t&&tt(e.charCodeAt(H));)H++;if(H-n<=LO){let U=NO.get(e.slice(n,H).toLowerCase());if(U!==void 0)return(U===46||U===47||U===48)&&p(2),g(U,n,H),!0}for(;H<t;){let U=e.charCodeAt(H);if(U<128&&J4[U]===1)break;H++}return r.push(59),a.push(e.slice(n,H).trim()),i.push(n),n=H,!0}switch(D){case 123:return g(15,n,n+1),!0;case 125:return g(16,n,n+1),!0;case 58:return e.charCodeAt(n+1)===58&&e.charCodeAt(n+2)===58?g(17,n,n+3):g(18,n,n+1),!0;case 60:return e.charCodeAt(n+1)!==45?!1:(g(55,n,n+2),!0);case 45:return e.charCodeAt(n+1)===62?g(56,n,n+2):g(57,n,n+1),!0;case 34:return p(1),n++,!0;case 44:return g(60,n,n+1),!0}return!1},R=D=>{if(tt(D)){let O=n+1;for(;O<t&&tt(e.charCodeAt(O));)O++;return g(49,n,O),!0}switch(D){case 58:return g(50,n,n+1),!0;case 59:return g(51,n,n+1),!0;case 37:return g(52,n,n+1),!0;case 45:return g(53,n,n+1),!0;case 35:return g(54,n,n+1),!0;case 32:return n++,!0;case 34:return p(1),n++,!0;case 10:return m(),n++,!0;case 44:return g(60,n,n+1),!0}return!1};for(;n<t;){let D=e.charCodeAt(n),O=!0;switch(o){case 0:O=S(D);break;case 2:O=R(D);break;case 1:if(D===34)m(),n++;else{let H=e.indexOf('"',n);g(58,n,H===-1?t:H)}break;case 3:m(),g(4,n,y(n));break;case 4:m(),g(6,n,y(n));break;case 5:if(D===125)m(),n++;else{let H=e.indexOf("}",n);g(7,n,H===-1?t:H)}break}if(!O)return r.push(1),a.push(""),i.push(n),{types:r,texts:a,starts:i}}let N=o===0?13:o===1?58:o===3?4:o===4?6:o===5?7:-1;return N!==-1&&g(N,t,t),g(0,t,t),{types:r,texts:a,starts:i}}function Q4(e){return e===49||e===50||e===54||e===53||e===51}function FO(e,t){let{types:r,texts:a,starts:i}=OO(e),s=0,o=[],n=[],l=(y,C=y,...S)=>{let R=r[s];if(R===1)throw ut("requirement",e,i[s],"",!0);for(let D=C;D>=y;D--)S.unshift(D);let N=S.map(D=>`'${z4[D]}'`).join(", ");throw ut("requirement",e,i[s],`Expecting ${N}, got '${z4[R]}'`)},u=y=>(r[s]!==y&&l(y),a[s++]),c=(y,C)=>{let S=r[s];return(S<y||S>C)&&l(y,C),s++,BO[S-23]},f=()=>{let y=r[s];return y!==59&&y!==58&&l(58,59),a[s++]},h=()=>{let y=r[s];if(y===3)s++,t.setAccTitle(u(4).trim());else if(y===5)s++,t.setAccDescription(u(6).trim());else if(y===7)t.setAccDescription(a[s++].trim());else return!1;return!0},g=()=>{let y=[];for(;;){let C=r[s];if(C!==49&&C!==59&&C!==58&&l(58,59,49),y.push(a[s++]),r[s]!==60)return y;s++}},p=()=>{let y=[];for(;;){Q4(r[s])||l(49,51,53,54);let C=a[s++];for(;Q4(r[s]);)C+=a[s++];if(y.push(C),r[s]!==60)return y;s++}},m=()=>{let y;return r[s]===17?(s++,y=g(),u(15)):r[s]===15?s++:l(15,15,17),u(12),y},x=y=>{for(o.length=0,n.length=0;;){let C=r[s];if(C===16){s++;break}if(C===12){s++;continue}(y?C<19||C>22:C!==44&&C!==45)&&(y&&l(19,22,12,16),l(44,45,12,16)),s++,u(18),n.push(C===21?c(29,31):C===22?c(32,35):f()),o.push(C),u(12)}for(let C=o.length-1;C>=0;C--){let S=n[C];switch(o[C]){case 19:t.setNewReqId(S);break;case 20:t.setNewReqText(S);break;case 21:t.setNewReqRisk(S);break;case 22:t.setNewReqVerifyMethod(S);break;case 44:t.setNewElementType(S);break;default:t.setNewElementDocRef(S)}}};for(;h();)r[s]===12&&s++;for(r[s]!==14&&l(14,14,3,5,7),s++,u(12);;){let y=r[s];if(y===13)return;if(y===12)s++;else{if(h())continue;if(y>=8&&y<=11)s++,t.setDirection(y===8?"TB":y===9?"BT":y===10?"RL":"LR");else if(y>=23&&y<=28){let C=c(23,28),S=f(),R=m();x(!0),t.addRequirement(S,C),R&&t.setClass([S],R)}else if(y===36){s++;let C=f(),S=m();x(!1),t.addElement(C),S&&t.setClass([C],S)}else if(y===46){s++;let C=g();t.setCssStyle(C,p())}else if(y===47){s++;let C=g();t.defineClass(C,p())}else if(y===48){s++;let C=g();t.setClass(C,g())}else if(y===59||y===58){let C=a[s++],S=r[s];if(S===17)s++,t.setClass([C],g());else if(S===55||S===57){s++;let R=c(37,43);u(S===57?56:57);let N=f();S===57?t.addRelationship(R,C,N):t.addRelationship(R,N,C)}else l(17,17,55,57)}else l(12,13,3,5,7,8,9,10,11,23,24,25,26,27,28,36,47,48,46,59,58)}}}function WO(e){let t=[];for(let i of e.requirements.values())t.push({id:i.name,requirement:i,element:void 0,cssStyles:i.cssStyles,cssClasses:i.classes.join(" ")});for(let i of e.elements.values())t.push({id:i.name,requirement:void 0,element:i,cssStyles:i.cssStyles,cssClasses:i.classes.join(" ")});let r=i=>e.requirements.has(i)||e.elements.has(i)?i:void 0,a=e.relations.map((i,s)=>({id:`${i.src}-${i.dst}-${s}`,start:r(i.src),end:r(i.dst),type:i.type,contains:i.type===$n.CONTAINS}));return{nodes:t,edges:a,direction:e.direction}}function Xf(e,t,r){if(t===0||e.lines.length===0)return e;let a=0,i=[],s=e.lines.map(o=>{let n=0,l=o.map(u=>{let c=u.style|t,f=u.icon!==void 0||u.math?u.width:r.width(u.text,e.size,c);return n+=f,{...u,style:c,width:f}});return i.push(n),n>a&&(a=n),l});return{...e,lines:s,widths:i,width:a}}function X4(e,t,r,a){let i=Hs(e),s="",o="";for(let n=0;n<e.lines.length;n++){let l=e.lines[n],u=r+us(e,n);if(gl(l)){o+=De(cs(e,n),t+e.widths[n]/2,u,a);continue}let c=u+e.size*.35,f=!0;for(let h of l)h.icon!==void 0||h.text===""||(s+=`<tspan${f?` x="${d(t)}" y="${d(c)}"`:""}${ls(h.style&~i)}>${Je(h.text)}</tspan>`,f=!1)}return(s===""?"":`<text${Ri(a,i)} text-anchor="start" xml:space="preserve">${s}</text>`)+o}function QO(e,t,r,a){let i=eC,s=e-r*i,o=t-a*i;return`<circle class="pele-marker" cx="${d(s)}" cy="${d(o)}" r="${i}"/><path class="pele-marker" d="M${d(s-r*i)},${d(o-a*i)}L${d(s+r*i)},${d(o+a*i)}M${d(s+a*i)},${d(o-r*i)}L${d(s-a*i)},${d(o+r*i)}"/>`}function VO(e,t,r,a){let i=e-r*j4,s=t-a*j4;return`<path class="pele-marker" d="M${d(i-a*jf)},${d(s+r*jf)}L${d(e)},${d(t)}L${d(i+a*jf)},${d(s-r*jf)}" stroke-linejoin="round"/>`}function jO(e,t,r){let a=new Map;for(let i of t){let s=i.route;if(!(i.src===i.dst||s.length<6))for(let o of[0,s.length-3]){let n=o===0?i.src:i.dst,l=e[n],u=s[o]-l.x,c=s[o+1]-l.y,f=o===0?3:o-3,h;if(Math.abs(Math.abs(c)-l.h/2)<.5)h=c<0?0:2;else if(Math.abs(Math.abs(u)-l.w/2)<.5)h=u<0?3:1;else continue;let g=n*4+h,p={route:s,at:o,toward:s[h%2===0?f:f+1]},m=a.get(g);m?m.push(p):a.set(g,[p])}}for(let[i,s]of a){if(s.length<2)continue;let o=i>>2,n=i%2===1,l=(n?r[o].h:r[o].w)-2*zO,u=Math.max(0,Math.min(qO,l/(s.length-1)));s.sort((c,f)=>c.toward-f.toward);for(let c=0;c<s.length;c++){let f=(c-(s.length-1)/2)*u;n?s[c].route[s[c].at+1]=e[o].y+f:s[c].route[s[c].at]=e[o].x+f}}}function XO(e,t,r){return Da(e.direction)?Jt(r,a=>Z4(e,t,r,a)):Z4(e,t,r,!1)}function Z4(e,t,r,a){let i=WO(e),s=r.fontSize??16,o=Math.round(s*.875),n=r.measurer??at(r.fontFamily),l=r.padding??8,u=new Map,c=[],f=[];for(let P of i.nodes){let F=Rt(P.cssStyles),I=(F.bold?1:0)|(F.italic?2:0),$=F.fontSize??s,w=F.fontSize??o,A=P.requirement,v=P.element,b=Xf(We(`\xAB${A?A.type:"Element"}\xBB`,!1,n,w,4e3),I,n),T=Xf(We(P.id,!0,n,$,YO),I|1,n),M=A?[["ID",A.requirementId],["Text",A.text],["Risk",A.risk],["Verification",A.verifyMethod]]:[["Type",v.type],["Doc Ref",v.docRef]],E=[],Y=0,G=0,K=0;for(let[q,Q]of M){if(!Q)continue;let Z=Xf(We(q,!1,n,w,4e3),I,n),J=Xf(We(Q,!0,n,w,KO),I,n),W=Math.max(Z.height,J.height);E.push({key:Z,value:J,height:W}),Y=Math.max(Y,Z.width),G=Math.max(G,J.width),K+=W+OA}E.length>0&&(K+=2*jc-OA);let L=2*jc+b.height+T.height,_=Math.max(UO,Math.max(b.width,T.width)+2*Vf,E.length>0?Y+V4+G+2*Vf:0);u.has(P.id)||u.set(P.id,c.length);let B=rr(_,L+K);B.seq=c.length,c.push({node:P,style:F,kind:b,name:T,rows:E,keyWidth:Y,headHeight:L,w:_,h:L+K}),f.push(B)}let h=a?"TB":zr(i.direction),g=h==="LR"||h==="RL",p=[],m=[],x=[];for(let P of i.edges){let F=P.start===void 0?void 0:u.get(P.start),I=P.end===void 0?void 0:u.get(P.end);if(F===void 0||I===void 0)continue;let $=We(`\xAB${P.type}\xBB`,!1,n,o,4e3);F===I&&(g?f[F].h+=2*(BA+$.height+8):f[F].w+=2*(BA+$.width+12)),x.push(P),m.push($),p.push({src:F,dst:I,minlen:1,labelW:$.width+12,labelH:$.height+4,route:[],labelX:0,labelY:0})}let y=Na(f,p,h,{nodeSep:HO,edgeSep:PO,rankSep:GO,portSep:20});jO(f,p,c);let C=aa(e.title,n,s,4e3),S=C.height>0?C.height+12:0,R=Math.max(y.width,C.width),N=l+(R-y.width)/2,D=l+S,O=Math.ceil(R+2*l),H=Math.ceil(y.height+S+2*l),U="";for(let P=0;P<c.length;P++){let F=c[P],{w:I,h:$,style:w}=F,A=-I/2,v=-$/2,b=`<rect x="${d(A)}" y="${d(v)}" width="${d(I)}" height="${d($)}" fill="var(--_s)" stroke="var(--_b)"${bt(w.shape)}/>`+De(F.kind,0,v+jc+F.kind.height/2,` class="pele-stereotype" font-size="${F.kind.size}" fill="var(--_m)"${w.text}`)+De(F.name,0,v+jc+F.kind.height+F.name.height/2,` class="pele-label" font-size="${F.name.size}" font-weight="var(--_hw)"${w.text}`);if(F.rows.length>0){let T=v+F.headHeight;b+=`<path class="pele-divider" d="M${d(A)},${d(T)}H${d(-A)}" stroke="var(--_b)"${w.line}/>`;let M=T+jc,E="";for(let Y of F.rows)E+=X4(Y.key,A+Vf,M,` class="pele-field" fill="var(--_m)"${w.text}`)+X4(Y.value,A+Vf+F.keyWidth+V4,M,` class="pele-value"${w.text}`),M+=Y.height+OA;b+=`<g class="pele-fields" font-size="${F.rows[0].key.size}">${E}</g>`}U+=`<g class="pele-node ${F.node.requirement?"pele-requirement":"pele-element"}${Wt(F.node.cssClasses.replace(/^default\s?/,""))}" data-id="${Oe(F.node.id)}" transform="translate(${d(f[P].x+N)},${d(f[P].y+D)})">${b}</g>`}let k="",j="",X=new Map;for(let P=0;P<p.length;P++){let F=p[P],I=x[P],$=m[P],w=I.contains?2*eC:0,A,v=F.labelX+N,b=F.labelY+D;if(F.src===F.dst){let T=c[F.src],M=f[F.src].x+N,E=f[F.src].y+D,Y=X.get(F.src)??0;X.set(F.src,Y+1);let G=(g?T.w:T.h)/2,K=Math.min(G-4,12+Y*6),L=BA+Y*8,_=(q,Q)=>g?`${d(M+Q)},${d(E+T.h/2+q)}`:`${d(M+T.w/2+q)},${d(E+Q)}`,B=L/.75;A={d:`M${_(w,-K)}C${_(B,-K)} ${_(B,K)} ${_(0,K)}`,sx:g?M-K:M+T.w/2,sy:g?E+T.h/2:E-K,sdx:g?0:-1,sdy:g?-1:0,ex:g?M+K:M+T.w/2,ey:g?E+T.h/2:E+K,edx:g?0:-1,edy:g?-1:0},g?(v=M,b=E+T.h/2+L+4+F.labelH/2):(v=M+T.w/2+L+4+F.labelW/2,b=E)}else{let T=F.route.slice();for(let M=0;M<T.length;M+=3)T[M]+=N,T[M+1]+=D;A=ya(T,void 0,w,0)}k+=`<g class="pele-edge pele-relationship-${I.contains?"contains":"arrow"}" data-id="${Oe(I.id)}"><path d="${A.d}"${I.contains?"":' stroke-dasharray="5 4"'}/>`+(I.contains?QO(A.sx,A.sy,A.sdx,A.sdy):VO(A.ex,A.ey,A.edx,A.edy))+"</g>",j+=qr(I.id,$,v,b,"")}return{svg:rt("requirement",O,H,s,r,e,De(C,O/2,l+C.height/2,' class="pele-title" font-weight="var(--_tw)"')+(k?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${k}</g>`:"")+(j?`<g class="pele-edge-labels" font-size="${o}" fill="var(--_m)">${j}</g>`:"")+`<g class="pele-nodes">${U}</g>`),width:O,height:H,links:[]}}var _l,_A,zf,$n,TO,IO,z4,NO,DO,RO,_O,Qf,LA,LO,J4,BO,HO,PO,GO,Vf,jc,OA,V4,UO,YO,KO,BA,eC,j4,jf,qO,zO,tC,rC=Xe(()=>{mn();Li();pr();zt();Lr();xt();Mt();_l={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},_A={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},zf={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},$n={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},TO=1e6,IO=class{type="requirement";direction="TB";requirements=new Map;elements=new Map;relations=[];classes=new Map;title;accTitle;accDescr;newId="";newText="";newRisk="";newVerifyMethod="";newElementType="";newDocRef="";styleCopies=0;copy(e,t){if(this.styleCopies+=t.length,this.styleCopies>TO)throw new je("Requirement diagram applies too many style declarations.","limit",{type:"requirement"});for(let r of t)e.push(r)}setDirection(e){this.direction=e}addRequirement(e,t){let r=this.requirements.get(e);return r===void 0&&(r={name:e,type:t,requirementId:this.newId,text:this.newText,risk:this.newRisk,verifyMethod:this.newVerifyMethod,cssStyles:[],classes:["default"]},this.requirements.set(e,r)),this.newId=this.newText=this.newRisk=this.newVerifyMethod="",r}setNewReqId(e){this.newId=e}setNewReqText(e){this.newText=e}setNewReqRisk(e){this.newRisk=e}setNewReqVerifyMethod(e){this.newVerifyMethod=e}addElement(e){let t=this.elements.get(e);return t===void 0&&(t={name:e,type:this.newElementType,docRef:this.newDocRef,cssStyles:[],classes:["default"]},this.elements.set(e,t)),this.newElementType=this.newDocRef="",t}setNewElementType(e){this.newElementType=e}setNewElementDocRef(e){this.newDocRef=e}addRelationship(e,t,r){this.relations.push({type:e,src:t,dst:r})}node(e){return this.requirements.get(e)??this.elements.get(e)}setCssStyle(e,t){for(let r of e){let a=this.node(r);if(!t||!a)return;for(let i of t)this.copy(a.cssStyles,i.includes(",")?i.split(","):[i])}}setClass(e,t){for(let r of e){let a=this.node(r);if(a)for(let i of t){a.classes.push(i);let s=this.classes.get(i)?.styles;s&&this.copy(a.cssStyles,s)}}}defineClass(e,t){for(let r of e){let a=this.classes.get(r);a===void 0&&(a={id:r,styles:[],textStyles:[]},this.classes.set(r,a));for(let s of t)s.includes("color")&&a.textStyles.push(s.replace("fill","bgFill")),a.styles.push(s);let i=t.flatMap(s=>s.split(","));for(let s of this.requirements.values())s.classes.includes(r)&&this.copy(s.cssStyles,i);for(let s of this.elements.values())s.classes.includes(r)&&this.copy(s.cssStyles,i)}}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
97
+ `)}},z4=["$end","INVALID","title","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","direction_tb","direction_bt","direction_rl","direction_lr","NEWLINE","EOF","RD","STRUCT_START","STRUCT_STOP","STYLE_SEPARATOR","COLONSEP","ID","TEXT","RISK","VERIFYMTHD","REQUIREMENT","FUNCTIONAL_REQUIREMENT","INTERFACE_REQUIREMENT","PERFORMANCE_REQUIREMENT","PHYSICAL_REQUIREMENT","DESIGN_CONSTRAINT","LOW_RISK","MED_RISK","HIGH_RISK","VERIFY_ANALYSIS","VERIFY_DEMONSTRATION","VERIFY_INSPECTION","VERIFY_TEST","ELEMENT","CONTAINS","COPIES","DERIVES","SATISFIES","VERIFIES","REFINES","TRACES","TYPE","DOCREF","STYLE","CLASSDEF","CLASS","ALPHA","COLON","SEMICOLON","PERCENT","MINUS","BRKT","END_ARROW_L","END_ARROW_R","LINE","qString","unqString","COMMA"],NO=new Map([["requirementdiagram",14],["id",19],["text",20],["risk",21],["verifymethod",22],["requirement",23],["functionalrequirement",24],["interfacerequirement",25],["performancerequirement",26],["physicalrequirement",27],["designconstraint",28],["low",29],["medium",30],["high",31],["analysis",32],["demonstration",33],["inspection",34],["test",35],["element",36],["contains",37],["copies",38],["derives",39],["satisfies",40],["verifies",41],["refines",42],["traces",43],["type",44],["docref",45],["style",46],["classdef",47],["class",48]]),DO=/accTitle\s*:\s*/iy,RO=/accDescr\s*:\s*/iy,_O=/accDescr\s*\{\s*/iy,Qf=/direction\s+(?:(TB)|(BT)|(RL)|LR)/gi,LA=/[\n\r\u2028\u2029]/g,LO=22,J4=new Uint8Array(128);for(let e of`:,\r
98
+ {<>-=`)J4[e.charCodeAt(0)]=1;BO=[_l.REQUIREMENT,_l.FUNCTIONAL_REQUIREMENT,_l.INTERFACE_REQUIREMENT,_l.PERFORMANCE_REQUIREMENT,_l.PHYSICAL_REQUIREMENT,_l.DESIGN_CONSTRAINT,_A.LOW_RISK,_A.MED_RISK,_A.HIGH_RISK,zf.VERIFY_ANALYSIS,zf.VERIFY_DEMONSTRATION,zf.VERIFY_INSPECTION,zf.VERIFY_TEST,"",$n.CONTAINS,$n.COPIES,$n.DERIVES,$n.SATISFIES,$n.VERIFIES,$n.REFINES,$n.TRACES];HO=40,PO=16,GO=56,Vf=14,jc=10,OA=2,V4=12,UO=120,YO=280,KO=240,BA=26,eC=6,j4=9,jf=4.5,qO=28,zO=14;tC={type:"requirement",math:!0,parse(e,t,r){let a=new IO;return r&&(a.title=r),FO(e,a),a},render:XO}});var aC={};Bt(aC,{requirement:()=>tC});var iC=Xe(()=>{rC()});function sC(e){return e>=32&&e<=126&&e!==34&&e!==44}function JO(e){let t=e.length,r=[],a=[],i=[],s=[],o=0,n=0,l=(c,f,h)=>{r.push(c),a.push(e.slice(f,h)),i.push(f),n=h},u=c=>e.slice(n,n+c.length).toLowerCase()===c&&!tt(e.charCodeAt(n+c.length));for(;n<t;){let c=e.charCodeAt(n),f=n,h=n;if(o===2){if(c===34&&e.charCodeAt(n+1)!==34){s.length>0&&(o=s.pop()),l(5,n,n+1);continue}for(;h<t;){let g=e.charCodeAt(h);if(sC(g)||g===44||g===13||g===10)h++;else if(g===34&&e.charCodeAt(h+1)===34)h+=2;else break}l(7,n,h)}else{if(o===0&&(c|32)===115){let g=u("sankey-beta")?11:u("sankey")?6:0;if(g>0){s.push(o),o=1,l(2,n,n+g);continue}}if(c===10||c===13&&e.charCodeAt(n+1)===10){l(3,n,c===10?n+1:n+2);continue}if(c===44){l(4,n,n+1);continue}if(c===34){s.push(o),o=2,l(5,n,n+1);continue}for(;h<t&&sC(e.charCodeAt(h));)h++;l(6,n,h)}if(h===f)return l(1,n,n),{types:r,texts:a,starts:i}}return l(o===2?7:8,t,t),l(0,t,t),{types:r,texts:a,starts:i}}function nC(e){return e===10||e===13?!1:e<128?e===32||e===9||e===11||e===12:e===160||e===5760||e>=8192&&e<=8202||e===8232||e===8233||e===8239||e===8287||e===12288||e===65279}function t9(e){let t=0,r=e.length;for(;t<r&&nC(e.charCodeAt(t));)t++;for(;r>t&&nC(e.charCodeAt(r-1));)r--;return e.slice(t,r).replace(e9,`
99
+ `).trim()}function r9(e,t){let{types:r,texts:a,starts:i}=JO(e),s=0,o=c=>{let f=r[s],h=f===1?FA[r[s-1]]:FA[f];throw ut("sankey",e,i[s],`Expecting ${c}, got '${h}'`)},n=(c,f="")=>{r[s]!==c&&o(`'${FA[c]}'${f}`),s++},l=()=>{if(r[s]===6)return a[s++];r[s]!==5&&o("'DQUOTE', 'NON_ESCAPED_TEXT'"),s++,r[s]!==7&&o("'ESCAPED_TEXT'");let c=a[s++];return n(5),c},u=()=>l().trim().replaceAll('""','"');for(n(2),n(3);;){let c=u();n(4,", 'NEWLINE', 'EOF'");let f=u();n(4,", 'NEWLINE', 'EOF'");let h=l(),g=t.findOrCreateNode(c),p=t.findOrCreateNode(f);if(t.addLink(g,p,parseFloat(h.trim())),r[s]!==3)break;s++}r[s]===8&&s++,r[s]!==0&&o("'NEWLINE', 'EOF'")}function WA(e,t){if(e.length>8){e.sort(t);return}for(let r=1;r<e.length;r++){let a=e[r],i=r-1;for(;i>=0&&t(e[i],a)>0;)e[i+1]=e[i],i--;e[i+1]=a}}function i9(e,t){let r=e.nodes.length,a=e.links.map(w=>({source:w.source.index,target:w.target.index,value:Number.isFinite(w.value)&&w.value>0?w.value:0,thickness:0,sourceY:0,targetY:0})),i=[],s=[];for(let w=0;w<r;w++)i.push([]),s.push([]);a.forEach((w,A)=>{i[w.source].push(A),s[w.target].push(A)});let o=new Int32Array(r),n=new Int32Array(r),l=[];for(let w=0;w<r;w++)n[w]=s[w].length,n[w]===0&&l.push(w);for(let w=0;w<l.length;w++){let A=l[w];for(let v of i[A]){let b=a[v].target;o[b]<o[A]+1&&(o[b]=o[A]+1),--n[b]===0&&l.push(b)}}if(l.length<r){let w=0;for(;n[w]===0;)w++;let A=new Uint8Array(r);for(;A[w]===0;){A[w]=1;for(let v of s[w])if(n[a[v].source]>0){w=a[v].source;break}}throw new je(`Sankey diagrams cannot have circular links, and "${e.nodes[w].id}" is part of one.`,"semantic",{type:"sankey"})}let u=1;for(let w=0;w<r;w++)o[w]+1>u&&(u=o[w]+1);let c=new Int32Array(r);for(let w=r-1;w>=0;w--){let A=l[w];for(let v of i[A])c[A]<c[a[v].target]+1&&(c[A]=c[a[v].target]+1)}let f=0;for(let w of a)w.value>f&&(f=w.value);let h=f>0?1/f:0,g=[],p=new Float64Array(r),m=[];for(let w=0;w<u;w++)m.push([]);let x=u>1?(t.width-t.nodeWidth)/(u-1):0;for(let w=0;w<r;w++){let A;if(t.alignment==="left")A=o[w];else if(t.alignment==="right")A=u-1-c[w];else if(t.alignment==="center"){if(A=o[w],s[w].length===0&&i[w].length>0){A=u;for(let E of i[w])o[a[E].target]-1<A&&(A=o[a[E].target]-1)}}else A=i[w].length>0?o[w]:u-1;let v=0,b=0,T=0,M=0;for(let E of s[w])v+=a[E].value*h,T+=a[E].value;for(let E of i[w])b+=a[E].value*h,M+=a[E].value;p[w]=Math.max(v,b),g.push({layer:A,value:Math.max(T,M),x:A*x,y:0,height:0}),m[A].push(w)}let y=1;for(let w of m)w.length>y&&(y=w.length);let C=y>1?Math.min(t.nodePadding,t.height/(y-1)):t.nodePadding,S=1/0;for(let w of m){let A=0;for(let v of w)A+=p[v];A>0&&(S=Math.min(S,(t.height-(w.length-1)*C)/A))}(!Number.isFinite(S)||S<0)&&(S=0);let R=Math.max(0,t.labelHeight-C),N=w=>{for(let A of m){let v=(A.length-1)*C;for(let b of A)v+=Math.max(p[b]*w,R);if(v>t.height+1e-6)return!1}return!0};if(R>0&&!N(S))if(N(0)){let w=0;for(let A=0;A<40;A++){let v=(w+S)/2;N(v)?w=v:S=v}S=w}else R=0;let D=new Float64Array(r);for(let w of a)w.thickness=w.value*h*S;for(let w of m){let A=0;for(let b of w)g[b].height=p[b]*S,D[b]=Math.max(0,R-g[b].height)/2,g[b].y=A+D[b],A+=g[b].height+2*D[b]+C;let v=(t.height-A+C)/(w.length+1);w.forEach((b,T)=>g[b].y+=v*(T+1))}let O=w=>g[w].y+g[w].height/2,H=new Float64Array(a.length),U=new Float64Array(a.length),k=(w,A)=>O(a[w].target)-O(a[A].target)||w-A,j=(w,A)=>O(a[w].source)-O(a[A].source)||w-A,X=(w,A)=>O(w)-O(A)||w-A,P=w=>{let A=0;WA(i[w],k);for(let v of i[w])H[v]=A+a[v].thickness/2,A+=a[v].thickness},F=w=>{let A=0;WA(s[w],j);for(let v of s[w])U[v]=A+a[v].thickness/2,A+=a[v].thickness},I=()=>{for(let w=0;w<r;w++)P(w),F(w)},$=(w,A,v)=>{for(let T of w){let M=v?s[T]:i[T];if(M.length===0)continue;v?F(T):P(T);let E=0,Y=0,G=0;for(let L of M){let _=v?g[a[L].source].y+H[L]-U[L]:g[a[L].target].y+U[L]-H[L];E+=_*a[L].thickness,Y+=a[L].thickness,G+=O(v?a[L].source:a[L].target)-g[T].height/2}let K=Y>0?E/Y:G/M.length;g[T].y+=(K-g[T].y)*A}WA(w,X);let b=0;for(let T of w)g[T].y-D[T]<b&&(g[T].y=b+D[T]),b=g[T].y+g[T].height+D[T]+C;b=t.height;for(let T=w.length-1;T>=0;T--){let M=w[T];g[M].y+g[M].height+D[M]>b&&(g[M].y=b-g[M].height-D[M]),b=g[M].y-D[M]-C}};I();for(let w=0;w<a9;w++){let A=Math.pow(.99,w);for(let v=u-2;v>=0;v--)$(m[v],A,!1);I();for(let v=1;v<u;v++)$(m[v],A,!0);I()}for(let w=0;w<a.length;w++)a[w].sourceY=g[a[w].source].y+H[w],a[w].targetY=g[a[w].target].y+U[w];return{nodes:g,links:a}}function hC(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zf(e,t,r,a,i){let s=e[t];return typeof s=="number"&&s>=a?Math.min(s,i):r}function lC(e,t){let r=e[t];return typeof r=="string"||typeof r=="number"&&Number.isFinite(r)?String(r):""}function uC(e){return Math.abs(e)<1e15?Math.round(e*100)/100:e}function cC(e){return typeof e=="string"?Rt([`fill:${e}`]).shape:""}function n9(e,t,r){let a=hC(t.sankey)?t.sankey:{};return yn(r,Zf(a,"width",600,1,1e4),160,i=>o9(e,a,r,i))}function o9(e,t,r,a){let i=r.fontSize??16,s=Math.round(i*.875),o=r.measurer??at(r.fontFamily),n=r.padding??8,l=Zf(t,"height",400,1,1e4),u=Math.min(Zf(t,"nodeWidth",10,1,200),a),c=t.showValues!==!1,f=lC(t,"prefix"),h=lC(t,"suffix"),g=t.labelStyle==="outlined",p=t.nodeAlignment==="left"||t.nodeAlignment==="right"||t.nodeAlignment==="center"?t.nodeAlignment:"justify",m=typeof t.linkColor=="string"?t.linkColor:"gradient",{nodes:x,links:y}=i9(e,{width:a,height:l,nodeWidth:u,nodePadding:Zf(t,"nodePadding",12,0,200)+(c?s9:0),labelHeight:s*1.15,alignment:p}),C=new Map;if(hC(t.nodeColors))for(let[T,M]of Object.entries(t.nodeColors)){let E=cC(M);E&&C.set(T,E)}let S=T=>C.get(e.nodes[T].id)??"",R=0,N=0;x.forEach(T=>{T.value>N&&(N=T.value,R=T.layer)});let D=0,O=a,H=0,U=l,k="",j="";x.forEach((T,M)=>{let E=e.nodes[M].id,Y=Math.max(T.height,1);j+=`<rect class="pele-sankey-node" data-id="${Oe(E)}" x="${d(T.x)}" y="${d(T.y)}" width="${d(u)}" height="${d(Y)}" rx="${d(Math.min(2,Y/2))}" fill="${At(M)}"${S(M)}/>`;let G=c?`${f}${uC(T.value)}${h}`:"",K=g?T.layer>=R:T.x<a/2,L=o.width(G?`${E} ${G}`:E,s,0),_=K?T.x+u+oC:T.x-oC,B=T.y+T.height/2;D=Math.min(D,K?_:_-L),O=Math.max(O,K?_+L:_),H=Math.min(H,B-s*.75),U=Math.max(U,B+s*.75);let q=` x="${d(_)}" y="${d(B+s*.35)}" text-anchor="${K?"start":"end"}"`,Q=Je(E)+(G?` <tspan class="pele-sankey-value" fill="var(--_m)">${Je(G)}</tspan>`:"");k+=`<g class="pele-label" data-id="${Oe(E)}">`+(g?`<text${q} fill="none" stroke="var(--_bg)" stroke-width="3" stroke-linejoin="round">${Je(E)}${G?" "+Je(G):""}</text>`:"")+`<text${q}>${Q}</text></g>`});let X=m==="gradient"||m==="source"||m==="target"?"":cC(m),P="";for(let T of y){let M=m==="target"?T.target:T.source,E=Math.max(T.thickness,1)/2,Y=x[T.source].x+u,G=x[T.target].x,K=d((Y+G)/2),L=Oe(e.nodes[T.source].id),_=Oe(e.nodes[T.target].id);P+=`<path class="pele-sankey-link" data-id="${L}-&gt;${_}" d="M${d(Y)},${d(T.sourceY-E)}C${K},${d(T.sourceY-E)} ${K},${d(T.targetY-E)} ${d(G)},${d(T.targetY-E)}L${d(G)},${d(T.targetY+E)}C${K},${d(T.targetY+E)} ${K},${d(T.sourceY+E)} ${d(Y)},${d(T.sourceY+E)}Z" fill="${At(M)}"${X||S(M)}><title>${L} \u2192 ${_}: ${Oe(f)}${uC(T.value)}${Oe(h)}</title></path>`}let F=We(e.title,!1,o,i,Ht(r),1),I=F.height>0?F.height+12:0,$=Math.max(O-D,F.width),w=n-D+($-(O-D))/2,A=n+I-H,v=Math.ceil($+2*n),b=Math.ceil(U-H+I+2*n);return{svg:rt("sankey",v,b,i,r,e,De(F,v/2,n+F.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g transform="translate(${d(w)},${d(A)})"><g class="pele-sankey-links" fill-opacity="0.4">${P}</g><g class="pele-sankey-nodes">${j}</g><g class="pele-labels" font-size="${s}">${k}</g></g>`),width:v,height:b,links:[]}}var ZO,FA,e9,a9,oC,s9,dC,fC=Xe(()=>{pr();zt();xt();Mt();ZO=class{type="sankey";nodes=[];links=[];title;accTitle;accDescr;lookup=new Map;findOrCreateNode(e){let t=this.lookup.get(e);return t===void 0&&(t={id:e,index:this.nodes.length},this.lookup.set(e,t),this.nodes.push(t)),t}addLink(e,t,r){this.links.push({source:e,target:t,value:r})}},FA=["$end","STUCK","SANKEY","NEWLINE","COMMA","DQUOTE","NON_ESCAPED_TEXT","ESCAPED_TEXT","EOF"];e9=/[\n\r]+/g;a9=6;oC=6,s9=15;dC={type:"sankey",parse(e,t,r){let a=new ZO;return r&&(a.title=r),r9(t9(e),a),a},render:n9}});var pC={};Bt(pC,{sankey:()=>dC});var gC=Xe(()=>{fC()});function Xc(e,t,r,a,i,s=0){if(e===""||t<=0)return;let o=i.width(e,r,s);if(o<=t)return{text:e,size:r,width:o};let n=Math.max(a,Math.floor(r*t/o));for(;n>=a;){if(o=i.width(e,n,s),o<=t)return{text:e,size:n,width:o};n--}let l=Array.from(e),u=0,c=l.length-1;for(;u<c;){let h=u+c+1>>1;i.width(l.slice(0,h).join("").trimEnd()+"\u2026",a,s)<=t?u=h:c=h-1}if(u===0)return;let f=l.slice(0,u).join("").trimEnd()+"\u2026";return o=i.width(f,a,s),o<=t?{text:f,size:a,width:o}:void 0}var HA=Xe(()=>{});function Ao(e,t,r,a,i=0){let s=[];for(let u of e.split(`
100
+ `)){let c=Array.from(u);c.length===0&&s.push("");let f=0;for(;f<c.length;){let h=C=>t.width(c.slice(f,f+C).join(""),r,i)<=a,g=1;for(;g<c.length-f&&h(g);)g=Math.min(c.length-f,g*2);let p=1;for(;p<g;){let C=Math.ceil((p+g)/2);h(C)?p=C:g=C-1}let m=p,x=f+m<c.length;if(x&&!PA.test(c[f+m])){for(let C=m-1;C>0;C--)if(PA.test(c[f+C])){m=C+1;break}}let y=c.slice(f,f+m).join("");for(s.push(x&&y.trimEnd()||y),f+=m;x&&f<c.length&&PA.test(c[f]);)f++}}e===""&&(s.length=0);let o=s.map(u=>t.width(u,r,i)),n=0;for(let u of o)n=Math.max(n,u);let l=Math.round(r*1.5);return{lines:s.map((u,c)=>[{text:u,style:i,width:o[c]}]),widths:o,width:n,height:s.length*l,size:r,lineHeight:l}}function bo(e,t,r){if(e.width<=r)return e;let a=[],i=[];for(let n=0;n<e.lines.length;n++){if(e.widths[n]<=r){a.push(e.lines[n]),i.push(e.widths[n]);continue}let l=[],u=0,c=()=>{a.push(l),i.push(u),l=[],u=0};for(let f of e.lines[n]){if(f.icon!==void 0||f.math){l.length&&u+f.width>r&&c(),l.push(f),u+=f.width;continue}for(let h of Array.from(f.text)){let g=l[l.length-1],p=g&&g.icon===void 0&&g.math===void 0&&g.style===f.style,m=t.width(p?g.text+h:h,e.size,f.style)-(p?g.width:0);l.length&&u+m>r&&(c(),g=void 0,m=t.width(h,e.size,f.style)),g&&g.icon===void 0&&g.math===void 0&&g.style===f.style?(g.text+=h,g.width+=m):l.push({text:h,style:f.style,width:m}),u+=m}}(l.length||!e.lines[n].length)&&c()}let s=0;for(let n of i)s=Math.max(s,n);let o={...e,lines:a,widths:i,width:s,height:a.length*e.lineHeight};return e.heights?mc(o):o}function js(e,t,r,a){let i=Hs(e),s="<text"+Ri(a,i),o="";for(let n=0;n<e.lines.length;n++){let l=e.lines[n],u=r+(n+.5)*e.lineHeight;if(l.some(f=>f.icon!==void 0)){let f=e.widths[n];o+=De({...e,lines:[l],widths:[f],width:f,height:e.lineHeight},t+f/2,u,a);continue}let c="";for(let f of l){let h=ls(f.style&~i);c+=h?`<tspan${h}>${Je(f.text)}</tspan>`:Je(f.text)}c!==""&&(o+=`${s} x="${d(t)}" y="${d(u+e.size*.35)}" text-anchor="start" xml:space="preserve">${c}</text>`)}return o}var PA,yo=Xe(()=>{xt();PA=/\s/});function Zc(e,t,r,a,i){let s=e.packet?.[t];return typeof s=="number"&&s>=a?Math.min(s,i):r}function GA(e){return new je(e,"semantic",{type:"packet"})}function u9(e,t,r){let a=Math.floor(Zc(t,"bitsPerRow",32,1,4096)),i=[],s=-1,o=[],n=1;for(let l of e.blocks){let{start:u,end:c,bits:f}=l;if(u!==void 0&&c!==void 0&&c<u)throw GA(`Packet block ${u} - ${c} is invalid. End must be greater than start.`);if(u??=s+1,u!==s+1)throw GA(`Packet block ${u} - ${c??u} is not contiguous. It should start from ${s+1}.`);if(f===0)throw GA(`Packet block ${u} is invalid. Cannot have a zero bit field.`);for(c??=u+(f??1)-1,f??=c-u+1,s=c;o.length<=a+1&&i.length<l9;){let h=n*a-1;if(c<=h){o.push({start:u,end:c,bits:f,label:l.label}),c===h&&(i.push(o),o=[],n++);break}o.push({start:u,end:h,bits:h-u,label:l.label}),i.push(o),o=[],n++,u=h+1,f=c-u}}return o.length>0&&i.push(o),{type:"packet",title:e.title||r,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,""):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
101
+ `):void 0,bitsPerRow:a,rows:i}}function c9(e){let t=new cr(sr(e,mC,"packet"),mC,"packet"),r={$type:"Packet",blocks:[]},a=()=>{if(t.kind!==-1)for(t.kind!==10&&t.fail("a line break or the end of input");t.kind===10;)t.i++};for(;t.kind===10;)t.i++;for(t.accept(0)||t.expect(1);t.kind!==-1;)switch(t.kind){case 10:t.i++;break;case 5:r.accDescr=ur(t.take()),a();break;case 6:r.accTitle=lr(t.take()),a();break;case 7:r.title=or(t.take()),a();break;case 8:case 3:{let i={$type:"PacketBlock",label:""};t.accept(3)?i.bits=Number(t.expect(8)):(i.start=Number(t.take()),t.accept(2)&&(i.end=Number(t.expect(8)))),t.expect(4),i.label=Qr(t.expect(9)),r.blocks.push(i),a();break}default:t.fail("a field, a title, or a line break")}return r}function h9(e,t,r){return Jt(r,a=>d9(e,t,r,a))}function d9(e,t,r,a){let i=r.fontSize??16,s=Math.round(i*.875),o=Math.round(i*.625),n=r.measurer??at(r.fontFamily),l=r.padding??8,u=t.packet??{},c=Zc(t,"rowHeight",32,1,400),f=Zc(t,"bitWidth",32,1,400),h=Zc(t,"paddingX",5,0,400),g=Zc(t,"paddingY",5,0,400),p=u.showBits!==!1,m=u.bitOrder==="descending",x=e.bitsPerRow,y=e.rows;if(a){let v=Math.max(1,Math.floor(((r.maxWidth??320)-2*l)/Math.min(f,18)));x=Math.min(x,Math.max(8,2**Math.floor(Math.log2(v))));let b=e.rows[e.rows.length-1],T=b?.[b.length-1]?.end??0;Math.ceil((T+1)/x)>1e4&&(x=e.bitsPerRow),f=Math.min(f,Math.max(18,((r.maxWidth??320)-2*l)/x));let M=Y=>Y.bits===Y.end-Y.start,E=[];for(let Y of e.rows)for(let G of Y){let K=E[E.length-1];K&&M(K)&&M(G)&&K.label===G.label&&G.start===K.end+1&&G.start%e.bitsPerRow===0?(K.end=G.end,K.bits=K.end-K.start):E.push({...G})}y=[];for(let Y of E)for(let G=Y.start;G<=Y.end;){let K=Math.min(Y.end,(Math.floor(G/x)+1)*x-1),L=Math.floor(G/x);(y[L]??(y[L]=[])).push({...Y,start:G,end:K}),G=K+1}}let C=new Map;if(a)for(let v of y)for(let b of v){let T=Math.max(1,(b.end-b.start+1)*f-Math.min(h,f-1)-6),M=Ao(Dt(b.label).trim(),n,s,T);C.set(b,M)}let S=p?o+4:0,R=y.map(v=>{let b=c;if(a)for(let T of v)b=Math.max(b,C.get(T).height+10);return b}),N=[],D=0;for(let v of R)N.push(D),D+=S+v+g;y.length&&(D-=g);let O=Math.min(h,f-1),H=y.length>0?x*f-O:0,U=We(e.title,!1,n,i,a?Ht(r):4e3,1),k=U.height>0?U.height+(D>0?12:0):0,j=new Map,X=(v,b)=>{let T=j.get(v);return T||j.set(v,T=new Map),T.has(b)||T.set(b,Xc(Dt(v).trim(),b,s,Math.round(i*.5),n)),T.get(b)},P=l+Math.max(0,(U.width-H)/2),F="",I="";y.forEach((v,b)=>{let T=l+N[b]+S,M=R[b];for(let E of v){let Y=E.end-E.start+1,G=E.start%x,K=P+(m?x-G-Y:G)*f,L=Y*f-O,_=a?void 0:X(E.label,L-6);if(F+=`<g class="pele-node" data-id="${E.start}-${E.end}"><rect x="${d(K)}" y="${d(T)}" width="${d(L)}" height="${d(M)}" fill="var(--_s)" stroke="var(--_b)"${ct}/>`+(a?De(C.get(E),K+L/2,T+M/2,""):_&&_.size<=M?`<text x="${d(K+L/2)}" y="${d(T+M/2+_.size*.35)}"${_.size===s?"":` font-size="${d(_.size)}"`}>${Je(_.text)}</text>`:"")+"</g>",!p)continue;let B=m?E.end:E.start,q=m?E.start:E.end;Y===1?I+=`<text x="${d(K+L/2)}" y="${d(T-4)}" text-anchor="middle">${B}</text>`:I+=`<text x="${d(K)}" y="${d(T-4)}">${B}</text><text x="${d(K+L)}" y="${d(T-4)}" text-anchor="end">${q}</text>`}});let $=Math.ceil(Math.max(H,U.width)+2*l),w=Math.ceil(D+k+2*l),A=(F?`<g class="pele-packet-fields" font-size="${s}" text-anchor="middle">${F}</g>`:"")+(I?`<g class="pele-packet-bits" font-size="${o}" fill="var(--_m)">${I}</g>`:"")+De(U,$/2,w-l-U.height/2,' class="pele-title" font-weight="var(--_tw)"');return{svg:rt("packet",$,w,i,r,e,A),width:$,height:w,links:[]}}var l9,mC,AC,bC=Xe(()=>{HA();yo();zt();_a();xt();Mt();l9=1e4;mC=[{name:"packet-beta",pattern:"packet-beta"},$r("packet"),{name:"-",pattern:"-",longer:[nr]},{name:"+",pattern:"+"},{name:":",pattern:":"},Or,br,yr,{name:"INT",pattern:/0|[1-9][0-9]*(?!\.)/y},Ra,ha,da,nr,vr,kr];AC={type:"packet",parse:(e,t,r)=>u9(c9(e),t,r),render:h9}});var yC={};Bt(yC,{packet:()=>AC});var xC=Xe(()=>{bC()});function SC(e){return new je(e,"semantic",{type:"radar"})}function f9(e,t){let r=e.axes.map(s=>({name:s.name,label:s.label??s.name})),a=e.curves.map(s=>{let o;if(s.entries[0].axis===void 0)o=s.entries.map(n=>n.value);else{if(r.length===0)throw SC("Axes must be populated before curves for reference entries");let n=new Map;for(let l of s.entries)l.axis!==void 0&&!n.has(l.axis.$refText)&&n.set(l.axis.$refText,l.value);o=r.map(l=>{let u=n.get(l.name);if(u===void 0)throw SC("Missing entry for axis "+l.label);return u})}return{name:s.name,label:s.label??s.name,entries:o}}),i={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"};for(let s of e.options)s.name==="showLegend"?i.showLegend=s.value:s.name==="graticule"?i.graticule=s.value:i[s.name]=s.value;return i.ticks>wC&&(i.ticks=wC),{type:"radar",title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,""):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
102
+ `):void 0,axes:r,curves:a,options:i}}function EC(e,t){let r=t;for(let a=e.charCodeAt(r);a>=48&&a<=57;a=e.charCodeAt(r))r++;return r}function p9(e,t){(t<qA||t>=Jf)&&(qA=t,Jf=EC(e,t));let r=Jf;if(r===t)return-1;let a=e.charCodeAt(r)===46;if(a){let i=EC(e,r+1),s=i-r-1;if(s>0&&e.charCodeAt(i)!==46)return i;if(s>1)return i-1}return e.charCodeAt(t)===48?t+1:a?r-1>t?r-1:-1:r}function g9(e,t){return YA.lastIndex=t,YA.test(e)&&(ep===-2&&(ep=e.lastIndexOf("}")),YA.lastIndex>ep)?-1:(UA.lastIndex=t,UA.test(e)?UA.lastIndex:-1)}function m9(e){return qA=Jf=0,ep=-2,sr(e,vC,"radar")}function A9(e){let t=new cr(m9(e),vC,"radar"),r={$type:"Radar",axes:[],curves:[],options:[]},a=()=>{for(;t.kind===23;)t.i++},i=()=>{t.kind!==-1&&(t.kind!==23&&t.fail("a line break or the end of input"),a())},s=()=>{if(!t.accept(11))return;let f=Qr(t.expect(21));return t.expect(12),f},o=f=>{if(!f)return{$type:"Entry",value:Number(t.expect(20))};let h={$refText:t.expect(22)};return t.accept(9),{$type:"Entry",axis:h,value:Number(t.expect(20))}},n=()=>{let f=t.expect(22),h=s(),g={$type:"Curve",name:f,entries:[]};h!==void 0&&(g.label=h),t.expect(13),a(),t.kind!==20&&t.kind!==22&&t.fail("a number or an axis name");let p=t.kind===22;for(g.entries.push(o(p));t.accept(10);)a(),g.entries.push(o(p));return a(),t.expect(14),g},l=()=>{let f={$type:"Axis",name:t.expect(22)},h=s();return h!==void 0&&(f.label=h),f},u=()=>{let f=t.kind,h=t.take(),g;return f===2?g=t.expect(16)==="true":f===3?g=t.expect(15):g=Number(t.expect(20)),{$type:"Option",name:h,value:g}},c=()=>t.kind===2||t.kind===5||t.kind===7||t.kind===8||t.kind===3;for(a(),t.accept(0)||(t.expect(1),t.accept(9)),a();t.kind!==-1;)switch(t.kind){case 23:t.i++;break;case 17:r.accDescr=ur(t.take()),i();break;case 18:r.accTitle=lr(t.take()),i();break;case 19:r.title=or(t.take()),i();break;case 6:t.i++;do r.axes.push(l());while(t.accept(10));break;case 4:t.i++;do r.curves.push(n());while(t.accept(10));break;default:for(c()||t.fail("an axis, a curve, an option, a title, or a line break"),r.options.push(u());t.accept(10);)c()||t.fail("an option"),r.options.push(u())}return r}function Xs(e,t,r,a,i){let s=e.radar?.[t];return typeof s=="number"&&s>=a?Math.min(s,i):r}function b9(e,t,r,a){let i=Math.min(Math.max(e,t),r);return a*(i-t)/(r-t)}function y9(e,t){let r=e.length,a=`M${d(e[0].x)},${d(e[0].y)}`;for(let i=0;i<r;i++){let s=e[(i-1+r)%r],o=e[i],n=e[(i+1)%r],l=e[(i+2)%r];a+=` C${d(o.x+(n.x-s.x)*t)},${d(o.y+(n.y-s.y)*t)} ${d(n.x-(l.x-o.x)*t)},${d(n.y-(l.y-o.y)*t)} ${d(n.x)},${d(n.y)}`}return a+" Z"}function MC(e){let t="";for(let r of e)t+=(t?" ":"")+d(r.x)+","+d(r.y);return t}function x9(e,t,r){let a=Xs(t,"width",320,1,4e3);return yn(r,a,160,(i,s)=>w9(e,t,r,i,Xs(t,"height",320,1,4e3)*i/a,s))}function w9(e,t,r,a,i,s){let o=r.fontSize??16,n=Math.round(o*.875),l=r.measurer??at(r.fontFamily),u=r.padding??8,c=Xs(t,"axisScaleFactor",1,0,10),f=Xs(t,"axisLabelFactor",1.05,0,10),h=Xs(t,"curveTension",.17,0,1),g=Math.min(a,i)/2,{axes:p,curves:m}=e,{ticks:x,graticule:y,min:C}=e.options,S=p.length,R=p.map((L,_)=>{let B=2*Math.PI*_/S-Math.PI/2;return{x:Math.cos(B),y:Math.sin(B)}}),N=e.options.max;if(N===null){N=-1/0;for(let L of m)for(let _ of L.entries)_>N&&(N=_)}let D=-a/2-Xs(t,"marginLeft",16,0,2e3),O=a/2+Xs(t,"marginRight",16,0,2e3),H=-i/2-Xs(t,"marginTop",16,0,2e3),U=i/2+Xs(t,"marginBottom",16,0,2e3),k="";for(let L=0;L<x;L++){let _=Math.min(g,g*(L+1)/x);y==="circle"?k+=`<circle r="${d(_)}"/>`:k+=`<polygon points="${MC(R.map(B=>({x:B.x*_,y:B.y*_})))}"/>`}let j="",X="";R.forEach((L,_)=>{let B=g*c;j+=`M0,0L${d(L.x*B)},${d(L.y*B)}`;let q=We(p[_].label,!1,l,n,4e3),Q=g*f+6,Z=L.x*Q+(L.x>.01?q.width/2:L.x<-.01?-q.width/2:0),J=L.y*Q+(L.y>.01?q.height/2:L.y<-.01?-q.height/2:0);X+=`<g class="pele-axis-label" data-id="${Oe(p[_].name)}">${De(q,Z,J,"")}</g>`,D=Math.min(D,Z-q.width/2),O=Math.max(O,Z+q.width/2),H=Math.min(H,J-q.height/2),U=Math.max(U,J+q.height/2)});let P="";m.forEach((L,_)=>{if(L.entries.length!==S)return;let B=L.entries.map((Z,J)=>{let W=b9(Z,C,N,g),V=Number.isFinite(W)?W:0;return{x:R[J].x*V,y:R[J].y*V}}),q=At(_),Q=` class="pele-curve" data-id="${Oe(L.name)}" fill="${q}" stroke="${q}"`;P+=y==="circle"?`<path${Q} d="${y9(B,h)}"/>`:`<polygon${Q} points="${MC(B)}"/>`});let F=e.options.showLegend?m.map(L=>We(L.label,!1,l,n,4e3)):[],I=0;for(let L of F)I=Math.max(I,L.width);let $=F.length*KA,w=s?-(Ll+8+I)/2:O+CC,A=s?U+CC/2:-$/2;F.length>0&&s?(D=Math.min(D,w),O=Math.max(O,-w),U=A+$):F.length>0&&(O=w+Ll+8+I,H=Math.min(H,-$/2),U=Math.max(U,$/2));let v="";F.forEach((L,_)=>{let B=A+_*KA+KA/2,q=At(_);v+=`<g class="pele-legend-item" data-id="${Oe(m[_].name)}"><rect x="${d(w)}" y="${d(B-Ll/2)}" width="${Ll}" height="${Ll}" rx="2" fill="${q}" fill-opacity="0.4" stroke="${q}"/>`+De(L,w+Ll+8+L.width/2,B,"")+"</g>"});let b=We(e.title,!1,l,o,Ht(r),1),T=b.height>0?b.height+8:0,M=Math.max(O-D,b.width),E=Math.ceil(M+2*u),Y=Math.ceil(U-H+T+2*u),G=`translate(${d(u+(M-(O-D))/2-D)},${d(u+T-H)})`,K=De(b,E/2,u+b.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g transform="${G}">`+(k?`<g class="pele-graticule" fill="none" stroke="var(--_a)">${k}</g>`:"")+(j?`<path class="pele-axes" d="${j}" fill="none" stroke="var(--_b)"/>`:"")+(P?`<g class="pele-curves" fill-opacity="0.2" stroke-width="1.5" stroke-linejoin="round">${P}</g>`:"")+(X?`<g class="pele-axis-labels" font-size="${n}">${X}</g>`:"")+(v?`<g class="pele-legend" font-size="${n}">${v}</g>`:"")+"</g>";return{svg:rt("radar",E,Y,o,r,e,K),width:E,height:Y,links:[]}}var wC,qA,Jf,UA,YA,ep,zA,xo,wo,vC,Ll,KA,CC,kC,$C=Xe(()=>{zt();_a();xt();Mt();wC=32;qA=0,Jf=0;UA=Or.pattern,YA=/[\t ]*accDescr\s*{/y,ep=-2;zA={name:"ID",pattern:/[\w]([-\w]*\w)?/y},xo=e=>({name:e,pattern:e,longer:[zA]}),wo=e=>({name:e,pattern:e}),vC=[wo("radar-beta:"),{...$r("radar-beta"),longer:[zA]},xo("showLegend"),xo("graticule"),xo("curve"),xo("ticks"),xo("axis"),xo("max"),xo("min"),wo(":"),wo(","),wo("["),wo("]"),wo("{"),wo("}"),{name:"GRATICULE",pattern:/circle|polygon/y},{name:"BOOLEAN",pattern:/true|false/y},{...Or,match:g9},br,yr,{name:"NUMBER",pattern:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/y,match:p9},Ra,zA,ha,da,nr,vr,kr];Ll=12,KA=26,CC=24;kC={type:"radar",parse:(e,t,r)=>f9(A9(e),r),render:x9}});var TC={};Bt(TC,{radar:()=>kC});var IC=Xe(()=>{$C()});function S9(e){let t=[],r=[];for(let a of e){let i=a.type==="Leaf",s={name:a.name,children:i?void 0:[]};for(s.classSelector=a.classSelector,a.cssCompiledStyles&&(s.cssCompiledStyles=a.cssCompiledStyles),i&&a.value!==void 0&&(s.value=a.value);r.length>0&&r[r.length-1].level>=a.level;)r.pop();r.length===0?t.push(s):r[r.length-1].node.children.push(s),i||r.push({node:s,level:a.level})}return t}function E9(e,t){let r=new Map;for(let i of e.TreemapRows){if(i.$type!=="ClassDefStatement")continue;let s=r.get(i.className);s||r.set(i.className,s=[]);let o=(i.styleText??"").replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",");for(let n of o.split(";"))s.push(n)}let a=[];for(let i of e.TreemapRows){if(i.$type!=="TreemapRow")continue;let s=i.item,o=s.classSelector?r.get(s.classSelector):void 0;a.push({level:i.indent??0,name:s.name,type:s.$type,value:s.$type==="Leaf"?s.value:void 0,classSelector:s.classSelector,cssCompiledStyles:o&&o.length>0?o:void 0})}return{type:"treemap",title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,""):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
103
+ `):void 0,roots:S9(a),classes:r}}function M9(e){let t=new cr(sr(e,NC,"treemap"),NC,"treemap"),r=t.kinds,a={$type:"Treemap",TreemapRows:[]},i=()=>t.accept(5)?t.expect(12):void 0;for(t.expect(3);t.kind!==-1;){let s=t.kind;if(s===0){a.accDescr=ur(t.take());continue}if(s===1){a.accTitle=lr(t.take());continue}if(s===2){a.title=or(t.take());continue}s!==8&&s!==14&&s!==4&&t.fail("a node, a class definition, or a title");let o=s===8?t.take().length:void 0;if(t.kind===4){let h=C9.exec(t.take()),g={$type:"ClassDefStatement",className:h[1]};h[2]&&(g.styleText=h[2]),o!==void 0&&(g.indent=o),a.TreemapRows.push(g);continue}let n=t.expect(14).slice(1,-1),l=r[t.i]===8?t.i+1:t.i,u;r[l]===6||r[l]===7?(t.i=l+1,t.accept(8),u={$type:"Leaf",name:n,value:parseFloat(t.expect(13).replace(/,/g,""))}):u={$type:"Section",name:n};let c=i();c!==void 0&&(u.classSelector=c);let f={$type:"TreemapRow",item:u};o!==void 0&&(f.indent=o),a.TreemapRows.push(f)}return a}function RC(e){let t="";for(let r=e.length;r>0;r-=3)t=e.slice(Math.max(0,r-3),r)+(t?","+t:"");return t}function v9(e){let t=DC.exec(e==="$0,0"?"$,":e)??DC.exec(","),r=t[1]==="+",a=t[3]!==void 0,i=t[4]===void 0?void 0:Math.min(Number(t[4]),20),s=t[6]??"";return o=>{let n=Math.abs(o),l,u="";if(s==="f"?l=n.toFixed(i??6):s==="%"?(l=(n*100).toFixed(i??6),u="%"):s==="d"?l=Math.round(n).toFixed(0):s==="e"?l=n.toExponential(i??6):l=String(Number(n.toPrecision(Math.max(1,i??12)))),t[5]&&l.includes(".")&&!l.includes("e")&&(l=l.replace(/\.?0+$/,"")),a&&!l.includes("e")){let c=l.indexOf(".");l=c===-1?RC(l):RC(l.slice(0,c))+l.slice(c)}return(o<0?"-":r?"+":"")+(t[2]??"")+l+u}}function _C(e,t,r){let a=e.children===void 0&&Number.isFinite(e.value)&&e.value>0?e.value:0;return{node:e,parent:t,series:r,value:a,children:[],x:0,y:0,w:0,h:0}}function k9(e,t,r,a,i,s,o){let n=t,l=0;for(;l<e.length;){let u=i*s/n,c=Math.min(i,s),f=e[l].value*u,h=f,g=Math.max(c*c*h/(f*f),f*f/(c*c*h)),p=l+1;for(;p<e.length;){let y=e[p].value*u,C=f+y,S=Math.max(c*c*h/(C*C),C*C/(c*c*y));if(S>g)break;g=S,f=C,p++}let m=f/c,x=0;for(let y=l;y<p;y++){let C=e[y],S=y===p-1?c-x:C.value*u/m,R=i>=s?r:r+x,N=i>=s?a+x:a,D=Math.round(R+o/2),O=Math.round(N+o/2);C.x=D,C.y=O,C.w=Math.round(R+(i>=s?m:S)-o/2)-D,C.h=Math.round(N+(i>=s?S:m)-o/2)-O,x+=S,n-=C.value}i>=s?(r+=m,i-=m):(a+=m,s-=m),l=p}}function $9(e,t,r,a){let i=e.map((f,h)=>_C(f,void 0,h)),s=i.slice();for(let f=0;f<s.length;f++){let h=s[f];for(let g of h.node.children??[]){let p=_C(g,h,h.series);h.children.push(p),s.push(p)}}for(let f=s.length-1;f>=0;f--){let h=s[f];h.parent&&(h.parent.value+=h.value)}let{gap:o,header:n,side:l}=a,u=[],c=(f,h,g,p,m)=>{if(p<=0||m<=0)return;let x=f.filter(C=>C.value>0).sort((C,S)=>S.value-C.value),y=0;for(let C of x)y+=C.value;if(!(x.length===0||!Number.isFinite(y))){k9(x,y,h-o/2,g-o/2,p+o,m+o,o);for(let C of x)C.w>0&&C.h>0&&u.push(C)}};c(i,0,0,t,r);for(let f=0;f<u.length;f++){let h=u[f];h.children.length>0&&c(h.children,h.x+l,h.y+n,h.w-2*l,h.h-n-l)}return u}function ap(e,t,r,a,i){let s=e.treemap?.[t];return typeof s=="number"&&s>=a?Math.min(s,i):r}function T9(e,t,r){let a=r.fontSize??16,i=Math.round(a*.875),s=Math.round(a*.75),o=Math.round(a*.5625),n=r.measurer??at(r.fontFamily),l=t.treemap??{},u=r.padding??ap(t,"diagramPadding",8,0,2e3),c=Math.round(xn(r,ap(t,"nodeWidth",64,1,400)*10,200,2*u)),f=Math.round(ap(t,"nodeHeight",40,1,400)*10),h=l.showValues!==!1,g=v9(typeof l.valueFormat=="string"?l.valueFormat:","),p=$9(e.roots,c,f,{gap:ap(t,"padding",4,0,200),header:QA,side:tp}),m=We(e.title,!1,n,a,Ht(r),1),x=m.height>0?m.height+8:0,y=u+Math.max(0,(m.width-c)/2),C=u+x,S="",R="";for(let H of p){let U=H.node,k=Rt(U.cssCompiledStyles??[]),j=At(H.series),X=y+H.x,P=C+H.y,F=Dt(U.name).trim(),I=h?g(H.value):"",$=`data-id="${Oe(U.name)}">`,w=`<rect x="${d(X)}" y="${d(P)}" width="${d(H.w)}" height="${d(H.h)}" fill="${j}"`;if(U.children!==void 0){let M="";if(H.h>=QA){let Y=H.w-2*tp-4,G=I?n.width(I,s,0):0,K=G>0&&Y-G-12>=3*i,L=Xc(F,K?Y-G-12:Y,i,i,n,1),_=P+QA/2+1;L&&(M+=`<text x="${d(X+tp+2)}" y="${d(_+i*.35)}" font-weight="var(--_hw)"${k.text}>${Je(L.text)}</text>`),K&&(M+=`<text class="pele-value" x="${d(X+H.w-tp-2)}" y="${d(_+s*.35)}" font-size="${s}" text-anchor="end" fill="var(--_m)"${k.text}>${Je(I)}</text>`)}let E=/[";]fill:/.test(k.shape)?"":' fill-opacity="0.12"';S+=`<g class="pele-node pele-section${Wt(U.classSelector??"")}" ${$}${w}${bt(`${E} stroke="${j}"${k.shape}`)}/>${M}</g>`;continue}let A="",v=H.w-8,b=Math.min(a,Math.floor((H.h-4)/rp)),T=b>=o?Xc(F,v,b,o,n):void 0;if(T){let M=d(X+H.w/2),E=P+H.h/2,Y=Math.max(o,Math.round(T.size*.8)),G=(T.size+Y)*rp;if(I&&G<=H.h-4&&n.width(I,Y,0)<=v){let K=E-G/2+T.size*rp/2,L=E+G/2-Y*rp/2;A=`<text x="${M}" y="${d(K+T.size*.35)}" font-size="${d(T.size)}"${k.text}>${Je(T.text)}</text><text class="pele-value" x="${M}" y="${d(L+Y*.35)}" font-size="${d(Y)}"${k.text}>${Je(I)}</text>`}else A=`<text x="${M}" y="${d(E+T.size*.35)}" font-size="${d(T.size)}"${k.text}>${Je(T.text)}</text>`}R+=`<g class="pele-node pele-leaf${Wt(U.classSelector??"")}" ${$}${w}${bt(k.shape)}/>${A}</g>`}let N=Math.ceil(Math.max(c,m.width)+2*u),D=Math.ceil(f+x+2*u),O=De(m,N/2,u+m.height/2,' class="pele-title" font-weight="var(--_tw)"')+(S?`<g class="pele-sections" font-size="${i}">${S}</g>`:"")+(R?`<g class="pele-leaves" text-anchor="middle" fill="var(--_bg)">${R}</g>`:"");return{svg:rt("treemap",N,D,a,r,e,O),width:N,height:D,links:[]}}var NC,C9,DC,QA,tp,rp,LC,OC=Xe(()=>{HA();zt();_a();xt();Mt();NC=[Or,br,yr,{name:"TREEMAP_KEYWORD",pattern:/treemap-beta|treemap/y},{name:"CLASS_DEF",pattern:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/y},{name:"STYLE_SEPARATOR",pattern:/:::/y},{name:"SEPARATOR",pattern:/:/y},{name:"COMMA",pattern:/,/y},{name:"INDENTATION",pattern:/[ \t]{1,}/y},{name:"WS",pattern:/[ \t]+/y,hidden:!0},{name:"ML_COMMENT",pattern:/\%\%[^\n]*/y,hidden:!0},{name:"NL",pattern:/\r?\n/y,hidden:!0},{name:"ID2",pattern:/[a-zA-Z_][a-zA-Z0-9_]*/y},{name:"NUMBER2",pattern:/[0-9_\.\,]+/y},{name:"STRING2",pattern:/"[^"]*"|'[^']*'/y}],C9=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/;DC=/^(?:.?[<>=^])?([-+( ])?(\$)?0?\d*(,)?(?:\.(\d+))?(~)?([a-zA-Z%])?$/;QA=28,tp=6,rp=1.25;LC={type:"treemap",parse:(e,t,r)=>E9(M9(e),r),render:T9}});var BC={};Bt(BC,{treemap:()=>LC});var FC=Xe(()=>{OC()});function I9(e,t){return{type:"info",title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,""):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
104
+ `):void 0}}function N9(e){let t=new cr(sr(e,WC,"info"),WC,"info"),r={$type:"Info"};for(;t.kind===5;)t.i++;for(t.expect(1);t.kind===5;)t.i++;if(t.accept(0))for(;t.kind===5;)t.i++;for(;t.kind!==-1;){let a=t.kind;if(a===2?r.accDescr=ur(t.take()):a===3?r.accTitle=lr(t.take()):a===4?r.title=or(t.take()):t.fail("a title or the end of input"),t.kind===-1)break;for(t.kind!==5&&t.fail("a line break or the end of input");t.kind===5;)t.i++}return r}function R9(e,t,r){let a=r.fontSize??16,i=r.measurer??at(r.fontFamily),s=r.padding??8,o=We(e.title,!1,i,a,4e3,1),n=o.height>0?o.height+8:0,l=We(`Pele v${D9}`,!1,i,a,4e3),u=Math.ceil(Math.max(o.width,l.width)+2*s),c=Math.ceil(n+l.height+2*s),f=De(o,u/2,s+o.height/2,' class="pele-title" font-weight="var(--_tw)"')+De(l,u/2,s+n+l.height/2,' class="pele-version" fill="var(--_m)"');return{svg:rt("info",u,c,a,r,e,f),width:u,height:c,links:[]}}var WC,D9,HC,PC=Xe(()=>{_a();xt();Mt();WC=[$r("showInfo"),$r("info"),Or,br,yr,ha,da,nr,vr,kr];D9="1.8.0";HC={type:"info",parse:(e,t,r)=>I9(N9(e),r),render:R9}});var GC={};Bt(GC,{info:()=>HC});var UC=Xe(()=>{PC()});function tM(e){if(e.toLowerCase()==="none")return 4;let t=L9.exec(e);return t?t[1]===void 0?1:t[1]==="%"?2:3:0}function O9(e,t){let r=tM(e);return r===1||r===2||t&&r===4}function B9(e){let t=e.startsWith("hsl"),r=e.indexOf("("),a=e.slice(0,r);if(a!=="rgb"&&a!=="rgba"&&a!=="hsl"&&a!=="hsla"||e.length>120||e.indexOf(")")!==e.length-1)return!1;let i=e.slice(r+1,-1).trim(),s,o,n=i.includes(",");if(n)s=i.split(",").map(u=>u.trim()),s.length===4&&(o=s.pop());else{let u=i.split("/");if(u.length>2)return!1;s=u[0].trim().split(/\s+/),u.length===2&&(o=u[1].trim())}if(s.length!==3||o!==void 0&&!O9(o,!n))return!1;let l=s.map(tM);if(n)return t?(l[0]===1||l[0]===3)&&l[1]===2&&l[2]===2:(l[0]===1||l[0]===2)&&l[1]===l[0]&&l[2]===l[0];for(let u=0;u<3;u++){let c=l[u];if(!(c===1||c===4||(t&&u===0?c===3:c===2)))return!1}return!0}function F9(e){return e.includes("(")?B9(e):(YC??=new Set(_9.split(" ")),YC.has(e.toLowerCase()))}function Jc(e){throw new je(e,"semantic",{type:"sequence"})}function qC(e){let t=e.trim(),r=W9.test(t)?!0:H9.test(t)?!1:void 0;return{text:(r===void 0?t:t.replace(P9,"")).trim(),wrap:r}}function Y9(e){let t=G9.exec(e);if(t){let a=e.lastIndexOf(")");if(a>=t[0].length)return KC.test(e.slice(t[0].length))?void 0:[e.slice(0,a+1),e.slice(a+1)]}if(KC.test(e))return;let r=U9.exec(e)[0];return[r,e.slice(r.length)]}function zC(e){return typeof e=="string"?[...e].map((t,r)=>[String(r),t]):e!==null&&typeof e=="object"?Object.entries(e):[]}function q9(e){let t=e.length,r=[],a=[],i=[],s=[],o=0,n=0,l=-1,u=(A,v,b)=>{r.push(A),a.push(e.slice(v,b)),i.push(v),n=b},c=(A,v,b,T)=>{r.push(A),a.push(T),i.push(v),n=b},f=A=>{s.push(o),o=A},h=()=>{s.length>0&&(o=s.pop())},g=A=>(l<A&&(l=e.indexOf(`
105
+ `,A),l===-1&&(l=t)),l),p=(A,v)=>{let b=e.charCodeAt(A);return b<128?(rM[b]&v)!==0:v===4||v===32?!Ke(b):!0},m=(A,v)=>{for(let b=0;b<v.length;b++){let T=v.charCodeAt(b),M=e.charCodeAt(A+b);if(T>=97&&T<=122?(M|32)!==T:M!==T)return!1}return!0},x=A=>m(n,A)&&!tt(e.charCodeAt(n+A.length)),y=A=>{for(;A<t&&Ke(e.charCodeAt(A));)A++;return A},C=()=>{let A=n;for(;A<t;){let v=e.charCodeAt(A);if(v===10||!Ke(v))break;A++}return A===n?!1:(n=A,!0)},S=A=>{for(;A<t&&p(A,16);)A++;return A},R=(A,v,b)=>{u(A,n,n+v),f(b)},N=(A,v,b=-1)=>x(A)?(u(v,n,n+A.length),b>=0&&f(b),!0):!1,D=(A,v)=>{if(!m(n,A))return!1;let b=n+A.length,T=e.charCodeAt(b);if(T!==32&&T!==9)return!1;for(;T===32||T===9;)T=e.charCodeAt(++b);return b>=t||!p(b,32)?!1:(u(v,n,n+A.length),!0)},O=A=>{let v=e.charCodeAt(A),b=e.charCodeAt(A+1);if(v===45){if(b===120||b===88||b===41||b===92||b===47||b===45)return!0;let T=e.charCodeAt(A+2);return b===124&&(T===92||T===47)}return v===47||v===92?(b===124||b===v)&&e.charCodeAt(A+2)===45:v===40&&b===41},H=()=>{let A=n+1;for(;A<t&&p(A,1);)A++;for(;A<t&&!O(A);){let v=A;for(;e.charCodeAt(v)===45;)v++;if(v>=t||!p(v,2))break;for(v++;v<t&&p(v,2);)v++;A=v}c(48,n,A,e.slice(n,A).trim())},U=()=>{let A=n;for(;yt(e.charCodeAt(A));)A++;let v=A>n;if(e.charCodeAt(A)===46&&yt(e.charCodeAt(A+1))){let T=yt(e.charCodeAt(A+2))?A+3:A+2,M=e.charCodeAt(T);if(M===32||M===10)return u(10,n,T),!0}let b=e.charCodeAt(A);return v&&(b===32||b===10)?(u(10,n,A),!0):!1},k=()=>{let A=e.charCodeAt(n+1),v=e.charCodeAt(n+2);if(A===62)u(v===62?55:53,n,n+(v===62?3:2));else if(A===120||A===88)u(59,n,n+2);else if(A===41)u(61,n,n+2);else if(A===124&&v===92)u(63,n,n+3);else if(A===124&&v===47)u(64,n,n+3);else if(A===92&&v===92)u(65,n,n+3);else if(A===47&&v===47)u(66,n,n+3);else if(A===45){let b=e.charCodeAt(n+3);v===62?u(b===62?57:54,n,n+(b===62?4:3)):v===120||v===88?u(60,n,n+3):v===41?u(62,n,n+3):v===124&&b===92?u(67,n,n+4):v===124&&b===47?u(68,n,n+4):v===92&&b===92?u(69,n,n+4):v===47&&b===47?u(70,n,n+4):u(46,n,n+1)}else u(46,n,n+1)},j=A=>{let v=e.charCodeAt(n+1);if(v!==124&&v!==A||e.charCodeAt(n+2)!==45)return!1;let b=e.charCodeAt(n+3)===45,T=A===47,M;return v===124?b?M=T?75:76:M=T?71:72:b?M=T?77:78:M=T?73:74,u(M,n,n+(b?4:3)),!0},X=()=>{if(!m(n,"title"))return!1;let A=n+5,v=e.charCodeAt(A)===58;return v&&A++,!Ke(e.charCodeAt(A))||A+1>=t||!p(A+1,16)?!1:(u(v?15:14,n,S(A+1)),!0)},P=()=>{let A=m(n,"accdescr");if(!A&&!m(n,"acctitle"))return!1;let v=y(n+8),b=e.charCodeAt(v);return b===58?(u(A?18:16,n,y(v+1)),f(A?6:5),!0):A&&b===123?(n=y(v+1),f(7),!0):!1},F=A=>{switch(A|32){case 97:return N("actor",34,1)||N("alt",24,3)||N("and",30,3)||N("activate",12,1)||P()||N("autonumber",9);case 98:return N("box",6,3)||N("break",28,3);case 99:return N("create",5)||N("critical",27,3);case 100:return N("destroy",35,1)||D("details",41)||N("deactivate",13,1);case 101:return N("else",31,3)||N("end",8);case 108:return N("loop",21,3)||N("left of",43)||D("links",38)||D("link",39);case 110:return N("note",36);case 111:return N("opt",23,3)||N("option",29,3)||N("over",37)||N("off",11);case 112:return N("participant",32,1)||N("par",25,3)||N("par_over",26,3)||D("properties",40);case 114:return N("rect",22,3)||N("right of",44);case 115:return N("sequencediagram",4);case 116:return X();default:return!1}},I=()=>{let A=e.charCodeAt(n);if(A===10){let v=n+1;for(;e.charCodeAt(v)===10;)v++;u(3,n,v);return}if(Ke(A)){n=y(n+1);return}if(A===35||A===37&&e.charCodeAt(n+1)!==123){n=g(n);return}if(A!==125&&e.charCodeAt(n+1)===37&&e.charCodeAt(n+2)===37){n=g(n);return}if(!((yt(A)||A===46)&&U())&&!(A<128&&(A|32)>=97&&(A|32)<=122&&F(A)))if(A===44)u(42,n,n+1);else if(A===59)u(3,n,n+1);else if(p(n,1))H();else if(A===45)k();else if(A===60&&e.startsWith("<<->>",n))u(56,n,n+5);else if(A===60&&e.startsWith("<<-->>",n))u(58,n,n+6);else{if((A===47||A===92)&&j(A))return;A===58?u(52,n,S(n+1)):A===43?u(45,n,n+1):A===40&&e.charCodeAt(n+1)===41?u(47,n,n+2):u(2,n,n+1)}},$=()=>{if(C())return!0;let A=e.charCodeAt(n);if(A===35)return n=g(n),!0;if(A===64&&e.charCodeAt(n+1)===123)return R(49,2,4),!0;let v=n;for(;v<t&&p(v,4);)v++;if(v>n){let T=y(v);if(e.charCodeAt(T)===64&&e.charCodeAt(T+1)===123)return u(48,n,v),!0;if(T>v&&m(T,"as")&&Ke(e.charCodeAt(T+2)))return u(48,n,v),f(2),!0}let b=v;for(;b<t&&p(b,8);)b++;if(b>n){let T=e.charCodeAt(b),M=b;if(b<t&&T!==10&&T!==59)for(M--;M>n&&e.charCodeAt(M)!==35;)M--;if(M>n)return c(48,n,M,e.slice(n,M).trim()),h(),!0}if(e.charCodeAt(b)===60)return u(2,n,g(n)),h(),!0;if(A!==10){let T=g(n);return c(2,n,T,e.slice(n,T).trim()),h(),!0}return!1},w=()=>{switch(o){case 0:return I(),!0;case 1:return $();case 2:return C()?!0:e.charCodeAt(n)===35?(n=g(n),!0):(h(),h(),x("as")?R(33,2,3):u(3,n,n),!0);case 3:return C()?!0:e.charCodeAt(n)===35?(n=g(n),!0):(u(7,n,S(n)),h(),!0);case 4:if(e.charCodeAt(n)!==125){let A=e.indexOf("}",n);return A===-1&&(A=t),u(50,n,A),!0}else{let A=y(n+1),v=A>n+1&&m(A,"as")&&Ke(e.charCodeAt(A+2));return u(51,n,n+1),h(),v?f(2):h(),!0}case 5:case 6:return u(o===5?17:19,n,g(n)),h(),!0;default:if(e.charCodeAt(n)===125)n++,h();else{let A=e.indexOf("}",n);A===-1&&(A=t),u(20,n,A)}return!0}};for(;n<t;)if(!w())return r.push(1),a.push(""),i.push(n),{types:r,texts:a,starts:i};return o===0||o===2?u(3,t,t):o===3?u(7,t,t):o===5?u(17,t,t):o===6?u(19,t,t):o===7&&u(20,t,t),r.push(0),a.push(""),i.push(t),{types:r,texts:a,starts:i}}function Q9(e,t){let{types:r,texts:a,starts:i}=q9(e),s=0,o=S=>{let R=r[s];throw R===1?ut("sequence",e,i[s],"",!0):ut("sequence",e,i[s],`Expecting ${S}, got '${QC[R]}'`)},n=S=>(r[s]!==S&&o(`'${QC[S]}'`),a[s++]),l=()=>{let S=r[s];return S!==48&&S!==39&&o("'ACTOR'"),{type:"addParticipant",actor:a[s++]}},u=()=>t.parseMessage(n(52).trim().substring(1)),c=()=>{let S=r[s++];if(S===35){let N=l();return n(3),N.type="destroyParticipant",N}let R=l();if(r[s]===49&&r[s-1]===48){s++;let N=n(50);n(51),R.config=N.trim()}if(R.draw=S===32?"participant":"actor",r[s]===33){s++;let N=n(7);n(3),R.description=t.parseMessage(N)}else r[s]===3?s++:o("'AS', 'NEWLINE'");return R},f=S=>{let R=!1;r[s]===47&&(R=!0,s++);let N=tr[r[s]];N<0&&o(z9),s++;let D=r[s];(D===47||!R&&(D===45||D===46))&&s++;let O=l(),H=u(),U={type:"addMessage",from:S.actor,to:O.actor,signalType:N,msg:H},k=[S,O,U];if(R){let j=D===47;U.activate=j,U.centralConnection=j?61:60,j&&k.push({type:"centralConnection",signalType:59,actor:O.actor}),k.push({type:"centralConnectionReverse",signalType:60,actor:S.actor})}else D===45?(U.activate=!0,k.push({type:"activeStart",signalType:17,actor:O.actor})):D===46?k.push({type:"activeEnd",signalType:18,actor:S.actor}):D===47&&(U.activate=!0,U.centralConnection=59,k.push({type:"centralConnection",signalType:59,actor:O.actor}));return k},h=S=>{s++;let R=l();return[R,{type:S,actor:R.actor,text:u()}]},g=()=>{s++;let S=r[s];if(S===37){s++;let D=l(),O=D,H=[D.actor,D.actor];if(r[s]===42){s++;let U=l();O=[D,U],H=[D.actor,U.actor]}return[O,{type:"addNote",placement:2,actor:H,text:u()}]}S!==43&&S!==44&&o("'over', 'left_of', 'right_of'"),s++;let R=l();return[R,{type:"addNote",placement:S===43?0:1,actor:R.actor,text:u()}]},p=()=>{s++;let S={type:"sequenceIndex",sequenceVisible:!0,signalType:26};return r[s]===10?(S.sequenceIndex=Number(a[s++]),S.sequenceIndexStep=r[s]===10?Number(a[s++]):1):r[s]===11&&(s++,S.sequenceVisible=!1),r[s]!==3&&o("'NEWLINE', 'NUM', 'off'"),s++,S},m=(S,R,N,D)=>{let O=S.list,H=S.sections;if(H)for(let U=H.length-2;U>=0;U-=2){let k={type:R,signalType:D};k[N]=t.parseMessage(H[U+1]),O=H[U].concat([k,O])}return O},x=S=>{let R=S.text,N=S.list;switch(S.kind){case 1:N[0]={type:"boxStart",boxData:t.parseBoxData(R)},N.push({type:"boxEnd",boxText:R});break;case 2:N[0]={type:"loopStart",loopText:t.parseMessage(R),signalType:10},N.push({type:"loopEnd",loopText:R,signalType:11});break;case 3:N[0]={type:"rectStart",color:t.parseMessage(R),signalType:22},N.push({type:"rectEnd",color:t.parseMessage(R),signalType:23});break;case 4:N[0]={type:"optStart",optText:t.parseMessage(R),signalType:15},N.push({type:"optEnd",optText:t.parseMessage(R),signalType:16});break;case 5:N[0]={type:"breakStart",breakText:t.parseMessage(R),signalType:30},N.push({type:"breakEnd",optText:t.parseMessage(R),signalType:31});break;case 6:N=m(S,"else","altText",13),N[0]={type:"altStart",altText:t.parseMessage(R),signalType:12},N.push({type:"altEnd",signalType:14});break;case 7:N=m(S,"and","parText",20),N[0]={type:"parStart",parText:t.parseMessage(R),signalType:S.startType},N.push({type:"parEnd",signalType:21});break;default:N=m(S,"option","optionText",28),N[0]={type:"criticalStart",criticalText:t.parseMessage(R),signalType:27},N.push({type:"criticalEnd",signalType:29})}return N};for(;r[s]===3;)s++;n(4);let y=[],C={kind:0,text:"",startType:0,list:[],sections:void 0};for(;;){let S=r[s],R=C.list;if(C.kind===1){if(S===32||S===34||S===35)R.push(c());else if(S===3)R.push([]),s++;else if(S===8){s++;let N=x(C);C=y.pop(),C.list.push(N)}else o("'end', 'NEWLINE', 'participant', 'participant_actor', 'destroy'");continue}switch(S){case 3:case 2:R.push([]),s++;break;case 32:case 34:case 35:R.push(c());break;case 5:{s++;let N=r[s];N!==32&&N!==34&&N!==35&&o("'participant', 'participant_actor', 'destroy'");let D=c();D.type="createParticipant",R.push(D);break}case 48:R.push(f(l())),n(3);break;case 39:{let N=r[s+1];R.push(N===48||N===39?h("addALink"):f(l())),n(3);break}case 38:R.push(h("addLinks")),n(3);break;case 40:R.push(h("addProperties")),n(3);break;case 41:R.push(h("addDetails")),n(3);break;case 36:R.push(g()),n(3);break;case 9:R.push(p());break;case 12:case 13:{s++;let N=l();n(3),R.push(S===12?{type:"activeStart",signalType:17,actor:N.actor}:{type:"activeEnd",signalType:18,actor:N.actor});break}case 14:case 15:{let N=a[s++].substring(S===14?6:7);t.setDiagramTitle(N),R.push(N);break}case 16:{s++;let N=n(17).trim();t.setAccTitle(N),R.push(N);break}case 18:{s++;let N=n(19).trim();t.setAccDescription(N),R.push(N);break}case 20:{let N=a[s++].trim();t.setAccDescription(N),R.push(N);break}case 21:case 22:case 23:case 28:case 24:case 25:case 26:case 27:case 6:{s++;let N=n(7);y.push(C),C={kind:As[S],text:N,startType:S===26?32:19,list:[[]],sections:void 0};break}case 31:case 30:case 29:{C.kind!==(S===31?6:S===30?7:8)&&o("'end'"),s++;let N=n(7);(C.sections??=[]).push(R,N),C.list=[];break}case 8:{C.kind===0&&o("'NEWLINE', 'EOF'"),s++;let N=x(C);C=y.pop(),C.list.push(N);break}case 0:C.kind!==0&&o("'end'"),t.apply(R);return;default:o("'NEWLINE', 'ACTOR', 'participant', 'note', 'end'")}}}function J9(e){return X9.has(e)?e:"participant"}function XA(e){return Z9.has(e)}function e7(e,t,r,a,i=V9){if(XA(e))return{w:Math.max(40,t.width+8),h:aM+(t.height>0?iM+t.height:0)};let s=e==="collections"?Co:e==="queue"?2*Eo:0;return{w:Math.max(r,t.width+2*i)+s,h:Math.max(a,t.height+2*j9)+(e==="collections"?Co:0)}}function t7(e,t,r){let a=d(t),i=s=>d(r+s);switch(e){case"actor":return`<circle cx="${a}" cy="${i(7)}" r="6"${Zs}/><path d="M${a},${i(13)}V${i(24)}M${d(t-10)},${i(17)}H${d(t+10)}M${d(t-8)},${i(34)}L${a},${i(24)}L${d(t+8)},${i(34)}"${Fl}/>`;case"boundary":return`<path d="M${d(t-19)},${i(6)}V${i(28)}M${d(t-19)},${i(17)}H${d(t-8)}"${Fl}/><circle cx="${d(t+3)}" cy="${i(17)}" r="11"${Zs}/>`;case"control":return`<circle cx="${a}" cy="${i(21)}" r="11"${Zs}/><path d="M${d(t+5)},${i(5)}L${d(t-1)},${i(10)}L${d(t+5)},${i(15)}"${Fl}/>`;case"entity":return`<circle cx="${a}" cy="${i(15)}" r="11"${Zs}/><path d="M${d(t-11)},${i(30)}H${d(t+11)}"${Fl}/>`;default:{let s=d(t-14),o=d(t+14);return`<path d="M${s},${i(7)}V${i(27)}A14,5 0 0 0 ${o},${i(27)}V${i(7)}A14,5 0 0 0 ${s},${i(7)}Z"${Zs}/><path d="M${s},${i(7)}A14,5 0 0 0 ${o},${i(7)}"${Fl}/>`}}}function r7(e,t,r,a,i,s){let{w:o,h:n}=a,l=' class="pele-label"';if(XA(e))return t7(e,t,r)+De(i,t,r+aM+iM+i.height/2,l,s);let u=t-o/2;if(e==="collections"){let c=o-Co,f=n-Co,h=`<rect x="${d(u+Co)}" y="${d(r)}" width="${d(c)}" height="${d(f)}"${Zs}${ct}/>`,g=`<rect x="${d(u)}" y="${d(r+Co)}" width="${d(c)}" height="${d(f)}"${Zs}${ct}/>`;return h+g+De(i,u+c/2,r+Co+f/2,l,s)}if(e==="queue"){let c=d(u+Eo),f=d(u+o-Eo),h=d(r+n),g=d(n/2);return`<path d="M${c},${d(r)}H${f}A${Eo},${g} 0 0 1 ${f},${h}H${c}A${Eo},${g} 0 0 1 ${c},${d(r)}Z"${Zs}/><path d="M${f},${d(r)}A${Eo},${g} 0 0 0 ${f},${h}"${Fl}/>`+De(i,t-Eo/2,r+n/2,l,s)}return`<rect x="${d(u)}" y="${d(r)}" width="${d(o)}" height="${d(n)}"${Zs}${ct}/>`+De(i,t,r+n/2,l,s)}function Xr(e,t,r,a=1,i=!1){ZA[e]={dotted:t,head:r,atStart:a!==1,atEnd:a!==0,bottom:i}}function jA(e){return e!==void 0&&ZA[e]!==void 0}function u7(e,t){let r=new Array(e.length),a=new Array(e.length),i=1,s=1,o=!1;for(let n=0;n<e.length;n++){let l=e[n];if(r[n]=NaN,a[n]=!1,l.type===26){let u=l.message;i=u.start||i,s=u.step||s,o=u.visible}else jA(l.type)&&(r[n]=i,a[n]=o||t,i=Math.round((i+s)*100)/100)}return{index:r,shown:a,visible:o}}function So(e,t,r){let a=e[t];return typeof a=="number"&&a>=0&&a<=2e3?a:r}function eM(e,t,r,a,i){let s=d(e-r*er);return i?`<path class="pele-marker" d="M${d(e)},${d(t)}L${s},${d(t+a*5)}"/>`:`<path class="pele-marker" d="M${d(e)},${d(t)}L${s},${d(t+a*4.5)}V${d(t)}Z" fill="var(--_l)" stroke="none"/>`}function np(e,t,r,a,i){switch(e){case 1:return vt("arrow_point",t,r,a,0,"var(--_l)");case 2:return vt("arrow_cross",t,r,a,0,"var(--_l)");case 3:return`<path class="pele-marker" d="M${d(t-a*er)},${d(r-4.5)}L${d(t)},${d(r)}L${d(t-a*er)},${d(r+4.5)}" stroke-linejoin="round"/>`;case 4:return eM(t,r,a,i,!1);case 5:return eM(t,r,a,i,!0);default:return""}}function c7(e){return e===1?er-1:e===2?4:0}function h7(e,t,r){return ca(r,a=>d7(e,t,r,a))}function d7(e,t,r,a){let i=t.sequence??{},s=r.fontSize??16,o=Math.round(s*.875),n=Math.round(s*.75),l=r.measurer??at(r.fontFamily),u=r.icons,c=r.padding??8,f=i.mirrorActors!==!1,h=i.rightAngles===!0,g=Math.min(So(i,"actorMargin",40),a?8:1/0),p=Math.min(So(i,"width",64),a?48:1/0),m=So(i,"height",Math.round(s*1.5)+20),x=Math.min(So(i,"width",160),a?Math.max(32,((r.maxWidth??320)-2*c)/Math.max(1,e.actors.size)-g-24):1/0),y=Math.max(4,14+So(i,"messageMargin",35)-35),C=Math.min(So(i,"noteMargin",10),a?6:1/0),S=Math.min(So(i,"boxMargin",10),a?6:1/0),R=i.messageAlign==="left"?-1:i.messageAlign==="right"?1:0,N=a?6:i7,D=a?8:n7,O=a?12:o7,H=a?6:l7,U=e.messages,k=U.length,j=u7(U,i.showSequenceNumbers===!0),X=(z,ge,ae,xe=x,Ce=0)=>{let ke=We(z,!1,l,ge,a||ae?xe:1/0,Ce);return a?bo(ke,l,Math.max(120,xe)):ke},P;if(i.hideUnusedParticipants===!0){P=new Set;for(let z of U)P.add(z.from).add(z.to)}let F=new Int32Array(k+1);F[k]=-1;for(let z=k-1;z>=0;z--)F[z]=jA(U[z].type)?z:F[z+1];let I=[],$=new Map;for(let[z,ge]of e.actors){if(P&&!P.has(z))continue;let ae=J9(ge.type),xe=X(ge.description,s,ge.wrap),Ce=e.createdActors.get(z),ke=e.destroyedActors.get(z),_e=Ce===void 0?-1:F[Math.min(Ce,k)];_e>=0&&U[_e].to!==z&&(_e=-1);let Te=ke===void 0?-1:F[Math.min(ke,k)];Te>=0&&U[Te].to!==z&&U[Te].from!==z&&(Te=-1),$.set(z,I.length),I.push({id:z,actor:ge,kind:ae,label:xe,size:e7(ae,xe,p,m,a?8:void 0),x:0,createAt:_e,destroyAt:Te,top:0,lifeStart:0,lifeEnd:-1,activations:[]})}let w=I.length-1,A=new Map,v=(z,ge,ae)=>{if(z<0||ge>w)return;let xe=z*I.length+ge;(A.get(xe)??0)<ae&&A.set(xe,ae)},b=z=>j.shown[z]?Math.max(sp,l.width(String(j.index[z]),n,0)+8):0,T=new Array(k);for(let z=0;z<k;z++){let ge=U[z],ae=ge.from===void 0?void 0:$.get(ge.from),xe=ge.to===void 0?void 0:$.get(ge.to);if(!(ae===void 0||xe===void 0||typeof ge.message!="string")){if(ge.type===2){let Ce=X(ge.message,o,ge.wrap),ke=Ce.width+2*C;ge.placement===0?v(ae-1,ae,ke+2*Ol+Ui):ge.placement===1?v(ae,ae+1,ke+2*Ol+Ui):ae===xe?(v(ae-1,ae,ke/2+Ol),v(ae,ae+1,ke/2+Ol)):v(Math.min(ae,xe),Math.max(ae,xe),ke-2*D),T[z]={kind:2,a:ae,b:xe,label:Ce,x:0,w:ke}}else if(jA(ge.type)){let Ce=X(ge.message,o,ge.wrap),ke=b(z);if(ae===xe)v(ae,ae+1,VA+8+Ce.width+16+Ui+ke),T[z]={kind:1,a:ae,b:xe,label:Ce,x:0,w:0};else{let _e=I[xe].createAt===z?I[xe].size.w/2:0,Te=ge.centralConnection?4*Bl:0;v(Math.min(ae,xe),Math.max(ae,xe),(a?Math.min(Ce.width,Math.max(16,x-16)):Ce.width)+2*N+Ui+ke+_e+Te),T[z]={kind:0,a:ae,b:xe,label:Ce,x:0,w:0}}}}}let M=[];for(let z=0;z<=w;z++){let ge=I[z].actor.box,ae=M[M.length-1];ge&&ae&&ae.box===ge&&ae.last===z-1?ae.last=z:ge&&M.push({box:ge,first:z,last:z,title:X(ge.name,o,ge.wrap),grow:0})}let E=new Array(Math.max(w,0));for(let z=0;z<w;z++){let ge=I[z],ae=I[z+1],xe=ge.actor.box!==ae.actor.box?(ge.actor.box?S:0)+(ae.actor.box?S:0):0;E[z]=Math.max(ge.size.w/2+ae.size.w/2+g+xe,A.get(z*I.length+z+1)??0)}let Y=[];for(let[z,ge]of A){let ae=Math.floor(z/I.length),xe=z%I.length;xe-ae>1&&Y.push([ae,xe,ge])}Y.sort((z,ge)=>z[1]-z[0]-(ge[1]-ge[0])||z[0]-ge[0]);for(let[z,ge,ae]of Y){let xe=0;for(let ke=z;ke<ge;ke++)xe+=E[ke];if(xe>=ae)continue;let Ce=(ae-xe)/(ge-z);for(let ke=z;ke<ge;ke++)E[ke]+=Ce}let G=()=>{for(let z=1;z<=w;z++)I[z].x=I[z-1].x+E[z-1]};G();for(let z of M){let ge=I[z.last].x+I[z.last].size.w/2-(I[z.first].x-I[z.first].size.w/2);z.grow=Math.max(0,(z.title.width-ge)/2),z.grow!==0&&(z.first>0&&(E[z.first-1]+=z.grow),z.last<w&&(E[z.last]+=z.grow))}G();let K=1/0,L=-1/0,_=(z,ge)=>{z<K&&(K=z),ge>L&&(L=ge)};for(let z of I)_(z.x-z.size.w/2,z.x+z.size.w/2);for(let z of M)_(I[z.first].x-I[z.first].size.w/2-S-z.grow,I[z.last].x+I[z.last].size.w/2+S+z.grow);let B=new Array(k),q=[],Q=()=>w<0?[0,120]:[I[0].x-O,I[w].x+O];for(let z=0;z<k;z++){let ge=U[z],ae=ge.type,xe=ae===void 0?void 0:a7.get(ae),Ce=T[z];if(xe!==void 0){let ke={kind:xe,x0:1/0,x1:-1/0,top:0,title:JC,tabW:0,fill:xe==="rect"&&typeof ge.message=="string"?ge.message:"",dividers:[z],dividerY:[],dividerLabels:[]};B[z]=ke,q.push(ke)}else if(ae===13||ae===20||ae===28)q[q.length-1]?.dividers.push(z);else if(ae===11||ae===14||ae===16||ae===21||ae===29||ae===31||ae===23){let ke=q.pop();if(!ke)continue;if(B[z]=ke,ke.x0>ke.x1&&([ke.x0,ke.x1]=Q()),ke.kind!=="rect"){ke.tabW=l.width(ke.kind,n,1)+14;for(let Te=0;Te<ke.dividers.length;Te++){let Ue=U[ke.dividers[Te]].message,Me=Te===0?ke.tabW+8:0,qe=ke.x1-ke.x0-16-Me,Ve=Ue?X(`[${Ue}]`,o,!0,Math.max(qe,a?Math.min(XC,x):XC)):JC;Ve.width>qe&&(ke.x1+=Ve.width-qe),Te===0?ke.title=Ve:ke.dividerLabels.push(Ve)}}_(ke.x0,ke.x1);let _e=q[q.length-1];_e&&(_e.x0=Math.min(_e.x0,ke.x0-H),_e.x1=Math.max(_e.x1,ke.x1+H))}else if(Ce){let ke=I[Ce.a],_e=I[Ce.b],Te,Ue;if(Ce.kind===2){if(ge.placement===0)Ce.x=ke.x-Ol-Ce.w;else if(ge.placement===1)Ce.x=ke.x+Ol;else if(Ce.a===Ce.b)Ce.x=ke.x-Ce.w/2;else{let qe=Math.min(ke.x,_e.x)-D,Ve=Math.max(ke.x,_e.x)+D;(a||ge.wrap)&&(Ce.label=X(ge.message,o,!0,Math.max(x,Ve-qe-2*C))),Ce.w=Math.max(Ve-qe,Ce.label.width+2*C),Ce.x=(qe+Ve-Ce.w)/2}Te=Ce.x,Ue=Ce.x+Ce.w}else Ce.kind===1?(Te=ke.x,Ue=ke.x+Ui+VA+8+Ce.label.width+b(z)):(Te=Math.min(ke.x,_e.x),Ue=Math.max(ke.x,_e.x),(a||ge.wrap)&&(Ce.label=X(ge.message,o,!0,Math.max(x,Ue-Te-2*N-Ui))),_e.createAt===z&&(_e.x>ke.x?Ue+=_e.size.w/2:Te-=_e.size.w/2));_(Te,Ue);let Me=q[q.length-1];Me&&(Me.x0=Math.min(Me.x0,Te-O),Me.x1=Math.max(Me.x1,Ue+O))}}let Z=0;for(let z of M)Z=Math.max(Z,z.title.height);let J=M.length>0?S+(Z>0?Z+4:0):0,W=0;for(let z of I)z.createAt<0&&(W=Math.max(W,z.size.h));let V=J+W;for(let z of I)z.top=V-z.size.h,z.lifeStart=V;let re=I.map(z=>z.x),ne=(z,ge)=>{let ae=0,xe=re.length;for(;ae<xe;){let Ce=ae+xe>>1;re[Ce]<=z?ae=Ce+1:xe=Ce}return ae<re.length&&re[ae]<ge},ce=(z,ge,ae,xe)=>{if(z.width===0)return"";let Ce=ge-z.width/2;return(ne(Ce,Ce+z.width)?`<rect x="${d(Ce-3)}" y="${d(ae-z.height/2+2)}" width="${d(z.width+6)}" height="${d(z.height-4)}" rx="3" fill="var(--_bg)" stroke="none"/>`:"")+De(z,ge,ae,xe,u)},ie=(z,ge=0)=>z.activations.length+ge>0?z.x-Ui/2:z.x,se=(z,ge=0)=>{let ae=z.activations.length+ge;return ae>0?z.x+Ui/2+(ae-1)*jC:z.x},ee=[],te=[],he="",me="",oe="",be="",de="",pe="",Ee=(z,ge)=>{let ae=z.activations.pop(),xe=Math.max(ge,ae+s7),Ce=z.x-Ui/2+z.activations.length*jC;return _(Ce,Ce+Ui),te.push(`<rect class="pele-activation" data-id="${Oe(z.id)}" x="${d(Ce)}" y="${d(ae)}" width="${Ui}" height="${d(xe-ae)}" rx="2"/>`),xe},ve=(z,ge)=>{let ae=z.x,xe=ge+16;return z.lifeEnd=xe,pe+=`<path class="pele-destroy" data-id="${Oe(z.id)}" d="M${d(ae-6)},${d(xe-6)}L${d(ae+6)},${d(xe+6)}M${d(ae+6)},${d(xe-6)}L${d(ae-6)},${d(xe+6)}"/>`,xe+6},le=(z,ge,ae)=>{let xe=z.actor.properties.get("class");return`<g class="pele-node pele-actor pele-actor-${z.kind}${ae?" pele-actor-footer":""}${typeof xe=="string"?Wt(xe):""}" data-id="${Oe(z.id)}">`+r7(z.kind,z.x,ge,z.size,z.label,u)+"</g>"},fe=(z,ge,ae,xe)=>`<g class="pele-sequence-number"><rect x="${d(ge-xe/2)}" y="${d(ae-sp/2)}" width="${d(xe)}" height="${sp}" rx="${sp/2}" fill="var(--_l)" stroke="none"/><text x="${d(ge)}" y="${d(ae+n*.35)}" text-anchor="middle" font-size="${n}" fill="var(--_bg)" stroke="none">${Je(String(j.index[z]))}</text></g>`,Ae=V+6,Ie=[];for(let z=0;z<k;z++){let ge=U[z],ae=ge.type,xe=T[z],Ce=B[z];if(ae===17){let ke=ge.from===void 0?void 0:$.get(ge.from);ke!==void 0&&I[ke].activations.push(Ae)}else if(ae===18){let ke=ge.from===void 0?void 0:$.get(ge.from);ke!==void 0&&I[ke].activations.length>0&&(Ae=Math.max(Ae,Ee(I[ke],Ae)))}else if(Ce&&Ce.dividers[0]===z)Ie.push(Ce),Ce.kind==="rect"?(Ce.top=Ae+8,Ae=Ce.top):(Ce.top=Ae+12,Ae=Ce.top+Math.max(ip,Ce.title.height+2));else if(Ce){Ie.pop();let ke=Ae+12,_e=d(Ce.x0),Te=d(Ce.x1-Ce.x0);if(Ce.kind==="rect"){let Ue=Ce.fill?Rt([`fill:${Ce.fill}`]).shape:"";ee.push(`<rect class="pele-rect" x="${_e}" y="${d(Ce.top)}" width="${Te}" height="${d(ke-Ce.top)}"${bt((Ue?"":' fill-opacity="0.5"')+Ue)}/>`)}else{let Ue=`<rect x="${_e}" y="${d(Ce.top)}" width="${Te}" height="${d(ke-Ce.top)}" fill="none"${ct}/>`;for(let Me=0;Me<Ce.dividerY.length;Me++){let qe=Ce.dividerY[Me],Ve=Ce.dividerLabels[Me];Ue+=`<path d="M${_e},${d(qe)}H${d(Ce.x1)}"${ZC}/>`+ce(Ve,Ce.x0+8+Ve.width/2,qe+2+Ve.height/2,' class="pele-frame-label" fill="var(--_m)" stroke="none"')}Ue+=`<rect x="${_e}" y="${d(Ce.top)}" width="${d(Ce.tabW)}" height="${ip}" fill="var(--_s)"${ct}/><text class="pele-frame-kind" x="${d(Ce.x0+Ce.tabW/2)}" y="${d(Ce.top+ip/2+n*.35)}" text-anchor="middle" font-size="${n}" font-weight="var(--_hw)" fill="var(--_m)" stroke="none">${Ce.kind}</text>`+ce(Ce.title,Ce.x0+Ce.tabW+8+Ce.title.width/2,Ce.top+Math.max(ip,Ce.title.height)/2,' class="pele-frame-label" fill="var(--_m)" stroke="none"'),he+=`<g class="pele-frame pele-frame-${Ce.kind}">${Ue}</g>`}Ae=ke}else if(ae===13||ae===20||ae===28){let ke=Ie[Ie.length-1];if(ke){let _e=ke.dividerLabels[ke.dividerY.length];ke.dividerY.push(Ae+12),Ae+=12+(_e.height>0?_e.height:0)}}else if(xe&&xe.kind===2){let ke=I[xe.a],_e=xe.label.height+2*Math.max(4,C-4),Te=Ae+10,Ue=xe.x;ge.placement===1?Ue+=se(ke)-ke.x:ge.placement===0&&(Ue+=ie(ke)-ke.x),_(Ue,Ue+xe.w),be+=`<g class="pele-note" data-id="i${Oe(ge.id)}"><rect x="${d(Ue)}" y="${d(Te)}" width="${d(xe.w)}" height="${d(_e)}"${ct}/>`+De(xe.label,Ue+xe.w/2,Te+_e/2,' class="pele-label" stroke="none" fill="var(--_fg)"',u)+"</g>",Ae=Te+_e}else if(xe){let ke=ZA[ae],_e=I[xe.a],Te=I[xe.b],Ue=xe.label,Me=b(z),qe=0;for(let Ye=z+1;Ye<k;Ye++){let mt=U[Ye].type;if(mt===17)U[Ye].from===ge.to&&qe++;else if(mt!==18&&mt!==59&&mt!==60)break}let Ve=ke.bottom?1:-1,nt=ke.dotted?ZC:"",gt=ge.centralConnection,it=gt===59||gt===61,dt=gt===60||gt===61,ht=(Ye,mt)=>`<circle class="pele-central" cx="${d(Ye)}" cy="${d(mt)}" r="${Bl}" fill="var(--_l)" stroke="none"/>`,jt=ke.atStart&&!ke.atEnd,Ot=c7(ke.head),$t="",Qt;if(xe.kind===1){let Ye=Ae+y+Math.max(0,(Ue.height-VC)/2),mt=Ye+VC,Et=dt?_e.x+Bl:se(_e),ft=it?_e.x+Bl:se(_e,qe),dr=Math.max(Et,ft)+VA+Me/2;dt&&($t+=ht(_e.x,Ye)),it&&($t+=ht(_e.x,mt)),Me>0&&($t+=fe(z,jt?ft:Et,jt?mt:Ye,Me),jt?ft+=Me/2:Et+=Me/2);let _t=(ke.atStart?np(ke.head,Et,Ye,-1,Ve):"")+(ke.atEnd?np(ke.head,ft,mt,-1,-Ve):""),et=d(Et+(ke.atStart?Ot:0)),Ct=d(ft+(ke.atEnd?Ot:0));$t=`<path d="${h?`M${et},${d(Ye)}H${d(dr)}V${d(mt)}H${Ct}`:`M${et},${d(Ye)}H${d(dr-6)}A6,6 0 0 1 ${d(dr)},${d(Ye+6)}V${d(mt-6)}A6,6 0 0 1 ${d(dr-6)},${d(mt)}H${Ct}`}"${nt}/>`+_t+$t,_(_e.x,dr+8+Ue.width),Ue.width>0&&(oe+=`<g class="pele-edge-label" data-id="i${Oe(ge.id)}">${De(Ue,dr+8+Ue.width/2,(Ye+mt)/2,"",u)}</g>`),Qt=Math.max(mt,(Ye+mt)/2+Ue.height/2)}else{let Ye=Te.x>_e.x?1:-1,mt=Te.createAt===z;Qt=Ae+y+Math.max(Ue.height>0?Ue.height+2:6,mt?Te.size.h/2-y+6:0);let Et=Ye>0?se(_e):ie(_e),ft=Ye>0?ie(Te,qe):se(Te,qe);if(mt&&(Te.top=Qt-Te.size.h/2,Te.lifeStart=Te.top+Te.size.h,ft=Te.x-Ye*(XA(Te.kind)?18:Te.size.w/2+1)),dt&&($t+=ht(_e.x,Qt),Et=_e.x+Ye*Bl),it&&($t+=ht(Te.x,Qt),ft=Te.x-Ye*Bl),Me>0)if(jt){let Ct=it?ft-Ye*(Me/2+2):ft;$t+=fe(z,Ct,Qt,Me),ft=Ct-Ye*Me/2}else{let Ct=dt?Et+Ye*(Me/2+2):Et;$t+=fe(z,Ct,Qt,Me),Et=Ct+Ye*Me/2}let dr=(ke.atStart?np(ke.head,Et,Qt,-Ye,Ve*Ye):"")+(ke.atEnd?np(ke.head,ft,Qt,Ye,Ve*Ye):""),_t=Et+(ke.atStart?Ye*Ot:0),et=ft-(ke.atEnd?Ye*Ot:0);if($t=`<path d="M${d(_t)},${d(Qt)}H${d(et)}"${nt}/>`+dr+$t,Ue.width>0){let Ct=Math.min(Et,ft),Ut=Math.max(Et,ft),Pt=R<0?Ct+N+Ue.width/2:R>0?Ut-N-Ue.width/2:(Ct+Ut)/2;_(Pt-Ue.width/2,Pt+Ue.width/2),oe+=`<g class="pele-edge-label" data-id="i${Oe(ge.id)}">${ce(Ue,Pt,Qt-4-Ue.height/2,"")}</g>`}mt&&(Ae=Qt+Te.size.h/2-6)}me+=`<g class="pele-edge pele-message" data-id="i${Oe(ge.id)}">${$t}</g>`,Ae=Math.max(Ae,Qt),_e.destroyAt===z&&(Ae=Math.max(Ae,ve(_e,Qt))),Te.destroyAt===z&&Te!==_e&&(Ae=Math.max(Ae,ve(Te,Qt)))}}Ae+=20;for(let z of I)for(;z.activations.length>0;)Ee(z,Ae);let Re=Ae;if(f){let z=0;for(let ge of I)ge.lifeEnd>=0||(z=Math.max(z,ge.size.h),de+=le(ge,Ae,!0));Re=Ae+z}let Pe="";for(let z of I){de+=le(z,z.top,!1);let ge=z.lifeEnd>=0?z.lifeEnd:Ae;ge>z.lifeStart&&(Pe+=`<path class="pele-lifeline" data-id="${Oe(z.id)}" d="M${d(z.x)},${d(z.lifeStart)}V${d(ge)}"/>`)}let ue="";for(let z of M){let ge=I[z.first].x-I[z.first].size.w/2-S-z.grow,ae=I[z.last].x+I[z.last].size.w/2+S+z.grow,xe=z.box.fill==="transparent"?"":Rt([`fill:${z.box.fill}`]).shape;ue+=`<g class="pele-cluster pele-box"${z.box.name?` data-id="${Oe(z.box.name)}"`:""}><rect x="${d(ge)}" y="0" width="${d(ae-ge)}" height="${d(Re+S)}" fill="var(--_a)" stroke="var(--_b)"${bt((xe?"":' fill-opacity="0.5"')+xe)}/>`+De(z.title,(ge+ae)/2,S/2+2+z.title.height/2,' class="pele-cluster-label" fill="var(--_m)"',u)+"</g>"}M.length>0&&(Re+=S);let we=0,$e="",ye=Ht(r),Se=aa(e.title,l,s,a?ye:1/0),Ne=a?bo(Se,l,Math.max(120,ye)):Se;if(K>L&&_(0,Math.max(Ne.width,40)),Ne.width>0){let z=(K+L)/2;_(z-Ne.width/2,z+Ne.width/2),we=-Ne.height-12,$e=De(Ne,z,we+Ne.height/2,' class="pele-title" font-weight="var(--_tw)"',u)}let Ge=Math.ceil(L-K+2*c),Fe=Math.ceil(Re-we+2*c);return{svg:rt("sequence",Ge,Fe,s,r,e,`<g transform="translate(${d(c-K)},${d(c-we)})">`+$e+(ue?`<g class="pele-boxes" font-size="${o}">${ue}</g>`:"")+(ee.length>0?`<g class="pele-rects" fill="var(--_a)">${ee.reverse().join("")}</g>`:"")+(Pe?`<g class="pele-lifelines" fill="none" stroke="var(--_b)">${Pe}</g>`:"")+(te.length>0?`<g class="pele-activations" fill="var(--_s)" stroke="var(--_b)">${te.reverse().join("")}</g>`:"")+(he?`<g class="pele-frames" font-size="${o}" stroke="var(--_b)">${he}</g>`:"")+(me?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${me}</g>`:"")+(pe?`<g class="pele-destroys" fill="none" stroke="var(--_l)" stroke-width="1.5" stroke-linecap="round">${pe}</g>`:"")+(oe?`<g class="pele-edge-labels" font-size="${o}">${oe}</g>`:"")+(be?`<g class="pele-notes" font-size="${o}" fill="var(--_a)" stroke="var(--_b)">${be}</g>`:"")+(de?`<g class="pele-nodes">${de}</g>`:"")+"</g>"),width:Ge,height:Fe,links:[]}}var _9,YC,L9,W9,H9,P9,G9,KC,U9,K9,QC,rM,tr,As,z9,V9,j9,aM,iM,Co,Eo,Zs,Fl,X9,Z9,ZA,a7,i7,VA,VC,Ui,jC,s7,Ol,n7,o7,l7,ip,XC,sp,Bl,ZC,JC,sM,nM=Xe(()=>{cl();yo();Li();pr();zt();Lr();xt();Mt();_9="aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen transparent currentcolor inherit initial unset revert accentcolor accentcolortext activetext buttonborder buttonface buttontext canvas canvastext field fieldtext graytext highlight highlighttext linktext mark marktext selecteditem selecteditemtext visitedtext activeborder activecaption appworkspace background buttonhighlight buttonshadow captiontext inactiveborder inactivecaption inactivecaptiontext infobackground infotext menu menutext scrollbar threeddarkshadow threedface threedhighlight threedlightshadow threedshadow window windowframe windowtext",L9=/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?(%|deg|grad|rad|turn)?$/i;W9=/^:?wrap:/,H9=/^:?nowrap:/,P9=/^:?(?:no)?wrap:/,G9=/^(?:rgba?|hsla?)\s*\(/,KC=/[\r\u2028\u2029]/,U9=/^\w*/;K9=class{type="sequence";actors=new Map;createdActors=new Map;destroyedActors=new Map;boxes=[];messages=[];notes=[];title;accTitle;accDescr;prevActor;currentBox;lastCreated;lastDestroyed;wrapEnabled;sequenceWrap;active=new Map;constructor(e={}){this.wrapEnabled=e.wrap,this.sequenceWrap=e.sequenceWrap??!1}autoWrap(){return this.wrapEnabled??this.sequenceWrap}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
106
+ `)}setDiagramTitle(e){this.title=e}parseMessage(e){return qC(e)}parseBoxData(e){let t=Y9(e),r=t?.[0]?t[0].trim():"transparent",a=t?.[1]?t[1].trim():void 0;if(F9(r)||(r="transparent",a=e.trim()),a===void 0)return{text:void 0,color:r,wrap:void 0};let{text:i,wrap:s}=qC(a);return{text:i||void 0,color:r,wrap:s}}addBox(e){this.currentBox={name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]},this.boxes.push(this.currentBox)}addActor(e,t,r,a,i){let s=this.currentBox,o;if(i!==void 0){let c;try{c=Di(i.includes(`
107
+ `)?i+`
108
+ `:`{
109
+ `+i+`
110
+ }`)}catch(f){throw new je(`Config of participant "${e}" is not valid YAML. ${f.message}`,"syntax",{type:"sequence"})}c!==null&&typeof c=="object"&&!Array.isArray(c)&&(o=c)}let n=o&&Object.prototype.hasOwnProperty.call(o,"type")?o.type:void 0,l=o&&Object.prototype.hasOwnProperty.call(o,"alias")?o.alias:void 0;n!=null&&(a=String(n)),l&&(!r||r.text===t)&&(r={text:String(l),wrap:r?.wrap,type:a});let u=this.actors.get(e);if(!(u&&(this.currentBox&&u.box&&this.currentBox!==u.box&&Jc(`A same participant should only be defined in one Box: ${u.name} can't be in '${u.box.name}' and in '${this.currentBox.name}' at the same time.`),s=u.box?u.box:this.currentBox,u.box=s,t===u.name&&r==null))){if((r?.text==null||a==null)&&(r={text:t,type:a}),this.actors.set(e,{box:s,name:t,description:r.text,wrap:r.wrap??this.autoWrap(),prevActor:this.prevActor,links:new Map,properties:new Map,type:a??"participant"}),this.prevActor){let c=this.actors.get(this.prevActor);c&&(c.nextActor=e)}this.currentBox&&this.currentBox.actorKeys.push(e),this.prevActor=e}}addMessage(e,t,r,a){this.messages.push({id:String(this.messages.length),from:e,to:t,message:r.text,wrap:r.wrap??this.autoWrap(),answer:a})}addSignal(e,t,r,a,i=!1,s){if(a===18){let o=e?this.active.get(e)??0:0;o<1&&Jc(`Trying to inactivate an inactive participant (${e})`),this.active.set(e,o-1)}else a===17&&e&&this.active.set(e,(this.active.get(e)??0)+1);return this.messages.push({id:String(this.messages.length),from:e,to:t,message:r?.text??"",wrap:r?.wrap??this.autoWrap(),type:a,activate:i,centralConnection:s??0}),!0}addNote(e,t,r){let a=r.wrap??this.autoWrap(),i={actor:e,placement:t,message:r.text,wrap:a},s=typeof e=="string"?[e,e]:e;this.notes.push(i),this.messages.push({id:String(this.messages.length),from:s[0],to:s[1],message:r.text,wrap:a,type:2,placement:t})}addLinks(e,t){let r=this.actors.get(e);if(r)try{let a=JSON.parse(t.text);for(let[i,s]of zC(a))r.links.set(i,s)}catch{return}}addALink(e,t){let r=this.actors.get(e);if(!r)return;let a=t.text.indexOf("@");r.links.set(t.text.slice(0,a-1).trim(),t.text.slice(a+1).trim())}addProperties(e,t){let r=this.actors.get(e);if(r)try{let a=JSON.parse(t.text);for(let[i,s]of zC(a))r.properties.set(i,s)}catch{return}}addDetails(e,t){let r=this.actors.get(e);r&&(r.details=t.text)}apply(e){let t=[],r=[],a=e;for(;;){a!==void 0&&(Array.isArray(a)?(t.push(a),r.push(0)):typeof a!="string"&&this.applyOne(a));let i=t.length-1;if(i<0)return;let s=t[i];r[i]<s.length?a=s[r[i]++]:(t.pop(),r.pop(),a=void 0)}}applyOne(e){let t=e.actor;switch(e.type){case"sequenceIndex":this.messages.push({id:String(this.messages.length),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible===!0},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(t,t,e.description,e.draw,e.config);break;case"createParticipant":this.actors.has(t)&&Jc("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior"),this.lastCreated=t,this.addActor(t,t,e.description,e.draw,e.config),this.createdActors.set(t,this.messages.length);break;case"destroyParticipant":this.lastDestroyed=t,this.destroyedActors.set(t,this.messages.length);break;case"activeStart":case"activeEnd":case"centralConnection":case"centralConnectionReverse":this.addSignal(t,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(t,e.text);break;case"addALink":this.addALink(t,e.text);break;case"addProperties":this.addProperties(t,e.text);break;case"addDetails":this.addDetails(t,e.text);break;case"addMessage":this.lastCreated?(e.to!==this.lastCreated&&Jc(`The created participant ${this.lastCreated} does not have an associated creating message after its declaration. Please check the sequence diagram.`),this.lastCreated=void 0):this.lastDestroyed&&(e.to!==this.lastDestroyed&&e.from!==this.lastDestroyed&&Jc(`The destroyed participant ${this.lastDestroyed} does not have an associated destroying message after its declaration. Please check the sequence diagram.`),this.lastDestroyed=void 0),this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.currentBox=void 0;break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"altStart":case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"parStart":case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}},QC=["$end","INVALID","INVALID","NEWLINE","SD","create","box","restOfLine","end","autonumber","NUM","off","activate","deactivate","title","legacy_title","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","loop","rect","opt","alt","par","par_over","critical","break","option","and","else","participant","AS","participant_actor","destroy","note","over","links","link","properties","details",",","left_of","right_of","+","-","()","ACTOR","CONFIG_START","CONFIG_CONTENT","CONFIG_END","TXT","SOLID_OPEN_ARROW","DOTTED_OPEN_ARROW","SOLID_ARROW","BIDIRECTIONAL_SOLID_ARROW","DOTTED_ARROW","BIDIRECTIONAL_DOTTED_ARROW","SOLID_CROSS","DOTTED_CROSS","SOLID_POINT","DOTTED_POINT","SOLID_ARROW_TOP","SOLID_ARROW_BOTTOM","STICK_ARROW_TOP","STICK_ARROW_BOTTOM","SOLID_ARROW_TOP_DOTTED","SOLID_ARROW_BOTTOM_DOTTED","STICK_ARROW_TOP_DOTTED","STICK_ARROW_BOTTOM_DOTTED","SOLID_ARROW_TOP_REVERSE","SOLID_ARROW_BOTTOM_REVERSE","STICK_ARROW_TOP_REVERSE","STICK_ARROW_BOTTOM_REVERSE","SOLID_ARROW_TOP_REVERSE_DOTTED","SOLID_ARROW_BOTTOM_REVERSE_DOTTED","STICK_ARROW_TOP_REVERSE_DOTTED","STICK_ARROW_BOTTOM_REVERSE_DOTTED"],rM=new Uint8Array(128);for(let e=0;e<128;e++){let t=String.fromCharCode(e),r=e===32||e>=9&&e<=13,a=0;`/\\+()<->:
111
+ ,;`.includes(t)||(a|=1),`+<->:
112
+ ,;`.includes(t)||(a|=2),`<>:
113
+ ,;@`.includes(t)||(a|=8|(r?0:4)),`#
114
+ ;`.includes(t)||(a|=16),!`/\\+()<>:
115
+ ,;-`.includes(t)&&!r&&(a|=32),rM[e]=a}tr=new Int8Array(79).fill(-1);tr[53]=5;tr[54]=6;tr[55]=0;tr[57]=1;tr[56]=33;tr[58]=34;tr[59]=3;tr[60]=4;tr[61]=24;tr[62]=25;tr[63]=41;tr[64]=42;tr[65]=43;tr[66]=44;tr[67]=51;tr[68]=52;tr[69]=53;tr[70]=54;tr[71]=45;tr[72]=46;tr[73]=47;tr[74]=48;tr[75]=55;tr[76]=56;tr[77]=57;tr[78]=58;As=new Int8Array(79).fill(-1);As[21]=2;As[22]=3;As[23]=4;As[28]=5;As[24]=6;As[25]=7;As[26]=7;As[27]=8;As[6]=1;z9="'SOLID_OPEN_ARROW', 'DOTTED_OPEN_ARROW', 'SOLID_ARROW', 'DOTTED_ARROW', 'SOLID_CROSS', 'DOTTED_CROSS', 'SOLID_POINT', 'DOTTED_POINT'";V9=16,j9=10,aM=34,iM=4,Co=5,Eo=6,Zs=' fill="var(--_s)" stroke="var(--_b)"',Fl=' fill="none" stroke="var(--_b)"',X9=new Set(["participant","actor","boundary","control","entity","database","collections","queue"]),Z9=new Set(["actor","boundary","control","entity","database"]);ZA=[];Xr(0,!1,1);Xr(1,!0,1);Xr(3,!1,2);Xr(4,!0,2);Xr(5,!1,0);Xr(6,!0,0);Xr(24,!1,3);Xr(25,!0,3);Xr(33,!1,1,2);Xr(34,!0,1,2);for(let e of[!1,!0]){let t=e?10:0;Xr(41+t,e,4),Xr(42+t,e,4,1,!0),Xr(43+t,e,5),Xr(44+t,e,5,1,!0),Xr(45+t,e,4,0),Xr(46+t,e,4,0,!0),Xr(47+t,e,5,0),Xr(48+t,e,5,0,!0)}a7=new Map([[10,"loop"],[12,"alt"],[15,"opt"],[19,"par"],[32,"par"],[27,"critical"],[30,"break"],[22,"rect"]]),i7=12,VA=28,VC=22,Ui=10,jC=4,s7=14,Ol=10,n7=16,o7=20,l7=10,ip=20,XC=240,sp=16,Bl=4,ZC=' stroke-dasharray="4 4"';JC={lines:[],widths:[],width:0,height:0,size:0,lineHeight:0};sM={type:"sequence",math:!0,parse(e,t,r){let a=t.sequence??{},i=new K9({wrap:typeof t.wrap=="boolean"?t.wrap:void 0,sequenceWrap:a.wrap===!0});return r&&i.setDiagramTitle(r),Q9(e,i),i},render:h7}});var oM={};Bt(oM,{sequence:()=>sM});var lM=Xe(()=>{nM()});function Oa(e){throw new je(e,"semantic",{type:"gitGraph"})}function uM(e){return e==="REVERSE"?Br.REVERSE:e==="HIGHLIGHT"?Br.HIGHLIGHT:Br.NORMAL}function f7(e,t){e.dir&&t.setDirection(e.dir);for(let r of e.statements)p7(r,t)}function p7(e,t){switch(e.$type){case"Commit":t.commit({id:e.id,msg:e.message??"",type:e.type!==void 0?uM(e.type):Br.NORMAL,tags:e.tags??void 0});break;case"Branch":t.branch({name:e.name,order:e.order??0});break;case"Merge":t.merge({branch:e.branch,id:e.id??"",type:e.type!==void 0?uM(e.type):void 0,tags:e.tags??void 0});break;case"Checkout":t.checkout(e.branch);break;case"CherryPicking":t.cherryPick({id:e.id,targetId:"",tags:e.tags?.length===0?void 0:e.tags,parent:e.parent});break}}function g7(e,t,r){let a=t.gitGraph,i=typeof a?.mainBranchName=="string"?a.mainBranchName:"main",s=typeof a?.mainBranchOrder=="number"?a.mainBranchOrder:0,o=new Map,n=new Map([[i,null]]),l=new Map([[i,s]]),u=[],c=null,f=i,h="LR",g=0,p=()=>{for(let C=g+1;;C+=2654435761){let S=`${g}-${(Math.imul(C,2654435761)>>>0).toString(16).padStart(8,"0").slice(0,7)}`;if(!o.has(S))return S}},m=C=>{c=C,o.set(C.id,C),n.set(f,C.id)},x=C=>{n.has(C)||Oa(`Trying to checkout branch which is not yet created. (Help try using "branch ${C}")`),f=C;let S=n.get(C);c=S?o.get(S)??null:null};f7(e,{setDirection(C){h=C},commit({msg:C,id:S,type:R,tags:N}){let D={id:S||p(),message:C,seq:g++,type:R??Br.NORMAL,tags:N?[...N]:[],parents:c===null?[]:[c.id],branch:f};o.has(D.id)&&u.push(`Commit ID ${D.id} already exists`),m(D)},branch({name:C,order:S}){n.has(C)&&Oa(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${C}")`),n.set(C,c!==null?c.id:null),l.set(C,S),x(C)},merge({branch:C,id:S,type:R,tags:N}){let D=n.get(f),O=n.get(C),H=D?o.get(D):void 0,U=O?o.get(O):void 0;H&&U&&H.branch===C&&Oa(`Cannot merge branch '${C}' into itself.`),f===C&&Oa('Incorrect usage of "merge". Cannot merge a branch to itself'),H===void 0&&Oa(`Incorrect usage of "merge". Current branch (${f})has no commits`),n.has(C)||Oa(`Incorrect usage of "merge". Branch to be merged (${C}) does not exist`),U===void 0&&Oa(`Incorrect usage of "merge". Branch to be merged (${C}) has no commits`),H===U&&Oa('Incorrect usage of "merge". Both branches have same head'),S&&o.has(S)&&Oa(`Incorrect usage of "merge". Commit with id:${S} already exists, use different custom id`),m({id:S||p(),message:`merged branch ${C} into ${f}`,seq:g++,parents:c===null?[]:[c.id,O||""],branch:f,type:Br.MERGE,customType:R,customId:!!S,tags:N?[...N]:[]})},cherryPick({id:C,targetId:S,tags:R,parent:N}){let D=C?o.get(C):void 0;if(D===void 0&&Oa('Incorrect usage of "cherryPick". Source commit id should exist and provided'),N&&!D.parents.includes(N)&&Oa("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit."),D.type===Br.MERGE&&!N&&Oa("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified."),S&&o.has(S))return;D.branch===f&&Oa('Incorrect usage of "cherryPick". Source commit is already on current branch');let O=n.get(f);(!O||!o.has(O))&&Oa(`Incorrect usage of "cherry-pick". Current branch (${f})has no commits`),m({id:p(),message:`cherry-picked ${D.message} into ${f}`,seq:g++,parents:c===null?[]:[c.id,D.id],branch:f,type:Br.CHERRY_PICK,tags:R?R.filter(Boolean):[`cherry-pick:${D.id}${D.type===Br.MERGE?`|parent:${N}`:""}`]})},checkout:x});let y=[...l].map(([C,S],R)=>({name:C,order:S??parseFloat(`0.${R}`)})).sort((C,S)=>C.order-S.order).map(C=>C.name);return{type:"gitGraph",title:e.title||r,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,""):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
116
+ `):void 0,direction:h,commits:o,branches:n,lanes:y,currentBranch:f,head:c,warnings:u}}function mi(e){return{name:e,pattern:e,longer:mM}}function m7(e){let t=new cr(sr(e,cM,"gitGraph"),cM,"gitGraph"),r={$type:"GitGraph",statements:[]},a=()=>{if(t.kind!==-1)for(t.kind!==26&&t.fail("a line break or the end of input");t.kind===26;)t.i++},i=()=>t.kind===31?t.take():t.kind===25?Qr(t.take()):t.fail("a branch name"),s=()=>Qr(t.expect(25)),o=()=>(t.kind!==8&&t.kind!==5&&t.kind!==2&&t.fail("NORMAL, REVERSE, or HIGHLIGHT"),t.take());for(;t.kind===26;)t.i++;if(!t.accept(1)){t.expect(3);let n=t.kinds[t.i+1];(t.kind===17||t.kind===18||t.kind===19)&&n===20?(r.$type="Direction",r.dir=t.take(),t.i++):t.accept(20)}for(;t.kind!==-1;)switch(t.kind){case 26:t.i++;break;case 21:r.accDescr=ur(t.take()),a();break;case 22:r.accTitle=lr(t.take()),a();break;case 23:r.title=or(t.take()),a();break;case 7:{t.i++;let n={$type:"Commit",tags:[]};for(;;)if(t.accept(16))n.id=s();else if(t.accept(15))n.tags.push(s());else if(t.accept(12))n.type=o();else if(t.accept(14)||t.kinds[t.i]===25)n.message=s();else break;a(),r.statements.push(n);break}case 9:{t.i++;let n={$type:"Branch",name:i()};t.accept(10)&&(n.order=parseInt(t.expect(24))),a(),r.statements.push(n);break}case 13:{t.i++;let n={$type:"Merge",branch:i(),tags:[]};for(;;)if(t.accept(16))n.id=s();else if(t.accept(15))n.tags.push(s());else if(t.accept(12))n.type=o();else break;a(),r.statements.push(n);break}case 4:case 11:{t.i++;let n={$type:"Checkout",branch:i()};a(),r.statements.push(n);break}case 0:{t.i++;let n={$type:"CherryPicking",tags:[]};for(;;)if(t.accept(16))n.id=s();else if(t.accept(15))n.tags.push(s());else if(t.accept(6))n.parent=s();else break;a(),r.statements.push(n);break}default:t.fail("a statement, a title, or a line break")}return r}function up(e,t,r){let a=e.gitGraph?.[t];return typeof a=="boolean"?a:r}function fM(e){return th+4+e.width+6}function y7(e,t,r,a){let i=`cx="${d(t)}" cy="${d(r)}"`;if(e===Br.HIGHLIGHT)return`<rect x="${d(t-Tr-1)}" y="${d(r-Tr-1)}" width="${2*Tr+2}" height="${2*Tr+2}" rx="2" fill="${a}"/>`;if(e===Br.MERGE)return`<circle ${i} r="${Tr-1}" fill="var(--_bg)" stroke="${a}" stroke-width="2"/><circle ${i} r="2.5" fill="${a}"/>`;let s=`<circle ${i} r="${Tr}" fill="${a}"/>`;return e===Br.REVERSE?s+`<path d="M${d(t-3)},${d(r-3)}l6,6M${d(t-3)},${d(r+3)}l6,-6" fill="none" stroke="var(--_bg)" stroke-width="1.5" stroke-linecap="round"/>`:e===Br.CHERRY_PICK?s+`<path d="M${d(t-2.6)},${d(r+1)}L${d(t+.8)},${d(r-4.2)}L${d(t+2.6)},${d(r+1)}" fill="none" stroke="var(--_bg)" stroke-linejoin="round"/><circle cx="${d(t-2.6)}" cy="${d(r+2.2)}" r="1.8" fill="var(--_bg)"/><circle cx="${d(t+2.6)}" cy="${d(r+2.2)}" r="1.8" fill="var(--_bg)"/>`:s}function x7(e,t,r){return e.direction!=="LR"?pM(e,t,r,e.direction):Jt(r,a=>pM(e,t,r,a?"TB":"LR"))}function pM(e,t,r,a){let i=r.fontSize??16,s=Math.round(i*.75),o=r.measurer??at(r.fontFamily),n=r.padding??8,l=up(t,"showBranches",!0),u=up(t,"showCommitLabel",!0),c=up(t,"rotateCommitLabel",!0),f=up(t,"parallelCommits",!1),h=a!=="LR",g=a==="BT",p=new Map;e.lanes.forEach((W,V)=>p.set(W,V));let m=e.lanes.length,x=Math.round(i*.875),y=e.lanes.map(W=>Pi(l?W:"",o,x,4e3)),C=[],S=new Map;for(let W of[...e.commits.values()].sort((V,re)=>V.seq-re.seq)){let V=u&&W.type!==Br.CHERRY_PICK&&(W.type!==Br.MERGE||W.customId===!0),re=[];for(let ce of W.tags){let ie=Pi(ce,o,s,4e3);ie.lines.length>0&&re.push(ie)}let ne={commit:W,index:C.length,lane:p.get(W.branch)??0,m:0,label:V?Pi(W.id,o,s,4e3):void 0,tags:re};C.push(ne),S.set(W.id,ne)}let R=new Float64Array(C.length),N=new Float64Array(C.length),D=new Float64Array(m).fill(Tr),O=new Float64Array(m).fill(Tr);C.forEach((W,V)=>{let{label:re,tags:ne}=W,ce=0,ie=0;for(let oe of ne){let be=fM(oe);h?(ce=Math.max(ce,oe.height),ie+=be+4):(ce=Math.max(ce,be),ie+=oe.height+3)}let se=0,ee=0;re!==void 0&&re.lines.length>0&&(c?ee=3+JA*(re.width+re.height):(se=h?re.height:re.width,ee=6+(h?re.width:re.height))),R[V]=Math.max(Tr,ce/2,se/2),N[V]=ce/2;let te=Tr+(ne.length>0?hM+ie:0),he=Tr+ee,me=W.lane;D[me]=Math.max(D[me],h?he:te),O[me]=Math.max(O[me],h?te:he)});let H=new Float64Array(C.length);h||C.forEach((W,V)=>{if(N[V]!==0)for(let re of W.commit.parents){let ne=S.get(re);ne!==void 0&&ne.lane<W.lane&&(H[V]=N[V]+4)}});let U=(W,V)=>Math.max(A7,R[W]+R[V]+lp,H[V]>0?R[W]+op+H[V]:0);C.forEach((W,V)=>{if(!f){W.m=V===0?0:C[V-1].m+U(V-1,V);return}let re=0;for(let ne of W.commit.parents){let ce=S.get(ne);ce===void 0||ce.index>=V||(re=Math.max(re,ce.m+U(ce.index,V)))}W.m=re});let k=0;for(let W of C)k=Math.max(k,W.m);let j=new Float64Array(m);for(let W=0;W<m;W++){let V=y[W],re=V.lines.length===0?0:h?V.width/2+8:V.height/2+2;D[W]=Math.max(D[W],re),O[W]=Math.max(O[W],re),W>0&&(j[W]=j[W-1]+Math.max(b7,O[W-1]+D[W]+lp))}let X=(W,V)=>h?V:W,P=(W,V)=>h?g?-W:W:V,F=(W,V)=>`${d(X(W,V))},${d(P(W,V))}`,I=1/0,$=1/0,w=-1/0,A=-1/0,v=(W,V,re,ne)=>{W<I&&(I=W),V<$&&($=V),re>w&&(w=re),ne>A&&(A=ne)},b="";if(l)for(let W=0;W<m;W++){let V=y[W],re=At(W),ne=j[W],ce=V.width+16,ie=V.height+4,se=V.lines.length===0?-Mo:-Mo-(h?ie:ce),ee=X(se+(h?ie:ce)/2,ne),te=P(se+(h?ie:ce)/2,ne);v(X(-Mo,ne),P(-Mo,ne),X(-Mo,ne),P(-Mo,ne)),v(X(k+eh,ne),P(k+eh,ne),X(k+eh,ne),P(k+eh,ne)),b+=`<g class="pele-branch" data-id="${Oe(e.lanes[W])}"><path class="pele-lane" d="M${F(-Mo,ne)}L${F(k+eh,ne)}" stroke="${re}" stroke-dasharray="2 4"/>`,V.lines.length>0&&(v(ee-ce/2,te-ie/2,ee+ce/2,te+ie/2),b+=`<rect x="${d(ee-ce/2)}" y="${d(te-ie/2)}" width="${d(ce)}" height="${d(ie)}" fill="${re}"${ct}/>`+De(V,ee,te,' class="pele-label" fill="var(--_bg)"')),b+="</g>"}let T=Array.from({length:m},()=>[]);for(let W of C)T[W.lane].push(W.m);if(f)for(let W of T)W.sort((V,re)=>V-re);let M=(W,V,re)=>{let ne=T[W],ce=0,ie=ne.length;for(;ce<ie;){let se=ce+ie>>1;ne[se]<=V?ce=se+1:ie=se}return ce<ne.length&&ne[ce]<re},E="",Y="";for(let W of C){let{commit:V}=W,re=j[W.lane],ne=W.m;for(let ce=0;ce<V.parents.length;ce++){let ie=S.get(V.parents[ce]);if(ie===void 0||ie===W)continue;let se=j[ie.lane],ee=ie.m;if(ie.lane===W.lane){Y+=`<path class="pele-edge" d="M${F(ee,se)}L${F(ne,re)}" stroke="${At(W.lane)}"/>`;continue}let te=ce>0&&V.type===Br.MERGE,he=ce>0&&!te,me=`M${F(ee,se)}`;if(ne<=ee){let oe=(ee+ne)/2;me+=`C${F(oe,se)} ${F(oe,re)} ${F(ne,re)}`}else if(!te&&!M(W.lane,ee,ne)){let oe=Math.min(op,ne-ee);me+=`C${F(ee+oe/2,se)} ${F(ee+oe/2,re)} ${F(ee+oe,re)}L${F(ne,re)}`}else{let oe=ie.lane<W.lane&&ne-H[W.index]>ee?ne-H[W.index]:ne,be=Math.min(op,oe-ee),de=se;(!te||M(ie.lane,ee,ne))&&(de=se>re?re+O[W.lane]+lp/2:re-D[W.lane]-lp/2,be=Math.min(op,(oe-ee)/2),me+=`C${F(ee+be/2,se)} ${F(ee+be/2,de)} ${F(ee+be,de)}`),me+=`L${F(oe-be,de)}C${F(oe-be/2,de)} ${F(oe-be/2,re)} ${F(oe,re)}`,oe<ne&&(me+=`L${F(ne,re)}`)}E+=`<path class="pele-edge${te?" pele-edge-merge":he?" pele-edge-cherry-pick":""}" d="${me}" stroke="${At(te?ie.lane:W.lane)}"${he?' stroke-dasharray="4 3"':""}/>`}}let G="";for(let W of C){let{commit:V,label:re,tags:ne}=W,ce=X(W.m,j[W.lane]),ie=P(W.m,j[W.lane]),se=V.customType??V.type;v(ce-Tr-1,ie-Tr-1,ce+Tr+1,ie+Tr+1);let ee=V.type<Br.MERGE&&V.message!==""?`<title>${Oe(V.message)}</title>`:"";if(ee+=y7(se,ce,ie,At(W.lane)),re!==void 0&&re.lines.length>0){let me=re.width,oe=re.height,be=(de,pe)=>`<rect x="${d(de-me/2-2)}" y="${d(pe-oe/2+2)}" width="${d(me+4)}" height="${d(oe-4)}" rx="3" fill="var(--_bg)"/>`;if(c){let de=JA*oe/2,pe=h?ce-Tr-3-de:ce+3,Ee=h?ie:ie+Tr+3+de,ve=JA*me+de;v(pe-ve,g?Ee-ve:Ee-de,pe+de,g?Ee+de:Ee+ve),ee+=`<g class="pele-commit-label" transform="rotate(${g?45:-45} ${d(pe)} ${d(Ee)})">`+be(pe-me/2,Ee)+De(re,pe-me/2,Ee,"")+"</g>"}else{let de=h?ce-Tr-6-me/2:ce,pe=h?ie:ie+Tr+6+oe/2;v(de-me/2,pe-oe/2,de+me/2,pe+oe/2),ee+=`<g class="pele-commit-label">${be(de,pe)}${De(re,de,pe,"")}</g>`}}let te=Tr+hM;for(let me=h?0:ne.length-1;me>=0&&me<ne.length;me+=h?1:-1){let oe=ne[me],be=fM(oe),de=oe.height,pe=h?ce+te:ce-be/2,Ee=h?ie:ie-te-de/2;te+=h?be+4:de+3,v(pe,Ee-de/2,pe+be,Ee+de/2),ee+=`<g class="pele-tag"><path d="M${d(pe)},${d(Ee)}L${d(pe+th)},${d(Ee-de/2)}H${d(pe+be)}V${d(Ee+de/2)}H${d(pe+th)}Z" fill="var(--_s)" stroke="var(--_b)" stroke-linejoin="round"/><circle cx="${d(pe+th)}" cy="${d(Ee)}" r="1.5" fill="var(--_b)"/>`+De(oe,pe+th+4+oe.width/2,Ee,' fill="var(--_fg)"')+"</g>"}let he=V.type===Br.MERGE&&se!==Br.MERGE?" pele-commit-merge":"";G+=`<g class="pele-commit pele-commit-${dM[se]??dM[0]}${he}" data-id="${Oe(V.id)}">${ee}</g>`}I>w&&v(0,0,0,0);let K=We(e.title,!1,o,i,4e3,1),L=K.height>0?K.height+16:0,_=Math.max(w-I,K.width),B=Math.ceil(_+2*n),q=Math.ceil(A-$+L+2*n),Q=n-I+(_-(w-I))/2,Z=n+L-$,J=De(K,B/2,n+K.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g transform="translate(${d(Q)},${d(Z)})">`+(b?`<g class="pele-branches" fill="none" font-size="${x}">${b}</g>`:"")+(E||Y?`<g class="pele-edges" fill="none" stroke-width="2" stroke-linecap="round">${E}${Y}</g>`:"")+(G?`<g class="pele-commits" font-size="${s}" fill="var(--_m)">${G}</g>`:"")+"</g>";return{svg:rt("gitGraph",B,q,i,r,e,J),width:B,height:q,links:[]}}var Br,gM,mM,cM,Tr,A7,b7,op,lp,Mo,eh,th,hM,JA,dM,AM,bM=Xe(()=>{pf();zt();_a();xt();Mt();Br={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4};gM={name:"REFERENCE",pattern:/\w([-\./\w]*[-\w])?/y},mM=[gM];cM=[mi("cherry-pick"),{name:"gitGraph:",pattern:"gitGraph:"},mi("HIGHLIGHT"),{...$r("gitGraph"),longer:mM},mi("checkout"),mi("REVERSE"),{name:"parent:",pattern:"parent:"},mi("commit"),mi("NORMAL"),mi("branch"),{name:"order:",pattern:"order:"},mi("switch"),{name:"type:",pattern:"type:"},mi("merge"),{name:"msg:",pattern:"msg:"},{name:"tag:",pattern:"tag:"},{name:"id:",pattern:"id:"},mi("LR"),mi("TB"),mi("BT"),{name:":",pattern:":"},{...Or,opener:/[\t ]*accDescr\s*{/y},br,yr,{name:"INT",pattern:/0|[1-9][0-9]*(?!\.)/y},Ra,ha,da,nr,vr,kr,gM];Tr=7,A7=44,b7=44,op=36,lp=8,Mo=20,eh=20,th=7,hM=6,JA=Math.SQRT1_2,dM=["normal","reverse","highlight","merge","cherry-pick"];AM={type:"gitGraph",parse:(e,t,r)=>g7(m7(e),t,r),render:x7}});var yM={};Bt(yM,{gitGraph:()=>AM});var xM=Xe(()=>{bM()});function ah(e,t){let{key:r,value:a}=t;"from"in e&&(r==="offsetX"||r==="offsetY")?e[r]=parseInt(a):("from"in e?S7:w7).has(r)?e[r]=a:(e.extra??=new Map).set(r,a)}function hr(e,t,r){r!==void 0&&(typeof r=="string"?e[t]=r:ah(e,r))}function Wl(e,t,r){r===void 0?e[t]??="":hr(e,t,r)}function wM(e,t){e.labelAttr=void 0,typeof t=="object"?(e.label="",e.labelAttr=t,ah(e,t)):e.label=t??""}function M7(e){let t=e.length,r=[],a=[],i=[],s=0,o=9,n=0,l=!1,u=-2,c=-1,f=0,h=(x,y,C)=>{r.push(x),a.push(y),i.push(C),n=C},g=x=>{for(;x<t&&Ke(e.charCodeAt(x));)x++;return x},p=(x,y)=>{let C=e.indexOf(x,y);return C===-1?t:C},m=(x,y)=>{let C=n+x.length;if(!e.startsWith(x,n)||!Ke(e.charCodeAt(C)))return!1;let S=++C;for(;C<t;){let R=e.charCodeAt(C);if(R===35||R===10||R===59)break;C++}return C===S?!1:(h(y,n,C),!0)};for(;;){if(l){h(0,t,t);break}n>=t&&(l=!0);let x=e.charCodeAt(n);if(s===0){if(n>=t){h(64,t,t);continue}if(u!==-1&&n>=f&&(u<n&&(u=e.indexOf("direction",n)),u!==-1&&(c<n&&(t2.lastIndex=n,c=t2.test(e)?t2.lastIndex-1:t),u<c))){let y=!1;for(let C=0;C<4&&!y;C++)e2[C].lastIndex=n,e2[C].test(e)&&(h(2+C,n,e2[C].lastIndex),y=!0);if(y)continue;f=c}if(x===116&&m("title",6))continue;if(x===97){if(m("accDescription",7))continue;let y=e.startsWith("accTitle",n);if(y||e.startsWith("accDescr",n)){let C=g(n+8),S=e.charCodeAt(C);if(S===58){h(y?8:10,n,g(C+1)),o=y?9:11,s=7;continue}if(S===123&&!y){n=g(C+1),s=8;continue}}}if(x===37&&e.charCodeAt(n+1)===37){let y=p(`
117
+ `,n+2);for(;y<t&&(e.charCodeAt(y)===10||e.charCodeAt(y)===13);)y++;n=y;continue}if(Ke(x)){let y=n,C=-1;for(;y<t;){let S=e.charCodeAt(y);if(!Ke(S))break;S===10&&(C=y),y++}C!==-1?h(13,n,C+1):n=y;continue}if(x===123){h(62,n,n+1);continue}if(x===125){h(63,n,n+1);continue}if(tt(x)){let y=n+1;for(;y<t&&tt(e.charCodeAt(y));)y++;let C=y-n<=19?C7.get(e.slice(n,y)):void 0;if(C!==void 0){C>18&&(s=1),h(C,n,y);continue}}h(1,n,n);break}if(s===1){if(n>=t)h(57,t,t);else if(x===40){let y=n+1;for(;e.charCodeAt(y)===32;)y++;e.charCodeAt(y)===44?h(58,n,y+1):n++,s=2}else if(x===41)n++,s=0;else{h(1,n,n);break}continue}if(s===2){if(n>=t)continue;if(x===41)n++,s=0;else if(x===44)e.charCodeAt(n+1)===44?h(58,n,n+2):n++;else{let y=n;for(;e.charCodeAt(y)===32;)y++;let C=e.charCodeAt(y);C===34?e.charCodeAt(y+1)===34?h(58,n,y+2):(n=y+1,s=3):C===36?(n=y+1,s=4):h(59,n,p(",",n))}continue}if(s===3){x===34?(n++,s=2):h(59,n,p('"',n));continue}if(s===4){h(60,n,p("=",n)),s=5;continue}if(s===5){if(n>=t)continue;let y=n+1;if(x===61)for(;e.charCodeAt(y)===32;)y++;if(x!==61||e.charCodeAt(y)!==34){h(1,n,n);break}n=y+1,s=6;continue}if(s===6){if(n>=t)continue;x===34?(n++,s=2):h(61,n,p('"',n));continue}if(s===7){h(o,n,p(`
118
+ `,n)),s=0;continue}x===125?(n++,s=0):h(12,n,p("}",n))}return{types:r,starts:a,ends:i}}function I7(e){return e===6||e===7||e===8||e===10||e===12}function EM(e){return e>=19&&e<=56}function N7(e,t){let{types:r,starts:a,ends:i}=M7(e),s=0,o=m=>e.slice(a[m],i[m]),n=m=>{let x=r[s];throw x===1?ut("c4",e,a[s],"",!0):ut("c4",e,a[s],`Expecting ${m}, got '${SM[x]}'`)},l=m=>{r[s]!==m&&n(`'${SM[m]}'`),s++},u=()=>{let m=[];for(;;){let x=r[s];if(x===59)m.push(o(s++).trim());else if(x===58)m.push(""),s++;else if(x===60)s++,r[s]!==61&&n("'STR_VALUE'"),m.push({key:o(s-1).trim(),value:o(s).trim()}),s++;else break}return m.length===0&&n(T7),m},c=m=>{m===6?t.setTitle(o(s++).substring(6)):m===7?t.setAccDescription(o(s++).substring(15)):m===12?t.setAccDescription(o(s++).trim()):(s++,m===8?(r[s]!==9&&n("'acc_title_value'"),t.setTitle(o(s++).trim())):(r[s]!==11&&n("'acc_descr_value'"),t.setAccDescription(o(s++).trim())))},f=m=>{s++;let x=u();if(m<=26)t.addPersonOrSystem(r2[m-19],x);else if(m<=32)t.addContainer(r2[m-19],x);else if(m<=38)t.addComponent(r2[m-19],x);else{if(m<=45)return m===39?x.splice(2,0,"ENTERPRISE"):m===40?x.splice(2,0,"SYSTEM"):m===42&&x.splice(2,0,"CONTAINER"),m>=43?t.addDeploymentNode(k7[m-43],x):m===42?t.addContainerBoundary(x):t.addPersonOrSystemBoundary(x),r[s]===62?(s++,l(13)):r[s]===13?(s++,l(62),r[s]===13&&s++):n("'NEWLINE', 'LBRACE'"),!0;m<=53?(m===53&&x.splice(0,1),t.addRel(v7[m-46],x)):m===54?t.updateElStyle("update_el_style",x):m===55?t.updateRelStyle("update_rel_style",x):t.updateLayoutConfig("update_layout_config",x)}return!1},h=r[s];(h<14||h>18)&&n($7),s++,l(13);let g=0,p=0;for(;;){let m=r[s];if(p===3||p===4){if(m===13){s++,p=2;continue}if(p===3&&EM(m)){p=1;continue}}else if(EM(m)){f(m)?(g++,p=1):p=4;continue}else if(I7(m)&&p!==1){c(m),p=3;continue}else p!==2&&n("'title', 'accDescription', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'PERSON', 'REL'");if(g>0)m!==63&&n("'NEWLINE', 'RBRACE'"),s++,t.popBoundaryParseStack(),g--,p=4;else{m!==64&&n("'NEWLINE', 'EOF'"),s++,l(0),t.setC4Type(o(0));return}}}function vo(e,t,r,a,i,s,o,n){let l=0,u=1;if(o===0){if(i<e||i>r)return 1/0}else{let c=(e-i)/o,f=(r-i)/o;l=Math.max(l,Math.min(c,f)),u=Math.min(u,Math.max(c,f))}if(n===0){if(s<t||s>a)return 1/0}else{let c=(t-s)/n,f=(a-s)/n;l=Math.max(l,Math.min(c,f)),u=Math.min(u,Math.max(c,f))}return l<=u?l:1/0}function rh(e,t,r,a,i,s,o,n){let l=o/r,u=n/a,c=(i-e)/r,f=(s-t)/a,h=l*l+u*u,g=2*(l*c+u*f),p=c*c+f*f-1,m=g*g-4*h*p;if(h===0||m<0)return 1/0;let x=(-g-Math.sqrt(m))/(2*h);return x>=0&&x<=1?x:p<=0?0:1/0}function Xa(e,t,r,a,i){let{x:s,y:o,w:n,h:l}=e,u=a-t,c=i-r;if(e.form==="person")return Math.min(vo(s,o+h2,s+n,o+l,t,r,u,c),rh(s+n/2,o+14,13,13,t,r,u,c));if(e.form==="cyl"){let f=NM(n);return Math.min(vo(s,o+f,s+n,o+l-f,t,r,u,c),rh(s+n/2,o+f,n/2,f,t,r,u,c),rh(s+n/2,o+l-f,n/2,f,t,r,u,c))}if(e.form==="h-cyl"){let f=DM(l);return Math.min(vo(s+f,o,s+n-f,o+l,t,r,u,c),rh(s+f,o+l/2,f,l/2,t,r,u,c),rh(s+n-f,o+l/2,f,l/2,t,r,u,c))}return vo(s,o,s+n,o+l,t,r,u,c)}function RM(e,t,r,a,i){for(let s=2;s<e.length;s+=2){let o=e[s-2],n=e[s-1];if(vo(t,r,a,i,o,n,e[s]-o,e[s+1]-n)<=1)return!0}return!1}function gp(e,t){return e.x<=t.x&&e.y<=t.y&&e.x+e.w>=t.x+t.w&&e.y+e.h>=t.y+t.h}function _7(e,t,r){let a=e.x+e.w/2,i=e.y+e.h/2,s=t.x+t.w/2,o=t.y+t.h/2,n=gp(e,t);if(n||gp(t,e)){let N=n?e:t,D=n?t:e,O=D.x+D.w/2,H=D.y+D.h/2,U=D.x-N.x,k=N.x+N.w-D.x-D.w,j=D.y-N.y,X=N.y+N.h-D.y-D.h,P=Math.min(U,k,j,X),F=P===U?N.x:P===k?N.x+N.w:O,I=P===U||P===k?H:P===X?N.y+N.h:N.y,$=Math.min(Xa(D,F,I,O,H),1),w=F+(O-F)*$,A=I+(H-I)*$;return n?[F,I,w,A]:[w,A,F,I]}let l=a,u=i,c=s,f=o,h=Math.max(e.x,t.x),g=Math.min(e.x+e.w,t.x+t.w),p=Math.max(e.y,t.y),m=Math.min(e.y+e.h,t.y+t.h);h<g?l=c=(h+g)/2:p<m&&(u=f=(p+m)/2);let x=Math.hypot(c-l,f-u)||1,y=-(f-u)/x*r,C=(c-l)/x*r,S=Xa(e,c+y,f+C,l+y,u+C),R=Xa(t,l+y,u+C,c+y,f+C);return S<=1&&R<=1?(l+=y,u+=C,c+=y,f+=C):(l=a,u=i,c=s,f=o,S=Math.min(Xa(e,c,f,l,u),1),R=Math.min(Xa(t,l,u,c,f),1)),[c+(l-c)*S,f+(u-f)*S,l+(c-l)*R,u+(f-u)*R]}function B7(e,t,r){let a=e.length,i=Math.sign(e[2]-e[0]),s=Math.sign(e[3]-e[1]),o=`M${d(e[0]+i*t)},${d(e[1]+s*t)}`;for(let u=2;u<a-2;u+=2){let c=e[u],f=e[u+1],h=Math.sign(c-e[u-2]),g=Math.sign(f-e[u-1]),p=Math.sign(e[u+2]-c),m=Math.sign(e[u+3]-f),x=Math.min(D7,Math.abs(c-e[u-2]+f-e[u-1])/2,Math.abs(e[u+2]-c+e[u+3]-f)/2);o+=`${h?"H"+d(c-h*x):"V"+d(f-g*x)}Q${d(c)},${d(f)} ${d(c+p*x)},${d(f+m*x)}`}let n=Math.sign(e[a-2]-e[a-4]),l=Math.sign(e[a-1]-e[a-3]);return o+(n?"H"+d(e[a-2]-n*r):"V"+d(e[a-1]-l*r))}function _M(e,t,r,a){for(let i of t)if(i!==r&&i!==a&&RM(e,i.x,i.y,i.x+i.w,i.y+i.h))return!1;return!0}function LM(e,t,r,a,i){let s=e.length;return{d:B7(e,r,a),sx:e[0],sy:e[1],sdx:-Math.sign(e[2]-e[0]),sdy:-Math.sign(e[3]-e[1]),ex:e[s-2],ey:e[s-1],edx:Math.sign(e[s-2]-e[s-4]),edy:Math.sign(e[s-1]-e[s-3]),x0:e[t],y0:e[t+1],x1:e[t+2],y1:e[t+3],nx:0,ny:0,lean:0,room:pp,...i,points:e}}function MM(e,t){let r=[],a=(e+t)/2,i=Math.max(IM,(t-e)/4);for(let s=0;s<9;s++){let o=a+(s&1?1:-1)*Math.ceil(s/2)*i;o>=e+l2&&o<=t-l2&&r.push(o)}return r}function F7(e,t,r,a,i,s){let o=e.x+e.w/2,n=e.y+e.h/2,l=t.x+t.w/2,u=t.y+t.h/2,c,f=(m,x,y)=>{if(!_M(m,r,e,t))return;for(let S=2;S<m.length;S+=2){let R=m[S]===m[S-2];if(!a.free(R,R?m[S]:m[S+1],R?m[S-1]:m[S-2],R?m[S+1]:m[S]))return}let C=a.crossings(m)*1e6;for(let S=2;S<m.length;S+=2)C+=Math.abs(m[S]-m[S-2])+Math.abs(m[S+1]-m[S-1]);(!c||C<c.cost)&&(c={points:m,cost:C,upright:x,sides:y})};if(e.x+e.w<=t.x||t.x+t.w<=e.x){let m=l>o,x=Math.sign(u-n),y=m?[1,0]:[0,1],C=MM(m?e.x+e.w:t.x+t.w,m?t.x:e.x);e:for(let S of a.ports(e,y[0],n+x*e.h/4,e.y+8,e.y+e.h-8))for(let R of a.ports(t,y[1],u-x*t.h/4,t.y+8,t.y+t.h-8))for(let N of C){let D=N+(o-N)*Math.min(Xa(e,N,S,o,S),1),O=N+(l-N)*Math.min(Xa(t,N,R,l,R),1),H=c;if(f([D,S,N,S,N,R,O,R],!0,y),c!==H)break e}}if(e.y+e.h<=t.y||t.y+t.h<=e.y){let m=u>n,x=Math.sign(l-o),y=m?[3,2]:[2,3],C=MM(m?e.y+e.h:t.y+t.h,m?t.y:e.y);e:for(let S of a.ports(e,y[0],o+x*e.w/4,e.x+8,e.x+e.w-8))for(let R of a.ports(t,y[1],l-x*t.w/4,t.x+8,t.x+t.w-8))for(let N of C){let D=N+(n-N)*Math.min(Xa(e,S,N,S,n),1),O=N+(u-N)*Math.min(Xa(t,R,N,R,u),1),H=c;if(f([S,D,S,N,R,N,R,O],!1,y),c!==H)break e}}if(!c)return;let{points:h,upright:g,sides:p}=c;return a.take(h),a.claim(e,p[0],g?h[1]:h[0]),a.claim(t,p[1],g?h[7]:h[6]),LM(h,2,i,s,{room:g?o2:pp})}function W7(e,t,r,a,i,s,o){if(e===t){let x=Math.min(e.h/2-4,10),y=Math.hypot(Hl,x),C=e.x+e.w,S=e.y+e.h/2,R=Hl/y,N=x/y;return{d:`M${d(C+R*s)},${d(S-x-N*s)}C${d(C+Hl)},${d(S-x*2)} ${d(C+Hl)},${d(S+x*2)} ${d(C+R*o)},${d(S+x+N*o)}`,sx:C,sy:S-x,sdx:-R,sdy:N,ex:C,ey:S+x,edx:-R,edy:-N,x0:C+Hl+4,y0:S,x1:C+Hl+4,y1:S,nx:1,ny:0,lean:0,room:64,points:[]}}let[n,l,u,c]=_7(e,t,r),f=n===u,h=!1;if(a&&!gp(e,t)&&!gp(t,e))for(let x of a)x!==e&&x!==t&&vo(x.x,x.y,x.x+x.w,x.y+x.h,n,l,u-n,c-l)<=1&&(h=!0);if(a&&h&&!f&&l!==c){let x=F7(e,t,a,i,s,o);if(x)return x;i.squeezed++}if(a&&h&&(f||l===c)){let x=E=>{let Y=E?-1/0:1/0,G=K=>{let L=f?K.x:K.y;Y=E?Math.max(Y,L+(f?K.w:K.h)):Math.min(Y,L)};G(e),G(t);for(let K of a)K!==e&&K!==t&&vo(K.x,K.y,K.x+K.w,K.y+K.h,n,l,u-n,c-l)<=1&&G(K);return Y},y=f?Math.min(e.y,t.y):Math.min(e.x,t.x),C=f?Math.max(e.y+e.h,t.y+t.h):Math.max(e.x+e.w,t.x+t.w),S=(E,Y)=>{for(let G of a){if(G===e||G===t)continue;let K=f?G.y<C&&G.y+G.h>y:G.x<C&&G.x+G.w>y,L=f?G.x:G.y,_=L+(f?G.w:G.h);if(K&&(E?_>Y:L<Y))return!1}return!0},R=e.x+e.w/2,N=e.y+e.h/2,D=t.x+t.w/2,O=t.y+t.h/2,H=Math.sign(f?O-N:D-R),U=E=>{let Y=x(E),G=E?1:-1,K=f?E?1:0:E?3:2,L=f?i.ports(e,K,N+H*e.h/4,e.y+8,e.y+e.h-8)[0]:i.ports(e,K,R+H*e.w/4,e.x+8,e.x+e.w-8)[0],_=f?i.ports(t,K,O-H*t.h/4,t.y+8,t.y+t.h-8)[0]:i.ports(t,K,D-H*t.w/4,t.x+8,t.x+t.w-8)[0],B=Q=>{if(f){let W=Q+(R-Q)*Math.min(Xa(e,Q,L,R,L),1),V=Q+(D-Q)*Math.min(Xa(t,Q,_,D,_),1);return[W,L,Q,L,Q,_,V,_]}let Z=Q+(N-Q)*Math.min(Xa(e,L,Q,L,N),1),J=Q+(O-Q)*Math.min(Xa(t,_,Q,_,O),1);return[L,Z,L,Q,_,Q,_,J]},q=B(Y+G*sh);for(let Q=0;Q<=4;Q++){let Z=Y+G*(sh+Q*IM),J=B(Z);if(_M(J,a,e,t)&&(q=J,i.free(f,Z,L,_)))return{points:q,side:K,p0:L,p1:_,step:Q}}return{points:q,side:K,p0:L,p1:_,step:5}},k=f?c>l:u<n,j=S(k,x(k)),X=S(!k,x(!k)),P=U(k),F=j===X?U(!k):void 0,I=E=>i.crossings(E.points)*8+E.step,$=X&&!j||F&&I(F)<I(P)?!k:k,{points:w,side:A,p0:v,p1:b,step:T}=$===k?P:F??U(!k),M=$?1:-1;return T>4&&i.squeezed++,i.take(w),i.claim(e,A,v),i.claim(t,A,b),LM(w,2,s,o,f?{nx:M,lean:R7,room:o2}:{room:pp})}let g=Math.hypot(u-n,c-l)||1,p=(u-n)/g,m=(c-l)/g;return(f||l===c)&&i.take([n,l,u,c]),{d:`M${d(n+p*s)},${d(l+m*s)}L${d(u-p*o)},${d(c-m*o)}`,sx:n,sy:l,sdx:-p,sdy:-m,ex:u,ey:c,edx:p,edy:m,x0:n,y0:l,x1:u,y1:c,nx:r?-m:0,ny:r?p:0,lean:0,room:Math.abs(p)>Math.abs(m)?o2:pp,points:[n,l,u,c]}}function Y7(e){let t=a2.get((e.shape??"").toLowerCase())??a2.get((e.sprite??"").toLowerCase());if(t)return t;if(e.tags)for(let a of e.tags.split(",")){let i=a2.get(a.trim().toLowerCase());if(i)return i}let r=e.kind;return r.endsWith("person")?"person":r.endsWith("_db")?"cyl":r.endsWith("_queue")?"h-cyl":"rect"}function K7(e,t,r,a,i=u2){let s=Y7(e),o=s==="h-cyl"?36:0,n=s==="person"?h2:s==="cyl"?24:0,l=i-2*vM-o,u=[We("\xAB"+e.kind.replace(/_/g," ")+"\xBB",!1,t,a-1,l),We(e.label,!1,t,r,l,1),We(e.techn?`[${e.techn}]`:void 0,!1,t,a,l),We(e.descr,!1,t,a,l)],c=0,f=u[3].height>0?4:0;for(let h of u)c=Math.max(c,h.width),f+=h.height;return{shape:e,form:s,labels:u,textH:f,x:0,y:0,w:Math.max(i,c+2*vM+o),h:Math.max(H7,f+2*P7+n)}}function $M(e,t,r,a,i){let s=0,o=0;for(let n=0;n<e.length;n+=t){let l=Math.min(e.length,n+t),u=0,c=0;for(let f=n;f<l;f++)c=Math.max(c,e[f].h);for(let f=n;f<l;f++){let h=e[f];h.x=u,h.y=o,i&&(h.h=c),u+=h.w+r}s=Math.max(s,u-r),o+=c+a}return[s,e.length>0?o-a:0]}function q7(e,t,r,a,i,s){let o=i===void 0?kM:12,n=new Map;for(let m of e.boundaries){let x=i===void 0?4e3:Math.max(80,i-2*ih-2*kM*2),y=m.parent?[We(m.label,!1,t,r,x,1),We(m.type?`[${m.type}]`:void 0,!1,t,a,x),We(m.descr,!1,t,a,x)]:[],C=0,S=0;for(let R of y)C+=R.height,S=Math.max(S,R.width);n.set(m,{boundary:m,kids:[],nodes:[],labels:y,head:C>0?C+c2+6+sh:o,headW:S,headX:ih,x:0,y:0,w:0,h:0,form:"rect"})}let l=n.get(e.boundaries[0]);for(let m of n.values()){let x=m.boundary.parent;x&&n.get(x)?.kids.push(m)}let u=[l],c=new Map([[l.boundary,0]]);for(let m=0;m<u.length;m++)for(let x of u[m].kids)c.set(x.boundary,c.get(u[m].boundary)+1),u.push(x);for(let m of e.shapes)if(m.parent){let x=c.get(m.parent)??0,y=i===void 0?u2:Math.max(100,Math.min(u2,i-2*x*o-32));n.get(m.parent)?.nodes.push(K7(m,t,r,a,y))}let f=Math.max(1,e.shapeInRow),h=Math.max(1,e.boundaryInRow),g=new Map;for(let m=u.length-1;m>=0;m--){let x=u[m],y=i===void 0?G7:s,C=(U,k,j)=>{if(i===void 0)return k;let X=1;for(let P of U)X=Math.max(X,P.w);return Math.max(1,Math.min(k,Math.floor((i+j-2*o)/(X+j))))},[S,R]=$M(x.nodes,C(x.nodes,f,y),y,U7,!0),[N,D]=$M(x.kids,C(x.kids,h,cp),cp,cp,!1),O=R>0&&D>0?cp:0,H=x===l?0:o;g.set(x,R+O),x.w=Math.max(S,N,x.headW+2*ih-2*H)+2*H,x.h=(H&&x.head)+R+O+D+H}let p=new Map;for(let m of u){let x=m.x+(m===l?0:o),y=m.y+(m===l?0:m.head);for(let C of m.nodes)C.x+=x,C.y+=y,p.set(C.shape,C);for(let C of m.kids)C.x+=x,C.y+=y+g.get(m);m!==l&&p.set(m.boundary,m)}return{order:u,boxes:p}}function dp(e,t,r){let a=[];return e&&a.push("fill:"+e),t&&a.push("stroke:"+t),r&&a.push("color:"+r),Rt(a)}function s2(e,t,r,a,i){return t?di(e,Oi(t.includes("\xB6\xDF")?t.replace(/\ufb02\u00b0\u00b0?/g,"#").replace(/\u00b6\u00df/g,";"):t),r,a,i):e}function j7(e,t,r){return ca(r,a=>{if(!a)return n2(e,t,r,!1)[0];let[i,s]=n2(e,t,r,!0,fp);for(let o=fp+i2;s>0&&o<=fp+3*i2;o+=i2){let[n,l]=n2(e,t,r,!0,o);l<s&&([i,s]=[n,l])}return i})}function n2(e,t,r,a,i=fp){let s=r.fontSize??16,o=Math.round(s*.8125),n=r.measurer??at(r.fontFamily),l=r.padding??8,u=[],{order:c,boxes:f}=q7(e,n,s,o,a?Math.max(80,(r.maxWidth??320)-2*l):void 0,i),h=c[0],g=0,p=0,m=h.w,x=h.h,y=(E,Y,G,K)=>{g=Math.min(g,E),p=Math.min(p,Y),m=Math.max(m,G),x=Math.max(x,K)},C=[],S=new Map;for(let E of e.rels){let Y=E.fromAttr?void 0:e.getC4Shape(E.from),G=E.toAttr?void 0:e.getC4Shape(E.to),K=Y&&f.get(Y),L=G&&f.get(G);if(!K||!L)throw new je(`C4 rel "${E.from}" -> "${E.to}" references an unknown shape or boundary`,"semantic",{type:"c4"});C.push(K,L);let _=S.get(K);_||S.set(K,_=new Set),_.add(L)}let R=[],N=[];for(let E of c)for(let Y of E.nodes)R.push(Y),N.push(Y.x+hp,Y.y+hp,Y.x+Y.w-hp,Y.y+Y.h-hp);let D=e.rels.length*(R.length+c.length+3*e.rels.length)<=V7,O=(E,Y,G,K)=>{let L=0;for(let _=0;_<N.length;_+=4){let B=Math.min(G,N[_+2])-Math.max(E,N[_]);if(B<=0)continue;let q=Math.min(K,N[_+3])-Math.max(Y,N[_+1]);q>0&&(L+=B*q)}return L},H=E=>E?Math.max(-TM,Math.min(TM,E)):0,U="",k=wt("arrow_point"),j=new O7;for(let E of c)E!==h&&j.frame(E);let X=e.rels.map((E,Y)=>{let G=C[Y*2],K=C[Y*2+1],L=dp(void 0,E.lineColor,void 0),_=L.stroke?Je(L.stroke):"var(--_l)",B=E.type==="birel"||E.type==="rel_b",q=E.type!=="rel_b",Q=G!==K&&S.get(K)?.has(G)===!0,Z=W7(G,K,Q?z7:0,D?R:void 0,j,B?k:0,q?k:0);return y(Math.min(Z.x0,Z.x1),Math.min(Z.y0,Z.y1),Math.max(Z.x0,Z.x1),Math.max(Z.y0,Z.y1)),B&&D&&N.push(Z.sx-er,Z.sy-er,Z.sx+er,Z.sy+er),q&&D&&N.push(Z.ex-er,Z.ey-er,Z.ex+er,Z.ey+er),U+=`<g class="pele-edge" data-id="${Oe(E.from+"-"+E.to)}"${L.line}><path d="${Z.d}"/>`+(B?vt("arrow_point",Z.sx,Z.sy,Z.sdx,Z.sdy,_):"")+(q?vt("arrow_point",Z.ex,Z.ey,Z.edx,Z.edy,_):"")+"</g>",Z});for(let E of c){if(!D||E.headW===0)continue;let Y=E.y+c2,G=E.y+E.head-sh,K=1/0;for(let L of[ih,(E.w-E.headW)/2,E.w-ih-E.headW]){let _=0;for(let B of X)RM(B.points,E.x+L-4,Y,E.x+L+E.headW+4,G)&&_++;if(_<K&&(K=_,E.headX=L),_===0)break}N.push(E.x+E.headX-4,Y,E.x+E.headX+E.headW+4,G)}let P="";e.rels.forEach((E,Y)=>{let G=X[Y],K=E.from+"-"+E.to,L=dp(void 0,void 0,E.textColor),_=(e.c4Type==="C4Dynamic"?Y+1+": ":"")+E.label,B=We(_,!1,n,o,G.room),q=We(E.techn?`[${E.techn}]`:void 0,!1,n,o,G.room,2),Q=Math.max(B.width,q.width)+8,Z=B.height+q.height;if(Z===0)return;let J=Math.abs(G.nx)*(Q/2)+Math.abs(G.ny)*(Z/2)+2,W=G.lean?Math.max(0,Math.min(G.lean,J-14)):J,V=G.nx*W+(a?0:H(E.offsetX)),re=G.ny*W+(a?0:H(E.offsetY)),ne=.5;if(D){let se=1/0,ee=V!==G.nx*W||re!==G.ny*W;for(let te=0;te<(ee?2:1)&&se>0;te++){let he=te?G.nx*W:V,me=te?G.ny*W:re;for(let oe of Q7){let be=G.x0+(G.x1-G.x0)*oe+he,de=G.y0+(G.y1-G.y0)*oe+me,pe=O(be-Q/2,de-Z/2,be+Q/2,de+Z/2);if(pe<se&&(se=pe,ne=oe,V=he,re=me),pe===0)break}}}let ce=G.x0+(G.x1-G.x0)*ne+V,ie=G.y0+(G.y1-G.y0)*ne+re-Z/2;D&&N.push(ce-Q/2,ie,ce+Q/2,ie+Z),y(ce-Q/2,ie,ce+Q/2,ie+Z),P+=`<g class="pele-edge-label" data-id="${Oe(K)}">`+(E.descr?`<title>${Oe(E.descr)}</title>`:"")+`<rect x="${d(ce-Q/2)}" y="${d(ie)}" width="${d(Q)}" height="${d(Z)}" rx="3" fill="var(--_bg)"/>`+s2(De(B,ce,ie+B.height/2,L.text)+De(q,ce,ie+B.height+q.height/2,` class="pele-c4-techn" fill="var(--_m)"${L.text}`),E.link,K,u,r)+"</g>"});let F="",I="";for(let E of c){if(E!==h){let Y=E.boundary,G=dp(Y.bgColor,Y.borderColor,Y.fontColor),K=E.x+E.headX,L=E.y+c2,_=js(E.labels[0],K,L,` class="pele-cluster-label" font-weight="var(--_hw)"${G.text}`);L+=E.labels[0].height,_+=js(E.labels[1],K,L,` class="pele-c4-type" font-size="${o}" fill="var(--_m)"${G.text}`),L+=E.labels[1].height,_+=js(E.labels[2],K,L,` class="pele-c4-descr" font-size="${o}" fill="var(--_m)"${G.text}`),F+=`<g class="pele-cluster pele-c4-${Y.nodeType?"node":"boundary"}" data-id="${Oe(Y.alias)}"><rect x="${d(E.x)}" y="${d(E.y)}" width="${d(E.w)}" height="${d(E.h)}" fill="none" stroke="var(--_b)"${Y.nodeType?"":' stroke-dasharray="6 4"'}${bt(G.shape)}/>`+s2(_,Y.link,Y.alias,u,r)+"</g>"}for(let Y of E.nodes){let G=Y.shape,K=G.kind.startsWith("external"),L=dp(G.bgColor,G.borderColor,G.fontColor),_=' stroke="var(--_b)"'+(K?' stroke-dasharray="4 3"':""),{w:B,h:q,form:Q,labels:Z}=Y,J=Q==="h-cyl"?-DM(q)/2:0,W=Q==="person"?h2/2:Q==="cyl"?NM(B)/2:0,V=` fill="var(--_m)"${L.text}`,re=W-Y.textH/2,ne=De(Z[0],J,re+Z[0].height/2,` class="pele-c4-type" font-size="${o-1}"${V}`);re+=Z[0].height,ne+=De(Z[1],J,re+Z[1].height/2,` class="pele-label" font-weight="var(--_hw)"${L.text}`),re+=Z[1].height,ne+=De(Z[2],J,re+Z[2].height/2,` class="pele-c4-techn" font-size="${o}"${V}`),re+=Z[2].height+4,ne+=De(Z[3],J,re+Z[3].height/2,` class="pele-c4-descr" font-size="${o}"${L.text}`),I+=`<g class="pele-node pele-shape-${Q} pele-c4-${G.kind}${K?" pele-c4-external":""}" data-id="${Oe(G.alias)}" transform="translate(${d(Y.x+B/2)},${d(Y.y+q/2)})">`+s2(Fi(Q,B,q,` fill="var(${K?"--_bg":"--_s"})"${_}${L.shape}`,_+L.line)+ne,G.link,G.alias,u,r)+"</g>"}}let $=We(e.title,!1,n,s,a?Ht(r):4e3,1),w=$.height>0?$.height+12:0,A=Math.max(m-g,$.width),v=Math.ceil(A+2*l),b=Math.ceil(x-p+w+2*l),T=l-g+(A-(m-g))/2,M=l+w-p;return[{svg:rt("c4",v,b,s,r,e,De($,v/2,l+$.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g transform="translate(${d(T)},${d(M)})">`+(F?`<g class="pele-clusters">${F}</g>`:"")+(U?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${U}</g>`:"")+(I?`<g class="pele-nodes">${I}</g>`:"")+(P?`<g class="pele-edge-labels" font-size="${o}">${P}</g>`:"")+"</g>"),width:v,height:b,links:u},j.squeezed]}var w7,S7,E7,SM,C7,e2,t2,r2,v7,k7,$7,T7,Hl,sh,IM,D7,R7,o2,pp,h2,NM,DM,l2,L7,CM,O7,u2,H7,vM,P7,G7,U7,kM,cp,ih,c2,a2,z7,fp,i2,TM,hp,Q7,V7,OM,BM=Xe(()=>{yo();Us();bn();pr();zt();Lr();xt();Mt();w7=new Set(["label","type","descr","techn","sprite","tags","link","bgColor","fontColor","borderColor","shadowing","shape","legendText","legendSprite"]),S7=new Set(["label","descr","techn","sprite","tags","link","textColor","lineColor"]);E7=class{type="c4";c4Type;title;accTitle;accDescr;shapes=[];boundaries=[{alias:"global",label:"global",type:"global",parent:void 0}];rels=[];shapeInRow=4;boundaryInRow=2;shapeIndex=new Map;boundaryIndex=new Map;relIndex=new Map;current=this.boundaries[0];stack=[];setC4Type(e){this.c4Type=e}setTitle(e){this.title=e}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
119
+ `)}element(e,t,r,a){let i=typeof r=="string"?t.get(r):void 0;return i===void 0&&(i={alias:"",label:"",parent:void 0},e.push(i),typeof r=="string"?(i.alias=r,t.set(r,i)):(i.aliasAttr=r,ah(i,r))),wM(i,a),i}addPersonOrSystem(e,t){let r=this.element(this.shapes,this.shapeIndex,t[0],t[1]);Wl(r,"descr",t[2]),this.finishShape(r,e,t,3)}addContainer(e,t){let r=this.element(this.shapes,this.shapeIndex,t[0],t[1]);Wl(r,"techn",t[2]),Wl(r,"descr",t[3]),this.finishShape(r,e,t,4)}addComponent(e,t){this.addContainer(e,t)}finishShape(e,t,r,a){hr(e,"sprite",r[a]),hr(e,"tags",r[a+1]),hr(e,"link",r[a+2]),e.kind=t,e.parent=this.current}boundary(e,t){let r=this.element(this.boundaries,this.boundaryIndex,e[0],e[1]);return e[2]===void 0?r.type=t:hr(r,"type",e[2]),r}open(e){e.parent=this.current,this.stack.push(this.current),this.current=e}addPersonOrSystemBoundary(e,t="system"){let r=this.boundary(e,t);hr(r,"tags",e[3]),hr(r,"link",e[4]),this.open(r)}addContainerBoundary(e){this.addPersonOrSystemBoundary(e,"container")}addDeploymentNode(e,t){let r=this.boundary(t,"node");Wl(r,"descr",t[3]),hr(r,"sprite",t[4]),hr(r,"tags",t[5]),hr(r,"link",t[6]),r.nodeType=e,this.open(r)}popBoundaryParseStack(){this.current=this.stack.pop()??this.boundaries[0]}addRel(e,t){let r=t[0],a=t[1];if(r===void 0||a===void 0||t[2]===void 0)return;let i=typeof r=="string"&&typeof a=="string",s=i?this.relIndex.get(r)?.get(a):void 0;if(s===void 0){if(s={type:e,from:"",to:"",label:""},this.rels.push(s),i){let o=this.relIndex.get(r);o===void 0&&this.relIndex.set(r,o=new Map),o.set(a,s)}typeof r=="string"?s.from=r:s.fromAttr=r,typeof a=="string"?s.to=a:s.toAttr=a}s.type=e,wM(s,t[2]),Wl(s,"techn",t[3]),Wl(s,"descr",t[4]),hr(s,"sprite",t[5]),hr(s,"tags",t[6]),hr(s,"link",t[7])}getC4Shape(e){return this.shapeIndex.get(e)??this.boundaryIndex.get(e)}updateElStyle(e,t){let r=typeof t[0]=="string"?this.getC4Shape(t[0]):void 0;r!==void 0&&(hr(r,"bgColor",t[1]),hr(r,"fontColor",t[2]),hr(r,"borderColor",t[3]),hr(r,"shadowing",t[4]),hr(r,"shape",t[5]),hr(r,"sprite",t[6]),hr(r,"techn",t[7]),hr(r,"legendText",t[8]),hr(r,"legendSprite",t[9]))}updateRelStyle(e,t){let r=t[0],a=t[1],i=typeof r=="string"&&typeof a=="string"?this.relIndex.get(r)?.get(a):void 0;if(i===void 0)return;hr(i,"textColor",t[2]),hr(i,"lineColor",t[3]);let s=t[4],o=t[5];typeof s=="string"?i.offsetX=parseInt(s):s!==void 0&&ah(i,s),typeof o=="string"?i.offsetY=parseInt(o):o!==void 0&&ah(i,o)}updateLayoutConfig(e,t){let r=s=>s===void 0?NaN:parseInt(typeof s=="string"?s:s.value),a=r(t[0]),i=r(t[1]);a>=1&&(this.shapeInRow=a),i>=1&&(this.boundaryInRow=i)}},SM=["$end","INVALID","direction_tb","direction_bt","direction_rl","direction_lr","title","accDescription","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","NEWLINE","C4_CONTEXT","C4_CONTAINER","C4_COMPONENT","C4_DYNAMIC","C4_DEPLOYMENT","PERSON","PERSON_EXT","SYSTEM","SYSTEM_DB","SYSTEM_QUEUE","SYSTEM_EXT","SYSTEM_EXT_DB","SYSTEM_EXT_QUEUE","CONTAINER","CONTAINER_DB","CONTAINER_QUEUE","CONTAINER_EXT","CONTAINER_EXT_DB","CONTAINER_EXT_QUEUE","COMPONENT","COMPONENT_DB","COMPONENT_QUEUE","COMPONENT_EXT","COMPONENT_EXT_DB","COMPONENT_EXT_QUEUE","ENTERPRISE_BOUNDARY","SYSTEM_BOUNDARY","BOUNDARY","CONTAINER_BOUNDARY","NODE","NODE_L","NODE_R","REL","BIREL","REL_U","REL_D","REL_L","REL_R","REL_B","REL_INDEX","UPDATE_EL_STYLE","UPDATE_REL_STYLE","UPDATE_LAYOUT_CONFIG","EOF_IN_STRUCT","ATTRIBUTE_EMPTY","STR","STR_KEY","STR_VALUE","LBRACE","RBRACE","EOF"],C7=new Map([["C4Context",14],["C4Container",15],["C4Component",16],["C4Dynamic",17],["C4Deployment",18],["Person",19],["Person_Ext",20],["System",21],["SystemDb",22],["SystemQueue",23],["System_Ext",24],["SystemDb_Ext",25],["SystemQueue_Ext",26],["Container",27],["ContainerDb",28],["ContainerQueue",29],["Container_Ext",30],["ContainerDb_Ext",31],["ContainerQueue_Ext",32],["Component",33],["ComponentDb",34],["ComponentQueue",35],["Component_Ext",36],["ComponentDb_Ext",37],["ComponentQueue_Ext",38],["Enterprise_Boundary",39],["System_Boundary",40],["Boundary",41],["Container_Boundary",42],["Deployment_Node",43],["Node",43],["Node_L",44],["Node_R",45],["Rel",46],["BiRel",47],["Rel_Up",48],["Rel_U",48],["Rel_Down",49],["Rel_D",49],["Rel_Left",50],["Rel_L",50],["Rel_Right",51],["Rel_R",51],["Rel_Back",52],["RelIndex",53],["UpdateElementStyle",54],["UpdateRelStyle",55],["UpdateLayoutConfig",56]]),e2=[/.*direction\s+TB[^\n]*/y,/.*direction\s+BT[^\n]*/y,/.*direction\s+RL[^\n]*/y,/.*direction\s+LR[^\n]*/y],t2=/[\n\r\u2028\u2029]/g;r2=["person","external_person","system","system_db","system_queue","external_system","external_system_db","external_system_queue","container","container_db","container_queue","external_container","external_container_db","external_container_queue","component","component_db","component_queue","external_component","external_component_db","external_component_queue"],v7=["rel","birel","rel_u","rel_d","rel_l","rel_r","rel_b","rel"],k7=["node","nodeL","nodeR"],$7="'direction_tb', 'direction_bt', 'direction_rl', 'direction_lr', 'C4_CONTEXT', 'C4_CONTAINER', 'C4_COMPONENT', 'C4_DYNAMIC', 'C4_DEPLOYMENT'",T7="'STR', 'STR_KEY', 'ATTRIBUTE', 'ATTRIBUTE_EMPTY'";Hl=28,sh=20,IM=7,D7=8,R7=30,o2=88,pp=160,h2=26,NM=e=>Math.min(12,Math.max(6,e/14)),DM=e=>Math.min(12,e/4);l2=6,L7=3,CM=12,O7=class{upright=[];level=[];frames=[[],[]];taken=new Map;squeezed=0;free(e,t,r,a){let i=Math.min(r,a),s=Math.max(r,a),o=(n,l)=>{for(let u=0;u<n.length;u+=3)if(Math.abs(n[u]-t)<l&&n[u+1]<s&&n[u+2]>i)return!0;return!1};return!o(e?this.upright:this.level,l2)&&!o(this.frames[e?0:1],L7)}crossings(e){let t=0;for(let r=2;r<e.length;r+=2){let a=e[r]===e[r-2],i=a?e[r]:e[r+1],s=Math.min(a?e[r-1]:e[r-2],a?e[r+1]:e[r]),o=Math.max(a?e[r-1]:e[r-2],a?e[r+1]:e[r]),n=a?this.level:this.upright;for(let l=0;l<n.length;l+=3)n[l]>s&&n[l]<o&&n[l+1]<i&&n[l+2]>i&&t++}return t}frame(e){this.frames[0].push(e.x,e.y,e.y+e.h,e.x+e.w,e.y,e.y+e.h),this.frames[1].push(e.y,e.x,e.x+e.w,e.y+e.h,e.x,e.x+e.w)}take(e){for(let t=2;t<e.length;t+=2)e[t]===e[t-2]?this.upright.push(e[t],Math.min(e[t-1],e[t+1]),Math.max(e[t-1],e[t+1])):e[t+1]===e[t-1]&&this.level.push(e[t+1],Math.min(e[t-2],e[t]),Math.max(e[t-2],e[t]))}ports(e,t,r,a,i){let s=this.taken.get(e)??[],o=[];for(let n=0;n<9&&o.length<4;n++){let l=r+(n&1?1:-1)*Math.ceil(n/2)*CM;if(l<a||l>i)continue;let u=!0;for(let c=0;c<s.length;c+=2)s[c]===t&&Math.abs(s[c+1]-l)<CM&&(u=!1);u&&o.push(l)}return o.length?o:[r]}claim(e,t,r){let a=this.taken.get(e);a?a.push(t,r):this.taken.set(e,[t,r])}};u2=216,H7=64,vM=14,P7=12,G7=100,U7=88,kM=sh+8,cp=48,ih=16,c2=10,a2=new Map([["person","person"],["box","rect"],["rounded","rect"],["component","rect"],["cylinder","cyl"],["database","cyl"],["db","cyl"],["queue","h-cyl"],["pipe","h-cyl"]]);z7=7,fp=36,i2=24,TM=2e3,hp=8,Q7=[.5,.4,.6,.3,.7,.2,.8],V7=2e6;OM={type:"c4",parse(e,t,r){let a=new E7;return r&&(a.title=r),N7(e,a),a},render:j7}});var FM={};Bt(FM,{c4:()=>OM});var WM=Xe(()=>{BM()});function X7(e){switch(e){case"[]":return"square";case"()":return"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function Z7(e){switch(e.trim().slice(-1)){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}function J7(e){switch(e.trim().charAt(0)){case"x":return"arrow_cross";case"o":return"arrow_circle";case"<":return"arrow_point";default:return"arrow_open"}}function eB(e){return e.includes("==")?"thick":"normal"}function tB(e){return e.includes(".-")?"dotted":"solid"}function PM(e,t){let r=e.flat(),a=-1;for(let i of r)if(i.type==="column-setting"){a=i.columns??-1;break}return{list:r,at:0,parent:t,children:[],columns:a}}function iB(e){let t=e.length,r=[],a=[],i=[],s=[],o=0,n=0,l=(U,k,j)=>(r.push(U),a.push(k),i.push(n),n=j,!0),u=(U,k)=>l(U,e.slice(n,k),k),c=U=>{s.push(o),o=U},f=()=>{s.length>0&&(o=s.pop())},h=U=>{for(;U<t&&Ke(e.charCodeAt(U));)U++;return U},g=U=>{for(;U<t;){let k=e.charCodeAt(U);if(k<48||k>57)break;U++}return U},p=U=>{for(;U<t&&tt(e.charCodeAt(U));)U++;return U},m=U=>e.startsWith(U,n)&&!tt(e.charCodeAt(n+U.length)),x=()=>(e.charCodeAt(n+1)===96?(c(2),n+=2):(c(1),n++),!0),y=U=>{if(e.charCodeAt(U)!==46)return-1;do U++;while(e.charCodeAt(U)===46);if(e.charCodeAt(U)!==45)return-1;let k=e.charCodeAt(U+1);return k===120||k===111||k===62?U+2:U+1},C=U=>{let k=e.charCodeAt(U);(k===120||k===111||k===60)&&U++;let j=e.charCodeAt(U);if(j===46)return y(U);if(j!==45&&j!==61)return-1;let X=U+1;for(;e.charCodeAt(X)===j;)X++;if(X-U===1)return j===45?y(X):-1;let P=e.charCodeAt(X);return P===120||P===111||P===62?X+1:X-U>=3?X:-1},S=()=>{let U=C(n);if(U>=0)return u(33,h(U));let k=e.charCodeAt(n)===60?n+1:n,j=e.charCodeAt(k),X=e.charCodeAt(k+1);return j===45&&(X===45||X===46)||j===61&&X===61?(c(6),u(34,h(k+2))):!1},R=U=>{let k=e.indexOf(`
120
+ `,n);return k===-1&&(k=t),f(),u(U,k)},N=(U,k)=>{let j=p(n);if(j===n)return!1;for(;e.charCodeAt(j)===44;){let X=h(j+1),P=p(X);if(P===X)break;j=P}return o=k,u(U,j)},D=U=>{if(Ke(U))return n=h(n+1),!0;let k;switch(U){case 98:if(e.startsWith("block",n)){if(m("block-beta"))return u(2,n+10);if(e.charCodeAt(n+5)===58)return u(3,n+6);if(!tt(e.charCodeAt(n+5)))return u(2,n+5)}break;case 99:if(e.startsWith("columns",n)){if(k=h(n+7),k>n+7){if(e.startsWith("auto",k)&&!tt(e.charCodeAt(k+4)))return l(4,"-1",k+4);let j=g(k);if(j>k)return l(4,e.slice(k,j),j)}}else if(e.startsWith("class",n)){let j=e.startsWith("Def",n+5),X=j?n+8:n+5;if(k=h(X),k>X)return c(j?7:9),u(j?11:15,k)}break;case 34:return x();case 115:if(e.startsWith("space",n)){if(e.charCodeAt(n+5)===58){let j=g(n+6);if(j>n+6)return l(7,e.slice(n+6,j),j)}if(!tt(e.charCodeAt(n+5)))return l(7,"1",n+5)}else if(e.startsWith("style",n)&&(k=h(n+5),k>n+5))return c(11),u(18,k);break;case 100:if(m("default"))return u(8,n+7);break;case 108:if(m("linkStyle"))return u(9,n+9);break;case 105:if(m("interpolate"))return u(10,n+11);break;case 97:if(e.startsWith("accTitle",n)){if(k=h(n+8),e.charCodeAt(k)===58)return c(13),u(21,h(k+1))}else if(e.startsWith("accDescr",n)){k=h(n+8);let j=e.charCodeAt(k);if(j===58)return c(14),u(23,h(k+1));if(j===123)return c(15),n=h(k+1),!0}break;case 101:if(m("end"))return u(26,h(n+3));break;case 45:return e.charCodeAt(n+1)===41?(c(3),u(27,n+2)):S();case 61:return S();case 60:return e.charCodeAt(n+1)===91?(c(4),u(29,n+2)):S();case 40:{let j=e.charCodeAt(n+1),X=j===45||j===91?2:j===40?e.charCodeAt(n+2)===40?3:2:1;return c(3),u(27,n+X)}case 41:case 123:return c(3),u(27,e.charCodeAt(n+1)===U?n+2:n+1);case 62:return c(3),u(27,n+1);case 91:{let j=e.charCodeAt(n+1);return c(3),u(27,j===91||j===124||j===40||j===92||j===47?n+2:n+1)}case 58:{let j=g(n+1);return j>n+1?l(36,e.slice(n+1,j),j):!1}}for(k=n;k<t;){let j=e.charCodeAt(k);if(j<128?VM[j]===1:Ke(j))break;k++}return k>n&&u(32,k)},O=U=>{let k=e.charCodeAt(n+1),j=0;switch(U){case 34:return x();case 40:j=k===45?2:k===40?e.charCodeAt(n+2)===40?3:2:1;break;case 41:j=k===41?e.charCodeAt(n+2)===41?3:2:k===93?2:1;break;case 125:j=k===125?2:1;break;case 45:j=k===41?2:0;break;case 93:j=k===93||k===41||k===62?2:1;break;case 92:case 47:j=k===93?2:0;break}return j===0?!1:(f(),u(28,n+j))},H=U=>{if(U===41)return f(),f(),l(30,"]>",h(n+1));let k=h(U===44?n+1:n);for(let j of aB)if(e.startsWith(j,k)){let X=h(k+j.length);return l(31,e.slice(U===44?k:n,X),X)}return!1};for(;;){if(n>=t){let j=-1;switch(o){case 0:j=37;break;case 1:j=6;break;case 8:j=14;break;case 10:j=17;break;case 12:j=20;break;case 13:j=22;break;case 14:j=24;break;case 15:j=25;break}n=t,j!==-1&&l(j,"",t);break}let U=e.charCodeAt(n),k=!0;switch(o){case 0:k=D(U);break;case 1:if(U===34)f(),n++;else{let j=e.indexOf('"',n);u(6,j===-1?t:j)}break;case 2:if(U===96)k=e.charCodeAt(n+1)===34,k&&(f(),n+=2);else if(U===34)k=!1;else{let j=n+1;for(;j<t;){let X=e.charCodeAt(j);if(X===96||X===34)break;j++}u(5,j)}break;case 3:k=O(U);break;case 4:if(U===34)x();else if(U===93&&e.charCodeAt(n+1)===62){let j=h(n+2);k=e.charCodeAt(j)===40,k&&(c(5),n=j+1)}else k=!1;break;case 5:k=H(U);break;case 6:if(U===34)e.charCodeAt(n+1)===96?x():(u(35,n+1),c(1));else{let j=C(h(n));k=j>=0,k&&(f(),u(33,h(j)))}break;case 7:{let j=12,X=e.startsWith("DEFAULT",n)?n+7:n,P=h(X);(X===n||P===X)&&(j=13,X=p(n),P=h(X)),k=X>n&&P>X,k&&(o=8,u(j,P));break}case 8:R(14);break;case 9:k=N(16,10);break;case 10:R(17);break;case 11:k=N(19,12);break;case 12:R(20);break;case 13:R(22);break;case 14:R(24);break;case 15:if(U===125)f(),n++;else{let j=e.indexOf("}",n);u(25,j===-1?t:j)}break}if(!k)return r.push(1),a.push(""),i.push(n),{types:r,texts:a,starts:i}}return r.push(0),a.push(""),i.push(t),{types:r,texts:a,starts:i}}function UM(e){let t=e[e.length-1];return Array.isArray(t)?(e.pop(),e.concat(t)):e}function sB(e,t){let{types:r,texts:a,starts:i}=iB(e),s=0,o=h=>{let g=r[s];throw g===1?ut("block",e,i[s],"",!0):ut("block",e,i[s],`Expecting ${h}, got '${GM[g]}'`)},n=h=>(r[s]!==h&&o(`'${GM[h]}'`),a[s++]),l=()=>{let h=n(32);if(r[s]===27){let g=a[s++],p=n(6);return{id:h,label:p,typeStr:g+n(28)}}if(r[s]===29){let g=a[s++],p=n(6),m=[n(31)];for(;r[s]===31;)m.push(a[s++]);return{id:h,label:p,typeStr:g+n(30),directions:m}}return{id:h}},u=()=>{let h=l(),g=r[s]===36?parseInt(a[s++],10):1,p={id:h.id,label:h.label,type:t.typeStr2Type(h.typeStr),directions:h.directions,widthInColumns:g},m;for(;r[s]===33||r[s]===34;){let x="";r[s++]===34&&(n(35),x=n(6),n(33));let y=a[s-1],C=l(),S=t.edgeStrToEdgeData(y),R=t.edgeStrToEdgeStartData(y),N=t.edgeStrToThickness(y),D=t.edgeStrToPattern(y);m??=[{id:p.id,label:p.label,type:p.type,directions:p.directions}],p={id:C.id,label:C.label,type:t.typeStr2Type(C.typeStr),directions:C.directions},m.push({id:m[m.length-1].id+"-"+C.id,start:m[m.length-1].id,end:C.id,label:x,type:"edge",thickness:N,pattern:D,directions:C.directions,arrowTypeEnd:S,arrowTypeStart:R},p)}return m??p};n(2);let c=[],f=[];for(;;)switch(r[s]){case 32:f.push(u());break;case 4:f.push({type:"column-setting",columns:parseInt(a[s++],10)});break;case 7:{let h=parseInt(a[s++],10);f.push({id:t.generateId(),type:"space",label:"",width:h,children:[]});break}case 2:s++,c.push({list:f,header:void 0}),f=[];break;case 3:s++,r[s]!==32&&o("'NODE_ID'"),c.push({list:f,header:u()}),f=[];break;case 26:{let h=c.pop();if(h===void 0||f.length===0)return o(nh);s++;let g=t.generateId(),p=UM(f);f=h.list,f.push(h.header===void 0?{id:g,type:"composite",label:"",children:p}:{...h.header,type:"composite",children:p});break}case 11:{s++;let h=n(13).trim();f.push({type:"classDef",id:h,css:n(14).trim()});break}case 15:{s++;let h=n(16).trim();f.push({type:"applyClass",id:h,styleClass:n(17).trim()});break}case 18:{s++;let h=n(19).trim();f.push({type:"applyStyles",id:h,stylesStr:n(20).trim()});break}case 37:c.length>0&&o(nh+", 'end'"),f.length===0&&o(nh),t.setHierarchy(UM(f));return;default:o(f.length===0?nh:nh+(c.length>0?", 'end'":", 'EOF'"))}}function nB(e){let t=0;if(e)for(let r of e)switch(r.trim()){case"right":t|=bs;break;case"left":t|=ys;break;case"up":t|=xs;break;case"down":t|=ws;break;case"x":t|=bs|ys;break;case"y":t|=xs|ws;break}return t}function Ap(e){return e!==0&&!(e&(xs|ws))?"x":e!==0&&!(e&(bs|ys))?"y":""}function YM(e,t,r){let a=Ap(e),i=Tn(e,ys)-Tn(e,bs),s=Tn(e,xs)-Tn(e,ws);if(a==="x"){let o=Math.max(r+8,14)+2*Ul,n=Math.min(o/2,mp);return{w:Math.max(t+12,16)+n*(e===(bs|ys)?2:1),h:o,dx:i*n/2,dy:0}}if(a==="y"){let o=Math.max(t+16,14)+2*Ul,n=Math.min(o/2,mp);return{w:o,h:Math.max(r+8,16)+n*(e===(xs|ws)?2:1),dx:0,dy:s*n/2}}return{w:Math.max(t+16,24)+In*(Tn(e,ys)+Tn(e,bs)),h:Math.max(r+8,24)+In*(Tn(e,xs)+Tn(e,ws)),dx:i*In/2,dy:s*In/2}}function oB(e,t,r,a){let i=Ap(e),s=t/2,o=r/2,n;if(i==="x"){let u=Math.min(o,mp),c=o-Ul,f=e&ys?-s+u:-s,h=e&bs?s-u:s;n=[f,-c,h,-c],e&bs&&n.push(h,-o,s,0,h,o),n.push(h,c,f,c),e&ys&&n.push(f,o,-s,0,f,-o)}else if(i==="y"){let u=Math.min(s,mp),c=s-Ul,f=e&xs?-o+u:-o,h=e&ws?o-u:o;n=[c,f,c,h],e&ws&&n.push(s,h,0,o,-s,h),n.push(-c,h,-c,f),e&xs&&n.push(-s,f,0,-o,s,f)}else{let u=e&ys?-s+In:-s,c=e&bs?s-In:s,f=e&xs?-o+In:-o,h=e&ws?o-In:o,g=(u+c)/2,p=(f+h)/2,m=Math.min(10,(c-u)/2),x=Math.min(10,(h-f)/2);n=[u,f],e&xs&&n.push(g-m,f,g,-o,g+m,f),n.push(c,f),e&bs&&n.push(c,p-x,s,p,c,p+x),n.push(c,h),e&ws&&n.push(g+m,h,g,o,g-m,h),n.push(u,h),e&ys&&n.push(u,p+x,-s,p,u,p-x)}let l="";for(let u=0;u<n.length;u+=2)l+=(u?" ":"")+d(n[u])+","+d(n[u+1]);return`<polygon points="${l}" stroke-linejoin="round"${a}/>`}function uB(e,t){if(e===0||!Number.isInteger(e))throw new je("Columns must be an integer !== 0.","semantic",{type:"block"});if(t<0||!Number.isInteger(t))throw new je("Position must be a non-negative integer."+t,"semantic",{type:"block"});return e<0?{px:t,py:0}:{px:t%e,py:Math.floor(t/e)}}function cB(e,t,r){let a=e.columns,i=[],s=0,o=0,n=0,l=0;for(let c of e.children){let{px:f,py:h}=uB(a,s),g=c.span>=1?Math.min(c.span,lB):1;if(a>0&&g>a-f&&(g=a-f),c.span=g,c.col=f,c.row=h,s+=g,f+g>o&&(o=f+g),h===i.length&&i.push(0),c.children.length===0?i[h]=-1:i[h]>=0&&c.nh>i[h]&&(i[h]=c.nh),c.space)continue;let p=(c.nw-t*(g-1))/g;p>n&&(n=p),c.nh>l&&(l=c.nh)}let u=(i.length-1)*t;for(let c=0;c<i.length;c++)i[c]<0&&(i[c]=l),u+=i[c];e.cols=o,e.heights=i,e.nw=Math.max(e.nw,o*n+(o-1)*t+2*r),e.nh=u+2*r+e.head}function hB(e,t,r){let{cols:a,heights:i}=e,s=i.length,o=(e.w-2*r-(a-1)*t)/a,n=e.h-2*r-e.head-(s-1)*t,l=0;for(let p of i)l+=p;let u=l>0?n/l:0,c=l>0?0:n/s,f=e.x-e.w/2+r,h=e.y-e.h/2+r+e.head,g=0;for(let p of e.children){for(;g<p.row;g++)h+=i[g]*u+c+t;p.w=o*p.span+t*(p.span-1),p.h=i[g]*u+c,p.x=f+p.col*(o+t)+p.w/2,p.y=h+p.h/2}}function dB(e,t){let r=[e];for(let a=0;a<r.length;a++)for(let i of r[a].children)r.push(i);for(let a=r.length-1;a>=0;a--){let i=r[a];i.children.length>0&&cB(i,t,a===0?0:t)}e.w=e.nw,e.h=e.nh,e.x=e.w/2,e.y=e.h/2;for(let a=0;a<r.length;a++){let i=r[a];i.children.length>0&&hB(i,t,a===0?0:t)}return{width:e.w,height:e.h}}function bp(e){return e.kind===0&&(e.shape==="circle"||e.shape==="dbl-circ")}function Pl(e,t,r){let a=e.bw/2,i=e.bh/2,s=Math.abs(t-e.x),o=i;return bp(e)?o=Math.sqrt(Math.max(a*a-s*s,0)):e.kind===0&&e.shape==="diam"?o=i*Math.max(1-s/a,0):e.kind===0?o=i-Ys(e.shape,e.bw,e.bh,r>0?2:0):e.kind===1&&Ap(e.mask)==="x"&&(o=i-Ul),e.y+r*o}function Gl(e,t,r){let a=e.bw/2,i=e.bh/2,s=Math.abs(t-e.y),o=a;return bp(e)?o=Math.sqrt(Math.max(i*i-s*s,0)):e.kind===0&&e.shape==="diam"?o=a*Math.max(1-s/i,0):e.kind===0?o=a-Ys(e.shape,e.bw,e.bh,r>0?1:3):e.kind===1&&Ap(e.mask)==="y"&&(o=a-Ul),e.x+r*o}function QM(e,t,r,a){let i=t-e.x,s=r-e.y,o=e.bw/2,n=e.bh/2,l;bp(e)?l=o/(Math.hypot(i,s)||1):e.kind===0&&e.shape==="diam"?l=1/(Math.abs(i)/o+Math.abs(s)/n||1):l=Math.min(i===0?1/0:o/Math.abs(i),s===0?1/0:n/Math.abs(s)),l===1/0&&(l=0),a.push(e.x+i*l,e.y+s*l)}function EB(e,t,r,a,i){let s=i.x-i.bw/2+1,o=i.x+i.bw/2-1,n=i.y-i.bh/2+1,l=i.y+i.bh/2-1;if(e<s&&r<s||e>o&&r>o||t<n&&a<n||t>l&&a>l)return!1;if(e===r||t===a)return!0;let u=r-e,c=a-t,f=(g,p)=>Math.sign(u*(p-t)-c*(g-e)),h=f(s,n);return h===0||f(o,n)!==h||f(o,l)!==h||f(s,l)!==h}function d2(e,t,r,a){let i=0;for(let s of a)if(!(s===t||s===r)){for(let o=0;o+3<e.length;o+=2)if(EB(e[o],e[o+1],e[o+2],e[o+3],s)){i++;break}}return i}function CB(e,t,r,a){let i=e.x-e.bw/2,s=e.x+e.bw/2,o=e.y-e.bh/2,n=e.y+e.bh/2,l=t.x-t.bw/2,u=t.x+t.bw/2,c=t.y-t.bh/2,f=t.y+t.bh/2,h=Math.max(i,l),g=Math.min(s,u),p=Math.max(o,c),m=Math.min(n,f),x=g-h>6,y=m-p>6;if(x&&y){let X=e.bw*e.bh<=t.bw*t.bh?e:t,P=X===e?t:e,F=X.y-X.bh/2-(P.y-P.bh/2),I=P.y+P.bh/2-(X.y+X.bh/2),$=X.x-X.bw/2-(P.x-P.bw/2),w=P.x+P.bw/2-(X.x+X.bw/2),A=Math.min(F,I,$,w),v;return A===I?v=[X.x,Pl(X,X.x,1),X.x,P.y+P.bh/2]:A===F?v=[X.x,Pl(X,X.x,-1),X.x,P.y-P.bh/2]:A===w?v=[Gl(X,X.y,1),X.y,P.x+P.bw/2,X.y]:v=[Gl(X,X.y,-1),X.y,P.x-P.bw/2,X.y],X===e?v:[v[2],v[3],v[0],v[1]]}if(x){let X=Math.min(6,(g-h)/2),P=Math.min(Math.max((h+g)/2+r,h+X),g-X),F=t.y>e.y?1:-1;return[P,Pl(e,P,F),P,Pl(t,P,-F)]}if(y){let X=Math.min(6,(m-p)/2),P=Math.min(Math.max((p+m)/2+r,p+X),m-X),F=t.x>e.x?1:-1;return[Gl(e,P,F),P,Gl(t,P,-F),P]}let C=t.x>e.x?1:-1,S=t.y>e.y?1:-1,R=[Gl(e,e.y,C),e.y,t.x,e.y,t.x,Pl(t,t.x,-S)],N=[e.x,Pl(e,e.x,S),e.x,t.y,Gl(t,t.y,-C),t.y],D=Math.abs(t.x-e.x)>=Math.abs(t.y-e.y),O=D?R:N;if(a===void 0)return O;let H=d2(O,e,t,a);if(H===0)return O;let U=D?N:R,k=d2(U,e,t,a);if(k<H&&(O=U,H=k),H===0)return O;let j=[];return QM(e,t.x,t.y,j),QM(t,e.x,e.y,j),d2(j,e,t,a)<H?j:O}function MB(e,t,r){let a=e.length,i=e[0],s=e[1],o=e[a-2],n=e[a-1],l=e[2]-i,u=e[3]-s,c=Math.hypot(l,u);l/=c||1,u/=c||1;let f=o-e[a-4],h=n-e[a-3],g=Math.hypot(f,h);if(f/=g||1,h/=g||1,a===4&&t+r>c){let m=c/(t+r);t*=m,r*=m}t=Math.min(t,c),r=Math.min(r,g);let p=`M${d(i+l*t)},${d(s+u*t)}`;if(a===6){let m=Math.max(0,Math.min(pB,c-t,g-r));p+=`L${d(e[2]-l*m)},${d(e[3]-u*m)}Q${d(e[2])},${d(e[3])} ${d(e[2]+f*m)},${d(e[3]+h*m)}`}return p+=`L${d(o-f*r)},${d(n-h*r)}`,{d:p,sx:i,sy:s,sdx:-l,sdy:-u,ex:o,ey:n,edx:f,edy:h}}function jM(e,t){let r=e.bw/2,a=e.bh/2,i=Math.max(1,Math.min(10+5*(t-1),r,a));if(bp(e)){let s=e.x+r*Math.SQRT1_2,o=e.y-r*Math.SQRT1_2,n=2*Math.asin(Math.min(1,i/(2*r))),l=u=>Math.atan2(e.y-r*Math.sin(u)-o,e.x+r*Math.cos(u)-s);return[s,o,i,l(Math.PI/4+n),l(Math.PI/4-n)]}if(e.kind===0&&e.shape==="diam"){let s=Math.atan2(a,r);return[e.x+r/2,e.y-a/2,i,s+Math.PI,s]}return[e.x+r,e.y-a,i,Math.PI,Math.PI/2]}function vB(e,t,r,a){let[i,s,o,n,l]=jM(e,t),u=n+r/o,c=l-a/o,f=(c-u)%(2*Math.PI);f<=0&&(f+=2*Math.PI);let h=i+o*Math.cos(u),g=s+o*Math.sin(u),p=i+o*Math.cos(c),m=s+o*Math.sin(c),x=i+o*Math.cos(n),y=s+o*Math.sin(n),C=i+o*Math.cos(l),S=s+o*Math.sin(l),R=Math.hypot(x-h,y-g),N=Math.hypot(C-p,S-m);return{d:`M${d(h)},${d(g)}A${d(o)},${d(o)} 0 ${f>Math.PI?1:0} 1 ${d(p)},${d(m)}`,sx:x,sy:y,sdx:R>0?(x-h)/R:Math.sin(n),sdy:R>0?(y-g)/R:-Math.cos(n),ex:C,ey:S,edx:N>0?(C-p)/N:-Math.sin(l),edy:N>0?(S-m)/N:Math.cos(l)}}function $B(e,t,r,a,i,s,o){if(o===void 0)return .5;for(let n of kB){let l=e[t]+(e[t+2]-e[t])*n,u=e[t+1]+(e[t+3]-e[t+1])*n,c=!0;for(let f of o)if(f!==i&&f!==s&&Math.abs(l-f.x)<(r+f.bw)/2&&Math.abs(u-f.y)<(a+f.bh)/2){c=!1;break}if(c)return n}return .5}function TB(e,t,r){return ca(r,a=>IB(e,t,r,a))}function IB(e,t,r,a){let i=r.fontSize??16,s=Math.round(i*.875),o=r.measurer??at(r.fontFamily),n=r.padding??8,l=r.icons,u=t.block?.padding,c=Math.min(typeof u=="number"&&u>=0?Math.min(u,200):fB,a?6:1/0),f=a?80:KM,h=K=>{let L=[],_=B=>{for(let q of B)for(let Q of q.split(";"))L.push(Q)};for(let B of K.classes&&K.classes.length>0?K.classes:bB){let q=e.classes.get(B);q&&_(q.styles)}return K.styles&&_(K.styles),Rt(L)},g=(K,L)=>{let _=K.type,B=_==="space"?Rt(zM):h(K),q=(B.bold?1:0)|(B.italic?2:0),Q=B.fontSize??i,Z=0,J="",W,V=0,re=0,ne=0,ce=0,ie=0,se=0;if(_==="space")Z=3,W=We(void 0,!1,o,Q,f);else if(_==="composite")Z=2,W=We(K.label,!1,o,Q,a?Ht(r):4e3,q),ne=W.height>0?W.height+4:0,V=W.width+2*c,re=ne+2*c;else if(_==="block_arrow"){Z=1,W=We(K.label,!1,o,Q,f,q);let ee=!0;for(let he of W.lines)for(let me of he)(me.icon!==void 0||me.text.trim()!=="")&&(ee=!1);ce=nB(K.directions);let te=ee?YM(ce,0,0):YM(ce,W.width,W.height);V=te.w,re=te.h,ie=te.dx,se=te.dy}else{J=xB.get(_??"")??"rect",W=We(K.label,!1,o,Q,f,q);let ee=An(J,W.width,W.height);V=ee.w,re=J==="cyl"?Math.max(ee.h,W.height+40):ee.h,se=ee.dy}return{children:[],columns:Z===2?K.columns??-1:-1,span:Z===3?1:K.widthInColumns??1,space:Z===3,head:ne,nw:V,nh:re,col:0,row:0,cols:0,heights:AB,x:0,y:0,w:0,h:0,block:K,kind:Z,index:L,shape:J,label:W,style:B,mask:ce,dx:ie,dy:se,bw:0,bh:0}},p=g(e.root,0);p.nw=0,p.nh=0;let m=[p],x=new Map;for(let K=0;K<m.length;K++){let L=m[K];if(L.kind===2)for(let _ of L.block.children??mB){let B=g(_,m.length);L.children.push(B),m.push(B),B.kind!==3&&x.set(_.id,B)}}let y=dB(p,c),C=[];for(let K of m)K.kind===0&&wB.has(K.shape)?(K.bw=K.nw,K.bh=K.nh):K.kind===1?(K.bw=K.span>1?K.w:K.nw,K.bh=K.nh):(K.bw=K.w,K.bh=K.kind===0&&SB.has(K.shape)?K.nh:K.h),K.kind===0&&K.shape==="cyl"&&(K.dy=Math.min(12,Math.max(6,K.bw/14))/2),(K.kind===0||K.kind===1)&&C.push(K);let S=new Map,R=new Set,N=[],D=[];for(let K of e.edges){let L=x.get(K.start??""),_=x.get(K.end??"");if(L===void 0||_===void 0)continue;let B=Math.min(L.index,_.index)*m.length+Math.max(L.index,_.index);S.set(B,(S.get(B)??0)+1),K.label&&R.add(B),N.push([L,_]),D.push(K)}let O=D.length*C.length<=yB?C:void 0,H=new Map,U=[],k=0,j=0,X=y.width,P=y.height,F=(K,L,_,B)=>{K-_/2<k&&(k=K-_/2),K+_/2>X&&(X=K+_/2),L-B/2<j&&(j=L-B/2),L+B/2>P&&(P=L+B/2)};for(let K=0;K<D.length;K++){let[L,_]=N[K],B=Math.min(L.index,_.index)*m.length+Math.max(L.index,_.index),q=S.get(B)??1,Q=H.get(B)??0;H.set(B,Q+1);let Z=We(D[K].label,!1,o,s,KM),J,W,V;if(L===_){let[re,ne,ce]=jM(L,Q+1);J=[],F(re,ne,2*ce+2,2*ce+2),W=re+ce+6+Z.width/2,V=ne-ce/2}else{let re=R.has(B)?Math.round(s*1.5)+2:14;J=CB(L,_,(Q-(q-1)/2)*re,O);let ne=J.length,ce=Math.abs(J[2]-J[0])+Math.abs(J[3]-J[1]),ie=Math.abs(J[ne-2]-J[ne-4])+Math.abs(J[ne-1]-J[ne-3]),se=ne===6&&ie>ce?2:0,ee=Z.width>0?$B(J,se,Z.width+8,Z.height,L,_,O):.5;W=J[se]+(J[se+2]-J[se])*ee,V=J[se+1]+(J[se+3]-J[se+1])*ee}Z.width>0&&F(W,V,Z.width+8,Z.height),U.push({edge:D[K],points:J,loop:L===_?Q+1:0,label:Z,lx:W,ly:V})}let I=aa(e.title,o,i,a?Ht(r):4e3),$=I.height>0?I.height+12:0,w=Math.max(X-k,I.width),A=n-k+(w-(X-k))/2,v=n+$-j;for(let K of m)K.x+=A,K.y+=v;let b=Math.ceil(w+2*n),T=Math.ceil(P-j+$+2*n),M="",E="";for(let K=1;K<m.length;K++){let L=m[K];if(L.kind===3)continue;let _=Wt((L.block.classes??zM).join(" ")),B=Oe(L.block.id);if(L.kind===2){let Q=L.y-L.h/2;M+=`<g class="pele-cluster${_}" data-id="${B}"><rect x="${d(L.x-L.w/2)}" y="${d(Q)}" width="${d(L.w)}" height="${d(L.h)}" fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${bt(L.style.shape)}/>`+De(L.label,L.x,Q+(L.head+c)/2+2,` class="pele-cluster-label" fill="var(--_m)"${L.style.text}`,l)+"</g>";continue}let q=L.kind===1;E+=`<g class="pele-node pele-shape-${q?"block-arrow":L.shape}${_}" data-id="${B}" transform="translate(${d(L.x)},${d(L.y)})">`+(q?oB(L.mask,L.bw,L.bh,qM+L.style.shape):Fi(L.shape,L.bw,L.bh,qM+L.style.shape,gB+L.style.line))+De(L.label,L.dx,L.dy,` class="pele-label"${L.style.text}`,l)+"</g>"}let Y="",G="";for(let K=0;K<U.length;K++){let{edge:L,points:_,loop:B,label:q}=U[K],Q=L.arrowTypeStart??"",Z=L.arrowTypeEnd??"",J;if(B>0)J=vB(N[K][0],B,wt(Q),wt(Z));else{for(let V=0;V<_.length;V+=2)_[V]+=A,_[V+1]+=v;J=MB(_,wt(Q),wt(Z))}let W=Oe(L.id);if(Y+=`<g class="pele-edge" data-id="${W}"><path d="${J.d}"${L.thickness==="thick"?' stroke-width="2.5"':""}${L.pattern==="dotted"?' stroke-dasharray="3 4"':""}/>`+vt(Q,J.sx,J.sy,J.sdx,J.sdy,"var(--_l)")+vt(Z,J.ex,J.ey,J.edx,J.edy,"var(--_l)")+"</g>",q.width>0){let V=U[K].lx+A,re=U[K].ly+v;G+=qr(L.id,q,V,re,"",l)}}return{svg:rt("block",b,T,i,r,e,De(I,b/2,n+I.height/2,' class="pele-title" font-weight="var(--_tw)"')+(M?`<g class="pele-clusters">${M}</g>`:"")+(Y?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${Y}</g>`:"")+`<g class="pele-nodes">${E}</g>`+(G?`<g class="pele-edge-labels" font-size="${s}">${G}</g>`:"")),width:b,height:T,links:[]}}var HM,rB,GM,aB,VM,nh,bs,ys,xs,ws,Ul,mp,In,Tn,lB,fB,KM,pB,qM,gB,zM,mB,AB,bB,yB,xB,wB,SB,kB,XM,ZM=Xe(()=>{Li();bn();pr();zt();Lr();xt();Mt();HM=1e5;rB=class{type="block";title;root={id:"root",type:"composite",children:[],columns:-1};blocks=[];edges=[];classes=new Map;byId=new Map;typeStr2Type=X7;edgeStrToEdgeData=Z7;edgeStrToEdgeStartData=J7;edgeStrToThickness=eB;edgeStrToPattern=tB;warn;pending=new Set;edgeCount=new Map;ids=0;colors=0;spaces=0;constructor(e={}){this.warn=e.warn}generateId(){return"id-"+ ++this.ids}addStyleClass(e,t=""){let r=this.classes.get(e);r||(r={id:e,styles:[],textStyles:[]},this.classes.set(e,r));for(let a of t.split(",")){let i=a.indexOf(";"),s=(i===-1?a:a.slice(0,i)+a.slice(i+1)).trim();a.includes("color")&&r.textStyles.push(s.replace("fill","bgFill").replace("color","fill")),r.styles.push(s)}}addStyle2Node(e,t=""){this.named(e).styles=t.split(",")}setCssClass(e,t){for(let r of e.split(","))(this.named(r.trim()).classes??=[]).push(t)}named(e){let t=this.byId.get(e);return t===void 0&&(t={id:e,type:"na",children:[]},this.byId.set(e,t),this.pending.add(e)),t}setHierarchy(e){let t=[PM(e,this.root)];for(;t.length>0;){let r=t[t.length-1];if(r.at===r.list.length){r.parent.children=r.children,t.pop();continue}let a=r.list[r.at++];switch(r.columns>0&&a.type!=="column-setting"&&typeof a.widthInColumns=="number"&&a.widthInColumns>r.columns&&this.warn?.(`Block ${a.id} width ${a.widthInColumns} exceeds configured column width ${r.columns}`),a.type){case"classDef":this.addStyleClass(a.id,a.css);continue;case"applyClass":this.setCssClass(a.id,a.styleClass??"");continue;case"applyStyles":a.stylesStr&&this.addStyle2Node(a.id,a.stylesStr);continue;case"column-setting":r.parent.columns=a.columns??-1;continue;case"edge":{let n=(this.edgeCount.get(a.id)??0)+1;this.edgeCount.set(a.id,n),a.id=n+"-"+a.id,this.edges.push(a);continue}}a.id??=this.generateId(),a.label||(a.label=a.type==="composite"?"":a.id);let i=this.byId.get(a.id),s=i===void 0||this.pending.delete(a.id);s?(i&&(a.classes=i.classes,a.styles=i.styles),a.type==="composite"&&(a.colorIndex=this.colors++),this.byId.set(a.id,a)):(a.type!=="na"&&(i.type=a.type),a.label!==a.id&&(i.label=a.label));let o=a.children;if(a.children=[],a.type==="space"){let n=a.width??1;if(!(n<=HM-this.spaces))throw new je(`A block diagram can hold at most ${HM} space blocks.`,"limit",{type:"block"});this.spaces+=Math.max(n,0);for(let l=0;l<n;l++){let u={...a,id:a.id+"-"+l,children:[]};this.byId.set(u.id,u),r.children.push(u)}}else s&&r.children.push(a);o&&o.length>0&&t.push(PM(o,a))}this.blocks=this.root.children??[]}},GM=["$end","INVALID","BLOCK_DIAGRAM_KEY","id-block","COLUMNS","MD_STR","STR","SPACE_BLOCK","DEFAULT","LINKSTYLE","INTERPOLATE","classDef","DEFAULT_CLASSDEF_ID","CLASSDEF_ID","CLASSDEF_STYLEOPTS","class","CLASSENTITY_IDS","STYLECLASS","style","STYLE_ENTITY_IDS","STYLE_DEFINITION_DATA","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","end","NODE_DSTART","NODE_DEND","BLOCK_ARROW_START","BLOCK_ARROW_END","DIR","NODE_ID","LINK","START_LINK","LINK_LABEL","SIZE","EOF"],aB=["right","left","x","y","up","down"],VM=new Uint8Array(128);for(let e of[9,10,11,12,13,32,40,41,45,58,60,61,62,91,123,125])VM[e]=1;nh="'NODE_ID', 'COLUMNS', 'SPACE_BLOCK', 'BLOCK_DIAGRAM_KEY', 'id-block', 'classDef', 'class', 'style'";bs=1,ys=2,xs=4,ws=8,Ul=7,mp=20,In=12;Tn=(e,t)=>e&t?1:0;lB=1e3;fB=12,KM=200,pB=8,qM=' fill="var(--_s)" stroke="var(--_b)"',gB=' stroke="var(--_b)"',zM=[],mB=[],AB=[],bB=["default"],yB=2e6,xB=new Map([["square","rect"],["round","rounded"],["circle","circle"],["doublecircle","dbl-circ"],["diamond","diam"],["hexagon","hex"],["stadium","stadium"],["subroutine","fr-rect"],["cylinder","cyl"],["rect_left_inv_arrow","odd"],["lean_right","lean-r"],["lean_left","lean-l"],["trapezoid","trap-b"],["inv_trapezoid","trap-t"]]),wB=new Set(["circle","dbl-circ","diam"]),SB=new Set(["stadium","hex","odd","lean-r","lean-l","trap-b","trap-t"]);kB=[.5,.3,.7,.15,.85];XM={type:"block",math:!0,parse(e,t,r){let a=new rB;return a.title=r,sB(e,a),a},render:TB}});var JM={};Bt(JM,{block:()=>XM});var ev=Xe(()=>{ZM()});function fv(e){return e===32||e>=9&&e<=13||e>127&&/\s/.test(String.fromCharCode(e))}function NB(){let e=1/0;return(t,r)=>{if(!t.startsWith("accDescr",r))return-1;let a=t.length,i=r+8;for(;i<a&&(t.charCodeAt(i)===32||t.charCodeAt(i)===9);)i++;if(t.charCodeAt(i)===58){for(i++;i<a;i++){let o=t.charCodeAt(i);if(o===10||o===13||o===37&&t.charCodeAt(i+1)===37)break}return i}for(;i<a&&fv(t.charCodeAt(i));)i++;if(t.charCodeAt(i)!==123||i>=e)return-1;let s=t.indexOf("}",i+1);return s===-1&&(e=i),s+1||-1}}function It(e,t){return{name:e,pattern:e,longer:t}}function vp(e,t){return{...$r(e),longer:[t]}}function y2(e){return{name:e,pattern:/[A-Z_a-z][\w-]*/y,first:pv+"_"}}function x2(e){return{name:e,pattern:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/y,first:`"'`}}function kp(e){return[{name:e+"_WHITESPACE",pattern:/[\t \r\n]+/y,hidden:!0,first:` \r
121
+ `},{...nr,name:e+"_YAML",first:"-"},{...vr,name:e+"_DIRECTIVE",first:" %"},{...kr,name:e+"_SINGLE_LINE_COMMENT",first:" %"}]}function Kl(e){if(!e.includes("\\"))return e.slice(1,-1);let t=e.length-1,r="";for(let a=1;a<t;a++){let i=e[a];i==="\\"&&a+1<t?(i=e[++a],r+=i==="n"?`
122
+ `:i==="r"?"\r":i==="t"?" ":i):r+=i}return r}function $p(e,t,r,a,i,s){let o=new cr(sr(e,t,"railroad"),t,"railroad"),n={$type:r,rules:[]};for(o.expect(0);;){let l=o.kind;if(l===a){let u=or(o.take()),c=u[0];n.title=(c==='"'||c==="'")&&u.endsWith(c)?i(u):u}else if(l===a+1)n.accTitle=lr(o.take());else if(l===a+2)n.accDescr=ur(o.take());else break}for(;o.kind!==-1;)n.rules.push(s(o));return n}function A2(e){let t=e,r=t.element??t.primary??t.suffix,a=t.alternatives??t.elements??(r?[r]:gv);if(t.base){a=[t.base];for(let i of t.postfixes)i.except&&a.push(i.except)}return a}function Ip(e){return e.length===1?e[0]:{type:"sequence",elements:e}}function Np(e){return e.length===1?e[0]:{type:"choice",alternatives:e}}function Dp(e,t){return e.rules.map(r=>({name:r.name,definition:mv(r.definition,A2,t)}))}function mv(e,t,r){let a=[e],i=[t(e)],s=[[]];for(;;){let o=a.length-1,n=s[o];if(n.length<i[o].length){let l=i[o][n.length];a.push(l),i.push(t(l)),s.push([])}else{let l=r(a[o],n);if(o===0)return l;a.pop(),i.pop(),s.pop(),s[o-1].push(l)}}}function iv(e,t,r,a){let i={$type:"AbnfConcatenation",elements:[]};return t.alternatives.push(i),{alternation:t,concatenation:i,node:e,close:r,repeat:a}}function DB(e){let t=[],r=iv(void 0,{$type:"AbnfAlternation",alternatives:[]},-2,void 0);for(;;){let a=e.kind===14||e.kind===15?e.take():void 0,i,s=e.kind;switch(s){case 12:i={$type:"AbnfStringLiteral",value:e.take().slice(1,-1)};break;case 13:i={$type:"AbnfNumVal",value:e.take()};break;case 11:i={$type:"AbnfRuleName",name:e.take()};break;case 4:case 6:{e.i++;let o={$type:"AbnfAlternation",alternatives:[]};t.push(r),r=iv({$type:s===4?"AbnfGroup":"AbnfOptionalGroup",element:o},o,s+1,a);continue}default:e.fail("a string, a number, a name, or an opening bracket")}for(;;){r.concatenation.elements.push(a===void 0?{$type:"AbnfElement",primary:i}:{$type:"AbnfElement",repeat:a,primary:i});let o=e.kind;if(o===r.close){e.i++,i=r.node,a=r.repeat,r=t.pop();continue}if(o===3)e.i++,r.concatenation={$type:"AbnfConcatenation",elements:[]},r.alternation.alternatives.push(r.concatenation);else if(o!==12&&o!==13&&o!==11&&o!==4&&o!==6&&o!==14&&o!==15){if(t.length===0)return r.alternation;e.fail(`token of type '${Av[r.close].name}'`)}break}}}function RB(e){return $p(e,Av,"RailroadAbnf",8,t=>t.slice(1,-1),t=>{let r=t.expect(11);t.expect(1);let a=DB(t);return t.expect(2),{$type:"AbnfRule",name:r,definition:a}})}function _B(e,t){switch(e.$type){case"AbnfAlternation":return Np(t);case"AbnfConcatenation":return Ip(t);case"AbnfElement":{let r=e.repeat;if(!r)return t[0];let a=r.indexOf("*"),i=a===-1,s=a>0||i?parseInt(r,10):0,o=i?s:a<r.length-1?parseInt(r.slice(a+1),10):1/0;return s===0&&o===1?Yl(t[0]):lh(t[0],s,o)}case"AbnfStringLiteral":case"AbnfNumVal":return oh(e.value);case"AbnfRuleName":return Tp(e.name);case"AbnfGroup":return t[0];case"AbnfOptionalGroup":return Yl(t[0])}}function OB(e,t){if(e.charCodeAt(t)!==63)return-1;let r=!1;for(let a=t+1;a<e.length;a++){let i=e.charCodeAt(a);if(i===63)return r?a+1:-1;if(i===59)return-1;r||=!fv(i)}return-1}function uv(e,t,r,a){let i={$type:"EbnfSequence",elements:[]};return t.alternatives.push(i),{choice:t,sequence:i,term:void 0,node:e,close:r,except:a}}function FB(e){let t=[],r=uv(void 0,{$type:"EbnfChoice",alternatives:[]},-2,!1),a=!1;for(;;){let i,s=e.kind;switch(s){case 20:i={$type:"EbnfTerminal",value:Kl(e.take())};break;case 19:i={$type:"EbnfNonTerminal",name:e.take()};break;case 21:i={$type:"EbnfSpecial",text:e.take().slice(1,-1).trim()};break;case 6:case 8:case 10:{e.i++;let o={$type:"EbnfChoice",alternatives:[]};t.push(r),r=uv({$type:BB[s-6>>1],element:o},o,s+1,a),a=!1;continue}default:e.fail("a terminal, a name, or an opening bracket")}for(;;){a?(r.term.postfixes.push({$type:"EbnfExceptionPostfix",except:i}),a=!1):(r.term={$type:"EbnfTerm",base:i,postfixes:[]},r.sequence.elements.push(r.term));let o=r.term.postfixes;for(;;){let l=e.kind;if(l===12)o.push({$type:"EbnfOptionalPostfix",operator:e.take()});else if(l===13)o.push({$type:"EbnfZeroOrMorePostfix",operator:e.take()});else if(l===14)o.push({$type:"EbnfOneOrMorePostfix",operator:e.take()});else break}let n=e.kind;if(n===r.close){e.i++,i=r.node,a=r.except,r=t.pop();continue}if(n===15)e.i++,a=!0;else if(n===5)e.i++;else if(n===4)e.i++,r.sequence={$type:"EbnfSequence",elements:[]},r.choice.alternatives.push(r.sequence);else if(n!==20&&n!==19&&n!==21&&n!==6&&n!==8&&n!==10){if(t.length===0)return r.choice;e.fail(`token of type '${bv[r.close].name}'`)}break}}}function WB(e){return $p(e,bv,"RailroadEbnf",16,Kl,t=>{let r=t.expect(19);t.accept(2)||t.expect(1);let a={$type:"EbnfRule",name:r,definition:FB(t)};return t.expect(3),a})}function HB(e,t){switch(e.$type){case"EbnfChoice":return Np(t);case"EbnfSequence":return Ip(t);case"EbnfTerm":{let r=t[0],a=1;for(let i of e.postfixes)i.$type==="EbnfOptionalPostfix"?r=Yl(r):i.$type==="EbnfExceptionPostfix"?r={type:"sequence",elements:[r,oh("-"),t[a++]]}:r=lh(r,i.$type==="EbnfOneOrMorePostfix"?1:0);return r}case"EbnfTerminal":return oh(e.value);case"EbnfNonTerminal":return Tp(e.name);case"EbnfSpecial":return wp(e.text);case"EbnfGroup":return t[0];case"EbnfOptional":return Yl(t[0]);case"EbnfRepetition":return lh(t[0],0)}}function f2(e){e.i++,e.expect(11);let t=Kl(e.expect(18));return e.expect(13),t}function p2(e){return{$type:e,element:void 0}}function UB(e){let t=[];for(;;){let r;switch(e.kind){case 6:r={$type:"RailroadTerminalExpr",value:f2(e)};break;case 1:r={$type:"RailroadNonTerminalExpr",name:f2(e)};break;case 7:r={$type:"RailroadSpecialExpr",text:f2(e)};break;case 4:r={$type:"RailroadSequenceExpr",elements:[]};break;case 8:r={$type:"RailroadChoiceExpr",alternatives:[]};break;case 5:r=p2("RailroadOptionalExpr");break;case 3:r=p2("RailroadOneOrMoreExpr");break;case 2:r=p2("RailroadZeroOrMoreExpr");break;default:e.fail("an expression")}if("elements"in r||"alternatives"in r||"element"in r){e.i++,e.expect(11),t.push(r);continue}for(;;){let a=t[t.length-1];if(a===void 0)return r;if("element"in a)a.element=r;else if(("elements"in a?a.elements:a.alternatives).push(r),e.accept(12))break;e.expect(13),t.pop(),r=a}}}function YB(e){return $p(e,GB,"Railroad",14,Kl,t=>{let r=t.expect(17);t.expect(9);let a=UB(t);return t.expect(10),{$type:"RailroadRule",name:r,definition:a}})}function KB(e,t){switch(e.$type){case"RailroadTerminalExpr":return oh(e.value);case"RailroadNonTerminalExpr":return Tp(e.name);case"RailroadSpecialExpr":return wp(e.text);case"RailroadSequenceExpr":return Ip(t);case"RailroadChoiceExpr":return Np(t);case"RailroadOptionalExpr":return Yl(t[0]);default:return lh(t[0],e.$type==="RailroadOneOrMoreExpr"?1:0)}}function hv(e,t,r){let a={$type:"PegSequence",elements:[]};return t.alternatives.push(a),{choice:t,sequence:a,node:e,operator:r}}function QB(e){let t=[],r=hv(void 0,{$type:"PegOrderedChoice",alternatives:[]},void 0);for(;;){let a=e.kind===4||e.kind===5?e.take():void 0,i;switch(e.kind){case 16:i={$type:"PegLiteral",value:Kl(e.take())};break;case 15:i={$type:"PegIdentifier",name:e.take()};break;case 11:i={$type:"PegAny",dot:e.take()};break;case 9:{e.i++;let s={$type:"PegOrderedChoice",alternatives:[]};t.push(r),r=hv({$type:"PegGroup",element:s},s,a);continue}default:e.fail("a literal, a name, a dot, or an opening parenthesis")}for(;;){let s={$type:"PegSuffix",primary:i};(e.kind===6||e.kind===7||e.kind===8)&&(s.operator=e.take()),r.sequence.elements.push(a===void 0?{$type:"PegPrefix",suffix:s}:{$type:"PegPrefix",operator:a,suffix:s});let o=e.kind;if(o===10&&t.length>0){e.i++,i=r.node,a=r.operator,r=t.pop();continue}if(o===3)e.i++,r.sequence={$type:"PegSequence",elements:[]},r.choice.alternatives.push(r.sequence);else if(o!==4&&o!==5&&o!==16&&o!==15&&o!==11&&o!==9){if(t.length===0)return r.choice;e.fail("token of type ')'")}break}}}function VB(e){return $p(e,zB,"RailroadPeg",12,Kl,t=>{let r=t.expect(15);t.expect(1);let a={$type:"PegRule",name:r,definition:QB(t)};return t.expect(2),a})}function jB(e){switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}}function XB(e,t){let r=t[0];switch(e.$type){case"PegOrderedChoice":return Np(t);case"PegSequence":return Ip(t);case"PegPrefix":return e.operator?wp(e.operator+jB(r)):r;case"PegSuffix":return e.operator?e.operator==="?"?Yl(r):lh(r,e.operator==="+"?1:0):r;case"PegLiteral":return oh(e.value);case"PegIdentifier":return Tp(e.name);case"PegAny":return wp(e.dot);case"PegGroup":return r}}function tF(e){let t=eF.exec(e);if(t===null)return;let r=t[1]?.toLowerCase();return r==="ebnf-"?"ebnf":r==="abnf-"?"abnf":r==="peg-"?"peg":"railroad"}function rF(e,t){switch(t){case"ebnf":{let r=WB(e);return[r,PB(r)]}case"abnf":{let r=RB(e);return[r,LB(r)]}case"peg":{let r=VB(e);return[r,ZB(r)]}default:{let r=YB(e);return[r,qB(r)]}}}function aF(e,t,r){let[a,i]=rF(t,r);e.notation=r,a.accDescr&&e.setAccDescription(a.accDescr),a.accTitle&&e.setAccTitle(a.accTitle),a.title&&e.setTitle(a.title);for(let s of i)e.addRule(s)}function iF(e,t){let r=tF(e);if(r===void 0)throw new je("No railroad diagram keyword found.","syntax",{type:"railroad"});let a=new JB;return t&&(a.title=t),aF(a,e,r),a}function ko(e,t,r,a){let i=e.railroad?.[t];return typeof i=="number"&&i>=0?Math.min(i,a):r}function xp(e){return(e.includes("\xB6\xDF")?Dt(e.replace(/&/g,"&amp;")):e).replace(oF,t=>t===`
123
+ `?"\\n":t==="\r"?"\\r":"\\t")}function yp(e,t){for(let r=t,a=e.length-1;r<a;r++,a--){let i=e[r];e[r]=e[a],e[a]=i}}function w2(e){return Math.ceil(e/2)*2}function m2(e,t,r,a,i){let s=i.height/2,o=Math.max(w2(i.measurer.width(t,i.size,a)+2*i.padding),i.height);return{kind:e,width:o,up:s,down:s,kids:gv,text:t,id:r,reach:0}}function lF(e,t){if(t===1/0&&e<=1)return"";let r=a=>Number.isFinite(a)?String(a):"\u221E";return e===t?r(e)+"\xD7":t===1/0?"\u2265"+r(e)+"\xD7":e===0?"\u2264"+r(t)+"\xD7":r(e)+"\u2013"+r(t)+"\xD7"}function yv(e,t,r,a){return Math.max(e+t.down+a.sep+r.up,2*a.arc)}function dv(e,t){let r=Math.max(e.up+t.sep,2*t.arc);return{kind:5,width:e.width+4*t.arc,up:r,down:e.down,kids:[e],text:"",id:"",reach:r}}function uF(e,t,r=1/0){let a=new Map,i=[[e,r]];for(let s=0;r!==1/0&&s<i.length;s++){let[o,n]=i[s];a.set(o,n);let l=o.type==="choice"||o.type==="optional"?4*t.arc:o.type==="repetition"?(o.min===0?6:2)*t.arc:o.type==="sequence"?6*t.arc:0;for(let u of A2(o))i.push([u,Math.max(40,n-l)])}return mv(e,A2,(s,o)=>{let n=a.get(s)??1/0;switch(s.type){case"terminal":{let l=xp(s.value);return m2(0,/^ +$/.test(l)?"\u2423".repeat(l.length):l,"",4,t)}case"nonterminal":return m2(1,xp(s.name),s.name,0,t);case"special":return m2(2,"? "+xp(s.text)+" ?","",2,t);case"sequence":{let l=Math.max(0,o.length-1)*t.gap,u=0,c=0;for(let C of o)l+=C.width,u=Math.max(u,C.up),c=Math.max(c,C.down);let f={kind:3,width:l,up:u,down:c,kids:o,text:"",id:"",reach:0};if(l<=n||o.length<2)return f;let h=[],g=[],p=0,m=()=>{let C=0,S=0;for(let R of g)C=Math.max(C,R.up),S=Math.max(S,R.down);h.push({kind:3,width:p,up:C,down:S,kids:g,text:"",id:"",reach:0}),g=[],p=0};for(let C of o)g.length&&p+t.gap+C.width>Math.max(40,n-6*t.arc)&&m(),p+=(g.length?t.gap:0)+C.width,g.push(C);if(m(),h.length<2)return f;let x=0,y=0;for(let C=0;C<h.length;C++)x=Math.max(x,h[C].width),C&&(y+=h[C-1].down+Math.max(t.sep,2*t.arc)+h[C].up);return{kind:7,width:x+6*t.arc,up:h[0].up,down:y+h[h.length-1].down,kids:h,text:"",id:"",reach:0}}case"choice":{let l=0,u=0;for(let f=0;f<o.length;f++)l=Math.max(l,o[f].width),f>0&&(u=yv(u,o[f-1],o[f],t));let c=o[o.length-1];return{kind:4,width:l+4*t.arc,up:o.length>0?o[0].up:0,down:c?u+c.down:0,kids:o,text:"",id:"",reach:0}}case"optional":return dv(o[0],t);case"repetition":{let{min:l,max:u}=s,c=o[0];if(l===1&&u===1)return c;let f=lF(l,u),h=Math.max(c.down+t.sep,2*t.arc),g=f===""?0:w2(t.measurer.width(f,Sp,0)),p={kind:6,width:Math.max(c.width,g)+2*t.arc,up:c.up,down:h+(f===""?Yi/2+1:Sp+6),kids:[c],text:f,id:"",reach:h};return l===0?dv(p,t):p}}})}function cF(e,t,r){return ca(r,a=>hF(e,t,r,a))}function hF(e,t,r,a){let i=r.fontSize??16,s=ko(t,"fontSize",0,200),o=s||Math.round(i*.875),n=s||i,l=ko(t,"padding",-1,200),u=Math.round(o*1.5),c={measurer:r.measurer??at(r.fontFamily,r.fontFamilyMono),size:o,padding:l<0?12:l,height:w2(u+(l<0?9:2*l)),gap:Math.min(ko(t,"horizontalSeparation",16,500),a?12:1/0),sep:ko(t,"verticalSeparation",10,500),arc:Math.min(ko(t,"arcRadius",10,200),a?6:1/0)},f=t.railroad?.showMarkers===!1?0:ko(t,"markerRadius",4,50),h=ko(t,"strokeWidth",0,20),g=h>0?` stroke-width="${d(h)}"`:"",p=r.padding??8,{arc:m}=c,x=d(m),y=(G,K,L)=>`a${x},${x} 0 0 ${G} ${K}${x},${L}${x}`,C=y(1,"",""),S=y(0,"",""),R=y(0,"","-"),N=y(1,"","-"),D=y(0,"-",""),O=y(0,"-","-"),H=We(e.title,!1,c.measurer,i,a?Ht(r):4e3,1),U=H.height>0?H.height+16:0,k=Math.round(n*1.5),j=o*.35,X=c.height/2,P="",F="",I="",$=(G,K,L)=>{L>G&&(P+=`M${d(G)},${d(K)}H${d(L)}`)},w=(G,K,L)=>{let _=[G],B=[K,L];for(;_.length>0;){let q=_.pop(),Q=B.pop(),Z=B.pop(),J=q.kids,W=Z+q.width;switch(q.kind){case 3:{let V=W;for(let re=J.length-1;re>=0;re--)V-=J[re].width,_.push(J[re]),B.push(V,Q),re>0&&$(V-c.gap,Q,V),V-=c.gap;break}case 7:{let V=Z+2*m,re=_.length,ne=0;$(Z,Q,V);for(let ce=0;ce<J.length;ce++){let ie=J[ce],se=Q+ne;if(_.push(ie),B.push(se,V),ce+1<J.length){let ee=J[ce+1],te=ne+ie.down+Math.max(c.sep,2*m)+ee.up,he=Q+ne+ie.down+Math.max(c.sep,2*m)/2;P+=`M${d(V+ie.width)},${d(se)}H${d(W-2*m)}V${d(he)}H${d(Z+m)}V${d(Q+te)}H${d(V)}`,F+=`M${d(V-Yi)},${d(Q+te-Yi/2)}l${Yi},${Yi/2}l${-Yi},${Yi/2}z`,ne=te}else P+=`M${d(V+ie.width)},${d(se)}H${d(W-m)}V${d(Q)}H${d(W)}`}yp(_,re),yp(B,2*re);break}case 4:{let V=q.width-4*m,re=Z+m,ne=W-m,ce=_.length,ie=0;for(let se=0;se<J.length;se++){let ee=J[se];se>0&&(ie=yv(ie,J[se-1],ee,c));let te=Q+ie,he=Z+2*m+(V-ee.width)/2,me=se===J.length-1;se===0?($(Z,Q,he),$(he+ee.width,Q,W)):P+=(me?`M${d(Z)},${d(Q)}${C}V${d(te-m)}`:`M${d(re)},${d(te-m)}`)+S+(he>re+m?`H${d(he)}`:"")+`M${d(he+ee.width)},${d(te)}`+(he>re+m?`H${d(ne-m)}`:"")+R+(me?`V${d(Q+m)}${N}`:""),_.push(ee),B.push(te,he)}yp(_,ce),yp(B,2*ce);break}case 5:{let V=J[0],re=Z+2*m;$(Z,Q,re),$(re+V.width,Q,W),P+=`M${d(Z)},${d(Q)}${R}V${d(Q-q.reach+m)}${N}H${d(W-2*m)}${C}V${d(Q-m)}${S}`,_.push(V),B.push(re,Q);break}case 6:{let V=J[0],re=Z+(q.width-V.width)/2,ne=Q+q.reach,ce=Z+q.width/2;$(Z,Q,re),$(re+V.width,Q,W),P+=`M${d(Z+m)},${d(Q)}${D}V${d(ne-m)}${S}H${d(W-m)}${R}V${d(Q+m)}${O}`,F+=`M${d(ce-Yi/2)},${d(ne)}l${Yi},${-Yi/2}v${Yi}z`,q.text!==""&&(I+=`<text class="pele-edge-label pele-count" x="${d(ce)}" y="${d(ne+Sp+3)}" font-size="${Sp}" fill="var(--_m)">${Je(q.text)}</text>`),_.push(V),B.push(re,Q);break}default:{let V=q.text,re=V.startsWith(" ")||V.endsWith(" ")||V.includes(" ")?' xml:space="preserve"':"",ne=`<rect x="${d(Z)}" y="${d(Q-X)}" width="${d(q.width)}" height="${d(c.height)}"`,ce=`<text x="${d(Z+q.width/2)}" y="${d(Q+j)}"${re}`;q.kind===0?I+=`<g class="pele-node pele-terminal">${ne} rx="${d(X)}" fill="var(--_s)" stroke="var(--_b)"${g}/>${ce} font-family="${Ac}">${Je(V)}</text></g>`:q.kind===1?I+=`<g class="pele-node pele-nonterminal" data-id="${Oe(q.id)}">${ne} fill="var(--_bg)" stroke="var(--_b)"${g}${ct}/>${ce}>${Je(V)}</text></g>`:I+=`<g class="pele-node pele-special">${ne} fill="var(--_bg)" stroke="var(--_b)" stroke-dasharray="4 3"${g}${ct}/>${ce} font-style="italic"><tspan fill="var(--_m)">? </tspan>${Je(V.slice(2,-2))}<tspan fill="var(--_m)"> ?</tspan></text></g>`}}}},A="",v=H.width,b=p+U,T=p+H.height;for(let G of e.rules){let K=uF(G.definition,c,a?Math.max(80,(r.maxWidth??320)-2*p-4*f-2*g2-1):1/0),L=xp(G.name),_=b+k+sF+K.up,B=p+2*f,q=B+g2,Q=q+K.width+g2;P="",F="",I="",$(B,_,q),$(q+K.width,_,Q),w(K,q,_);let Z=f>0?`<circle class="pele-marker pele-start" cx="${d(p+f)}" cy="${d(_)}" r="${d(f)}" fill="var(--_l)"/><circle class="pele-marker pele-end" cx="${d(Q+f)}" cy="${d(_)}" r="${d(f)}" fill="var(--_l)"/>`:"";A+=`<g class="pele-rule" data-id="${Oe(G.name)}"><text class="pele-rule-name" x="${d(p)}" y="${d(b+k/2+n*.35)}" font-size="${d(n)}" font-weight="var(--_hw)" text-anchor="start">${Je(L)}</text><path class="pele-edge pele-track" d="${P}" fill="none" stroke="var(--_l)"${g}/>`+(F?`<path class="pele-marker" d="${F}" fill="var(--_l)"/>`:"")+Z+I+"</g>",v=Math.max(v,Q+2*f-p,c.measurer.width(L,n,1)),T=_+K.down,b=T+c.sep+nF}let M=Math.ceil(v+2*p),E=Math.ceil(T+p),Y=De(H,M/2,p+H.height/2,' class="pele-title" font-weight="var(--_tw)"')+(A?`<g class="pele-rules" transform="translate(0.5,0.5)" font-size="${d(o)}" text-anchor="middle">${A}</g>`:"");return{svg:rt("railroad",M,E,i,r,e,Y),width:M,height:E,links:[]}}var pv,Ep,Cp,Mp,gv,oh,Tp,wp,Yl,lh,tv,rv,av,Av,LB,sv,nv,ov,lv,bv,BB,PB,b2,Nn,GB,qB,cv,zB,ZB,JB,eF,g2,sF,nF,Sp,Yi,oF,xv,wv=Xe(()=>{zt();_a();xt();Mt();pv="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Ep={name:"TITLE",pattern:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/y,first:"t"},Cp={name:"ACC_TITLE",pattern:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/y,first:"a"},Mp={name:"ACC_DESCR",pattern:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/y,first:"a",scanner:NB};gv=[];oh=e=>({type:"terminal",value:e}),Tp=e=>({type:"nonterminal",name:e}),wp=e=>({type:"special",text:e}),Yl=e=>({type:"optional",element:e}),lh=(e,t,r=1/0)=>({type:"repetition",element:e,min:t,max:r});tv="0123456789",rv={name:"ABNF_RULENAME",pattern:/[A-Za-z][A-Za-z0-9-]*/y,first:pv},av={name:"ABNF_COMMENT",pattern:/;[^\n\r]*/y,hidden:!0,first:";"},Av=[vp("railroad-abnf-beta",rv),It("="),It(";",[av]),It("/"),It("("),It(")"),It("["),It("]"),Ep,Cp,Mp,rv,{name:"ABNF_STRING",pattern:/"[^"]*"/y,first:'"'},{name:"ABNF_NUMVAL",pattern:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/y,first:"%"},{name:"ABNF_REPEAT",pattern:/[0-9]*\*[0-9]*/y,first:tv+"*"},{name:"ABNF_EXACT_REPEAT",pattern:/[0-9]+/y,first:tv},...kp("ABNF"),av];LB=e=>Dp(e,_B);sv=y2("EBNF_ID"),nv={name:"EBNF_SPECIAL_SEQUENCE",pattern:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/y,first:"?",scanner:()=>OB},ov=kp("EBNF"),lv={name:"EBNF_ISO_COMMENT",pattern:/\(\*[\s\S]*?\*\)/y,hidden:!0,first:"(",opener:/\(\*/y},bv=[vp("railroad-ebnf-beta",sv),It("::="),It("="),It(";"),It("|"),It(","),It("(",[lv]),It(")"),It("["),It("]"),It("{"),It("}"),It("?",[nv]),It("*"),It("+"),It("-",[ov[1]]),Ep,Cp,Mp,sv,x2("EBNF_STRING"),nv,...ov,{name:"EBNF_BLOCK_COMMENT",pattern:/\/\*[\s\S]*?\*\//y,hidden:!0,first:"/",opener:/\/\*/y},lv];BB=["EbnfGroup","EbnfOptional","EbnfRepetition"];PB=e=>Dp(e,HB),b2=y2("RR_ID"),Nn=e=>It(e,[b2]),GB=[vp("railroad-beta",b2),Nn("nonterminal"),Nn("zeroOrMore"),Nn("oneOrMore"),Nn("sequence"),Nn("optional"),Nn("terminal"),Nn("special"),Nn("choice"),It("="),It(";"),It("("),It(","),It(")"),Ep,Cp,Mp,b2,x2("RR_STRING"),...kp("RR"),{name:"RR_BLOCK_COMMENT",pattern:/\/\*[\s\S]*?\*\//y,hidden:!0,first:"/",opener:/\/\*/y}];qB=e=>Dp(e,KB),cv=y2("PEG_ID"),zB=[vp("railroad-peg-beta",cv),It("<-"),It(";"),It("/"),It("&"),It("!"),It("?"),It("*"),It("+"),It("("),It(")"),It("."),Ep,Cp,Mp,cv,x2("PEG_STRING"),...kp("PEG"),{name:"PEG_LINE_COMMENT",pattern:/#[^\n\r]*/y,hidden:!0,first:"#"}];ZB=e=>Dp(e,XB),JB=class{type="railroad";notation="railroad";title;accTitle;accDescr;rules=[];byName=new Map;setTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
124
+ `)}addRule(e){this.rules.push(e),this.byName.set(e.name,e)}getRule(e){return this.byName.get(e)}},eF=/^\s*railroad-(ebnf-|abnf-|peg-)?beta/i;g2=12,sF=6,nF=18,Sp=12,Yi=7;oF=/[\n\r\t]/g;xv={type:"railroad",parse:(e,t,r)=>iF(e,r),render:cF}});var Sv={};Bt(Sv,{railroad:()=>xv});var Ev=Xe(()=>{wv()});function Op(e){return e&&(dF.get(e)??e)}function gF(e){return F0(e)||e==="constructor"}function mF(e,t){for(let r of e)r.isGroup||((!r.shape||r.shape==="squareRect"||r.shape==="rect")&&(r.shape=uh),fF.has(r.shape)?(t.emitError("SHAPE_REMOVED",`shape "${r.shape}" was removed in v0.8.1, using "${uh}"`,{nodeId:r.id}),r.shape=uh):pF.has(r.shape)||(t.emitWarning("SHAPE_UNSUPPORTED",`shape "${r.shape}" is not supported, using "${uh}"`,{nodeId:r.id}),r.shape=uh))}function yF(e){return bF.has(e.type)}function S2(e){return e==="markdown"||e==="string"||e==="text"?e:"markdown"}function Cv(e){return e.startsWith('"')&&e.endsWith('"')?e.substring(1,e.length-1):e}function $2(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xF(e){let t=i=>Array.isArray(i)?[]:$2(i)?{}:i,r=t(e),a=[[e,r]];for(;a.length>0;){let[i,s]=a.pop();if(Array.isArray(i))for(let o of i){let n=t(o);s.push(n),typeof o=="object"&&o!==null&&a.push([o,n])}else if($2(i))for(let o of Object.keys(i)){if(o==="__proto__"||o==="constructor"||o==="prototype")continue;let n=i[o],l=t(n);s[o]=l,typeof n=="object"&&n!==null&&a.push([n,l])}}return r}function Rp(e,t){return Object.assign(e??{},t)}function EF(e){let t=!1,r=!1,a=0,i,s=[];for(let o of e.split(`
125
+ `)){if(i!==void 0){let c=o.length-o.trimStart().length;if(o.trim()===""||c>i){s.push(o);continue}i=void 0}let n=-1;for(let c=0;c<o.length;c++){let f=o[c];if(r)f==="\\"?c++:f==='"'&&(r=!1);else if(t)f==="'"&&(t=!1);else if(f==='"')r=!0;else if(f==="'")t=!0;else if(f==="#"&&(c===0||o[c-1]===" "||o[c-1]===" ")){n=c;break}else f==="["||f==="{"?a++:(f==="]"||f==="}")&&(a=Math.max(0,a-1))}if(t||r||a>0){s.push(o);continue}let l=n>=0?o.slice(0,n):o,u=n>=0?o.slice(n):"";if(wF.test(l)){i=o.length-o.trimStart().length,s.push(o);continue}s.push(l.replace(SF,"$1")+u)}return s.join(`
126
+ `)}function CF(e,t){if(e==="arrow_point"&&t==="normal")return"sequence";if(e==="arrow_cross"&&t==="normal")return"failure";if(e==="arrow_open"&&t==="dotted")return"reference"}function MF(e){let t=e.trim(),r=t.slice(0,-1),a="arrow_open";switch(t.slice(-1)){case"x":a="arrow_cross";break;case">":a="arrow_point";break;case"-":case".":r=t;break}let i="normal",s=r.length-1,o=0;for(let n=0;n<r.length;n++)r[n]==="."&&o++;return o>0&&(i="dotted",s=o),{type:a,stroke:i,length:s}}function Mv(e){if(!e)return;let t={},r=!1;for(let a of Object.keys(e))AF.has(a)||(t[a]=e[a],r=!0);return r?t:void 0}function WF(e){let t=e.length,r=[],a=[],i=[],s=[],o=[],n=0,l=0,u=1,c=0,f=!0,h=e.indexOf("direction"),g=e.indexOf("@"),p=-1,m=0,x=0,y=-1,C=-1,S=-1,R=-1,N=-1,D=-1,O=-1,H=L=>{let _=-1;for(let B=l;B<L;B++){let q=e.charCodeAt(B);q===10?(u++,_=B):q===13&&(B+1<L&&e.charCodeAt(B+1)===10&&B++,u++,_=B)}if(_<0)c+=L-l;else{let B=_+1;for(;B<L;){let q=e.charCodeAt(B);if(q===8232||q===8233)break;B++}c=B-_-1}l=L},U=(L,_)=>{r.push(L),a.push(e.slice(l,_)),i.push(l),s.push(u,c),H(_),s.push(u,c)},k=(L,_)=>{r.push(L),a.push(e.slice(l,_)),i.push(l),s.push(u,c),c+=_-l,l=_,s.push(u,c)},j=(L,_)=>{r.push(L),a.push(e.slice(l,_)),i.push(l),s.push(u,c);for(let B=l;B<_;B++){let q=e.charCodeAt(B);q===10||q===13?(u++,c=0):c++}l=_,s.push(u,c)},X=(L,_,B)=>{r.push(L),a.push(_),i.push(l),s.push(u,c),H(B),s.push(u,c)},P=L=>{o.push(n),n=L},F=()=>{o.length>0&&(n=o.pop())},I=(L,_)=>(L.lastIndex=_,L.test(e)?L.lastIndex:-1),$=L=>e.startsWith(L,l)&&!tt(e.charCodeAt(l+L.length)),w=L=>{if(L>=C&&L<=S)return S;let _=L;for(;_<t&&Ke(e.charCodeAt(_));)_++;return C=L,S=_,_},A=L=>{if(L>=R&&L<=N)return N;let _=L;for(;_<t;){let B=e.charCodeAt(_);if(B!==32&&B!==9)break;_++}return R=L,N=_,_},v=L=>{let _=w(L);if(_===O||e.charCodeAt(_)!==45||e.charCodeAt(_+1)!==45)return-1;let B=_+2;for(;e.charCodeAt(B)===45;)B++;let q=e.charCodeAt(B);return q===120||q===62?w(B+1):(O=_,-1)},b=()=>{let L=w(l);if(L===D||e.charCodeAt(L)!==45)return!1;let _=e.charCodeAt(L+1),B=L+2;if(_===45){for(;e.charCodeAt(B)===45;)B++;let q=e.charCodeAt(B);return q===120||q===62?U(42,w(B+1)):(P(10),U(43,w(L+2))),!0}if(_===46){for(;e.charCodeAt(B)===46;)B++;if(e.charCodeAt(B)===45)return U(42,w(B+1)),!0}return D=L,!1},T=L=>{if(e.charCodeAt(L)!==37||e.charCodeAt(L+1)!==37||e.charCodeAt(L+2)===123)return-1;let _=e.indexOf(`
127
+ `,L+2);return _===-1?t:_},M=()=>{e.charCodeAt(l+1)===96?(P(2),H(l+2)):(P(1),H(l+1))},E=L=>{let _=e.charCodeAt(l+1);return L===40?(_===45?(P(8),k(47,l+2)):_===91?(P(7),k(49,l+2)):_===40&&e.charCodeAt(l+2)===40?(P(7),k(57,l+3)):(P(7),k(72,l+1)),!0):L===91?(_===91?(P(7),k(51,l+2)):_===40?(P(7),k(55,l+2)):_===47?(P(9),k(60,l+2)):_===92?(P(9),k(61,l+2)):(P(7),k(74,l+1)),!0):L===124?(P(7),k(70,l+1),!0):L===123?(P(7),k(76,l+1),!0):!1},Y=()=>{let L=l;for(;L<t;){let _=e.charCodeAt(L);if(_<128&&Dv[_]===1)L++;else if(_===45&&L+1<t){let B=e.charCodeAt(L+1);if(B===62||B===45||B===46)break;L++}else break}return L===l?!1:(k(67,L),!0)},G=L=>{let _=L;for(;_<t;){let B=e.charCodeAt(_);if(B!==32&&B!==9)break;_++}return _},K=L=>{let _;switch(L){case 97:if(e.startsWith("acc",l)){if((_=I(kF,l))>=0)return P(3),U(2,_),!0;if((_=I($F,l))>=0)return P(4),U(4,_),!0;if((_=I(TF,l))>=0)return P(5),H(_),!0}if($("agentflow-beta"))return f&&(f=!1,P(6)),k(20,l+14),!0;break;case 64:if(e.charCodeAt(l+1)===123)return P(14),X(7,"",l+2),!0;break;case 99:if((_=I(IF,l))>=0)return P(12),H(_),!0;if($("classDef"))return k(16,l+8),!0;if($("class"))return k(17,l+5),!0;if((_=I(NF,l))>=0)return P(11),H(_),!0;if($("connector"))return k(22,l+9),!0;break;case 34:return M(),!0;case 115:if($("style"))return k(12,l+5),!0;break;case 100:if($("default"))return k(13,l+7),!0;break;case 108:if($("linkStyle"))return k(14,l+9),!0;break;case 105:if($("interpolate"))return k(15,l+11),!0;break;case 104:if(e.startsWith("href",l)&&Ke(e.charCodeAt(l+4)))return U(18,l+5),!0;break;case 102:if($("flow"))return k(21,l+4),!0;break;case 103:if($("global"))return k(23,G(l+6)),!0;break;case 101:if($("end"))return k(24,G(l+3)),!0;break;case 95:if($("_self"))return k(25,l+5),!0;if($("_blank"))return k(25,l+6),!0;if($("_parent"))return k(25,l+7),!0;if($("_top"))return k(25,l+4),!0;break}if(h!==-1&&l>=m&&(h<l&&(h=e.indexOf("direction",l)),h!==-1&&(p<l&&(E2.lastIndex=l,p=E2.test(e)?E2.lastIndex-1:t),h<p))){for(let B=0;B<5;B++)if((_=I(OF[B],l))>=0)return U(28+B,_),!0;m=p}if(g!==-1&&L!==34&&!Ke(L)){if(l>=x){g<l&&(g=e.indexOf("@",l));let B=l;for(;B<t;){let q=e.charCodeAt(B);if(q===34||Ke(q))break;B++}if(x=B,y=-1,g!==-1&&g<B)for(let q=Math.min(B,t-1)-1;q>=g;q--){if(e.charCodeAt(q)!==64)continue;let Q=e.charCodeAt(q+1);if(Q!==123&&Q!==34){y=q;break}}}if(y>l)return k(33,y+1),!0}if(L>=48&&L<=57){let B=l+1;for(;B<t;){let q=e.charCodeAt(B);if(q<48||q>57)break;B++}return k(34,B),!0}switch(L){case 35:return k(35,l+1),!0;case 58:return e.charCodeAt(l+1)===58&&e.charCodeAt(l+2)===58?k(36,l+3):k(37,l+1),!0;case 38:return k(38,l+1),!0;case 59:return k(39,l+1),!0;case 44:return k(40,l+1),!0;case 42:return k(41,l+1),!0;case 60:return k(62,l+1),!0;case 45:return b()||Y()||k(68,l+1),!0;case 40:return E(L);case 91:return e.charCodeAt(l+1)===124?(k(52,l+2),!0):E(L);case 124:case 123:return E(L);case 62:return P(7),k(53,l+1),!0;case 94:return k(63,l+1),!0;case 92:return e.charCodeAt(l+1)===124?(k(64,l+2),!0):Y();case 118:return tt(e.charCodeAt(l+1))?Y():(k(65,l+1),!0);case 37:return(_=T(l))>=0?(U(66,_),!0):Y()}if(Ke(L)){if(b())return!0;if((L===32||L===9)&&(_=T(A(l)))>=0)return U(66,_),!0;for(_=l;;){let B=e.charCodeAt(_);if(B===10)_++;else if(B===13&&e.charCodeAt(_+1)===10)_+=2;else break}return _>l?U(77,_):U(78,l+1),!0}return L<128?Y():pl(L)?(k(69,l+1),!0):!1};e:for(;;){if(l>=t){let B=-1;switch(n){case 0:B=79;break;case 3:B=3;break;case 4:B=5;break;case 5:B=6;break;case 11:B=19;break;case 12:B=8;break;case 13:B=9;break}B!==-1&&k(B,t);break}let L=e.charCodeAt(l),_=!0;switch(n){case 0:_=K(L);break;case 1:if(L===34)e.charCodeAt(l+1)===96?(P(2),H(l+2)):(F(),H(l+1));else{let B=e.indexOf('"',l);U(11,B===-1?t:B)}break;case 2:if(L===96)e.charCodeAt(l+1)===34?(F(),H(l+2)):_=!1;else if(L===34)M();else{let B=l+1;for(;B<t;){let q=e.charCodeAt(B);if(q===96||q===34)break;B++}U(10,B)}break;case 3:case 4:{let B=e.indexOf(`
128
+ `,l);B===-1&&(B=t);let q=n===3?3:5;F(),U(q,B);break}case 5:if(L===125)F(),H(l+1);else{let B=e.indexOf("}",l);B===-1&&(B=t),U(6,B)}break;case 6:{let B;L===34?M():(B=I(DF,l))>=0?(F(),U(26,B)):(B=I(RF,l))>=0||(B=I(_F,l))>=0||(B=I(LF,l))>=0?(F(),U(27,B)):_=E(L);break}case 7:{let B=e.charCodeAt(l+1);switch(L){case 34:M();break;case 40:case 91:case 123:E(L);break;case 93:F(),B===41?k(48,l+2):B===93?k(50,l+2):k(73,l+1);break;case 41:F(),B===93?k(54,l+2):B===41&&e.charCodeAt(l+2)===41?k(56,l+3):k(71,l+1);break;case 124:F(),k(70,l+1);break;case 125:F(),k(75,l+1);break;case 37:{let q=T(l);q>=0?H(q):_=!1;break}default:{let q=l+1;for(;q<t;){let Q=e.charCodeAt(q);if(Q===91||Q===93||Q===40||Q===41||Q===123||Q===125||Q===124||Q===34||Q===37)break;q++}U(46,q)}}break}case 8:{let B=e.charCodeAt(l+1),q;if(L===34)M();else if(L===37&&(q=T(l))>=0)H(q);else if((L===45||L===47||L===41)&&B===41)F(),k(45,l+2);else if(L===40||L===91||L===123)E(L);else if(L===41||L===93||L===125)_=!1;else{let Q=l+1;for(;Q<t;){let Z=e.charCodeAt(Q);if(Z===34||Z===40||Z===41||Z===91||Z===93||Z===123||Z===125||(Z===45||Z===47)&&e.charCodeAt(Q+1)===41||Z===37&&e.charCodeAt(Q+1)===37&&e.charCodeAt(Q+2)!==123)break;Q++}j(46,Q)}break}case 9:{let B=e.charCodeAt(l+1);if(L===34){M();break}switch(L){case 40:B===45||B===91||B===40&&e.charCodeAt(l+2)===40?E(L):B===93?(F(),k(58,l+2)):E(L);break;case 91:case 123:E(L);break;case 92:B===93?(F(),k(58,l+2)):k(46,l+1);break;case 47:B===93?(F(),k(59,l+2)):k(46,l+1);break;case 93:case 41:B===93?(F(),k(58,l+2)):_=!1;break;case 125:_=!1;break;case 37:{let q=T(l);q>=0?H(q):_=!1;break}default:{if((L===63||L===61)&&B===93){F(),k(58,l+2);break}let q=l+1;for(;q<t;){let Q=e.charCodeAt(q);if(Q===92||Q===91||Q===93||Q===40||Q===41||Q===123||Q===125||Q===47||Q===37)break;q++}U(46,q)}}break}case 10:{if(L===34){M();break}let B=v(l);if(B>=0){F(),U(42,B);break}if(L===45&&e.charCodeAt(l+1)===45){_=!1;break}let q=l+1;for(;q<t;){let Q=e.charCodeAt(q);if(Q===34)break;if(Q===45){if(e.charCodeAt(q+1)===45)break}else if(Ke(Q)&&v(q)>=0)break;q++}j(44,q);break}case 11:if(L===34)M();else if(Ke(L))F(),H(l+1);else{let B=l+1;for(;B<t&&!Ke(e.charCodeAt(B));)B++;k(19,B)}break;case 12:if(L===40){let B=I(BF,l);F(),B>=0?H(B):(P(13),H(l+1))}else{let B=e.indexOf("(",l);B===-1&&(B=t),U(8,B)}break;case 13:if(L===41)F(),H(l+1);else{let B=e.indexOf(")",l);B===-1&&(B=t),U(9,B)}break;case 14:if(L===34)P(15),k(7,l+1);else if(L===125)F(),H(l+1);else if(L===94)_=!1;else{let B=l+1;for(;B<t;){let q=e.charCodeAt(B);if(q===125||q===94||q===34)break;B++}U(7,B)}break;case 15:if(L===34)F(),k(7,l+1);else{let B=e.indexOf('"',l);B===-1&&(B=t),X(7,e.slice(l,B).replace(FF,"<br/>"),B)}break}if(!_)return r.push(1),a.push(""),i.push(l),s.push(u,c,u,c),{types:r,texts:a,starts:i,locs:s};continue e}return r.push(0),a.push(""),i.push(t),s.push(u,c,u,c),{types:r,texts:a,starts:i,locs:s}}function PF(e,t,r=!1){let a=!r&&e.includes("}")?e.replace(HF,`}
129
+ `):e,{types:i,texts:s,starts:o,locs:n}=WF(a),l=0,u,c=0,f=0,h=M=>{let E=i[l];throw E===1?ut("agentflow",a,o[l],"",!0):ut("agentflow",a,o[l],`Expecting ${M}, got '${vv[E]}'`)},g=(M,E)=>({first_line:n[4*M],first_column:n[4*M+1],last_line:n[4*E+2],last_column:n[4*E+3]}),p=(M,E="")=>(i[l]!==M&&h(`'${vv[M]}'${E?", "+E:""}`),s[l++]),m=()=>{Fp[i[l]]===0&&h(C2),l++},x=()=>{Bp[i[l]]===0&&h("'NODE_STRING'");let M=s[l++];for(;Bp[i[l]]===1;)M+=s[l++];return M},y=()=>{T2[i[l]]===0&&h("'NODE_STRING'");let M=s[l++];for(;T2[i[l]]===1;)M+=s[l++];return M},C=()=>{let M=i[l],E;if(M===11)E="string";else if(M===10)E="markdown";else if(M===46||M===62||M===53||M===69)E="text";else return h(`${kv}, 'TAGEND', 'STR', 'MD_STR'`);let Y=s[l++];for(;;){let G=i[l];if(G!==46&&G!==62&&G!==53&&G!==69)break;Y+=s[l++]}return{text:Y,type:E}},S=M=>{p(M,kv)},R=()=>{let M=i[l],E;if(M===11)E="string";else if(M===10)E="markdown";else if(M===44||M===69)E="text";else return h("'EDGE_TEXT', 'STR', 'MD_STR'");let Y=s[l++];for(;i[l]===44||i[l]===69;)Y+=s[l++];return{text:Y,type:E}},N=()=>{let M=i[l],E;if(M===11)E="text";else if(M===10)E="markdown";else if(I2[M]===1)E="text";else return h("'NODE_STRING', 'STR', 'MD_STR'");let Y=s[l++];for(;I2[i[l]]===1;)Y+=s[l++];return{text:Y,type:E}},D=()=>{c=l;let M=s[l++];for(;i[l]===7;)M+=s[l++];return f=l-1,M},O=(M,E,Y,G)=>{let K=g(Y,G);t.addVertex(M,void 0,void 0,void 0,void 0,void 0,void 0,E,K),t.extendVertexMapping(M,K)},H=(M,E)=>{E.data!==void 0&&t.addVertex(M,void 0,void 0,void 0,void 0,void 0,void 0,E.data,g(E.dataFrom,E.dataTo))},U=()=>{let M=l,E=x(),Y,G,K;switch(i[l]){case 74:l++,Y=C(),S(73),G="square";break;case 57:l++,Y=C(),S(56),G="doublecircle";break;case 72:l++,i[l]===72?(l++,Y=C(),S(71),p(71),G="circle"):(Y=C(),S(71),G="round");break;case 47:l++,Y=C(),S(45),G="ellipse";break;case 49:l++,Y=C(),S(48),G="stadium";break;case 51:l++,Y=C(),S(50),G="subroutine";break;case 52:{l++;let L=p(67);p(37);let _=p(67);p(70),Y=C(),S(73),G="rect",K={[L]:_};break}case 55:l++,Y=C(),S(54),G="cylinder";break;case 76:l++,i[l]===76?(l++,Y=C(),S(75),p(75),G="hexagon"):(Y=C(),S(75),G="diamond");break;case 53:l++,Y=C(),S(73),G="odd";break;case 60:l++,Y=C(),i[l]===59?(l++,G="lean_right"):(S(58),G="trapezoid");break;case 61:l++,Y=C(),i[l]===58?(l++,G="lean_left"):(S(59),G="inv_trapezoid");break}return K!==void 0?t.addVertex(E,Y,G,void 0,void 0,void 0,K):G!==void 0?t.addVertex(E,Y,G):t.addVertex(E),t.addVertexMapping(E,Y,G,g(M,l-1)),E},k=()=>{let M=U();return i[l]===36&&(l++,t.setClass(M,x())),M},j=()=>{let M=[k()];for(u=void 0;;){let E=i[l]===7?D():void 0,Y=c,G=f;if(i[l]!==78)return u=E,M;do l++;while(i[l]===78);if(i[l]!==38)return E!==void 0&&h("'AMP'"),M;l++,i[l]!==78&&h("'SPACE'");do l++;while(i[l]===78);let K=k();E!==void 0&&O(M[M.length-1],E,Y,G),M.push(K)}},X=()=>{let M;if(i[l]===33&&(M=s[l++]),i[l]===42){let E=t.destructLink(s[l++]);return M!==void 0&&(E.id=M),i[l]===70&&(l++,E.text=C(),S(70),i[l]===78&&l++),E}if(i[l]===43){let E=s[l++],Y=R(),G=p(42,"'EDGE_TEXT'"),K=t.destructLink(G,E);return K.text=Y,M!==void 0&&(K.id=M),K}return h("'LINK', 'START_LINK'")},P=()=>{let M=l,E=j();u!==void 0&&O(E[E.length-1],u,c,f);let Y=E;for(;;){let G=i[l];if(G!==42&&G!==43&&G!==33)return Y;let K=X(),L=j();u!==void 0&&O(L[L.length-1],u,c,f),t.addLink(E,L,K),t.addEdgeMapping(E,L,K,g(M,l-1)),Y=L.concat(Y),E=L}},F=()=>{N2[i[l]]===0&&h("'NODE_STRING', 'NUM', 'COLON', 'BRKT'");let M=s[l++];for(;N2[i[l]]===1;)M+=s[l++];return M},I=()=>{let M=[F()];for(;i[l]===40;)l++,M.push(F());return M},$=()=>{l++,p(78);let M;if(i[l]===13)M=[s[l++]];else for(M=[p(34,"'DEFAULT'")];i[l]===40;)l++,M.push(p(34));if(p(78),i[l]!==15){t.updateLink(M,I());return}l++,p(78);let E=y();if(i[l]===78){l++;let Y=I();t.updateLinkInterpolate(M,E),t.updateLink(M,Y)}else t.updateLinkInterpolate(M,E)},w=(M,E)=>{if(i[l]!==78){t.setLink(M,E);return}if(l++,i[l]===25){t.setLink(M,E,s[l++]);return}let Y=p(11,"'LINK_TARGET'");i[l]===78?(l++,t.setLink(M,E,p(25))):t.setLink(M,E),t.setTooltip(M,Y)},A=()=>{let M=s[l++];switch(i[l]){case 8:{let E=s[l++],Y=i[l]===9,G=Y?s[l++]:void 0,K;i[l]===78&&(l++,K=p(11)),Y?t.setClickEvent(M,E,G):t.setClickEvent(M,E),K!==void 0&&t.setTooltip(M,K);return}case 18:l++,w(M,p(11));return;case 11:w(M,s[l++]);return;default:{let E=y();if(i[l]===78){l++;let Y=p(11);t.setClickEvent(M,E),t.setTooltip(M,Y)}else t.setClickEvent(M,E)}}},v=M=>{p(78,C2);let E=N(),Y={text:"",type:"text"};i[l]===74&&(l++,Y=C(),S(73));let G=i[l]===7?D():void 0;return Fp[i[l]]===0&&h(`${C2}, 'SHAPE_DATA'`),{global:!1,at:M,id:E,title:Y,data:G,dataFrom:c,dataTo:f,list:[],collect:!1}},b=()=>{let M=i[l];switch(M){case 12:{l++,p(78);let E=x();return p(78),t.addVertex(E,void 0,void 0,I()),m(),ch}case 14:return $(),m(),ch;case 16:{l++,p(78);let E=x();return p(78),t.addClass(E,I()),m(),ch}case 17:{l++,p(78);let E=x();return p(78),t.setClass(E,x()),m(),ch}case 19:return A(),m(),ch;case 22:{let E=v(l++),Y=l++,G=t.addConnector(E.id,E.title);return H(G,E),t.addConnectorMapping(E.id,E.title,g(E.at,E.at),g(Y,Y)),G}case 28:case 29:case 30:case 31:case 32:return l++,{stmt:"dir",value:GF[M-28]};case 2:{l++;let E=p(3).trim();return t.setAccTitle(E),E}case 4:{l++;let E=p(5).trim();return t.setAccDescription(E),E}case 6:{let E=s[l++].trim();return t.setAccDescription(E),E}default:{Bp[M]===0&&h($v);let E=P();return m(),E}}},T=()=>{let M=[],E=[],Y=!1;for(;;){let G=i[l];if(G===0)break;if(G===24){let K=M.pop();if(K===void 0)break;let L=l++;if(K.global){t.addGlobal(E),E=K.list,Y=K.collect;continue}let _=t.addSubGraph(K.id,E,K.title,"flow");H(_,K),t.addSubgraphMapping(K.id,K.title,g(K.at,K.at),g(L,L)),E=K.list,Y=K.collect,Y&&E.push(_)}else if(G===39||G===77||G===78||G===79)Y&&E.push(s[l]),l++;else if(G===66)l++;else if(G===21||G===23){let K=l++,L;G===23||Fp[i[l]]===1?(L={global:G===23,at:K,id:void 0,title:void 0,data:void 0,dataFrom:0,dataTo:0,list:E,collect:Y},m()):(L=v(K),L.list=E,L.collect=Y,l++),M.push(L),E=[],Y=!0}else{let K=b();Y&&(!Array.isArray(K)||K.length>0)&&E.push(K)}}M.length>0&&h("'end'")};for(;i[l]===78||i[l]===77||i[l]===66;)l++;if(p(20,"'SPACE', 'NEWLINE', 'COMMENT'"),i[l]===26)l++,t.setDirection("TB");else{let M=p(27,"'NODIR'"),E=i[l];if(E===78){do l++;while(i[l]===78);E=i[l],E!==77&&h("'NEWLINE', 'SPACE'")}else E!==39&&E!==77&&E!==66&&h("'COMMENT', 'SEMI', 'NEWLINE', 'SPACE'");l++,t.setDirection(M)}T(),i[l]!==0&&h($v)}function KF(e,t,r,a){let i=r.size;for(let s of e){if(s.isGroup||s.shape==="collapsedGroup"){s.colorIndex=YF(r.get(s.id)??i++,a);continue}let o=t(s.id);o&&ql.has(o)&&(s.kind=o)}}function qF(e,t,r){let a=[],i=[],s=e.subgraphs,o=y=>{let C=[];for(let S of y){let R=e.classes.get(S);R?.styles&&(C=[...C,...R.styles].map(N=>N.trim())),R?.textStyles&&(C=[...C,...R.textStyles].map(N=>N.trim()))}return C},n=new Set,l=new Map,u=new Set;for(let y of s){if(y.metadata?.view!=="collapsed"||n.has(y.id))continue;let C=[y.id];for(;C.length>0;){let S=e.subgraph(C.pop())?.nodes;if(S!==void 0)for(let R of S)R===y.id||n.has(R)||(n.add(R),l.set(R,y.id),u.has(R)||C.push(R))}u.add(y.id)}let c=new Map;for(let y of n){let C=[y],S=l.get(y);for(;;){let R=c.get(S),N=R??l.get(S);if(N===void 0||(R===void 0&&C.push(S),S=N,R!==void 0))break}for(let R of C)c.set(R,S)}let f=new Map;s.forEach((y,C)=>f.set(y.id,C));let h=new Map,g=(y,C,S)=>{let R=f.get(y);if(R===void 0||R<S)return!1;let N=C;for(let D=0;N!==void 0&&D<=s.length;D++){if(N===y)return!0;N=h.get(N)}return!1};for(let y=s.length-1;y>=0;y--){let C=s[y];if(!n.has(C.id))for(let S of C.nodes){if(g(S,C.id,y)){e.emitWarning("CONTAINMENT_VIOLATION",`Container "${C.id}" cannot contain "${S}" because "${S}" already contains it. The nesting that would close the loop is dropped.`,{nodeId:S});continue}h.set(S,C.id)}}let p=new Map;for(let y=s.length-1;y>=0;y--){let C=s[y];if(n.has(C.id))continue;let S=C.metadata?.view==="collapsed",R={id:C.id,label:C.title,labelType:C.labelType,parentId:h.get(C.id),cssStyles:[],cssCompiledStyles:o(C.classes),cssClasses:C.classes.join(" "),shape:S?"collapsedGroup":"flowGroup",dir:C.dir,isGroup:!S,metadata:S?{...C.metadata,containerType:C.type}:C.metadata};a.push(R),p.set(C.id,R)}for(let y of e.nodes.values()){if(n.has(y.id))continue;let C=p.get(y.id);if(C){C.cssStyles=y.styles,C.cssCompiledStyles=o(y.classes),C.cssClasses=y.classes.join(" ");continue}let S=Op(y.type),R={id:y.id,label:y.text,labelType:y.labelType,parentId:h.get(y.id),cssStyles:y.styles,cssCompiledStyles:o(["default","node",...y.classes]),cssClasses:"default "+y.classes.join(" "),dir:y.dir,link:y.link,linkTarget:y.linkTarget,tooltip:e.tooltips.get(y.id),metadata:y.metadata,isGroup:!1,shape:S==="square"||S===void 0?"squareRect":S};a.push(R),p.set(y.id,R)}e.edges.forEach((y,C)=>{let S=c.get(y.start)??y.start,R=c.get(y.end)??y.end;if(S===R&&y.start!==y.end)return;let N=[...e.defaultEdgeStyle??[]];y.style&&N.push(...y.style);let D=y.type==="arrow_open"?"none":y.type==="arrow_cross"||y.type==="arrow_point"?y.type:"arrow_point";i.push({id:y.id||`L_${S}_${R}_${C}`,isUserDefinedId:y.isUserDefinedId,start:S,end:R,type:y.type??"normal",label:y.text,labelType:y.labelType,thickness:y.stroke,pattern:y.stroke,minlen:y.length,classes:"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"none",arrowTypeEnd:D,cssCompiledStyles:o(y.classes),style:N,animate:y.animate,animation:y.animation,curve:y.interpolate||e.defaultInterpolate||r,metadata:y.metadata})}),mF(a,e);let m=new Map;for(let y of s){let C=h.get(y.id);if(C===void 0)continue;let S=m.get(C);S?S.push(y.id):m.set(C,[y.id])}let x=new Map;for(let y of s){if(h.get(y.id)!==void 0)continue;let C=[y.id];for(;C.length>0;){let S=C.pop();if(x.has(S))continue;x.set(S,x.size);let R=m.get(S);if(R)for(let N=R.length-1;N>=0;N--)C.push(R[N])}}return KF(a,y=>{if(e.connectors.has(y))return"connector";let C=e.nodes.get(y);return C?e.vertexKind(C):void 0},x,t),{nodes:a,edges:i}}function _v(e,t){let r=Iv.get(e);if(r===void 0){let a=t.flowchart?.curve;r=qF(e,zF,typeof a=="string"?a:void 0),Iv.set(e,r)}return r}function Lp(e,t,r){let a=e.agentflow?.[t];return typeof a=="number"&&a>0?Math.min(a,2e3):r}function v2(e,t,r){let a=At(e);return` fill="${a}"${ZF.test(r.shape)?"":` fill-opacity="${t}"`} stroke="${a}"`}function JF(e,t,r){return Da(e.direction)?Jt(r,a=>Nv(e,t,r,a)):Nv(e,t,r,!1)}function Nv(e,t,r,a){let i=_v(e,t),s=r.fontSize??16,o=Math.round(s*.875),n=r.measurer??at(r.fontFamily),l=Lp(t,"wrappingWidth",120),u=Lp(t,"minNodeWidth",120),c=r.padding??8,f=r.icons,h=new Map,g=[],p=[];i.nodes.forEach((B,q)=>h.set(B.id,q));for(let B of i.nodes){let q=B.cssStyles.length>0?B.cssCompiledStyles.concat(B.cssStyles):B.cssCompiledStyles,Q=Rt(q),Z=(Q.bold?1:0)|(Q.italic?2:0),J=B.labelType==="markdown",W=Q.fontSize??s,V,re;if(B.isGroup){let ne=We(B.label,J,n,W,4e3,Z);V={node:B,style:Q,label:ne,shape:"group",w:0,h:0,dy:0,loops:0},re=rr(0,0),re.isGroup=!0,re.dir=B.dir?zr(B.dir):void 0,re.padX=hh,re.padTop=ne.height>0?ne.height+16:hh,re.padBottom=hh,re.minW=ne.width+2*hh-12}else if(B.shape==="collapsedGroup"){let ne=We(B.label,J,n,W,l,Z),ce=Math.max(ne.width,u)+2*St,ie=ne.height+2*kt+_p;V={node:B,style:Q,label:ne,shape:Tv,w:ce,h:ie,dy:-_p/2,loops:0},re=rr(ce,ie)}else{let ne=W0(B.shape),ce=We(B.label,J,n,W,l,Z),ie=An(ne,ne==="diam"?ce.width:Math.max(ce.width,u),ce.height);V={node:B,style:Q,label:ce,shape:ne,w:ie.w,h:ie.h,dy:ie.dy,loops:0},re=rr(ie.w,ie.h)}re.seq=g.length,g.push(V),p.push(re)}i.nodes.forEach((B,q)=>{p[q].parent=B.parentId!==void 0?h.get(B.parentId)??-1:-1});let m=a?"TB":zr(e.direction),x=B=>{let q;for(let Q=p[B].parent,Z=0;Q>=0&&q===void 0&&Z<1e4;Q=p[Q].parent,Z++)q=p[Q].dir;return q??m},y=B=>{let q=x(B);return q==="LR"||q==="RL"},C=new Int32Array(p.length).fill(-1);for(let B=0;B<p.length;B++){let q=[],Q=B;for(;Q>=0&&C[Q]<0&&q.length<=p.length;)q.push(Q),Q=p[Q].parent;let Z=Q>=0?C[Q]+1:0;for(let J=q.length-1;J>=0;J--)C[q[J]]=Z++}let S=(B,q)=>{let Q=q;for(let Z=C[q];Z>C[B];Z--)Q=p[Q].parent;return Q===B&&q!==B},R=[],N=[],D=[],O=[];for(let B of i.edges){let q=h.get(B.start),Q=h.get(B.end);if(q===void 0||Q===void 0)continue;let Z=We(B.label,B.labelType==="markdown",n,o,l);if(S(q,Q)||S(Q,q)){O.push({edge:B,label:Z,src:q,dst:Q});continue}q===Q&&(g[q].loops++,y(q)?p[q].h+=2*(M2+(Z.height>0?Z.height+8:0)):p[q].w+=2*(M2+(Z.width>0?Z.width+12:0))),D.push(B),N.push(Z),R.push({src:q,dst:Q,minlen:B.minlen??1,labelW:Z.width>0?Z.width+12:0,labelH:Z.height>0?Z.height+4:0,route:[],labelX:0,labelY:0})}let H=Na(p,R,m,{nodeSep:Lp(t,"nodeSpacing",QF),edgeSep:VF,rankSep:Lp(t,"rankSpacing",jF),portSep:20}),U=We(e.title,!1,n,s,4e3,1),k=U.height>0?U.height+12:0,j=Math.max(H.width,U.width),X=c+(j-H.width)/2,P=c+k;gn(p,R,X,P);let F=Math.ceil(j+2*c),I=Math.ceil(H.height+k+2*c),$=[],w=[],A=[],v=[],b=O.length*p.length<2e6;for(let{edge:B,src:q,dst:Q}of O){let Z=S(Q,q),J=Z?Q:q,W=Z?q:Q,V=p[J],re=p[W],ne=XF[V.dir??x(J)],ce=Z?ne:ne+2&3,ie=he=>{let me=(he&1)===0,oe=he===0||he===3?-1:1,be=me?re.x:re.x+oe*re.w/2,de=me?re.y+oe*re.h/2:re.y,pe=me?re.x:V.x+oe*V.w/2,Ee=me?V.y+oe*V.h/2:re.y,ve=me?0:1;return Z?[be,de,ve,pe,Ee,ve]:[pe,Ee,ve,be,de,ve]},se=he=>{for(let me=0;me<p.length;me++){let oe=p[me];if(me!==W&&!oe.isGroup&&oe.x+oe.w/2>Math.min(he[0],he[3])-1&&oe.x-oe.w/2<Math.max(he[0],he[3])+1&&oe.y+oe.h/2>Math.min(he[1],he[4])-1&&oe.y-oe.h/2<Math.max(he[1],he[4])+1)return!0}return!1},ee=ie(ce);if(b&&se(ee))for(let he of[ce+1&3,ce+3&3,ce+2&3]){let me=ie(he);if(!se(me)){ee=me;break}}v.push(ee),A.push((ee[0]+ee[3])/2,(ee[1]+ee[4])/2);let te=ee.slice();oo(te,Z?0:3,g[W],re),w.push(ya(te,"linear",0,wt(B.arrowTypeEnd)))}let T=new Map,M=!1;for(let B of p)B.isGroup&&(M=!0);if(M){for(let B of R)_i(T,B.route);for(let B of v)_i(T,B)}let E="",Y="";for(let B=0;B<g.length;B++){let q=g[B],Q=p[B],Z=q.node,J=Q.x,W=Q.y,V=Wt(Z.cssClasses.replace(/^default\s?/,"")),re=Oe(Z.id);if(Q.isGroup){let he=pn(Q,q.label.width,T,hh);E+=`<g class="pele-cluster pele-flow${V}" data-id="${re}"><rect x="${d(J-Q.w/2)}" y="${d(W-Q.h/2)}" width="${d(Q.w)}" height="${d(Q.h)}"${bt(v2(Z.colorIndex??ql.size,"0.06",q.style)+q.style.shape)}/>`+De(q.label,he,W-Q.h/2+8+q.label.height/2,` class="pele-cluster-label" fill="var(--_m)"${q.style.text}`,f)+"</g>";continue}let ne=q.w,ce=q.h,ie="",se;if(q.shape===Tv){let he=At(Z.colorIndex??ql.size),me=ce/2-_p-2,oe=me+(_p+2)/2;se=`<rect x="${d(-ne/2)}" y="${d(-ce/2)}" width="${d(ne)}" height="${d(ce)}"${bt(v2(Z.colorIndex??ql.size,"0.06",q.style)+q.style.shape)}/><path d="M${d(-ne/2+10)},${d(me)}H${d(ne/2-10)}" fill="none" stroke="${he}" stroke-dasharray="3 3"${q.style.line}/><path class="pele-collapsed-mark" d="${k2(-9,oe)}${k2(0,oe)}${k2(9,oe)}" fill="${he}" stroke="none"/>`}else{let he=ql.get(Z.kind??"task")??1;ie=` pele-kind-${Z.kind??"task"}`,se=Fi(q.shape,ne,ce,v2(he,"0.14",q.style)+q.style.shape,` stroke="${At(he)}"`+q.style.line)}let ee=De(q.label,0,q.dy,` class="pele-label"${q.style.text}`,f);if(/ internal-link(?: |$)/.test(V+" ")&&Z.label&&r.links!==!1){let he=Dt(Z.label),me=Ps(Oi(he),r)!==void 0,oe=Je(he);ee=`<a class="internal-link"${me?` href="${oe}"${Gs(r)}`:""} data-href="${oe}">${ee}</a>`,$.push({id:Z.id,href:he,internal:!0})}let te=se+ee;Z.tooltip&&(te=`<title>${Oe(Z.tooltip)}</title>`+te),Z.link&&(te=di(te,Z.link,Z.id,$,r,Z.linkTarget?` target="${Je(Z.linkTarget)}"`:"")),Y+=`<g class="pele-node pele-shape-${q.shape}${ie}${V}" data-id="${re}" transform="translate(${d(J)},${d(W)})">${te}</g>`}let G="",K="",L=(B,q,Q,Z,J)=>{let W=B.style.length>0||B.cssCompiledStyles.length>0?Rt(B.cssCompiledStyles.concat(B.style)):void 0,V=B.arrowTypeEnd,re=W?.stroke?Je(W.stroke):"var(--_l)",ne=B.thickness==="dotted"?"reference":V==="arrow_cross"?"failure":"sequence",ce=Wt(B.classes.replace(/edge-thickness-normal|edge-pattern-solid|flowchart-link/g,""));G+=`<g class="pele-edge pele-edge-${ne}${ce}" data-id="${Oe(B.id)}"${W?.line??""}><path d="${Q.d}"${B.thickness==="dotted"?' stroke-dasharray="3 4"':""}/>`+vt(V,Q.ex,Q.ey,Q.edx,Q.edy,re)+"</g>",q.width>0&&(K+=qr(B.id,q,Z,J,W?.text??"",f))},_=new Map;for(let B=0;B<R.length;B++){let q=R[B],Q=D[B],Z=N[B],J=Q.arrowTypeEnd,W;if(q.src===q.dst){let V=g[q.src],re=_.get(q.src)??0;_.set(q.src,re+1),W=Q0(p[q.src],V.w,V.h,re,y(q.src),M2,wt(J),q)}else{let V=q.route.slice();oo(V,0,g[q.src],p[q.src]),oo(V,V.length-3,g[q.dst],p[q.dst]),W=ya(V,Q.curve,0,wt(J))}L(Q,Z,W,q.labelX,q.labelY)}return O.forEach((B,q)=>L(B.edge,B.label,w[q],A[2*q],A[2*q+1])),{svg:rt("agentflow",F,I,s,r,e,De(U,F/2,c+U.height/2,' class="pele-title" font-weight="var(--_tw)"')+(E?`<g class="pele-clusters">${E}</g>`:"")+(G?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${G}</g>`:"")+(K?`<g class="pele-edge-labels" font-size="${o}">${K}</g>`:"")+`<g class="pele-nodes">${Y}</g>`),width:F,height:I,links:$}}function k2(e,t){return`M${d(e-1.75)},${d(t)}a1.75,1.75 0 1 0 3.5,0a1.75,1.75 0 1 0 -3.5,0Z`}var dF,fF,pF,uh,AF,bF,wF,SF,vF,vv,Dv,kF,$F,TF,IF,NF,DF,RF,_F,LF,OF,E2,BF,FF,Bp,T2,I2,N2,Fp,kv,C2,ch,HF,GF,$v,ql,Rv,UF,YF,zF,QF,VF,jF,hh,M2,_p,Tv,XF,Iv,ZF,Lv,Ov=Xe(()=>{pm();cl();H0();ml();mn();Us();bn();pr();zt();Lr();xt();Mt();dF=new Map([["task","roundedRect"],["tool","subroutine"],["input","lean-right"],["decision","diamond"],["refdoc","lin-doc"],["action","hexagon"],["round","rect"]]),fF=new Set(["doc","stadium","terminal","circle","trapezoid","inv_trapezoid","inv-trapezoid","doublecircle","double-circle","typeDeclaration","procs","lean_left","lean-left","in-out","cylinder","ellipse","odd","tag-rect","tagged-rectangle","delay","half-rounded-rectangle","lin-rect","lined-rectangle","win-pane","window-pane","curv-trap","curved-trapezoid"]),pF=new Set(["roundedRect","subroutine","subprocess","subproc","framed-rectangle","lean-right","diamond","lin-doc","lined-document","hexagon","hex","connector","collapsedGroup"]),uh="roundedRect";AF=new Set(["shape","view","icon","img","form","pos","w","h","class","style","labelType"]),bF=new Set(["subroutine","subprocess","subproc","framed-rectangle","tool"]);wF=/:\s*[>|][\d+-]*\s*$/,SF=/,([\t ]*)$/;vF=class{type="agentflow";direction;nodes=new Map;edges=[];subgraphs=[];connectors=new Map;classes=new Map;tooltips=new Map;defaultEdgeStyle;defaultInterpolate;mappings=[];diagnostics=[];title;accTitle;accDescr;lineOffset;subgraphLookup=new Map;globalNodes=new Set;members=new Set;edgeById=new Map;pairCount=new Map;subCount=0;bareMappings=new Set;firstMapping=new Map;reported=new Map;options;constructor(e={}){this.options=e,this.lineOffset=e.lineOffset??0}metadata(e,t,r){let a=t.includes(`
130
+ `),i;try{i=Di(a?t+`
131
+ `:`{
132
+ `+t+`
133
+ }`)}catch(s){let o=a?EF(t):t,n;if(o!==t)try{n=Di(o+`
134
+ `)}catch{n=void 0}if(n===void 0){let l=r?` (${r.first_line+this.lineOffset}:${r.first_column+1})`:"";throw new je(`Metadata of "${e}" is not valid YAML. ${s.message}${l}`,"syntax",{type:"agentflow",line:r?r.first_line+this.lineOffset:0,column:r?r.first_column+1:0})}i=n}return xF(i??{})}shapeError(e,t){return new je(e,"semantic",{type:"agentflow",line:t?t.first_line+this.lineOffset:0,column:t?t.first_column+1:0})}addVertex(e,t,r,a,i,s,o={},n,l){if(!e||e.trim().length===0)return;let u,c,f;n!==void 0&&(u=this.metadata(e,n,l),$2(u)&&(c=u,typeof u.shape=="string"&&(f=u.shape,u.shape=Op(u.shape))));let h=this.subgraphLookup.get(e);if(h&&u){h.metadata=Rp(h.metadata,u);return}let g=this.connectors.get(e);if(g&&u){g.metadata=Rp(g.metadata,u);return}if(e==="connectors")return;let p=this.edgeById.get(e);if(p){c?.animate!==void 0&&(p.animate=c.animate),c?.animation!==void 0&&(p.animation=c.animation),c?.curve!==void 0&&(p.interpolate=c.curve),u&&(p.metadata=Rp(p.metadata,u));return}let m=this.nodes.get(e);if(m===void 0&&(m={id:e,labelType:"text",styles:[],classes:[]},this.nodes.set(e,m)),t!==void 0?(m.labelType=t.type,m.text=Cv(t.text.trim())):m.text===void 0&&(m.text=e),r!==void 0&&(m.type=r),a!=null)for(let x of a)m.styles.push(x);if(i!=null)for(let x of i)m.classes.push(x);if(s!==void 0&&(m.dir=s),m.props===void 0?m.props=o:o!==void 0&&Object.assign(m.props,o),!!u&&(m.metadata=Rp(m.metadata,u),c!==void 0)){if(c.shape){let x=f??c.shape;if(typeof x!="string")throw this.shapeError(`No such shape: ${JSON.stringify(x)}.`,l);if(x!==x.toLowerCase()||x.includes("_"))throw this.shapeError(`No such shape: ${x}. Shape names should be lowercase.`,l);let y=c.shape;if(!gF(y))throw this.shapeError(`No such shape: ${y}.`,l);m.type=y}c.label&&(m.text=String(c.label),m.labelType=S2(c.labelType))}}addSingleLink(e,t,r,a){let i={start:e,end:t,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.defaultInterpolate},s=r?.text;s!==void 0&&(i.text=Cv(s.text.trim()),i.labelType=S2(s.type)),r!==void 0&&(i.type=r.type,i.stroke=r.stroke,i.length=r.length>10?10:r.length,r.edgeSemantic&&(i.edgeSemantic=r.edgeSemantic));let o=e+"\0"+t,n=this.pairCount.get(o)??0;a&&!this.edgeById.has(a)?(i.id=a,i.isUserDefinedId=!0):i.id=`L_${e}_${t}_${n===0?0:n+1}`;let l=this.options.maxEdges;if(l!==void 0&&this.edges.length>=l)throw new je(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${l}.`,"limit",{type:"agentflow"});this.edges.push(i),this.pairCount.set(o,n+1),this.edgeById.has(i.id)||this.edgeById.set(i.id,i)}addLink(e,t,r){let a=typeof r?.id=="string"?r.id.replace("@",""):void 0,i=e[e.length-1],s=t[0];for(let o of e)for(let n of t)this.addSingleLink(o,n,r,o===i&&n===s?a:void 0)}updateLinkInterpolate(e,t){for(let r of e)r==="default"?this.defaultInterpolate=t:this.edgeAt(r).interpolate=t}updateLink(e,t){for(let r of e){if(r==="default"){this.defaultEdgeStyle=t;continue}let a=this.edgeAt(r);a.style=t,t.length>0&&!t.some(i=>i?.startsWith("fill"))&&t.push("fill:none")}}edgeAt(e){let t=this.edges[Number(e)];if(t===void 0)throw new je(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`,"semantic",{type:"agentflow"});return t}addClass(e,t){let r=t.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");for(let a of e.split(",")){let i=this.classes.get(a);i===void 0&&(i={id:a,styles:[],textStyles:[]},this.classes.set(a,i));for(let s of r)s.includes("color")&&i.textStyles.push(s.replace("fill","bgFill")),i.styles.push(s)}}setDirection(e){let t=e.trim();t.includes("<")&&(t="RL"),t.includes("^")&&(t="BT"),t.includes(">")&&(t="LR"),t.includes("v")&&(t="TB"),t==="TD"&&(t="TB"),this.direction=t}setClass(e,t){for(let r of e.split(","))this.nodes.get(r)?.classes.push(t),this.edgeById.get(r)?.classes.push(t),this.subgraphLookup.get(r)?.classes.push(t)}setTooltip(e,t){if(t!==void 0)for(let r of e.split(","))this.tooltips.set(r,t)}setLink(e,t,r){let a=t.trim();for(let i of e.split(",")){let s=this.nodes.get(i);s!==void 0&&(s.link=a?Bi(a):void 0,s.linkTarget=r)}this.setClass(e,"clickable")}setClickEvent(e,t,r){this.setClass(e,"clickable")}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
135
+ `)}addSubGraph(e,t,r,a){let i=e?.text?.trim(),s=r?.text||"";e!==void 0&&e===r&&/\s/.test(s)&&(i=void 0);let o=new Set,n=[],l;for(let g of t)if(typeof g=="string")g.trim()!==""&&!o.has(g)&&(o.add(g),n.push(g));else if(Array.isArray(g))for(let p of g)p.trim()!==""&&!o.has(p)&&(o.add(p),n.push(p));else l=g.value;l??=this.options.inheritDir?this.direction??this.options.direction:void 0,i??="subGraph"+this.subCount,this.subCount++;let u=this.members,c=n.filter(g=>g!==i&&!this.globalNodes.has(g)&&!u.has(g));for(let g of c)u.add(g);let f=this.subgraphLookup.get(i);if(f){for(let g of c)f.nodes.push(g);return s.trim()&&(f.title=s.trim()),l&&(f.dir=l),i}let h={id:i,nodes:c,title:s.trim(),classes:[],dir:l,labelType:S2(r?.type),type:"flow"};return this.subgraphs.push(h),this.subgraphLookup.set(i,h),i}addGlobal(e){let t=!1,r=a=>{let i=a.trim();i!==""&&(this.globalNodes.add(i),this.members.delete(i)&&(t=!0))};for(let a of e)if(typeof a=="string")r(a);else if(Array.isArray(a))for(let i of a)r(i);if(t)for(let a of this.subgraphs)a.nodes=a.nodes.filter(i=>!this.globalNodes.has(i))}addConnector(e,t){let r=e?.text?.trim();if(!r)return"";let a=t?.text?.trim()??"",i=this.connectors.get(r);if(i)a.length>0&&(i.text=a);else{let s={id:r,labelType:"text",styles:[],classes:[],isConnector:!0,text:a.length>0?a:r};this.connectors.set(r,s),this.nodes.set(r,s)}return r}destructLink(e,t){let r=MF(e);return t&&(t.includes(".")?"dotted":"normal")!==r.stroke?{type:"INVALID",stroke:"INVALID"}:{...r,edgeSemantic:CF(r.type,r.stroke)}}subgraph(e){return this.subgraphLookup.get(e)}vertexKind(e){if(yF(e))return"tool";let t=Op(e.type);return t==="hexagon"||t==="hex"?"action":t==="lean-right"||t==="lean_right"?"input":t==="lin-doc"||t==="lined-document"?"refdoc":t==="diamond"?"decision":"task"}semanticModel(){let e=[],t=[];for(let[s,o]of this.nodes){if(this.subgraphLookup.has(s))continue;let n=Mv(o.metadata);if(o.isConnector){let c={id:s};o.text!==void 0&&o.text!==s&&(c.title=o.text),n&&(c.metadata=n),t.push(c);continue}let l={id:s};o.text!==void 0&&(l.label=o.text);let u=Op(o.type);u!==void 0&&(l.shape=u),l.vertexKind=this.vertexKind(o),n&&(l.metadata=n),e.push(l)}let r=this.edges.map(s=>{let o={start:s.start,end:s.end};return s.id!==void 0&&(o.id=s.id),s.text.length>0&&(o.label=s.text),s.type!==void 0&&(o.type=s.type),s.stroke!==void 0&&(o.stroke=s.stroke),s.edgeSemantic!==void 0&&(o.edgeSemantic=s.edgeSemantic),s.length!==void 0&&(o.length=s.length),s.metadata&&Object.keys(s.metadata).length>0&&(o.metadata={...s.metadata}),o}),a=this.subgraphs.map(s=>{let o={id:s.id,nodes:[...s.nodes],type:s.type,title:s.title};s.dir!==void 0&&(o.direction=s.dir);let n=Mv(s.metadata);return n&&(o.metadata=n),o}),i={vertices:e,edges:r,subGraphs:a,connectors:t,diagnostics:this.diagnostics};return this.direction!==void 0&&(i.direction=this.direction),i}position(e){let t=e?.first_line??0,r=e?.first_column??0;return{startLine:t+this.lineOffset,startColumn:r,endLine:(e?.last_line??t)+this.lineOffset,endColumn:e?.last_column??r,startIndex:0,endIndex:0}}pushMapping(e,t,r){let a={id:e,type:t,position:r};return this.mappings.push(a),this.firstMapping.has(e)||this.firstMapping.set(e,a),a}addVertexMapping(e,t,r,a){if(!e)return;let i=this.pushMapping(e,"vertex",this.position(a));r==null&&this.bareMappings.add(i)}extendVertexMapping(e,t){if(!e||!t)return;let r=this.position(t);for(let a=this.mappings.length-1;a>=0;a--){let i=this.mappings[a];if(i.type!=="vertex"||i.id!==e)continue;this.bareMappings.delete(i)&&(i.type="attachment");let s=i.position;(r.endLine>s.endLine||r.endLine===s.endLine&&r.endColumn>s.endColumn)&&(s.endLine=r.endLine,s.endColumn=r.endColumn);return}this.pushMapping(e,"attachment",r)}addEdgeMapping(e,t,r,a){let i=Array.isArray(t)?t.filter(s=>typeof s=="string"&&s!==""):[];this.pushMapping(i.length>0?i.join(">"):"edge","edge",this.position(a))}blockMapping(e,t,r,a){if(!e)return;let i=this.position(r),s=a?this.position(a):i;this.pushMapping(e,t,{startLine:i.startLine,startColumn:i.startColumn,endLine:s.endLine,endColumn:s.endColumn,startIndex:0,endIndex:0})}addSubgraphMapping(e,t,r,a){let i=typeof e=="string"?e:e?.text;this.blockMapping(i??"","subgraph",r,a)}addConnectorMapping(e,t,r,a){this.blockMapping(e?.text?.trim()??"","connector",r,a)}emit(e,t,r,a){let i=a?.nodeId??a?.edgeId,s={id:e,severity:t,message:r};a?.nodeId?s.nodeId=a.nodeId:a?.edgeId&&(s.edgeId=a.edgeId);let o=i?this.firstMapping.get(i):void 0;o&&(s.position=o.position);let n=i??"",l=this.reported.get(n);if(l===void 0)this.reported.set(n,[s]);else{for(let u of l)if(u.id===e&&u.severity===t&&u.message===r&&u.nodeId===s.nodeId&&u.edgeId===s.edgeId)return;l.push(s)}this.diagnostics.push(s),this.options.log?.(t,`agentflow[${e}]: ${r}`)}emitWarning(e,t,r){this.emit(e,"warning",t,r)}emitError(e,t,r){this.emit(e,"error",t,r)}},vv=["$end","INVALID","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","SHAPE_DATA","CALLBACKNAME","CALLBACKARGS","MD_STR","STR","STYLE","DEFAULT","LINKSTYLE","INTERPOLATE","CLASSDEF","CLASS","HREF","CLICK","GRAPH","flow","connector","global","end","LINK_TARGET","NODIR","DIR","direction_tb","direction_bt","direction_rl","direction_lr","direction_td","LINK_ID","NUM","BRKT","STYLE_SEPARATOR","COLON","AMP","SEMI","COMMA","MULT","LINK","START_LINK","EDGE_TEXT","-)","TEXT","(-","STADIUMEND","STADIUMSTART","SUBROUTINEEND","SUBROUTINESTART","VERTEX_WITH_PROPS_START","TAGEND","CYLINDEREND","CYLINDERSTART","DOUBLECIRCLEEND","DOUBLECIRCLESTART","TRAPEND","INVTRAPEND","TRAPSTART","INVTRAPSTART","TAGSTART","UP","SEP","DOWN","COMMENT","NODE_STRING","MINUS","UNICODE_TEXT","PIPE","PE","PS","SQE","SQS","DIAMOND_STOP","DIAMOND_START","NEWLINE","SPACE","EOF"],Dv=new Uint8Array(128);for(let e of"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"#$%&'*+.`?\\_/")Dv[e.charCodeAt(0)]=1;kF=/accTitle\s*:\s*/y,$F=/accDescr\s*:\s*/y,TF=/accDescr\s*\{\s*/y,IF=/call\s+/y,NF=/click\s+/y,DF=/(?:\r?\n)*\s*\n/y,RF=/\s*(?:LR|RL|TB|BT|TD|BR)\b/y,_F=/\s*[<>^]/y,LF=/\s*v\b/y,OF=[/.*direction\s+TB[^\n]*/y,/.*direction\s+BT[^\n]*/y,/.*direction\s+RL[^\n]*/y,/.*direction\s+LR[^\n]*/y,/.*direction\s+TD[^\n]*/y],E2=/[\n\r\u2028\u2029]/g,BF=/\(\s*\)/y,FF=/\n\s*/g;Bp=new Uint8Array(80);for(let e of[34,67,65,68,13,40,37,38,35,41,69])Bp[e]=1;T2=new Uint8Array(80);for(let e of[34,69,67,27,65,68,40,37,38,35,41])T2[e]=1;I2=new Uint8Array(80);for(let e of[34,67,78,68,38,69,37,41,35,12,14,16,17,19,20,27,21,22,23,24,65,63,43])I2[e]=1;N2=new Uint8Array(80);for(let e of[34,67,37,78,35,12])N2[e]=1;Fp=new Uint8Array(80);for(let e of[77,39,79,66])Fp[e]=1;kv="'UNICODE_TEXT', 'TEXT', 'TAGSTART'",C2="'COMMENT', 'SEMI', 'NEWLINE', 'EOF'",ch=[],HF=/}[^\S\n]*\n/g;GF=["TB","BT","RL","LR","TD"],$v="'COMMENT', 'SEMI', 'NEWLINE', 'SPACE', 'EOF', 'flow', 'global', 'connector', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'STYLE', 'LINKSTYLE', 'CLASSDEF', 'CLASS', 'CLICK', 'NODE_STRING'",ql=new Map([["tool",0],["task",1],["decision",2],["input",3],["refdoc",4],["connector",5],["action",6]]),Rv=ql.size,UF=e=>Math.max(1,e-Rv),YF=(e,t)=>{let r=Rv+e%UF(t);return t>0?r%t:r};zF=8,QF=40,VF=16,jF=48,hh=20,M2=26,_p=14,Tv="collapsed",XF={TB:2,RL:3,BT:0,LR:1},Iv=new WeakMap;ZF=/[";]fill:/;Lv={type:"agentflow",keepComments:!0,parse(e,t,r,a,i){let s=t.flowchart??{},o=new vF({inheritDir:s.inheritDir===!0,direction:typeof t.direction=="string"?t.direction:void 0,lineOffset:a,maxEdges:i.maxEdges});return r&&(o.title=r),PF(e,o),_v(o,t),o},render:JF}});var Bv={};Bt(Bv,{agentflow:()=>Lv});var Fv=Xe(()=>{Ov()});function eW(){let e=!1;return(t,r)=>{D2.lastIndex=r;let a=D2.exec(t);if(a===null)return-1;let i=D2.lastIndex;if(a[1]===void 0)return i;if(e)return-1;let s=t.indexOf("}",i);return e=s===-1,s+1||-1}}function zl(e="ACC_DESCR"){return{...Or,name:e,scanner:eW}}var D2,Wp=Xe(()=>{_a();D2=/[\t ]*accDescr(?:[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)|\s*({))/y});function nW(e){return e.some(t=>L2.test(t))}function oW(e){for(let t of e){let r=qv.exec(t);if(r?.index&&r.index>0)return r.index}return 4}function Hv(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(r,a)=>{let i=t.get(parseInt(a,10));return i?`line ${i}`:r})}function Pv(e,t){throw new je(`Line ${e}: ${t}`,"syntax",{type:"treeView",line:e})}function lW(e){let t=new Map;if(!L2.test(e))return{text:e,lineMap:t};let r=e.split(`
136
+ `),a=-1;for(let u=0;u<r.length;u++)if(r[u].trim()==="treeView-beta"){a=u;break}if(a===-1)return{text:e,lineMap:t};let i=u=>u.trim()===""||iW.test(u)||aW.test(u),s=[];for(let u=a+1;u<r.length;u++){let c=r[u];i(c)||Wv.test(c)||s.push(c.replace(/\t/g," "))}if(!nW(s))return{text:e,lineMap:t};let o=oW(s),n=[],l=(u,c)=>{n.push(u),t.set(n.length,c+1)};for(let u=0;u<=a;u++)l(r[u],u);for(let u=a+1;u<r.length;u++){let c=r[u];if(i(c)){l(c,u);continue}if(Wv.test(c))continue;let f=c.replace(/\t/g," "),h=qv.exec(f);if(h){let g=Math.round(h.index/o)+1,p=h.index+1;for(;p<f.length&&tW.test(f[p]);)p++;for(;p<f.length&&f[p]===" ";)p++;let m=f.slice(p).trimEnd();m||Pv(u+1,"Empty node \u2014 expected a filename or directory name after the box-drawing prefix"),l(sW.repeat(g)+m,u)}else{if(rW.test(f))continue;L2.test(f)?l(c,u):/^\s+/.test(f)?Pv(u+1,"Unexpected indentation without box-drawing characters. In box-drawing format, use \u251C\u2500\u2500 or \u2514\u2500\u2500 prefixes for indented nodes."):l(c,u)}}return{text:n.join(`
137
+ `),lineMap:t}}function uW(e,t){if(e.startsWith("##",t)||e.startsWith("icon(",t))return!0;if(!e.startsWith(":::",t))return!1;let r=t+3;for(;hi(e.charCodeAt(r));)r++;let a=e.charCodeAt(r);return a>=65&&a<=90||a>=97&&a<=122||a===95}function cW(e,t){let r=e.charCodeAt(t);if(hi(r)||r===10||r===13||r===34||r===39||e.startsWith(":::",t)||e.startsWith("icon(",t)||e.startsWith("##",t))return-1;let a=e.length,i=t+1;for(;i<a;){let s=e.charCodeAt(i);if(s===10||s===13)break;if(hi(s)){let o=i+1;for(;hi(e.charCodeAt(o));)o++;if(uW(e,o))break;i=o}else i++}return i}function zv(e){let t=e.length;for(;t>0&&hi(e.charCodeAt(t-1));)t--;return t===e.length?e:e.slice(0,t)}function R2(e,t){switch(e){case"INDENTATION":return t?.length||0;case"QUOTED_NAME":return t.substring(1,t.length-1);case"BARE_NAME":return zv(t);case"CLASS_ANNOTATION":return t.trim().substring(3).trim();case"ICON_ANNOTATION":{let r=t.trim();return r.substring(5,r.length-1)}case"DESC_ANNOTATION":return t.trim().substring(2).trim();default:return}}function hW(e){let t=new cr(sr(e,Uv,"treeView"),Uv,"treeView"),r={$type:"TreeView",nodes:[]};for(t.expect(0);;)if(t.kind===1)r.accDescr=ur(t.take());else if(t.kind===2)r.accTitle=lr(t.take());else if(t.kind===3)r.title=or(t.take());else break;for(;t.kind!==-1;){let a={$type:"TreeNode",name:""};if(t.kind===7&&(a.indent=t.take().length),t.kind===8){let i=t.take();a.name=i.substring(1,i.length-1)}else t.kind===12?a.name=zv(t.take()):t.fail("a name");for(;;)if(t.kind===4)a.classAnnotation=R2("CLASS_ANNOTATION",t.take());else if(t.kind===5)a.iconAnnotation=R2("ICON_ANNOTATION",t.take());else if(t.kind===6)a.descAnnotation=R2("DESC_ANNOTATION",t.take());else break;r.nodes.push(a)}return r}function fW(e,t){for(let r of e.nodes){let a=typeof r.indent=="number"?r.indent:0,i=r.name,s=i.endsWith("/");s&&(i=i.slice(0,-1));let o=r.iconAnnotation;t.addNode(a,i,s?"directory":"file",r.classAnnotation||void 0,o!==void 0?o||"none":void 0,r.descAnnotation||void 0)}}function pW(e){let{text:t,lineMap:r}=lW(e);try{return hW(t)}catch(a){if(r.size===0||!(a instanceof je))throw a;let i=a.message.indexOf(`
138
+ `),s=i===-1?Hv(a.message,r):Hv(a.message.slice(0,i),r)+a.message.slice(i);throw new je(s,a.code,{type:a.type,line:r.get(a.line)??a.line,column:a.column,snippet:a.snippet})}}function gW(e,t){let r=new dW;return fW(e,r),{type:"treeView",title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,""):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
139
+ `):void 0,root:r.root,count:r.count}}function _2(e,t){if(e===void 0||!Object.prototype.hasOwnProperty.call(e,t))return;let r=e[t];return typeof r=="string"?r:void 0}function mW(e,t){let r=_2(t?.filenameIcons,e);if(r)return r;let a=e.lastIndexOf(".");if(a>0){let i=e.substring(a).toLowerCase();return _2(t?.extensionIcons,i)??_2(t?.extensionIcons,i.slice(1))}}function Yv(e,t){return e.includes(":")?e:O2.has(e)||!t?`${Gp}:${e}`:`${t}:${e}`}function Kv(e,t){if(e.icon!=="none"){if(e.icon)return Yv(e.icon,t.defaultIconPack);if(t.showIcons){if(e.nodeType==="file"){let r=mW(e.name,t);if(r==="none")return;if(r)return Yv(r,t.defaultIconPack)}return`${Gp}:${e.nodeType==="directory"?"folder":"file"}`}}}function AW(e){let t=a=>typeof a=="object"&&a!==null&&!Array.isArray(a)?a:void 0,r=t(e.treeView)??{};return{showIcons:!!r.showIcons,defaultIconPack:typeof r.defaultIconPack=="string"?r.defaultIconPack:"",filenameIcons:t(r.filenameIcons),extensionIcons:t(r.extensionIcons)}}function Pp(e,t,r,a,i){let s=e.treeView?.[t];return typeof s=="number"&&s>=a&&s<=i?s:r}function SW(e){return{paddingX:Pp(e,"paddingX",5,0,100),paddingY:Pp(e,"paddingY",2,0,100),rowIndent:Pp(e,"rowIndent",15,0,400),lineThickness:Pp(e,"lineThickness",1,.25,12)}}function EW(e,t,r){return ca(r,a=>CW(e,t,r,a))}function CW(e,t,r,a){let i=r.fontSize??16,s=r.measurer??at(r.fontFamily),o=r.padding??8,n=AW(t),{paddingX:l,paddingY:u,rowIndent:c,lineThickness:f}=SW(t),h=0,g=e.root.children.map(T=>[T,0]);for(let T=0;a&&T<g.length;T++){let[M,E]=g[T];h=Math.max(h,E);for(let Y of M.children)g.push([Y,E+1])}let p=a?Math.min(c+l,Math.max(2,((r.maxWidth??320)-120)/Math.max(1,h))):c+l,m=Math.round(i*1.5)+2*u,x=i,y=We(e.title,!1,s,i,a?Ht(r):4e3,1),C=y.height>0?y.height+12:0,S=T=>T.some(M=>Kv(M,n)!==void 0),R=[],N=new Map,D=[],O=(T,M)=>{let E=S(T);for(let Y=T.length-1;Y>=0;Y--)D.push([T[Y],M,E])};O(e.root.children,0);let H=0,U=!1,k=0;for(;D.length>0;){let[T,M,E]=D.pop(),Y=M*p,G=Dt(T.name),K=Y+(E?x+bW:0),L=Math.max(40,(r.maxWidth??320)-2*o-2*Hp-K),_=a?Ao(G,s,i,L,T.nodeType==="directory"?1:0):void 0,B=a&&T.description?Ao(Dt(T.description),s,i,L,2):void 0,q=_?_.width:s.width(G,i,T.nodeType==="directory"?1:0);K+q>H&&(H=K+q);let Q=T.cssClass!==void 0&&T.cssClass.split(/\s+/).includes("highlight");Q&&(U=!0);let Z=a?Math.max(m,(_?.height??0)+(B?.height??0)+2*u):m,J=k+(a?u+Math.max(x,_?.height??0)/2:Z/2),W={node:T,x:Y,cy:J,icon:Kv(T,n),text:G,labelX:K,highlighted:Q,label:_,description:B,top:k,height:Z};k+=Z,R.push(W),N.set(T,W),O(T.children,M+1)}let j=H+yW,X=H;for(let T of R){let M=T.node.description;if(!M)continue;let E=T.description?T.description.width:s.width(Dt(M),i,2);X=Math.max(X,(a?T.labelX:j)+E)}X=Math.max(X,y.width);let P=o+(U?Hp:0),F=o+C,I=Math.ceil(X+2*P),$=Math.ceil(F+k+o),w="";for(let T of R){let M=T.node.children;if(M.length===0)continue;let E=P+T.x+xW,Y=Math.max(E,P+T.x+p-l),G=F+N.get(M[M.length-1]).cy,K=Math.min(wW,Y-E),L=`M${d(E)},${d(F+T.top+T.height-2)}V${d(G-K)}`;K>0&&(L+=`Q${d(E)},${d(G)} ${d(E+K)},${d(G)}H${d(Y)}`);for(let _=0;_<M.length-1&&Y>E;_++)L+=`M${d(E)},${d(F+N.get(M[_]).cy)}H${d(Y)}`;w+=`<path d="${L}"/>`}let A=i*.35,v="";for(let T of R){let M=T.node,E=F+T.cy,Y=M.nodeType==="directory",G="";if(T.highlighted){let K=P+T.x-Hp;G+=`<rect class="pele-tree-highlight" x="${d(K)}" y="${d(F+T.top+1)}" width="${d(I-P+Hp-K)}" height="${d(T.height-2)}" fill="var(--_c)" fill-opacity="0.14"${ct}/>`}if(T.icon!==void 0){let K=T.icon.startsWith(Gp+":")?T.icon.slice(Gp.length+1):"",L=O2.get(K)??O2.get(Y?"folder":"file"),_=r.icons?.(T.icon)??`<path d="${L}" stroke="var(--_m)" stroke-width="1.5"/>`;G+=`<svg class="pele-icon" data-icon="${Oe(T.icon)}" x="${d(P+T.x)}" y="${d(E-x/2)}" width="${d(x)}" height="${d(x)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${_}</svg>`}T.label?G+=js(T.label,P+T.labelX,F+T.top+u,` class="pele-label"${Y?' font-weight="var(--_hw)"':""}`):T.text!==""&&(G+=`<text class="pele-label" x="${d(P+T.labelX)}" y="${d(E+A)}"${Y?' font-weight="var(--_hw)"':""} xml:space="preserve">${Je(T.text)}</text>`),T.description?G+=js(T.description,P+T.labelX,F+T.top+u+(T.label?.height??0),' class="pele-tree-description" font-style="italic" fill="var(--_m)"'):M.description&&(G+=`<text class="pele-tree-description" x="${d(P+j)}" y="${d(E+A)}" font-style="italic" fill="var(--_m)" xml:space="preserve">${Je(Dt(M.description))}</text>`),v+=`<g class="pele-node pele-tree-${Y?"dir":"file"}${Wt(M.cssClass??"")}" data-id="${Oe(M.name)}">${G}</g>`}let b=De(y,I/2,o+y.height/2,' class="pele-title" font-weight="var(--_tw)"')+(w?`<g class="pele-tree-guides" fill="none" stroke="var(--_b)" stroke-width="${d(f)}">${w}</g>`:"")+v;return{svg:rt("treeView",I,$,i,r,e,b),width:I,height:$,links:[]}}var L2,qv,tW,Wv,rW,aW,iW,sW,Gv,Uv,dW,Gp,O2,bW,yW,xW,wW,Hp,Qv,Vv=Xe(()=>{Wp();yo();pr();zt();_a();xt();Mt();L2=/[─━│┃└┗├┣]/,qv=/[└┗├┣]/,tW=/[─━]/,Wv=/^[\s│┃]+$/,rW=/^[\s─━│┃└┗├┣]+$/,aW=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,iW=/^\s*%%/,sW=" ";Gv={name:"BARE_NAME",pattern:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/y,match:cW},Uv=[{...$r("treeView-beta"),longer:[Gv]},zl(),br,yr,{name:"CLASS_ANNOTATION",pattern:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/y},{name:"ICON_ANNOTATION",pattern:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/y},{name:"DESC_ANNOTATION",pattern:/[ \t]+##[^\n\r]*/y},{name:"INDENTATION",pattern:/[ \t]{1,}/y},{name:"QUOTED_NAME",pattern:/"[^"]*"|'[^']*'/y},{name:"WS",pattern:/[ \t]+/y,hidden:!0},{name:"ML_COMMENT",pattern:/\%\%[^\n]*/y,hidden:!0},{name:"NL",pattern:/\r?\n/y,hidden:!0},Gv];dW=class{count=1;root={id:0,level:-1,name:"/",nodeType:"directory",children:[]};stack=[this.root];addNode(e,t,r,a,i,s){let o=this.stack;for(;e<=o[o.length-1].level;)o.pop();let n={id:this.count++,level:e,name:t,nodeType:r,icon:i,cssClass:a,description:s,children:[]};o[o.length-1].children.push(n),o.push(n)}};Gp="mermaid-treeview",O2=new Map([["folder","M3 6.5A1.5 1.5 0 0 1 4.5 5h4.6l2.4 2.5h8A1.5 1.5 0 0 1 21 9v9a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18z"],["file","M6.5 3h7L19 8.5v11a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 5 19.5v-15A1.5 1.5 0 0 1 6.5 3zM13.5 3v5.5H19"]]);bW=6,yW=16,xW=7,wW=4,Hp=4;Qv={type:"treeView",parse:(e,t,r)=>gW(pW(e),r),render:EW}});var jv={};Bt(jv,{treeView:()=>Qv});var Xv=Xe(()=>{Vv()});function vW(e,t){let r=new MW;return r.setDomains(e.domains),r.setTransitions(e.transitions),{type:"cynefin",title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,""):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
140
+ `):void 0,domains:r.domains,transitions:r.transitions}}function kW(e){let t=new cr(sr(e,Zv,"cynefin"),Zv,"cynefin"),r={$type:"Cynefin",domains:[],transitions:[]},a=()=>{for(;t.kinds[t.i]===9;)t.i++},i=()=>{t.kind!==-1&&(t.kind!==9&&t.fail("a line break or the end of input"),a())};for(a(),t.kind!==1&&t.kind!==0&&t.fail("'cynefin-beta'"),t.i++;t.kind!==-1;)switch(t.kind){case 9:t.i++;break;case 5:r.accDescr=ur(t.take()),i();break;case 6:r.accTitle=lr(t.take()),i();break;case 7:r.title=or(t.take()),i();break;case 4:{let s=t.take();if(t.accept(2)){let n={$type:"Transition",from:s,to:t.expect(4)};t.accept(3)&&(n.label=Qr(t.expect(8))),i(),r.transitions.push(n);break}let o={$type:"DomainBlock",domain:s,items:[]};for(a();t.kinds[t.i]===8;)o.items.push({$type:"DomainItem",label:Qr(t.take())}),a();r.domains.push(o);break}default:t.fail("a domain, a transition, a title, or a line break")}return r}function Jv(e){let t=e+1831565813|0;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function $W(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t}function TW(e,t){return typeof e=="number"&&Number.isFinite(e)&&e!==0?e:$W(t)}function B2(e,t,r,a,i,s){let o=(t-e)/s.segments,n=[],l=[];for(let c=0;c<=s.segments;c++){let f=c===0&&s.pinStart||c===s.segments&&s.pinEnd;n.push(e+c*o),l.push(f?r:r+Jv(a+c*s.pointStep)*i*2-i)}let u=s.vertical?[l[0],n[0]]:[n[0],l[0]];for(let c=0;c<s.segments;c++){let f=(n[c]+n[c+1])/2,h=i*1.5*(c%2===0?1:-1)*Jv(a+c*s.controlStep+s.controlShift);s.vertical?u.push(l[c]+h,f,l[c+1]-h,f,l[c+1],n[c+1]):u.push(f,l[c]+h,f,l[c+1]-h,n[c+1],l[c+1])}return u}function NW(e,t,r,a){let i=r-t;return[e,t,e+a,t+i*.2,e-a*1.5,t+i*.55,e+a*.5,t+i*.75,e-a,t+i*.85,e+a*.3,t+i*.95,e,r]}function dh(e){let t="";for(let r=2;r<e.length;r+=6)t+=`C${d(e[r])},${d(e[r+1])} ${d(e[r+2])},${d(e[r+3])} ${d(e[r+4])},${d(e[r+5])}`;return t}function Up(e){let t="";for(let r=e.length-6;r>=2;r-=6)t+=`C${d(e[r+2])},${d(e[r+3])} ${d(e[r])},${d(e[r+1])} ${d(e[r-2])},${d(e[r-1])}`;return t}function Yp(e){return`M${d(e[0])},${d(e[1])}${dh(e)}`}function DW(e,t,r,a){let i=`${d(r)},${d(a)}`;return`M${d(e-r)},${d(t)}A${i} 0 1,1 ${d(e+r)},${d(t)}A${i} 0 1,1 ${d(e-r)},${d(t)}Z`}function zp(e,t,r,a,i){let s=e.cynefin?.[t];return typeof s=="number"&&s>=a&&s<=i?s:r}function BW(e,t,r){let a=r.fontSize??16,i=Math.round(a*.8125),s=Math.round(a*.875),o=r.measurer??at(r.fontFamily),n=r.padding??8,l=r.icons,u=t.cynefin?.showDomainDescriptions!==!1,c=zp(t,"boundaryAmplitude",8,0,50),f=TW(zp(t,"seed",0,-1e15,1e15),r.idPrefix??"pele"),h=Math.round(s*1.5),g=(W,V)=>{let re=We(W,!1,o,s,rk);return{text:W,label:re,w:re.width+2*LW,h:Math.max(re.height,h)+2*OW,overflow:V}},p=W=>{let V=_W.get(W),re=We(V[0],!1,o,a,4e3,1),ne=[];if(u)for(let he of[V[1],V[2]])he&&ne.push(We(he,!1,o,i,4e3,2));let ce=e.domains.get(W)?.items??[],ie=W==="confusion"&&ce.length>tk?tk:ce.length,se=[];for(let he=0;he<ie;he++)se.push(g(ce[he].label,!1));ie<ce.length&&se.push(g(`+${ce.length-ie} more`,!0));let ee=re.width,te=re.height;for(let he of ne)ee=Math.max(ee,he.width),te+=he.height;se.length>0&&(te+=ak-Kp);for(let he of se)ee=Math.max(ee,he.w),te+=Kp+he.h;return{name:W,title:re,subtitles:ne,badges:se,w:ee,h:te,cx:0,cy:0}},m=F2.map(([W])=>p(W)),x=p("confusion"),y=Math.max(88,x.w*.71+8),C=Math.max(64,x.h*.71+6),S=zp(t,"width",640,100,1e4)/2,R=zp(t,"height",440,100,1e4)/2;for(let W of m)S=Math.max(S,W.w+2*ik),R=Math.max(R,W.h+2*ik);for(let W of m){let V=(S-W.w)/2,re=(R-W.h)/2;if((V/(y+qp))**2+(re/(C+qp))**2>=1)continue;let ne=W.w+2*(y+qp),ce=W.h+2*(C+qp);ne*R<=S*ce?S=Math.max(S,ne):R=Math.max(R,ce)}let N=We(e.title,!1,o,a,4e3,1),D=N.height>0?N.height+12:0,O=2*S,H=2*R,U=n,k=n+D,j=U+S,X=k+R,P=U+O,F=k+H,I=B2(k,X,j,f,c,{...IW,segments:4,pinEnd:!0}),$=B2(U,j,X,f+100,c,{...ek,segments:4,pinEnd:!0}),w=B2(j,P,X,f+200,c,{...ek,segments:4,pinStart:!0}),A=NW(j,X,F,O*.03),v=(W,V)=>V?`${d(W[W.length-2])},${d(W[W.length-1])}`:`${d(W[0])},${d(W[1])}`,b=new Map([["complex",`M${d(U)},${d(k)}L${v(I,!1)}${dh(I)}${Up($)}Z`],["complicated",`M${v(I,!1)}L${d(P)},${d(k)}L${v(w,!0)}${Up(w)}${Up(I)}Z`],["chaotic",`M${v($,!1)}${dh($)}${dh(A)}L${d(U)},${d(F)}Z`],["clear",`M${v(w,!1)}${dh(w)}L${d(P)},${d(F)}L${v(A,!0)}${Up(A)}Z`]]),T="";for(let[W,,,V]of F2)T+=`<path class="pele-cynefin-region" data-id="${W}" d="${b.get(W)}" fill="${At(V)}" fill-opacity="0.14"/>`;let M=`<g class="pele-cynefin-boundaries" fill="none" stroke="var(--_b)" stroke-dasharray="6 3"><path d="${Yp(I)}"/><path d="${Yp($)}"/><path d="${Yp(w)}"/><path class="pele-cynefin-cliff" d="${Yp(A)}" stroke="var(--_l)" stroke-width="2" stroke-dasharray="none" stroke-linecap="round"/></g>`,E=DW(j,X,y,C),Y=`<path d="${E}" fill="var(--_bg)"/><path class="pele-cynefin-region" data-id="confusion" d="${E}" fill="${At(RW)}" fill-opacity="0.18" stroke="var(--_b)" stroke-dasharray="4 2"/>`,G=W=>{let V=W.cy-W.h/2,re=De(W.title,W.cx,V+W.title.height/2,' class="pele-label" font-weight="var(--_hw)"');V+=W.title.height;for(let ne of W.subtitles)re+=De(ne,W.cx,V+ne.height/2,` class="pele-cynefin-subtitle" font-size="${i}" font-style="italic" fill="var(--_m)"`),V+=ne.height;V+=ak-Kp;for(let ne of W.badges)V+=Kp,re+=`<g class="pele-node${ne.overflow?" pele-cynefin-overflow":""}"${ne.overflow?"":` data-id="${Oe(ne.text)}"`}><rect x="${d(W.cx-ne.w/2)}" y="${d(V)}" width="${d(ne.w)}" height="${d(ne.h)}" fill="var(--_bg)" stroke="var(--_b)"${ne.overflow?' stroke-dasharray="3 2"':""}${ct}/>`+De(ne.label,W.cx,V+ne.h/2,` class="pele-label" font-size="${s}"${ne.overflow?' fill="var(--_m)"':""}`,l)+"</g>",V+=ne.h;return`<g class="pele-cynefin-domain" data-id="${W.name}">${re}</g>`},K=new Map,L="";F2.forEach(([W,V,re],ne)=>{let ce=m[ne];ce.cx=U+S*(V+.5),ce.cy=k+R*(re+.5),K.set(W,ce),L+=G(ce)}),x.cx=j,x.cy=X,K.set("confusion",x),L+=G(x);let _=(W,V,re)=>W===x?((V-j)/(y+4))**2+((re-X)/(C+4))**2<=1:Math.abs(V-W.cx)<=W.w/2+8&&Math.abs(re-W.cy)<=W.h/2+8,B="",q=new Map;for(let W of e.transitions){let V=K.get(W.from),re=K.get(W.to);if(!V||!re||V===re)continue;let ne=W.from<W.to?`${W.from} ${W.to}`:`${W.to} ${W.from}`,ce=q.get(ne)??0;q.set(ne,ce+1);let ie=re.cx-V.cx,se=re.cy-V.cy,ee=Math.hypot(ie,se)||1,te=(V.cx+re.cx)/2,he=(V.cy+re.cy)/2,me=-se*(te-j)+ie*(he-X)>=0?1:-1,oe=-se/ee*me,be=ie/ee*me,de=(V!==x&&re!==x&&Math.abs(ie)>1&&Math.abs(se)>1?2*(Math.hypot(y*oe,C*be)+16):ee*.15)+ce*56,pe=te+oe*de,Ee=he+be*de,ve=xe=>{let Ce=1-xe;return[Ce*Ce*V.cx+2*Ce*xe*pe+xe*xe*re.cx,Ce*Ce*V.cy+2*Ce*xe*Ee+xe*xe*re.cy]},le=(xe,Ce,ke,_e)=>{for(let Te=0;Te<16;Te++){let Ue=(Ce+ke)/2;_(xe,...ve(Ue))===_e?Ce=Ue:ke=Ue}return(Ce+ke)/2},fe=48,Ae=1;for(;Ae<=fe&&_(V,...ve(Ae/fe));)Ae++;if(Ae>fe)continue;let Ie=le(V,(Ae-1)/fe,Ae/fe,!0);for(;Ae<=fe&&!_(re,...ve(Ae/fe));)Ae++;let Re=Ae>fe?1:le(re,(Ae-1)/fe,Ae/fe,!1),[Pe,ue]=ve(Ie),[we,$e]=ve(Re),ye=(xe,Ce,ke)=>(1-Ie)*(1-Re)*xe+((1-Ie)*Re+Ie*(1-Re))*Ce+Ie*Re*ke,Se=ye(V.cx,pe,re.cx),Ne=ye(V.cy,Ee,re.cy),Ge=Math.hypot(we-Se,$e-Ne)||1,Fe=(we-Se)/Ge,z=($e-Ne)/Ge,ge=vt("arrow_point",we,$e,Fe,z,"var(--_l)");we-=Fe*wt("arrow_point"),$e-=z*wt("arrow_point");let ae="";if(W.label){let xe=We(W.label,!1,o,i,rk),[Ce,ke]=ve((Ie+Re)/2),_e=Math.abs(oe)*xe.width/2+Math.abs(be)*xe.height/2+6,Te=xe.width/2+4,Ue=Math.min(Math.max(Ce+oe*_e,U+Te),Math.max(P-Te,U+Te));ae=De(xe,Ue,ke+be*_e,` class="pele-edge-label" font-size="${i}"`,l)}B+=`<g class="pele-edge" data-id="${W.from}-${W.to}"><path d="M${d(Pe)},${d(ue)}Q${d(Se)},${d(Ne)} ${d(we)},${d($e)}" fill="none" stroke="var(--_l)"/>`+ge+ae+"</g>"}let Q=Math.ceil(Math.max(O,N.width)+2*n),Z=Math.ceil(H+D+2*n),J=De(N,U+O/2,n+N.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g class="pele-cynefin-regions">${T}</g>`+M+Y+L+(B?`<g class="pele-edges">${B}</g>`:"");return{svg:rt("cynefin",Q,Z,a,r,e,J),width:Q,height:Z,links:[]}}var MW,Zv,IW,ek,F2,RW,_W,tk,rk,LW,OW,Kp,ak,ik,qp,sk,nk=Xe(()=>{_a();Lr();xt();Mt();MW=class{domains=new Map;transitions=[];setDomains(e){if(e)for(let t of e){let r=t.domain;this.domains.set(r,{name:r,items:(t.items??[]).map(a=>({label:a.label}))})}}setTransitions(e){e&&(this.transitions=e.filter(t=>t.from!==t.to).map(t=>({from:t.from,to:t.to,label:t.label||void 0})))}};Zv=[{name:"cynefin-beta:",pattern:"cynefin-beta:"},$r("cynefin-beta"),{name:"-->",pattern:"-->"},{name:":",pattern:":"},{name:"DOMAIN_NAME",pattern:/complex|complicated|clear|chaotic|confusion/y},Or,br,yr,Ra,ha,da,nr,vr,kr];IW={segments:7,vertical:!0,pointStep:17,controlStep:31,controlShift:7},ek={segments:7,vertical:!1,pointStep:23,controlStep:37,controlShift:11};F2=[["complex",0,0,0],["complicated",1,0,1],["chaotic",0,1,3],["clear",1,1,2]],RW=4,_W=new Map([["complex",["Complex","Probe \u2192 Sense \u2192 Respond","Emergent Practices"]],["complicated",["Complicated","Sense \u2192 Analyse \u2192 Respond","Good Practices"]],["clear",["Clear","Sense \u2192 Categorise \u2192 Respond","Best Practices"]],["chaotic",["Chaotic","Act \u2192 Sense \u2192 Respond","Novel Practices"]],["confusion",["Confusion","","Disorder"]]]),tk=3,rk=200,LW=10,OW=4,Kp=6,ak=10,ik=20,qp=10;sk={type:"cynefin",parse:(e,t,r)=>vW(kW(e),r),render:BW}});var ok={};Bt(ok,{cynefin:()=>sk});var lk=Xe(()=>{nk()});function Vp(e,t){let r=e<=1?e*100:e;if(r<0||r>100)throw new je(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`,"semantic",{type:"wardley"});return r}function $o(e,t,r){return{x:Vp(t,`${r} evolution`),y:Vp(e,`${r} visibility`)}}function uk(e){return e==="+<>"?"bidirectional":e==="+<"?"backward":e==="+>"?"forward":void 0}function WW(e){if(!e?.startsWith("+"))return{};let t=e.indexOf("'",2),r=e[1]==="'"&&t!==-1?e.slice(2,t):void 0;return e.includes("<>")?{flow:"bidirectional",label:r}:e.includes("<")?{flow:"backward",label:r}:e.includes(">")?{flow:"forward",label:r}:{label:r}}function ck(e){return e?[(e.negX?-1:1)*e.offsetX,(e.negY?-1:1)*e.offsetY]:[void 0,void 0]}function HW(e,t){e.size&&t.setSize(e.size.width,e.size.height),e.evolution&&t.setAxes({stages:e.evolution.stages.map(r=>r.secondName?`${r.name.trim()} / ${r.secondName.trim()}`:r.name.trim()),stageBoundaries:e.evolution.stages.filter(r=>r.boundary!==void 0).map(r=>r.boundary)});for(let r of e.anchors){let a=$o(r.visibility,r.evolution,`Anchor "${r.name}"`);t.addNode({id:r.name,label:r.name,x:a.x,y:a.y,className:"anchor"})}for(let r of e.components){let a=$o(r.visibility,r.evolution,`Component "${r.name}"`),[i,s]=ck(r.label);t.addNode({id:r.name,label:r.name,x:a.x,y:a.y,className:"component",labelOffsetX:i,labelOffsetY:s,inertia:r.inertia,sourceStrategy:r.decorator?.strategy})}for(let r of e.notes){let a=$o(r.visibility,r.evolution,`Note "${r.text}"`);t.addNote({text:r.text,x:a.x,y:a.y})}for(let r of e.pipelines){let a=t.getNode(r.parent);if(!a||typeof a.y!="number")throw new je(`Pipeline "${r.parent}" must reference an existing component with coordinates.`,"semantic",{type:"wardley"});let i=a.y;t.startPipeline(r.parent);for(let s of r.components){let o=`${r.parent}_${s.name}`,[n,l]=ck(s.label),u=Vp(s.evolution,`Pipeline component "${s.name}" evolution`);t.addNode({id:o,label:s.name,x:u,y:i,className:"pipeline-component",labelOffsetX:n,labelOffsetY:l,inertia:void 0,sourceStrategy:void 0}),t.addPipelineComponent(r.parent,o)}}for(let r of e.links){let a=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-.")),i=WW(r.arrow),s=uk(r.fromPort)??uk(r.toPort)??i.flow;t.addLink({source:t.resolveNodeId(r.from),target:t.resolveNodeId(r.to),dashed:a,label:i.label??r.linkLabel,flow:s})}for(let r of e.evolves){let a=t.getNode(r.component);a?.y!==void 0&&t.addTrend({nodeId:r.component,targetX:Vp(r.target,`Evolve target for "${r.component}"`),targetY:a.y})}if(e.annotations.length>0){let r=$o(e.annotations[0].x,e.annotations[0].y,"Annotations box");t.setAnnotationsBox(r.x,r.y)}for(let r of e.annotation){let a=$o(r.x,r.y,`Annotation ${r.number}`);t.addAnnotation({number:r.number,coordinates:[{x:a.x,y:a.y}],text:r.text})}for(let r of e.accelerators){let a=$o(r.x,r.y,`Accelerator "${r.name}"`);t.addAccelerator({name:r.name,x:a.x,y:a.y})}for(let r of e.deaccelerators){let a=$o(r.x,r.y,`Deaccelerator "${r.name}"`);t.addDeaccelerator({name:r.name,x:a.x,y:a.y})}}function PW(e,t){let r=new FW;return HW(e,r),{type:"wardley",title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,""):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
141
+ `):void 0,...r.build()}}function hk(e,t){let r=t;for(let a=e.charCodeAt(r);a>=48&&a<=57;a=e.charCodeAt(r))r++;return r}function GW(){let e=0,t=0;return(r,a)=>{if((a<e||a>=t)&&(e=a,t=hk(r,a)),t===a||r.charCodeAt(t)!==46)return-1;let i=hk(r,t+1);return i>t+1?i:-1}}function UW(e){let t=new cr(sr(e,pk,"wardley"),pk,"wardley"),r={$type:"Wardley",anchors:[],components:[],links:[],evolves:[],pipelines:[],notes:[],annotations:[],annotation:[],accelerators:[],deaccelerators:[]},a=g=>t.kinds[t.i]===g,i=()=>a(36)||a(37)||a(30),s=()=>a(36)?Qr(t.take()):a(37)||a(30)?t.take():t.fail("a name"),o=()=>Number(t.expect(10)),n=()=>parseInt(t.expect(35)),l=()=>a(10)?Number(t.take()):parseInt(t.expect(35)),u=()=>{if(!a(-1))for(a(38)||t.fail("a line break or the end of input");a(38);)t.i++},c=g=>{t.expect(0);let p=g();t.expect(1);let m=g();return t.expect(2),[p,m]},f=()=>{t.expect(21),t.expect(0);let g=t.accept(7),p=n();t.expect(1);let m=t.accept(7),x=n();return t.expect(2),{$type:"Label",negX:g,offsetX:p,negY:m,offsetY:x}},h=()=>{let g={$type:"EvolutionStage",name:s()};return t.accept(3)&&(g.boundary=o()),t.accept(4)&&(g.secondName=s()),g};for(;a(38);)t.i++;for(t.expect(16);!a(-1);)switch(t.kind){case 38:t.i++;break;case 32:r.accDescr=ur(t.take()),u();break;case 33:r.accTitle=lr(t.take()),u();break;case 34:r.title=or(t.take()),u();break;case 17:{t.i++;let[g,p]=c(n);u(),r.size={$type:"Size",width:g,height:p};break}case 18:{t.i++;let g=[h()];for(t.expect(11),g.push(h());t.accept(11);)g.push(h());u(),r.evolution={$type:"Evolution",stages:g};break}case 19:{t.i++;let g=s(),[p,m]=c(o);u(),r.anchors.push({$type:"Anchor",name:g,visibility:p,evolution:m});break}case 20:{t.i++;let g={$type:"Component",name:s(),visibility:0,evolution:0,inertia:!1};[g.visibility,g.evolution]=c(o),a(21)&&(g.label=f()),a(5)&&t.kinds[t.i+1]===15&&(t.i++,g.decorator={$type:"Decorator",strategy:t.take()},t.expect(6)),t.accept(22)?g.inertia=!0:t.accept(5)&&(t.expect(22),t.expect(6),g.inertia=!0),u(),r.components.push(g);break}case 23:{t.i++;let g=s(),p=o();u(),r.evolves.push({$type:"Evolve",component:g,target:p});break}case 24:{t.i++;let g=s();for(t.expect(8),t.expect(38);a(38);)t.i++;let p=[];do{t.expect(20);let m={$type:"PipelineComponent",name:s(),evolution:0};t.expect(0),m.evolution=o(),t.expect(2),a(21)&&(m.label=f()),u(),p.push(m)}while(a(20));t.expect(9),u(),r.pipelines.push({$type:"Pipeline",parent:g,components:p});break}case 25:{t.i++;let g=Qr(t.expect(36)),[p,m]=c(o);u(),r.notes.push({$type:"Note",text:g,visibility:p,evolution:m});break}case 26:{t.i++;let[g,p]=c(l);u(),r.annotations.push({$type:"Annotations",x:g,y:p});break}case 27:{t.i++;let g=n();t.expect(1);let[p,m]=c(l),x=Qr(t.expect(36));u(),r.annotation.push({$type:"Annotation",number:g,x:p,y:m,text:x});break}case 28:case 29:{let g=t.kind===29;t.i++;let p=s(),[m,x]=c(o);u(),g?r.deaccelerators.push({$type:"Deaccelerator",name:p,x:m,y:x}):r.accelerators.push({$type:"Accelerator",name:p,x:m,y:x});break}default:{i()||t.fail("a statement");let g={$type:"Link",from:s(),to:""};a(12)&&(g.fromPort=t.take()),(a(13)||a(11))&&(g.arrow=t.take()),g.to=s(),a(12)&&(g.toPort=t.take()),a(14)&&(g.linkLabel=t.take().substring(1).trim()),u(),r.links.push(g)}}return r}function QW(e,t,r,a,i){let s=e["wardley-beta"]?.[t];return typeof s=="number"&&s>=a&&s<=i?s:r}function Ql(e,t,r){return e<t?t:e>r?r:e}function mk(e,t,r,a){let i=Hs(e),s="",o=r;for(let n of e.lines){let l=!0;for(let u of n){if(u.icon!==void 0)continue;let c=ls(u.style&~i);s+=`<tspan${l?` x="${d(t)}" y="${d(o)}"`:""}${c}>${Je(u.text)}</tspan>`,l=!1}o+=e.lineHeight}return s===""?"":`<text${Ri(a,i)} xml:space="preserve">${s}</text>`}function Ak(e,t,r,a){let i=typeof t=="number"&&Number.isFinite(t)?t:QW(e,r,a,1,1e6);return Ql(i,200,1e4)-2*KW}function VW(e,t,r){let a=Ak(t,e.size?.width,"width",900);return yn(r,a,160,(i,s)=>jW(e,t,r,i,a,s))}function jW(e,t,r,a,i,s){let o=r.fontSize??16,n=Math.round(o*.8125),l=Math.round(o*.6875),u=r.measurer??at(r.fontFamily),c=r.padding??8,f=Ak(t,e.size?.height,"height",600)*Math.max(.75,a/i),h=t["wardley-beta"]?.showGrid===!0,g=0,p=0,m=a,x=f,y=(oe,be,de,pe)=>{oe<g&&(g=oe),be<p&&(p=be),de>m&&(m=de),pe>x&&(x=pe)},C=(oe,be,de,pe)=>(y(be-oe.width/2,de-oe.height/2,be+oe.width/2,de+oe.height/2),De(oe,be,de,pe,r.icons)),S=(oe,be,de,pe)=>(y(be,de-oe.size,be+oe.width,de-oe.size+oe.height+4),mk(oe,be,de,pe)),R=(oe,be,de=s?Math.max(64,Math.min(120,a/2)):4e3,pe=0)=>We(oe,!1,u,be,de,pe),N=oe=>oe/100*a,D=oe=>f-oe/100*f,O=e.axes.stages&&e.axes.stages.length>0?e.axes.stages:YW,H=e.axes.stageBoundaries,U=H!==void 0&&H.length===O.length,k="",j="",X=f,P=0;if(O.forEach((oe,be)=>{let de=U?P:be/O.length,pe=U?Ql(H[be],0,1):(be+1)/O.length;P=pe,be>0&&(k+=`<path class="pele-wardley-stage" d="M${d(de*a)},0V${d(f)}" stroke="var(--_b)" stroke-dasharray="4 4"/>`);let Ee=R(oe,n,Math.max(48,Math.abs(pe-de)*a-12));j+=C(Ee,(de+pe)/2*a,f+8+Ee.height/2,` class="pele-wardley-stage-label" font-size="${n}" fill="var(--_m)"`),X=Math.max(X,f+8+Ee.height)}),h)for(let oe=1;oe<4;oe++)k+=`<path class="pele-wardley-grid" d="M${d(a*oe/4)},0V${d(f)}M0,${d(f*oe/4)}H${d(a)}" stroke="var(--_b)" stroke-dasharray="2 6"/>`;k+=`<path class="pele-wardley-axis" d="M0,0V${d(f)}H${d(a)}" stroke="${Za}"/>`;let F=R(e.axes.xLabel??"Evolution",n),I=R(e.axes.yLabel??"Visibility",n),$=` class="pele-wardley-axis-label" font-size="${n}" font-weight="var(--_hw)"`,w=C(F,a/2,X+6+F.height/2,$)+De(I,-16,f/2,`${$} transform="rotate(-90 -16 ${d(f/2)})"`);y(-16-I.height/2,0,0,0);let A=X+6+F.height+10,v=new Map;for(let oe of e.nodes)v.set(oe.id,{x:N(oe.x),y:D(oe.y),node:oe});let b="",T=new Map;for(let oe of e.pipelines){T.set(oe.nodeId,new Set(oe.componentIds));let be=[];for(let fe of oe.componentIds){let Ae=v.get(fe);Ae&&be.push(Ae)}if(be.length===0)continue;be.sort((fe,Ae)=>fe.x-Ae.x);let de=be[0].x,pe=be[be.length-1].x,Ee=be[0].y,ve=Ee-2*ar,le=v.get(oe.nodeId);le&&(le.x=(de+pe)/2,le.y=ve-To/6),y(de-Qp,ve,pe+Qp,ve+4*ar),b+=`<g class="pele-wardley-pipeline" data-id="${Oe(oe.nodeId)}"><rect x="${d(de-Qp)}" y="${d(ve)}" width="${d(pe-de+2*Qp)}" height="${d(4*ar)}" fill="var(--_s)" stroke="var(--_b)"${ct}/>`+(be.length>1?`<path d="M${d(de)},${d(Ee)}H${d(pe)}" stroke="${Za}" stroke-dasharray="4 4"/>`:"")+"</g>"}let M=new Map,E=(oe,be,de)=>{let pe=oe.node;if(pe.className==="anchor"){let Ee=M.get(pe);return Ee||M.set(pe,Ee=R(pe.label,n,s?Math.max(64,a/2):4e3,1)),1/Math.hypot(be/(Ee.width/2+5),de/(n*.8))}return pe.isPipelineParent?To/Math.SQRT2:pe.sourceStrategy?2*ar:ar},Y=new Map,G=(oe,be,de)=>{Math.abs(be)<.25||Math.abs(de)<.25||Y.set(oe,(Y.get(oe)??0)|(be>0?de<0?1:2:de<0?4:8))},K="";for(let oe of e.links){let be=v.get(oe.source),de=v.get(oe.target);if(!be||!de||be===de||T.get(oe.target)?.has(oe.source))continue;let pe=de.x-be.x,Ee=de.y-be.y,ve=Math.hypot(pe,Ee);if(ve<.01)continue;let le=pe/ve,fe=Ee/ve,Ae=E(be,le,fe),Ie=E(de,le,fe);if(Ae+Ie>=ve)continue;G(be,le,fe),G(de,-le,-fe);let Re=be.x+le*Ae,Pe=be.y+fe*Ae,ue=de.x-le*Ie,we=de.y-fe*Ie,$e="";(oe.flow==="forward"||oe.flow==="bidirectional")&&($e+=vt("arrow_point",ue,we,le,fe,Za),ue-=le*wt("arrow_point"),we-=fe*wt("arrow_point")),(oe.flow==="backward"||oe.flow==="bidirectional")&&($e+=vt("arrow_point",Re,Pe,-le,-fe,Za),Re+=le*wt("arrow_point"),Pe+=fe*wt("arrow_point"));let ye="";if(oe.label){let Se=R(oe.label,l+1,200),Ne=le>=0?1:-1,Ge=fe*Ne,Fe=-le*Ne,z=5+Math.abs(Ge)*Se.width/2+Math.abs(Fe)*Se.height/2;ye=C(Se,(be.x+de.x)/2+Ge*z,(be.y+de.y)/2+Fe*z,` class="pele-edge-label" font-size="${l+1}" fill="var(--_m)"`)}K+=`<g class="pele-edge${oe.dashed?" pele-wardley-dashed":""}" data-id="${Oe(oe.source)}-${Oe(oe.target)}"><path d="M${d(Re)},${d(Pe)}L${d(ue)},${d(we)}" stroke="${Za}"${oe.dashed?' stroke-dasharray="6 6"':""}/>`+$e+ye+"</g>"}let L="";for(let oe of e.trends){let be=v.get(oe.nodeId);if(!be)continue;let de=N(oe.targetX),pe=D(oe.targetY),Ee=de-be.x,ve=pe-be.y,le=Math.hypot(Ee,ve),fe="",Ae=le>0?E(be,Ee/le,ve/le):0;if(le>Ae+ar+4){let Ie=Ee/le,Re=ve/le,Pe=de-Ie*(ar+2),ue=pe-Re*(ar+2);fe=`<path d="M${d(be.x+Ie*Ae)},${d(be.y+Re*Ae)}L${d(Pe-Ie*wt("arrow_point"))},${d(ue-Re*wt("arrow_point"))}" stroke="${W2}" stroke-dasharray="4 4"/>`+vt("arrow_point",Pe,ue,Ie,Re,W2)}y(de-ar,pe-ar,de+ar,pe+ar),L+=`<g class="pele-wardley-trend" data-id="${Oe(oe.nodeId)}">${fe}<circle cx="${d(de)}" cy="${d(pe)}" r="${ar}" fill="var(--_bg)" stroke="${W2}"/></g>`}let _="",B=1.2*ar,q=.7*ar;for(let oe of v.values()){let be=oe.node,{x:de,y:pe}=oe,Ee=be.className==="anchor",ve=be.sourceStrategy,le="";if(ve){let Re=ve==="outsource"?"var(--_m)":ve==="buy"?"var(--_a)":ve==="build"?"var(--_s)":"var(--_bg)";le+=`<circle class="pele-wardley-${ve}" cx="${d(de)}" cy="${d(pe)}" r="${2*ar}" fill="${Re}" stroke="${Za}"/>`}if(ve==="market"){let Re=B*Math.cos(Math.PI/6),Pe=pe+B*Math.sin(Math.PI/6);le+=`<path d="M${d(de)},${d(pe-B)}L${d(de-Re)},${d(Pe)}H${d(de+Re)}Z" fill="none" stroke="${Za}"/>`;for(let[ue,we]of[[de,pe-B],[de-Re,Pe],[de+Re,Pe]])le+=`<circle cx="${d(ue)}" cy="${d(we)}" r="${d(q)}" fill="var(--_bg)" stroke="${Za}"/>`}else be.isPipelineParent?le+=`<rect x="${d(de-To/2)}" y="${d(pe-To/2)}" width="${To}" height="${To}" fill="var(--_bg)" stroke="${Za}"/>`:Ee||(le+=`<circle cx="${d(de)}" cy="${d(pe)}" r="${ar}" fill="var(--_bg)" stroke="${Za}"/>`);if(be.inertia===!0){let Re=(be.isPipelineParent?To/2:ar)+10+(ve?ar+4:0);le+=`<rect class="pele-wardley-inertia" x="${d(de+Re)}" y="${d(pe-ar)}" width="4" height="${2*ar}" fill="${Za}"/>`}let fe=be.labelOffsetX===void 0?void 0:Ql(be.labelOffsetX,-5e3,5e3),Ae=be.labelOffsetY===void 0?void 0:Ql(be.labelOffsetY,-5e3,5e3),Ie;if(Ee){let Re=M.get(be)??R(be.label,n,s?Math.max(64,a/2):4e3,1);Ie=C(Re,de+(fe??0),pe+(Ae??-3),` class="pele-label" font-size="${n}" font-weight="var(--_hw)"`)}else{let Re=R(be.label,n),Pe=` class="pele-label" font-size="${n}"`,ue=qW+(ve?10:0);if(fe!==void 0||Ae!==void 0)Ie=S(Re,de+(fe??ue),pe+(Ae??-ue),Pe);else if(be.inPipeline)Ie=C(Re,de,pe+2*ar+4+Re.height/2,Pe);else{let we=Y.get(oe)??0,$e=we&1?we&2?we&4?we&8?1:8:4:2:1,ye=$e===1||$e===2,Se=$e===1||$e===4;Ie=S(Re,ye?de+ue:de-ue-Re.width,Se?pe-ue:pe+ue+n*.75,Pe)}}y(de-2*ar,pe-2*ar,de+2*ar+20,pe+2*ar),_+=`<g class="pele-node pele-wardley-${Ee?"anchor":be.isPipelineParent?"pipeline-parent":be.inPipeline?"pipeline-component":"component"}" data-id="${Oe(be.id)}">${le}${Ie}</g>`}let Q="";for(let oe of e.annotations){let be=R(String(oe.number),l,4e3,1),de="";for(let pe of oe.coordinates){let Ee=N(pe.x),ve=D(pe.y),le=Math.max(10,be.width/2+4);y(Ee-le,ve-le,Ee+le,ve+le),de+=`<circle cx="${d(Ee)}" cy="${d(ve)}" r="${d(le)}" fill="var(--_bg)" stroke="${Za}"/>`+De(be,Ee,ve,` font-size="${l}" font-weight="var(--_hw)"`)}Q+=`<g class="pele-wardley-annotation" data-id="${Oe(String(oe.number))}">${de}</g>`}let Z=e.annotations.filter(oe=>oe.text).sort((oe,be)=>oe.number-be.number);if(Z.length>0){let oe=Z.map(Ae=>R(`${Ae.number}. ${Ae.text}`,n,s?Math.max(80,a-20):320)),be=0,de=0;for(let Ae of oe)be=Math.max(be,Ae.width),de+=Ae.height;be+=20,de+=14;let pe=e.annotationsBox,Ee=pe?Ql(N(pe.x),0,Math.max(0,a-be)):0,ve=pe?Ql(D(pe.y),0,Math.max(0,f-de)):A;y(Ee,ve,Ee+be,ve+de);let le="",fe=ve+7;for(let Ae of oe)le+=mk(Ae,Ee+10,fe+Ae.lineHeight/2+n*.35,` font-size="${n}"`),fe+=Ae.height;Q+=`<g class="pele-wardley-annotations"><rect x="${d(Ee)}" y="${d(ve)}" width="${d(be)}" height="${d(de)}" fill="var(--_bg)" stroke="var(--_b)"${ct}/>${le}</g>`}let J="";for(let oe of e.notes)J+=S(R(oe.text,n,Math.min(360,a*.6),1),N(oe.x),D(oe.y),` class="pele-wardley-note" font-size="${n}" font-weight="var(--_hw)"`);let W="",V=(oe,be,de,pe)=>{let Ee=N(be),ve=D(de),le=zW/2,fe=pe?Ee+fh:Ee,Ae=pe?Ee:Ee+fh,Ie=pe?Ee+fh-gk:Ee+gk,Re=`M${d(Ae)},${d(ve-le)}H${d(Ie)}V${d(ve-le-8)}L${d(fe)},${d(ve)}L${d(Ie)},${d(ve+le+8)}V${d(ve+le)}H${d(Ae)}Z`;y(Ee,ve-le-8,Ee+fh,ve+le+8),W+=`<g class="pele-wardley-${pe?"accelerator":"deaccelerator"}" data-id="${Oe(oe)}"><path d="${Re}" fill="var(--_s)" stroke="${Za}"/>`+C(R(oe,l+1,160,1),Ee+fh/2,ve+le+8+12,` font-size="${l+1}" font-weight="var(--_hw)"`)+"</g>"};for(let oe of e.accelerators)V(oe.name,oe.x,oe.y,!0);for(let oe of e.deaccelerators)V(oe.name,oe.x,oe.y,!1);let re=We(e.title,!1,u,o,s?Math.max(80,a):4e3,1),ne=re.height>0?re.height+12:0,ce=Math.min(g,a/2-re.width/2),ie=Math.max(m,a/2+re.width/2),se=c-ce,ee=c+ne-p,te=Math.ceil(ie-ce+2*c),he=Math.ceil(x-p+ne+2*c),me=De(re,se+a/2,c+re.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g transform="translate(${d(se)},${d(ee)})"><g class="pele-wardley-frame" fill="none">${k}</g>`+j+w+b+(K?`<g class="pele-edges" fill="none">${K}</g>`:"")+(L?`<g class="pele-wardley-trends" fill="none">${L}</g>`:"")+_+Q+J+W+"</g>";return{svg:rt("wardley",te,he,o,r,e,me),width:te,height:he,links:[]}}var FW,dk,fk,Ba,pk,YW,KW,ar,To,qW,Qp,fh,zW,gk,W2,Za,bk,yk=Xe(()=>{Wp();zt();_a();Lr();xt();Mt();FW=class{nodes=new Map;labels;links=[];trends=new Map;pipelines=new Map;annotations=[];notes=[];accelerators=[];deaccelerators=[];annotationsBox;axes={};size;addNode(e){let t=this.nodes.get(e.id)??{id:e.id,label:e.label};this.nodes.set(e.id,{...t,...e,className:e.className??t.className,labelOffsetX:e.labelOffsetX??t.labelOffsetX,labelOffsetY:e.labelOffsetY??t.labelOffsetY}),this.labels=void 0}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let t=this.nodes.get(e);t&&(t.isPipelineParent=!0)}addPipelineComponent(e,t){this.pipelines.get(e)?.componentIds.push(t);let r=this.nodes.get(t);r&&(r.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,t){this.annotationsBox={x:e,y:t}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,t){this.size={width:e,height:t}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;if(!this.labels){this.labels=new Map;for(let[t,r]of this.nodes)this.labels.has(r.label)||this.labels.set(r.label,t)}return this.labels.get(e)??e}build(){let e=[];for(let t of this.nodes.values()){if(typeof t.x!="number"||typeof t.y!="number")throw new je(`Node "${t.label}" is missing coordinates`,"semantic",{type:"wardley"});e.push(t)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}};dk={name:"ARROW",pattern:/->/y,first:"-"},fk={name:"LINK_ARROW",pattern:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/y,first:"->+"},Ba=(e,t)=>({name:e,pattern:new RegExp(t,"y"),first:t[0]}),pk=[{name:"[",pattern:"["},{name:",",pattern:","},{name:"]",pattern:"]"},{name:"@",pattern:"@"},{name:"/",pattern:"/"},{name:"(",pattern:"("},{name:")",pattern:")"},{name:"-",pattern:"-",longer:[dk,fk,nr]},{name:"{",pattern:"{"},{name:"}",pattern:"}"},{name:"WARDLEY_NUMBER",pattern:/[0-9]+\.[0-9]+/y,first:"0123456789",scanner:GW},dk,{name:"LINK_PORT",pattern:/\+<>|\+>|\+</y,first:"+"},fk,{name:"LINK_LABEL",pattern:/;[^\n\r]+/y,first:";"},{name:"STRATEGY",pattern:/build|buy|outsource|market/y,first:"bom"},Ba("KW_WARDLEY","wardley-beta"),Ba("KW_SIZE","size"),Ba("KW_EVOLUTION","evolution"),Ba("KW_ANCHOR","anchor"),Ba("KW_COMPONENT","component"),Ba("KW_LABEL","label"),Ba("KW_INERTIA","inertia"),Ba("KW_EVOLVE","evolve"),Ba("KW_PIPELINE","pipeline"),Ba("KW_NOTE","note"),Ba("KW_ANNOTATIONS","annotations"),Ba("KW_ANNOTATION","annotation"),Ba("KW_ACCELERATOR","accelerator"),Ba("KW_DEACCELERATOR","deaccelerator"),{name:"NAME_WITH_SPACES",pattern:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/y,first:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},{name:"WS",pattern:/[ \t]+/y,hidden:!0,first:" "},zl(),br,yr,{name:"INT",pattern:/0|[1-9][0-9]*(?!\.)/y,first:"0123456789"},Ra,{name:"ID",pattern:/[\w]([-\w]*\w)?/y,first:"_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},ha,da,nr,vr,kr];YW=["Genesis","Custom Built","Product","Commodity"],KW=48,ar=6,To=10,qW=8,Qp=15,fh=60,zW=30,gk=20,W2="var(--_c)",Za="var(--_l)";bk={type:"wardley",section:"wardley-beta",parse:(e,t,r)=>PW(UW(e),r),render:VW}});var xk={};Bt(xk,{wardley:()=>bk});var wk=Xe(()=>{yk()});function JW(e){return e==="ui"||e==="processor"?"trigger":e==="event"?"stream":"state"}function H2(e){let t=e.indexOf("{"),r=e.lastIndexOf("}"),a=(t!==-1&&r>t?e.slice(t+1,r):t===-1&&e.length>=2?e.slice(1,-1):"").replace(/\r/g,"").split(`
142
+ `);for(;a.length>0&&a[0].trim()==="";)a.shift();for(;a.length>0&&a[a.length-1].trim()==="";)a.pop();let i=1/0;for(let s of a)s.trim()!==""&&(i=Math.min(i,s.length-s.trimStart().length));return a.map(s=>s.slice(Math.min(i,s.length)).trimEnd()).join(`
143
+ `)}function eH(e,t){let r=new Set;for(let f of e.frames){if(r.has(f.name)){let h=pc(e.$source,f.$offset).line;throw new je(`Duplicate event modeling frame ID "${f.name}" on line ${h}`,"semantic",{type:"eventmodeling",line:h})}r.add(f.name)}let a=new Map;for(let f of e.dataEntities)a.has(f.name)||a.set(f.name,f.dataBlockValue);let i=new Map,s=new Map,o=(f,h)=>{let g=JW(f),p=h===void 0?g:`${g} ${h}`,m=i.get(p);if(!m){let[x,y,C]=ZW.get(g),S=x;h!==void 0&&(S=s.get(g)??x+1,s.set(g,S+1)),m={index:S,label:h===void 0?y:C+h,group:g,namespace:h},i.set(p,m)}return m},n=[],l=new Map,u=[];e.frames.forEach((f,h)=>{let g=f.entityIdentifier.split("."),p=g.length===2?g[0]:void 0,m=XW.get(f.modelEntityType)??"event",x=f.dataInlineValue===void 0?void 0:H2(f.dataInlineValue);if(f.dataReference){let C=a.get(f.dataReference.$refText);C!==void 0&&(x=H2(C))}let y={id:f.name,kind:m,entity:f.entityIdentifier,name:g.length===2?g[1]:f.entityIdentifier,namespace:p,reset:f.$type==="EmResetFrame",lane:o(m,p),data:x,dataType:f.dataType};if(n.push(y),l.set(y.id,y),f.sourceFrames.length>0){let C=new Set(f.sourceFrames.map(S=>S.$refText));for(let S of n)C.has(S.id)&&u.push({source:S,target:y})}else if(h>0&&!y.reset){for(let C=h-1;C>=0;C--)if(n[C].lane!==y.lane){u.push({source:n[C],target:y});break}}});let c=f=>f.map(h=>h.entityIdentifier.$refText);return{type:"eventmodeling",title:e.title&&or(e.title)||t,accTitle:e.accTitle?lr(e.accTitle).replace(/^\s+/g,""):void 0,accDescr:e.accDescr?ur(e.accDescr).replace(/\n\s+/g,`
144
+ `):void 0,boxes:n,lanes:[...i.values()].sort((f,h)=>f.index-h.index),relations:u,notes:e.noteEntities.map(f=>({frame:f.sourceFrame.$refText,text:H2(f.dataBlockValue),dataType:f.dataType})),specifications:e.gwtEntities.map(f=>({frame:f.sourceFrame.$refText,given:c(f.givenStatements),when:c(f.whenStatements),then:c(f.thenStatements)})),entities:e.modelEntities.map(f=>f.name)}}function iH(e){let t=new cr(sr(e,Y2,"eventmodeling"),Y2,"eventmodeling"),r={$type:"EventModel",modelEntities:[],frames:[],dataEntities:[],noteEntities:[],gwtEntities:[],$source:e},a=l=>t.kinds[t.i]===l,i=(l,u)=>l.has(t.kinds[t.i])?t.take():t.fail(u),s=()=>{let l=t.expect(Kt.id);for(;t.accept(Kt.dot);)l+="."+t.expect(Kt.id);return l},o=()=>{if(!t.accept(Kt.tick))return;let l=i(aH,"a data type");return t.expect(Kt.tick),l},n=()=>{let l=[];do i(P2,"an entity type"),l.push({$type:"EmGwtStatement",entityIdentifier:{$refText:t.expect(Kt.id)}});while(P2.has(t.kinds[t.i]));return l};for(t.expect(Kt.keyword);!a(-1);){let l=t.kinds[t.i];if(l===Kt.accDescr)r.accDescr=t.take();else if(l===Kt.accTitle)r.accTitle=t.take();else if(l===Kt.title)r.title=t.take();else if(l===Kt.entity)t.i++,r.modelEntities.push({$type:"EmModelEntity",name:s()});else if(Sk.has(l)||rH.has(l)){let u={$type:Sk.has(l)?"EmTimeFrame":"EmResetFrame",name:"",modelEntityType:"",entityIdentifier:"",sourceFrames:[],$offset:t.tokens.starts[t.i]};for(t.i++,u.name=t.expect(Kt.frameId),u.modelEntityType=i(P2,"an entity type"),u.entityIdentifier=s();t.accept(Kt.arrow);)u.sourceFrames.push({$refText:t.expect(Kt.frameId)});if(t.accept(Kt.open)&&(u.dataReference={$refText:t.expect(Kt.id)},t.expect(Kt.close)),a(Kt.tick)||a(Kt.inline)){let c=o();c!==void 0&&(u.dataType=c),u.dataInlineValue=t.expect(Kt.inline)}r.frames.push(u)}else if(l===Kt.data){t.i++;let u={$type:"EmDataEntity",name:t.expect(Kt.id),dataBlockValue:""},c=o();c!==void 0&&(u.dataType=c),u.dataBlockValue=t.expect(Kt.block),r.dataEntities.push(u)}else if(l===Kt.note){t.i++;let u={$type:"EmNoteEntity",sourceFrame:{$refText:t.expect(Kt.frameId)},dataBlockValue:""},c=o();c!==void 0&&(u.dataType=c),u.dataBlockValue=t.expect(Kt.block),r.noteEntities.push(u)}else if(l===Kt.gwt){t.i++;let u={$type:"EmGwt",sourceFrame:{$refText:t.expect(Kt.frameId)},givenStatements:[],whenStatements:[],thenStatements:[]};t.expect(Kt.given),u.givenStatements=n(),t.accept(Kt.when)&&(u.whenStatements=n()),t.expect(Kt.then),u.thenStatements=n(),r.gwtEntities.push(u)}else t.fail("a frame, an entity, a data block, a note, or a specification")}return r}function G2(e,t){let r=[];for(let a of Dt(e).split(`
145
+ `)){if(a.length<=t){r.push(a);continue}for(let i=0;i<a.length;i+=t)r.push(a.slice(i,i+t))}return r}function Xp(e,t,r,a,i){let s="";for(let o=0;o<e.length;o++)e[o]!==""&&(s+=`<tspan x="${d(t)}" y="${d(r+o*a)}">${Je(e[o])}</tspan>`);return s===""?"":`<text${i} xml:space="preserve">${s}</text>`}function lH(e,t,r){return Jt(r,a=>uH(e,t,r,a))}function uH(e,t,r,a){if(a)return dH(e,r);let i=r.fontSize??16,s=Math.round(i*.875),o=Math.round(i*.8125),n=Math.round(i*.75),l=Math.round(n*1.4),u=Math.round(o*1.5),c=r.measurer??at(r.fontFamily,r.fontFamilyMono),f=r.padding??8,h=(M,E,Y)=>{let G=0;for(let K of M)G=Math.max(G,c.width(K,E,Y));return G},g=new Map,p=0;for(let M of e.lanes){let E=We(M.label,!1,c,o,4e3,1);p=Math.max(p,E.width),g.set(M,{lane:M,label:E,right:-1/0,y:0,h:0})}p+=2*jp;let m=[],x=new Map,y;for(let M of e.boxes){let E=g.get(M.lane),Y=We(M.name,!1,c,s,4e3,1),G=M.data?G2(M.data,oH):[],K=Math.max(sH,Math.max(Y.width,h(G,n,4))+2*Zr),L=2*Ja+Y.height+(G.length>0?6+G.length*l:0),_=0;if(y){let q=y.x+Math.max(y.w/2,y.w-nH);_=y.box.lane===M.lane?E.right+Ek:Math.max(q,E.right+Ek)}let B={box:M,name:Y,data:G,x:_,y:0,w:K,h:L};E.right=_+K,E.h=Math.max(E.h,L),m.push(B),x.set(M,B),y=B}let C=0;for(let M of m)C=Math.max(C,M.x+M.w);let S=p+C+jp,R=We(e.title,!1,c,i,4e3,1),N=R.height>0?R.height+12:0,D=f,O=f+N,H=O,U="";for(let M of g.values())M.y=H,M.h+=2*jp,U+=`<g class="pele-cluster pele-em-lane" data-id="${Oe(M.lane.label)}"><rect x="${d(D)}" y="${d(H)}" width="${d(S)}" height="${d(M.h)}" fill="var(--_s)"${ct}/>`+De(M.label,D+jp+M.label.width/2,H+M.h/2,` class="pele-cluster-label" font-size="${o}" font-weight="var(--_hw)" fill="var(--_m)"`)+"</g>",H+=M.h+Ck;let k=g.size>0?H-Ck:O,j="";for(let M of m){let E=g.get(M.box.lane);M.x+=D+p,M.y=E.y+(E.h-M.h)/2;let Y=kk.get(M.box.kind),G=`x="${d(M.x)}" y="${d(M.y)}" width="${d(M.w)}" height="${d(M.h)}"`,K=Y===void 0?`<rect ${G} fill="var(--_bg)" stroke="var(--_b)"${ct}/>`:`<rect ${G} fill="var(--_bg)"${ct}/><rect ${G} fill="${At(Y)}" fill-opacity="0.22" stroke="${At(Y)}"${ct}/>`,L=M.y+Ja+M.name.height/2,_=De(M.name,M.x+M.w/2,L,` class="pele-label" font-size="${s}" font-weight="var(--_hw)"`)+Xp(M.data,M.x+Zr,M.y+Ja+M.name.height+6+l/2+n*.35,l,` class="pele-em-data" font-family="${Ac}" font-size="${n}"`);j+=`<g class="pele-node pele-em-${M.box.kind}${M.box.reset?" pele-em-reset":""}" data-id="${Oe(M.box.id)}">${K}${_}</g>`}let X="",P=wt("arrow_point");for(let M of e.relations){let E=x.get(M.source),Y=x.get(M.target);if(!E||!Y||E===Y)continue;let G,K;if(E.box.lane===Y.box.lane){let L=Y.x>=E.x,_=L?E.x+E.w:E.x,B=L?Y.x:Y.x+Y.w,q=E.y+E.h/2,Q=Y.y+Y.h/2,Z=B>=_?1:-1;G=`M${d(_)},${d(q)}L${d(B-Z*P)},${d(Q)}`,K=vt("arrow_point",B,Q,Z,0,"var(--_l)")}else{let L=Y.y>E.y,_=Math.max(E.x,Y.x),B=Math.min(E.x+E.w,Y.x+Y.w),q=ce=>Math.min(24,ce/4),Q=B-_>=16?(_+B)/2:Y.x>E.x?E.x+E.w-q(E.w):E.x+q(E.w),Z=B-_>=16?Q:Y.x>E.x?Y.x+q(Y.w):Y.x+Y.w-q(Y.w),J=L?E.y+E.h:E.y,W=L?Y.y:Y.y+Y.h,V=L?1:-1,re=W-V*P,ne=(J+re)/2;G=Q===Z?`M${d(Q)},${d(J)}V${d(re)}`:`M${d(Q)},${d(J)}C${d(Q)},${d(ne)} ${d(Z)},${d(ne)} ${d(Z)},${d(re)}`,K=vt("arrow_point",Z,W,0,V,"var(--_l)")}X+=`<g class="pele-edge" data-id="${Oe(M.source.id)}-${Oe(M.target.id)}"><path d="${G}" fill="none" stroke="var(--_l)"/>${K}</g>`}let F=new Map;for(let M of e.boxes)F.set(M.id,M.name);let I="",$=0,w=(M,E,Y,G)=>{let K=We(`${E} \xB7 ${Y}${F.has(Y)?" "+F.get(Y):""}`,!1,c,o,4e3,1),L=Math.max(K.width,h(G,o,0))+2*Zr,_=2*Ja+K.height+G.length*u,B=k+(I===""&&g.size===0?0:$k);I+=`<g class="pele-em-${M}" data-id="${Oe(Y)}"><rect x="${d(D)}" y="${d(B)}" width="${d(L)}" height="${d(_)}" fill="var(--_bg)" stroke="var(--_b)"${ct}/>`+De(K,D+Zr+K.width/2,B+Ja+K.height/2,` font-size="${o}" font-weight="var(--_hw)"`)+Xp(G,D+Zr,B+Ja+K.height+u/2+o*.35,u,` font-size="${o}"`)+"</g>",k=B+_,$=Math.max($,L)};for(let M of e.notes)w("note","Note",M.frame,G2(M.text,Mk));for(let M of e.specifications){let E=[`Given ${M.given.join(", ")}`];M.when.length>0&&E.push(`When ${M.when.join(", ")}`),E.push(`Then ${M.then.join(", ")}`),w("specification","Given / When / Then",M.frame,E.flatMap(Y=>G2(Y,Mk)))}let A=Math.max(g.size>0?S:0,$,R.width),v=Math.ceil(A+2*f),b=Math.ceil(k+f),T=De(R,v/2,f+R.height/2,' class="pele-title" font-weight="var(--_tw)"')+U+X+j+I;return{svg:rt("eventmodeling",v,b,i,r,e,T),width:v,height:b,links:[]}}function dH(e,t){let r=t.fontSize??16,a=Math.round(r*.875),i=Math.round(r*.75),s=t.padding??8,o=t.measurer??at(t.fontFamily,t.fontFamilyMono),n=Math.max(160,(t.maxWidth??320)-2*s),l=new Map(e.boxes.map((F,I)=>[F,I])),u=new Map,c=new Set;for(let F of e.relations){let I=l.get(F.source),$=l.get(F.target);if(I===void 0||$===void 0||I===$)continue;if(Math.abs(I-$)<2){c.add(e.boxes[Math.max(I,$)]);continue}let w=u.get(F.target);w?(w[0]=Math.min(w[0],I),w[1]=Math.max(w[1],I)):u.set(F.target,[Math.min(I,$),Math.max(I,$)])}let f=new Map,h=[];for(let[F,[I,$]]of[...u].sort((w,A)=>w[1][0]-A[1][0])){let w=h.findIndex(A=>A<I);w<0&&(w=h.length),h[w]=$,f.set(F,w)}let g=24+vk*Math.max(0,h.length-1),p=Math.max(cH,n-g),m=p-2*Zr,x=We(e.title,!1,o,r,n,1),y=s+(x.height?x.height+12:0),C=s+x.height,S=Math.max(x.width,p+g),R="",N="",D="",O=new Map,H=(F,I,$=0)=>Ao(Dt(F),o,I,m,$);e.boxes.forEach((F,I)=>{let $=c.has(F)?m-hH:m,w=bo(We(F.lane.label,!1,o,a,$,1),o,$),A=We(F.name,!1,o,a,m-36,1),v=F.data?H(F.data,i,4):void 0,b=Math.max(p,w.width+2*Zr,A.width+2*Zr+36,(v?.width??0)+2*Zr),T=w.height+12,M=2*Ja+A.height+(v?v.height+6:0),E=kk.get(F.kind),Y=y+T,G=`x="${d(s)}" y="${d(Y)}" width="${d(b)}" height="${d(M)}"`;R+=`<g class="pele-cluster pele-em-lane" data-id="${Oe(F.lane.label)}">`+js(w,s+Zr,y,` class="pele-cluster-label" font-size="${a}" font-weight="var(--_hw)" fill="var(--_m)"`)+`<g class="pele-node pele-em-${F.kind}${F.reset?" pele-em-reset":""}" data-id="${Oe(F.id)}"><rect ${G} fill="var(--_bg)" stroke="var(--_b)"${ct}/>`+(E===void 0?"":`<rect ${G} fill="${At(E)}" fill-opacity="0.22" stroke="${At(E)}"${ct}/>`)+De(A,s+Zr+A.width/2,Y+Ja+A.height/2,` class="pele-label" font-size="${a}" font-weight="var(--_hw)"`)+`<text class="pele-em-frame" x="${d(s+b-Zr)}" y="${d(Y+Ja+a)}" text-anchor="end" font-size="${i}" fill="var(--_m)">${Je(F.id)}</text>`+(v?Xp(v.lines.map(K=>K.map(L=>L.text).join("")),s+Zr,Y+Ja+A.height+6+v.lineHeight/2+i*.35,v.lineHeight,` class="pele-em-data" font-family="${Ac}" font-size="${i}"`):"")+"</g></g>",O.set(F,{y:Y,h:M,w:b,index:I,lane:w.width}),S=Math.max(S,b+g),C=Y+M,y=C+28});for(let F of e.relations){let I=O.get(F.source),$=O.get(F.target);if(!I||!$||I===$)continue;let w=$.y>I.y,A=w?1:-1,v=w?I.y+I.h:I.y,b=w?$.y:$.y+$.h,T,M;if(Math.abs(I.index-$.index)===1){let E=s+Math.max(Math.min(I.w,$.w)/2,Zr+(w?$:I).lane+16);T=`M${d(E)},${d(v)}V${d(b-A*wt("arrow_point"))}`,M=vt("arrow_point",E,b,0,A,"var(--_l)")}else{let E=s+S-g+12+vk*(f.get(F.target)??0),Y=I.y+I.h/2-5,G=$.y+$.h/2+5;T=`M${d(s+I.w)},${d(Y)}H${d(E)}V${d(G)}H${d(s+$.w+wt("arrow_point"))}`,M=vt("arrow_point",s+$.w,G,-1,0,"var(--_l)")}N+=`<g class="pele-edge" data-id="${Oe(F.source.id)}-${Oe(F.target.id)}"><path d="${T}" fill="none" stroke="var(--_l)"/>${M}</g>`}let U=new Map(e.boxes.map(F=>[F.id,F.name])),k=(F,I,$,w)=>{let A=We(`${I} \xB7 ${$}${U.has($)?" "+U.get($):""}`,!1,o,a,m,1),v=H(w,a),b=Math.max(p,A.width+2*Zr,v.width+2*Zr),T=2*Ja+A.height+v.height;D+=`<g class="pele-em-${F}" data-id="${Oe($)}"><rect x="${d(s)}" y="${d(y)}" width="${d(b)}" height="${d(T)}" fill="var(--_bg)" stroke="var(--_b)"${ct}/>`+De(A,s+Zr+A.width/2,y+Ja+A.height/2,` font-size="${a}" font-weight="var(--_hw)"`)+Xp(v.lines.map(M=>M.map(E=>E.text).join("")),s+Zr,y+Ja+A.height+v.lineHeight/2+a*.35,v.lineHeight,` font-size="${a}"`)+"</g>",C=y+T,y=C+$k,S=Math.max(S,b)};for(let F of e.notes)k("note","Note",F.frame,F.text);for(let F of e.specifications){let I=[`Given ${F.given.join(", ")}`];F.when.length&&I.push(`When ${F.when.join(", ")}`),I.push(`Then ${F.then.join(", ")}`),k("specification","Given / When / Then",F.frame,I.join(`
146
+ `))}let j=Math.ceil(S+2*s),X=Math.ceil(C+s),P=De(x,j/2,s+x.height/2,' class="pele-title" font-weight="var(--_tw)"')+N+R+D;return{svg:rt("eventmodeling",j,X,r,t,e,P),width:j,height:X,links:[]}}var XW,ZW,U2,Vl,ph,tH,Y2,Ir,Zp,Kt,Sk,rH,P2,aH,kk,Zr,Ja,sH,Ek,nH,jp,Ck,oH,Mk,$k,vk,cH,hH,Tk,Ik=Xe(()=>{Wp();yo();zt();_a();Lr();xt();Mt();XW=new Map([["ui","ui"],["pcr","processor"],["processor","processor"],["rmo","readmodel"],["readmodel","readmodel"],["cmd","command"],["command","command"],["evt","event"],["event","event"]]),ZW=new Map([["trigger",[0,"UI/Automation","UI/A: "]],["state",[100,"Command/Read Model","C/RM: "]],["stream",[200,"Events","Stream: "]]]);U2={name:"EM_ID",pattern:/[_a-zA-Z][\w_]*/y},Vl=e=>({name:e,pattern:e,longer:[U2]}),ph=e=>({name:e,pattern:e}),tH=["resetframe","readmodel","processor","timeframe","command","entity","event","jsobj","figma","given","json","salt","html","text","data","note","when","then","rmo","cmd","evt","pcr","uri"],Y2=[{...$r("eventmodeling"),longer:[U2]},...tH.map(Vl),ph("->>"),Vl("gwt"),Vl("ui"),Vl("md"),Vl("tf"),ph("[["),ph("]]"),Vl("rf"),ph("`"),ph("."),U2,{name:"EM_FID",pattern:/\d{1,3}/y},{name:"EM_DATA_INLINE",pattern:/\{(.*)\}|"(.*)"|'(.*)'/y},{name:"EM_DATA_BLOCK",pattern:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/y},zl("EM_ACC_DESCR"),{...br,name:"EM_ACC_TITLE"},{...yr,name:"EM_TITLE"},{name:"EM_WS",pattern:/\s+/y,hidden:!0},{...nr,name:"EM_YAML"},{...vr,name:"EM_DIRECTIVE"},{...kr,name:"EM_SINGLE_LINE_COMMENT"},{name:"EM_ML_COMMENT",pattern:/\/\*[\s\S]*?\*\//y,hidden:!0},{name:"EM_SL_COMMENT",pattern:/\/\/[^\n\r]*/y,hidden:!0}],Ir=e=>Y2.findIndex(t=>t.name===e),Zp=e=>new Set(e.map(Ir)),Kt={keyword:0,arrow:Ir("->>"),open:Ir("[["),close:Ir("]]"),tick:Ir("`"),dot:Ir("."),id:Ir("EM_ID"),frameId:Ir("EM_FID"),inline:Ir("EM_DATA_INLINE"),block:Ir("EM_DATA_BLOCK"),accDescr:Ir("EM_ACC_DESCR"),accTitle:Ir("EM_ACC_TITLE"),title:Ir("EM_TITLE"),entity:Ir("entity"),data:Ir("data"),note:Ir("note"),gwt:Ir("gwt"),given:Ir("given"),when:Ir("when"),then:Ir("then")},Sk=Zp(["tf","timeframe"]),rH=Zp(["rf","resetframe"]),P2=Zp(["rmo","readmodel","ui","cmd","command","evt","event","pcr","processor"]),aH=Zp(["json","jsobj","figma","salt","uri","md","html","text"]);kk=new Map([["command",0],["event",1],["readmodel",2],["processor",6]]),Zr=12,Ja=10,sH=96,Ek=16,nH=80,jp=12,Ck=8,oH=48,Mk=80,$k=8;vk=8,cH=120,hH=20;Tk={type:"eventmodeling",keepComments:!0,parse:(e,t,r)=>eH(iH(e),r),render:lH}});var Nk={};Bt(Nk,{eventmodeling:()=>Tk});var Dk=Xe(()=>{Ik()});function Jp(e){return e<128&&(Rn[e]&Sh)!==0}function K2(e,t,r){for(let a=0;a<r.length;a++)if((e.charCodeAt(t+a)|32)!==r.charCodeAt(a))return!1;return!0}function fH(e,t,r){switch(r){case 97:return e.startsWith("actor",t)?2:0;case 115:return e.startsWith("systemBoundary",t)?3:e.startsWith("style",t)?16:0;case 101:return e.startsWith("end",t)?4:K2(e,t,"extend")?18:0;case 69:return K2(e,t,"extend")?18:0;case 100:return e.startsWith("direction",t)?5:0;case 84:return e.startsWith("TD",t)?6:e.startsWith("TB",t)?7:0;case 66:return e.startsWith("BT",t)?8:0;case 76:return e.startsWith("LR",t)?9:0;case 82:return e.startsWith("RL",t)?10:0;case 110:return e.startsWith("note",t)?11:0;case 102:return e.startsWith("for",t)?12:e.startsWith("false",t)?20:0;case 106:return e.startsWith("json",t)?13:0;case 99:return e.startsWith("classDef",t)?14:e.startsWith("class",t)?15:0;case 105:case 73:return K2(e,t,"include")?17:0;case 116:return e.startsWith("true",t)?19:0;case 117:return e.startsWith("usecase-beta",t)?1:0;default:return 0}}function Eh(e,t){let r=1,a=0;for(let i=0;i<t;i++){let s=e.charCodeAt(i);s!==10&&s!==13||(s===13&&i+1<t&&e.charCodeAt(i+1)===10&&i++,r++,a=i+1)}return[r,t-a+1]}function pH(e,t,r){let[a,i]=Eh(e,t);return`line ${a}, column ${i} [${t},${r})`}function Xk(e,t,r){for(let a=t+1;a<e.length;a++){let i=e.charCodeAt(a);if(i===r)return a+1;if(i===10||i===13)return-1}return-1}function gH(e,t){let r=e.charCodeAt(t);return r!==34&&r!==39?!0:r===34&&e.charCodeAt(t+1)===96||Xk(e,t,r)!==-1}function _k(e,t,r){let[a,i]=Eh(e,t);return new je(`Error lexing usecase diagram: unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters. at line ${a}, column ${i} [${t},${t+r})`,"syntax",{type:"usecase",line:a,column:i})}function mH(e){let t=[],r=[],a=[],i=e.length,s=0,o=!0,n=!1;for(;s<i;){let l=e.charCodeAt(s);if(l===32||l===9){s++;continue}let u,c=s+1,f=!1;if(l<128&&Rn[l]&Sh){if(u=0,l===97&&o&&e.startsWith("acc",s)){let h=e.startsWith("Descr",s+3);if(h||e.startsWith("Title",s+3)){let g=s+8;for(;hi(e.charCodeAt(g));)g++;let p=e.charCodeAt(g);if(p===58)for(u=h?42:41,c=g+1;c<i&&e.charCodeAt(c)!==10&&e.charCodeAt(c)!==13;)c++;else if(p===123&&h&&!n){let m=e.indexOf("}",g+1);m===-1?n=!0:(u=40,c=m+1)}}}else if(l===106&&e.startsWith("json",s)&&hi(e.charCodeAt(s+4))){let h=s+5;for(;hi(e.charCodeAt(h));)h++;let g=h;for(;Jp(e.charCodeAt(h));)h++;if(h>g){for(;hi(e.charCodeAt(h));)h++;if(e.charCodeAt(h)===64){for(h++;hi(e.charCodeAt(h));)h++;if(e.charCodeAt(h)===123){t.push(43),r.push(s),a.push(h),s=h;let p=0,m=!1,x=!1,y=h;for(;y<i;y++){let C=e.charCodeAt(y);if(m)x?x=!1:C===92?x=!0:C===34&&(m=!1);else if(C===34)m=!0;else if(C===123)p++;else if(C===125&&--p===0)break}t.push(y<i?44:45),r.push(h),s=y<i?y+1:i,a.push(s),o=!1;continue}}}}if(u===0){for(;c<i&&Jp(e.charCodeAt(c));)c++;let h=fH(e,s,l);if(h!==0)h===1||c-s===Rk[h]?(u=h,c=s+Rk[h]):u=21;else if((l===111||l===120)&&e.charCodeAt(s+1)===45&&e.charCodeAt(s+2)===45)u=l===111?56:58,c=s+3;else if(yt(l)){let g=s+1;for(;yt(e.charCodeAt(g));)g++;if(e.charCodeAt(g)===46&&yt(e.charCodeAt(g+1))){for(u=22,c=g+2;yt(e.charCodeAt(c));)c++;for(;Ws(e.charCodeAt(c));)c++}else u=21}else for(u=21;e.charCodeAt(c)===45&&Jp(e.charCodeAt(c+1));)for(u=27,c+=2;Jp(e.charCodeAt(c));)c++}}else if(l===10)u=39,f=!0;else if(l===13)u=39,f=!0,e.charCodeAt(c)===10&&c++;else if(l===34||l===39){if(l===34&&e.charCodeAt(s+1)===96){let h=e.indexOf('`"',s+2);u=h===-1?37:36,c=h===-1?i:h+2}else if(u=35,c=Xk(e,s,l),c===-1){let h=s+1;for(;h<i&&!gH(e,h);)h++;throw _k(e,s,h-s)}}else if(l===37)if(o&&e.charCodeAt(c)===37)for(u=38;c<i&&e.charCodeAt(c)!==10&&e.charCodeAt(c)!==13;)c++;else u=31;else if(l===45)if(e.charCodeAt(c)!==45)u=29;else{for(;e.charCodeAt(c)===45;)c++;let h=e.charCodeAt(c),g=c-s===2;g&&h===124&&e.charCodeAt(c+1)===62?(u=46,c+=2):h===62?(u=53,c++):g&&(h===111||h===120)?(u=h===111?55:57,c++):u=59}else if(l===46){let h=e.charCodeAt(c);if(h===46&&e.charCodeAt(c+1)===62)u=47,c+=2;else if(yt(h)){for(u=22;yt(e.charCodeAt(c));)c++;for(;Ws(e.charCodeAt(c));)c++}else u=30}else if(l===60)if(e.charCodeAt(c)===60){if(t.push(48),r.push(s),a.push(s+2),o=!1,s+=2,s>=i)break;if(e.charCodeAt(s)===62&&e.charCodeAt(s+1)===62)u=49,c=s+2;else{let h=s,g=!1;for(;h<i;h++){let p=e.charCodeAt(h);if(p===10||p===13)break;if(p===62&&e.charCodeAt(h+1)===62){g=!0;break}}if(g&&e.slice(s,h).trim()!=="")t.push(50),r.push(s),a.push(h),u=49,s=h,c=h+2;else{for(;h<i&&e.charCodeAt(h)!==10&&e.charCodeAt(h)!==13;)h++;if(h===s){for(;h<i&&(e.charCodeAt(h)===10||e.charCodeAt(h)===13);)h++;throw _k(e,s,h-s)}u=51,c=h}}}else if(e.charCodeAt(c)===45&&e.charCodeAt(c+1)===45)for(u=54,c+=2;e.charCodeAt(c)===45;)c++;else u=33;else if(l===58)e.charCodeAt(c)===58&&e.charCodeAt(c+1)===58?(u=52,c+=2):u=25;else if(l===64)e.charCodeAt(c)===123?(u=60,c++):u=23;else if(l===123)u=61;else if(l===125)u=62;else if(l===91)u=63;else if(l===93)u=64;else if(l===40)u=65;else if(l===41)u=66;else if(l===44)u=24;else if(l===35){for(;R0(e.charCodeAt(c));)c++;u=c>s+1?26:32}else if(l===92)e.charCodeAt(c)===44?(u=28,c++):u=33;else if(l<127&&l>32)u=Rn[l]&jk?32:33;else for(u=34;c<i;){let h=e.charCodeAt(c);if(h>=32&&h<127||h===9||h===10||h===13)break;c++}t.push(u),r.push(s),a.push(c),s=c,o=f}for(let l=0;l<3;l++)t.push(0),r.push(i),a.push(i);return{types:t,starts:r,ends:a}}function AH(){return{type:"usecase",actors:new Map,useCases:new Map,systemBoundaries:new Map,relationships:[],notes:new Map,jsonNodes:new Map,classDefs:new Map,direction:"LR",title:void 0,accTitle:"",accDescr:"",accDescription:"",source:"",headerSpan:[0,0],statements:[]}}function bH(){return{elements:[],boundaries:[],jsons:[],relationships:[],notes:[],metadata:[],classes:[],styles:[],classDefs:[],direction:void 0,accTitle:"",accDescription:""}}function q2(e,t){if(t.length===0)return;let r=new Set(e);for(let a of t)r.has(a)||(r.add(a),e.push(a))}function yH(e){let t=new Set(["actor","usecase","boundary","edge"]);for(let{key:r,value:a}of e)if(r==="icon")t.clear(),t.add("actor");else if(r==="animate"||r==="animation")t.clear(),t.add("edge");else if(r==="type")t.clear(),a==="rect"||a==="package"?t.add("boundary"):(a==="normal"||a==="hollow"||a==="awesome")&&t.add("actor");else if(r==="business")t.delete("boundary"),t.delete("edge");else return;return t.size===1?[...t][0]:void 0}function xH(e,t,r,a,i){let s=AH(),{actors:o,useCases:n,systemBoundaries:l}=s,u=new Map,c=new Map,f=new Map,h=new Map,g=new Map,p=b=>pH(e,b[0],b[1]),m=(b,T)=>{let[M,E]=Eh(e,T[0]);return new je(b,"semantic",{type:"usecase",line:M,column:E})},x=(b,T)=>{throw m(`${b} at ${p(T)}`,T)},y=(b,T,M,E,Y)=>{let G=K=>K===void 0?"":` (label "${K}")`;throw m(`${b} at ${p(T)}${G(E)}; previous declaration at ${p(M)}${G(Y)}`,T)},C=(b,T,M)=>x(`Metadata property '${M.key}' is invalid for ${T} '${b}'`,M.keySpan),S=(b,T)=>{let M=g.get(b);(M===void 0||T<M)&&g.set(b,T)},R=b=>[...b].sort((T,M)=>(g.get(T.id)??0)-(g.get(M.id)??0)),N=(b,T)=>{u.set(b.id,{kind:T,span:b.span,generated:b.generated,label:b.label.text})},D=(b,T)=>{let M=u.get(b.id);if(!M)return;let E=b.generated?b.label.text:void 0,Y=M.generated?M.label:void 0;M.kind!==T&&y(`ID '${b.id}' is declared as both ${M.kind} and ${T}`,b.span,M.span,E,Y),(M.generated||b.generated)&&y(`Generated ID '${b.id}' collides with another declaration`,b.span,M.span,E,Y)},O=(b,T,M)=>{let E=u.get(b);E&&y(`ID '${b}' is declared more than once (${E.kind} and ${T})`,M,E.span,void 0,E.generated?E.label:void 0),u.set(b,{kind:T,span:M,generated:!1})},H=(b,T,M)=>{let{key:E,value:Y}=T,G=K=>{!M&&K!==void 0&&K!==Y&&y(`Actor '${b.id}' has conflicting ${E} metadata`,T.keySpan,b.span)};E==="type"&&(Y==="normal"||Y==="hollow"||Y==="awesome")?(G(b.actorType),b.actorType=Y):E==="icon"&&typeof Y=="string"?(G(b.icon),b.icon=Y):E==="business"&&typeof Y=="boolean"?(G(b.business),b.business=Y):C(b.id,"actor",T)},U=(b,T,M)=>{for(let E of T??[])b.kind==="actor"?H(b,E,M):E.key==="business"&&typeof E.value=="boolean"?(!M&&b.business!==void 0&&b.business!==E.value&&y(`Use case '${b.id}' has conflicting business metadata`,E.keySpan,b.span),b.business=E.value):C(b.id,"usecase",E)},k=b=>{let T;if(b.kind==="actor"){n.delete(b.id);let M={id:b.id,label:b.label.text,labelType:b.label.type,business:b.business??!1,classes:[...b.classes],type:b.icon?"icon":b.actorType??"normal",styles:o.get(b.id)?.styles??[]};b.icon&&(M.icon=b.icon),o.set(b.id,M),T=M}else o.delete(b.id),T={id:b.id,label:b.label.text,labelType:b.label.type,business:b.business??!1,classes:[...b.classes],shape:b.shape??"ellipse",styles:n.get(b.id)?.styles??[]},n.set(b.id,T);b.stereotype&&(T.stereotype=b.stereotype),b.parent?.id&&(T.parentId=b.parent.id)},j=b=>{D(b,b.kind);let T=b.parent?.id?b.parent:void 0,M=c.get(b.id);if(!M){let E={kind:b.kind,id:b.id,label:b.label,span:b.span,generated:b.generated,classes:[...b.classes],parent:T,shape:b.shape,stereotype:b.stereotype,stereotypeSpan:b.stereotype?b.span:void 0};U(E,b.metadata,!1),c.set(b.id,E),N(b,b.kind);return}(M.label.text!==b.label.text||M.label.type!==b.label.type)&&y(`ID '${b.id}' has conflicting labels`,b.span,M.span),b.shape&&M.shape&&b.shape!==M.shape&&y(`Use case '${b.id}' has conflicting shapes`,b.span,M.span),T&&M.parent?.id&&T.id!==M.parent.id&&y(`Element '${b.id}' belongs to more than one system boundary`,T.span,M.parent.span),b.stereotype&&M.stereotype&&b.stereotype!==M.stereotype&&y(`Element '${b.id}' has conflicting stereotypes`,b.span,M.stereotypeSpan??M.span),M.shape??=b.shape,M.parent??=b.parent,M.stereotype??=b.stereotype,M.stereotypeSpan??=b.stereotype?b.span:void 0,q2(M.classes,b.classes),U(M,b.metadata,!1)},X=b=>{D(b,"boundary");let T=f.get(b.id);if(T){(T.label.text!==b.label.text||T.label.type!==b.label.type)&&y(`Boundary '${b.id}' has conflicting titles`,b.span,T.span),q2(T.classes,b.classes);return}f.set(b.id,{...b,classes:[...b.classes],members:[]}),N(b,"boundary")},P=b=>{b.classed&&!b.declares&&x(`Relationship endpoint '${b.id}' uses ::: without declaring the node`,b.span);let T=u.get(b.id);return T?T.kind:(c.set(b.id,{...b,kind:"usecase",shape:"ellipse",classes:[]}),N(b,"usecase"),S(b.id,b.span[0]),"usecase")},F=(b,T)=>{let M=u.get(b)?.kind;return(M==="actor"?o.get(b):M==="usecase"?n.get(b):M==="boundary"?l.get(b):M==="json"?s.jsonNodes.get(b):h.get(b))??x(`Class/style target '${b}' is unresolved or anonymous`,T)},I=[];for(let{source:b,target:T}of t.relationships)S(b.id,b.span[0]),S(T.id,T.span[0]);for(let b of t.elements)S(b.id,b.span[0]),I.push({offset:b.span[0],run:()=>j(b)});for(let b of t.boundaries)S(b.id,b.span[0]),I.push({offset:b.span[0],run:()=>X(b)});for(let b of t.jsons)S(b.id,b.span[0]),I.push({offset:b.span[0],run:()=>O(b.id,"json",b.span)});for(let{id:b,idSpan:T}of t.relationships)b&&T&&I.push({offset:T[0],run:()=>O(b,"edge",T)});I.sort((b,T)=>b.offset-T.offset);for(let b of I)b.run();for(let b of R(c.values()))k(b);for(let b of R(f.values()))l.set(b.id,{id:b.id,label:b.label.text,labelType:b.label.type,type:"rect",members:[],classes:[],styles:[]});for(let b of R(t.jsons))s.jsonNodes.set(b.id,{id:b.id,value:b.value,propertyOrder:b.propertyOrder,classes:[...b.classes],styles:[]});let $=0;for(let b of t.relationships){let{source:T,target:M,type:E}=b,Y=P(T),G=P(M),K=B=>B==="actor"||B==="usecase"||B==="json";K(Y)||y(`Relationship source '${T.id}' cannot be ${Y}`,T.span,u.get(T.id).span),K(G)||y(`Relationship target '${M.id}' cannot be ${G}`,M.span,u.get(M.id).span),(E==="include"||E==="extend")&&(Y!=="usecase"||G!=="usecase")&&x(`${E} relationship requires use-case endpoints`,b.span),E==="generalization"&&(Y==="json"||Y!==G)&&x("Generalization requires actor-to-actor or use-case-to-use-case endpoints",b.span),E==="association"&&(Y==="json"||G==="json")&&b.arrowType>2&&x(`JSON relationship '${T.id}' to '${M.id}' permits only point, reversed-point, or markerless solid association`,b.span);let L=b.id??`edge-${$++}`,_={id:L,explicitId:!!b.id,source:T.id,target:M.id,type:E,arrowType:b.arrowType,minlen:b.minlen,classes:[],styles:[],animate:!1};b.label&&(_.label=b.label.text,_.labelType=b.label.type),s.relationships.push(_),h.set(L,_)}let w=new Map(o),A=new Map(n);o.clear(),n.clear();for(let b of R(c.values())){let T=w.get(b.id),M=A.get(b.id);T?o.set(b.id,T):M?n.set(b.id,M):k(b)}for(let{target:b,span:T,properties:M,statement:E}of t.metadata){let Y=u.get(b);if(!Y){let _=yH(M);return x(`Metadata target '${b}' is unresolved${_?` (metadata implies ${_})`:""}`,T)}let G=Y.kind;G==="actor"||G==="usecase"?U(c.get(b),M,!0):G==="edge"&&(E.kind="edgeMetadata",E.edges=[{id:b,span:E.span,idSpan:T,metadata:E.metadata}],delete E.nodes);let K=f.get(b),L=h.get(b);for(let _ of G==="actor"||G==="usecase"?[]:M){let{key:B,value:q}=_;G==="boundary"&&K&&B==="type"&&(q==="rect"||q==="package")?K.type=q:G==="edge"&&L&&B==="animate"&&typeof q=="boolean"?L.animate=q:G==="edge"&&L&&B==="animation"&&(q==="fast"||q==="slow")?(L.animation=q,L.animate=!0):C(b,G,_)}}for(let b of s.relationships)b.animation&&(b.animate=!0);for(let b of c.values())b.kind==="actor"?(b.icon&&b.actorType&&b.actorType!=="normal"&&x(`Actor '${b.id}' cannot combine icon with type '${b.actorType}'`,b.span),b.business&&(b.icon||b.actorType==="awesome")&&x(`Business actor '${b.id}' must use normal or hollow geometry`,b.span)):b.shape==="rect"&&b.business&&x(`Rectangular use case '${b.id}' cannot be a business use case`,b.span),k(b);for(let b of[...t.elements].sort((T,M)=>T.span[0]-M.span[0])){if(!b.parent?.id)continue;let T=f.get(b.parent.id).members;T.includes(b.id)||T.push(b.id)}for(let b of f.values()){let T=l.get(b.id);T.type=b.type??"rect",T.members=b.members,T.classes=[...b.classes]}let v=0;for(let b of t.notes){let T=u.get(b.target);if(!T)return x(`Note target '${b.target}' is unresolved`,b.span);T.kind!=="actor"&&T.kind!=="usecase"&&y(`Note target '${b.target}' must be an actor or use case, not ${T.kind}`,b.span,T.span);let M=`note-${v++}`;s.notes.set(M,{id:M,target:b.target,label:b.label.text,labelType:b.label.type})}for(let b of t.classDefs)for(let T of b.ids)s.classDefs.set(T,{id:T,styles:[...b.styles]});for(let b of t.classes)for(let T of b.targets)q2(F(T.id,T.span).classes,b.classes);for(let b of t.styles)F(b.target,b.span).styles.push(...b.styles);return s.direction=t.direction??s.direction,s.title=i,s.accTitle=t.accTitle,s.accDescription=t.accDescription,s.accDescr=t.accDescription.replace(/\n\s+/g,`
147
+ `),s.source=e,s.headerSpan=r,s.statements=a,s}function Lk(e){let t=new Map,r=[],a=[],i=e.length,s=0,o="",n=0,l=()=>{for(;s<i;){let h=e.charCodeAt(s);if(h!==32&&h!==9&&h!==10&&h!==13)return;s++}},u=h=>{s++;let g="";for(;s<i;){let p=s,m=e[s++];if(m==='"')return g;if(m.charCodeAt(0)<32)throw new Fa(p);if(m!=="\\"){h&&(g+=m);continue}let x=s,y=e[s++],C;if(y==='"'||y==="\\"||y==="/")C=y;else if(y==="b")C="\b";else if(y==="f")C="\f";else if(y==="n")C=`
148
+ `;else if(y==="r")C="\r";else if(y==="t")C=" ";else if(y==="u"){let S=e.slice(s,s+4);if(!/^[\dA-Fa-f]{4}$/.test(S))throw new Fa(s);C=String.fromCharCode(parseInt(S,16)),s+=4}else throw new Fa(x);h&&(g+=C)}throw new Fa(s)},c=h=>{for(let g=0;g<h.length;g++)if(e[s+g]!==h[g])throw new Fa(s+g);s+=h.length},f=()=>{if(e.charCodeAt(s)===45&&s++,e.charCodeAt(s)===48)s++;else if(yt(e.charCodeAt(s)))for(;yt(e.charCodeAt(s));)s++;else throw new Fa(s);if(e.charCodeAt(s)===46){if(s++,!yt(e.charCodeAt(s)))throw new Fa(s);for(;yt(e.charCodeAt(s));)s++}if((e.charCodeAt(s)|32)===101){if(s++,(e.charCodeAt(s)===43||e.charCodeAt(s)===45)&&s++,!yt(e.charCodeAt(s)))throw new Fa(s);for(;yt(e.charCodeAt(s));)s++}};for(l();;)if(n===0){l();let h=e.charCodeAt(s);if(n=2,h===123){s++;let g=[];t.set(o,g),r.push(o),l(),e.charCodeAt(s)===125?s++:(a.push({object:!0,pointer:o,keys:g,ranges:new Map,key:"",from:0,index:0}),n=1)}else if(h===91)s++,l(),e.charCodeAt(s)===93?s++:(a.push({object:!1,pointer:o,keys:[],ranges:new Map,key:"",from:0,index:0}),o+="/0",n=0);else if(h===34)u(!1);else if(h===116)c("true");else if(h===102)c("false");else if(h===110)c("null");else if(h===45||yt(h))f();else throw new Fa(s)}else if(n===1){let h=a[a.length-1];if(e.charCodeAt(s)!==34)throw new Fa(s);let g=u(!0),p=h.ranges.get(g);if(p===void 0)h.keys.push(g);else for(let m=p[0];m<p[1];m++)t.delete(r[m]);if(h.key=g,h.from=r.length,l(),e.charCodeAt(s)!==58)throw new Fa(s);s++,o=`${h.pointer}/${g.replaceAll("~","~0").replaceAll("/","~1")}`,n=0}else{let h=a[a.length-1];if(h===void 0)break;h.object?h.ranges.set(h.key,[h.from,r.length]):h.index++,l();let g=e.charCodeAt(s);if(g===(h.object?125:93))s++,a.pop();else{if(g!==44)throw new Fa(s);s++,l(),o=`${h.pointer}/${h.index}`,n=h.object?1:0}}if(l(),s!==i)throw new Fa(s);return t}function J2(e,t,r,a){let i=Math.min(Math.max(t,0),e.length);for(let s=0;s<i;s++){let o=e.charCodeAt(s);o===13?(r++,a=1):o===10?(s===0||e.charCodeAt(s-1)!==13)&&(r++,a=1):a++}return[r,a]}function wH(e,t,r,a){let i=/\bposition (\d+)\b/.exec(e);if(i)return J2(t,parseInt(i[1],10),r,a);let s=/\bline (\d+) column (\d+)\b/.exec(e);if(s){let o=parseInt(s[1],10),n=parseInt(s[2],10);return[r+o-1,o===1?a+n-1:n]}if(/unexpected end|end of json input/i.test(e))return J2(t,t.length,r,a)}function Ok(e,t,r){return new je(`${e} (line ${t}, column ${r})`,"syntax",{type:"usecase",line:t,column:r})}function SH(e,t){let r;try{r=JSON.parse(e)}catch(a){let i=a instanceof Error?a.message:String(a),[s,o]=t(),n=wH(i,e,s,o);if(!n){let l=0;try{Lk(e)}catch(u){u instanceof Fa&&(l=u.offset)}n=J2(e,l,s,o)}throw Ok(`Invalid JSON: ${i}`,n[0],n[1])}if(typeof r!="object"||r===null||Array.isArray(r)){let[a,i]=t();throw Ok("JSON value must have an object root",a,i)}return{value:r,propertyOrder:Lk(e)}}function Do(e,t){for(let r of e.split("|"))if(r==="WORD")for(let a=1;a<=21;a++)qi[a]|=t;else qi[Vk.indexOf(r)]|=t}function Nr(e){return Wa.slice(ea[e],Sa[e])}function ei(e){return[ea[e],Sa[e]]}function c1(e){let[t,r]=Eh(Wa,ea[He]);throw new je(`Error parsing usecase diagram: ${e} at line ${t}, column ${r} [${ea[He]},${Sa[He]})`,"syntax",{type:"usecase",line:t,column:r})}function l$(e){c1(`Expecting token of type --> ${e} <-- but found --> '${Nr(He)}' <--`)}function Fr(e){return ot[He]!==e&&l$(Vk[e]),He++}function Ai(e){let t=e.split("|").map((r,a)=>` ${a+1}. [${r}]`);c1(`Expecting: one of these possible Token sequences:
149
+ ${t.join(`
150
+ `)}
151
+ but found: '${Nr(He)}'`)}function Bk(){let e=u1.split("|"),t=e.flatMap(i=>["NEWLINE","IDENTIFIER","PLAIN_STRING","RBRACE"].map(s=>`${i}, METADATA_START, ${s}`)),r=`STEREOTYPE_START|CLASS_SEPARATOR|IDENTIFIER|${l1}|NEWLINE|EOF`.split("|"),a=e.flatMap((i,s)=>(s===0?["LPAREN","LBRACKET",...r]:r).map(o=>`${i}, ${o}`));return[a$,...t,...a,...t].join("|")}function Fk(e){return e>=1&&e<=21}function Wk(e){return e>=1&&e<=34}function No(){s$=Sa[He-1],ot[He]===39?He++:ot[He]!==0&&Ai("NEWLINE|EOF")}function wh(e){let t=ot[e]===36?2:ot[e]===35?1:0;return[ea[e]+t,Sa[e]-t]}function tb(e){let t=wh(e);return{text:Wa.slice(t[0],t[1]),type:ot[e]===36?"markdown":"text",span:t}}function u$(e){return e.replace(/\W/g,"_")}function bh(){let e=ot[He];if(e===35||e===36)return tb(He++);Wk(e)||Ai(EH);let t=He;for(;Wk(ot[He]);)He++;let r=[ea[t],Sa[He-1]];return{text:Wa.slice(r[0],r[1]),type:"text",span:r}}function Io(e){return e===21||e===35}function Hk(){let e=He;Io(ot[He])||Ai("IDENTIFIER|PLAIN_STRING"),He++,Fr(25);let t=He,r=ot[He];!Io(r)&&r!==19&&r!==20&&Ai("IDENTIFIER|PLAIN_STRING|TRUE|FALSE"),He++;let a=wh(e),i=wh(t);return{key:Wa.slice(a[0],a[1]),value:r===19?!0:r===20?!1:Wa.slice(i[0],i[1]),span:[ea[e],Sa[t]],keySpan:a,valueSpan:i}}function MH(){let e=ot[He],t=ot[He+1],r=ot[He+2];return e===24?Io(t)||t===39&&(r===39||Io(r)):e!==39?!1:t===24||Io(t)||t===39&&(r===39||r===24||Io(r))}function ib(){Fr(60);let e=[];for(;ot[He]===39;)He++;if(Io(ot[He])){for(e.push(Hk());MH();){if(ot[He]===24)He++;else{for(;ot[He]===39;)He++;ot[He]===24&&He++}for(;ot[He]===39;)He++;e.push(Hk())}for(ot[He]===24&&He++;ot[He]===39;)He++}return Fr(62),e}function sb(e){return e.map(({key:t,span:r,keySpan:a,valueSpan:i})=>({key:t,span:r,keySpan:a,valueSpan:i}))}function nb(e,t){do{He++;let r=Fr(21);e.push(Nr(r)),t.push(ei(r))}while(ot[He]===24)}function c$(e){let t=He,r=ot[He],a={id:"",label:void 0,span:wh(t),generated:r!==21,classes:[],classSpans:[],explicit:!1,nodeSpan:[0,0]};if(r===21){He++,a.id=Nr(t);let i=ot[He];i===65||e&&i===63?(He++,a.label=bh(),Fr(i===65?66:64),a.shape=i===65?"ellipse":"rect"):a.label=tb(t)}else r===35||r===36?(He++,a.label=tb(t),a.id=u$(a.label.text)):Ai(u1);return a}function o1(e){let t=He,r=c$(!e);if(e&&(r.shape=void 0),ot[He]===60&&(r.metadata=ib()),ot[He]===48){He++;let a=Fr(50);Fr(49),r.stereotype=Nr(a).trim(),r.stereotypeSpan=ei(a)}return ot[He]===52&&nb(r.classes,r.classSpans),r.explicit=!!(r.shape||r.metadata||r.stereotype),r.nodeSpan=[ea[t],Sa[He-1]],r}function ob(e,t){return{id:e.id,kind:t,label:e.label,span:e.span,generated:e.generated,parent:n1,shape:e.shape,metadata:e.metadata,stereotype:e.stereotype,classes:e.classes}}function Pk(e,t){return{id:e.id,label:e.label,span:e.span,generated:e.generated,declares:t,classed:e.classes.length>0}}function lb(e,t){let r={id:e.id,span:e.nodeSpan,idSpan:e.span,labelSpan:e.label.span};return t&&(r.defines=!0),e.stereotypeSpan&&(r.stereotypeSpan=e.stereotypeSpan),e.metadata&&(r.metadata=sb(e.metadata)),e.classSpans.length>0&&(r.classSpans=e.classSpans),r}function z2(e){if(ot[He]<1||ot[He]>36)return!1;for(let t=He+1;;t++){let r=ot[t];if(r===59||qi[r]&e)return!0;if(r<1||r>36)return!1}}function gh(e){let t=Sa[e]-ea[e]-(ot[e]===59?0:1);return Math.max(1,t-1)}function h$(){let e=He,t={type:"association",arrowType:0,minlen:1,target:void 0,span:[0,0]};ot[He]===21&&ot[He+1]===23&&(t.explicitId=Nr(He),t.explicitIdSpan=ei(He),He+=2);let r=He,a=ot[He++];if(a===47)Fr(25),ot[He]!==17&&ot[He]!==18&&Ai("INCLUDE|EXTEND"),t.type=ot[He]===17?"include":"extend",t.label={text:t.type,type:"text",span:ei(He)},He++;else if(a===46)t.type="generalization";else if(a===53)t.minlen=gh(r);else if(a===54)t.arrowType=1,Sa[r]-ea[r]===3&&z2(0)?(t.label=bh(),t.minlen=gh(Fr(59))):t.minlen=gh(r);else if(a===59)if(t.arrowType=2,Sa[r]-ea[r]===2&&z2(t$)){t.label=bh();let i=ot[He];i===53?t.arrowType=0:i===55?t.arrowType=3:i===57?t.arrowType=4:i!==59&&Ai("FORWARD_SOLID|MARKERLESS_SOLID|FORWARD_CIRCLE|FORWARD_CROSS"),(t.arrowType===0||t.arrowType===2)&&(t.minlen=gh(He)),He++}else t.minlen=gh(r);else a===55?t.arrowType=3:a===57?t.arrowType=4:a===56||a===58?(t.arrowType=a===56?5:6,z2(0)&&(t.label=bh(),Fr(59))):(He--,Ai(l1));return t.target=o1(!1),t.span=[ea[e],Sa[He-1]],t}function Ki(e){return{kind:e,span:[0,0]}}function d$(e,t,r,a){let i=r.target;i.explicit&&Jr.elements.push(ob(i,"usecase")),Jr.relationships.push({source:Pk(e,t),target:Pk(i,i.explicit),span:r.span,id:r.explicitId,idSpan:r.explicitIdSpan,type:r.type,arrowType:r.arrowType,label:r.label,minlen:r.minlen}),a.push(lb(i,i.explicit));let s=Ki("edge");return s.nodes=a,s.edges=[{id:r.explicitId??`edge-${n$++}`,span:s.span}],r.explicitIdSpan&&(s.edges[0].idSpan=r.explicitIdSpan),r.label&&(s.edges[0].labelSpan=r.label.span),s}function f$(e){let t=Ki("node");return t.nodes=e,t}function p$(e){He++;let t=[o1(!0)],r;if(ot[He]===24)do He++,t.push(o1(!0));while(ot[He]===24);else e&&qi[ot[He]]&ab&&(r=h$());No();for(let i of t)Jr.elements.push(ob(i,"actor"));let a=t.map(i=>lb(i,!0));return r?d$(t[0],!0,r,a):f$(a)}function g$(e){let t=o1(!1),r=e&&qi[ot[He]]&ab?h$():void 0;No(),r||(t.explicit=!0,t.shape??="ellipse"),t.explicit&&Jr.elements.push(ob(t,"usecase"));let a=[lb(t,t.explicit)];return r?d$(t,t.explicit,r,a):f$(a)}function vH(){He++;let e=c$(!0),t={id:e.id,label:e.label,span:e.span,generated:e.generated,classes:e.classes},r=ot[He]===60?ib():void 0;ot[He]===52&&nb(e.classes,e.classSpans),No(),Jr.boundaries.push(t),n1=t;let a=[];for(;qi[ot[He]]&e$;)a.push(m$(!1));n1=void 0;let i=Fr(4);No();let s=Ki("group");return s.group=t.id,s.idSpan=t.span,s.titleSpan=t.label.span,s.endSpan=ei(i),s.classSpans=e.classSpans,a.length>0&&(s.children=a),r&&(s.metadata=sb(r),Jr.metadata.push({target:t.id,span:t.span,properties:r,statement:s})),s}function Gk(){let e=He,t=ot[He];for(Fk(t)||t===27?He++:t===59?(He++,Fk(ot[He])||l$("WORD"),He++):Ai("WORD|CSS_IDENTIFIER|MARKERLESS_SOLID"),Fr(25),(qi[ot[He]]&eb)===0&&c1(`Expecting: expecting at least one iteration which starts with one of these possible Token sequences::
152
+ <[${i$.replaceAll("|","] ,[")}]>
153
+ but found: '${Nr(He)}'`);qi[ot[He]]&eb;)He++;return Wa.slice(ea[e],Sa[He-1]).replaceAll("\\,",",")}function Uk(){let e=[Gk()];for(;ot[He]===24;)He++,e.push(Gk());return e}function Q2(){let e=[Fr(21)];for(;ot[He]===24;)He++,e.push(Fr(21));return e}function e1(e){let t=wh(e);return{id:Nr(e),span:t,idSpan:t}}function kH(){let e=He,t=ot[He],r;if(t===41||t===42||t===40){He++;let a=Nr(e);t===40?Jr.accDescription=a.slice(a.indexOf("{")+1,a.lastIndexOf("}")).trim():t===42?Jr.accDescription=a.slice(a.indexOf(":")+1).trim():Jr.accTitle=a.slice(a.indexOf(":")+1).trim(),r=Ki(t===41?"accTitle":"accDescr")}else if(t===5){He++;let a=ot[He];(a<6||a>10)&&Ai("TD|TB|BT|LR|RL"),Jr.direction=a===6?"TB":Nr(He),He++,r=Ki("direction")}else{if(t===2)return p$(!0);if(t===3)return vH();if(t===11){He++,Fr(12);let a=Fr(21),i=bh();Jr.notes.push({target:Nr(a),span:ei(a),label:i}),r=Ki("note"),r.ref=`note-${o$++}`,r.refSpan=i.span,r.nodes=[e1(a)]}else if(t===43){He++;let a=Fr(44),i=[],s=[];ot[He]===52&&nb(i,s);let o=ea[e]+4;for(;Wa.charCodeAt(o)===32||Wa.charCodeAt(o)===9;)o++;let n=o;for(;/\w/.test(Wa.charAt(n));)n++;let l={id:Wa.slice(o,n),value:{},propertyOrder:new Map,span:[o,n],classes:i};Jr.jsons.push(l),i1.push([l,a]),r=Ki("json"),r.nodes=[{id:l.id,span:l.span,idSpan:l.span,defines:!0,classSpans:s}],r.classSpans=s}else if(t===14){He++;let a=Q2();Jr.classDefs.push({ids:a.map(Nr),styles:Uk()}),r=Ki("classDef"),r.ref=Nr(a[0]),r.refSpan=ei(a[0])}else if(t===15){He++;let a=Q2(),i=Q2();Jr.classes.push({targets:a.map(s=>({id:Nr(s),span:ei(s)})),classes:i.map(Nr)}),r=Ki("classAssign"),r.ref=Nr(i[0]),r.refSpan=ei(i[0]),r.nodes=a.map(e1)}else if(t===16){He++;let a=Fr(21);Jr.styles.push({target:Nr(a),span:ei(a),styles:Uk()}),r=Ki("style"),r.nodes=[e1(a)]}else{let a=ot[He+1];if(a===60){!(qi[ot[He+2]]&r$)&&Ai(Bk()),He++;let i=e1(e);t!==21&&(i.id=u$(Wa.slice(i.span[0],i.span[1])));let s=ib();r=Ki("metadata"),r.nodes=[i],r.metadata=sb(s),Jr.metadata.push({target:i.id,span:i.span,properties:s,statement:r})}else return(!(qi[a]&Jk||t===21&&(a===65||a===63))||t===21&&CH.has(Nr(e).toLowerCase()))&&Ai(Bk()),g$(!0)}}return No(),r}function m$(e){let t=He,r=ot[He];if(r===39)return He++,{kind:"blank",span:ei(t)};if(r===38)return He++,No(),{kind:"comment",span:ei(t)};let a=e?kH():r===2?p$(!1):g$(!1);if(a.span=[ea[t],s$],a.edges)for(let i of a.edges)i.span=a.span;return a}function $H(e,t){Wa=e,{types:ot,starts:ea,ends:Sa}=mH(e),He=0,Jr=bH(),n1=void 0,i1=[],n$=0,o$=0;try{let r=Fr(1);No();let a=[];for(;qi[ot[He]]&Zk;)a.push(m$(!0));ot[He]!==0&&c1(`Redundant input, expecting EOF but found: ${Nr(He)}`);for(let[i,s]of i1){let o=SH(Nr(s),()=>Eh(e,ea[s]));i.value=o.value,i.propertyOrder=o.propertyOrder}return xH(e,Jr,ei(r),a,t)}finally{Wa="",ot=ea=Sa=i1=[]}}function Yk(e){return typeof e=="string"?e:e===null?"null":String(e)}function IH(e){let t=[],r=[[e.value,"",""]],a=[];for(;r.length>0;){let[i,s,o]=r.pop();if(a.length=0,Array.isArray(i))i.length===0?t.push({key:s,accessibleKey:s,value:"[]"}):i.every(n=>n===null||typeof n!="object")?i.forEach((n,l)=>t.push({key:l===0?s:"",accessibleKey:s,value:Yk(n)})):i.forEach((n,l)=>a.push([n,`${s}[${l}]`,`${o}/${l}`]));else if(i!==null&&typeof i=="object"){let n=i,l=e.propertyOrder.get(o)??Object.keys(n);l.length===0&&t.push({key:s,accessibleKey:s,value:"{}"});for(let u of l)a.push([Object.prototype.hasOwnProperty.call(n,u)?n[u]:void 0,s?`${s}.${u}`:u,`${o}/${u.replaceAll("~","~0").replaceAll("/","~1")}`])}else t.push({key:s,accessibleKey:s,value:Yk(i)});for(let n=a.length-1;n>=0;n--)r.push(a[n])}return t}function mh(...e){return e.filter(Boolean).join(" ")}function NH(e){return e.type==="generalization"?["none","extension"]:e.type!=="association"?V2[0]:V2[e.arrowType]??V2[2]}function DH(e){let t=[],r=[],a=i=>{let s=new Map;for(let o of["default",...i]){let n=e.classDefs.get(o);if(n)for(let l of n.styles){let u=l.trim(),c=u.indexOf(":"),f=(c===-1?u:u.slice(0,c)).trim();f&&s.set(f,u)}}return[...s.values()]};for(let i of e.actors.values())t.push({id:i.id,label:i.label,labelType:i.labelType,shape:TH[i.type],isGroup:!1,padding:10,cssClasses:mh("default","usecase-actor",`usecase-actor-${i.type}`,i.business&&"usecase-business",...i.classes),cssStyles:[...i.styles],cssCompiledStyles:a(i.classes),actorType:i.type,business:i.business,icon:i.icon||void 0,stereotype:i.stereotype||void 0,parentId:i.parentId||void 0});for(let i of e.useCases.values()){let s=i.shape==="ellipse";t.push({id:i.id,label:i.label,labelType:i.labelType,shape:s?i.business?"usecaseBusiness":"usecaseEllipse":"rect",isGroup:!1,padding:s?20:10,cssClasses:mh("default","usecase-element",`usecase-${i.shape}`,i.business&&"usecase-business",...i.classes),cssStyles:[...i.styles],cssCompiledStyles:a(i.classes),business:i.business,stereotype:i.stereotype||void 0,parentId:i.parentId||void 0})}for(let i of e.notes.values())t.push({id:i.id,label:i.label,labelType:i.labelType,shape:"note",isGroup:!1,padding:10,cssClasses:"default usecase-note",cssStyles:[],cssCompiledStyles:a([]),noteTarget:i.target});for(let i of e.jsonNodes.values())t.push({id:i.id,label:i.id,labelType:"text",shape:"usecaseJsonTable",isGroup:!1,padding:10,cssClasses:mh("default","usecase-json-table",...i.classes),cssStyles:[...i.styles],cssCompiledStyles:a(i.classes),jsonRows:IH(i)});for(let i of e.systemBoundaries.values())t.push({id:i.id,label:i.label,labelType:i.labelType,shape:"usecaseSystemBoundary",isGroup:!0,padding:20,cssClasses:mh("default","system-boundary",`system-boundary-${i.type}`,...i.classes),cssStyles:[...i.styles],cssCompiledStyles:a(i.classes),boundaryType:i.type});for(let i of e.relationships){let s=i.type==="include"||i.type==="extend",[o,n]=NH(i),l=i.animate||i.animation!==void 0,u={id:i.id,start:i.source,end:i.target,relationshipType:i.type,pattern:s?"dotted":"solid",arrowTypeStart:o,arrowTypeEnd:n,classes:mh("default","relationship",`relationship-${i.type}`,...i.classes,l&&`edge-animation-${i.animation??"fast"}`),style:[...i.styles],cssCompiledStyles:a(i.classes),animate:i.animate,animation:i.animation,minlen:i.minlen,explicitId:i.explicitId,internal:!1};s?(u.label=i.type,u.labelType="text"):i.type==="association"&&(i.label&&(u.label=i.label),i.labelType&&(u.labelType=i.labelType)),r.push(u)}for(let i of e.notes.values())r.push({id:`${i.id}-edge`,start:i.id,end:i.target,relationshipType:"note",pattern:"dotted",arrowTypeStart:"none",arrowTypeEnd:"none",classes:"default relationship relationship-note",style:[],cssCompiledStyles:a([]),animate:!1,minlen:1,explicitId:!1,internal:!0});return{nodes:t,edges:r}}function qk(e,t,r){let a=e.usecase?.[t];return typeof a=="number"&&a>0?Math.min(a,2e3):r}function BH(e){return e.replace(/[&<>\\]/g,t=>`&#${t.charCodeAt(0)};`)}function Dn(e,t,r,a,i,s=0){return We(e&&!t?BH(e):e,t,r,a,i,s)}function rb(e,t,r,a){let i=r===1||r===2?1:-1,s=r===1||r===3,o=(s?e.w:e.h)/2,n=0;if(e.kind===0)s?(o=ub/2+3,n=(yh-e.h)/2):o+=2;else if(e.kind===1){let l=(s?e.h:e.w)/2;o*=Math.sqrt(Math.max(1-(a/l)**2,0))}return s?[t.x+i*o,t.y+n+a]:[t.x+a,t.y+i*o]}function A$(e,t){let r=t===1||t===3;if(e.kind===0)return r?yh*.5:ub*.6;let a=r?e.h:e.w;return e.kind===1?a*.6:a-16}function FH(e,t,r){let a=new Map,i=(s,o,n,l)=>{let u=t[s];if(u.isGroup)return;let c=o[n]-u.x,f=o[n+1]-u.y,h;if(Math.abs(Math.abs(f)-u.h/2)<.5)h=f<0?0:2;else if(Math.abs(Math.abs(c)-u.w/2)<.5)h=c<0?3:1;else return;let g=s*4+h,p={route:o,at:n,toward:o[l+(h&1?1:0)]},m=a.get(g);m?m.push(p):a.set(g,[p])};for(let s of e){let o=s.route.length-3;s.src===s.dst||o<3||(i(s.src,s.route,0,3),i(s.dst,s.route,o,o-3))}for(let[s,o]of a){let n=s>>2,l=s&3,u=r[n],c=o.length>1?Math.min(OH,A$(u,l)/(o.length-1)):0;o.sort((f,h)=>f.toward-h.toward);for(let f=0;f<o.length;f++){let[h,g]=rb(u,t[n],l,(f-(o.length-1)/2)*c);o[f].route[o[f].at]=h,o[f].route[o[f].at+1]=g}}}function WH(e,t,r,a,i){let s=e-r*s1,o=t-a*s1,n=s1*.5;return`<path class="pele-marker" d="M${d(e)},${d(t)}L${d(s-a*n)},${d(o+r*n)}L${d(s+a*n)},${d(o-r*n)}Z" fill="var(--_bg)" stroke="${i}" stroke-linejoin="round"/>`}function a1(e){return e==="extension"?s1:wt(e)}function zk(e,t,r,a,i,s){return e==="extension"?WH(t,r,a,i,s):vt(e,t,r,a,i,s)}function HH(e,t){let r=e.node,a=e.style.shape,i=` fill="none" stroke="var(--_b)"${e.style.line}`,s=-21,o=9,n;return r.actorType==="hollow"?(o=8,n=`<circle cy="-21" r="8" fill="var(--_bg)" stroke="var(--_b)"${a}/><path d="M-20,-9H20V0H5.5L20,15.5L12,25.5L0,12L-12,25.5L-20,15.5L-5.5,0H-20Z" fill="var(--_bg)" stroke="var(--_b)" stroke-linejoin="round"${a}/>`):r.actorType==="awesome"?n=`<path d="M0,-30A11,11 0 1 1 0,-8A11,11 0 1 1 0,-30ZM-20,25C-20,9 -12,-3 0,-3C12,-3 20,9 20,25C20,28 18,30 15,30H-15C-18,30 -20,28 -20,25Z" fill="var(--_b)"${a}/>`:r.actorType==="icon"?(s=-14,o=12,n=`<rect x="-22" y="-26" width="44" height="44"${bt(xh+a)}/><svg class="pele-icon" data-icon="${Oe(r.icon??"")}" x="-14" y="-18" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${t?.(r.icon??"")??""}</svg>`):n=`<circle cy="-21" r="9"${xh}${a}/><path d="M0,-12V10M-14,-3H14M0,10L-12,30M0,10L12,30"${i}/>`,r.business&&(n+=`<path class="pele-business" d="M${d(.12*o)},${d(s+.99*o)}L${d(.92*o)},${d(s-.39*o)}"${i}/>`),n}function PH(e,t,r){return Da(e.direction)?Jt(r,a=>Qk(e,t,r,a)):Qk(e,t,r,!1)}function Qk(e,t,r,a){let i=DH(e),s=r.fontSize??16,o=Math.round(s*.875),n=Math.round(s*.8125),l=r.measurer??at(r.fontFamily),u=r.padding??8,c=r.icons,f=a?"TB":zr(e.direction),h=f==="LR"||f==="RL",g=new Map,p=[],m=[];i.nodes.forEach((w,A)=>g.set(w.id,A));for(let w of i.nodes){let A=Rt(w.cssStyles.length>0?w.cssCompiledStyles.concat(w.cssStyles):w.cssCompiledStyles),v=(A.bold?1:0)|(A.italic?2:0),b=A.fontSize??s,T=w.labelType==="markdown",M=Dn(w.stereotype&&`\xAB${w.stereotype}\xBB`,!1,l,n,200,v),E={node:w,kind:2,style:A,label:M,stereotype:M,w:0,h:0,rows:[],keyW:0,headH:0,loops:0},Y;if(w.isGroup){E.kind=4,E.label=Dn(w.label,T,l,b,4e3,v);let G=E.label.height;Y=rr(0,0),Y.isGroup=!0,Y.padX=t1,Y.padBottom=t1,Y.padTop=w.boundaryType==="package"?G+2*X2+16:G>0?G+16:t1,Y.minW=E.label.width+2*t1}else{if(w.jsonRows){E.kind=3,E.label=Dn(w.label,!1,l,b,4e3,v|1);let G=0;for(let K of w.jsonRows){let L=Dn(K.key,!1,l,o,4e3,v),_=Dn(K.value,!1,l,o,260,v);E.rows.push([L,_]),E.keyW=Math.max(E.keyW,L.width),G=Math.max(G,_.width),E.h+=Math.max(L.height,_.height,Math.round(o*1.5))+Z2}E.keyW>0&&(E.keyW+=2*Ah),E.headH=Math.max(E.label.height,Math.round(b*1.5))+Z2,E.w=Math.max(E.label.width+2*Ah,E.rows.length>0?E.keyW+G+2*Ah:0,72),E.h+=E.headH}else if(w.actorType)E.kind=0,E.label=Dn(w.label,T,l,b,140,v),E.w=Math.max(ub,E.label.width,M.width),E.h=yh+Kk+M.height+E.label.height;else{E.label=Dn(w.label,T,l,w.shape==="note"?o:b,180,v);let G=Math.max(E.label.width,M.width),K=E.label.height+M.height;w.shape==="usecaseEllipse"||w.shape==="usecaseBusiness"?(E.kind=1,E.w=Math.max(G+2*w.padding+(w.business?16:4),88),E.h=Math.max(K+28,48)):w.shape==="note"?(E.w=G+2*w.padding+6,E.h=K+18):(E.w=Math.max(G+2*w.padding+12,80),E.h=Math.max(K+24,44))}Y=rr(E.w,E.h)}Y.seq=p.length,p.push(E),m.push(Y)}i.nodes.forEach((w,A)=>{m[A].parent=w.parentId!==void 0?g.get(w.parentId)??-1:-1});let x=[],y=[],C=[];for(let w of i.edges){let A=g.get(w.start),v=g.get(w.end);if(A===void 0||v===void 0)continue;let b=w.relationshipType==="include"||w.relationshipType==="extend",T=Dn(b?`\xAB${w.label}\xBB`:w.label,w.labelType==="markdown",l,o,200);A===v&&(p[A].loops++,h?m[A].h+=2*(j2+(T.height>0?T.height+8:0)):m[A].w+=2*(j2+(T.width>0?T.width+12:0))),C.push(w),y.push(T),x.push({src:A,dst:v,minlen:w.minlen,labelW:T.width>0?T.width+12:0,labelH:T.height>0?T.height+4:0,route:[],labelX:0,labelY:0})}let S=Na(m,x,f,{nodeSep:qk(t,"nodeSpacing",RH),edgeSep:_H,rankSep:qk(t,"rankSpacing",LH),portSep:20}),R=aa(e.title,l,s,4e3),N=R.height>0?R.height+12:0,D=Math.max(S.width,R.width),O=u+(D-S.width)/2,H=u+N;gn(m,x,O,H);let U=Math.ceil(D+2*u),k=Math.ceil(S.height+N+2*u),j=new Map;for(let w of x)_i(j,w.route);FH(x,m,p);let X="",P="";for(let w=0;w<p.length;w++){let A=p[w],v=m[w],b=A.node,T=Wt(b.cssClasses.replace(/^default\s?/,"")),M=Oe(b.id),E=A.style.text,Y=A.style.shape,G=A.w,K=A.h;if(A.kind===4){let B=v.x-v.w/2,q=v.y-v.h/2,Q=` fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${Y}`,Z=` class="pele-cluster-label" fill="var(--_m)"${E}`,J;if(b.boundaryType==="package"){let W=Math.min(A.label.width+2*X2+8,v.w),V=A.label.height+2*X2;J=`<rect class="pele-boundary-tab" x="${d(B)}" y="${d(q)}" width="${d(W)}" height="${d(V)}"${Q}/><rect x="${d(B)}" y="${d(q+V)}" width="${d(v.w)}" height="${d(v.h-V)}"${Q}/>`+De(A.label,B+W/2,q+V/2,Z,c)}else J=`<rect x="${d(B)}" y="${d(q)}" width="${d(v.w)}" height="${d(v.h)}"${bt(Q)}/>`+De(A.label,GH(v,A.label.width,j),q+8+A.label.height/2,Z,c);X+=`<g class="pele-cluster pele-boundary${T}" data-id="${M}">${J}</g>`;continue}let L,_;if(A.kind===0){_="pele-actor";let B=-K/2,q=B+yh+Kk+A.stereotype.height/2;L=`<g class="pele-actor-figure" transform="translate(0,${d(B+yh/2)})">${HH(A,c)}</g>`+De(A.stereotype,0,q,` class="pele-stereotype" font-size="${n}" fill="var(--_m)"`,c)+De(A.label,0,K/2-A.label.height/2,` class="pele-label"${E}`,c)}else if(A.kind===3){_="pele-json";let B=-G/2,q=-K/2+A.headH,Q="",Z=`M${d(B)},${d(q)}H${d(B+G)}`;A.keyW>0&&(Z+=`M${d(B+A.keyW)},${d(q)}V${d(K/2)}`);for(let[J,W]of A.rows){let V=Math.max(J.height,W.height,Math.round(o*1.5))+Z2;Q+=De(J,B+Ah+J.width/2,q+V/2,' class="pele-json-key" fill="var(--_m)"',c)+UH(W,B+A.keyW+Ah,q+V/2,` class="pele-json-value"${E}`,c),q+=V}L=`<rect x="${d(B)}" y="${d(-K/2)}" width="${d(G)}" height="${d(K)}"${bt(xh+Y)}/><path class="pele-json-lines" d="${Z}" fill="none" stroke="var(--_b)"${A.style.line}/>`+De(A.label,0,-K/2+A.headH/2,` class="pele-label" font-weight="var(--_hw)"${E}`,c)+`<g font-size="${o}">${Q}</g>`}else{let B=A.stereotype.height/2,q;if(A.kind===1){if(_="pele-usecase",q=`<ellipse rx="${d(G/2)}" ry="${d(K/2)}"${xh}${Y}/>`,b.business){let Q=G/2-15,Z=G/2-5,J=W=>K/2*Math.sqrt(1-(W/(G/2))**2);q+=`<path class="pele-business" d="M${d(Q)},${d(J(Q))}L${d(Z)},${d(-J(Z))}" fill="none" stroke="var(--_b)"${A.style.line}/>`}}else if(b.shape==="note"){_="pele-note";let Q=G/2,Z=K/2;q=`<path d="M${d(-Q)},${d(-Z)}H${d(Q-r1)}L${d(Q)},${d(r1-Z)}V${d(Z)}H${d(-Q)}Z" fill="var(--_a)" stroke="var(--_b)" stroke-linejoin="round"${Y}/><path d="M${d(Q-r1)},${d(-Z)}V${d(r1-Z)}H${d(Q)}" fill="none" stroke="var(--_b)" stroke-linejoin="round"${A.style.line}/>`}else _="pele-usecase",q=`<rect x="${d(-G/2)}" y="${d(-K/2)}" width="${d(G)}" height="${d(K)}"${bt(xh+Y)}/>`;L=q+De(A.stereotype,0,-A.label.height/2,` class="pele-stereotype" font-size="${n}" fill="var(--_m)"`,c)+De(A.label,0,B,` class="pele-label"${b.shape==="note"?` font-size="${o}"`:""}${E}`,c)}P+=`<g class="pele-node ${_}${T}" data-id="${M}" transform="translate(${d(v.x)},${d(v.y)})">${L}</g>`}let F="",I="",$=new Map;for(let w=0;w<x.length;w++){let A=x[w],v=C[w],b=y[w],T=v.style.length>0||v.cssCompiledStyles.length>0?Rt(v.cssCompiledStyles.concat(v.style)):void 0,M=v.arrowTypeStart,E=v.arrowTypeEnd,Y;if(A.src===A.dst){let L=m[A.src],_=p[A.src],B=$.get(A.src)??0;$.set(A.src,B+1);let q=h?2:1,Q=Math.min(A$(_,q)/2,8+B*6),Z=j2+B*8,[J,W]=rb(_,L,q,-Q),[V,re]=rb(_,L,q,Q),ne=Math.hypot(Z,Q)||1,ce=h?Q/ne:Z/ne,ie=h?Z/ne:Q/ne,se=a1(M),ee=a1(E),te=(de,pe,Ee,ve)=>h?`${d(de+Ee*Q*(ve?1:0))},${d(pe+ve)}`:`${d(de+ve)},${d(pe+Ee*Q*(ve?1:0))}`,he=h?J-ce*se:J+ce*se,me=h?W+ie*se:W-ie*se,oe=V+ce*ee,be=re+ie*ee;Y={d:`M${d(he)},${d(me)}C${te(J,W,-1,Z)} ${te(V,re,1,Z)} ${d(oe)},${d(be)}`,sx:J,sy:W,sdx:h?ce:-ce,sdy:h?-ie:ie,ex:V,ey:re,edx:-ce,edy:-ie},h?(A.labelX=L.x,A.labelY=Math.max(W,re)+Z*.75+6+b.height/2):(A.labelX=Math.max(J,V)+Z*.75+8+b.width/2,A.labelY=L.y)}else{if(A.route.length<6)continue;Y=ya(A.route,void 0,a1(M),a1(E))}let G=T?.stroke?Je(T.stroke):"var(--_l)",K=v.internal?"2 3":v.pattern==="dotted"?"5 4":v.animate?"9 5":"";if(F+=`<g class="pele-edge pele-${v.relationshipType}${Wt(v.classes.replace(/^default relationship relationship-\S+\s?/,""))}" data-id="${Oe(v.id)}"${T?.line??""}><path d="${Y.d}"${K?` stroke-dasharray="${K}"`:""}/>`+zk(M,Y.sx,Y.sy,Y.sdx,Y.sdy,G)+zk(E,Y.ex,Y.ey,Y.edx,Y.edy,G)+"</g>",b.width>0){let L=A.labelX,_=A.labelY,B=v.relationshipType==="include"||v.relationshipType==="extend";I+=qr(v.id,b,L,_,(B?' fill="var(--_m)"':"")+(T?.text??""),c)}}return{svg:rt("usecase",U,k,s,r,e,De(R,U/2,u+R.height/2,' class="pele-title" font-weight="var(--_tw)"')+(X?`<g class="pele-clusters">${X}</g>`:"")+(F?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${F}</g>`:"")+(I?`<g class="pele-edge-labels" font-size="${o}">${I}</g>`:"")+`<g class="pele-nodes">${P}</g>`),width:U,height:k,links:[]}}function GH(e,t,r){let a=r.get(Math.round(e.y-e.h/2));if(t===0||a===void 0)return e.x;let i=e.x-e.w/2+6,s=e.x+e.w/2-6,o=a.filter(h=>h>i&&h<s).sort((h,g)=>h-g);o.push(s);let n=t/2+6,l=e.x,u=1/0,c=0,f=i;for(let h of o){if(h-f>=2*n){let g=Math.min(Math.max(e.x,f+n),h-n);Math.abs(g-e.x)<u&&(u=Math.abs(g-e.x),l=g)}else u===1/0&&h-f>c&&(c=h-f,l=(f+h)/2);f=h}return l}function UH(e,t,r,a,i){if(e.lines.length<2)return De(e,t+e.width/2,r,a,i);let s="";for(let o=0;o<e.lines.length;o++)s+=De(cs(e,o),t+e.widths[o]/2,r-e.height/2+us(e,o),a,i);return s}var Vk,Sh,jk,Rn,Rk,Fa,Zk,ab,eb,Jk,e$,t$,r$,l1,u1,EH,a$,i$,qi,CH,Wa,ot,ea,Sa,He,s$,Jr,n1,i1,n$,o$,TH,V2,RH,_H,LH,t1,j2,ub,yh,Kk,X2,Ah,Z2,r1,s1,OH,xh,b$,y$=Xe(()=>{ml();mn();Li();pr();zt();Lr();xt();Mt();Vk="EOF USECASE ACTOR SYSTEM_BOUNDARY END DIRECTION TD TB BT LR RL NOTE FOR JSON CLASS_DEF CLASS STYLE INCLUDE EXTEND TRUE FALSE IDENTIFIER NUMBER AT COMMA COLON HASH_COLOR CSS_IDENTIFIER CSS_ESCAPED_COMMA DASH DOT PERCENT CSS_PUNCTUATION LABEL_PUNCTUATION LABEL_SYMBOL PLAIN_STRING MARKDOWN_STRING UNCLOSED_MARKDOWN_STRING COMMENT NEWLINE ACC_DESCR_BLOCK ACC_TITLE_LINE ACC_DESCR_LINE JSON_DECLARATION_START JSON_OBJECT_LITERAL UNCLOSED_JSON_OBJECT_LITERAL GENERALIZATION DEPENDENCY_ARROW STEREOTYPE_START STEREOTYPE_END STEREOTYPE_TEXT UNCLOSED_STEREOTYPE_TEXT CLASS_SEPARATOR FORWARD_SOLID BACKWARD_SOLID FORWARD_CIRCLE BACKWARD_CIRCLE FORWARD_CROSS BACKWARD_CROSS MARKERLESS_SOLID METADATA_START LBRACE RBRACE LBRACKET RBRACKET LPAREN RPAREN".split(" "),Sh=1,jk=2,Rn=new Uint8Array(128);for(let e=48;e<=57;e++)Rn[e]=Sh;for(let e=65;e<=90;e++)Rn[e]=Rn[e+32]=Sh;Rn[95]=Sh;for(let e of"!#$&*+/=?^|~")Rn[e.charCodeAt(0)]=jk;Rk=[0,12,5,14,3,9,2,2,2,2,2,4,3,4,8,5,5,7,6,4,5];Fa=class extends Error{constructor(e){super("Invalid JSON token"),this.offset=e}offset};Zk=1,ab=2,eb=4,Jk=8,e$=16,t$=32,r$=64,l1="DEPENDENCY_ARROW|GENERALIZATION|FORWARD_SOLID|BACKWARD_SOLID|MARKERLESS_SOLID|FORWARD_CIRCLE|BACKWARD_CIRCLE|FORWARD_CROSS|BACKWARD_CROSS",u1="IDENTIFIER|PLAIN_STRING|MARKDOWN_STRING",EH="PLAIN_STRING|MARKDOWN_STRING|LABEL_TEXT",a$="ACC_TITLE_LINE|ACC_DESCR_LINE|ACC_DESCR_BLOCK|DIRECTION|ACTOR|SYSTEM_BOUNDARY|NOTE|JSON_DECLARATION_START|CLASS_DEF|CLASS|STYLE",i$="WORD|PLAIN_STRING|NUMBER|HASH_COLOR|CSS_IDENTIFIER|CSS_ESCAPED_COMMA|DASH|DOT|PERCENT|CSS_PUNCTUATION|COLON|LPAREN|RPAREN|LBRACKET|RBRACKET|LBRACE|RBRACE|AT|MARKERLESS_SOLID",qi=new Uint8Array(67);Do(`NEWLINE|COMMENT|${a$}|${u1}`,Zk);Do(`IDENTIFIER|${l1}`,ab);Do(i$,eb);Do(`STEREOTYPE_START|CLASS_SEPARATOR|IDENTIFIER|${l1}|NEWLINE|EOF`,Jk);Do(`NEWLINE|COMMENT|ACTOR|${u1}`,e$);Do("FORWARD_SOLID|MARKERLESS_SOLID|FORWARD_CIRCLE|FORWARD_CROSS",t$);Do("NEWLINE|IDENTIFIER|PLAIN_STRING|RBRACE",r$);CH=new Set(["allowmixing","newpage","package","rectangle","skinparam"]),Wa="",ot=[],ea=[],Sa=[],He=0,s$=0,i1=[],n$=0,o$=0;TH={normal:"usecaseActor",hollow:"usecaseActorHollow",awesome:"usecaseActorAwesome",icon:"usecaseActorIcon"},V2=[["none","arrow_point"],["arrow_point","none"],["none","none"],["none","arrow_circle"],["none","arrow_cross"],["arrow_circle","none"],["arrow_cross","none"]];RH=32,_H=16,LH=72,t1=20,j2=26,ub=40,yh=60,Kk=6,X2=6,Ah=10,Z2=8,r1=9,s1=12,OH=14,xh=' fill="var(--_s)" stroke="var(--_b)"';b$={type:"usecase",math:!0,parse:(e,t,r)=>$H(e,r),render:PH}});var x$={};Bt(x$,{usecase:()=>b$});var w$=Xe(()=>{y$()});function Ro(e){let t=e.trim();return t.length>=2&&t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function cb(e){return e.map(Ro).sort()}function VH(e,t){let r=new qH(e,t),a=-1,i=()=>a===-1?a=r.next():a,s=g=>{throw i()===1?ut("venn",e,r.start,"",!0):ut("venn",e,r.start,`Expecting ${g}, got '${S$[a]}'`)},o=()=>(a=-1,r.text),n=g=>(i()!==g&&s(`'${S$[g]}'`),o()),l=()=>(i()!==16&&a!==17&&s("'IDENTIFIER', 'STRING'"),o()),u=()=>{let g=[l()];for(;i()===18;)o(),g.push(l());return g},c=(g,p)=>{let m=i()===11?o():void 0,x;if(i()===19&&(o(),x=parseFloat(n(12))),p){if(g.length<2)throw new je("union requires multiple identifiers","semantic",{type:"venn"});t.validateUnionIdentifiers(g)}t.addSubsetData(g,m,x),t.setIndentMode(!0)},f=g=>{let p=i();p!==16&&p!==17&&p!==12&&s("'NUMERIC', 'IDENTIFIER', 'STRING'");let m=o(),x=p!==12&&i()===11?o():void 0;t.addTextData(g(),m,x)},h=()=>{let g=u(),p=[];for(;;){let m=n(16);n(19);let x;if(i()===17)x=o();else{let y=[];for(;i()===16||a>=12&&a<=15;)y.push(o());y.length===0&&s(QH),x=y.join(" ")}if(p.push([m,x]),i()!==18)break;o()}t.addStyleData(g,p)};for(;i()===3;)o();for(n(4);;){let g=i();if(g===2)return;if((g<3||g>10||g===4)&&s(zH),o(),g===5)t.setDiagramTitle(r.text.slice(6));else if(g===6)c([l()],!1);else if(g===7)c(u(),!0);else if(g===8){let p=u();f(()=>p)}else g===9?f(()=>{let p=t.getCurrentSets();if(!p)throw new je("text requires set","semantic",{type:"venn"});return p}):g===10&&h()}}function jH(e){let t=new Set,r=new Map;for(let i of e)t.add(JSON.stringify([...i.sets].sort())),i.sets.length===1&&r.set(i.sets[0],i.size);let a=[];for(let i of e){if(i.sets.length<3)continue;let s=[...i.sets].sort();for(let o=0;o<s.length-1;o++)for(let n=o+1;n<s.length;n++){let l=[s[o],s[n]],u=JSON.stringify(l);if(t.has(u))continue;t.add(u);let c=r.get(l[0]),f=r.get(l[1]);a.push({sets:l,size:c!==void 0&&f!==void 0?Math.min(c,f)/4:2.5,label:""})}}return a.length>0?[...e,...a]:e}function XH(e,t,r){if(r>=e+t)return 0;let a=Math.min(e,t);if(r<=Math.abs(e-t))return Math.PI*a*a;let i=e*e*Math.acos((r*r+e*e-t*t)/(2*r*e)),s=t*t*Math.acos((r*r+t*t-e*e)/(2*r*t)),o=.5*Math.sqrt(Math.max((-r+e+t)*(r+e-t)*(r-e+t)*(r+e+t),0));return i+s-o}function ZH(e,t,r){let a=Math.abs(e-t),i=e+t;if(!(r>0))return i;if(r>=Math.PI*Math.min(e,t)**2)return a;for(let s=0;s<48;s++){let o=(a+i)/2;XH(e,t,o)>r?a=o:i=o}return(a+i)/2}function E$(e,t,r,a,i,s){let o=1/0;for(let n of t){let l=e[n],u=a-l.x,c=i-l.y,f=l.r-Math.sqrt(u*u+c*c);if(f<o){if(f<s)return f;o=f}}for(let n of r){let l=e[n],u=a-l.x,c=i-l.y,f=Math.sqrt(u*u+c*c)-l.r;if(f<o){if(f<s)return f;o=f}}return o}function db(e,t,r){let a=0,i=0,s=e[t[0]];for(let p of t){let m=e[p];a+=m.x/t.length,i+=m.y/t.length,m.r<s.r&&(s=m)}let o=s.r,n=a,l=i,u=E$(e,t,r,n,l,-1/0),c=0,f=(p,m)=>{let x=E$(e,t,r,p,m,u-o*1e-9);if(!(x>u-o*1e-9))return!1;let y=Math.hypot(p-a,m-i);return x>u+o*1e-9||y<c-o*1e-9?(u=x,c=y,n=p,l=m,!0):!1},h=10;for(let p=-h;p<=h;p++)for(let m=-h;m<=h;m++)m*m+p*p<=h*h&&f(s.x+m*o/h,s.y+p*o/h);let g=o/h;for(let p=0;p<40&&g>o*1e-6;p++){let m=!1;for(let x=0;x<8;x++){let y=x*h1/8;f(n+Math.cos(y)*g,l+Math.sin(y)*g)&&(m=!0)}m||(g/=2)}return{x:n,y:l,margin:u}}function JH(e){let t=new Map;for(let x of e)for(let y of x.sets)t.has(y)||t.set(y,10);for(let x of e)x.sets.length===1&&t.set(x.sets[0],x.size);let r=new Map,a=[],i=0;for(let x of t.values())Number.isFinite(x)&&x>i&&(i=x);i===0&&(i=10);let s=Math.sqrt(i/Math.PI);for(let[x,y]of t){r.set(x,a.length);let C=Number.isFinite(y)&&y>0?Math.sqrt(y/Math.PI):0;a.push({id:x,x:0,y:0,r:Math.max(C,s*.3)})}let o=a.length;if(o<2)return a;let n=new Map;for(let x of jH(e)){if(x.sets.length!==2)continue;let y=r.get(x.sets[0]),C=r.get(x.sets[1]);y!==C&&n.set(Math.min(y,C)*o+Math.max(y,C),x.size)}let l=new Map;for(let[x,y]of n)l.set(x,ZH(a[Math.floor(x/o)].r,a[x%o].r,y));let u=s*.15,c=(x,y)=>l.get(x*o+y)??a[x].r+a[y].r+u;if(o===2)return a[1].x=c(0,1),a;if(o===3){let x=c(0,1),y=c(0,2),C=c(1,2),S=e.some(R=>new Set(R.sets).size===3);for(let R=0;R<40;R++){let N=x>0?(x*x+y*y-C*C)/(2*x):0;if(a[1].x=x,a[2].x=Math.max(-y,Math.min(y,N)),a[2].y=Math.sqrt(Math.max(y*y-N*N,0)),!S||db(a,[0,1,2],[]).margin>s*.12)break;x*=.94,y*=.94,C*=.94}return a}let f=0;for(let x of a)f+=2*x.r+u;let h=Math.min(300,Math.floor(3e6/(o*o)));if(o<=64){let x=f/h1;a.forEach((y,C)=>{let S=C*h1/o-Math.PI/2;y.x=Math.cos(S)*x,y.y=Math.sin(S)*x})}else{let x=Math.ceil(Math.sqrt(o)),y=2*s+u;a.forEach((C,S)=>{C.x=S%x*y,C.y=Math.floor(S/x)*y})}let g=new Float64Array(o),p=new Float64Array(o),m=new Int32Array(o);for(let x=0;x<h;x++){g.fill(0),p.fill(0),m.fill(0);for(let y=0;y<o;y++)for(let C=y+1;C<o;C++){let S=l.get(y*o+C),R=a[y].r+a[C].r+u,N=a[C].x-a[y].x,D=a[C].y-a[y].y,O=Math.hypot(N,D);if(S===void 0&&O>=R)continue;O<1e-9&&(N=Math.cos(y+C),D=Math.sin(y+C),O=1);let H=(O-(S??R))/2/O;g[y]+=N*H,p[y]+=D*H,g[C]-=N*H,p[C]-=D*H,m[y]++,m[C]++}for(let y=0;y<o;y++)m[y]!==0&&(a[y].x+=g[y]/m[y],a[y].y+=p[y]/m[y])}return a}function eP(e,t){let r=l=>`M${t(l.x-l.r)},${t(l.y)}A${t(l.r)},${t(l.r)} 0 1 1 ${t(l.x+l.r)},${t(l.y)}A${t(l.r)},${t(l.r)} 0 1 1 ${t(l.x-l.r)},${t(l.y)}Z`;if(e.length===1)return r(e[0]);let a=(l,u,c,f)=>{for(let h of e)if(h!==c&&h!==f&&Math.hypot(l-h.x,u-h.y)>h.r*(1+1e-9))return!1;return!0},i=[];for(let l=0;l<e.length;l++)for(let u=l+1;u<e.length;u++){let c=e[l],f=e[u],h=Math.hypot(f.x-c.x,f.y-c.y);if(h>=c.r+f.r||h<=Math.abs(c.r-f.r)||h===0)continue;let g=(c.r*c.r-f.r*f.r+h*h)/(2*h),p=Math.sqrt(Math.max(c.r*c.r-g*g,0)),m=c.x+(f.x-c.x)*g/h,x=c.y+(f.y-c.y)*g/h;for(let y of[1,-1]){let C=m+y*p*(f.y-c.y)/h,S=x-y*p*(f.x-c.x)/h;a(C,S,c,f)&&i.push({x:C,y:S,a:c,b:f})}}if(i.length<2){let l=e[0];for(let u of e)u.r<l.r&&(l=u);for(let u of e)if(u!==l&&Math.hypot(u.x-l.x,u.y-l.y)+l.r>u.r*(1+1e-9))return"";return r(l)}let s=0,o=0;for(let l of i)s+=l.x/i.length,o+=l.y/i.length;i.sort((l,u)=>Math.atan2(l.y-o,l.x-s)-Math.atan2(u.y-o,u.x-s));let n="";for(let l=0;l<i.length;l++){let u=i[l],c=i[(l+1)%i.length];l===0&&(n=`M${t(u.x)},${t(u.y)}`);let f,h=0,g=1/0;for(let p of[u.a,u.b]){if(p!==c.a&&p!==c.b)continue;let m=Math.atan2(u.y-p.y,u.x-p.x),x=Math.atan2(c.y-p.y,c.x-p.x)-m;x<=0&&(x+=h1);let y=p.x+p.r*Math.cos(m+x/2),C=p.y+p.r*Math.sin(m+x/2),S=Math.hypot(y-(u.x+c.x)/2,C-(u.y+c.y)/2);S<g&&(g=S,f=p,h=x>Math.PI?1:0)}f===void 0?n+=`L${t(c.x)},${t(c.y)}`:n+=`A${t(f.r)},${t(f.r)} 0 ${h} 1 ${t(c.x)},${t(c.y)}`}return n+"Z"}function hb(e){return e.length===1?e[0]:JSON.stringify(e)}function aP(e,t,r){let a=r.fontSize??16,i=Math.round(a*.875),s=Math.round(a*.8125),o=r.measurer??at(r.fontFamily),n=r.padding??8,l=JH(e.subsets),u=new Map;l.forEach((w,A)=>u.set(w.id,A));let c=new Map;for(let{targets:w,styles:A}of e.styles){let v=hb(w),b=c.get(v);b||c.set(v,b=new Map);for(let[T,M]of A)b.set(T,M)}let f=w=>{let A=c.get(w);if(!A)return C$;let v=[];for(let[b,T]of A)v.push(`${b}:${T}`);return Rt(v)},h=l.map(()=>[]);for(let w=0;w<l.length;w++)for(let A=w+1;A<l.length;A++)Math.hypot(l[w].x-l[A].x,l[w].y-l[A].y)<l[w].r+l[A].r&&(h[w].push(A),h[A].push(w));let g=new Map;for(let w of e.subsets)g.set(hb(w.sets),w);let p=new Map;for(let[w,A]of g){let v=[...new Set(A.sets)],b=v.map(_=>u.get(_)),T=new Set(b),M=b[0];for(let _ of b)l[_].r<l[M].r&&(M=_);let E=f(w),Y=A.label??(A.sets.length===1?A.sets[0]:void 0),G=(E.bold?1:0)|(E.italic?2:0),K=db(l,b,h[M].filter(_=>!T.has(_)));K.margin<l[M].r*.2&&(K=db(l,b,[]));let L={sets:v,inside:b,spot:K,lines:[],style:E};if(Y){let _=v.length===1?a:i;L.lines.push({id:void 0,raw:Y,size:_,base:G,label:We(Y,!1,o,_,4e3,G)})}p.set(w,L)}for(let w of e.textNodes){let A=w.label??w.id;p.get(hb(w.sets))?.lines.push({id:w.id,raw:A,size:s,base:0,label:We(A,!1,o,s,4e3)})}let m=0;for(let w of l)w.r>m&&(m=w.r);let x=m>0?tP/m:1,y=1;for(let w of p.values()){if(w.spot.margin<=0)continue;let A=0,v=0;for(let T of w.lines)A=Math.max(A,T.label.width),v+=T.label.height;let b=Math.hypot(A,v)/2+4;y=Math.max(y,Math.min(b/(w.spot.margin*x),rP))}x*=y;for(let w of p.values()){let A=Math.max(w.spot.margin*x*1.8,72);for(let v of w.lines)v.label.width>A&&(v.label=We(v.raw,!1,o,v.size,A,v.base))}let C=1/0,S=1/0,R=-1/0,N=-1/0;for(let w of l)C=Math.min(C,(w.x-w.r)*x),S=Math.min(S,(w.y-w.r)*x),R=Math.max(R,(w.x+w.r)*x),N=Math.max(N,(w.y+w.r)*x);for(let w of p.values()){let A=0,v=0;for(let b of w.lines)A=Math.max(A,b.label.width),v+=b.label.height;C=Math.min(C,w.spot.x*x-A/2),R=Math.max(R,w.spot.x*x+A/2),S=Math.min(S,w.spot.y*x-v/2),N=Math.max(N,w.spot.y*x+v/2)}l.length===0&&(C=S=R=N=0);let D=We(e.title&&Ro(e.title),!1,o,a,4e3,1),O=D.height>0?D.height+12:0,H=Math.max(R-C,D.width),U=n+(H-(R-C))/2-C,k=n+O-S,j=Math.ceil(H+2*n),X=Math.ceil(N-S+O+2*n),P=l.map(w=>({id:w.id,x:w.x*x+U,y:w.y*x+k,r:w.r*x})),F="";P.forEach((w,A)=>{let v=At(A),b=p.get(w.id)?.style??C$;F+=`<circle class="pele-venn-set" data-id="${Oe(w.id)}" cx="${d(w.x)}" cy="${d(w.y)}" r="${d(w.r)}" fill="${v}" fill-opacity="0.2" stroke="${v}"${b.shape}/>`});let I="",$="";for(let w of p.values()){let A=Oe(w.sets.join("|"));if(w.sets.length>1&&w.style.shape!==""){let E=eP(w.inside.map(Y=>P[Y]),d);E!==""&&(I+=`<path class="pele-venn-overlap" data-id="${A}" d="${E}" fill="none"${w.style.shape}/>`)}let v=0;for(let E of w.lines)v+=E.label.height;if(v===0)continue;let b=w.spot.x*x+U,T=w.spot.y*x+k-v/2,M="";for(let E of w.lines){let Y=E.id===void 0?` class="pele-label"${E.size===a?"":` font-size="${E.size}"`}${w.style.text}`:` class="pele-venn-text" data-id="${Oe(E.id)}" font-size="${s}" fill="var(--_m)"${f(E.id).text}`;M+=De(E.label,b,T+E.label.height/2,Y),T+=E.label.height}$+=`<g class="pele-venn-region" data-id="${A}">${M}</g>`}return{svg:rt("venn",j,X,a,r,{},De(D,j/2,n+D.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g class="pele-venn-sets">${F}</g>`+(I?`<g class="pele-venn-overlaps">${I}</g>`:"")+($?`<g class="pele-venn-labels">${$}</g>`:"")),width:j,height:X,links:[]}}var YH,S$,KH,qH,zH,QH,h1,tP,rP,C$,M$,v$=Xe(()=>{pr();xt();Mt();YH=class{type="venn";title;subsets=[];textNodes=[];styles=[];known=new Set;current;indent=!1;setDiagramTitle(e){this.title=e}addSubsetData(e,t,r){let a=cb(e);this.current=a,a.length===1&&this.known.add(a[0]),this.subsets.push({sets:a,size:r??10/e.length**2,label:t?Ro(t):void 0})}addTextData(e,t,r){this.textNodes.push({sets:cb(e),id:Ro(t),label:r?Ro(r):void 0})}addStyleData(e,t){let r=new Map;for(let[a,i]of t)r.set(a,i&&Ro(i));this.styles.push({targets:cb(e),styles:r})}validateUnionIdentifiers(e){let t=e.map(Ro).filter(r=>!this.known.has(r));if(t.length>0)throw new je(`unknown set identifier: ${t.join(", ")}`,"semantic",{type:"venn"})}getCurrentSets(){return this.current}getIndentMode(){return this.indent}setIndentMode(e){this.indent=e}},S$=["$end","INVALID","EOF","NEWLINE","VENN","TITLE","SET","UNION","TEXT","INDENT_TEXT","STYLE","BRACKET_LABEL","NUMERIC","HEXCOLOR","RGBCOLOR","RGBACOLOR","IDENTIFIER","STRING","COMMA","COLON"],KH=[["venn-beta",4],["set",6],["union",7],["text",8],["style",10]],qH=class{constructor(e,t){this.src=e,this.host=t}src;host;text="";start=0;at=0;lineStart=!1;ended=!1;word(e,t){let r=this.src;for(let a=0;a<t.length;a++){let i=r.charCodeAt(e+a),s=t.charCodeAt(a);if(i!==s&&(i+32!==s||i<65||i>90))return!1}return!0}keyword(e,t){return this.word(e,t)&&!tt(this.src.charCodeAt(e+t.length))}color(e,t){let r=this.src,a=e+1;for(let i=0;i<t;i++){for(;Ke(r.charCodeAt(a));)a++;let s=a;for(;yt(r.charCodeAt(a))||r.charCodeAt(a)===46;)a++;if(a===s)return-1;for(;Ke(r.charCodeAt(a));)a++;if(r.charCodeAt(a)!==(i===t-1?41:44))return-1;a++}return a}lineEnd(e){let t=this.src.indexOf(`
154
+ `,e);return t===-1?this.src.length:t}next(){let e=this.src,t=e.length;for(;;){let r=this.at;if(this.start=r,this.text="",r>=t)return this.ended?0:(this.ended=!0,2);let a=e.charCodeAt(r);if(a===37&&e.charCodeAt(r+1)===37&&e.charCodeAt(r+2)!==123||a!==125&&e.charCodeAt(r+1)===37&&e.charCodeAt(r+2)===37){this.at=this.lineEnd(r+2);continue}if(this.lineStart){if(a===32||a===9){let i=r+1;for(;e.charCodeAt(i)===32||e.charCodeAt(i)===9;)i++;if(this.at=i,this.keyword(i,"text")&&this.host.getIndentMode())return this.at=i+4,this.lineStart=!1,this.text=e.slice(r,i),9;continue}a!==10&&a!==13&&(this.host.setIndentMode(!1),this.lineStart=!1)}if(a===10||a===13){for(r++;e.charCodeAt(r)===10||e.charCodeAt(r)===13;)r++;return this.lineStart=!0,this.token(3,r)}if(a===37&&e.charCodeAt(r+1)===37){this.at=this.lineEnd(r);continue}if(a===32||a===9){for(r++;e.charCodeAt(r)===32||e.charCodeAt(r)===9;)r++;this.at=r;continue}if((a|32)>=97&&(a|32)<=122||a===95){if(this.word(r,"title")&&Ke(e.charCodeAt(r+5))){let i=r+6;for(;i<t;){let s=e.charCodeAt(i);if(s===35||s===10||s===59)break;i++}if(i>r+6)return this.token(5,i)}for(let[i,s]of KH)if(this.keyword(r,i))return this.token(s,r+i.length);if(this.word(r,"rgb")){let i=(e.charCodeAt(r+3)|32)===97,s=r+(i?4:3),o=e.charCodeAt(s)===40?this.color(s,i?4:3):-1;if(o!==-1)return this.token(i?15:14,o)}for(r++;tt(e.charCodeAt(r))||e.charCodeAt(r)===45;)r++;return this.token(16,r)}if(a===91){if(e.charCodeAt(r+1)===34){let s=e.indexOf('"',r+2);return s===-1||e.charCodeAt(s+1)!==93?1:(this.at=s+2,this.text=e.slice(r+2,s),11)}let i=r+1;for(;i<t&&e.charCodeAt(i)!==93&&e.charCodeAt(i)!==34;)i++;return i===r+1||e.charCodeAt(i)!==93?1:(this.at=i+1,this.text=e.slice(r+1,i).trim(),11)}if(yt(a)||a===46||a===43||a===45){(a===43||a===45)&&r++;let i=r;for(;yt(e.charCodeAt(r));)r++;if(r>i){if(e.charCodeAt(r)===46&&yt(e.charCodeAt(r+1)))for(r+=2;yt(e.charCodeAt(r));)r++}else if(e.charCodeAt(r)===46&&yt(e.charCodeAt(r+1)))for(r+=2;yt(e.charCodeAt(r));)r++;else return 1;return this.token(12,r)}if(a===35){let i=r+1;for(;i<r+9&&R0(e.charCodeAt(i));)i++;return i>=r+4?this.token(13,i):1}if(a===34){let i=e.indexOf('"',r+1);return i===-1?1:this.token(17,i+1)}return a===44?this.token(18,r+1):a===58?this.token(19,r+1):1}}token(e,t){return this.text=this.src.slice(this.at,t),this.at=t,e}},zH="'EOF', 'NEWLINE', 'TITLE', 'SET', 'UNION', 'TEXT', 'INDENT_TEXT', 'STYLE'",QH="'NUMERIC', 'IDENTIFIER', 'STRING', 'HEXCOLOR', 'RGBCOLOR', 'RGBACOLOR'";h1=Math.PI*2;tP=100,rP=1.6,C$=Rt([]);M$={type:"venn",parse(e,t,r){let a=new YH;return r&&(a.title=r),VH(e,a),a},render:aP}});var k$={};Bt(k$,{venn:()=>M$});var $$=Xe(()=>{v$()});function nP(e,t){let r="ishikawa-beta",a=0;for(;a<13;){let i=e.charCodeAt(t+a),s=r.charCodeAt(a);if(i!==s&&(i+32!==s||i<65||i>90))break;a++}return a===13&&!tt(e.charCodeAt(t+13))?13:a>=8&&!tt(e.charCodeAt(t+8))?8:0}function oP(e){let t=[],r=[],a=[],i=e.length,s=0;for(;s<i;){let o=s,n=-1;for(;o<i&&Ke(e.charCodeAt(o));)e.charCodeAt(o)===10&&(n=o),o++;let l,u;if(e.charCodeAt(o)===37&&e.charCodeAt(o+1)===37)for(l=2,u=o+2;u<i;){let c=e.charCodeAt(u);if(c===10||c===13||c===8232||c===8233)break;u++}else if(o===s){let c=nP(e,s);c>0?(l=4,u=s+c):(l=6,u=e.indexOf(`
155
+ `,s),u===-1&&(u=i))}else n>s?(l=2,u=n+1):n===s?(l=3,u=s+1):(l=5,u=o);t.push(l),r.push(s),a.push(u),s=u}return t.push(1,0),r.push(i,i),a.push(i,i),{types:t,starts:r,ends:a}}function lP(e,t){let{types:r,starts:a,ends:i}=oP(e),s=0,o=n=>{throw ut("ishikawa",e,a[s],`Expecting ${n}, got '${sP[r[s]]}'`)};if(r[s]===2){for(s++;r[s]===2||r[s]===3;)s++;r[s]!==4&&o("'SPACELINE', 'NL', 'ISHIKAWA'")}else r[s]!==4&&o("'SPACELINE', 'ISHIKAWA'");for(s++,r[s]===3&&s++;;){let n=r[s];if(n===6||n===5&&r[s+1]===6){let l=n===6?s:s+1;s=l+1,r[s]!==2&&r[s]!==3&&r[s]!==1&&o(fb),t.addNode(n===6?0:i[l-1]-a[l-1],e.slice(a[l],i[l]).trim())}else n===2||n===5?(s++,r[s]!==2&&r[s]!==3&&r[s]!==1&&o(n===5?`${fb}, 'TEXT'`:fb)):o("'SPACELINE', 'SPACELIST', 'TEXT'");for(s++;r[s]===3||r[s]===1;)s++;if(r[s]===0)return}}function AP(e,t,r,a,i){let s=We(e.text,!1,r,a,180),o=Math.round(i*1.5),n=[],l=[],u=[],c=(p,m,x)=>{let y=p.length;for(let C=y-1;C>=0;C--)u.push({node:p[t?y-1-C:C],depth:m,parent:x,slot:C,bone:-1})};for(c(e.children,2,-1);u.length>0;){let p=u.pop();if(p.bone!==-1){l.push(p.bone);continue}let m=n.length;n.push({label:We(p.node.text,!1,r,i,200),depth:p.depth,parent:p.parent,slot:p.slot,kids:p.node.children.length,rise:0,at:0,textEnd:0}),p.depth%2===0?l.push(m):(p.bone=m,u.push(p)),c(p.node.children,p.depth+1,m)}let f=uP;for(let p of l){let m=Math.max(n[p].label.height,o)+cP;n[p].rise=f+m/2,f+=m}let h=s.width+2*gP,g=h/2;for(let p of n){let m=p.parent===-1?void 0:n[p.parent];p.depth%2===0?(p.at=m?m.at:0,p.textEnd=p.at-(p.kids>0?(p.kids+1)*T$:dP)-pb):(p.at=m.at-(m.kids-p.slot)*T$,p.textEnd=p.at-pb),g=Math.max(g,p.label.width-p.textEnd)}return{node:e,label:s,boxW:h,boxH:s.height+2*mP,bones:n,rise:f+hP,reach:g}}function bP(e,t,r){return Jt(r,a=>yP(e,t,r,a))}function yP(e,t,r,a){let i=r.fontSize??16,s=Math.round(i*.875),o=r.measurer??at(r.fontFamily),n=r.padding??8;if(a)return xP(e,r);let l=e.root,u=We(e.title,!1,o,i,4e3,1),c=u.height>0?u.height+12:0,f="",h=0,g=0,p=0,m=0;if(l){let N=We(l.text,!1,o,i,200,1),D=Math.max(N.height+24,48),O=N.width+24+D/2,H=l.children.map((F,I)=>AP(F,I%2===0,o,i,s));for(let F of H)F.rise=Math.max(F.rise,D/2+14);let U=[],k=-I$;for(let F=0;F<H.length;F+=2){if(F>0){let I=0;for(let $=0;$<2;$++){let w=H[F-2+$],A=H[F+$];w&&(I=Math.max(I,w.reach+(A?A.boxW/2:0)))}k-=I+fP}U.push(k,k)}let j=H.length>0?k-pP:-I$;g=O,h=j,p=-D/2,m=D/2;let X="";H.forEach((F,I)=>{let $=I%2===0?-1:1,w=U[I],A=(G,K)=>w+G-K*f1,v=A(0,F.rise),b=$*F.rise,T=er-1,M=`M${d(w-f1/d1*T)},${d($*T/d1)}L${d(v)},${d(b)}`,E="";for(let G of F.bones){let K=$*G.rise;if(G.depth%2===0)M+=`M${d(A(G.at,G.rise))},${d(K)}H${d(A(G.textEnd+pb,G.rise))}`;else{let _=F.bones[G.parent].rise;M+=`M${d(A(G.at,_))},${d($*_)}L${d(A(G.at,G.rise))},${d(K)}`}let L=A(G.textEnd,G.rise);E+=De(G.label,L-G.label.width/2,K,G.depth>2?' fill="var(--_m)"':""),h=Math.min(h,L-G.label.width)}let Y=b+$*(F.boxH/2);h=Math.min(h,v-F.boxW/2),g=Math.max(g,v+F.boxW/2),p=Math.min(p,Y-F.boxH/2),m=Math.max(m,Y+F.boxH/2),X+=`<g class="pele-ishikawa-category" data-id="${Oe(F.node.text)}"><path class="pele-ishikawa-bones" d="${M}" fill="none" stroke="var(--_l)"/>`+vt("arrow_point",w,0,f1/d1,-$/d1,"var(--_l)")+`<rect x="${d(v-F.boxW/2)}" y="${d(Y-F.boxH/2)}" width="${d(F.boxW)}" height="${d(F.boxH)}" fill="var(--_s)" stroke="var(--_b)"${ct}/>`+De(F.label,v,Y,' class="pele-label"')+(E?`<g class="pele-ishikawa-causes" font-size="${s}">${E}</g>`:"")+"</g>"});let P=D/2;f=`<path class="pele-ishikawa-spine" d="M${d(j)},0H${d(-(er-1))}" fill="none" stroke="var(--_l)"/>`+vt("arrow_point",0,0,1,0,"var(--_l)")+X+`<g class="pele-ishikawa-head" data-id="${Oe(l.text)}"><path d="M0,${d(-P)}H${d(O-P)}A${d(P)},${d(P)} 0 0 1 ${d(O-P)},${d(P)}H0Z" fill="var(--_s)" stroke="var(--_b)" stroke-linejoin="round"/>`+De(N,12+N.width/2,0,' class="pele-label" font-weight="var(--_hw)"')+"</g>"}let x=Math.max(g-h,u.width),y=Math.ceil(x+2*n),C=Math.ceil(m-p+c+2*n),S=n+(x-(g-h))/2-h,R=n+c-p;return{svg:rt("ishikawa",y,C,i,r,{},De(u,y/2,n+u.height/2,' class="pele-title" font-weight="var(--_tw)"')+(f?`<g transform="translate(${d(S)},${d(R)})">${f}</g>`:"")),width:y,height:C,links:[]}}function xP(e,t){let r=t.fontSize??16,a=Math.round(r*.875),i=t.measurer??at(t.fontFamily),s=t.padding??8,o=Math.max(140,(t.maxWidth??320)-2*s),n=We(e.title,!1,i,r,Ht(t),1),l=[],u=e.root?[{node:e.root,depth:0,parent:-1}]:[],c=0;for(;u.length;){let S=u.pop(),R=l.length;l.push({...S,x:0,y:0,w:0,h:0}),c=Math.max(c,S.depth);for(let N=S.node.children.length-1;N>=0;N--)u.push({node:S.node.children[N],depth:S.depth+1,parent:R})}let f=Math.min(20,Math.max(2,(o-120)/Math.max(1,c))),h=s+(n.height?n.height+12:0),g=n.width,p="",m="";for(let S of l){S.x=s+S.depth*f;let R=Math.max(60,o-S.depth*f-20);S.label=bo(We(S.node.text,!1,i,S.depth<2?r:a,R,S.depth<2?1:0),i,R),S.w=S.label.width+20,S.h=S.label.height+12,S.y=h,h+=S.h+12,g=Math.max(g,S.x-s+S.w);let N=S.depth<2;if(p+=`<g class="pele-node ${S.depth===0?"pele-ishikawa-head":S.depth===1?"pele-ishikawa-category":"pele-ishikawa-cause"}" data-id="${Oe(S.node.text)}">`+(N?`<rect x="${d(S.x)}" y="${d(S.y)}" width="${d(S.w)}" height="${d(S.h)}" rx="${S.depth===0?12:4}" fill="var(--_s)" stroke="var(--_b)"/>`:"")+De(S.label,S.x+S.w/2,S.y+S.h/2,` class="pele-label"${S.depth<2?' font-weight="var(--_hw)"':""}${S.depth>1?` font-size="${a}"`:""}`)+"</g>",S.parent>=0){let D=l[S.parent],O=D.x+f/2;m+=`<path class="pele-edge" d="M${d(O)},${d(D.y+D.h)}V${d(S.y+S.h/2)}H${d(S.x)}" fill="none" stroke="var(--_b)"/>`}}let x=Math.ceil(g+2*s),y=Math.ceil(Math.max(s+n.height,h-12)+s),C=De(n,x/2,s+n.height/2,' class="pele-title" font-weight="var(--_tw)"')+m+p;return{svg:rt("ishikawa",x,y,r,t,{},C),width:x,height:y,links:[]}}var iP,sP,fb,f1,d1,uP,cP,hP,T$,dP,pb,fP,I$,pP,gP,mP,N$,D$=Xe(()=>{yo();pr();zt();Lr();xt();Mt();iP=class{type="ishikawa";title;root;stack=[];baseLevel;addNode(e,t){let r={text:t,children:[]};if(!this.root){this.root=r,this.stack=[{level:0,node:r}];return}this.baseLevel??=e;let a=Math.max(e-this.baseLevel+1,1),i=this.stack;for(;i.length>1&&i[i.length-1].level>=a;)i.pop();i[i.length-1].node.children.push(r),i.push({level:a,node:r})}},sP=["$end","EOF","SPACELINE","NL","ISHIKAWA","SPACELIST","TEXT"];fb="'SPACELINE', 'NL', 'EOF'";f1=.5,d1=Math.hypot(f1,1),uP=14,cP=6,hP=8,T$=22,dP=18,pb=5,fP=26,I$=34,pP=28,gP=10,mP=5;N$={type:"ishikawa",parse(e,t,r){let a=new iP;return a.title=r,lP(e,a),a},render:bP}});var R$={};Bt(R$,{ishikawa:()=>N$});var _$=Xe(()=>{D$()});function kP(e,t,r,a,i=SP){let s=e.length;if(s===0)return{width:0,height:0};let o=r==="LR"||r==="RL",n=r==="BT"||r==="RL",l=[];for(let P=s-1;P>=0;P--)e[P].parent<0&&e[P].isGroup&&l.push(P);let u=Math.max(1,l.length),c=new Int32Array(s).fill(-1);l.forEach((P,F)=>c[P]=F);let f=new Uint8Array(s);for(let P=0;P<s;P++)e[P].parent>=0&&(f[e[P].parent]=1);let h=new Float64Array(u).fill(i),g=i,p=P=>{let F=P,I=i;for(let w=0;e[F].parent>=0&&w<L$;w++)F=e[F].parent,c[F]<0&&(I+=Math.max(e[F].padX,e[F].padTop,e[F].padBottom));let $=Math.max(0,c[F]);return I>h[$]&&(h[$]=I),I>g&&(g=I),$},m=new Int32Array(s).fill(-1),x=[];for(let P=0;P<s;P++)c[P]>=0||(!e[P].isGroup||!f[P])&&(m[P]=x.length,x.push(P));let y=P=>o?P.w:P.h,C=P=>o?P.h:P.w,S=x.map(P=>ro(C(e[P]),y(e[P]))),R=[],N=[],D=1;{let P=new Set;for(let F=0;F<t.length;F++){let I=t[F],$=m[I.src],w=m[I.dst];if($<0||w<0||$===w)continue;let A=Math.min($,w)*x.length+Math.max($,w);(I.labelW>0||P.has(A))&&(D=2),P.add(A),R.push(ao($,w,I.minlen,o?I.labelH:I.labelW,o?I.labelW:I.labelH)),N.push(F)}}xc(S,R),wc(S,R,D);let O=R.length,H=Int32Array.from(x,p),U=(P,F)=>{let I=h.map((z,ge)=>F[ge]?Math.max(z,F$):z),$=new Uint8Array(u),w=0,A=new Int32Array(O);for(let z=0;z<O;z++)A[z]=Math.abs(S[R[z].head].rank-S[R[z].tail].rank),P[z]||(w+=A[z]-1);let v=w>CP,b=x.length+(v?0:w),T=new Int32Array(b),M=new Int32Array(b),E=new Float64Array(b),Y=new Float64Array(b),G=new Uint8Array(b),K=0;for(let z=0;z<x.length;z++)T[z]=S[z].rank,M[z]=H[z],E[z]=S[z].w,Y[z]=S[z].h,T[z]>K&&(K=T[z]);let L=new Int32Array(O).fill(-1),_=new Int32Array(O).fill(-1),B=[];{let z=x.length;for(let ge=0;ge<O;ge++){let ae=R[ge],xe=ae.reversed?ae.head:ae.tail,Ce=ae.reversed?ae.tail:ae.head;if(v||A[ge]<2||P[ge]){B.push(xe,Ce);continue}let ke=T[xe],_e=T[Ce],Te=-1;ae.labelW>0&&(Te=ke+(_e-ke>>1),D===2&&!(Te&1)&&Te--),L[ge]=z;let Ue=xe;for(let Me=ke+1;Me<_e;Me++){let qe=z++;T[qe]=Me,M[qe]=M[xe]+Math.round((M[Ce]-M[xe])*(Me-ke)/(_e-ke)),G[qe]=1,Me===Te&&(E[qe]=ae.labelW,Y[qe]=ae.labelH,_[ge]=qe),B.push(Ue,qe),Ue=qe}B.push(Ue,Ce)}}let q=new Int32Array(b+1),Q=new Int32Array(b+1);for(let z=0;z<B.length;z+=2)Q[B[z]+1]++,q[B[z+1]+1]++;for(let z=0;z<b;z++)q[z+1]+=q[z],Q[z+1]+=Q[z];let Z=new Int32Array(B.length/2),J=new Int32Array(B.length/2);{let z=q.slice(0,b),ge=Q.slice(0,b);for(let ae=0;ae<B.length;ae+=2)J[ge[B[ae]]++]=B[ae+1],Z[z[B[ae+1]]++]=B[ae]}let W=[];for(let z=0;z<=K;z++)W.push([]);for(let z=0;z<b;z++)W[T[z]].push(z);let V=new Float64Array(b),re=new Float64Array(b),ne=z=>{z.sort((ge,ae)=>M[ge]-M[ae]||re[ge]-re[ae]||ge-ae);for(let ge=0;ge<z.length;ge++)V[z[ge]]=ge};for(let z of W){for(let ge=0;ge<z.length;ge++)re[z[ge]]=ge;ne(z)}for(let z=0;z<EP&&K>0;z++){let ge=(z&1)===0;for(let ae=1;ae<=K;ae++){let xe=W[ge?ae:K-ae],Ce=ge?q:Q,ke=ge?Z:J;for(let _e of xe){let Te=0,Ue=Ce[_e+1]-Ce[_e];for(let Me=Ce[_e];Me<Ce[_e+1];Me++)Te+=V[ke[Me]];re[_e]=Ue>0?Te/Ue:V[_e]}ne(xe)}}let ce=(z,ge)=>G[z]||G[ge]?a.edgeSep:a.nodeSep,ie=(z,ge)=>{let ae=0;for(;ae<z.length;){let xe=ae;for(;xe+1<z.length&&M[z[xe+1]]===M[z[ae]];)xe++;ge(z,ae,xe),ae=xe+1}},se=(z,ge,ae)=>{let xe=E[z[ge]];for(let Ce=ge;Ce<ae;Ce++)xe+=ce(z[Ce],z[Ce+1])+E[z[Ce+1]];return xe},ee=new Float64Array(u),te=l.length>0?wP:0;for(let z=0;z<l.length;z++){let ge=e[l[z]];ee[z]=Math.max(0,ge.minW-2*I[z]),ge.padTop>te&&(te=ge.padTop)}for(let z of W)ie(z,(ge,ae,xe)=>{let Ce=se(z,ae,xe);Ce>ee[M[z[ae]]]&&(ee[M[z[ae]]]=Ce)});let he=new Float64Array(u+1);for(let z=0;z<u;z++)he[z+1]=he[z]+ee[z]+2*I[z];let me=new Float64Array(b),oe=new Float64Array(b),be=(z,ge,ae)=>{let xe=M[z[ge]],Ce=(he[xe]+I[xe]+(he[xe+1]-I[xe])-se(z,ge,ae))/2;for(let ke=ge;ke<=ae;ke++)me[z[ke]]=Ce+E[z[ke]]/2,ke<ae&&(Ce+=E[z[ke]]+ce(z[ke],z[ke+1]))},de=(z,ge,ae)=>{let xe=M[z[ge]],Ce=he[xe]+I[xe];for(let _e=ge;_e<=ae;_e++){let Te=z[_e];me[Te]=Math.max(oe[Te],Ce+E[Te]/2),_e<ae&&(Ce=me[Te]+E[Te]/2+ce(Te,z[_e+1]))}let ke=he[xe+1]-I[xe];for(let _e=ae;_e>=ge;_e--){let Te=z[_e];me[Te]=Math.min(me[Te],ke-E[Te]/2),_e>ge&&(ke=me[Te]-E[Te]/2-ce(z[_e-1],Te))}};for(let z of W)ie(z,be);for(let z=0;z<4&&K>0;z++){let ge=(z&1)===0;for(let ae=1;ae<=K;ae++){let xe=W[ge?ae:K-ae],Ce=ge?q:Q,ke=ge?Z:J;for(let _e of xe){let Te=0,Ue=0;for(let Me=Ce[_e];Me<Ce[_e+1];Me++)M[ke[Me]]===M[_e]&&(Te+=me[ke[Me]],Ue++);oe[_e]=Ue>0?Te/Ue:me[_e]}ie(xe,de)}}let pe=new Float64Array(K+1),Ee=new Float64Array(K+1),ve=new Float64Array(K+1).fill(a.rankSep/D);if(P.some(z=>z===1)){let z=a.rankSep/D;ve.fill(z/vP);for(let ge=0;ge<O;ge++){let ae=R[ge],xe=ae.reversed?ae.head:ae.tail,Ce=ae.reversed?ae.tail:ae.head;if(P[ge]){if(ae.labelH<=0||A[ge]>D)continue;let _e=Math.min(z,(ae.labelH+2*mb-Math.min(Y[xe],Y[Ce])/2)/A[ge]);for(let Te=T[xe];Te<T[Ce];Te++)_e>ve[Te]&&(ve[Te]=_e);continue}let ke=L[ge];if(ke<0||A[ge]<=D*ae.minlen){for(let _e=T[xe];_e<T[Ce];_e++)ve[_e]=z;continue}for(let _e=ke-1;_e<ke+A[ge]-1;_e++){let Te=_e<ke?xe:_e,Ue=_e+1<ke+A[ge]-1?_e+1:Ce;(M[Te]!==M[Ue]||Math.abs(me[Te]-me[Ue])>=.5)&&(ve[T[Te]]=z)}}}let le=te+g;for(let z=0;z<=K;z++){let ge=0;for(let ae of W[z])Y[ae]>ge&&(ge=Y[ae]);pe[z]=le,Ee[z]=le+ge,le+=ge+(z===K?0:ve[z])}let fe=le+g,Ae=he[u],Ie=z=>n?te+fe-z:z,Re=(z,ge)=>o?Ie(ge):z,Pe=(z,ge)=>o?z:Ie(ge),ue=o?1:0;for(let z=0;z<x.length;z++){let ge=e[x[z]],ae=(pe[T[z]]+Ee[T[z]])/2;ge.x=Re(me[z],ae),ge.y=Pe(me[z],ae)}for(let z=0;z<l.length;z++){let ge=e[l[z]],ae=(he[z]+he[z+1])/2,xe=he[z+1]-he[z];ge.x=o?fe/2:ae,ge.y=o?ae:fe/2,ge.w=o?fe:xe,ge.h=o?xe:fe,ge.padTop=te}let we=new Int32Array(s),$e=[];for(let z=0;z<s;z++){if(!e[z].isGroup||c[z]>=0||m[z]>=0)continue;let ge=0;for(let ae=e[z].parent;ae>=0&&ge<L$;ae=e[ae].parent)ge++;we[z]=ge,$e.push(z)}$e.sort((z,ge)=>we[ge]-we[z]||z-ge);let ye=new Float64Array(s*4);for(let z=0;z<s;z++)ye[z*4]=1/0,ye[z*4+1]=1/0,ye[z*4+2]=-1/0,ye[z*4+3]=-1/0;let Se=(z,ge)=>{ge.x-ge.w/2<ye[z*4]&&(ye[z*4]=ge.x-ge.w/2),ge.y-ge.h/2<ye[z*4+1]&&(ye[z*4+1]=ge.y-ge.h/2),ge.x+ge.w/2>ye[z*4+2]&&(ye[z*4+2]=ge.x+ge.w/2),ge.y+ge.h/2>ye[z*4+3]&&(ye[z*4+3]=ge.y+ge.h/2)};for(let z of x)e[z].parent>=0&&c[e[z].parent]<0&&Se(e[z].parent,e[z]);for(let z of $e){let ge=e[z];if(ye[z*4]===1/0)continue;let ae=Math.max(ye[z*4+2]-ye[z*4]+2*ge.padX,ge.minW);ge.x=(ye[z*4]+ye[z*4+2])/2,ge.w=ae,ge.y=(ye[z*4+1]-ge.padTop+ye[z*4+3]+ge.padBottom)/2,ge.h=ye[z*4+3]-ye[z*4+1]+ge.padTop+ge.padBottom,ge.parent>=0&&c[ge.parent]<0&&Se(ge.parent,ge)}for(let z of t)z.route=[];for(let z=0;z<O;z++){let ge=R[z],ae=t[N[z]],xe=ge.reversed?ge.head:ge.tail,Ce=ge.reversed?ge.tail:ge.head,ke=[me[xe],Ee[T[xe]]-(Ee[T[xe]]-pe[T[xe]]-Y[xe])/2],_e=L[z];if(_e>=0)for(let Me=_e;Me<_e+A[z]-1;Me++)ke.push(me[Me],pe[T[Me]]),Ee[T[Me]]>pe[T[Me]]&&ke.push(me[Me],Ee[T[Me]]);ke.push(me[Ce],pe[T[Ce]]+(Ee[T[Ce]]-pe[T[Ce]]-Y[Ce])/2);let Te=[];for(let Me=0;Me<ke.length;Me+=2)Te.push(Re(ke[Me],ke[Me+1]),Pe(ke[Me],ke[Me+1]),ue);if(ge.reversed)for(let Me=0,qe=Te.length-3;Me<qe;Me+=3,qe-=3)for(let Ve=0;Ve<2;Ve++){let nt=Te[Me+Ve];Te[Me+Ve]=Te[qe+Ve],Te[qe+Ve]=nt}ae.route=Te;let Ue=_[z];if(Ue>=0){let Me=(pe[T[Ue]]+Ee[T[Ue]])/2;ae.labelX=Re(me[Ue],Me),ae.labelY=Pe(me[Ue],Me)}else ae.labelX=(Te[0]+Te[Te.length-3])/2,ae.labelY=(Te[1]+Te[Te.length-2])/2}for(let z of t){if(z.route.length>0||z.src===z.dst)continue;let ge=e[z.src],ae=e[z.dst],[xe,Ce]=H$(ge,ae),[ke,_e]=H$(ae,ge),Te=Math.abs(ke-xe)>Math.abs(_e-Ce)?1:0;z.route=[xe,Ce,Te,ke,_e,Te],z.labelX=(xe+ke)/2,z.labelY=(Ce+_e)/2}let Ne=new Uint8Array(O),Ge=t.reduce((z,ge)=>z+ge.route.length/3,0),Fe=O*(x.length+t.length+Ge);if(Fe<=gb){let z=Te=>(pe[T[Te]]+Ee[T[Te]])/2,ge=t.map(Te=>[o?Te.labelY:Te.labelX,Ie(o?Te.labelX:Te.labelY)]),ae=(Te,Ue,Me,qe,Ve,nt,gt,it)=>Me>Ve-gt/2&&Te<Ve+gt/2&&qe>nt-it/2&&Ue<nt+it/2,xe=(Te,Ue,Me,qe,Ve,nt,gt)=>{for(let it=0;it<x.length;it++)if(it!==Ve&&it!==nt&&ae(Te,Ue,Me,qe,me[it],z(it),E[it]+8,Y[it]+8))return!1;for(let it=0;it<t.length;it++){let dt=t[it];if(it!==gt&&dt.labelW>0&&dt.src!==dt.dst&&ae(Te,Ue,Me,qe,ge[it][0],ge[it][1],o?dt.labelH:dt.labelW,o?dt.labelW:dt.labelH))return!1}return!0},Ce=(Te,Ue,Me,qe,Ve)=>{let nt=0;for(let gt=0;gt<t.length;gt++){if(gt===Ve)continue;let it=t[gt].route;for(let dt=3;dt<it.length;dt+=3)if(Math.max(it[dt-3],it[dt])>Te&&Math.min(it[dt-3],it[dt])<Me&&Math.max(it[dt-2],it[dt+1])>Ue&&Math.min(it[dt-2],it[dt+1])<qe){nt++;break}}return nt},ke=(Te,Ue,Me)=>{let qe=0;for(let Ve=0;Ve<t.length;Ve++){let nt=t[Ve].route;if(Ve===Me||nt.length===0)continue;let gt=nt.length-3;(Math.abs(nt[0]-Te)<1&&Math.abs(nt[1]-Ue)<1||Math.abs(nt[gt]-Te)<1&&Math.abs(nt[gt+1]-Ue)<1)&&qe++}return qe},_e=(Te,Ue,Me,qe,Ve)=>{let nt=Math.abs(Me-Te)<.5,gt=nt?Math.min(Ue,qe):Math.min(Te,Me),it=nt?Math.max(Ue,qe):Math.max(Te,Me),dt=nt?Te:Ue;for(let ht=0;ht<t.length;ht++){let jt=t[ht];if(ht===Ve||jt.src===t[Ve].src||jt.dst===t[Ve].dst)continue;let Ot=jt.route;for(let $t=3;$t<Ot.length;$t+=3){let Qt=Ot[$t-3+(nt?0:1)],Ye=Ot[$t+(nt?0:1)];if(Math.abs(Qt-dt)>=O$||Math.abs(Ye-dt)>=O$)continue;let mt=Ot[$t-3+(nt?1:0)],Et=Ot[$t+(nt?1:0)];if(Math.min(it,Math.max(mt,Et))-Math.max(gt,Math.min(mt,Et))>1)return!0}}return!1};for(let Te=0;Te<O;Te++){let Ue=R[Te],Me=N[Te],qe=t[Me],Ve=Ue.tail,nt=Ue.head;if(M[Ve]===M[nt]||Math.abs(me[nt]-me[Ve])<1)continue;let gt=me[Ve],it=me[nt],dt=z(Ve),ht=z(nt),jt=Math.sign(it-gt),Ot=Math.sign(ht-dt),$t=(Ye,mt)=>{for(let et=2;et<Ye.length;et+=2)if(!xe(Math.min(Ye[et-2],Ye[et])-mt,Math.min(Ye[et-1],Ye[et+1])-mt,Math.max(Ye[et-2],Ye[et])+mt,Math.max(Ye[et-1],Ye[et+1])+mt,Ve,nt,Me)||_e(Re(Ye[et-2],Ye[et-1]),Pe(Ye[et-2],Ye[et-1]),Re(Ye[et],Ye[et+1]),Pe(Ye[et],Ye[et+1]),Me))return!1;let Et=0,ft=0,dr=-1;if(qe.labelW>0){let et=Ue.labelW,Ct=Ue.labelH;for(let Ut=2;Ut<Ye.length;Ut+=2){let Pt=(Ye[Ut-2]+Ye[Ut])/2,xr=(Ye[Ut-1]+Ye[Ut+1])/2,Ga=Math.abs(Ye[Ut]-Ye[Ut-2]),yi=Math.abs(Ye[Ut+1]-Ye[Ut-1]),au=Ga+yi;if(au<=dr||(Ga>0?Ga<et+8:yi<Ct+8)||Pt-et/2<0||Pt+et/2>Ae||xr-Ct/2<0||xr+Ct/2>fe||!xe(Pt-et/2,xr-Ct/2,Pt+et/2,xr+Ct/2,-1,-1,Me))continue;let iu=Re(Pt,xr),su=Pe(Pt,xr);Ce(iu-qe.labelW/2,su-qe.labelH/2,iu+qe.labelW/2,su+qe.labelH/2,Me)>0||(Et=Pt,ft=xr,dr=au)}if(dr<0)return!1}let _t=[Ye[0],Ye[1]];for(let et=2;et<Ye.length;et+=2){let Ct=Ye[et]-Ye[et-2],Ut=Ye[et+1]-Ye[et-1],Pt=Math.abs(Ct)+Math.abs(Ut),xr=et>2?mb:0,Ga=et+2<Ye.length?mb:0;Pt>xr+Ga+1&&(xr&&_t.push(Ye[et-2]+Ct/Pt*xr,Ye[et-1]+Ut/Pt*xr),Ga&&_t.push(Ye[et]-Ct/Pt*Ga,Ye[et+1]-Ut/Pt*Ga)),_t.push(Ye[et],Ye[et+1])}qe.route=[];for(let et=0;et<_t.length;et+=2){let Ct=et===0?_t[0]!==_t[2]:_t[et]!==_t[et-2];qe.route.push(Re(_t[et],_t[et+1]),Pe(_t[et],_t[et+1]),Ct?1-ue:ue)}return qe.labelW>0&&(qe.labelX=Re(Et,ft),qe.labelY=Pe(Et,ft),ge[Me]=[Et,ft]),Ne[Te]=1,!0};if($t([gt+jt*E[Ve]/2,dt,it,dt,it,ht-Ot*Y[nt]/2],2)||$t([gt,dt+Ot*Y[Ve]/2,gt,ht,it-jt*E[nt]/2,ht],2)||Fe>gb/B$)continue;let Qt=[];for(let Ye of M[Ve]<M[nt]?[M[nt],M[Ve]]:[M[Ve],M[nt]]){let mt=Math.max(I[Ye]-W$,Math.min(I[Ye]/2,F$-W$));for(let Et of[he[Ye]+mt,he[Ye+1]-mt]){if(Math.abs(Et-gt)<E[Ve]/2+4||Math.abs(Et-it)<E[nt]/2+4)continue;let ft=[gt+Math.sign(Et-gt)*E[Ve]/2,dt,Et,dt,Et,ht,it+Math.sign(Et-it)*E[nt]/2,ht],dr=(ke(Re(ft[0],ft[1]),Pe(ft[0],ft[1]),Me)+ke(Re(ft[6],ft[7]),Pe(ft[6],ft[7]),Me))*1e6;for(let _t=2;_t<ft.length;_t+=2){let et=Re(ft[_t-2],ft[_t-1]),Ct=Pe(ft[_t-2],ft[_t-1]),Ut=Re(ft[_t],ft[_t+1]),Pt=Pe(ft[_t],ft[_t+1]);dr+=Ce(Math.min(et,Ut),Math.min(Ct,Pt),Math.max(et,Ut),Math.max(Ct,Pt),Me)*1e6+Math.abs(Ut-et)+Math.abs(Pt-Ct)}Qt.push({pts:ft,cost:dr,lane:Ye})}}Qt.sort((Ye,mt)=>Ye.cost-mt.cost);for(let Ye of Qt)if($t(Ye.pts,1)){$[Ye.lane]=1;break}}}return{width:o?fe:Ae,height:o?Ae:fe,routed:Ne,margins:$,work:Fe}},k=new Uint8Array(O),j=new Uint8Array(u),X=U(k,j);for(let P=0;P<MP&&X.work<=gb/B$;P++){let F=P===0?X.routed:k.map((I,$)=>I&X.routed[$]);if(F.every((I,$)=>I===k[$])&&X.margins.every((I,$)=>I===j[$]))break;k=F,j=X.margins,X=U(k,j)}return k.some((P,F)=>P&&!X.routed[F])&&(X=U(new Uint8Array(O),new Uint8Array(u))),{width:X.width,height:X.height}}function H$(e,t){let r=t.x-e.x,a=t.y-e.y,i=Math.max(e.w/2,.5),s=Math.max(e.h/2,.5);if(Math.abs(r)<i&&Math.abs(a)<s){let n=i-Math.abs(r),l=s-Math.abs(a);return n<l?[e.x+(r<0?-i:i),t.y]:[t.x,e.y+(a<0?-s:s)]}let o=Math.min(r!==0?i/Math.abs(r):1/0,a!==0?s/Math.abs(a):1/0);return[e.x+r*o,e.y+a*o]}function $P(e){let t=!1;for(let r of e.nodes)r.isGroup?r.dir=void 0:r.parentId===void 0&&(t=!0);if(t){for(let r of e.nodes)!r.isGroup&&r.parentId===void 0&&(r.parentId=P$);e.nodes.push({id:P$,label:void 0,labelType:"text",shape:"rect",isGroup:!0,parentId:void 0,cssStyles:[],cssCompiledStyles:[],cssClasses:"",dir:void 0})}}function TP(e,t,r,a,i,s,o){let n=e.x-e.w/2,l=e.y-e.h/2,u=s==="LR"||s==="RL",c=u?n+e.padTop/2:e.x,f=u?e.y:l+e.padTop/2,h=De(t,c,f,` class="pele-cluster-label" fill="var(--_m)"${r.text}`,o);return`<g class="pele-cluster pele-lane${a}" data-id="${i}"><rect x="${d(n)}" y="${d(l)}" width="${d(e.w)}" height="${d(e.h)}" fill="none" stroke="var(--_b)"/><rect x="${d(n)}" y="${d(l)}" width="${d(u?e.padTop:e.w)}" height="${d(u?e.h:e.padTop)}" fill="var(--_a)" stroke="var(--_b)"${r.shape}/>`+(u&&h?`<g transform="rotate(-90 ${d(c)} ${d(f)})">${h}</g>`:h)+"</g>"}var wP,SP,EP,CP,L$,gb,O$,MP,B$,mb,F$,W$,vP,P$,IP,G$,U$=Xe(()=>{Lm();Lr();xt();wP=34,SP=24,EP=8,CP=2e4,L$=1e4,gb=2e6,O$=4,MP=3,B$=8,mb=20,F$=20,W$=14,vP=3;P$="__swimlane_default__";IP={type:"swimlane",prepare:$P,layout:(e,t,r,a,i)=>kP(e,t,r,a,i?12:void 0),drawGroup:TP},G$={type:"swimlane",math:!0,parse:sf.parse,render:(e,t,r)=>_m(e,t,r,IP)}});var Y$={};Bt(Y$,{swimlane:()=>G$});var K$=Xe(()=>{U$()});var Lo=Symbol("changed"),en=Symbol("classList"),pa=Symbol("CustomElements"),nu=Symbol("content"),vh=Symbol("dataset"),tn=Symbol("doctype"),ou=Symbol("DOMParser"),st=Symbol("end"),Oo=Symbol("EventTarget"),Bo=Symbol("globals"),Ya=Symbol("image"),xi=Symbol("mime"),Qi=Symbol("MutationObserver"),Ze=Symbol("next"),v1=Symbol("ownerElement"),Vt=Symbol("prev"),Er=Symbol("private"),Bn=Symbol("sheet"),Hr=Symbol("start"),kh=Symbol("style"),rn=Symbol("upgrade"),Lt=Symbol("value");var J1={};Bt(J1,{DefaultHandler:()=>Cs,DomHandler:()=>Cs,DomUtils:()=>Uo,ElementType:()=>Rh,Parser:()=>an,QuoteType:()=>Ka,Tokenizer:()=>Fn,createDocumentStream:()=>K6,createDomStream:()=>q6,getFeed:()=>yu,parseDOM:()=>Jb,parseDocument:()=>Zb,parseFeed:()=>Q6});var k1,UT=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),lu=(k1=String.fromCodePoint)!==null&&k1!==void 0?k1:e=>{let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function $1(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=UT.get(e))!==null&&t!==void 0?t:e}function $h(e){let t=typeof atob=="function"?atob(e):typeof Buffer.from=="function"?Buffer.from(e,"base64").toString("binary"):new Buffer(e,"base64").toString("binary"),r=t.length&-2,a=new Uint16Array(r/2);for(let i=0,s=0;i<r;i+=2){let o=t.charCodeAt(i),n=t.charCodeAt(i+1);a[s++]=o|n<<8}return a}var Th=$h("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IAAOA12J/c8iFvaxBhAAhOVGFjZGZnbG1vcHFzdHV4owOlA6kDsAO/A8IDxgPNA9ID8gP9AwEEFAQeBCAEJQRHAEphSAA7gNAA0EBjAHUAdABlADuAyQDJQIABYWl5ALYDuQO+A/Ihb24aYXIAYwA7gMoAykAtZG8AdAAWYXIAAOA12AjdcgBhAHYAZQA7gMgAyEDlIm1lbnQAoAgiAAFhcNYD2QNjAHIAEmF0AHkAUwLhAwAAAADpA20lYWxsU3F1YXJlAACg+yVlJ3J5U21hbGxTcXVhcmUAAKCrJQABZ3D2A/kDbwBuABhhZgAA4DXYPN3zImlsb26VY3UAAAFhaQYEDgRsAFSgdSppImxkZQAAoEIi7CNpYnJpdW0AoMwhAAFjaRgEGwRyAACgMCFtAACgcyphAJdjbQBsADuAywDLQAABaXApBC0E8yF0cwCgAyLvJG5lbnRpYWxFAKBHIYACY2Zpb3MAPQQ/BEMEXQRyBHkAJGRyAADgNdgJ3WwibGVkAFMCTAQAAAAAVARtJWFsbFNxdWFyZQAAoPwlZSdyeVNtYWxsU3F1YXJlAACgqiVwA2UEAABpBAAAAABtBGYAAOA12D3dwSFsbACgACLyI2llcnRyZgCgMSFjAPIAcQQABkpUYWJjZGZnb3JzdIgEiwSOBJMElwSkBKcEqwStBLIE5QTqBGMAeQADZDuAPgA+QO0hbWFkoJMD3GNyImV2ZQAeYYABZWl5AJ0EoASjBOQhaWwiYXIAYwAcYRNkbwB0ACBhcgAA4DXYCt0AoNkicABmAADgNdg+3eUiYXRlcgADRUZHTFNUvwTIBM8E1QTZBOAEcSJ1YWwATKBlIuUhc3MAoNsidSRsbEVxdWFsAACgZyJyI2VhdGVyAACgoirlIXNzAKB3IuwkYW50RXF1YWwAoH4qaSJsZGUAAKBzImMAcgAA4DXYotwAoGsiAARBYWNmaW9zdfkE/QQFBQgFCwUTBSIFKwVSIkRjeQAqZAABY3QBBQQFZQBrAMdiXmDpIXJjJGFyAACgDCFsJWJlcnRTcGFjZQAAoAsh8AEYBQAAGwVmAACgDSHpJXpvbnRhbExpbmUAoAAlAAFjdCYFKAXyABIF8iFvayZhbQBwAEQBMQU5BW8AdwBuAEgAdQBtAPAAAAFxInVhbAAAoE8iAAdFSk9hY2RmZ21ub3N0dVMFVgVZBVwFYwVtBXAFcwV6BZAFtgXFBckFzQVjAHkAFWTsIWlnMmFjAHkAAWRjAHUAdABlADuAzQDNQAABaXlnBWwFcgBjADuAzgDOQBhkbwB0ADBhcgAAoBEhcgBhAHYAZQA7gMwAzEAAoREhYXB/BYsFAAFjZ4MFhQVyACphaSNuYXJ5SQAAoEghbABpAGUA8wD6AvQBlQUAAKUFZaAsIgABZ3KaBZ4F8iFhbACgKyLzI2VjdGlvbgCgwiJpI3NpYmxlAAABQ1SsBbEFbyJtbWEAAKBjIGkibWVzAACgYiCAAWdwdAC8Bb8FwwVvAG4ALmFmAADgNdhA3WEAmWNjAHIAAKAQIWkibGRlAChh6wHSBQAA1QVjAHkABmRsADuAzwDPQIACY2Zvc3UA4QXpBe0F8gX9BQABaXnlBegFcgBjADRhGWRyAADgNdgN3XAAZgAA4DXYQd3jAfcFAAD7BXIAAOA12KXc8iFjeQhk6yFjeQRkgANISmFjZm9zAAwGDwYSBhUGHQYhBiYGYwB5ACVkYwB5AAxk8CFwYZpjAAFleRkGHAbkIWlsNmEaZHIAAOA12A7dcABmAADgNdhC3WMAcgAA4DXYptyABUpUYWNlZmxtb3N0AD0GQAZDBl4GawZkB2gHcAd0B80H2gdjAHkACWQ7gDwAPECAAmNtbnByAEwGTwZSBlUGWwb1IXRlOWHiIWRhm2NnAACg6ifsI2FjZXRyZgCgEiFyAACgniGAAWFleQBkBmcGagbyIW9uPWHkIWlsO2EbZAABZnNvBjQHdAAABUFDREZSVFVWYXKABp4GpAbGBssG3AYDByEHwQIqBwABbnKEBowGZyVsZUJyYWNrZXQAAKDoJ/Ihb3cAoZAhQlKTBpcGYQByAACg5CHpJGdodEFycm93AKDGIWUjaWxpbmcAAKAII28A9QGqBgAAsgZiJWxlQnJhY2tldAAAoOYnbgDUAbcGAAC+BmUkZVZlY3RvcgAAoGEp5SJjdG9yQqDDIWEAcgAAoFkpbCJvb3IAAKAKI2kiZ2h0AAABQVbSBtcGciJyb3cAAKCUIeUiY3RvcgCgTikAAWVy4AbwBmUAAKGjIkFW5gbrBnIicm93AACgpCHlImN0b3IAoFopaSNhbmdsZQBCorIi+wYAAAAA/wZhAHIAAKDPKXEidWFsAACgtCJwAIABRFRWAAoHEQcYB+8kd25WZWN0b3IAoFEpZSRlVmVjdG9yAACgYCnlImN0b3JCoL8hYQByAACgWCnlImN0b3JCoLwhYQByAACgUilpAGcAaAB0AGEAcgByAG8A9wDMAnMAAANFRkdMU1Q/B0cHTgdUB1gHXwfxJXVhbEdyZWF0ZXIAoNoidSRsbEVxdWFsAACgZiJyI2VhdGVyAACgdiLlIXNzAKChKuwkYW50RXF1YWwAoH0qaSJsZGUAAKByInIAAOA12A/dZaDYIuYjdGFycm93AKDaIWkiZG90AD9hgAFucHcAege1B7kHZwAAAkxSbHKCB5QHmwerB+UhZnQAAUFSiAeNB3Iicm93AACg9SfpJGdodEFycm93AKD3J+kkZ2h0QXJyb3cAoPYn5SFmdAABYXLcAqEHaQBnAGgAdABhAHIAcgBvAPcA5wJpAGcAaAB0AGEAcgByAG8A9wDuAmYAAOA12EPdZQByAAABTFK/B8YHZSRmdEFycm93AACgmSHpJGdodEFycm93AKCYIYABY2h0ANMH1QfXB/IAWgYAoLAh8iFva0FhAKBqIgAEYWNlZmlvc3XpB+wH7gf/BwMICQgOCBEIcAAAoAUpeQAcZAABZGzyB/kHaSR1bVNwYWNlAACgXyBsI2ludHJmAACgMyFyAADgNdgQ3e4jdXNQbHVzAKATInAAZgAA4DXYRN1jAPIA/gecY4AESmFjZWZvc3R1ACEIJAgoCDUIgQiFCDsKQApHCmMAeQAKZGMidXRlAENhgAFhZXkALggxCDQI8iFvbkdh5CFpbEVhHWSAAWdzdwA7CGEIfQjhInRpdmWAAU1UVgBECEwIWQhlJWRpdW1TcGFjZQAAoAsgaABpAAABY25SCFMIawBTAHAAYQBjAOUASwhlAHIAeQBUAGgAaQDuAFQI9CFlZAABR0xnCHUIcgBlAGEAdABlAHIARwByAGUAYQB0AGUA8gDrBGUAcwBzAEwAZQBzAPMA2wdMImluZQAKYHIAAOA12BHdAAJCbnB0jAiRCJkInAhyImVhawAAoGAgwiZyZWFraW5nU3BhY2WgYGYAAKAVIUOq7CqzCMIIzQgAAOcIGwkAAAAAAAAtCQAAbwkAAIcJAACdCcAJGQoAADQKAAFvdbYIvAjuI2dydWVudACgYiJwIkNhcAAAoG0ibyh1YmxlVmVydGljYWxCYXIAAKAmIoABbHF4ANII1wjhCOUibWVudACgCSL1IWFsVKBgImkibGRlAADgQiI4A2kic3RzAACgBCJyI2VhdGVyAACjbyJFRkdMU1T1CPoIAgkJCQ0JFQlxInVhbAAAoHEidSRsbEVxdWFsAADgZyI4A3IjZWF0ZXIAAOBrIjgD5SFzcwCgeSLsJGFudEVxdWFsAOB+KjgDaSJsZGUAAKB1IvUhbXBEASAJJwnvI3duSHVtcADgTiI4A3EidWFsAADgTyI4A2UAAAFmczEJRgn0JFRyaWFuZ2xlQqLqIj0JAAAAAEIJYQByAADgzyk4A3EidWFsAACg7CJzAICibiJFR0xTVABRCVYJXAlhCWkJcSJ1YWwAAKBwInIjZWF0ZXIAAKB4IuUhc3MA4GoiOAPsJGFudEVxdWFsAOB9KjgDaSJsZGUAAKB0IuUic3RlZAABR0x1CX8J8iZlYXRlckdyZWF0ZXIA4KIqOAPlI3NzTGVzcwDgoSo4A/IjZWNlZGVzAKGAIkVTjwmVCXEidWFsAADgryo4A+wkYW50RXF1YWwAoOAiAAFlaaAJqQl2JmVyc2VFbGVtZW50AACgDCLnJWh0VHJpYW5nbGVCousitgkAAAAAuwlhAHIAAODQKTgDcSJ1YWwAAKDtIgABcXXDCeAJdSNhcmVTdQAAAWJwywnVCfMhZXRF4I8iOANxInVhbAAAoOIi5SJyc2V0ReCQIjgDcSJ1YWwAAKDjIoABYmNwAOYJ8AkNCvMhZXRF4IIi0iBxInVhbAAAoIgi4yJlZWRzgKGBIkVTVAD6CQAKBwpxInVhbAAA4LAqOAPsJGFudEVxdWFsAKDhImkibGRlAADgfyI4A+UicnNldEXggyLSIHEidWFsAACgiSJpImxkZQCAoUEiRUZUACIKJwouCnEidWFsAACgRCJ1JGxsRXF1YWwAAKBHImkibGRlAACgSSJlJXJ0aWNhbEJhcgAAoCQiYwByAADgNdip3GkAbABkAGUAO4DRANFAnWMAB0VhY2RmZ21vcHJzdHV2XgphCmgKcgp2CnoKgQqRCpYKqwqtCrsKyArNCuwhaWdSYWMAdQB0AGUAO4DTANNAAAFpeWwKcQpyAGMAO4DUANRAHmRiImxhYwBQYXIAAOA12BLdcgBhAHYAZQA7gNIA0kCAAWFlaQCHCooKjQpjAHIATGFnAGEAqWNjInJvbgCfY3AAZgAA4DXYRt3lI25DdXJseQABRFGeCqYKbyV1YmxlUXVvdGUAAKAcIHUib3RlAACgGCAAoFQqAAFjbLEKtQpyAADgNdiq3GEAcwBoADuA2ADYQGkAbAHACsUKZABlADuA1QDVQGUAcwAAoDcqbQBsADuA1gDWQGUAcgAAAUJQ0wrmCgABYXLXCtoKcgAAoD4gYQBjAAABZWvgCuIKAKDeI2UAdAAAoLQjYSVyZW50aGVzaXMAAKDcI4AEYWNmaGlsb3JzAP0KAwsFCwkLCwsMCxELIwtaC3IjdGlhbEQAAKACInkAH2RyAADgNdgT3WkApmOgY/Ujc01pbnVzsWAAAWlwFQsgC24AYwBhAHIAZQBwAGwAYQBuAOUACgVmAACgGSGAobsqZWlvACoLRQtJC+MiZWRlc4CheiJFU1QANAs5C0ALcSJ1YWwAAKCvKuwkYW50RXF1YWwAoHwiaSJsZGUAAKB+Im0AZQAAoDMgAAFkcE0LUQv1IWN0AKAPIm8jcnRpb24AYaA3ImwAAKAdIgABY2leC2ILcgAA4DXYq9yoYwACVWZvc2oLbwtzC3cLTwBUADuAIgAiQHIAAOA12BTdcABmAACgGiFjAHIAAOA12KzcAAZCRWFjZWZoaW9yc3WPC5MLlwupC7YL2AvbC90LhQyTDJoMowzhIXJyAKAQKUcAO4CuAK5AgAFjbnIAnQugC6ML9SF0ZVRhZwAAoOsncgB0oKAhbAAAoBYpgAFhZXkArwuyC7UL8iFvblhh5CFpbFZhIGR2oBwhZSJyc2UAAAFFVb8LzwsAAWxxwwvIC+UibWVudACgCyL1JGlsaWJyaXVtAKDLIXAmRXF1aWxpYnJpdW0AAKBvKXIAAKAcIW8AoWPnIWh0AARBQ0RGVFVWYewLCgwQDDIMNwxeDHwM9gIAAW5y8Av4C2clbGVCcmFja2V0AACg6SfyIW93AKGSIUJM/wsDDGEAcgAAoOUhZSRmdEFycm93AACgxCFlI2lsaW5nAACgCSNvAPUBFgwAAB4MYiVsZUJyYWNrZXQAAKDnJ24A1AEjDAAAKgxlJGVWZWN0b3IAAKBdKeUiY3RvckKgwiFhAHIAAKBVKWwib29yAACgCyMAAWVyOwxLDGUAAKGiIkFWQQxGDHIicm93AACgpiHlImN0b3IAoFspaSNhbmdsZQBCorMiVgwAAAAAWgxhAHIAAKDQKXEidWFsAACgtSJwAIABRFRWAGUMbAxzDO8kd25WZWN0b3IAoE8pZSRlVmVjdG9yAACgXCnlImN0b3JCoL4hYQByAACgVCnlImN0b3JCoMAhYQByAACgUykAAXB1iQyMDGYAAKAdIe4kZEltcGxpZXMAoHAp6SRnaHRhcnJvdwCg2yEAAWNongyhDHIAAKAbIQCgsSHsJGVEZWxheWVkAKD0KYAGSE9hY2ZoaW1vcXN0dQC/DMgMzAzQDOIM5gwKDQ0NFA0ZDU8NVA1YDQABQ2PDDMYMyCFjeSlkeQAoZEYiVGN5ACxkYyJ1dGUAWmEAorwqYWVpedgM2wzeDOEM8iFvbmBh5CFpbF5hcgBjAFxhIWRyAADgNdgW3e8hcnQAAkRMUlXvDPYM/QwEDW8kd25BcnJvdwAAoJMhZSRmdEFycm93AACgkCHpJGdodEFycm93AKCSIXAjQXJyb3cAAKCRIechbWGjY+EkbGxDaXJjbGUAoBgicABmAADgNdhK3XICHw0AAAAAIg10AACgGiLhIXJlgKGhJUlTVQAqDTINSg3uJXRlcnNlY3Rpb24AoJMidQAAAWJwNw1ADfMhZXRFoI8icSJ1YWwAAKCRIuUicnNldEWgkCJxInVhbAAAoJIibiJpb24AAKCUImMAcgAA4DXYrtxhAHIAAKDGIgACYmNtcF8Nag2ODZANc6DQImUAdABFoNAicSJ1YWwAAKCGIgABY2huDYkNZSJlZHMAgKF7IkVTVAB4DX0NhA1xInVhbAAAoLAq7CRhbnRFcXVhbACgfSJpImxkZQAAoH8iVABoAGEA9ADHCwCgESIAodEiZXOVDZ8NciJzZXQARaCDInEidWFsAACghyJlAHQAAKDRIoAFSFJTYWNmaGlvcnMAtQ27Db8NyA3ODdsN3w3+DRgOHQ4jDk8AUgBOADuA3gDeQMEhREUAoCIhAAFIY8MNxg1jAHkAC2R5ACZkAAFidcwNzQ0JYKRjgAFhZXkA1A3XDdoN8iFvbmRh5CFpbGJhImRyAADgNdgX3QABZWnjDe4N8gHoDQAA7Q3lImZvcmUAoDQiYQCYYwABY27yDfkNayNTcGFjZQAA4F8gCiDTInBhY2UAoAkg7CFkZYChPCJFRlQABw4MDhMOcSJ1YWwAAKBDInUkbGxFcXVhbAAAoEUiaSJsZGUAAKBIInAAZgAA4DXYS93pI3BsZURvdACg2yAAAWN0Jw4rDnIAAOA12K/c8iFva2Zh4QpFDlYOYA5qDgAAbg5yDgAAAAAAAAAAAAB5DnwOqA6zDgAADg8RDxYPGg8AAWNySA5ODnUAdABlADuA2gDaQHIAb6CfIeMhaXIAoEkpcgDjAVsOAABdDnkADmR2AGUAbGEAAWl5Yw5oDnIAYwA7gNsA20AjZGIibGFjAHBhcgAA4DXYGN1yAGEAdgBlADuA2QDZQOEhY3JqYQABZGl/Dp8OZQByAAABQlCFDpcOAAFhcokOiw5yAF9gYQBjAAABZWuRDpMOAKDfI2UAdAAAoLUjYSVyZW50aGVzaXMAAKDdI28AbgBQoMMi7CF1cwCgjiIAAWdwqw6uDm8AbgByYWYAAOA12EzdAARBREVUYWRwc78O0g7ZDuEOBQPqDvMOBw9yInJvdwDCoZEhyA4AAMwOYQByAACgEilvJHduQXJyb3cAAKDFIW8kd25BcnJvdwAAoJUhcSV1aWxpYnJpdW0AAKBuKWUAZQBBoKUiciJyb3cAAKClIW8AdwBuAGEAcgByAG8A9wAQA2UAcgAAAUxS+Q4AD2UkZnRBcnJvdwAAoJYh6SRnaHRBcnJvdwCglyFpAGyg0gNvAG4ApWPpIW5nbmFjAHIAAOA12LDcaSJsZGUAaGFtAGwAO4DcANxAgAREYmNkZWZvc3YALQ8xDzUPNw89D3IPdg97D4AP4SFzaACgqyJhAHIAAKDrKnkAEmThIXNobKCpIgCg5ioAAWVyQQ9DDwCgwSKAAWJ0eQBJD00Paw9hAHIAAKAWIGmgFiDjIWFsAAJCTFNUWA9cD18PZg9hAHIAAKAjIukhbmV8YGUkcGFyYXRvcgAAoFgnaSJsZGUAAKBAItQkaGluU3BhY2UAoAogcgAA4DXYGd1wAGYAAOA12E3dYwByAADgNdix3GQiYXNoAACgqiKAAmNlZm9zAI4PkQ+VD5kPng/pIXJjdGHkIWdlAKDAInIAAOA12BrdcABmAADgNdhO3WMAcgAA4DXYstwAAmZpb3OqD64Prw+0D3IAAOA12BvdnmNwAGYAAOA12E/dYwByAADgNdiz3IAEQUlVYWNmb3N1AMgPyw/OD9EP2A/gD+QP6Q/uD2MAeQAvZGMAeQAHZGMAeQAuZGMAdQB0AGUAO4DdAN1AAAFpedwP3w9yAGMAdmErZHIAAOA12BzdcABmAADgNdhQ3WMAcgAA4DXYtNxtAGwAeGEABEhhY2RlZm9z/g8BEAUQDRAQEB0QIBAkEGMAeQAWZGMidXRlAHlhAAFheQkQDBDyIW9ufWEXZG8AdAB7YfIBFRAAABwQbwBXAGkAZAB0AOgAVAhhAJZjcgAAoCghcABmAACgJCFjAHIAAOA12LXc4QtCEEkQTRAAAGcQbRByEAAAAAAAAAAAeRCKEJcQ8hD9EAAAGxEhETIROREAAD4RYwB1AHQAZQA7gOEA4UByImV2ZQADYYCiPiJFZGl1eQBWEFkQWxBgEGUQAOA+IjMDAKA/InIAYwA7gOIA4kB0AGUAO4C0ALRAMGRsAGkAZwA7gOYA5kByoGEgAOA12B7dcgBhAHYAZQA7gOAA4EAAAWVwfBCGEAABZnCAEIQQ8yF5bQCgNSHoAIMQaABhALFjAAFhcI0QWwAAAWNskRCTEHIAAWFnAACgPypkApwQAAAAALEQAKInImFkc3ajEKcQqRCuEG4AZAAAoFUqAKBcKmwib3BlAACgWCoAoFoqAKMgImVsbXJzersQvRDAEN0Q5RDtEACgpCllAACgICJzAGQAYaAhImEEzhDQENIQ1BDWENgQ2hDcEACgqCkAoKkpAKCqKQCgqykAoKwpAKCtKQCgrikAoK8pdAB2oB8iYgBkoL4iAKCdKQABcHTpEOwQaAAAoCIixWDhIXJyAKB8IwABZ3D1EPgQbwBuAAVhZgAA4DXYUt0Ao0giRWFlaW9wBxEJEQ0RDxESERQRAKBwKuMhaXIAoG8qAKBKImQAAKBLInMAJ2DyIW94ZaBIIvEADhFpAG4AZwA7gOUA5UCAAWN0eQAmESoRKxFyAADgNdi23CpgbQBwAGWgSCLxAPgBaQBsAGQAZQA7gOMA40BtAGwAO4DkAORAAAFjaUERRxFvAG4AaQBuAPQA6AFuAHQAAKARKgAITmFiY2RlZmlrbG5vcHJzdWQRaBGXEZ8RpxGrEdIR1hErEjASexKKEn0RThNbE3oTbwB0AACg7SoAAWNybBGJEWsAAAJjZXBzdBF4EX0RghHvIW5nAKBMInAjc2lsb24A9mNyImltZQAAoDUgaQBtAGWgPSJxAACgzSJ2AY0RkRFlAGUAAKC9ImUAZABnoAUjZQAAoAUjcgBrAHSgtSPiIXJrAKC2IwABb3mjEaYRbgDnAHcRMWTxIXVvAKAeIIACY21wcnQAtBG5Eb4RwRHFEeEhdXPloDUi5ABwInR5dgAAoLApcwDpAH0RbgBvAPUA6gCAAWFodwDLEcwRzhGyYwCgNiHlIWVuAKBsInIAAOA12B/dZwCAA2Nvc3R1dncA4xHyEQUSEhIhEiYSKRKAAWFpdQDpEesR7xHwAKMFcgBjAACg7yVwAACgwyKAAWRwdAD4EfwRABJvAHQAAKAAKuwhdXMAoAEqaSJtZXMAAKACKnECCxIAAAAADxLjIXVwAKAGKmEAcgAAoAUm8iNpYW5nbGUAAWR1GhIeEu8hd24AoL0lcAAAoLMlcCJsdXMAAKAEKmUA5QBCD+UAkg9hInJvdwAAoA0pgAFha28ANhJoEncSAAFjbjoSZRJrAIABbHN0AEESRxJNEm8jemVuZ2UAAKDrKXEAdQBhAHIA5QBcBPIjaWFuZ2xlgKG0JWRscgBYElwSYBLvIXduAKC+JeUhZnQAoMIlaSJnaHQAAKC4JWsAAKAjJLEBbRIAAHUSsgFxEgAAcxIAoJIlAKCRJTQAAKCTJWMAawAAoIglAAFlb38ShxJx4D0A5SD1IWl2AOBhIuUgdAAAoBAjAAJwdHd4kRKVEpsSnxJmAADgNdhT3XSgpSJvAG0AAKClIvQhaWUAoMgiAAZESFVWYmRobXB0dXayEsES0RLgEvcS+xIKExoTHxMjEygTNxMAAkxSbHK5ErsSvRK/EgCgVyUAoFQlAKBWJQCgUyUAolAlRFVkdckSyxLNEs8SAKBmJQCgaSUAoGQlAKBnJQACTFJsctgS2hLcEt4SAKBdJQCgWiUAoFwlAKBZJQCjUSVITFJobHLrEu0S7xLxEvMS9RIAoGwlAKBjJQCgYCUAoGslAKBiJQCgXyVvAHgAAKDJKQACTFJscgITBBMGEwgTAKBVJQCgUiUAoBAlAKAMJQCiACVEVWR1EhMUExYTGBMAoGUlAKBoJQCgLCUAoDQlaSJudXMAAKCfIuwhdXMAoJ4iaSJtZXMAAKCgIgACTFJsci8TMRMzEzUTAKBbJQCgWCUAoBglAKAUJQCjAiVITFJobHJCE0QTRhNIE0oTTBMAoGolAKBhJQCgXiUAoDwlAKAkJQCgHCUAAWV2UhNVE3YA5QD5AGIAYQByADuApgCmQAACY2Vpb2ITZhNqE24TcgAA4DXYt9xtAGkAAKBPIG0A5aA9IogRbAAAoVwAYmh0E3YTAKDFKfMhdWIAoMgnbAF+E4QTbABloCIgdAAAoCIgcAAAoU4iRWWJE4sTAKCuKvGgTyI8BeEMqRMAAN8TABQDFB8UAAAjFDQUAAAAAIUUAAAAAI0UAAAAANcU4xT3FPsUAACIFQAAlhWAAWNwcgCuE7ET1RP1IXRlB2GAoikiYWJjZHMAuxO/E8QTzhPSE24AZAAAoEQqciJjdXAAAKBJKgABYXXIE8sTcAAAoEsqcAAAoEcqbwB0AACgQCoA4CkiAP4AAWVv2RPcE3QAAKBBIO4ABAUAAmFlaXXlE+8T9RP4E/AB6hMAAO0TcwAAoE0qbwBuAA1hZABpAGwAO4DnAOdAcgBjAAlhcABzAHOgTCptAACgUCpvAHQAC2GAAWRtbgAIFA0UEhRpAGwAO4C4ALhAcCJ0eXYAAKCyKXQAAIGiADtlGBQZFKJAcgBkAG8A9ABiAXIAAOA12CDdgAFjZWkAKBQqFDIUeQBHZGMAawBtoBMn4SFyawCgEyfHY3IAAKPLJUVjZWZtcz8UQRRHFHcUfBSAFACgwykAocYCZWxGFEkUcQAAoFciZQBhAlAUAAAAAGAUciJyb3cAAAFsclYUWhTlIWZ0AKC6IWkiZ2h0AACguyGAAlJTYWNkAGgUaRRrFG8UcxSuYACgyCRzAHQAAKCbIukhcmMAoJoi4SFzaACgnSJuImludAAAoBAqaQBkAACg7yrjIWlyAKDCKfUhYnN1oGMmaQB0AACgYybsApMUmhS2FAAAwxRvAG4AZaA6APGgVCKrAG0CnxQAAAAAoxRhAHSgLABAYAChASJmbKcUqRTuABMNZQAAAW14rhSyFOUhbnQAoAEiZQDzANIB5wG6FAAAwBRkoEUibwB0AACgbSpuAPQAzAGAAWZyeQDIFMsUzhQA4DXYVN1vAOQA1wEAgakAO3MeAdMUcgAAoBchAAFhb9oU3hRyAHIAAKC1IXMAcwAAoBcnAAFjdeYU6hRyAADgNdi43AABYnDuFPIUZaDPKgCg0SploNAqAKDSKuQhb3QAoO8igANkZWxwcnZ3AAYVEBUbFSEVRBVlFYQV4SFycgABbHIMFQ4VAKA4KQCgNSlwAhYVAAAAABkVcgAAoN4iYwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWlsN2E6ZHIAAOA12CjdciJlZW4AOGFjAHkARWRjAHkAXGRwAGYAAOA12FzdYwByAADgNdjA3IALQUJFSGFiY2RlZmdoamxtbm9wcnN0dXYAXhxtHHEcdRx5HN8cBx0dHTwd3B3tHfEdAR4EHh0eLB5FHrwewx7hHgkfPR9LH4ABYXJ0AGQcZxxpHHIA8gBvB/IAxQLhIWlsAKAbKeEhcnIAoA4pZ6BmIgCgiyphAHIAAKBiKWMJjRwAAJAcAACVHAAAAAAAAAAAAACZHJwcAACmHKgcrRwAANIc9SF0ZTph7SJwdHl2AKC0KXIAYQDuAFoG4iFkYbtjZwAAoegnZGyhHKMcAKCRKeUAiwYAoIUqdQBvADuAqwCrQHIAgKOQIWJmaGxwc3QAuhy/HMIcxBzHHMoczhxmoOQhcwAAoB8pcwAAoB0p6wCyGnAAAKCrIWwAAKA5KWkAbQAAoHMpbAAAoKIhAKGrKmFl1hzaHGkAbAAAoBkpc6CtKgDgrSoA/oABYWJyAOUc6RztHHIAcgAAoAwpcgBrAACgcicAAWFr8Rz4HGMAAAFla/Yc9xx7YFtgAAFlc/wc/hwAoIspbAAAAWR1Ax0FHQCgjykAoI0pAAJhZXV5Dh0RHRodHB3yIW9uPmEAAWRpFR0YHWkAbAA8YewAowbiAPccO2QAAmNxcnMkHScdLB05HWEAAKA2KXUAbwDyoBwgqhEAAWR1MB00HeghYXIAoGcpcyJoYXIAAKBLKWgAAKCyIQCiZCJmZ3FzRB1FB5Qdnh10AIACYWhscnQATh1WHWUdbB2NHXIicm93AHSgkCFhAOkAzxxhI3Jwb29uAAABZHVeHWId7yF3bgCgvSFwAACgvCHlJGZ0YXJyb3dzAKDHIWkiZ2h0AIABYWhzAHUdex2DHXIicm93APOglCGdBmEAcgBwAG8AbwBuAPMAzgtxAHUAaQBnAGEAcgByAG8A9wBlGugkcmVldGltZXMAoMsi8aFkIk0HAACaHWwAYQBuAPQAXgcAon0qY2Rnc6YdqR2xHbcdYwAAoKgqbwB0AG+gfypyoIEqAKCDKmXg2iIA/nMAAKCTKoACYWRlZ3MAwB3GHcod1h3ZHXAAcAByAG8A+ACmHG8AdAAAoNYicQAAAWdxzx3SHXQA8gBGB2cAdADyAHQcdADyAFMHaQDtAGMHgAFpbHIA4h3mHeod8yFodACgfClvAG8A8gDKBgDgNdgp3UWgdiIAoJEqYQH1Hf4dcgAAAWR1YB35HWygvCEAoGopbABrAACghCVjAHkAWWQAomoiYWNodAweDx4VHhkecgDyAGsdbwByAG4AZQDyAGAW4SFyZACgaylyAGkAAKD6JQABaW8hHiQe5CFvdEBh9SFzdGGgsCPjIWhlAKCwIwACRWFlczMeNR48HkEeAKBoInAAcKCJKvIhb3gAoIkqcaCHKvGghyo0HmkAbQAAoOYiAARhYm5vcHR3elIeXB5fHoUelh6mHqsetB4AAW5yVh5ZHmcAAKDsJ3IAAKD9IXIA6wCwBmcAgAFsbXIAZh52Hnse5SFmdAABYXKIB2weaQBnAGgAdABhAHIAcgBvAPcAkwfhInBzdG8AoPwnaQBnAGgAdABhAHIAcgBvAPcAmgdwI2Fycm93AAABbHKNHpEeZQBmAPQAxhxpImdodAAAoKwhgAFhZmwAnB6fHqIecgAAoIUpAOA12F3ddQBzAACgLSppIm1lcwAAoDQqYQGvHrMecwB0AACgFyLhAIoOZaHKJbkeRhLuIWdlAKDKJWEAcgBsoCgAdAAAoJMpgAJhY2htdADMHs8e1R7bHt0ecgDyAJ0GbwByAG4AZQDyANYWYQByAGSgyyEAoG0pAKAOIHIAaQAAoL8iAANhY2hpcXTrHu8e1QfzHv0eBh/xIXVvAKA5IHIAAOA12MHcbQDloXIi+h4AAPweAKCNKgCgjyoAAWJ19xwBH28AcqAYIACgGiDyIW9rQmEAhDwAO2NkaGlscXJCBhcfxh0gHyQfKB8sHzEfAAFjaRsfHR8AoKYqcgAAoHkqcgBlAOUAkx3tIWVzAKDJIuEhcnIAoHYpdSJlc3QAAKB7KgABUGk1HzkfYQByAACglillocMlAgdfEnIAAAFkdUIfRx9zImhhcgAAoEop6CFhcgCgZikAAWVuTx9WH3IjdG5lcXEAAOBoIgD+xQBUHwAHRGFjZGVmaGlsbm9wc3VuH3Ifoh+rH68ftx+7H74f5h/uH/MfBwj/HwsgxCFvdACgOiIAAmNscHJ5H30fiR+eH3IAO4CvAK9AAAFldIEfgx8AoEImZaAgJ3MAZQAAoCAnc6CmIXQAbwCAoaYhZGx1AJQfmB+cH28AdwDuAHkDZQBmAPQA6gbwAOkO6yFlcgCgriUAAW95ph+qH+0hbWEAoCkqPGThIXNoAKAUIOElc3VyZWRhbmdsZQCgISJyAADgNdgq3W8AAKAnIYABY2RuAMQfyR/bH3IAbwA7gLUAtUBhoiMi0B8AANMf1x9zAPQAKxFpAHIAAKDwKm8AdAA7gLcAt0B1AHMA4qESIh4TAADjH3WgOCIAoCoqYwHqH+0fcAAAoNsq8gB+GnAAbAB1APMACAgAAWRw9x/7H+UhbHMAoKciZgAA4DXYXt0AAWN0AyAHIHIAAOA12MLc8CFvcwCgPiJsobwDECAVIPQiaW1hcACguCJhAPAAEyAADEdMUlZhYmNkZWZnaGlqbG1vcHJzdHV2dzwgRyBmIG0geSCqILgg2iDeIBEhFSEyIUMhTSFQIZwhnyHSIQAiIyKLIrEivyIUIwABZ3RAIEMgAODZIjgD9uBrItIgBwmAAWVsdABNIF8gYiBmAHQAAAFhclMgWCByInJvdwAAoM0h6SRnaHRhcnJvdwCgziEA4NgiOAP24Goi0iBfCekkZ2h0YXJyb3cAoM8hAAFEZHEgdSDhIXNoAKCvIuEhc2gAoK4igAJiY25wdACCIIYgiSCNIKIgbABhAACgByL1IXRlRGFnAADgICLSIACiSSJFaW9wlSCYIJwgniAA4HAqOANkAADgSyI4A3MASWFyAG8A+AAyCnUAcgBhoG4mbADzoG4mmwjzAa8gAACzIHAAO4CgAKBAbQBwAOXgTiI4AyoJgAJhZW91eQDBIMogzSDWINkg8AHGIAAAyCAAoEMqbwBuAEhh5CFpbEZhbgBnAGSgRyJvAHQAAOBtKjgDcAAAoEIqPWThIXNoAKATIACjYCJBYWRxc3jpIO0g+SD+IAIhDCFyAHIAAKDXIXIAAAFocvIg9SBrAACgJClvoJch9wAGD28AdAAA4FAiOAN1AGkA9gC7CAABZWkGIQohYQByAACgKCntAN8I6SFzdPOgBCLlCHIAAOA12CvdAAJFZXN0/wgcISshLiHxoXEiIiEAABMJ8aFxIgAJAAAnIWwAYQBuAPQAEwlpAO0AGQlyoG8iAKBvIoABQWFwADghOyE/IXIA8gBeIHIAcgAAoK4hYQByAACg8ipzogsiSiEAAAAAxwtkoPwiAKD6ImMAeQBaZIADQUVhZGVzdABcIV8hYiFmIWkhkyGWIXIA8gBXIADgZiI4A3IAcgAAoJohcgAAoCUggKFwImZxcwBwIYQhjiF0AAABYXJ1IXohcgByAG8A9wBlIWkAZwBoAHQAYQByAHIAbwD3AD4h8aFwImAhAACKIWwAYQBuAPQAZwlz4H0qOAMAoG4iaQDtAG0JcqBuImkA5aDqIkUJaQDkADoKAAFwdKMhpyFmAADgNdhf3YCBrAA7aW4AriGvIcchrEBuAIChCSJFZHYAtyG6Ib8hAOD5IjgDbwB0AADg9SI4A+EB1gjEIcYhAKD3IgCg9iJpAHagDCLhAagJzyHRIQCg/iIAoP0igAFhb3IA2CHsIfEhcgCAoSYiYXN0AOAh5SHpIWwAbABlAOwAywhsAADg/SrlIADgAiI4A2wiaW50AACgFCrjoYAi9yEAAPohdQDlAJsJY+CvKjgDZaCAIvEAkwkAAkFhaXQHIgoiFyIeInIA8gBsIHIAcgAAoZshY3cRIhQiAOAzKTgDAOCdITgDZyRodGFycm93AACgmyFyAGkA5aDrIr4JgANjaGltcHF1AC8iPCJHIpwhTSJQIloigKGBImNlcgA2Iv0JOSJ1AOUABgoA4DXYw9zvIXJ0bQKdIQAAAABEImEAcgDhAOEhbQBloEEi8aBEIiYKYQDyAMsIcwB1AAABYnBWIlgi5QDUCeUA3wmAAWJjcABgInMieCKAoYQiRWVzAGci7glqIgDgxSo4A2UAdABl4IIi0iBxAPGgiCJoImMAZaCBIvEA/gmAoYUiRWVzAH8iFgqCIgDgxio4A2UAdABl4IMi0iBxAPGgiSKAIgACZ2lscpIilCKaIpwi7AAMCWwAZABlADuA8QDxQOcAWwlpI2FuZ2xlAAABbHKkIqoi5SFmdGWg6iLxAEUJaSJnaHQAZaDrIvEAvgltoL0DAKEjAGVzuCK8InIAbwAAoBYhcAAAoAcggARESGFkZ2lscnMAziLSItYi2iLeIugi7SICIw8j4SFzaACgrSLhIXJyAKAEKXAAAOBNItIg4SFzaACgrCIAAWV04iLlIgDgZSLSIADgPgDSIG4iZmluAACg3imAAUFldADzIvci+iJyAHIAAKACKQDgZCLSIHLgPADSIGkAZQAA4LQi0iAAAUF0BiMKI3IAcgAAoAMp8iFpZQDgtSLSIGkAbQAA4Dwi0iCAAUFhbgAaIx4jKiNyAHIAAKDWIXIAAAFociMjJiNrAACgIylvoJYh9wD/DuUhYXIAoCcpUxJqFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVCMAAF4jaSN/I4IjjSOeI8AUAAAAAKYjwCMAANoj3yMAAO8jHiQvJD8kRCQAAWNzVyNsFHUAdABlADuA8wDzQAABaXlhI2cjcgBjoJoiO4D0APRAPmSAAmFiaW9zAHEjdCN3I3EBeiNzAOgAdhTsIWFjUWF2AACgOCrvIWxkAKC8KewhaWdTYQABY3KFI4kjaQByAACgvykA4DXYLN1vA5QjAAAAAJYjAACcI24A22JhAHYAZQA7gPIA8kAAoMEpAAFibaEjjAphAHIAAKC1KQACYWNpdKwjryO6I70jcgDyAFkUAAFpcrMjtiNyAACgvinvIXNzAKC7KW4A5QDZCgCgwCmAAWFlaQDFI8gjyyNjAHIATWFnAGEAyWOAAWNkbgDRI9Qj1iPyIW9uv2MAoLYpdQDzAHgBcABmAADgNdhg3YABYWVsAOQj5yPrI3IAAKC3KXIAcAAAoLkpdQDzAHwBAKMoImFkaW9zdvkj/CMPJBMkFiQbJHIA8gBeFIChXSplZm0AAyQJJAwkcgBvoDQhZgAAoDQhO4CqAKpAO4C6ALpA5yFvZgCgtiJyAACgVipsIm9wZQAAoFcqAKBbKoABY2xvACMkJSQrJPIACCRhAHMAaAA7gPgA+EBsAACgmCJpAGwBMyQ4JGQAZQA7gPUA9UBlAHMAYaCXInMAAKA2Km0AbAA7gPYA9kDiIWFyAKA9I+EKXiQAAHokAAB8JJQkAACYJKkkAAAAALUkEQsAAPAkAAAAAAQleiUAAIMlcgCAoSUiYXN0AGUkbyQBCwCBtgA7bGokayS2QGwAZQDsABgDaQJ1JAAAAAB4JG0AAKDzKgCg/Sp5AD9kcgCAAmNpbXB0AIUkiCSLJJkSjyRuAHQAJWBvAGQALmBpAGwAAKAwIOUhbmsAoDEgcgAA4DXYLd2AAWltbwCdJKAkpCR2oMYD1WNtAGEA9AD+B24AZQAAoA4m9KHAA64kAAC0JGMjaGZvcmsAAKDUItZjAAFhdbgkxCRuAAABY2u9JMIkawBooA8hAKAOIfYAaRpzAACkKwBhYmNkZW1zdNMkIRPXJNsk4STjJOck6yTjIWlyAKAjKmkAcgAAoCIqAAFvdYsW3yQAoCUqAKByKm4AO4CxALFAaQBtAACgJip3AG8AAKAnKoABaXB1APUk+iT+JO4idGludACgFSpmAADgNdhh3W4AZAA7gKMAo0CApHoiRWFjZWlub3N1ABMlFSUYJRslTCVRJVklSSV1JQCgsypwAACgtyp1AOUAPwtjoK8qgKJ6ImFjZW5zACclLSU0JTYlSSVwAHAAcgBvAPgAFyV1AHIAbAB5AGUA8QA/C/EAOAuAAWFlcwA8JUElRSXwInByb3gAoLkqcQBxAACgtSppAG0AAKDoImkA7QBEC20AZQDzoDIgIguAAUVhcwBDJVclRSXwAEAlgAFkZnAATwtfJXElgAFhbHMAZSVpJW0l7CFhcgCgLiPpIW5lAKASI/UhcmYAoBMjdKAdIu8AWQvyIWVsAKCwIgABY2l9JYElcgAA4DXYxdzIY24iY3NwAACgCCAAA2Zpb3BzdZElKxuVJZolnyWkJXIAAOA12C7dcABmAADgNdhi3XIiaW1lAACgVyBjAHIAAOA12MbcgAFhZW8AqiW6JcAldAAAAWVpryW2JXIAbgBpAG8AbgDzABkFbgB0AACgFipzAHQAZaA/APEACRj0AG0LgApBQkhhYmNkZWZoaWxtbm9wcnN0dXgA4yXyJfYl+iVpJpAmpia9JtUm5ib4JlonaCdxJ3UnnietJ7EnyCfiJ+cngAFhcnQA6SXsJe4lcgDyAJkM8gD6AuEhaWwAoBwpYQByAPIA3BVhAHIAAKBkKYADY2RlbnFydAAGJhAmEyYYJiYmKyZaJgABZXUKJg0mAOA9IjEDdABlAFVhaQDjACAN7SJwdHl2AKCzKWcAgKHpJ2RlbAAgJiImJCYAoJIpAKClKeUA9wt1AG8AO4C7ALtAcgAApZIhYWJjZmhscHN0dz0mQCZFJkcmSiZMJk4mUSZVJlgmcAAAoHUpZqDlIXMAAKAgKQCgMylzAACgHinrALka8ACVHmwAAKBFKWkAbQAAoHQpbAAAoKMhAKCdIQABYWleJmImaQBsAACgGilvAG6gNiJhAGwA8wB2C4ABYWJyAG8mciZ2JnIA8gAvEnIAawAAoHMnAAFha3omgSZjAAABZWt/JoAmfWBdYAABZXOFJocmAKCMKWwAAAFkdYwmjiYAoI4pAKCQKQACYWV1eZcmmiajJqUm8iFvbllhAAFkaZ4moSZpAGwAV2HsAA8M4gCAJkBkAAJjbHFzrSawJrUmuiZhAACgNylkImhhcgAAoGkpdQBvAPKgHSCjAWgAAKCzIYABYWNnAMMm0iaUC2wAgKEcIWlwcwDLJs4migxuAOUAoAxhAHIA9ADaC3QAAKCtJYABaWxyANsm3ybjJvMhaHQAoH0pbwBvAPIANgwA4DXYL90AAWFv6ib1JnIAAAFkde8m8SYAoMEhbKDAIQCgbCl2oMED8WOAAWducwD+Jk4nUCdoAHQAAANhaGxyc3QKJxInISc1Jz0nRydyInJvdwB0oJIhYQDpAFYmYSNycG9vbgAAAWR1GiceJ28AdwDuAPAmcAAAoMAh5SFmdAABYWgnJy0ncgByAG8AdwDzAAkMYQByAHAAbwBvAG4A8wATBGklZ2h0YXJyb3dzAACgySFxAHUAaQBnAGEAcgByAG8A9wBZJugkcmVldGltZXMAoMwiZwDaYmkAbgBnAGQAbwB0AHMAZQDxABwYgAFhaG0AYCdjJ2YncgDyAAkMYQDyABMEAKAPIG8idXN0AGGgsSPjIWhlAKCxI+0haWQAoO4qAAJhYnB0fCeGJ4knmScAAW5ygCeDJ2cAAKDtJ3IAAKD+IXIA6wAcDIABYWZsAI8nkieVJ3IAAKCGKQDgNdhj3XUAcwAAoC4qaSJtZXMAAKA1KgABYXCiJ6gncgBnoCkAdAAAoJQp7yJsaW50AKASKmEAcgDyADwnAAJhY2hxuCe8J6EMwCfxIXVvAKA6IHIAAOA12MfcAAFidYAmxCdvAPKgGSCoAYABaGlyAM4n0ifWJ3IAZQDlAE0n7SFlcwCgyiJpAIChuSVlZmwAXAxjEt4n9CFyaQCgzinsInVoYXIAoGgpAKAeIWENBSgJKA0oSyhVKIYoAACLKLAoAAAAAOMo5ygAABApJCkxKW0pcSmHKaYpAACYKgAAAACxKmMidXRlAFthcQB1AO8ABR+ApHsiRWFjZWlucHN5ABwoHignKCooLygyKEEoRihJKACgtCrwASMoAAAlKACguCpvAG4AYWF1AOUAgw1koLAqaQBsAF9hcgBjAF1hgAFFYXMAOCg6KD0oAKC2KnAAAKC6KmkAbQAAoOki7yJsaW50AKATKmkA7QCIDUFkbwB0AGKixSKRFgAAAABTKACgZiqAA0FhY21zdHgAYChkKG8ocyh1KHkogihyAHIAAKDYIXIAAAFocmkoayjrAJAab6CYIfcAzAd0ADuApwCnQGkAO2D3IWFyAKApKW0AAAFpbn4ozQBuAHUA8wDOAHQAAKA2J3IA7+A12DDdIxkAAmFjb3mRKJUonSisKHIAcAAAoG8mAAFoeZkonChjAHkASWRIZHIAdABtAqUoAAAAAKgoaQDkAFsPYQByAGEA7ABsJDuArQCtQAABZ22zKLsobQBhAAChwwNmdroouijCY4CjPCJkZWdsbnByAMgozCjPKNMo1yjaKN4obwB0AACgairxoEMiCw5FoJ4qAKCgKkWgnSoAoJ8qZQAAoEYi7CF1cwCgJCrhIXJyAKByKWEAcgDyAPwMAAJhZWl07Sj8KAEpCCkAAWxz8Sj4KGwAcwBlAHQAbQDpAH8oaABwAACgMyrwImFyc2wAoOQpAAFkbFoPBSllAACgIyNloKoqc6CsKgDgrCoA/oABZmxwABUpGCkfKfQhY3lMZGKgLwBhoMQpcgAAoD8jZgAA4DXYZN1hAAABZHIoKRcDZQBzAHWgYCZpAHQAAKBgJoABY3N1ADYpRilhKQABYXU6KUApcABzoJMiAOCTIgD+cABzoJQiAOCUIgD+dQAAAWJwSylWKQChjyJlcz4NUCllAHQAZaCPIvEAPw0AoZAiZXNIDVspZQB0AGWgkCLxAEkNAKGhJWFmZilbBHIAZQFrKVwEAKChJWEAcgDyAAMNAAJjZW10dyl7KX8pgilyAADgNdjI3HQAbQDuAM4AaQDsAAYpYQByAOYAVw0AAWFyiimOKXIA5qAGJhESAAFhbpIpoylpImdodAAAAWVwmSmgKXAAcwBpAGwAbwDuANkXaADpAKAkcwCvYIACYmNtbnAArin8KY4NJSooKgCkgiJFZGVtbnByc7wpvinCKcgpzCnUKdgp3CkAoMUqbwB0AACgvSpkoIYibwB0AACgwyr1IWx0AKDBKgABRWXQKdIpAKDLKgCgiiLsIXVzAKC/KuEhcnIAoHkpgAFlaXUA4inxKfQpdAAAoYIiZW7oKewpcQDxoIYivSllAHEA8aCKItEpbQAAoMcqAAFicPgp+ikAoNUqAKDTKmMAgKJ7ImFjZW5zAAcqDSoUKhYqRihwAHAAcgBvAPgAIyh1AHIAbAB5AGUA8QCDDfEAfA2AAWFlcwAcKiIqPShwAHAAcgBvAPgAPChxAPEAOShnAACgaiYApoMiMTIzRWRlaGxtbnBzPCo/KkIqRSpHKlIqWCpjKmcqaypzKncqO4C5ALlAO4CyALJAO4CzALNAAKDGKgABb3NLKk4qdAAAoL4qdQBiAACg2CpkoIcibwB0AACgxCpzAAABb3VdKmAqbAAAoMknYgAAoNcq4SFycgCgeyn1IWx0AKDCKgABRWVvKnEqAKDMKgCgiyLsIXVzAKDAKoABZWl1AH0qjCqPKnQAAKGDImVugyqHKnEA8aCHIkYqZQBxAPGgiyJwKm0AAKDIKgABYnCTKpUqAKDUKgCg1iqAAUFhbgCdKqEqrCpyAHIAAKDZIXIAAAFocqYqqCrrAJUab6CZIfcAxQf3IWFyAKAqKWwAaQBnADuA3wDfQOELzyrZKtwq6SrsKvEqAAD1KjQrAAAAAAAAAAAAAEwrbCsAAHErvSsAAAAAAADRK3IC1CoAAAAA2CrnIWV0AKAWI8RjcgDrAOUKgAFhZXkA4SrkKucq8iFvbmVh5CFpbGNhQmRvAPQAIg5sInJlYwAAoBUjcgAA4DXYMd0AAmVpa2/7KhIrKCsuK/IBACsAAAkrZQAAATRm6g0EK28AcgDlAOsNYQBzorgDECsAAAAAEit5AG0A0WMAAWNuFislK2sAAAFhcxsrIStwAHAAcgBvAPgAFw5pAG0AAKA8InMA8AD9DQABYXMsKyEr8AAXDnIAbgA7gP4A/kDsATgrOyswG2QA5QBnAmUAcwCAgdcAO2JkAEMrRCtJK9dAYaCgInIAAKAxKgCgMCqAAWVwcwBRK1MraSvhAAkh4qKkIlsrXysAAAAAYytvAHQAAKA2I2kAcgAAoPEqb+A12GXdcgBrAACg2irhAHgociJpbWUAAKA0IIABYWlwAHYreSu3K2QA5QC+DYADYWRlbXBzdACFK6MrmiunK6wrsCuzK24iZ2xlAACitSVkbHFykCuUK5ornCvvIXduAKC/JeUhZnRloMMl8QACBwCgXCJpImdodABloLkl8QBdDG8AdAAAoOwlaSJudXMAAKA6KuwhdXMAoDkqYgAAoM0p6SFtZQCgOyrlInppdW0AoOIjgAFjaHQAwivKK80rAAFyecYrySsA4DXYydxGZGMAeQBbZPIhb2tnYQABaW/UK9creAD0ANERaCJlYWQAAAFsct4r5ytlAGYAdABhAHIAcgBvAPcAXQbpJGdodGFycm93AKCgIQAJQUhhYmNkZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var Ih=$h("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");var ia;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(ia||(ia={}));var fr;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(fr||(fr={}));var Sb=32;function T1(e){return e>=fr.ZERO&&e<=fr.NINE}function YT(e){return e>=fr.UPPER_A&&e<=fr.UPPER_F||e>=fr.LOWER_A&&e<=fr.LOWER_F}function KT(e){return e>=fr.UPPER_A&&e<=fr.UPPER_Z||e>=fr.LOWER_A&&e<=fr.LOWER_Z||T1(e)}function qT(e){return e===fr.EQUALS||KT(e)}var Pr;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Pr||(Pr={}));var wi;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(wi||(wi={}));var Nh=class{constructor(t,r,a){this.decodeTree=t,this.emitCodePoint=r,this.errors=a,this.state=Pr.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=wi.Strict,this.runConsumed=0}startEntity(t){this.decodeMode=t,this.state=Pr.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,r){switch(this.state){case Pr.EntityStart:return t.charCodeAt(r)===fr.NUM?(this.state=Pr.NumericStart,this.consumed+=1,this.stateNumericStart(t,r+1)):(this.state=Pr.NamedEntity,this.stateNamedEntity(t,r));case Pr.NumericStart:return this.stateNumericStart(t,r);case Pr.NumericDecimal:return this.stateNumericDecimal(t,r);case Pr.NumericHex:return this.stateNumericHex(t,r);case Pr.NamedEntity:return this.stateNamedEntity(t,r)}}stateNumericStart(t,r){return r>=t.length?-1:(t.charCodeAt(r)|Sb)===fr.LOWER_X?(this.state=Pr.NumericHex,this.consumed+=1,this.stateNumericHex(t,r+1)):(this.state=Pr.NumericDecimal,this.stateNumericDecimal(t,r))}stateNumericHex(t,r){for(;r<t.length;){let a=t.charCodeAt(r);if(T1(a)||YT(a)){let i=a<=fr.NINE?a-fr.ZERO:(a|Sb)-fr.LOWER_A+10;this.result=this.result*16+i,this.consumed++,r++}else return this.emitNumericEntity(a,3)}return-1}stateNumericDecimal(t,r){for(;r<t.length;){let a=t.charCodeAt(r);if(T1(a))this.result=this.result*10+(a-fr.ZERO),this.consumed++,r++;else return this.emitNumericEntity(a,2)}return-1}emitNumericEntity(t,r){var a;if(this.consumed<=r)return(a=this.errors)===null||a===void 0||a.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===fr.SEMI)this.consumed+=1;else if(this.decodeMode===wi.Strict)return 0;return this.emitCodePoint($1(this.result),this.consumed),this.errors&&(t!==fr.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,r){let{decodeTree:a}=this,i=a[this.treeIndex],s=(i&ia.VALUE_LENGTH)>>14;for(;r<t.length;){if(s===0&&i&ia.FLAG13){let n=(i&ia.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let l=i&ia.JUMP_TABLE;if(t.charCodeAt(r)!==l)return this.result===0?0:this.emitNotTerminatedNamedEntity();r++,this.excess++,this.runConsumed++}for(;this.runConsumed<n;){if(r>=t.length)return-1;let l=this.runConsumed-1,u=a[this.treeIndex+1+(l>>1)],c=l%2===0?u&255:u>>8&255;if(t.charCodeAt(r)!==c)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();r++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(n>>1),i=a[this.treeIndex],s=(i&ia.VALUE_LENGTH)>>14}if(r>=t.length)break;let o=t.charCodeAt(r);if(o===fr.SEMI&&s!==0&&i&ia.FLAG13)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);if(this.treeIndex=zT(a,i,this.treeIndex+Math.max(1,s),o),this.treeIndex<0)return this.result===0||this.decodeMode===wi.Attribute&&(s===0||qT(o))?0:this.emitNotTerminatedNamedEntity();if(i=a[this.treeIndex],s=(i&ia.VALUE_LENGTH)>>14,s!==0){if(o===fr.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==wi.Strict&&!(i&ia.FLAG13)&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}r++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var t;let{result:r,decodeTree:a}=this,i=(a[r]&ia.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,i,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,r,a){let{decodeTree:i}=this;return this.emitCodePoint(r===1?i[t]&~(ia.VALUE_LENGTH|ia.FLAG13):i[t+1],a),r===3&&this.emitCodePoint(i[t+2],a),a}end(){var t;switch(this.state){case Pr.NamedEntity:return this.result!==0&&(this.decodeMode!==wi.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Pr.NumericDecimal:return this.emitNumericEntity(0,2);case Pr.NumericHex:return this.emitNumericEntity(0,3);case Pr.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Pr.EntityStart:return 0}}};function zT(e,t,r,a){let i=(t&ia.BRANCH_LENGTH)>>7,s=t&ia.JUMP_TABLE;if(i===0)return s!==0&&a===s?r:-1;if(s){let u=a-s;return u<0||u>=i?-1:e[r+u]-1}let o=i+1>>1,n=0,l=i-1;for(;n<=l;){let u=n+l>>>1,c=u>>1,h=e[r+c]>>(u&1)*8&255;if(h<a)n=u+1;else if(h>a)l=u-1;else return e[r+o+u]}return-1}var lt;(function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"})(lt||(lt={}));var Qe;(function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.BeforeSpecialT=23]="BeforeSpecialT",e[e.SpecialStartSequence=24]="SpecialStartSequence",e[e.InSpecialTag=25]="InSpecialTag",e[e.InEntity=26]="InEntity"})(Qe||(Qe={}));function Es(e){return e===lt.Space||e===lt.NewLine||e===lt.Tab||e===lt.FormFeed||e===lt.CarriageReturn}function Dh(e){return e===lt.Slash||e===lt.Gt||Es(e)}function QT(e){return e>=lt.LowerA&&e<=lt.LowerZ||e>=lt.UpperA&&e<=lt.UpperZ}var Ka;(function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"})(Ka||(Ka={}));var Cr={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97]),XmpEnd:new Uint8Array([60,47,120,109,112])},Fn=class{constructor({xmlMode:t=!1,decodeEntities:r=!0},a){this.cbs=a,this.state=Qe.Text,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=Qe.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.xmlMode=t,this.decodeEntities=r,this.entityDecoder=new Nh(t?Ih:Th,(i,s)=>this.emitCodePoint(i,s))}reset(){this.state=Qe.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=Qe.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(t){this.offset+=this.buffer.length,this.buffer=t,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()}stateText(t){t===lt.Lt||!this.decodeEntities&&this.fastForwardTo(lt.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=Qe.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&t===lt.Amp&&this.startEntity()}stateSpecialStartSequence(t){let r=this.sequenceIndex===this.currentSequence.length;if(!(r?Dh(t):(t|32)===this.currentSequence[this.sequenceIndex]))this.isSpecial=!1;else if(!r){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=Qe.InTagName,this.stateInTagName(t)}stateInSpecialTag(t){if(this.sequenceIndex===this.currentSequence.length){if(t===lt.Gt||Es(t)){let r=this.index-this.currentSequence.length;if(this.sectionStart<r){let a=this.index;this.index=r,this.cbs.ontext(this.sectionStart,r),this.index=a}this.isSpecial=!1,this.sectionStart=r+2,this.stateInClosingTagName(t);return}this.sequenceIndex=0}(t|32)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:this.sequenceIndex===0?this.currentSequence===Cr.TitleEnd?this.decodeEntities&&t===lt.Amp&&this.startEntity():this.fastForwardTo(lt.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=+(t===lt.Lt)}stateCDATASequence(t){t===Cr.Cdata[this.sequenceIndex]?++this.sequenceIndex===Cr.Cdata.length&&(this.state=Qe.InCommentLike,this.currentSequence=Cr.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=Qe.InDeclaration,this.stateInDeclaration(t))}fastForwardTo(t){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===t)return!0;return this.index=this.buffer.length+this.offset-1,!1}stateInCommentLike(t){t===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===Cr.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=Qe.Text):this.sequenceIndex===0?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):t!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}isTagStartChar(t){return this.xmlMode?!Dh(t):QT(t)}startSpecial(t,r){this.isSpecial=!0,this.currentSequence=t,this.sequenceIndex=r,this.state=Qe.SpecialStartSequence}stateBeforeTagName(t){if(t===lt.ExclamationMark)this.state=Qe.BeforeDeclaration,this.sectionStart=this.index+1;else if(t===lt.Questionmark)this.state=Qe.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(t)){let r=t|32;this.sectionStart=this.index,this.xmlMode?this.state=Qe.InTagName:r===Cr.ScriptEnd[2]?this.state=Qe.BeforeSpecialS:r===Cr.TitleEnd[2]||r===Cr.XmpEnd[2]?this.state=Qe.BeforeSpecialT:this.state=Qe.InTagName}else t===lt.Slash?this.state=Qe.BeforeClosingTagName:(this.state=Qe.Text,this.stateText(t))}stateInTagName(t){Dh(t)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=Qe.BeforeAttributeName,this.stateBeforeAttributeName(t))}stateBeforeClosingTagName(t){Es(t)||(t===lt.Gt?this.state=Qe.Text:(this.state=this.isTagStartChar(t)?Qe.InClosingTagName:Qe.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(t){(t===lt.Gt||Es(t))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=Qe.AfterClosingTagName,this.stateAfterClosingTagName(t))}stateAfterClosingTagName(t){(t===lt.Gt||this.fastForwardTo(lt.Gt))&&(this.state=Qe.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(t){t===lt.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=Qe.InSpecialTag,this.sequenceIndex=0):this.state=Qe.Text,this.sectionStart=this.index+1):t===lt.Slash?this.state=Qe.InSelfClosingTag:Es(t)||(this.state=Qe.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(t){t===lt.Gt?(this.cbs.onselfclosingtag(this.index),this.state=Qe.Text,this.sectionStart=this.index+1,this.isSpecial=!1):Es(t)||(this.state=Qe.BeforeAttributeName,this.stateBeforeAttributeName(t))}stateInAttributeName(t){(t===lt.Eq||Dh(t))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=Qe.AfterAttributeName,this.stateAfterAttributeName(t))}stateAfterAttributeName(t){t===lt.Eq?this.state=Qe.BeforeAttributeValue:t===lt.Slash||t===lt.Gt?(this.cbs.onattribend(Ka.NoValue,this.sectionStart),this.sectionStart=-1,this.state=Qe.BeforeAttributeName,this.stateBeforeAttributeName(t)):Es(t)||(this.cbs.onattribend(Ka.NoValue,this.sectionStart),this.state=Qe.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(t){t===lt.DoubleQuote?(this.state=Qe.InAttributeValueDq,this.sectionStart=this.index+1):t===lt.SingleQuote?(this.state=Qe.InAttributeValueSq,this.sectionStart=this.index+1):Es(t)||(this.sectionStart=this.index,this.state=Qe.InAttributeValueNq,this.stateInAttributeValueNoQuotes(t))}handleInAttributeValue(t,r){t===r||!this.decodeEntities&&this.fastForwardTo(r)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(r===lt.DoubleQuote?Ka.Double:Ka.Single,this.index+1),this.state=Qe.BeforeAttributeName):this.decodeEntities&&t===lt.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(t){this.handleInAttributeValue(t,lt.DoubleQuote)}stateInAttributeValueSingleQuotes(t){this.handleInAttributeValue(t,lt.SingleQuote)}stateInAttributeValueNoQuotes(t){Es(t)||t===lt.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(Ka.Unquoted,this.index),this.state=Qe.BeforeAttributeName,this.stateBeforeAttributeName(t)):this.decodeEntities&&t===lt.Amp&&this.startEntity()}stateBeforeDeclaration(t){t===lt.OpeningSquareBracket?(this.state=Qe.CDATASequence,this.sequenceIndex=0):this.state=t===lt.Dash?Qe.BeforeComment:Qe.InDeclaration}stateInDeclaration(t){(t===lt.Gt||this.fastForwardTo(lt.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=Qe.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(t){(t===lt.Gt||this.fastForwardTo(lt.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=Qe.Text,this.sectionStart=this.index+1)}stateBeforeComment(t){t===lt.Dash?(this.state=Qe.InCommentLike,this.currentSequence=Cr.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=Qe.InDeclaration}stateInSpecialComment(t){(t===lt.Gt||this.fastForwardTo(lt.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=Qe.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(t){let r=t|32;r===Cr.ScriptEnd[3]?this.startSpecial(Cr.ScriptEnd,4):r===Cr.StyleEnd[3]?this.startSpecial(Cr.StyleEnd,4):(this.state=Qe.InTagName,this.stateInTagName(t))}stateBeforeSpecialT(t){switch(t|32){case Cr.TitleEnd[3]:{this.startSpecial(Cr.TitleEnd,4);break}case Cr.TextareaEnd[3]:{this.startSpecial(Cr.TextareaEnd,4);break}case Cr.XmpEnd[3]:{this.startSpecial(Cr.XmpEnd,4);break}default:this.state=Qe.InTagName,this.stateInTagName(t)}}startEntity(){this.baseState=this.state,this.state=Qe.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?wi.Strict:this.baseState===Qe.Text||this.baseState===Qe.InSpecialTag?wi.Legacy:wi.Attribute)}stateInEntity(){let t=this.index-this.offset,r=this.entityDecoder.write(this.buffer,t);if(r>=0)this.state=this.baseState,r===0&&(this.index-=1);else{if(t<this.buffer.length&&this.buffer.charCodeAt(t)===lt.Amp){this.state=this.baseState,this.index-=1;return}this.index=this.offset+this.buffer.length-1}}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===Qe.Text||this.state===Qe.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===Qe.InAttributeValueDq||this.state===Qe.InAttributeValueSq||this.state===Qe.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index<this.buffer.length+this.offset&&this.running}parse(){for(;this.shouldContinue();){let t=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case Qe.Text:{this.stateText(t);break}case Qe.SpecialStartSequence:{this.stateSpecialStartSequence(t);break}case Qe.InSpecialTag:{this.stateInSpecialTag(t);break}case Qe.CDATASequence:{this.stateCDATASequence(t);break}case Qe.InAttributeValueDq:{this.stateInAttributeValueDoubleQuotes(t);break}case Qe.InAttributeName:{this.stateInAttributeName(t);break}case Qe.InCommentLike:{this.stateInCommentLike(t);break}case Qe.InSpecialComment:{this.stateInSpecialComment(t);break}case Qe.BeforeAttributeName:{this.stateBeforeAttributeName(t);break}case Qe.InTagName:{this.stateInTagName(t);break}case Qe.InClosingTagName:{this.stateInClosingTagName(t);break}case Qe.BeforeTagName:{this.stateBeforeTagName(t);break}case Qe.AfterAttributeName:{this.stateAfterAttributeName(t);break}case Qe.InAttributeValueSq:{this.stateInAttributeValueSingleQuotes(t);break}case Qe.BeforeAttributeValue:{this.stateBeforeAttributeValue(t);break}case Qe.BeforeClosingTagName:{this.stateBeforeClosingTagName(t);break}case Qe.AfterClosingTagName:{this.stateAfterClosingTagName(t);break}case Qe.BeforeSpecialS:{this.stateBeforeSpecialS(t);break}case Qe.BeforeSpecialT:{this.stateBeforeSpecialT(t);break}case Qe.InAttributeValueNq:{this.stateInAttributeValueNoQuotes(t);break}case Qe.InSelfClosingTag:{this.stateInSelfClosingTag(t);break}case Qe.InDeclaration:{this.stateInDeclaration(t);break}case Qe.BeforeDeclaration:{this.stateBeforeDeclaration(t);break}case Qe.BeforeComment:{this.stateBeforeComment(t);break}case Qe.InProcessingInstruction:{this.stateInProcessingInstruction(t);break}case Qe.InEntity:{this.stateInEntity();break}}this.index++}this.cleanup()}finish(){this.state===Qe.InEntity&&(this.entityDecoder.end(),this.state=this.baseState),this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){let t=this.buffer.length+this.offset;this.sectionStart>=t||(this.state===Qe.InCommentLike?this.currentSequence===Cr.CdataEnd?this.cbs.oncdata(this.sectionStart,t,0):this.cbs.oncomment(this.sectionStart,t,0):this.state===Qe.InTagName||this.state===Qe.BeforeAttributeName||this.state===Qe.BeforeAttributeValue||this.state===Qe.AfterAttributeName||this.state===Qe.InAttributeName||this.state===Qe.InAttributeValueSq||this.state===Qe.InAttributeValueDq||this.state===Qe.InAttributeValueNq||this.state===Qe.InClosingTagName||this.cbs.ontext(this.sectionStart,t))}emitCodePoint(t,r){this.baseState!==Qe.Text&&this.baseState!==Qe.InSpecialTag?(this.sectionStart<this.entityStart&&this.cbs.onattribdata(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+r,this.index=this.sectionStart-1,this.cbs.onattribentity(t)):(this.sectionStart<this.entityStart&&this.cbs.ontext(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+r,this.index=this.sectionStart-1,this.cbs.ontextentity(t,this.sectionStart))}};var Fo=new Set(["input","option","optgroup","select","button","datalist","textarea"]),Xt=new Set(["p"]),Eb=new Set(["thead","tbody"]),Cb=new Set(["dd","dt"]),Mb=new Set(["rt","rp"]),VT=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",Xt],["h1",Xt],["h2",Xt],["h3",Xt],["h4",Xt],["h5",Xt],["h6",Xt],["select",Fo],["input",Fo],["output",Fo],["button",Fo],["datalist",Fo],["textarea",Fo],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",Cb],["dt",Cb],["address",Xt],["article",Xt],["aside",Xt],["blockquote",Xt],["details",Xt],["div",Xt],["dl",Xt],["fieldset",Xt],["figcaption",Xt],["figure",Xt],["footer",Xt],["form",Xt],["header",Xt],["hr",Xt],["main",Xt],["nav",Xt],["ol",Xt],["pre",Xt],["section",Xt],["table",Xt],["ul",Xt],["rt",Mb],["rp",Mb],["tbody",Eb],["tfoot",Eb]]),jT=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),vb=new Set(["math","svg"]),kb=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),XT=/\s|\//,an=class{constructor(t,r={}){var a,i,s,o,n,l;this.options=r,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=t??{},this.htmlMode=!this.options.xmlMode,this.lowerCaseTagNames=(a=r.lowerCaseTags)!==null&&a!==void 0?a:this.htmlMode,this.lowerCaseAttributeNames=(i=r.lowerCaseAttributeNames)!==null&&i!==void 0?i:this.htmlMode,this.recognizeSelfClosing=(s=r.recognizeSelfClosing)!==null&&s!==void 0?s:!this.htmlMode,this.tokenizer=new((o=r.Tokenizer)!==null&&o!==void 0?o:Fn)(this.options,this),this.foreignContext=[!this.htmlMode],(l=(n=this.cbs).onparserinit)===null||l===void 0||l.call(n,this)}ontext(t,r){var a,i;let s=this.getSlice(t,r);this.endIndex=r-1,(i=(a=this.cbs).ontext)===null||i===void 0||i.call(a,s),this.startIndex=r}ontextentity(t,r){var a,i;this.endIndex=r-1,(i=(a=this.cbs).ontext)===null||i===void 0||i.call(a,lu(t)),this.startIndex=r}isVoidElement(t){return this.htmlMode&&jT.has(t)}onopentagname(t,r){this.endIndex=r;let a=this.getSlice(t,r);this.lowerCaseTagNames&&(a=a.toLowerCase()),this.emitOpenTag(a)}emitOpenTag(t){var r,a,i,s;this.openTagStart=this.startIndex,this.tagname=t;let o=this.htmlMode&&VT.get(t);if(o)for(;this.stack.length>0&&o.has(this.stack[0]);){let n=this.stack.shift();(a=(r=this.cbs).onclosetag)===null||a===void 0||a.call(r,n,!0)}this.isVoidElement(t)||(this.stack.unshift(t),this.htmlMode&&(vb.has(t)?this.foreignContext.unshift(!0):kb.has(t)&&this.foreignContext.unshift(!1))),(s=(i=this.cbs).onopentagname)===null||s===void 0||s.call(i,t),this.cbs.onopentag&&(this.attribs={})}endOpenTag(t){var r,a;this.startIndex=this.openTagStart,this.attribs&&((a=(r=this.cbs).onopentag)===null||a===void 0||a.call(r,this.tagname,this.attribs,t),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(t){this.endIndex=t,this.endOpenTag(!1),this.startIndex=t+1}onclosetag(t,r){var a,i,s,o,n,l,u,c;this.endIndex=r;let f=this.getSlice(t,r);if(this.lowerCaseTagNames&&(f=f.toLowerCase()),this.htmlMode&&(vb.has(f)||kb.has(f))&&this.foreignContext.shift(),this.isVoidElement(f))this.htmlMode&&f==="br"&&((o=(s=this.cbs).onopentagname)===null||o===void 0||o.call(s,"br"),(l=(n=this.cbs).onopentag)===null||l===void 0||l.call(n,"br",{},!0),(c=(u=this.cbs).onclosetag)===null||c===void 0||c.call(u,"br",!1));else{let h=this.stack.indexOf(f);if(h!==-1)for(let g=0;g<=h;g++){let p=this.stack.shift();(i=(a=this.cbs).onclosetag)===null||i===void 0||i.call(a,p,g!==h)}else this.htmlMode&&f==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=r+1}onselfclosingtag(t){this.endIndex=t,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=t+1):this.onopentagend(t)}closeCurrentTag(t){var r,a;let i=this.tagname;this.endOpenTag(t),this.stack[0]===i&&((a=(r=this.cbs).onclosetag)===null||a===void 0||a.call(r,i,!t),this.stack.shift())}onattribname(t,r){this.startIndex=t;let a=this.getSlice(t,r);this.attribname=this.lowerCaseAttributeNames?a.toLowerCase():a}onattribdata(t,r){this.attribvalue+=this.getSlice(t,r)}onattribentity(t){this.attribvalue+=lu(t)}onattribend(t,r){var a,i;this.endIndex=r,(i=(a=this.cbs).onattribute)===null||i===void 0||i.call(a,this.attribname,this.attribvalue,t===Ka.Double?'"':t===Ka.Single?"'":t===Ka.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(t){let r=t.search(XT),a=r<0?t:t.substr(0,r);return this.lowerCaseTagNames&&(a=a.toLowerCase()),a}ondeclaration(t,r){this.endIndex=r;let a=this.getSlice(t,r);if(this.cbs.onprocessinginstruction){let i=this.getInstructionName(a);this.cbs.onprocessinginstruction(`!${i}`,`!${a}`)}this.startIndex=r+1}onprocessinginstruction(t,r){this.endIndex=r;let a=this.getSlice(t,r);if(this.cbs.onprocessinginstruction){let i=this.getInstructionName(a);this.cbs.onprocessinginstruction(`?${i}`,`?${a}`)}this.startIndex=r+1}oncomment(t,r,a){var i,s,o,n;this.endIndex=r,(s=(i=this.cbs).oncomment)===null||s===void 0||s.call(i,this.getSlice(t,r-a)),(n=(o=this.cbs).oncommentend)===null||n===void 0||n.call(o),this.startIndex=r+1}oncdata(t,r,a){var i,s,o,n,l,u,c,f,h,g;this.endIndex=r;let p=this.getSlice(t,r-a);!this.htmlMode||this.options.recognizeCDATA?((s=(i=this.cbs).oncdatastart)===null||s===void 0||s.call(i),(n=(o=this.cbs).ontext)===null||n===void 0||n.call(o,p),(u=(l=this.cbs).oncdataend)===null||u===void 0||u.call(l)):((f=(c=this.cbs).oncomment)===null||f===void 0||f.call(c,`[CDATA[${p}]]`),(g=(h=this.cbs).oncommentend)===null||g===void 0||g.call(h)),this.startIndex=r+1}onend(){var t,r;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let a=0;a<this.stack.length;a++)this.cbs.onclosetag(this.stack[a],!0)}(r=(t=this.cbs).onend)===null||r===void 0||r.call(t)}reset(){var t,r,a,i;(r=(t=this.cbs).onreset)===null||r===void 0||r.call(t),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(i=(a=this.cbs).onparserinit)===null||i===void 0||i.call(a,this),this.buffers.length=0,this.foreignContext.length=0,this.foreignContext.unshift(!this.htmlMode),this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(t){this.reset(),this.end(t)}getSlice(t,r){for(;t-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let a=this.buffers[0].slice(t-this.bufferOffset,r-this.bufferOffset);for(;r-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),a+=this.buffers[0].slice(0,r-this.bufferOffset);return a}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(t){var r,a;if(this.ended){(a=(r=this.cbs).onerror)===null||a===void 0||a.call(r,new Error(".write() after done!"));return}this.buffers.push(t),this.tokenizer.running&&(this.tokenizer.write(t),this.writeIndex++)}end(t){var r,a;if(this.ended){(a=(r=this.cbs).onerror)===null||a===void 0||a.call(r,new Error(".end() after done!"));return}t&&this.write(t),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()}parseChunk(t){this.write(t)}done(t){this.end(t)}};var Rh={};Bt(Rh,{CDATA:()=>F1,Comment:()=>_1,Directive:()=>R1,Doctype:()=>W1,ElementType:()=>Ft,Root:()=>N1,Script:()=>L1,Style:()=>O1,Tag:()=>B1,Text:()=>D1,isTag:()=>I1});var Ft;(function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"})(Ft||(Ft={}));function I1(e){return e.type===Ft.Tag||e.type===Ft.Script||e.type===Ft.Style}var N1=Ft.Root,D1=Ft.Text,R1=Ft.Directive,_1=Ft.Comment,L1=Ft.Script,O1=Ft.Style,B1=Ft.Tag,F1=Ft.CDATA,W1=Ft.Doctype;var _h=class{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(t){this.parent=t}get previousSibling(){return this.prev}set previousSibling(t){this.prev=t}get nextSibling(){return this.next}set nextSibling(t){this.next=t}cloneNode(t=!1){return $b(this,t)}},uu=class extends _h{constructor(t){super(),this.data=t}get nodeValue(){return this.data}set nodeValue(t){this.data=t}},Wo=class extends uu{constructor(){super(...arguments),this.type=Ft.Text}get nodeType(){return 3}},cu=class extends uu{constructor(){super(...arguments),this.type=Ft.Comment}get nodeType(){return 8}},hu=class extends uu{constructor(t,r){super(r),this.name=t,this.type=Ft.Directive}get nodeType(){return 1}},du=class extends _h{constructor(t){super(),this.children=t}get firstChild(){var t;return(t=this.children[0])!==null&&t!==void 0?t:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(t){this.children=t}},fu=class extends du{constructor(){super(...arguments),this.type=Ft.CDATA}get nodeType(){return 4}},Ho=class extends du{constructor(){super(...arguments),this.type=Ft.Root}get nodeType(){return 9}},pu=class extends du{constructor(t,r,a=[],i=t==="script"?Ft.Script:t==="style"?Ft.Style:Ft.Tag){super(a),this.name=t,this.attribs=r,this.type=i}get nodeType(){return 1}get tagName(){return this.name}set tagName(t){this.name=t}get attributes(){return Object.keys(this.attribs).map(t=>{var r,a;return{name:t,value:this.attribs[t],namespace:(r=this["x-attribsNamespace"])===null||r===void 0?void 0:r[t],prefix:(a=this["x-attribsPrefix"])===null||a===void 0?void 0:a[t]}})}};function Gr(e){return I1(e)}function Po(e){return e.type===Ft.CDATA}function Vi(e){return e.type===Ft.Text}function gu(e){return e.type===Ft.Comment}function ZT(e){return e.type===Ft.Directive}function P1(e){return e.type===Ft.Root}function sa(e){return Object.prototype.hasOwnProperty.call(e,"children")}function $b(e,t=!1){let r;if(Vi(e))r=new Wo(e.data);else if(gu(e))r=new cu(e.data);else if(Gr(e)){let a=t?H1(e.children):[],i=new pu(e.name,{...e.attribs},a);a.forEach(s=>s.parent=i),e.namespace!=null&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...e["x-attribsPrefix"]}),r=i}else if(Po(e)){let a=t?H1(e.children):[],i=new fu(a);a.forEach(s=>s.parent=i),r=i}else if(P1(e)){let a=t?H1(e.children):[],i=new Ho(a);a.forEach(s=>s.parent=i),e["x-mode"]&&(i["x-mode"]=e["x-mode"]),r=i}else if(ZT(e)){let a=new hu(e.name,e.data);e["x-name"]!=null&&(a["x-name"]=e["x-name"],a["x-publicId"]=e["x-publicId"],a["x-systemId"]=e["x-systemId"]),r=a}else throw new Error(`Not implemented yet: ${e.type}`);return r.startIndex=e.startIndex,r.endIndex=e.endIndex,e.sourceCodeLocation!=null&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function H1(e){let t=e.map(r=>$b(r,!0));for(let r=1;r<t.length;r++)t[r].prev=t[r-1],t[r-1].next=t[r];return t}var Tb={withStartIndices:!1,withEndIndices:!1,xmlMode:!1},Cs=class{constructor(t,r,a){this.dom=[],this.root=new Ho(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,typeof r=="function"&&(a=r,r=Tb),typeof t=="object"&&(r=t,t=void 0),this.callback=t??null,this.options=r??Tb,this.elementCB=a??null}onparserinit(t){this.parser=t}onreset(){this.dom=[],this.root=new Ho(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(t){this.handleCallback(t)}onclosetag(){this.lastNode=null;let t=this.tagStack.pop();this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(t)}onopentag(t,r){let a=this.options.xmlMode?Ft.Tag:void 0,i=new pu(t,r,void 0,a);this.addNode(i),this.tagStack.push(i)}ontext(t){let{lastNode:r}=this;if(r&&r.type===Ft.Text)r.data+=t,this.options.withEndIndices&&(r.endIndex=this.parser.endIndex);else{let a=new Wo(t);this.addNode(a),this.lastNode=a}}oncomment(t){if(this.lastNode&&this.lastNode.type===Ft.Comment){this.lastNode.data+=t;return}let r=new cu(t);this.addNode(r),this.lastNode=r}oncommentend(){this.lastNode=null}oncdatastart(){let t=new Wo(""),r=new fu([t]);this.addNode(r),t.parent=r,this.lastNode=t}oncdataend(){this.lastNode=null}onprocessinginstruction(t,r){let a=new hu(t,r);this.addNode(a)}handleCallback(t){if(typeof this.callback=="function")this.callback(t,this.dom);else if(t)throw t}addNode(t){let r=this.tagStack[this.tagStack.length-1],a=r.children[r.children.length-1];this.options.withStartIndices&&(t.startIndex=this.parser.startIndex),this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),r.children.push(t),a&&(t.prev=a,a.next=t),t.parent=r,this.lastNode=null}};var Uo={};Bt(Uo,{DocumentPosition:()=>ri,append:()=>k6,appendChild:()=>v6,compareDocumentPosition:()=>jb,existsOne:()=>Qb,filter:()=>Go,find:()=>zb,findAll:()=>N6,findOne:()=>Hh,findOneChild:()=>I6,getAttributeValue:()=>x6,getChildren:()=>Kb,getElementById:()=>L6,getElements:()=>_6,getElementsByClassName:()=>O6,getElementsByTagName:()=>Wn,getElementsByTagType:()=>B6,getFeed:()=>yu,getInnerHTML:()=>b6,getName:()=>S6,getOuterHTML:()=>Yb,getParent:()=>qb,getSiblings:()=>y6,getText:()=>Wh,hasAttrib:()=>w6,hasChildren:()=>sa,innerText:()=>X1,isCDATA:()=>Po,isComment:()=>gu,isDocument:()=>P1,isTag:()=>Gr,isText:()=>Vi,nextElementSibling:()=>E6,prepend:()=>T6,prependChild:()=>$6,prevElementSibling:()=>C6,removeElement:()=>bu,removeSubsets:()=>F6,replaceElement:()=>M6,testElement:()=>R6,textContent:()=>Au,uniqueSort:()=>W6});var Ib=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(e=>e.charCodeAt(0)));var Nb=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(e=>e.charCodeAt(0)));var G1,JT=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),U1=(G1=String.fromCodePoint)!==null&&G1!==void 0?G1:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function Y1(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=JT.get(e))!==null&&t!==void 0?t:e}var Yr;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Yr||(Yr={}));var e6=32,sn;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(sn||(sn={}));function K1(e){return e>=Yr.ZERO&&e<=Yr.NINE}function t6(e){return e>=Yr.UPPER_A&&e<=Yr.UPPER_F||e>=Yr.LOWER_A&&e<=Yr.LOWER_F}function r6(e){return e>=Yr.UPPER_A&&e<=Yr.UPPER_Z||e>=Yr.LOWER_A&&e<=Yr.LOWER_Z||K1(e)}function a6(e){return e===Yr.EQUALS||r6(e)}var Ur;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Ur||(Ur={}));var Ms;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Ms||(Ms={}));var Lh=class{constructor(t,r,a){this.decodeTree=t,this.emitCodePoint=r,this.errors=a,this.state=Ur.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Ms.Strict}startEntity(t){this.decodeMode=t,this.state=Ur.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,r){switch(this.state){case Ur.EntityStart:return t.charCodeAt(r)===Yr.NUM?(this.state=Ur.NumericStart,this.consumed+=1,this.stateNumericStart(t,r+1)):(this.state=Ur.NamedEntity,this.stateNamedEntity(t,r));case Ur.NumericStart:return this.stateNumericStart(t,r);case Ur.NumericDecimal:return this.stateNumericDecimal(t,r);case Ur.NumericHex:return this.stateNumericHex(t,r);case Ur.NamedEntity:return this.stateNamedEntity(t,r)}}stateNumericStart(t,r){return r>=t.length?-1:(t.charCodeAt(r)|e6)===Yr.LOWER_X?(this.state=Ur.NumericHex,this.consumed+=1,this.stateNumericHex(t,r+1)):(this.state=Ur.NumericDecimal,this.stateNumericDecimal(t,r))}addToNumericResult(t,r,a,i){if(r!==a){let s=a-r;this.result=this.result*Math.pow(i,s)+parseInt(t.substr(r,s),i),this.consumed+=s}}stateNumericHex(t,r){let a=r;for(;r<t.length;){let i=t.charCodeAt(r);if(K1(i)||t6(i))r+=1;else return this.addToNumericResult(t,a,r,16),this.emitNumericEntity(i,3)}return this.addToNumericResult(t,a,r,16),-1}stateNumericDecimal(t,r){let a=r;for(;r<t.length;){let i=t.charCodeAt(r);if(K1(i))r+=1;else return this.addToNumericResult(t,a,r,10),this.emitNumericEntity(i,2)}return this.addToNumericResult(t,a,r,10),-1}emitNumericEntity(t,r){var a;if(this.consumed<=r)return(a=this.errors)===null||a===void 0||a.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===Yr.SEMI)this.consumed+=1;else if(this.decodeMode===Ms.Strict)return 0;return this.emitCodePoint(Y1(this.result),this.consumed),this.errors&&(t!==Yr.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,r){let{decodeTree:a}=this,i=a[this.treeIndex],s=(i&sn.VALUE_LENGTH)>>14;for(;r<t.length;r++,this.excess++){let o=t.charCodeAt(r);if(this.treeIndex=i6(a,i,this.treeIndex+Math.max(1,s),o),this.treeIndex<0)return this.result===0||this.decodeMode===Ms.Attribute&&(s===0||a6(o))?0:this.emitNotTerminatedNamedEntity();if(i=a[this.treeIndex],s=(i&sn.VALUE_LENGTH)>>14,s!==0){if(o===Yr.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==Ms.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;let{result:r,decodeTree:a}=this,i=(a[r]&sn.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,i,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,r,a){let{decodeTree:i}=this;return this.emitCodePoint(r===1?i[t]&~sn.VALUE_LENGTH:i[t+1],a),r===3&&this.emitCodePoint(i[t+2],a),a}end(){var t;switch(this.state){case Ur.NamedEntity:return this.result!==0&&(this.decodeMode!==Ms.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ur.NumericDecimal:return this.emitNumericEntity(0,2);case Ur.NumericHex:return this.emitNumericEntity(0,3);case Ur.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ur.EntityStart:return 0}}};function Db(e){let t="",r=new Lh(e,a=>t+=U1(a));return function(i,s){let o=0,n=0;for(;(n=i.indexOf("&",n))>=0;){t+=i.slice(o,n),r.startEntity(s);let u=r.write(i,n+1);if(u<0){o=n+r.end();break}o=n+u,n=u===0?o+1:o}let l=t+i.slice(o);return t="",l}}function i6(e,t,r,a){let i=(t&sn.BRANCH_LENGTH)>>7,s=t&sn.JUMP_TABLE;if(i===0)return s!==0&&a===s?r:-1;if(s){let l=a-s;return l<0||l>=i?-1:e[r+l]-1}let o=r,n=o+i-1;for(;o<=n;){let l=o+n>>>1,u=e[l];if(u<a)o=l+1;else if(u>a)n=l-1;else return e[l+i]}return-1}var mU=Db(Ib),AU=Db(Nb);function Oh(e){for(let t=1;t<e.length;t++)e[t][0]+=e[t-1][0]+1;return e}var s6=new Map(Oh([[9,"&Tab;"],[0,"&NewLine;"],[22,"&excl;"],[0,"&quot;"],[0,"&num;"],[0,"&dollar;"],[0,"&percnt;"],[0,"&amp;"],[0,"&apos;"],[0,"&lpar;"],[0,"&rpar;"],[0,"&ast;"],[0,"&plus;"],[0,"&comma;"],[1,"&period;"],[0,"&sol;"],[10,"&colon;"],[0,"&semi;"],[0,{v:"&lt;",n:8402,o:"&nvlt;"}],[0,{v:"&equals;",n:8421,o:"&bne;"}],[0,{v:"&gt;",n:8402,o:"&nvgt;"}],[0,"&quest;"],[0,"&commat;"],[26,"&lbrack;"],[0,"&bsol;"],[0,"&rbrack;"],[0,"&Hat;"],[0,"&lowbar;"],[0,"&DiacriticalGrave;"],[5,{n:106,o:"&fjlig;"}],[20,"&lbrace;"],[0,"&verbar;"],[0,"&rbrace;"],[34,"&nbsp;"],[0,"&iexcl;"],[0,"&cent;"],[0,"&pound;"],[0,"&curren;"],[0,"&yen;"],[0,"&brvbar;"],[0,"&sect;"],[0,"&die;"],[0,"&copy;"],[0,"&ordf;"],[0,"&laquo;"],[0,"&not;"],[0,"&shy;"],[0,"&circledR;"],[0,"&macr;"],[0,"&deg;"],[0,"&PlusMinus;"],[0,"&sup2;"],[0,"&sup3;"],[0,"&acute;"],[0,"&micro;"],[0,"&para;"],[0,"&centerdot;"],[0,"&cedil;"],[0,"&sup1;"],[0,"&ordm;"],[0,"&raquo;"],[0,"&frac14;"],[0,"&frac12;"],[0,"&frac34;"],[0,"&iquest;"],[0,"&Agrave;"],[0,"&Aacute;"],[0,"&Acirc;"],[0,"&Atilde;"],[0,"&Auml;"],[0,"&angst;"],[0,"&AElig;"],[0,"&Ccedil;"],[0,"&Egrave;"],[0,"&Eacute;"],[0,"&Ecirc;"],[0,"&Euml;"],[0,"&Igrave;"],[0,"&Iacute;"],[0,"&Icirc;"],[0,"&Iuml;"],[0,"&ETH;"],[0,"&Ntilde;"],[0,"&Ograve;"],[0,"&Oacute;"],[0,"&Ocirc;"],[0,"&Otilde;"],[0,"&Ouml;"],[0,"&times;"],[0,"&Oslash;"],[0,"&Ugrave;"],[0,"&Uacute;"],[0,"&Ucirc;"],[0,"&Uuml;"],[0,"&Yacute;"],[0,"&THORN;"],[0,"&szlig;"],[0,"&agrave;"],[0,"&aacute;"],[0,"&acirc;"],[0,"&atilde;"],[0,"&auml;"],[0,"&aring;"],[0,"&aelig;"],[0,"&ccedil;"],[0,"&egrave;"],[0,"&eacute;"],[0,"&ecirc;"],[0,"&euml;"],[0,"&igrave;"],[0,"&iacute;"],[0,"&icirc;"],[0,"&iuml;"],[0,"&eth;"],[0,"&ntilde;"],[0,"&ograve;"],[0,"&oacute;"],[0,"&ocirc;"],[0,"&otilde;"],[0,"&ouml;"],[0,"&div;"],[0,"&oslash;"],[0,"&ugrave;"],[0,"&uacute;"],[0,"&ucirc;"],[0,"&uuml;"],[0,"&yacute;"],[0,"&thorn;"],[0,"&yuml;"],[0,"&Amacr;"],[0,"&amacr;"],[0,"&Abreve;"],[0,"&abreve;"],[0,"&Aogon;"],[0,"&aogon;"],[0,"&Cacute;"],[0,"&cacute;"],[0,"&Ccirc;"],[0,"&ccirc;"],[0,"&Cdot;"],[0,"&cdot;"],[0,"&Ccaron;"],[0,"&ccaron;"],[0,"&Dcaron;"],[0,"&dcaron;"],[0,"&Dstrok;"],[0,"&dstrok;"],[0,"&Emacr;"],[0,"&emacr;"],[2,"&Edot;"],[0,"&edot;"],[0,"&Eogon;"],[0,"&eogon;"],[0,"&Ecaron;"],[0,"&ecaron;"],[0,"&Gcirc;"],[0,"&gcirc;"],[0,"&Gbreve;"],[0,"&gbreve;"],[0,"&Gdot;"],[0,"&gdot;"],[0,"&Gcedil;"],[1,"&Hcirc;"],[0,"&hcirc;"],[0,"&Hstrok;"],[0,"&hstrok;"],[0,"&Itilde;"],[0,"&itilde;"],[0,"&Imacr;"],[0,"&imacr;"],[2,"&Iogon;"],[0,"&iogon;"],[0,"&Idot;"],[0,"&imath;"],[0,"&IJlig;"],[0,"&ijlig;"],[0,"&Jcirc;"],[0,"&jcirc;"],[0,"&Kcedil;"],[0,"&kcedil;"],[0,"&kgreen;"],[0,"&Lacute;"],[0,"&lacute;"],[0,"&Lcedil;"],[0,"&lcedil;"],[0,"&Lcaron;"],[0,"&lcaron;"],[0,"&Lmidot;"],[0,"&lmidot;"],[0,"&Lstrok;"],[0,"&lstrok;"],[0,"&Nacute;"],[0,"&nacute;"],[0,"&Ncedil;"],[0,"&ncedil;"],[0,"&Ncaron;"],[0,"&ncaron;"],[0,"&napos;"],[0,"&ENG;"],[0,"&eng;"],[0,"&Omacr;"],[0,"&omacr;"],[2,"&Odblac;"],[0,"&odblac;"],[0,"&OElig;"],[0,"&oelig;"],[0,"&Racute;"],[0,"&racute;"],[0,"&Rcedil;"],[0,"&rcedil;"],[0,"&Rcaron;"],[0,"&rcaron;"],[0,"&Sacute;"],[0,"&sacute;"],[0,"&Scirc;"],[0,"&scirc;"],[0,"&Scedil;"],[0,"&scedil;"],[0,"&Scaron;"],[0,"&scaron;"],[0,"&Tcedil;"],[0,"&tcedil;"],[0,"&Tcaron;"],[0,"&tcaron;"],[0,"&Tstrok;"],[0,"&tstrok;"],[0,"&Utilde;"],[0,"&utilde;"],[0,"&Umacr;"],[0,"&umacr;"],[0,"&Ubreve;"],[0,"&ubreve;"],[0,"&Uring;"],[0,"&uring;"],[0,"&Udblac;"],[0,"&udblac;"],[0,"&Uogon;"],[0,"&uogon;"],[0,"&Wcirc;"],[0,"&wcirc;"],[0,"&Ycirc;"],[0,"&ycirc;"],[0,"&Yuml;"],[0,"&Zacute;"],[0,"&zacute;"],[0,"&Zdot;"],[0,"&zdot;"],[0,"&Zcaron;"],[0,"&zcaron;"],[19,"&fnof;"],[34,"&imped;"],[63,"&gacute;"],[65,"&jmath;"],[142,"&circ;"],[0,"&caron;"],[16,"&breve;"],[0,"&DiacriticalDot;"],[0,"&ring;"],[0,"&ogon;"],[0,"&DiacriticalTilde;"],[0,"&dblac;"],[51,"&DownBreve;"],[127,"&Alpha;"],[0,"&Beta;"],[0,"&Gamma;"],[0,"&Delta;"],[0,"&Epsilon;"],[0,"&Zeta;"],[0,"&Eta;"],[0,"&Theta;"],[0,"&Iota;"],[0,"&Kappa;"],[0,"&Lambda;"],[0,"&Mu;"],[0,"&Nu;"],[0,"&Xi;"],[0,"&Omicron;"],[0,"&Pi;"],[0,"&Rho;"],[1,"&Sigma;"],[0,"&Tau;"],[0,"&Upsilon;"],[0,"&Phi;"],[0,"&Chi;"],[0,"&Psi;"],[0,"&ohm;"],[7,"&alpha;"],[0,"&beta;"],[0,"&gamma;"],[0,"&delta;"],[0,"&epsi;"],[0,"&zeta;"],[0,"&eta;"],[0,"&theta;"],[0,"&iota;"],[0,"&kappa;"],[0,"&lambda;"],[0,"&mu;"],[0,"&nu;"],[0,"&xi;"],[0,"&omicron;"],[0,"&pi;"],[0,"&rho;"],[0,"&sigmaf;"],[0,"&sigma;"],[0,"&tau;"],[0,"&upsi;"],[0,"&phi;"],[0,"&chi;"],[0,"&psi;"],[0,"&omega;"],[7,"&thetasym;"],[0,"&Upsi;"],[2,"&phiv;"],[0,"&piv;"],[5,"&Gammad;"],[0,"&digamma;"],[18,"&kappav;"],[0,"&rhov;"],[3,"&epsiv;"],[0,"&backepsilon;"],[10,"&IOcy;"],[0,"&DJcy;"],[0,"&GJcy;"],[0,"&Jukcy;"],[0,"&DScy;"],[0,"&Iukcy;"],[0,"&YIcy;"],[0,"&Jsercy;"],[0,"&LJcy;"],[0,"&NJcy;"],[0,"&TSHcy;"],[0,"&KJcy;"],[1,"&Ubrcy;"],[0,"&DZcy;"],[0,"&Acy;"],[0,"&Bcy;"],[0,"&Vcy;"],[0,"&Gcy;"],[0,"&Dcy;"],[0,"&IEcy;"],[0,"&ZHcy;"],[0,"&Zcy;"],[0,"&Icy;"],[0,"&Jcy;"],[0,"&Kcy;"],[0,"&Lcy;"],[0,"&Mcy;"],[0,"&Ncy;"],[0,"&Ocy;"],[0,"&Pcy;"],[0,"&Rcy;"],[0,"&Scy;"],[0,"&Tcy;"],[0,"&Ucy;"],[0,"&Fcy;"],[0,"&KHcy;"],[0,"&TScy;"],[0,"&CHcy;"],[0,"&SHcy;"],[0,"&SHCHcy;"],[0,"&HARDcy;"],[0,"&Ycy;"],[0,"&SOFTcy;"],[0,"&Ecy;"],[0,"&YUcy;"],[0,"&YAcy;"],[0,"&acy;"],[0,"&bcy;"],[0,"&vcy;"],[0,"&gcy;"],[0,"&dcy;"],[0,"&iecy;"],[0,"&zhcy;"],[0,"&zcy;"],[0,"&icy;"],[0,"&jcy;"],[0,"&kcy;"],[0,"&lcy;"],[0,"&mcy;"],[0,"&ncy;"],[0,"&ocy;"],[0,"&pcy;"],[0,"&rcy;"],[0,"&scy;"],[0,"&tcy;"],[0,"&ucy;"],[0,"&fcy;"],[0,"&khcy;"],[0,"&tscy;"],[0,"&chcy;"],[0,"&shcy;"],[0,"&shchcy;"],[0,"&hardcy;"],[0,"&ycy;"],[0,"&softcy;"],[0,"&ecy;"],[0,"&yucy;"],[0,"&yacy;"],[1,"&iocy;"],[0,"&djcy;"],[0,"&gjcy;"],[0,"&jukcy;"],[0,"&dscy;"],[0,"&iukcy;"],[0,"&yicy;"],[0,"&jsercy;"],[0,"&ljcy;"],[0,"&njcy;"],[0,"&tshcy;"],[0,"&kjcy;"],[1,"&ubrcy;"],[0,"&dzcy;"],[7074,"&ensp;"],[0,"&emsp;"],[0,"&emsp13;"],[0,"&emsp14;"],[1,"&numsp;"],[0,"&puncsp;"],[0,"&ThinSpace;"],[0,"&hairsp;"],[0,"&NegativeMediumSpace;"],[0,"&zwnj;"],[0,"&zwj;"],[0,"&lrm;"],[0,"&rlm;"],[0,"&dash;"],[2,"&ndash;"],[0,"&mdash;"],[0,"&horbar;"],[0,"&Verbar;"],[1,"&lsquo;"],[0,"&CloseCurlyQuote;"],[0,"&lsquor;"],[1,"&ldquo;"],[0,"&CloseCurlyDoubleQuote;"],[0,"&bdquo;"],[1,"&dagger;"],[0,"&Dagger;"],[0,"&bull;"],[2,"&nldr;"],[0,"&hellip;"],[9,"&permil;"],[0,"&pertenk;"],[0,"&prime;"],[0,"&Prime;"],[0,"&tprime;"],[0,"&backprime;"],[3,"&lsaquo;"],[0,"&rsaquo;"],[3,"&oline;"],[2,"&caret;"],[1,"&hybull;"],[0,"&frasl;"],[10,"&bsemi;"],[7,"&qprime;"],[7,{v:"&MediumSpace;",n:8202,o:"&ThickSpace;"}],[0,"&NoBreak;"],[0,"&af;"],[0,"&InvisibleTimes;"],[0,"&ic;"],[72,"&euro;"],[46,"&tdot;"],[0,"&DotDot;"],[37,"&complexes;"],[2,"&incare;"],[4,"&gscr;"],[0,"&hamilt;"],[0,"&Hfr;"],[0,"&Hopf;"],[0,"&planckh;"],[0,"&hbar;"],[0,"&imagline;"],[0,"&Ifr;"],[0,"&lagran;"],[0,"&ell;"],[1,"&naturals;"],[0,"&numero;"],[0,"&copysr;"],[0,"&weierp;"],[0,"&Popf;"],[0,"&Qopf;"],[0,"&realine;"],[0,"&real;"],[0,"&reals;"],[0,"&rx;"],[3,"&trade;"],[1,"&integers;"],[2,"&mho;"],[0,"&zeetrf;"],[0,"&iiota;"],[2,"&bernou;"],[0,"&Cayleys;"],[1,"&escr;"],[0,"&Escr;"],[0,"&Fouriertrf;"],[1,"&Mellintrf;"],[0,"&order;"],[0,"&alefsym;"],[0,"&beth;"],[0,"&gimel;"],[0,"&daleth;"],[12,"&CapitalDifferentialD;"],[0,"&dd;"],[0,"&ee;"],[0,"&ii;"],[10,"&frac13;"],[0,"&frac23;"],[0,"&frac15;"],[0,"&frac25;"],[0,"&frac35;"],[0,"&frac45;"],[0,"&frac16;"],[0,"&frac56;"],[0,"&frac18;"],[0,"&frac38;"],[0,"&frac58;"],[0,"&frac78;"],[49,"&larr;"],[0,"&ShortUpArrow;"],[0,"&rarr;"],[0,"&darr;"],[0,"&harr;"],[0,"&updownarrow;"],[0,"&nwarr;"],[0,"&nearr;"],[0,"&LowerRightArrow;"],[0,"&LowerLeftArrow;"],[0,"&nlarr;"],[0,"&nrarr;"],[1,{v:"&rarrw;",n:824,o:"&nrarrw;"}],[0,"&Larr;"],[0,"&Uarr;"],[0,"&Rarr;"],[0,"&Darr;"],[0,"&larrtl;"],[0,"&rarrtl;"],[0,"&LeftTeeArrow;"],[0,"&mapstoup;"],[0,"&map;"],[0,"&DownTeeArrow;"],[1,"&hookleftarrow;"],[0,"&hookrightarrow;"],[0,"&larrlp;"],[0,"&looparrowright;"],[0,"&harrw;"],[0,"&nharr;"],[1,"&lsh;"],[0,"&rsh;"],[0,"&ldsh;"],[0,"&rdsh;"],[1,"&crarr;"],[0,"&cularr;"],[0,"&curarr;"],[2,"&circlearrowleft;"],[0,"&circlearrowright;"],[0,"&leftharpoonup;"],[0,"&DownLeftVector;"],[0,"&RightUpVector;"],[0,"&LeftUpVector;"],[0,"&rharu;"],[0,"&DownRightVector;"],[0,"&dharr;"],[0,"&dharl;"],[0,"&RightArrowLeftArrow;"],[0,"&udarr;"],[0,"&LeftArrowRightArrow;"],[0,"&leftleftarrows;"],[0,"&upuparrows;"],[0,"&rightrightarrows;"],[0,"&ddarr;"],[0,"&leftrightharpoons;"],[0,"&Equilibrium;"],[0,"&nlArr;"],[0,"&nhArr;"],[0,"&nrArr;"],[0,"&DoubleLeftArrow;"],[0,"&DoubleUpArrow;"],[0,"&DoubleRightArrow;"],[0,"&dArr;"],[0,"&DoubleLeftRightArrow;"],[0,"&DoubleUpDownArrow;"],[0,"&nwArr;"],[0,"&neArr;"],[0,"&seArr;"],[0,"&swArr;"],[0,"&lAarr;"],[0,"&rAarr;"],[1,"&zigrarr;"],[6,"&larrb;"],[0,"&rarrb;"],[15,"&DownArrowUpArrow;"],[7,"&loarr;"],[0,"&roarr;"],[0,"&hoarr;"],[0,"&forall;"],[0,"&comp;"],[0,{v:"&part;",n:824,o:"&npart;"}],[0,"&exist;"],[0,"&nexist;"],[0,"&empty;"],[1,"&Del;"],[0,"&Element;"],[0,"&NotElement;"],[1,"&ni;"],[0,"&notni;"],[2,"&prod;"],[0,"&coprod;"],[0,"&sum;"],[0,"&minus;"],[0,"&MinusPlus;"],[0,"&dotplus;"],[1,"&Backslash;"],[0,"&lowast;"],[0,"&compfn;"],[1,"&radic;"],[2,"&prop;"],[0,"&infin;"],[0,"&angrt;"],[0,{v:"&ang;",n:8402,o:"&nang;"}],[0,"&angmsd;"],[0,"&angsph;"],[0,"&mid;"],[0,"&nmid;"],[0,"&DoubleVerticalBar;"],[0,"&NotDoubleVerticalBar;"],[0,"&and;"],[0,"&or;"],[0,{v:"&cap;",n:65024,o:"&caps;"}],[0,{v:"&cup;",n:65024,o:"&cups;"}],[0,"&int;"],[0,"&Int;"],[0,"&iiint;"],[0,"&conint;"],[0,"&Conint;"],[0,"&Cconint;"],[0,"&cwint;"],[0,"&ClockwiseContourIntegral;"],[0,"&awconint;"],[0,"&there4;"],[0,"&becaus;"],[0,"&ratio;"],[0,"&Colon;"],[0,"&dotminus;"],[1,"&mDDot;"],[0,"&homtht;"],[0,{v:"&sim;",n:8402,o:"&nvsim;"}],[0,{v:"&backsim;",n:817,o:"&race;"}],[0,{v:"&ac;",n:819,o:"&acE;"}],[0,"&acd;"],[0,"&VerticalTilde;"],[0,"&NotTilde;"],[0,{v:"&eqsim;",n:824,o:"&nesim;"}],[0,"&sime;"],[0,"&NotTildeEqual;"],[0,"&cong;"],[0,"&simne;"],[0,"&ncong;"],[0,"&ap;"],[0,"&nap;"],[0,"&ape;"],[0,{v:"&apid;",n:824,o:"&napid;"}],[0,"&backcong;"],[0,{v:"&asympeq;",n:8402,o:"&nvap;"}],[0,{v:"&bump;",n:824,o:"&nbump;"}],[0,{v:"&bumpe;",n:824,o:"&nbumpe;"}],[0,{v:"&doteq;",n:824,o:"&nedot;"}],[0,"&doteqdot;"],[0,"&efDot;"],[0,"&erDot;"],[0,"&Assign;"],[0,"&ecolon;"],[0,"&ecir;"],[0,"&circeq;"],[1,"&wedgeq;"],[0,"&veeeq;"],[1,"&triangleq;"],[2,"&equest;"],[0,"&ne;"],[0,{v:"&Congruent;",n:8421,o:"&bnequiv;"}],[0,"&nequiv;"],[1,{v:"&le;",n:8402,o:"&nvle;"}],[0,{v:"&ge;",n:8402,o:"&nvge;"}],[0,{v:"&lE;",n:824,o:"&nlE;"}],[0,{v:"&gE;",n:824,o:"&ngE;"}],[0,{v:"&lnE;",n:65024,o:"&lvertneqq;"}],[0,{v:"&gnE;",n:65024,o:"&gvertneqq;"}],[0,{v:"&ll;",n:new Map(Oh([[824,"&nLtv;"],[7577,"&nLt;"]]))}],[0,{v:"&gg;",n:new Map(Oh([[824,"&nGtv;"],[7577,"&nGt;"]]))}],[0,"&between;"],[0,"&NotCupCap;"],[0,"&nless;"],[0,"&ngt;"],[0,"&nle;"],[0,"&nge;"],[0,"&lesssim;"],[0,"&GreaterTilde;"],[0,"&nlsim;"],[0,"&ngsim;"],[0,"&LessGreater;"],[0,"&gl;"],[0,"&NotLessGreater;"],[0,"&NotGreaterLess;"],[0,"&pr;"],[0,"&sc;"],[0,"&prcue;"],[0,"&sccue;"],[0,"&PrecedesTilde;"],[0,{v:"&scsim;",n:824,o:"&NotSucceedsTilde;"}],[0,"&NotPrecedes;"],[0,"&NotSucceeds;"],[0,{v:"&sub;",n:8402,o:"&NotSubset;"}],[0,{v:"&sup;",n:8402,o:"&NotSuperset;"}],[0,"&nsub;"],[0,"&nsup;"],[0,"&sube;"],[0,"&supe;"],[0,"&NotSubsetEqual;"],[0,"&NotSupersetEqual;"],[0,{v:"&subne;",n:65024,o:"&varsubsetneq;"}],[0,{v:"&supne;",n:65024,o:"&varsupsetneq;"}],[1,"&cupdot;"],[0,"&UnionPlus;"],[0,{v:"&sqsub;",n:824,o:"&NotSquareSubset;"}],[0,{v:"&sqsup;",n:824,o:"&NotSquareSuperset;"}],[0,"&sqsube;"],[0,"&sqsupe;"],[0,{v:"&sqcap;",n:65024,o:"&sqcaps;"}],[0,{v:"&sqcup;",n:65024,o:"&sqcups;"}],[0,"&CirclePlus;"],[0,"&CircleMinus;"],[0,"&CircleTimes;"],[0,"&osol;"],[0,"&CircleDot;"],[0,"&circledcirc;"],[0,"&circledast;"],[1,"&circleddash;"],[0,"&boxplus;"],[0,"&boxminus;"],[0,"&boxtimes;"],[0,"&dotsquare;"],[0,"&RightTee;"],[0,"&dashv;"],[0,"&DownTee;"],[0,"&bot;"],[1,"&models;"],[0,"&DoubleRightTee;"],[0,"&Vdash;"],[0,"&Vvdash;"],[0,"&VDash;"],[0,"&nvdash;"],[0,"&nvDash;"],[0,"&nVdash;"],[0,"&nVDash;"],[0,"&prurel;"],[1,"&LeftTriangle;"],[0,"&RightTriangle;"],[0,{v:"&LeftTriangleEqual;",n:8402,o:"&nvltrie;"}],[0,{v:"&RightTriangleEqual;",n:8402,o:"&nvrtrie;"}],[0,"&origof;"],[0,"&imof;"],[0,"&multimap;"],[0,"&hercon;"],[0,"&intcal;"],[0,"&veebar;"],[1,"&barvee;"],[0,"&angrtvb;"],[0,"&lrtri;"],[0,"&bigwedge;"],[0,"&bigvee;"],[0,"&bigcap;"],[0,"&bigcup;"],[0,"&diam;"],[0,"&sdot;"],[0,"&sstarf;"],[0,"&divideontimes;"],[0,"&bowtie;"],[0,"&ltimes;"],[0,"&rtimes;"],[0,"&leftthreetimes;"],[0,"&rightthreetimes;"],[0,"&backsimeq;"],[0,"&curlyvee;"],[0,"&curlywedge;"],[0,"&Sub;"],[0,"&Sup;"],[0,"&Cap;"],[0,"&Cup;"],[0,"&fork;"],[0,"&epar;"],[0,"&lessdot;"],[0,"&gtdot;"],[0,{v:"&Ll;",n:824,o:"&nLl;"}],[0,{v:"&Gg;",n:824,o:"&nGg;"}],[0,{v:"&leg;",n:65024,o:"&lesg;"}],[0,{v:"&gel;",n:65024,o:"&gesl;"}],[2,"&cuepr;"],[0,"&cuesc;"],[0,"&NotPrecedesSlantEqual;"],[0,"&NotSucceedsSlantEqual;"],[0,"&NotSquareSubsetEqual;"],[0,"&NotSquareSupersetEqual;"],[2,"&lnsim;"],[0,"&gnsim;"],[0,"&precnsim;"],[0,"&scnsim;"],[0,"&nltri;"],[0,"&NotRightTriangle;"],[0,"&nltrie;"],[0,"&NotRightTriangleEqual;"],[0,"&vellip;"],[0,"&ctdot;"],[0,"&utdot;"],[0,"&dtdot;"],[0,"&disin;"],[0,"&isinsv;"],[0,"&isins;"],[0,{v:"&isindot;",n:824,o:"&notindot;"}],[0,"&notinvc;"],[0,"&notinvb;"],[1,{v:"&isinE;",n:824,o:"&notinE;"}],[0,"&nisd;"],[0,"&xnis;"],[0,"&nis;"],[0,"&notnivc;"],[0,"&notnivb;"],[6,"&barwed;"],[0,"&Barwed;"],[1,"&lceil;"],[0,"&rceil;"],[0,"&LeftFloor;"],[0,"&rfloor;"],[0,"&drcrop;"],[0,"&dlcrop;"],[0,"&urcrop;"],[0,"&ulcrop;"],[0,"&bnot;"],[1,"&profline;"],[0,"&profsurf;"],[1,"&telrec;"],[0,"&target;"],[5,"&ulcorn;"],[0,"&urcorn;"],[0,"&dlcorn;"],[0,"&drcorn;"],[2,"&frown;"],[0,"&smile;"],[9,"&cylcty;"],[0,"&profalar;"],[7,"&topbot;"],[6,"&ovbar;"],[1,"&solbar;"],[60,"&angzarr;"],[51,"&lmoustache;"],[0,"&rmoustache;"],[2,"&OverBracket;"],[0,"&bbrk;"],[0,"&bbrktbrk;"],[37,"&OverParenthesis;"],[0,"&UnderParenthesis;"],[0,"&OverBrace;"],[0,"&UnderBrace;"],[2,"&trpezium;"],[4,"&elinters;"],[59,"&blank;"],[164,"&circledS;"],[55,"&boxh;"],[1,"&boxv;"],[9,"&boxdr;"],[3,"&boxdl;"],[3,"&boxur;"],[3,"&boxul;"],[3,"&boxvr;"],[7,"&boxvl;"],[7,"&boxhd;"],[7,"&boxhu;"],[7,"&boxvh;"],[19,"&boxH;"],[0,"&boxV;"],[0,"&boxdR;"],[0,"&boxDr;"],[0,"&boxDR;"],[0,"&boxdL;"],[0,"&boxDl;"],[0,"&boxDL;"],[0,"&boxuR;"],[0,"&boxUr;"],[0,"&boxUR;"],[0,"&boxuL;"],[0,"&boxUl;"],[0,"&boxUL;"],[0,"&boxvR;"],[0,"&boxVr;"],[0,"&boxVR;"],[0,"&boxvL;"],[0,"&boxVl;"],[0,"&boxVL;"],[0,"&boxHd;"],[0,"&boxhD;"],[0,"&boxHD;"],[0,"&boxHu;"],[0,"&boxhU;"],[0,"&boxHU;"],[0,"&boxvH;"],[0,"&boxVh;"],[0,"&boxVH;"],[19,"&uhblk;"],[3,"&lhblk;"],[3,"&block;"],[8,"&blk14;"],[0,"&blk12;"],[0,"&blk34;"],[13,"&square;"],[8,"&blacksquare;"],[0,"&EmptyVerySmallSquare;"],[1,"&rect;"],[0,"&marker;"],[2,"&fltns;"],[1,"&bigtriangleup;"],[0,"&blacktriangle;"],[0,"&triangle;"],[2,"&blacktriangleright;"],[0,"&rtri;"],[3,"&bigtriangledown;"],[0,"&blacktriangledown;"],[0,"&dtri;"],[2,"&blacktriangleleft;"],[0,"&ltri;"],[6,"&loz;"],[0,"&cir;"],[32,"&tridot;"],[2,"&bigcirc;"],[8,"&ultri;"],[0,"&urtri;"],[0,"&lltri;"],[0,"&EmptySmallSquare;"],[0,"&FilledSmallSquare;"],[8,"&bigstar;"],[0,"&star;"],[7,"&phone;"],[49,"&female;"],[1,"&male;"],[29,"&spades;"],[2,"&clubs;"],[1,"&hearts;"],[0,"&diamondsuit;"],[3,"&sung;"],[2,"&flat;"],[0,"&natural;"],[0,"&sharp;"],[163,"&check;"],[3,"&cross;"],[8,"&malt;"],[21,"&sext;"],[33,"&VerticalSeparator;"],[25,"&lbbrk;"],[0,"&rbbrk;"],[84,"&bsolhsub;"],[0,"&suphsol;"],[28,"&LeftDoubleBracket;"],[0,"&RightDoubleBracket;"],[0,"&lang;"],[0,"&rang;"],[0,"&Lang;"],[0,"&Rang;"],[0,"&loang;"],[0,"&roang;"],[7,"&longleftarrow;"],[0,"&longrightarrow;"],[0,"&longleftrightarrow;"],[0,"&DoubleLongLeftArrow;"],[0,"&DoubleLongRightArrow;"],[0,"&DoubleLongLeftRightArrow;"],[1,"&longmapsto;"],[2,"&dzigrarr;"],[258,"&nvlArr;"],[0,"&nvrArr;"],[0,"&nvHarr;"],[0,"&Map;"],[6,"&lbarr;"],[0,"&bkarow;"],[0,"&lBarr;"],[0,"&dbkarow;"],[0,"&drbkarow;"],[0,"&DDotrahd;"],[0,"&UpArrowBar;"],[0,"&DownArrowBar;"],[2,"&Rarrtl;"],[2,"&latail;"],[0,"&ratail;"],[0,"&lAtail;"],[0,"&rAtail;"],[0,"&larrfs;"],[0,"&rarrfs;"],[0,"&larrbfs;"],[0,"&rarrbfs;"],[2,"&nwarhk;"],[0,"&nearhk;"],[0,"&hksearow;"],[0,"&hkswarow;"],[0,"&nwnear;"],[0,"&nesear;"],[0,"&seswar;"],[0,"&swnwar;"],[8,{v:"&rarrc;",n:824,o:"&nrarrc;"}],[1,"&cudarrr;"],[0,"&ldca;"],[0,"&rdca;"],[0,"&cudarrl;"],[0,"&larrpl;"],[2,"&curarrm;"],[0,"&cularrp;"],[7,"&rarrpl;"],[2,"&harrcir;"],[0,"&Uarrocir;"],[0,"&lurdshar;"],[0,"&ldrushar;"],[2,"&LeftRightVector;"],[0,"&RightUpDownVector;"],[0,"&DownLeftRightVector;"],[0,"&LeftUpDownVector;"],[0,"&LeftVectorBar;"],[0,"&RightVectorBar;"],[0,"&RightUpVectorBar;"],[0,"&RightDownVectorBar;"],[0,"&DownLeftVectorBar;"],[0,"&DownRightVectorBar;"],[0,"&LeftUpVectorBar;"],[0,"&LeftDownVectorBar;"],[0,"&LeftTeeVector;"],[0,"&RightTeeVector;"],[0,"&RightUpTeeVector;"],[0,"&RightDownTeeVector;"],[0,"&DownLeftTeeVector;"],[0,"&DownRightTeeVector;"],[0,"&LeftUpTeeVector;"],[0,"&LeftDownTeeVector;"],[0,"&lHar;"],[0,"&uHar;"],[0,"&rHar;"],[0,"&dHar;"],[0,"&luruhar;"],[0,"&ldrdhar;"],[0,"&ruluhar;"],[0,"&rdldhar;"],[0,"&lharul;"],[0,"&llhard;"],[0,"&rharul;"],[0,"&lrhard;"],[0,"&udhar;"],[0,"&duhar;"],[0,"&RoundImplies;"],[0,"&erarr;"],[0,"&simrarr;"],[0,"&larrsim;"],[0,"&rarrsim;"],[0,"&rarrap;"],[0,"&ltlarr;"],[1,"&gtrarr;"],[0,"&subrarr;"],[1,"&suplarr;"],[0,"&lfisht;"],[0,"&rfisht;"],[0,"&ufisht;"],[0,"&dfisht;"],[5,"&lopar;"],[0,"&ropar;"],[4,"&lbrke;"],[0,"&rbrke;"],[0,"&lbrkslu;"],[0,"&rbrksld;"],[0,"&lbrksld;"],[0,"&rbrkslu;"],[0,"&langd;"],[0,"&rangd;"],[0,"&lparlt;"],[0,"&rpargt;"],[0,"&gtlPar;"],[0,"&ltrPar;"],[3,"&vzigzag;"],[1,"&vangrt;"],[0,"&angrtvbd;"],[6,"&ange;"],[0,"&range;"],[0,"&dwangle;"],[0,"&uwangle;"],[0,"&angmsdaa;"],[0,"&angmsdab;"],[0,"&angmsdac;"],[0,"&angmsdad;"],[0,"&angmsdae;"],[0,"&angmsdaf;"],[0,"&angmsdag;"],[0,"&angmsdah;"],[0,"&bemptyv;"],[0,"&demptyv;"],[0,"&cemptyv;"],[0,"&raemptyv;"],[0,"&laemptyv;"],[0,"&ohbar;"],[0,"&omid;"],[0,"&opar;"],[1,"&operp;"],[1,"&olcross;"],[0,"&odsold;"],[1,"&olcir;"],[0,"&ofcir;"],[0,"&olt;"],[0,"&ogt;"],[0,"&cirscir;"],[0,"&cirE;"],[0,"&solb;"],[0,"&bsolb;"],[3,"&boxbox;"],[3,"&trisb;"],[0,"&rtriltri;"],[0,{v:"&LeftTriangleBar;",n:824,o:"&NotLeftTriangleBar;"}],[0,{v:"&RightTriangleBar;",n:824,o:"&NotRightTriangleBar;"}],[11,"&iinfin;"],[0,"&infintie;"],[0,"&nvinfin;"],[4,"&eparsl;"],[0,"&smeparsl;"],[0,"&eqvparsl;"],[5,"&blacklozenge;"],[8,"&RuleDelayed;"],[1,"&dsol;"],[9,"&bigodot;"],[0,"&bigoplus;"],[0,"&bigotimes;"],[1,"&biguplus;"],[1,"&bigsqcup;"],[5,"&iiiint;"],[0,"&fpartint;"],[2,"&cirfnint;"],[0,"&awint;"],[0,"&rppolint;"],[0,"&scpolint;"],[0,"&npolint;"],[0,"&pointint;"],[0,"&quatint;"],[0,"&intlarhk;"],[10,"&pluscir;"],[0,"&plusacir;"],[0,"&simplus;"],[0,"&plusdu;"],[0,"&plussim;"],[0,"&plustwo;"],[1,"&mcomma;"],[0,"&minusdu;"],[2,"&loplus;"],[0,"&roplus;"],[0,"&Cross;"],[0,"&timesd;"],[0,"&timesbar;"],[1,"&smashp;"],[0,"&lotimes;"],[0,"&rotimes;"],[0,"&otimesas;"],[0,"&Otimes;"],[0,"&odiv;"],[0,"&triplus;"],[0,"&triminus;"],[0,"&tritime;"],[0,"&intprod;"],[2,"&amalg;"],[0,"&capdot;"],[1,"&ncup;"],[0,"&ncap;"],[0,"&capand;"],[0,"&cupor;"],[0,"&cupcap;"],[0,"&capcup;"],[0,"&cupbrcap;"],[0,"&capbrcup;"],[0,"&cupcup;"],[0,"&capcap;"],[0,"&ccups;"],[0,"&ccaps;"],[2,"&ccupssm;"],[2,"&And;"],[0,"&Or;"],[0,"&andand;"],[0,"&oror;"],[0,"&orslope;"],[0,"&andslope;"],[1,"&andv;"],[0,"&orv;"],[0,"&andd;"],[0,"&ord;"],[1,"&wedbar;"],[6,"&sdote;"],[3,"&simdot;"],[2,{v:"&congdot;",n:824,o:"&ncongdot;"}],[0,"&easter;"],[0,"&apacir;"],[0,{v:"&apE;",n:824,o:"&napE;"}],[0,"&eplus;"],[0,"&pluse;"],[0,"&Esim;"],[0,"&Colone;"],[0,"&Equal;"],[1,"&ddotseq;"],[0,"&equivDD;"],[0,"&ltcir;"],[0,"&gtcir;"],[0,"&ltquest;"],[0,"&gtquest;"],[0,{v:"&leqslant;",n:824,o:"&nleqslant;"}],[0,{v:"&geqslant;",n:824,o:"&ngeqslant;"}],[0,"&lesdot;"],[0,"&gesdot;"],[0,"&lesdoto;"],[0,"&gesdoto;"],[0,"&lesdotor;"],[0,"&gesdotol;"],[0,"&lap;"],[0,"&gap;"],[0,"&lne;"],[0,"&gne;"],[0,"&lnap;"],[0,"&gnap;"],[0,"&lEg;"],[0,"&gEl;"],[0,"&lsime;"],[0,"&gsime;"],[0,"&lsimg;"],[0,"&gsiml;"],[0,"&lgE;"],[0,"&glE;"],[0,"&lesges;"],[0,"&gesles;"],[0,"&els;"],[0,"&egs;"],[0,"&elsdot;"],[0,"&egsdot;"],[0,"&el;"],[0,"&eg;"],[2,"&siml;"],[0,"&simg;"],[0,"&simlE;"],[0,"&simgE;"],[0,{v:"&LessLess;",n:824,o:"&NotNestedLessLess;"}],[0,{v:"&GreaterGreater;",n:824,o:"&NotNestedGreaterGreater;"}],[1,"&glj;"],[0,"&gla;"],[0,"&ltcc;"],[0,"&gtcc;"],[0,"&lescc;"],[0,"&gescc;"],[0,"&smt;"],[0,"&lat;"],[0,{v:"&smte;",n:65024,o:"&smtes;"}],[0,{v:"&late;",n:65024,o:"&lates;"}],[0,"&bumpE;"],[0,{v:"&PrecedesEqual;",n:824,o:"&NotPrecedesEqual;"}],[0,{v:"&sce;",n:824,o:"&NotSucceedsEqual;"}],[2,"&prE;"],[0,"&scE;"],[0,"&precneqq;"],[0,"&scnE;"],[0,"&prap;"],[0,"&scap;"],[0,"&precnapprox;"],[0,"&scnap;"],[0,"&Pr;"],[0,"&Sc;"],[0,"&subdot;"],[0,"&supdot;"],[0,"&subplus;"],[0,"&supplus;"],[0,"&submult;"],[0,"&supmult;"],[0,"&subedot;"],[0,"&supedot;"],[0,{v:"&subE;",n:824,o:"&nsubE;"}],[0,{v:"&supE;",n:824,o:"&nsupE;"}],[0,"&subsim;"],[0,"&supsim;"],[2,{v:"&subnE;",n:65024,o:"&varsubsetneqq;"}],[0,{v:"&supnE;",n:65024,o:"&varsupsetneqq;"}],[2,"&csub;"],[0,"&csup;"],[0,"&csube;"],[0,"&csupe;"],[0,"&subsup;"],[0,"&supsub;"],[0,"&subsub;"],[0,"&supsup;"],[0,"&suphsub;"],[0,"&supdsub;"],[0,"&forkv;"],[0,"&topfork;"],[0,"&mlcp;"],[8,"&Dashv;"],[1,"&Vdashl;"],[0,"&Barv;"],[0,"&vBar;"],[0,"&vBarv;"],[1,"&Vbar;"],[0,"&Not;"],[0,"&bNot;"],[0,"&rnmid;"],[0,"&cirmid;"],[0,"&midcir;"],[0,"&topcir;"],[0,"&nhpar;"],[0,"&parsim;"],[9,{v:"&parsl;",n:8421,o:"&nparsl;"}],[44343,{n:new Map(Oh([[56476,"&Ascr;"],[1,"&Cscr;"],[0,"&Dscr;"],[2,"&Gscr;"],[2,"&Jscr;"],[0,"&Kscr;"],[2,"&Nscr;"],[0,"&Oscr;"],[0,"&Pscr;"],[0,"&Qscr;"],[1,"&Sscr;"],[0,"&Tscr;"],[0,"&Uscr;"],[0,"&Vscr;"],[0,"&Wscr;"],[0,"&Xscr;"],[0,"&Yscr;"],[0,"&Zscr;"],[0,"&ascr;"],[0,"&bscr;"],[0,"&cscr;"],[0,"&dscr;"],[1,"&fscr;"],[1,"&hscr;"],[0,"&iscr;"],[0,"&jscr;"],[0,"&kscr;"],[0,"&lscr;"],[0,"&mscr;"],[0,"&nscr;"],[1,"&pscr;"],[0,"&qscr;"],[0,"&rscr;"],[0,"&sscr;"],[0,"&tscr;"],[0,"&uscr;"],[0,"&vscr;"],[0,"&wscr;"],[0,"&xscr;"],[0,"&yscr;"],[0,"&zscr;"],[52,"&Afr;"],[0,"&Bfr;"],[1,"&Dfr;"],[0,"&Efr;"],[0,"&Ffr;"],[0,"&Gfr;"],[2,"&Jfr;"],[0,"&Kfr;"],[0,"&Lfr;"],[0,"&Mfr;"],[0,"&Nfr;"],[0,"&Ofr;"],[0,"&Pfr;"],[0,"&Qfr;"],[1,"&Sfr;"],[0,"&Tfr;"],[0,"&Ufr;"],[0,"&Vfr;"],[0,"&Wfr;"],[0,"&Xfr;"],[0,"&Yfr;"],[1,"&afr;"],[0,"&bfr;"],[0,"&cfr;"],[0,"&dfr;"],[0,"&efr;"],[0,"&ffr;"],[0,"&gfr;"],[0,"&hfr;"],[0,"&ifr;"],[0,"&jfr;"],[0,"&kfr;"],[0,"&lfr;"],[0,"&mfr;"],[0,"&nfr;"],[0,"&ofr;"],[0,"&pfr;"],[0,"&qfr;"],[0,"&rfr;"],[0,"&sfr;"],[0,"&tfr;"],[0,"&ufr;"],[0,"&vfr;"],[0,"&wfr;"],[0,"&xfr;"],[0,"&yfr;"],[0,"&zfr;"],[0,"&Aopf;"],[0,"&Bopf;"],[1,"&Dopf;"],[0,"&Eopf;"],[0,"&Fopf;"],[0,"&Gopf;"],[1,"&Iopf;"],[0,"&Jopf;"],[0,"&Kopf;"],[0,"&Lopf;"],[0,"&Mopf;"],[1,"&Oopf;"],[3,"&Sopf;"],[0,"&Topf;"],[0,"&Uopf;"],[0,"&Vopf;"],[0,"&Wopf;"],[0,"&Xopf;"],[0,"&Yopf;"],[1,"&aopf;"],[0,"&bopf;"],[0,"&copf;"],[0,"&dopf;"],[0,"&eopf;"],[0,"&fopf;"],[0,"&gopf;"],[0,"&hopf;"],[0,"&iopf;"],[0,"&jopf;"],[0,"&kopf;"],[0,"&lopf;"],[0,"&mopf;"],[0,"&nopf;"],[0,"&oopf;"],[0,"&popf;"],[0,"&qopf;"],[0,"&ropf;"],[0,"&sopf;"],[0,"&topf;"],[0,"&uopf;"],[0,"&vopf;"],[0,"&wopf;"],[0,"&xopf;"],[0,"&yopf;"],[0,"&zopf;"]]))}],[8906,"&fflig;"],[0,"&filig;"],[0,"&fllig;"],[0,"&ffilig;"],[0,"&ffllig;"]]));var q1=/["&'<>$\x80-\uFFFF]/g,Rb=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]),_b=String.prototype.codePointAt!=null?(e,t)=>e.codePointAt(t):(e,t)=>(e.charCodeAt(t)&64512)===55296?(e.charCodeAt(t)-55296)*1024+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t);function mu(e){let t="",r=0,a;for(;(a=q1.exec(e))!==null;){let i=a.index,s=e.charCodeAt(i),o=Rb.get(s);o!==void 0?(t+=e.substring(r,i)+o,r=i+1):(t+=`${e.substring(r,i)}&#x${_b(e,i).toString(16)};`,r=q1.lastIndex+=+((s&64512)===55296))}return t+e.substr(r)}function z1(e,t){return function(a){let i,s=0,o="";for(;i=e.exec(a);)s!==i.index&&(o+=a.substring(s,i.index)),o+=t.get(i[0].charCodeAt(0)),s=i.index+1;return o+a.substring(s)}}var Lb=z1(/[&<>'"]/g,Rb),Bh=z1(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),Fh=z1(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));var Ob;(function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"})(Ob||(Ob={}));var Bb;(function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"})(Bb||(Bb={}));var Hb=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),Pb=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e]));var o6=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function l6(e){return e.replace(/"/g,"&quot;")}function u6(e,t){var r;if(!e)return;let a=((r=t.encodeEntities)!==null&&r!==void 0?r:t.decodeEntities)===!1?l6:t.xmlMode||t.encodeEntities!=="utf8"?mu:Bh;return Object.keys(e).map(i=>{var s,o;let n=(s=e[i])!==null&&s!==void 0?s:"";return t.xmlMode==="foreign"&&(i=(o=Pb.get(i))!==null&&o!==void 0?o:i),!t.emptyAttrs&&!t.xmlMode&&n===""?i:`${i}="${a(n)}"`}).join(" ")}var Gb=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function j1(e,t={}){let r="length"in e?e:[e],a="";for(let i=0;i<r.length;i++)a+=c6(r[i],t);return a}var Ub=j1;function c6(e,t){switch(e.type){case N1:return j1(e.children,t);case W1:case R1:return p6(e);case _1:return A6(e);case F1:return m6(e);case L1:case O1:case B1:return f6(e,t);case D1:return g6(e,t)}}var h6=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),d6=new Set(["svg","math"]);function f6(e,t){var r;t.xmlMode==="foreign"&&(e.name=(r=Hb.get(e.name))!==null&&r!==void 0?r:e.name,e.parent&&h6.has(e.parent.name)&&(t={...t,xmlMode:!1})),!t.xmlMode&&d6.has(e.name)&&(t={...t,xmlMode:"foreign"});let a=`<${e.name}`,i=u6(e.attribs,t);return i&&(a+=` ${i}`),e.children.length===0&&(t.xmlMode?t.selfClosingTags!==!1:t.selfClosingTags&&Gb.has(e.name))?(t.xmlMode||(a+=" "),a+="/>"):(a+=">",e.children.length>0&&(a+=j1(e.children,t)),(t.xmlMode||!Gb.has(e.name))&&(a+=`</${e.name}>`)),a}function p6(e){return`<${e.data}>`}function g6(e,t){var r;let a=e.data||"";return((r=t.encodeEntities)!==null&&r!==void 0?r:t.decodeEntities)!==!1&&!(!t.xmlMode&&e.parent&&o6.has(e.parent.name))&&(a=t.xmlMode||t.encodeEntities!=="utf8"?mu(a):Fh(a)),a}function m6(e){return`<![CDATA[${e.children[0].data}]]>`}function A6(e){return`<!--${e.data}-->`}function Yb(e,t){return Ub(e,t)}function b6(e,t){return sa(e)?e.children.map(r=>Yb(r,t)).join(""):""}function Wh(e){return Array.isArray(e)?e.map(Wh).join(""):Gr(e)?e.name==="br"?`
156
+ `:Wh(e.children):Po(e)?Wh(e.children):Vi(e)?e.data:""}function Au(e){return Array.isArray(e)?e.map(Au).join(""):sa(e)&&!gu(e)?Au(e.children):Vi(e)?e.data:""}function X1(e){return Array.isArray(e)?e.map(X1).join(""):sa(e)&&(e.type===Ft.Tag||Po(e))?X1(e.children):Vi(e)?e.data:""}function Kb(e){return sa(e)?e.children:[]}function qb(e){return e.parent||null}function y6(e){let t=qb(e);if(t!=null)return Kb(t);let r=[e],{prev:a,next:i}=e;for(;a!=null;)r.unshift(a),{prev:a}=a;for(;i!=null;)r.push(i),{next:i}=i;return r}function x6(e,t){var r;return(r=e.attribs)===null||r===void 0?void 0:r[t]}function w6(e,t){return e.attribs!=null&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&e.attribs[t]!=null}function S6(e){return e.name}function E6(e){let{next:t}=e;for(;t!==null&&!Gr(t);)({next:t}=t);return t}function C6(e){let{prev:t}=e;for(;t!==null&&!Gr(t);)({prev:t}=t);return t}function bu(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){let t=e.parent.children,r=t.lastIndexOf(e);r>=0&&t.splice(r,1)}e.next=null,e.prev=null,e.parent=null}function M6(e,t){let r=t.prev=e.prev;r&&(r.next=t);let a=t.next=e.next;a&&(a.prev=t);let i=t.parent=e.parent;if(i){let s=i.children;s[s.lastIndexOf(e)]=t,e.parent=null}}function v6(e,t){if(bu(t),t.next=null,t.parent=e,e.children.push(t)>1){let r=e.children[e.children.length-2];r.next=t,t.prev=r}else t.prev=null}function k6(e,t){bu(t);let{parent:r}=e,a=e.next;if(t.next=a,t.prev=e,e.next=t,t.parent=r,a){if(a.prev=t,r){let i=r.children;i.splice(i.lastIndexOf(a),0,t)}}else r&&r.children.push(t)}function $6(e,t){if(bu(t),t.parent=e,t.prev=null,e.children.unshift(t)!==1){let r=e.children[1];r.prev=t,t.next=r}else t.next=null}function T6(e,t){bu(t);let{parent:r}=e;if(r){let a=r.children;a.splice(a.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=r,t.prev=e.prev,t.next=e,e.prev=t}function Go(e,t,r=!0,a=1/0){return zb(e,Array.isArray(t)?t:[t],r,a)}function zb(e,t,r,a){let i=[],s=[Array.isArray(t)?t:[t]],o=[0];for(;;){if(o[0]>=s[0].length){if(o.length===1)return i;s.shift(),o.shift();continue}let n=s[0][o[0]++];if(e(n)&&(i.push(n),--a<=0))return i;r&&sa(n)&&n.children.length>0&&(o.unshift(0),s.unshift(n.children))}}function I6(e,t){return t.find(e)}function Hh(e,t,r=!0){let a=Array.isArray(t)?t:[t];for(let i=0;i<a.length;i++){let s=a[i];if(Gr(s)&&e(s))return s;if(r&&sa(s)&&s.children.length>0){let o=Hh(e,s.children,!0);if(o)return o}}return null}function Qb(e,t){return(Array.isArray(t)?t:[t]).some(r=>Gr(r)&&e(r)||sa(r)&&Qb(e,r.children))}function N6(e,t){let r=[],a=[Array.isArray(t)?t:[t]],i=[0];for(;;){if(i[0]>=a[0].length){if(a.length===1)return r;a.shift(),i.shift();continue}let s=a[0][i[0]++];Gr(s)&&e(s)&&r.push(s),sa(s)&&s.children.length>0&&(i.unshift(0),a.unshift(s.children))}}var Ph={tag_name(e){return typeof e=="function"?t=>Gr(t)&&e(t.name):e==="*"?Gr:t=>Gr(t)&&t.name===e},tag_type(e){return typeof e=="function"?t=>e(t.type):t=>t.type===e},tag_contains(e){return typeof e=="function"?t=>Vi(t)&&e(t.data):t=>Vi(t)&&t.data===e}};function Z1(e,t){return typeof t=="function"?r=>Gr(r)&&t(r.attribs[e]):r=>Gr(r)&&r.attribs[e]===t}function D6(e,t){return r=>e(r)||t(r)}function Vb(e){let t=Object.keys(e).map(r=>{let a=e[r];return Object.prototype.hasOwnProperty.call(Ph,r)?Ph[r](a):Z1(r,a)});return t.length===0?null:t.reduce(D6)}function R6(e,t){let r=Vb(e);return r?r(t):!0}function _6(e,t,r,a=1/0){let i=Vb(e);return i?Go(i,t,r,a):[]}function L6(e,t,r=!0){return Array.isArray(t)||(t=[t]),Hh(Z1("id",e),t,r)}function Wn(e,t,r=!0,a=1/0){return Go(Ph.tag_name(e),t,r,a)}function O6(e,t,r=!0,a=1/0){return Go(Z1("class",e),t,r,a)}function B6(e,t,r=!0,a=1/0){return Go(Ph.tag_type(e),t,r,a)}function F6(e){let t=e.length;for(;--t>=0;){let r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0){e.splice(t,1);continue}for(let a=r.parent;a;a=a.parent)if(e.includes(a)){e.splice(t,1);break}}return e}var ri;(function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"})(ri||(ri={}));function jb(e,t){let r=[],a=[];if(e===t)return 0;let i=sa(e)?e:e.parent;for(;i;)r.unshift(i),i=i.parent;for(i=sa(t)?t:t.parent;i;)a.unshift(i),i=i.parent;let s=Math.min(r.length,a.length),o=0;for(;o<s&&r[o]===a[o];)o++;if(o===0)return ri.DISCONNECTED;let n=r[o-1],l=n.children,u=r[o],c=a[o];return l.indexOf(u)>l.indexOf(c)?n===t?ri.FOLLOWING|ri.CONTAINED_BY:ri.FOLLOWING:n===e?ri.PRECEDING|ri.CONTAINS:ri.PRECEDING}function W6(e){return e=e.filter((t,r,a)=>!a.includes(t,r+1)),e.sort((t,r)=>{let a=jb(t,r);return a&ri.PRECEDING?-1:a&ri.FOLLOWING?1:0}),e}function yu(e){let t=Gh(Y6,e);return t?t.name==="feed"?H6(t):P6(t):null}function H6(e){var t;let r=e.children,a={type:"atom",items:Wn("entry",r).map(o=>{var n;let{children:l}=o,u={media:Xb(l)};Ca(u,"id","id",l),Ca(u,"title","title",l);let c=(n=Gh("link",l))===null||n===void 0?void 0:n.attribs.href;c&&(u.link=c);let f=nn("summary",l)||nn("content",l);f&&(u.description=f);let h=nn("updated",l);return h&&(u.pubDate=new Date(h)),u})};Ca(a,"id","id",r),Ca(a,"title","title",r);let i=(t=Gh("link",r))===null||t===void 0?void 0:t.attribs.href;i&&(a.link=i),Ca(a,"description","subtitle",r);let s=nn("updated",r);return s&&(a.updated=new Date(s)),Ca(a,"author","email",r,!0),a}function P6(e){var t,r;let a=(r=(t=Gh("channel",e.children))===null||t===void 0?void 0:t.children)!==null&&r!==void 0?r:[],i={type:e.name.substr(0,3),id:"",items:Wn("item",e.children).map(o=>{let{children:n}=o,l={media:Xb(n)};Ca(l,"id","guid",n),Ca(l,"title","title",n),Ca(l,"link","link",n),Ca(l,"description","description",n);let u=nn("pubDate",n)||nn("dc:date",n);return u&&(l.pubDate=new Date(u)),l})};Ca(i,"title","title",a),Ca(i,"link","link",a),Ca(i,"description","description",a);let s=nn("lastBuildDate",a);return s&&(i.updated=new Date(s)),Ca(i,"author","managingEditor",a,!0),i}var G6=["url","type","lang"],U6=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function Xb(e){return Wn("media:content",e).map(t=>{let{attribs:r}=t,a={medium:r.medium,isDefault:!!r.isDefault};for(let i of G6)r[i]&&(a[i]=r[i]);for(let i of U6)r[i]&&(a[i]=parseInt(r[i],10));return r.expression&&(a.expression=r.expression),a})}function Gh(e,t){return Wn(e,t,!0,1)[0]}function nn(e,t,r=!1){return Au(Wn(e,t,r,1)).trim()}function Ca(e,t,r,a,i=!1){let s=nn(r,a,i);s&&(e[t]=s)}function Y6(e){return e==="rss"||e==="feed"||e==="rdf:RDF"}function Zb(e,t){let r=new Cs(void 0,t);return new an(r,t).end(e),r.root}function Jb(e,t){return Zb(e,t).children}function K6(e,t,r){let a=new Cs(i=>e(i,a.root),t,r);return new an(a,t)}function q6(e,t,r){let a=new Cs(e,t,r);return new an(a,t)}var z6={xmlMode:!0};function Q6(e,t=z6){return yu(Jb(e,t))}var ey=new Set(["ARTICLE","ASIDE","BLOCKQUOTE","BODY","BR","BUTTON","CANVAS","CAPTION","COL","COLGROUP","DD","DIV","DL","DT","EMBED","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","H1","H2","H3","H4","H5","H6","LI","UL","OL","P"]),eg=-1,tg=1,rg=4,ag=8,ig=128,ty=1,sg=2,ng=4,ry=8,ay=16,iy=32,Hn="http://www.w3.org/2000/svg";var{assign:sy,create:ny,defineProperties:oy,entries:ly,getOwnPropertyDescriptors:AY,keys:uy,setPrototypeOf:Mr}=Object;var Si=String;var Rr=e=>e.nodeType===1?e[st]:e,ai=({ownerDocument:e})=>e[xi].ignoreCase,Ma=(e,t)=>{e[Ze]=t,t[Vt]=e},xu=(e,t,r)=>{Ma(e,t),Ma(Rr(t),r)},og=(e,t,r,a)=>{Ma(e,t),Ma(Rr(r),a)},vs=(e,t,r)=>{Ma(e,t),Ma(t,r)},wu=({localName:e,ownerDocument:t})=>t[xi].ignoreCase?e.toUpperCase():e,Uh=(e,t)=>{e&&(e[Ze]=t),t&&(t[Vt]=e)},Yh=(e,t)=>{let r=e.createDocumentFragment(),a=e.createElement("");a.innerHTML=t;let{firstChild:i,lastChild:s}=a;if(i){og(r,i,s,r[st]);let o=i;do o.parentNode=r;while(o!==s&&(o=Rr(o)[Ze]))}return r};var ji=new WeakMap;var qh=!1,Pn=new WeakMap,ks=new WeakMap,Gn=(e,t,r,a)=>{qh&&ks.has(e)&&e.attributeChangedCallback&&e.constructor.observedAttributes.includes(t)&&e.attributeChangedCallback(t,r,a)},dy=(e,t)=>r=>{if(ks.has(r)){let a=ks.get(r);a.connected!==t&&r.isConnected===t&&(a.connected=t,e in r&&r[e]())}},cy=dy("connectedCallback",!0),Su=e=>{if(qh){cy(e),ji.has(e)&&(e=ji.get(e).shadowRoot);let{[Ze]:t,[st]:r}=e;for(;t!==r;)t.nodeType===1&&cy(t),t=t[Ze]}},hy=dy("disconnectedCallback",!1),fy=e=>{if(qh){hy(e),ji.has(e)&&(e=ji.get(e).shadowRoot);let{[Ze]:t,[st]:r}=e;for(;t!==r;)t.nodeType===1&&hy(t),t=t[Ze]}},Kh=class{constructor(t){this.ownerDocument=t,this.registry=new Map,this.waiting=new Map,this.active=!1}define(t,r,a={}){let{ownerDocument:i,registry:s,waiting:o}=this;if(s.has(t))throw new Error("unable to redefine "+t);if(Pn.has(r))throw new Error("unable to redefine the same class: "+r);this.active=qh=!0;let{extends:n}=a;Pn.set(r,{ownerDocument:i,options:{is:n?t:""},localName:n||t});let l=n?u=>u.localName===n&&u.getAttribute("is")===t:u=>u.localName===t;if(s.set(t,{Class:r,check:l}),o.has(t)){for(let u of o.get(t))u(r);o.delete(t)}i.querySelectorAll(n?`${n}[is="${t}"]`:t).forEach(this.upgrade,this)}upgrade(t){if(ks.has(t))return;let{ownerDocument:r,registry:a}=this,i=t.getAttribute("is")||t.localName;if(a.has(i)){let{Class:s,check:o}=a.get(i);if(o(t)){let{attributes:n,isConnected:l}=t;for(let c of n)t.removeAttributeNode(c);let u=ly(t);for(let[c]of u)delete t[c];Mr(t,s.prototype),r[rn]={element:t,values:u},new s(r,i),ks.set(t,{connected:l});for(let c of n)t.setAttributeNode(c);l&&t.connectedCallback&&t.connectedCallback()}}}whenDefined(t){let{registry:r,waiting:a}=this;return new Promise(i=>{r.has(t)?i(r.get(t).Class):(a.has(t)||a.set(t,[]),a.get(t).push(i))})}get(t){let r=this.registry.get(t);return r&&r.Class}getName(t){if(Pn.has(t)){let{localName:r}=Pn.get(t);return r}return null}};var{Parser:V6}=J1,py=!0,Un=(e,t,r)=>{let a=e[st];return t.parentNode=e,xu(a[Vt],t,a),r&&t.nodeType===1&&Su(t),t},j6=(e,t,r,a,i)=>{r[Lt]=a,r.ownerElement=e,vs(t[Vt],r,t),r.name==="class"&&(e.className=a),i&&Gn(e,r.name,null,a)};var zh=(e,t,r)=>{let{active:a,registry:i}=e[pa],s=e,o=null,n=!1;py=!1;let l=new V6({onprocessinginstruction(u,c){u.toLowerCase()==="!doctype"&&(e.doctype=c.slice(u.length).trim())},onopentag(u,c){let f=!0;if(t){if(o)s=Un(s,e.createElementNS(Hn,u),a),s.ownerSVGElement=o,f=!1;else if(u==="svg"||u==="SVG")o=e.createElementNS(Hn,u),s=Un(s,o,a),f=!1;else if(a){let g=u.includes("-")?u:c.is||"";if(g&&i.has(g)){let{Class:p}=i.get(g);s=Un(s,new p,a),delete c.is,f=!1}}}f&&(s=Un(s,e.createElement(u),!1));let h=s[st];for(let g of uy(c))j6(s,h,e.createAttribute(g),c[g],a)},oncomment(u){Un(s,e.createComment(u),a)},ontext(u){n?Un(s,e.createCDATASection(u),a):Un(s,e.createTextNode(u),a)},oncdatastart(){n=!0},oncdataend(){n=!1},onclosetag(){t&&s===o&&(o=null),s=s.parentNode}},{lowerCaseAttributeNames:!1,decodeEntities:!0,xmlMode:!t});return l.write(r),l.end(),py=!0,e};var Yo=new Map,Nt=(e,t)=>{for(let r of[].concat(e))Yo.set(r,t),Yo.set(r.toUpperCase(),t)};var gy=({[Ze]:e,[st]:t},r)=>{for(;e!==t;){switch(e.nodeType){case 2:lg(e,r);break;case 3:case 8:case 4:ug(e,r);break;case 1:hg(e,r),e=Rr(e);break;case 10:cg(e,r);break}e=e[Ze]}let a=r.length-1,i=r[a];typeof i=="number"&&i<0?r[a]+=-1:r.push(-1)},lg=(e,t)=>{t.push(2,e.name);let r=e[Lt].trim();r&&t.push(r)},ug=(e,t)=>{let r=e[Lt];r.trim()&&t.push(e.nodeType,r)},my=(e,t)=>{t.push(e.nodeType),gy(e,t)},cg=({name:e,publicId:t,systemId:r},a)=>{a.push(10,e),t&&a.push(t),r&&a.push(r)},hg=(e,t)=>{t.push(1,e.localName),gy(e,t)};var by=(e,t,r,a,i,s,o)=>({type:e,target:t,addedNodes:a,removedNodes:i,attributeName:s,oldValue:o,previousSibling:r?.previousSibling||null,nextSibling:r?.nextSibling||null}),Ay=(e,t,r,a,i,s)=>{if(!a||a.includes(r)){let{callback:o,records:n,scheduled:l}=e;n.push(by("attributes",t,null,[],[],r,i?s:void 0)),l||(e.scheduled=!0,Promise.resolve().then(()=>{e.scheduled=!1,o(n.splice(0),e)}))}},Eu=(e,t,r)=>{let{ownerDocument:a}=e,{active:i,observers:s}=a[Qi];if(i){for(let o of s)for(let[n,{childList:l,subtree:u,attributes:c,attributeFilter:f,attributeOldValue:h}]of o.nodes)if(l){if(u&&(n===a||n.contains(e))||!u&&n.children.includes(e)){Ay(o,e,t,f,h,r);break}}else if(c&&n===e){Ay(o,e,t,f,h,r);break}}},on=(e,t)=>{let{ownerDocument:r}=e,{active:a,observers:i}=r[Qi];if(a){for(let s of i)for(let[o,{subtree:n,childList:l,characterData:u}]of s.nodes)if(l&&(t&&(o===t||n&&o.contains(t))||!t&&(n&&(o===r||o.contains(e))||!n&&o[u?"childNodes":"children"].includes(e)))){let{callback:c,records:f,scheduled:h}=s;f.push(by("childList",o,e,t?[]:[e],t?[e]:[])),h||(s.scheduled=!0,Promise.resolve().then(()=>{s.scheduled=!1,c(f.splice(0),s)}));break}}},Qh=class{constructor(t){let r=new Set;this.observers=r,this.active=!1,this.class=class{constructor(i){this.callback=i,this.nodes=new Map,this.records=[],this.scheduled=!1}disconnect(){this.records.splice(0),this.nodes.clear(),r.delete(this),t[Qi].active=!!r.size}observe(i,s={subtree:!1,childList:!1,attributes:!1,attributeFilter:null,attributeOldValue:!1,characterData:!1}){("attributeOldValue"in s||"attributeFilter"in s)&&(s.attributes=!0),s.childList=!!s.childList,s.subtree=!!s.subtree,this.nodes.set(i,s),r.add(this),t[Qi].active=!0}takeRecords(){return this.records.splice(0)}}}};var yy=new Set(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","class","contenteditable","controls","default","defer","disabled","draggable","formnovalidate","hidden","id","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected","style","truespeed"]),Cu=(e,t)=>{let{[Lt]:r,name:a}=t;t.ownerElement=e,vs(e,t,e[Ze]),a==="class"&&(e.className=r),Eu(e,a,null),Gn(e,a,null,r)},dg=(e,t)=>{let{[Lt]:r,name:a}=t;Ma(t[Vt],t[Ze]),t.ownerElement=t[Vt]=t[Ze]=null,a==="class"&&(e[en]=null),Eu(e,a,r),Gn(e,a,r,null)},Tt={get(e,t){return e.hasAttribute(t)},set(e,t,r){r?e.setAttribute(t,""):e.removeAttribute(t)}},Ei={get(e,t){return parseFloat(e.getAttribute(t)||0)},set(e,t,r){e.setAttribute(t,r)}},ze={get(e,t){return e.getAttribute(t)||""},set(e,t,r){e.setAttribute(t,r)}};var Vh=new WeakMap;function X6(e,t){return typeof t=="function"?t.call(e.target,e):t.handleEvent(e),e._stopImmediatePropagationFlag}function Z6({currentTarget:e,target:t}){let r=Vh.get(e);if(r&&r.has(this.type)){let a=r.get(this.type);e===t?this.eventPhase=this.AT_TARGET:this.eventPhase=this.BUBBLING_PHASE,this.currentTarget=e,this.target=t;for(let[i,s]of a)if(s&&s.once&&a.delete(i),X6(this,i))break;return delete this.currentTarget,delete this.target,this.cancelBubble}}var ln=class{constructor(){Vh.set(this,new Map)}_getParent(){return null}addEventListener(t,r,a){let i=Vh.get(this);i.has(t)||i.set(t,new Map),i.get(t).set(r,a)}removeEventListener(t,r){let a=Vh.get(this);if(a.has(t)){let i=a.get(t);i.delete(r)&&!i.size&&a.delete(t)}}dispatchEvent(t){let r=this;for(t.eventPhase=t.CAPTURING_PHASE;r;)r.dispatchEvent&&t._path.push({currentTarget:r,target:this}),r=t.bubbles&&r._getParent&&r._getParent();return t._path.some(Z6,t),t._path=[],t.eventPhase=t.NONE,!t.defaultPrevented}};var _r=class extends Array{item(t){return t<this.length?this[t]:null}};var xy=({parentNode:e})=>{let t=0;for(;e;)t++,e=e.parentNode;return t},va=class extends ln{static get ELEMENT_NODE(){return 1}static get ATTRIBUTE_NODE(){return 2}static get TEXT_NODE(){return 3}static get CDATA_SECTION_NODE(){return 4}static get COMMENT_NODE(){return 8}static get DOCUMENT_NODE(){return 9}static get DOCUMENT_FRAGMENT_NODE(){return 11}static get DOCUMENT_TYPE_NODE(){return 10}constructor(t,r,a){super(),this.ownerDocument=t,this.localName=r,this.nodeType=a,this.parentNode=null,this[Ze]=null,this[Vt]=null}get ELEMENT_NODE(){return 1}get ATTRIBUTE_NODE(){return 2}get TEXT_NODE(){return 3}get CDATA_SECTION_NODE(){return 4}get COMMENT_NODE(){return 8}get DOCUMENT_NODE(){return 9}get DOCUMENT_FRAGMENT_NODE(){return 11}get DOCUMENT_TYPE_NODE(){return 10}get baseURI(){let t=this.nodeType===9?this:this.ownerDocument;if(t){let r=t.querySelector("base");if(r)return r.getAttribute("href");let{location:a}=t.defaultView;if(a)return a.href}return null}get isConnected(){return!1}get nodeName(){return this.localName}get parentElement(){return null}get previousSibling(){return null}get previousElementSibling(){return null}get nextSibling(){return null}get nextElementSibling(){return null}get childNodes(){return new _r}get firstChild(){return null}get lastChild(){return null}get nodeValue(){return null}set nodeValue(t){}get textContent(){return null}set textContent(t){}normalize(){}cloneNode(){return null}contains(){return!1}insertBefore(t,r){return t}appendChild(t){return t}replaceChild(t,r){return r}removeChild(t){return t}toString(){return""}hasChildNodes(){return!!this.lastChild}isSameNode(t){return this===t}compareDocumentPosition(t){let r=0;if(this!==t){let a=xy(this),i=xy(t);if(a<i)r+=ng,this.contains(t)&&(r+=ay);else if(i<a)r+=sg,t.contains(this)&&(r+=ry);else if(a&&i){let{childNodes:s}=this.parentNode;s.indexOf(this)<s.indexOf(t)?r+=ng:r+=sg}(!a||!i)&&(r+=iy,r+=ty)}return r}isEqualNode(t){if(this===t)return!0;if(this.nodeType===t.nodeType){switch(this.nodeType){case 9:case 11:{let r=this.childNodes,a=t.childNodes;return r.length===a.length&&r.every((i,s)=>i.isEqualNode(a[s]))}}return this.toString()===t.toString()}return!1}_getParent(){return this.parentNode}getRootNode(){let t=this;for(;t.parentNode;)t=t.parentNode;return t}};var{replace:J6}="",eI=/[<>&\xA0]/g,tI={"\xA0":"&#160;","&":"&amp;","<":"&lt;",">":"&gt;"},rI=e=>tI[e],Ko=e=>J6.call(e,eI,rI);var aI=/"/g,si=class e extends va{constructor(t,r,a=""){super(t,r,2),this.ownerElement=null,this.name=Si(r),this[Lt]=Si(a),this[Lo]=!1}get value(){return this[Lt]}set value(t){let{[Lt]:r,name:a,ownerElement:i}=this;this[Lt]=Si(t),this[Lo]=!0,i&&(Eu(i,a,r),Gn(i,a,r,this[Lt]))}cloneNode(){let{ownerDocument:t,name:r,[Lt]:a}=this;return new e(t,r,a)}toString(){let{name:t,[Lt]:r}=this;if(yy.has(t)&&!r)return ai(this)?t:`${t}=""`;let a=(ai(this)?r:Ko(r)).replace(aI,"&quot;");return`${t}="${a}"`}toJSON(){let t=[];return lg(this,t),t}};var jh=({ownerDocument:e,parentNode:t})=>{for(;t;){if(t===e)return!0;t=t.parentNode||t.host}return!1},Xh=({parentNode:e})=>{if(e)switch(e.nodeType){case 9:case 11:return null}return e},$s=({[Vt]:e})=>{switch(e?e.nodeType:0){case-1:return e[Hr];case 3:case 8:case 4:return e}return null},Mi=e=>{let t=Rr(e)[Ze];return t&&(t.nodeType===-1?null:t)};var qo=e=>{let t=Mi(e);for(;t&&t.nodeType!==1;)t=Mi(t);return t},Zh=e=>{let t=$s(e);for(;t&&t.nodeType!==1;)t=$s(t);return t};var fg=(e,t)=>{let r=e.createDocumentFragment();return r.append(...t),r},Jh=(e,t)=>{let{ownerDocument:r,parentNode:a}=e;a&&a.insertBefore(fg(r,t),e)},ed=(e,t)=>{let{ownerDocument:r,parentNode:a}=e;a&&a.insertBefore(fg(r,t),Rr(e)[Ze])},Mu=(e,t)=>{let{ownerDocument:r,parentNode:a}=e;a&&(t.includes(e)&&Mu(e,[e=e.cloneNode()]),a.insertBefore(fg(r,t),e),e.remove())},td=(e,t,r)=>{let{parentNode:a,nodeType:i}=t;(e||r)&&(Uh(e,r),t[Vt]=null,Rr(t)[Ze]=null),a&&(t.parentNode=null,on(t,a),i===1&&fy(t))};var vi=class extends va{constructor(t,r,a,i){super(t,r,a),this[Lt]=Si(i)}get isConnected(){return jh(this)}get parentElement(){return Xh(this)}get previousSibling(){return $s(this)}get nextSibling(){return Mi(this)}get previousElementSibling(){return Zh(this)}get nextElementSibling(){return qo(this)}before(...t){Jh(this,t)}after(...t){ed(this,t)}replaceWith(...t){Mu(this,t)}remove(){td(this[Vt],this,this[Ze])}get data(){return this[Lt]}set data(t){this[Lt]=Si(t),on(this,this.parentNode)}get nodeValue(){return this.data}set nodeValue(t){this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}get length(){return this.data.length}substringData(t,r){return this.data.substr(t,r)}appendData(t){this.data+=t}insertData(t,r){let{data:a}=this;this.data=a.slice(0,t)+r+a.slice(t)}deleteData(t,r){let{data:a}=this;this.data=a.slice(0,t)+a.slice(t+r)}replaceData(t,r,a){let{data:i}=this;this.data=i.slice(0,t)+a+i.slice(t+r)}toJSON(){let t=[];return ug(this,t),t}};var un=class e extends vi{constructor(t,r=""){super(t,"#cdatasection",4,r)}cloneNode(){let{ownerDocument:t,[Lt]:r}=this;return new e(t,r)}toString(){return`<![CDATA[${this[Lt]}]]>`}};var cn=class e extends vi{constructor(t,r=""){super(t,"#comment",8,r)}cloneNode(){let{ownerDocument:t,[Lt]:r}=this;return new e(t,r)}toString(){return`<!--${this[Lt]}-->`}};var kg=Ua(Yn(),1);var ki=Ua(ku(),1),Is=Ua(Yn(),1);var ga=Ua(ku(),1),Ly=new Map([[ga.SelectorType.Universal,50],[ga.SelectorType.Tag,30],[ga.SelectorType.Attribute,1],[ga.SelectorType.Pseudo,0]]);function $u(e){return!Ly.has(e.type)}var bI=new Map([[ga.AttributeAction.Exists,10],[ga.AttributeAction.Equals,8],[ga.AttributeAction.Not,7],[ga.AttributeAction.Start,6],[ga.AttributeAction.End,6],[ga.AttributeAction.Any,5]]);function gg(e){let t=e.map(Oy);for(let r=1;r<e.length;r++){let a=t[r];if(!(a<0))for(let i=r-1;i>=0&&a<t[i];i--){let s=e[i+1];e[i+1]=e[i],e[i]=s,t[i+1]=t[i],t[i]=a}}}function Oy(e){var t,r;let a=(t=Ly.get(e.type))!==null&&t!==void 0?t:-1;return e.type===ga.SelectorType.Attribute?(a=(r=bI.get(e.action))!==null&&r!==void 0?r:4,e.action===ga.AttributeAction.Equals&&e.name==="id"&&(a=9),e.ignoreCase&&(a>>=1)):e.type===ga.SelectorType.Pseudo&&(e.data?e.name==="has"||e.name==="contains"?a=0:Array.isArray(e.data)?(a=Math.min(...e.data.map(i=>Math.min(...i.map(Oy)))),a<0&&(a=0)):a=2:a=3),a}var Tu=Ua(Yn(),1),yI=/[-[\]{}()*+?.,\\^$|#\s]/g;function By(e){return e.replace(yI,"\\$&")}var xI=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function Kn(e,t){return typeof e.ignoreCase=="boolean"?e.ignoreCase:e.ignoreCase==="quirks"?!!t.quirksMode:!t.xmlMode&&xI.has(e.name)}var Fy={equals(e,t,r){let{adapter:a}=r,{name:i}=t,{value:s}=t;return Kn(t,r)?(s=s.toLowerCase(),o=>{let n=a.getAttributeValue(o,i);return n!=null&&n.length===s.length&&n.toLowerCase()===s&&e(o)}):o=>a.getAttributeValue(o,i)===s&&e(o)},hyphen(e,t,r){let{adapter:a}=r,{name:i}=t,{value:s}=t,o=s.length;return Kn(t,r)?(s=s.toLowerCase(),function(l){let u=a.getAttributeValue(l,i);return u!=null&&(u.length===o||u.charAt(o)==="-")&&u.substr(0,o).toLowerCase()===s&&e(l)}):function(l){let u=a.getAttributeValue(l,i);return u!=null&&(u.length===o||u.charAt(o)==="-")&&u.substr(0,o)===s&&e(l)}},element(e,t,r){let{adapter:a}=r,{name:i,value:s}=t;if(/\s/.test(s))return Tu.default.falseFunc;let o=new RegExp(`(?:^|\\s)${By(s)}(?:$|\\s)`,Kn(t,r)?"i":"");return function(l){let u=a.getAttributeValue(l,i);return u!=null&&u.length>=s.length&&o.test(u)&&e(l)}},exists(e,{name:t},{adapter:r}){return a=>r.hasAttrib(a,t)&&e(a)},start(e,t,r){let{adapter:a}=r,{name:i}=t,{value:s}=t,o=s.length;return o===0?Tu.default.falseFunc:Kn(t,r)?(s=s.toLowerCase(),n=>{let l=a.getAttributeValue(n,i);return l!=null&&l.length>=o&&l.substr(0,o).toLowerCase()===s&&e(n)}):n=>{var l;return!!(!((l=a.getAttributeValue(n,i))===null||l===void 0)&&l.startsWith(s))&&e(n)}},end(e,t,r){let{adapter:a}=r,{name:i}=t,{value:s}=t,o=-s.length;return o===0?Tu.default.falseFunc:Kn(t,r)?(s=s.toLowerCase(),n=>{var l;return((l=a.getAttributeValue(n,i))===null||l===void 0?void 0:l.substr(o).toLowerCase())===s&&e(n)}):n=>{var l;return!!(!((l=a.getAttributeValue(n,i))===null||l===void 0)&&l.endsWith(s))&&e(n)}},any(e,t,r){let{adapter:a}=r,{name:i,value:s}=t;if(s==="")return Tu.default.falseFunc;if(Kn(t,r)){let o=new RegExp(By(s),"i");return function(l){let u=a.getAttributeValue(l,i);return u!=null&&u.length>=s.length&&o.test(u)&&e(l)}}return o=>{var n;return!!(!((n=a.getAttributeValue(o,i))===null||n===void 0)&&n.includes(s))&&e(o)}},not(e,t,r){let{adapter:a}=r,{name:i}=t,{value:s}=t;return s===""?o=>!!a.getAttributeValue(o,i)&&e(o):Kn(t,r)?(s=s.toLowerCase(),o=>{let n=a.getAttributeValue(o,i);return(n==null||n.length!==s.length||n.toLowerCase()!==s)&&e(o)}):o=>a.getAttributeValue(o,i)!==s&&e(o)}};var Gy=Ua(ku(),1);var wI=new Set([9,10,12,13,32]),Wy=48,SI=57;function Hy(e){if(e=e.trim().toLowerCase(),e==="even")return[2,0];if(e==="odd")return[2,1];let t=0,r=0,a=s(),i=o();if(t<e.length&&e.charAt(t)==="n"&&(t++,r=a*(i??1),n(),t<e.length?(a=s(),n(),i=o()):a=i=0),i===null||t<e.length)throw new Error(`n-th rule couldn't be parsed ('${e}')`);return[r,a*i];function s(){return e.charAt(t)==="-"?(t++,-1):(e.charAt(t)==="+"&&t++,1)}function o(){let l=t,u=0;for(;t<e.length&&e.charCodeAt(t)>=Wy&&e.charCodeAt(t)<=SI;)u=u*10+(e.charCodeAt(t)-Wy),t++;return t===l?null:u}function n(){for(;t<e.length&&wI.has(e.charCodeAt(t));)t++}}var mg=Ua(Yn(),1);function Py(e){let t=e[0],r=e[1]-1;if(r<0&&t<=0)return mg.default.falseFunc;if(t===-1)return s=>s<=r;if(t===0)return s=>s===r;if(t===1)return r<0?mg.default.trueFunc:s=>s>=r;let a=Math.abs(t),i=(r%a+a)%a;return t>1?s=>s>=r&&s%a===i:s=>s<=r&&s%a===i}function jo(e){return Py(Hy(e))}var ka=Ua(Yn(),1);function id(e,t){return r=>{let a=t.getParent(r);return a!=null&&t.isTag(a)&&e(r)}}var Iu={contains(e,t,{adapter:r}){return function(i){return e(i)&&r.getText(i).includes(t)}},icontains(e,t,{adapter:r}){let a=t.toLowerCase();return function(s){return e(s)&&r.getText(s).toLowerCase().includes(a)}},"nth-child"(e,t,{adapter:r,equals:a}){let i=jo(t);return i===ka.default.falseFunc?ka.default.falseFunc:i===ka.default.trueFunc?id(e,r):function(o){let n=r.getSiblings(o),l=0;for(let u=0;u<n.length&&!a(o,n[u]);u++)r.isTag(n[u])&&l++;return i(l)&&e(o)}},"nth-last-child"(e,t,{adapter:r,equals:a}){let i=jo(t);return i===ka.default.falseFunc?ka.default.falseFunc:i===ka.default.trueFunc?id(e,r):function(o){let n=r.getSiblings(o),l=0;for(let u=n.length-1;u>=0&&!a(o,n[u]);u--)r.isTag(n[u])&&l++;return i(l)&&e(o)}},"nth-of-type"(e,t,{adapter:r,equals:a}){let i=jo(t);return i===ka.default.falseFunc?ka.default.falseFunc:i===ka.default.trueFunc?id(e,r):function(o){let n=r.getSiblings(o),l=0;for(let u=0;u<n.length;u++){let c=n[u];if(a(o,c))break;r.isTag(c)&&r.getName(c)===r.getName(o)&&l++}return i(l)&&e(o)}},"nth-last-of-type"(e,t,{adapter:r,equals:a}){let i=jo(t);return i===ka.default.falseFunc?ka.default.falseFunc:i===ka.default.trueFunc?id(e,r):function(o){let n=r.getSiblings(o),l=0;for(let u=n.length-1;u>=0;u--){let c=n[u];if(a(o,c))break;r.isTag(c)&&r.getName(c)===r.getName(o)&&l++}return i(l)&&e(o)}},root(e,t,{adapter:r}){return a=>{let i=r.getParent(a);return(i==null||!r.isTag(i))&&e(a)}},scope(e,t,r,a){let{equals:i}=r;return!a||a.length===0?Iu.root(e,t,r):a.length===1?s=>i(a[0],s)&&e(s):s=>a.includes(s)&&e(s)},hover:Ag("isHovered"),visited:Ag("isVisited"),active:Ag("isActive")};function Ag(e){return function(r,a,{adapter:i}){let s=i[e];return typeof s!="function"?ka.default.falseFunc:function(n){return s(n)&&r(n)}}}var sd={empty(e,{adapter:t}){return!t.getChildren(e).some(r=>t.isTag(r)||t.getText(r)!=="")},"first-child"(e,{adapter:t,equals:r}){if(t.prevElementSibling)return t.prevElementSibling(e)==null;let a=t.getSiblings(e).find(i=>t.isTag(i));return a!=null&&r(e,a)},"last-child"(e,{adapter:t,equals:r}){let a=t.getSiblings(e);for(let i=a.length-1;i>=0;i--){if(r(e,a[i]))return!0;if(t.isTag(a[i]))break}return!1},"first-of-type"(e,{adapter:t,equals:r}){let a=t.getSiblings(e),i=t.getName(e);for(let s=0;s<a.length;s++){let o=a[s];if(r(e,o))return!0;if(t.isTag(o)&&t.getName(o)===i)break}return!1},"last-of-type"(e,{adapter:t,equals:r}){let a=t.getSiblings(e),i=t.getName(e);for(let s=a.length-1;s>=0;s--){let o=a[s];if(r(e,o))return!0;if(t.isTag(o)&&t.getName(o)===i)break}return!1},"only-of-type"(e,{adapter:t,equals:r}){let a=t.getName(e);return t.getSiblings(e).every(i=>r(e,i)||!t.isTag(i)||t.getName(i)!==a)},"only-child"(e,{adapter:t,equals:r}){return t.getSiblings(e).every(a=>r(e,a)||!t.isTag(a))}};function bg(e,t,r,a){if(r===null){if(e.length>a)throw new Error(`Pseudo-class :${t} requires an argument`)}else if(e.length===a)throw new Error(`Pseudo-class :${t} doesn't have any arguments`)}var yg={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is(
157
+ :is(button, input, select, textarea, optgroup, option)[disabled],
158
+ optgroup[disabled] > option,
159
+ fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)
160
+ )`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"};var ni=Ua(Yn(),1);var Sg={};function Eg(e,t){return e===ni.default.falseFunc?ni.default.falseFunc:r=>t.isTag(r)&&e(r)}function Cg(e,t){let r=t.getSiblings(e);if(r.length<=1)return[];let a=r.indexOf(e);return a<0||a===r.length-1?[]:r.slice(a+1).filter(t.isTag)}function wg(e){return{xmlMode:!!e.xmlMode,lowerCaseAttributeNames:!!e.lowerCaseAttributeNames,lowerCaseTags:!!e.lowerCaseTags,quirksMode:!!e.quirksMode,cacheResults:!!e.cacheResults,pseudos:e.pseudos,adapter:e.adapter,equals:e.equals}}var xg=(e,t,r,a,i)=>{let s=i(t,wg(r),a);return s===ni.default.trueFunc?e:s===ni.default.falseFunc?ni.default.falseFunc:o=>s(o)&&e(o)},nd={is:xg,matches:xg,where:xg,not(e,t,r,a,i){let s=i(t,wg(r),a);return s===ni.default.falseFunc?e:s===ni.default.trueFunc?ni.default.falseFunc:o=>!s(o)&&e(o)},has(e,t,r,a,i){let{adapter:s}=r,o=wg(r);o.relativeSelector=!0;let n=t.some(c=>c.some($u))?[Sg]:void 0,l=i(t,o,n);if(l===ni.default.falseFunc)return ni.default.falseFunc;let u=Eg(l,s);if(n&&l!==ni.default.trueFunc){let{shouldTestNextSiblings:c=!1}=l;return f=>{if(!e(f))return!1;n[0]=f;let h=s.getChildren(f),g=c?[...h,...Cg(f,s)]:h;return s.existsOne(u,g)}}return c=>e(c)&&s.existsOne(u,s.getChildren(c))}};function Uy(e,t,r,a,i){var s;let{name:o,data:n}=t;if(Array.isArray(n)){if(!(o in nd))throw new Error(`Unknown pseudo-class :${o}(${n})`);return nd[o](e,n,r,a,i)}let l=(s=r.pseudos)===null||s===void 0?void 0:s[o],u=typeof l=="string"?l:yg[o];if(typeof u=="string"){if(n!=null)throw new Error(`Pseudo ${o} doesn't have any arguments`);let c=(0,Gy.parse)(u);return nd.is(e,c,r,a,i)}if(typeof l=="function")return bg(l,o,n,1),c=>l(c,n)&&e(c);if(o in Iu)return Iu[o](e,n,r,a);if(o in sd){let c=sd[o];return bg(c,o,n,2),f=>c(f,r,n)&&e(f)}throw new Error(`Unknown pseudo-class :${o}`)}var oi=Ua(ku(),1);function Mg(e,t){let r=t.getParent(e);return r&&t.isTag(r)?r:null}function Yy(e,t,r,a,i){let{adapter:s,equals:o}=r;switch(t.type){case oi.SelectorType.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case oi.SelectorType.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case oi.SelectorType.Attribute:{if(t.namespace!=null)throw new Error("Namespaced attributes are not yet supported by css-select");return(!r.xmlMode||r.lowerCaseAttributeNames)&&(t.name=t.name.toLowerCase()),Fy[t.action](e,t,r)}case oi.SelectorType.Pseudo:return Uy(e,t,r,a,i);case oi.SelectorType.Tag:{if(t.namespace!=null)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:n}=t;return(!r.xmlMode||r.lowerCaseTags)&&(n=n.toLowerCase()),function(u){return s.getName(u)===n&&e(u)}}case oi.SelectorType.Descendant:{if(r.cacheResults===!1||typeof WeakSet>"u")return function(u){let c=u;for(;c=Mg(c,s);)if(e(c))return!0;return!1};let n=new WeakSet;return function(u){let c=u;for(;c=Mg(c,s);)if(!n.has(c)){if(s.isTag(c)&&e(c))return!0;n.add(c)}return!1}}case"_flexibleDescendant":return function(l){let u=l;do if(e(u))return!0;while(u=Mg(u,s));return!1};case oi.SelectorType.Parent:return function(l){return s.getChildren(l).some(u=>s.isTag(u)&&e(u))};case oi.SelectorType.Child:return function(l){let u=s.getParent(l);return u!=null&&s.isTag(u)&&e(u)};case oi.SelectorType.Sibling:return function(l){let u=s.getSiblings(l);for(let c=0;c<u.length;c++){let f=u[c];if(o(l,f))break;if(s.isTag(f)&&e(f))return!0}return!1};case oi.SelectorType.Adjacent:return s.prevElementSibling?function(l){let u=s.prevElementSibling(l);return u!=null&&e(u)}:function(l){let u=s.getSiblings(l),c;for(let f=0;f<u.length;f++){let h=u[f];if(o(l,h))break;s.isTag(h)&&(c=h)}return!!c&&e(c)};case oi.SelectorType.Universal:{if(t.namespace!=null&&t.namespace!=="*")throw new Error("Namespaced universal selectors are not yet supported by css-select");return e}}}function vg(e,t,r){let a=od(e,t,r);return Eg(a,t.adapter)}function od(e,t,r){let a=typeof e=="string"?(0,ki.parse)(e):e;return ld(a,t,r)}function Ky(e){return e.type===ki.SelectorType.Pseudo&&(e.name==="scope"||Array.isArray(e.data)&&e.data.some(t=>t.some(Ky)))}var EI={type:ki.SelectorType.Descendant},CI={type:"_flexibleDescendant"},MI={type:ki.SelectorType.Pseudo,name:"scope",data:null};function vI(e,{adapter:t},r){let a=!!r?.every(i=>{let s=t.isTag(i)&&t.getParent(i);return i===Sg||s&&t.isTag(s)});for(let i of e){if(!(i.length>0&&$u(i[0])&&i[0].type!==ki.SelectorType.Descendant))if(a&&!i.some(Ky))i.unshift(EI);else continue;i.unshift(MI)}}function ld(e,t,r){var a;e.forEach(gg),r=(a=t.context)!==null&&a!==void 0?a:r;let i=Array.isArray(r),s=r&&(Array.isArray(r)?r:[r]);if(t.relativeSelector!==!1)vI(e,t,s);else if(e.some(l=>l.length>0&&$u(l[0])))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let o=!1,n=e.map(l=>{if(l.length>=2){let[u,c]=l;u.type!==ki.SelectorType.Pseudo||u.name!=="scope"||(i&&c.type===ki.SelectorType.Descendant?l[1]=CI:(c.type===ki.SelectorType.Adjacent||c.type===ki.SelectorType.Sibling)&&(o=!0))}return kI(l,t,s)}).reduce($I,Is.default.falseFunc);return n.shouldTestNextSiblings=o,n}function kI(e,t,r){var a;return e.reduce((i,s)=>i===Is.default.falseFunc?Is.default.falseFunc:Yy(i,s,t,r,ld),(a=t.rootFunc)!==null&&a!==void 0?a:Is.default.trueFunc)}function $I(e,t){return t===Is.default.falseFunc||e===Is.default.trueFunc?e:e===Is.default.falseFunc||t===Is.default.trueFunc?t:function(a){return e(a)||t(a)}}var qy=(e,t)=>e===t,TI={adapter:Uo,equals:qy};function $g(e){var t,r,a,i;let s=e??TI;return(t=s.adapter)!==null&&t!==void 0||(s.adapter=Uo),(r=s.equals)!==null&&r!==void 0||(s.equals=(i=(a=s.adapter)===null||a===void 0?void 0:a.equals)!==null&&i!==void 0?i:qy),s}function Tg(e){return function(r,a,i){let s=$g(a);return e(r,s,i)}}var zy=Tg(vg),xq=Tg(od),wq=Tg(ld);function Qy(e){return function(r,a,i){let s=$g(i);typeof r!="function"&&(r=od(r,s,a));let o=II(a,s.adapter,r.shouldTestNextSiblings);return e(r,o,s)}}function II(e,t,r=!1){return r&&(e=NI(e,t)),Array.isArray(e)?t.removeSubsets(e):t.getChildren(e)}function NI(e,t){let r=Array.isArray(e)?e.slice(0):[e],a=r.length;for(let i=0;i<a;i++){let s=Cg(r[i],t);r.push(...s)}return r}var Sq=Qy((e,t,r)=>e===kg.default.falseFunc||!t||t.length===0?[]:r.adapter.findAll(e,t)),Eq=Qy((e,t,r)=>e===kg.default.falseFunc||!t||t.length===0?null:r.adapter.findOne(e,t));function Vy(e,t,r){let a=$g(r);return(typeof t=="function"?t:vg(t,a))(e)}var{isArray:RI}=Array,ud=({nodeType:e})=>e===1,jy=(e,t)=>t.some(r=>ud(r)&&(e(r)||jy(e,Xo(r)))),_I=(e,t)=>t==="class"?e.classList.value:e.getAttribute(t),Xo=({childNodes:e})=>e,LI=e=>{let{localName:t}=e;return ai(e)?t.toLowerCase():t},OI=({parentNode:e})=>e,BI=e=>{let{parentNode:t}=e;return t?Xo(t):e},Ig=e=>RI(e)?e.map(Ig).join(""):ud(e)?Ig(Xo(e)):e.nodeType===3?e.data:"",FI=(e,t)=>e.hasAttribute(t),WI=e=>{let{length:t}=e;for(;t--;){let r=e[t];if(t&&-1<e.lastIndexOf(r,t-1)){e.splice(t,1);continue}for(let{parentNode:a}=r;a;a=a.parentNode)if(e.includes(a)){e.splice(t,1);break}}return e},Xy=(e,t)=>{let r=[];for(let a of t)ud(a)&&(e(a)&&r.push(a),r.push(...Xy(e,Xo(a))));return r},Zy=(e,t)=>{for(let r of t)if(e(r)||(r=Zy(e,Xo(r))))return r;return null},Jy={isTag:ud,existsOne:jy,getAttributeValue:_I,getChildren:Xo,getName:LI,getParent:OI,getSiblings:BI,getText:Ig,hasAttrib:FI,removeSubsets:WI,findAll:Xy,findOne:Zy},Nu=(e,t)=>zy(t,{context:t.includes(":scope")?e:void 0,xmlMode:!ai(e),adapter:Jy}),ex=(e,t)=>Vy(e,t,{strict:!0,context:t.includes(":scope")?e:void 0,xmlMode:!ai(e),adapter:Jy});var li=class e extends vi{constructor(t,r=""){super(t,"#text",3,r)}get wholeText(){let t=[],{previousSibling:r,nextSibling:a}=this;for(;r&&r.nodeType===3;){t.unshift(r[Lt]);r=r.previousSibling}for(t.push(this[Lt]);a&&a.nodeType===3;){t.push(a[Lt]);a=a.nextSibling}return t.join("")}cloneNode(){let{ownerDocument:t,[Lt]:r}=this;return new e(t,r)}toString(){return Ko(this[Lt])}};var HI=e=>e instanceof va,Ng=(e,t,r)=>{let{ownerDocument:a}=e;for(let i of r)e.insertBefore(HI(i)?i:new li(a,i),t)},Zo=class extends va{constructor(t,r,a){super(t,r,a),this[Er]=null,this[Ze]=this[st]={[Ze]:null,[Vt]:this,[Hr]:this,nodeType:-1,ownerDocument:this.ownerDocument,parentNode:null}}get childNodes(){let t=new _r,{firstChild:r}=this;for(;r;)t.push(r),r=Mi(r);return t}get children(){let t=new _r,{firstElementChild:r}=this;for(;r;)t.push(r),r=qo(r);return t}get firstChild(){let{[Ze]:t,[st]:r}=this;for(;t.nodeType===2;)t=t[Ze];return t===r?null:t}get firstElementChild(){let{firstChild:t}=this;for(;t;){if(t.nodeType===1)return t;t=Mi(t)}return null}get lastChild(){let t=this[st][Vt];switch(t.nodeType){case-1:return t[Hr];case 2:return null}return t===this?null:t}get lastElementChild(){let{lastChild:t}=this;for(;t;){if(t.nodeType===1)return t;t=$s(t)}return null}get childElementCount(){return this.children.length}prepend(...t){Ng(this,this.firstChild,t)}append(...t){Ng(this,this[st],t)}replaceChildren(...t){let{[Ze]:r,[st]:a}=this;for(;r!==a&&r.nodeType===2;)r=r[Ze];for(;r!==a;){let i=Rr(r)[Ze];r.remove(),r=i}t.length&&Ng(this,a,t)}getElementsByClassName(t){let r=new _r,{[Ze]:a,[st]:i}=this;for(;a!==i;)a.nodeType===1&&a.hasAttribute("class")&&a.classList.has(t)&&r.push(a),a=a[Ze];return r}getElementsByTagName(t){let r=new _r,{[Ze]:a,[st]:i}=this;for(;a!==i;)a.nodeType===1&&(a.localName===t||wu(a)===t)&&r.push(a),a=a[Ze];return r}querySelector(t){let r=Nu(this,t),{[Ze]:a,[st]:i}=this;for(;a!==i;){if(a.nodeType===1&&r(a))return a;a=a.nodeType===1&&a.localName==="template"?a[st]:a[Ze]}return null}querySelectorAll(t){let r=Nu(this,t),a=new _r,{[Ze]:i,[st]:s}=this;for(;i!==s;)i.nodeType===1&&r(i)&&a.push(i),i=i.nodeType===1&&i.localName==="template"?i[st]:i[Ze];return a}appendChild(t){return this.insertBefore(t,this[st])}contains(t){let r=t;for(;r&&r!==this;)r=r.parentNode;return r===this}insertBefore(t,r=null){if(t===r)return t;if(t===this)throw new Error("unable to append a node to itself");let a=r||this[st];switch(t.nodeType){case 1:t.remove(),t.parentNode=this,xu(a[Vt],t,a),on(t,null),Su(t);break;case 11:{let{[Er]:i,firstChild:s,lastChild:o}=t;if(s){og(a[Vt],s,o,a),Ma(t,t[st]),i&&i.replaceChildren();do s.parentNode=this,on(s,null),s.nodeType===1&&Su(s);while(s!==o&&(s=Mi(s)))}break}case 3:case 8:case 4:t.remove();default:t.parentNode=this,vs(a[Vt],t,a),on(t,null);break}return t}normalize(){let{[Ze]:t,[st]:r}=this;for(;t!==r;){let{[Ze]:a,[Vt]:i,nodeType:s}=t;s===3&&(t[Lt]?i&&i.nodeType===3&&(i.textContent+=t.textContent,t.remove()):t.remove()),t=a}}removeChild(t){if(t.parentNode!==this)throw new Error("node is not a child");return t.remove(),t}replaceChild(t,r){let a=Rr(r)[Ze];return r.remove(),this.insertBefore(t,a),r}};var hn=class extends Zo{getElementById(t){let{[Ze]:r,[st]:a}=this;for(;r!==a;){if(r.nodeType===1&&r.id===t)return r;r=r[Ze]}return null}cloneNode(t){let{ownerDocument:r,constructor:a}=this,i=new a(r);if(t){let{[st]:s}=i;for(let o of this.childNodes)i.insertBefore(o.cloneNode(t),s)}return i}toString(){let{childNodes:t,localName:r}=this;return`<${r}>${t.join("")}</${r}>`}toJSON(){let t=[];return my(this,t),t}};var qn=class extends hn{constructor(t){super(t,"#document-fragment",11)}};var Ns=class e extends va{constructor(t,r,a="",i=""){super(t,"#document-type",10),this.name=r,this.publicId=a,this.systemId=i}cloneNode(){let{ownerDocument:t,name:r,publicId:a,systemId:i}=this;return new e(t,r,a,i)}toString(){let{name:t,publicId:r,systemId:a}=this,i=0<r.length,s=[t];return i&&s.push("PUBLIC",`"${r}"`),a.length&&(i||s.push("SYSTEM"),s.push(`"${a}"`)),`<!DOCTYPE ${s.join(" ")}>`}toJSON(){let t=[];return cg(this,t),t}};var cd=e=>e.childNodes.join(""),hd=(e,t)=>{let{ownerDocument:r}=e,{constructor:a}=r,i=new a;i[pa]=r[pa];let{childNodes:s}=zh(i,ai(e),t);e.replaceChildren(...s.map(tx,r))};function tx(e){switch(e.ownerDocument=this,e.nodeType){case 1:case 11:e.childNodes.forEach(tx,this);break}return e}var Jo=e=>e.replace(/(([A-Z0-9])([A-Z0-9][a-z]))|(([a-z0-9]+)([A-Z]))/g,"$2$5-$3$6").toLowerCase();var dd=new WeakMap,Dg=e=>`data-${Jo(e)}`,PI=e=>e.slice(5).replace(/-([a-z])/g,(t,r)=>r.toUpperCase()),GI={get(e,t){if(t in e)return dd.get(e).getAttribute(Dg(t))},set(e,t,r){return e[t]=r,dd.get(e).setAttribute(Dg(t),r),!0},deleteProperty(e,t){return t in e&&dd.get(e).removeAttribute(Dg(t)),delete e[t]}},Du=class{constructor(t){for(let{name:r,value:a}of t.attributes)/^data-/.test(r)&&(this[PI(r)]=a);return dd.set(this,t),new Proxy(this,GI)}};Mr(Du.prototype,null);var{add:UI}=Set.prototype,rx=(e,t)=>{for(let r of t)r&&UI.call(e,r)},Ru=({[v1]:e,value:t})=>{let r=e.getAttributeNode("class");r?r.value=t:Cu(e,new si(e.ownerDocument,"class",t))},fd=class extends Set{constructor(t){super(),this[v1]=t;let r=t.getAttributeNode("class");r&&rx(this,r.value.split(/\s+/))}get length(){return this.size}get value(){return[...this].join(" ")}add(...t){rx(this,t),Ru(this)}contains(t){return this.has(t)}remove(...t){for(let r of t)this.delete(r);Ru(this)}toggle(t,r){if(this.has(t)){if(r)return!0;this.delete(t),Ru(this)}else if(r||arguments.length===1)return super.add(t),Ru(this),!0;return!1}replace(t,r){return this.has(t)?(this.delete(t),super.add(r),Ru(this),!0):!1}supports(){return!0}};var gd=new WeakMap,Rg=e=>[...e.keys()].filter(t=>t!==Er),md=e=>{let t=gd.get(e).getAttributeNode("style");if((!t||t[Lo]||e.get(Er)!==t)&&(e.clear(),t)){e.set(Er,t);for(let r of t[Lt].split(/\s*;\s*/)){let[a,...i]=r.split(":");if(i.length>0){a=a.trim();let s=i.join(":").trim();a&&s&&e.set(a,s)}}}return t},pd={get(e,t){return t in YI?e[t]:(md(e),t==="length"?Rg(e).length:/^\d+$/.test(t)?Rg(e)[t]:e.get(Jo(t)))},set(e,t,r){if(t==="cssText")e[t]=r;else{let a=md(e);if(r==null?e.delete(Jo(t)):e.set(Jo(t),r),!a){let i=gd.get(e);a=i.ownerDocument.createAttribute("style"),i.setAttributeNode(a),e.set(Er,a)}a[Lo]=!1,a[Lt]=e.toString()}return!0}},_u=class extends Map{constructor(t){return super(),gd.set(this,t),new Proxy(this,pd)}get cssText(){return this.toString()}set cssText(t){gd.get(this).setAttribute("style",t)}getPropertyValue(t){let r=this[Er];return pd.get(r,t)}setProperty(t,r){let a=this[Er];pd.set(a,t,r)}removeProperty(t){let r=this[Er];pd.set(r,t,null)}[Symbol.iterator](){let t=this[Er];md(t);let r=Rg(t),{length:a}=r,i=0;return{next(){let s=i===a;return{done:s,value:s?null:r[i++]}}}}get[Er](){return this}toString(){let t=this[Er];md(t);let r=[];return t.forEach(KI,r),r.join(";")}},{prototype:YI}=_u;function KI(e,t){t!==Er&&this.push(`${t}:${e}`)}function qI(e){return e.currentTarget}var ma=class{static get BUBBLING_PHASE(){return 3}static get AT_TARGET(){return 2}static get CAPTURING_PHASE(){return 1}static get NONE(){return 0}constructor(t,r={}){this.type=t,this.bubbles=!!r.bubbles,this.cancelBubble=!1,this._stopImmediatePropagationFlag=!1,this.cancelable=!!r.cancelable,this.eventPhase=this.NONE,this.timeStamp=Date.now(),this.defaultPrevented=!1,this.originalTarget=null,this.returnValue=null,this.srcElement=null,this.target=null,this._path=[]}get BUBBLING_PHASE(){return 3}get AT_TARGET(){return 2}get CAPTURING_PHASE(){return 1}get NONE(){return 0}preventDefault(){this.defaultPrevented=!0}composedPath(){return this._path.map(qI)}stopPropagation(){this.cancelBubble=!0}stopImmediatePropagation(){this.stopPropagation(),this._stopImmediatePropagationFlag=!0}};var el=class extends Array{constructor(t){super(),this.ownerElement=t}getNamedItem(t){return this.ownerElement.getAttributeNode(t)}setNamedItem(t){this.ownerElement.setAttributeNode(t),this.unshift(t)}removeNamedItem(t){let r=this.getNamedItem(t);this.ownerElement.removeAttribute(t),this.splice(this.indexOf(r),1)}item(t){return t<this.length?this[t]:null}getNamedItemNS(t,r){return this.getNamedItem(r)}setNamedItemNS(t,r){return this.setNamedItem(r)}removeNamedItemNS(t,r){return this.removeNamedItem(r)}};var zn=class extends hn{constructor(t){super(t.ownerDocument,"#shadow-root",11),this.host=t}get innerHTML(){return cd(this)}set innerHTML(t){hd(this,t)}};var zI={get(e,t){return t in e?e[t]:e.find(({name:r})=>r===t)}},ax=(e,t,r)=>{if("ownerSVGElement"in t){let a=e.createElementNS(Hn,r);return a.ownerSVGElement=t.ownerSVGElement,a}return e.createElement(r)},QI=({localName:e,ownerDocument:t})=>t[xi].voidElements.test(e),$i=class extends Zo{constructor(t,r){super(t,r,1),this[en]=null,this[vh]=null,this[kh]=null}get isConnected(){return jh(this)}get parentElement(){return Xh(this)}get previousSibling(){return $s(this)}get nextSibling(){return Mi(this)}get namespaceURI(){return"http://www.w3.org/1999/xhtml"}get previousElementSibling(){return Zh(this)}get nextElementSibling(){return qo(this)}before(...t){Jh(this,t)}after(...t){ed(this,t)}replaceWith(...t){Mu(this,t)}remove(){td(this[Vt],this,this[st][Ze])}get id(){return ze.get(this,"id")}set id(t){ze.set(this,"id",t)}get className(){return this.classList.value}set className(t){let{classList:r}=this;r.clear(),r.add(...Si(t).split(/\s+/))}get nodeName(){return wu(this)}get tagName(){return wu(this)}get classList(){return this[en]||(this[en]=new fd(this))}get dataset(){return this[vh]||(this[vh]=new Du(this))}getBoundingClientRect(){return{x:0,y:0,bottom:0,height:0,left:0,right:0,top:0,width:0}}get nonce(){return ze.get(this,"nonce")}set nonce(t){ze.set(this,"nonce",t)}get style(){return this[kh]||(this[kh]=new _u(this))}get tabIndex(){return Ei.get(this,"tabindex")||-1}set tabIndex(t){Ei.set(this,"tabindex",t)}get slot(){return ze.get(this,"slot")}set slot(t){ze.set(this,"slot",t)}get innerText(){let t=[],{[Ze]:r,[st]:a}=this;for(;r!==a;)r.nodeType===3?t.push(r.textContent.replace(/\s+/g," ")):t.length&&r[Ze]!=a&&ey.has(r.tagName)&&t.push(`
161
+ `),r=r[Ze];return t.join("")}get textContent(){let t=[],{[Ze]:r,[st]:a}=this;for(;r!==a;){let i=r.nodeType;(i===3||i===4)&&t.push(r.textContent),r=r[Ze]}return t.join("")}set textContent(t){this.replaceChildren(),t!=null&&t!==""&&this.appendChild(new li(this.ownerDocument,t))}get innerHTML(){return cd(this)}set innerHTML(t){hd(this,t)}get outerHTML(){return this.toString()}set outerHTML(t){let r=this.ownerDocument.createElement("");r.innerHTML=t,this.replaceWith(...r.childNodes)}get attributes(){let t=new el(this),r=this[Ze];for(;r.nodeType===2;)t.push(r),r=r[Ze];return new Proxy(t,zI)}focus(){this.dispatchEvent(new ma("focus"))}getAttribute(t){if(t==="class")return this.className;let r=this.getAttributeNode(t);return r&&(ai(this)?r.value:Ko(r.value))}getAttributeNode(t){let r=this[Ze];for(;r.nodeType===2;){if(r.name===t)return r;r=r[Ze]}return null}getAttributeNames(){let t=new _r,r=this[Ze];for(;r.nodeType===2;)t.push(r.name),r=r[Ze];return t}hasAttribute(t){return!!this.getAttributeNode(t)}hasAttributes(){return this[Ze].nodeType===2}removeAttribute(t){t==="class"&&this[en]&&this[en].clear();let r=this[Ze];for(;r.nodeType===2;){if(r.name===t){dg(this,r);return}r=r[Ze]}}removeAttributeNode(t){let r=this[Ze];for(;r.nodeType===2;){if(r===t){dg(this,r);return}r=r[Ze]}}setAttribute(t,r){if(t==="class")this.className=r;else{let a=this.getAttributeNode(t);a?a.value=r:Cu(this,new si(this.ownerDocument,t,r))}}setAttributeNode(t){let{name:r}=t,a=this.getAttributeNode(r);if(a!==t){a&&this.removeAttributeNode(a);let{ownerElement:i}=t;i&&i.removeAttributeNode(t),Cu(this,t)}return a}toggleAttribute(t,r){return this.hasAttribute(t)?r?!0:(this.removeAttribute(t),!1):r||arguments.length===1?(this.setAttribute(t,""),!0):!1}get shadowRoot(){if(ji.has(this)){let{mode:t,shadowRoot:r}=ji.get(this);if(t==="open")return r}return null}attachShadow(t){if(ji.has(this))throw new Error("operation not supported");let r=new zn(this);return ji.set(this,{mode:t.mode,shadowRoot:r}),r}matches(t){return ex(this,t)}closest(t){let r=this,a=Nu(r,t);for(;r&&!a(r);)r=r.parentElement;return r}insertAdjacentElement(t,r){let{parentElement:a}=this;switch(t){case"beforebegin":if(a){a.insertBefore(r,this);break}return null;case"afterbegin":this.insertBefore(r,this.firstChild);break;case"beforeend":this.insertBefore(r,null);break;case"afterend":if(a){a.insertBefore(r,this.nextSibling);break}return null}return r}insertAdjacentHTML(t,r){this.insertAdjacentElement(t,Yh(this.ownerDocument,r))}insertAdjacentText(t,r){let a=this.ownerDocument.createTextNode(r);this.insertAdjacentElement(t,a)}cloneNode(t=!1){let{ownerDocument:r,localName:a}=this,i=c=>{c.parentNode=o,Ma(n,c),n=c},s=ax(r,this,a),o=s,n=s,{[Ze]:l,[st]:u}=this;for(;l!==u&&(t||l.nodeType===2);){switch(l.nodeType){case-1:Ma(n,o[st]),n=o[st],o=o.parentNode;break;case 1:{let c=ax(r,l,l.localName);i(c),o=c;break}case 2:{let c=l.cloneNode(t);c.ownerElement=o,i(c);break}case 3:case 8:case 4:i(l.cloneNode(t));break}l=l[Ze]}return Ma(n,s[st]),s}toString(){let t=[],{[st]:r}=this,a={[Ze]:this},i=!1;do switch(a=a[Ze],a.nodeType){case 2:{let s=" "+a;switch(s){case" id":case" class":case" style":break;default:t.push(s)}break}case-1:{let s=a[Hr];i?("ownerSVGElement"in s?t.push(" />"):QI(s)?t.push(ai(s)?">":" />"):t.push(`></${s.localName}>`),i=!1):t.push(`</${s.localName}>`);break}case 1:i&&t.push(">"),a.toString!==this.toString?(t.push(a.toString()),a=a[st],i=!1):(t.push(`<${a.localName}`),i=!0);break;case 3:case 8:case 4:t.push((i?">":"")+a),i=!1;break}while(a!==r);return t.join("")}toJSON(){let t=[];return hg(this,t),t}getAttributeNS(t,r){return this.getAttribute(r)}getElementsByTagNameNS(t,r){return this.getElementsByTagName(r)}hasAttributeNS(t,r){return this.hasAttribute(r)}removeAttributeNS(t,r){this.removeAttribute(r)}setAttributeNS(t,r,a){this.setAttribute(r,a)}setAttributeNodeNS(t){return this.setAttributeNode(t)}};var _g=new WeakMap,VI={get(e,t){return e[t]},set(e,t,r){return e[t]=r,!0}},Ti=class extends $i{constructor(t,r,a=null){super(t,r),this.ownerSVGElement=a}get className(){return _g.has(this)||_g.set(this,new Proxy({baseVal:"",animVal:""},VI)),_g.get(this)}set className(t){let{classList:r}=this;r.clear(),r.add(...Si(t).split(/\s+/))}get namespaceURI(){return"http://www.w3.org/2000/svg"}getAttribute(t){return t==="class"?[...this.classList].join(" "):super.getAttribute(t)}setAttribute(t,r){if(t==="class")this.className=r;else if(t==="style"){let{className:a}=this;a.baseVal=a.animVal=r}super.setAttribute(t,r)}};var Aa=()=>{throw new TypeError("Illegal constructor")};function Lg(){Aa()}Mr(Lg,si);Lg.prototype=si.prototype;function Og(){Aa()}Mr(Og,un);Og.prototype=un.prototype;function Bg(){Aa()}Mr(Bg,vi);Bg.prototype=vi.prototype;function Fg(){Aa()}Mr(Fg,cn);Fg.prototype=cn.prototype;function Wg(){Aa()}Mr(Wg,qn);Wg.prototype=qn.prototype;function Hg(){Aa()}Mr(Hg,Ns);Hg.prototype=Ns.prototype;function Pg(){Aa()}Mr(Pg,$i);Pg.prototype=$i.prototype;function Gg(){Aa()}Mr(Gg,va);Gg.prototype=va.prototype;function Ug(){Aa()}Mr(Ug,zn);Ug.prototype=zn.prototype;function Yg(){Aa()}Mr(Yg,li);Yg.prototype=li.prototype;function Kg(){Aa()}Mr(Kg,Ti);Kg.prototype=Ti.prototype;var ix={Attr:Lg,CDATASection:Og,CharacterData:Bg,Comment:Fg,DocumentFragment:Wg,DocumentType:Hg,Element:Pg,Node:Gg,ShadowRoot:Ug,Text:Yg,SVGElement:Kg};var Lu=new WeakMap,Le={get(e,t){return Lu.has(e)&&Lu.get(e)[t]||null},set(e,t,r){Lu.has(e)||Lu.set(e,{});let a=Lu.get(e),i=t.slice(2);a[t]&&e.removeEventListener(i,a[t],!1),(a[t]=r)&&e.addEventListener(i,r,!1)}},Be=class extends $i{static get observedAttributes(){return[]}constructor(t=null,r=""){super(t,r);let a=!t,i;if(a){let{constructor:s}=this;if(!Pn.has(s))throw new Error("unable to initialize this Custom Element");({ownerDocument:t,localName:r,options:i}=Pn.get(s))}if(t[rn]){let{element:s,values:o}=t[rn];t[rn]=null;for(let[n,l]of o)s[n]=l;return s}a&&(this.ownerDocument=this[st].ownerDocument=t,this.localName=r,ks.set(this,{connected:!1}),i.is&&this.setAttribute("is",i.is))}blur(){this.dispatchEvent(new ma("blur"))}click(){let t=new ma("click",{bubbles:!0,cancelable:!0});t.button=0,this.dispatchEvent(t)}get accessKeyLabel(){let{accessKey:t}=this;return t&&`Alt+Shift+${t}`}get isContentEditable(){return this.hasAttribute("contenteditable")}get contentEditable(){return Tt.get(this,"contenteditable")}set contentEditable(t){Tt.set(this,"contenteditable",t)}get draggable(){return Tt.get(this,"draggable")}set draggable(t){Tt.set(this,"draggable",t)}get hidden(){return Tt.get(this,"hidden")}set hidden(t){Tt.set(this,"hidden",t)}get spellcheck(){return Tt.get(this,"spellcheck")}set spellcheck(t){Tt.set(this,"spellcheck",t)}get accessKey(){return ze.get(this,"accesskey")}set accessKey(t){ze.set(this,"accesskey",t)}get dir(){return ze.get(this,"dir")}set dir(t){ze.set(this,"dir",t)}get lang(){return ze.get(this,"lang")}set lang(t){ze.set(this,"lang",t)}get title(){return ze.get(this,"title")}set title(t){ze.set(this,"title",t)}get onabort(){return Le.get(this,"onabort")}set onabort(t){Le.set(this,"onabort",t)}get onblur(){return Le.get(this,"onblur")}set onblur(t){Le.set(this,"onblur",t)}get oncancel(){return Le.get(this,"oncancel")}set oncancel(t){Le.set(this,"oncancel",t)}get oncanplay(){return Le.get(this,"oncanplay")}set oncanplay(t){Le.set(this,"oncanplay",t)}get oncanplaythrough(){return Le.get(this,"oncanplaythrough")}set oncanplaythrough(t){Le.set(this,"oncanplaythrough",t)}get onchange(){return Le.get(this,"onchange")}set onchange(t){Le.set(this,"onchange",t)}get onclick(){return Le.get(this,"onclick")}set onclick(t){Le.set(this,"onclick",t)}get onclose(){return Le.get(this,"onclose")}set onclose(t){Le.set(this,"onclose",t)}get oncontextmenu(){return Le.get(this,"oncontextmenu")}set oncontextmenu(t){Le.set(this,"oncontextmenu",t)}get oncuechange(){return Le.get(this,"oncuechange")}set oncuechange(t){Le.set(this,"oncuechange",t)}get ondblclick(){return Le.get(this,"ondblclick")}set ondblclick(t){Le.set(this,"ondblclick",t)}get ondrag(){return Le.get(this,"ondrag")}set ondrag(t){Le.set(this,"ondrag",t)}get ondragend(){return Le.get(this,"ondragend")}set ondragend(t){Le.set(this,"ondragend",t)}get ondragenter(){return Le.get(this,"ondragenter")}set ondragenter(t){Le.set(this,"ondragenter",t)}get ondragleave(){return Le.get(this,"ondragleave")}set ondragleave(t){Le.set(this,"ondragleave",t)}get ondragover(){return Le.get(this,"ondragover")}set ondragover(t){Le.set(this,"ondragover",t)}get ondragstart(){return Le.get(this,"ondragstart")}set ondragstart(t){Le.set(this,"ondragstart",t)}get ondrop(){return Le.get(this,"ondrop")}set ondrop(t){Le.set(this,"ondrop",t)}get ondurationchange(){return Le.get(this,"ondurationchange")}set ondurationchange(t){Le.set(this,"ondurationchange",t)}get onemptied(){return Le.get(this,"onemptied")}set onemptied(t){Le.set(this,"onemptied",t)}get onended(){return Le.get(this,"onended")}set onended(t){Le.set(this,"onended",t)}get onerror(){return Le.get(this,"onerror")}set onerror(t){Le.set(this,"onerror",t)}get onfocus(){return Le.get(this,"onfocus")}set onfocus(t){Le.set(this,"onfocus",t)}get oninput(){return Le.get(this,"oninput")}set oninput(t){Le.set(this,"oninput",t)}get oninvalid(){return Le.get(this,"oninvalid")}set oninvalid(t){Le.set(this,"oninvalid",t)}get onkeydown(){return Le.get(this,"onkeydown")}set onkeydown(t){Le.set(this,"onkeydown",t)}get onkeypress(){return Le.get(this,"onkeypress")}set onkeypress(t){Le.set(this,"onkeypress",t)}get onkeyup(){return Le.get(this,"onkeyup")}set onkeyup(t){Le.set(this,"onkeyup",t)}get onload(){return Le.get(this,"onload")}set onload(t){Le.set(this,"onload",t)}get onloadeddata(){return Le.get(this,"onloadeddata")}set onloadeddata(t){Le.set(this,"onloadeddata",t)}get onloadedmetadata(){return Le.get(this,"onloadedmetadata")}set onloadedmetadata(t){Le.set(this,"onloadedmetadata",t)}get onloadstart(){return Le.get(this,"onloadstart")}set onloadstart(t){Le.set(this,"onloadstart",t)}get onmousedown(){return Le.get(this,"onmousedown")}set onmousedown(t){Le.set(this,"onmousedown",t)}get onmouseenter(){return Le.get(this,"onmouseenter")}set onmouseenter(t){Le.set(this,"onmouseenter",t)}get onmouseleave(){return Le.get(this,"onmouseleave")}set onmouseleave(t){Le.set(this,"onmouseleave",t)}get onmousemove(){return Le.get(this,"onmousemove")}set onmousemove(t){Le.set(this,"onmousemove",t)}get onmouseout(){return Le.get(this,"onmouseout")}set onmouseout(t){Le.set(this,"onmouseout",t)}get onmouseover(){return Le.get(this,"onmouseover")}set onmouseover(t){Le.set(this,"onmouseover",t)}get onmouseup(){return Le.get(this,"onmouseup")}set onmouseup(t){Le.set(this,"onmouseup",t)}get onmousewheel(){return Le.get(this,"onmousewheel")}set onmousewheel(t){Le.set(this,"onmousewheel",t)}get onpause(){return Le.get(this,"onpause")}set onpause(t){Le.set(this,"onpause",t)}get onplay(){return Le.get(this,"onplay")}set onplay(t){Le.set(this,"onplay",t)}get onplaying(){return Le.get(this,"onplaying")}set onplaying(t){Le.set(this,"onplaying",t)}get onprogress(){return Le.get(this,"onprogress")}set onprogress(t){Le.set(this,"onprogress",t)}get onratechange(){return Le.get(this,"onratechange")}set onratechange(t){Le.set(this,"onratechange",t)}get onreset(){return Le.get(this,"onreset")}set onreset(t){Le.set(this,"onreset",t)}get onresize(){return Le.get(this,"onresize")}set onresize(t){Le.set(this,"onresize",t)}get onscroll(){return Le.get(this,"onscroll")}set onscroll(t){Le.set(this,"onscroll",t)}get onseeked(){return Le.get(this,"onseeked")}set onseeked(t){Le.set(this,"onseeked",t)}get onseeking(){return Le.get(this,"onseeking")}set onseeking(t){Le.set(this,"onseeking",t)}get onselect(){return Le.get(this,"onselect")}set onselect(t){Le.set(this,"onselect",t)}get onshow(){return Le.get(this,"onshow")}set onshow(t){Le.set(this,"onshow",t)}get onstalled(){return Le.get(this,"onstalled")}set onstalled(t){Le.set(this,"onstalled",t)}get onsubmit(){return Le.get(this,"onsubmit")}set onsubmit(t){Le.set(this,"onsubmit",t)}get onsuspend(){return Le.get(this,"onsuspend")}set onsuspend(t){Le.set(this,"onsuspend",t)}get ontimeupdate(){return Le.get(this,"ontimeupdate")}set ontimeupdate(t){Le.set(this,"ontimeupdate",t)}get ontoggle(){return Le.get(this,"ontoggle")}set ontoggle(t){Le.set(this,"ontoggle",t)}get onvolumechange(){return Le.get(this,"onvolumechange")}set onvolumechange(t){Le.set(this,"onvolumechange",t)}get onwaiting(){return Le.get(this,"onwaiting")}set onwaiting(t){Le.set(this,"onwaiting",t)}get onauxclick(){return Le.get(this,"onauxclick")}set onauxclick(t){Le.set(this,"onauxclick",t)}get ongotpointercapture(){return Le.get(this,"ongotpointercapture")}set ongotpointercapture(t){Le.set(this,"ongotpointercapture",t)}get onlostpointercapture(){return Le.get(this,"onlostpointercapture")}set onlostpointercapture(t){Le.set(this,"onlostpointercapture",t)}get onpointercancel(){return Le.get(this,"onpointercancel")}set onpointercancel(t){Le.set(this,"onpointercancel",t)}get onpointerdown(){return Le.get(this,"onpointerdown")}set onpointerdown(t){Le.set(this,"onpointerdown",t)}get onpointerenter(){return Le.get(this,"onpointerenter")}set onpointerenter(t){Le.set(this,"onpointerenter",t)}get onpointerleave(){return Le.get(this,"onpointerleave")}set onpointerleave(t){Le.set(this,"onpointerleave",t)}get onpointermove(){return Le.get(this,"onpointermove")}set onpointermove(t){Le.set(this,"onpointermove",t)}get onpointerout(){return Le.get(this,"onpointerout")}set onpointerout(t){Le.set(this,"onpointerout",t)}get onpointerover(){return Le.get(this,"onpointerover")}set onpointerover(t){Le.set(this,"onpointerover",t)}get onpointerup(){return Le.get(this,"onpointerup")}set onpointerup(t){Le.set(this,"onpointerup",t)}};var sx="template",Ou=class extends Be{constructor(t){super(t,sx);let r=this.ownerDocument.createDocumentFragment();(this[nu]=r)[Er]=this}get content(){if(this.hasChildNodes()&&!this[nu].hasChildNodes())for(let t of this.childNodes)this[nu].appendChild(t.cloneNode(!0));return this[nu]}};Nt(sx,Ou);var Ad=class extends Be{constructor(t,r="html"){super(t,r)}};var{toString:jI}=Be.prototype,Ji=class extends Be{get innerHTML(){return this.textContent}set innerHTML(t){this.textContent=t}toString(){return jI.call(this.cloneNode()).replace("><",()=>`>${this.textContent}<`)}};var nx="script",Bu=class extends Ji{constructor(t,r=nx){super(t,r)}get type(){return ze.get(this,"type")}set type(t){ze.set(this,"type",t)}get src(){return ze.get(this,"src")}set src(t){ze.set(this,"src",t)}get defer(){return Tt.get(this,"defer")}set defer(t){Tt.set(this,"defer",t)}get crossOrigin(){return ze.get(this,"crossorigin")}set crossOrigin(t){ze.set(this,"crossorigin",t)}get nomodule(){return Tt.get(this,"nomodule")}set nomodule(t){Tt.set(this,"nomodule",t)}get referrerPolicy(){return ze.get(this,"referrerpolicy")}set referrerPolicy(t){ze.set(this,"referrerpolicy",t)}get nonce(){return ze.get(this,"nonce")}set nonce(t){ze.set(this,"nonce",t)}get async(){return Tt.get(this,"async")}set async(t){Tt.set(this,"async",t)}get text(){return this.textContent}set text(t){this.textContent=t}};Nt(nx,Bu);var bd=class extends Be{constructor(t,r="frame"){super(t,r)}};var ox="iframe",Fu=class extends Be{constructor(t,r=ox){super(t,r)}get src(){return ze.get(this,"src")}set src(t){ze.set(this,"src",t)}get srcdoc(){return ze.get(this,"srcdoc")}set srcdoc(t){ze.set(this,"srcdoc",t)}get name(){return ze.get(this,"name")}set name(t){ze.set(this,"name",t)}get allow(){return ze.get(this,"allow")}set allow(t){ze.set(this,"allow",t)}get allowFullscreen(){return Tt.get(this,"allowfullscreen")}set allowFullscreen(t){Tt.set(this,"allowfullscreen",t)}get referrerPolicy(){return ze.get(this,"referrerpolicy")}set referrerPolicy(t){ze.set(this,"referrerpolicy",t)}get loading(){return ze.get(this,"loading")}set loading(t){ze.set(this,"loading",t)}};Nt(ox,Fu);var yd=class extends Be{constructor(t,r="object"){super(t,r)}};var xd=class extends Be{constructor(t,r="head"){super(t,r)}};var wd=class extends Be{constructor(t,r="body"){super(t,r)}};var Dx=Ua(Nx(),1);var Rx="style",Pu=class extends Ji{constructor(t,r=Rx){super(t,r),this[Bn]=null}get sheet(){let t=this[Bn];return t!==null?t:this[Bn]=(0,Dx.parse)(this.textContent)}get innerHTML(){return super.innerHTML||""}set innerHTML(t){super.textContent=t,this[Bn]=null}get innerText(){return super.innerText||""}set innerText(t){super.textContent=t,this[Bn]=null}get textContent(){return super.textContent||""}set textContent(t){super.textContent=t,this[Bn]=null}};Nt(Rx,Pu);var Gu=class extends Be{constructor(t,r="time"){super(t,r)}get dateTime(){return ze.get(this,"datetime")}set dateTime(t){ze.set(this,"datetime",t)}};Nt("time",Gu);var Dd=class extends Be{constructor(t,r="fieldset"){super(t,r)}};var Rd=class extends Be{constructor(t,r="embed"){super(t,r)}};var _d=class extends Be{constructor(t,r="hr"){super(t,r)}};var Ld=class extends Be{constructor(t,r="progress"){super(t,r)}};var Od=class extends Be{constructor(t,r="p"){super(t,r)}};var Bd=class extends Be{constructor(t,r="table"){super(t,r)}};var Fd=class extends Be{constructor(t,r="frameset"){super(t,r)}};var Wd=class extends Be{constructor(t,r="li"){super(t,r)}};var Hd=class extends Be{constructor(t,r="base"){super(t,r)}};var Pd=class extends Be{constructor(t,r="datalist"){super(t,r)}};var _x="input",Uu=class extends Be{constructor(t,r=_x){super(t,r)}get autofocus(){return Tt.get(this,"autofocus")||-1}set autofocus(t){Tt.set(this,"autofocus",t)}get disabled(){return Tt.get(this,"disabled")}set disabled(t){Tt.set(this,"disabled",t)}get name(){return this.getAttribute("name")}set name(t){this.setAttribute("name",t)}get placeholder(){return this.getAttribute("placeholder")}set placeholder(t){this.setAttribute("placeholder",t)}get type(){return this.getAttribute("type")}set type(t){this.setAttribute("type",t)}get value(){return ze.get(this,"value")}set value(t){ze.set(this,"value",t)}};Nt(_x,Uu);var Gd=class extends Be{constructor(t,r="param"){super(t,r)}};var Ud=class extends Be{constructor(t,r="media"){super(t,r)}};var Yd=class extends Be{constructor(t,r="audio"){super(t,r)}};var Lx="h1",Yu=class extends Be{constructor(t,r=Lx){super(t,r)}};Nt([Lx,"h2","h3","h4","h5","h6"],Yu);var Kd=class extends Be{constructor(t,r="dir"){super(t,r)}};var qd=class extends Be{constructor(t,r="quote"){super(t,r)}};var Wx=Ua(Fx(),1);var{createCanvas:XI}=Wx.default,Hx="canvas",Ku=class extends Be{constructor(t,r=Hx){super(t,r),this[Ya]=XI(300,150)}get width(){return this[Ya].width}set width(t){Ei.set(this,"width",t),this[Ya].width=t}get height(){return this[Ya].height}set height(t){Ei.set(this,"height",t),this[Ya].height=t}getContext(t){return this[Ya].getContext(t)}toDataURL(...t){return this[Ya].toDataURL(...t)}};Nt(Hx,Ku);var zd=class extends Be{constructor(t,r="legend"){super(t,r)}};var Px="option",qu=class extends Be{constructor(t,r=Px){super(t,r)}get value(){return ze.get(this,"value")}set value(t){ze.set(this,"value",t)}get selected(){return Tt.get(this,"selected")}set selected(t){let r=this.parentElement?.querySelector("option[selected]");r&&r!==this&&(r.selected=!1),Tt.set(this,"selected",t)}};Nt(Px,qu);var Qd=class extends Be{constructor(t,r="span"){super(t,r)}};var Vd=class extends Be{constructor(t,r="meter"){super(t,r)}};var jd=class extends Be{constructor(t,r="video"){super(t,r)}};var Xd=class extends Be{constructor(t,r="td"){super(t,r)}};var Gx="title",zu=class extends Ji{constructor(t,r=Gx){super(t,r)}};Nt(Gx,zu);var Zd=class extends Be{constructor(t,r="output"){super(t,r)}};var Jd=class extends Be{constructor(t,r="tr"){super(t,r)}};var e0=class extends Be{constructor(t,r="data"){super(t,r)}};var t0=class extends Be{constructor(t,r="menu"){super(t,r)}};var Ux="select",Qu=class extends Be{constructor(t,r=Ux){super(t,r)}get options(){let t=new _r,{firstElementChild:r}=this;for(;r;)r.tagName==="OPTGROUP"?t.push(...r.children):t.push(r),r=r.nextElementSibling;return t}get disabled(){return Tt.get(this,"disabled")}set disabled(t){Tt.set(this,"disabled",t)}get name(){return this.getAttribute("name")}set name(t){this.setAttribute("name",t)}get value(){return this.querySelector("option[selected]")?.value}};Nt(Ux,Qu);var r0=class extends Be{constructor(t,r="br"){super(t,r)}};var Yx="button",Vu=class extends Be{constructor(t,r=Yx){super(t,r)}get disabled(){return Tt.get(this,"disabled")}set disabled(t){Tt.set(this,"disabled",t)}get name(){return this.getAttribute("name")}set name(t){this.setAttribute("name",t)}get type(){return this.getAttribute("type")}set type(t){this.setAttribute("type",t)}};Nt(Yx,Vu);var a0=class extends Be{constructor(t,r="map"){super(t,r)}};var i0=class extends Be{constructor(t,r="optgroup"){super(t,r)}};var s0=class extends Be{constructor(t,r="dl"){super(t,r)}};var Kx="textarea",ju=class extends Ji{constructor(t,r=Kx){super(t,r)}get disabled(){return Tt.get(this,"disabled")}set disabled(t){Tt.set(this,"disabled",t)}get name(){return this.getAttribute("name")}set name(t){this.setAttribute("name",t)}get placeholder(){return this.getAttribute("placeholder")}set placeholder(t){this.setAttribute("placeholder",t)}get type(){return this.getAttribute("type")}set type(t){this.setAttribute("type",t)}get value(){return this.textContent}set value(t){this.textContent=t}};Nt(Kx,ju);var n0=class extends Be{constructor(t,r="font"){super(t,r)}};var o0=class extends Be{constructor(t,r="div"){super(t,r)}};var qx="link",Xu=class extends Be{constructor(t,r=qx){super(t,r)}get disabled(){return Tt.get(this,"disabled")}set disabled(t){Tt.set(this,"disabled",t)}get href(){return ze.get(this,"href").trim()}set href(t){ze.set(this,"href",t)}get hreflang(){return ze.get(this,"hreflang")}set hreflang(t){ze.set(this,"hreflang",t)}get media(){return ze.get(this,"media")}set media(t){ze.set(this,"media",t)}get rel(){return ze.get(this,"rel")}set rel(t){ze.set(this,"rel",t)}get type(){return ze.get(this,"type")}set type(t){ze.set(this,"type",t)}};Nt(qx,Xu);var zx="slot",Zu=class extends Be{constructor(t,r=zx){super(t,r)}get name(){return this.getAttribute("name")}set name(t){this.setAttribute("name",t)}assign(){}assignedNodes(t){let r=!!this.name,a=this.getRootNode().host?.childNodes??[],i;if(r?i=[...a].filter(s=>s.slot===this.name):i=[...a].filter(s=>!s.slot),t?.flatten){let s=[];for(let o of i)o.localName==="slot"?s.push(...o.assignedNodes({flatten:!0})):s.push(o);i=s}return i.length?i:[...this.childNodes]}assignedElements(t){let r=this.assignedNodes(t).filter(a=>a.nodeType===1);return r.length?r:[...this.children]}};Nt(zx,Zu);var l0=class extends Be{constructor(t,r="form"){super(t,r)}};var Qx="img",jn=class extends Be{constructor(t,r=Qx){super(t,r)}get alt(){return ze.get(this,"alt")}set alt(t){ze.set(this,"alt",t)}get sizes(){return ze.get(this,"sizes")}set sizes(t){ze.set(this,"sizes",t)}get src(){return ze.get(this,"src")}set src(t){ze.set(this,"src",t)}get srcset(){return ze.get(this,"srcset")}set srcset(t){ze.set(this,"srcset",t)}get title(){return ze.get(this,"title")}set title(t){ze.set(this,"title",t)}get width(){return Ei.get(this,"width")}set width(t){Ei.set(this,"width",t)}get height(){return Ei.get(this,"height")}set height(t){Ei.set(this,"height",t)}};Nt(Qx,jn);var u0=class extends Be{constructor(t,r="pre"){super(t,r)}};var c0=class extends Be{constructor(t,r="ul"){super(t,r)}};var Vx="meta",Ju=class extends Be{constructor(t,r=Vx){super(t,r)}get name(){return ze.get(this,"name")}set name(t){ze.set(this,"name",t)}get httpEquiv(){return ze.get(this,"http-equiv")}set httpEquiv(t){ze.set(this,"http-equiv",t)}get content(){return ze.get(this,"content")}set content(t){ze.set(this,"content",t)}get charset(){return ze.get(this,"charset")}set charset(t){ze.set(this,"charset",t)}get media(){return ze.get(this,"media")}set media(t){ze.set(this,"media",t)}};Nt(Vx,Ju);var h0=class extends Be{constructor(t,r="picture"){super(t,r)}};var d0=class extends Be{constructor(t,r="area"){super(t,r)}};var f0=class extends Be{constructor(t,r="ol"){super(t,r)}};var p0=class extends Be{constructor(t,r="caption"){super(t,r)}};var jx="a",ec=class extends Be{constructor(t,r=jx){super(t,r)}get href(){return encodeURI(decodeURI(ze.get(this,"href"))).trim()}set href(t){ze.set(this,"href",decodeURI(t))}get download(){return encodeURI(decodeURI(ze.get(this,"download")))}set download(t){ze.set(this,"download",decodeURI(t))}get target(){return ze.get(this,"target")}set target(t){ze.set(this,"target",t)}get type(){return ze.get(this,"type")}set type(t){ze.set(this,"type",t)}get rel(){return ze.get(this,"rel")}set rel(t){ze.set(this,"rel",t)}};Nt(jx,ec);var g0=class extends Be{constructor(t,r="label"){super(t,r)}};var m0=class extends Be{constructor(t,r="unknown"){super(t,r)}};var A0=class extends Be{constructor(t,r="mod"){super(t,r)}};var b0=class extends Be{constructor(t,r="details"){super(t,r)}};var Xx="source",tc=class extends Be{constructor(t,r=Xx){super(t,r)}get src(){return ze.get(this,"src")}set src(t){ze.set(this,"src",t)}get srcset(){return ze.get(this,"srcset")}set srcset(t){ze.set(this,"srcset",t)}get sizes(){return ze.get(this,"sizes")}set sizes(t){ze.set(this,"sizes",t)}get type(){return ze.get(this,"type")}set type(t){ze.set(this,"type",t)}};Nt(Xx,tc);var y0=class extends Be{constructor(t,r="track"){super(t,r)}};var x0=class extends Be{constructor(t,r="marquee"){super(t,r)}};var Zx={HTMLElement:Be,HTMLTemplateElement:Ou,HTMLHtmlElement:Ad,HTMLScriptElement:Bu,HTMLFrameElement:bd,HTMLIFrameElement:Fu,HTMLObjectElement:yd,HTMLHeadElement:xd,HTMLBodyElement:wd,HTMLStyleElement:Pu,HTMLTimeElement:Gu,HTMLFieldSetElement:Dd,HTMLEmbedElement:Rd,HTMLHRElement:_d,HTMLProgressElement:Ld,HTMLParagraphElement:Od,HTMLTableElement:Bd,HTMLFrameSetElement:Fd,HTMLLIElement:Wd,HTMLBaseElement:Hd,HTMLDataListElement:Pd,HTMLInputElement:Uu,HTMLParamElement:Gd,HTMLMediaElement:Ud,HTMLAudioElement:Yd,HTMLHeadingElement:Yu,HTMLDirectoryElement:Kd,HTMLQuoteElement:qd,HTMLCanvasElement:Ku,HTMLLegendElement:zd,HTMLOptionElement:qu,HTMLSpanElement:Qd,HTMLMeterElement:Vd,HTMLVideoElement:jd,HTMLTableCellElement:Xd,HTMLTitleElement:zu,HTMLOutputElement:Zd,HTMLTableRowElement:Jd,HTMLDataElement:e0,HTMLMenuElement:t0,HTMLSelectElement:Qu,HTMLBRElement:r0,HTMLButtonElement:Vu,HTMLMapElement:a0,HTMLOptGroupElement:i0,HTMLDListElement:s0,HTMLTextAreaElement:ju,HTMLFontElement:n0,HTMLDivElement:o0,HTMLLinkElement:Xu,HTMLSlotElement:Zu,HTMLFormElement:l0,HTMLImageElement:jn,HTMLPreElement:u0,HTMLUListElement:c0,HTMLMetaElement:Ju,HTMLPictureElement:h0,HTMLAreaElement:d0,HTMLOListElement:f0,HTMLTableCaptionElement:p0,HTMLAnchorElement:ec,HTMLLabelElement:g0,HTMLUnknownElement:m0,HTMLModElement:A0,HTMLDetailsElement:b0,HTMLSourceElement:tc,HTMLTrackElement:y0,HTMLMarqueeElement:x0};var w0={test:()=>!0},Jx={"text/html":{docType:"<!DOCTYPE html>",ignoreCase:!0,voidElements:/^(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)$/i},"image/svg+xml":{docType:'<?xml version="1.0" encoding="utf-8"?>',ignoreCase:!1,voidElements:w0},"text/xml":{docType:'<?xml version="1.0" encoding="utf-8"?>',ignoreCase:!1,voidElements:w0},"application/xml":{docType:'<?xml version="1.0" encoding="utf-8"?>',ignoreCase:!1,voidElements:w0},"application/xhtml+xml":{docType:'<?xml version="1.0" encoding="utf-8"?>',ignoreCase:!1,voidElements:w0}};var al=class extends ma{constructor(t,r={}){super(t,r),this.detail=r.detail}};var rc=class extends ma{constructor(t,r={}){super(t,r),this.inputType=r.inputType,this.data=r.data,this.dataTransfer=r.dataTransfer,this.isComposing=r.isComposing||!1,this.ranges=r.ranges}};var ew=e=>class extends jn{constructor(r,a){switch(super(e),arguments.length){case 1:this.height=r,this.width=r;break;case 2:this.height=a,this.width=r;break}}};var tw=({[Hr]:e,[st]:t},r=null)=>{Uh(e[Vt],t[Ze]);do{let a=Rr(e),i=a===t?a:a[Ze];r?r.insertBefore(e,r[st]):e.remove(),e=i}while(e!==t)},S0=class e{constructor(){this[Hr]=null,this[st]=null,this.commonAncestorContainer=null}insertNode(t){this[st].parentNode.insertBefore(t,this[Hr])}selectNode(t){this[Hr]=t,this[st]=Rr(t)}selectNodeContents(t){this.selectNode(t),this.commonAncestorContainer=t}surroundContents(t){t.replaceChildren(this.extractContents())}setStartBefore(t){this[Hr]=t}setStartAfter(t){this[Hr]=t.nextSibling}setEndBefore(t){this[st]=Rr(t.previousSibling)}setEndAfter(t){this[st]=Rr(t)}cloneContents(){let{[Hr]:t,[st]:r}=this,a=t.ownerDocument.createDocumentFragment();for(;t!==r;)a.insertBefore(t.cloneNode(!0),a[st]),t=Rr(t),t!==r&&(t=t[Ze]);return a}deleteContents(){tw(this)}extractContents(){let t=this[Hr].ownerDocument.createDocumentFragment();return tw(this,t),t}createContextualFragment(t){let{commonAncestorContainer:r}=this,a="ownerSVGElement"in r,i=a?r.ownerDocument:r,s=Yh(i,t);if(a){let o=[...s.childNodes];s=i.createDocumentFragment(),Object.setPrototypeOf(s,Ti.prototype),s.ownerSVGElement=i;for(let n of o)Object.setPrototypeOf(n,Ti.prototype),n.ownerSVGElement=i,s.appendChild(n)}else this.selectNode(s);return s}cloneRange(){let t=new e;return t[Hr]=this[Hr],t[st]=this[st],t}};var ZI=({nodeType:e},t)=>{switch(e){case 1:return t&tg;case 3:return t&rg;case 8:return t&ig;case 4:return t&ag}return 0},E0=class{constructor(t,r=eg){this.root=t,this.currentNode=t,this.whatToShow=r;let{[Ze]:a,[st]:i}=t;if(t.nodeType===9){let{documentElement:o}=t;a=o,i=o[st]}let s=[];for(;a&&a!==i;)ZI(a,r)&&s.push(a),a=a[Ze];this[Er]={i:0,nodes:s}}nextNode(){let t=this[Er];return this.currentNode=t.i<t.nodes.length?t.nodes[t.i++]:null,this.currentNode}};var rw=(e,t,r)=>{let{[Ze]:a,[st]:i}=t;return e.call({ownerDocument:t,[Ze]:a,[st]:i},r)},aw=sy({},ix,Zx,{CustomEvent:al,Event:ma,EventTarget:ln,InputEvent:rc,NamedNodeMap:el,NodeList:_r}),C0=new WeakMap,Qa=class extends hn{constructor(t){super(null,"#document",9),this[pa]={active:!1,registry:null},this[Qi]={active:!1,class:null},this[xi]=Jx[t],this[tn]=null,this[ou]=null,this[Bo]=null,this[Ya]=null,this[rn]=null}get defaultView(){return C0.has(this)||C0.set(this,new Proxy(globalThis,{set:(t,r,a)=>{switch(r){case"addEventListener":case"removeEventListener":case"dispatchEvent":this[Oo][r]=a;break;default:t[r]=a;break}return!0},get:(t,r)=>{switch(r){case"addEventListener":case"removeEventListener":case"dispatchEvent":if(!this[Oo]){let a=this[Oo]=new ln;a.dispatchEvent=a.dispatchEvent.bind(a),a.addEventListener=a.addEventListener.bind(a),a.removeEventListener=a.removeEventListener.bind(a)}return this[Oo][r];case"document":return this;case"navigator":return{userAgent:"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"};case"window":return C0.get(this);case"customElements":return this[pa].registry||(this[pa]=new Kh(this)),this[pa];case"performance":return t.performance;case"DOMParser":return this[ou];case"Image":return this[Ya]||(this[Ya]=ew(this)),this[Ya];case"MutationObserver":return this[Qi].class||(this[Qi]=new Qh(this)),this[Qi].class}return this[Bo]&&this[Bo][r]||aw[r]||t[r]}})),C0.get(this)}get doctype(){let t=this[tn];if(t)return t;let{firstChild:r}=this;return r&&r.nodeType===10?this[tn]=r:null}set doctype(t){if(/^([a-z:]+)(\s+system|\s+public(\s+"([^"]+)")?)?(\s+"([^"]+)")?/i.test(t)){let{$1:r,$4:a,$6:i}=RegExp;this[tn]=new Ns(this,r,a,i),vs(this,this[tn],this[Ze])}}get documentElement(){return this.firstElementChild}get isConnected(){return!0}_getParent(){return this[Oo]}createAttribute(t){return new si(this,t)}createCDATASection(t){return new un(this,t)}createComment(t){return new cn(this,t)}createDocumentFragment(){return new qn(this)}createDocumentType(t,r,a){return new Ns(this,t,r,a)}createElement(t){return new $i(this,t)}createRange(){let t=new S0;return t.commonAncestorContainer=this,t}createTextNode(t){return new li(this,t)}createTreeWalker(t,r=-1){return new E0(t,r)}createNodeIterator(t,r=-1){return this.createTreeWalker(t,r)}createEvent(t){let r=ny(t==="Event"?new ma(""):new al(""));return r.initEvent=r.initCustomEvent=(a,i=!1,s=!1,o)=>{r.bubbles=!!i,oy(r,{type:{value:a},canBubble:{value:i},cancelable:{value:s},detail:{value:o}})},r}cloneNode(t=!1){let{constructor:r,[pa]:a,[tn]:i}=this,s=new r;if(s[pa]=a,t){let o=s[st],{childNodes:n}=this;for(let{length:l}=n,u=0;u<l;u++)s.insertBefore(n[u].cloneNode(!0),o);i&&(s[tn]=n[0])}return s}importNode(t){let r=1<arguments.length&&!!arguments[1],a=t.cloneNode(r),{[pa]:i}=this,{active:s}=i,o=n=>{let{ownerDocument:l,nodeType:u}=n;n.ownerDocument=this,s&&l!==this&&u===1&&i.upgrade(n)};if(o(a),r)switch(a.nodeType){case 1:case 11:{let{[Ze]:n,[st]:l}=a;for(;n!==l;)n.nodeType===1&&o(n),n=n[Ze];break}}return a}toString(){return this.childNodes.join("")}querySelector(t){return rw(super.querySelector,this,t)}querySelectorAll(t){return rw(super.querySelectorAll,this,t)}getElementsByTagNameNS(t,r){return this.getElementsByTagName(r)}createAttributeNS(t,r){return this.createAttribute(r)}createElementNS(t,r,a){return t===Hn?new Ti(this,r,null):this.createElement(r,a)}};Mr(aw.Document=function(){Aa()},Qa).prototype=Qa.prototype;var JI=(e,t,r,a)=>{if(!t&&Yo.has(r)){let o=Yo.get(r);return new o(e,r)}let{[pa]:{active:i,registry:s}}=e;if(i){let o=t?a.is:r;if(s.has(o)){let{Class:n}=s.get(o),l=new n(e,r);return ks.set(l,{connected:!1}),l}}return new Be(e,r)},ac=class extends Qa{constructor(){super("text/html")}get all(){let t=new _r,{[Ze]:r,[st]:a}=this;for(;r!==a;){switch(r.nodeType){case 1:t.push(r);break}r=r[Ze]}return t}get head(){let{documentElement:t}=this,{firstElementChild:r}=t;return(!r||r.tagName!=="HEAD")&&(r=this.createElement("head"),t.prepend(r)),r}get body(){let{head:t}=this,{nextElementSibling:r}=t;return(!r||r.tagName!=="BODY")&&(r=this.createElement("body"),t.after(r)),r}get title(){let{head:t}=this;return t.getElementsByTagName("title").at(0)?.textContent||""}set title(t){let{head:r}=this,a=r.getElementsByTagName("title").at(0);a?a.textContent=t:r.insertBefore(this.createElement("title"),r.firstChild).textContent=t}createElement(t,r){let a=!!(r&&r.is),i=JI(this,a,t,r);return a&&i.setAttribute("is",r.is),i}};var M0=class extends Qa{constructor(){super("image/svg+xml")}toString(){return this[xi].docType+super.toString()}};var v0=class extends Qa{constructor(){super("text/xml")}toString(){return this[xi].docType+super.toString()}};var il=class e{parseFromString(t,r,a=null){let i=!1,s;return r==="text/html"?(i=!0,s=new ac):r==="image/svg+xml"?s=new M0:s=new v0,s[ou]=e,a&&(s[Bo]=a),i&&t==="..."&&(t="<!doctype html><html><head></head><body></body></html>"),t?zh(s,i,t):s}};var{parse:Ree}=JSON;var iw=(e,t=null)=>new il().parseFromString(e,"text/html",t).defaultView;function e5(){Aa()}Mr(e5,Qa).prototype=Qa.prototype;var ss="#ffffff";var ic="#1e1e1e",k0={flowchart:{curve:"linear"},maxEdges:500,maxTextSize:5e4};var Ta=class{constructor({converter:t}){this.convert=(r,a)=>this.converter(r,{...a,fontSize:a.fontSize||20}),this.converter=t}};var la;(function(e){e.ROUND="round",e.STADIUM="stadium",e.DOUBLECIRCLE="doublecircle",e.CIRCLE="circle",e.DIAMOND="diamond",e.CYLINDER="cylinder"})(la||(la={}));var Os;(function(e){e.COLOR="color"})(Os||(Os={}));var ra;(function(e){e.FILL="fill",e.STROKE="stroke",e.STROKE_WIDTH="stroke-width",e.STROKE_DASHARRAY="stroke-dasharray"})(ra||(ra={}));var nw=Ua(sw(),1),r5=e=>{let t="\uE000";for(;e.includes(t);)t+="\uE000";return(0,nw.removeMarkdown)(e.replace(/\n/g,t)).replace(new RegExp(t,"g"),`
162
+ `)},Xn,a5=()=>{if(Xn!==void 0)return Xn;if(typeof document>"u")return Xn=null,Xn;try{Xn=document.createElement("canvas").getContext("2d")}catch{Xn=null}return Xn},ns=(e,t)=>{let r=a5();return r?(r.font=`${t}px Excalifont, sans-serif`,r.measureText(e).width):e.length*t*.6},i5={arrow_circle:{endArrowhead:"circle"},arrow_cross:{endArrowhead:"bar"},arrow_open:{endArrowhead:null,startArrowhead:null},double_arrow_circle:{endArrowhead:"circle",startArrowhead:"circle"},double_arrow_cross:{endArrowhead:"bar",startArrowhead:"bar"},double_arrow_point:{endArrowhead:"arrow",startArrowhead:"arrow"}},ow=e=>i5[e],Bs=e=>{let t=e.text;return e.labelType==="markdown"&&(t=r5(t)),s5(t)},s5=e=>{let t=/\s?(fa|fab):[a-zA-Z0-9-]+/g;return e.replace(t,"")},dn=e=>{let t={};return Object.keys(e).forEach(r=>{switch(r){case ra.FILL:{t.backgroundColor=e[r],t.fillStyle="solid";break}case ra.STROKE:{t.strokeColor=e[r];break}case ra.STROKE_WIDTH:{t.strokeWidth=Number(e[r]?.split("px")[0]);break}case ra.STROKE_DASHARRAY:{t.strokeStyle="dashed";break}}}),t},sc=e=>{let t={};return Object.keys(e).forEach(r=>{switch(r){case Os.COLOR:{t.strokeColor=e[r];break}}}),t};var nc=(e,t)=>[e,t],Ia=e=>{let t={type:"line",x:e.startX,y:e.startY,points:[nc(0,0),nc(e.endX-e.startX,e.endY-e.startY)],width:e.endX-e.startX,height:e.endY-e.startY,strokeStyle:e.strokeStyle||"solid",strokeColor:e.strokeColor||"#000",strokeWidth:e.strokeWidth||1};return e.groupId&&Object.assign(t,{groupIds:[e.groupId]}),e.id&&Object.assign(t,{id:e.id}),t},ci=e=>{let t={type:"text",x:e.x,y:e.y,width:e.width,height:e.height,text:e.text||"",fontSize:e.fontSize,verticalAlign:"top",strokeColor:e.color};return e.textAlign&&Object.assign(t,{textAlign:e.textAlign}),e.groupId&&Object.assign(t,{groupIds:[e.groupId]}),e.id&&Object.assign(t,{id:e.id}),t},Fs=e=>{let t={text:e?.label?.text||"",fontSize:e?.label?.fontSize,textAlign:e.label?.textAlign,verticalAlign:e.label?.verticalAlign||"middle",strokeColor:e.label?.color||"#000",...e.groupId?{groupIds:[e.groupId]}:{}},r={};e.type==="rectangle"&&e.subtype==="activation"&&(r={backgroundColor:"#e9ecef",fillStyle:"solid"});let a={id:e.id,type:e.type,x:e.x,y:e.y,width:e.width,height:e.height,label:t,strokeStyle:e?.strokeStyle,strokeWidth:e?.strokeWidth,strokeColor:e?.strokeColor,backgroundColor:e?.bgColor,fillStyle:"solid",...r};return e.groupId&&Object.assign(a,{groupIds:[e.groupId]}),a},sl=e=>{let t={type:"arrow",x:e.startX,y:e.startY,points:e.points?.map(([r,a])=>nc(r,a))||[nc(0,0),nc(e.endX-e.startX,e.endY-e.startY)],width:e.endX-e.startX,height:e.endY-e.startY,strokeStyle:e?.strokeStyle||"solid",endArrowhead:e?.endArrowhead||null,startArrowhead:e?.startArrowhead||null,label:{text:e?.label?.text||"",fontSize:16,textAlign:e?.label?.textAlign,verticalAlign:e?.label?.verticalAlign,...e?.label?.labelPosition!==void 0?{labelPosition:e.label.labelPosition}:{}},roundness:e.roundness===void 0?{type:2}:e.roundness,start:e.start,end:e.end};return e.groupId&&Object.assign(t,{groupIds:[e.groupId]}),t};var n5=(e,t)=>[e,t],o5=32,hw=.62,l5=12,u5=12,dw=1.25,lc=5,c5=8,lw=3*Math.PI/2,fw=(e,t)=>{let r=Math.max(...e.split(`
163
+ `).map(a=>a.length));return Math.max(20,Math.ceil(r*t*hw))},pw=e=>({x:e.x??0,y:e.y??0,width:e.width||0,height:e.height||0}),rm=e=>{let{x:t,y:r,width:a,height:i}=pw(e);return{x:t+a/2,y:r+i/2}},h5=(e,t)=>{let{x:r,y:a,width:i,height:s}=pw(t);return e.x>=r&&e.x<=r+i&&e.y>=a&&e.y<=a+s},uw=(e,t)=>{let r=rm(e),a=t.x-r.x,i=t.y-r.y,s=(e.width||0)/2,o=(e.height||0)/2,n=Math.min(a?s/Math.abs(a):Number.POSITIVE_INFINITY,i?o/Math.abs(i):Number.POSITIVE_INFINITY);return Number.isFinite(n)?{x:r.x+a*n,y:r.y+i*n}:r},cw=(e,t,r,a)=>{let i=r==="start"?e:e.slice().reverse(),s=i.findIndex(n=>!h5(n,t));if(s===-1){let n=[...i];return n[0]=uw(t,a),r==="start"?n:n.reverse()}let o=[uw(t,i[s]),...i.slice(s)];return r==="start"?o:o.reverse()},d5=(e,t)=>new Map(e.subGraphs.map(r=>{let a=fw(Bs(r),t),i=r.laneHeader?0:a+o5*2,s=Math.max(r.width,i),o=r.x-(s-r.width)/2;return[r.id,{x:o,width:s,leftExpansion:r.x-o,rightExpansion:o+s-(r.x+r.width)}]})),f5=(e,t)=>{let r=new Map;e.subGraphs.forEach(n=>{n.nodeIds.forEach(l=>r.set(l,n.id))});let a=[...Object.keys(e.vertices),...e.subGraphs.map(n=>n.id)],i=n=>{let l=new Set,u=n;for(;r.has(u)&&!l.has(u);)l.add(u),u=r.get(u);return u},s=new Map;a.forEach(n=>{let l=i(n),u=s.get(l)||[];u.push(n),s.set(l,u)});let o=new Map(a.map(n=>[n,0]));return e.subGraphs.forEach(n=>{if(r.has(n.id)||!Bs(n).includes(`
164
+ `))return;let l=t.get(n.id);if(!l||!l.leftExpansion&&!l.rightExpansion)return;let u=n.x+n.width/2;s.forEach((c,f)=>{if(f===n.id)return;let h=e.subGraphs.find(x=>x.id===f),g=e.vertices[f],m=(h?h.x+h.width/2:g?g.x+g.width/2:u)<u?-l.leftExpansion:l.rightExpansion;c.forEach(x=>o.set(x,(o.get(x)||0)+m))})}),o},p5=(e,t,r)=>Math.min(...r.map(a=>{let i=e.vertices[a];return i?i.y:e.subGraphs.find(s=>s.id===a&&s.id!==t)?.y??Number.POSITIVE_INFINITY})),gw=(e,t)=>{let r=e.split(`
165
+ `).length;return r<2?0:Math.ceil(r*t*dw+lc*2)},g5=(e,t)=>{let r=[];return e.subGraphs.forEach(a=>{let i=a.laneHeader?0:gw(Bs(a),t);if(!i)return;let s=p5(e,a.id,a.nodeIds);if(!Number.isFinite(s))return;let o=Math.ceil(i-(s-a.y));if(o<=0)return;let n=r.find(l=>Math.abs(l.y-s)<.5);if(n){n.y=Math.min(n.y,s),n.amount=Math.max(n.amount,o);return}r.push({y:s,amount:o})}),r.sort((a,i)=>a.y-i.y)},oc=(e,t)=>e.reduce((r,a)=>a.y<=t?r+a.amount:r,0),m5=(e,t,r)=>{let a=new Map,i=new Map(e.subGraphs.map(o=>[o.id,o])),s=o=>{let n=a.get(o);if(n)return n;let l=i.get(o);if(!l)return null;let u=l.y+oc(t,l.y),c=l.laneHeader?0:gw(Bs(l),r),f=u+Math.max(l.height,c);l.nodeIds.forEach(g=>{let p=e.vertices[g];if(p){let x=p.y+oc(t,p.y)+p.height;x>f&&(f=x+lc*2);return}if(g===o)return;let m=s(g);m&&m.y+m.height>f&&(f=m.y+m.height+lc*2)});let h={y:u,height:f-u};return a.set(o,h),h};return e.subGraphs.forEach(o=>s(o.id)),a},A5=(e,t,r,a)=>{let i=a||20;if(e!==la.CYLINDER||!t)return i;let s=Math.max(20,r-l5);if(fw(t,i)<=s)return i;let n=Math.max(...t.split(`
166
+ `).map(l=>l.length));return Math.max(u5,Math.floor(s/(n*hw)))},b5=e=>({elbowed:!0,roundness:null,fixedSegments:e.slice(2,-1).map((t,r)=>({start:e[r+1],end:t,index:r+2}))}),y5=({width:e,height:t,vertical:r},a)=>{let i=r?{x:a.x,y:a.y,width:e,height:a.height}:{x:a.x,y:a.y,width:a.width,height:t},s=a.containerStyle.strokeColor??ic,o=[Ia({type:"line",startX:r?i.x+i.width:i.x,startY:r?i.y:i.y+i.height,endX:i.x+i.width,endY:i.y+i.height,strokeColor:s,strokeWidth:a.containerStyle.strokeWidth??2,strokeStyle:a.containerStyle.strokeStyle})];if(a.text){let[n,l]=r?[i.height,i.width]:[i.width,i.height];o.unshift({id:a.id,type:"rectangle",x:i.x+(i.width-n)/2,y:i.y+(i.height-l)/2,width:n,height:l,...r?{angle:lw}:{},strokeColor:"transparent",backgroundColor:"transparent",label:{text:a.text,fontSize:a.fontSize,strokeColor:s,...a.labelStyle,...r?{angle:lw}:{}}})}return o},mw=new Ta({converter:(e,t)=>{let r=[],a=[],i=[],s=[],o=t.fontSize,n=o||20,l=g5(e,n),u=m5(e,l,n),c=d5(e,n),f=f5(e,c),h=new Set(e.subGraphs.map(p=>p.id)),g=new Set(e.subGraphs.filter(p=>{let m=c.get(p.id),x=u.get(p.id);return Bs(p).includes(`
167
+ `)&&m?.width!==p.width||x?.height!==p.height}).map(p=>p.id));return e.subGraphs.slice().reverse().forEach(p=>{let m=[],x=Bs(p),y=n,C=c.get(p.id)||{x:p.x,width:p.width},S=C.width,R=C.x+(f.get(p.id)||0),N=u.get(p.id)||p,D=dn(p.containerStyle),O=sc(p.labelStyle),H={id:p.id,type:"rectangle",groupIds:m,x:R,y:N.y,width:S,height:N.height,...D};if(r.push(H),p.laneHeader)s.push(...y5(p.laneHeader,{id:`${p.id}__title`,x:R,y:N.y,width:S,height:N.height,text:x,fontSize:y,containerStyle:D,labelStyle:O}));else if(x){let U=D.strokeWidth??2,k=x.split(`
168
+ `),j=Math.min(S-U*2,Math.max(...k.map(X=>ns(X,y)))+(lc+c5)*2+2);s.push({id:`${p.id}__title`,type:"rectangle",groupIds:m,x:R+(S-j)/2,y:N.y+U+4,width:Math.max(1,j),height:k.length*y*dw+lc*2,strokeColor:"transparent",backgroundColor:D.backgroundColor??ss,fillStyle:"solid",roughness:0,label:{groupIds:m,text:x,fontSize:y,strokeColor:D.strokeColor??ic,...O}})}}),Object.values(e.vertices).forEach(p=>{if(!p)return;let m=[],x=Bs(p),y=p.x+(f.get(p.id)||0),C=p.y+oc(l,p.y),S=A5(p.type,x,p.width,o),R=dn(p.containerStyle),N=sc(p.labelStyle),D={id:p.id,type:"rectangle",groupIds:m,x:y,y:C,width:p.width,height:p.height,strokeWidth:2,...p.type!==la.DOUBLECIRCLE&&{label:{groupIds:m,text:x,fontSize:S,...N}},link:p.link||null,backgroundColor:ss,fillStyle:"solid",...R},O;switch(p.type){case la.STADIUM:{D={...D,roundness:{type:3}};break}case la.ROUND:{D={...D,roundness:{type:3}};break}case la.DOUBLECIRCLE:{m.push(`doublecircle_${p.id}}`),O={type:"ellipse",groupIds:m,x:y+5,y:C+5,width:p.width-5*2,height:p.height-5*2,strokeWidth:2,roundness:{type:3},label:{groupIds:m,text:x,fontSize:S,...N}},D={...D,groupIds:m,type:"ellipse"};break}case la.CIRCLE:{D.type="ellipse";break}case la.DIAMOND:{D.type="diamond";break}}i.push(D),O&&i.push(O)}),e.edges.forEach(p=>{let m=[],{startX:x,startY:y,reflectionPoints:C}=p,S=f.get(p.start)||0,R=f.get(p.end)||0,N=C.map((F,I)=>{let $=C.length>1?I/(C.length-1):0;return{...F,x:F.x+S+(R-S)*$,y:F.y+oc(l,F.y)}}),D=ow(p.type||"arrow_point"),O=[...i,...r].find(F=>F.id===p.start),H=[...i,...r].find(F=>F.id===p.end);if(!O||!H)return;let U=h.has(p.start);g.has(p.start)&&(N=cw(N,O,"start",rm(H))),g.has(p.end)&&(N=cw(N,H,"end",rm(O)));let k=N.map(F=>n5(F.x-N[0].x,F.y-N[0].y)),j=U?N[0].y:y+oc(l,y),P={id:`${p.start}_${p.end}`,type:"arrow",groupIds:m,x:U?N[0].x:x+S,y:j,strokeWidth:p.stroke==="thick"?4:2,strokeStyle:p.stroke==="dotted"?"dashed":void 0,points:k,...p.text?{label:{text:Bs(p),fontSize:o,groupIds:m,...p.labelPosition!==void 0?{labelPosition:p.labelPosition}:{}}}:{},roundness:{type:2},...p.orthogonal?b5(k):{},...D,start:{id:O.id||""},end:{id:H.id||""}};a.push(P)}),{elements:[...r,...a,...s,...i]}}});import{randomFillSync as bw}from"crypto";var Aw="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var x5=128,Zn,nl,w5=e=>{!Zn||Zn.length<e?(Zn=Buffer.allocUnsafe(e*x5),bw(Zn),nl=0):nl+e>Zn.length&&(bw(Zn),nl=0),nl+=e};var Kr=(e=21)=>{w5(e-=0);let t="";for(let r=nl-e;r<nl;r++)t+=Aw[Zn[r]&63];return t};var yw=new Ta({converter:e=>{let t=Kr(),{width:r,height:a}=e,i={type:"image",x:0,y:0,width:r,height:a,status:"saved",fileId:t};return{files:{[t]:{id:t,mimeType:e.mimeType,dataURL:e.dataURL}},elements:[i]}}});var ol=10,am=16,S5=24,E5=4,C5=1.25,M5=e=>{if(!e)return!0;let t=e.trim().toLowerCase();return t==="transparent"||t==="none"||t==="rgba(0,0,0,0)"||t==="rgba(0, 0, 0, 0)"},v5=(e,t)=>{let r=Math.max(...e.split(`
169
+ `).map(a=>a.length));return Math.max(20,Math.round(r*t*.6))},k5=(e,t)=>Math.max(S5,e.split(`
170
+ `).length*t*C5),xw=new Ta({converter:e=>{let t=[],r=[],a=[];Object.values(e.nodes).forEach(s=>{!s||!s.length||s.forEach(o=>{let n;switch(o.type){case"line":n=Ia(o);break;case"rectangle":case"ellipse":n=Fs(o);break;case"text":n=ci(o);break;default:throw`unknown type ${o.type}`}o.type==="rectangle"&&o?.subtype==="activation"?r.push(n):o.type==="rectangle"&&o.subtype==="note"?a.push(n):t.push(n)})}),Object.values(e.lines).forEach(s=>{s&&t.push(Ia(s))});let i=[];if(Object.values(e.arrows).forEach(s=>{s&&(t.push(sl(s)),s.sequenceNumber&&i.push(Fs(s.sequenceNumber)))}),t.push(...r),t.push(...a),t.push(...i),e.loops){let{lines:s,texts:o,nodes:n}=e.loops;s.forEach(l=>{t.push(Ia(l))}),o.forEach(l=>{t.push(ci(l))}),n.forEach(l=>{t.push(Fs(l))})}return e.groups&&e.groups.forEach(s=>{let{actorKeys:o,name:n}=s,l=n?k5(n,am):0,u=n?v5(n,am):0,c,f,h,g;if(s.bounds)({x:c,y:f,width:h,height:g}=s.bounds);else{if(!o.length)return;let m=t.filter(N=>{if(N.id){let D=N.id.indexOf("-"),O=N.id.substring(0,D);return o.includes(O)}return!1});if(!m.length)return;let x=1/0,y=1/0,C=0,S=0;if(m.forEach(N=>{N.x===void 0||N.y===void 0||N.width===void 0||N.height===void 0||(x=Math.min(x,N.x),y=Math.min(y,N.y),C=Math.max(C,N.x+N.width),S=Math.max(S,N.y+N.height))}),!Number.isFinite(x)||!Number.isFinite(y)||!Number.isFinite(C)||!Number.isFinite(S))return;let R=C-x+ol*2;h=Math.max(R,u+ol*2),c=x-ol-(h-R)/2,f=y-ol-l,g=S-y+ol*2+l}let p=Fs({type:"rectangle",x:c,y:f,width:h,height:g,bgColor:M5(s.fill)?void 0:s.fill,strokeColor:"#1f1f1f",strokeWidth:1,id:Kr()});if(t.unshift(p),n){let m=ci({type:"text",id:Kr(),text:n,x:c+E5,y:f+ol,width:u,height:l,fontSize:am,color:"#1f1f1f"});t.push(m)}}),{elements:t}}});var ww=new Ta({converter:e=>{let t=[];return Object.values(e.arrows).forEach(r=>{if(!r)return;let a=sl(r);t.push(a)}),e.nodes.forEach(r=>{!r||!r.length||r.forEach(a=>{let i;switch(a.type){case"line":i=Ia(a);break;case"rectangle":case"ellipse":i=Fs({...a,bgColor:a.bgColor??ss});break;case"text":i=ci(a);break;default:throw`unknown type ${a.type}`}t.push(i)})}),Object.values(e.lines).forEach(r=>{r&&t.push(Ia(r))}),Object.values(e.text).forEach(r=>{let a=ci(r);t.push(a)}),Object.values(e.namespaces).forEach(r=>{let a=Object.keys(r.classes),i=[...a],s=[...e.lines,...e.arrows,...e.text];a.forEach(n=>{let l=s.filter(u=>u.metadata&&u.metadata.classId===n).map(u=>u.id);l.length&&i.push(...l)});let o={type:"frame",id:Kr(),name:r.id,children:i};t.push(o)}),{elements:t}}});var Sw=new Ta({converter:e=>{let t=[];return e.arrows.forEach(r=>{t.push(sl(r))}),e.nodes.forEach(r=>{!r||!r.length||r.forEach(a=>{let i;switch(a.type){case"line":i=Ia(a);break;case"rectangle":case"ellipse":i=Fs({...a,bgColor:a.bgColor??ss});break;case"text":i=ci(a);break;default:throw`unknown type ${a.type}`}t.push(i)})}),e.lines.forEach(r=>{t.push(Ia(r))}),e.text.forEach(r=>{t.push(ci(r))}),{elements:t}}});var I0=(e,t)=>[e,t],kw=16,$w=14,$5=1,im="#000000",Tw=5,Iw=Tw*2,Nw=Tw*2,Dw=1.25,Rw=new Set(["choice","fork","join","stateStart","stateEnd","divider"]),sm=e=>e.shape==="stateEnd"?[`state_end_group_${e.id}`]:void 0,_w=e=>e.shape==="rectWithTitle"&&e.description.length?[e.text,...e.description].join(`
171
+ `):e.text,T5=(e,t,r)=>{if(ns(e,t)<=r)return[e];let a=[],i="";for(let s of e){let o=`${i}${s}`;if(i&&ns(o,t)>r){a.push(i),i=s;continue}i=o}return i&&a.push(i),a},I5=(e,t,r)=>{if(!e.trim()||ns(e,t)<=r)return e;let a=e.split(/\s+/).filter(Boolean),i=[],s="";for(let o of a){let n=T5(o,t,r);for(let[l,u]of n.entries()){let f=s?`${s}${s&&l===0?" ":""}${u}`:u;if(ns(f,t)<=r){s=f;continue}s&&i.push(s),s=u}n.length>1}return i.push(s),i.join(`
172
+ `)},N5=(e,t,r)=>{let i=e.map(n=>I5(n,t,r)).join(`
173
+ `).split(`
174
+ `),s=Math.max(...i.map(n=>ns(n,t))),o=i.length*t*Dw;return{width:s,height:o}},D5=(e,t,r,a,i)=>{let s=e.split(`
175
+ `);for(let o=i;o>=$w;o-=$5){let{height:n}=N5(s,o,t);if(n<=r)return o}return a},R5=e=>{let t=_w(e),r=e.fontSize??kw;if(!t||Rw.has(e.shape))return r;let a=Math.max(1,e.width-Iw),i=Math.max(1,e.height-Nw),s=t.split(`
176
+ `);return s.length>1&&Math.max(...s.map(n=>ns(n,r)))<=a?r:D5(t,a,i,s.length===1?r:$w,r)},Lw=e=>{if(Rw.has(e.shape))return;let t=_w(e);if(t)return{text:t,fontSize:R5(e),verticalAlign:e.shape==="rectWithTitle"||e.shape==="roundedWithTitle"?"top":"middle",...sc(e.labelStyle)}},Ew=(e,{withLabel:t=!0}={})=>{let r=dn(e.containerStyle),a=t?Lw(e):void 0,i=e.shape==="choice"?"diamond":e.shape==="stateStart"||e.shape==="stateEnd"?"ellipse":"rectangle",s=e.shape==="rect"||e.shape==="rectWithTitle"||e.shape==="roundedWithTitle",o=e.shape==="stateStart"||e.shape==="fork"||e.shape==="join",n=e.shape==="rect"||e.shape==="rectWithTitle"||e.shape==="choice"||e.shape==="note",l=r.backgroundColor||r.strokeColor||im,u=r.strokeColor||r.backgroundColor||im;return{id:e.id,type:i,...sm(e)?{groupIds:sm(e)}:{},x:e.x,y:e.y,width:e.width,height:e.height,...a?{label:a}:{},...n?{backgroundColor:ss,fillStyle:"solid"}:{},...r,...s?{roundness:{type:3}}:{},...o?{backgroundColor:l,strokeColor:u,fillStyle:"solid"}:{}}},Cw=32,Mw=.25,_5=(e,t)=>{let r=Math.min(e,t);return r<=Cw/Mw?r*Mw:Cw},L5=e=>{let t=Lw(e);if(!t)return null;let r=dn(e.containerStyle),a=r.strokeWidth??2,i=t.fontSize??kw,s=t.text.split(`
177
+ `),o=e.dividerLine?.startY??e.y+s.length*i*Dw+Nw,n=Math.max(...s.map(u=>ns(u,i)))+Iw+2,l=Math.min(e.width-a*2,Math.max(e.width-_5(e.width,e.height)*2,n));return{id:`${e.id}__title`,type:"rectangle",x:e.x+(e.width-l)/2,y:e.y+a+4,width:l,height:Math.max(1,o-e.y-a-4),label:{strokeColor:r.strokeColor??ic,...t,verticalAlign:"middle"},strokeColor:"transparent",backgroundColor:r.backgroundColor??ss,fillStyle:"solid",roughness:0}},vw=e=>{if(!e.dividerLine)return null;let t=dn(e.containerStyle);return{id:`${e.id}__divider`,type:"line",x:e.dividerLine.startX,y:e.dividerLine.startY,width:e.dividerLine.endX-e.dividerLine.startX,height:e.dividerLine.endY-e.dividerLine.startY,points:[I0(0,0),I0(e.dividerLine.endX-e.dividerLine.startX,e.dividerLine.endY-e.dividerLine.startY)],strokeColor:t.strokeColor||"#000",strokeWidth:t.strokeWidth||1}},O5=e=>{let t=dn(e.containerStyle),r=Math.max(2,Math.min(e.width,e.height)*.32),a=e.endInnerColor||t.strokeColor||t.backgroundColor||im;return{id:`${e.id}__inner`,type:"ellipse",groupIds:sm(e),x:e.x+r,y:e.y+r,width:Math.max(1,e.width-r*2),height:Math.max(1,e.height-r*2),backgroundColor:a,strokeColor:a,fillStyle:"solid",strokeWidth:1}},B5=e=>{let t=e.reflectionPoints.map((r,a,i)=>{let s=i[0];return a===0?I0(0,0):I0(r.x-s.x,r.y-s.y)});return{id:e.id,type:"arrow",x:e.startX,y:e.startY,width:e.endX-e.startX,height:e.endY-e.startY,points:t,strokeColor:e.strokeColor||"#000",strokeWidth:e.strokeWidth||2,strokeStyle:e.strokeStyle||"solid",endArrowhead:e.isNoteEdge?null:"triangle",roundness:{type:2},start:{id:e.start},end:{id:e.end},...e.text?{label:{text:e.text,fontSize:16,...e.labelPosition!==void 0?{labelPosition:e.labelPosition}:{}}}:{}}},Ow=new Ta({converter:e=>{let t=[],r=o=>{let n=Ew(o);t.push(n);let l=vw(o);l&&t.push(l),o.shape==="stateEnd"&&t.push(O5(o))},a=e.nodes.filter(o=>o.isRenderable),i=o=>o.shape==="roundedWithTitle",s=a.filter(i);return s.forEach(o=>{t.push(Ew(o,{withLabel:!1}))}),e.lines?.forEach(o=>{t.push(Ia(o))}),e.edges.forEach(o=>{t.push(B5(o))}),s.forEach(o=>{let n=L5(o);n&&t.push(n);let l=vw(o);l&&t.push(l)}),a.filter(o=>!i(o)).forEach(r),e.texts?.forEach(o=>{t.push(ci(o))}),{elements:t}}});var F5=e=>e.replace(/fl°°/g,"#").replace(/fl°/g,"&").replace(/¶ß/g,";"),Bw=e=>{e=F5(e);let t=e.replace(/#(\d+);/g,"&#$1;").replace(/#([a-z]+);/g,"&$1;"),r=document.createElement("textarea");return r.innerHTML=t,r.value};var Fw=(e,t=.5)=>{let r=[];return e.forEach(a=>{let i=r[r.length-1];if(!i){r.push(a);return}Math.hypot(a[0]-i[0],a[1]-i[1])<=t||r.push(a)}),r};var W5=e=>({...e,elements:e.elements.map(t=>{if(!("points"in t)||!Array.isArray(t.points))return t;let r=t.points;if(r.length<2)return t;let a=Fw(r);return a.length===r.length?t:{...t,points:a}})}),Ww=(e,t={})=>{let r=(()=>{switch(e.type){case"graphImage":return yw.convert(e,t);case"flowchart":return mw.convert(e,t);case"sequence":return xw.convert(e,t);case"class":return ww.convert(e,t);case"erd":return Sw.convert(e,t);case"state":return Ow.convert(e,t);default:throw new Error(`graphToExcalidraw: unknown graph type "${e.type}, only flowcharts are supported!"`)}})();return W5(r)};cl();pr();Mt();var d8=[["flowchart","flowchart-elk",/^\s*flowchart-elk/],["mindmap","mindmap",/^\s*mindmap/],["architecture","architecture",/^\s*architecture/],["agentflow","agentflow",/^\s*agentflow-beta\b/],["c4","c4",/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/],["kanban","kanban",/^\s*kanban/],["class","classDiagram",/^\s*classDiagram/],["er","er",/^\s*erDiagram/],["gantt","gantt",/^\s*gantt/],["info","info",/^\s*info/],["pie","pie",/^\s*pie/],["requirement","requirement",/^\s*requirement(Diagram)?/],["sequence","sequence",/^\s*sequenceDiagram/],["swimlane","swimlane",/^\s*swimlane-beta\b/],["flowchart","flowchart-v2",/^\s*(graph|flowchart)/],["timeline","timeline",/^\s*timeline/],["gitGraph","gitGraph",/^\s*gitGraph/],["state","stateDiagram",/^\s*stateDiagram/],["journey","journey",/^\s*journey/],["quadrantChart","quadrantChart",/^\s*quadrantChart/],["sankey","sankey",/^\s*sankey(-beta)?/],["packet","packet",/^\s*packet(-beta)?/],["xychart","xychart",/^\s*xychart(-beta)?/],["block","block",/^\s*block(-beta)?/],["eventmodeling","eventmodeling",/^\s*eventmodeling/],["treeView","treeView",/^\s*treeView-beta/],["radar","radar",/^\s*radar-beta/],["ishikawa","ishikawa",/^\s*ishikawa(-beta)?\b/i],["treemap","treemap",/^\s*treemap/],["railroad","railroad",/^\s*railroad-beta/i],["railroad","railroadEbnf",/^\s*railroad-ebnf-beta/i],["railroad","railroadAbnf",/^\s*railroad-abnf-beta/i],["railroad","railroadPeg",/^\s*railroad-peg-beta/i],["venn","venn",/^\s*venn-beta/],["wardley","wardley",/^\s*wardley-beta/i],["cynefin","cynefin",/^\s*cynefin-beta(?:[\s:]|$)/],["usecase","usecase",/^\s*usecase-beta(?:\s|$)/]];function t3(e){for(let[t,r,a]of d8)if(a.test(e))return{type:t,mermaidType:r};return null}var f8=/^\s*%%(?!{)[^\n]+\n?/gm,fl=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,p8=/<(\w+)([^>]*)>/g,g8=/="([^"]*)"/g,m8=new Set(["__proto__","constructor","prototype"]);function A8(e){return(e.includes("%%")?e.replace(f8,""):e).trimStart()}function L0(e){return e===`
178
+ `||e==="\r"}function um(e){return e!==void 0&&/\s/.test(e)}function b8(e){let t=0;for(;t<e.length&&um(e[t])&&!L0(e[t]);)t++;let r=e.slice(0,t);if(!e.startsWith("---",t))return;let a=[];for(let f=t+3;f<e.length&&um(e[f]);f++)L0(e[f])&&a.push(f);if(a.length===0)return;let i=r+"---",s=f=>{if(!L0(e[f])||!e.startsWith(i,f+1))return-1;let h=-1;for(let g=f+1+i.length;g<e.length&&um(e[g]);g++)L0(e[g])&&(h=g);return h},o=`
179
+ `+i,n=-1;for(let f=e.lastIndexOf(o);f>a[0];f=e.lastIndexOf(o,f-1))if(s(f)!==-1){n=f;break}if(n===-1)return;let l=a[0];for(let f of a)f<n&&(l=f);let u=l+1,c=u>0?u-1:0;for(let f=e.indexOf(o,c);f!==-1&&f<=n;f=e.indexOf(o,f+1)){if(f<u)continue;let h=s(f);if(h!==-1)return{indent:r,body:e.slice(u,f),length:h+1}}}function to(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function O0(e,t){for(let r of Object.keys(t)){if(m8.has(r))continue;let a=t[r],i=e[r];to(a)&&to(i)?O0(i,a):to(a)?e[r]=O0({},a):e[r]=a}return e}function y8(e,t){if(!e.includes("%%{"))return e;let r=e.trim().replace(/'/g,'"');fl.lastIndex=0;let a;for(;(a=fl.exec(r))!==null;){a.index===fl.lastIndex&&fl.lastIndex++;let i=a[1]??a[2];if(i==="wrap")t.wrap=!0;else if((i==="init"||i==="initialize")&&a[4])try{let s=JSON.parse(a[4].trim());to(s)&&O0(t,s)}catch{}}return fl.lastIndex=0,e.replace(fl,"")}function r3(e){let t=e.includes("\r")?e.replace(/\r\n?/g,`
180
+ `):e,r=t.includes("<")?t.lastIndexOf(">"):-1;r>0&&(t=t.slice(0,r+1).replace(p8,(n,l,u)=>"<"+l+u.replace(g8,"='$1'")+">")+t.slice(r+1));let a={},i,s=0,o=t.includes("---")?b8(t):void 0;if(o){let n=o.indent?o.body.split(`
181
+ `).map(u=>u.startsWith(o.indent)?u.slice(o.indent.length):u).join(`
182
+ `):o.body,l;try{l=Di(n)}catch(u){throw new je(`Front matter is not valid YAML. ${u.message}`,"syntax")}if(to(l)&&(l.title&&(i=String(l.title)),to(l.config)&&O0(a,l.config),l.displayMode)){let u=to(a.gantt)?a.gantt:a.gantt={};u.displayMode=String(l.displayMode)}for(let u=t.indexOf(`
183
+ `);u!==-1&&u<o.length;u=t.indexOf(`
184
+ `,u+1))s++;t=t.slice(o.length)}return t=y8(t,a),{text:A8(t),title:i,config:a,withComments:t,lineOffset:s}}var x8=/#\w+;/g,w8=/^\+?\d+$/,cm=new RegExp("[\\n\\r\u2028\u2029]","g");function e3(e,t){let r=e.indexOf(t);if(r===-1)return e;let a="",i=0;for(;r!==-1;){cm.lastIndex=r;let s=cm.test(e)?cm.lastIndex-1:e.length,o=!1,n=-1;for(let l=r+t.length;l<s;l++){let u=e.charCodeAt(l);if(u===58)o=!0;else if(u===35){if(o){n=l;break}}else Ke(u)&&(o=!1)}if(n!==-1){let l=e.lastIndexOf(";",s-1);l>n&&(a+=e.slice(i,l),i=l+1)}r=s>=e.length?-1:e.indexOf(t,s+1)}return i===0?e:a+e.slice(i)}function S8(e){return e.includes("#")?e3(e3(e,"style"),"classDef").replace(x8,t=>{let r=t.substring(1,t.length-1);return(w8.test(r)?"\uFB02\xB0\xB0":"\uFB02\xB0")+r+"\xB6\xDF"}):e}var are=Math.random().toString(36).slice(2,7);var hm=new Map;function a3(...e){for(let t of e)hm.set(t.type,t)}function i3(e){return hm.has(e)}var E8=5e4,C8=4e6,M8=5e3;function s3(e){try{return e()}catch(t){throw t instanceof RangeError?new je("Diagram is nested too deeply.","limit"):t}}function n3(e,t){try{return t()}catch(r){throw r instanceof RangeError?new je("Diagram is nested too deeply.","limit",e):(r instanceof je&&(r.type??=e.type,r.mermaidType??=e.mermaidType),r)}}var o3=new WeakMap;function l3(e,t=E8,r=M8,a){if(e.length>t)throw new je(`Diagram source is longer than the limit of ${t} characters.`,"limit");let i=r3(e),s=t3(i.text);if(s===null)throw new je("No diagram type detected for the given text.","unsupported-diagram");let o=hm.get(s.type);if(o===void 0)throw new je(`Diagram type "${s.type}" is not supported yet.`,"unsupported-diagram",s);let n=a?{...a,...i.config}:i.config,l=o.keepComments?i.withComments:i.text,u=n3(s,()=>o.parse(S8(l)+`
185
+ `,n,i.title,i.lineOffset,{maxEdges:r}));return{...s,diagram:o,model:u,config:n}}function v8(e,t){if(typeof e=="string")return l3(e,t.limit,t.maxEdges,t.config);let r=o3.get(e);if(r===void 0)throw new TypeError("render() takes diagram text or a model that parse() returned.");return r}function dm(e){return t3(r3(e).text)?.type??null}function fm(e,t={}){return s3(()=>{let r=l3(e,t.limit,t.maxEdges,t.config),a=r.model;return Object.defineProperty(a,"mermaidType",{value:r.mermaidType,enumerable:!0}),o3.set(a,r),a})}function fn(e,t={}){return s3(()=>{let{type:r,mermaidType:a,diagram:i,model:s,config:o}=v8(e,t),n=o[i.section??r],l=typeof n=="object"&&n!==null&&!Array.isArray(n)&&n.useMaxWidth===!1,u=t.responsive??!l,c=t.icons,f=c&&(p=>c(Dt(p))),h=n3({type:r,mermaidType:a},()=>jw(i.math?t.math:void 0,()=>Vw(f,()=>i.render(s,o,{...t,responsive:u,icons:f})))),g=t.outputLimit??C8;if(h.svg.length>g)throw new je(`Diagram output is longer than the limit of ${g} characters.`,"limit",{type:r,mermaidType:a});for(let p of h.links)p.id=Dt(p.id);return{type:r,mermaidType:a,...h}})}Mt();var NP=new Map([["flowchart",()=>Promise.resolve().then(()=>(aS(),rS)).then(e=>e.flowchart)],["pie",()=>Promise.resolve().then(()=>(hS(),cS)).then(e=>e.pie)],["er",()=>Promise.resolve().then(()=>($S(),kS)).then(e=>e.er)],["mindmap",()=>Promise.resolve().then(()=>(PS(),HS)).then(e=>e.mindmap)],["kanban",()=>Promise.resolve().then(()=>(KS(),YS)).then(e=>e.kanban)],["timeline",()=>Promise.resolve().then(()=>(JS(),ZS)).then(e=>e.timeline)],["journey",()=>Promise.resolve().then(()=>(sE(),iE)).then(e=>e.journey)],["class",()=>Promise.resolve().then(()=>(wE(),xE)).then(e=>e.classDiagram)],["quadrantChart",()=>Promise.resolve().then(()=>(RE(),DE)).then(e=>e.quadrantChart)],["xychart",()=>Promise.resolve().then(()=>(jE(),VE)).then(e=>e.xychart)],["state",()=>Promise.resolve().then(()=>(u4(),l4)).then(e=>e.state)],["gantt",()=>Promise.resolve().then(()=>(_4(),R4)).then(e=>e.gantt)],["architecture",()=>Promise.resolve().then(()=>(q4(),K4)).then(e=>e.architecture)],["requirement",()=>Promise.resolve().then(()=>(iC(),aC)).then(e=>e.requirement)],["sankey",()=>Promise.resolve().then(()=>(gC(),pC)).then(e=>e.sankey)],["packet",()=>Promise.resolve().then(()=>(xC(),yC)).then(e=>e.packet)],["radar",()=>Promise.resolve().then(()=>(IC(),TC)).then(e=>e.radar)],["treemap",()=>Promise.resolve().then(()=>(FC(),BC)).then(e=>e.treemap)],["info",()=>Promise.resolve().then(()=>(UC(),GC)).then(e=>e.info)],["sequence",()=>Promise.resolve().then(()=>(lM(),oM)).then(e=>e.sequence)],["gitGraph",()=>Promise.resolve().then(()=>(xM(),yM)).then(e=>e.gitGraph)],["c4",()=>Promise.resolve().then(()=>(WM(),FM)).then(e=>e.c4)],["block",()=>Promise.resolve().then(()=>(ev(),JM)).then(e=>e.block)],["railroad",()=>Promise.resolve().then(()=>(Ev(),Sv)).then(e=>e.railroad)],["agentflow",()=>Promise.resolve().then(()=>(Fv(),Bv)).then(e=>e.agentflow)],["treeView",()=>Promise.resolve().then(()=>(Xv(),jv)).then(e=>e.treeView)],["cynefin",()=>Promise.resolve().then(()=>(lk(),ok)).then(e=>e.cynefin)],["wardley",()=>Promise.resolve().then(()=>(wk(),xk)).then(e=>e.wardley)],["eventmodeling",()=>Promise.resolve().then(()=>(Dk(),Nk)).then(e=>e.eventmodeling)],["usecase",()=>Promise.resolve().then(()=>(w$(),x$)).then(e=>e.usecase)],["venn",()=>Promise.resolve().then(()=>($$(),k$)).then(e=>e.venn)],["ishikawa",()=>Promise.resolve().then(()=>(_$(),R$)).then(e=>e.ishikawa)],["swimlane",()=>Promise.resolve().then(()=>(K$(),Y$)).then(e=>e.swimlane)]]),Ab=new Map;function q$(e){if(e===null)return Promise.resolve(!1);if(i3(e))return Promise.resolve(!0);let t=Ab.get(e);if(t===void 0){let r=NP.get(e);if(r===void 0)return Promise.resolve(!1);t=r().then(a=>(a3(a),!0),a=>{throw Ab.delete(e),a}),Ab.set(e,t)}return t}var z$=/<br\s*\/?>/gi,DP=/\\+n/g,RP=(e,t)=>e.replace(DP,r=>{let a=r.length-1,i="\\".repeat(Math.floor(a/2));return a%2?`${i}${t}`:`${i}n`}),_P=e=>RP(e.replace(z$,`
186
+ `),`
187
+ `),LP=/<\/?(?:a|abbr|b|big|cite|code|del|em|font|i|ins|kbd|mark|q|s|samp|small|span|strike|strong|sub|sup|tt|u|var)(?:\s[^<>]*)?\/?>/g,Ha=e=>Bw(_P(e).replace(LP,"")),Q$=async(e,t)=>{try{return await t(e)}catch(r){let a=e.replace(z$,"\\n");if(a===e)throw r;try{return await t(a)}catch{throw r}}};var V$=e=>e.replace(/\s*!important\s*$/i,"").trim(),OP=(e,t)=>{let r=t;for(;r<e.length&&/\s/.test(e[r]);)r+=1;let a=r;for(;r<e.length&&/[a-z-]/i.test(e[r]);)r+=1;if(r===a)return!1;for(;r<e.length&&/\s/.test(e[r]);)r+=1;return e[r]===":"},Ch=e=>{let t=[],r=0;for(;r<e.length;){for(;r<e.length&&/[\s;,]/.test(e[r]);)r+=1;if(r>=e.length)break;let a=r;for(;r<e.length&&e[r]!==":"&&!(e[r]===";"||e[r]===",");)r+=1;if(r>=e.length||e[r]!==":")break;let i=e.substring(a,r).trim().toLowerCase();r+=1;let s=r,o=0,n=null;for(;r<e.length;){let u=e[r];if(n){u===n&&e[r-1]!=="\\"&&(n=null),r+=1;continue}if(u==='"'||u==="'"){n=u,r+=1;continue}if(u==="("){o+=1,r+=1;continue}if(u===")"){o=Math.max(0,o-1),r+=1;continue}if(o===0&&(u===";"||u===","||/\s/.test(u)&&OP(e,r)))break;r+=1}let l=V$(e.substring(s,r));i&&l&&t.push({property:i,value:l}),r<e.length&&(e[r]===";"||e[r]===",")&&(r+=1)}return t},p1=e=>{let t=V$(e);if(!t)return!1;if(typeof CSS<"u"&&typeof CSS.supports=="function")return CSS.supports("color",t);if(typeof document<"u"){let r=document.createElement("div");return r.style.color="",r.style.color=t,r.style.color!==""}return!1};var jl=e=>{let t=new DOMParser().parseFromString(e,"image/svg+xml").documentElement;if(t.tagName!=="svg")throw new Error("Pele returned an invalid SVG");return t},Sr=(e,t)=>{let r=new Map;return e.querySelectorAll(t).forEach(a=>{let i=a.getAttribute("data-id");i!==null&&!r.has(i)&&r.set(i,a)}),r},BP=/translate\(\s*([^\s,)]+)(?:[\s,]+([^\s,)]+))?\s*\)/,Xl=(e,t)=>{let r={x:0,y:0};for(let a=e;a&&a!==t;a=a.parentElement){let i=a.getAttribute("transform")?.match(BP);i&&(r.x+=Number(i[1])||0,r.y+=Number(i[2])||0)}return r},ti=(e,t)=>Number(e.getAttribute(t))||0,FP=/[a-zA-Z]|-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi,g1=e=>{let t=e.match(FP)||[],r=[],a=0,i="",s={x:0,y:0},o={x:0,y:0},n=u=>u!==void 0&&/^[a-zA-Z]$/.test(u),l=()=>Number(t[a++]);for(;a<t.length;){if(n(t[a]))i=t[a++];else if(!i||i.toUpperCase()==="Z")break;let u=i===i.toLowerCase(),c=(g,p)=>u?{x:s.x+g,y:s.y+p}:{x:g,y:p},f,h;switch(i.toUpperCase()){case"M":case"L":case"T":f=[c(l(),l())];break;case"H":{let g=l();f=[{x:u?s.x+g:g,y:s.y}];break}case"V":{let g=l();f=[{x:s.x,y:u?s.y+g:g}];break}case"C":f=[c(l(),l()),c(l(),l()),c(l(),l())];break;case"S":case"Q":f=[c(l(),l()),c(l(),l())];break;case"A":{h={rx:l(),ry:l(),rotation:l(),largeArc:l()!==0,sweep:l()!==0},f=[c(l(),l())];break}case"Z":f=[o];break;default:throw new Error(`Unsupported SVG path command "${i}"`)}if(f.some(g=>!Number.isFinite(g.x)||!Number.isFinite(g.y)))break;r.push({command:i.toUpperCase(),points:f,...h?{arc:h}:{}}),s=f[f.length-1],i.toUpperCase()==="M"&&(o=s,i=u?"l":"L")}return r},eT=e=>{if(!e.length)return null;let t=e.map(s=>s.x),r=e.map(s=>s.y),a=Math.min(...t),i=Math.min(...r);return{x:a,y:i,width:Math.max(...t)-a,height:Math.max(...r)-i}},j$=24,WP=(e,t,{rx:r,ry:a,rotation:i,largeArc:s,sweep:o})=>{if(!r||!a)return[];let n=i*Math.PI/180,l=Math.cos(n),u=Math.sin(n),c=(e.x-t.x)/2,f=(e.y-t.y)/2,h=l*c+u*f,g=-u*c+l*f,p=h*h/(r*r)+g*g/(a*a),m=Math.max(1,Math.sqrt(p));r=Math.abs(r)*m,a=Math.abs(a)*m;let x=(s!==o?1:-1)*Math.sqrt(Math.max(0,(r*r*a*a-r*r*g*g-a*a*h*h)/(r*r*g*g+a*a*h*h))),y=x*r*g/a,C=-x*a*h/r,S=l*y-u*C+(e.x+t.x)/2,R=u*y+l*C+(e.y+t.y)/2,N=(H,U)=>Math.atan2(U,H),D=N((h-y)/r,(g-C)/a),O=N((-h-y)/r,(-g-C)/a)-D;return o&&O<0?O+=Math.PI*2:!o&&O>0&&(O-=Math.PI*2),Array.from({length:j$+1},(H,U)=>{let k=D+O*U/j$;return{x:S+r*l*Math.cos(k)-a*u*Math.sin(k),y:R+r*u*Math.cos(k)+a*l*Math.sin(k)}})},tT=e=>{switch(e.tagName.toLowerCase()){case"rect":case"image":{let t=ti(e,"x"),r=ti(e,"y");return[{x:t,y:r},{x:t+ti(e,"width"),y:r+ti(e,"height")}]}case"circle":case"ellipse":{let t=ti(e,"cx"),r=ti(e,"cy"),a=ti(e,e.hasAttribute("r")?"r":"rx"),i=ti(e,e.hasAttribute("r")?"r":"ry");return[{x:t-a,y:r-i},{x:t+a,y:r+i}]}case"polygon":case"polyline":{let t=(e.getAttribute("points")||"").split(/[\s,]+/).filter(Boolean).map(Number),r=[];for(let a=0;a+1<t.length;a+=2)r.push({x:t[a],y:t[a+1]});return r}case"path":{let t={x:0,y:0};return g1(e.getAttribute("d")||"").flatMap(({points:r,arc:a})=>{let i=t;return t=r[r.length-1],a?[...WP(i,t,a),...r]:r})}default:return[]}},rT="rect, circle, ellipse, polygon, polyline, path, image",HP=new Set(rT.split(", ")),Wr=(e,t)=>{let a=(HP.has(e.tagName.toLowerCase())?[e]:Array.from(e.querySelectorAll(rT))).flatMap(i=>{let s=Xl(i,t);return tT(i).map(o=>({x:o.x+s.x,y:o.y+s.y}))});return eT(a)},_n=(e,t)=>{let r=Xl(e,t),a={x:0,y:0};return g1(e.getAttribute("d")||"").flatMap(({command:i,points:s})=>{let o=a;if(a=s[s.length-1],i==="Q")return s;if(i==="C"){let[n,l,u]=s;return[{x:(o.x+3*n.x+3*l.x+u.x)/8,y:(o.y+3*n.y+3*l.y+u.y)/8},u]}return[a]}).map(i=>({x:i.x+r.x,y:i.y+r.y}))},Zl=(e,t=.5)=>{let r=e.filter((a,i)=>i===0||Math.hypot(a.x-e[i-1].x,a.y-e[i-1].y)>t);return r.filter((a,i)=>{if(i===0||i===r.length-1)return!0;let s=r[i-1],o=r[i+1],n=(a.x-s.x)*(o.y-s.y)-(a.y-s.y)*(o.x-s.x),l=Math.hypot(o.x-s.x,o.y-s.y);return!l||Math.abs(n)/l>t})},X$=(e,t)=>{let r=e[e.length-1],a=e[e.length-2],i=r.x-a.x,s=r.y-a.y,o=Math.hypot(i,s),n=Math.abs(i)<.5;if(o>=t||!o||!n&&Math.abs(s)>=.5)return e;let l=g=>n?(r.y-g.y)*Math.sign(s):(r.x-g.x)*Math.sign(i),u=-1;for(let g=e.length-2;g>0;g--){let p=e[g-1],m=e[g];if(Math.hypot(m.x-p.x,m.y-p.y)<t)continue;if(n?Math.abs(m.x-p.x)<.5:Math.abs(m.y-p.y)<.5){u=g;break}if(l(p)>=t+4){u=g-1;break}}if(u<0)return e;let c=l(e[u]),f=Math.min(t,c-4);if(f<=o)return e;let h=(c-f)/(c-o);return e.map((g,p)=>{if(p<=u||p===e.length-1)return g;let m=f+(l(g)-o)*h;return n?{x:g.x,y:r.y-Math.sign(s)*m}:{x:r.x-Math.sign(i)*m,y:g.y}})},m1=(e,t=30)=>e.length<3?e:X$(X$(e,t).slice().reverse(),t).reverse(),A1=(e,t=3)=>{let r=[...e];for(let a=0;a<e.length*8;a++){let i=r.slice(1).map((h,g)=>Math.hypot(h.x-r[g].x,h.y-r[g].y)),s=i.findIndex((h,g)=>g>0&&Math.min(h,i[g-1])>1&&Math.max(h,i[g-1])>t*Math.min(h,i[g-1]));if(s===-1)break;let o=i[s]>i[s-1],n=r[s],l=r[o?s+1:s-1],u=i[o?s:s-1],f=2*i[o?s-1:s]/u;r.splice(o?s+1:s,0,{x:n.x+(l.x-n.x)*f,y:n.y+(l.y-n.y)*f})}return r},Jl=(e,t)=>{let r=0,a={distance:1/0,length:0};for(let i=1;i<e.length;i++){let s=e[i-1],o=e[i].x-s.x,n=e[i].y-s.y,l=Math.hypot(o,n),u=l?Math.min(1,Math.max(0,((t.x-s.x)*o+(t.y-s.y)*n)/l**2)):0,c=Math.hypot(s.x+u*o-t.x,s.y+u*n-t.y);c<a.distance&&(a={distance:c,length:r+u*l}),r+=l}return r?a.length/r:.5},PP=(e,t)=>{let r=Xl(e,t),a=e.tagName.toLowerCase()==="circle";return{points:(a?[{x:ti(e,"cx"),y:ti(e,"cy")}]:tT(e)).map(s=>({x:s.x+r.x,y:s.y+r.y})),radius:a?ti(e,"r"):0}},Z$=(e,t,r)=>{let a=Math.hypot(e.x-t.x,e.y-t.y);if(!a||!r.length)return e;let i={x:(e.x-t.x)/a,y:(e.y-t.y)/a},s=Math.max(0,...r.flatMap(({points:o,radius:n})=>o.map(l=>(l.x-e.x)*i.x+(l.y-e.y)*i.y+n)));return{x:e.x+i.x*s,y:e.y+i.y*s}},bb=(e,t,r)=>{let a=[],i=[];if(!e.length)return{startMarkers:a,endMarkers:i};let s=e[0],o=e[e.length-1];return t.forEach(n=>{let l=PP(n,r),u=eT(l.points);if(!u)return;let c=u.x+u.width/2,f=u.y+u.height/2,h=Math.hypot(c-s.x,f-s.y),g=Math.hypot(c-o.x,f-o.y);(h<g?a:i).push(l)}),{startMarkers:a,endMarkers:i}},J$=(e,t,r)=>{let a={x:t.x-e.x,y:t.y-e.y},i={x:r.x-t.x,y:r.y-t.y};return Math.abs(a.x*i.y-a.y*i.x)<.01*Math.hypot(a.x,a.y)&&a.x*i.x+a.y*i.y<0},GP=e=>{let t=e;for(;t.length>2&&J$(t[t.length-3],t[t.length-2],t.at(-1));)t=[...t.slice(0,-2),t.at(-1)];for(;t.length>2&&J$(t[2],t[1],t[0]);)t=[t[0],...t.slice(2)];return t},b1=(e,t,r)=>{if(e.length<2||!t.length)return e;let a=GP(e),i=a[0],s=a[a.length-1],{startMarkers:o,endMarkers:n}=bb(a,t,r),l=[...a];return l[0]=Z$(i,a[1],o),l[l.length-1]=Z$(s,a[a.length-2],n),l},aT=e=>`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(e)))}`,bi=(e,t,r)=>{for(let a=e;a&&a!==t;a=a.parentElement){let i=Number(a.getAttribute("font-size"));if(i)return i}return r},Pa=e=>{if(!e)return[];let t=Array.from(e.querySelectorAll("tspan"));return t.length?t.reduce((r,a)=>((a.hasAttribute("y")||!r.length)&&r.push(""),r[r.length-1]+=a.textContent||"",r),[]):[e.textContent||""]},UP=.35,YP=1.25,iT=(e,t,r)=>{let a=Xl(e,t),i=bi(e,t,r),s=[e,...Array.from(e.querySelectorAll("tspan"))].filter(h=>h.hasAttribute("y")),o=s.map(h=>ti(h,"y")),n=s.length?ti(s[0],"x"):0,l=Pa(e),u=o.length?(Math.min(...o)+Math.max(...o))/2-UP*i:0,c=l.length*i*YP,f=e.getAttribute("text-anchor");return{text:l.join(`
188
+ `),x:n+a.x,y:u-c/2+a.y,height:c,fontSize:i,textAlign:f==="middle"?"center":f==="end"?"right":"left"}},KP=e=>!/\bvar\(/i.test(e)&&p1(e),Dr=(e,t)=>{let r=Ss(e,t);return r&&KP(r)?r:void 0},Ss=(e,t)=>Ch(e?.getAttribute("style")||"").find(r=>r.property===t)?.value;var Ln=(e,t)=>{let r=Pa(t),a=i=>i.replace(/\s+/g," ").trim();return r.length>e.split(`
189
+ `).length&&a(r.join(" "))===a(e)?r.join(`
190
+ `):e},Js=(e,t)=>(e.getAttribute("class")||"").split(/\s+/).includes(t),Ea=(e,t,r,a={})=>{let{text:i,x:s,y:o,height:n,fontSize:l,textAlign:u}=iT(e,t,r);return{type:"text",text:i,x:s,y:o,height:n,fontSize:l,textAlign:u,color:Dr(e,"fill"),...a}},y1=(e,t,r={})=>({type:"line",startX:e.x,startY:e.y,endX:t.x,endY:t.y,...r}),zi=(e,t,r={})=>{let a=Xl(e,t),i=[],s;return g1(e.getAttribute("d")||"").forEach(({command:o,points:n})=>{let l=n[n.length-1];o!=="M"&&s&&i.push(y1({x:s.x+a.x,y:s.y+a.y},{x:l.x+a.x,y:l.y+a.y},r)),s=l}),i},On=(e,t)=>{let r=Array.from(e.children).find(n=>n.tagName.toLowerCase()==="path"&&!Js(n,"pele-marker"));if(!r)return;let a=Array.from(e.querySelectorAll(".pele-marker")),i=_n(r,t),{startMarkers:s,endMarkers:o}=bb(i,a,t);return{line:r,route:Zl(b1(i,a,t)),hasStartMarker:s.length>0,hasEndMarker:o.length>0}},sT=(e,t)=>Math.hypot(Math.max(t.x-e.x,0,e.x-(t.x+t.width)),Math.max(t.y-e.y,0,e.y-(t.y+t.height))),x1=(e,t,r)=>{let a=t??r;if(!a||e.length<2)return e;let i=sT(e[0],a),s=sT(e[e.length-1],a);return(t?i>s:i<s)?[...e].reverse():e},_o=(e,t={})=>{let[r]=e,a=e[e.length-1];return{type:"arrow",startX:r.x,startY:r.y,endX:a.x,endY:a.y,points:e.map(i=>[i.x-r.x,i.y-r.y]),...t}},w1=(e,t,r)=>{let a=t&&Wr(t,r);return a?Jl(e,{x:a.x+a.width/2,y:a.y+a.height/2}):void 0},eu=e=>({x:e.x,y:e.y,width:e.width??0,height:e.height??0});var uT="rect, circle, ellipse, polygon, path",cT=5,hT=1.25,dT=e=>!/\bvar\(/i.test(e)&&p1(e),fT=e=>{let t={};return Ch(e?.getAttribute("style")||"").forEach(({property:r,value:a})=>{switch(r){case ra.FILL:case ra.STROKE:dT(a)&&(t[r]=a);break;case ra.STROKE_WIDTH:case ra.STROKE_DASHARRAY:t[r]=a;break}}),t},pT=e=>{let t={};return Ch(e?.getAttribute("style")||"").forEach(({property:r,value:a})=>{(r==="fill"||r===Os.COLOR)&&dT(a)&&(t[Os.COLOR]=a)}),t},qP=(e,t,r)=>{let a=Wr(t,r);if(a)return{id:e.id,type:e.type,labelType:e.labelType,text:e.type===la.DIAMOND?Ha(e.text??e.id):Ln(Ha(e.text??e.id),t.querySelector(".pele-label")),...a,link:t.querySelector("a[href]")?.getAttribute("href")||void 0,containerStyle:fT(t.querySelector(uT)),labelStyle:pT(t.querySelector(".pele-label"))}},zP=(e,t)=>Math.abs(t.x-(e.x+e.width/2))/(e.width/2)+Math.abs(t.y-(e.y+e.height/2))/(e.height/2),nT=(e,t)=>Math.hypot((t.x-(e.x+e.width/2))/(e.width/2),(t.y-(e.y+e.height/2))/(e.height/2)),QP=5,gT={[la.DIAMOND]:{ratio:2,inset:0,getDistance:zP},[la.CIRCLE]:{ratio:Math.SQRT2,inset:0,getDistance:nT},[la.DOUBLECIRCLE]:{ratio:Math.SQRT2,inset:QP*2,getDistance:nT}},oT=4,VP=1.35,jP=.02,XP=1/4,ZP=(e,t,r)=>{let a=[];for(let i of e.split(`
191
+ `)){let s=[],o="",n=0;for(let l of i.split(" ").filter(Boolean)){let u=o?`${o} ${l}`:l,c=r(u);if(c===null)return null;if(c<=t){o=u,n=c;continue}let f=r(l)??1/0;if(f>t)return null;o&&s.push(n),o=l,n=f}s.push(n),a.push(s)}return a},JP=(e,{fontSize:t,measureText:r})=>{if(!e.text||!r||r(e.text)===null)return e;let a=cT*2,i=t*hT,s=(c,{withoutOrphans:f=!1}={})=>{let h=Math.round(e.width*c/2)-a-1,g=Math.round(e.height*c/2)-a,p=ZP(e.text,h,r);return!!p&&p.flat().length*i<=g&&(!f||p.every(m=>m.length<2||m[m.length-1]>=h*XP))},o=(c,f)=>{for(let h=1;h<=c;h+=jP)if(s(h,f))return h;return null},n=o(VP,{withoutOrphans:!0})??o(oT)??oT,l=e.width*n,u=e.height*n;return{...e,x:e.x-(l-e.width)/2,y:e.y-(u-e.height)/2,width:l,height:u}},eG=(e,t,r)=>{if(e.type===la.DIAMOND)return JP(e,r);let{fontSize:a,measureText:i}=r,s=gT[e.type];if(!s||!t.length)return e;let o=t.map(g=>i?.(g)??null);if(o.some(g=>g===null))return e;let n=cT*2,l=Math.max(...o),u=t.length*a*hT,c=Math.max(e.width,e.height,s.ratio*(l+n+1)+s.inset,s.ratio*(u+n+1)+s.inset),f=c,h=c;return{...e,x:e.x-(f-e.width)/2,y:e.y-(h-e.height)/2,width:f,height:h}},tG=(e,t,r,a)=>{let i=Wr(t,a);if(!i)return;let s=Js(t,"pele-lane")?Array.from(t.children).filter(n=>n.tagName.toLowerCase()==="rect")[1]:void 0,o=s&&Wr(s,a);return{id:e.id,nodeIds:e.nodes,text:Ha(e.title),labelType:e.labelType,...i,containerStyle:fT(t.querySelector(uT)),labelStyle:pT(t.querySelector(".pele-cluster-label")||r?.querySelector(".pele-cluster-label")||null),...o?{laneHeader:{...o,vertical:o.height>=i.height-1}}:{}}},lT=(e,t)=>{let r=gT[t.type];if(!r)return e;let a=e.findIndex((l,u)=>u>0&&r.getDistance(t,l)>1.01);if(a===-1)return e;let i=e[a],s=t.x+t.width/2,o=t.y+t.height/2,n=1/r.getDistance(t,i);return[{x:s+(i.x-s)*n,y:o+(i.y-o)*n},...e.slice(a)]},rG=(e,t,r,a,i,{inSwimlanes:s=!1}={})=>{let n=Array.from(t.querySelectorAll("path")).find(m=>!m.getAttribute("class")?.includes("pele-marker"));if(!n)return;let l=b1(_n(n,a),Array.from(t.querySelectorAll(".pele-marker")),a),u=i[e.start];u&&(l=lT(l,u));let c=i[e.end];if(c&&(l=lT(l.reverse(),c).reverse()),l=Zl(l),l.length<2)return;let f=s&&l.every((m,x)=>x===0||Math.abs(m.x-l[x-1].x)<.5||Math.abs(m.y-l[x-1].y)<.5),h=l[0],g=l[l.length-1],p=r&&Wr(r,a);return{id:e.id,start:e.start,end:e.end,type:e.type,text:Ln(Ha(e.text),r?.querySelector("text")??null),labelType:e.labelType,stroke:e.stroke,startX:h.x,startY:h.y,endX:g.x,endY:g.y,reflectionPoints:f?l:A1(l),...f?{orthogonal:f}:{},...e.text&&p?{labelPosition:Jl(l,{x:p.x+p.width/2,y:p.y+p.height/2})}:{}}},mT=(e,t,r)=>{let a=Sr(t,"g.pele-node[data-id]"),i=Sr(t,"g.pele-edge[data-id]"),s=Sr(t,"g.pele-edge-label[data-id]"),o=Sr(t,"g.pele-cluster[data-id]"),n=Sr(t,"g.pele-cluster-title[data-id]"),l={};e.nodes.forEach((p,m)=>{let x=a.get(m),y=x&&qP(p,x,t);y&&(l[m]=eG(y,Pa(x.querySelector(".pele-label")),r))});let u=new Map;e.subgraphs.forEach(p=>p.nodes.forEach(m=>u.set(m,p.id)));let c=(p,m)=>{let x=new Set;for(let y=u.get(p);y!==void 0&&!x.has(y);y=u.get(y)){if(y===m)return!0;x.add(y)}return!1},f=e.mermaidType==="swimlane",h=e.edges.flatMap(p=>{if(c(p.start,p.end)||c(p.end,p.start))return[];let m=p.id!==void 0&&i.get(p.id),x=m&&rG(p,m,s.get(p.id)??void 0,t,l,{inSwimlanes:f});return x?[x]:[]});return{type:"flowchart",subGraphs:e.subgraphs.flatMap(p=>{let m=o.get(p.id),x=m&&tG(p,m,n.get(p.id)||null,t);return x?[x]:[]}),vertices:l,edges:h}};var aG="#999",AT="#adb5bd",iG="#e9ecef",sG="#e9ecef",yb=14,bT=28,nG=2*5+4,oG="#ffffff",S1=16,lG=1.25,tu=Wr,uG=(e,t,r)=>{let a=Wr(e,t);if(!a)return[];let{x:i,y:s,width:o,height:n}=a,l=[{x:i,y:s},{x:i+o,y:s},{x:i+o,y:s+n},{x:i,y:s+n}];return l.map((u,c)=>y1(u,l[(c+1)%l.length],r))},cG=(e,t,r)=>{let a=[];return t.querySelectorAll("g.pele-node.pele-actor[data-id]").forEach(i=>{let s=i.getAttribute("data-id"),o=Js(i,"pele-actor-footer")?"bottom":"top",n=`${s}-${o}`,l=i.querySelector(".pele-label");if(Js(i,"pele-actor-actor")){let h=Kr(),g=[];Array.from(i.children).forEach(p=>{let m=`${n}-${g.length}`;switch(p.tagName.toLowerCase()){case"circle":{let x=tu(p,t);x&&g.push({type:"ellipse",id:m,...x,groupId:h});break}case"path":case"line":g.push(...zi(p,t,{groupId:h}).map((x,y)=>({...x,id:`${m}-${y}`})));break;case"text":g.push(Ea(p,t,r.fontSize,{id:m,groupId:h}));break}}),a.push(g);return}let u=tu(i,t);if(!u)return;let c=i.querySelector("rect, path, polygon, circle"),f=e.actors.get(s);a.push([{type:"rectangle",id:n,...u,label:{text:Ln(Ha(f?.description??s),l),fontSize:l?bi(l,t,r.fontSize):r.fontSize},bgColor:c?Dr(c,"fill"):void 0,strokeColor:c?Dr(c,"stroke"):void 0,subtype:"actor"}])}),a},hG=e=>Array.from(e.querySelectorAll("path.pele-lifeline")).flatMap(t=>{let r=_n(t,e);return r.length<2?[]:[y1(r[0],r[r.length-1],{strokeColor:aG,strokeWidth:1})]}),xT=e=>typeof e.message=="string"?Ha(e.message):"",dG=(e,t,r)=>{let a=new Map(e.messages.map(n=>[`i${n.id}`,n])),i=Sr(t,"g.pele-edge-label[data-id]"),s=[],o=[];return Sr(t,"g.pele-edge.pele-message[data-id]").forEach((n,l)=>{let u=a.get(l),c=On(n,t);if(!u||!c||c.route.length<2)return;let f=u.from!==void 0&&u.from===u.to&&i.get(l)?.querySelector("text");if(f){let S=Ea(f,t,r.fontSize),{height:R=0}=S,N=R*S1/S.fontSize;o.push({...S,fontSize:S1,y:S.y+(R-N)/2,height:N})}let h=f?"":xT(u),g=h?h.split(`
192
+ `).length*S1*lG/2:0,p=c.route.map(S=>({x:S.x,y:S.y-g})),m=_o(p,{label:h?{text:h}:void 0,strokeStyle:c.line.hasAttribute("stroke-dasharray")?"dotted":"solid",startArrowhead:c.hasStartMarker?"arrow":null,endArrowhead:c.hasEndMarker?"arrow":null}),x=n.querySelector(".pele-sequence-number"),y=x?.querySelector("rect, circle"),C=y&&Wr(y,t);if(x&&C){let S=x.textContent||"",R=bT,N=r.measureText?.(S,yb)??S.length*yb*.7,D=Math.max(bT,N+nG);m.sequenceNumber={type:"rectangle",x:C.x+C.width/2-D/2,y:C.y+C.height/2-g-R/2,width:D,height:R,label:{text:S,fontSize:yb},bgColor:sG,subtype:"sequence"}}s.push(m)}),{arrows:s,texts:o}},fG=(e,t,r)=>{let a=new Map(e.messages.map(i=>[`i${i.id}`,i]));return Array.from(Sr(t,"g.pele-note[data-id]")).flatMap(([i,s])=>{let o=s.querySelector("rect"),n=o&&tu(o,t),l=a.get(i);if(!o||!n)return[];let u=s.querySelector(".pele-label");return[{type:"rectangle",...n,label:{text:l?Ln(xT(l),u):u?.textContent||"",fontSize:u?bi(u,t,r.fontSize):r.fontSize},bgColor:Dr(o,"fill")??oG,strokeStyle:"dashed",subtype:"note"}]})},yT=(e,t,r)=>Array.from(e.querySelectorAll(t)).flatMap(a=>{let i=tu(a,e);return i?[{type:"rectangle",...i,label:{text:"",fontSize:S1},...r==="highlight"?{bgColor:Dr(a,"fill"),strokeColor:"transparent"}:{},subtype:r}]:[]}),pG=(e,t)=>{let r=[],a=[],i=[],s={strokeStyle:"dotted",strokeColor:AT,strokeWidth:2};return e.querySelectorAll("g.pele-frame").forEach(o=>{let n=Array.from(o.children).find(f=>f.tagName.toLowerCase()==="rect"&&f.getAttribute("fill")==="none");n&&r.push(...uG(n,e,s)),Array.from(o.children).filter(f=>f.tagName.toLowerCase()==="path"&&f.hasAttribute("stroke-dasharray")).forEach(f=>r.push(...zi(f,e,s)));let l=o.querySelector(".pele-frame-kind"),u=l?.previousElementSibling,c=u&&tu(u,e);l&&c&&i.push({type:"rectangle",x:c.x,y:c.y,height:c.height,label:{text:l.textContent||"",fontSize:bi(l,e,t.fontSize)},strokeColor:AT,bgColor:iG}),o.querySelectorAll(".pele-frame-label").forEach(f=>a.push(Ea(f,e,t.fontSize)))}),{lines:r,texts:a,nodes:i}},wT=(e,t,r)=>{let a=cG(e,t,r),i=Array.from(t.querySelectorAll("g.pele-box")),s=Array.from(t.querySelectorAll("path.pele-destroy")).flatMap(n=>zi(n,t)),o=dG(e,t,r);return{type:"sequence",nodes:[yT(t,"rect.pele-rect","highlight"),...a,fG(e,t,r),yT(t,"rect.pele-activation","activation"),s,o.texts],lines:hG(t),arrows:o.arrows,loops:pG(t,r),groups:e.boxes.map((n,l)=>{let u=i[l]?.querySelector("rect"),c=u&&tu(u,t);return{name:Ha(n.name??""),actorKeys:n.actorKeys,fill:n.fill,...c?{bounds:c}:{}}})}};var gG={0:"diamond_outline",1:"triangle_outline",2:"diamond",3:"arrow",4:"circle_outline"},mG=1,AG=(e,t,r)=>{let a=e.getAttribute("data-id"),i=e.querySelector("rect"),s=i&&Wr(i,t);if(!i||!s)return;let o=Kr(),n={classId:a},l=Dr(i,"stroke"),u=parseFloat(Ss(i,"stroke-width")||""),c=Ss(i,"stroke-dasharray")?"dashed":void 0,f=e.querySelector(".pele-label"),h=Array.from(e.querySelectorAll(".pele-annotation")),g=h.length?[...h,...f?[f]:[]].map(y=>Ea(y,t,r.fontSize,{id:Kr(),groupId:o,metadata:n})):[],p={type:"rectangle",id:a,groupId:o,metadata:n,...s,label:h.length?void 0:{text:Pa(f).join(`
193
+ `),fontSize:f?bi(f,t,r.fontSize):r.fontSize,color:Dr(f,"fill"),verticalAlign:"top"},bgColor:Dr(i,"fill"),strokeColor:l,strokeWidth:Number.isFinite(u)?u:void 0,strokeStyle:c},m=Array.from(e.querySelectorAll(".pele-divider")).flatMap(y=>zi(y,t).map(C=>({...C,id:Kr(),strokeColor:l,strokeWidth:p.strokeWidth,strokeStyle:c,groupId:o,metadata:n}))),x=[...g,...Array.from(e.querySelectorAll(".pele-member")).map(y=>Ea(y,t,r.fontSize,{id:Kr(),groupId:o,metadata:n}))];return{container:p,lines:m,text:x}},bG=(e,t,r,a)=>{let i=Sr(t,"g.pele-edge-label[data-id]"),s=[],o=new Map(Array.from(Sr(t,"g.pele-edge.pele-relation[data-id]")).map(([l,u])=>[l.match(/_(\d+)$/)?.[1],u]).filter(([l])=>l!==void 0));return{arrows:e.relations.flatMap((l,u)=>{let c=o.get(String(u+1)),f=c&&On(c,t),h=r.get(l.id1),g=r.get(l.id2);if(!c||!f||f.route.length<2||!h&&!g)return[];let p=l.id1===l.id2,m=p?f.route:x1(f.route,h&&eu(h),g&&eu(g)),x=R=>R==="none"?null:gG[R]??"arrow",y=l.title?Ha(l.title):"",C=i.get(c.getAttribute("data-id")),S=p&&C?.querySelector("text");return S&&s.push(Ea(S,t,a.fontSize)),[_o(m,{label:y&&!S?{text:y,labelPosition:w1(m,C,t)}:void 0,strokeStyle:l.relation.lineType===mG?"dotted":"solid",startArrowhead:x(l.relation.type1),endArrowhead:x(l.relation.type2),...h?{start:{type:"rectangle",id:l.id1}}:{},...g?{end:{type:"rectangle",id:l.id2}}:{},...m.length>2&&!p?{roundness:null}:{}})]}),labels:s}},yG=(e,t,r)=>{let a=[],i=[],s=Sr(t,"g.pele-note-edge[data-id]");return Sr(t,"g.pele-node.pele-note[data-id]").forEach((o,n)=>{let l=Wr(o,t),u=e.notes.get(n);if(!l)return;let c=o.querySelector(".pele-label");a.push({type:"rectangle",id:n,...l,label:{text:u?Ln(Ha(u.text),c):Pa(c).join(`
194
+ `),fontSize:c?bi(c,t,r.fontSize):r.fontSize},strokeStyle:"dashed",subtype:"note"});let h=s.get(`edgeNote${n.replace(/^note/,"")}`)?.querySelector("path"),g=h&&Zl(_n(h,t));!u?.class||!g||g.length<2||i.push(_o(g,{strokeStyle:"dotted",startArrowhead:null,endArrowhead:null,start:{type:"rectangle",id:n},end:{type:"rectangle",id:u.class}}))}),{notes:a,connectors:i}},ST=(e,t,r)=>{let a=[],i=[],s=[],o=new Map;t.querySelectorAll("g.pele-node.pele-interface .pele-label").forEach(f=>s.push(Ea(f,t,r.fontSize))),t.querySelectorAll("g.pele-node.pele-class[data-id]").forEach(f=>{let h=AG(f,t,r);h&&(a.push(h.container),i.push(...h.lines),s.push(...h.text),o.set(h.container.id,h.container))});let{arrows:n,labels:l}=bG(e,t,o,r),{notes:u,connectors:c}=yG(e,t,r);return t.querySelectorAll(".pele-cardinality").forEach(f=>s.push(Ea(f,t,r.fontSize))),s.push(...l),{type:"class",nodes:[a,u],lines:i,arrows:[...n,...c],text:s,namespaces:Array.from(e.namespaces.values()).map(f=>({id:f.id,classes:Object.fromEntries(f.classes)}))}};var ET={ONLY_ONE:"cardinality_exactly_one",ZERO_OR_ONE:"cardinality_zero_or_one",ZERO_OR_MORE:"cardinality_zero_or_many",ONE_OR_MORE:"cardinality_one_or_many",MD_PARENT:"cardinality_one"},xG=(e,t,r,a)=>{let i=Array.from(t.children).find(x=>x.tagName.toLowerCase()==="rect"),s=i&&Wr(i,r);if(!i||!s)return;let o=e.attributes.length>0,n=o?Kr():void 0,l={entityId:e.id,entityLabel:e.label,entityAlias:e.alias},u=Dr(i,"stroke"),c=parseFloat(Ss(i,"stroke-width")||""),f=Ss(i,"stroke-dasharray")?"dashed":void 0,h=Array.from(t.children).find(x=>(x.getAttribute("class")||"").includes("pele-label")),g={type:"rectangle",id:e.id,groupId:n,metadata:l,...s,label:{text:Pa(h??null).join(`
195
+ `),fontSize:h?bi(h,r,a.fontSize):a.fontSize,color:Dr(h,"fill"),textAlign:"center",verticalAlign:o?"top":"middle"},bgColor:Dr(i,"fill"),strokeColor:u,strokeWidth:Number.isFinite(c)?c:void 0,strokeStyle:f},p=Array.from(t.querySelectorAll(".pele-er-divider")).flatMap(x=>zi(x,r).map(y=>({...y,id:Kr(),strokeColor:u,strokeWidth:g.strokeWidth,strokeStyle:f,groupId:n,metadata:{entityId:e.id}}))),m=Array.from(t.querySelectorAll(".pele-er-attributes text")).map(x=>Ea(x,r,a.fontSize,{id:Kr(),groupId:n,metadata:{entityId:e.id}}));return{container:g,lines:p,text:m}},wG=(e,t,r,a)=>{let i=Sr(t,"g.pele-edge-label[data-id]"),s=[],o=new Map(Array.from(Sr(t,"g.pele-edges > g.pele-edge[data-id]")).map(([l,u])=>[l.match(/_(\d+)$/)?.[1],u]).filter(([l])=>l!==void 0));return{arrows:e.relationships.flatMap((l,u)=>{let c=o.get(String(u)),f=c&&On(c,t),h=r.get(l.entityA),g=r.get(l.entityB);if(!c||!f||f.route.length<2||!h||!g)return[];let p=l.entityA===l.entityB,m=p?f.route:m1(x1(f.route,eu(h),eu(g))),x=Ha(l.roleA||""),y=i.get(c.getAttribute("data-id")),C=p&&y?.querySelector("text");return C&&s.push(Ea(C,t,a.fontSize)),[_o(m,{label:x&&!C?{text:x,textAlign:"center",labelPosition:w1(m,y,t)}:void 0,strokeStyle:l.relSpec.relType==="NON_IDENTIFYING"?"dashed":"solid",startArrowhead:ET[l.relSpec.cardB]??null,endArrowhead:ET[l.relSpec.cardA]??null,start:{type:"rectangle",id:l.entityA},end:{type:"rectangle",id:l.entityB},...m.length>2&&!p?{roundness:null}:{}})]}),labels:s}},CT=(e,t,r)=>{let a=[],i=[],s=[],o=new Map,n=Sr(t,"g.pele-node.pele-entity[data-id]");e.entities.forEach((c,f)=>{let h=n.get(f),g=h&&xG(c,h,t,r);g&&(a.push(g.container),i.push(...g.lines),s.push(...g.text),o.set(c.id,g.container))});let{arrows:l,labels:u}=wG(e,t,o,r);return{type:"erd",nodes:[a],lines:i,arrows:l,text:[...s,...u]}};var SG=[["pele-state-start","stateStart"],["pele-state-end","stateEnd"],["pele-state-choice","choice"],["pele-state-fork","fork"],["pele-state-join","join"],["pele-note","note"]],EG=e=>{let t={},r=Dr(e,"fill"),a=Dr(e,"stroke"),i=Ss(e,"stroke-width"),s=Ss(e,"stroke-dasharray");return r&&(t[ra.FILL]=r),a&&(t[ra.STROKE]=a),i&&(t[ra.STROKE_WIDTH]=i),s&&(t[ra.STROKE_DASHARRAY]=s),t},CG=e=>{let t={},r=Dr(e,"fill");return r&&(t[Os.COLOR]=r),t},MG=(e,t)=>{let r=Array.from(e.children).find(i=>i.tagName.toLowerCase()==="path"&&!i.getAttribute("class")&&i.getAttribute("fill")==="none"),[a]=r?zi(r,t):[];return a?{startX:a.startX,startY:a.startY,endX:a.endX,endY:a.endY}:void 0},MT=(e,t,r,a)=>{let i=e.getAttribute("data-id"),s=e.querySelector("rect, circle, polygon, path"),o=Wr(e,t);if(i===null||!o)return;let n=e.querySelectorAll(".pele-state-description"),l=r?"roundedWithTitle":SG.find(([c])=>Js(e,c))?.[1]??(n.length?"rectWithTitle":"rect"),u=e.querySelector(".pele-label, .pele-cluster-label");return{fontSize:u?bi(u,t,a):a,id:i,shape:l,text:Pa(u).join(`
196
+ `),description:Array.from(n).flatMap(Pa),...o,containerStyle:EG(s),labelStyle:CG(u),dividerLine:l==="rectWithTitle"||l==="roundedWithTitle"?MG(e,t):void 0,isRenderable:!0}},vG=(e,t)=>{let r=t.x+t.width,a=t.y+t.height;return e.x>=t.x&&e.x<=r&&e.y>=t.y&&e.y<=a?Math.min(e.x-t.x,r-e.x,e.y-t.y,a-e.y):Math.hypot(Math.max(t.x-e.x,0,e.x-r),Math.max(t.y-e.y,0,e.y-a))},vT=(e,t)=>t.reduce((r,a)=>{let i=vG(e,a);return!r||i<r.distance-.5||i<r.distance+.5&&a.width*a.height<r.node.width*r.node.height?{node:a,distance:i}:r},void 0)?.node,kT=(e,t,r)=>{let a=Array.from(t.querySelectorAll("g.pele-cluster.pele-state-composite[data-id]")).flatMap(c=>MT(c,t,!0,r.fontSize)??[]),i=Array.from(t.querySelectorAll("g.pele-nodes > g.pele-node[data-id], g.pele-nodes > g.pele-note[data-id]")).flatMap(c=>MT(c,t,!1,r.fontSize)??[]),s=[...a,...i],o=Sr(t,"g.pele-edge-label[data-id]"),n=[],l=Array.from(t.querySelectorAll("g.pele-edges > g.pele-edge[data-id]")).flatMap(c=>{let f=c.getAttribute("data-id"),h=On(c,t);if(!h||h.route.length<2)return[];let g=m1(h.route),p=vT(g[0],s),m=vT(g[g.length-1],s);if(!p||!m)return[];let x=o.get(f)?.querySelector("text"),y=p===m;x&&y&&n.push(Ea(x,t,r.fontSize));let C=Js(c,"pele-note-edge"),S=g[0],R=g[g.length-1],N=x&&!y?Wr(o.get(f),t):null;return[{id:f,start:p.id,end:m.id,text:x&&!y?Pa(x).join(`
197
+ `):"",startX:S.x,startY:S.y,endX:R.x,endY:R.y,reflectionPoints:A1(g),strokeColor:Dr(c,"stroke"),strokeStyle:C?"dashed":void 0,isNoteEdge:C,...N?{labelPosition:Jl(g,{x:N.x+N.width/2,y:N.y+N.height/2})}:{}}]}),u=Array.from(t.querySelectorAll("path.pele-divider")).flatMap(c=>zi(c,t,{strokeStyle:"dashed"}));return{type:"state",nodes:s,edges:l,lines:u,texts:n}};var TT="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji",ru,$T=(e,t)=>{if(ru===void 0)try{ru=typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1).getContext("2d"):typeof document<"u"?document.createElement("canvas").getContext("2d"):null}catch{ru=null}return ru?(ru.font=`${t}px ${TT}`,ru.measureText(e).width):null},C1=1.5,E1=(e,t)=>({nodeSpacing:e*C1,rankSpacing:t*C1}),IT=e=>({flowchart:{curve:e.curve??k0.flowchart.curve,...E1(40,48)},class:E1(40,56),er:E1(48,64),state:E1(40,44),sequence:{actorMargin:40*C1,messageMargin:35*C1}}),xb=e=>({fontSize:e.fontSize??20,responsive:!1,autoDirection:!1,config:IT(e)}),kG=new Set(["flowchart","sequence","class","er","state"]),Mh=(e,t)=>kG.has(e.type)?{...xb(t),fontFamily:TT}:xb(t),$G=(e,t)=>{if(!(e instanceof je)||e.code!=="syntax"||e.snippet.split(`
198
+ `)[0].trim())return e;let r=t.split(/\r?\n/),a=r.length-1;for(;a>=0&&!r[a].trim();)a--;let i=e.line-1-(r.length-1-a);if(a<0||i<1)return e;let s=r[a],o=`${s}
199
+ ${"-".repeat(s.length)}^`;return e.message=e.message.replace(`on line ${e.line}`,`on line ${i}`).replace(e.snippet,o),e.line=i,e.column=s.length+1,e.snippet=o,e},TG=async e=>{let t=null;try{t=dm(e)}catch{}await q$(t)},IG=async(e,t)=>{try{return await TG(e),await Q$(e,async r=>fm(r,{limit:t.maxTextSize??k0.maxTextSize,maxEdges:t.maxEdges??k0.maxEdges,config:IT(t)}))}catch(r){throw $G(r,e)}},NG=(e,t)=>{let{svg:r,width:a,height:i}=fn(e,xb(t));return{type:"graphImage",mimeType:"image/svg+xml",dataURL:aT(r),width:a,height:i}};var NT=async(e,t={})=>{let r=await IG(e,t);try{switch(r.type){case"flowchart":{let{svg:a}=fn(r,Mh(r,t)),i=t.fontSize??20;return mT(r,jl(a),{fontSize:i,measureText:s=>$T(s,i)})}case"sequence":{let{svg:a}=fn(r,Mh(r,t));return wT(r,jl(a),{fontSize:t.fontSize??20,measureText:$T})}case"class":{let{svg:a}=fn(r,Mh(r,t));return ST(r,jl(a),{fontSize:t.fontSize??20})}case"er":{let{svg:a}=fn(r,Mh(r,t));return CT(r,jl(a),{fontSize:t.fontSize??20})}case"state":{let{svg:a}=fn(r,Mh(r,t));return kT(r,jl(a),{fontSize:t.fontSize??20})}}}catch(a){console.error("Error processing Pele diagram:",a)}return NG(r,t)};var DT=(e,t={})=>NT(e,{fontSize:parseInt(t.themeVariables?.fontSize??"")||20,maxEdges:t.maxEdges,maxTextSize:t.maxTextSize,curve:t.flowchart?.curve});var RT=async(e,t)=>{let r=parseInt(t?.themeVariables?.fontSize??"")||20,a=await DT(e,t);return Ww(a,{fontSize:r})};var DG=/(<?-->|<?==>|<?-\.->|---|-\.-|===|~~~|--[ox]|<-->)/g;function RG(e){let t=new Map,r,a=0,i={},s=e.match(/^---\s*\n([\s\S]*?)\n---[^\n]*\n?/);s&&(r=s[1].match(/^\s*title:\s*(.+)$/m)?.[1]?.trim());for(let o of e.slice(s?.[0].length??0).split(/\r?\n/)){let n=o.trim(),l=n.match(/^%%\s*([#>]|title\b)\s*(.*)$/);if(l){l[1]==="#"?i.chapter=l[2].trim():l[1]===">"?i.say=l[2].trim():r=l[2].trim();continue}if(n.startsWith("%%"))continue;let u=(n.match(DG)??[]).length;u&&(i.chapter||i.say)&&(t.set(a,i),i={}),a+=u}return{notes:t,title:r}}var wb=e=>(typeof e.label=="string"?e.label:e.label?.text)??"",_T=e=>/^[A-Za-z_][\w-]*$/.test(e)?e:`n_${e.replace(/[^\w-]/g,"_")}`,Gt=e=>Math.round(e*10)/10;async function LT(e,t,r={}){let a=(await t(e)).elements,{notes:i,title:s}=RG(e),o=a.filter(k=>k.type==="arrow"),n=new Map(a.filter(k=>k.id?.endsWith("__title")).map(k=>[k.id.slice(0,-7),wb(k)])),l=a.filter(k=>k.type!=="arrow"&&!k.id?.endsWith("__title"));if(!l.length)throw new Error("This Mermaid diagram has no shapes chalk-talk can draw yet (flowcharts first).");let u=l.flatMap(k=>[k.x,k.x+(k.width??0)]).concat(o.flatMap(k=>(k.points??[]).map(j=>k.x+j[0]))),c=l.flatMap(k=>[k.y,k.y+(k.height??0)]).concat(o.flatMap(k=>(k.points??[]).map(j=>k.y+j[1]))),[f,h,g,p]=[Math.min(...u),Math.max(...u),Math.min(...c),Math.max(...c)],m=s?100:50,x=Math.min(780/Math.max(1,h-f),(720-m-50)/Math.max(1,p-g),2.4),y=Math.round(Math.max(300,Math.min(720,(p-g)*x+m+50))),C=(900-(h-f)*x)/2-f*x,S=(k,j)=>[Gt(C+k*x),Gt(m+(j-g)*x)],R=Math.round(Math.max(18,Math.min(30,15*x))),N=[];s&&N.push({type:"text",at:[40,60],text:s,size:36});let D=new Set,O=l.filter(k=>k.id&&n.has(k.id)),H=k=>{let[j,X]=S(k.x,k.y),[P,F]=[Gt((k.width??0)*x),Gt((k.height??0)*x)],I=_T(k.id??`n${N.length}`),$=k.type==="ellipse"?{type:"ellipse",center:[Gt(j+P/2),Gt(X+F/2)],rx:Gt(P/2),ry:Gt(F/2),id:I}:k.type==="diamond"?{type:"polygon",points:[[Gt(j+P/2),X],[Gt(j+P),Gt(X+F/2)],[Gt(j+P/2),Gt(X+F)],[j,Gt(X+F/2)]],id:I}:{type:"polygon",points:[[j,X],[Gt(j+P),X],[Gt(j+P),Gt(X+F)],[j,Gt(X+F)]],id:I},w=wb(k);return w?[$,{type:"text",at:[Gt(j+P/2),Gt(X+F/2+R*.35)],text:w,size:R,anchor:"middle"}]:[$]},U=k=>{if(!k||D.has(k))return[];let j=l.find(X=>X.id===k);return j?(D.add(k),H(j)):[]};for(let k of O){let[j,X]=S(k.x,k.y),[P,F]=[Gt((k.width??0)*x),Gt((k.height??0)*x)];D.add(k.id),N.push({type:"polygon",points:[[j,X],[Gt(j+P),X],[Gt(j+P),Gt(X+F)],[j,Gt(X+F)]],id:_T(k.id),style:{dashed:!0,color:"#8C8578"}}),n.get(k.id)&&N.push({type:"text",at:[Gt(j+10),Gt(X+R+6)],text:n.get(k.id),size:Math.round(R*.85),style:{color:"#5E5A52"}})}o.forEach((k,j)=>{let X=[...U(k.start?.id)],P=(k.points??[]).map($=>S(k.x+$[0],k.y+$[1])),F=k.strokeStyle==="dashed"||k.strokeStyle==="dotted"?{style:{dashed:!0}}:{};if(P.length>=2){P.length>2&&X.push({type:"polyline",points:P.slice(0,-1),...F}),X.push({type:"arrow",from:P[P.length-2],to:P[P.length-1],...F});let $=wb(k);if($){let w=Math.round(R*.8),A=G=>{let[K,L]=[Math.abs(P[G+1][0]-P[G][0]),Math.abs(P[G+1][1]-P[G][1])];return Math.hypot(K,L)*(Math.min(K,L)<2?2:1)},v=0;for(let G=1;G<P.length-1;G++)A(G)>A(v)&&(v=G);let[b,T]=[P[v],P[v+1]],[M,E]=[(b[0]+T[0])/2,(b[1]+T[1])/2],Y=Math.abs(T[0]-b[0])>=Math.abs(T[1]-b[1]);X.push(Y?{type:"text",at:[Gt(M),Gt(E-w*.55)],text:$,size:w,anchor:"middle"}:{type:"text",at:[Gt(M+w*.5),Gt(E+w*.35)],text:$,size:w,anchor:"start"})}}X.push(...U(k.end?.id));let I=i.get(j);I&&X.length&&Object.assign(X[0],I.chapter?{chapter:I.chapter}:{},I.say?{say:I.say}:{}),N.push(...X)});for(let k of l)k.id&&!D.has(k.id)&&N.push(...U(k.id));return{id:(s??"mermaid").toLowerCase().normalize("NFD").replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,60)||"mermaid",title:s??"Mermaid",width:900,height:y,background:"plain",...r.locale?{locale:r.locale}:{},steps:N}}Object.assign(globalThis,{DOMParser:il,document:iw("<!doctype html><html><body></body></html>").document});var $ue=(e,t)=>LT(e,RT,t);export{$ue as fromMermaid};