2026-05-31 13:54:31 +02:00

86 lines
27 KiB
JavaScript

import{a as je}from"./chunk-6764PJDD.mjs";import{a as We}from"./chunk-ZXARS5L4.mjs";import{b as Ue,c as Ze}from"./chunk-VU6ZFW4Y.mjs";import"./chunk-7J6CGLKN.mjs";import"./chunk-KGFNY3KK.mjs";import"./chunk-5IMINLNL.mjs";import"./chunk-T2UQINTJ.mjs";import"./chunk-5VCL7Z4A.mjs";import"./chunk-UY5QBCOK.mjs";import"./chunk-INKRHTLW.mjs";import{p as Ge,s as Ke}from"./chunk-QA3QBVWF.mjs";import"./chunk-KNLZD3CH.mjs";import{S as Ve,T as we,U as Me,V as Be,W as Fe,X as Ye,Y as Pe,_ as M,b as De,c as Le}from"./chunk-67TQ5CYL.mjs";import{b as R,h as ze}from"./chunk-7W6UQGC5.mjs";import{a as h,c as it}from"./chunk-AQ6EADP3.mjs";var ke=(function(){var i=h(function(C,n,a,c){for(a=a||{},c=C.length;c--;a[C[c]]=n);return a},"o"),s=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],o=[1,10],u=[1,11],l=[1,12],p=[1,13],f=[1,23],d=[1,24],m=[1,25],W=[1,26],Q=[1,27],T=[1,19],X=[1,28],B=[1,29],L=[1,20],x=[1,18],S=[1,21],I=[1,22],ne=[1,36],ae=[1,37],oe=[1,38],ce=[1,39],le=[1,40],F=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],O=[1,45],N=[1,46],Y=[1,55],P=[40,48,50,51,52,70,71],z=[1,66],G=[1,64],A=[1,61],K=[1,65],j=[1,67],H=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],me=[65,66,67,68,69],Ee=[1,84],Te=[1,83],Se=[1,81],Oe=[1,82],Ne=[6,10,42,47],V=[6,10,13,41,42,47,48,49],q=[1,92],J=[1,91],$=[1,90],U=[19,58],Ae=[1,101],Ce=[1,100],he=[19,58,60,62],ue={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:h(function(n,a,c,r,b,e,Z){var t=e.length-1;switch(b){case 1:break;case 2:this.$=[];break;case 3:e[t-1].push(e[t]),this.$=e[t-1];break;case 4:case 5:this.$=e[t];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(e[t-4]),r.addEntity(e[t-2]),r.addRelationship(e[t-4],e[t],e[t-2],e[t-3]);break;case 9:r.addEntity(e[t-8]),r.addEntity(e[t-4]),r.addRelationship(e[t-8],e[t],e[t-4],e[t-5]),r.setClass([e[t-8]],e[t-6]),r.setClass([e[t-4]],e[t-2]);break;case 10:r.addEntity(e[t-6]),r.addEntity(e[t-2]),r.addRelationship(e[t-6],e[t],e[t-2],e[t-3]),r.setClass([e[t-6]],e[t-4]);break;case 11:r.addEntity(e[t-6]),r.addEntity(e[t-4]),r.addRelationship(e[t-6],e[t],e[t-4],e[t-5]),r.setClass([e[t-4]],e[t-2]);break;case 12:r.addEntity(e[t-3]),r.addAttributes(e[t-3],e[t-1]);break;case 13:r.addEntity(e[t-5]),r.addAttributes(e[t-5],e[t-1]),r.setClass([e[t-5]],e[t-3]);break;case 14:r.addEntity(e[t-2]);break;case 15:r.addEntity(e[t-4]),r.setClass([e[t-4]],e[t-2]);break;case 16:r.addEntity(e[t]);break;case 17:r.addEntity(e[t-2]),r.setClass([e[t-2]],e[t]);break;case 18:r.addEntity(e[t-6],e[t-4]),r.addAttributes(e[t-6],e[t-1]);break;case 19:r.addEntity(e[t-8],e[t-6]),r.addAttributes(e[t-8],e[t-1]),r.setClass([e[t-8]],e[t-3]);break;case 20:r.addEntity(e[t-5],e[t-3]);break;case 21:r.addEntity(e[t-7],e[t-5]),r.setClass([e[t-7]],e[t-2]);break;case 22:r.addEntity(e[t-3],e[t-1]);break;case 23:r.addEntity(e[t-5],e[t-3]),r.setClass([e[t-5]],e[t]);break;case 24:case 25:this.$=e[t].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=e[t].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=e[t-3],r.addClass(e[t-2],e[t-1]);break;case 37:case 38:case 59:case 67:this.$=[e[t]];break;case 39:case 40:this.$=e[t-2].concat([e[t]]);break;case 41:this.$=e[t-2],r.setClass(e[t-1],e[t]);break;case 42:this.$=e[t-3],r.addCssStyles(e[t-2],e[t-1]);break;case 43:this.$=[e[t]];break;case 44:e[t-2].push(e[t]),this.$=e[t-2];break;case 46:this.$=e[t-1]+e[t];break;case 54:case 79:case 80:this.$=e[t].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=e[t];break;case 60:e[t].push(e[t-1]),this.$=e[t];break;case 61:this.$={type:e[t-1],name:e[t]};break;case 62:this.$={type:e[t-2],name:e[t-1],keys:e[t]};break;case 63:this.$={type:e[t-2],name:e[t-1],comment:e[t]};break;case 64:this.$={type:e[t-3],name:e[t-2],keys:e[t-1],comment:e[t]};break;case 65:case 66:case 69:this.$=e[t];break;case 68:e[t-2].push(e[t]),this.$=e[t-2];break;case 70:this.$=e[t].replace(/"/g,"");break;case 71:this.$={cardA:e[t],relType:e[t-1],cardB:e[t-2]};break;case 72:this.$=r.Cardinality.ZERO_OR_ONE;break;case 73:this.$=r.Cardinality.ZERO_OR_MORE;break;case 74:this.$=r.Cardinality.ONE_OR_MORE;break;case 75:this.$=r.Cardinality.ONLY_ONE;break;case 76:this.$=r.Cardinality.MD_PARENT;break;case 77:this.$=r.Identification.NON_IDENTIFYING;break;case 78:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:o,24:u,26:l,28:p,29:14,30:15,31:16,32:17,33:f,34:d,35:m,36:W,37:Q,40:T,43:X,44:B,48:L,50:x,51:S,52:I},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:30,11:9,22:o,24:u,26:l,28:p,29:14,30:15,31:16,32:17,33:f,34:d,35:m,36:W,37:Q,40:T,43:X,44:B,48:L,50:x,51:S,52:I},i(s,[2,5]),i(s,[2,6]),i(s,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:ne,66:ae,67:oe,68:ce,69:le}),{23:[1,41]},{25:[1,42]},{27:[1,43]},i(s,[2,27]),i(s,[2,28]),i(s,[2,29]),i(s,[2,30]),i(s,[2,31]),i(F,[2,54]),i(F,[2,55]),i(F,[2,56]),i(F,[2,57]),i(F,[2,58]),i(s,[2,32]),i(s,[2,33]),i(s,[2,34]),i(s,[2,35]),{16:44,40:O,41:N},{16:47,40:O,41:N},{16:48,40:O,41:N},i(s,[2,4]),{11:49,40:T,48:L,50:x,51:S,52:I},{16:50,40:O,41:N},{18:51,19:[1,52],53:53,54:54,58:Y},{11:56,40:T,48:L,50:x,51:S,52:I},{64:57,70:[1,58],71:[1,59]},i(P,[2,72]),i(P,[2,73]),i(P,[2,74]),i(P,[2,75]),i(P,[2,76]),i(s,[2,24]),i(s,[2,25]),i(s,[2,26]),{13:z,38:60,41:G,42:A,45:62,46:63,48:K,49:j},i(H,[2,37]),i(H,[2,38]),{16:68,40:O,41:N,42:A},{13:z,38:69,41:G,42:A,45:62,46:63,48:K,49:j},{13:[1,70],15:[1,71]},i(s,[2,17],{63:35,12:72,17:[1,73],42:A,65:ne,66:ae,67:oe,68:ce,69:le}),{19:[1,74]},i(s,[2,14]),{18:75,19:[2,59],53:53,54:54,58:Y},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:ne,66:ae,67:oe,68:ce,69:le},i(me,[2,77]),i(me,[2,78]),{6:Ee,10:Te,39:80,42:Se,47:Oe},{40:[1,85],41:[1,86]},i(Ne,[2,43],{46:87,13:z,41:G,48:K,49:j}),i(V,[2,45]),i(V,[2,50]),i(V,[2,51]),i(V,[2,52]),i(V,[2,53]),i(s,[2,41],{42:A}),{6:Ee,10:Te,39:88,42:Se,47:Oe},{14:89,40:q,50:J,72:$},{16:93,40:O,41:N},{11:94,40:T,48:L,50:x,51:S,52:I},{18:95,19:[1,96],53:53,54:54,58:Y},i(s,[2,12]),{19:[2,60]},i(U,[2,61],{56:97,57:98,59:99,61:Ae,62:Ce}),i([19,58,61,62],[2,66]),i(s,[2,22],{15:[1,103],17:[1,102]}),i([40,48,50,51,52],[2,71]),i(s,[2,36]),{13:z,41:G,45:104,46:63,48:K,49:j},i(s,[2,47]),i(s,[2,48]),i(s,[2,49]),i(H,[2,39]),i(H,[2,40]),i(V,[2,46]),i(s,[2,42]),i(s,[2,8]),i(s,[2,79]),i(s,[2,80]),i(s,[2,81]),{13:[1,105],42:A},{13:[1,107],15:[1,106]},{19:[1,108]},i(s,[2,15]),i(U,[2,62],{57:109,60:[1,110],62:Ce}),i(U,[2,63]),i(he,[2,67]),i(U,[2,70]),i(he,[2,69]),{18:111,19:[1,112],53:53,54:54,58:Y},{16:113,40:O,41:N},i(Ne,[2,44],{46:87,13:z,41:G,48:K,49:j}),{14:114,40:q,50:J,72:$},{16:115,40:O,41:N},{14:116,40:q,50:J,72:$},i(s,[2,13]),i(U,[2,64]),{59:117,61:Ae},{19:[1,118]},i(s,[2,20]),i(s,[2,23],{17:[1,119],42:A}),i(s,[2,11]),{13:[1,120],42:A},i(s,[2,10]),i(he,[2,68]),i(s,[2,18]),{18:121,19:[1,122],53:53,54:54,58:Y},{14:123,40:q,50:J,72:$},{19:[1,124]},i(s,[2,21]),i(s,[2,9]),i(s,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:h(function(n,a){if(a.recoverable)this.trace(n);else{var c=new Error(n);throw c.hash=a,c}},"parseError"),parse:h(function(n){var a=this,c=[0],r=[],b=[null],e=[],Z=this.table,t="",ee=0,Re=0,xe=0,Je=2,Ie=1,$e=e.slice.call(arguments,1),y=Object.create(this.lexer),v={yy:{}};for(var pe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pe)&&(v.yy[pe]=this.yy[pe]);y.setInput(n,v.yy),v.yy.lexer=y,v.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var be=y.yylloc;e.push(be);var et=y.options&&y.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function at(k){c.length=c.length-2*k,b.length=b.length-k,e.length=e.length-k}h(at,"popStack");function tt(){var k;return k=r.pop()||y.lex()||Ie,typeof k!="number"&&(k instanceof Array&&(r=k,k=r.pop()),k=a.symbols_[k]||k),k}h(tt,"lex");for(var g,fe,D,_,ot,ye,w={},te,E,ve,ie;;){if(D=c[c.length-1],this.defaultActions[D]?_=this.defaultActions[D]:((g===null||typeof g>"u")&&(g=tt()),_=Z[D]&&Z[D][g]),typeof _>"u"||!_.length||!_[0]){var ge="";ie=[];for(te in Z[D])this.terminals_[te]&&te>Je&&ie.push("'"+this.terminals_[te]+"'");y.showPosition?ge="Parse error on line "+(ee+1)+`:
`+y.showPosition()+`
Expecting `+ie.join(", ")+", got '"+(this.terminals_[g]||g)+"'":ge="Parse error on line "+(ee+1)+": Unexpected "+(g==Ie?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(ge,{text:y.match,token:this.terminals_[g]||g,line:y.yylineno,loc:be,expected:ie})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+D+", token: "+g);switch(_[0]){case 1:c.push(g),b.push(y.yytext),e.push(y.yylloc),c.push(_[1]),g=null,fe?(g=fe,fe=null):(Re=y.yyleng,t=y.yytext,ee=y.yylineno,be=y.yylloc,xe>0&&xe--);break;case 2:if(E=this.productions_[_[1]][1],w.$=b[b.length-E],w._$={first_line:e[e.length-(E||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(E||1)].first_column,last_column:e[e.length-1].last_column},et&&(w._$.range=[e[e.length-(E||1)].range[0],e[e.length-1].range[1]]),ye=this.performAction.apply(w,[t,Re,ee,v.yy,_[1],b,e].concat($e)),typeof ye<"u")return ye;E&&(c=c.slice(0,-1*E*2),b=b.slice(0,-1*E),e=e.slice(0,-1*E)),c.push(this.productions_[_[1]][0]),b.push(w.$),e.push(w._$),ve=Z[c[c.length-2]][c[c.length-1]],c.push(ve);break;case 3:return!0}}return!0},"parse")},qe=(function(){var C={EOF:1,parseError:h(function(a,c){if(this.yy.parser)this.yy.parser.parseError(a,c);else throw new Error(a)},"parseError"),setInput:h(function(n,a){return this.yy=a||this.yy||{},this._input=n,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:h(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var a=n.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},"input"),unput:h(function(n){var a=n.length,c=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var r=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),c.length-1&&(this.yylineno-=c.length-1);var b=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:c?(c.length===r.length?this.yylloc.first_column:0)+r[r.length-c.length].length-c[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(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:h(function(n){this.unput(this.match.slice(n))},"less"),pastInput:h(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var n=this.pastInput(),a=new Array(n.length+1).join("-");return n+this.upcomingInput()+`
`+a+"^"},"showPosition"),test_match:h(function(n,a){var c,r,b;if(this.options.backtrack_lexer&&(b={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&&(b.yylloc.range=this.yylloc.range.slice(0))),r=n[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,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(n[0].length),this.matched+=n[0],c=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var e in b)this[e]=b[e];return!1}return!1},"test_match"),next:h(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,a,c,r;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),e=0;e<b.length;e++)if(c=this._input.match(this.rules[b[e]]),c&&(!a||c[0].length>a[0].length)){if(a=c,r=e,this.options.backtrack_lexer){if(n=this.test_match(c,b[e]),n!==!1)return n;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(n=this.test_match(a,b[r]),n!==!1?n:!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:h(function(){var a=this.next();return a||this.lex()},"lex"),begin:h(function(a){this.conditionStack.push(a)},"begin"),popState:h(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:h(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:h(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:h(function(a){this.begin(a)},"pushState"),stateStackSize:h(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:h(function(a,c,r,b){var e=b;switch(r){case 0:return this.begin("acc_title"),24;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),26;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;break;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;break;case 30:return c.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;break;case 34:return this.popState(),10;break;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;break;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return c.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return C})();ue.lexer=qe;function de(){this.yy={}}return h(de,"Parser"),de.prototype=ue,ue.Parser=de,new de})();ke.parser=ke;var Qe=ke;var se=class{constructor(){this.entities=new Map;this.relationships=[];this.classes=new Map;this.direction="TB";this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"};this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"};this.setAccTitle=we;this.getAccTitle=Me;this.setAccDescription=Be;this.getAccDescription=Fe;this.setDiagramTitle=Ye;this.getDiagramTitle=Pe;this.getConfig=h(()=>M().er,"getConfig");this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{h(this,"ErDB")}addEntity(s,o=""){return this.entities.has(s)?!this.entities.get(s)?.alias&&o&&(this.entities.get(s).alias=o,R.info(`Add alias '${o}' to entity '${s}'`)):(this.entities.set(s,{id:`entity-${s}-${this.entities.size}`,label:s,attributes:[],alias:o,shape:"erBox",look:M().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),R.info("Added new entity :",s)),this.entities.get(s)}getEntity(s){return this.entities.get(s)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(s,o){let u=this.addEntity(s),l;for(l=o.length-1;l>=0;l--)o[l].keys||(o[l].keys=[]),o[l].comment||(o[l].comment=""),u.attributes.push(o[l]),R.debug("Added attribute ",o[l].name)}addRelationship(s,o,u,l){let p=this.entities.get(s),f=this.entities.get(u);if(!p||!f)return;let d={entityA:p.id,roleA:o,entityB:f.id,relSpec:l};this.relationships.push(d),R.debug("Added new relationship :",d)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(s){this.direction=s}getCompiledStyles(s){let o=[];for(let u of s){let l=this.classes.get(u);l?.styles&&(o=[...o,...l.styles??[]].map(p=>p.trim())),l?.textStyles&&(o=[...o,...l.textStyles??[]].map(p=>p.trim()))}return o}addCssStyles(s,o){for(let u of s){let l=this.entities.get(u);if(!o||!l)return;for(let p of o)l.cssStyles.push(p)}}addClass(s,o){s.forEach(u=>{let l=this.classes.get(u);l===void 0&&(l={id:u,styles:[],textStyles:[]},this.classes.set(u,l)),o&&o.forEach(function(p){if(/color/.exec(p)){let f=p.replace("fill","bgFill");l.textStyles.push(f)}l.styles.push(p)})})}setClass(s,o){for(let u of s){let l=this.entities.get(u);if(l)for(let p of o)l.cssClasses+=" "+p}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Ve()}getData(){let s=[],o=[],u=M(),l=0;for(let f of this.entities.keys()){let d=this.entities.get(f);d&&(d.cssCompiledStyles=this.getCompiledStyles(d.cssClasses.split(" ")),d.colorIndex=l++,s.push(d))}let p=0;for(let f of this.relationships){let d={id:Ke(f.entityA,f.entityB,{prefix:"id",counter:p++}),type:"normal",curve:"basis",start:f.entityA,end:f.entityB,label:f.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:f.relSpec.cardB.toLowerCase(),arrowTypeEnd:f.relSpec.cardA.toLowerCase(),pattern:f.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:u.look,labelType:"markdown"};o.push(d)}return{nodes:s,edges:o,other:{},config:u,direction:"TB"}}};var _e={};it(_e,{draw:()=>st});var st=h(async function(i,s,o,u){R.info("REF0:"),R.info("Drawing er diagram (unified)",s);let{securityLevel:l,er:p,layout:f}=M(),d=u.db.getData(),m=je(s,l);d.type=u.type,d.layoutAlgorithm=Ze(f),d.config.flowchart.nodeSpacing=p?.nodeSpacing||140,d.config.flowchart.rankSpacing=p?.rankSpacing||80,d.direction=u.db.getDirection();let{config:W}=d,{look:Q}=W;Q==="neo"?d.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:d.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],d.diagramId=s,await Ue(d,m),d.layoutAlgorithm==="elk"&&m.select(".edges").lower();let T=m.selectAll('[id*="-background"]');Array.from(T).length>0&&T.each(function(){let B=ze(this),x=B.attr("id").replace("-background",""),S=m.select(`#${CSS.escape(x)}`);if(!S.empty()){let I=S.attr("transform");B.attr("transform",I)}});let X=8;Ge.insertTitle(m,"erDiagramTitleText",p?.titleTopMargin??25,u.db.getDiagramTitle()),We(m,X,"erDiagram",p?.useMaxWidth??!0)},"draw");var Xe=h((i,s)=>{let o=Le,u=o(i,"r"),l=o(i,"g"),p=o(i,"b");return De(u,l,p,s)},"fade"),re=new Set(["redux-color","redux-dark-color"]),rt=h(i=>{let{theme:s,look:o,bkgColorArray:u,borderColorArray:l}=i;if(!re.has(s))return"";let p=u?.length>0,f="";for(let d=0;d<i.THEME_COLOR_LIMIT;d++)f+=`
[data-look="${o}"][data-color-id="color-${d}"].node path {
stroke: ${l[d]};
${p?`fill: ${u[d]};`:""}
}
[data-look="${o}"][data-color-id="color-${d}"].node rect {
stroke: ${l[d]};
${p?`fill: ${u[d]};`:""}
}
`;return f},"genColor"),nt=h(i=>{let{look:s,theme:o,erEdgeLabelBackground:u,strokeWidth:l}=i;return`
${rt(i)}
.entityBox {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
}
.relationshipLabelBox {
fill: ${i.tertiaryColor};
opacity: 0.7;
background-color: ${i.tertiaryColor};
rect {
opacity: 0.5;
}
}
.labelBkg {
background-color: ${re.has(o)&&u?u:Xe(i.tertiaryColor,.5)};
}
.edgeLabel {
background-color: ${re.has(o)&&u?u:i.edgeLabelBackground};
}
.edgeLabel .label rect {
fill: ${re.has(o)&&u?u:i.edgeLabelBackground};
}
.edgeLabel .label text {
fill: ${i.textColor};
}
.edgeLabel .label {
fill: ${i.nodeBorder};
font-size: 14px;
}
.label {
font-family: ${i.fontFamily};
color: ${i.nodeTextColor||i.textColor};
}
.edge-pattern-dashed {
stroke-dasharray: 8,8;
}
.node rect,
.node circle,
.node ellipse,
.node polygon
{
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
stroke-width: ${s==="neo"?l:"1px"};
}
.relationshipLine {
stroke: ${i.lineColor};
stroke-width: ${s==="neo"?l:"1px"};
fill: none;
}
.marker {
fill: none !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
[data-look=neo].labelBkg {
background-color: ${Xe(i.tertiaryColor,.5)};
}
`},"getStyles"),He=nt;var It={parser:Qe,get db(){return new se},renderer:_e,styles:He};export{It as diagram};