filecat 7.7.4 → 7.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/build/dist/1045.0e4bdc838c37771a7f50.js +1 -0
  2. package/build/dist/1075.40103ec059c6b23b056e.js +1 -0
  3. package/build/dist/1128.b80776fbdbdda36034c3.js +1 -0
  4. package/build/dist/1388.1dcf844b452e3aae3dc0.js +1 -0
  5. package/build/dist/1417.7e511043474084a2a65b.js +1 -0
  6. package/build/dist/1671.fb137d27b5763953487e.js +1 -0
  7. package/build/dist/{6887.93191dae462af3692775.js → 1738.b8ab2bd79df131e60051.js} +1 -1
  8. package/build/dist/1802.e43e833638f6ba8e22d7.js +1 -0
  9. package/build/dist/1964.bd3d684b50aa5191b413.js +1 -0
  10. package/build/dist/200.bb7f6ce5543bd7ff6d97.js +1 -0
  11. package/build/dist/2105.e4ba1c1d506b3fe14e8e.js +1 -0
  12. package/build/dist/2122.bc10dcdbbfc38e0ef883.js +1 -0
  13. package/build/dist/{3457.18b45379d8bcf7f5f3b5.js → 2180.df641ebaead77c4ada71.js} +1 -1
  14. package/build/dist/2300.9e1baa1c0368abe53d96.js +2 -0
  15. package/build/dist/2479.dcc88b3370f0f1d66e02.js +1 -0
  16. package/build/dist/2572.8fdddfebb4da2f29dbd8.js +1 -0
  17. package/build/dist/2674.7fd28dae86ccdb247851.js +1 -0
  18. package/build/dist/{1001.44a1a25c7d6d3f294bf3.js → 2822.9417e764a14f8f5f57dc.js} +1 -1
  19. package/build/dist/2994.c492be0d907fa468a9be.js +1 -0
  20. package/build/dist/{3140.b078ec311f99170b7f4c.js → 3140.794a212da633caf38b3a.js} +2 -2
  21. package/build/dist/3230.7798ab546facfa058b34.js +1 -0
  22. package/build/dist/3283.9386fc7f67aef46604fb.js +1 -0
  23. package/build/dist/{3299.9bd4cf5d1679479639a8.js → 3299.f37767d30b6999df4014.js} +1 -1
  24. package/build/dist/3300.b8a3bc571293a6280ed8.js +1 -0
  25. package/build/dist/{3402.d412940350051a52d7ac.js → 3402.b6dc28d2f9bace7cde85.js} +1 -1
  26. package/build/dist/3509.cbcb309fbf49db53229f.js +1 -0
  27. package/build/dist/{3727.b8d9cbae9de47bf8d49b.js → 3510.b975b8bfdee5e8518215.js} +1 -1
  28. package/build/dist/{587.c75ed69a8373139346f9.js → 3566.ba323afadcf41fad2fa7.js} +1 -1
  29. package/build/dist/3608.aff9429024b740ac5cd0.js +1 -0
  30. package/build/dist/3990.5e16453f57b90b01d539.js +1 -0
  31. package/build/dist/4004.5d68418ad5c2321cb11f.js +1 -0
  32. package/build/dist/4061.c0eb5824eeb6a59fa827.js +1 -0
  33. package/build/dist/4220.b65b40382726a69ba0bc.js +1 -0
  34. package/build/dist/{3883.70d42c3a335d6833f07e.js → 4376.b022a792fb34fbe50398.js} +1 -1
  35. package/build/dist/4469.536491f90535e831ce3e.js +1 -0
  36. package/build/dist/453.8877eb10f13258c290bc.js +1 -0
  37. package/build/dist/4560.8ef2e4b60cc86d019dd6.js +1 -0
  38. package/build/dist/4735.838cd0f656bbf7d99ff6.js +1 -0
  39. package/build/dist/4772.9b95c402a4def0f576e3.js +1 -0
  40. package/build/dist/{4903.407cafe944a297471f5a.js → 4903.b5451ed0802b3f7c07b2.js} +1 -1
  41. package/build/dist/4985.44cb7d829ca477e368b8.js +1 -0
  42. package/build/dist/5516.645e4a900df9bdc1806c.js +1 -0
  43. package/build/dist/5526.6b4867751becda056ed8.js +1 -0
  44. package/build/dist/5617.8efc3b1d218f80df9b39.js +1 -0
  45. package/build/dist/5744.e9f1efb88a617b05b709.js +1 -0
  46. package/build/dist/583.cef46d6b21c6fa6454cf.js +1 -0
  47. package/build/dist/6010.5400c344149450c83284.js +1 -0
  48. package/build/dist/6089.6d5d19a327284ff3b11c.js +1 -0
  49. package/build/dist/6164.7dae9989dd129479f952.js +1 -0
  50. package/build/dist/6284.10deb80685728f50aa45.js +1 -0
  51. package/build/dist/629.b75b024aacc43e0d69cf.js +1 -0
  52. package/build/dist/6344.291e5dadc74e62739774.js +1 -0
  53. package/build/dist/6492.3ee4060598de873d8e8f.js +1 -0
  54. package/build/dist/6571.b381c44055704e3ba649.js +1 -0
  55. package/build/dist/6731.6763296ce5ae210bc0fe.js +1 -0
  56. package/build/dist/6759.f88b50c41207cb8345d1.js +1 -0
  57. package/build/dist/{4951.88718d978aea2dd40006.js → 6789.34921a30c8a81f0a6407.js} +1 -1
  58. package/build/dist/6800.ee99fd0a88b6acbaaf2c.js +1 -0
  59. package/build/dist/6803.fe4297b1e51c3bfc7f50.js +1 -0
  60. package/build/dist/{313.d51fc773856f078487ad.js → 6806.9ebf089eba60f3b8e946.js} +1 -1
  61. package/build/dist/7038.4e4fc8e405c56d3080e2.js +1 -0
  62. package/build/dist/7310.bf944d03f24fcf109680.js +1 -0
  63. package/build/dist/{359.1b95bd6368196ccaa731.js → 7430.25bf8437ad8f7c1fd36f.js} +1 -1
  64. package/build/dist/7483.5e26ada69b33418c31a8.js +1 -0
  65. package/build/dist/{4087.4796ff56340985c35542.js → 7486.fe0b5f867c08b40a3360.js} +1 -1
  66. package/build/dist/7567.09e1b34ad9bd3e463eb4.js +1 -0
  67. package/build/dist/7834.7a593dcb80ca09f58586.js +1 -0
  68. package/build/dist/784.48a3b71205680f427109.js +1 -0
  69. package/build/dist/7943.19d2de387eeb7f513d8e.js +1 -0
  70. package/build/dist/8014.28b5cf8c3787dc829aa4.js +1 -0
  71. package/build/dist/8079.f6f2be43e5d933ae1f6f.js +1 -0
  72. package/build/dist/{8302.c1c381630b4ec76bf8ab.js → 8302.5ae5bfe8baa0084204bb.js} +1 -1
  73. package/build/dist/8677.860320b7f36947e57d11.js +1 -0
  74. package/build/dist/8727.3628c746061aed7a4077.js +1 -0
  75. package/build/dist/8781.58f0c51870d3dd2689d7.js +1 -0
  76. package/build/dist/9299.6c06dad1abe098b61766.js +1 -0
  77. package/build/dist/9324.ef229da9b943484298ba.js +1 -0
  78. package/build/dist/9364.d2570d78afc50fe1b23e.js +1 -0
  79. package/build/dist/9463.2629a7daf4c2865b9b96.js +1 -0
  80. package/build/dist/index.html +1 -1
  81. package/build/dist/main.3a12152528aff6ae213a.js +2 -0
  82. package/build/main.js +1 -1
  83. package/package.json +4 -5
  84. package/build/dist/1075.3ef2e1902e9f7e9e37b1.js +0 -1
  85. package/build/dist/1312.199a506fb836a2412255.js +0 -1
  86. package/build/dist/136.e3bb3c50051edb17454d.js +0 -1
  87. package/build/dist/1478.c58a43bb24820a13eaed.js +0 -1
  88. package/build/dist/1491.901cce0168c42ad319fa.js +0 -1
  89. package/build/dist/1566.4f405afd26063b55129c.js +0 -1
  90. package/build/dist/161.98f6c2a50bf3824a6efb.js +0 -1
  91. package/build/dist/1654.a21a099e2749ef167ea9.js +0 -1
  92. package/build/dist/1875.46dd3a6cc071d45a32f1.js +0 -1
  93. package/build/dist/1883.14c90bbe93fe206906f0.js +0 -1
  94. package/build/dist/1924.c7bd2a2aa0e9bc78c9ba.js +0 -1
  95. package/build/dist/2000.f55ddba9e6313243f028.js +0 -1
  96. package/build/dist/2101.d4efa6a2c1e9169d9225.js +0 -1
  97. package/build/dist/2180.60fe32ab12c2fa1570a4.js +0 -1
  98. package/build/dist/2191.4c4f2fd5127168a81877.js +0 -1
  99. package/build/dist/2213.ceffb8fd7be66b35d079.js +0 -1
  100. package/build/dist/2463.6e530d1e9b5c58dba166.js +0 -1
  101. package/build/dist/2623.8b1e5e391dd4e05fc119.js +0 -1
  102. package/build/dist/2674.3713c09449bdd57b1066.js +0 -1
  103. package/build/dist/2894.8395ec5e280cc6b6c4dc.js +0 -1
  104. package/build/dist/3042.f490cfa4208208262398.js +0 -1
  105. package/build/dist/3096.d0b2c77a23418c545c01.js +0 -1
  106. package/build/dist/311.da79ace98b69a635c41c.js +0 -1
  107. package/build/dist/3166.088cf4a0356c3a6e30a0.js +0 -1
  108. package/build/dist/3357.4f1bf81ecc3c11a3f813.js +0 -1
  109. package/build/dist/3475.d10d21b637761d7d886d.js +0 -1
  110. package/build/dist/3708.04401b24d95214d641e5.js +0 -1
  111. package/build/dist/3752.01fc1f14b29f340e41fd.js +0 -1
  112. package/build/dist/3871.7a387a9dc21883d08423.js +0 -1
  113. package/build/dist/3994.19fb81947d65fc81b0a2.js +0 -1
  114. package/build/dist/4012.b516fdc981e55be2ebb2.js +0 -1
  115. package/build/dist/4122.9ea6b5dd8dc9d2265825.js +0 -1
  116. package/build/dist/4141.06960673a6a484e7b88d.js +0 -1
  117. package/build/dist/4190.ff72264b4f07f6542d33.js +0 -1
  118. package/build/dist/4239.1b49d7c26192fb637d57.js +0 -1
  119. package/build/dist/4288.8dc8f5d962720e084952.js +0 -1
  120. package/build/dist/434.04cdc2a05316f92d1d38.js +0 -1
  121. package/build/dist/4376.f3c60897f70dd4e33d2f.js +0 -1
  122. package/build/dist/4472.9e708dd3e1c9db7d7396.js +0 -1
  123. package/build/dist/4473.b42b37616f13be64199b.js +0 -1
  124. package/build/dist/449.3fd75e05da22fe1c5ecc.js +0 -1
  125. package/build/dist/452.4974390f4f4d991216e5.js +0 -1
  126. package/build/dist/4547.36b5848220c04c47bc80.js +0 -1
  127. package/build/dist/4605.ef0f4204b3bf3a18efa6.js +0 -1
  128. package/build/dist/4804.fbd0ffcf57d9dffc15b7.js +0 -1
  129. package/build/dist/482.0c7512372a1fbf61d704.js +0 -1
  130. package/build/dist/4963.22d7db9b376a42d3f00b.js +0 -1
  131. package/build/dist/5097.a0de16bf7b90a8b1157d.js +0 -1
  132. package/build/dist/5123.d9ed79af478b5cc4f1b2.js +0 -1
  133. package/build/dist/5332.8b6e85d8764e907a01d5.js +0 -1
  134. package/build/dist/536.660d866952b46ba53180.js +0 -1
  135. package/build/dist/548.d3d912d0c0c7e835e1dc.js +0 -1
  136. package/build/dist/5516.cc92dfbf06ddcd133dbc.js +0 -1
  137. package/build/dist/5590.585778da623ec71f7722.js +0 -1
  138. package/build/dist/5616.14df0fe505c4dadf4042.js +0 -1
  139. package/build/dist/5695.95dc69f3b02812eb9e93.js +0 -1
  140. package/build/dist/5697.6ac62f99ca19a979f1eb.js +0 -1
  141. package/build/dist/5741.237d817efc942de875e5.js +0 -1
  142. package/build/dist/5849.d26365d4b19533db6fd6.js +0 -1
  143. package/build/dist/5902.3969a79465383ff4bbb4.js +0 -1
  144. package/build/dist/5942.981e03467a3b2c653ab8.js +0 -1
  145. package/build/dist/6010.2da6f8c2fce5292557cb.js +0 -1
  146. package/build/dist/6029.63e4beb66df7afc65a90.js +0 -1
  147. package/build/dist/6054.f91307b52046172fc5f8.js +0 -1
  148. package/build/dist/6089.0863a6a09be2b97e84e1.js +0 -1
  149. package/build/dist/6095.d845e356a4db8a241cdb.js +0 -1
  150. package/build/dist/6114.ca67e88c701691b3bb1e.js +0 -1
  151. package/build/dist/612.74d77e32957a5c6eb197.js +0 -1
  152. package/build/dist/625.d9e531476b3306e0b837.js +0 -1
  153. package/build/dist/6318.66541f9cef18d14ea3ea.js +0 -1
  154. package/build/dist/6455.5c950f6eb61015409eb6.js +0 -1
  155. package/build/dist/6527.436d2d5d81376e6a54ae.js +0 -1
  156. package/build/dist/6530.2f1b283a902603262048.js +0 -1
  157. package/build/dist/6610.b92f337fcc1b347350fb.js +0 -1
  158. package/build/dist/6926.2786af754adcdabfbede.js +0 -1
  159. package/build/dist/697.62f8b1ec6d2cd40ed316.js +0 -1
  160. package/build/dist/70.be2f9130c93c4175d12f.js +0 -1
  161. package/build/dist/7081.9e1e196fecfcccb4bfb9.js +0 -1
  162. package/build/dist/7128.3573ab2a5f28b79ba89e.js +0 -1
  163. package/build/dist/7163.ad09accaa87e565b8dc0.js +0 -1
  164. package/build/dist/72.a1d87dabb7f0615b3a21.js +0 -1
  165. package/build/dist/7229.50a1700104d1e4732735.js +0 -1
  166. package/build/dist/7332.d024ae75a3da2f7674a1.js +0 -1
  167. package/build/dist/7509.370c49d7ff43e289190c.js +0 -1
  168. package/build/dist/7514.dbf525bade6ffbd70af6.js +0 -2
  169. package/build/dist/7557.7d62939c56391a647067.js +0 -1
  170. package/build/dist/7588.2d840229f62de92b22e5.js +0 -1
  171. package/build/dist/7632.5660653552f755580adc.js +0 -1
  172. package/build/dist/7639.b3c6382de2fde652a40b.js +0 -1
  173. package/build/dist/779.91614fabf5c9eb3aafa0.js +0 -1
  174. package/build/dist/7810.979796e8a3aad6d4d72f.js +0 -1
  175. package/build/dist/7897.8b8070d6abe5c2327168.js +0 -1
  176. package/build/dist/7941.dbef0b0f412899800b13.js +0 -1
  177. package/build/dist/7953.5cd280effe2e967ea490.js +0 -1
  178. package/build/dist/7954.efecc100b407af204add.js +0 -1
  179. package/build/dist/7959.e31a21f28ff463d9d5e9.js +0 -1
  180. package/build/dist/8034.301f1099c4a7ce6c2829.js +0 -1
  181. package/build/dist/8080.e1c9af30bdd818b08c6e.js +0 -1
  182. package/build/dist/8087.6452b67614a0855535a4.js +0 -1
  183. package/build/dist/8140.bbccc589b007f9d410d1.js +0 -1
  184. package/build/dist/8162.e47cccbe327b26a2ea6f.js +0 -1
  185. package/build/dist/8322.56c8f4b4ad93b1a866c8.js +0 -1
  186. package/build/dist/8376.01a9f23ba06a78922364.js +0 -1
  187. package/build/dist/8433.e54d57e2cc9408e5e411.js +0 -1
  188. package/build/dist/8460.25f0859cb2266f764113.js +0 -1
  189. package/build/dist/8524.7945bff0063dc5c5903d.js +0 -1
  190. package/build/dist/8782.a5498372f1eb6bab41b7.js +0 -1
  191. package/build/dist/8953.23fe6fe13b28168428d3.js +0 -1
  192. package/build/dist/8964.bdf168262ab40956654a.js +0 -1
  193. package/build/dist/9003.69a0d15e722e1ed455b0.js +0 -1
  194. package/build/dist/9299.c2699815e5339e4045f8.js +0 -1
  195. package/build/dist/9385.2b1afe7b55d4c16f97ad.js +0 -1
  196. package/build/dist/9428.3176bab8f5780f060d51.js +0 -1
  197. package/build/dist/9456.506d55e351dec4f45566.js +0 -1
  198. package/build/dist/9465.8ff5871fb708cf7c1021.js +0 -1
  199. package/build/dist/9500.95d19d78b580734ec35e.js +0 -1
  200. package/build/dist/9512.03215278f26dc63c056d.js +0 -1
  201. package/build/dist/9614.cfdbe03d8e2960b0a53a.js +0 -1
  202. package/build/dist/9651.6bf3e34362f10c1aa35d.js +0 -1
  203. package/build/dist/9788.4a1c2f3626e532d3b44c.js +0 -1
  204. package/build/dist/9943.b62436bd9d0730c715a9.js +0 -1
  205. package/build/dist/9967.216bc8d26440bcbaf785.js +0 -1
  206. package/build/dist/9970.aa60aa700a790ba226f0.js +0 -1
  207. package/build/dist/main.7a6fed9f5f814a194409.js +0 -2
  208. /package/build/dist/{7514.dbf525bade6ffbd70af6.js.LICENSE.txt → 2300.9e1baa1c0368abe53d96.js.LICENSE.txt} +0 -0
  209. /package/build/dist/{3140.b078ec311f99170b7f4c.js.LICENSE.txt → 3140.794a212da633caf38b3a.js.LICENSE.txt} +0 -0
  210. /package/build/dist/{main.7a6fed9f5f814a194409.js.LICENSE.txt → main.3a12152528aff6ae213a.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[5849],{37703(t,e,n){n.d(e,{o:()=>i});var i=(0,n(27698).K)(()=>"\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n","getIconStyles")},45849(t,e,n){n.d(e,{diagram:()=>C});var i=n(23980),s=n(37703),r=n(83544),o=n(68741),a=n(26388),c=(n(92662),n(27280),n(56289),n(19831),n(73145),n(20886)),l=n(84828),h=n(27698),u=n(5097),g=n(78041),d=n(75263),p=function(){var t=(0,h.K)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[1,4],n=[1,13],i=[1,12],s=[1,15],r=[1,16],o=[1,20],a=[1,19],c=[6,7,8],l=[1,26],u=[1,24],g=[1,25],d=[6,7,11],p=[1,31],y=[6,7,11,24],f=[1,6,13,16,17,20,23],m=[1,35],b=[1,36],k=[1,6,7,11,13,16,17,20,23],_=[1,38],E={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,h.K)(function(t,e,n,i,s,r,o){var a=r.length-1;switch(s){case 6:case 7:return i;case 8:i.getLogger().trace("Stop NL ");break;case 9:i.getLogger().trace("Stop EOF ");break;case 11:i.getLogger().trace("Stop NL2 ");break;case 12:i.getLogger().trace("Stop EOF2 ");break;case 15:i.getLogger().info("Node: ",r[a-1].id),i.addNode(r[a-2].length,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 16:i.getLogger().info("Node: ",r[a].id),i.addNode(r[a-1].length,r[a].id,r[a].descr,r[a].type);break;case 17:i.getLogger().trace("Icon: ",r[a]),i.decorateNode({icon:r[a]});break;case 18:case 23:i.decorateNode({class:r[a]});break;case 19:i.getLogger().trace("SPACELIST");break;case 20:i.getLogger().trace("Node: ",r[a-1].id),i.addNode(0,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 21:i.getLogger().trace("Node: ",r[a].id),i.addNode(0,r[a].id,r[a].descr,r[a].type);break;case 22:i.decorateNode({icon:r[a]});break;case 27:i.getLogger().trace("node found ..",r[a-2]),this.$={id:r[a-1],descr:r[a-1],type:i.getType(r[a-2],r[a])};break;case 28:this.$={id:r[a],descr:r[a],type:0};break;case 29:i.getLogger().trace("node found ..",r[a-3]),this.$={id:r[a-3],descr:r[a-1],type:i.getType(r[a-2],r[a])};break;case 30:this.$=r[a-1]+r[a];break;case 31:this.$=r[a]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:n,7:[1,10],9:9,12:11,13:i,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:i,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:n,9:22,12:11,13:i,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:l,7:u,10:23,11:g},t(d,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:a}),t(d,[2,19]),t(d,[2,21],{15:30,24:p}),t(d,[2,22]),t(d,[2,23]),t(y,[2,25]),t(y,[2,26]),t(y,[2,28],{20:[1,32]}),{21:[1,33]},{6:l,7:u,10:34,11:g},{1:[2,7],6:n,12:21,13:i,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(f,[2,14],{7:m,11:b}),t(k,[2,8]),t(k,[2,9]),t(k,[2,10]),t(d,[2,16],{15:37,24:p}),t(d,[2,17]),t(d,[2,18]),t(d,[2,20],{24:_}),t(y,[2,31]),{21:[1,39]},{22:[1,40]},t(f,[2,13],{7:m,11:b}),t(k,[2,11]),t(k,[2,12]),t(d,[2,15],{24:_}),t(y,[2,30]),{22:[1,41]},t(y,[2,27]),t(y,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,h.K)(function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},"parseError"),parse:(0,h.K)(function(t){var e=this,n=[0],i=[],s=[null],r=[],o=this.table,a="",c=0,l=0,u=0,g=r.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p.yy[y]=this.yy[y]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;r.push(f);var m=d.options&&d.options.ranges;function b(){var t;return"number"!=typeof(t=i.pop()||d.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){n.length=n.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,h.K)(b,"lex");for(var k,_,E,S,N,x,D,L,I,v={};;){if(E=n[n.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==k&&(k=b()),S=o[E]&&o[E][k]),void 0===S||!S.length||!S[0]){var C="";for(x in I=[],o[E])this.terminals_[x]&&x>2&&I.push("'"+this.terminals_[x]+"'");C=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[k]||k,line:d.yylineno,loc:f,expected:I})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(S[0]){case 1:n.push(k),s.push(d.yytext),r.push(d.yylloc),n.push(S[1]),k=null,_?(k=_,_=null):(l=d.yyleng,a=d.yytext,c=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(D=this.productions_[S[1]][1],v.$=s[s.length-D],v._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},m&&(v._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(N=this.performAction.apply(v,[a,l,c,p.yy,S[1],s,r].concat(g))))return N;D&&(n=n.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),n.push(this.productions_[S[1]][0]),s.push(v.$),r.push(v._$),L=o[n[n.length-2]][n[n.length-1]],n.push(L);break;case 3:return!0}}return!0},"parse")},S=function(){return{EOF:1,parseError:(0,h.K)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,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:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;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),n.length-1&&(this.yylineno-=n.length-1);var s=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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={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&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(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+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;r<s.length;r++)if((n=this._input.match(this.rules[s[r]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(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:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(t,e,n,i){switch(n){case 0:return this.pushState("shapeData"),e.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const n=/\n\s*/g;return e.yytext=e.yytext.replace(n,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return t.getLogger().trace("Found comment",e.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return t.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:t.getLogger().trace("end icon"),this.popState();break;case 16:return t.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return t.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 33:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return t.getLogger().trace("Long description:",e.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}}}();function N(){this.yy={}}return E.lexer=S,(0,h.K)(N,"Parser"),N.prototype=E,E.Parser=N,new N}();p.parser=p;var y=p,f=[],m=[],b=0,k={},_=(0,h.K)(()=>{f=[],m=[],b=0,k={}},"clear"),E=(0,h.K)(t=>{if(0===f.length)return null;const e=f[0].level;let n=null;for(let t=f.length-1;t>=0;t--)if(f[t].level!==e||n||(n=f[t]),f[t].level<e)throw new Error('Items without section detected, found section ("'+f[t].label+'")');return t===n?.level?null:n},"getSection"),S=(0,h.K)(function(){return m},"getSections"),N=(0,h.K)(function(){const t=[],e=S(),n=(0,c.D7)();for(const i of e){const e={id:i.id,label:(0,c.jZ)(i.label??"",n),labelType:"markdown",isGroup:!0,ticket:i.ticket,shape:"kanbanSection",level:i.level,look:n.look};t.push(e);const s=f.filter(t=>t.parentId===i.id);for(const e of s){const s={id:e.id,parentId:i.id,label:(0,c.jZ)(e.label??"",n),labelType:"markdown",isGroup:!1,ticket:e?.ticket,priority:e?.priority,assigned:e?.assigned,icon:e?.icon,shape:"kanbanItem",level:e.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(s)}}return{nodes:t,edges:[],other:{},config:(0,c.D7)()}},"getData"),x=(0,h.K)((t,e,n,i,s)=>{const o=(0,c.D7)();let a=o.mindmap?.padding??c.UI.mindmap.padding;switch(i){case D.ROUNDED_RECT:case D.RECT:case D.HEXAGON:a*=2}const l={id:(0,c.jZ)(e,o)||"kbn"+b++,level:t,label:(0,c.jZ)(n,o),width:o.mindmap?.maxNodeWidth??c.UI.mindmap.maxNodeWidth,padding:a,isGroup:!1};if(void 0!==s){let t;t=s.includes("\n")?s+"\n":"{\n"+s+"\n}";const e=(0,r.H)(t,{schema:r.r});if(e.shape&&(e.shape!==e.shape.toLowerCase()||e.shape.includes("_")))throw new Error(`No such shape: ${e.shape}. Shape names should be lowercase.`);e?.shape&&"kanbanItem"===e.shape&&(l.shape=e?.shape),e?.label&&(l.label=e?.label),e?.icon&&(l.icon=e?.icon.toString()),e?.assigned&&(l.assigned=e?.assigned.toString()),e?.ticket&&(l.ticket=e?.ticket.toString()),e?.priority&&(l.priority=e?.priority)}const h=E(t);h?l.parentId=h.id||"kbn"+b++:m.push(l),f.push(l)},"addNode"),D={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},L={clear:_,addNode:x,getSections:S,getData:N,nodeType:D,getType:(0,h.K)((t,e)=>{switch(l.R.debug("In get type",t,e),t){case"[":return D.RECT;case"(":return")"===e?D.ROUNDED_RECT:D.CLOUD;case"((":return D.CIRCLE;case")":return D.CLOUD;case"))":return D.BANG;case"{{":return D.HEXAGON;default:return D.DEFAULT}},"getType"),setElementForId:(0,h.K)((t,e)=>{k[t]=e},"setElementForId"),decorateNode:(0,h.K)(t=>{if(!t)return;const e=(0,c.D7)(),n=f[f.length-1];t.icon&&(n.icon=(0,c.jZ)(t.icon,e)),t.class&&(n.cssClasses=(0,c.jZ)(t.class,e))},"decorateNode"),type2Str:(0,h.K)(t=>{switch(t){case D.DEFAULT:return"no-border";case D.RECT:return"rect";case D.ROUNDED_RECT:return"rounded-rect";case D.CIRCLE:return"circle";case D.CLOUD:return"cloud";case D.BANG:return"bang";case D.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),getLogger:(0,h.K)(()=>l.R,"getLogger"),getElementById:(0,h.K)(t=>k[t],"getElementById")},I={draw:(0,h.K)(async(t,e,n,s)=>{l.R.debug("Rendering kanban diagram\n"+t);const r=s.db.getData(),h=(0,c.D7)();h.htmlLabels=!1;const u=(0,i.D)(e);for(const t of r.nodes)t.domId=`${e}-${t.id}`;const g=u.append("g");g.attr("class","sections");const d=u.append("g");d.attr("class","items");const p=r.nodes.filter(t=>t.isGroup);let y=0;const f=[];let m=25;for(const t of p){const e=h?.kanban?.sectionWidth||200;y+=1,t.x=e*y+10*(y-1)/2,t.width=e,t.y=0,t.height=3*e,t.rx=5,t.ry=5,t.cssClasses=t.cssClasses+" section-"+y;const n=await(0,o.U)(g,t);m=Math.max(m,n?.labelBBox?.height),f.push(n)}let b=0;for(const t of p){const e=f[b];b+=1;const n=h?.kanban?.sectionWidth||200,i=3*-n/2+m;let s=i;const o=r.nodes.filter(e=>e.parentId===t.id);for(const e of o){if(e.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");e.x=t.x,e.width=n-15;const i=(await(0,a.on)(d,e,{config:h})).node().getBBox();e.y=s+i.height/2,await(0,a.U_)(e),s=e.y+i.height/2+5}const c=e.cluster.select("rect"),l=Math.max(s-i+30,50)+(m-25);c.attr("height",l)}(0,c.ot)(void 0,u,h.mindmap?.padding??c.UI.kanban.padding,h.mindmap?.useMaxWidth??c.UI.kanban.useMaxWidth)},"draw")},v=(0,h.K)(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,u.A)(t["lineColor"+e])?t["lineColor"+e]=(0,g.A)(t["lineColor"+e],20):t["lineColor"+e]=(0,d.A)(t["lineColor"+e],20);const n=(0,h.K)((e,n)=>t.darkMode?(0,d.A)(e,n):(0,g.A)(e,n),"adjuster");for(let i=0;i<t.THEME_COLOR_LIMIT;i++){const s=""+(17-3*i);e+=`\n .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} polygon, .section-${i-1} path {\n fill: ${n(t["cScale"+i],10)};\n stroke: ${n(t["cScale"+i],10)};\n\n }\n .section-${i-1} text {\n fill: ${t["cScaleLabel"+i]};\n }\n .node-icon-${i-1} {\n font-size: 40px;\n color: ${t["cScaleLabel"+i]};\n }\n .section-edge-${i-1}{\n stroke: ${t["cScale"+i]};\n }\n .edge-depth-${i-1}{\n stroke-width: ${s};\n }\n .section-${i-1} line {\n stroke: ${t["cScaleInv"+i]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.background};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .kanban-ticket-link {\n fill: ${t.background};\n stroke: ${t.nodeBorder};\n text-decoration: underline;\n }\n `}return e},"genSections"),C={db:L,renderer:I,parser:y,styles:(0,h.K)(t=>`\n .edge {\n stroke-width: 3;\n }\n ${v(t)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .cluster-label, .label {\n color: ${t.textColor};\n fill: ${t.textColor};\n }\n .kanban-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n ${(0,s.o)()}\n`,"getStyles")}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[5902],{33395(e,t,n){n.d(t,{m:()=>o});var i=n(27698),o=class{constructor(e){this.init=e,this.records=this.init()}static{(0,i.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},99051(e,t,n){function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}n.d(t,{S:()=>i}),(0,n(27698).K)(i,"populateCommonDb")},35902(e,t,n){n.d(t,{diagram:()=>W});var i=n(33395),o=n(99051),r=n(23980),s=n(19831),c=n(73145),a=n(20886),d=n(84828),l=n(27698),h=n(63883),p=/[─━│┃└┗├┣]/,g=/[└┗├┣]/,f=/[─━]/,u=/^[\s│┃]+$/,w=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,x=/^\s*%%/;function m(e){return e.some(e=>p.test(e))}function b(e){for(const t of e){const e=g.exec(t);if(e?.index&&e.index>0)return e.index}return 4}function y(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,n)=>{const i=parseInt(n,10),o=t.get(i);return o?`line ${o}`:e})}function k(e){const t=e.split("\n"),n=new Map;let i=-1;for(const[e,n]of t.entries())if("treeView-beta"===n.trim()){i=e;break}if(-1===i)return{text:e,lineMap:n};const o=[];for(let e=i+1;e<t.length;e++){const n=t[e];""===n.trim()||x.test(n)||w.test(n)||(u.test(n)||o.push(n.replace(/\t/g," ")))}if(!m(o))return{text:e,lineMap:n};const r=b(o),s=[];let c=0;for(let e=0;e<=i;e++)s.push(t[e]),c++,n.set(c,e+1);for(let e=i+1;e<t.length;e++){const i=t[e],o=e+1;if(""===i.trim()){s.push(i),c++,n.set(c,o);continue}if(x.test(i)){s.push(i),c++,n.set(c,o);continue}if(w.test(i)){s.push(i),c++,n.set(c,o);continue}if(u.test(i))continue;const a=i.replace(/\t/g," "),d=g.exec(a);if(void 0!==d?.index){const e=d.index,t=Math.round(e/r)+1;let i=e+1;for(;i<a.length&&f.test(a[i]);)i++;for(;i<a.length&&" "===a[i];)i++;const l=a.slice(i).trimEnd();if(!l)throw new Error(`Line ${o}: Empty node — expected a filename or directory name after the box-drawing prefix`);const h=" ".repeat(t);s.push(h+l),c++,n.set(c,o)}else{if(/^[\s─━│┃└┗├┣]+$/.test(a))continue;if(p.test(a))s.push(i),c++,n.set(c,o);else{if(/^\s+/.test(a))throw new Error(`Line ${o}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);s.push(i),c++,n.set(c,o)}}}return{text:s.join("\n"),lineMap:n}}(0,l.K)(m,"isBoxDrawingFormat"),(0,l.K)(b,"inferSegmentWidth"),(0,l.K)(y,"remapErrorLines"),(0,l.K)(k,"preprocessBoxDrawing");var $=new i.m(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),v=(0,l.K)(()=>{$.reset(),(0,a.IU)()},"clear"),C=(0,l.K)(()=>$.records.stack[0],"getRoot"),K=(0,l.K)(()=>$.records.cnt,"getCount"),V=a.UI.treeView,B=(0,l.K)(()=>(0,c.$t)(V,(0,a.zj)().treeView),"getConfig"),T={clear:v,addNode:(0,l.K)((e,t,n,i,o,r)=>{for(;e<=$.records.stack[$.records.stack.length-1].level;)$.records.stack.pop();const s={id:$.records.cnt++,level:e,name:t,nodeType:n,icon:o,cssClass:i,description:r,children:[]};$.records.stack[$.records.stack.length-1].children.push(s),$.records.stack.push(s)},"addNode"),getRoot:C,getCount:K,getConfig:B,getAccTitle:a.iN,getAccDescription:a.m7,getDiagramTitle:a.ab,setAccDescription:a.EI,setAccTitle:a.SV,setDiagramTitle:a.ke},I=(0,l.K)(e=>{(0,o.S)(e,T);for(const t of e.nodes){const e="number"==typeof t.indent?t.indent:0;let n=t.name;const i=n.endsWith("/");i&&(n=n.slice(0,-1));const o=i?"directory":"file",r=t.classAnnotation||void 0,s=t.iconAnnotation,c=void 0!==s?s||"none":void 0,d=t.descAnnotation||void 0,l=d?(0,a.jZ)(d,(0,a.zj)()):void 0;T.addNode(e,n,o,r,c,l)}},"populate"),M={parse:(0,l.K)(async e=>{const{text:t,lineMap:n}=k(e);try{const e=await(0,h.qg)("treeView",t);d.R.debug(e),I(e)}catch(e){throw n.size>0&&e instanceof Error&&(e.message=y(e.message,n)),e}},"parse")},D={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function A(e,t){const n=t?.filenameIcons?.[e];if(n)return n;const i=e.lastIndexOf(".");if(i>0){const n=e.substring(i).toLowerCase(),o=t?.extensionIcons;return o?.[n]??o?.[n.slice(1)]}}function E(e,t){return e.includes(":")?e:e in D.icons||!t?`${D.prefix}:${e}`:`${t}:${e}`}function S(e,t){if("none"!==e.icon){if(e.icon)return E(e.icon,t.defaultIconPack);if(t.showIcons){if("file"===e.nodeType){const n=A(e.name,t);if("none"===n)return;if(n)return E(n,t.defaultIconPack)}return`${D.prefix}:${"directory"===e.nodeType?"folder":"file"}`}}}(0,l.K)(A,"detectIcon"),(0,l.K)(E,"qualifyIcon"),(0,l.K)(S,"getNodeIcon"),(0,s.pC)([{name:D.prefix,icons:D}]);var z=(0,l.K)(async(e,t)=>{const n=[],i=(0,l.K)(e=>{const o=S(e,t);o&&n.push({icon:o,node:e}),e.children.forEach(i)},"collect");i(e);const o=await Promise.all(n.map(async({icon:e,node:t})=>({id:t.id,svg:await(0,s.WY)(e,{height:14,width:14})})));return new Map(o.map(({id:e,svg:t})=>[e,t]))},"resolveNodeIcons"),N=(0,l.K)((e,t,n,i,o,r)=>{const s=i.append("g");let c="treeView-node-label";"directory"===n.nodeType&&(c+=" treeView-node-dir"),n.cssClass&&(c+=` ${n.cssClass}`);const a=S(n,o),d=void 0!==a;a&&s.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${e+o.paddingX}, ${t+o.paddingY})`).html(r.get(n.id)??"");const l=s.append("text").text(n.name).attr("dominant-baseline","middle").attr("class",c),{height:h,width:p}=l.node().getBBox(),g=h+2*o.paddingY,f=e+o.paddingX+(d?18:0);l.attr("x",f),l.attr("y",t+g/2);const u=f+p,w=p+2*o.paddingX+(d?18:0);return n.BBox={x:e,y:t,width:w,height:g},n.cssClass?.split(/\s+/).includes("highlight")&&s.insert("rect",":first-child").attr("x",e).attr("y",t+1).attr("width",0).attr("height",g-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:n,nodeGroup:s,labelRightEdge:u,centerY:t+g/2}},"positionLabel"),R=(0,l.K)((e,t,n,i,o,r)=>e.append("line").attr("x1",t).attr("y1",n).attr("x2",i).attr("y2",o).attr("stroke-width",r).attr("class","treeView-node-line"),"positionLine"),X=(0,l.K)((e,t,n,i)=>{let o=0,r=0;const s=[],c=(0,l.K)((e,t,n,c)=>{const a=c*(n.rowIndent+n.paddingX),d=N(a,o,t,e,n,i);s.push(d);const{height:l,width:h}=t.BBox;R(e,a-n.rowIndent,o+l/2,a,o+l/2,n.lineThickness),r=Math.max(r,a+h),o+=l},"drawNode"),a=(0,l.K)((t,i=0)=>{c(e,t,n,i),t.children.forEach(e=>{a(e,i+1)});const{x:o,y:r,height:s}=t.BBox;if(t.children.length){const{y:i,height:c}=t.children[t.children.length-1].BBox;R(e,o+n.paddingX,r+s,o+n.paddingX,i+c/2+n.lineThickness/2,n.lineThickness)}},"processNode");a(t);const d=s.filter(e=>e.node.description);if(d.length>0){const e=Math.max(...s.map(e=>e.labelRightEdge))+16;for(const t of d){const i=t.nodeGroup.append("text").text(t.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",e).attr("y",t.centerY).node().getBBox();r=Math.max(r,e+i.width+n.paddingX)}}for(const e of s)if(e.node.cssClass?.split(/\s+/).includes("highlight")){const t=e.nodeGroup.select(".treeView-highlight-bg");if(!t.empty()){const n=r-e.node.BBox.x+8;t.attr("width",n),r=Math.max(r,e.node.BBox.x+n+2)}}return{totalHeight:o,totalWidth:r}},"drawTree"),L={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},W={db:T,renderer:{draw:(0,l.K)(async(e,t,n,i)=>{d.R.debug("Rendering treeView diagram\n"+e);const o=i.db,s=o.getRoot(),c=o.getConfig(),l=(0,r.D)(t),h=l.append("g");h.attr("class","tree-view");const p=await z(s,c),{totalHeight:g,totalWidth:f}=X(h,s,c,p);l.attr("viewBox",`-${c.lineThickness/2} 0 ${f} ${g}`),(0,a.a$)(l,g,f,c.useMaxWidth)},"draw")},parser:M,styles:(0,l.K)(({treeView:e})=>{const{labelFontSize:t,labelColor:n,lineColor:i,iconColor:o,descriptionColor:r,highlightBg:s,highlightStroke:a}=(0,c.$t)(L,e);return`\n .treeView-node-label {\n font-size: ${t};\n fill: ${n};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${i};\n }\n .treeView-node-icon {\n color: ${o};\n }\n .treeView-node-description {\n font-size: ${t};\n fill: ${r};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${s};\n stroke: ${a};\n stroke-width: 1;\n }\n `},"styles")}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[5942],{85942(t,e,i){i.d(e,{diagram:()=>et});var r=i(77454),s=i(15319),n=i(57588),o=i(54912),a=i(51255),d=i(89983),l=i(31293),c=i(86827),h=i(34376),f=i(90165),g=i(26527),p=i(51444),u={L:"left",R:"right",T:"top",B:"bottom"},m={L:(0,c.K)(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:(0,c.K)(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:(0,c.K)(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:(0,c.K)(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},y={L:(0,c.K)((t,e)=>t-e+2,"L"),R:(0,c.K)((t,e)=>t-2,"R"),T:(0,c.K)((t,e)=>t-e+2,"T"),B:(0,c.K)((t,e)=>t-2,"B")},w=(0,c.K)(function(t){return x(t)?"L"===t?"R":"L":"T"===t?"B":"T"},"getOppositeArchitectureDirection"),k=(0,c.K)(function(t){return"L"===t||"R"===t||"T"===t||"B"===t},"isArchitectureDirection"),x=(0,c.K)(function(t){return"L"===t||"R"===t},"isArchitectureDirectionX"),$=(0,c.K)(function(t){return"T"===t||"B"===t},"isArchitectureDirectionY"),b=(0,c.K)(function(t,e){const i=x(t)&&$(e),r=$(t)&&x(e);return i||r},"isArchitectureDirectionXY"),v=(0,c.K)(function(t){const e=t[0],i=t[1],r=x(e)&&$(i),s=$(e)&&x(i);return r||s},"isArchitecturePairXY"),E=(0,c.K)(function(t){return"LL"!==t&&"RR"!==t&&"TT"!==t&&"BB"!==t},"isValidArchitectureDirectionPair"),I=(0,c.K)(function(t,e){const i=`${t}${e}`;return E(i)?i:void 0},"getArchitectureDirectionPair"),T=(0,c.K)(function([t,e],i){const r=i[0],s=i[1];return x(r)?$(s)?[t+("L"===r?-1:1),e+("T"===s?1:-1)]:[t+("L"===r?-1:1),e]:x(s)?[t+("L"===s?1:-1),e+("T"===r?1:-1)]:[t,e+("T"===r?1:-1)]},"shiftPositionByArchitectureDirectionPair"),D=(0,c.K)(function(t){return"LT"===t||"TL"===t?[1,1]:"BL"===t||"LB"===t?[1,-1]:"BR"===t||"RB"===t?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),K=(0,c.K)(function(t,e){return b(t,e)?"bend":x(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),S=(0,c.K)(function(t){return"service"===t.type},"isArchitectureService"),M=(0,c.K)(function(t){return"junction"===t.type},"isArchitectureJunction"),L=(0,c.K)((t,e)=>{const[i,r]=[t,e].sort();return`${JSON.stringify(i)}-${JSON.stringify(r)}`},"architectureGroupAlignmentKey"),C=(0,c.K)(t=>t.data(),"edgeData"),B=(0,c.K)(t=>t.data(),"nodeData"),A=d.UI.architecture,F=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=d.SV,this.getAccTitle=d.iN,this.setDiagramTitle=d.ke,this.getDiagramTitle=d.ab,this.getAccDescription=d.m7,this.setAccDescription=d.EI,this.clear()}static{(0,c.K)(this,"ArchitectureDB")}setDiagramId(t){this.diagramId=t}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",(0,d.IU)()}addService({id:t,icon:e,in:i,title:r,iconText:s}){if(this.registeredIds.has(t))throw new Error(`The service id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(void 0!==i){if(t===i)throw new Error(`The service [${t}] cannot be placed within itself`);if(!this.registeredIds.has(i))throw new Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if("node"===this.registeredIds.get(i))throw new Error(`The service [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"service",icon:e,iconText:s,title:r,edges:[],in:i})}getServices(){return[...this.nodes.values()].filter(S)}addJunction({id:t,in:e}){if(this.registeredIds.has(t))throw new Error(`The junction id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(void 0!==e){if(t===e)throw new Error(`The junction [${t}] cannot be placed within itself`);if(!this.registeredIds.has(e))throw new Error(`The junction [${t}]'s parent does not exist. Please make sure the parent is created before this junction`);if("node"===this.registeredIds.get(e))throw new Error(`The junction [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"junction",edges:[],in:e})}getJunctions(){return[...this.nodes.values()].filter(M)}getNodes(){return[...this.nodes.values()]}getNode(t){return this.nodes.get(t)??null}addGroup({id:t,icon:e,in:i,title:r}){if(this.registeredIds.has(t))throw new Error(`The group id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(void 0!==i){if(t===i)throw new Error(`The group [${t}] cannot be placed within itself`);if(!this.registeredIds.has(i))throw new Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if("node"===this.registeredIds.get(i))throw new Error(`The group [${t}]'s parent is not a group`)}this.registeredIds.set(t,"group"),this.groups.set(t,{id:t,icon:e,title:r,in:i})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:t,rhsId:e,lhsDir:i,rhsDir:r,lhsInto:s,rhsInto:n,lhsGroup:o,rhsGroup:a,title:d}){if(!k(i))throw new Error(`Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${String(i)}`);if(!k(r))throw new Error(`Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${String(r)}`);if(!this.nodes.has(t)&&!this.groups.has(t))throw new Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(e)&&!this.groups.has(e))throw new Error(`The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);const l=this.nodes.get(t).in,c=this.nodes.get(e).in;if(o&&l&&c&&l==c)throw new Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(a&&l&&c&&l==c)throw new Error(`The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const h={lhsId:t,lhsDir:i,lhsInto:s,lhsGroup:o,rhsId:e,rhsDir:r,rhsInto:n,rhsGroup:a,title:d};this.edges.push(h);const f=this.nodes.get(t),g=this.nodes.get(e);f&&g&&(f.edges.push(this.edges[this.edges.length-1]),g.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(t){if(t.members.length<2)throw new Error(`An align directive requires at least two members; got ${t.members.length}`);const e=new Set;t.members.forEach(i=>{if("node"!==this.registeredIds.get(i))throw new Error(`align ${t.direction} references [${i}], which is not a service or junction`);if(e.has(i))throw new Error(`align ${t.direction} lists [${i}] more than once`);e.add(i)}),this.layoutHints.push(t)}getLayoutHints(){return this.layoutHints}getDataStructures(){if(void 0===this.dataStructures){const t=new Map,e=new Map;for(const[i,r]of this.nodes.entries()){const s=new Map;for(const e of r.edges){const r=this.getNode(e.lhsId)?.in,n=this.getNode(e.rhsId)?.in;if(r&&n&&r!==n){const i=K(e.lhsDir,e.rhsDir);"bend"!==i&&t.set(L(r,n),i)}if(e.lhsId===i){const t=I(e.lhsDir,e.rhsDir);t&&s.set(t,e.rhsId)}else{const t=I(e.rhsDir,e.lhsDir);t&&s.set(t,e.lhsId)}}e.set(i,s)}const i=new Set,r=new Set(e.keys()),s=(0,c.K)(t=>{const s=new Map([[t,[0,0]]]),n=[t];for(;n.length>0;){const t=n.shift();if(t){i.add(t),r.delete(t);const o=e.get(t);if(!o)throw new Error(`BFS error: adjacency list for id ${t} not found. Please report this as a bug.`);const a=s.get(t);if(!a)throw new Error(`BFS error: position for id ${t} not found in spatial map. Please report this as a bug.`);const[d,l]=a;o.forEach((t,e)=>{i.has(t)||(s.set(t,T([d,l],e)),n.push(t))})}}return s},"BFS"),n=[];for(;r.size>0;){const t=r.values().next().value;n.push(s(t))}this.dataStructures={adjList:e,spatialMaps:n,groupAlignments:t}}return this.dataStructures}setElementForId(t,e){this.elements.set(t,e)}getElementById(t){return this.elements.get(t)}getConfig(){return(0,a.$t)({...A,...(0,d.zj)().architecture})}getConfigField(t){return this.getConfig()[t]}},R=(0,c.K)((t,e)=>{(0,r.S)(t,e),t.groups.map(t=>e.addGroup(t)),t.services.map(t=>e.addService({...t,type:"service"})),t.junctions.map(t=>e.addJunction({...t,type:"junction"})),t.edges.map(t=>e.addEdge(t)),t.alignments?.map(t=>e.addLayoutHint({direction:t.direction,members:[...t.members]}))},"populateDb"),j={parser:{yy:void 0},parse:(0,c.K)(async t=>{const e=await(0,h.qg)("architecture",t);l.R.debug(e);const i=j.parser?.yy;if(!(i instanceof F))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");R(e,i)},"parse")},z=(0,c.K)(t=>`\n .edge {\n stroke-width: ${t.archEdgeWidth};\n stroke: ${t.archEdgeColor};\n fill: none;\n }\n\n .arrow {\n fill: ${t.archEdgeArrowColor};\n }\n\n .node-bkg {\n fill: none;\n stroke: ${t.archGroupBorderColor};\n stroke-width: ${t.archGroupBorderWidth};\n stroke-dasharray: 8;\n }\n .node-icon-text {\n display: flex; \n align-items: center;\n }\n \n .node-icon-text > div {\n color: #fff;\n margin: 1px;\n height: fit-content;\n text-align: center;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n }\n`,"getStyles");function G(t,e){if(0===t)return e();const i=Math.random;let r=t>>>0;Math.random=function(){r=r+1831565813>>>0;let t=r;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296};try{return e()}finally{Math.random=i}}(0,c.K)(G,"withSeededRandom");var P=(0,c.K)(t=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${t}</g>`,"wrapIcon"),H={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:P('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:P('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:P('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:P('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:P('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:o.Gc,blank:{body:P("")}}},N=(0,c.K)(async function(t,e,i,r){const s=i.getConfigField("padding"),o=i.getConfigField("iconSize"),l=o/2,c=o/6,h=c/2;await Promise.all(e.edges().map(async e=>{const{source:o,sourceDir:f,sourceArrow:g,sourceGroup:p,target:u,targetDir:w,targetArrow:k,targetGroup:E,label:T}=C(e);let{x:K,y:S}=e[0].sourceEndpoint();const{x:M,y:L}=e[0].midpoint();let{x:B,y:A}=e[0].targetEndpoint();const F=s+4;if(p&&(x(f)?K+="L"===f?-F:F:S+="T"===f?-F:F+18),E&&(x(w)?B+="L"===w?-F:F:A+="T"===w?-F:F+18),p||"junction"!==i.getNode(o)?.type||(x(f)?K+="L"===f?l:-l:S+="T"===f?l:-l),E||"junction"!==i.getNode(u)?.type||(x(w)?B+="L"===w?l:-l:A+="T"===w?l:-l),e[0]._private.rscratch){const e=t.insert("g");if(e.insert("path").attr("d",`M ${K},${S} L ${M},${L} L${B},${A} `).attr("class","edge").attr("id",`${r}-${(0,a.rY)(o,u,{prefix:"L"})}`),g){const t=x(f)?y[f](K,c):K-h,i=$(f)?y[f](S,c):S-h;e.insert("polygon").attr("points",m[f](c)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(k){const t=x(w)?y[w](B,c):B-h,i=$(w)?y[w](A,c):A-h;e.insert("polygon").attr("points",m[w](c)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(T){const t=b(f,w)?"XY":x(f)?"X":"Y";let i=0;i="X"===t?Math.abs(K-B):"Y"===t?Math.abs(S-A)/1.5:Math.abs(K-B)/2;const r=e.append("g");if(await(0,n.GZ)(r,T,{useHtmlLabels:!1,width:i,classes:"architecture-service-label"},(0,d.D7)()),r.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),"X"===t)r.attr("transform","translate("+M+", "+L+")");else if("Y"===t)r.attr("transform","translate("+M+", "+L+") rotate(-90)");else if("XY"===t){const t=I(f,w);if(t&&v(t)){const e=r.node().getBoundingClientRect(),[i,s]=D(t);r.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*i*s*45})`);const n=r.node().getBoundingClientRect();r.attr("transform",`\n translate(${M}, ${L-e.height/2})\n translate(${i*n.width/2}, ${s*n.height/2})\n rotate(${-1*i*s*45}, 0, ${e.height/2})\n `)}}}}}))},"drawEdges"),Y=(0,c.K)(async function(t,e,i,r){const s=.75*i.getConfigField("padding"),a=i.getConfigField("fontSize"),l=i.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async e=>{const c=B(e);if("group"===c.type){const{h,w:f,x1:g,y1:p}=e.boundingBox(),u=t.append("rect");u.attr("id",`${r}-group-${c.id}`).attr("x",g+l).attr("y",p+l).attr("width",f).attr("height",h).attr("class","node-bkg");const m=t.append("g");let y=g,w=p;if(c.icon){const t=m.append("g");t.html(`<g>${await(0,o.WY)(c.icon,{height:s,width:s,fallbackPrefix:H.prefix})}</g>`),t.attr("transform","translate("+(y+l+1)+", "+(w+l+1)+")"),y+=s,w+=a/2-1-2}if(c.label){const t=m.append("g");await(0,n.GZ)(t,c.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},(0,d.D7)()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),t.attr("transform","translate("+(y+l+4)+", "+(w+l+2)+")")}i.setElementForId(c.id,u)}}))},"drawGroups"),Z=(0,c.K)(async function(t,e,i,r){const s=(0,d.D7)();for(const a of i){const i=e.append("g"),l=t.getConfigField("iconSize");if(a.title){const t=i.append("g");await(0,n.GZ)(t,a.title,{useHtmlLabels:!1,width:1.5*l,classes:"architecture-service-label"},s),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.attr("transform","translate("+l/2+", "+l+")")}const c=i.append("g");if(a.icon)c.html(`<g>${await(0,o.WY)(a.icon,{height:l,width:l,fallbackPrefix:H.prefix})}</g>`);else if(a.iconText){c.html(`<g>${await(0,o.WY)("blank",{height:l,width:l,fallbackPrefix:H.prefix})}</g>`);const t=c.append("g").append("foreignObject").attr("width",l).attr("height",l).append("div").attr("class","node-icon-text").attr("style",`height: ${l}px;`).append("div").html((0,d.jZ)(a.iconText,s)),e=parseInt(window.getComputedStyle(t.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;t.attr("style",`-webkit-line-clamp: ${Math.floor((l-2)/e)};`)}else c.append("path").attr("class","node-bkg").attr("id",`${r}-node-${a.id}`).attr("d",`M0,${l} V5 Q0,0 5,0 H${l-5} Q${l},0 ${l},5 V${l} Z`);i.attr("id",`${r}-service-${a.id}`).attr("class","architecture-service");const{width:h,height:f}=i.node().getBBox();a.width=h,a.height=f,t.setElementForId(a.id,i)}return 0},"drawServices"),J=(0,c.K)(function(t,e,i,r){i.forEach(i=>{const s=e.append("g"),n=t.getConfigField("iconSize");s.append("g").append("rect").attr("id",`${r}-node-${i.id}`).attr("fill-opacity","0").attr("width",n).attr("height",n),s.attr("class","architecture-junction");const{width:o,height:a}=s._groups[0][0].getBBox();s.width=o,s.height=a,t.setElementForId(i.id,s)})},"drawJunctions");function X(t,e,i){t.forEach(t=>{e.add({group:"nodes",data:{type:"service",id:t.id,icon:t.icon,label:t.title,parent:t.in,width:i.getConfigField("iconSize"),height:i.getConfigField("iconSize")},classes:"node-service"})})}function O(t,e,i){t.forEach(t=>{e.add({group:"nodes",data:{type:"junction",id:t.id,parent:t.in,width:i.getConfigField("iconSize"),height:i.getConfigField("iconSize")},classes:"node-junction"})})}function W(t,e){e.nodes().map(e=>{const i=B(e);if("group"===i.type)return;i.x=e.position().x,i.y=e.position().y;t.getElementById(i.id).attr("transform","translate("+(i.x||0)+","+(i.y||0)+")")})}function q(t,e){t.forEach(t=>{e.add({group:"nodes",data:{type:"group",id:t.id,icon:t.icon,label:t.title,parent:t.in},classes:"node-group"})})}function V(t,e){t.forEach(t=>{const{lhsId:i,rhsId:r,lhsInto:s,lhsGroup:n,rhsInto:o,lhsDir:a,rhsDir:d,rhsGroup:l,title:c}=t,h=b(t.lhsDir,t.rhsDir)?"segments":"straight",f={id:`${i}-${r}`,label:c,source:i,sourceDir:a,sourceArrow:s,sourceGroup:n,sourceEndpoint:"L"===a?"0 50%":"R"===a?"100% 50%":"T"===a?"50% 0":"50% 100%",target:r,targetDir:d,targetArrow:o,targetGroup:l,targetEndpoint:"L"===d?"0 50%":"R"===d?"100% 50%":"T"===d?"50% 0":"50% 100%"};e.add({group:"edges",data:f,classes:h})})}function Q(t,e,i,r=[]){const s=(0,c.K)((t,e)=>{const r=new Map;for(const[s,n]of t.entries()){const t=`${s}`;let o=0;const a=[...n.entries()];if(1!==a.length)for(let s=0;s<a.length-1;s++)for(let n=s+1;n<a.length;n++){const[d,l]=a[s],[c,h]=a[n];if(i.get(L(d,c))===e)r.set(t,[...r.get(t)??[],...l,...h]);else if("default"===d||"default"===c)r.set(t,[...r.get(t)??[],...l,...h]);else{const e=`${t}-${o++}`;r.set(e,l);const i=`${t}-${o++}`;r.set(i,h)}}else r.set(t,a[0][1])}return r},"flattenAlignments"),n=e.map(e=>{const i=new Map,r=new Map;return e.forEach(([e,s],n)=>{const o=t.getNode(n)?.in??"default",a=i.get(s)??new Map;i.has(s)||i.set(s,a);const d=r.get(e)??new Map;r.has(e)||r.set(e,d);for(const t of[a,d]){const e=t.get(o)??[];t.has(o)||t.set(o,e),e.push(n)}}),{horiz:[...s(i,"horizontal").values()].filter(t=>t.length>1),vert:[...s(r,"vertical").values()].filter(t=>t.length>1)}}),[o,a]=n.reduce(([t,e],{horiz:i,vert:r})=>[[...t,...i],[...e,...r]],[[],[]]),d=new Set;r.forEach(t=>t.members.forEach(t=>d.add(t)));const l=(0,c.K)(t=>t.filter(t=>!t.some(t=>d.has(t))),"dropOverlapping"),h=l(o),f=l(a);return r.forEach(t=>{t.members.length<2||("row"===t.direction?h.push([...t.members]):f.push([...t.members]))}),{horizontal:h,vertical:f}}function U(t,e,i=[]){const r=[],s=e.getConfigField("iconSize"),n=e.getConfigField("idealEdgeLengthMultiplier"),o=n*s,a=new Set;i.forEach(t=>{for(let e=0;e<t.members.length-1;e++){const i=t.members[e],s=t.members[e+1];a.add(`${i}|${s}`),a.add(`${s}|${i}`),"row"===t.direction?r.push({left:i,right:s,gap:o}):r.push({top:i,bottom:s,gap:o})}});const d=(0,c.K)(t=>`${t[0]},${t[1]}`,"posToStr"),l=(0,c.K)(t=>t.split(",").map(t=>parseInt(t)),"strToPos");return t.forEach(t=>{const e=new Map([...t.entries()].map(([t,e])=>[d(e),t])),i=[d([0,0])],o={},c={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;i.length>0;){const t=i.shift();if(t){o[t]=1;const h=e.get(t);if(h){const f=l(t);Object.entries(c).forEach(([t,l])=>{const c=d([f[0]+l[0],f[1]+l[1]]),g=e.get(c);if(g&&!o[c]){if(i.push(c),a.has(`${h}|${g}`))return;r.push({[u[t]]:g,[u[w(t)]]:h,gap:n*s})}})}}}}),r}function _(t,e,i,r,s,{spatialMaps:n,groupAlignments:o}){return new Promise(a=>{const d=(0,p.Ltv)("body").append("div").attr("id","cy").attr("style","display:none"),h=(0,f.A)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${s.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${s.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});d.remove(),q(i,h),X(t,h,s),O(e,h,s),V(r,h);const g=s.getLayoutHints(),u=Q(s,n,o,g),m=U(n,s,g),y=s.getConfigField("iconSize"),w=s.getConfigField("idealEdgeLengthMultiplier")*y,k=.5*y,x=s.getConfigField("edgeElasticity"),b=s.getConfigField("seed"),v=h.layout({name:"fcose",quality:"proof",randomize:s.getConfigField("randomize"),nodeSeparation:s.getConfigField("nodeSeparation"),numIter:s.getConfigField("numIter"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(t){const[e,i]=t.connectedNodes(),{parent:r}=B(e),{parent:s}=B(i);return r===s?w:k},edgeElasticity(t){const[e,i]=t.connectedNodes(),{parent:r}=B(e),{parent:s}=B(i);return r===s?x:.001},alignmentConstraint:u,relativePlacementConstraint:m});v.one("layoutstop",()=>{function t(t,e,i,r){let s,n;const{x:o,y:a}=t,{x:d,y:l}=e;n=(r-a+(o-i)*(a-l)/(o-d))/Math.sqrt(1+Math.pow((a-l)/(o-d),2)),s=Math.sqrt(Math.pow(r-a,2)+Math.pow(i-o,2)-Math.pow(n,2));s/=Math.sqrt(Math.pow(d-o,2)+Math.pow(l-a,2));let c=(d-o)*(r-a)-(l-a)*(i-o);switch(!0){case c>=0:c=1;break;case c<0:c=-1}let h=(d-o)*(i-o)+(l-a)*(r-a);switch(!0){case h>=0:h=1;break;case h<0:h=-1}return n=Math.abs(n)*c,s*=h,{distances:n,weights:s}}(0,c.K)(t,"getSegmentWeights"),h.startBatch();for(const e of Object.values(h.edges()))if(e.data?.()){const{x:i,y:r}=e.source().position(),{x:s,y:n}=e.target().position();if(i!==s&&r!==n){const i=e.sourceEndpoint(),r=e.targetEndpoint(),{sourceDir:s}=C(e),[n,o]=$(s)?[i.x,r.y]:[r.x,i.y],{weights:a,distances:d}=t(i,r,n,o);e.style("segment-distances",d),e.style("segment-weights",a)}}h.endBatch(),G(b,()=>v.run())});try{G(b,()=>v.run())}catch(t){if(t instanceof RangeError&&t.message.includes("Invalid array length"))throw new Error("Architecture layout failed: a declared `align row|column` directive likely contradicts the edge directions, or two declared alignments overlap on a shared node. Check that the order of members in each `align` chain is consistent with the edges between them, and that no node appears in two `align` directives along the same axis.");throw t}h.ready(t=>{l.R.info("Ready",t),a(h)})})}(0,o.pC)([{name:H.prefix,icons:H}]),f.A.use(g),(0,c.K)(X,"addServices"),(0,c.K)(O,"addJunctions"),(0,c.K)(W,"positionNodes"),(0,c.K)(q,"addGroups"),(0,c.K)(V,"addEdges"),(0,c.K)(Q,"getAlignments"),(0,c.K)(U,"getRelativeConstraints"),(0,c.K)(_,"layoutArchitecture");var tt={draw:(0,c.K)(async(t,e,i,r)=>{const n=r.db;n.setDiagramId(e);const o=n.getServices(),a=n.getJunctions(),l=n.getGroups(),c=n.getEdges(),h=n.getDataStructures(),f=(0,s.D)(e),g=f.append("g");g.attr("class","architecture-edges");const p=f.append("g");p.attr("class","architecture-services");const u=f.append("g");u.attr("class","architecture-groups"),await Z(n,p,o,e),J(n,p,a,e);const m=await _(o,a,l,c,n,h);await N(g,m,n,e),await Y(u,m,n,e),W(n,m),(0,d.ot)(void 0,f,n.getConfigField("padding"),n.getConfigField("useMaxWidth"))},"draw")},et={parser:j,get db(){return new F},renderer:tt,styles:z}},77454(t,e,i){function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}i.d(e,{S:()=>r}),(0,i(86827).K)(r,"populateCommonDb")}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6010],{34299(e,t,n){n.r(t),n.d(t,{default:()=>k});var r=n(96540),c=n(23802),a=n(53995),s=n(18569),l=n(77979),o=n(8263),u=n(69428),i=n.n(u),d=(n(3775),n(21499)),h=n(99214),g=n(89117),p=n(89334),f=n(41105),m=n(52388),v=n(19878),w=(n(72411),n(74848));const A=new c.A({html:!0,highlight:function(e,t){if(t&&v.A.getLanguage(t))try{return`<pre class="hljs code-block-with-copy"><code class="hljs language-${t}">${v.A.highlight(e,{language:t}).value}</code></pre>`}catch(e){}try{return`<pre class="hljs code-block-with-copy"><code class="hljs">${v.A.highlightAuto(e).value}</code></pre>`}catch(e){}return`<pre class="hljs code-block-with-copy"><code>${A.utils.escapeHtml(e)}</code></pre>`}});function y(e){const t=e.className.match(/language-([\w-]+)/);return t?t[1]:""}function k(e){const t=(0,r.useRef)(null);return(0,h.VD)(),(0,r.useEffect)(()=>{t.current&&(!async function(e){const t=e.querySelectorAll("pre > code[class*='language-']");for(const e of Array.from(t)){const t=y(e);if(!(0,g.Hm)(t))continue;const n=e.closest(".code-block-with-copy")??e.parentElement;if(!n)continue;const r=e.textContent??"",c=document.createElement("div");c.className="md-graph md-graph--loading",c.textContent=m.A.t("rendering"),n.replaceWith(c);const a=await(0,g.U6)(t,r);c.isConnected&&(a.error?(c.className="md-graph md-graph--error",c.textContent=a.error):(c.className="md-graph",c.innerHTML=a.svg))}}(t.current),(0,p.rg)(t.current))},[e.context]),(0,w.jsx)("div",{ref:t,dangerouslySetInnerHTML:{__html:A.render(e.context)}})}A.use(a.A).use(s.A).use(l.A).use(o.A).use(i()).use(e=>{e.renderer.rules.fence;e.renderer.rules.fence=(t,n,r,c,a)=>{const s=t[n],l=s.content.trim(),o=s.info.trim();let u="";if(o&&v.A.getLanguage(o))try{u=v.A.highlight(l,{language:o}).value}catch(t){u=e.utils.escapeHtml(l)}else try{u=v.A.highlightAuto(l).value}catch(t){u=e.utils.escapeHtml(l)}return`\n <div class="code-block-with-copy">\n <div class="code-header">\n <span class="code-language">${o||"code"}</span>\n <button class="copy-btn" data-code="${e.utils.escapeHtml(l)}">复制</button>\n </div>\n <pre><code class="hljs ${o?`language-${o}`:""}">${u}</code></pre>\n </div>`}}).use(e=>{const t=e.renderer.rules.link_open||function(e,t,n,r,c){return c.renderToken(e,t,n)};e.renderer.rules.link_open=(e,n,r,c,a)=>{const s=e[n],l=s.attrIndex("href");if(l>=0){const e=s.attrs[l][1];s.attrs[l][1]=(0,d.bi)(window.location.href,e)}return t(e,n,r,c,a)}}),(0,p.Rh)(A,f.pC)},60840(e){e.exports="data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 version=%271.1%27 aria-hidden=%27true%27><path fill-rule=%27evenodd%27 d=%27M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z%27></path></svg>"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6029],{96029(a,e,c){c.d(e,{diagram:()=>s.AC});var s=c(87128);c(64918),c(96755),c(92892),c(841),c(56714),c(43247),c(98120),c(99257),c(24832),c(36870),c(84076),c(36155),c(57588),c(54912),c(92941),c(51255),c(89983),c(31293),c(86827)}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6054],{76054(e,c,a){a.d(c,{createInfoServices:()=>s.v});var s=a(85547);a(41303)}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6089],{15350(e,t,n){n.d(t,{m:()=>o});var i=n(86827),o=class{constructor(e){this.init=e,this.records=this.init()}static{(0,i.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},77454(e,t,n){function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}n.d(t,{S:()=>i}),(0,n(86827).K)(i,"populateCommonDb")},36089(e,t,n){n.d(t,{diagram:()=>W});var i=n(15350),o=n(77454),r=n(15319),s=n(54912),c=n(51255),a=n(89983),d=n(31293),l=n(86827),h=n(34376),p=/[─━│┃└┗├┣]/,g=/[└┗├┣]/,f=/[─━]/,u=/^[\s│┃]+$/,w=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,x=/^\s*%%/;function m(e){return e.some(e=>p.test(e))}function b(e){for(const t of e){const e=g.exec(t);if(e?.index&&e.index>0)return e.index}return 4}function y(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,n)=>{const i=parseInt(n,10),o=t.get(i);return o?`line ${o}`:e})}function k(e){const t=e.split("\n"),n=new Map;let i=-1;for(const[e,n]of t.entries())if("treeView-beta"===n.trim()){i=e;break}if(-1===i)return{text:e,lineMap:n};const o=[];for(let e=i+1;e<t.length;e++){const n=t[e];""===n.trim()||x.test(n)||w.test(n)||(u.test(n)||o.push(n.replace(/\t/g," ")))}if(!m(o))return{text:e,lineMap:n};const r=b(o),s=[];let c=0;for(let e=0;e<=i;e++)s.push(t[e]),c++,n.set(c,e+1);for(let e=i+1;e<t.length;e++){const i=t[e],o=e+1;if(""===i.trim()){s.push(i),c++,n.set(c,o);continue}if(x.test(i)){s.push(i),c++,n.set(c,o);continue}if(w.test(i)){s.push(i),c++,n.set(c,o);continue}if(u.test(i))continue;const a=i.replace(/\t/g," "),d=g.exec(a);if(void 0!==d?.index){const e=d.index,t=Math.round(e/r)+1;let i=e+1;for(;i<a.length&&f.test(a[i]);)i++;for(;i<a.length&&" "===a[i];)i++;const l=a.slice(i).trimEnd();if(!l)throw new Error(`Line ${o}: Empty node — expected a filename or directory name after the box-drawing prefix`);const h=" ".repeat(t);s.push(h+l),c++,n.set(c,o)}else{if(/^[\s─━│┃└┗├┣]+$/.test(a))continue;if(p.test(a))s.push(i),c++,n.set(c,o);else{if(/^\s+/.test(a))throw new Error(`Line ${o}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);s.push(i),c++,n.set(c,o)}}}return{text:s.join("\n"),lineMap:n}}(0,l.K)(m,"isBoxDrawingFormat"),(0,l.K)(b,"inferSegmentWidth"),(0,l.K)(y,"remapErrorLines"),(0,l.K)(k,"preprocessBoxDrawing");var $=new i.m(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),v=(0,l.K)(()=>{$.reset(),(0,a.IU)()},"clear"),C=(0,l.K)(()=>$.records.stack[0],"getRoot"),K=(0,l.K)(()=>$.records.cnt,"getCount"),V=a.UI.treeView,B=(0,l.K)(()=>(0,c.$t)(V,(0,a.zj)().treeView),"getConfig"),T={clear:v,addNode:(0,l.K)((e,t,n,i,o,r)=>{for(;e<=$.records.stack[$.records.stack.length-1].level;)$.records.stack.pop();const s={id:$.records.cnt++,level:e,name:t,nodeType:n,icon:o,cssClass:i,description:r,children:[]};$.records.stack[$.records.stack.length-1].children.push(s),$.records.stack.push(s)},"addNode"),getRoot:C,getCount:K,getConfig:B,getAccTitle:a.iN,getAccDescription:a.m7,getDiagramTitle:a.ab,setAccDescription:a.EI,setAccTitle:a.SV,setDiagramTitle:a.ke},I=(0,l.K)(e=>{(0,o.S)(e,T);for(const t of e.nodes){const e="number"==typeof t.indent?t.indent:0;let n=t.name;const i=n.endsWith("/");i&&(n=n.slice(0,-1));const o=i?"directory":"file",r=t.classAnnotation||void 0,s=t.iconAnnotation,c=void 0!==s?s||"none":void 0,d=t.descAnnotation||void 0,l=d?(0,a.jZ)(d,(0,a.zj)()):void 0;T.addNode(e,n,o,r,c,l)}},"populate"),M={parse:(0,l.K)(async e=>{const{text:t,lineMap:n}=k(e);try{const e=await(0,h.qg)("treeView",t);d.R.debug(e),I(e)}catch(e){throw n.size>0&&e instanceof Error&&(e.message=y(e.message,n)),e}},"parse")},D={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function A(e,t){const n=t?.filenameIcons?.[e];if(n)return n;const i=e.lastIndexOf(".");if(i>0){const n=e.substring(i).toLowerCase(),o=t?.extensionIcons;return o?.[n]??o?.[n.slice(1)]}}function E(e,t){return e.includes(":")?e:e in D.icons||!t?`${D.prefix}:${e}`:`${t}:${e}`}function S(e,t){if("none"!==e.icon){if(e.icon)return E(e.icon,t.defaultIconPack);if(t.showIcons){if("file"===e.nodeType){const n=A(e.name,t);if("none"===n)return;if(n)return E(n,t.defaultIconPack)}return`${D.prefix}:${"directory"===e.nodeType?"folder":"file"}`}}}(0,l.K)(A,"detectIcon"),(0,l.K)(E,"qualifyIcon"),(0,l.K)(S,"getNodeIcon"),(0,s.pC)([{name:D.prefix,icons:D}]);var z=(0,l.K)(async(e,t)=>{const n=[],i=(0,l.K)(e=>{const o=S(e,t);o&&n.push({icon:o,node:e}),e.children.forEach(i)},"collect");i(e);const o=await Promise.all(n.map(async({icon:e,node:t})=>({id:t.id,svg:await(0,s.WY)(e,{height:14,width:14})})));return new Map(o.map(({id:e,svg:t})=>[e,t]))},"resolveNodeIcons"),N=(0,l.K)((e,t,n,i,o,r)=>{const s=i.append("g");let c="treeView-node-label";"directory"===n.nodeType&&(c+=" treeView-node-dir"),n.cssClass&&(c+=` ${n.cssClass}`);const a=S(n,o),d=void 0!==a;a&&s.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${e+o.paddingX}, ${t+o.paddingY})`).html(r.get(n.id)??"");const l=s.append("text").text(n.name).attr("dominant-baseline","middle").attr("class",c),{height:h,width:p}=l.node().getBBox(),g=h+2*o.paddingY,f=e+o.paddingX+(d?18:0);l.attr("x",f),l.attr("y",t+g/2);const u=f+p,w=p+2*o.paddingX+(d?18:0);return n.BBox={x:e,y:t,width:w,height:g},n.cssClass?.split(/\s+/).includes("highlight")&&s.insert("rect",":first-child").attr("x",e).attr("y",t+1).attr("width",0).attr("height",g-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:n,nodeGroup:s,labelRightEdge:u,centerY:t+g/2}},"positionLabel"),R=(0,l.K)((e,t,n,i,o,r)=>e.append("line").attr("x1",t).attr("y1",n).attr("x2",i).attr("y2",o).attr("stroke-width",r).attr("class","treeView-node-line"),"positionLine"),X=(0,l.K)((e,t,n,i)=>{let o=0,r=0;const s=[],c=(0,l.K)((e,t,n,c)=>{const a=c*(n.rowIndent+n.paddingX),d=N(a,o,t,e,n,i);s.push(d);const{height:l,width:h}=t.BBox;R(e,a-n.rowIndent,o+l/2,a,o+l/2,n.lineThickness),r=Math.max(r,a+h),o+=l},"drawNode"),a=(0,l.K)((t,i=0)=>{c(e,t,n,i),t.children.forEach(e=>{a(e,i+1)});const{x:o,y:r,height:s}=t.BBox;if(t.children.length){const{y:i,height:c}=t.children[t.children.length-1].BBox;R(e,o+n.paddingX,r+s,o+n.paddingX,i+c/2+n.lineThickness/2,n.lineThickness)}},"processNode");a(t);const d=s.filter(e=>e.node.description);if(d.length>0){const e=Math.max(...s.map(e=>e.labelRightEdge))+16;for(const t of d){const i=t.nodeGroup.append("text").text(t.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",e).attr("y",t.centerY).node().getBBox();r=Math.max(r,e+i.width+n.paddingX)}}for(const e of s)if(e.node.cssClass?.split(/\s+/).includes("highlight")){const t=e.nodeGroup.select(".treeView-highlight-bg");if(!t.empty()){const n=r-e.node.BBox.x+8;t.attr("width",n),r=Math.max(r,e.node.BBox.x+n+2)}}return{totalHeight:o,totalWidth:r}},"drawTree"),L={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},W={db:T,renderer:{draw:(0,l.K)(async(e,t,n,i)=>{d.R.debug("Rendering treeView diagram\n"+e);const o=i.db,s=o.getRoot(),c=o.getConfig(),l=(0,r.D)(t),h=l.append("g");h.attr("class","tree-view");const p=await z(s,c),{totalHeight:g,totalWidth:f}=X(h,s,c,p);l.attr("viewBox",`-${c.lineThickness/2} 0 ${f} ${g}`),(0,a.a$)(l,g,f,c.useMaxWidth)},"draw")},parser:M,styles:(0,l.K)(({treeView:e})=>{const{labelFontSize:t,labelColor:n,lineColor:i,iconColor:o,descriptionColor:r,highlightBg:s,highlightStroke:a}=(0,c.$t)(L,e);return`\n .treeView-node-label {\n font-size: ${t};\n fill: ${n};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${i};\n }\n .treeView-node-icon {\n color: ${o};\n }\n .treeView-node-description {\n font-size: ${t};\n fill: ${r};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${s};\n stroke: ${a};\n stroke-width: 1;\n }\n `},"styles")}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6095],{46095(e,t,r){r.r(t),r.d(t,{applyDagreLayoutResult:()=>C,getEdgesToRender:()=>b,measureDagreLayout:()=>v,prepareLayoutForDagre:()=>T,render:()=>I,runDagreLayoutCore:()=>K});var a=r(51634),n=r(68741),o=r(31139),i=r(26388),d=r(92662),s=(r(27280),r(56289),r(19831),r(73145),r(20886)),g=r(84828),l=r(27698),h=r(84193),p=r(697),c=(0,l.K)((e,t,r)=>Math.max(t,Math.min(r,e)),"clamp"),u=(0,l.K)((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),f=(0,l.K)(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e||"er"===e||"classDiagram"===e,"shouldMergeSelfLoopSegments"),y=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],m=(0,l.K)((e,t,r,a,n)=>{const o=[],i=new Set;if(r.forEach(({start:e,end:t})=>{e!==a&&i.add(e),t!==a&&i.add(t)}),i.forEach(t=>{const r=e.node(t);"number"==typeof r?.x&&"number"==typeof r?.y&&o.push(r)}),0===o.length&&r.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&o.push(e)})}),0===o.length)return u(n);const d=o.reduce((e,t)=>({x:e.x+t.x/o.length,y:e.y+t.y/o.length}),{x:0,y:0}),s=d.x-t.x,g=d.y-t.y;return Math.abs(s)>Math.abs(g)?s>0?"right":"left":Math.abs(g)>0?g>0?"bottom":"top":u(n)},"getSelfLoopSide"),L=(0,l.K)((e,t="top",r=0,a=0)=>{const n=e.x,o=e.y-r,i=e.width/2,d=e.height/2,s=Math.max(36,Math.min(100,.8*e.width)),g=c(Math.max(a,.35*e.width),36,s),l=c(.45*Math.min(e.width,e.height),24,48);switch(t){case"bottom":{const e=o+d;return[{x:n-g/2,y:e},{x:n-g/2,y:e+l},{x:n+g/2,y:e+l},{x:n+g/2,y:e}]}case"right":{const e=n+i;return[{x:e,y:o-g/2},{x:e+l,y:o-g/2},{x:e+l,y:o+g/2},{x:e,y:o+g/2}]}case"left":{const e=n-i;return[{x:e,y:o-g/2},{x:e-l,y:o-g/2},{x:e-l,y:o+g/2},{x:e,y:o+g/2}]}default:{const e=o-d;return[{x:n-g/2,y:e},{x:n-g/2,y:e-l},{x:n+g/2,y:e-l},{x:n+g/2,y:e}]}}},"getSelfLoopPoints"),w=(0,l.K)((e,t,r="top",a=0,n={})=>{const o=e.x,i=e.y-a,d=n.width??0,s=n.height??0;switch(r){case"bottom":return{x:o,y:Math.max(...t.map(e=>e.y))+s/2+4};case"right":return{x:Math.max(...t.map(e=>e.x))+d/2+4,y:i};case"left":return{x:Math.min(...t.map(e=>e.x))-d/2-4,y:i};default:return{x:o,y:Math.min(...t.map(e=>e.y))-s/2-4}}},"getSelfLoopLabelPosition"),b=(0,l.K)((e,t=0,{mergeSelfLoops:r=!0}={})=>{const a=new Map,n=[],o=e.graph()?.rankdir;return e.edges().forEach(t=>{const o=e.edge(t);if(r&&o.selfLoop){const e=o.selfLoop.id;a.has(e)||a.set(e,[]),a.get(e).push({edge:o,start:t.v,end:t.w})}else n.push({edge:o,start:t.v,end:t.w})}),a.forEach(r=>{if(3!==r.length)return void r.forEach(e=>n.push(e));r.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);const[a,i,d]=r,s=a.edge.originalEdge??i.edge.originalEdge??d.edge.originalEdge??i.edge,g=e.node(s.start);if(!g)return void r.forEach(e=>n.push(e));const l={width:i.edge.width,height:i.edge.height},h=m(e,g,r,s.start,o),p=L(g,h,t,l.width??0),c=w(g,p,h,t,l),u={...i.edge,...s,id:s.id,points:p,start:s.start,end:s.end,x:c.x,y:c.y,width:l.width,height:l.height,labelStyle:i.edge.labelStyle,fromCluster:a.edge.fromCluster??i.edge.fromCluster??d.edge.fromCluster,toCluster:a.edge.toCluster??i.edge.toCluster??d.edge.toCluster};delete u.selfLoop,delete u.originalEdge,n.push({edge:u,start:u.start,end:u.end})}),n},"getEdgesToRender"),x=(0,l.K)(async({element:e,graph:t,diagramType:r,id:n,parentCluster:s,siteConfig:h})=>{const p=t.graph().rankdir;g.R.trace("Dir in recursive render - dir:",p);const{clusters:c,edgePaths:u,edgeLabels:y,nodes:m,rootGroups:L}=(0,a.B)(e,{edgePathsClass:"edgePaths"});t.nodes()?g.R.info("Recursive render XXX",t.nodes()):g.R.info("No nodes found for",t),t.edges().length>0&&g.R.info("Recursive edges",t.edge(t.edges()[0]));const w=f(r);await Promise.all(t.nodes().map(async function(e){const o=t.node(e);if(void 0!==s){const r=JSON.parse(JSON.stringify(s.clusterData));g.R.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",r.height,"\nParent cluster",s.height),t.setNode(s.id,r),t.parent(e)||(g.R.trace("Setting parent",e,s.id),t.setParent(e,s.id,r))}if(g.R.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),o?.clusterNode){g.R.info("Cluster identified XBX",e,o.width,t.node(e));const{ranksep:a,nodesep:s}=t.graph();o.graph.setGraph({...o.graph.graph(),ranksep:a+25,nodesep:s});const l=await D({element:m,graph:o.graph,diagramType:r,id:n,parentCluster:t.node(e),siteConfig:h}),p=l.elem;(0,d.lC)(o,p),o.diff=l.diff||0,g.R.info("New compound node after recursive render XAX",e,"width",o.width,"height",o.height),(0,i.U7)(p,o)}else t.children(e).length>0?(g.R.trace("Cluster - the non recursive path XBX",e,o.id,o,o.width,"Graph:",t),g.R.trace((0,a.dc)(o.id,t)),a.ju.set(o.id,{id:(0,a.dc)(o.id,t),node:o})):(g.R.trace("Node - the non recursive path XAX",e,m,t.node(e),p),await(0,a.sv)(m,t.node(e),{config:h,dir:p}))}));const b=(0,l.K)(async()=>{const e=t.edges().map(async function(e){const r=t.edge(e.v,e.w,e.name);if(g.R.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),g.R.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),g.R.info("Fix",a.ju,"ids:",e.v,e.w,"Translating: ",a.ju.get(e.v),a.ju.get(e.w)),w&&r.selfLoop){if(1!==r.selfLoop.order)return;const e={...r.originalEdge,...r,id:r.selfLoop.id,startLabelLeft:r.originalEdge?.startLabelLeft??r.startLabelLeft,startLabelRight:r.originalEdge?.startLabelRight??r.startLabelRight,endLabelLeft:r.originalEdge?.endLabelLeft??r.endLabelLeft,endLabelRight:r.originalEdge?.endLabelRight??r.endLabelRight};return await(0,o.jP)(y,e),r.width=e.width,r.height=e.height,void(r.labelStyle=e.labelStyle)}await(0,o.jP)(y,r)});await Promise.all(e)},"processEdges");await b();const{subGraphTitleTotalMargin:x}=(0,i.Oi)(h);return{elem:L,graph:t,groups:{clusters:c,edgePaths:u,edgeLabels:y,nodes:m,rootGroups:L},diagramType:r,id:n,mergeSelfLoops:w,subGraphTitleTotalMargin:x}},"measureDagreGraph"),R=(0,l.K)(e=>{g.R.info("############################################# XXX"),g.R.info("### Layout ### XXX"),g.R.info("############################################# XXX"),(0,h.Zp)(e)},"runDagreGraphLayout"),E=(0,l.K)((e,t,r)=>{const a=e.node(t);if(!a)return;const n={...a};return a?.clusterNode?n.y=(a.y??0)+r:e.children(t).length>0?n.height=(a.height??0)+r:n.y=(a.y??0)+r/2,n},"normalizeDagreNode"),S=(0,l.K)((e,t)=>{y.forEach(r=>{void 0!==t[r]&&(e[r]=t[r])})},"applyDagreNodeLayout"),X=(0,l.K)((e,t,r,a)=>({...e,start:e.start??t,end:e.end??r,points:(e.points??[]).map(e=>({...e,y:"number"==typeof e.y?e.y+a:e.y}))}),"normalizeDagreEdge"),C=(0,l.K)((e,t)=>{const{graph:r,mergeSelfLoops:n,subGraphTitleTotalMargin:o=0}=t,i=new Map(e.nodes.map(e=>[e.id,e]));(0,a.sc)(r).forEach(e=>{const t=E(r,e,o);if(!t)return;S(r.node(e),t);const a=i.get(e);a&&S(a,t)});const d=o/2;return e.edges=b(r,d,{mergeSelfLoops:n}).map(({edge:e,start:t,end:r})=>X(e,t,r,d)),e},"applyDagreLayoutResult"),N=(0,l.K)(async({elem:e,graph:t,groups:{clusters:r,edgePaths:d},diagramType:s,id:l,mergeSelfLoops:h,subGraphTitleTotalMargin:p})=>{let c=0;await Promise.all((0,a.sc)(t).map(async function(e){const o=t.node(e);if(g.R.info("Position XBX => "+e+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o?.clusterNode)o.y+=p,g.R.info("A tainted cluster node XBX1",e,o.id,o.width,o.height,o.x,o.y,t.parent(e)),a.ju.get(o.id).node=o,(0,i.U_)(o);else if(t.children(e).length>0){g.R.info("A pure cluster node XBX1",e,o.id,o.x,o.y,o.width,o.height,t.parent(e)),o.height+=p,t.node(o.parentId);const i=o?.padding/2||0,d=o?.labelBBox?.height||0,s=d-i||0;g.R.debug("OffsetY",s,"labelHeight",d,"halfPadding",i),await(0,n.U)(r,o),a.ju.get(o.id).node=o}else{const e=t.node(o.parentId);o.y+=p/2,g.R.info("A regular node XBX1 - using the padding",o.id,"parent",o.parentId,o.width,o.height,o.x,o.y,"offsetY",o.offsetY,"parent",e,e?.offsetY,o),(0,i.U_)(o)}}));const u=p/2;return b(t,u,{mergeSelfLoops:h}).forEach(function({edge:e,start:r,end:n}){g.R.info("Edge "+r+" -> "+n+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=u);const i=t.node(r),h=t.node(n),p=(0,o.Jo)(d,e,a.ju,s,i,h,l);(0,o.T_)(e,p)}),t.nodes().forEach(function(e){const r=t.node(e);g.R.info(e,r.type,r.diff),r.isGroup&&(c=r.diff)}),g.R.warn("Returning from recursive render XAX",e,c),{elem:e,diff:c}},"paintDagreLayoutCore"),D=(0,l.K)(async e=>{const t=await x(e);return R(t.graph),await N(t)},"renderDagreSubgraph"),T=(0,l.K)(e=>{const t=new p.T({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{t.setNode(e.id,{...e}),e.parentId&&t.setParent(e.id,e.parentId)}),g.R.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){const r=e.start,a=r+"---"+r+"---1",n=r+"---"+r+"---2",o=t.node(r);t.setNode(a,{domId:a,id:a,parentId:o.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setParent(a,o.parentId),t.setNode(n,{domId:n,id:n,parentId:o.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),t.setParent(n,o.parentId);const i=structuredClone(e),d=structuredClone(e),s=structuredClone(e),g=structuredClone(e);d.originalEdge=i,d.selfLoop={id:i.id,order:0},s.originalEdge=i,s.selfLoop={id:i.id,order:1},g.originalEdge=i,g.selfLoop={id:i.id,order:2},d.label="",d.arrowTypeEnd="none",d.endLabelLeft="",d.endLabelRight="",d.startLabelLeft="",d.id=r+"-cyclic-special-1",s.startLabelRight="",s.startLabelLeft="",s.endLabelLeft="",s.endLabelRight="",s.arrowTypeStart="none",s.arrowTypeEnd="none",s.id=r+"-cyclic-special-mid",g.label="",g.startLabelRight="",g.startLabelLeft="",g.arrowTypeStart="none",o.isGroup&&(d.fromCluster=r,g.toCluster=r),g.id=r+"-cyclic-special-2",g.arrowTypeStart="none",t.setEdge(r,a,d,r+"-cyclic-special-0"),t.setEdge(a,n,s,r+"-cyclic-special-1"),t.setEdge(n,r,g,r+"-cyclic-special-2")}else t.setEdge(e.start,e.end,{...e},e.id)}),(0,a.OS)(t),{graph:t}},"prepareLayoutForDagre"),v=(0,l.K)(async(e,{element:t,preparedLayout:r})=>{const a=r??T(e),n=(0,s.D7)(),o=await x({element:t,graph:a.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:n});return a.measuredLayout=o,o},"measureDagreLayout"),K=(0,l.K)((e,t)=>{const r=t.preparedLayout?.measuredLayout;if(!r)throw new Error("runDagreLayoutCore requires measureDagreLayout to run first");return R(r.graph),C(e,r),r},"runDagreLayoutCore"),M=(0,l.K)((e,{measure:t})=>(0,a.sc)(t.graph).map(e=>t.graph.node(e)).filter(Boolean),"getDagrePaintNodes"),P=(0,l.K)((e,t,{measure:r})=>e?r.graph.node(e):void 0,"getDagreEdgeNode"),I=(0,a.xY)({prepareLayout:T,measureLayout:v,runLayoutCore:K,paintOptions:{clusterDb:a.ju,getNodes:M,getEdgeNode:P,skipNode:(0,l.K)((e,{measure:t})=>!t.graph.hasNode(e.id),"skipNode"),isCluster:(0,l.K)((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,"isCluster")}})}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6114],{6114(e,t,s){s.d(t,{diagram:()=>ye});var n=s(37703),i=s(31139),r=s(26388),o=(s(92662),s(27280),s(56289),s(19831),s(73145)),a=s(20886),c=s(84828),l=s(27698),h=s(33778),g=s(25582),u=s(75937),d=s(51444),y=s(697),p=function(){var e=(0,l.K)(function(e,t,s,n){for(s=s||{},n=e.length;n--;s[e[n]]=t);return s},"o"),t=[1,15],s=[1,7],n=[1,13],i=[1,14],r=[1,19],o=[1,16],a=[1,17],c=[1,18],h=[8,30],g=[8,10,21,28,29,30,31,39,43,46],u=[1,23],d=[1,24],y=[8,10,15,16,21,28,29,30,31,39,43,46],p=[8,10,15,16,21,27,28,29,30,31,39,43,46],b=[1,49],f={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:(0,l.K)(function(e,t,s,n,i,r,o){var a=r.length-1;switch(i){case 4:n.getLogger().debug("Rule: separator (NL) ");break;case 5:n.getLogger().debug("Rule: separator (Space) ");break;case 6:n.getLogger().debug("Rule: separator (EOF) ");break;case 7:n.getLogger().debug("Rule: hierarchy: ",r[a-1]),n.setHierarchy(r[a-1]);break;case 8:n.getLogger().debug("Stop NL ");break;case 9:n.getLogger().debug("Stop EOF ");break;case 10:n.getLogger().debug("Stop NL2 ");break;case 11:n.getLogger().debug("Stop EOF2 ");break;case 12:n.getLogger().debug("Rule: statement: ",r[a]),"number"==typeof r[a].length?this.$=r[a]:this.$=[r[a]];break;case 13:n.getLogger().debug("Rule: statement #2: ",r[a-1]),this.$=[r[a-1]].concat(r[a]);break;case 14:n.getLogger().debug("Rule: link: ",r[a],e),this.$={edgeTypeStr:r[a],label:""};break;case 15:n.getLogger().debug("Rule: LABEL link: ",r[a-3],r[a-1],r[a]),this.$={edgeTypeStr:r[a],label:r[a-1]};break;case 18:const t=parseInt(r[a]),s=n.generateId();this.$={id:s,type:"space",label:"",width:t,children:[]};break;case 23:n.getLogger().debug("Rule: (nodeStatement link node) ",r[a-2],r[a-1],r[a]," typestr: ",r[a-1].edgeTypeStr);const i=n.edgeStrToEdgeData(r[a-1].edgeTypeStr),o=n.edgeStrToEdgeStartData(r[a-1].edgeTypeStr),c=n.edgeStrToThickness(r[a-1].edgeTypeStr),l=n.edgeStrToPattern(r[a-1].edgeTypeStr);this.$=[{id:r[a-2].id,label:r[a-2].label,type:r[a-2].type,directions:r[a-2].directions},{id:r[a-2].id+"-"+r[a].id,start:r[a-2].id,end:r[a].id,label:r[a-1].label,type:"edge",thickness:c,pattern:l,directions:r[a].directions,arrowTypeEnd:i,arrowTypeStart:o},{id:r[a].id,label:r[a].label,type:n.typeStr2Type(r[a].typeStr),directions:r[a].directions}];break;case 24:n.getLogger().debug("Rule: nodeStatement (abc88 node size) ",r[a-1],r[a]),this.$={id:r[a-1].id,label:r[a-1].label,type:n.typeStr2Type(r[a-1].typeStr),directions:r[a-1].directions,widthInColumns:parseInt(r[a],10)};break;case 25:n.getLogger().debug("Rule: nodeStatement (node) ",r[a]),this.$={id:r[a].id,label:r[a].label,type:n.typeStr2Type(r[a].typeStr),directions:r[a].directions,widthInColumns:1};break;case 26:n.getLogger().debug("APA123",this?this:"na"),n.getLogger().debug("COLUMNS: ",r[a]),this.$={type:"column-setting",columns:"auto"===r[a]?-1:parseInt(r[a])};break;case 27:n.getLogger().debug("Rule: id-block statement : ",r[a-2],r[a-1]);n.generateId();this.$={...r[a-2],type:"composite",children:r[a-1]};break;case 28:n.getLogger().debug("Rule: blockStatement : ",r[a-2],r[a-1],r[a]);const h=n.generateId();this.$={id:h,type:"composite",label:"",children:r[a-1]};break;case 29:n.getLogger().debug("Rule: node (NODE_ID separator): ",r[a]),this.$={id:r[a]};break;case 30:n.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",r[a-1],r[a]),this.$={id:r[a-1],label:r[a].label,typeStr:r[a].typeStr,directions:r[a].directions};break;case 31:n.getLogger().debug("Rule: dirList: ",r[a]),this.$=[r[a]];break;case 32:n.getLogger().debug("Rule: dirList: ",r[a-1],r[a]),this.$=[r[a-1]].concat(r[a]);break;case 33:n.getLogger().debug("Rule: nodeShapeNLabel: ",r[a-2],r[a-1],r[a]),this.$={typeStr:r[a-2]+r[a],label:r[a-1]};break;case 34:n.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",r[a-3],r[a-2]," #3:",r[a-1],r[a]),this.$={typeStr:r[a-3]+r[a],label:r[a-2],directions:r[a-1]};break;case 35:case 36:this.$={type:"classDef",id:r[a-1].trim(),css:r[a].trim()};break;case 37:this.$={type:"applyClass",id:r[a-1].trim(),styleClass:r[a].trim()};break;case 38:this.$={type:"applyStyles",id:r[a-1].trim(),stylesStr:r[a].trim()}}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:r,39:o,43:a,46:c},{8:[1,20]},e(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:s,28:n,29:i,31:r,39:o,43:a,46:c}),e(g,[2,16],{14:22,15:u,16:d}),e(g,[2,17]),e(g,[2,18]),e(g,[2,19]),e(g,[2,20]),e(g,[2,21]),e(g,[2,22]),e(y,[2,25],{27:[1,25]}),e(g,[2,26]),{19:26,26:12,31:r},{10:t,11:27,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:r,39:o,43:a,46:c},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(p,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(h,[2,13]),{26:35,31:r},{31:[2,14]},{17:[1,36]},e(y,[2,24]),{10:t,11:37,13:4,14:22,15:u,16:d,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:r,39:o,43:a,46:c},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(p,[2,30]),{18:[1,43]},{18:[1,44]},e(y,[2,23]),{18:[1,45]},{30:[1,46]},e(g,[2,28]),e(g,[2,35]),e(g,[2,36]),e(g,[2,37]),e(g,[2,38]),{36:[1,47]},{33:48,34:b},{15:[1,50]},e(g,[2,27]),e(p,[2,33]),{38:[1,51]},{33:52,34:b,38:[2,31]},{31:[2,15]},e(p,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:(0,l.K)(function(e,t){if(!t.recoverable){var s=new Error(e);throw s.hash=t,s}this.trace(e)},"parseError"),parse:(0,l.K)(function(e){var t=this,s=[0],n=[],i=[null],r=[],o=this.table,a="",c=0,h=0,g=0,u=r.slice.call(arguments,1),d=Object.create(this.lexer),y={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(y.yy[p]=this.yy[p]);d.setInput(e,y.yy),y.yy.lexer=d,y.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;r.push(b);var f=d.options&&d.options.ranges;function x(){var e;return"number"!=typeof(e=n.pop()||d.lex()||1)&&(e instanceof Array&&(e=(n=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(e){s.length=s.length-2*e,i.length=i.length-e,r.length=r.length-e},"popStack"),(0,l.K)(x,"lex");for(var S,m,L,_,k,w,E,D,I,T={};;){if(L=s[s.length-1],this.defaultActions[L]?_=this.defaultActions[L]:(null==S&&(S=x()),_=o[L]&&o[L][S]),void 0===_||!_.length||!_[0]){var $="";for(w in I=[],o[L])this.terminals_[w]&&w>2&&I.push("'"+this.terminals_[w]+"'");$=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[S]||S)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==S?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError($,{text:d.match,token:this.terminals_[S]||S,line:d.yylineno,loc:b,expected:I})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+S);switch(_[0]){case 1:s.push(S),i.push(d.yytext),r.push(d.yylloc),s.push(_[1]),S=null,m?(S=m,m=null):(h=d.yyleng,a=d.yytext,c=d.yylineno,b=d.yylloc,g>0&&g--);break;case 2:if(E=this.productions_[_[1]][1],T.$=i[i.length-E],T._$={first_line:r[r.length-(E||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(E||1)].first_column,last_column:r[r.length-1].last_column},f&&(T._$.range=[r[r.length-(E||1)].range[0],r[r.length-1].range[1]]),void 0!==(k=this.performAction.apply(T,[a,h,c,y.yy,_[1],i,r].concat(u))))return k;E&&(s=s.slice(0,-1*E*2),i=i.slice(0,-1*E),r=r.slice(0,-1*E)),s.push(this.productions_[_[1]][0]),i.push(T.$),r.push(T._$),D=o[s[s.length-2]][s[s.length-1]],s.push(D);break;case 3:return!0}}return!0},"parse")},x=function(){return{EOF:1,parseError:(0,l.K)(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:(0,l.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,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:(0,l.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,l.K)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),s.length-1&&(this.yylineno-=s.length-1);var i=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:s?(s.length===n.length?this.yylloc.first_column:0)+n[n.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,l.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,l.K)(function(e,t){var s,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var r in i)this[r]=i[r];return!1}return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;var e,t,s,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),r=0;r<i.length;r++)if((s=this._input.match(this.rules[i[r]]))&&(!t||s[0].length>t[0].length)){if(t=s,n=r,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,i[r])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,l.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(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:(0,l.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,l.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,l.K)(function(e,t,s,n){switch(s){case 0:return e.getLogger().debug("Found block-beta"),10;case 1:return e.getLogger().debug("Found id-block"),29;case 2:return e.getLogger().debug("Found block"),10;case 3:e.getLogger().debug(".",t.yytext);break;case 4:e.getLogger().debug("_",t.yytext);break;case 5:return 5;case 6:return t.yytext=-1,28;case 7:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 8:case 76:case 77:case 99:this.pushState("md_string");break;case 9:return"MD_STR";case 10:case 34:case 79:this.popState();break;case 11:this.pushState("string");break;case 12:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 13:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 14:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 15:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:case 38:case 40:case 41:case 44:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 42:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:case 49:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:case 59:case 60:case 61:case 64:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 62:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 65:case 66:case 67:case 68:case 69:case 70:case 71:return this.pushState("NODE"),35;case 72:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),37;case 74:return e.getLogger().debug("Lex: NODE_ID",t.yytext),31;case 75:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 78:return"NODE_DESCR";case 80:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:e.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return e.getLogger().debug("LEX: NODE_DESCR:",t.yytext),"NODE_DESCR";case 83:e.getLogger().debug("LEX POPPING"),this.popState();break;case 84:e.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (right): dir:",t.yytext),"DIR";case 86:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (left):",t.yytext),"DIR";case 87:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (x):",t.yytext),"DIR";case 88:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (y):",t.yytext),"DIR";case 89:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (up):",t.yytext),"DIR";case 90:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (down):",t.yytext),"DIR";case 91:return t.yytext="]>",e.getLogger().debug("Lex (ARROW_DIR end):",t.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 93:case 94:case 95:return e.getLogger().debug("Lex: LINK",t.yytext),15;case 96:case 97:case 98:return e.getLogger().debug("Lex: START_LINK",t.yytext),this.pushState("LLABEL"),16;case 100:return e.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 102:case 103:return this.popState(),e.getLogger().debug("Lex: LINK",t.yytext),15;case 104:return e.getLogger().debug("Lex: COLON",t.yytext),t.yytext=t.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}}}();function S(){this.yy={}}return f.lexer=x,(0,l.K)(S,"Parser"),S.prototype=f,f.Parser=S,new S}();p.parser=p;var b=p,f=new Map,x=[],S=new Map,m="color",L="fill",_=new Map,k="",w=(0,l.K)(e=>a.Y2.sanitizeText(e,(0,a.D7)()),"sanitizeText"),E=(0,l.K)(function(e,t=""){let s=_.get(e);s||(s={id:e,styles:[],textStyles:[]},_.set(e,s)),null!=t&&t.split(",").forEach(e=>{const t=e.replace(/([^;]*);/,"$1").trim();if(RegExp(m).exec(e)){const e=t.replace(L,"bgFill").replace(m,L);s.textStyles.push(e)}s.styles.push(t)})},"addStyleClass"),D=(0,l.K)(function(e,t=""){const s=f.get(e);null!=t&&(s.styles=t.split(","))},"addStyle2Node"),I=(0,l.K)(function(e,t){e.split(",").forEach(function(e){let s=f.get(e);if(void 0===s){const t=e.trim();s={id:t,type:"na",children:[]},f.set(t,s)}s.classes||(s.classes=[]),s.classes.push(t)})},"setCssClass"),T=(0,l.K)((e,t)=>{const s=e.flat(),n=[],i=s.find(e=>"column-setting"===e?.type),r=i?.columns??-1;for(const e of s)if("number"==typeof r&&r>0&&"column-setting"!==e.type&&"number"==typeof e.widthInColumns&&e.widthInColumns>r&&c.R.warn(`Block ${e.id} width ${e.widthInColumns} exceeds configured column width ${r}`),e.label&&(e.label=w(e.label)),"classDef"!==e.type)if("applyClass"!==e.type)if("applyStyles"!==e.type)if("column-setting"===e.type)t.columns=e.columns??-1;else if("edge"===e.type){const t=(S.get(e.id)??0)+1;S.set(e.id,t),e.id=t+"-"+e.id,x.push(e)}else{e.label||("composite"===e.type?e.label="":e.label=e.id);const t=f.get(e.id);if(void 0===t?f.set(e.id,e):("na"!==e.type&&(t.type=e.type),e.label!==e.id&&(t.label=e.label)),e.children&&T(e.children,e),"space"===e.type){const t=e.width??1;for(let s=0;s<t;s++){const t=(0,h.o)(e);t.id=t.id+"-"+s,f.set(t.id,t),n.push(t)}}else void 0===t&&n.push(e)}else e?.stylesStr&&D(e.id,e?.stylesStr);else I(e.id,e?.styleClass??"");else E(e.id,e.css);t.children=n},"populateBlockDatabase"),$=[],N={id:"root",type:"composite",children:[],columns:-1},O=(0,l.K)(()=>{c.R.debug("Clear called"),(0,a.IU)(),N={id:"root",type:"composite",children:[],columns:-1},f=new Map([["root",N]]),$=[],_=new Map,x=[],S=new Map,k=""},"clear");function R(e){switch(c.R.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return c.R.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function C(e){return c.R.debug("typeStr2Type",e),"=="===e?"thick":"normal"}function z(e){switch(e.trim().slice(-1)){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}function A(e){switch(e.trim().charAt(0)){case"x":return"arrow_cross";case"o":return"arrow_circle";case"<":return"arrow_point";default:return"arrow_open"}}function K(e){return e.includes("==")?"thick":"normal"}function v(e){return e.includes(".-")?"dotted":"solid"}(0,l.K)(R,"typeStr2Type"),(0,l.K)(C,"edgeTypeStr2Type"),(0,l.K)(z,"edgeStrToEdgeData"),(0,l.K)(A,"edgeStrToEdgeStartData"),(0,l.K)(K,"edgeStrToThickness"),(0,l.K)(v,"edgeStrToPattern");var B=0,P=(0,l.K)(()=>(B++,"id-"+Math.random().toString(36).substr(2,12)+"-"+B),"generateId"),F=(0,l.K)(e=>{N.children=e,T(e,N),$=N.children},"setHierarchy"),j=(0,l.K)(e=>{const t=f.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},"getColumns"),M=(0,l.K)(()=>[...f.values()],"getBlocksFlat"),Y=(0,l.K)(()=>$||[],"getBlocks"),X=(0,l.K)(()=>x,"getEdges"),W=(0,l.K)(e=>f.get(e),"getBlock"),U=(0,l.K)(e=>{f.set(e.id,e)},"setBlock"),G=(0,l.K)(e=>{k=e},"setDiagramId"),H=(0,l.K)(()=>k,"getDiagramId"),q=(0,l.K)(()=>c.R,"getLogger"),V=(0,l.K)(function(){return _},"getClasses"),Z={getConfig:(0,l.K)(()=>(0,a.zj)().block,"getConfig"),typeStr2Type:R,edgeTypeStr2Type:C,edgeStrToEdgeData:z,edgeStrToEdgeStartData:A,edgeStrToThickness:K,edgeStrToPattern:v,getLogger:q,getBlocksFlat:M,getBlocks:Y,getEdges:X,setHierarchy:F,getBlock:W,setBlock:U,getColumns:j,getClasses:V,clear:O,generateId:P,setDiagramId:G,getDiagramId:H},J=(0,l.K)((e,t)=>{const s=u.A,n=s(e,"r"),i=s(e,"g"),r=s(e,"b");return g.A(n,i,r,t)},"fade"),Q=(0,l.K)(e=>`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span {\n color: ${e.titleColor};\n }\n\n\n\n .label text,span {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePaths .path {\n stroke: ${e.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n /*\n * This is for backward compatibility with existing code that didn't\n * add a \`<p>\` around edge labels.\n *\n * TODO: We should probably remove this in a future release.\n */\n p {\n margin: 0;\n padding: 0;\n display: inline;\n }\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${e.edgeLabelBackground};\n }\n\n .node .cluster {\n // fill: ${J(e.mainBkg,.5)};\n fill: ${J(e.clusterBkg,.5)};\n stroke: ${J(e.clusterBorder,.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n ${(0,n.o)()}\n`,"getStyles");function ee(e,t){if(0===e||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw new Error("Position must be a non-negative integer."+t);if(e<0)return{px:t,py:0};if(1===e)return{px:0,py:t};return{px:t%e,py:Math.floor(t/e)}}(0,l.K)(ee,"calculateBlockPosition");var te=(0,l.K)(e=>{let t=0,s=0;for(const n of e.children){const{width:e,height:i,x:r,y:o}=n.size??{width:0,height:0,x:0,y:0};if(c.R.debug("getMaxChildSize abc95 child:",n.id,"width:",e,"height:",i,"x:",r,"y:",o,n.type),"space"===n.type)continue;const a=e/(n.widthInColumns??1);a>t&&(t=a),i>s&&(s=i)}return{width:t,height:s}},"getMaxChildSize");function se(e,t,s=0,n=0,i=8){c.R.debug("setBlockSizes abc95 (start)",e.id,e?.size?.x,"block width =",e?.size,"siblingWidth",s),e?.size?.width||(e.size={width:s,height:n,x:0,y:0});let r=0,o=0;if(e.children?.length>0){for(const s of e.children)se(s,t,0,0,i);const a=te(e);r=a.width,o=a.height,c.R.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",r,o);for(const t of e.children)t.size&&(c.R.debug(`abc95 Setting size of children of ${e.id} id=${t.id} ${r} ${o} ${JSON.stringify(t.size)}`),t.size.width=r*(t.widthInColumns??1)+i*((t.widthInColumns??1)-1),t.size.height=o,t.size.x=0,t.size.y=0,c.R.debug(`abc95 updating size of ${e.id} children child:${t.id} maxWidth:${r} maxHeight:${o}`));for(const s of e.children)se(s,t,r,o,i);const l=e.columns??-1;let h=0;for(const t of e.children)h+=t.widthInColumns??1;let g=e.children.length;l>0&&l<h&&(g=l);const u=Math.ceil(h/g);let d=g*(r+i)+i,y=u*(o+i)+i;if(d<s){c.R.debug(`Detected to small sibling: abc95 ${e.id} siblingWidth ${s} siblingHeight ${n} width ${d}`),d=s,y=n;const t=(s-g*i-i)/g,a=(n-u*i-i)/u;c.R.debug("Size indata abc88",e.id,"childWidth",t,"maxWidth",r),c.R.debug("Size indata abc88",e.id,"childHeight",a,"maxHeight",o),c.R.debug("Size indata abc88 xSize",g,"padding",i);for(const s of e.children)s.size&&(s.size.width=t,s.size.height=a,s.size.x=0,s.size.y=0)}if(c.R.debug(`abc95 (finale calc) ${e.id} xSize ${g} ySize ${u} columns ${l}${e.children.length} width=${Math.max(d,e.size?.width||0)}`),d<(e?.size?.width||0)){d=e?.size?.width||0;const t=l>0?Math.min(e.children.length,l):e.children.length;if(t>0){const s=(d-t*i-i)/t;c.R.debug("abc95 (growing to fit) width",e.id,d,e.size?.width,s);for(const t of e.children)t.size&&(t.size.width=s)}}e.size={width:d,height:y,x:0,y:0}}c.R.debug("setBlockSizes abc94 (done)",e.id,e?.size?.x,e?.size?.width,e?.size?.y,e?.size?.height)}function ne(e,t,s=8){c.R.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`);const n=e.columns??-1;if(c.R.debug("layoutBlocks columns abc95",e.id,"=>",n,e),e.children&&e.children.length>0){const i=e?.children[0]?.size?.width??0,r=e.children.length*i+(e.children.length-1)*s;c.R.debug("widthOfChildren 88",r,"posX");const o=new Map;{let t=0;for(const s of e.children){if(!s.size)continue;const{py:e}=ee(n,t),i=o.get(e)??0;s.size.height>i&&o.set(e,s.size.height);let r=s?.widthInColumns??1;n>0&&(r=Math.min(r,n-t%n)),t+=r}}const a=new Map;{let e=0;const t=[...o.keys()].sort((e,t)=>e-t);for(const n of t)a.set(n,e),e+=(o.get(n)??0)+s}let l=0;c.R.debug("abc91 block?.size?.x",e.id,e?.size?.x);let h=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-s,g=0;for(const i of e.children){const r=e;if(!i.size)continue;const{width:u,height:d}=i.size,{px:y,py:p}=ee(n,l);if(p!=g&&(g=p,h=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-s,c.R.debug("New row in layout for block",e.id," and child ",i.id,g)),c.R.debug(`abc89 layout blocks (child) id: ${i.id} Pos: ${l} (px, py) ${y},${p} (${r?.size?.x},${r?.size?.y}) parent: ${r.id} width: ${u}${s}`),r.size){const e=u/2;i.size.x=h+s+e,c.R.debug(`abc91 layout blocks (calc) px, pyid:${i.id} startingPos=X${h} new startingPosX${i.size.x} ${e} padding=${s} width=${u} halfWidth=${e} => x:${i.size.x} y:${i.size.y} ${i.widthInColumns} (width * (child?.w || 1)) / 2 ${u*(i?.widthInColumns??1)/2}`),h=i.size.x+e;const t=a.get(p)??0,n=o.get(p)??d;i.size.y=r.size.y-r.size.height/2+t+n/2+s,c.R.debug(`abc88 layout blocks (calc) px, pyid:${i.id}startingPosX${h}${s}${e}=>x:${i.size.x}y:${i.size.y}${i.widthInColumns}(width * (child?.w || 1)) / 2${u*(i?.widthInColumns??1)/2}`)}i.children&&ne(i,t,s);let b=i?.widthInColumns??1;n>0&&(b=Math.min(b,n-l%n)),l+=b,c.R.debug("abc88 columnsPos",i,l)}}c.R.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`)}function ie(e,{minX:t,minY:s,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&"root"!==e.id){const{x:r,y:o,width:a,height:c}=e.size;r-a/2<t&&(t=r-a/2),o-c/2<s&&(s=o-c/2),r+a/2>n&&(n=r+a/2),o+c/2>i&&(i=o+c/2)}if(e.children)for(const r of e.children)({minX:t,minY:s,maxX:n,maxY:i}=ie(r,{minX:t,minY:s,maxX:n,maxY:i}));return{minX:t,minY:s,maxX:n,maxY:i}}function re(e){const t=e.getBlock("root");if(!t)return;const s=(0,a.D7)()?.block?.padding??8;se(t,e,0,0,s),ne(t,e,s),c.R.debug("getBlocks",JSON.stringify(t,null,2));const{minX:n,minY:i,maxX:r,maxY:o}=ie(t);return{x:n,y:i,width:r-n,height:o-i}}function oe(e,t,s=!1){const n=e;let i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i+=" flowchart-label";const r=(n?.classes??[]).flatMap(e=>t.getClasses().get(e)?.styles??[]);let c,l=0,h="rect";switch(n.type){case"round":l=5,h="rect";break;case"composite":l=0,h="composite",c=0;break;case"square":case"group":default:h="rect";break;case"diamond":h="question";break;case"hexagon":h="hexagon";break;case"block_arrow":h="block_arrow";break;case"odd":case"rect_left_inv_arrow":h="rect_left_inv_arrow";break;case"lean_right":h="lean_right";break;case"lean_left":h="lean_left";break;case"trapezoid":h="trapezoid";break;case"inv_trapezoid":h="inv_trapezoid";break;case"circle":h="circle";break;case"ellipse":h="ellipse";break;case"stadium":h="stadium";break;case"subroutine":h="subroutine";break;case"cylinder":h="cylinder";break;case"doublecircle":h="doublecircle"}const g=(0,o.sM)(n?.styles??[]),u=n.label,d=n.size??{width:0,height:0,x:0,y:0},y=t.getDiagramId();return{labelStyle:g.labelStyle,shape:h,label:u,labelText:u,rx:l,ry:l,class:i,cssClasses:i,cssStyles:n?.styles??[],cssCompiledStyles:r,style:g.style,id:n.id,domId:y?`${y}-${n.id}`:n.id,isGroup:!1,directions:n.directions,width:d.width||void 0,height:d.height||void 0,wrappingWidth:d.width||Number.POSITIVE_INFINITY,x:d.x,y:d.y,positioned:s,intersect:void 0,padding:c??(0,a.zj)()?.block?.padding??0,widthInColumns:n.widthInColumns??1}}async function ae(e,t,s){const n=oe(t,s,!1);if("group"===t.type)return;const i=(0,a.zj)(),o=await(0,r.on)(e,n,{config:i}),c=o.node()?.getBBox()??{width:0,height:0},l=s.getBlock(n.id);l.size={width:c.width,height:c.height,x:0,y:0,node:o},s.setBlock(l),o.remove()}async function ce(e,t,s){const n=oe(t,s,!0);if("space"!==s.getBlock(n.id).type){const s=(0,a.zj)();await(0,r.on)(e,n,{config:s}),t.intersect=n?.intersect,(0,r.U_)(n)}}async function le(e,t,s,n){for(const i of t)await n(e,i,s),i.children&&await le(e,i.children,s,n)}async function he(e,t,s){await le(e,t,s,ae)}async function ge(e,t,s){await le(e,t,s,ce)}async function ue(e,t,s,n,r){const o=new y.T({multigraph:!0,compound:!0});o.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const e of s)e.size&&o.setNode(e.id,{width:e.size.width,height:e.size.height,intersect:e.intersect});for(const s of t)if(s.start&&s.end){const t=n.getBlock(s.start),a=n.getBlock(s.end);if(t?.size&&a?.size){const n=t.size,c=a.size,l=[{x:n.x,y:n.y},{x:n.x+(c.x-n.x)/2,y:n.y+(c.y-n.y)/2},{x:c.x,y:c.y}],h=r?`${r}-${s.id}`:s.id,g=`${"thick"===s.thickness?"edge-thickness-thick":"edge-thickness-normal"} ${"dotted"===s.pattern?"edge-pattern-dotted":"edge-pattern-solid"} flowchart-link LS-a1 LE-b1`;(0,i.Jo)(e,{...s,id:h,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:l,classes:g},{},"block",o.node(s.start),o.node(s.end),r),s.label&&(await(0,i.jP)(e,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:l,classes:g}),(0,i.T_)({...s,x:l[1].x,y:l[1].y},{originalPath:l}))}}}(0,l.K)(se,"setBlockSizes"),(0,l.K)(ne,"layoutBlocks"),(0,l.K)(ie,"findBounds"),(0,l.K)(re,"layout"),(0,l.K)(oe,"getNodeFromBlock"),(0,l.K)(ae,"calculateBlockSize"),(0,l.K)(ce,"insertBlockPositioned"),(0,l.K)(le,"performOperations"),(0,l.K)(he,"calculateBlockSizes"),(0,l.K)(ge,"insertBlocks"),(0,l.K)(ue,"insertEdges");var de=(0,l.K)(function(e,t){return t.db.getClasses()},"getClasses"),ye={parser:b,db:Z,renderer:{draw:(0,l.K)(async function(e,t,s,n){const{securityLevel:r,block:o}=(0,a.zj)(),l=n.db;let h;l.setDiagramId(t),"sandbox"===r&&(h=(0,d.Ltv)("#i"+t));const g="sandbox"===r?(0,d.Ltv)(h.nodes()[0].contentDocument.body):(0,d.Ltv)("body"),u="sandbox"===r?g.select(`[id="${t}"]`):(0,d.Ltv)(`[id="${t}"]`);(0,i.g0)(u,["point","circle","cross"],n.type,t);const y=l.getBlocks(),p=l.getBlocksFlat(),b=l.getEdges(),f=u.insert("g").attr("class","block");await he(f,y,l);const x=re(l);await ge(f,y,l),await ue(f,b,p,l,t);const S=f.node()?.getBBox(),m=S&&Number.isFinite(S.width)&&Number.isFinite(S.height)?S:x;if(m){const e=Math.max(1,Math.round(m.width/m.height*.125)),t=m.height+e+10,s=m.width+10,{useMaxWidth:n}=o;(0,a.a$)(u,t,s,!!n),c.R.debug("Here Bounds",x,m),u.attr("viewBox",`${m.x-5} ${m.y-5} ${m.width+10} ${m.height+10}`)}},"draw"),getClasses:de},styles:Q}},37703(e,t,s){s.d(t,{o:()=>n});var n=(0,s(27698).K)(()=>"\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n","getIconStyles")},33778(e,t,s){s.d(t,{o:()=>a});var n=s(37110),i=s(99125),r=s(89826);var o=s(19663);function a(e){if((0,n.s)(e))return e;const t=(0,i.b)(e);if(!function(e){switch((0,i.b)(e)){case r.R_:case r.Uw:case r.cT:case r.iq:case r.$V:case r.vC:case r.ri:case r.ML:case r.XZ:case r.i1:case r._u:case r.pj:case r.kj:case r.GX:case r.Av:case r.NA:case r.OG:case r.VP:case r.Qb:case r.q:case r.x6:case r.ZR:return!0;default:return!1}}(e))return{};if(s=e,Array.isArray(s)){const t=Array.from(e);return e.length>0&&"string"==typeof e[0]&&Object.hasOwn(e,"index")&&(t.index=e.index,t.input=e.input),t}var s;if((0,o.i)(e)){const t=e;return new(0,t.constructor)(t.buffer,t.byteOffset,t.length)}if("[object ArrayBuffer]"===t)return new ArrayBuffer(e.byteLength);if("[object DataView]"===t){const t=e,s=t.buffer,n=t.byteOffset,i=t.byteLength,r=new ArrayBuffer(i),o=new Uint8Array(s,n,i);return new Uint8Array(r).set(o),new DataView(r)}if("[object Boolean]"===t||"[object Number]"===t||"[object String]"===t){const s=new(0,e.constructor)(e.valueOf());return"[object String]"===t?function(e,t){const s=t.valueOf().length;for(const n in t)Object.hasOwn(t,n)&&(Number.isNaN(Number(n))||Number(n)>=s)&&(e[n]=t[n])}(s,e):c(s,e),s}if("[object Date]"===t)return new Date(Number(e));if("[object RegExp]"===t){const t=e,s=new RegExp(t.source,t.flags);return s.lastIndex=t.lastIndex,s}if("[object Symbol]"===t)return Object(Symbol.prototype.valueOf.call(e));if("[object Map]"===t){const t=e,s=new Map;return t.forEach((e,t)=>{s.set(t,e)}),s}if("[object Set]"===t){const t=e,s=new Set;return t.forEach(e=>{s.add(e)}),s}if("[object Arguments]"===t){const t=e,s={};return c(s,t),s.length=t.length,s[Symbol.iterator]=t[Symbol.iterator],s}const a={};return function(e,t){const s=Object.getPrototypeOf(t);null!==s&&"function"==typeof t.constructor&&Object.setPrototypeOf(e,s)}(a,e),c(a,e),function(e,t){const s=Object.getOwnPropertySymbols(t);for(let n=0;n<s.length;n++){const i=s[n];Object.prototype.propertyIsEnumerable.call(t,i)&&(e[i]=t[i])}}(a,e),a}function c(e,t){for(const s in t)Object.hasOwn(t,s)&&(e[s]=t[s])}},75937(e,t,s){s.d(t,{A:()=>r});var n=s(86309),i=s(51931);const r=(e,t)=>n.A.lang.round(i.A.parse(e)[t])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[612],{10612(e,t,n){n.d(t,{captureNodeSizes:()=>u});var i=n(27698);function o(){if("undefined"!=typeof globalThis)return globalThis}function a(){return"undefined"==typeof location?"browser-dev":`${location.pathname}${location.search}`}function r(e,t){const n=o();if(!n)return;const i=t.node(),a=(i&&"ownerSVGElement"in i?i.ownerSVGElement:null)??i,r=a?.id??"(unknown)";n.mermaidCapturedSizes??=[];const u={svgId:r,sizes:e};n.mermaidCapturedSizes.push(u),n.mermaidLastCapturedSizes=u}function u(e,t){const n=[];for(const e of t.nodes)e.isGroup||n.push({id:e.id,width:e.width??0,height:e.height??0});0!==n.length&&r({metadata:{captureVersion:1,capturedAt:(new Date).toISOString(),capturedFrom:a()},nodes:n},e)}(0,i.K)(o,"getCaptureGlobal"),(0,i.K)(function(){return Boolean(o()?.mermaidCaptureSizes)},"shouldCaptureSizes"),(0,i.K)(a,"capturedFromLocation"),(0,i.K)(r,"emitCapturedSizes"),(0,i.K)(u,"captureNodeSizes")}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[625],{98889(t,e,s){s.d(e,{P:()=>a});var i=s(20886),n=s(84828),r=s(27698),a=(0,r.K)((t,e,s,r)=>{t.attr("class",s);const{width:a,height:l,x:h,y:u}=o(t,e);(0,i.a$)(t,l,a,r);const d=c(h,u,a,l,e);t.attr("viewBox",d),n.R.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),o=(0,r.K)((t,e)=>{const s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),c=(0,r.K)((t,e,s,i,n)=>`${t-n} ${e-n} ${s} ${i}`,"createViewBox")},79762(t,e,s){s.d(e,{A:()=>r});var i=s(27698),n=s(51444),r=(0,i.K)((t,e)=>{let s;"sandbox"===e&&(s=(0,n.Ltv)("#i"+t));return("sandbox"===e?(0,n.Ltv)(s.nodes()[0].contentDocument.body):(0,n.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},60625(t,e,s){s.d(e,{diagram:()=>S});var i=s(79762),n=s(98889),r=s(89008),a=(s(68741),s(31139),s(26388),s(92662),s(27280),s(56289),s(19831),s(73145)),o=s(20886),c=s(84828),l=s(27698),h=s(51444),u=s(25582),d=s(75937),y=function(){var t=(0,l.K)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[6,9,21,23,25,27,34,37,38,39,40,41,43,46,47,51,53,54,55],s=[2,2],i=[1,7],n=[1,9],r=[1,10],a=[1,11],o=[1,12],c=[1,30],h=[1,23],u=[1,24],d=[1,25],y=[1,26],p=[1,27],b=[1,19],g=[1,28],_=[1,29],f=[1,20],m=[1,18],k=[1,21],E=[1,22],S=[2,6],$=[6,9,21,23,25,27,33,34,37,38,39,40,41,43,46,47,51,53,54,55],T=[1,36],O=[1,37],x=[1,38],N=[1,39],C=[1,40],A=[6,9,12,14,16,19,20,21,23,25,27,33,34,37,38,39,40,41,43,46,47,50,51,53,54,55,69,70,71,72,73],R=[1,46],I=[1,47],D=[1,57],w=[43,51,53,54,55,74,75],v=[1,70],L=[1,68],K=[1,65],M=[1,69],B=[1,71],G=[6,9,12,16,21,23,25,27,33,34,37,38,39,40,41,43,44,45,46,47,51,52,53,54,55,69,70,71,72,73],F=[1,78],Y=[1,77],P=[1,76],z=[69,70,71,72,73],U=[1,91],Z=[6,9,45,50],j=[6,9,12,44,45,50,51,52],W=[1,101],q=[1,100],X=[1,99],V=[18,61],H=[1,110],Q=[1,109],J=[20,43,51,53,54,55],tt=[18,61,64,66],et={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,statement:8,NEWLINE:9,entityName:10,relSpec:11,COLON:12,role:13,STYLE_SEPARATOR:14,idList:15,BLOCK_START:16,attributes:17,BLOCK_STOP:18,SQS:19,SQE:20,title:21,title_value:22,acc_title:23,acc_title_value:24,acc_descr:25,acc_descr_value:26,acc_descr_multiline_value:27,direction:28,classDefStatement:29,classStatement:30,styleStatement:31,subgraphHeader:32,END:33,SUBGRAPH:34,separator:35,subgraphTitle:36,direction_tb:37,direction_bt:38,direction_rl:39,direction_lr:40,CLASSDEF:41,stylesOpt:42,UNICODE_TEXT:43,STYLE_TEXT:44,COMMA:45,CLASS:46,STYLE:47,style:48,styleComponent:49,SEMI:50,NUM:51,BRKT:52,ENTITY_NAME:53,DECIMAL_NUM:54,ENTITY_ONE:55,attribute:56,attributeType:57,attributeName:58,attributeKeyTypeList:59,attributeComment:60,ATTRIBUTE_WORD:61,"?":62,attributeKeyType:63,",":64,ATTRIBUTE_KEY:65,COMMENT:66,cardinality:67,relType:68,ZERO_OR_ONE:69,ZERO_OR_MORE:70,ONE_OR_MORE:71,ONLY_ONE:72,MD_PARENT:73,NON_IDENTIFYING:74,IDENTIFYING:75,WORD:76,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"NEWLINE",12:"COLON",14:"STYLE_SEPARATOR",16:"BLOCK_START",18:"BLOCK_STOP",19:"SQS",20:"SQE",21:"title",22:"title_value",23:"acc_title",24:"acc_title_value",25:"acc_descr",26:"acc_descr_value",27:"acc_descr_multiline_value",33:"END",34:"SUBGRAPH",37:"direction_tb",38:"direction_bt",39:"direction_rl",40:"direction_lr",41:"CLASSDEF",43:"UNICODE_TEXT",44:"STYLE_TEXT",45:"COMMA",46:"CLASS",47:"STYLE",50:"SEMI",51:"NUM",52:"BRKT",53:"ENTITY_NAME",54:"DECIMAL_NUM",55:"ENTITY_ONE",61:"ATTRIBUTE_WORD",62:"?",64:",",65:"ATTRIBUTE_KEY",66:"COMMENT",69:"ZERO_OR_ONE",70:"ZERO_OR_MORE",71:"ONE_OR_MORE",72:"ONLY_ONE",73:"MD_PARENT",74:"NON_IDENTIFYING",75:"IDENTIFYING",76:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[7,1],[8,5],[8,9],[8,7],[8,7],[8,4],[8,6],[8,3],[8,5],[8,1],[8,3],[8,7],[8,9],[8,6],[8,8],[8,4],[8,6],[8,2],[8,2],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,3],[32,3],[32,6],[36,1],[36,2],[28,1],[28,1],[28,1],[28,1],[29,4],[15,1],[15,1],[15,3],[15,3],[30,3],[31,4],[42,1],[42,3],[48,1],[48,2],[35,1],[35,1],[35,1],[49,1],[49,1],[49,1],[49,1],[10,1],[10,1],[10,1],[10,1],[10,1],[17,1],[17,2],[56,2],[56,3],[56,3],[56,4],[57,1],[57,2],[58,1],[59,1],[59,3],[63,1],[60,1],[11,3],[67,1],[67,1],[67,1],[67,1],[67,1],[68,1],[68,1],[13,1],[13,1],[13,1]],performAction:(0,l.K)(function(t,e,s,i,n,r,a){var o=r.length-1;switch(n){case 1:break;case 2:case 5:case 6:this.$=[];break;case 3:this.$=r[o-1].concat(r[o]);break;case 4:case 34:case 59:case 60:case 61:case 62:case 86:case 69:case 71:case 74:this.$=r[o];break;case 7:i.addEntity(r[o-4]),i.addEntity(r[o-2]),i.addRelationship(r[o-4],r[o],r[o-2],r[o-3]),this.$=[r[o-4],r[o-2]];break;case 8:i.addEntity(r[o-8]),i.addEntity(r[o-4]),i.addRelationship(r[o-8],r[o],r[o-4],r[o-5]),i.setClass([r[o-8]],r[o-6]),i.setClass([r[o-4]],r[o-2]),this.$=[r[o-8],r[o-4]];break;case 9:i.addEntity(r[o-6]),i.addEntity(r[o-2]),i.addRelationship(r[o-6],r[o],r[o-2],r[o-3]),i.setClass([r[o-6]],r[o-4]),this.$=[r[o-6],r[o-2]];break;case 10:i.addEntity(r[o-6]),i.addEntity(r[o-4]),i.addRelationship(r[o-6],r[o],r[o-4],r[o-5]),i.setClass([r[o-4]],r[o-2]),this.$=[r[o-6],r[o-4]];break;case 11:i.addEntity(r[o-3]),i.addAttributes(r[o-3],r[o-1]),this.$=[r[o-3]];break;case 12:i.addEntity(r[o-5]),i.addAttributes(r[o-5],r[o-1]),i.setClass([r[o-5]],r[o-3]),this.$=[r[o-5]];break;case 13:i.addEntity(r[o-2]),this.$=[r[o-2]];break;case 14:i.addEntity(r[o-4]),i.setClass([r[o-4]],r[o-2]),this.$=[r[o-4]];break;case 15:i.addEntity(r[o]),this.$=[r[o]];break;case 16:i.addEntity(r[o-2]),i.setClass([r[o-2]],r[o]),this.$=[r[o-2]];break;case 17:i.addEntity(r[o-6],r[o-4]),i.addAttributes(r[o-6],r[o-1]),this.$=[r[o-6]];break;case 18:i.addEntity(r[o-8],r[o-6]),i.addAttributes(r[o-8],r[o-1]),i.setClass([r[o-8]],r[o-3]),this.$=[r[o-8]];break;case 19:i.addEntity(r[o-5],r[o-3]),this.$=[r[o-5]];break;case 20:i.addEntity(r[o-7],r[o-5]),i.setClass([r[o-7]],r[o-2]),this.$=[r[o-7]];break;case 21:i.addEntity(r[o-3],r[o-1]);break;case 22:i.addEntity(r[o-5],r[o-3]),i.setClass([r[o-5]],r[o]);break;case 23:case 24:this.$=r[o].trim(),i.setAccTitle(this.$);break;case 25:case 26:this.$=r[o].trim(),i.setAccDescription(this.$);break;case 27:i.subgraphDepth?this.$=r[o]:(i.setDirection(r[o].value),this.$=[]);break;case 31:i.subgraphDepth=(i.subgraphDepth||1)-1,this.$=i.addSubGraph({text:r[o-2].id},r[o-1],{text:r[o-2].text});break;case 32:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:r[o-1],text:r[o-1]};break;case 33:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:r[o-4],text:r[o-2]};break;case 35:this.$=r[o-1]+" "+r[o];break;case 36:this.$={stmt:"dir",value:"TB"};break;case 37:this.$={stmt:"dir",value:"BT"};break;case 38:this.$={stmt:"dir",value:"RL"};break;case 39:this.$={stmt:"dir",value:"LR"};break;case 40:this.$=r[o-3],i.addClass(r[o-2],r[o-1]);break;case 41:case 42:case 63:case 72:case 47:this.$=[r[o]];break;case 43:case 44:this.$=r[o-2].concat([r[o]]);break;case 45:this.$=r[o-2],i.setClass(r[o-1],r[o]);break;case 46:this.$=r[o-3],i.addCssStyles(r[o-2],r[o-1]);break;case 48:case 73:r[o-2].push(r[o]),this.$=r[o-2];break;case 50:case 70:this.$=r[o-1]+r[o];break;case 58:case 84:case 85:case 75:this.$=r[o].replace(/"/g,"");break;case 64:r[o].push(r[o-1]),this.$=r[o];break;case 65:this.$={type:r[o-1],name:r[o]};break;case 66:this.$={type:r[o-2],name:r[o-1],keys:r[o]};break;case 67:this.$={type:r[o-2],name:r[o-1],comment:r[o]};break;case 68:this.$={type:r[o-3],name:r[o-2],keys:r[o-1],comment:r[o]};break;case 76:this.$={cardA:r[o],relType:r[o-1],cardB:r[o-2]};break;case 77:this.$=i.Cardinality.ZERO_OR_ONE;break;case 78:this.$=i.Cardinality.ZERO_OR_MORE;break;case 79:this.$=i.Cardinality.ONE_OR_MORE;break;case 80:this.$=i.Cardinality.ONLY_ONE;break;case 81:this.$=i.Cardinality.MD_PARENT;break;case 82:this.$=i.Identification.NON_IDENTIFYING;break;case 83:this.$=i.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,s,{5:3}),{6:[1,4],7:5,8:6,9:i,10:8,21:n,23:r,25:a,27:o,28:13,29:14,30:15,31:16,32:17,34:c,37:h,38:u,39:d,40:y,41:p,43:b,46:g,47:_,51:f,53:m,54:k,55:E},t(e,S,{1:[2,1]}),t($,[2,3]),t($,[2,4]),t($,[2,5]),t($,[2,15],{11:31,67:35,14:[1,32],16:[1,33],19:[1,34],69:T,70:O,71:x,72:N,73:C}),{22:[1,41]},{24:[1,42]},{26:[1,43]},t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),t($,s,{5:44}),t(A,[2,58]),t(A,[2,59]),t(A,[2,60]),t(A,[2,61]),t(A,[2,62]),t($,[2,36]),t($,[2,37]),t($,[2,38]),t($,[2,39]),{15:45,43:R,44:I},{15:48,43:R,44:I},{15:49,43:R,44:I},{10:50,43:b,51:f,53:m,54:k,55:E},{10:51,43:b,51:f,53:m,54:k,55:E},{15:52,43:R,44:I},{17:53,18:[1,54],56:55,57:56,61:D},{10:58,43:b,51:f,53:m,54:k,55:E},{68:59,74:[1,60],75:[1,61]},t(w,[2,77]),t(w,[2,78]),t(w,[2,79]),t(w,[2,80]),t(w,[2,81]),t($,[2,23]),t($,[2,24]),t($,[2,25]),{6:[1,63],7:5,8:6,9:i,10:8,21:n,23:r,25:a,27:o,28:13,29:14,30:15,31:16,32:17,33:[1,62],34:c,37:h,38:u,39:d,40:y,41:p,43:b,46:g,47:_,51:f,53:m,54:k,55:E},{12:v,42:64,44:L,45:K,48:66,49:67,51:M,52:B},t(G,[2,41]),t(G,[2,42]),{15:72,43:R,44:I,45:K},{12:v,42:73,44:L,45:K,48:66,49:67,51:M,52:B},{6:F,9:Y,19:[1,75],35:74,50:P},{12:[1,79],14:[1,80]},t($,[2,16],{67:35,11:81,16:[1,82],45:K,69:T,70:O,71:x,72:N,73:C}),{18:[1,83]},t($,[2,13]),{17:84,18:[2,63],56:55,57:56,61:D},{58:85,61:[1,86]},{61:[2,69],62:[1,87]},{20:[1,88]},{67:89,69:T,70:O,71:x,72:N,73:C},t(z,[2,82]),t(z,[2,83]),t($,[2,31]),t($,S),{6:F,9:Y,35:90,45:U,50:P},{43:[1,92],44:[1,93]},t(Z,[2,47],{49:94,12:v,44:L,51:M,52:B}),t(j,[2,49]),t(j,[2,54]),t(j,[2,55]),t(j,[2,56]),t(j,[2,57]),t($,[2,45],{45:K}),{6:F,9:Y,35:95,45:U,50:P},t($,[2,32]),{10:97,36:96,43:b,51:f,53:m,54:k,55:E},t($,[2,51]),t($,[2,52]),t($,[2,53]),{13:98,43:W,53:q,76:X},{15:102,43:R,44:I},{10:103,43:b,51:f,53:m,54:k,55:E},{17:104,18:[1,105],56:55,57:56,61:D},t($,[2,11]),{18:[2,64]},t(V,[2,65],{59:106,60:107,63:108,65:H,66:Q}),t([18,61,65,66],[2,71]),{61:[2,70]},t($,[2,21],{14:[1,112],16:[1,111]}),t([43,51,53,54,55],[2,76]),t($,[2,40]),{12:v,44:L,48:113,49:67,51:M,52:B},t(G,[2,43]),t(G,[2,44]),t(j,[2,50]),t($,[2,46]),{10:115,20:[1,114],43:b,51:f,53:m,54:k,55:E},t(J,[2,34]),t($,[2,7]),t($,[2,84]),t($,[2,85]),t($,[2,86]),{12:[1,116],45:K},{12:[1,118],14:[1,117]},{18:[1,119]},t($,[2,14]),t(V,[2,66],{60:120,64:[1,121],66:Q}),t(V,[2,67]),t(tt,[2,72]),t(V,[2,75]),t(tt,[2,74]),{17:122,18:[1,123],56:55,57:56,61:D},{15:124,43:R,44:I},t(Z,[2,48],{49:94,12:v,44:L,51:M,52:B}),{6:F,9:Y,35:125,50:P},t(J,[2,35]),{13:126,43:W,53:q,76:X},{15:127,43:R,44:I},{13:128,43:W,53:q,76:X},t($,[2,12]),t(V,[2,68]),{63:129,65:H},{18:[1,130]},t($,[2,19]),t($,[2,22],{16:[1,131],45:K}),t($,[2,33]),t($,[2,10]),{12:[1,132],45:K},t($,[2,9]),t(tt,[2,73]),t($,[2,17]),{17:133,18:[1,134],56:55,57:56,61:D},{13:135,43:W,53:q,76:X},{18:[1,136]},t($,[2,20]),t($,[2,8]),t($,[2,18])],defaultActions:{84:[2,64],87:[2,70]},parseError:(0,l.K)(function(t,e){if(!e.recoverable){var s=new Error(t);throw s.hash=e,s}this.trace(t)},"parseError"),parse:(0,l.K)(function(t){var e=this,s=[0],i=[],n=[null],r=[],a=this.table,o="",c=0,h=0,u=0,d=r.slice.call(arguments,1),y=Object.create(this.lexer),p={yy:{}};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(p.yy[b]=this.yy[b]);y.setInput(t,p.yy),p.yy.lexer=y,p.yy.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;r.push(g);var _=y.options&&y.options.ranges;function f(){var t;return"number"!=typeof(t=i.pop()||y.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){s.length=s.length-2*t,n.length=n.length-t,r.length=r.length-t},"popStack"),(0,l.K)(f,"lex");for(var m,k,E,S,$,T,O,x,N,C={};;){if(E=s[s.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==m&&(m=f()),S=a[E]&&a[E][m]),void 0===S||!S.length||!S[0]){var A="";for(T in N=[],a[E])this.terminals_[T]&&T>2&&N.push("'"+this.terminals_[T]+"'");A=y.showPosition?"Parse error on line "+(c+1)+":\n"+y.showPosition()+"\nExpecting "+N.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:y.match,token:this.terminals_[m]||m,line:y.yylineno,loc:g,expected:N})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+m);switch(S[0]){case 1:s.push(m),n.push(y.yytext),r.push(y.yylloc),s.push(S[1]),m=null,k?(m=k,k=null):(h=y.yyleng,o=y.yytext,c=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(O=this.productions_[S[1]][1],C.$=n[n.length-O],C._$={first_line:r[r.length-(O||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(O||1)].first_column,last_column:r[r.length-1].last_column},_&&(C._$.range=[r[r.length-(O||1)].range[0],r[r.length-1].range[1]]),void 0!==($=this.performAction.apply(C,[o,h,c,p.yy,S[1],n,r].concat(d))))return $;O&&(s=s.slice(0,-1*O*2),n=n.slice(0,-1*O),r=r.slice(0,-1*O)),s.push(this.productions_[S[1]][0]),n.push(C.$),r.push(C._$),x=a[s[s.length-2]][s[s.length-1]],s.push(x);break;case 3:return!0}}return!0},"parse")},st=function(){return{EOF:1,parseError:(0,l.K)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,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:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;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),s.length-1&&(this.yylineno-=s.length-1);var n=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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var s,i,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(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+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var r in n)this[r]=n[r];return!1}return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;var t,e,s,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),r=0;r<n.length;r++)if((s=this._input.match(this.rules[n[r]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,n[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(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:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,e,s,i){switch(s){case 0:return this.begin("acc_title"),23;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),25;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 28:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 37;case 8:return 38;case 9:return 39;case 10:return 40;case 11:case 22:case 30:case 37:break;case 12:return 9;case 13:return 53;case 14:return 76;case 15:return 4;case 16:return this.begin("block"),16;case 17:case 18:case 40:return 52;case 19:case 39:return 45;case 20:return 14;case 21:case 38:return 12;case 23:return 65;case 24:case 25:case 27:return 61;case 26:this.begin("block_bq");break;case 29:return 66;case 31:return this.popState(),18;case 32:case 81:return e.yytext[0];case 33:return 19;case 34:return 20;case 35:return this.begin("style"),47;case 36:return this.popState(),9;case 41:return this.begin("style"),41;case 42:return 46;case 43:return 34;case 44:return 33;case 45:case 49:case 50:case 68:return 69;case 46:case 47:case 48:case 56:case 58:case 70:return 71;case 51:case 52:case 53:case 54:case 55:case 57:case 69:return 70;case 59:case 60:case 62:case 63:case 64:case 67:return 72;case 61:return 54;case 65:return 55;case 66:return 51;case 71:return 73;case 72:case 75:case 76:case 77:return 74;case 73:case 74:return 75;case 78:return 44;case 79:return 50;case 80:return 43;case 82:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[ \t\r]+)/i,/^(?:[\n]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:subgraph\b)/i,/^(?:end\b\s*)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[36,37,38,39,40,78,79],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[27,28],inclusive:!1},block:{rules:[22,23,24,25,26,29,30,31,32],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,33,34,35,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82],inclusive:!0}}}}();function it(){this.yy={}}return et.lexer=st,(0,l.K)(it,"Parser"),it.prototype=et,et.Parser=it,new it}();y.parser=y;var p=y,b=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.subgraphDepth=0,this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setAccDescription=o.EI,this.getAccDescription=o.m7,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getConfig=(0,l.K)(()=>(0,o.D7)().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this),this.addSubGraph=this.addSubGraph.bind(this)}static{(0,l.K)(this,"ErDB")}addEntity(t,e=""){return this.entities.has(t)?!this.entities.get(t)?.alias&&e&&(this.entities.get(t).alias=e,c.R.info(`Add alias '${e}' to entity '${t}'`)):(this.entities.set(t,{id:`entity-${t}-${this.entities.size}`,label:t,attributes:[],alias:e,shape:"erBox",look:(0,o.D7)().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),c.R.info("Added new entity :",t)),this.entities.get(t)}getEntity(t){return this.entities.get(t)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(t,e){const s=this.addEntity(t);let i;for(i=e.length-1;i>=0;i--)e[i].keys||(e[i].keys=[]),e[i].comment||(e[i].comment=""),s.attributes.push(e[i]),c.R.debug("Added attribute ",e[i].name)}addRelationship(t,e,s,i){let n,r;if(this.subGraphLookup.has(t))n=t;else{const e=this.addEntity(t);if(!e)return;n=e.id}if(this.subGraphLookup.has(s))r=s;else{const t=this.addEntity(s);if(!t)return;r=t.id}const a={entityA:n,roleA:e,entityB:r,relSpec:i};this.relationships.push(a),c.R.debug("Added new relationship :",a)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(t){this.direction=t}getCompiledStyles(t){let e=[];for(const s of t){const t=this.classes.get(s);t?.styles&&(e=[...e,...t.styles??[]].map(t=>t.trim())),t?.textStyles&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}addCssStyles(t,e){for(const s of t){const t=this.entities.get(s),i=this.subGraphLookup.get(s);if(e){if(t)for(const s of e)t.cssStyles.push(s);if(i){i.cssStyles||(i.cssStyles=[]);for(const t of e)i.cssStyles.push(t)}}}}addClass(t,e){t.forEach(t=>{let s=this.classes.get(t);void 0===s&&(s={id:t,styles:[],textStyles:[]},this.classes.set(t,s)),e&&e.forEach(function(t){if(/color/.exec(t)){const e=t.replace("fill","bgFill");s.textStyles.push(e)}s.styles.push(t)})})}addSubGraph(t,e,s){let i=t.text.trim(),n=s.text;const r=(0,l.K)(t=>{const e=new Set;let s;return{nodeList:t.filter(t=>{if(t?.stmt)return"dir"===t.stmt&&(s=t.value),!1;if("string"!=typeof t)return!1;const i=t.trim();return!!i&&(!e.has(i)&&(e.add(i),!0))}),dir:s}},"uniq")(e.flat()),a=r.nodeList,o=r.dir;i=i??"subGraph"+this.subCount,n=n||"",n=this.sanitizeText(n),this.subCount=this.subCount+1;const h={id:i,nodes:a,title:n.trim(),classes:[],cssStyles:[],dir:o,labelType:this.sanitizeNodeLabelType(s?.type)};return c.R.info("Adding",h.id,h.nodes,h.dir),h.nodes=this.makeUniq(h,this.subGraphs).nodes,this.subGraphs.push(h),this.subGraphLookup.set(i,h),i}getSubGraphs(){return this.subGraphs}setClass(t,e){for(const s of t){const t=this.entities.get(s);if(t)for(const s of e)t.cssClasses+=" "+s;const i=this.subGraphLookup.get(s);if(i)for(const t of e)i.classes.push(t)}}subgraphNodeCache(t){const e=new Set;for(const s of t)for(const t of s.nodes)e.add(t);return e}makeUniq(t,e){const s=this.subgraphNodeCache(e),i=[];return t.nodes.forEach((e,n)=>{s.has(e)?c.R.warn(`Entity '${e}' already belongs to another subgraph and will be ignored`):i.push(t.nodes[n])}),{nodes:i}}sanitizeText(t){return o.Y2.sanitizeText(t,(0,o.D7)())}sanitizeNodeLabelType(t){switch(t){case"markdown":case"string":case"text":return t;default:return"markdown"}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.subgraphDepth=0,(0,o.IU)()}getData(){const t=[],e=[],s=(0,o.D7)(),i=this.getSubGraphs(),n=new Map,r=new Map;for(let t=i.length-1;t>=0;t--){const e=i[t];e.nodes.length>0&&r.set(e.id,!0);for(const t of e.nodes)n.set(t,e.id)}for(let e=i.length-1;e>=0;e--){const r=i[e];t.push({id:r.id,label:r.title,labelStyle:"",labelType:r.labelType,parentId:n.get(r.id),padding:8,cssCompiledStyles:this.getCompiledStyles(r.classes),cssStyles:r.cssStyles,cssClasses:r.classes.join(" "),shape:"rect",dir:r.dir,isGroup:!0,look:s.look})}const c=new Set(i.map(t=>t.id));let l=0;for(const e of this.entities.keys()){if(c.has(e))continue;const s=this.entities.get(e);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),s.colorIndex=l++,t.push({...s,parentId:n.get(e),isGroup:!1}))}let h=0;for(const t of this.relationships){const i={id:(0,a.rY)(t.entityA,t.entityB,{prefix:"id",counter:h++}),type:"normal",curve:"basis",start:t.entityA,end:t.entityB,label:t.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:t.relSpec.cardB.toLowerCase(),arrowTypeEnd:t.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==t.relSpec.relType?"solid":"dashed",look:s.look,labelType:"markdown"};e.push(i)}return{nodes:t,edges:e,other:{},config:s,direction:this.direction}}},g={};(0,l.V)(g,{draw:()=>_});var _=(0,l.K)(async function(t,e,s,l){c.R.info("REF0:"),c.R.info("Drawing er diagram (unified)",e);const{securityLevel:u,er:d,layout:y}=(0,o.D7)(),p=l.db.getData(),b=(0,i.A)(e,u);p.type=l.type,p.layoutAlgorithm=(0,r.q7)(y),p.config.flowchart.nodeSpacing=d?.nodeSpacing||140,p.config.flowchart.rankSpacing=d?.rankSpacing||80,p.direction=l.db.getDirection();const{config:g}=p,{look:_}=g;p.markers="neo"===_?["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:["only_one","zero_or_one","one_or_more","zero_or_more"],p.diagramId=e,await(0,r.XX)(p,b),"elk"===p.layoutAlgorithm&&b.select(".edges").lower();const f=b.selectAll('[id*="-background"]');Array.from(f).length>0&&f.each(function(){const t=(0,h.Ltv)(this),e=t.attr("id").replace("-background",""),s=b.select(`#${CSS.escape(e)}`);if(!s.empty()){const e=s.attr("transform");t.attr("transform",e)}});a._K.insertTitle(b,"erDiagramTitleText",d?.titleTopMargin??25,l.db.getDiagramTitle()),(0,n.P)(b,8,"erDiagram",d?.useMaxWidth??!0)},"draw"),f=(0,l.K)((t,e)=>{const s=d.A,i=s(t,"r"),n=s(t,"g"),r=s(t,"b");return u.A(i,n,r,e)},"fade"),m=new Set(["redux-color","redux-dark-color"]),k=(0,l.K)(t=>{const{theme:e,look:s,bkgColorArray:i,borderColorArray:n}=t;if(!m.has(e))return"";const r=i?.length>0;let a="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)a+=`\n\n [data-look="${s}"][data-color-id="color-${e}"].node path {\n stroke: ${n[e]};\n ${r?`fill: ${i[e]};`:""}\n }\n\n [data-look="${s}"][data-color-id="color-${e}"].node rect {\n stroke: ${n[e]};\n ${r?`fill: ${i[e]};`:""}\n }\n `;return a},"genColor"),E=(0,l.K)(t=>{const{look:e,theme:s,erEdgeLabelBackground:i,strokeWidth:n}=t;return`\n ${k(t)}\n .entityBox {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${t.tertiaryColor};\n opacity: 0.7;\n background-color: ${t.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .labelBkg {\n background-color: ${m.has(s)&&i?i:f(t.tertiaryColor,.5)};\n }\n\n .edgeLabel {\n background-color: ${m.has(s)&&i?i:t.edgeLabelBackground};\n }\n .edgeLabel .label rect {\n fill: ${m.has(s)&&i?i:t.edgeLabelBackground};\n }\n .edgeLabel .label text {\n fill: ${t.textColor};\n }\n\n .edgeLabel .label {\n fill: ${t.nodeBorder};\n font-size: 14px;\n }\n\n .label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .edge-pattern-dashed {\n stroke-dasharray: 8,8;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon\n {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: ${"neo"===e?n:"1px"};\n }\n\n .relationshipLine {\n stroke: ${t.lineColor};\n stroke-width: ${"neo"===e?n:"1px"};\n fill: none;\n }\n\n .marker {\n fill: none !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n [data-look=neo].labelBkg {\n background-color: ${f(t.tertiaryColor,.5)};\n }\n\n .cluster rect {\n fill: ${t.clusterBkg??t.mainBkg};\n stroke: ${t.clusterBorder??t.nodeBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor??t.textColor};\n }\n\n .cluster-label text {\n fill: ${t.titleColor??t.textColor};\n }\n`},"getStyles"),S={parser:p,get db(){return new b},renderer:g,styles:E}},75937(t,e,s){s.d(e,{A:()=>r});var i=s(86309),n=s(51931);const r=(t,e)=>i.A.lang.round(n.A.parse(t)[e])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6318],{99051(t,e,n){function a(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}n.d(e,{S:()=>a}),(0,n(27698).K)(a,"populateCommonDb")},96318(t,e,n){n.d(e,{diagram:()=>A});var a=n(99051),r=n(23980),i=n(73145),o=n(20886),c=n(84828),s=n(27698),l=n(63883),d=(0,s.K)(()=>({domains:new Map,transitions:[]}),"createDefaultData"),f=d(),p={getDomains:(0,s.K)(()=>f.domains,"getDomains"),getTransitions:(0,s.K)(()=>f.transitions,"getTransitions"),setDomains:(0,s.K)(t=>{if(t)for(const e of t){const t=e.domain,n=(e.items??[]).map(t=>({label:t.label}));f.domains.set(t,{name:t,items:n})}},"setDomains"),setTransitions:(0,s.K)(t=>{t&&(f.transitions=t.filter(t=>t.from!==t.to||(c.R.warn(`Cynefin: self-loop transition on domain "${t.from}" is not meaningful and will be skipped.`),!1)).map(t=>({from:t.from,to:t.to,label:t.label||void 0})))},"setTransitions"),getConfig:(0,s.K)(()=>(0,i.$t)({...o.UI.cynefin,...(0,o.zj)().cynefin}),"getConfig"),clear:(0,s.K)(()=>{(0,o.IU)(),f=d()},"clear"),setAccTitle:o.SV,getAccTitle:o.iN,setDiagramTitle:o.ke,getDiagramTitle:o.ab,getAccDescription:o.m7,setAccDescription:o.EI},m=(0,s.K)(t=>{(0,a.S)(t,p),p.setDomains(t.domains),p.setTransitions(t.transitions)},"populate"),y={parse:(0,s.K)(async t=>{const e=await(0,l.qg)("cynefin",t);c.R.debug(e),m(e)},"parse")};function x(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296}function h(t){let e=0;for(let n=0;n<t.length;n++){e=(e<<5)-e+t.charCodeAt(n),e|=0}return e}function $(t,e){return"number"==typeof t&&Number.isFinite(t)&&0!==t?t:h(e)}function g(t,e,n,a){const r=t/2,i=a??.015*t,o=e/7,c=[];for(let t=0;t<=7;t++){const e=x(n+17*t)*i*2-i;c.push({x:r+e,y:t*o})}let s=`M${c[0].x},${c[0].y}`;for(let t=0;t<c.length-1;t++){const e=c[t],a=c[t+1],r=(e.y+a.y)/2,o=1.5*i*(t%2==0?1:-1)*x(n+31*t+7);s+=` C${e.x+o},${r} ${a.x-o},${r} ${a.x},${a.y}`}return s}function u(t,e,n,a){const r=e/2,i=a??.015*e,o=t/7,c=[];for(let t=0;t<=7;t++){const e=x(n+23*t)*i*2-i;c.push({x:t*o,y:r+e})}let s=`M${c[0].x},${c[0].y}`;for(let t=0;t<c.length-1;t++){const e=c[t],a=c[t+1],r=(e.x+a.x)/2,o=1.5*i*(t%2==0?1:-1)*x(n+37*t+11);s+=` C${r},${e.y+o} ${r},${a.y-o} ${a.x},${a.y}`}return s}function b(t,e){const n=t/2,a=.5*e,r=.03*t;return[`M${n},${a}`,`C${n+r},${a+.2*(e-a)}`,`${n-1.5*r},${a+.55*(e-a)}`,`${n+.5*r},${a+.75*(e-a)}`,`C${n-r},${a+.85*(e-a)}`,`${n+.3*r},${a+.95*(e-a)}`,`${n},${e}`].join(" ")}function w(t,e,n,a){return[`M${t-n},${e}`,`A${n},${a} 0 1,1 ${t+n},${e}`,`A${n},${a} 0 1,1 ${t-n},${e}`,"Z"].join(" ")}(0,s.K)(x,"seededRandom"),(0,s.K)(h,"hashString"),(0,s.K)($,"resolveSeed"),(0,s.K)(g,"generateFoldPath"),(0,s.K)(u,"generateHorizontalBoundary"),(0,s.K)(b,"generateCliffPath"),(0,s.K)(w,"generateConfusionPath");var C={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},k=(0,s.K)((t,e)=>{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:.7*n,y:.7*a,w:.6*n,h:.6*a}}},"getDomainLayouts"),D=(0,s.K)(()=>{const t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinDomainColors"),K={draw:(0,s.K)((t,e,n,a)=>{const i=a.db,s=i.getDomains(),l=i.getTransitions(),d=i.getDiagramTitle(),f=i.getAccTitle(),p=i.getAccDescription(),m=i.getConfig(),y=D();c.R.debug("Rendering Cynefin diagram");const x=m.width,h=m.height,K=m.padding,T=m.showDomainDescriptions,A=m.boundaryAmplitude,B=x+2*K,S=h+2*K,z={complex:y.complexBg,complicated:y.complicatedBg,clear:y.clearBg,chaotic:y.chaoticBg,confusion:y.confusionBg},v=(0,r.D)(e);(0,o.a$)(v,S,B,m.useMaxWidth??!0),v.attr("viewBox",`0 0 ${B} ${S}`),f&&v.append("title").text(f),p&&v.append("desc").text(p);const M=v.append("g").attr("transform",`translate(${K}, ${K})`),I=k(x,h),L=$(m.seed,e),P=M.append("g").attr("class","cynefin-backgrounds"),R=["complex","complicated","chaotic","clear"];for(const t of R){const e=I[t];P.append("rect").attr("class","cynefinDomain").attr("x",e.x).attr("y",e.y).attr("width",e.w).attr("height",e.h).attr("fill",z[t]).attr("fill-opacity",.4).attr("stroke","none")}const F=M.append("g").attr("class","cynefin-boundaries");F.append("path").attr("class","cynefinBoundary").attr("d",g(x,h,L,A)).attr("fill","none"),F.append("path").attr("class","cynefinBoundary").attr("d",u(x,h,L+100,A)).attr("fill","none"),F.append("path").attr("class","cynefinCliff").attr("d",b(x,h)).attr("fill","none");const j=.15*x,W=.15*h;M.append("path").attr("class","cynefinConfusion").attr("d",w(x/2,h/2,j,W)).attr("fill",z.confusion).attr("fill-opacity",.5);const E=M.append("g").attr("class","cynefin-labels");for(const t of R){const e=I[t];E.append("text").attr("class","cynefinDomainLabel").attr("x",e.cx).attr("y",T?e.cy-30:e.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(t.charAt(0).toUpperCase()+t.slice(1))}if(E.append("text").attr("class","cynefinDomainLabel").attr("x",x/2).attr("y",T?h/2-10:h/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),T){const t=M.append("g").attr("class","cynefin-subtitles");for(const e of R){const n=I[e],a=C[e];t.append("text").attr("class","cynefinSubtitle").attr("x",n.cx).attr("y",n.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a.model),t.append("text").attr("class","cynefinSubtitle").attr("x",n.cx).attr("y",n.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a.practice)}t.append("text").attr("class","cynefinSubtitle").attr("x",x/2).attr("y",h/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(C.confusion.practice)}const H=M.append("g").attr("class","cynefin-items"),N=26,U=["complex","complicated","chaotic","clear","confusion"];for(const t of U){const e=s.get(t);if(!e||0===e.items.length)continue;const n=I[t],a="confusion"===t;let r,i=e.items,o=0;if(a&&e.items.length>3&&(o=e.items.length-3,i=e.items.slice(0,3)),a){const t=T?22:14;r=n.cy+t}else r=n.cy+(T?25:15);if([...i].forEach((e,a)=>{const i=r+30*a,o=H.append("g"),c=o.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(e.label);let s=7*e.label.length;const l=c.node();if(l&&"function"==typeof l.getBBox){const t=l.getBBox();t.width>0&&(s=t.width)}const d=s+20,f=n.cx-d/2;o.attr("transform",`translate(${f}, ${i})`),o.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",d).attr("height",N).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.95),c.attr("x",d/2).attr("y",13)}),o>0){const e=r+30*i.length,a=`+${o} more`,c=H.append("g"),s=c.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(a);let l=7*a.length;const d=s.node();if(d&&"function"==typeof d.getBBox){const t=d.getBBox();t.width>0&&(l=t.width)}const f=l+20,p=n.cx-f/2;c.attr("transform",`translate(${p}, ${e})`),c.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",f).attr("height",N).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.6),s.attr("x",f/2).attr("y",13)}}if(l.length>0){const t=v.select("defs").empty()?v.append("defs"):v.select("defs"),n=`cynefin-arrow-${e}`;t.append("marker").attr("id",n).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const a=M.append("g").attr("class","cynefin-arrows");l.forEach(t=>{const e=I[t.from],r=I[t.to];if(!e||!r)return;if(t.from===t.to)return void c.R.warn(`Cynefin renderer: skipping self-loop on domain "${t.from}"`);const i=e.cx,o=e.cy,s=r.cx,l=r.cy,d=(i+s)/2,f=(o+l)/2,p=s-i,m=l-o,y=Math.sqrt(p*p+m*m),x=.15*y,h=d+-m/y*x,$=f+p/y*x;a.append("path").attr("class","cynefinArrowLine").attr("d",`M${i},${o} Q${h},${$} ${s},${l}`).attr("fill","none").attr("marker-end",`url(#${n})`),t.label&&a.append("text").attr("class","cynefinArrowLabel").attr("x",h).attr("y",$-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(t.label)})}d&&M.append("text").attr("class","cynefinTitle").attr("x",x/2).attr("y",-K/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d)},"draw")},T=(0,s.K)(()=>{const t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinTheme"),A={parser:y,db:p,renderer:K,styles:(0,s.K)(()=>{const t=T();return`\n\t.cynefinDomain {\n\t\tstroke: none;\n\t}\n\t.cynefinDomainLabel {\n\t\tfont-size: ${t.domainFontSize}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t.cynefinSubtitle {\n\t\tfont-size: ${t.itemFontSize-1}px;\n\t\tfill: ${t.textColor};\n\t\tfont-style: italic;\n\t}\n\t.cynefinItem {\n\t\tfill-opacity: 0.95;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t}\n\t.cynefinItemText {\n\t\tfont-size: ${t.itemFontSize}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinItemOverflow {\n\t\tfill-opacity: 0.6;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t\tstroke-dasharray: 3 2;\n\t}\n\t.cynefinBoundary {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: ${t.boundaryWidth};\n\t\tstroke-dasharray: 6 3;\n\t}\n\t.cynefinCliff {\n\t\tstroke: ${t.cliffColor};\n\t\tstroke-width: ${t.cliffWidth};\n\t}\n\t.cynefinConfusion {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1.5;\n\t\tstroke-dasharray: 4 2;\n\t}\n\t.cynefinArrowLine {\n\t\tstroke: ${t.arrowColor};\n\t\tstroke-width: ${t.arrowWidth};\n\t\tfill: none;\n\t}\n\t.cynefinArrowHead {\n\t\tfill: ${t.arrowColor};\n\t\tstroke: none;\n\t}\n\t.cynefinArrowLabel {\n\t\tfont-size: ${t.itemFontSize-1}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinTitle {\n\t\tfont-size: ${t.domainFontSize+2}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t`},"styles")}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6455],{96455(e,a,r){r.d(a,{diagram:()=>c});var t=r(15319),n=r(89983),s=r(31293),i=r(86827),d=r(34376),o={version:"12.1.0"},c={parser:{parse:(0,i.K)(async e=>{const a=await(0,d.qg)("info",e);s.R.debug(a)},"parse")},db:{getVersion:(0,i.K)(()=>o.version,"getVersion")},renderer:{draw:(0,i.K)((e,a,r)=>{s.R.debug("rendering info diagram\n"+e);const i=(0,t.D)(a);(0,n.a$)(i,100,400,!0);i.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw")}}}}]);