85 lines
31 KiB
JavaScript
85 lines
31 KiB
JavaScript
import{a as et}from"./chunk-6764PJDD.mjs";import{a as st}from"./chunk-ZXARS5L4.mjs";import{b as tt,c as it}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 Ze}from"./chunk-QA3QBVWF.mjs";import"./chunk-KNLZD3CH.mjs";import{S as Ke,T as je,U as We,V as Ge,W as ze,X as Xe,Y as Je,_ as de,t as Ae}from"./chunk-67TQ5CYL.mjs";import{b as pe}from"./chunk-7W6UQGC5.mjs";import{a as m,c as ut}from"./chunk-AQ6EADP3.mjs";var Ve=(function(){var e=m(function($,s,l,o){for(l=l||{},o=$.length;o--;l[$[o]]=s);return l},"o"),n=[1,3],u=[1,4],h=[1,5],r=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],f=[1,22],b=[2,7],R=[1,26],_=[1,27],I=[1,28],q=[1,29],C=[1,33],A=[1,34],V=[1,35],v=[1,36],L=[1,37],x=[1,38],D=[1,24],O=[1,31],w=[1,32],M=[1,30],g=[1,39],E=[1,40],d=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],P=[1,61],X=[89,90],Le=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],be=[27,29],xe=[1,70],De=[1,71],Oe=[1,72],we=[1,73],Me=[1,74],Fe=[1,75],$e=[1,76],Z=[1,83],U=[1,80],ee=[1,84],te=[1,85],ie=[1,86],se=[1,87],re=[1,88],ne=[1,89],ae=[1,90],le=[1,91],ce=[1,92],ge=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Y=[63,64],Pe=[1,101],Ue=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],T=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],j=[1,109],W=[1,111],oe=[1,116],he=[1,117],ue=[1,114],me=[1,115],_e={trace:m(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:m(function(s,l,o,i,p,t,fe){var c=t.length-1;switch(p){case 4:this.$=t[c].trim(),i.setAccTitle(this.$);break;case 5:case 6:this.$=t[c].trim(),i.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:i.setDirection("TB");break;case 18:i.setDirection("BT");break;case 19:i.setDirection("RL");break;case 20:i.setDirection("LR");break;case 21:i.addRequirement(t[c-3],t[c-4]);break;case 22:i.addRequirement(t[c-5],t[c-6]),i.setClass([t[c-5]],t[c-3]);break;case 23:i.setNewReqId(t[c-2]);break;case 24:i.setNewReqText(t[c-2]);break;case 25:i.setNewReqRisk(t[c-2]);break;case 26:i.setNewReqVerifyMethod(t[c-2]);break;case 29:this.$=i.RequirementType.REQUIREMENT;break;case 30:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=i.RiskLevel.LOW_RISK;break;case 36:this.$=i.RiskLevel.MED_RISK;break;case 37:this.$=i.RiskLevel.HIGH_RISK;break;case 38:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=i.VerifyType.VERIFY_TEST;break;case 42:i.addElement(t[c-3]);break;case 43:i.addElement(t[c-5]),i.setClass([t[c-5]],t[c-3]);break;case 44:i.setNewElementType(t[c-2]);break;case 45:i.setNewElementDocRef(t[c-2]);break;case 48:i.addRelationship(t[c-2],t[c],t[c-4]);break;case 49:i.addRelationship(t[c-2],t[c-4],t[c]);break;case 50:this.$=i.Relationships.CONTAINS;break;case 51:this.$=i.Relationships.COPIES;break;case 52:this.$=i.Relationships.DERIVES;break;case 53:this.$=i.Relationships.SATISFIES;break;case 54:this.$=i.Relationships.VERIFIES;break;case 55:this.$=i.Relationships.REFINES;break;case 56:this.$=i.Relationships.TRACES;break;case 57:this.$=t[c-2],i.defineClass(t[c-1],t[c]);break;case 58:i.setClass(t[c-1],t[c]);break;case 59:i.setClass([t[c-2]],t[c]);break;case 60:case 62:this.$=[t[c]];break;case 61:case 63:this.$=t[c-2].concat([t[c]]);break;case 64:this.$=t[c-2],i.setCssStyle(t[c-1],t[c]);break;case 65:this.$=[t[c]];break;case 66:t[c-2].push(t[c]),this.$=t[c-2];break;case 68:this.$=t[c-1]+t[c];break}},"anonymous"),table:[{3:1,4:2,6:n,9:u,11:h,13:r},{1:[3]},{3:8,4:2,5:[1,7],6:n,9:u,11:h,13:r},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(a,[2,6]),{3:12,4:2,6:n,9:u,11:h,13:r},{1:[2,2]},{4:17,5:f,7:13,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},e(a,[2,4]),e(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:f,7:42,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},{4:17,5:f,7:43,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},{4:17,5:f,7:44,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},{4:17,5:f,7:45,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},{4:17,5:f,7:46,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},{4:17,5:f,7:47,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},{4:17,5:f,7:48,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},{4:17,5:f,7:49,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},{4:17,5:f,7:50,8:b,9:u,11:h,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:R,22:_,23:I,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:D,72:O,74:w,77:M,89:g,90:E},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(d,[2,17]),e(d,[2,18]),e(d,[2,19]),e(d,[2,20]),{30:60,33:62,75:P,89:g,90:E},{30:63,33:62,75:P,89:g,90:E},{30:64,33:62,75:P,89:g,90:E},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Le,[2,81]),e(Le,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(be,[2,79]),e(be,[2,80]),{27:[1,67],29:[1,68]},e(be,[2,85]),e(be,[2,86]),{62:69,65:xe,66:De,67:Oe,68:we,69:Me,70:Fe,71:$e},{62:77,65:xe,66:De,67:Oe,68:we,69:Me,70:Fe,71:$e},{30:78,33:62,75:P,89:g,90:E},{73:79,75:Z,76:U,78:81,79:82,80:ee,81:te,82:ie,83:se,84:re,85:ne,86:ae,87:le,88:ce},e(ge,[2,60]),e(ge,[2,62]),{73:93,75:Z,76:U,78:81,79:82,80:ee,81:te,82:ie,83:se,84:re,85:ne,86:ae,87:le,88:ce},{30:94,33:62,75:P,76:U,89:g,90:E},{5:[1,95]},{30:96,33:62,75:P,89:g,90:E},{5:[1,97]},{30:98,33:62,75:P,89:g,90:E},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(d,[2,59],{76:U}),e(d,[2,64],{76:Pe}),{33:103,75:[1,102],89:g,90:E},e(Ue,[2,65],{79:104,75:Z,80:ee,81:te,82:ie,83:se,84:re,85:ne,86:ae,87:le,88:ce}),e(T,[2,67]),e(T,[2,69]),e(T,[2,70]),e(T,[2,71]),e(T,[2,72]),e(T,[2,73]),e(T,[2,74]),e(T,[2,75]),e(T,[2,76]),e(T,[2,77]),e(T,[2,78]),e(d,[2,57],{76:Pe}),e(d,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:j,40:W},{27:[1,112],76:U},{5:oe,40:he,56:113,57:ue,59:me},{27:[1,118],76:U},{33:119,89:g,90:E},{33:120,89:g,90:E},{75:Z,78:121,79:82,80:ee,81:te,82:ie,83:se,84:re,85:ne,86:ae,87:le,88:ce},e(ge,[2,61]),e(ge,[2,63]),e(T,[2,68]),e(d,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:j,40:W},e(d,[2,28]),{5:[1,127]},e(d,[2,42]),{32:[1,128]},{32:[1,129]},{5:oe,40:he,56:130,57:ue,59:me},e(d,[2,47]),{5:[1,131]},e(d,[2,48]),e(d,[2,49]),e(Ue,[2,66],{79:104,75:Z,80:ee,81:te,82:ie,83:se,84:re,85:ne,86:ae,87:le,88:ce}),{33:132,89:g,90:E},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(d,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:j,40:W},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(d,[2,46]),{5:oe,40:he,56:152,57:ue,59:me},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(d,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(d,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:j,40:W},{5:B,28:160,31:Q,34:H,36:K,38:j,40:W},{5:B,28:161,31:Q,34:H,36:K,38:j,40:W},{5:B,28:162,31:Q,34:H,36:K,38:j,40:W},{5:oe,40:he,56:163,57:ue,59:me},{5:oe,40:he,56:164,57:ue,59:me},e(d,[2,23]),e(d,[2,24]),e(d,[2,25]),e(d,[2,26]),e(d,[2,44]),e(d,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:m(function(s,l){if(l.recoverable)this.trace(s);else{var o=new Error(s);throw o.hash=l,o}},"parseError"),parse:m(function(s){var l=this,o=[0],i=[],p=[null],t=[],fe=this.table,c="",Ee=0,Ye=0,Be=0,lt=2,Qe=1,ct=t.slice.call(arguments,1),y=Object.create(this.lexer),G={yy:{}};for(var Ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ie)&&(G.yy[Ie]=this.yy[Ie]);y.setInput(s,G.yy),G.yy.lexer=y,G.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var Te=y.yylloc;t.push(Te);var ot=y.options&&y.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function dt(S){o.length=o.length-2*S,p.length=p.length-S,t.length=t.length-S}m(dt,"popStack");function ht(){var S;return S=i.pop()||y.lex()||Qe,typeof S!="number"&&(S instanceof Array&&(i=S,S=i.pop()),S=l.symbols_[S]||S),S}m(ht,"lex");for(var k,Ne,z,N,bt,qe,J={},Re,F,He,ye;;){if(z=o[o.length-1],this.defaultActions[z]?N=this.defaultActions[z]:((k===null||typeof k>"u")&&(k=ht()),N=fe[z]&&fe[z][k]),typeof N>"u"||!N.length||!N[0]){var Ce="";ye=[];for(Re in fe[z])this.terminals_[Re]&&Re>lt&&ye.push("'"+this.terminals_[Re]+"'");y.showPosition?Ce="Parse error on line "+(Ee+1)+`:
|
|
`+y.showPosition()+`
|
|
Expecting `+ye.join(", ")+", got '"+(this.terminals_[k]||k)+"'":Ce="Parse error on line "+(Ee+1)+": Unexpected "+(k==Qe?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(Ce,{text:y.match,token:this.terminals_[k]||k,line:y.yylineno,loc:Te,expected:ye})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+k);switch(N[0]){case 1:o.push(k),p.push(y.yytext),t.push(y.yylloc),o.push(N[1]),k=null,Ne?(k=Ne,Ne=null):(Ye=y.yyleng,c=y.yytext,Ee=y.yylineno,Te=y.yylloc,Be>0&&Be--);break;case 2:if(F=this.productions_[N[1]][1],J.$=p[p.length-F],J._$={first_line:t[t.length-(F||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(F||1)].first_column,last_column:t[t.length-1].last_column},ot&&(J._$.range=[t[t.length-(F||1)].range[0],t[t.length-1].range[1]]),qe=this.performAction.apply(J,[c,Ye,Ee,G.yy,N[1],p,t].concat(ct)),typeof qe<"u")return qe;F&&(o=o.slice(0,-1*F*2),p=p.slice(0,-1*F),t=t.slice(0,-1*F)),o.push(this.productions_[N[1]][0]),p.push(J.$),t.push(J._$),He=fe[o[o.length-2]][o[o.length-1]],o.push(He);break;case 3:return!0}}return!0},"parse")},at=(function(){var $={EOF:1,parseError:m(function(l,o){if(this.yy.parser)this.yy.parser.parseError(l,o);else throw new Error(l)},"parseError"),setInput:m(function(s,l){return this.yy=l||this.yy||{},this._input=s,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:m(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var l=s.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:m(function(s){var l=s.length,o=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var i=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),o.length-1&&(this.yylineno-=o.length-1);var p=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:o?(o.length===i.length?this.yylloc.first_column:0)+i[i.length-o.length].length-o[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:m(function(){return this._more=!0,this},"more"),reject:m(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:m(function(s){this.unput(this.match.slice(s))},"less"),pastInput:m(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:m(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:m(function(){var s=this.pastInput(),l=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
|
|
`+l+"^"},"showPosition"),test_match:m(function(s,l){var o,i,p;if(this.options.backtrack_lexer&&(p={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&&(p.yylloc.range=this.yylloc.range.slice(0))),i=s[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+s[0].length},this.yytext+=s[0],this.match+=s[0],this.matches=s,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(s[0].length),this.matched+=s[0],o=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),o)return o;if(this._backtrack){for(var t in p)this[t]=p[t];return!1}return!1},"test_match"),next:m(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var s,l,o,i;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),t=0;t<p.length;t++)if(o=this._input.match(this.rules[p[t]]),o&&(!l||o[0].length>l[0].length)){if(l=o,i=t,this.options.backtrack_lexer){if(s=this.test_match(o,p[t]),s!==!1)return s;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(s=this.test_match(l,p[i]),s!==!1?s:!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:m(function(){var l=this.next();return l||this.lex()},"lex"),begin:m(function(l){this.conditionStack.push(l)},"begin"),popState:m(function(){var l=this.conditionStack.length-1;return l>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:m(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:m(function(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},"topState"),pushState:m(function(l){this.begin(l)},"pushState"),stateStackSize:m(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:m(function(l,o,i,p){var t=p;switch(i){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return o.yytext=o.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?: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,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return $})();_e.lexer=at;function Se(){this.yy={}}return m(Se,"Parser"),Se.prototype=_e,_e.Parser=Se,new Se})();Ve.parser=Ve;var rt=Ve;var ke=class{constructor(){this.relations=[];this.latestRequirement=this.getInitialRequirement();this.requirements=new Map;this.latestElement=this.getInitialElement();this.elements=new Map;this.classes=new Map;this.direction="TB";this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"};this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"};this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"};this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"};this.setAccTitle=je;this.getAccTitle=We;this.setAccDescription=Ge;this.getAccDescription=ze;this.setDiagramTitle=Xe;this.getDiagramTitle=Je;this.getConfig=m(()=>de().requirement,"getConfig");this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{m(this,"RequirementDB")}getDirection(){return this.direction}setDirection(n){this.direction=n}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(n,u){return this.requirements.has(n)||this.requirements.set(n,{name:n,type:u,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(n)}getRequirements(){return this.requirements}setNewReqId(n){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=n)}setNewReqText(n){this.latestRequirement!==void 0&&(this.latestRequirement.text=n)}setNewReqRisk(n){this.latestRequirement!==void 0&&(this.latestRequirement.risk=n)}setNewReqVerifyMethod(n){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=n)}addElement(n){return this.elements.has(n)||(this.elements.set(n,{name:n,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),pe.info("Added new element: ",n)),this.resetLatestElement(),this.elements.get(n)}getElements(){return this.elements}setNewElementType(n){this.latestElement!==void 0&&(this.latestElement.type=n)}setNewElementDocRef(n){this.latestElement!==void 0&&(this.latestElement.docRef=n)}addRelationship(n,u,h){this.relations.push({type:n,src:u,dst:h})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,Ke()}setCssStyle(n,u){for(let h of n){let r=this.requirements.get(h)??this.elements.get(h);if(!u||!r)return;for(let a of u)a.includes(",")?r.cssStyles.push(...a.split(",")):r.cssStyles.push(a)}}setClass(n,u){for(let h of n){let r=this.requirements.get(h)??this.elements.get(h);if(r)for(let a of u){r.classes.push(a);let f=this.classes.get(a)?.styles;f&&r.cssStyles.push(...f)}}}defineClass(n,u){for(let h of n){let r=this.classes.get(h);r===void 0&&(r={id:h,styles:[],textStyles:[]},this.classes.set(h,r)),u&&u.forEach(function(a){if(/color/.exec(a)){let f=a.replace("fill","bgFill");r.textStyles.push(f)}r.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(h)&&a.cssStyles.push(...u.flatMap(f=>f.split(",")))}),this.elements.forEach(a=>{a.classes.includes(h)&&a.cssStyles.push(...u.flatMap(f=>f.split(",")))})}}getClasses(){return this.classes}getData(){let n=de(),u=[],h=[];for(let r of this.requirements.values()){let a=r;a.id=r.name,a.cssStyles=r.cssStyles,a.cssClasses=r.classes.join(" "),a.shape="requirementBox",a.look=n.look,a.colorIndex=u.length,u.push(a)}for(let r of this.elements.values()){let a=r;a.shape="requirementBox",a.look=n.look,a.id=r.name,a.cssStyles=r.cssStyles,a.cssClasses=r.classes.join(" "),a.colorIndex=u.length,u.push(a)}for(let r of this.relations){let a=0,f=r.type===this.Relationships.CONTAINS,b={id:`${r.src}-${r.dst}-${a}`,start:this.requirements.get(r.src)?.name??this.elements.get(r.src)?.name,end:this.requirements.get(r.dst)?.name??this.elements.get(r.dst)?.name,label:`<<${r.type}>>`,classes:"relationshipLine",style:["fill:none",f?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:f?"normal":"dashed",arrowTypeStart:f?"requirement_contains":"",arrowTypeEnd:f?"":"requirement_arrow",look:n.look,labelType:"markdown"};h.push(b),a++}return{nodes:u,edges:h,other:{},config:n,direction:this.getDirection()}}};var mt=m(e=>{let n=Ae(),{themeVariables:u,look:h}=n,{bkgColorArray:r,borderColorArray:a}=u;if(!a?.length)return"";let f="";for(let b=0;b<e.THEME_COLOR_LIMIT;b++)f+=`
|
|
|
|
[data-look="${h}"][data-color-id="color-${b}"].node path {
|
|
stroke: ${a[b]};
|
|
fill: ${r?.length?r[b]:""};
|
|
}
|
|
|
|
[data-look="${h}"][data-color-id="color-${b}"].node rect {
|
|
stroke: ${a[b]};
|
|
fill: ${r?.length?r[b]:""};
|
|
}
|
|
`;return f},"genColor"),ft=m(e=>{let n=Ae(),{look:u,themeVariables:h}=n,{requirementEdgeLabelBackground:r}=h;return`
|
|
${mt(e)}
|
|
marker {
|
|
fill: ${e.relationColor};
|
|
stroke: ${e.relationColor};
|
|
}
|
|
|
|
marker.cross {
|
|
stroke: ${e.lineColor};
|
|
}
|
|
|
|
svg {
|
|
font-family: ${e.fontFamily};
|
|
font-size: ${e.fontSize};
|
|
}
|
|
|
|
.reqBox {
|
|
fill: ${e.requirementBackground};
|
|
fill-opacity: 1.0;
|
|
stroke: ${e.requirementBorderColor};
|
|
stroke-width: ${e.requirementBorderSize};
|
|
}
|
|
|
|
.reqTitle, .reqLabel{
|
|
fill: ${e.requirementTextColor};
|
|
}
|
|
.reqLabelBox {
|
|
fill: ${e.relationLabelBackground};
|
|
fill-opacity: 1.0;
|
|
}
|
|
|
|
.req-title-line {
|
|
stroke: ${e.requirementBorderColor};
|
|
stroke-width: ${e.requirementBorderSize};
|
|
}
|
|
.relationshipLine {
|
|
stroke: ${e.relationColor};
|
|
stroke-width: ${u==="neo"?e.strokeWidth:"1px"};
|
|
}
|
|
.relationshipLabel {
|
|
fill: ${e.relationLabelColor};
|
|
}
|
|
.edgeLabel {
|
|
background-color: ${e.edgeLabelBackground};
|
|
}
|
|
.edgeLabel .label rect {
|
|
fill: ${e.edgeLabelBackground};
|
|
}
|
|
.edgeLabel .label text {
|
|
fill: ${e.relationLabelColor};
|
|
}
|
|
.divider {
|
|
stroke: ${e.nodeBorder};
|
|
stroke-width: 1;
|
|
}
|
|
.label {
|
|
font-family: ${e.fontFamily};
|
|
color: ${e.nodeTextColor||e.textColor};
|
|
}
|
|
.label text,span {
|
|
fill: ${e.nodeTextColor||e.textColor};
|
|
color: ${e.nodeTextColor||e.textColor};
|
|
}
|
|
.labelBkg {
|
|
background-color: ${r??e.edgeLabelBackground};
|
|
}
|
|
|
|
`},"getStyles"),nt=ft;var ve={};ut(ve,{draw:()=>pt});var pt=m(async function(e,n,u,h){pe.info("REF0:"),pe.info("Drawing requirement diagram (unified)",n);let{securityLevel:r,state:a,layout:f,look:b}=de(),R=h.db.getData(),_=et(n,r);R.type=h.type,R.layoutAlgorithm=it(f),R.nodeSpacing=a?.nodeSpacing??50,R.rankSpacing=a?.rankSpacing??50,R.markers=b==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],R.diagramId=n,await tt(R,_);let I=8;Ze.insertTitle(_,"requirementDiagramTitleText",a?.titleTopMargin??25,h.db.getDiagramTitle()),st(_,I,"requirementDiagram",a?.useMaxWidth??!0)},"draw");var Mt={parser:rt,get db(){return new ke},renderer:ve,styles:nt};export{Mt as diagram};
|