Files

146 lines
96 KiB
JavaScript
Raw Permalink Normal View History

2025-11-23 14:59:17 -08:00
import{a as ke}from"./chunk-VSLJSFIP.mjs";import{a as be,b as ye,d as Rt,e as Ot,f as nt,g as _t}from"./chunk-WONJCSFZ.mjs";import{a as Ee,b as we}from"./chunk-F3RBCZRS.mjs";import{a as Te,k as Zt,m as V}from"./chunk-EFRVIJHI.mjs";import{a as Ve}from"./chunk-THXVA4DE.mjs";import{A as q,B as yt,C as Jt,D as I,L as he,O as de,P as Qt,Q as pe,R as ue,S as ge,T as fe,U as xe,W as J,X as me,a as ce,q as Ct,w as At,x as le}from"./chunk-KXVH62NG.mjs";import{b as z,h as Lt}from"./chunk-63GW7ZVL.mjs";import"./chunk-A4ITRWGT.mjs";import{a as x,e as Ye}from"./chunk-GTKDMUJJ.mjs";var $t=(function(){var e=x(function(pt,k,_,A){for(_=_||{},A=pt.length;A--;_[pt[A]]=k);return _},"o"),t=[1,2],n=[1,3],s=[1,4],a=[2,4],i=[1,9],c=[1,11],h=[1,13],o=[1,14],r=[1,16],p=[1,17],g=[1,18],f=[1,24],m=[1,25],E=[1,26],w=[1,27],P=[1,28],S=[1,29],D=[1,30],O=[1,31],B=[1,32],H=[1,33],U=[1,34],$=[1,35],rt=[1,36],G=[1,37],K=[1,38],F=[1,39],R=[1,41],j=[1,42],Q=[1,43],tt=[1,44],at=[1,45],M=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,55,60,61,62,63,71],L=[2,71],Z=[4,5,16,50,52,53],et=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],v=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,55,60,61,62,63,71],qt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,55,60,61,62,63,71],re=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,55,60,61,62,63,71],ot=[69,70,71],lt=[1,127],Ft={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,actor_with_config:54,note:55,placement:56,text2:57,over:58,actor_pair:59,links:60,link:61,properties:62,details:63,spaceList:64,",":65,left_of:66,right_of:67,signaltype:68,"+":69,"-":70,ACTOR:71,config_object:72,CONFIG_START:73,CONFIG_CONTENT:74,CONFIG_END:75,SOLID_OPEN_ARROW:76,DOTTED_OPEN_ARROW:77,SOLID_ARROW:78,BIDIRECTIONAL_SOLID_ARROW:79,DOTTED_ARROW:80,BIDIRECTIONAL_DOTTED_ARROW:81,SOLID_CROSS:82,DOTTED_CROSS:83,SOLID_POINT:84,DOTTED_POINT:85,TXT:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",55:"note",58:"over",60:"links",61:"link",62:"properties",63:"details",65:",",66:"left_of",67:"right_of",69:"+",70:"-",71:"ACTOR",73:"CONFIG_START",74:"CONFIG_CONTENT",75:"CONFIG_END",76:"SOLID_OPEN_ARROW",77:"DOTTED_OPEN_ARROW",78:"SOLID_ARROW",79:"BIDIRECTIONAL_SOLID_ARROW",80:"DOTTED_ARROW",81:"BIDIRECTIONAL_DOTTED_ARROW",82:"SOLID_CROSS",83:"DOTTED_CROSS",84:"SOLID_POINT",85:"DOTTED_POINT",86:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[64,2],[64,1],[59,3],[59,1],[56,1],[56,1],[17,5],[17,5],[17,4],[54,2],[72,3],[22,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]
`+W.showPosition()+`
Expecting `+Mt.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Xt="Parse error on line "+(Dt+1)+": Unexpected "+(X==ne?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Xt,{text:W.match,token:this.terminals_[X]||X,line:W.yylineno,loc:Ut,expected:Mt})}if(it[0]instanceof Array&&it.length>1)throw new Error("Parse Error: multiple actions possible at state: "+bt+", token: "+X);switch(it[0]){case 1:A.push(X),C.push(W.yytext),d.push(W.yylloc),A.push(it[1]),X=null,Gt?(X=Gt,Gt=null):(ae=W.yyleng,u=W.yytext,Dt=W.yylineno,Ut=W.yylloc,ie>0&&ie--);break;case 2:if(ht=this.productions_[it[1]][1],wt.$=C[C.length-ht],wt._$={first_line:d[d.length-(ht||1)].first_line,last_line:d[d.length-1].last_line,first_column:d[d.length-(ht||1)].first_column,last_column:d[d.length-1].last_column},Oe&&(wt._$.range=[d[d.length-(ht||1)].range[0],d[d.length-1].range[1]]),Kt=this.performAction.apply(wt,[u,ae,Dt,mt.yy,it[1],C,d].concat(Re)),typeof Kt<"u")return Kt;ht&&(A=A.slice(0,-1*ht*2),C=C.slice(0,-1*ht),d=d.slice(0,-1*ht)),A.push(this.productions_[it[1]][0]),C.push(wt.$),d.push(wt._$),oe=It[A[A.length-2]][A[A.length-1]],A.push(oe);break;case 3:return!0}}return!0},"parse")},Me=(function(){var pt={EOF:1,parseError:x(function(_,A){if(this.yy.parser)this.yy.parser.parseError(_,A);else throw new Error(_)},"parseError"),setInput:x(function(k,_){return this.yy=_||this.yy||{},this._input=k,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:x(function(){var k=this._input[0];this.yytext+=k,this.yyleng++,this.offset++,this.match+=k,this.matched+=k;var _=k.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),k},"input"),unput:x(function(k){var _=k.length,A=k.split(/(?:\r\n?|\n)/g);this._input=k+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var T=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),A.length-1&&(this.yylineno-=A.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:A?(A.length===T.length?this.yylloc.first_column:0)+T[T.length-A.length].length-A[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:x(function(k){this.unput(this.match.slice(k))},"less"),pastInput:x(function(){var k=this.matched.substr(0,this.matched.length-this.match.length);return(k.length>20?"...":"")+k.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var k=this.match;return k.length<20&&(k+=this._input.substr(0,20-k.length)),(k.substr(0,20)+(k.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var k=this.pastInput(),_=new Array(k.length+1).join("-");return k+this.upcomingInput()+`
`+_+"^"},"showPosition"),test_match:x(function(k,_){var A,T,C;if(this.options.backtrack_lexer&&(C={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(C.yylloc.range=this.yylloc.range.slice(0))),T=k[0].match(/(?:\r\n?|\n).*/g),T&&(this.yylineno+=T.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:T?T[T.length-1].length-T[T.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+k[0].length},this.yytext+=k[0],this.match+=k[0],this.matches=k,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(k[0].length),this.matched+=k[0],A=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var d in C)this[d]=C[d];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var k,_,A,T;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),d=0;d<C.length;d++)if(A=this._input.match(this.rules[C[d]]),A&&(!_||A[0].length>_[0].length)){if(_=A,T=d,this.options.backtrack_lexer){if(k=this.test_match(A,C[d]),k!==!1)return k;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(k=this.test_match(_,C[T]),k!==!1?k:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var _=this.next();return _||this.lex()},"lex"),begin:x(function(_){this.conditionStack.push(_)},"begin"),popState:x(function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},"topState"),pushState:x(function(_){this.begin(_)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(_,A,T,C){var d=C;switch(T){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("CONFIG"),73;break;case 8:return 74;case 9:return this.popState(),this.popState(),75;break;case 10:return A.yytext=A.yytext.trim(),71;break;case 11:return A.yytext=A.yytext.trim(),this.begin("ALIAS"),71;break;case 12:return this.begin("LINE"),14;break;case 13:return this.begin("ID"),50;break;case 14:return this.begin("ID"),52;break;case 15:return 13;case 16:return this.begin("ID"),53;break;case 17:return A.yytext=A.yytext.trim(),this.begin("ALIAS"),71;break;case 18:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 19:return this.popState(),this.popState(),5;break;case 20:return this.begin("LINE"),36;break;case 21:return this.begin("LINE"),37;break;case 22:return this.begin("LINE"),38;break;case 23:return this.begin("LINE"),39;break;case 24:return this.begin("LINE"),49;break;case 25:return this.begin("LINE"),41;break;case 26:return this.begin("LINE"),43;break;case 27:return this.begin("LINE"),48;break;case 28:return this.begin("LINE"),44;break;case 29:return this.begin("LINE"),47;break;case 30:return this.begin("LINE"),46;break;case 31:return this.popState(),15;break;case 32:return 16;case 33:return 66;case 34:return 67;case 35:return 60;case 36:return 61;case 37:return 62;case 38:return 63;case 39:return 58;case 40:return 55;case 41:return this.begin("ID"),21;break;case 42:return this.begin("ID"),23;break;case 43:return 29;case 44:return 30;case 45:return this.begin("acc_title"),31;break;case 46:return this.popState(),"acc_title_value";break;case 47:return this.begin("acc_descr"),33;break;case 48:return this.popState(),"acc_descr_value";break;case 49:this.begin("acc_descr_multiline");break;case 50:this.popState();break;case 51:return"acc_descr_multiline_value";case 52:return 6;case 53:return 18;case 54:return 20;case 55:return 65;case 56:return 5;case 57:return A.yytext=A.yytext.trim(),71;break;case 58:return 78;case 59:return 79;case 60:return 80;case 61:return 81;case 62:return 76;case 63:return 77;case 64:return 82;case 65:return 83;case 66:return 84;case 67:return 85;case 68:return 86;case 69:return 86;case 70:return 69;case 71:return 70;case 72:return 5;case 73:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^\<->\->:\n,;@]+?([\-]*[^\<->\->:\n,;@]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^<\->\->:\n,;]+?([\-]*[^<\->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n
`)?r=i+`
`:r=`{
`+i+`
}`,h=we(r,{schema:Ee})}a=h?.type??a;let o=this.state.records.actors.get(t);if(o){if(this.state.records.currentBox&&o.box&&this.state.records.currentBox!==o.box)throw new Error(`A same participant should only be defined in one Box: ${o.name} can't be in '${o.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(c=o.box?o.box:this.state.records.currentBox,o.box=c,o&&n===o.name&&s==null)return}if(s?.text==null&&(s={text:n,type:a}),(a==null||s.text==null)&&(s={text:n,type:a}),this.state.records.actors.set(t,{box:c,name:n,description:s.text,wrap:s.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:a??"participant"}),this.state.records.prevActor){let r=this.state.records.actors.get(this.state.records.prevActor);r&&(r.nextActor=t)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(t),this.state.records.prevActor=t}activationCount(t){let n,s=0;if(!t)return 0;for(n=0;n<this.state.records.messages.length;n++)this.state.records.messages[n].type===this.LINETYPE.ACTIVE_START&&this.state.records.messages[n].from===t&&s++,this.state.records.messages[n].type===this.LINETYPE.ACTIVE_END&&this.state.records.messages[n].from===t&&s--;return s}addMessage(t,n,s,a){this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:n,message:s.text,wrap:s.wrap??this.autoWrap(),answer:a})}addSignal(t,n,s,a,i=!1){if(a===this.LINETYPE.ACTIVE_END&&this.activationCount(t??"")<1){let h=new Error("Trying to inactivate an inactive participant ("+t+")");throw h.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},h}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:n,message:s?.text??"",wrap:s?.wrap??this.autoWrap(),type:a,activate:i}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(t=>t.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(t){return this.state.records.actors.get(t)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(t){this.state.records.wrapEnabled=t}extractWrap(t){if(t===void 0)return{};t=t.trim();let n=/^:?wrap:/.exec(t)!==null?!0:/^:?nowrap:/.exec(t)!==null?!1:void 0;return{cleanedText:(n===void 0?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:n}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:J().sequence?.wrap??!1}clear(){this.state.reset(),de()}parseMessage(t){let n=t.trim(),{wrap:s,cleanedText:a}=this.extractWrap(n),i={text:a,wrap:s};return z.debug(`parseMessage: ${JSON.stringify(i)}`),i}parseBoxData(t){let n=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),s=n?.[1]?n[1].trim():"transparent",a=n?.[2]?n[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",s)||(s="transparent",a=t.trim());else{let h=new Option().style;h.color=s,h.color!==s&&(s="transparent",a=t.trim())}let{wrap:i,cleanedText:c}=this.extractWrap(a);return{text:c?At(c,J()):void 0,color:s,wrap:i}}addNote(t,n,s){let a={actor:t,placement:n,message:s.text,wrap:s.wrap??this.autoWrap()},i=[].concat(t,t);this.state.records.notes.push(a),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:i[0],to:i[1],message:s.text,wrap:s.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:n})}addLinks(t,n){let s=this.getActor(t);try{let a=At(n.text,J());a=a.replace(/&equals;/g,"="),a=a.replace(/&amp;/g,"&");let i=JSON.parse(a);this.insertLinks(s,i)}catch(a){z.error("error while parsing actor link text",a)}}addALink(t,
stroke: ${e.actorBorder};
fill: ${e.actorBkg};
}
text.actor > tspan {
fill: ${e.actorTextColor};
stroke: none;
}
.actor-line {
stroke: ${e.actorLineColor};
}
.innerArc {
stroke-width: 1.5;
stroke-dasharray: none;
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: none;
stroke: ${e.signalColor};
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: 2, 2;
stroke: ${e.signalColor};
}
#arrowhead path {
fill: ${e.signalColor};
stroke: ${e.signalColor};
}
.sequenceNumber {
fill: ${e.sequenceNumberColor};
}
#sequencenumber {
fill: ${e.signalColor};
}
#crosshead path {
fill: ${e.signalColor};
stroke: ${e.signalColor};
}
.messageText {
fill: ${e.signalTextColor};
stroke: none;
}
.labelBox {
stroke: ${e.labelBoxBorderColor};
fill: ${e.labelBoxBkgColor};
}
.labelText, .labelText > tspan {
fill: ${e.labelTextColor};
stroke: none;
}
.loopText, .loopText > tspan {
fill: ${e.loopTextColor};
stroke: none;
}
.loopLine {
stroke-width: 2px;
stroke-dasharray: 2, 2;
stroke: ${e.labelBoxBorderColor};
fill: ${e.labelBoxBorderColor};
}
.note {
//stroke: #decc93;
stroke: ${e.noteBorderColor};
fill: ${e.noteBkgColor};
}
.noteText, .noteText > tspan {
fill: ${e.noteTextColor};
stroke: none;
}
.activation0 {
fill: ${e.activationBkgColor};
stroke: ${e.activationBorderColor};
}
.activation1 {
fill: ${e.activationBkgColor};
stroke: ${e.activationBorderColor};
}
.activation2 {
fill: ${e.activationBkgColor};
stroke: ${e.activationBorderColor};
}
.actorPopupMenu {
position: absolute;
}
.actorPopupMenuPanel {
position: absolute;
fill: ${e.actorBkg};
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
}
.actor-man line {
stroke: ${e.actorBorder};
fill: ${e.actorBkg};
}
.actor-man circle, line {
stroke: ${e.actorBorder};
fill: ${e.actorBkg};
stroke-width: 2px;
}
`,"getStyles"),Ae=ze;var jt=Ye(Ve(),1);var ut=36,ft="actor-top",xt="actor-bottom",Yt="actor-box",gt="actor-man",Nt=x(function(e,t){return be(e,t)},"drawRect"),Ue=x(function(e,t,n,s,a){if(t.links===void 0||t.links===null||Object.keys(t.links).length===0)return{height:0,width:0};let i=t.links,c=t.actorCnt,h=t.rectData;var o="none";a&&(o="block !important");let r=e.append("g");r.attr("id","actor"+c+"_popup"),r.attr("class","actorPopupMenu"),r.attr("display",o);var p="";h.class!==void 0&&(p=" "+h.class);let g=h.width>n?h.width:n,f=r.append("rect");if(f.attr("class","actorPopupMenuPanel"+p),f.attr("x",h.x),f.attr("y",h.height),f.attr("fill",h.fill),f.attr("stroke",h.stroke),f.attr("width",g),f.attr("height",h.height),f.attr("rx",h.rx),f.attr("ry",h.ry),i!=null){var m=20;for(let P in i){var E=r.append("a"),w=(0,jt.sanitizeUrl)(i[P]);E.attr("xlink:href",w),E.attr("target","_blank"),us(s)(P,E,h.x+10,h.height+m,g,20,{class:"actor"},s),m+=30}}return f.attr("height",m),{height:h.height+m,width:g}},"drawPopup"),Vt=x(function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),St=x(async function(e,t,n=null){let s=e.append("foreignObject"),a=await Jt(t.text,Ct()),c=s.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(a).node().getBoundingClientRect();if(s.attr("height",Math.round(c.height)).attr("width",Math.round(c.width)),t.class==="noteText"){let h=e.node().firstChild;h.setAttribute("height",c.height+2*t.textMargin);let o=h.getBBox();s.attr("x",Math.round(o.x+o.width/2-c.width/2)).attr("y",Math.round(o.y+o.height/2-c.height/2))}else if(n){let{startx:h,stopx:o,starty:r}=n;if(h>o){let p=h;h=o,o=p}s.attr("x",Math.round(h+Math.abs(h-o)/2-c.width/2)),t.class==="loopText"?s.attr("y",Math.round(r)):s.attr("y",Math.round(r-c.height))}return[s]},"drawKatex"),Tt=x(function(e,t){let n=0,s=0,a=t.text.split(I.lineBreakRegex),[i,c]=Zt(t.fontSize),h=[],o=0,r=x(()=>t.y,"yfunc");if(t.valign!==void 0&&t.textMargin!==void 0&&t.textMargin>0)switch(t.valign){case"top":case"start":r=x(()=>Math.round(t.y+t.textMargin),"yfunc");break;case"middle":case"center":r=x(()=>Math.round(t.y+(n+s+t.textMargin)/2),"yfunc");break;case"bottom":case"end":r=x(()=>Math.round(t.y+(n+s+2*t.textMargin)-t.textMargin),"yfunc");break}if(t.anchor!==void 0&&t.textMargin!==void 0&&t.width!==void 0)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"middle":case"center":t.x=Math.round(t.x+t.width/2),t.anchor="middle",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"right":case"end":t.x=Math.round(t.x+t.width-t.textMargin),t.anchor="end",t.dominantBaseline="middle",t.alignmentBaseline="middle";break}for(let[p,g]of a.entries()){t.textMargin!==void 0&&t.textMargin===0&&i!==void 0&&(o=p*i);let f=e.append("text");f.attr("x",t.x),f.attr("y",r()),t.anchor!==void 0&&f.attr("text-anchor",t.anchor).attr("dominant-baseline",t.dominantBaseline).attr("alignment-baseline",t.alignmentBaseline),t.fontFamily!==void 0&&f.style("font-family",t.fontFamily),c!==void 0&&f.style("font-size",c),t.fontWeight!==void 0&&f.style("font-weight",t.fontWeight),t.fill!==void 0&&f.attr("fill",t.fill),t.class!==void 0&&f.attr("class",t.class),t.dy!==void 0?f.attr("dy",t.dy):o!==0&&f.attr("dy",o);let m=g||Te;if(t.tspan){let E=f.append("tspan");E.attr("x",t.x),t.fill!==void 0&&E.attr("fill",t.fill),E.text(m)}else f.text(m);t.valign!==void 0&&t.textMargin!==void 0&&t.textMargin>0&&(s+=(f._groups||f)[0][0].getBBox().height,n=s),h.push(f)}return h},"drawText"),Le=x(function(e,t){function n(a,i,c,h,o){return a+","+i+" "+(a+c)+","+i+" "+(a+c)+","+(i+h-o)+" "+(a+c-o*1.2)+","+(i+h)+" "+a+","+(i+h)}x(n,"genPoints");let s=e.append("polygon");return s.attr("points",n(t.x,t.y,t.width,t.height,7)),s.attr("class","labelBox"),t.y=t.y+t.height/2,Tt(e,t),s},"drawLabel"),N=-1,te=x((e,t,n,s)=>{e.select&&n.forEach(a=>{let i=t.get(a),c=e.select("#acto
a ${f},${g} 0 0 0 0,${r.height}
h ${r.width-2*f}
a ${f},${g} 0 0 0 0,-${r.height}
Z
`).attr("class",p),E.append("path").attr("d",`M ${r.x},${r.y+g}
a ${f},${g} 0 0 0 0,${r.height}`).attr("stroke","#666").attr("stroke-width","1px").attr("class",p),m.attr("transform",`translate(${f}, ${-(r.height/2)})`),E.attr("transform",`translate(${r.width-f}, ${-r.height/2})`),t.rectData=r,t.properties?.icon){let S=t.properties.icon.trim(),D=r.x+r.width-20,O=r.y+10;S.charAt(0)==="@"?Ot(o,D,O,S.substr(1)):Rt(o,D,O,S)}dt(n,q(t.description))(t.description,o,r.x,r.y,r.width,r.height,{class:`actor ${Yt}`},n);let w=t.height,P=m.select("path:last-child");if(P.node()){let S=P.node().getBBox();t.height=S.height,w=S.height}return w},"drawActorTypeQueue"),Je=x(function(e,t,n,s){let a=s?t.stopy:t.starty,i=t.x+t.width/2,c=a+75,h=e.append("g").lower();s||(N++,h.append("line").attr("id","actor"+N).attr("x1",i).attr("y1",c).attr("x2",i).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name),t.actorCnt=N);let o=e.append("g"),r=gt;s?r+=` ${xt}`:r+=` ${ft}`,o.attr("class",r),o.attr("name",t.name);let p=nt();p.x=t.x,p.y=a,p.fill="#eaeaea",p.width=t.width,p.height=t.height,p.class="actor";let g=t.x+t.width/2,f=a+30,m=18;o.append("defs").append("marker").attr("id","filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),o.append("circle").attr("cx",g).attr("cy",f).attr("r",m).attr("fill","#eaeaf7").attr("stroke","#666").attr("stroke-width",1.2),o.append("line").attr("marker-end","url(#filled-head-control)").attr("transform",`translate(${g}, ${f-m})`);let E=o.node().getBBox();return t.height=E.height+2*(n?.sequence?.labelBoxHeight??0),dt(n,q(t.description))(t.description,o,p.x,p.y+m+(s?5:10),p.width,p.height,{class:`actor ${gt}`},n),t.height},"drawActorTypeControl"),Qe=x(function(e,t,n,s){let a=s?t.stopy:t.starty,i=t.x+t.width/2,c=a+75,h=e.append("g").lower(),o=e.append("g"),r=gt;s?r+=` ${xt}`:r+=` ${ft}`,o.attr("class",r),o.attr("name",t.name);let p=nt();p.x=t.x,p.y=a,p.fill="#eaeaea",p.width=t.width,p.height=t.height,p.class="actor";let g=t.x+t.width/2,f=a+(s?10:25),m=18;o.append("circle").attr("cx",g).attr("cy",f).attr("r",m).attr("width",t.width).attr("height",t.height),o.append("line").attr("x1",g-m).attr("x2",g+m).attr("y1",f+m).attr("y2",f+m).attr("stroke","#333").attr("stroke-width",2);let E=o.node().getBBox();return t.height=E.height+(n?.sequence?.labelBoxHeight??0),s||(N++,h.append("line").attr("id","actor"+N).attr("x1",i).attr("y1",c).attr("x2",i).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name),t.actorCnt=N),dt(n,q(t.description))(t.description,o,p.x,p.y+(s?(f-a+m-5)/2:(f+m-a)/2),p.width,p.height,{class:`actor ${gt}`},n),s?o.attr("transform",`translate(0, ${m/2})`):o.attr("transform",`translate(0, ${m/2})`),t.height},"drawActorTypeEntity"),Ze=x(function(e,t,n,s){let a=s?t.stopy:t.starty,i=t.x+t.width/2,c=a+t.height+2*n.boxTextMargin,h=e.append("g").lower(),o=h;s||(N++,Object.keys(t.links||{}).length&&!n.forceMenus&&o.attr("onclick",Vt(`actor${N}_popup`)).attr("cursor","pointer"),o.append("line").attr("id","actor"+N).attr("x1",i).attr("y1",c).attr("x2",i).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name),o=h.append("g"),t.actorCnt=N,t.links!=null&&o.attr("id","root-"+N));let r=nt(),p="actor";t.properties?.class?p=t.properties.class:r.fill="#eaeaea",s?p+=` ${xt}`:p+=` ${ft}`,r.x=t.x,r.y=a,r.width=t.width,r.height=t.height,r.class=p,r.name=t.name,r.x=t.x,r.y=a;let g=r.width/4,f=r.width/4,m=g/2,E=m/(2.5+g/50),w=o.append("g"),P=`
M ${r.x},${r.y+E}
a ${m},${E} 0 0 0 ${g},0
a ${m},${E} 0 0 0 -${g},0
l 0,${f-2*E}
a ${m},${E} 0 0 0 ${g},0
l 0,-${f-2*E}
`;w.append("path").attr("d",P).attr("fill","#eaeaea").attr("stroke","#000").attr("stroke-width",1).attr("class",p),s?w.attr("transform",`translate(${g*1.5}, ${r.height/4-2*E})`):w.attr("transform",`translate(${g*1.5}, ${(r.height+E)/4})`),t.rectData=r,dt(n,q(t.description))(t.description,o,r.x,r.y+(s?(r.height+f)/4:(r.height+E)/2),r.width,r.height,{class:`actor ${Yt}`},n);let S=w.select("path:last-child");if(S.node()){let D=S.node().getBBox();t.height=D.height+(n.sequence.labelBoxHeight??0)}return t.height},"drawActorTypeDatabase"),$e=x(function(e,t,n,s){let a=s?t.stopy:t.starty,i=t.x+t.width/2,c=a+80,h=30,o=e.append("g").lower();s||(N++,o.append("line").attr("id","actor"+N).attr("x1",i).attr("y1",c).attr("x2",i).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name),t.actorCnt=N);let r=e.append("g"),p=gt;s?p+=` ${xt}`:p+=` ${ft}`,r.attr("class",p),r.attr("name",t.name);let g=nt();g.x=t.x,g.y=a,g.fill="#eaeaea",g.width=t.width,g.height=t.height,g.class="actor",r.append("line").attr("id","actor-man-torso"+N).attr("x1",t.x+t.width/2-h*2.5).attr("y1",a+10).attr("x2",t.x+t.width/2-15).attr("y2",a+10),r.append("line").attr("id","actor-man-arms"+N).attr("x1",t.x+t.width/2-h*2.5).attr("y1",a+0).attr("x2",t.x+t.width/2-h*2.5).attr("y2",a+20),r.append("circle").attr("cx",t.x+t.width/2).attr("cy",a+10).attr("r",h);let f=r.node().getBBox();return t.height=f.height+(n.sequence.labelBoxHeight??0),dt(n,q(t.description))(t.description,r,g.x,g.y+(s?h/2-4:h/2+3),g.width,g.height,{class:`actor ${gt}`},n),s?r.attr("transform",`translate(0,${h/2+7})`):r.attr("transform",`translate(0,${h/2+7})`),t.height},"drawActorTypeBoundary"),je=x(function(e,t,n,s){let a=s?t.stopy:t.starty,i=t.x+t.width/2,c=a+80,h=e.append("g").lower();s||(N++,h.append("line").attr("id","actor"+N).attr("x1",i).attr("y1",c).attr("x2",i).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name),t.actorCnt=N);let o=e.append("g"),r=gt;s?r+=` ${xt}`:r+=` ${ft}`,o.attr("class",r),o.attr("name",t.name);let p=nt();p.x=t.x,p.y=a,p.fill="#eaeaea",p.width=t.width,p.height=t.height,p.class="actor",p.rx=3,p.ry=3,o.append("line").attr("id","actor-man-torso"+N).attr("x1",i).attr("y1",a+25).attr("x2",i).attr("y2",a+45),o.append("line").attr("id","actor-man-arms"+N).attr("x1",i-ut/2).attr("y1",a+33).attr("x2",i+ut/2).attr("y2",a+33),o.append("line").attr("x1",i-ut/2).attr("y1",a+60).attr("x2",i).attr("y2",a+45),o.append("line").attr("x1",i).attr("y1",a+45).attr("x2",i+ut/2-2).attr("y2",a+60);let g=o.append("circle");g.attr("cx",t.x+t.width/2),g.attr("cy",a+10),g.attr("r",15),g.attr("width",t.width),g.attr("height",t.height);let f=o.node().getBBox();return t.height=f.height,dt(n,q(t.description))(t.description,o,p.x,p.y+35,p.width,p.height,{class:`actor ${gt}`},n),t.height},"drawActorTypeActor"),ts=x(async function(e,t,n,s){switch(t.type){case"actor":return await je(e,t,n,s);case"participant":return await Ge(e,t,n,s);case"boundary":return await $e(e,t,n,s);case"control":return await Je(e,t,n,s);case"entity":return await Qe(e,t,n,s);case"database":return await Ze(e,t,n,s);case"collections":return await Ke(e,t,n,s);case"queue":return await Xe(e,t,n,s)}},"drawActor"),es=x(function(e,t,n){let a=e.append("g");_e(a,t),t.name&&dt(n)(t.name,a,t.x,t.y+n.boxTextMargin+(t.textMaxHeight||0)/2,t.width,0,{class:"text"},n),a.lower()},"drawBox"),ss=x(function(e){return e.append("g")},"anchorElement"),rs=x(function(e,t,n,s,a){let i=nt(),c=t.anchored;i.x=t.startx,i.y=t.starty,i.class="activation"+a%3,i.width=t.stopx-t.startx,i.height=n-t.starty,Nt(c,i)},"drawActivation"),as=x(async function(e,t,n,s){let{boxMargin:a,boxTextMargin:i,labelBoxHeight:c,labelBoxWidth:h,messageFontFamily:o,messageFontSize:r,messageFontWeight:p}=s,g=e.append("g"),f=x(function(w,P,S,D){return g.append("line").attr("x1",w).attr("y1",P).attr("x2",S).attr("y2",D).attr("class","loopLine")},"drawLoopLine");f(t.startx,t.starty,t.stopx,t.starty),f(t.stopx,t.starty,t.stopx,t.stopy),f(t.startx,t.stopy,t.stopx,t.stopy),f(