UNPKG

89.2 kBJavaScriptView Raw
1import { aw as defaultConfig, s as setAccTitle, g as getAccTitle, a as getAccDescription, b as setAccDescription, z as setDiagramTitle, A as getDiagramTitle, c as getConfig, m as mermaidAPI, l as log, x as utils, B as clear$1, f as common, j as select } from "./mermaid-4b4b971d.js";
2var parser = function() {
3 var o = function(k, v, o2, l) {
4 for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)
5 ;
6 return o2;
7 }, $V0 = [1, 9], $V1 = [1, 7], $V2 = [1, 6], $V3 = [1, 8], $V4 = [1, 20, 21, 22, 23, 38, 44, 46, 48, 52, 66, 67, 87, 88, 89, 90, 91, 92, 96, 106, 107, 110, 112, 113, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], $V5 = [2, 10], $V6 = [1, 20], $V7 = [1, 21], $V8 = [1, 22], $V9 = [1, 23], $Va = [1, 30], $Vb = [1, 32], $Vc = [1, 33], $Vd = [1, 34], $Ve = [1, 62], $Vf = [1, 48], $Vg = [1, 52], $Vh = [1, 36], $Vi = [1, 37], $Vj = [1, 38], $Vk = [1, 39], $Vl = [1, 40], $Vm = [1, 56], $Vn = [1, 63], $Vo = [1, 51], $Vp = [1, 53], $Vq = [1, 55], $Vr = [1, 59], $Vs = [1, 60], $Vt = [1, 41], $Vu = [1, 42], $Vv = [1, 43], $Vw = [1, 44], $Vx = [1, 61], $Vy = [1, 50], $Vz = [1, 54], $VA = [1, 57], $VB = [1, 58], $VC = [1, 49], $VD = [1, 66], $VE = [1, 71], $VF = [1, 20, 21, 22, 23, 38, 42, 44, 46, 48, 52, 66, 67, 87, 88, 89, 90, 91, 92, 96, 106, 107, 110, 112, 113, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], $VG = [1, 75], $VH = [1, 74], $VI = [1, 76], $VJ = [20, 21, 23, 81, 82], $VK = [1, 99], $VL = [1, 104], $VM = [1, 107], $VN = [1, 108], $VO = [1, 101], $VP = [1, 106], $VQ = [1, 109], $VR = [1, 102], $VS = [1, 114], $VT = [1, 113], $VU = [1, 103], $VV = [1, 105], $VW = [1, 110], $VX = [1, 111], $VY = [1, 112], $VZ = [1, 115], $V_ = [20, 21, 22, 23, 81, 82], $V$ = [20, 21, 22, 23, 53, 81, 82], $V01 = [20, 21, 22, 23, 40, 52, 53, 55, 57, 59, 61, 63, 65, 66, 67, 69, 71, 73, 74, 76, 81, 82, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], $V11 = [20, 21, 23], $V21 = [20, 21, 23, 52, 66, 67, 81, 82, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], $V31 = [1, 12, 20, 21, 22, 23, 24, 38, 42, 44, 46, 48, 52, 66, 67, 87, 88, 89, 90, 91, 92, 96, 106, 107, 110, 112, 113, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], $V41 = [52, 66, 67, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], $V51 = [1, 150], $V61 = [1, 158], $V71 = [1, 159], $V81 = [1, 160], $V91 = [1, 161], $Va1 = [1, 145], $Vb1 = [1, 146], $Vc1 = [1, 141], $Vd1 = [1, 142], $Ve1 = [1, 153], $Vf1 = [1, 154], $Vg1 = [1, 155], $Vh1 = [1, 156], $Vi1 = [1, 157], $Vj1 = [1, 162], $Vk1 = [1, 163], $Vl1 = [1, 148], $Vm1 = [1, 151], $Vn1 = [1, 147], $Vo1 = [1, 144], $Vp1 = [20, 21, 22, 23, 38, 42, 44, 46, 48, 52, 66, 67, 87, 88, 89, 90, 91, 92, 96, 106, 107, 110, 112, 113, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], $Vq1 = [1, 166], $Vr1 = [20, 21, 22, 23, 26, 52, 66, 67, 92, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], $Vs1 = [20, 21, 22, 23, 24, 26, 38, 40, 41, 42, 52, 56, 58, 60, 62, 64, 66, 67, 68, 70, 72, 73, 75, 77, 81, 82, 87, 88, 89, 90, 91, 92, 93, 96, 106, 107, 110, 112, 113, 114, 115, 123, 124, 125, 126, 127, 128], $Vt1 = [12, 21, 22, 24], $Vu1 = [22, 107], $Vv1 = [1, 251], $Vw1 = [1, 246], $Vx1 = [1, 247], $Vy1 = [1, 255], $Vz1 = [1, 252], $VA1 = [1, 249], $VB1 = [1, 248], $VC1 = [1, 250], $VD1 = [1, 253], $VE1 = [1, 254], $VF1 = [1, 256], $VG1 = [1, 274], $VH1 = [20, 21, 23, 107], $VI1 = [20, 21, 22, 23, 66, 67, 87, 103, 106, 107, 110, 111, 112, 113, 114];
8 var parser2 = {
9 trace: function trace() {
10 },
11 yy: {},
12 symbols_: { "error": 2, "start": 3, "mermaidDoc": 4, "directive": 5, "openDirective": 6, "typeDirective": 7, "closeDirective": 8, "separator": 9, ":": 10, "argDirective": 11, "open_directive": 12, "type_directive": 13, "arg_directive": 14, "close_directive": 15, "graphConfig": 16, "document": 17, "line": 18, "statement": 19, "SEMI": 20, "NEWLINE": 21, "SPACE": 22, "EOF": 23, "GRAPH": 24, "NODIR": 25, "DIR": 26, "FirstStmtSeperator": 27, "ending": 28, "endToken": 29, "spaceList": 30, "spaceListNewline": 31, "verticeStatement": 32, "styleStatement": 33, "linkStyleStatement": 34, "classDefStatement": 35, "classStatement": 36, "clickStatement": 37, "subgraph": 38, "text": 39, "SQS": 40, "SQE": 41, "end": 42, "direction": 43, "acc_title": 44, "acc_title_value": 45, "acc_descr": 46, "acc_descr_value": 47, "acc_descr_multiline_value": 48, "link": 49, "node": 50, "vertex": 51, "AMP": 52, "STYLE_SEPARATOR": 53, "idString": 54, "DOUBLECIRCLESTART": 55, "DOUBLECIRCLEEND": 56, "PS": 57, "PE": 58, "(-": 59, "-)": 60, "STADIUMSTART": 61, "STADIUMEND": 62, "SUBROUTINESTART": 63, "SUBROUTINEEND": 64, "VERTEX_WITH_PROPS_START": 65, "ALPHA": 66, "COLON": 67, "PIPE": 68, "CYLINDERSTART": 69, "CYLINDEREND": 70, "DIAMOND_START": 71, "DIAMOND_STOP": 72, "TAGEND": 73, "TRAPSTART": 74, "TRAPEND": 75, "INVTRAPSTART": 76, "INVTRAPEND": 77, "linkStatement": 78, "arrowText": 79, "TESTSTR": 80, "START_LINK": 81, "LINK": 82, "textToken": 83, "STR": 84, "MD_STR": 85, "keywords": 86, "STYLE": 87, "LINKSTYLE": 88, "CLASSDEF": 89, "CLASS": 90, "CLICK": 91, "DOWN": 92, "UP": 93, "textNoTags": 94, "textNoTagsToken": 95, "DEFAULT": 96, "stylesOpt": 97, "alphaNum": 98, "CALLBACKNAME": 99, "CALLBACKARGS": 100, "HREF": 101, "LINK_TARGET": 102, "HEX": 103, "numList": 104, "INTERPOLATE": 105, "NUM": 106, "COMMA": 107, "style": 108, "styleComponent": 109, "MINUS": 110, "UNIT": 111, "BRKT": 112, "DOT": 113, "PCT": 114, "TAGSTART": 115, "alphaNumToken": 116, "idStringToken": 117, "alphaNumStatement": 118, "direction_tb": 119, "direction_bt": 120, "direction_rl": 121, "direction_lr": 122, "PUNCTUATION": 123, "UNICODE_TEXT": 124, "PLUS": 125, "EQUALS": 126, "MULT": 127, "UNDERSCORE": 128, "graphCodeTokens": 129, "ARROW_CROSS": 130, "ARROW_POINT": 131, "ARROW_CIRCLE": 132, "ARROW_OPEN": 133, "QUOTE": 134, "$accept": 0, "$end": 1 },
13 terminals_: { 2: "error", 10: ":", 12: "open_directive", 13: "type_directive", 14: "arg_directive", 15: "close_directive", 20: "SEMI", 21: "NEWLINE", 22: "SPACE", 23: "EOF", 24: "GRAPH", 25: "NODIR", 26: "DIR", 38: "subgraph", 40: "SQS", 41: "SQE", 42: "end", 44: "acc_title", 45: "acc_title_value", 46: "acc_descr", 47: "acc_descr_value", 48: "acc_descr_multiline_value", 52: "AMP", 53: "STYLE_SEPARATOR", 55: "DOUBLECIRCLESTART", 56: "DOUBLECIRCLEEND", 57: "PS", 58: "PE", 59: "(-", 60: "-)", 61: "STADIUMSTART", 62: "STADIUMEND", 63: "SUBROUTINESTART", 64: "SUBROUTINEEND", 65: "VERTEX_WITH_PROPS_START", 66: "ALPHA", 67: "COLON", 68: "PIPE", 69: "CYLINDERSTART", 70: "CYLINDEREND", 71: "DIAMOND_START", 72: "DIAMOND_STOP", 73: "TAGEND", 74: "TRAPSTART", 75: "TRAPEND", 76: "INVTRAPSTART", 77: "INVTRAPEND", 80: "TESTSTR", 81: "START_LINK", 82: "LINK", 84: "STR", 85: "MD_STR", 87: "STYLE", 88: "LINKSTYLE", 89: "CLASSDEF", 90: "CLASS", 91: "CLICK", 92: "DOWN", 93: "UP", 96: "DEFAULT", 99: "CALLBACKNAME", 100: "CALLBACKARGS", 101: "HREF", 102: "LINK_TARGET", 103: "HEX", 105: "INTERPOLATE", 106: "NUM", 107: "COMMA", 110: "MINUS", 111: "UNIT", 112: "BRKT", 113: "DOT", 114: "PCT", 115: "TAGSTART", 119: "direction_tb", 120: "direction_bt", 121: "direction_rl", 122: "direction_lr", 123: "PUNCTUATION", 124: "UNICODE_TEXT", 125: "PLUS", 126: "EQUALS", 127: "MULT", 128: "UNDERSCORE", 130: "ARROW_CROSS", 131: "ARROW_POINT", 132: "ARROW_CIRCLE", 133: "ARROW_OPEN", 134: "QUOTE" },
14 productions_: [0, [3, 1], [3, 2], [5, 4], [5, 6], [6, 1], [7, 1], [11, 1], [8, 1], [4, 2], [17, 0], [17, 2], [18, 1], [18, 1], [18, 1], [18, 1], [18, 1], [16, 2], [16, 2], [16, 2], [16, 3], [28, 2], [28, 1], [29, 1], [29, 1], [29, 1], [27, 1], [27, 1], [27, 2], [31, 2], [31, 2], [31, 1], [31, 1], [30, 2], [30, 1], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 9], [19, 6], [19, 4], [19, 1], [19, 2], [19, 2], [19, 1], [9, 1], [9, 1], [9, 1], [32, 3], [32, 4], [32, 2], [32, 1], [50, 1], [50, 5], [50, 3], [51, 4], [51, 4], [51, 6], [51, 4], [51, 4], [51, 4], [51, 8], [51, 4], [51, 4], [51, 4], [51, 6], [51, 4], [51, 4], [51, 4], [51, 4], [51, 4], [51, 1], [49, 2], [49, 3], [49, 3], [49, 1], [49, 3], [78, 1], [79, 3], [39, 1], [39, 2], [39, 1], [39, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [94, 1], [94, 2], [35, 5], [35, 5], [36, 5], [37, 2], [37, 4], [37, 3], [37, 5], [37, 2], [37, 4], [37, 4], [37, 6], [37, 2], [37, 4], [37, 2], [37, 4], [37, 4], [37, 6], [33, 5], [33, 5], [34, 5], [34, 5], [34, 9], [34, 9], [34, 7], [34, 7], [104, 1], [104, 3], [97, 1], [97, 3], [108, 1], [108, 2], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [95, 1], [95, 1], [95, 1], [95, 1], [54, 1], [54, 2], [98, 1], [98, 2], [118, 1], [118, 1], [118, 1], [118, 1], [43, 1], [43, 1], [43, 1], [43, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1]],
15 performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
16 var $0 = $$.length - 1;
17 switch (yystate) {
18 case 5:
19 yy.parseDirective("%%{", "open_directive");
20 break;
21 case 6:
22 yy.parseDirective($$[$0], "type_directive");
23 break;
24 case 7:
25 $$[$0] = $$[$0].trim().replace(/'/g, '"');
26 yy.parseDirective($$[$0], "arg_directive");
27 break;
28 case 8:
29 yy.parseDirective("}%%", "close_directive", "flowchart");
30 break;
31 case 10:
32 this.$ = [];
33 break;
34 case 11:
35 if (!Array.isArray($$[$0]) || $$[$0].length > 0) {
36 $$[$0 - 1].push($$[$0]);
37 }
38 this.$ = $$[$0 - 1];
39 break;
40 case 12:
41 case 97:
42 case 153:
43 case 155:
44 case 156:
45 this.$ = $$[$0];
46 break;
47 case 19:
48 yy.setDirection("TB");
49 this.$ = "TB";
50 break;
51 case 20:
52 yy.setDirection($$[$0 - 1]);
53 this.$ = $$[$0 - 1];
54 break;
55 case 35:
56 this.$ = $$[$0 - 1].nodes;
57 break;
58 case 36:
59 case 37:
60 case 38:
61 case 39:
62 case 40:
63 this.$ = [];
64 break;
65 case 41:
66 this.$ = yy.addSubGraph($$[$0 - 6], $$[$0 - 1], $$[$0 - 4]);
67 break;
68 case 42:
69 this.$ = yy.addSubGraph($$[$0 - 3], $$[$0 - 1], $$[$0 - 3]);
70 break;
71 case 43:
72 this.$ = yy.addSubGraph(void 0, $$[$0 - 1], void 0);
73 break;
74 case 45:
75 this.$ = $$[$0].trim();
76 yy.setAccTitle(this.$);
77 break;
78 case 46:
79 case 47:
80 this.$ = $$[$0].trim();
81 yy.setAccDescription(this.$);
82 break;
83 case 51:
84 yy.addLink($$[$0 - 2].stmt, $$[$0], $$[$0 - 1]);
85 this.$ = { stmt: $$[$0], nodes: $$[$0].concat($$[$0 - 2].nodes) };
86 break;
87 case 52:
88 yy.addLink($$[$0 - 3].stmt, $$[$0 - 1], $$[$0 - 2]);
89 this.$ = { stmt: $$[$0 - 1], nodes: $$[$0 - 1].concat($$[$0 - 3].nodes) };
90 break;
91 case 53:
92 this.$ = { stmt: $$[$0 - 1], nodes: $$[$0 - 1] };
93 break;
94 case 54:
95 this.$ = { stmt: $$[$0], nodes: $$[$0] };
96 break;
97 case 55:
98 this.$ = [$$[$0]];
99 break;
100 case 56:
101 this.$ = $$[$0 - 4].concat($$[$0]);
102 break;
103 case 57:
104 this.$ = [$$[$0 - 2]];
105 yy.setClass($$[$0 - 2], $$[$0]);
106 break;
107 case 58:
108 this.$ = $$[$0 - 3];
109 yy.addVertex($$[$0 - 3], $$[$0 - 1], "square");
110 break;
111 case 59:
112 this.$ = $$[$0 - 3];
113 yy.addVertex($$[$0 - 3], $$[$0 - 1], "doublecircle");
114 break;
115 case 60:
116 this.$ = $$[$0 - 5];
117 yy.addVertex($$[$0 - 5], $$[$0 - 2], "circle");
118 break;
119 case 61:
120 this.$ = $$[$0 - 3];
121 yy.addVertex($$[$0 - 3], $$[$0 - 1], "ellipse");
122 break;
123 case 62:
124 this.$ = $$[$0 - 3];
125 yy.addVertex($$[$0 - 3], $$[$0 - 1], "stadium");
126 break;
127 case 63:
128 this.$ = $$[$0 - 3];
129 yy.addVertex($$[$0 - 3], $$[$0 - 1], "subroutine");
130 break;
131 case 64:
132 this.$ = $$[$0 - 7];
133 yy.addVertex($$[$0 - 7], $$[$0 - 1], "rect", void 0, void 0, void 0, Object.fromEntries([[$$[$0 - 5], $$[$0 - 3]]]));
134 break;
135 case 65:
136 this.$ = $$[$0 - 3];
137 yy.addVertex($$[$0 - 3], $$[$0 - 1], "cylinder");
138 break;
139 case 66:
140 this.$ = $$[$0 - 3];
141 yy.addVertex($$[$0 - 3], $$[$0 - 1], "round");
142 break;
143 case 67:
144 this.$ = $$[$0 - 3];
145 yy.addVertex($$[$0 - 3], $$[$0 - 1], "diamond");
146 break;
147 case 68:
148 this.$ = $$[$0 - 5];
149 yy.addVertex($$[$0 - 5], $$[$0 - 2], "hexagon");
150 break;
151 case 69:
152 this.$ = $$[$0 - 3];
153 yy.addVertex($$[$0 - 3], $$[$0 - 1], "odd");
154 break;
155 case 70:
156 this.$ = $$[$0 - 3];
157 yy.addVertex($$[$0 - 3], $$[$0 - 1], "trapezoid");
158 break;
159 case 71:
160 this.$ = $$[$0 - 3];
161 yy.addVertex($$[$0 - 3], $$[$0 - 1], "inv_trapezoid");
162 break;
163 case 72:
164 this.$ = $$[$0 - 3];
165 yy.addVertex($$[$0 - 3], $$[$0 - 1], "lean_right");
166 break;
167 case 73:
168 this.$ = $$[$0 - 3];
169 yy.addVertex($$[$0 - 3], $$[$0 - 1], "lean_left");
170 break;
171 case 74:
172 this.$ = $$[$0];
173 yy.addVertex($$[$0]);
174 break;
175 case 75:
176 $$[$0 - 1].text = $$[$0];
177 this.$ = $$[$0 - 1];
178 break;
179 case 76:
180 case 77:
181 $$[$0 - 2].text = $$[$0 - 1];
182 this.$ = $$[$0 - 2];
183 break;
184 case 78:
185 this.$ = $$[$0];
186 break;
187 case 79:
188 var inf = yy.destructLink($$[$0], $$[$0 - 2]);
189 this.$ = { "type": inf.type, "stroke": inf.stroke, "length": inf.length, "text": $$[$0 - 1] };
190 break;
191 case 80:
192 var inf = yy.destructLink($$[$0]);
193 this.$ = { "type": inf.type, "stroke": inf.stroke, "length": inf.length };
194 break;
195 case 81:
196 this.$ = $$[$0 - 1];
197 break;
198 case 82:
199 this.$ = { text: $$[$0], type: "text" };
200 break;
201 case 83:
202 this.$ = { text: $$[$0 - 1].text + "" + $$[$0], type: $$[$0 - 1].type };
203 break;
204 case 84:
205 this.$ = { text: $$[$0], type: "text" };
206 break;
207 case 85:
208 this.$ = { text: $$[$0], type: "markdown" };
209 break;
210 case 98:
211 case 154:
212 this.$ = $$[$0 - 1] + "" + $$[$0];
213 break;
214 case 99:
215 case 100:
216 this.$ = $$[$0 - 4];
217 yy.addClass($$[$0 - 2], $$[$0]);
218 break;
219 case 101:
220 this.$ = $$[$0 - 4];
221 yy.setClass($$[$0 - 2], $$[$0]);
222 break;
223 case 102:
224 case 110:
225 this.$ = $$[$0 - 1];
226 yy.setClickEvent($$[$0 - 1], $$[$0]);
227 break;
228 case 103:
229 case 111:
230 this.$ = $$[$0 - 3];
231 yy.setClickEvent($$[$0 - 3], $$[$0 - 2]);
232 yy.setTooltip($$[$0 - 3], $$[$0]);
233 break;
234 case 104:
235 this.$ = $$[$0 - 2];
236 yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);
237 break;
238 case 105:
239 this.$ = $$[$0 - 4];
240 yy.setClickEvent($$[$0 - 4], $$[$0 - 3], $$[$0 - 2]);
241 yy.setTooltip($$[$0 - 4], $$[$0]);
242 break;
243 case 106:
244 case 112:
245 this.$ = $$[$0 - 1];
246 yy.setLink($$[$0 - 1], $$[$0]);
247 break;
248 case 107:
249 case 113:
250 this.$ = $$[$0 - 3];
251 yy.setLink($$[$0 - 3], $$[$0 - 2]);
252 yy.setTooltip($$[$0 - 3], $$[$0]);
253 break;
254 case 108:
255 case 114:
256 this.$ = $$[$0 - 3];
257 yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);
258 break;
259 case 109:
260 case 115:
261 this.$ = $$[$0 - 5];
262 yy.setLink($$[$0 - 5], $$[$0 - 4], $$[$0]);
263 yy.setTooltip($$[$0 - 5], $$[$0 - 2]);
264 break;
265 case 116:
266 this.$ = $$[$0 - 4];
267 yy.addVertex($$[$0 - 2], void 0, void 0, $$[$0]);
268 break;
269 case 117:
270 case 119:
271 this.$ = $$[$0 - 4];
272 yy.updateLink($$[$0 - 2], $$[$0]);
273 break;
274 case 118:
275 this.$ = $$[$0 - 4];
276 yy.updateLink([$$[$0 - 2]], $$[$0]);
277 break;
278 case 120:
279 this.$ = $$[$0 - 8];
280 yy.updateLinkInterpolate([$$[$0 - 6]], $$[$0 - 2]);
281 yy.updateLink([$$[$0 - 6]], $$[$0]);
282 break;
283 case 121:
284 this.$ = $$[$0 - 8];
285 yy.updateLinkInterpolate($$[$0 - 6], $$[$0 - 2]);
286 yy.updateLink($$[$0 - 6], $$[$0]);
287 break;
288 case 122:
289 this.$ = $$[$0 - 6];
290 yy.updateLinkInterpolate([$$[$0 - 4]], $$[$0]);
291 break;
292 case 123:
293 this.$ = $$[$0 - 6];
294 yy.updateLinkInterpolate($$[$0 - 4], $$[$0]);
295 break;
296 case 124:
297 case 126:
298 this.$ = [$$[$0]];
299 break;
300 case 125:
301 case 127:
302 $$[$0 - 2].push($$[$0]);
303 this.$ = $$[$0 - 2];
304 break;
305 case 129:
306 this.$ = $$[$0 - 1] + $$[$0];
307 break;
308 case 151:
309 this.$ = $$[$0];
310 break;
311 case 152:
312 this.$ = $$[$0 - 1] + "" + $$[$0];
313 break;
314 case 157:
315 this.$ = "v";
316 break;
317 case 158:
318 this.$ = "-";
319 break;
320 case 159:
321 this.$ = { stmt: "dir", value: "TB" };
322 break;
323 case 160:
324 this.$ = { stmt: "dir", value: "BT" };
325 break;
326 case 161:
327 this.$ = { stmt: "dir", value: "RL" };
328 break;
329 case 162:
330 this.$ = { stmt: "dir", value: "LR" };
331 break;
332 }
333 },
334 table: [{ 3: 1, 4: 2, 5: 3, 6: 5, 12: $V0, 16: 4, 21: $V1, 22: $V2, 24: $V3 }, { 1: [3] }, { 1: [2, 1] }, { 3: 10, 4: 2, 5: 3, 6: 5, 12: $V0, 16: 4, 21: $V1, 22: $V2, 24: $V3 }, o($V4, $V5, { 17: 11 }), { 7: 12, 13: [1, 13] }, { 16: 14, 21: $V1, 22: $V2, 24: $V3 }, { 16: 15, 21: $V1, 22: $V2, 24: $V3 }, { 25: [1, 16], 26: [1, 17] }, { 13: [2, 5] }, { 1: [2, 2] }, { 1: [2, 9], 18: 18, 19: 19, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: $Va, 43: 31, 44: $Vb, 46: $Vc, 48: $Vd, 50: 35, 51: 45, 52: $Ve, 54: 46, 66: $Vf, 67: $Vg, 87: $Vh, 88: $Vi, 89: $Vj, 90: $Vk, 91: $Vl, 92: $Vm, 96: $Vn, 106: $Vo, 107: $Vp, 110: $Vq, 112: $Vr, 113: $Vs, 117: 47, 119: $Vt, 120: $Vu, 121: $Vv, 122: $Vw, 123: $Vx, 124: $Vy, 125: $Vz, 126: $VA, 127: $VB, 128: $VC }, { 8: 64, 10: [1, 65], 15: $VD }, o([10, 15], [2, 6]), o($V4, [2, 17]), o($V4, [2, 18]), o($V4, [2, 19]), { 20: [1, 68], 21: [1, 69], 22: $VE, 27: 67, 30: 70 }, o($VF, [2, 11]), o($VF, [2, 12]), o($VF, [2, 13]), o($VF, [2, 14]), o($VF, [2, 15]), o($VF, [2, 16]), { 9: 72, 20: $VG, 21: $VH, 23: $VI, 49: 73, 78: 77, 81: [1, 78], 82: [1, 79] }, { 9: 80, 20: $VG, 21: $VH, 23: $VI }, { 9: 81, 20: $VG, 21: $VH, 23: $VI }, { 9: 82, 20: $VG, 21: $VH, 23: $VI }, { 9: 83, 20: $VG, 21: $VH, 23: $VI }, { 9: 84, 20: $VG, 21: $VH, 23: $VI }, { 9: 86, 20: $VG, 21: $VH, 22: [1, 85], 23: $VI }, o($VF, [2, 44]), { 45: [1, 87] }, { 47: [1, 88] }, o($VF, [2, 47]), o($VJ, [2, 54], { 30: 89, 22: $VE }), { 22: [1, 90] }, { 22: [1, 91] }, { 22: [1, 92] }, { 22: [1, 93] }, { 26: $VK, 52: $VL, 66: $VM, 67: $VN, 84: [1, 97], 92: $VO, 98: 96, 99: [1, 94], 101: [1, 95], 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 98, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($VF, [2, 159]), o($VF, [2, 160]), o($VF, [2, 161]), o($VF, [2, 162]), o($V_, [2, 55], { 53: [1, 116] }), o($V$, [2, 74], { 117: 129, 40: [1, 117], 52: $Ve, 55: [1, 118], 57: [1, 119], 59: [1, 120], 61: [1, 121], 63: [1, 122], 65: [1, 123], 66: $Vf, 67: $Vg, 69: [1, 124], 71: [1, 125], 73: [1, 126], 74: [1, 127], 76: [1, 128], 92: $Vm, 96: $Vn, 106: $Vo, 107: $Vp, 110: $Vq, 112: $Vr, 113: $Vs, 123: $Vx, 124: $Vy, 125: $Vz, 126: $VA, 127: $VB, 128: $VC }), o($V01, [2, 151]), o($V01, [2, 176]), o($V01, [2, 177]), o($V01, [2, 178]), o($V01, [2, 179]), o($V01, [2, 180]), o($V01, [2, 181]), o($V01, [2, 182]), o($V01, [2, 183]), o($V01, [2, 184]), o($V01, [2, 185]), o($V01, [2, 186]), o($V01, [2, 187]), o($V01, [2, 188]), o($V01, [2, 189]), o($V01, [2, 190]), o($V01, [2, 191]), { 9: 130, 20: $VG, 21: $VH, 23: $VI }, { 11: 131, 14: [1, 132] }, o($V11, [2, 8]), o($V4, [2, 20]), o($V4, [2, 26]), o($V4, [2, 27]), { 21: [1, 133] }, o($V21, [2, 34], { 30: 134, 22: $VE }), o($VF, [2, 35]), { 50: 135, 51: 45, 52: $Ve, 54: 46, 66: $Vf, 67: $Vg, 92: $Vm, 96: $Vn, 106: $Vo, 107: $Vp, 110: $Vq, 112: $Vr, 113: $Vs, 117: 47, 123: $Vx, 124: $Vy, 125: $Vz, 126: $VA, 127: $VB, 128: $VC }, o($V31, [2, 48]), o($V31, [2, 49]), o($V31, [2, 50]), o($V41, [2, 78], { 79: 136, 68: [1, 138], 80: [1, 137] }), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 139, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o([52, 66, 67, 68, 80, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], [2, 80]), o($VF, [2, 36]), o($VF, [2, 37]), o($VF, [2, 38]), o($VF, [2, 39]), o($VF, [2, 40]), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 164, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($Vp1, $V5, { 17: 165 }), o($VF, [2, 45]), o($VF, [2, 46]), o($VJ, [2, 53], { 52: $Vq1 }), { 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 98: 167, 103: [1, 168], 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 98, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 96: [1, 169], 104: 170, 106: [1, 171] }, { 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 96: [1, 172], 98: 173, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 98, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 98: 174, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 98, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($V11, [2, 102], { 22: [1, 175], 100: [1, 176] }), o($V11, [2, 106], { 22: [1, 177] }), o($V11, [2, 110], { 116: 100, 118: 179, 22: [1, 178], 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }), o($V11, [2, 112], { 22: [1, 180] }), o($Vr1, [2, 153]), o($Vr1, [2, 155]), o($Vr1, [2, 156]), o($Vr1, [2, 157]), o($Vr1, [2, 158]), o($Vs1, [2, 163]), o($Vs1, [2, 164]), o($Vs1, [2, 165]), o($Vs1, [2, 166]), o($Vs1, [2, 167]), o($Vs1, [2, 168]), o($Vs1, [2, 169]), o($Vs1, [2, 170]), o($Vs1, [2, 171]), o($Vs1, [2, 172]), o($Vs1, [2, 173]), o($Vs1, [2, 174]), o($Vs1, [2, 175]), { 52: $Ve, 54: 181, 66: $Vf, 67: $Vg, 92: $Vm, 96: $Vn, 106: $Vo, 107: $Vp, 110: $Vq, 112: $Vr, 113: $Vs, 117: 47, 123: $Vx, 124: $Vy, 125: $Vz, 126: $VA, 127: $VB, 128: $VC }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 182, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 183, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 185, 42: $V91, 52: $VL, 57: [1, 184], 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 186, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 187, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 188, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 66: [1, 189] }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 190, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 191, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 71: [1, 192], 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 193, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 194, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 195, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($V01, [2, 152]), o($Vt1, [2, 3]), { 8: 196, 15: $VD }, { 15: [2, 7] }, o($V4, [2, 28]), o($V21, [2, 33]), o($VJ, [2, 51], { 30: 197, 22: $VE }), o($V41, [2, 75], { 22: [1, 198] }), { 22: [1, 199] }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 200, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 82: [1, 201], 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($Vs1, [2, 82]), o($Vs1, [2, 84]), o($Vs1, [2, 85]), o($Vs1, [2, 141]), o($Vs1, [2, 142]), o($Vs1, [2, 143]), o($Vs1, [2, 144]), o($Vs1, [2, 145]), o($Vs1, [2, 146]), o($Vs1, [2, 147]), o($Vs1, [2, 148]), o($Vs1, [2, 149]), o($Vs1, [2, 150]), o($Vs1, [2, 86]), o($Vs1, [2, 87]), o($Vs1, [2, 88]), o($Vs1, [2, 89]), o($Vs1, [2, 90]), o($Vs1, [2, 91]), o($Vs1, [2, 92]), o($Vs1, [2, 93]), o($Vs1, [2, 94]), o($Vs1, [2, 95]), o($Vs1, [2, 96]), { 9: 204, 20: $VG, 21: $VH, 22: $V51, 23: $VI, 24: $V61, 26: $V71, 38: $V81, 40: [1, 203], 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 18: 18, 19: 19, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: $Va, 42: [1, 205], 43: 31, 44: $Vb, 46: $Vc, 48: $Vd, 50: 35, 51: 45, 52: $Ve, 54: 46, 66: $Vf, 67: $Vg, 87: $Vh, 88: $Vi, 89: $Vj, 90: $Vk, 91: $Vl, 92: $Vm, 96: $Vn, 106: $Vo, 107: $Vp, 110: $Vq, 112: $Vr, 113: $Vs, 117: 47, 119: $Vt, 120: $Vu, 121: $Vv, 122: $Vw, 123: $Vx, 124: $Vy, 125: $Vz, 126: $VA, 127: $VB, 128: $VC }, { 22: $VE, 30: 206 }, { 22: [1, 207], 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 179, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: [1, 208] }, { 22: [1, 209] }, { 22: [1, 210], 107: [1, 211] }, o($Vu1, [2, 124]), { 22: [1, 212] }, { 22: [1, 213], 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 179, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: [1, 214], 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 179, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 84: [1, 215] }, o($V11, [2, 104], { 22: [1, 216] }), { 84: [1, 217], 102: [1, 218] }, { 84: [1, 219] }, o($Vr1, [2, 154]), { 84: [1, 220], 102: [1, 221] }, o($V_, [2, 57], { 117: 129, 52: $Ve, 66: $Vf, 67: $Vg, 92: $Vm, 96: $Vn, 106: $Vo, 107: $Vp, 110: $Vq, 112: $Vr, 113: $Vs, 123: $Vx, 124: $Vy, 125: $Vz, 126: $VA, 127: $VB, 128: $VC }), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 41: [1, 222], 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 56: [1, 223], 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 224, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 58: [1, 225], 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 60: [1, 226], 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 62: [1, 227], 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 64: [1, 228], 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 67: [1, 229] }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 70: [1, 230], 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 72: [1, 231], 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 232, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 41: [1, 233], 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 75: [1, 234], 77: [1, 235], 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 75: [1, 237], 77: [1, 236], 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 9: 238, 20: $VG, 21: $VH, 23: $VI }, o($VJ, [2, 52], { 52: $Vq1 }), o($V41, [2, 77]), o($V41, [2, 76]), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 68: [1, 239], 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($V41, [2, 79]), o($Vs1, [2, 83]), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 240, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($Vp1, $V5, { 17: 241 }), o($VF, [2, 43]), { 51: 242, 52: $Ve, 54: 46, 66: $Vf, 67: $Vg, 92: $Vm, 96: $Vn, 106: $Vo, 107: $Vp, 110: $Vq, 112: $Vr, 113: $Vs, 117: 47, 123: $Vx, 124: $Vy, 125: $Vz, 126: $VA, 127: $VB, 128: $VC }, { 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 97: 243, 103: $Vz1, 106: $VA1, 108: 244, 109: 245, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }, { 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 97: 257, 103: $Vz1, 106: $VA1, 108: 244, 109: 245, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }, { 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 97: 258, 103: $Vz1, 105: [1, 259], 106: $VA1, 108: 244, 109: 245, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }, { 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 97: 260, 103: $Vz1, 105: [1, 261], 106: $VA1, 108: 244, 109: 245, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }, { 106: [1, 262] }, { 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 97: 263, 103: $Vz1, 106: $VA1, 108: 244, 109: 245, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }, { 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 97: 264, 103: $Vz1, 106: $VA1, 108: 244, 109: 245, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }, { 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 98: 265, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 98, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($V11, [2, 103]), { 84: [1, 266] }, o($V11, [2, 107], { 22: [1, 267] }), o($V11, [2, 108]), o($V11, [2, 111]), o($V11, [2, 113], { 22: [1, 268] }), o($V11, [2, 114]), o($V$, [2, 58]), o($V$, [2, 59]), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 58: [1, 269], 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($V$, [2, 66]), o($V$, [2, 61]), o($V$, [2, 62]), o($V$, [2, 63]), { 66: [1, 270] }, o($V$, [2, 65]), o($V$, [2, 67]), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 72: [1, 271], 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($V$, [2, 69]), o($V$, [2, 70]), o($V$, [2, 72]), o($V$, [2, 71]), o($V$, [2, 73]), o($Vt1, [2, 4]), o([22, 52, 66, 67, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], [2, 81]), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 41: [1, 272], 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 18: 18, 19: 19, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: $Va, 42: [1, 273], 43: 31, 44: $Vb, 46: $Vc, 48: $Vd, 50: 35, 51: 45, 52: $Ve, 54: 46, 66: $Vf, 67: $Vg, 87: $Vh, 88: $Vi, 89: $Vj, 90: $Vk, 91: $Vl, 92: $Vm, 96: $Vn, 106: $Vo, 107: $Vp, 110: $Vq, 112: $Vr, 113: $Vs, 117: 47, 119: $Vt, 120: $Vu, 121: $Vv, 122: $Vw, 123: $Vx, 124: $Vy, 125: $Vz, 126: $VA, 127: $VB, 128: $VC }, o($V_, [2, 56]), o($V11, [2, 116], { 107: $VG1 }), o($VH1, [2, 126], { 109: 275, 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 103: $Vz1, 106: $VA1, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }), o($VI1, [2, 128]), o($VI1, [2, 130]), o($VI1, [2, 131]), o($VI1, [2, 132]), o($VI1, [2, 133]), o($VI1, [2, 134]), o($VI1, [2, 135]), o($VI1, [2, 136]), o($VI1, [2, 137]), o($VI1, [2, 138]), o($VI1, [2, 139]), o($VI1, [2, 140]), o($V11, [2, 117], { 107: $VG1 }), o($V11, [2, 118], { 107: $VG1 }), { 22: [1, 276] }, o($V11, [2, 119], { 107: $VG1 }), { 22: [1, 277] }, o($Vu1, [2, 125]), o($V11, [2, 99], { 107: $VG1 }), o($V11, [2, 100], { 107: $VG1 }), o($V11, [2, 101], { 116: 100, 118: 179, 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }), o($V11, [2, 105]), { 102: [1, 278] }, { 102: [1, 279] }, { 58: [1, 280] }, { 68: [1, 281] }, { 72: [1, 282] }, { 9: 283, 20: $VG, 21: $VH, 23: $VI }, o($VF, [2, 42]), { 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 103: $Vz1, 106: $VA1, 108: 284, 109: 245, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }, o($VI1, [2, 129]), { 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 98: 285, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 98, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 98: 286, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 116: 100, 118: 98, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($V11, [2, 109]), o($V11, [2, 115]), o($V$, [2, 60]), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 39: 287, 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 140, 84: $Vc1, 85: $Vd1, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, o($V$, [2, 68]), o($Vp1, $V5, { 17: 288 }), o($VH1, [2, 127], { 109: 275, 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 103: $Vz1, 106: $VA1, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }), o($V11, [2, 122], { 116: 100, 118: 179, 22: [1, 289], 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }), o($V11, [2, 123], { 116: 100, 118: 179, 22: [1, 290], 26: $VK, 52: $VL, 66: $VM, 67: $VN, 92: $VO, 106: $VP, 107: $VQ, 110: $VR, 112: $VS, 113: $VT, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }), { 22: $V51, 24: $V61, 26: $V71, 38: $V81, 41: [1, 291], 42: $V91, 52: $VL, 66: $VM, 67: $VN, 73: $Va1, 81: $Vb1, 83: 202, 86: 152, 87: $Ve1, 88: $Vf1, 89: $Vg1, 90: $Vh1, 91: $Vi1, 92: $Vj1, 93: $Vk1, 95: 143, 96: $Vl1, 106: $VP, 107: $VQ, 110: $Vm1, 112: $VS, 113: $VT, 114: $Vn1, 115: $Vo1, 116: 149, 123: $VU, 124: $VV, 125: $VW, 126: $VX, 127: $VY, 128: $VZ }, { 18: 18, 19: 19, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: $Va, 42: [1, 292], 43: 31, 44: $Vb, 46: $Vc, 48: $Vd, 50: 35, 51: 45, 52: $Ve, 54: 46, 66: $Vf, 67: $Vg, 87: $Vh, 88: $Vi, 89: $Vj, 90: $Vk, 91: $Vl, 92: $Vm, 96: $Vn, 106: $Vo, 107: $Vp, 110: $Vq, 112: $Vr, 113: $Vs, 117: 47, 119: $Vt, 120: $Vu, 121: $Vv, 122: $Vw, 123: $Vx, 124: $Vy, 125: $Vz, 126: $VA, 127: $VB, 128: $VC }, { 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 97: 293, 103: $Vz1, 106: $VA1, 108: 244, 109: 245, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }, { 22: $Vv1, 66: $Vw1, 67: $Vx1, 87: $Vy1, 97: 294, 103: $Vz1, 106: $VA1, 108: 244, 109: 245, 110: $VB1, 111: $VC1, 112: $VD1, 113: $VE1, 114: $VF1 }, o($V$, [2, 64]), o($VF, [2, 41]), o($V11, [2, 120], { 107: $VG1 }), o($V11, [2, 121], { 107: $VG1 })],
335 defaultActions: { 2: [2, 1], 9: [2, 5], 10: [2, 2], 132: [2, 7] },
336 parseError: function parseError(str, hash) {
337 if (hash.recoverable) {
338 this.trace(str);
339 } else {
340 var error = new Error(str);
341 error.hash = hash;
342 throw error;
343 }
344 },
345 parse: function parse(input) {
346 var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;
347 var args = lstack.slice.call(arguments, 1);
348 var lexer2 = Object.create(this.lexer);
349 var sharedState = { yy: {} };
350 for (var k in this.yy) {
351 if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
352 sharedState.yy[k] = this.yy[k];
353 }
354 }
355 lexer2.setInput(input, sharedState.yy);
356 sharedState.yy.lexer = lexer2;
357 sharedState.yy.parser = this;
358 if (typeof lexer2.yylloc == "undefined") {
359 lexer2.yylloc = {};
360 }
361 var yyloc = lexer2.yylloc;
362 lstack.push(yyloc);
363 var ranges = lexer2.options && lexer2.options.ranges;
364 if (typeof sharedState.yy.parseError === "function") {
365 this.parseError = sharedState.yy.parseError;
366 } else {
367 this.parseError = Object.getPrototypeOf(this).parseError;
368 }
369 function lex2() {
370 var token;
371 token = tstack.pop() || lexer2.lex() || EOF;
372 if (typeof token !== "number") {
373 if (token instanceof Array) {
374 tstack = token;
375 token = tstack.pop();
376 }
377 token = self.symbols_[token] || token;
378 }
379 return token;
380 }
381 var symbol, state, action, r, yyval = {}, p, len, newState, expected;
382 while (true) {
383 state = stack[stack.length - 1];
384 if (this.defaultActions[state]) {
385 action = this.defaultActions[state];
386 } else {
387 if (symbol === null || typeof symbol == "undefined") {
388 symbol = lex2();
389 }
390 action = table[state] && table[state][symbol];
391 }
392 if (typeof action === "undefined" || !action.length || !action[0]) {
393 var errStr = "";
394 expected = [];
395 for (p in table[state]) {
396 if (this.terminals_[p] && p > TERROR) {
397 expected.push("'" + this.terminals_[p] + "'");
398 }
399 }
400 if (lexer2.showPosition) {
401 errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
402 } else {
403 errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
404 }
405 this.parseError(errStr, {
406 text: lexer2.match,
407 token: this.terminals_[symbol] || symbol,
408 line: lexer2.yylineno,
409 loc: yyloc,
410 expected
411 });
412 }
413 if (action[0] instanceof Array && action.length > 1) {
414 throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
415 }
416 switch (action[0]) {
417 case 1:
418 stack.push(symbol);
419 vstack.push(lexer2.yytext);
420 lstack.push(lexer2.yylloc);
421 stack.push(action[1]);
422 symbol = null;
423 {
424 yyleng = lexer2.yyleng;
425 yytext = lexer2.yytext;
426 yylineno = lexer2.yylineno;
427 yyloc = lexer2.yylloc;
428 }
429 break;
430 case 2:
431 len = this.productions_[action[1]][1];
432 yyval.$ = vstack[vstack.length - len];
433 yyval._$ = {
434 first_line: lstack[lstack.length - (len || 1)].first_line,
435 last_line: lstack[lstack.length - 1].last_line,
436 first_column: lstack[lstack.length - (len || 1)].first_column,
437 last_column: lstack[lstack.length - 1].last_column
438 };
439 if (ranges) {
440 yyval._$.range = [
441 lstack[lstack.length - (len || 1)].range[0],
442 lstack[lstack.length - 1].range[1]
443 ];
444 }
445 r = this.performAction.apply(yyval, [
446 yytext,
447 yyleng,
448 yylineno,
449 sharedState.yy,
450 action[1],
451 vstack,
452 lstack
453 ].concat(args));
454 if (typeof r !== "undefined") {
455 return r;
456 }
457 if (len) {
458 stack = stack.slice(0, -1 * len * 2);
459 vstack = vstack.slice(0, -1 * len);
460 lstack = lstack.slice(0, -1 * len);
461 }
462 stack.push(this.productions_[action[1]][0]);
463 vstack.push(yyval.$);
464 lstack.push(yyval._$);
465 newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
466 stack.push(newState);
467 break;
468 case 3:
469 return true;
470 }
471 }
472 return true;
473 }
474 };
475 var lexer = function() {
476 var lexer2 = {
477 EOF: 1,
478 parseError: function parseError(str, hash) {
479 if (this.yy.parser) {
480 this.yy.parser.parseError(str, hash);
481 } else {
482 throw new Error(str);
483 }
484 },
485 // resets the lexer, sets new input
486 setInput: function(input, yy) {
487 this.yy = yy || this.yy || {};
488 this._input = input;
489 this._more = this._backtrack = this.done = false;
490 this.yylineno = this.yyleng = 0;
491 this.yytext = this.matched = this.match = "";
492 this.conditionStack = ["INITIAL"];
493 this.yylloc = {
494 first_line: 1,
495 first_column: 0,
496 last_line: 1,
497 last_column: 0
498 };
499 if (this.options.ranges) {
500 this.yylloc.range = [0, 0];
501 }
502 this.offset = 0;
503 return this;
504 },
505 // consumes and returns one char from the input
506 input: function() {
507 var ch = this._input[0];
508 this.yytext += ch;
509 this.yyleng++;
510 this.offset++;
511 this.match += ch;
512 this.matched += ch;
513 var lines = ch.match(/(?:\r\n?|\n).*/g);
514 if (lines) {
515 this.yylineno++;
516 this.yylloc.last_line++;
517 } else {
518 this.yylloc.last_column++;
519 }
520 if (this.options.ranges) {
521 this.yylloc.range[1]++;
522 }
523 this._input = this._input.slice(1);
524 return ch;
525 },
526 // unshifts one char (or a string) into the input
527 unput: function(ch) {
528 var len = ch.length;
529 var lines = ch.split(/(?:\r\n?|\n)/g);
530 this._input = ch + this._input;
531 this.yytext = this.yytext.substr(0, this.yytext.length - len);
532 this.offset -= len;
533 var oldLines = this.match.split(/(?:\r\n?|\n)/g);
534 this.match = this.match.substr(0, this.match.length - 1);
535 this.matched = this.matched.substr(0, this.matched.length - 1);
536 if (lines.length - 1) {
537 this.yylineno -= lines.length - 1;
538 }
539 var r = this.yylloc.range;
540 this.yylloc = {
541 first_line: this.yylloc.first_line,
542 last_line: this.yylineno + 1,
543 first_column: this.yylloc.first_column,
544 last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
545 };
546 if (this.options.ranges) {
547 this.yylloc.range = [r[0], r[0] + this.yyleng - len];
548 }
549 this.yyleng = this.yytext.length;
550 return this;
551 },
552 // When called from action, caches matched text and appends it on next action
553 more: function() {
554 this._more = true;
555 return this;
556 },
557 // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
558 reject: function() {
559 if (this.options.backtrack_lexer) {
560 this._backtrack = true;
561 } else {
562 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).\n" + this.showPosition(), {
563 text: "",
564 token: null,
565 line: this.yylineno
566 });
567 }
568 return this;
569 },
570 // retain first n characters of the match
571 less: function(n) {
572 this.unput(this.match.slice(n));
573 },
574 // displays already matched input, i.e. for error messages
575 pastInput: function() {
576 var past = this.matched.substr(0, this.matched.length - this.match.length);
577 return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
578 },
579 // displays upcoming input, i.e. for error messages
580 upcomingInput: function() {
581 var next = this.match;
582 if (next.length < 20) {
583 next += this._input.substr(0, 20 - next.length);
584 }
585 return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
586 },
587 // displays the character position where the lexing error occurred, i.e. for error messages
588 showPosition: function() {
589 var pre = this.pastInput();
590 var c = new Array(pre.length + 1).join("-");
591 return pre + this.upcomingInput() + "\n" + c + "^";
592 },
593 // test the lexed token: return FALSE when not a match, otherwise return token
594 test_match: function(match, indexed_rule) {
595 var token, lines, backup;
596 if (this.options.backtrack_lexer) {
597 backup = {
598 yylineno: this.yylineno,
599 yylloc: {
600 first_line: this.yylloc.first_line,
601 last_line: this.last_line,
602 first_column: this.yylloc.first_column,
603 last_column: this.yylloc.last_column
604 },
605 yytext: this.yytext,
606 match: this.match,
607 matches: this.matches,
608 matched: this.matched,
609 yyleng: this.yyleng,
610 offset: this.offset,
611 _more: this._more,
612 _input: this._input,
613 yy: this.yy,
614 conditionStack: this.conditionStack.slice(0),
615 done: this.done
616 };
617 if (this.options.ranges) {
618 backup.yylloc.range = this.yylloc.range.slice(0);
619 }
620 }
621 lines = match[0].match(/(?:\r\n?|\n).*/g);
622 if (lines) {
623 this.yylineno += lines.length;
624 }
625 this.yylloc = {
626 first_line: this.yylloc.last_line,
627 last_line: this.yylineno + 1,
628 first_column: this.yylloc.last_column,
629 last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
630 };
631 this.yytext += match[0];
632 this.match += match[0];
633 this.matches = match;
634 this.yyleng = this.yytext.length;
635 if (this.options.ranges) {
636 this.yylloc.range = [this.offset, this.offset += this.yyleng];
637 }
638 this._more = false;
639 this._backtrack = false;
640 this._input = this._input.slice(match[0].length);
641 this.matched += match[0];
642 token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
643 if (this.done && this._input) {
644 this.done = false;
645 }
646 if (token) {
647 return token;
648 } else if (this._backtrack) {
649 for (var k in backup) {
650 this[k] = backup[k];
651 }
652 return false;
653 }
654 return false;
655 },
656 // return next match in input
657 next: function() {
658 if (this.done) {
659 return this.EOF;
660 }
661 if (!this._input) {
662 this.done = true;
663 }
664 var token, match, tempMatch, index;
665 if (!this._more) {
666 this.yytext = "";
667 this.match = "";
668 }
669 var rules = this._currentRules();
670 for (var i = 0; i < rules.length; i++) {
671 tempMatch = this._input.match(this.rules[rules[i]]);
672 if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
673 match = tempMatch;
674 index = i;
675 if (this.options.backtrack_lexer) {
676 token = this.test_match(tempMatch, rules[i]);
677 if (token !== false) {
678 return token;
679 } else if (this._backtrack) {
680 match = false;
681 continue;
682 } else {
683 return false;
684 }
685 } else if (!this.options.flex) {
686 break;
687 }
688 }
689 }
690 if (match) {
691 token = this.test_match(match, rules[index]);
692 if (token !== false) {
693 return token;
694 }
695 return false;
696 }
697 if (this._input === "") {
698 return this.EOF;
699 } else {
700 return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
701 text: "",
702 token: null,
703 line: this.yylineno
704 });
705 }
706 },
707 // return next match that has a token
708 lex: function lex2() {
709 var r = this.next();
710 if (r) {
711 return r;
712 } else {
713 return this.lex();
714 }
715 },
716 // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
717 begin: function begin(condition) {
718 this.conditionStack.push(condition);
719 },
720 // pop the previously active lexer condition state off the condition stack
721 popState: function popState() {
722 var n = this.conditionStack.length - 1;
723 if (n > 0) {
724 return this.conditionStack.pop();
725 } else {
726 return this.conditionStack[0];
727 }
728 },
729 // produce the lexer rule set which is active for the currently active lexer condition state
730 _currentRules: function _currentRules() {
731 if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
732 return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
733 } else {
734 return this.conditions["INITIAL"].rules;
735 }
736 },
737 // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
738 topState: function topState(n) {
739 n = this.conditionStack.length - 1 - Math.abs(n || 0);
740 if (n >= 0) {
741 return this.conditionStack[n];
742 } else {
743 return "INITIAL";
744 }
745 },
746 // alias for begin(condition)
747 pushState: function pushState(condition) {
748 this.begin(condition);
749 },
750 // return the number of states currently on the stack
751 stateStackSize: function stateStackSize() {
752 return this.conditionStack.length;
753 },
754 options: {},
755 performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
756 switch ($avoiding_name_collisions) {
757 case 0:
758 this.begin("open_directive");
759 return 12;
760 case 1:
761 this.begin("type_directive");
762 return 13;
763 case 2:
764 this.popState();
765 this.begin("arg_directive");
766 return 10;
767 case 3:
768 this.popState();
769 this.popState();
770 return 15;
771 case 4:
772 return 14;
773 case 5:
774 this.begin("acc_title");
775 return 44;
776 case 6:
777 this.popState();
778 return "acc_title_value";
779 case 7:
780 this.begin("acc_descr");
781 return 46;
782 case 8:
783 this.popState();
784 return "acc_descr_value";
785 case 9:
786 this.begin("acc_descr_multiline");
787 break;
788 case 10:
789 this.popState();
790 break;
791 case 11:
792 return "acc_descr_multiline_value";
793 case 12:
794 this.begin("md_string");
795 break;
796 case 13:
797 return "MD_STR";
798 case 14:
799 this.popState();
800 break;
801 case 15:
802 this.begin("string");
803 break;
804 case 16:
805 this.popState();
806 break;
807 case 17:
808 return "STR";
809 case 18:
810 return 87;
811 case 19:
812 return 96;
813 case 20:
814 return 88;
815 case 21:
816 return 105;
817 case 22:
818 return 89;
819 case 23:
820 return 90;
821 case 24:
822 this.begin("href");
823 break;
824 case 25:
825 this.popState();
826 break;
827 case 26:
828 return 101;
829 case 27:
830 this.begin("callbackname");
831 break;
832 case 28:
833 this.popState();
834 break;
835 case 29:
836 this.popState();
837 this.begin("callbackargs");
838 break;
839 case 30:
840 return 99;
841 case 31:
842 this.popState();
843 break;
844 case 32:
845 return 100;
846 case 33:
847 this.begin("click");
848 break;
849 case 34:
850 this.popState();
851 break;
852 case 35:
853 return 91;
854 case 36:
855 if (yy.lex.firstGraph()) {
856 this.begin("dir");
857 }
858 return 24;
859 case 37:
860 if (yy.lex.firstGraph()) {
861 this.begin("dir");
862 }
863 return 24;
864 case 38:
865 if (yy.lex.firstGraph()) {
866 this.begin("dir");
867 }
868 return 24;
869 case 39:
870 return 38;
871 case 40:
872 return 42;
873 case 41:
874 return 102;
875 case 42:
876 return 102;
877 case 43:
878 return 102;
879 case 44:
880 return 102;
881 case 45:
882 this.popState();
883 return 25;
884 case 46:
885 this.popState();
886 return 26;
887 case 47:
888 this.popState();
889 return 26;
890 case 48:
891 this.popState();
892 return 26;
893 case 49:
894 this.popState();
895 return 26;
896 case 50:
897 this.popState();
898 return 26;
899 case 51:
900 this.popState();
901 return 26;
902 case 52:
903 this.popState();
904 return 26;
905 case 53:
906 this.popState();
907 return 26;
908 case 54:
909 this.popState();
910 return 26;
911 case 55:
912 this.popState();
913 return 26;
914 case 56:
915 return 119;
916 case 57:
917 return 120;
918 case 58:
919 return 121;
920 case 59:
921 return 122;
922 case 60:
923 return 106;
924 case 61:
925 return 112;
926 case 62:
927 return 53;
928 case 63:
929 return 67;
930 case 64:
931 return 52;
932 case 65:
933 return 20;
934 case 66:
935 return 107;
936 case 67:
937 return 127;
938 case 68:
939 return 82;
940 case 69:
941 return 82;
942 case 70:
943 return 82;
944 case 71:
945 return 82;
946 case 72:
947 return 81;
948 case 73:
949 return 81;
950 case 74:
951 return 81;
952 case 75:
953 return 59;
954 case 76:
955 return 60;
956 case 77:
957 return 61;
958 case 78:
959 return 62;
960 case 79:
961 return 63;
962 case 80:
963 return 64;
964 case 81:
965 return 65;
966 case 82:
967 return 69;
968 case 83:
969 return 70;
970 case 84:
971 return 55;
972 case 85:
973 return 56;
974 case 86:
975 return 110;
976 case 87:
977 return 113;
978 case 88:
979 return 128;
980 case 89:
981 return 125;
982 case 90:
983 return 114;
984 case 91:
985 return 126;
986 case 92:
987 return 126;
988 case 93:
989 return 115;
990 case 94:
991 return 73;
992 case 95:
993 return 93;
994 case 96:
995 return "SEP";
996 case 97:
997 return 92;
998 case 98:
999 return 66;
1000 case 99:
1001 return 75;
1002 case 100:
1003 return 74;
1004 case 101:
1005 return 77;
1006 case 102:
1007 return 76;
1008 case 103:
1009 return 123;
1010 case 104:
1011 return 124;
1012 case 105:
1013 return 68;
1014 case 106:
1015 return 57;
1016 case 107:
1017 return 58;
1018 case 108:
1019 return 40;
1020 case 109:
1021 return 41;
1022 case 110:
1023 return 71;
1024 case 111:
1025 return 72;
1026 case 112:
1027 return 134;
1028 case 113:
1029 return 21;
1030 case 114:
1031 return 22;
1032 case 115:
1033 return 23;
1034 }
1035 },
1036 rules: [/^(?:%%\{)/, /^(?:((?:(?!\}%%)[^:.])*))/, /^(?::)/, /^(?:\}%%)/, /^(?:((?:(?!\}%%).|\n)*))/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:["][`])/, /^(?:[^`"]+)/, /^(?:[`]["])/, /^(?:["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:style\b)/, /^(?:default\b)/, /^(?:linkStyle\b)/, /^(?:interpolate\b)/, /^(?:classDef\b)/, /^(?:class\b)/, /^(?:href[\s]+["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:click[\s]+)/, /^(?:[\s\n])/, /^(?:[^\s\n]*)/, /^(?:flowchart-elk\b)/, /^(?:graph\b)/, /^(?:flowchart\b)/, /^(?:subgraph\b)/, /^(?:end\b\s*)/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:(\r?\n)*\s*\n)/, /^(?:\s*LR\b)/, /^(?:\s*RL\b)/, /^(?:\s*TB\b)/, /^(?:\s*BT\b)/, /^(?:\s*TD\b)/, /^(?:\s*BR\b)/, /^(?:\s*<)/, /^(?:\s*>)/, /^(?:\s*\^)/, /^(?:\s*v\b)/, /^(?:.*direction\s+TB[^\n]*)/, /^(?:.*direction\s+BT[^\n]*)/, /^(?:.*direction\s+RL[^\n]*)/, /^(?:.*direction\s+LR[^\n]*)/, /^(?:[0-9]+)/, /^(?:#)/, /^(?::::)/, /^(?::)/, /^(?:&)/, /^(?:;)/, /^(?:,)/, /^(?:\*)/, /^(?:\s*[xo<]?--+[-xo>]\s*)/, /^(?:\s*[xo<]?==+[=xo>]\s*)/, /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, /^(?:\s*~~[\~]+\s*)/, /^(?:\s*[xo<]?--\s*)/, /^(?:\s*[xo<]?==\s*)/, /^(?:\s*[xo<]?-\.\s*)/, /^(?:\(-)/, /^(?:-\))/, /^(?:\(\[)/, /^(?:\]\))/, /^(?:\[\[)/, /^(?:\]\])/, /^(?:\[\|)/, /^(?:\[\()/, /^(?:\)\])/, /^(?:\(\(\()/, /^(?:\)\)\))/, /^(?:-)/, /^(?:\.)/, /^(?:[\_])/, /^(?:\+)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:<)/, /^(?:>)/, /^(?:\^)/, /^(?:\\\|)/, /^(?:v\b)/, /^(?:[A-Za-z]+)/, /^(?:\\\])/, /^(?:\[\/)/, /^(?:\/\])/, /^(?:\[\\)/, /^(?:[!"#$%&'*+,-.`?\\_/])/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\|)/, /^(?:\()/, /^(?:\))/, /^(?:\[)/, /^(?:\])/, /^(?:\{)/, /^(?:\})/, /^(?:")/, /^(?:(\r?\n)+)/, /^(?:\s)/, /^(?:$)/],
1037 conditions: { "close_directive": { "rules": [], "inclusive": false }, "arg_directive": { "rules": [3, 4], "inclusive": false }, "type_directive": { "rules": [2, 3], "inclusive": false }, "open_directive": { "rules": [1], "inclusive": false }, "callbackargs": { "rules": [31, 32], "inclusive": false }, "callbackname": { "rules": [28, 29, 30], "inclusive": false }, "href": { "rules": [25, 26], "inclusive": false }, "click": { "rules": [34, 35], "inclusive": false }, "vertex": { "rules": [], "inclusive": false }, "dir": { "rules": [45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55], "inclusive": false }, "acc_descr_multiline": { "rules": [10, 11], "inclusive": false }, "acc_descr": { "rules": [8], "inclusive": false }, "acc_title": { "rules": [6], "inclusive": false }, "md_string": { "rules": [13, 14], "inclusive": false }, "string": { "rules": [16, 17], "inclusive": false }, "INITIAL": { "rules": [0, 5, 7, 9, 12, 15, 18, 19, 20, 21, 22, 23, 24, 27, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "inclusive": true } }
1038 };
1039 return lexer2;
1040 }();
1041 parser2.lexer = lexer;
1042 function Parser() {
1043 this.yy = {};
1044 }
1045 Parser.prototype = parser2;
1046 parser2.Parser = Parser;
1047 return new Parser();
1048}();
1049parser.parser = parser;
1050const parser$1 = parser;
1051const MERMAID_DOM_ID_PREFIX = "flowchart-";
1052let vertexCounter = 0;
1053let config = getConfig();
1054let vertices = {};
1055let edges = [];
1056let classes = {};
1057let subGraphs = [];
1058let subGraphLookup = {};
1059let tooltips = {};
1060let subCount = 0;
1061let firstGraphFlag = true;
1062let direction;
1063let version;
1064let funs = [];
1065const sanitizeText = (txt) => common.sanitizeText(txt, config);
1066const parseDirective = function(statement, context, type) {
1067 mermaidAPI.parseDirective(this, statement, context, type);
1068};
1069const lookUpDomId = function(id) {
1070 const veritceKeys = Object.keys(vertices);
1071 for (const veritceKey of veritceKeys) {
1072 if (vertices[veritceKey].id === id) {
1073 return vertices[veritceKey].domId;
1074 }
1075 }
1076 return id;
1077};
1078const addVertex = function(_id, textObj, type, style, classes2, dir, props = {}) {
1079 let txt;
1080 let id = _id;
1081 if (id === void 0) {
1082 return;
1083 }
1084 if (id.trim().length === 0) {
1085 return;
1086 }
1087 if (vertices[id] === void 0) {
1088 vertices[id] = {
1089 id,
1090 labelType: "text",
1091 domId: MERMAID_DOM_ID_PREFIX + id + "-" + vertexCounter,
1092 styles: [],
1093 classes: []
1094 };
1095 }
1096 vertexCounter++;
1097 if (textObj !== void 0) {
1098 config = getConfig();
1099 txt = sanitizeText(textObj.text.trim());
1100 vertices[id].labelType = textObj.type;
1101 if (txt[0] === '"' && txt[txt.length - 1] === '"') {
1102 txt = txt.substring(1, txt.length - 1);
1103 }
1104 vertices[id].text = txt;
1105 } else {
1106 if (vertices[id].text === void 0) {
1107 vertices[id].text = _id;
1108 }
1109 }
1110 if (type !== void 0) {
1111 vertices[id].type = type;
1112 }
1113 if (style !== void 0 && style !== null) {
1114 style.forEach(function(s) {
1115 vertices[id].styles.push(s);
1116 });
1117 }
1118 if (classes2 !== void 0 && classes2 !== null) {
1119 classes2.forEach(function(s) {
1120 vertices[id].classes.push(s);
1121 });
1122 }
1123 if (dir !== void 0) {
1124 vertices[id].dir = dir;
1125 }
1126 if (vertices[id].props === void 0) {
1127 vertices[id].props = props;
1128 } else if (props !== void 0) {
1129 Object.assign(vertices[id].props, props);
1130 }
1131};
1132const addSingleLink = function(_start, _end, type) {
1133 let start = _start;
1134 let end = _end;
1135 const edge = { start, end, type: void 0, text: "", labelType: "text" };
1136 log.info("abc78 Got edge...", edge);
1137 const linkTextObj = type.text;
1138 if (linkTextObj !== void 0) {
1139 edge.text = sanitizeText(linkTextObj.text.trim());
1140 if (edge.text[0] === '"' && edge.text[edge.text.length - 1] === '"') {
1141 edge.text = edge.text.substring(1, edge.text.length - 1);
1142 }
1143 edge.labelType = linkTextObj.type;
1144 }
1145 if (type !== void 0) {
1146 edge.type = type.type;
1147 edge.stroke = type.stroke;
1148 edge.length = type.length;
1149 }
1150 edges.push(edge);
1151};
1152const addLink = function(_start, _end, type) {
1153 log.info("addLink (abc78)", _start, _end, type);
1154 let i, j;
1155 for (i = 0; i < _start.length; i++) {
1156 for (j = 0; j < _end.length; j++) {
1157 addSingleLink(_start[i], _end[j], type);
1158 }
1159 }
1160};
1161const updateLinkInterpolate = function(positions, interp) {
1162 positions.forEach(function(pos) {
1163 if (pos === "default") {
1164 edges.defaultInterpolate = interp;
1165 } else {
1166 edges[pos].interpolate = interp;
1167 }
1168 });
1169};
1170const updateLink = function(positions, style) {
1171 positions.forEach(function(pos) {
1172 if (pos === "default") {
1173 edges.defaultStyle = style;
1174 } else {
1175 if (utils.isSubstringInArray("fill", style) === -1) {
1176 style.push("fill:none");
1177 }
1178 edges[pos].style = style;
1179 }
1180 });
1181};
1182const addClass = function(id, style) {
1183 if (classes[id] === void 0) {
1184 classes[id] = { id, styles: [], textStyles: [] };
1185 }
1186 if (style !== void 0 && style !== null) {
1187 style.forEach(function(s) {
1188 if (s.match("color")) {
1189 const newStyle1 = s.replace("fill", "bgFill");
1190 const newStyle2 = newStyle1.replace("color", "fill");
1191 classes[id].textStyles.push(newStyle2);
1192 }
1193 classes[id].styles.push(s);
1194 });
1195 }
1196};
1197const setDirection = function(dir) {
1198 direction = dir;
1199 if (direction.match(/.*</)) {
1200 direction = "RL";
1201 }
1202 if (direction.match(/.*\^/)) {
1203 direction = "BT";
1204 }
1205 if (direction.match(/.*>/)) {
1206 direction = "LR";
1207 }
1208 if (direction.match(/.*v/)) {
1209 direction = "TB";
1210 }
1211 if (direction === "TD") {
1212 direction = "TB";
1213 }
1214};
1215const setClass = function(ids, className) {
1216 ids.split(",").forEach(function(_id) {
1217 let id = _id;
1218 if (vertices[id] !== void 0) {
1219 vertices[id].classes.push(className);
1220 }
1221 if (subGraphLookup[id] !== void 0) {
1222 subGraphLookup[id].classes.push(className);
1223 }
1224 });
1225};
1226const setTooltip = function(ids, tooltip) {
1227 ids.split(",").forEach(function(id) {
1228 if (tooltip !== void 0) {
1229 tooltips[version === "gen-1" ? lookUpDomId(id) : id] = sanitizeText(tooltip);
1230 }
1231 });
1232};
1233const setClickFun = function(id, functionName, functionArgs) {
1234 let domId = lookUpDomId(id);
1235 if (getConfig().securityLevel !== "loose") {
1236 return;
1237 }
1238 if (functionName === void 0) {
1239 return;
1240 }
1241 let argList = [];
1242 if (typeof functionArgs === "string") {
1243 argList = functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
1244 for (let i = 0; i < argList.length; i++) {
1245 let item = argList[i].trim();
1246 if (item.charAt(0) === '"' && item.charAt(item.length - 1) === '"') {
1247 item = item.substr(1, item.length - 2);
1248 }
1249 argList[i] = item;
1250 }
1251 }
1252 if (argList.length === 0) {
1253 argList.push(id);
1254 }
1255 if (vertices[id] !== void 0) {
1256 vertices[id].haveCallback = true;
1257 funs.push(function() {
1258 const elem = document.querySelector(`[id="${domId}"]`);
1259 if (elem !== null) {
1260 elem.addEventListener(
1261 "click",
1262 function() {
1263 utils.runFunc(functionName, ...argList);
1264 },
1265 false
1266 );
1267 }
1268 });
1269 }
1270};
1271const setLink = function(ids, linkStr, target) {
1272 ids.split(",").forEach(function(id) {
1273 if (vertices[id] !== void 0) {
1274 vertices[id].link = utils.formatUrl(linkStr, config);
1275 vertices[id].linkTarget = target;
1276 }
1277 });
1278 setClass(ids, "clickable");
1279};
1280const getTooltip = function(id) {
1281 return tooltips[id];
1282};
1283const setClickEvent = function(ids, functionName, functionArgs) {
1284 ids.split(",").forEach(function(id) {
1285 setClickFun(id, functionName, functionArgs);
1286 });
1287 setClass(ids, "clickable");
1288};
1289const bindFunctions = function(element) {
1290 funs.forEach(function(fun) {
1291 fun(element);
1292 });
1293};
1294const getDirection = function() {
1295 return direction.trim();
1296};
1297const getVertices = function() {
1298 return vertices;
1299};
1300const getEdges = function() {
1301 return edges;
1302};
1303const getClasses = function() {
1304 return classes;
1305};
1306const setupToolTips = function(element) {
1307 let tooltipElem = select(".mermaidTooltip");
1308 if ((tooltipElem._groups || tooltipElem)[0][0] === null) {
1309 tooltipElem = select("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0);
1310 }
1311 const svg = select(element).select("svg");
1312 const nodes = svg.selectAll("g.node");
1313 nodes.on("mouseover", function() {
1314 const el = select(this);
1315 const title = el.attr("title");
1316 if (title === null) {
1317 return;
1318 }
1319 const rect = this.getBoundingClientRect();
1320 tooltipElem.transition().duration(200).style("opacity", ".9");
1321 tooltipElem.text(el.attr("title")).style("left", window.scrollX + rect.left + (rect.right - rect.left) / 2 + "px").style("top", window.scrollY + rect.top - 14 + document.body.scrollTop + "px");
1322 tooltipElem.html(tooltipElem.html().replace(/&lt;br\/&gt;/g, "<br/>"));
1323 el.classed("hover", true);
1324 }).on("mouseout", function() {
1325 tooltipElem.transition().duration(500).style("opacity", 0);
1326 const el = select(this);
1327 el.classed("hover", false);
1328 });
1329};
1330funs.push(setupToolTips);
1331const clear = function(ver = "gen-1") {
1332 vertices = {};
1333 classes = {};
1334 edges = [];
1335 funs = [setupToolTips];
1336 subGraphs = [];
1337 subGraphLookup = {};
1338 subCount = 0;
1339 tooltips = [];
1340 firstGraphFlag = true;
1341 version = ver;
1342 clear$1();
1343};
1344const setGen = (ver) => {
1345 version = ver || "gen-2";
1346};
1347const defaultStyle = function() {
1348 return "fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;";
1349};
1350const addSubGraph = function(_id, list, _title) {
1351 let id = _id.text.trim();
1352 let title = _title.text;
1353 if (_id === _title && _title.text.match(/\s/)) {
1354 id = void 0;
1355 }
1356 function uniq(a) {
1357 const prims = { boolean: {}, number: {}, string: {} };
1358 const objs = [];
1359 let dir2;
1360 const nodeList2 = a.filter(function(item) {
1361 const type = typeof item;
1362 if (item.stmt && item.stmt === "dir") {
1363 dir2 = item.value;
1364 return false;
1365 }
1366 if (item.trim() === "") {
1367 return false;
1368 }
1369 if (type in prims) {
1370 return prims[type].hasOwnProperty(item) ? false : prims[type][item] = true;
1371 } else {
1372 return objs.includes(item) ? false : objs.push(item);
1373 }
1374 });
1375 return { nodeList: nodeList2, dir: dir2 };
1376 }
1377 let nodeList = [];
1378 const { nodeList: nl, dir } = uniq(nodeList.concat.apply(nodeList, list));
1379 nodeList = nl;
1380 if (version === "gen-1") {
1381 for (let i = 0; i < nodeList.length; i++) {
1382 nodeList[i] = lookUpDomId(nodeList[i]);
1383 }
1384 }
1385 id = id || "subGraph" + subCount;
1386 title = title || "";
1387 title = sanitizeText(title);
1388 subCount = subCount + 1;
1389 const subGraph = {
1390 id,
1391 nodes: nodeList,
1392 title: title.trim(),
1393 classes: [],
1394 dir,
1395 labelType: _title.type
1396 };
1397 log.info("Adding", subGraph.id, subGraph.nodes, subGraph.dir);
1398 subGraph.nodes = makeUniq(subGraph, subGraphs).nodes;
1399 subGraphs.push(subGraph);
1400 subGraphLookup[id] = subGraph;
1401 return id;
1402};
1403const getPosForId = function(id) {
1404 for (const [i, subGraph] of subGraphs.entries()) {
1405 if (subGraph.id === id) {
1406 return i;
1407 }
1408 }
1409 return -1;
1410};
1411let secCount = -1;
1412const posCrossRef = [];
1413const indexNodes2 = function(id, pos) {
1414 const nodes = subGraphs[pos].nodes;
1415 secCount = secCount + 1;
1416 if (secCount > 2e3) {
1417 return;
1418 }
1419 posCrossRef[secCount] = pos;
1420 if (subGraphs[pos].id === id) {
1421 return {
1422 result: true,
1423 count: 0
1424 };
1425 }
1426 let count = 0;
1427 let posCount = 1;
1428 while (count < nodes.length) {
1429 const childPos = getPosForId(nodes[count]);
1430 if (childPos >= 0) {
1431 const res = indexNodes2(id, childPos);
1432 if (res.result) {
1433 return {
1434 result: true,
1435 count: posCount + res.count
1436 };
1437 } else {
1438 posCount = posCount + res.count;
1439 }
1440 }
1441 count = count + 1;
1442 }
1443 return {
1444 result: false,
1445 count: posCount
1446 };
1447};
1448const getDepthFirstPos = function(pos) {
1449 return posCrossRef[pos];
1450};
1451const indexNodes = function() {
1452 secCount = -1;
1453 if (subGraphs.length > 0) {
1454 indexNodes2("none", subGraphs.length - 1);
1455 }
1456};
1457const getSubGraphs = function() {
1458 return subGraphs;
1459};
1460const firstGraph = () => {
1461 if (firstGraphFlag) {
1462 firstGraphFlag = false;
1463 return true;
1464 }
1465 return false;
1466};
1467const destructStartLink = (_str) => {
1468 let str = _str.trim();
1469 let type = "arrow_open";
1470 switch (str[0]) {
1471 case "<":
1472 type = "arrow_point";
1473 str = str.slice(1);
1474 break;
1475 case "x":
1476 type = "arrow_cross";
1477 str = str.slice(1);
1478 break;
1479 case "o":
1480 type = "arrow_circle";
1481 str = str.slice(1);
1482 break;
1483 }
1484 let stroke = "normal";
1485 if (str.includes("=")) {
1486 stroke = "thick";
1487 }
1488 if (str.includes(".")) {
1489 stroke = "dotted";
1490 }
1491 return { type, stroke };
1492};
1493const countChar = (char, str) => {
1494 const length = str.length;
1495 let count = 0;
1496 for (let i = 0; i < length; ++i) {
1497 if (str[i] === char) {
1498 ++count;
1499 }
1500 }
1501 return count;
1502};
1503const destructEndLink = (_str) => {
1504 const str = _str.trim();
1505 let line = str.slice(0, -1);
1506 let type = "arrow_open";
1507 switch (str.slice(-1)) {
1508 case "x":
1509 type = "arrow_cross";
1510 if (str[0] === "x") {
1511 type = "double_" + type;
1512 line = line.slice(1);
1513 }
1514 break;
1515 case ">":
1516 type = "arrow_point";
1517 if (str[0] === "<") {
1518 type = "double_" + type;
1519 line = line.slice(1);
1520 }
1521 break;
1522 case "o":
1523 type = "arrow_circle";
1524 if (str[0] === "o") {
1525 type = "double_" + type;
1526 line = line.slice(1);
1527 }
1528 break;
1529 }
1530 let stroke = "normal";
1531 let length = line.length - 1;
1532 if (line[0] === "=") {
1533 stroke = "thick";
1534 }
1535 if (line[0] === "~") {
1536 stroke = "invisible";
1537 }
1538 let dots = countChar(".", line);
1539 if (dots) {
1540 stroke = "dotted";
1541 length = dots;
1542 }
1543 return { type, stroke, length };
1544};
1545const destructLink = (_str, _startStr) => {
1546 const info = destructEndLink(_str);
1547 let startInfo;
1548 if (_startStr) {
1549 startInfo = destructStartLink(_startStr);
1550 if (startInfo.stroke !== info.stroke) {
1551 return { type: "INVALID", stroke: "INVALID" };
1552 }
1553 if (startInfo.type === "arrow_open") {
1554 startInfo.type = info.type;
1555 } else {
1556 if (startInfo.type !== info.type) {
1557 return { type: "INVALID", stroke: "INVALID" };
1558 }
1559 startInfo.type = "double_" + startInfo.type;
1560 }
1561 if (startInfo.type === "double_arrow") {
1562 startInfo.type = "double_arrow_point";
1563 }
1564 startInfo.length = info.length;
1565 return startInfo;
1566 }
1567 return info;
1568};
1569const exists = (allSgs, _id) => {
1570 let res = false;
1571 allSgs.forEach((sg) => {
1572 const pos = sg.nodes.indexOf(_id);
1573 if (pos >= 0) {
1574 res = true;
1575 }
1576 });
1577 return res;
1578};
1579const makeUniq = (sg, allSubgraphs) => {
1580 const res = [];
1581 sg.nodes.forEach((_id, pos) => {
1582 if (!exists(allSubgraphs, _id)) {
1583 res.push(sg.nodes[pos]);
1584 }
1585 });
1586 return { nodes: res };
1587};
1588const lex = {
1589 firstGraph
1590};
1591const flowDb = {
1592 parseDirective,
1593 defaultConfig: () => defaultConfig.flowchart,
1594 setAccTitle,
1595 getAccTitle,
1596 getAccDescription,
1597 setAccDescription,
1598 addVertex,
1599 lookUpDomId,
1600 addLink,
1601 updateLinkInterpolate,
1602 updateLink,
1603 addClass,
1604 setDirection,
1605 setClass,
1606 setTooltip,
1607 getTooltip,
1608 setClickEvent,
1609 setLink,
1610 bindFunctions,
1611 getDirection,
1612 getVertices,
1613 getEdges,
1614 getClasses,
1615 clear,
1616 setGen,
1617 defaultStyle,
1618 addSubGraph,
1619 getDepthFirstPos,
1620 indexNodes,
1621 getSubGraphs,
1622 destructLink,
1623 lex,
1624 exists,
1625 makeUniq,
1626 setDiagramTitle,
1627 getDiagramTitle
1628};
1629const db = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1630 __proto__: null,
1631 addClass,
1632 addLink,
1633 addSingleLink,
1634 addSubGraph,
1635 addVertex,
1636 bindFunctions,
1637 clear,
1638 default: flowDb,
1639 defaultStyle,
1640 destructLink,
1641 firstGraph,
1642 getClasses,
1643 getDepthFirstPos,
1644 getDirection,
1645 getEdges,
1646 getSubGraphs,
1647 getTooltip,
1648 getVertices,
1649 indexNodes,
1650 lex,
1651 lookUpDomId,
1652 parseDirective,
1653 setClass,
1654 setClickEvent,
1655 setDirection,
1656 setGen,
1657 setLink,
1658 updateLink,
1659 updateLinkInterpolate
1660}, Symbol.toStringTag, { value: "Module" }));
1661export {
1662 db as d,
1663 flowDb as f,
1664 parser$1 as p
1665};