@kgdiff/viewer 0.4.0 → 0.6.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 (257) hide show
  1. package/README.md +43 -16
  2. package/custom-elements.json +2347 -0
  3. package/dist/bind.d.ts +41 -0
  4. package/dist/bind.d.ts.map +1 -0
  5. package/dist/bind.js +47 -0
  6. package/dist/bind.js.map +1 -0
  7. package/dist/context.d.ts +42 -0
  8. package/dist/context.d.ts.map +1 -0
  9. package/dist/context.js +87 -0
  10. package/dist/context.js.map +1 -0
  11. package/dist/controller.d.ts +26 -237
  12. package/dist/controller.d.ts.map +1 -1
  13. package/dist/controller.js +33 -1484
  14. package/dist/controller.js.map +1 -1
  15. package/dist/dom.d.ts +10 -0
  16. package/dist/dom.d.ts.map +1 -1
  17. package/dist/dom.js +29 -0
  18. package/dist/dom.js.map +1 -1
  19. package/dist/element.d.ts +51 -42
  20. package/dist/element.d.ts.map +1 -1
  21. package/dist/element.js +381 -602
  22. package/dist/element.js.map +1 -1
  23. package/dist/elements/actions.d.ts +27 -0
  24. package/dist/elements/actions.d.ts.map +1 -0
  25. package/dist/elements/actions.js +81 -0
  26. package/dist/elements/actions.js.map +1 -0
  27. package/dist/elements/bound.d.ts +63 -0
  28. package/dist/elements/bound.d.ts.map +1 -0
  29. package/dist/elements/bound.js +213 -0
  30. package/dist/elements/bound.js.map +1 -0
  31. package/dist/elements/change-detail.d.ts +25 -0
  32. package/dist/elements/change-detail.d.ts.map +1 -0
  33. package/dist/elements/change-detail.js +19 -0
  34. package/dist/elements/change-detail.js.map +1 -0
  35. package/dist/elements/change-list.d.ts +27 -0
  36. package/dist/elements/change-list.d.ts.map +1 -0
  37. package/dist/elements/change-list.js +29 -0
  38. package/dist/elements/change-list.js.map +1 -0
  39. package/dist/elements/filters.d.ts +25 -0
  40. package/dist/elements/filters.d.ts.map +1 -0
  41. package/dist/elements/filters.js +19 -0
  42. package/dist/elements/filters.js.map +1 -0
  43. package/dist/elements/legend.d.ts +40 -0
  44. package/dist/elements/legend.d.ts.map +1 -0
  45. package/dist/elements/legend.js +87 -0
  46. package/dist/elements/legend.js.map +1 -0
  47. package/dist/elements/minimap.d.ts +38 -0
  48. package/dist/elements/minimap.d.ts.map +1 -0
  49. package/dist/elements/minimap.js +59 -0
  50. package/dist/elements/minimap.js.map +1 -0
  51. package/dist/elements/root.d.ts +40 -0
  52. package/dist/elements/root.d.ts.map +1 -0
  53. package/dist/elements/root.js +67 -0
  54. package/dist/elements/root.js.map +1 -0
  55. package/dist/elements/search.d.ts +29 -0
  56. package/dist/elements/search.d.ts.map +1 -0
  57. package/dist/elements/search.js +23 -0
  58. package/dist/elements/search.js.map +1 -0
  59. package/dist/elements/stage-context.d.ts +31 -0
  60. package/dist/elements/stage-context.d.ts.map +1 -0
  61. package/dist/elements/stage-context.js +4 -0
  62. package/dist/elements/stage-context.js.map +1 -0
  63. package/dist/elements/stage.d.ts +65 -0
  64. package/dist/elements/stage.d.ts.map +1 -0
  65. package/dist/elements/stage.js +259 -0
  66. package/dist/elements/stage.js.map +1 -0
  67. package/dist/elements/title.d.ts +25 -0
  68. package/dist/elements/title.d.ts.map +1 -0
  69. package/dist/elements/title.js +19 -0
  70. package/dist/elements/title.js.map +1 -0
  71. package/dist/elements/transport.d.ts +29 -0
  72. package/dist/elements/transport.d.ts.map +1 -0
  73. package/dist/elements/transport.js +24 -0
  74. package/dist/elements/transport.js.map +1 -0
  75. package/dist/elements/view-bound.d.ts +39 -0
  76. package/dist/elements/view-bound.d.ts.map +1 -0
  77. package/dist/elements/view-bound.js +88 -0
  78. package/dist/elements/view-bound.js.map +1 -0
  79. package/dist/elements/view-dock.d.ts +28 -0
  80. package/dist/elements/view-dock.d.ts.map +1 -0
  81. package/dist/elements/view-dock.js +28 -0
  82. package/dist/elements/view-dock.js.map +1 -0
  83. package/dist/elements/zoom.d.ts +28 -0
  84. package/dist/elements/zoom.d.ts.map +1 -0
  85. package/dist/elements/zoom.js +22 -0
  86. package/dist/elements/zoom.js.map +1 -0
  87. package/dist/i18n.d.ts +10 -0
  88. package/dist/i18n.d.ts.map +1 -1
  89. package/dist/i18n.js +20 -0
  90. package/dist/i18n.js.map +1 -1
  91. package/dist/icons.d.ts +1 -0
  92. package/dist/icons.d.ts.map +1 -1
  93. package/dist/icons.js +1 -0
  94. package/dist/icons.js.map +1 -1
  95. package/dist/index.d.ts +331 -36
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +13 -0
  98. package/dist/index.js.map +1 -1
  99. package/dist/keyboard.d.ts +39 -2
  100. package/dist/keyboard.d.ts.map +1 -1
  101. package/dist/keyboard.js +145 -62
  102. package/dist/keyboard.js.map +1 -1
  103. package/dist/layout-store.d.ts +26 -0
  104. package/dist/layout-store.d.ts.map +1 -0
  105. package/dist/layout-store.js +46 -0
  106. package/dist/layout-store.js.map +1 -0
  107. package/dist/panel-levels.d.ts +18 -0
  108. package/dist/panel-levels.d.ts.map +1 -0
  109. package/dist/panel-levels.js +41 -0
  110. package/dist/panel-levels.js.map +1 -0
  111. package/dist/panels.d.ts +28 -0
  112. package/dist/panels.d.ts.map +1 -0
  113. package/dist/panels.js +73 -0
  114. package/dist/panels.js.map +1 -0
  115. package/dist/pipeline.d.ts.map +1 -1
  116. package/dist/pipeline.js +3 -2
  117. package/dist/pipeline.js.map +1 -1
  118. package/dist/prefs.d.ts +5 -2
  119. package/dist/prefs.d.ts.map +1 -1
  120. package/dist/prefs.js +12 -3
  121. package/dist/prefs.js.map +1 -1
  122. package/dist/react.d.ts +460 -0
  123. package/dist/react.d.ts.map +1 -0
  124. package/dist/react.js +2 -0
  125. package/dist/react.js.map +1 -0
  126. package/dist/root-element.d.ts +122 -0
  127. package/dist/root-element.d.ts.map +1 -0
  128. package/dist/root-element.js +541 -0
  129. package/dist/root-element.js.map +1 -0
  130. package/dist/root.d.ts +54 -0
  131. package/dist/root.d.ts.map +1 -0
  132. package/dist/root.js +288 -0
  133. package/dist/root.js.map +1 -0
  134. package/dist/schedule.d.ts +22 -0
  135. package/dist/schedule.d.ts.map +1 -0
  136. package/dist/schedule.js +41 -0
  137. package/dist/schedule.js.map +1 -0
  138. package/dist/session.d.ts +269 -0
  139. package/dist/session.d.ts.map +1 -0
  140. package/dist/session.js +1237 -0
  141. package/dist/session.js.map +1 -0
  142. package/dist/standalone/kgdiff-viewer-compute.js +1 -1
  143. package/dist/standalone/kgdiff-viewer.js +4 -4
  144. package/dist/styles.d.ts +17 -6
  145. package/dist/styles.d.ts.map +1 -1
  146. package/dist/styles.js +367 -258
  147. package/dist/styles.js.map +1 -1
  148. package/dist/theme.d.ts +32 -0
  149. package/dist/theme.d.ts.map +1 -0
  150. package/dist/theme.js +152 -0
  151. package/dist/theme.js.map +1 -0
  152. package/dist/topics.d.ts +8 -0
  153. package/dist/topics.d.ts.map +1 -0
  154. package/dist/topics.js +18 -0
  155. package/dist/topics.js.map +1 -0
  156. package/dist/ui/change-list.d.ts +18 -0
  157. package/dist/ui/change-list.d.ts.map +1 -0
  158. package/dist/ui/change-list.js +331 -0
  159. package/dist/ui/change-list.js.map +1 -0
  160. package/dist/ui/context.d.ts +34 -7
  161. package/dist/ui/context.d.ts.map +1 -1
  162. package/dist/ui/context.js.map +1 -1
  163. package/dist/ui/filters.d.ts +9 -0
  164. package/dist/ui/filters.d.ts.map +1 -0
  165. package/dist/ui/filters.js +68 -0
  166. package/dist/ui/filters.js.map +1 -0
  167. package/dist/ui/header.d.ts +41 -3
  168. package/dist/ui/header.d.ts.map +1 -1
  169. package/dist/ui/header.js +101 -36
  170. package/dist/ui/header.js.map +1 -1
  171. package/dist/ui/legend.d.ts +15 -0
  172. package/dist/ui/legend.d.ts.map +1 -0
  173. package/dist/ui/legend.js +68 -0
  174. package/dist/ui/legend.js.map +1 -0
  175. package/dist/ui/popovers.d.ts +3 -1
  176. package/dist/ui/popovers.d.ts.map +1 -1
  177. package/dist/ui/popovers.js +62 -23
  178. package/dist/ui/popovers.js.map +1 -1
  179. package/dist/ui/search.d.ts +13 -0
  180. package/dist/ui/search.d.ts.map +1 -0
  181. package/dist/ui/search.js +192 -0
  182. package/dist/ui/search.js.map +1 -0
  183. package/dist/ui/sidebar.d.ts +32 -17
  184. package/dist/ui/sidebar.d.ts.map +1 -1
  185. package/dist/ui/sidebar.js +327 -519
  186. package/dist/ui/sidebar.js.map +1 -1
  187. package/dist/ui/stage.d.ts +56 -1
  188. package/dist/ui/stage.d.ts.map +1 -1
  189. package/dist/ui/stage.js +244 -256
  190. package/dist/ui/stage.js.map +1 -1
  191. package/dist/ui/swatch.js +1 -1
  192. package/dist/ui/swatch.js.map +1 -1
  193. package/dist/ui/transport.d.ts +12 -0
  194. package/dist/ui/transport.d.ts.map +1 -0
  195. package/dist/ui/transport.js +198 -0
  196. package/dist/ui/transport.js.map +1 -0
  197. package/dist/ui/zoom.d.ts +15 -0
  198. package/dist/ui/zoom.d.ts.map +1 -0
  199. package/dist/ui/zoom.js +30 -0
  200. package/dist/ui/zoom.js.map +1 -0
  201. package/dist/view.d.ts +94 -0
  202. package/dist/view.d.ts.map +1 -0
  203. package/dist/view.js +441 -0
  204. package/dist/view.js.map +1 -0
  205. package/package.json +95 -12
  206. package/src/bind.ts +80 -0
  207. package/src/context.ts +106 -0
  208. package/src/controller.ts +52 -1630
  209. package/src/dom.ts +30 -0
  210. package/src/element.ts +386 -619
  211. package/src/elements/actions.ts +94 -0
  212. package/src/elements/bound.ts +247 -0
  213. package/src/elements/change-detail.ts +34 -0
  214. package/src/elements/change-list.ts +51 -0
  215. package/src/elements/filters.ts +34 -0
  216. package/src/elements/legend.ts +103 -0
  217. package/src/elements/minimap.ts +75 -0
  218. package/src/elements/root.ts +86 -0
  219. package/src/elements/search.ts +38 -0
  220. package/src/elements/stage-context.ts +34 -0
  221. package/src/elements/stage.ts +285 -0
  222. package/src/elements/title.ts +34 -0
  223. package/src/elements/transport.ts +39 -0
  224. package/src/elements/view-bound.ts +118 -0
  225. package/src/elements/view-dock.ts +43 -0
  226. package/src/elements/zoom.ts +38 -0
  227. package/src/i18n.ts +20 -0
  228. package/src/icons.ts +1 -0
  229. package/src/index.ts +350 -35
  230. package/src/keyboard.ts +188 -61
  231. package/src/layout-store.ts +71 -0
  232. package/src/panel-levels.ts +53 -0
  233. package/src/panels.ts +81 -0
  234. package/src/pipeline.ts +4 -1
  235. package/src/prefs.ts +12 -4
  236. package/src/react.ts +459 -0
  237. package/src/root-element.ts +624 -0
  238. package/src/root.ts +335 -0
  239. package/src/schedule.ts +43 -0
  240. package/src/session.ts +1375 -0
  241. package/src/styles.ts +396 -263
  242. package/src/theme.ts +170 -0
  243. package/src/topics.ts +37 -0
  244. package/src/ui/change-list.ts +405 -0
  245. package/src/ui/context.ts +36 -7
  246. package/src/ui/filters.ts +79 -0
  247. package/src/ui/header.ts +129 -58
  248. package/src/ui/legend.ts +112 -0
  249. package/src/ui/popovers.ts +68 -25
  250. package/src/ui/search.ts +225 -0
  251. package/src/ui/sidebar.ts +362 -639
  252. package/src/ui/stage.ts +267 -331
  253. package/src/ui/swatch.ts +1 -1
  254. package/src/ui/transport.ts +240 -0
  255. package/src/ui/zoom.ts +45 -0
  256. package/src/view.ts +516 -0
  257. package/vscode.html-custom-data.json +726 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- (function(){var e=Object.defineProperty,t=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};function r(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<32||n===34||n===92||n>=55296&&n<=57343)return!0}return!1}function i(e){return r(e)?JSON.stringify(e):`"${e}"`}function a(e,t,n){return`[${i(e)},${i(t)},${i(n)}]`}function o(e){return e.charCodeAt(e.length-1)!==93}function s(e){if(e.charCodeAt(e.length-1)===93)return{base:e,suffix:``};let t=e.lastIndexOf(`#`);return t<0?{base:e,suffix:``}:{base:e.slice(0,t),suffix:e.slice(t)}}function c(e){return Array.isArray(e)}function l(e,t){if(e===t)return!0;if(e===void 0||t===void 0||e===null||t===null)return!1;if(typeof e!=`object`||typeof t!=`object`)return typeof e==`number`&&typeof t==`number`&&Number.isNaN(e)&&Number.isNaN(t);if(c(e)){if(!c(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!l(e[n],t[n]))return!1;return!0}return!c(t)&&m(e,t)}function u(){return{}}function d(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0}):e[t]=n}function f(e,t){return Object.hasOwn(e,t)?e[t]:void 0}function p(e){return Object.keys(e).filter(t=>e[t]!==void 0)}function m(e,t,n){if(e===t)return!0;let r=0;for(let i of Object.keys(e)){let a=e[i];if(!(a===void 0||n?.has(i))&&(r++,!l(a,f(t,i))))return!1}let i=0;for(let e of Object.keys(t))t[e]!==void 0&&!n?.has(e)&&i++;return r===i}function h(e){return p(e).sort()}function g(e){for(let t of Object.keys(e))if(e[t]!==void 0)return!1;return!0}function _(e){return typeof e!=`object`||!e?e:c(e)?e.map(_):v(e)}function v(e){let t=u();for(let n of h(e))d(t,n,_(e[n]));return t}function y(e){return JSON.stringify(_(e))}var b,x=t((()=>{b=class{seed;h1=0;h2=0;constructor(e=0){this.seed=e,this.reset()}reset(){return this.h1=3735928559^this.seed,this.h2=1103547991^this.seed,this}code(e){return this.h1=Math.imul(this.h1^e,2654435761),this.h2=Math.imul(this.h2^e,1597334677),this}update(e){let t=this.h1,n=this.h2;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return this.h1=t,this.h2=n,this}string(e){return this.code(e.length&65535).code(e.length>>>16).update(e)}value(e){if(e===void 0)return this.code(117);if(e===null)return this.code(110);switch(typeof e){case`boolean`:return this.code(e?116:102);case`number`:return this.code(100).string(String(e));case`string`:return this.code(115).string(e)}if(c(e)){this.code(97).code(e.length&65535).code(e.length>>>16);for(let t of e)this.value(t);return this}let t=Object.keys(e);if(t.length===0)return this.code(111).code(0).code(0);let n=t.length===1&&e[t[0]]!==void 0?t:h(e);this.code(111).code(n.length&65535).code(n.length>>>16);for(let t of n)this.string(t).value(e[t]);return this}digestPair(){let e=this.h1,t=this.h2;return e=Math.imul(e^e>>>16,2246822507),e^=Math.imul(t^t>>>13,3266489909),t=Math.imul(t^t>>>16,2246822507),t^=Math.imul(e^e>>>13,3266489909),[e>>>0,t>>>0]}digest(){let[e,t]=this.digestPair();return 4294967296*(2097151&t)+e}}})),S,C=t((()=>{S=class extends Error{code;details;name=`KgdiffError`;constructor(e,t,n){super(t),this.code=e,this.details=n}}}));function w(e,t){return e<t?-1:+(e>t)}function T(e){if(e.length<=1){let t=e[0];return t===void 0||t===``?[]:[t]}let t=[...new Set(e)].filter(e=>e!==``);return t.length>1&&t.sort(),t}function E(e){return Math.round(e*1e6)/1e6}function ee(e){return e>0?Math.min(e,1):0}function te(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function ne(e,t){let n=[],r=[],i=0,a=0;for(;i<e.length||a<t.length;){let o=e[i],s=t[a];s===void 0||o!==void 0&&o<s?(r.push(o),i++):o===void 0||s<o?(n.push(s),a++):(i++,a++)}return{added:n,removed:r}}function D(e,t,n){let r=e.get(t);return r===void 0&&(r=n(),e.set(t,r)),r}function O(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function re(e,t){return t===void 0?0:(e.outgoing.get(t)?.length??0)+(e.incoming.get(t)?.length??0)}function k(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var A,j=t((()=>{A=Object.freeze([])}));function M(e){return Ce.test(e)?e:e.normalize(`NFC`)}function ie(e){return ae(e).replace(ye,` `).trim()}function ae(e){return Ce.test(e)?e.toLowerCase():e.normalize(`NFKC`).toLowerCase().replace(ve,``)}function oe(e){let t=e.match(we);return t?[...new Set(t.map(e=>e.replace(/^0+(?=.)/u,``)))].sort().join(` `):``}function se(e){let t=ae(e),n=t.replace(ye,` `).trim(),r=new Set,i;for(let e of t.matchAll(be)){let t=e[0],n=t.endsWith(`.`),a=n?t.slice(0,-1):t;r.add(a),n&&a.length>=2&&xe.test(a)&&(i??=new Set,i.add(a))}let a=Array.from(n.replaceAll(` `,``)),o=new Map;for(let e=0;e+1<a.length;e++){let t=a[e]+a[e+1];o.set(t,(o.get(t)??0)+1)}return{folded:t,normalized:n,chars:a,bigrams:o,bigramTotal:Math.max(0,a.length-1),tokens:[...r].sort(),abbreviations:i??Te,numbers:oe(n)}}function ce(e,t){let n=e.bigramTotal+t.bigramTotal;if(n===0)return 0;let[r,i]=e.bigrams.size<=t.bigrams.size?[e,t]:[t,e],a=0;for(let[e,t]of r.bigrams){let n=i.bigrams.get(e);n!==void 0&&(a+=Math.min(t,n))}return 2*a/n}function le(e,t){if(e.length===0&&t.length===0)return 1;if(e.length===0||t.length===0)return 0;let n=Math.max(0,Math.floor(Math.max(e.length,t.length)/2)-1),r=Array(e.length).fill(!1),i=Array(t.length).fill(!1),a=0;for(let o=0;o<e.length;o++){let s=Math.max(0,o-n),c=Math.min(t.length-1,o+n);for(let n=s;n<=c;n++)if(!i[n]&&e[o]===t[n]){r[o]=!0,i[n]=!0,a++;break}}if(a===0)return 0;let o=0,s=0;for(let n=0;n<e.length;n++)if(r[n]){for(;!i[s];)s++;e[n]!==t[s]&&o++,s++}let c=a,l=(c/e.length+c/t.length+(c-o/2)/c)/3,u=Math.min(e.length,t.length);if(u<4||u/Math.max(e.length,t.length)<.7)return l;let d=0;for(;d<4&&e[d]===t[d];)d++;return l+d*.1*(1-l)}function ue(e,t){let n=e.tokens.length+t.tokens.length;if(n===0)return 0;let r=new Set(t.tokens),i=[],a=0;for(let t of e.tokens)r.has(t)?a++:i.push(t);if(e.abbreviations.size>0||t.abbreviations.size>0){let n=new Set(e.tokens),r=t.tokens.filter(e=>!n.has(e));a+=Oe*de(i,e.abbreviations,r),a+=Oe*de(r,t.abbreviations,i)}return Math.min(1,2*a/n)}function de(e,t,n){if(t.size===0)return 0;let r=0;for(let i=0;i<e.length;i++){let a=e[i];if(!t.has(a))continue;let o=n.findIndex(e=>e.length>a.length&&e.startsWith(a));o<0||(n.splice(o,1),e.splice(i,1),i--,r++)}return r}function N(e,t){if(e.normalized===``||t.normalized===``)return+(e.folded===t.folded);if(e.normalized===t.normalized)return 1;let[n,r]=e.normalized<t.normalized?[e,t]:[t,e],i=n.chars.length<4||r.chars.length<4?le(n.chars,r.chars):ce(n,r),a=ue(n,r),o=ee(Math.max(i,a));return E(n.numbers!==r.numbers&&n.numbers!==``&&r.numbers!==``?Math.min(o,De):o)}function fe(e,t){me(e.normalized,e.folded,e.tokens,t)}function pe(e){let t=new Set;for(let n of e){let e=ie(n);if(e!==``){t.add(`f:${e}`);for(let n of e.split(` `))n.length>=2&&!ke.has(n)&&t.add(`w:${n}`),n.length>=4&&t.add(`p:${n.slice(0,4)}`)}}return[...t]}function me(e,t,n,r){if(e===``)t!==``&&r.add(`r:${t}`);else{r.add(`f:${e}`);for(let e of n){let t=Array.from(e);t.length>=2&&!ke.has(e)&&r.add(`w:${e}`),t.length>=4&&r.add(`p:${t.slice(0,4).join(``)}`);for(let t of e.matchAll(Se)){let e=Array.from(t[0]);e.length===1&&r.add(`b:${e[0]}`);for(let t=0;t+1<e.length;t++)r.add(`b:${e[t]}${e[t+1]}`)}}}}function he(e){if(!e.includes(`%`))return e;try{return decodeURIComponent(e)}catch{return e}}function ge(e){let t=P.get(e);return t===void 0&&(P.size>=je&&P.clear(),t=_e(e),P.set(e,t)),t}function _e(e){let t=Me.exec(e);if(t)return`${t[1]}:${t[2]}`;let n=e.length;for(;n>0&&`#/:`.includes(e.charAt(n-1));)n--;let r=e.slice(0,n),i=Math.max(r.lastIndexOf(`#`),r.lastIndexOf(`/`),r.lastIndexOf(`:`)),a=r.slice(i+1);if(a===``||Ae.test(a))return M(e);let o=he(a).replaceAll(`_`,` `).replace(/\s+/g,` `).trim();return M(o===``?e:o)}var ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,P,je,Me,F=t((()=>{j(),ve=/[\p{Cc}\p{Cf}]/gu,ye=/[\p{P}\s]+/gu,be=/[^\p{P}\s]+\.?/gu,xe=/^\p{L}+$/u,Se=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]+/gu,Ce=/^[\x20-\x7e]*$/,we=/\p{Nd}+/gu,Te=new Set,Ee=class{cache=new Map;get(e){let t=this.cache.get(e);return t||(t=se(e),this.cache.set(e,t)),t}},De=.5,Oe=.9,ke=new Set(`a.an.and.as.at.by.de.der.des.di.die.du.el.en.et.for.from.in.into.is.la.le.les.of.on.or.the.to.und.van.von.with`.split(`.`)),Ae=/^\d+$/,P=new Map,je=4096,Me=/^https?:\/\/purl\.obolibrary\.org\/obo\/([A-Za-z][A-Za-z0-9]*)_(\d+)$/}));function Ne(e,t=e.id){let n={id:t};return e.label!==t&&(n.label=e.label),e.types.length&&(n.types=e.types),e.aliases.length&&(n.aliases=e.aliases),g(e.attrs)||(n.attrs=v(e.attrs)),e.deprecated&&(n.deprecated=!0),e.replaces.length&&(n.replaces=e.replaces),e.replacedBy.length&&(n.replacedBy=e.replacedBy),e.implicit&&(n.implicit=!0),n}function Pe(e,t=e.source,n=e.target){let r=e.id===void 0?{source:t,target:n}:{id:e.id,source:t,target:n};return e.predicate!==``&&(r.predicate=e.predicate),e.label!==ge(e.predicate)&&(r.label=e.label),g(e.attrs)||(r.attrs=v(e.attrs)),r}function Fe(e,t){e.code(78).string(t.id).string(t.label),e.code(t.types.length);for(let n of t.types)e.string(n);e.code(t.aliases.length);for(let n of t.aliases)e.string(n);e.value(t.attrs).code(+!!t.deprecated),e.code(t.replaces.length);for(let n of t.replaces)e.string(n);e.code(t.replacedBy.length);for(let n of t.replacedBy)e.string(n)}function Ie(e,t,n){e.code(69),n&&t.id!==void 0?e.code(1).string(t.id):e.code(0),e.string(t.source).string(t.predicate).string(t.target).string(t.label),e.value(t.attrs)}function Le(e){let t=Re.get(e);if(t)return t;let n=new b,r=0,i=0;for(let t of e.nodes.values()){Fe(n.reset(),t);let[e,a]=n.digestPair();r=r+e>>>0,i=i+a>>>0}let a=e.edgeIdentity===`id`,o=0,s=0;for(let t of e.edges.values()){Ie(n.reset(),t,a);let[e,r]=n.digestPair();o=o+e>>>0,s=s+r>>>0}let c=`c53:${new b().update(`kgdiff.graph.v1|${e.nodes.size}|${r}|${i}|${e.edges.size}|${o}|${s}`).digest().toString(16).padStart(14,`0`)}`;return Re.set(e,c),c}var Re,ze=t((()=>{x(),F(),Re=new WeakMap}));function I(e,t){throw new S(`invalid-input`,e,{option:t})}function Be(e,t,n){return e===void 0?t:(typeof e==`number`&&e>=0&&e<=1||I(`${n} must be a number between 0 and 1 (got ${String(e)})`,n),e)}function Ve(e,t,n){return e===void 0?[...t]:((!Array.isArray(e)||e.some(e=>typeof e!=`string`))&&I(`${n} must be an array of strings`,n),[...new Set(e)])}function He(e){if(e===void 0)return L;typeof e==`object`&&e||I(`match options must be an object`,`match`);let t=e.strategy??L.strategy;Ke.has(t)||I(`match.strategy must be 'id', 'auto' or 'similarity' (got ${String(t)})`,`match.strategy`);let n=e.maxCandidates??L.maxCandidates;return(!Number.isInteger(n)||n<1)&&I(`match.maxCandidates must be a positive integer (got ${String(n)})`,`match.maxCandidates`),{strategy:t,threshold:Be(e.threshold,L.threshold,`match.threshold`),suggestThreshold:Be(e.suggestThreshold,L.suggestThreshold,`match.suggestThreshold`),maxCandidates:n}}function Ue(e,t=`structure`){return e===void 0?t:(typeof e==`string`&&qe.has(e)||I(`edgeIdentity must be 'structure' or 'id' (got ${String(e)})`,`edgeIdentity`),e)}function We(e){e===void 0||typeof e==`object`&&e||I(`options must be an object`,`options`);let t=e??{};for(let e of[`detectMerges`,`detectSplits`])t[e]!==void 0&&typeof t[e]!=`boolean`&&I(`${e} must be a boolean`,e);return{match:He(t.match),edgeIdentity:Ue(t.edgeIdentity),hierarchyPredicates:Ve(t.hierarchyPredicates,Ge,`hierarchyPredicates`),detectMerges:t.detectMerges??!0,detectSplits:t.detectSplits??!0,ignoreAttrs:Ve(t.ignoreAttrs,[],`ignoreAttrs`).sort()}}var Ge,L,Ke,qe,Je=t((()=>{C(),Ge=Object.freeze([`rdfs:subClassOf`,`http://www.w3.org/2000/01/rdf-schema#subClassOf`,`rdfs:subPropertyOf`,`http://www.w3.org/2000/01/rdf-schema#subPropertyOf`,`skos:broader`,`http://www.w3.org/2004/02/skos/core#broader`,`is_a`,`subClassOf`,`parent`]),L=Object.freeze({strategy:`auto`,threshold:.82,suggestThreshold:.6,maxCandidates:8}),Ke=new Set([`id`,`auto`,`similarity`]),qe=new Set([`structure`,`id`])}));function R(e,t){throw new S(`invalid-input`,e,t)}function Ye(e){let{format:t,version:n}=e;if(typeof t==`string`&&t.startsWith(`kgdiff.`)){if(t!==`kgdiff.graph`)throw new S(`unsupported-version`,`Expected a kgdiff graph (format "kgdiff.graph"), got format "${t}"`,{format:t});if(n!==1)throw new S(`unsupported-version`,`Unsupported graph version ${String(n)}; this reader supports version 1`,{version:n})}}function Xe(e){if(typeof e==`string`)return e===``?void 0:e;if(typeof e==`number`&&Number.isFinite(e))return String(e)}function Ze(e,t){return t===void 0?{what:`Node "${e}"`,ref:e}:{what:`Edge ${e} → ${t}`,ref:`${e} → ${t}`}}function Qe(e,t,n,r){let{what:i,ref:a}=Ze(e,t);return R(`${i}: ${n} must be ${r}`,{ref:a})}function $e(e,t,n,r){if(e!=null)return typeof e!=`string`&&Qe(t,n,r,`a string`),e}function et(e,t,n){return e==null?A:typeof e==`string`?[e]:((!Array.isArray(e)||e.some(e=>typeof e!=`string`))&&Qe(t,void 0,n,`an array of strings`),e)}function tt(e,t,n){switch(typeof e){case`string`:case`boolean`:return e;case`number`:return Number.isFinite(e)?e:String(e);case`bigint`:return String(e);case`undefined`:case`function`:case`symbol`:n();return}if(e===null)return null;if(t>=vt)throw new S(`invalid-input`,`Attribute values may be nested at most ${vt} levels deep (or the value is cyclic)`);if(e instanceof Date)return Number.isNaN(e.getTime())?`Invalid Date`:e.toISOString();if(Array.isArray(e))return e.map(e=>tt(e,t+1,n)??null);let r=e.toJSON;if(typeof r==`function`)return tt(r.call(e),t+1,n);let i=u();for(let r of Object.keys(e)){let a=e[r],o=typeof a==`string`||typeof a==`boolean`||typeof a==`number`&&Number.isFinite(a)?a:tt(a,t+1,n);o!==void 0&&d(i,r,o)}return i}function nt(e,t,n,r){if(e==null)return;k(e)||Qe(t,n,`attrs`,`an object`);let i=0,a=tt(e,0,()=>i++);if(i>0){let{what:e,ref:a}=Ze(t,n);r.push({code:`invalid-attr`,message:`${e}: ${i} attribute value(s) that are not JSON (function, symbol or undefined) were dropped`,ref:a})}return a}function rt(e){if(!k(e))return;let{x:t,y:n}=e;return typeof t==`number`&&typeof n==`number`&&Number.isFinite(t)&&Number.isFinite(n)?{x:t,y:n}:void 0}function it(e,t,n){let r=et(e.type,t,`type`),i=et(e.types,t,`types`),a=et(e.aliases,t,`aliases`),o=i.length?[...r,...i]:r,s={id:t,types:o.length?o.map(M):A,aliases:a.length?a.map(M):A,replaces:et(e.replaces,t,`replaces`),replacedBy:et(e.replacedBy,t,`replacedBy`),implicit:e.implicit===!0},c=$e(e.label,t,void 0,`label`);c&&(s.label=M(c));let l=nt(e.attrs,t,void 0,n);l&&(s.attrs=l),e.deprecated!==void 0&&e.deprecated!==null&&(typeof e.deprecated!=`boolean`&&Qe(t,void 0,`deprecated`,`a boolean`),s.deprecated=e.deprecated);let u=rt(e.position);return u&&(s.position=u),s}function at(e,t){return e===void 0?t:t===void 0?e:y(t)>y(e)?t:e}function ot(e,t){if(!e||!t)return e??t;let n=u();for(let r of new Set([...Object.keys(e),...Object.keys(t)])){let i=at(f(e,r),f(t,r));i!==void 0&&d(n,r,i)}return n}function st(e,t){let n=at(e.label,t.label);n!==void 0&&(e.label=n);let r=at(e.deprecated,t.deprecated);r!==void 0&&(e.deprecated=r);let i=at(e.position,t.position);i&&(e.position=i);let a=ot(e.attrs,t.attrs);a&&(e.attrs=a),e.types=[...e.types,...t.types],e.aliases=[...e.aliases,...t.aliases],e.replaces=[...e.replaces,...t.replaces],e.replacedBy=[...e.replacedBy,...t.replacedBy],e.implicit=e.implicit&&t.implicit}function ct(e){let t=e.label??e.id,n=T(e.aliases),r=n.indexOf(t);r>=0&&n.splice(r,1);let i={id:e.id,label:t,types:e.types.length?T(e.types):A,aliases:n.length?n:A,attrs:e.attrs??gt,deprecated:e.deprecated??!1,replaces:e.replaces.length?T(e.replaces):A,replacedBy:e.replacedBy.length?T(e.replacedBy):A,implicit:e.implicit};return e.position&&(i.position=e.position),i}function lt(e){return y([e.label,e.attrs])}function ut(e,t){return t.id===void 0?{key:e,source:t.source,target:t.target,predicate:t.predicate,label:t.label,attrs:t.attrs}:{key:e,id:t.id,source:t.source,target:t.target,predicate:t.predicate,label:t.label,attrs:t.attrs}}function dt(e){return typeof e==`object`&&!!e&&e.nodes instanceof Map&&e.edges instanceof Map}function ft(e,t={}){k(e)&&Ye(e),k(e)&&Array.isArray(e.nodes)||R(`normalize expects a graph of the form { nodes: [...], edges: [...] }`),e.edges!==void 0&&e.edges!==null&&!Array.isArray(e.edges)&&R(`graph.edges must be an array`);let n=Ue(t.edgeIdentity),r=t.danglingEdges??`create`;_t.has(r)||R(`danglingEdges must be 'create', 'drop' or 'error' (got ${String(r)})`);let i=[],o=new Map;for(let t of e.nodes){k(t)||R(`graph.nodes must contain objects`);let e=Xe(t.id);if(e===void 0){i.push({code:`empty-id`,message:`Dropped a node without an id`});continue}let n=it(t,e,i),r=o.get(e);r?(st(r,n),i.push({code:`duplicate-node`,message:`Node "${e}" is declared more than once; the declarations were merged`,ref:e})):o.set(e,n)}let s=new Map,c=[];for(let t of e.edges??[]){k(t)||R(`graph.edges must contain objects`);let e=t,n=Xe(e.source),a=Xe(e.target);if(n===void 0||a===void 0){i.push({code:`empty-id`,message:`Dropped an edge with an empty endpoint`});continue}let l=$e(e.predicate,n,a,`predicate`)??``,u=$e(e.label,n,a,`label`),d=u===void 0?void 0:M(u);if(d===void 0&&(d=s.get(l),d===void 0&&(d=ge(l),s.set(l,d))),(!o.has(n)||!o.has(a))&&(pt(n,l,a,r,o,i),r===`drop`))continue;let f=Xe(e.id),p=nt(e.attrs,n,a,i)??gt;c.push(f===void 0?{key:``,source:n,target:a,predicate:l,label:d,attrs:p}:{key:``,id:f,source:n,target:a,predicate:l,label:d,attrs:p})}let l=new Map;for(let[e,t]of o)l.set(e,ct(t));let u=[],d=new Map,f=new Map;for(let e of c){let t=n===`id`&&e.id!==void 0,r=t?e.id:a(e.source,e.predicate,e.target),i=t?d:f,o=i.get(r);if(o)o.more?o.more.push(e):o.more=[e];else{let n={base:r,idKeyed:t,first:e};i.set(r,n),u.push(n)}}let p=n===`id`?new Set:void 0,m=e=>{if(!p)return e;let t=e;for(let n=2;p.has(t);n++)t=`${e}#${n}`;return p.add(t),t};for(let e of[!0,!1])for(let t of u){if(t.idKeyed!==e)continue;let{base:n,first:r,more:a}=t;if(!a){r.key=m(n),t.edge=r;continue}let o=[],s=(e,t)=>{o.push(ut(m(e),t))};e?(s(n,mt([r,...a])),i.push({code:`duplicate-edge`,message:`Edge id "${n}" is used ${a.length+1} times; the declarations were merged`,ref:n})):ht(n,[r,...a],s,i),t.edges=o}let h=new Map;for(let e of u)if(e.edge)h.set(e.edge.key,e.edge);else for(let t of e.edges??[])h.set(t.key,t);let g=new Map,_=new Map;for(let e of h.values())O(g,e.source,e.key),O(_,e.target,e.key);for(let e of l.keys())g.has(e)||g.set(e,A),_.has(e)||_.set(e,A);return i.sort((e,t)=>w(e.code,t.code)||w(e.ref??``,t.ref??``)||w(e.message,t.message)),{meta:k(e.meta)?{...e.meta}:{},nodes:l,edges:h,outgoing:g,incoming:_,edgeIdentity:n,issues:i}}function pt(e,t,n,r,i,o){for(let s of e===n?[e]:[e,n])if(!i.has(s)){if(r===`error`)throw new S(`dangling-edge`,`Edge ${a(e,t,n)} points to the missing node "${s}"`,{source:e,predicate:t,target:n,missing:s});r===`create`&&i.set(s,{id:s,types:[],aliases:[],replaces:[],replacedBy:[],implicit:!0}),o.push({code:`dangling-edge`,message:r===`create`?`Edge endpoint "${s}" is not declared; an implicit node was created`:`Dropped an edge whose endpoint "${s}" is not declared`,ref:s})}}function mt(e){let t=e=>y([e.source,e.predicate,e.target,e.label]),n=e[0],r=n.attrs;for(let i=1;i<e.length;i++){let a=e[i];t(a)>t(n)&&(n=a),r=ot(r,a.attrs)}return{...n,attrs:r??gt}}function ht(e,t,n,r){let i=new Map,a=0;for(let e of t){let t=lt(e),n=i.get(t);n?(a++,e.id!==void 0&&(n.id===void 0||e.id<n.id)&&i.set(t,e)):i.set(t,e)}let o=[...i].map(([e,t])=>({draft:t,content:e})).sort((e,t)=>w(e.content,t.content));o.forEach(({draft:t},r)=>{n(r===0?e:`${e}#${r+1}`,t)}),a>0&&r.push({code:`duplicate-edge`,message:`Edge ${e} is declared ${a+1} times with identical content; the copies were collapsed`,ref:e}),o.length>1&&r.push({code:`duplicate-edge`,message:`Edge ${e} has ${o.length} parallel copies; they are keyed #2, #3…`,ref:e})}var gt,_t,vt,yt=t((()=>{x(),C(),Je(),F(),j(),gt=Object.freeze({}),_t=new Set([`create`,`drop`,`error`]),vt=1e3}));function bt(e){let{name:t,version:n}=e.meta;return{...typeof t==`string`?{name:t}:{},...typeof n==`string`?{version:n}:{},hash:Le(e),nodes:e.nodes.size,edges:e.edges.size}}function xt(e,t){return t===`id`&&e.id!==void 0?e.id:a(e.source,e.predicate??``,e.target)}function St(e,t){let{source:n,target:r,predicate:i}=e,a=t===`id`&&e.id!==void 0?{id:e.id,source:n,target:r}:{source:n,target:r};return i!==``&&(a.predicate=i),a}function Ct(e,t){return e[t]}function wt(e,t){return typeof e==`object`&&typeof t==`object`?te(e,t):e===t}function Tt(e,t,n){let r=e.options.edgeIdentity,i=e.unionOfBefore,a=new Map;for(let e of t)a.set(e.id,e);let o=new Set(e.renamed.values()),s=new kt(t=>e.before.nodes.has(t),t=>e.after.nodes.has(t)||o.has(t)||e.before.nodes.has(t)),c=new Map,l=new Map;for(let[t,n]of e.renamed)(a.get(n)?.hunk===void 0?c:l).set(t,n);for(let e of[...c.values()].sort()){let t=l.get(e);if(t===void 0)continue;let n=s.temporary(e);s.move(e,n),l.delete(e),l.set(n,t)}s.run(c);let u=s.plan.length;s.run(l);let d=[],f=new Map;s.plan.forEach(([e,t],n)=>{let r=f.get(e)??i(e);f.set(t,r);let o=n<u?void 0:a.get(r)?.hunk;d.push({op:{op:`node.rekey`,from:e,to:t},hunk:o})});let p=e=>e.status===`modified`&&!e.inPlace,m=e=>e.map(e=>({...e,key:`${xt(e.edge,r)}\u0000${JSON.stringify(e.edge)}`})).sort((e,t)=>w(e.key,t.key)).map(({op:e,hunk:t})=>({op:e,hunk:t})),h=[];for(let e of n){if(!e.before||!(e.status===`removed`||p(e)))continue;let t=Pe(e.before,i(e.before.source),i(e.before.target));h.push({op:{op:`edge.remove`,edge:t},edge:t,hunk:e.hunk})}for(let e of m(h))d.push(e);for(let e of t)e.status===`removed`&&e.before&&d.push({op:{op:`node.remove`,node:Ne(e.before,e.id)},hunk:e.hunk});let g=[];for(let e of t)if(e.status===`modified`&&e.before&&e.after){for(let t of Ot){let n=Ct(e.before,t),r=Ct(e.after,t);wt(n,r)||d.push({op:{op:`node.set`,id:e.id,field:t,from:n,to:r},hunk:e.hunk})}for(let t of e.facets)if(t.kind===`attrs`)for(let n of t.changes){let t={op:`node.attr`,id:e.id,key:n.key,...n.before===void 0?{}:{from:n.before},...n.after===void 0?{}:{to:n.after}};g.push({op:t,hunk:e.hunk})}}for(let e of g)d.push(e);for(let e of t)e.status===`added`&&e.after&&d.push({op:{op:`node.add`,node:Ne(e.after)},hunk:e.hunk});let _=[];for(let e of n){if(!e.after||!(e.status===`added`||p(e)))continue;let t=Pe(e.after);_.push({op:{op:`edge.add`,edge:t},edge:t,hunk:e.hunk})}for(let e of m(_))d.push(e);let v=n.filter(e=>e.status===`modified`&&e.inPlace&&e.before&&e.after).map(e=>({e,locator:St(e.after,r)})).map(e=>({...e,key:xt(e.locator,r)})).sort((e,t)=>w(e.key,t.key));for(let{e,locator:t}of v){let n=e.before,r=e.after;n.label!==r.label&&d.push({op:{op:`edge.set`,edge:t,field:`label`,from:n.label,to:r.label},hunk:e.hunk})}for(let{e,locator:t}of v)for(let n of e.facets)if(n.kind===`attrs`)for(let r of n.changes){let n={op:`edge.attr`,edge:t,key:r.key,...r.before===void 0?{}:{from:r.before},...r.after===void 0?{}:{to:r.after}};d.push({op:n,hunk:e.hunk})}return{delta:{format:`kgdiff.delta`,version:1,edgeIdentity:r,base:bt(e.before),target:bt(e.after),ops:d.map(e=>e.op)},opHunks:d.map(e=>e.hunk)}}function Et(e){return{id:e.id,label:e.label,types:e.types,aliases:e.aliases,attrs:e.attrs,deprecated:e.deprecated,replaces:e.replaces,replacedBy:e.replacedBy,implicit:e.implicit,...e.position?{position:e.position}:{}}}function Dt(e,t){return e.edgeIdentity===t?e:ft({meta:e.meta,nodes:[...e.nodes.values()].map(Et),edges:[...e.edges.values()]},{edgeIdentity:t})}var Ot,kt,At=t((()=>{x(),ze(),yt(),j(),Ot=[`label`,`types`,`aliases`,`deprecated`,`replaces`,`replacedBy`],kt=class{occupiedAtStart;reserved;plan=[];vacated=new Set;filled=new Set;constructor(e,t){this.occupiedAtStart=e,this.reserved=t}occupied(e){return this.filled.has(e)||this.occupiedAtStart(e)&&!this.vacated.has(e)}temporary(e){let t=`${e}@tmp`;for(;this.occupied(t)||this.reserved(t);)t+=`@tmp`;return t}move(e,t){this.plan.push([e,t]),this.vacated.add(e),this.filled.delete(e),this.filled.add(t)}run(e){let t=new Map,n=[];for(let r of[...e.keys()].sort()){let i=e.get(r);this.occupied(i)?t.set(i,[r,i]):n.push([r,i])}let r=e=>{let r=t.get(e);r&&(t.delete(e),n.push(r))};for(;;){for(;n.length;){let[e,t]=n.shift();this.move(e,t),r(e)}if(t.size===0)return;let e;for(let n of t.values())(!e||n[0]<e[0])&&(e=n);let[i,a]=e,o=this.temporary(i);this.move(i,o),t.set(a,[o,a]),r(i)}}}}));function jt(e,t){return`${e}\u0000${t}`}var Mt,Nt=t((()=>{Mt=[`rekey`,`rename`,`mergedInto`,`mergeTarget`,`splitFrom`,`splitInto`,`move`,`deprecate`,`replacement`,`types`,`aliases`,`attrs`,`retarget`,`predicate`,`label`,`collapsed`]}));function Pt(e,t,n){let r=new Map,i=[],a=new Set;for(let o of e.nodes.keys()){let e=n.get(o);e===void 0?t.nodes.has(o)?i.push(o):a.add(o):e!==o&&r.set(o,e)}i.sort();for(let e of i){let n=`${e}@before`;for(;t.nodes.has(n)||a.has(n);)n+=`@before`;a.add(n),r.set(e,n)}return r}function Ft(e,t,n){if(e===t||m(e,t,n))return[];let r=new Set([...h(e),...h(t)]),i=[];for(let a of[...r].sort()){if(n.has(a))continue;let r=f(e,a),o=f(t,a);l(r,o)||(r===void 0?i.push({key:a,after:_(o)}):o===void 0?i.push({key:a,before:_(r)}):i.push({key:a,before:_(r),after:_(o)}))}return i}function It(e,t){let n=new Map;for(let r of e.merges)for(let e of r.sources)n.set(t(e.id),r.target);let r=new Map,i=new Map;for(let n of e.splits){let e=t(n.source);r.set(e,n.targets.map(e=>e.id));for(let t of n.targets)i.set(t.id,e)}return{mergeTargetOf:n,splitTargetsOf:r,splitSourceOf:i}}function Lt(e,t,n){let r=new Map;if(t.size===0)return r;for(let i of e.edges.values())t.has(i.predicate)&&D(D(r,i.source,()=>new Map),i.predicate,()=>new Set).add(n(i.target));return r}function Rt(e,t,n){if(!e&&!t)return[];let r=new Set([...e?.keys()??[],...t?.keys()??[]]),i=[];for(let a of[...r].sort()){let r=e?.get(a)??new Set,o=t?.get(a)??new Set,s=new Set([...r].map(e=>n.mergeTargetOf.get(e)??e)),c=new Set([...o].map(e=>n.splitSourceOf.get(e)??e)),l=[...r].filter(e=>!c.has(n.mergeTargetOf.get(e)??e)),u=[...o].filter(e=>!s.has(n.splitSourceOf.get(e)??e));(l.length||u.length)&&i.push({kind:`move`,predicate:a,from:l.sort(),to:u.sort()})}return i}function zt(e,t,n){if(te(t,n))return[];let{added:r,removed:i}=ne(t,n);return[{kind:e,added:r,removed:i}]}function Bt(e,t,n,r,i){let a=e.restructuring,o=[];t.id!==n.id&&e.options.match.strategy!==`similarity`&&o.push({kind:`rekey`,from:t.id,to:n.id,score:e.inferred.get(t.id)?.score??1}),t.label!==n.label&&o.push({kind:`rename`,from:t.label,to:n.label});let s=a.mergeBySource.get(t.id);s&&o.push(Vt(t.id,s));let c=a.mergeByTarget.get(n.id);c&&o.push({kind:`mergeTarget`,sources:c.sources.map(t=>e.unionOfBefore(t.id)).sort()});let l=a.splitBySource.get(t.id);l&&o.push({kind:`splitInto`,targets:l.targets.map(e=>e.id)});let u=Rt(i.before.get(t.id),i.after.get(n.id),r),d=!t.deprecated&&n.deprecated||!!s||!!l;o.push(...d?u.filter(e=>e.to.length>0):u),t.deprecated!==n.deprecated&&o.push({kind:`deprecate`,deprecated:n.deprecated}),te(t.replaces,n.replaces)&&te(t.replacedBy,n.replacedBy)||o.push({kind:`replacement`,replaces:ne(t.replaces,n.replaces),replacedBy:ne(t.replacedBy,n.replacedBy)}),o.push(...zt(`types`,t.types,n.types)),o.push(...zt(`aliases`,t.aliases,n.aliases));let f=Ft(t.attrs,n.attrs,e.ignoreAttrs);return f.length&&o.push({kind:`attrs`,changes:f}),o}function Vt(e,t){let n=t.sources.find(t=>t.id===e);return{kind:`mergedInto`,target:t.target,confidence:n?.confidence??1,via:n?.via??`hint`}}function Ht(e){let t=e.restructuring,n=It(t,e.unionOfBefore),r=new Set,i=[],a={before:Lt(e.before,e.hierarchy,e.unionOfBefore),after:Lt(e.after,e.hierarchy,e=>e)};for(let o of e.after.nodes.values()){let s=e.afterToBefore.get(o.id);if(s===void 0){let n=[],r=t.mergeByTarget.get(o.id);r&&n.push({kind:`mergeTarget`,sources:r.sources.map(t=>e.unionOfBefore(t.id)).sort()});let a=t.splitByTarget.get(o.id);if(a){let t=a.targets.find(e=>e.id===o.id);n.push({kind:`splitFrom`,source:e.unionOfBefore(a.source),confidence:t?.confidence??1,via:t?.via??`hint`})}i.push({id:o.id,afterId:o.id,after:o,status:`added`,facets:n});continue}let c=e.before.nodes.get(s),l=Bt(e,c,o,n,a);for(let e of l)e.kind===`move`&&r.add(jt(o.id,e.predicate));i.push({id:o.id,beforeId:s,afterId:o.id,before:c,after:o,status:l.length?`modified`:`unchanged`,facets:l})}for(let n of e.before.nodes.values()){if(e.beforeToAfter.has(n.id))continue;let r=[],a=t.mergeBySource.get(n.id);a&&r.push(Vt(n.id,a));let o=t.splitBySource.get(n.id);o&&r.push({kind:`splitInto`,targets:o.targets.map(e=>e.id)}),i.push({id:e.unionOfBefore(n.id),beforeId:n.id,before:n,status:`removed`,facets:r})}return i.sort((e,t)=>w(e.id,t.id)),{nodes:i,index:{...n,moved:r}}}var Ut=t((()=>{x(),Nt(),j()}));function z(e){let t;return()=>(t??=e(),t)}function B(e,t){let n=new Map;for(let r of e){let e=t(r);e!==void 0&&n.set(e,r)}return n}function Wt(e,t,n){let r=z(()=>B(e,e=>e.id)),i=z(()=>B(e,e=>e.beforeId)),a=z(()=>B(e,e=>e.afterId)),o=z(()=>B(t,e=>e.id)),s=z(()=>B(n,e=>e.id)),c=z(()=>{let e=new Map;for(let n of t){let t=new Set([n.source,n.target]);n.sourceBefore!==void 0&&t.add(n.sourceBefore),n.targetBefore!==void 0&&t.add(n.targetBefore);for(let r of t){let t=e.get(r);t?t.push(n):e.set(r,[n])}}return e});return{node:e=>r().get(e),edge:e=>o().get(e),hunk:e=>s().get(e),nodeByBefore:e=>i().get(e),nodeByAfter:e=>a().get(e),edgesOf:e=>c().get(e)??Gt}}var Gt,Kt=t((()=>{Gt=Object.freeze([])}));function qt(e){return y([e.label,e.attrs])}function Jt(e,t){let{before:n,after:r}=e,i=e.options.edgeIdentity,c=e.unionOfBefore,l=e=>i===`structure`||e.id===void 0,u=[],d=new Set(r.edges.keys()),f=e=>i===`id`||e.issues.some(e=>e.code===`duplicate-edge`),p=new Set;if(f(n)||f(r)){for(let e of n.edges.values())if(l(e)&&o(e.key)){let t=s(e.key).base,n=c(e.source),r=c(e.target);p.add(n===e.source&&r===e.target?t:a(n,e.predicate,r))}for(let e of r.edges.values())l(e)&&o(e.key)&&p.add(s(e.key).base)}let m=(n,r,i,a)=>{if(t.mergeTargetOf.get(r)===i)return`merge`;if(t.splitTargetsOf.get(r)?.includes(i))return`split`;if(e.hierarchy.has(a.predicate)){let e=n===`target`?a.source:i;if(t.moved.has(jt(e,a.predicate))||t.moved.has(jt(r,a.predicate)))return`move`}return`edit`},h=(t,n,r,i)=>{d.delete(n.key);let a=t.edge,o=t.source!==n.source,s=t.target!==n.target,c=a.predicate!==n.predicate,l=[];if(o){let e=i??m(`source`,t.source,n.source,n);l.push({kind:`retarget`,end:`source`,from:t.source,to:n.source,cause:e})}if(s){let e=i??m(`target`,t.target,n.target,n);l.push({kind:`retarget`,end:`target`,from:t.target,to:n.target,cause:e})}c&&l.push({kind:`predicate`,from:a.predicate,to:n.predicate});let f=c&&a.label===ge(a.predicate)&&n.label===ge(n.predicate);a.label!==n.label&&!f&&l.push({kind:`label`,from:a.label,to:n.label});let p=Ft(a.attrs,n.attrs,e.ignoreAttrs);p.length&&l.push({kind:`attrs`,changes:p});let h={id:n.key,source:n.source,target:n.target,predicate:n.predicate,label:n.label,beforeKey:a.key,afterKey:n.key,before:a,after:n,status:l.length?`modified`:`unchanged`,facets:l,hierarchical:e.hierarchy.has(n.predicate),inPlace:r&&!o&&!s&&!c};o&&(h.sourceBefore=t.source),s&&(h.targetBefore=t.target),c&&(h.predicateBefore=a.predicate),u.push(h)},g=[],_=new Map,v=e=>D(_,e,()=>({before:[],after:[]}));for(let e of n.edges.values()){let t=c(e.source),n=c(e.target),i=l(e),o=e.key;if(i&&(t!==e.source||n!==e.target)&&(o=a(t,e.predicate,n)+s(e.key).suffix),!i){let i=r.edges.get(o),a={edge:e,source:t,target:n,key:o};i&&i.id===e.id&&!l(i)?h(a,i,!0):g.push(a);continue}if(p.size){let{base:r}=s(o);if(p.has(r)){v(r).before.push({edge:e,source:t,target:n,key:o});continue}}let u=r.edges.get(o);u&&l(u)&&u.source===t&&u.target===n&&u.predicate===e.predicate?h({edge:e,source:t,target:n,key:o},u,!0):g.push({edge:e,source:t,target:n,key:o})}if(_.size>0){for(let e of r.edges.values()){if(!l(e))continue;let{base:t}=s(e.key);p.has(t)&&_.has(t)&&v(t).after.push(e)}for(let e of[..._.keys()].sort()){let t=_.get(e),n=t.after.sort((e,t)=>w(e.key,t.key)),r=new Map;for(let e of n)O(r,qt(e),e);let i=new Set,a=[];for(let e of t.before.sort((e,t)=>w(e.key,t.key))){let t=r.get(qt(e.edge))?.pop();t?(i.add(t),h(e,t,!1)):a.push(e)}let o=0;for(let e of a){for(;o<n.length&&i.has(n[o]);)o++;let t=n[o++];t?h(e,t,!1):g.push(e)}}}let y=()=>{let e=new Map;for(let t of r.edges.values())O(e,a(t.source,t.predicate,t.target),t);for(let t of e.values())t.sort((e,t)=>w(e.key,t.key));return e};g.sort((e,t)=>w(e.key,t.key));let b=new Map;if(g.length&&(t.mergeTargetOf.size||t.splitTargetsOf.size)){let e=y(),n=[];for(let r of g){let i=r.edge.predicate,o=t.mergeTargetOf.get(r.source)??r.source,s=t.mergeTargetOf.get(r.target)??r.target;if(o!==r.source||s!==r.target){let t=e.get(a(o,i,s))??[],c=t.find(e=>d.has(e.key));c?h(r,c,!1,`merge`):t[0]?b.set(r,t[0].key):n.push(r);continue}let c=[r.source,...t.splitTargetsOf.get(r.source)??[]],l=[r.target,...t.splitTargetsOf.get(r.target)??[]],u;for(let t of c)for(let n of l)u||t===r.source&&n===r.target||(u=e.get(a(t,i,n))?.find(e=>d.has(e.key)));u?h(r,u,!1,`split`):n.push(r)}g=n}let x=(e,t,n)=>{if(g.length===0||d.size===0)return;let i=new Map;for(let t of g)O(i,e(t),t);let a=new Map;for(let e of d){let n=r.edges.get(e),o=t(n);i.has(o)&&O(a,o,n)}let o=new Set;for(let e of[...i.keys()].sort()){let t=i.get(e),r=a.get(e);if(t.length!==1||r?.length!==1)continue;let s=t[0],c=r[0];n(s,c)&&(h(s,c,!1),o.add(s))}o.size&&(g=g.filter(e=>!o.has(e)))},S=(e,t)=>`${e.length}:${e}${t}`;x(e=>S(e.source,e.target),e=>S(e.source,e.target),(e,t)=>e.edge.predicate!==t.predicate),x(e=>S(e.source,e.edge.predicate),e=>S(e.source,e.predicate),(e,t)=>e.target!==t.target);let C=t=>e.afterToBefore.has(t);x(e=>S(e.target,e.edge.predicate),e=>S(e.target,e.predicate),(e,t)=>e.source!==t.source&&C(e.source)&&C(t.source));for(let t of d){let n=r.edges.get(t);u.push(Xt(n.key,n.source,n.target,n,`after`,[],e.hierarchy.has(n.predicate)))}let T=[...g,...b.keys()].sort((e,t)=>w(e.key,t.key)),E=new Set;for(let t of T){let n=Yt(t,l(t.edge),e=>r.edges.has(e)||E.has(e));E.add(n);let i=b.get(t),a=i===void 0?[]:[{kind:`collapsed`,into:i}];u.push(Xt(n,t.source,t.target,t.edge,`before`,a,e.hierarchy.has(t.edge.predicate)))}return u.sort((e,t)=>w(e.id,t.id))}function Yt(e,t,n){if(!n(e.key))return e.key;if(!t){let t=`${e.key}@before`;for(;n(t);)t+=`@before`;return t}let{base:r}=s(e.key),i=2;for(;n(`${r}#${i}`);)i++;return`${r}#${i}`}function Xt(e,t,n,r,i,a,o){return i===`after`?{id:e,source:t,target:n,predicate:r.predicate,label:r.label,afterKey:r.key,after:r,status:`added`,facets:a,hierarchical:o,inPlace:!1}:{id:e,source:t,target:n,predicate:r.predicate,label:r.label,beforeKey:r.key,before:r,status:`removed`,facets:a,hierarchical:o,inPlace:!1}}var Zt=t((()=>{x(),Ut(),Nt(),F(),j()}));function Qt(e){let t=[e.source];return e.target!==e.source&&t.push(e.target),e.sourceBefore!==void 0&&!t.includes(e.sourceBefore)&&t.push(e.sourceBefore),e.targetBefore!==void 0&&!t.includes(e.targetBefore)&&t.push(e.targetBefore),t}function $t(e,t){let n=[],r=(e,t,r)=>{for(let i of e.outgoing.get(t)??[]){let t=e.edges.get(i);t&&n.push(r(t.target))}for(let i of e.incoming.get(t)??[]){let t=e.edges.get(i);t&&n.push(r(t.source))}};return t.beforeId!==void 0&&r(e.before,t.beforeId,e.unionOfBefore),t.afterId!==void 0&&r(e.after,t.afterId,e=>e),n}function en(e,t,n){let r=new Map;for(let e of t)r.set(e.id,e);let i=new Map,a=new Map;for(let e of n)if(e.status!==`unchanged`){i.set(e.id,e);for(let t of Qt(e))O(a,t,e)}let o=[],s=new Map,c=new Map,l=(e,t)=>{let n={id:``,kind:e,anchor:t,nodes:[],edges:[]};return o.push(n),n},u=(e,t)=>{let n=r.get(t);n&&n.status!==`unchanged`&&!s.has(t)&&(s.set(t,e),e.nodes.push(t))},d=(e,t)=>{c.has(t.id)||(c.set(t.id,e),e.edges.push(t.id))},f=(e,t,n)=>{for(let r of a.get(t)??[])(!n||n(r))&&d(e,r)};for(let t of e.restructuring.merges){let n=l(`merge`,t.target),i=t.sources.map(t=>e.unionOfBefore(t.id));u(n,t.target);for(let e of i)u(n,e);for(let e of i)f(n,e);r.get(t.target)?.status===`added`&&f(n,t.target)}for(let t of e.restructuring.splits){let n=e.unionOfBefore(t.source),r=s.get(n)??l(`split`,n);u(r,n);for(let e of t.targets)u(r,e.id);for(let e of t.targets)f(r,e.id);f(r,n)}for(let n of[`added`,`removed`]){let r=t.filter(e=>e.status===n&&!s.has(e.id));if(r.length===0)continue;let a=new Set(r.map(e=>e.id)),o=new an;for(let e of i.values())e.status===n&&a.has(e.source)&&a.has(e.target)&&o.union(e.source,e.target);let c=new Map;for(let e of r)O(c,o.find(e.id),e);let d=n===`added`?e.after:e.before;for(let e of[...c.keys()].sort()){let t=c.get(e),r=t[0],i=-1;for(let e of t){let t=re(d,n===`added`?e.afterId:e.beforeId);(t>i||t===i&&e.id<r.id)&&(i=t,r=e)}let a=l(n===`added`?`add`:`remove`,r.id);for(let e of t)u(a,e.id);for(let e of t)f(a,e.id,e=>e.status===n)}}for(let e of t){if(e.status!==`modified`||s.has(e.id))continue;let t=l(`modify`,e.id);u(t,e.id),f(t,e.id,t=>t.source===e.id)}let p=new Map;for(let e of i.values())c.has(e.id)||O(p,e.source,e);for(let e of[...p.keys()].sort()){let t=l(`relations`,e);for(let n of p.get(e))d(t,n)}let m=new Map,h=o.filter(e=>e.nodes.length+e.edges.length>0);for(let e of h){let t=`${e.kind}:${e.anchor}`,n=(m.get(t)??0)+1;m.set(t,n),e.id=n===1?t:`${t}#${n}`}for(let e of h){for(let t of e.nodes)r.get(t).hunk=e.id;for(let t of e.edges)i.get(t).hunk=e.id}return h.map(t=>{let n=t.nodes.slice().sort(w),a=n.indexOf(t.anchor);a>0&&n.unshift(...n.splice(a,1));let o=t.edges.slice().sort(w);return{id:t.id,kind:t.kind,phase:tn(t,r),anchor:t.anchor,nodes:n,edges:o,context:nn(e,t,r,i),summary:rn(t,r,i)}})}function tn(e,t){switch(e.kind){case`remove`:return`remove`;case`add`:return`add`;case`merge`:case`split`:case`relations`:return`restructure`;case`modify`:{let n=e.nodes.flatMap(e=>t.get(e)?.facets??[]);return n.length>0&&n.every(e=>e.kind===`move`)?`restructure`:`modify`}default:return e.kind}}function nn(e,t,n,r){let i=new Set;for(let e of t.edges)for(let t of Qt(r.get(e)))i.add(t);for(let e of t.nodes)for(let t of n.get(e)?.facets??[])if(t.kind===`move`){for(let e of t.from)i.add(e);for(let e of t.to)i.add(e)}if(t.kind===`merge`||t.kind===`split`){let r=n.get(t.anchor);if(r)for(let t of $t(e,r))i.add(t)}for(let e of t.nodes)i.delete(e);return[...i].sort()}function rn(e,t,n){let r=new Set,i=e=>({added:e.filter(e=>e===`added`).length,removed:e.filter(e=>e===`removed`).length,modified:e.filter(e=>e===`modified`).length}),a=e.nodes.map(e=>{let n=t.get(e);for(let e of n.facets)r.add(e.kind);return n.status}),o=e.edges.map(e=>{let t=n.get(e);for(let e of t.facets)r.add(e.kind);return t.status});return{nodes:i(a),edges:i(o),facets:Mt.filter(e=>r.has(e))}}var an,on=t((()=>{Nt(),j(),an=class{parent=new Map;find(e){let t=e;for(let e=this.parent.get(t);e!==void 0&&e!==t;e=this.parent.get(t))t=e;for(let n=e;n!==t;){let e=this.parent.get(n);this.parent.set(n,t),n=e}return t}union(e,t){let n=this.find(e),r=this.find(t);n<r?this.parent.set(r,n):r<n&&this.parent.set(n,r)}}}));function sn(e){return e.aliases.length?[e.label,...e.aliases]:[e.label]}function cn(e,t,n){let r=n.get(e.label),i=n.get(t.label),a=N(r,i);for(let e of t.aliases){if(a===1)return 1;a=Math.max(a,N(r,n.get(e)))}for(let t of e.aliases){if(a===1)return 1;a=Math.max(a,N(i,n.get(t)))}return a}function ln(e,t){if(e.length===0&&t.length===0)return;let n=new Set(t),r=0;for(let t of e)n.has(t)&&r++;return r/(e.length+t.length-r)}function un(e,t,n){if(e.attrs===t.attrs&&n.size===0)return g(e.attrs)?void 0:1;let r=0,i=0;for(let a of h(e.attrs))n.has(a)||(r++,l(e.attrs[a],f(t.attrs,a))&&i++);for(let i of h(t.attrs))!n.has(i)&&f(e.attrs,i)===void 0&&r++;return r===0?void 0:i/r}function dn(e,t,n,r){let i=V.label*e,a=V.label;t!==void 0&&(i+=V.neighbors*t,a+=V.neighbors),n!==void 0&&(i+=V.types*n,a+=V.types),r!==void 0&&(i+=V.attrs*r,a+=V.attrs);let o=i/a;return E(e<H?Math.min(o,H):o)}function fn(e,t,n,r){return{label:E(e),neighbors:E(t??0),types:E(n??0),attrs:E(r??0)}}function pn(e,t){let n=(e.outgoing.get(t)?.length??0)+(e.incoming.get(t)?.length??0);return 1/Math.log2(2+n)}function mn(e,t,n,r){let i=new Map,a=(t,a)=>{if(t)for(let o of t){let t=e.edges.get(o);if(!t)continue;let s=n(a?t.target:t.source);if(s===void 0)continue;let c=`${a?`>`:`<`}${t.predicate}\u0000${s}`;i.set(c,(i.get(c)??0)+pn(r,s))}};if(a(e.outgoing.get(t),!0),a(e.incoming.get(t),!1),i.size===0)return En;let o=[...i.keys()].sort();return{keys:o,weights:o.map(e=>i.get(e))}}function hn(e,t){if(e.keys.length===0&&t.keys.length===0)return;let n=0,r=0,i=0,a=0;for(;i<e.keys.length||a<t.keys.length;){let o=e.keys[i],s=t.keys[a];if(s===void 0||o!==void 0&&o<s)r+=e.weights[i],i++;else if(o===void 0||s<o)r+=t.weights[a],a++;else{let o=e.weights[i],s=t.weights[a];n+=Math.min(o,s),r+=Math.max(o,s),i++,a++}}return r===0?void 0:n/r}function gn(e,t){let n=new Set;for(let r of sn(e))fe(t.get(r),n);return n}function _n(e,t,n,r,i,a){let o=new Map,s=new Map;t.forEach((e,t)=>{s.set(e.id,t);for(let n of gn(e,i))O(o,n,t)});let c=Math.max(64,n*8),l=n*3;e.forEach((e,u)=>{let d=[];for(let t of gn(e,i)){let e=o.get(t);e&&d.push({key:t,postings:e})}let f=s.get(e.id);if(d.length===0&&f===void 0)return;d.sort((e,t)=>e.postings.length-t.postings.length||w(e.key,t.key));let p=new Map;f!==void 0&&p.set(f,0);for(let{postings:e}of d){if(e.length>c&&p.size>=l)continue;let t=1/Math.log2(1+e.length),n=Math.min(e.length,c);for(let r=0;r<n;r++){let n=e[r];p.set(n,(p.get(n)??0)+t)}}let m=new Set(e.types),h=[...p].map(([e,n])=>{let r=t[e];return{t:e,weight:n+(m.size>0&&r.types.some(e=>m.has(e))?.001:0)}}),g=n=>t[n].id===e.id?0:1;h.sort((e,t)=>g(e.t)-g(t.t)||t.weight-e.weight||e.t-t.t);let _=h.slice(0,l).map(({t:n})=>({t:n,label:cn(e,t[n],i)})).filter(({label:e})=>!r||e>=H);_.sort((e,t)=>t.label-e.label||g(e.t)-g(t.t)||e.t-t.t);for(let{t:e,label:t}of _.slice(0,n))a(u,e,t)})}function vn(e,t,n,r,i){let a=new Map,o=(n,r,i)=>{let o=n*t.length+r;if(a.has(o))return;let s=e[n].id===t[r].id;a.set(o,{r:n,a:r,sameId:s,label:i,score:0,neighbors:void 0,types:void 0,attrs:void 0})};return _n(e,t,n,r,i,(e,t,n)=>o(e,t,n)),_n(t,e,n,r,i,(e,t,n)=>o(t,e,n)),[...a.values()].sort((e,t)=>e.r-t.r||e.a-t.a)}function yn(e,t){return!(t.score-e.score>=.049999999||t.score===1&&e.score<1||e.score===t.score&&t.sameId&&!e.sameId)}function bn(e,t,n){for(let r of t)if(r!==e&&n(r)){if(e.score-r.score>=.049999999)return!1;if(yn(r,e))return!0}return!1}function xn(e,t,n,r,i){let a=new Map,o=new Map,s=(e,t)=>{e!==t&&(D(a,e,()=>new Set).add(t),D(o,t,()=>new Set).add(e))};for(let n of e.nodes.values())for(let e of n.replacedBy)t.nodes.has(e)&&s(n.id,e);for(let n of t.nodes.values())for(let t of n.replaces)e.nodes.has(t)&&s(t,n.id);for(let s of[...a.keys()].sort()){let c=a.get(s);if(c.size!==1||t.nodes.has(s)||n.has(s))continue;let l=c.values().next().value;o.get(l)?.size!==1||e.nodes.has(l)||r.has(l)||(n.set(s,l),r.set(l,s),i.set(s,{before:s,after:l,method:`hint`,score:1}))}}function Sn(e,t,n,r,i=new Ee){let a=new Map,o=new Map,s=new Map;if(n.strategy!==`similarity`)for(let n of e.nodes.keys())t.nodes.has(n)&&(a.set(n,n),o.set(n,n));xn(e,t,a,o,s);let c={beforeToAfter:a,afterToBefore:o,inferred:s,suggestions:[]};if(n.strategy===`id`)return c;let l=[...e.nodes.values()].filter(e=>!a.has(e.id)).sort((e,t)=>w(e.id,t.id)),u=[...t.nodes.values()].filter(e=>!o.has(e.id)).sort((e,t)=>w(e.id,t.id));if(l.length===0||u.length===0)return c;let d=Math.min(n.threshold,n.suggestThreshold)>H,f=vn(l,u,n.maxCandidates,d,i);if(f.length===0)return c;let p=Array(l.length).fill(!1),m=Array(u.length).fill(!1),h=e=>!p[e.r]&&!m[e.a],g=n=>{let i=e=>a.get(e),s=e=>o.has(e)?e:void 0,c=new Map,d=new Map,f=a.size>0;for(let a of n){let n=l[a.r],o=u[a.a],p;f&&(p=hn(D(c,a.r,()=>mn(e,n.id,i,t)),D(d,a.a,()=>mn(t,o.id,s,t)))),a.neighbors=p,a.types=ln(n.types,o.types),a.attrs=un(n,o,r),a.score=dn(a.label,p,a.types,a.attrs)}},_=(e,t)=>t.score-e.score||Number(t.sameId)-Number(e.sameId)||e.r-t.r||e.a-t.a,v=f,y=0;for(let e=0;e<Tn&&(v=v.filter(h),v.length!==0);e++){g(v),v.sort(_);let e=new Map,t=new Map;for(let n of v)O(e,n.r,n),O(t,n.a,n);y=0;for(let r of v){if(r.score<n.threshold)break;if(!h(r)||bn(r,e.get(r.r)??[],e=>!m[e.a])||bn(r,t.get(r.a)??[],e=>!p[e.r]))continue;let i=l[r.r],c=u[r.a];p[r.r]=!0,m[r.a]=!0,a.set(i.id,c.id),o.set(c.id,i.id),s.set(i.id,{before:i.id,after:c.id,method:`similarity`,score:r.score,evidence:fn(r.label,r.neighbors,r.types,r.attrs)}),y++}if(y===0)break}return v=v.filter(h),y>0&&g(v),v.sort(_),{...c,suggestions:Cn(v,l,u,n)}}function Cn(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.score<r.suggestThreshold)break;let e=!a.has(s.r),c=!o.has(s.a);a.add(s.r),o.add(s.a);let l=s.score>=r.threshold;(l||e||c)&&i.push({before:t[s.r].id,after:n[s.a].id,score:s.score,evidence:fn(s.label,s.neighbors,s.types,s.attrs),reason:l?`ambiguous`:`below-threshold`})}return wn(i)}function wn(e){return e.sort((e,t)=>w(e.after,t.after)||w(e.before,t.before))}var V,H,Tn,En,Dn=t((()=>{x(),F(),j(),V={label:.55,neighbors:.25,types:.1,attrs:.1},H=.5,Tn=5,En={keys:[],weights:[]}}));function On(e,t,n){let r=n.get(e),i=N(r,n.get(t.label));for(let e of t.aliases){if(i===1)break;i=Math.max(i,N(r,n.get(e)))}return i}function kn(e,t,n){let r=n.get(e);return t.aliases.some(e=>N(r,n.get(e))===1)}function An(e,t,n,r,i){let a=r.keysOf(t),o=[],s=new Set;for(let i of[!0,!1])for(let c of(i?e.outgoing:e.incoming).get(t.id)??[]){let l=e.edges.get(c);if(!l)continue;let u=i?l.target:l.source,d=u===t.id?void 0:n.get(u);if(o.push({out:i,predicate:l.predicate,other:d}),d!==void 0)for(let e of r.candidates(i?`<`:`>`,l.predicate,d,a))s.add(e)}return{candidates:s,total:o.length,carried:e=>{let t=0;for(let n of o)n.other!==void 0&&(n.out?i.has(e,n.predicate,n.other):i.has(n.other,n.predicate,e))&&t++;return t}}}function jn(e,t,n,r,i,a){let o;for(let s of[...t.candidates].sort()){if(!i(s))continue;let c=n.nodes.get(s);if(!c)continue;let l=On(e.label,c,r);if(a&&l<1&&kn(c.label,e,r)&&(l=1),l<Ln)continue;let u=t.carried(s)/t.total;if(u<Rn)continue;let d=E(.5*l+.5*u);(!o||d>o.confidence)&&(o={candidate:s,label:l,carry:u,confidence:d})}return o}function Mn(e,t,n,r){let i=e.before.nodes.get(t),a=e.after.nodes.get(n);return{before:t,after:n,score:r.confidence,evidence:fn(r.label,r.carry,ln(i.types,a.types),un(i,a,e.ignoreAttrs)),reason:`below-threshold`}}function Nn(e,t,n,r,i,a){let o={before:e,after:t,b2a:n.beforeToAfter,a2b:n.afterToBefore,profiles:i,ignoreAttrs:a,nameKeys:new Map},s=[],c=r.detectMerges?Pn(o,s):[],l=new Map,u=new Map;for(let e of c){u.set(e.target,e);for(let t of e.sources)l.set(t.id,e)}let d=r.detectSplits?In(o,l,u,s):[],f=new Map,p=new Map;for(let e of d){f.set(e.source,e);for(let t of e.targets)p.set(t.id,e)}return{merges:c,splits:d,mergeBySource:l,mergeByTarget:u,splitBySource:f,splitByTarget:p,suggestions:s}}function Pn(e,t){let{before:n,after:r,b2a:i,a2b:a}=e,o=e=>r.nodes.has(e)?e:i.get(e),s=e=>n.nodes.has(e)?e:a.get(e),c=e=>{let t=i.get(e);return t===void 0||(r.nodes.get(t)?.deprecated??!1)},l=(e,t)=>{let r=n.nodes.get(e);if(!r.deprecated||!i.has(e))return!1;if(r.replacedBy.some(e=>o(e)===t))return!0;let s=a.get(t);return s!==void 0&&(n.nodes.get(s)?.replaces.includes(e)??!1)},u=new Map,d=(e,t)=>{e!==void 0&&t!==void 0&&i.get(e)!==t&&c(e)&&!l(e,t)&&D(u,e,()=>new Set).add(t)};for(let e of n.nodes.values())for(let t of e.replacedBy)d(e.id,o(t));for(let e of r.nodes.values()){if(e.replacedBy.length){let t=a.get(e.id);for(let n of e.replacedBy)d(t,o(n))}for(let t of e.replaces)d(s(t),e.id)}let f=new Map;for(let[e,t]of u)for(let n of t)O(f,n,e);let p=e=>a.has(e)||(f.get(e)?.length??0)>=2,m=new Map,h=new Set;for(let e of[...u.keys()].sort()){let t=[...u.get(e)].sort().find(p);t!==void 0&&(O(m,t,{id:e,confidence:1,via:`hint`}),h.add(e))}let g=new Hn(r,e.nameKeys),_=new Un(r),v=[...n.nodes.keys()].filter(e=>!i.has(e)&&!h.has(e)).sort();for(let o of v){let s=n.nodes.get(o),c=An(n,s,i,g,_);if(c.candidates.size===0)continue;let l=jn(s,c,r,e.profiles,e=>a.has(e),!1);l&&(l.confidence>=zn?O(m,l.candidate,{id:o,confidence:l.confidence,via:`heuristic`}):t.push(Mn(e,o,l.candidate,l)))}return Fn(m,a)}function Fn(e,t){let n=new Map;for(let[t,r]of e)for(let e of r)n.set(e.id,t);let r=new Map,i=e=>{let i=r.get(e);if(i!==void 0)return i;let a=[],o=new Set,s=e,c=null;for(;s!==void 0;){let e=r.get(s);if(e!==void 0){c=e;break}if(o.has(s))break;o.add(s),a.push(s);let i=t.get(s),l=i===void 0?void 0:n.get(i);if(l===void 0){c=s;break}s=l}for(let e of a)r.set(e,c);return c},a=new Map;for(let n of[...e.keys()].sort()){let r=i(n);if(r!==null)for(let i of e.get(n))t.get(r)!==i.id&&O(a,r,i)}let o=[];for(let e of[...a.keys()].sort()){let n=a.get(e).sort((e,t)=>w(e.id,t.id)),r=t.get(e);r===void 0&&n.length<2||o.push(r===void 0?{target:e,sources:n}:{target:e,survivor:r,sources:n})}return o}function In(e,t,n,r){let{before:i,after:a,b2a:o,a2b:s}=e,c=e=>i.nodes.has(e)?e:s.get(e),l=e=>a.nodes.has(e)&&!s.has(e)&&!n.has(e),u=e=>i.nodes.has(e)&&!t.has(e),d=new Map,f=(e,t,n,r)=>{if(e===void 0||!u(e)||!l(t))return;let i=D(d,e,()=>new Map);i.has(t)||i.set(t,{id:t,confidence:n,via:r})};for(let e of a.nodes.values()){for(let t of e.replaces)f(c(t),e.id,1,`hint`);if(e.replacedBy.length){let t=s.get(e.id);for(let n of e.replacedBy)f(t,n,1,`hint`)}}for(let e of i.nodes.values())for(let t of e.replacedBy)f(e.id,t,1,`hint`);let p=new Set;for(let e of d.values())for(let t of e.keys())p.add(t);let m=new Hn(i,e.nameKeys),h=new Un(i),g=[...a.nodes.keys()].filter(e=>l(e)&&!p.has(e)).sort();for(let t of g){let n=a.nodes.get(t),o=An(a,n,s,m,h);if(o.candidates.size===0)continue;let c=jn(n,o,i,e.profiles,u,!0);c&&(c.confidence>=zn?f(c.candidate,t,c.confidence,`heuristic`):r.push(Mn(e,c.candidate,t,c)))}let _=[];for(let e of[...d.keys()].sort()){let t=[...d.get(e).values()].sort((e,t)=>w(e.id,t.id)),n=o.get(e),r=n!==void 0&&!a.nodes.get(n)?.deprecated?n:void 0;t.length+(r===void 0?0:1)<2||_.push(r===void 0?{source:e,targets:t}:{source:e,survivor:r,targets:t})}return _}var Ln,Rn,zn,Bn,Vn,Hn,Un,Wn=t((()=>{x(),Dn(),F(),j(),Ln=.9,Rn=.5,zn=.75,Bn=32,Vn=32,Hn=class{graph;textKeys;members=new Map;names=new Map;constructor(e,t){this.graph=e,this.textKeys=t}keysOf(e){let t=e.aliases.length?[e.label,...e.aliases].join(`\0`):e.label,n=this.textKeys.get(t);return n||(n=pe(e.aliases.length?[e.label,...e.aliases]:[e.label]),this.textKeys.set(t,n)),n}candidates(e,t,n,r){let i=`${e}${t}\u0000${n}`,a=this.membersOf(i,e,t,n);if(a.length<=Bn)return a;let o=this.names.get(i);if(!o){o=new Map;for(let e of a){let t=this.graph.nodes.get(e);if(t)for(let n of this.keysOf(t))O(o,n,e)}this.names.set(i,o)}let s=new Set;for(let e of r){let t=o.get(e);if(t&&t.length<=Vn)for(let e of t)s.add(e)}return[...s]}membersOf(e,t,n,r){let i=this.members.get(e);if(!i){let a=(t===`<`?this.graph.incoming:this.graph.outgoing).get(r)??[],o=new Set;for(let e of a){let r=this.graph.edges.get(e);r?.predicate===n&&o.add(t===`<`?r.source:r.target)}i=[...o],this.members.set(e,i)}return i}},Un=class{graph;set;constructor(e){this.graph=e}has(e,t,n){let r=a(e,t,n);if(this.graph.edgeIdentity===`structure`)return this.graph.edges.has(r);if(!this.set){this.set=new Set;for(let e of this.graph.edges.values())this.set.add(a(e.source,e.predicate,e.target))}return this.set.has(r)}}}));function Gn(e,t){return t===`id`&&e.id!==void 0?`ei${e.id}`:`et${a(e.source,e.predicate??``,e.target)}`}function Kn(e,t){switch(e.op){case`node.rekey`:return{reads:[`n${e.from}`,`n${e.to}`],writes:[`n${e.from}`,`n${e.to}`]};case`node.remove`:return{reads:[`n${e.node.id}`,`i${e.node.id}`],writes:[`n${e.node.id}`]};case`node.add`:return{reads:[`n${e.node.id}`],writes:[`n${e.node.id}`]};case`node.set`:case`node.attr`:return{reads:[`n${e.id}`],writes:[]};case`edge.remove`:{let n=Gn(e.edge,t);return{reads:[`n${e.edge.source}`,`n${e.edge.target}`,n],writes:[n,`i${e.edge.source}`,`i${e.edge.target}`]}}case`edge.add`:{let n=Gn(e.edge,t);return{reads:[`n${e.edge.source}`,`n${e.edge.target}`,n],writes:[n]}}case`edge.set`:case`edge.attr`:return{reads:[`n${e.edge.source}`,`n${e.edge.target}`,Gn(e.edge,t)],writes:[]};default:return e}}function qn(e,t,n){let r=new Map,i=new Map,a=new Map,o=new Map,s=(e,t)=>{e!==void 0&&t!==void 0&&t!==e&&D(r,e,()=>new Set).add(t)};return e.forEach((e,r)=>{let c=t[r],{reads:l,writes:u}=Kn(e,n);for(let e of l)if(e.charCodeAt(0)===105)for(let t of o.get(e)??[])s(c,t);else s(c,i.get(e)),c!==void 0&&D(a,e,()=>new Set).add(c);for(let e of u)if(e.charCodeAt(0)===105)c!==void 0&&D(o,e,()=>new Set).add(c);else{s(c,i.get(e));for(let t of a.get(e)??[])s(c,t);a.delete(e),i.set(e,c)}}),r}function Jn(e,t){let n=new Map,r=new Map,i=new Set,a=[],o=[],s=0;for(let c of e){if(n.has(c))continue;let e=[],l=o=>{n.set(o,s),r.set(o,s),s++,a.push(o),i.add(o),e.push({id:o,next:[...t.get(o)??[]].sort(),at:0})};for(l(c);e.length;){let t=e[e.length-1];if(t.at<t.next.length){let e=t.next[t.at++];n.has(e)?i.has(e)&&r.set(t.id,Math.min(r.get(t.id),n.get(e))):l(e);continue}e.pop();let s=e[e.length-1];if(s&&r.set(s.id,Math.min(r.get(s.id),r.get(t.id))),r.get(t.id)===n.get(t.id)){let e=[],n;do n=a.pop(),i.delete(n),e.push(n);while(n!==t.id);o.push(e)}}}return o}function Yn(e,t,n,r,i,a){let o=new Map(e.map(e=>[e.id,e])),s=new Map;for(let e of i)s.set(e.id,e.after?.label??e.before?.label??e.id);let c=e=>e.nodes.length+e.edges.length,l=(e,t)=>Zn[e.phase]-Zn[t.phase]||c(t)-c(e)||w(s.get(e.anchor)??e.anchor,s.get(t.anchor)??t.anchor)||w(e.id,t.id),u=qn(t,n,r),d=e.map(e=>e.id).sort(),f=new Map;for(let e of Jn(d,u)){if(e.length<2)continue;let t=e.map(e=>o.get(e)).sort(l),n=t[0].id;for(let e of t)f.set(e.id,n)}let p=[...e],m=[...n];if(f.size>0){p=Xn(e,f,i,a),m=n.map(e=>e===void 0?e:f.get(e)??e);let t=new Map;for(let[e,n]of u){let r=f.get(e)??e;for(let e of n){let n=f.get(e)??e;n!==r&&D(t,r,()=>new Set).add(n)}}u=t}let h=new Map,g=new Map;for(let e of p){let t=u.get(e.id)??new Set;h.set(e.id,t.size);for(let n of t)O(g,n,e.id)}let _=new Map(p.map(e=>[e.id,e])),v=new Qn((e,t)=>l(e,t)<0);for(let e of p)h.get(e.id)===0&&v.push(e);let y=new Map;m.forEach((e,t)=>{e!==void 0&&O(y,e,t)});let b=[];for(;v.size;){let e=v.pop();b.push({id:e.id,kind:e.kind,phase:e.phase,anchor:e.anchor,nodes:e.nodes,edges:e.edges,context:e.context,ops:y.get(e.id)??[],requires:[...u.get(e.id)??[]].sort(),summary:e.summary,order:b.length});for(let t of g.get(e.id)??[]){let e=h.get(t)-1;h.set(t,e),e===0&&v.push(_.get(t))}}return{hunks:b,opHunks:m}}function Xn(e,t,n,r){let i=new Map;for(let n of e)O(i,t.get(n.id)??n.id,n);for(let e of n)e.hunk!==void 0&&t.has(e.hunk)&&(e.hunk=t.get(e.hunk));for(let e of r)e.hunk!==void 0&&t.has(e.hunk)&&(e.hunk=t.get(e.hunk));let a=[];for(let[e,t]of i){let n=t.find(t=>t.id===e);if(t.length===1){a.push(n);continue}let r=new Set(t.flatMap(e=>e.nodes)),i=[...r].filter(e=>e!==n.anchor).sort(),o=r.has(n.anchor)?[n.anchor,...i]:i,s=[...new Set(t.flatMap(e=>e.edges))].sort(),c=[...new Set(t.flatMap(e=>e.context))].filter(e=>!r.has(e)).sort(),l=new Set(t.flatMap(e=>e.summary.facets)),u=e=>t.reduce((t,n)=>t+e(n),0);a.push({...n,nodes:o,edges:s,context:c,summary:{nodes:{added:u(e=>e.summary.nodes.added),removed:u(e=>e.summary.nodes.removed),modified:u(e=>e.summary.nodes.modified)},edges:{added:u(e=>e.summary.edges.added),removed:u(e=>e.summary.edges.removed),modified:u(e=>e.summary.edges.modified)},facets:Mt.filter(e=>l.has(e))}})}return a}var Zn,Qn,$n=t((()=>{x(),Nt(),j(),Zn={remove:0,restructure:1,modify:2,add:3},Qn=class{less;items=[];constructor(e){this.less=e}get size(){return this.items.length}push(e){let t=this.items;t.push(e);for(let e=t.length-1;e>0;){let n=e-1>>1;if(!this.less(t[e],t[n]))break;[t[e],t[n]]=[t[n],t[e]],e=n}}pop(){let e=this.items,t=e[0],n=e.pop();if(e.length>0&&n!==void 0){e[0]=n;for(let t=0;;){let n=2*t+1,r=n+1,i=t;if(n<e.length&&this.less(e[n],e[i])&&(i=n),r<e.length&&this.less(e[r],e[i])&&(i=r),i===t)break;[e[t],e[i]]=[e[i],e[t]],t=i}}return t}}}));function er(e,t,n,r,i){let a=nr(),o=nr(),s=Object.fromEntries(Mt.map(e=>[e,0])),c=new Map,l=e=>{if(e.length!==0)for(let t of new Set(e.map(e=>e.kind)))s[t]++};for(let e of n){a[e.status]++,l(e.facets);let t=(e.after??e.before)?.types[0]??``;D(c,t,nr)[e.status]++}for(let e of r)o[e.status]++,l(e.facets);let u=Object.fromEntries(tr.map(e=>[e,0]));for(let e of i)u[e.kind]++;let d=e=>e.added+e.removed+e.modified,f=[...c].map(([e,t])=>({type:e,...t})).sort((e,t)=>d(t)-d(e)||w(e.type,t.type));return{nodes:a,edges:o,before:{nodes:e.nodes.size,edges:e.edges.size},after:{nodes:t.nodes.size,edges:t.edges.size},facets:s,hunks:u,byType:f,identical:d(a)+d(o)===0}}var tr,nr,rr=t((()=>{Nt(),j(),tr=[`add`,`remove`,`merge`,`split`,`modify`,`relations`],nr=()=>({added:0,removed:0,modified:0,unchanged:0})}));function ir(e,t,n){let r=e.after??e.before,i={id:e.id,status:e.status,facets:e.facets,label:r.label,types:r.types,degree:{before:re(t,e.beforeId),after:re(n,e.afterId)}};return e.beforeId!==void 0&&(i.beforeId=e.beforeId),e.afterId!==void 0&&(i.afterId=e.afterId),e.before&&(i.before=e.before),e.after&&(i.after=e.after),e.hunk!==void 0&&(i.hunk=e.hunk),i}function ar(e){let t={id:e.id,source:e.source,target:e.target,predicate:e.predicate,label:e.label,status:e.status,facets:e.facets,hierarchical:e.hierarchical};return e.sourceBefore!==void 0&&(t.sourceBefore=e.sourceBefore),e.targetBefore!==void 0&&(t.targetBefore=e.targetBefore),e.predicateBefore!==void 0&&(t.predicateBefore=e.predicateBefore),e.beforeKey!==void 0&&(t.beforeKey=e.beforeKey),e.afterKey!==void 0&&(t.afterKey=e.afterKey),e.before&&(t.before=e.before),e.after&&(t.after=e.after),e.hunk!==void 0&&(t.hunk=e.hunk),t}function or(...e){let t=new Map;for(let n of e)for(let e of n){let n=`${e.before}\u0000${e.after}`,r=t.get(n);(!r||e.score>r.score)&&t.set(n,e)}return wn([...t.values()])}function sr(e,t){return dt(e)?Dt(e,t):ft(e,{edgeIdentity:t})}function cr(e,t,n){let r=new Set(n.ignoreAttrs),i=new Ee,a=Sn(e,t,n.match,r,i),o=Nn(e,t,a,n,i,r),s=Pt(e,t,a.beforeToAfter),c={before:e,after:t,options:n,hierarchy:new Set(n.hierarchyPredicates),ignoreAttrs:r,beforeToAfter:a.beforeToAfter,afterToBefore:a.afterToBefore,inferred:a.inferred,restructuring:o,renamed:s,unionOfBefore:s.size?e=>s.get(e)??e:e=>e},{nodes:l,index:u}=Ht(c),d=Jt(c,u),f=en(c,l,d),{delta:p,opHunks:m}=Tt(c,l,d),{hunks:h}=Yn(f,p.ops,m,n.edgeIdentity,l,d),g=l.map(n=>ir(n,e,t)),_=d.map(ar);return{before:e,after:t,options:n,nodes:g,edges:_,hunks:h,matches:[...a.inferred.values()].sort((e,t)=>w(e.after,t.after)),suggestions:or(a.suggestions,o.suggestions),delta:p,stats:er(e,t,l,d,h),index:Wt(g,_,h)}}function lr(e,t,n){let r=n;n?.edgeIdentity===void 0&&dt(e)&&dt(t)&&e.edgeIdentity===t.edgeIdentity&&(r={...n,edgeIdentity:e.edgeIdentity});let i=We(r);return cr(sr(e,i.edgeIdentity),sr(t,i.edgeIdentity),i)}var ur=t((()=>{Ut(),At(),Kt(),Zt(),on(),Dn(),Wn(),yt(),Je(),$n(),rr(),F(),j()})),dr=t((()=>{}));function fr(e,t,n){return lr(e,t,n)}var pr=t((()=>{ur(),C(),Je(),dr()}));function mr(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return hr(this.cover(t,n),t,n,e)}function hr(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},s=e._x0,c=e._y0,l=e._x1,u=e._y1,d,f,p,m,h,g,_,v;if(!a)return e._root=o,e;for(;a.length;)if((h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f,i=a,!(a=a[_=g<<1|h]))return i[_]=o,e;if(p=+e._x.call(null,a.data),m=+e._y.call(null,a.data),t===p&&n===m)return o.next=a,i?i[_]=o:e._root=o,e;do i=i?i[_]=[,,,,]:e._root=[,,,,],(h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f;while((_=g<<1|h)==(v=(m>=f)<<1|p>=d));return i[v]=a,i[_]=o,e}function gr(e){var t,n,r=e.length,i,a,o=Array(r),s=Array(r),c=1/0,l=1/0,u=-1/0,d=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(a=+this._y.call(null,t))||(o[n]=i,s[n]=a,i<c&&(c=i),i>u&&(u=i),a<l&&(l=a),a>d&&(d=a));if(c>u||l>d)return this;for(this.cover(c,l).cover(u,d),n=0;n<r;++n)hr(this,o[n],s[n],e[n]);return this}var _r=t((()=>{}));function vr(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o=i-n||1,s=this._root,c,l;n>e||e>=i||r>t||t>=a;)switch(l=(t<r)<<1|e<n,c=[,,,,],c[l]=s,s=c,o*=2,l){case 0:i=n+o,a=r+o;break;case 1:n=i-o,a=r+o;break;case 2:i=n+o,r=a-o;break;case 3:n=i-o,r=a-o}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}var yr=t((()=>{}));function br(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}var xr=t((()=>{}));function Sr(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}var Cr=t((()=>{}));function U(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}var wr=t((()=>{}));function Tr(e,t,n){var r,i=this._x0,a=this._y0,o,s,c,l,u=this._x1,d=this._y1,f=[],p=this._root,m,h;for(p&&f.push(new U(p,i,a,u,d)),n==null?n=1/0:(i=e-n,a=t-n,u=e+n,d=t+n,n*=n);m=f.pop();)if(!(!(p=m.node)||(o=m.x0)>u||(s=m.y0)>d||(c=m.x1)<i||(l=m.y1)<a)){if(p.length){var g=(o+c)/2,_=(s+l)/2;f.push(new U(p[3],g,_,c,l),new U(p[2],o,_,g,l),new U(p[1],g,s,c,_),new U(p[0],o,s,g,_)),(h=(t>=_)<<1|e>=g)&&(m=f[f.length-1],f[f.length-1]=f[f.length-1-h],f[f.length-1-h]=m)}else{var v=e-+this._x.call(null,p.data),y=t-+this._y.call(null,p.data),b=v*v+y*y;if(b<n){var x=Math.sqrt(n=b);i=e-x,a=t-x,u=e+x,d=t+x,r=p.data}}}return r}var Er=t((()=>{wr()}));function Dr(e){if(isNaN(u=+this._x.call(null,e))||isNaN(d=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,s=this._y0,c=this._x1,l=this._y1,u,d,f,p,m,h,g,_;if(!n)return this;if(n.length)for(;;){if((m=u>=(f=(o+c)/2))?o=f:c=f,(h=d>=(p=(s+l)/2))?s=p:l=p,t=n,!(n=n[g=h<<1|m]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,_=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[_]=n:this._root=n),this):(this._root=a,this)}function Or(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}var kr=t((()=>{}));function Ar(){return this._root}var jr=t((()=>{}));function Mr(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}var Nr=t((()=>{}));function Pr(e){var t=[],n,r=this._root,i,a,o,s,c;for(r&&t.push(new U(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,s=n.x1,c=n.y1)&&r.length){var l=(a+s)/2,u=(o+c)/2;(i=r[3])&&t.push(new U(i,l,u,s,c)),(i=r[2])&&t.push(new U(i,a,u,l,c)),(i=r[1])&&t.push(new U(i,l,o,s,u)),(i=r[0])&&t.push(new U(i,a,o,l,u))}return this}var Fr=t((()=>{wr()}));function Ir(e){var t=[],n=[],r;for(this._root&&t.push(new U(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var a,o=r.x0,s=r.y0,c=r.x1,l=r.y1,u=(o+c)/2,d=(s+l)/2;(a=i[0])&&t.push(new U(a,o,s,u,d)),(a=i[1])&&t.push(new U(a,u,s,c,d)),(a=i[2])&&t.push(new U(a,o,d,u,l)),(a=i[3])&&t.push(new U(a,u,d,c,l))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}var Lr=t((()=>{wr()}));function Rr(e){return e[0]}function zr(e){return arguments.length?(this._x=e,this):this._x}var Br=t((()=>{}));function Vr(e){return e[1]}function Hr(e){return arguments.length?(this._y=e,this):this._y}var Ur=t((()=>{}));function Wr(e,t,n){var r=new Gr(t??Rr,n??Vr,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function Gr(e,t,n,r,i,a){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Kr(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var W,qr=t((()=>{_r(),yr(),xr(),Cr(),Er(),kr(),jr(),Nr(),Fr(),Lr(),Br(),Ur(),W=Wr.prototype=Gr.prototype,W.copy=function(){var e=new Gr(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=Kr(t),e;for(n=[{source:t,target:e._root=[,,,,]}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=[,,,,]}):t.target[i]=Kr(r));return e},W.add=mr,W.addAll=gr,W.cover=vr,W.data=br,W.extent=Sr,W.find=Tr,W.remove=Dr,W.removeAll=Or,W.root=Ar,W.size=Mr,W.visit=Pr,W.visitAfter=Ir,W.x=zr,W.y=Hr})),Jr=t((()=>{qr()}));function Yr(e,t){let n=t;for(;e[n]!==n;)n=e[n];let r=t;for(;e[r]!==n;){let t=e[r];e[r]=n,r=t}return n}function Xr(e,t,n){let r=Yr(e,t),i=Yr(e,n);r<i?e[i]=r:i<r&&(e[r]=i)}function Zr(e,t){let{n}=e,r=new Int32Array(n);for(let e=0;e<n;e++)r[e]=e;let i=e=>t===void 0||t[e]===1;for(let t=0;t<e.pairs.length;t+=2){let n=e.pairs[t],a=e.pairs[t+1];i(n)&&i(a)&&Xr(r,n,a)}for(let{mover:t,anchor:n}of e.partners)i(t)&&i(n)&&Xr(r,t,n);let a=new Map;for(let e=0;e<n;e++){if(!i(e))continue;let t=Yr(r,e),n=a.get(t);n===void 0&&(n=[],a.set(t,n)),n.push(e)}return[...a.values()].sort((e,t)=>t.length-e.length||e[0]-t[0])}var Qr=t((()=>{}));function $r(e,t,n){let r=0,i=0;if(oi(e)){let a=e;for(;a!==void 0;)r=Math.max(r,t[a.data]),i=Math.max(i,n[a.data]),a=a.next}else for(let a=0;a<4;a++){let o=e[a];o!==void 0&&($r(o,t,n),r=Math.max(r,o.mw??0),i=Math.max(i,o.mh??0))}e.mw=r,e.mh=i}function ei(e,t,n,r){let i=Wr().x(e=>t[e]).y(e=>n[e]).addAll(e),a=i.root(),o=i.extent();if(a!==void 0&&o!==void 0)return $r(a,r.halfWidth,r.halfHeight),{root:a,x0:o[0][0],y0:o[0][1],x1:o[1][0],y1:o[1][1]}}function ti(e,t,n,r,i,a,o,s,c){let{halfWidth:l,halfHeight:u}=i,d=si,f=ci;for(let i=0;i<t;i++){if(c!==void 0&&!c[i])continue;let t=n[i],p=r[i],m=l[i]+a,h=u[i]+a;for(d.push(e.root),f.push(e.x0,e.y0,e.x1,e.y1);d.length>0;){let e=d.pop(),a=f.pop(),g=f.pop(),_=f.pop(),v=f.pop();if(oi(e)){let a=e;for(;a!==void 0;){let e=a.data;if(a=a.next,e===i||e<i&&(c===void 0||c[e]))continue;let o=n[e]-t,d=m+l[e]-Math.abs(o);if(d<=0)continue;let f=r[e]-p,g=h+u[e]-Math.abs(f);g<=0||s(i,e,d,g,o,f)}continue}let y=m+(e.mw??0)+o,b=h+(e.mh??0)+o;if(v>t+y||g<t-y||_>p+b||a<p-b)continue;let x=(v+g)/2,S=(_+a)/2,C=e[0],w=e[1],T=e[2],E=e[3];C!==void 0&&(d.push(C),f.push(v,_,x,S)),w!==void 0&&(d.push(w),f.push(x,_,g,S)),T!==void 0&&(d.push(T),f.push(v,S,x,a)),E!==void 0&&(d.push(E),f.push(x,S,g,a))}}}function ni(e){return{indices:Array.from({length:e},(e,t)=>t),cx:new Float64Array(e),cy:new Float64Array(e),posX:new Float64Array(e),negX:new Float64Array(e),posY:new Float64Array(e),negY:new Float64Array(e)}}function ri(e,t,n,r,i=ni(e.length)){let{cx:a,cy:o}=i,{invMass:s,offsetY:c}=t;for(let t of e)a[t.index]=t.x+t.vx,o[t.index]=t.y+t.vy+c[t.index];let l=ei(i.indices,a,o,t);l!==void 0&&ti(l,e.length,a,o,t,n,0,(t,n,i,a,o,c)=>{let l=s[t]+s[n];if(l===0)return;let u=s[t]/l,d=s[n]/l,f=e[t],p=e[n];if(i<a){let e=(o<0?-i:i)*r;f.vx-=e*u,p.vx+=e*d}else{let e=(c<0?-a:a)*r;f.vy-=e*u,p.vy+=e*d}})}function ii(e,t,n,r,i){let a=e.length,o=ni(a),{cx:s,cy:c,posX:l,negX:u,posY:d,negY:f}=o,{invMass:p,offsetY:m}=t,h=p.every(e=>e>0),g=i??new Uint8Array(a).fill(1),_=new Uint8Array(a),v=new Float64Array(a),y=0,b,x=1/0,S=.02;for(let i=0;i<r;i++){for(let t of e)s[t.index]=t.x,c[t.index]=t.y+m[t.index];if(b===void 0||y>di){if(b=ei(o.indices,s,c,t),b===void 0)return{passes:i,unresolved:new Uint8Array(a)};v.fill(0),y=0}l.fill(0),u.fill(0),d.fill(0),f.fill(0);let r=0;if(ti(b,a,s,c,t,n,y,(e,t,n,i,a,o)=>{let s=p[e]+p[t];if(s===0)return;r++;let c=p[e]/s,m=p[t]/s;if(n<i){let r=n+S,i=a>0||a===0&&e<t,o=i?e:t,s=i?t:e;u[o]=Math.min(u[o],-r*(o===e?c:m)),l[s]=Math.max(l[s],r*(s===e?c:m))}else{let n=i+S,r=o>0||o===0&&e<t,a=r?e:t,s=r?t:e;f[a]=Math.min(f[a],-n*(a===e?c:m)),d[s]=Math.max(d[s],n*(s===e?c:m))}},g),r===0)return{passes:i,unresolved:new Uint8Array(a)};_.fill(0);for(let t of e){let e=t.index;if(l[e]!==0||u[e]!==0||d[e]!==0||f[e]!==0){let n=l[e]+u[e],r=d[e]+f[e];t.x+=n,t.y+=r,_[e]=1;let i=v[e]+Math.max(Math.abs(n),Math.abs(r));v[e]=i,i>y&&(y=i)}}[g,_]=[_,g],h&&r>a/2&&(i+1)%ui===0?(ai(e,1+Math.min(.25,.05*r/a)),g.fill(1),b=void 0,x=1/0):(i+1)%li===0&&(h&&r>.7*x&&(ai(e,1+Math.min(.15,Math.max(.03,.05*r/a))),g.fill(1),b=void 0),x=r)}return{passes:r,unresolved:g}}function ai(e,t){let n=0,r=0;for(let t of e)n+=t.x,r+=t.y;n/=e.length,r/=e.length;for(let i of e)i.x=n+(i.x-n)*t,i.y=r+(i.y-r)*t}var oi,si,ci,li,ui,di,fi=t((()=>{Jr(),oi=e=>`data`in e,si=[],ci=[],li=8,ui=3,di=8}));function pi(e,t,n,r,i,a,o){let{halfWidth:s,halfHeight:c,offsetY:l}=t,u=[];for(let t of e){let e=t.index;if(e===r||Math.abs(t.x-i)>o+s[r]+s[e]+n)continue;let d=t.y+l[e]-(a+l[r]);Math.abs(d)>o+c[r]+c[e]+n||u.push(t)}return u}function mi(e,t,n,r,i,a,o){let{halfWidth:s,halfHeight:c,offsetY:l}=t,u=a+l[r];for(let t of e){let e=t.index;if(!(e===r||o!==void 0&&!o(e))&&!(Math.abs(t.x-i)>=s[r]+s[e]+n)&&!(Math.abs(t.y+l[e]-u)>=c[r]+c[e]+n))return!1}return!0}function hi(e,t,n,r,i){let{halfWidth:a,halfHeight:o,offsetY:s,invMass:c}=n,l=e=>s[e]-o[e],u=e=>s[e]+o[e],d=r+.05,f=new Set,p=e=>c[e]===0||f.has(e);for(let{mover:o,anchor:s}of t){let t=e[o],c=e[s];if(t===void 0||c===void 0||p(o))continue;let m=Y(t.x,t.y,c.x,c.y);if(m<=i)continue;let h=(a[s]+a[o]+d)*J[J.length-1],g=(Math.max(u(s)-l(o),u(o)-l(s))+d)*J[J.length-1],_=pi(e,n,r,o,c.x,c.y,Math.max(h,g)),v,y;for(let e of J)for(let[i,f]of _i){let h=i===0?1/0:(a[s]+a[o]+d)/Math.abs(i),g=f===0?1/0:f>0?(u(s)+d-l(o))/f:(u(o)+d-l(s))/-f,b=Math.min(h,g)*e,x=c.x+i*b,S=c.y+f*b,C=Y(x,S,c.x,c.y);if(C>=m)continue;let w=C+.3*Y(x,S,t.x,t.y);mi(_,n,r,o,x,S)?(v===void 0||w<v.score-1e-9)&&(v={x,y:S,score:w}):(y===void 0||w<y.score-1e-9)&&mi(_,n,r,o,x,S,p)&&(y={x,y:S,score:w})}let b=vi*i,x=y!==void 0&&(v===void 0||y.score+b<v.score)?y:v;x!==void 0&&(t.x=x.x,t.y=x.y,t.vx=0,t.vy=0,f.add(o),f.add(s))}return[...f].sort((e,t)=>e-t)}function gi(e,t,n,r){let{halfHeight:i,invMass:a}=t;for(let o of e){let s=o.index;if(a[s]===0||mi(pi(e,t,n,s,o.x,o.y,0),t,n,s,o.x,o.y))continue;let c=r(s),l=Math.max(12,i[s]+n),u=[];for(let r=1;r<=yi;r++){(r-1)%8==0&&(u=pi(e,t,n,s,c.x,c.y,l*(r+7)*Math.SQRT2));let i,a=(e,r)=>{let a=Y(e,r,c.x,c.y);i!==void 0&&a>=i.d-1e-9||mi(u,t,n,s,e,r)&&(i={x:e,y:r,d:a})},d=r*l;for(let e=-r;e<=r;e++)a(c.x+e*l,c.y-d),a(c.x+e*l,c.y+d);for(let e=1-r;e<r;e++)a(c.x-d,c.y+e*l),a(c.x+d,c.y+e*l);if(i!==void 0){o.x=i.x,o.y=i.y;break}}}}var G,K,q,_i,J,vi,yi,Y,bi=t((()=>{G=.9238795325112867,K=.3826834323650898,q=Math.SQRT1_2,_i=[[0,1],[K,G],[q,q],[G,K],[1,0],[G,-.3826834323650898],[q,-q],[K,-.9238795325112867],[0,-1],[-.3826834323650898,-.9238795325112867],[-q,-q],[-.9238795325112867,-.3826834323650898],[-1,0],[-.9238795325112867,K],[-q,q],[-.3826834323650898,G]],J=[1,1.35,1.7,2.1,2.6],vi=.4,yi=32,Y=(e,t,n,r)=>Math.sqrt((e-n)*(e-n)+(t-r)*(t-r))}));function xi(e){let t=Math.round(e*100)/100;return t===0?0:t}function Si(e){if(!(e>0))return-1/0;if(e===1/0)return e;let t=e,n=0;for(;t>=2;)t/=2,n++;for(;t<1;)t*=2,n--;let r=(t-1)/(t+1),i=r*r,a=r,o=0;for(let e=1;e<40;e+=2)o+=a/e,a*=i;return n+2*o/Math.LN2}function Ci(e,t){let n=1,r=e,i=t;for(;i>0;)i&1&&(n*=r),r*=r,i>>>=1;return n}function wi(e,t){if(t<=0||e>=1)return 1;let n=0,r=1;for(let i=0;i<64;i++){let i=(n+r)/2;Ci(i,t)<e?n=i:r=i}return(n+r)/2}function Ti(e,t){let n=Math.abs(e)+Math.abs(t);if(n===0)return 0;let r=e/n;return t>=0?1-r:3+r}function Ei(e,t){let n=Math.abs(e-t);return n>2?4-n:n}var Di,X=t((()=>{Di=(e,t,n)=>Math.min(n,Math.max(t,e))}));function Oi(e,t){return e*(1+.15*Si(1+t))}function ki(e,t,n,r,i){let a=1/Math.max(1,Math.min(e.degree[t],e.degree[n]));if(!i)return a;let o=Math.max(e.crowding[t],e.crowding[n]),s=Ii*r;return o>s?a*s/o:a}function Ai(e,t,n,r){let i=n/Ni,a=-(220+40*Math.sqrt(e.degree[t]))*i*i;if(!r)return a;let o=e.boxArea[t]/(Fi*n*n);return a*Math.min(Pi,Math.max(1,o))}function ji(e){let t=Math.max(1,e/16);if(t<=Ri)return Li/Math.sqrt(t);let n=t/Ri;return Li/Math.sqrt(Ri)/(Math.sqrt(n)*Math.sqrt(Math.sqrt(n)))}function Mi(e,t){return e>=.5?900:Math.min(900,4*t)}var Ni,Pi,Fi,Ii,Li,Ri,zi=t((()=>{X(),Ni=56,Pi=3,Fi=1.5,Ii=2,Li=.3,Ri=25}));function Bi(e,t,n,r,i){let a=t.boxHalfWidth[n];e.minX=Math.min(e.minX,r-a),e.maxX=Math.max(e.maxX,r+a),e.minY=Math.min(e.minY,i+t.boxTop[n]),e.maxY=Math.max(e.maxY,i+t.boxBottom[n])}function Vi(e,t,n,r){let i=Ui();for(let a of t)Bi(i,e,a,n[a],r[a]);return i}function Hi(e){if(Wi(e))return Object.freeze({x:0,y:0,width:0,height:0});let t=Gi(e.minX),n=Gi(e.minY);return Object.freeze({x:t,y:n,width:Math.round((Ki(e.maxX)-t)*100)/100,height:Math.round((Ki(e.maxY)-n)*100)/100})}var Ui,Wi,Gi,Ki,qi=t((()=>{Ui=()=>({minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}),Wi=e=>!(e.maxX>=e.minX),Gi=e=>Math.floor(e*100)/100||0,Ki=e=>Math.ceil(e*100)/100||0}));function Ji(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function Yi(e,t=0){let n=(2166136261^t)>>>0;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=Math.imul(n,16777619);return n^=n>>>16,n=Math.imul(n,2246822507),n^=n>>>13,n=Math.imul(n,3266489909),n^=n>>>16,n>>>0}function Xi(e){return Number.isInteger(e)?e>>>0:Yi(String(e))}function Zi(e,t){return Ji(Yi(t,e))}function Qi(e){for(let t=0;t<32;t++){let t=e()*2-1,n=e()*2-1,r=t*t+n*n;if(r>1e-4&&r<=1){let e=Math.sqrt(r);return{x:t/e,y:n/e}}}return{x:1,y:0}}var $i=t((()=>{}));function ea(e){let t=Array.from({length:e.n},()=>[]);for(let{mover:n,anchor:r}of e.partners)t[n].push(r),t[r].push(n);for(let e of t)e.sort((e,t)=>e-t);return t}function ta(e,t,n,r){for(let t=e.offsets[n];t<e.offsets[n+1];t++)r(e.adjacency[t]);for(let e of t[n])r(e)}function na(e,t,n,r,i,a,o,s){let c=n[0];if(c===void 0)return;for(let t of n)e.degree[t]>e.degree[c]&&(c=t);let l=Qi(i),u=l.x,d=l.y,f=r*.3,p=1;a[c]=1,o[c]=0,s[c]=0;let m=[c];for(;m.length>0;){let n=[],c=[];for(let r of m){let i=[];ta(e,t,r,e=>{a[e]||(a[e]=1,i.push(e))}),i.sort((t,n)=>e.degree[n]-e.degree[t]||t-n);let l=Ti(o[r],s[r]);for(let e of i)n.push(e),c.push(l)}if(n.length===0)break;let l=[];for(let e=0;e<n.length;e++,p++){let e=r*Math.sqrt(p);l.push({x:e*u,y:e*d,angle:Ti(u,d)});let t=u*aa-d*oa;d=u*oa+d*aa,u=t}l.sort((e,t)=>e.angle-t.angle);let h=n.length,g=Math.max(1,Math.ceil(h/sa)),_=0,v=1/0;for(let e=0;e<h;e+=g){let t=0;for(let n=0;n<h;n++)t+=Ei(c[n],l[(n+e)%h].angle);t<v&&(v=t,_=e)}for(let e=0;e<h;e++){let t=n[e],r=l[(e+_)%h];o[t]=r.x+(i()-.5)*f,s[t]=r.y+(i()-.5)*f}m=n.map(e=>({v:e,angle:Ti(o[e],s[e])})).sort((e,t)=>e.angle-t.angle||e.v-t.v).map(e=>e.v)}}function ra(e,t,n,r,i,a,o,s){let c=n=>{let i=!1;return ta(e,t,n,e=>{r[e]&&(i=!0)}),i},l=n.filter(e=>!r[e]&&c(e));for(;l.length>0;){let n=l.map(n=>ia(e,t,n,r,i,a,o,s)),c=new Set;for(let e=0;e<l.length;e++){let t=l[e],o=n[e];i[t]=o.x,a[t]=o.y,r[t]=1}for(let n of l)ta(e,t,n,e=>{r[e]||c.add(e)});l=[...c].sort((e,t)=>e-t)}}function ia(e,t,n,r,i,a,o,s){let c=Zi(s,e.nodes[n].id),l=e=>{let t=0,n=0;for(let r of e)t+=i[r],n+=a[r];return{x:t/e.length,y:n/e.length}},u=t[n].filter(e=>r[e]);if(u.length>0){let e=l(u),t=Qi(c);return{x:e.x+t.x*o*.5,y:e.y+t.y*o*.5}}let d=[];for(let t=e.offsets[n];t<e.offsets[n+1];t++){let n=e.adjacency[t];r[n]&&d.push(n)}if(d.length>=2){let e=l(d),t=Qi(c);return{x:e.x+t.x*o*.25,y:e.y+t.y*o*.25}}let f=d[0],p=[];for(let t=e.offsets[f];t<e.offsets[f+1];t++){let i=e.adjacency[t];i!==n&&r[i]&&p.push(i)}let m=0,h=0;if(p.length>0){let e=l(p);m=i[f]-e.x,h=a[f]-e.y}let g=Math.sqrt(m*m+h*h);if(g<1e-9){let e=Qi(c);m=e.x,h=e.y}else m/=g,h/=g;let _=(c()*2-1)*.82,v=Math.sqrt(1-_*_),y=m*v-h*_,b=m*_+h*v;return{x:i[f]+y*o,y:a[f]+b*o}}var aa,oa,sa,ca=t((()=>{X(),$i(),aa=-.7373688780783197,oa=.6754902942615238,sa=48}));function la(e,t,n){throw new S(`invalid-input`,`Invalid layout option ${e}: expected ${n}, got ${String(t)}`,{option:e,value:t})}function Z(e,t,n,r,i){return t===void 0?n:((typeof t!=`number`||Number.isNaN(t)||!r(t))&&la(e,t,i),t)}function ua(e={}){let{strategy:t,scope:n}=e;t!==void 0&&t!==`union`&&t!==`anchored`&&la(`strategy`,t,`'union' or 'anchored'`),n!==void 0&&n!==`all`&&n!==`changes`&&la(`scope`,n,`'all' or 'changes'`);let r=Number.isFinite,i=e.pinned??new Map;for(let[e,t]of i)t&&r(t.x)&&r(t.y)||la(`pinned[${e}]`,JSON.stringify(t),`a finite point`);let a=e.iterations===void 0?void 0:Z(`iterations`,e.iterations,0,e=>Number.isInteger(e)&&e>=0,`an integer ≥ 0`);return{strategy:t,scope:n,contextHops:Z(`contextHops`,e.contextHops,Q.contextHops,e=>Number.isInteger(e)&&e>=0,`an integer ≥ 0`),hubDegree:Z(`hubDegree`,e.hubDegree,Q.hubDegree,e=>e>=0,`a number ≥ 0`),largeGraphThreshold:Z(`largeGraphThreshold`,e.largeGraphThreshold,Q.largeGraphThreshold,e=>e>=0,`a number ≥ 0`),seed:Xi(Z(`seed`,e.seed,Q.seed,r,`a finite number`)),iterations:a,linkDistance:Z(`linkDistance`,e.linkDistance,Q.linkDistance,e=>r(e)&&e>0,`a finite number > 0`),labelAware:e.labelAware??Q.labelAware,fontSize:Z(`fontSize`,e.fontSize,Q.fontSize,e=>r(e)&&e>0,`a finite number > 0`),pinned:i,componentGap:Z(`componentGap`,e.componentGap,Q.componentGap,e=>r(e)&&e>=0,`a finite number ≥ 0`)}}function da(e){return e>fa?Math.max(pa,Math.round(120*fa/e)):Di(Math.round(300-25*Si(Math.max(1,e))),120,300)}var Q,fa,pa,ma=t((()=>{pr(),X(),$i(),Q={contextHops:1,hubDegree:40,largeGraphThreshold:3e3,seed:1,linkDistance:56,labelAware:!0,fontSize:12,componentGap:96},fa=2e3,pa=30}));function ha(e,t,n){let r=Array(e.length),i=[{x:0,y:0,w:n}],a=0,o=0,s=1e-9;for(let c of t){let{width:t,height:l}=e[c],u=1/0,d=0;for(let e=0;e<i.length;e++){let r=i[e].x;if(r+t>n+s&&r>0)break;let a=0,o=0;for(let n=e;n<i.length&&o<t-s;n++)a=Math.max(a,i[n].y),o=i[n].x+i[n].w-r;a<u-s&&(u=a,d=r)}r[c]={x:d,y:u},a=Math.max(a,d+t),o=Math.max(o,u+l);let f=d,p=d+t,m=[];for(let e of i){let t=e.x+e.w;t<=f+s||e.x>=p-s?m.push(e):(e.x<f&&m.push({x:e.x,y:e.y,w:f-e.x}),t>p&&m.push({x:p,y:e.y,w:t-p}))}m.push({x:f,y:u+l,w:t}),m.sort((e,t)=>e.x-t.x),i=[];for(let e of m){let t=i[i.length-1];t!==void 0&&Math.abs(t.y-e.y)<s?t.w=e.x+e.w-t.x:i.push({...e})}}return{positions:r,width:a,height:o}}function ga(e,t,n,r){let i=e.length;if(i===0)return{centers:[],width:0,height:0};let a=n=>{let r=t*(n-1);for(let t=0;t<n;t++){let a=0;for(let r=t;r<i;r+=n)a=Math.max(a,2*e[r].halfWidth);r+=a}return r},o=1;for(;o<i&&a(o+1)<=r;)o++;let s=[];for(let t=0;t<o;t++){let n=0;for(let r=t;r<i;r+=o)n=Math.max(n,2*e[r].halfWidth);s.push(n)}let c=[],l=0;for(let e of s)c.push(l+e/2),l+=e+t;let u=l-t,d=Array(i),f=0;for(let t=0;t*o<i;t++){let r=0,a=0;for(let n=t*o;n<Math.min(i,(t+1)*o);n++)r=Math.max(r,-e[n].top),a=Math.max(a,e[n].bottom);for(let e=t*o;e<Math.min(i,(t+1)*o);e++)d[e]={x:c[e-t*o],y:f+r};f+=r+a+n}return{centers:d,width:u,height:f-n}}function _a(e){let t=e.aspect??1.6,n=e.componentGap,r=e.components.map(e=>({width:e.width+n,height:e.height+n})),i=r.map((e,t)=>t).sort((e,t)=>r[t].height-r[e].height||r[t].width-r[e].width||e-t),a=0,o=0;for(let e of r)a+=e.width*e.height,o=Math.max(o,e.width);for(let t of e.isolated)a+=(2*t.halfWidth+e.gridGapX)*(t.bottom-t.top+e.gridGapY),o=Math.max(o,2*t.halfWidth);let s=Math.sqrt(a*t),c,l=1/0,u=new Set;for(let a of va){let d=Math.max(o,s*a);if(u.has(d))continue;u.add(d);let f=ha(r,i,d),p=f.width>0?f.width-n:0,m=f.height>0?f.height-n:0,h=ga(e.isolated,e.gridGapX,e.gridGapY,Math.max(d-n,p)),g=m>0&&h.height>0?m+n:0,_=Math.max(p,h.width),v=h.height>0?g+h.height:m,y=ya(_,v,t);y<l-1e-6&&(l=y,c={components:f.positions,isolated:h.centers.map(e=>({x:e.x,y:e.y+g})),width:_,height:v})}return c??{components:[],isolated:[],width:0,height:0}}var va,ya,ba=t((()=>{va=[.55,.7,.85,1,1.15,1.3,1.5,1.75,2],ya=(e,t,n)=>{let r=Math.max(e,t*n);return r/n*r}}));function xa(e){return function(){return e}}var Sa=t((()=>{}));function $(e){return(e()-.5)*1e-6}var Ca=t((()=>{}));function wa(e){return e.index}function Ta(e,t){var n=e.get(t);if(!n)throw Error(`node not found: `+t);return n}function Ea(e){var t=wa,n=d,r,i=xa(30),a,o,s,c,l,u=1;e??=[];function d(e){return 1/Math.min(s[e.source.index],s[e.target.index])}function f(t){for(var n=0,i=e.length;n<u;++n)for(var o=0,s,d,f,p,m,h,g;o<i;++o)s=e[o],d=s.source,f=s.target,p=f.x+f.vx-d.x-d.vx||$(l),m=f.y+f.vy-d.y-d.vy||$(l),h=Math.sqrt(p*p+m*m),h=(h-a[o])/h*t*r[o],p*=h,m*=h,f.vx-=p*(g=c[o]),f.vy-=m*g,d.vx+=p*(g=1-g),d.vy+=m*g}function p(){if(o){var n,i=o.length,l=e.length,u=new Map(o.map((e,n)=>[t(e,n,o),e])),d;for(n=0,s=Array(i);n<l;++n)d=e[n],d.index=n,typeof d.source!=`object`&&(d.source=Ta(u,d.source)),typeof d.target!=`object`&&(d.target=Ta(u,d.target)),s[d.source.index]=(s[d.source.index]||0)+1,s[d.target.index]=(s[d.target.index]||0)+1;for(n=0,c=Array(l);n<l;++n)d=e[n],c[n]=s[d.source.index]/(s[d.source.index]+s[d.target.index]);r=Array(l),m(),a=Array(l),h()}}function m(){if(o)for(var t=0,i=e.length;t<i;++t)r[t]=+n(e[t],t,e)}function h(){if(o)for(var t=0,n=e.length;t<n;++t)a[t]=+i(e[t],t,e)}return f.initialize=function(e,t){o=e,l=t,p()},f.links=function(t){return arguments.length?(e=t,p(),f):e},f.id=function(e){return arguments.length?(t=e,f):t},f.iterations=function(e){return arguments.length?(u=+e,f):u},f.strength=function(e){return arguments.length?(n=typeof e==`function`?e:xa(+e),m(),f):n},f.distance=function(e){return arguments.length?(i=typeof e==`function`?e:xa(+e),h(),f):i},f}var Da=t((()=>{Sa(),Ca()}));function Oa(e){return e.x}function ka(e){return e.y}var Aa=t((()=>{Math.PI*(3-Math.sqrt(5))}));function ja(){var e,t,n,r,i=xa(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=Wr(e,Oa,ka).visitAfter(d);for(r=n,i=0;i<a;++i)t=e[i],o.visit(f)}function u(){if(e){var t,n=e.length,r;for(a=Array(n),t=0;t<n;++t)r=e[t],a[r.index]=+i(r,t,e)}}function d(e){var t=0,n,r,i=0,o,s,c;if(e.length){for(o=s=c=0;c<4;++c)(n=e[c])&&(r=Math.abs(n.value))&&(t+=n.value,i+=r,o+=r*n.x,s+=r*n.y);e.x=o/i,e.y=s/i}else{n=e,n.x=n.data.x,n.y=n.data.y;do t+=a[n.data.index];while(n=n.next)}e.value=t}function f(e,i,l,u){if(!e.value)return!0;var d=e.x-t.x,f=e.y-t.y,p=u-i,m=d*d+f*f;if(p*p/c<m)return m<s&&(d===0&&(d=$(n),m+=d*d),f===0&&(f=$(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)),t.vx+=d*e.value*r/m,t.vy+=f*e.value*r/m),!0;if(!(e.length||m>=s)){(e.data!==t||e.next)&&(d===0&&(d=$(n),m+=d*d),f===0&&(f=$(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)));do e.data!==t&&(p=a[e.data.index]*r/m,t.vx+=d*p,t.vy+=f*p);while(e=e.next)}}return l.initialize=function(t,r){e=t,n=r,u()},l.strength=function(e){return arguments.length?(i=typeof e==`function`?e:xa(+e),u(),l):i},l.distanceMin=function(e){return arguments.length?(o=e*e,l):Math.sqrt(o)},l.distanceMax=function(e){return arguments.length?(s=e*e,l):Math.sqrt(s)},l.theta=function(e){return arguments.length?(c=e*e,l):Math.sqrt(c)},l}var Ma=t((()=>{Jr(),Sa(),Ca(),Aa()})),Na=t((()=>{Jr(),Sa(),Ca(),Da(),Ma(),Aa()}));function Pa(e,t,n,r,i){let a=.2;for(let{mover:o,anchor:s}of t){let t=e[o],c=e[s];if(t===void 0||c===void 0)continue;let l=c.x+c.vx-t.x-t.vx,u=c.y+c.vy-t.y-t.vy,d=Math.sqrt(l*l+u*u);if(d<=i)continue;let f=(d-i)/d*n*r;t.vx+=l*f*.8,t.vy+=u*f*.8,c.vx-=l*f*a,c.vy-=u*f*a}}function Fa(e,t,n){let r=n*t;for(let t of e)t.vx-=t.x*r,t.vy-=t.y*r}var Ia=t((()=>{}));function La(e){let{nodes:t,ticks:n}=e,r=t.length;if(r===0)return 0;if(n>0){let i=Ea(e.links).distance(e=>e.distance).strength(e=>e.strength);i.initialize(t,e.random);let a=ja().strength(t=>e.charge[t.index]??0).theta(.9).distanceMax(e.chargeRange);a.initialize(t,e.random);let o=wi(Ha/e.alpha,n),s=Math.round(n*Wa),c=Math.max(1,Math.round(n*Ga)),l=Ra(e.nodeBoxes),u=ni(r),d=e.alpha;for(let r=0;r<n;r++){d*=o,i(d),a(d),e.springs.length>0&&Pa(t,e.springs,d,e.springStrength,e.springLength),e.gravity>0&&Fa(t,d,e.gravity);let n=e.nodeBoxes;if(r>=s){let t=Math.min(1,(r-s+1)/c);n=t>=1?e.labelBoxes:za(e.nodeBoxes,e.labelBoxes,Ka+.5*t,l)}n!==void 0&&ri(t,n,e.padding,qa,u);for(let e of t)e.fx==null?(e.vx*=Ua,e.x+=e.vx):(e.x=e.fx,e.vx=0),e.fy==null?(e.vy*=Ua,e.y+=e.vy):(e.y=e.fy,e.vy=0);r+1===s&&(e.orient&&Ba(t),Va(t,e.labelBoxes,e.padding,Ja))}}let i=ii(t,e.labelBoxes,e.padding,Ya),a=i.passes;if(e.springs.length>0&&e.dockDistance>0){let n=hi(t,e.springs,e.labelBoxes,e.padding,e.dockDistance);if(n.length>0){let r=Float64Array.from(e.labelBoxes.invMass),o=Uint8Array.from(i.unresolved);for(let e of n)r[e]=0,o[e]=1;let s=ii(t,{...e.labelBoxes,invMass:r},e.padding,Ya,o),c=Uint8Array.from(s.unresolved);for(let e of n)c[e]=1;a+=s.passes,a+=ii(t,e.labelBoxes,e.padding,Ya,c).passes}}return a}function Ra(e){let t=e.halfWidth.length;return{halfWidth:new Float64Array(t),halfHeight:new Float64Array(t),offsetY:new Float64Array(t),invMass:e.invMass}}function za(e,t,n,r){let i=e.halfWidth.length;for(let a=0;a<i;a++){let i=e.offsetY[a]-e.halfHeight[a],o=e.offsetY[a]+e.halfHeight[a],s=o+(t.offsetY[a]+t.halfHeight[a]-o)*n;r.halfWidth[a]=e.halfWidth[a]+(t.halfWidth[a]-e.halfWidth[a])*n,r.halfHeight[a]=(s-i)/2,r.offsetY[a]=(s+i)/2}return r}function Ba(e){let t=0,n=0;for(let r of e)t+=r.x,n+=r.y;t/=e.length,n/=e.length;let r=0,i=0,a=0;for(let o of e){let e=o.x-t,s=o.y-n;r+=e*e,i+=s*s,a+=e*s}let o=(r-i)/2,s=(r+i)/2+Math.sqrt(o*o+a*a),c=a,l=s-r;Math.abs(c)+Math.abs(l)<1e-12*(r+i+1)&&(c=s-i,l=a);let u=Math.sqrt(c*c+l*l),d=u>0?c/u:1,f=u>0?l/u:0,p=0,m=0;for(let r of e){let e=r.x-t,i=r.y-n,a=d*e+f*i,o=-f*e+d*i;r.x=a,r.y=o;let s=d*r.vx+f*r.vy;r.vy=-f*r.vx+d*r.vy,r.vx=s,p+=a*a*a,m+=o*o*o}let h=p<0?-1:1,g=m<0?-1:1;if(h!==1||g!==1)for(let t of e)t.x*=h,t.vx*=h,t.y*=g,t.vy*=g}function Va(e,t,n,r){if(e.length<3||t.invMass.some(e=>e===0))return;let i=1/0,a=1/0,o=-1/0,s=-1/0,c=0,l=0,u=0;for(let r of e)i=Math.min(i,r.x),o=Math.max(o,r.x),a=Math.min(a,r.y),s=Math.max(s,r.y),l+=r.x,u+=r.y,c+=(2*t.halfWidth[r.index]+n)*(2*t.halfHeight[r.index]+n);let d=Math.max(1,o-i)*Math.max(1,s-a),f=c/(r*d);if(f<=1)return;let p=Math.sqrt(f);l/=e.length,u/=e.length;for(let t of e)t.x=l+(t.x-l)*p,t.y=u+(t.y-u)*p}var Ha,Ua,Wa,Ga,Ka,qa,Ja,Ya,Xa=t((()=>{Na(),fi(),bi(),Ia(),X(),Ha=.001,Ua=.6,Wa=.35,Ga=.25,Ka=.5,qa=.7,Ja=.4,Ya=150}));function Za(e){let t=fo(e),n=Zr(e.graph),r=eo(e,t,n),i=n.flat(),a=Vi(e.graph,i,e.x,e.y);return Wi(a)||to(e,i,-(a.minX+a.maxX)/2,-(a.minY+a.maxY)/2),r.ticks}function Qa(e,t){let{graph:n}=e,r=fo(e),i=Zr(n),a=[],o=[];for(let e of i)(e.some(e=>t[e]===1)?a:o).push(e);let s=a.flat().sort((e,t)=>e-t),c=Uint8Array.from(t);ra(n,r.partners,s,c,e.x,e.y,e.options.linkDistance,e.options.seed);let l=s.filter(e=>t[e]!==1),u=0,d=0;if(l.length>0){let n=l.length/s.length,i=$a(e,s,l,t);u=po(e,i.length),d=i.length,io(e,r,i,t,u,.3+.7*n,!1,0,Mi(n,e.options.linkDistance)),ao(e,s,t)}if(o.length>0){let t=eo(e,r,o);t.largest>d&&(u=t.ticks);let i=Vi(n,s,e.x,e.y),a=o.flat(),c=e.options.componentGap,l={dx:i.maxX+c,dy:i.minY},f={dx:i.minX,dy:i.maxY+c},p=(e,n)=>{let r=Math.max(i.maxX,e+t.width)-Math.min(i.minX,e),a=Math.max(i.maxY,n+t.height)-Math.min(i.minY,n),o=Math.max(r,a*lo);return o*o},m=p(f.dx,f.dy)<p(l.dx,l.dy)-1e-6?f:l;to(e,a,m.dx,m.dy)}return u}function $a(e,t,n,r){let{graph:i,x:a,y:o}=e;if(n.length*2>=t.length)return[...t];let s=new Uint8Array(i.n),c=4*e.options.linkDistance;for(let e of n){c=Math.max(c,2*i.boxHalfWidth[e],2*i.boxBottom[e]),s[e]=1;for(let t=i.offsets[e];t<i.offsets[e+1];t++)s[i.adjacency[t]]=1}let l=Wr().x(e=>a[e]).y(e=>o[e]).addAll(t.filter(e=>r[e]===1));for(let e of n){let t=a[e]-c,n=a[e]+c,r=o[e]-c,i=o[e]+c;l.visit((e,c,l,u,d)=>{if(!e.length){let c=e;for(;c!==void 0;){let e=c.data;a[e]>=t&&a[e]<=n&&o[e]>=r&&o[e]<=i&&(s[e]=1),c=c.next}}return c>n||u<t||l>i||d<r})}return t.filter(e=>s[e]===1)}function eo(e,t,n){let{graph:r,x:i,y:a,options:o}=e,s=new Uint8Array(r.n),c=[],l=[],u=[],d=0,f=0;for(let p of n){if(p.length===1){l.push(p[0]);continue}na(r,t.partners,p,o.linkDistance*co,t.random,s,i,a);let n=po(e,p.length);p.length>f&&(f=p.length,d=n),io(e,t,p,void 0,n,1,!0,ji(p.length),900),c.push(p),u.push(Vi(r,p,i,a))}l.sort((e,t)=>e-t);let p=_a({components:u.map(e=>({width:e.maxX-e.minX,height:e.maxY-e.minY})),isolated:l.map(e=>({halfWidth:r.boxHalfWidth[e],top:r.boxTop[e],bottom:r.boxBottom[e]})),componentGap:o.componentGap,gridGapX:o.fontSize*1.5,gridGapY:o.fontSize,aspect:lo});for(let t=0;t<c.length;t++){let n=p.components[t],r=u[t];to(e,c[t],n.x-r.minX,n.y-r.minY)}for(let e=0;e<l.length;e++){let t=l[e],n=p.isolated[e];i[t]=n.x,a[t]=n.y}return{width:p.width,height:p.height,ticks:d,largest:f}}function to(e,t,n,r){for(let i of t)e.x[i]+=n,e.y[i]+=r}function no(e,t,n){let{graph:r,x:i,y:a,options:o}=e,s=t.length,c={halfWidth:new Float64Array(s),halfHeight:new Float64Array(s),offsetY:new Float64Array(s),invMass:new Float64Array(s)},l=o.labelAware?{halfWidth:new Float64Array(s),halfHeight:new Float64Array(s),offsetY:new Float64Array(s),invMass:c.invMass}:c,u=new Float64Array(s),d=[];for(let e=0;e<s;e++){let s=t[e],f=r.radius[s],p=n!==void 0&&n[s]===1,m={index:e,x:i[s],y:a[s],vx:0,vy:0};p&&(m.fx=m.x,m.fy=m.y),d.push(m),c.halfWidth[e]=f,c.halfHeight[e]=f,c.invMass[e]=p?0:1/(1+r.degree[s]),l!==c&&(l.halfWidth[e]=r.boxHalfWidth[s],l.halfHeight[e]=(r.boxBottom[s]-r.boxTop[s])/2,l.offsetY[e]=(r.boxBottom[s]+r.boxTop[s])/2),u[e]=Ai(r,s,o.linkDistance,o.labelAware)}return{nodes:d,nodeBoxes:c,labelBoxes:l,charge:u}}function ro(e,t,n){for(let r=0;r<t.length;r++){let i=n[r];i.fx??(e.x[t[r]]=i.x,e.y[t[r]]=i.y)}}function io(e,t,n,r,i,a,o,s,c){let{graph:l,options:u}=e,{slot:d}=t;for(let e=0;e<n.length;e++)d[n[e]]=e;let{nodes:f,nodeBoxes:p,labelBoxes:m,charge:h}=no(e,n,r),g=e=>r!==void 0&&r[e]===1,_=u.linkDistance,v=[];for(let e=0;e<n.length;e++){let t=n[e];for(let n=l.offsets[t];n<l.offsets[t+1];n++){let r=l.adjacency[n],i=d[r];if(r<=t||i<0||g(t)&&g(r))continue;let a=Oi(_,Math.max(1,Math.min(l.degree[t],l.degree[r])));v.push({source:f[e],target:f[i],distance:a,strength:ki(l,t,r,a,u.labelAware)})}}let y=[];for(let{mover:e,anchor:t}of l.partners){let n=d[e],r=d[t];n>=0&&r>=0&&y.push({mover:n,anchor:r})}for(let e of n)d[e]=-1;La({nodes:f,links:v,springs:y,charge:h,nodeBoxes:p,labelBoxes:m,ticks:i,alpha:a,gravity:s,orient:o,springStrength:oo,springLength:_*so,dockDistance:_,chargeRange:c,padding:4,random:t.random}),ro(e,n,f)}function ao(e,t,n){let{graph:r,x:i,y:a}=e,{nodes:o,labelBoxes:s}=no(e,t,n);ii(o,s,4,uo);let c=new Map;t.forEach((e,t)=>{c.set(e,t)}),gi(o,s,4,e=>{let n=t[e],s=0,l=0,u=0;for(let e=r.offsets[n];e<r.offsets[n+1];e++){let t=o[c.get(r.adjacency[e])??-1];t!==void 0&&(s+=t.x,l+=t.y,u++)}return u>0?{x:s/u,y:l/u}:{x:i[n],y:a[n]}}),ro(e,t,o)}var oo,so,co,lo,uo,fo,po,mo=t((()=>{Jr(),Qr(),fi(),bi(),zi(),qi(),ca(),ma(),ba(),$i(),Xa(),oo=.08,so=.5,co=.4,lo=1.6,uo=24,fo=e=>({partners:ea(e.graph),slot:new Int32Array(e.graph.n).fill(-1),random:Ji(e.options.seed)}),po=(e,t)=>e.options.iterations??da(t)}));function ho(e,t){let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>>1,a=t[i];if(a===void 0)return!1;if(e<a[0])r=i-1;else if(e>a[1])n=i+1;else return!0}return!1}function go(e){return e===32||e===9?wo:e<32||e===127?0:e>=48&&e<=57?xo:e>=65&&e<=90?So:Co}function _o(e){let t=e.codePointAt(0)??0;return t<128?go(t):Do.test(e)||t>=127995&&t<=127999?0:t>=127462&&t<=127487?To:ho(t,Eo)?bo:Oo.test(e)?wo:ko.test(e)?xo:Ao.test(e)?So:Co}function vo(e,t){let n=0;for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);if(r<128){n+=go(r);continue}let i=e.codePointAt(t)??r,a=String.fromCodePoint(i);i>65535&&t++,n+=_o(a)}return n*t}function yo(e,t,n){let r=32*n,i=Math.min(r,vo(e,n)),a=jo*n;if(t!==void 0&&t!==e){let e=n*No;i=Math.max(i,Math.min(r,vo(t,e))),a+=Mo*n}return{width:i,height:a}}var bo,xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo,No,Po=t((()=>{bo=1,xo=.6,So=.68,Co=.56,wo=.3,To=.5,Eo=[[4352,4447],[8986,8987],[9001,9002],[9193,9196],[9200,9200],[9203,9203],[9725,9726],[9728,10175],[11035,11036],[11088,11088],[11093,11093],[11904,12350],[12353,13311],[13312,19903],[19968,40959],[40960,42191],[43360,43391],[44032,55203],[63744,64255],[65040,65049],[65072,65135],[65280,65376],[65504,65510],[94176,101119],[110592,111359],[126980,126980],[127183,127183],[127374,127374],[127377,127386],[127488,127743],[127744,128591],[128640,128767],[128992,129003],[129280,129535],[129648,129791],[131072,196605],[196608,262141]],Do=/[\p{Mn}\p{Me}\p{Cf}\p{Cc}]/u,Oo=/\s/u,ko=/\p{Nd}/u,Ao=/\p{Lu}/u,jo=1.25,Mo=14/12,No=11/12}));function Fo(e){for(let t=1;t<e.length;t++){let n=e[t-1],r=e[t];if(n!==void 0&&r!==void 0&&Ro(n.id,r.id)>0)return[...e].sort((e,t)=>Ro(e.id,t.id))}return e}function Io(e,t){let n=new Int32Array(e+1);for(let e=0;e<t.length;e++)n[(t[e]??0)+1]++;for(let t=0;t<e;t++)n[t+1]+=n[t];let r=n.slice(0,e),i=new Int32Array(t.length);for(let e=0;e<t.length;e+=2){let n=t[e],a=t[e+1];i[r[n]++]=a,i[r[a]++]=n}for(let t=0;t<e;t++)i.subarray(n[t],n[t+1]).sort();return{offsets:n,adjacency:i}}function Lo(e){let t=Fo(e.nodes),n=t.length,r=new Map;for(let e=0;e<n;e++)r.set(t[e].id,e);let i=new Uint8Array(n);for(let e=0;e<n;e++)t[e].status!==`unchanged`&&(i[e]=1);let a=new Set,o=[],s=(e,t)=>{if(e===void 0||t===void 0||e===t)return;let r=e<t?e:t,i=e<t?t:e,s=r*n+i;a.has(s)||(a.add(s),o.push(r,i))};for(let t of Fo(e.edges)){let e=r.get(t.source),n=r.get(t.target);s(e,n);let a=t.sourceBefore===void 0?e:r.get(t.sourceBefore),o=t.targetBefore===void 0?n:r.get(t.targetBefore);if((a!==e||o!==n)&&s(a,o),t.status!==`unchanged`)for(let t of[e,n,a,o])t!==void 0&&(i[t]=1)}let c=Int32Array.from(o),{offsets:l,adjacency:u}=Io(n,c),d=[],f=new Set,p=(e,t)=>{if(t===void 0||t===e)return;let r=e*n+t;f.has(r)||(f.add(r),d.push({mover:e,anchor:t}))};for(let e=0;e<n;e++)for(let n of t[e].facets)if(n.kind===`mergedInto`)p(e,r.get(n.target));else if(n.kind===`splitFrom`)p(e,r.get(n.source));else if(n.kind===`mergeTarget`)for(let t of n.sources){let n=r.get(t);n!==void 0&&p(n,e)}else if(n.kind===`splitInto`)for(let t of n.targets){let n=r.get(t);n!==void 0&&p(n,e)}return d.sort((e,t)=>e.mover-t.mover||e.anchor-t.anchor),{nodes:t,indexOf:r,pairs:c,offsets:l,adjacency:u,partners:d,changed:i}}var Ro,zo=t((()=>{Ro=(e,t)=>e<t?-1:+(e>t)}));function Bo(e){for(let t of e.facets)if(t.kind===`rename`)return t.from}function Vo(e,t,n){let r=new Int32Array(e.nodes.length).fill(-1),i=[];for(let n=0;n<e.nodes.length;n++)t[n]&&(r[n]=i.length,i.push(e.nodes[n]));let a=i.length,o=new Map,s=new Float64Array(a),c=new Float64Array(a),l=new Float64Array(a),u=new Float64Array(a);for(let e=0;e<a;e++){let t=i[e];o.set(t.id,e);let r=n.nodeRadius(Math.max(t.degree.before,t.degree.after)),a=yo(t.label,Bo(t),n.fontSize);s[e]=r,c[e]=Math.max(r,a.width/2),l[e]=-r,u[e]=r+5+a.height}let d=[];for(let t=0;t<e.pairs.length;t+=2){let n=r[e.pairs[t]],i=r[e.pairs[t+1]];n>=0&&i>=0&&d.push(Math.min(n,i),Math.max(n,i))}let f=Int32Array.from(d),{offsets:p,adjacency:m}=Io(a,f),h=new Int32Array(a),g=new Float64Array(a);for(let e=0;e<a;e++)h[e]=p[e+1]-p[e],g[e]=(2*c[e]+4)*(u[e]-l[e]+4);let _=new Float64Array(a);for(let e=0;e<a;e++){let t=0;for(let n=p[e];n<p[e+1];n++)t+=g[m[n]];_[e]=Math.sqrt(t/Math.PI)}let v=[];for(let t of e.partners){let e=r[t.mover],n=r[t.anchor];e>=0&&n>=0&&v.push({mover:e,anchor:n})}return{n:a,nodes:i,indexOf:o,radius:s,boxHalfWidth:c,boxTop:l,boxBottom:u,boxArea:g,crowding:_,degree:h,pairs:f,offsets:p,adjacency:m,partners:v}}var Ho=t((()=>{qi(),Po(),zo()}));function Uo(e){let{graph:t}=e,n=new Float64Array(t.n),r=new Float64Array(t.n),i=Ui();for(let a=0;a<t.n;a++){let o=e.positions.get(t.nodes[a].id);o!==void 0&&(n[a]=o.x,r[a]=o.y,Bi(i,t,a,o.x,o.y))}let a=Zr(t).map(e=>Object.freeze({nodes:Object.freeze(e.map(e=>t.nodes[e].id)),bounds:Hi(Vi(t,e,n,r))})),o=Go(e.positions);return Object.freeze({positions:o,radii:Go(e.radii),bounds:Hi(i),scope:e.scope,hidden:Go(e.hidden),components:Object.freeze(a),stats:Object.freeze({strategy:e.strategy,iterations:e.iterations,nodes:o.size,ms:Wo()-e.started})})}var Wo,Go,Ko=t((()=>{Qr(),qi(),Wo=()=>typeof performance==`object`&&typeof performance.now==`function`?performance.now():Date.now(),Go=e=>new Map([...e].sort(([e],[t])=>e<t?-1:+(e>t)))}));function qo(e,t,n,r){let i=e.nodes.length,a=new Uint8Array(i);if(t===`all`)return a.fill(1),{visible:a,hidden:new Map};let o=new Int32Array(i).fill(-1),s=[];for(let t=0;t<i;t++)e.nodes[t].status!==`unchanged`&&(o[t]=0,s.push(t));let c=[];for(let t=0;t<i;t++)e.changed[t]&&o[t]===-1&&(o[t]=1,c.push(t));for(let t=0;t<n;t++){let n=t===0?[...c]:[];for(let i of s){let{degree:a}=e.nodes[i];if(!(Math.max(a.before,a.after)>r))for(let r=e.offsets[i];r<e.offsets[i+1];r++){let i=e.adjacency[r];o[i]===-1&&(o[i]=t+1,n.push(i))}}s=n.sort((e,t)=>e-t)}for(let e=0;e<i;e++)o[e]>=0&&(a[e]=1);return{visible:a,hidden:Jo(e,a)}}function Jo(e,t){let n=new Map;for(let r=0;r<e.nodes.length;r++){if(!t[r])continue;let i=0;for(let n=e.offsets[r];n<e.offsets[r+1];n++)t[e.adjacency[n]]||i++;i>0&&n.set(e.nodes[r].id,i)}return n}var Yo=t((()=>{}));function Xo(e,t,n,r,i){let a=Wo(),o=ua(r),s=Lo(e),c=new Set;for(let e of n){if(!s.indexOf.has(e))throw new S(`invalid-input`,`extendLayout: node "${e}" is not in the diff`,{node:e});t.positions.has(e)||c.add(e)}if(c.size===0)return t;let l=new Uint8Array(s.nodes.length);for(let e of t.positions.keys()){let t=s.indexOf.get(e);t!==void 0&&(l[t]=1)}for(let e of c)l[s.indexOf.get(e)]=1;let u=Vo(s,l,{fontSize:o.fontSize,nodeRadius:i}),d=new Uint8Array(u.n),f=new Float64Array(u.n),p=new Float64Array(u.n);for(let e=0;e<u.n;e++){let n=t.positions.get(u.nodes[e].id);n!==void 0&&(d[e]=1,f[e]=n.x,p[e]=n.y)}Qa({graph:u,options:o,x:f,y:p},d);let m=new Map(t.positions),h=new Map(t.radii);for(let e of c){let t=u.indexOf.get(e);m.set(e,Object.freeze({x:xi(f[t]),y:xi(p[t])})),h.set(e,u.radius[t])}return Uo({graph:u,positions:m,radii:h,hidden:t.scope===`changes`?Jo(s,l):t.hidden,scope:t.scope,strategy:t.stats.strategy,iterations:t.stats.iterations,started:a})}var Zo=t((()=>{pr(),mo(),Ho(),X(),ma(),Ko(),Yo(),zo()}));function Qo(e,t){let n=new Uint8Array(e.n),r=new Float64Array(e.n),i=new Float64Array(e.n),a=0;for(let o=0;o<e.n;o++){let s=e.nodes[o],c=[t.pinned.get(s.id),s.before?.position,s.after?.position].find(es);c!==void 0&&(n[o]=1,r[o]=c.x,i[o]=c.y,a++)}return{fixed:n,x:r,y:i,count:a}}function $o(e,t,n){let r=Wo(),i=ua(t),a=Lo(e),o=i.scope??(a.nodes.length>i.largeGraphThreshold?`changes`:`all`),s=qo(a,o,i.contextHops,i.hubDegree),c=Vo(a,s.visible,{fontSize:i.fontSize,nodeRadius:n}),l=Qo(c,i),u=i.strategy??(l.count>0?`anchored`:`union`),d=u===`anchored`&&l.count>0,f={graph:c,options:i,x:d?l.x:new Float64Array(c.n),y:d?l.y:new Float64Array(c.n)},p=d?Qa(f,l.fixed):Za(f),m=new Map,h=new Map;for(let e=0;e<c.n;e++){let t=c.nodes[e].id,n=d&&l.fixed[e]===1,r=n?f.x[e]:xi(f.x[e]),i=n?f.y[e]:xi(f.y[e]);m.set(t,Object.freeze({x:r,y:i})),h.set(t,c.radius[e])}return Uo({graph:c,positions:m,radii:h,hidden:s.hidden,scope:o,strategy:u,iterations:p,started:r})}var es,ts=t((()=>{mo(),Ho(),X(),ma(),Ko(),Yo(),zo(),es=e=>e!==void 0&&Number.isFinite(e.x)&&Number.isFinite(e.y)}));function ns(e,t){return $o(e,t,is)}function rs(e,t,n,r){return Xo(e,t,n,r,is)}function is(e){return Math.min(14,Math.max(4,4+2.2*Math.sqrt(Math.max(0,e))))}var as=t((()=>{Zo(),ts()})),os=n({diff:()=>fr,extendLayout:()=>rs,layoutDiff:()=>ns});t((()=>{pr(),as()}))();var ss=`KgdiffCompute`;globalThis[ss]=os})();
1
+ (function(){var e=Object.defineProperty,t=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};function r(e,t,n){return JSON.stringify([e,t,n])}function i(e){return e.charCodeAt(e.length-1)!==93}function a(e){if(e.charCodeAt(e.length-1)===93)return{base:e,suffix:``};let t=e.lastIndexOf(`#`);return t<0?{base:e,suffix:``}:{base:e.slice(0,t),suffix:e.slice(t)}}function o(e){return Array.isArray(e)}function s(e,t){if(e===t)return!0;if(e===void 0||t===void 0||e===null||t===null)return!1;if(typeof e!=`object`||typeof t!=`object`)return typeof e==`number`&&typeof t==`number`&&Number.isNaN(e)&&Number.isNaN(t);if(o(e)){if(!o(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!s(e[n],t[n]))return!1;return!0}return!o(t)&&f(e,t)}function c(){return{}}function l(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0}):e[t]=n}function u(e,t){return Object.hasOwn(e,t)?e[t]:void 0}function d(e){return Object.keys(e).filter(t=>e[t]!==void 0)}function f(e,t,n){if(e===t)return!0;let r=0;for(let i of Object.keys(e)){let a=e[i];if(!(a===void 0||n?.has(i))&&(r++,!s(a,u(t,i))))return!1}let i=0;for(let e of Object.keys(t))t[e]!==void 0&&!n?.has(e)&&i++;return r===i}function p(e){return d(e).sort()}function m(e){for(let t of Object.keys(e))if(e[t]!==void 0)return!1;return!0}function h(e){return typeof e!=`object`||!e?e:o(e)?e.map(h):g(e)}function g(e){let t=c();for(let n of p(e))l(t,n,h(e[n]));return t}function _(e){return JSON.stringify(h(e))}var v,y=t((()=>{v=class{seed;h1=0;h2=0;constructor(e=0){this.seed=e,this.reset()}reset(){return this.h1=3735928559^this.seed,this.h2=1103547991^this.seed,this}code(e){return this.h1=Math.imul(this.h1^e,2654435761),this.h2=Math.imul(this.h2^e,1597334677),this}update(e){let t=this.h1,n=this.h2;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return this.h1=t,this.h2=n,this}string(e){return this.code(e.length&65535).code(e.length>>>16).update(e)}value(e){if(e===void 0)return this.code(117);if(e===null)return this.code(110);switch(typeof e){case`boolean`:return this.code(e?116:102);case`number`:return this.code(100).string(String(e));case`string`:return this.code(115).string(e)}if(o(e)){this.code(97).code(e.length&65535).code(e.length>>>16);for(let t of e)this.value(t);return this}let t=Object.keys(e);if(t.length===0)return this.code(111).code(0).code(0);let n=t.length===1&&e[t[0]]!==void 0?t:p(e);this.code(111).code(n.length&65535).code(n.length>>>16);for(let t of n)this.string(t).value(e[t]);return this}digestPair(){let e=this.h1,t=this.h2;return e=Math.imul(e^e>>>16,2246822507),e^=Math.imul(t^t>>>13,3266489909),t=Math.imul(t^t>>>16,2246822507),t^=Math.imul(e^e>>>13,3266489909),[e>>>0,t>>>0]}digest(){let[e,t]=this.digestPair();return 4294967296*(2097151&t)+e}}})),b,x=t((()=>{b=class extends Error{code;details;name=`KgdiffError`;constructor(e,t,n){super(t),this.code=e,this.details=n}}}));function S(e,t){return e<t?-1:+(e>t)}function C(e){if(e.length<=1){let t=e[0];return t===void 0||t===``?[]:[t]}let t=[...new Set(e)].filter(e=>e!==``);return t.length>1&&t.sort(),t}function w(e){return Math.round(e*1e6)/1e6}function ee(e){return e>0?Math.min(e,1):0}function T(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function te(e,t){let n=[],r=[],i=0,a=0;for(;i<e.length||a<t.length;){let o=e[i],s=t[a];s===void 0||o!==void 0&&o<s?(r.push(o),i++):o===void 0||s<o?(n.push(s),a++):(i++,a++)}return{added:n,removed:r}}function E(e,t,n){let r=e.get(t);return r===void 0&&(r=n(),e.set(t,r)),r}function D(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function ne(e,t){return t===void 0?0:(e.outgoing.get(t)?.length??0)+(e.incoming.get(t)?.length??0)}function O(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var k,A=t((()=>{k=Object.freeze([])}));function j(e){return Se.test(e)?e:e.normalize(`NFC`)}function re(e){return ie(e).replace(ve,` `).trim()}function ie(e){return Se.test(e)?e.toLowerCase():e.normalize(`NFKC`).toLowerCase().replace(_e,``)}function ae(e){let t=e.match(Ce);return t?[...new Set(t.map(e=>e.replace(/^0+(?=.)/u,``)))].sort().join(` `):``}function oe(e){let t=ie(e),n=t.replace(ve,` `).trim(),r=new Set,i;for(let e of t.matchAll(ye)){let t=e[0],n=t.endsWith(`.`),a=n?t.slice(0,-1):t;r.add(a),n&&a.length>=2&&be.test(a)&&(i??=new Set,i.add(a))}let a=Array.from(n.replaceAll(` `,``)),o=new Map;for(let e=0;e+1<a.length;e++){let t=a[e]+a[e+1];o.set(t,(o.get(t)??0)+1)}return{folded:t,normalized:n,chars:a,bigrams:o,bigramTotal:Math.max(0,a.length-1),tokens:[...r].sort(),abbreviations:i??we,numbers:ae(n)}}function se(e,t){let n=e.bigramTotal+t.bigramTotal;if(n===0)return 0;let[r,i]=e.bigrams.size<=t.bigrams.size?[e,t]:[t,e],a=0;for(let[e,t]of r.bigrams){let n=i.bigrams.get(e);n!==void 0&&(a+=Math.min(t,n))}return 2*a/n}function ce(e,t){if(e.length===0&&t.length===0)return 1;if(e.length===0||t.length===0)return 0;let n=Math.max(0,Math.floor(Math.max(e.length,t.length)/2)-1),r=Array(e.length).fill(!1),i=Array(t.length).fill(!1),a=0;for(let o=0;o<e.length;o++){let s=Math.max(0,o-n),c=Math.min(t.length-1,o+n);for(let n=s;n<=c;n++)if(!i[n]&&e[o]===t[n]){r[o]=!0,i[n]=!0,a++;break}}if(a===0)return 0;let o=0,s=0;for(let n=0;n<e.length;n++)if(r[n]){for(;!i[s];)s++;e[n]!==t[s]&&o++,s++}let c=a,l=(c/e.length+c/t.length+(c-o/2)/c)/3,u=Math.min(e.length,t.length);if(u<4||u/Math.max(e.length,t.length)<.7)return l;let d=0;for(;d<4&&e[d]===t[d];)d++;return l+d*.1*(1-l)}function le(e,t){let n=e.tokens.length+t.tokens.length;if(n===0)return 0;let r=new Set(t.tokens),i=[],a=0;for(let t of e.tokens)r.has(t)?a++:i.push(t);if(e.abbreviations.size>0||t.abbreviations.size>0){let n=new Set(e.tokens),r=t.tokens.filter(e=>!n.has(e));a+=De*ue(i,e.abbreviations,r),a+=De*ue(r,t.abbreviations,i)}return Math.min(1,2*a/n)}function ue(e,t,n){if(t.size===0)return 0;let r=0;for(let i=0;i<e.length;i++){let a=e[i];if(!t.has(a))continue;let o=n.findIndex(e=>e.length>a.length&&e.startsWith(a));o<0||(n.splice(o,1),e.splice(i,1),i--,r++)}return r}function M(e,t){if(e.normalized===``||t.normalized===``)return+(e.folded===t.folded);if(e.normalized===t.normalized)return 1;let[n,r]=e.normalized<t.normalized?[e,t]:[t,e],i=n.chars.length<4||r.chars.length<4?ce(n.chars,r.chars):se(n,r),a=le(n,r),o=ee(Math.max(i,a));return w(n.numbers!==r.numbers&&n.numbers!==``&&r.numbers!==``?Math.min(o,Ee):o)}function de(e,t){pe(e.normalized,e.folded,e.tokens,t)}function fe(e){let t=new Set;for(let n of e){let e=re(n);if(e!==``){t.add(`f:${e}`);for(let n of e.split(` `))n.length>=2&&!Oe.has(n)&&t.add(`w:${n}`),n.length>=4&&t.add(`p:${n.slice(0,4)}`)}}return[...t]}function pe(e,t,n,r){if(e===``)t!==``&&r.add(`r:${t}`);else{r.add(`f:${e}`);for(let e of n){let t=Array.from(e);t.length>=2&&!Oe.has(e)&&r.add(`w:${e}`),t.length>=4&&r.add(`p:${t.slice(0,4).join(``)}`);for(let t of e.matchAll(xe)){let e=Array.from(t[0]);e.length===1&&r.add(`b:${e[0]}`);for(let t=0;t+1<e.length;t++)r.add(`b:${e[t]}${e[t+1]}`)}}}}function me(e){if(!e.includes(`%`))return e;try{return decodeURIComponent(e)}catch{return e}}function he(e){let t=N.get(e);return t===void 0&&(N.size>=Ae&&N.clear(),t=ge(e),N.set(e,t)),t}function ge(e){let t=je.exec(e);if(t)return`${t[1]}:${t[2]}`;let n=e.length;for(;n>0&&`#/:`.includes(e.charAt(n-1));)n--;let r=e.slice(0,n),i=Math.max(r.lastIndexOf(`#`),r.lastIndexOf(`/`),r.lastIndexOf(`:`)),a=r.slice(i+1);if(a===``||ke.test(a))return j(e);let o=me(a).replaceAll(`_`,` `).replace(/\s+/g,` `).trim();return j(o===``?e:o)}var _e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,N,Ae,je,P=t((()=>{A(),_e=/[\p{Cc}\p{Cf}]/gu,ve=/[\p{P}\s]+/gu,ye=/[^\p{P}\s]+\.?/gu,be=/^\p{L}+$/u,xe=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]+/gu,Se=/^[\x20-\x7e]*$/,Ce=/\p{Nd}+/gu,we=new Set,Te=class{cache=new Map;get(e){let t=this.cache.get(e);return t||(t=oe(e),this.cache.set(e,t)),t}},Ee=.5,De=.9,Oe=new Set(`a.an.and.as.at.by.de.der.des.di.die.du.el.en.et.for.from.in.into.is.la.le.les.of.on.or.the.to.und.van.von.with`.split(`.`)),ke=/^\d+$/,N=new Map,Ae=4096,je=/^https?:\/\/purl\.obolibrary\.org\/obo\/([A-Za-z][A-Za-z0-9]*)_(\d+)$/}));function Me(e,t=e.id){let n={id:t};return e.label!==t&&(n.label=e.label),e.types.length&&(n.types=e.types),e.aliases.length&&(n.aliases=e.aliases),m(e.attrs)||(n.attrs=g(e.attrs)),e.deprecated&&(n.deprecated=!0),e.replaces.length&&(n.replaces=e.replaces),e.replacedBy.length&&(n.replacedBy=e.replacedBy),e.implicit&&(n.implicit=!0),n}function Ne(e,t=e.source,n=e.target){let r=e.id===void 0?{source:t,target:n}:{id:e.id,source:t,target:n};return e.predicate!==``&&(r.predicate=e.predicate),e.label!==he(e.predicate)&&(r.label=e.label),m(e.attrs)||(r.attrs=g(e.attrs)),r}function Pe(e,t){e.code(78).string(t.id).string(t.label),e.code(t.types.length);for(let n of t.types)e.string(n);e.code(t.aliases.length);for(let n of t.aliases)e.string(n);e.value(t.attrs).code(+!!t.deprecated),e.code(t.replaces.length);for(let n of t.replaces)e.string(n);e.code(t.replacedBy.length);for(let n of t.replacedBy)e.string(n)}function Fe(e,t,n){e.code(69),n&&t.id!==void 0?e.code(1).string(t.id):e.code(0),e.string(t.source).string(t.predicate).string(t.target).string(t.label),e.value(t.attrs)}function Ie(e){let t=Le.get(e);if(t)return t;let n=new v,r=0,i=0;for(let t of e.nodes.values()){Pe(n.reset(),t);let[e,a]=n.digestPair();r=r+e>>>0,i=i+a>>>0}let a=e.edgeIdentity===`id`,o=0,s=0;for(let t of e.edges.values()){Fe(n.reset(),t,a);let[e,r]=n.digestPair();o=o+e>>>0,s=s+r>>>0}let c=`c53:${new v().update(`kgdiff.graph.v1|${e.nodes.size}|${r}|${i}|${e.edges.size}|${o}|${s}`).digest().toString(16).padStart(14,`0`)}`;return Le.set(e,c),c}var Le,Re=t((()=>{y(),P(),Le=new WeakMap}));function F(e,t){throw new b(`invalid-input`,e,{option:t})}function ze(e,t,n){return e===void 0?t:(typeof e==`number`&&e>=0&&e<=1||F(`${n} must be a number between 0 and 1 (got ${String(e)})`,n),e)}function Be(e,t,n){return e===void 0?[...t]:((!Array.isArray(e)||e.some(e=>typeof e!=`string`))&&F(`${n} must be an array of strings`,n),[...new Set(e)])}function Ve(e){if(e===void 0)return I;typeof e==`object`&&e||F(`match options must be an object`,`match`);let t=e.strategy??I.strategy;Ge.has(t)||F(`match.strategy must be 'id', 'auto' or 'similarity' (got ${String(t)})`,`match.strategy`);let n=e.maxCandidates??I.maxCandidates;return(!Number.isInteger(n)||n<1)&&F(`match.maxCandidates must be a positive integer (got ${String(n)})`,`match.maxCandidates`),{strategy:t,threshold:ze(e.threshold,I.threshold,`match.threshold`),suggestThreshold:ze(e.suggestThreshold,I.suggestThreshold,`match.suggestThreshold`),maxCandidates:n}}function He(e,t=`structure`){return e===void 0?t:(typeof e==`string`&&Ke.has(e)||F(`edgeIdentity must be 'structure' or 'id' (got ${String(e)})`,`edgeIdentity`),e)}function Ue(e){e===void 0||typeof e==`object`&&e||F(`options must be an object`,`options`);let t=e??{};for(let e of[`detectMerges`,`detectSplits`])t[e]!==void 0&&typeof t[e]!=`boolean`&&F(`${e} must be a boolean`,e);return{match:Ve(t.match),edgeIdentity:He(t.edgeIdentity),hierarchyPredicates:Be(t.hierarchyPredicates,We,`hierarchyPredicates`),detectMerges:t.detectMerges??!0,detectSplits:t.detectSplits??!0,ignoreAttrs:Be(t.ignoreAttrs,[],`ignoreAttrs`).sort()}}var We,I,Ge,Ke,qe=t((()=>{x(),We=Object.freeze([`rdfs:subClassOf`,`http://www.w3.org/2000/01/rdf-schema#subClassOf`,`rdfs:subPropertyOf`,`http://www.w3.org/2000/01/rdf-schema#subPropertyOf`,`skos:broader`,`http://www.w3.org/2004/02/skos/core#broader`,`is_a`,`subClassOf`,`parent`]),I=Object.freeze({strategy:`auto`,threshold:.82,suggestThreshold:.6,maxCandidates:8}),Ge=new Set([`id`,`auto`,`similarity`]),Ke=new Set([`structure`,`id`])}));function L(e,t){throw new b(`invalid-input`,e,t)}function Je(e){let{format:t,version:n}=e;if(typeof t==`string`&&t.startsWith(`kgdiff.`)){if(t!==`kgdiff.graph`)throw new b(`unsupported-version`,`Expected a kgdiff graph (format "kgdiff.graph"), got format "${t}"`,{format:t});if(n!==1)throw new b(`unsupported-version`,`Unsupported graph version ${String(n)}; this reader supports version 1`,{version:n})}}function Ye(e){if(typeof e==`string`)return e===``?void 0:e;if(typeof e==`number`&&Number.isFinite(e))return String(e)}function Xe(e,t){return t===void 0?{what:`Node "${e}"`,ref:e}:{what:`Edge ${e} → ${t}`,ref:`${e} → ${t}`}}function Ze(e,t,n,r){let{what:i,ref:a}=Xe(e,t);return L(`${i}: ${n} must be ${r}`,{ref:a})}function Qe(e,t,n,r){if(e!=null)return typeof e!=`string`&&Ze(t,n,r,`a string`),e}function R(e,t,n){return e==null?k:typeof e==`string`?[e]:((!Array.isArray(e)||e.some(e=>typeof e!=`string`))&&Ze(t,void 0,n,`an array of strings`),e)}function $e(e,t,n){switch(typeof e){case`string`:case`boolean`:return e;case`number`:return Number.isFinite(e)?e:String(e);case`bigint`:return String(e);case`undefined`:case`function`:case`symbol`:n();return}if(e===null)return null;if(t>=vt)throw new b(`invalid-input`,`Attribute values may be nested at most ${vt} levels deep (or the value is cyclic)`);if(e instanceof Date)return Number.isNaN(e.getTime())?`Invalid Date`:e.toISOString();if(Array.isArray(e))return e.map(e=>$e(e,t+1,n)??null);let r=e.toJSON;if(typeof r==`function`)return $e(r.call(e),t+1,n);let i=c();for(let r of Object.keys(e)){let a=e[r],o=typeof a==`string`||typeof a==`boolean`||typeof a==`number`&&Number.isFinite(a)?a:$e(a,t+1,n);o!==void 0&&l(i,r,o)}return i}function et(e,t,n,r){if(e==null)return;O(e)||Ze(t,n,`attrs`,`an object`);let i=0,a=$e(e,0,()=>i++);if(i>0){let{what:e,ref:a}=Xe(t,n);r.push({code:`invalid-attr`,message:`${e}: ${i} attribute value(s) that are not JSON (function, symbol or undefined) were dropped`,ref:a})}return a}function tt(e){if(!O(e))return;let{x:t,y:n}=e;return typeof t==`number`&&typeof n==`number`&&Number.isFinite(t)&&Number.isFinite(n)?{x:t,y:n}:void 0}function nt(e,t,n){let r=R(e.type,t,`type`),i=R(e.types,t,`types`),a=R(e.aliases,t,`aliases`),o=i.length?[...r,...i]:r,s={id:t,types:o.length?o.map(j):k,aliases:a.length?a.map(j):k,replaces:R(e.replaces,t,`replaces`),replacedBy:R(e.replacedBy,t,`replacedBy`),implicit:e.implicit===!0},c=Qe(e.label,t,void 0,`label`);c&&(s.label=j(c));let l=et(e.attrs,t,void 0,n);l&&(s.attrs=l),e.deprecated!==void 0&&e.deprecated!==null&&(typeof e.deprecated!=`boolean`&&Ze(t,void 0,`deprecated`,`a boolean`),s.deprecated=e.deprecated);let u=tt(e.position);return u&&(s.position=u),s}function rt(e,t){return e===void 0?t:t===void 0?e:_(t)>_(e)?t:e}function it(e,t){if(!e||!t)return e??t;let n=c();for(let r of new Set([...Object.keys(e),...Object.keys(t)])){let i=rt(u(e,r),u(t,r));i!==void 0&&l(n,r,i)}return n}function at(e,t){let n=rt(e.label,t.label);n!==void 0&&(e.label=n);let r=rt(e.deprecated,t.deprecated);r!==void 0&&(e.deprecated=r);let i=rt(e.position,t.position);i&&(e.position=i);let a=it(e.attrs,t.attrs);a&&(e.attrs=a),e.types=[...e.types,...t.types],e.aliases=[...e.aliases,...t.aliases],e.replaces=[...e.replaces,...t.replaces],e.replacedBy=[...e.replacedBy,...t.replacedBy],e.implicit=e.implicit&&t.implicit}function ot(e){let t=e.label??e.id,n=C(e.aliases),r=n.indexOf(t);r>=0&&n.splice(r,1);let i={id:e.id,label:t,types:e.types.length?C(e.types):k,aliases:n.length?n:k,attrs:e.attrs??gt,deprecated:e.deprecated??!1,replaces:e.replaces.length?C(e.replaces):k,replacedBy:e.replacedBy.length?C(e.replacedBy):k,implicit:e.implicit};return e.position&&(i.position=e.position),i}function st(e){return _([e.label,e.attrs])}function ct(e,t){return t.id===void 0?{key:e,source:t.source,target:t.target,predicate:t.predicate,label:t.label,attrs:t.attrs}:{key:e,id:t.id,source:t.source,target:t.target,predicate:t.predicate,label:t.label,attrs:t.attrs}}function lt(e){return typeof e==`object`&&!!e&&e.nodes instanceof Map&&e.edges instanceof Map}function ut(e,t={}){O(e)&&Je(e),O(e)&&Array.isArray(e.nodes)||L(`normalize expects a graph of the form { nodes: [...], edges: [...] }`),e.edges!==void 0&&e.edges!==null&&!Array.isArray(e.edges)&&L(`graph.edges must be an array`);let n=He(t.edgeIdentity),i=t.danglingEdges??`create`;_t.has(i)||L(`danglingEdges must be 'create', 'drop' or 'error' (got ${String(i)})`);let a=[],o=new Map;for(let t of e.nodes){O(t)||L(`graph.nodes must contain objects`);let e=Ye(t.id);if(e===void 0){a.push({code:`empty-id`,message:`Dropped a node without an id`});continue}let n=nt(t,e,a),r=o.get(e);r?(at(r,n),a.push({code:`duplicate-node`,message:`Node "${e}" is declared more than once; the declarations were merged`,ref:e})):o.set(e,n)}let s=new Map,c=[];for(let t of e.edges??[]){O(t)||L(`graph.edges must contain objects`);let e=t,n=Ye(e.source),r=Ye(e.target);if(n===void 0||r===void 0){a.push({code:`empty-id`,message:`Dropped an edge with an empty endpoint`});continue}let l=Qe(e.predicate,n,r,`predicate`)??``,u=Qe(e.label,n,r,`label`),d=u===void 0?void 0:j(u);if(d===void 0&&(d=s.get(l),d===void 0&&(d=he(l),s.set(l,d))),(!o.has(n)||!o.has(r))&&(pt(n,l,r,i,o,a),i===`drop`))continue;let f=Ye(e.id),p=et(e.attrs,n,r,a)??gt;c.push(f===void 0?{key:``,source:n,target:r,predicate:l,label:d,attrs:p}:{key:``,id:f,source:n,target:r,predicate:l,label:d,attrs:p})}let l=new Map;for(let[e,t]of o)l.set(e,ot(t));let u=[],d=new Map,f=new Map;for(let e of c){let t=n===`id`&&e.id!==void 0,i=t?e.id:r(e.source,e.predicate,e.target),a=t?d:f,o=a.get(i);if(o)o.more?o.more.push(e):o.more=[e];else{let n={base:i,idKeyed:t,first:e};a.set(i,n),u.push(n)}}let p=n===`id`?new Set:void 0,m=e=>{if(!p)return e;let t=e;for(let n=2;p.has(t);n++)t=`${e}#${n}`;return p.add(t),t};for(let e of[!0,!1])for(let t of u){if(t.idKeyed!==e)continue;let{base:n,first:r,more:i}=t;if(!i){r.key=m(n),t.edge=r;continue}let o=[],s=(e,t)=>{o.push(ct(m(e),t))};e?(s(n,mt([r,...i])),a.push({code:`duplicate-edge`,message:`Edge id "${n}" is used ${i.length+1} times; the declarations were merged`,ref:n})):ht(n,[r,...i],s,a),t.edges=o}let h=new Map;for(let e of u)if(e.edge)h.set(e.edge.key,e.edge);else for(let t of e.edges??[])h.set(t.key,t);return a.sort((e,t)=>S(e.code,t.code)||S(e.ref??``,t.ref??``)||S(e.message,t.message)),ft(e.meta,l,h,n,a)}function dt(e,t){let n=new Map,r=new Map;for(let i of e.values()){if(t&&!(t.has(i.source)&&t.has(i.target)))return;D(n,i.source,i.key),D(r,i.target,i.key)}return{outgoing:n,incoming:r}}function ft(e,t,n,r,i,{outgoing:a,incoming:o}=dt(n)){for(let e of t.keys())a.has(e)||a.set(e,k),o.has(e)||o.set(e,k);return{meta:O(e)?{...e}:{},nodes:t,edges:n,outgoing:a,incoming:o,edgeIdentity:r,issues:i}}function pt(e,t,n,i,a,o){for(let s of e===n?[e]:[e,n])if(!a.has(s)){if(i===`error`)throw new b(`dangling-edge`,`Edge ${r(e,t,n)} points to the missing node "${s}"`,{source:e,predicate:t,target:n,missing:s});i===`create`&&a.set(s,{id:s,types:[],aliases:[],replaces:[],replacedBy:[],implicit:!0}),o.push({code:`dangling-edge`,message:i===`create`?`Edge endpoint "${s}" is not declared; an implicit node was created`:`Dropped an edge whose endpoint "${s}" is not declared`,ref:s})}}function mt(e){let t=e=>_([e.source,e.predicate,e.target,e.label]),n=e[0],r=n.attrs;for(let i=1;i<e.length;i++){let a=e[i];t(a)>t(n)&&(n=a),r=it(r,a.attrs)}return{...n,attrs:r??gt}}function ht(e,t,n,r){let i=new Map,a=0;for(let e of t){let t=st(e),n=i.get(t);n?(a++,e.id!==void 0&&(n.id===void 0||e.id<n.id)&&i.set(t,e)):i.set(t,e)}let o=[...i].map(([e,t])=>({draft:t,content:e})).sort((e,t)=>S(e.content,t.content));o.forEach(({draft:t},r)=>{n(r===0?e:`${e}#${r+1}`,t)}),a>0&&r.push({code:`duplicate-edge`,message:`Edge ${e} is declared ${a+1} times with identical content; the copies were collapsed`,ref:e}),o.length>1&&r.push({code:`duplicate-edge`,message:`Edge ${e} has ${o.length} parallel copies; they are keyed #2, #3…`,ref:e})}var gt,_t,vt,yt=t((()=>{y(),x(),qe(),P(),A(),gt=Object.freeze({}),_t=new Set([`create`,`drop`,`error`]),vt=1e3}));function bt(e){let{name:t,version:n}=e.meta;return{...typeof t==`string`?{name:t}:{},...typeof n==`string`?{version:n}:{},hash:Ie(e),nodes:e.nodes.size,edges:e.edges.size}}function xt(e,t){return t===`id`&&e.id!==void 0?e.id:r(e.source,e.predicate??``,e.target)}function St(e,t){let{source:n,target:r,predicate:i}=e,a=t===`id`&&e.id!==void 0?{id:e.id,source:n,target:r}:{source:n,target:r};return i!==``&&(a.predicate=i),a}function Ct(e,t){return e[t]}function wt(e,t){return typeof e==`object`&&typeof t==`object`?T(e,t):e===t}function Tt(e,t,n){let r=e.options.edgeIdentity,i=e.unionOfBefore,a=new Map;for(let e of t)a.set(e.id,e);let o=new Set(e.renamed.values()),s=new kt(t=>e.before.nodes.has(t),t=>e.after.nodes.has(t)||o.has(t)||e.before.nodes.has(t)),c=new Map,l=new Map;for(let[t,n]of e.renamed)(a.get(n)?.hunk===void 0?c:l).set(t,n);for(let e of[...c.values()].sort()){let t=l.get(e);if(t===void 0)continue;let n=s.temporary(e);s.move(e,n),l.delete(e),l.set(n,t)}s.run(c);let u=s.plan.length;s.run(l);let d=[],f=new Map;s.plan.forEach(([e,t],n)=>{let r=f.get(e)??i(e);f.set(t,r);let o=n<u?void 0:a.get(r)?.hunk;d.push({op:{op:`node.rekey`,from:e,to:t},hunk:o})});let p=e=>e.status===`modified`&&!e.inPlace,m=e=>e.map(e=>({...e,key:`${xt(e.edge,r)}\u0000${JSON.stringify(e.edge)}`})).sort((e,t)=>S(e.key,t.key)).map(({op:e,hunk:t})=>({op:e,hunk:t})),h=[];for(let e of n){if(!e.before||!(e.status===`removed`||p(e)))continue;let t=Ne(e.before,i(e.before.source),i(e.before.target));h.push({op:{op:`edge.remove`,edge:t},edge:t,hunk:e.hunk})}for(let e of m(h))d.push(e);for(let e of t)e.status===`removed`&&e.before&&d.push({op:{op:`node.remove`,node:Me(e.before,e.id)},hunk:e.hunk});let g=[];for(let e of t)if(e.status===`modified`&&e.before&&e.after){for(let t of Ot){let n=Ct(e.before,t),r=Ct(e.after,t);wt(n,r)||d.push({op:{op:`node.set`,id:e.id,field:t,from:n,to:r},hunk:e.hunk})}for(let t of e.facets)if(t.kind===`attrs`)for(let n of t.changes){let t={op:`node.attr`,id:e.id,key:n.key,...n.before===void 0?{}:{from:n.before},...n.after===void 0?{}:{to:n.after}};g.push({op:t,hunk:e.hunk})}}for(let e of g)d.push(e);for(let e of t)e.status===`added`&&e.after&&d.push({op:{op:`node.add`,node:Me(e.after)},hunk:e.hunk});let _=[];for(let e of n){if(!e.after||!(e.status===`added`||p(e)))continue;let t=Ne(e.after);_.push({op:{op:`edge.add`,edge:t},edge:t,hunk:e.hunk})}for(let e of m(_))d.push(e);let v=n.filter(e=>e.status===`modified`&&e.inPlace&&e.before&&e.after).map(e=>({e,locator:St(e.after,r)})).map(e=>({...e,key:xt(e.locator,r)})).sort((e,t)=>S(e.key,t.key));for(let{e,locator:t}of v){let n=e.before,r=e.after;n.label!==r.label&&d.push({op:{op:`edge.set`,edge:t,field:`label`,from:n.label,to:r.label},hunk:e.hunk})}for(let{e,locator:t}of v)for(let n of e.facets)if(n.kind===`attrs`)for(let r of n.changes){let n={op:`edge.attr`,edge:t,key:r.key,...r.before===void 0?{}:{from:r.before},...r.after===void 0?{}:{to:r.after}};d.push({op:n,hunk:e.hunk})}return{delta:{format:`kgdiff.delta`,version:1,edgeIdentity:r,base:bt(e.before),target:bt(e.after),ops:d.map(e=>e.op)},opHunks:d.map(e=>e.hunk)}}function Et(e){return{id:e.id,label:e.label,types:e.types,aliases:e.aliases,attrs:e.attrs,deprecated:e.deprecated,replaces:e.replaces,replacedBy:e.replacedBy,implicit:e.implicit,...e.position?{position:e.position}:{}}}function Dt(e,t){return e.edgeIdentity===t?e:ut({meta:e.meta,nodes:[...e.nodes.values()].map(Et),edges:[...e.edges.values()]},{edgeIdentity:t})}var Ot,kt,At=t((()=>{y(),Re(),yt(),A(),Ot=[`label`,`types`,`aliases`,`deprecated`,`replaces`,`replacedBy`],kt=class{occupiedAtStart;reserved;plan=[];vacated=new Set;filled=new Set;constructor(e,t){this.occupiedAtStart=e,this.reserved=t}occupied(e){return this.filled.has(e)||this.occupiedAtStart(e)&&!this.vacated.has(e)}temporary(e){let t=`${e}@tmp`;for(;this.occupied(t)||this.reserved(t);)t+=`@tmp`;return t}move(e,t){this.plan.push([e,t]),this.vacated.add(e),this.filled.delete(e),this.filled.add(t)}run(e){let t=new Map,n=[];for(let r of[...e.keys()].sort()){let i=e.get(r);this.occupied(i)?t.set(i,[r,i]):n.push([r,i])}let r=e=>{let r=t.get(e);r&&(t.delete(e),n.push(r))};for(;;){for(;n.length;){let[e,t]=n.shift();this.move(e,t),r(e)}if(t.size===0)return;let e;for(let n of t.values())(!e||n[0]<e[0])&&(e=n);let[i,a]=e,o=this.temporary(i);this.move(i,o),t.set(a,[o,a]),r(i)}}}}));function jt(e,t){return`${e}\u0000${t}`}var Mt,z=t((()=>{Mt=[`rekey`,`rename`,`mergedInto`,`mergeTarget`,`splitFrom`,`splitInto`,`move`,`deprecate`,`replacement`,`types`,`aliases`,`attrs`,`retarget`,`predicate`,`label`,`collapsed`]}));function Nt(e,t,n){let r=new Map,i=[],a=new Set;for(let o of e.nodes.keys()){let e=n.get(o);e===void 0?t.nodes.has(o)?i.push(o):a.add(o):e!==o&&r.set(o,e)}i.sort();for(let e of i){let n=`${e}@before`;for(;t.nodes.has(n)||a.has(n);)n+=`@before`;a.add(n),r.set(e,n)}return r}function Pt(e,t,n){if(e===t||f(e,t,n))return[];let r=new Set([...p(e),...p(t)]),i=[];for(let a of[...r].sort()){if(n.has(a))continue;let r=u(e,a),o=u(t,a);s(r,o)||(r===void 0?i.push({key:a,after:h(o)}):o===void 0?i.push({key:a,before:h(r)}):i.push({key:a,before:h(r),after:h(o)}))}return i}function Ft(e,t){let n=new Map;for(let r of e.merges)for(let e of r.sources)n.set(t(e.id),r.target);let r=new Map,i=new Map;for(let n of e.splits){let e=t(n.source);r.set(e,n.targets.map(e=>e.id));for(let t of n.targets)i.set(t.id,e)}return{mergeTargetOf:n,splitTargetsOf:r,splitSourceOf:i}}function It(e,t,n){let r=new Map;if(t.size===0)return r;for(let i of e.edges.values())t.has(i.predicate)&&E(E(r,i.source,()=>new Map),i.predicate,()=>new Set).add(n(i.target));return r}function Lt(e,t,n){if(!e&&!t)return[];let r=new Set([...e?.keys()??[],...t?.keys()??[]]),i=[];for(let a of[...r].sort()){let r=e?.get(a)??new Set,o=t?.get(a)??new Set,s=new Set([...r].map(e=>n.mergeTargetOf.get(e)??e)),c=new Set([...o].map(e=>n.splitSourceOf.get(e)??e)),l=[...r].filter(e=>!c.has(n.mergeTargetOf.get(e)??e)),u=[...o].filter(e=>!s.has(n.splitSourceOf.get(e)??e));(l.length||u.length)&&i.push({kind:`move`,predicate:a,from:l.sort(),to:u.sort()})}return i}function Rt(e,t,n){if(T(t,n))return[];let{added:r,removed:i}=te(t,n);return[{kind:e,added:r,removed:i}]}function zt(e,t,n,r,i){let a=e.restructuring,o=[];t.id!==n.id&&e.options.match.strategy!==`similarity`&&o.push({kind:`rekey`,from:t.id,to:n.id,score:e.inferred.get(t.id)?.score??1}),t.label!==n.label&&o.push({kind:`rename`,from:t.label,to:n.label});let s=a.mergeBySource.get(t.id);s&&o.push(Bt(t.id,s));let c=a.mergeByTarget.get(n.id);c&&o.push({kind:`mergeTarget`,sources:c.sources.map(t=>e.unionOfBefore(t.id)).sort()});let l=a.splitBySource.get(t.id);l&&o.push({kind:`splitInto`,targets:l.targets.map(e=>e.id)});let u=Lt(i.before.get(t.id),i.after.get(n.id),r),d=!t.deprecated&&n.deprecated||!!s||!!l;o.push(...d?u.filter(e=>e.to.length>0):u),t.deprecated!==n.deprecated&&o.push({kind:`deprecate`,deprecated:n.deprecated}),T(t.replaces,n.replaces)&&T(t.replacedBy,n.replacedBy)||o.push({kind:`replacement`,replaces:te(t.replaces,n.replaces),replacedBy:te(t.replacedBy,n.replacedBy)}),o.push(...Rt(`types`,t.types,n.types)),o.push(...Rt(`aliases`,t.aliases,n.aliases));let f=Pt(t.attrs,n.attrs,e.ignoreAttrs);return f.length&&o.push({kind:`attrs`,changes:f}),o}function Bt(e,t){let n=t.sources.find(t=>t.id===e);return{kind:`mergedInto`,target:t.target,confidence:n?.confidence??1,via:n?.via??`hint`}}function Vt(e){let t=e.restructuring,n=Ft(t,e.unionOfBefore),r=new Set,i=[],a={before:It(e.before,e.hierarchy,e.unionOfBefore),after:It(e.after,e.hierarchy,e=>e)};for(let o of e.after.nodes.values()){let s=e.afterToBefore.get(o.id);if(s===void 0){let n=[],r=t.mergeByTarget.get(o.id);r&&n.push({kind:`mergeTarget`,sources:r.sources.map(t=>e.unionOfBefore(t.id)).sort()});let a=t.splitByTarget.get(o.id);if(a){let t=a.targets.find(e=>e.id===o.id);n.push({kind:`splitFrom`,source:e.unionOfBefore(a.source),confidence:t?.confidence??1,via:t?.via??`hint`})}i.push({id:o.id,afterId:o.id,after:o,status:`added`,facets:n});continue}let c=e.before.nodes.get(s),l=zt(e,c,o,n,a);for(let e of l)e.kind===`move`&&r.add(jt(o.id,e.predicate));i.push({id:o.id,beforeId:s,afterId:o.id,before:c,after:o,status:l.length?`modified`:`unchanged`,facets:l})}for(let n of e.before.nodes.values()){if(e.beforeToAfter.has(n.id))continue;let r=[],a=t.mergeBySource.get(n.id);a&&r.push(Bt(n.id,a));let o=t.splitBySource.get(n.id);o&&r.push({kind:`splitInto`,targets:o.targets.map(e=>e.id)}),i.push({id:e.unionOfBefore(n.id),beforeId:n.id,before:n,status:`removed`,facets:r})}return i.sort((e,t)=>S(e.id,t.id)),{nodes:i,index:{...n,moved:r}}}var Ht=t((()=>{y(),z(),A()}));function B(e){let t;return()=>(t??=e(),t)}function V(e,t){let n=new Map;for(let r of e){let e=t(r);e!==void 0&&n.set(e,r)}return n}function Ut(e,t,n){let r=B(()=>V(e,e=>e.id)),i=B(()=>V(e,e=>e.beforeId)),a=B(()=>V(e,e=>e.afterId)),o=B(()=>V(t,e=>e.id)),s=B(()=>V(n,e=>e.id)),c=B(()=>{let e=new Map;for(let n of t){let t=new Set([n.source,n.target]);n.sourceBefore!==void 0&&t.add(n.sourceBefore),n.targetBefore!==void 0&&t.add(n.targetBefore);for(let r of t){let t=e.get(r);t?t.push(n):e.set(r,[n])}}return e});return{node:e=>r().get(e),edge:e=>o().get(e),hunk:e=>s().get(e),nodeByBefore:e=>i().get(e),nodeByAfter:e=>a().get(e),edgesOf:e=>c().get(e)??Wt}}var Wt,Gt=t((()=>{Wt=Object.freeze([])}));function Kt(e){return _([e.label,e.attrs])}function qt(e,t){let{before:n,after:o}=e,s=e.options.edgeIdentity,c=e.unionOfBefore,l=e=>s===`structure`||e.id===void 0,u=[],d=new Set(o.edges.keys()),f=e=>s===`id`||e.issues.some(e=>e.code===`duplicate-edge`),p=new Set;if(f(n)||f(o)){for(let e of n.edges.values())if(l(e)&&i(e.key)){let t=a(e.key).base,n=c(e.source),i=c(e.target);p.add(n===e.source&&i===e.target?t:r(n,e.predicate,i))}for(let e of o.edges.values())l(e)&&i(e.key)&&p.add(a(e.key).base)}let m=(n,r,i,a)=>{if(t.mergeTargetOf.get(r)===i)return`merge`;if(t.splitTargetsOf.get(r)?.includes(i))return`split`;if(e.hierarchy.has(a.predicate)){let e=n===`target`?a.source:i;if(t.moved.has(jt(e,a.predicate))||t.moved.has(jt(r,a.predicate)))return`move`}return`edit`},h=(t,n,r,i)=>{d.delete(n.key);let a=t.edge,o=t.source!==n.source,s=t.target!==n.target,c=a.predicate!==n.predicate,l=[];if(o){let e=i??m(`source`,t.source,n.source,n);l.push({kind:`retarget`,end:`source`,from:t.source,to:n.source,cause:e})}if(s){let e=i??m(`target`,t.target,n.target,n);l.push({kind:`retarget`,end:`target`,from:t.target,to:n.target,cause:e})}c&&l.push({kind:`predicate`,from:a.predicate,to:n.predicate});let f=c&&a.label===he(a.predicate)&&n.label===he(n.predicate);a.label!==n.label&&!f&&l.push({kind:`label`,from:a.label,to:n.label});let p=Pt(a.attrs,n.attrs,e.ignoreAttrs);p.length&&l.push({kind:`attrs`,changes:p});let h={id:n.key,source:n.source,target:n.target,predicate:n.predicate,label:n.label,beforeKey:a.key,afterKey:n.key,before:a,after:n,status:l.length?`modified`:`unchanged`,facets:l,hierarchical:e.hierarchy.has(n.predicate),inPlace:r&&!o&&!s&&!c};o&&(h.sourceBefore=t.source),s&&(h.targetBefore=t.target),c&&(h.predicateBefore=a.predicate),u.push(h)},g=[],_=new Map,v=e=>E(_,e,()=>({before:[],after:[]}));for(let e of n.edges.values()){let t=c(e.source),n=c(e.target),i=l(e),s=e.key;if(i&&(t!==e.source||n!==e.target)&&(s=r(t,e.predicate,n)+a(e.key).suffix),!i){let r=o.edges.get(s),i={edge:e,source:t,target:n,key:s};r&&r.id===e.id&&!l(r)?h(i,r,!0):g.push(i);continue}if(p.size){let{base:r}=a(s);if(p.has(r)){v(r).before.push({edge:e,source:t,target:n,key:s});continue}}let u=o.edges.get(s);u&&l(u)&&u.source===t&&u.target===n&&u.predicate===e.predicate?h({edge:e,source:t,target:n,key:s},u,!0):g.push({edge:e,source:t,target:n,key:s})}if(_.size>0){for(let e of o.edges.values()){if(!l(e))continue;let{base:t}=a(e.key);p.has(t)&&_.has(t)&&v(t).after.push(e)}for(let e of[..._.keys()].sort()){let t=_.get(e),n=t.after.sort((e,t)=>S(e.key,t.key)),r=new Map;for(let e of n)D(r,Kt(e),e);let i=new Set,a=[];for(let e of t.before.sort((e,t)=>S(e.key,t.key))){let t=r.get(Kt(e.edge))?.pop();t?(i.add(t),h(e,t,!1)):a.push(e)}let o=0;for(let e of a){for(;o<n.length&&i.has(n[o]);)o++;let t=n[o++];t?h(e,t,!1):g.push(e)}}}let y=()=>{let e=new Map;for(let t of o.edges.values())D(e,r(t.source,t.predicate,t.target),t);for(let t of e.values())t.sort((e,t)=>S(e.key,t.key));return e};g.sort((e,t)=>S(e.key,t.key));let b=new Map;if(g.length&&(t.mergeTargetOf.size||t.splitTargetsOf.size)){let e=y(),n=[];for(let i of g){let a=i.edge.predicate,o=t.mergeTargetOf.get(i.source)??i.source,s=t.mergeTargetOf.get(i.target)??i.target;if(o!==i.source||s!==i.target){let t=e.get(r(o,a,s))??[],c=t.find(e=>d.has(e.key));c?h(i,c,!1,`merge`):t[0]?b.set(i,t[0].key):n.push(i);continue}let c=[i.source,...t.splitTargetsOf.get(i.source)??[]],l=[i.target,...t.splitTargetsOf.get(i.target)??[]],u;for(let t of c)for(let n of l)u||t===i.source&&n===i.target||(u=e.get(r(t,a,n))?.find(e=>d.has(e.key)));u?h(i,u,!1,`split`):n.push(i)}g=n}let x=(e,t,n)=>{if(g.length===0||d.size===0)return;let r=new Map;for(let t of g)D(r,e(t),t);let i=new Map;for(let e of d){let n=o.edges.get(e),a=t(n);r.has(a)&&D(i,a,n)}let a=new Set;for(let e of[...r.keys()].sort()){let t=r.get(e),o=i.get(e);if(t.length!==1||o?.length!==1)continue;let s=t[0],c=o[0];n(s,c)&&(h(s,c,!1),a.add(s))}a.size&&(g=g.filter(e=>!a.has(e)))},C=(e,t)=>`${e.length}:${e}${t}`;x(e=>C(e.source,e.target),e=>C(e.source,e.target),(e,t)=>e.edge.predicate!==t.predicate),x(e=>C(e.source,e.edge.predicate),e=>C(e.source,e.predicate),(e,t)=>e.target!==t.target);let w=t=>e.afterToBefore.has(t);x(e=>C(e.target,e.edge.predicate),e=>C(e.target,e.predicate),(e,t)=>e.source!==t.source&&w(e.source)&&w(t.source));for(let t of d){let n=o.edges.get(t);u.push(Yt(n.key,n.source,n.target,n,`after`,[],e.hierarchy.has(n.predicate)))}let ee=[...g,...b.keys()].sort((e,t)=>S(e.key,t.key)),T=new Set;for(let t of ee){let n=Jt(t,l(t.edge),e=>o.edges.has(e)||T.has(e));T.add(n);let r=b.get(t),i=r===void 0?[]:[{kind:`collapsed`,into:r}];u.push(Yt(n,t.source,t.target,t.edge,`before`,i,e.hierarchy.has(t.edge.predicate)))}return u.sort((e,t)=>S(e.id,t.id))}function Jt(e,t,n){if(!n(e.key))return e.key;if(!t){let t=`${e.key}@before`;for(;n(t);)t+=`@before`;return t}let{base:r}=a(e.key),i=2;for(;n(`${r}#${i}`);)i++;return`${r}#${i}`}function Yt(e,t,n,r,i,a,o){return i===`after`?{id:e,source:t,target:n,predicate:r.predicate,label:r.label,afterKey:r.key,after:r,status:`added`,facets:a,hierarchical:o,inPlace:!1}:{id:e,source:t,target:n,predicate:r.predicate,label:r.label,beforeKey:r.key,before:r,status:`removed`,facets:a,hierarchical:o,inPlace:!1}}var Xt=t((()=>{y(),Ht(),z(),P(),A()}));function Zt(e){let t=[e.source];return e.target!==e.source&&t.push(e.target),e.sourceBefore!==void 0&&!t.includes(e.sourceBefore)&&t.push(e.sourceBefore),e.targetBefore!==void 0&&!t.includes(e.targetBefore)&&t.push(e.targetBefore),t}function Qt(e,t){let n=[],r=(e,t,r)=>{for(let i of e.outgoing.get(t)??[]){let t=e.edges.get(i);t&&n.push(r(t.target))}for(let i of e.incoming.get(t)??[]){let t=e.edges.get(i);t&&n.push(r(t.source))}};return t.beforeId!==void 0&&r(e.before,t.beforeId,e.unionOfBefore),t.afterId!==void 0&&r(e.after,t.afterId,e=>e),n}function $t(e,t,n){let r=new Map;for(let e of t)r.set(e.id,e);let i=new Map,a=new Map;for(let e of n)if(e.status!==`unchanged`){i.set(e.id,e);for(let t of Zt(e))D(a,t,e)}let o=[],s=new Map,c=new Map,l=(e,t)=>{let n={id:``,kind:e,anchor:t,nodes:[],edges:[]};return o.push(n),n},u=(e,t)=>{let n=r.get(t);n&&n.status!==`unchanged`&&!s.has(t)&&(s.set(t,e),e.nodes.push(t))},d=(e,t)=>{c.has(t.id)||(c.set(t.id,e),e.edges.push(t.id))},f=(e,t,n)=>{for(let r of a.get(t)??[])(!n||n(r))&&d(e,r)};for(let t of e.restructuring.merges){let n=l(`merge`,t.target),i=t.sources.map(t=>e.unionOfBefore(t.id));u(n,t.target);for(let e of i)u(n,e);for(let e of i)f(n,e);r.get(t.target)?.status===`added`&&f(n,t.target)}for(let t of e.restructuring.splits){let n=e.unionOfBefore(t.source),r=s.get(n)??l(`split`,n);u(r,n);for(let e of t.targets)u(r,e.id);for(let e of t.targets)f(r,e.id);f(r,n)}for(let n of[`added`,`removed`]){let r=t.filter(e=>e.status===n&&!s.has(e.id));if(r.length===0)continue;let a=new Set(r.map(e=>e.id)),o=new an;for(let e of i.values())e.status===n&&a.has(e.source)&&a.has(e.target)&&o.union(e.source,e.target);let c=new Map;for(let e of r)D(c,o.find(e.id),e);let d=n===`added`?e.after:e.before;for(let e of[...c.keys()].sort()){let t=c.get(e),r=t[0],i=-1;for(let e of t){let t=ne(d,n===`added`?e.afterId:e.beforeId);(t>i||t===i&&e.id<r.id)&&(i=t,r=e)}let a=l(n===`added`?`add`:`remove`,r.id);for(let e of t)u(a,e.id);for(let e of t)f(a,e.id,e=>e.status===n)}}for(let e of t){if(e.status!==`modified`||s.has(e.id))continue;let t=l(`modify`,e.id);u(t,e.id),f(t,e.id,t=>t.source===e.id)}let p=new Map;for(let e of i.values())c.has(e.id)||D(p,e.source,e);for(let e of[...p.keys()].sort()){let t=l(`relations`,e);for(let n of p.get(e))d(t,n)}let m=new Map,h=o.filter(e=>e.nodes.length+e.edges.length>0);for(let e of h){let t=`${e.kind}:${e.anchor}`,n=(m.get(t)??0)+1;m.set(t,n),e.id=n===1?t:`${t}#${n}`}for(let e of h){for(let t of e.nodes)r.get(t).hunk=e.id;for(let t of e.edges)i.get(t).hunk=e.id}return h.map(t=>{let n=t.nodes.slice().sort(S),a=n.indexOf(t.anchor);a>0&&n.unshift(...n.splice(a,1));let o=t.edges.slice().sort(S);return{id:t.id,kind:t.kind,phase:en(t,r),anchor:t.anchor,nodes:n,edges:o,context:tn(e,t,r,i),summary:nn(t,r,i)}})}function en(e,t){switch(e.kind){case`remove`:return`remove`;case`add`:return`add`;case`merge`:case`split`:case`relations`:return`restructure`;case`modify`:{let n=e.nodes.flatMap(e=>t.get(e)?.facets??[]);return n.length>0&&n.every(e=>e.kind===`move`)?`restructure`:`modify`}default:return e.kind}}function tn(e,t,n,r){let i=new Set;for(let e of t.edges)for(let t of Zt(r.get(e)))i.add(t);for(let e of t.nodes)for(let t of n.get(e)?.facets??[])if(t.kind===`move`){for(let e of t.from)i.add(e);for(let e of t.to)i.add(e)}if(t.kind===`merge`||t.kind===`split`){let r=n.get(t.anchor);if(r)for(let t of Qt(e,r))i.add(t)}for(let e of t.nodes)i.delete(e);return[...i].sort()}function nn(e,t,n){return rn(e.nodes.map(e=>t.get(e)),e.edges.map(e=>n.get(e)))}function rn(e,t){let n=new Set,r=e=>{let t={added:0,removed:0,modified:0};for(let r of e){r.status!==`unchanged`&&t[r.status]++;for(let e of r.facets)n.add(e.kind)}return t};return{nodes:r(e),edges:r(t),facets:Mt.filter(e=>n.has(e))}}var an,on=t((()=>{z(),A(),an=class{parent=new Map;find(e){let t=e;for(let e=this.parent.get(t);e!==void 0&&e!==t;e=this.parent.get(t))t=e;for(let n=e;n!==t;){let e=this.parent.get(n);this.parent.set(n,t),n=e}return t}union(e,t){let n=this.find(e),r=this.find(t);n<r?this.parent.set(r,n):r<n&&this.parent.set(n,r)}}}));function sn(e){return e.aliases.length?[e.label,...e.aliases]:[e.label]}function cn(e,t,n){let r=n.get(e.label),i=n.get(t.label),a=M(r,i);for(let e of t.aliases){if(a===1)return 1;a=Math.max(a,M(r,n.get(e)))}for(let t of e.aliases){if(a===1)return 1;a=Math.max(a,M(i,n.get(t)))}return a}function ln(e,t){if(e.length===0&&t.length===0)return;let n=new Set(t),r=0;for(let t of e)n.has(t)&&r++;return r/(e.length+t.length-r)}function un(e,t,n){if(e.attrs===t.attrs&&n.size===0)return m(e.attrs)?void 0:1;let r=0,i=0;for(let a of p(e.attrs))n.has(a)||(r++,s(e.attrs[a],u(t.attrs,a))&&i++);for(let i of p(t.attrs))!n.has(i)&&u(e.attrs,i)===void 0&&r++;return r===0?void 0:i/r}function dn(e,t,n,r){let i=H.label*e,a=H.label;t!==void 0&&(i+=H.neighbors*t,a+=H.neighbors),n!==void 0&&(i+=H.types*n,a+=H.types),r!==void 0&&(i+=H.attrs*r,a+=H.attrs);let o=i/a;return w(e<U?Math.min(o,U):o)}function fn(e,t,n,r){return{label:w(e),neighbors:w(t??0),types:w(n??0),attrs:w(r??0)}}function pn(e,t){let n=(e.outgoing.get(t)?.length??0)+(e.incoming.get(t)?.length??0);return 1/Math.log2(2+n)}function mn(e,t,n,r){let i=new Map,a=(t,a)=>{if(t)for(let o of t){let t=e.edges.get(o);if(!t)continue;let s=n(a?t.target:t.source);if(s===void 0)continue;let c=`${a?`>`:`<`}${t.predicate}\u0000${s}`;i.set(c,(i.get(c)??0)+pn(r,s))}};if(a(e.outgoing.get(t),!0),a(e.incoming.get(t),!1),i.size===0)return Dn;let o=[...i.keys()].sort();return{keys:o,weights:o.map(e=>i.get(e))}}function hn(e,t){if(e.keys.length===0&&t.keys.length===0)return;let n=0,r=0,i=0,a=0;for(;i<e.keys.length||a<t.keys.length;){let o=e.keys[i],s=t.keys[a];if(s===void 0||o!==void 0&&o<s)r+=e.weights[i],i++;else if(o===void 0||s<o)r+=t.weights[a],a++;else{let o=e.weights[i],s=t.weights[a];n+=Math.min(o,s),r+=Math.max(o,s),i++,a++}}return r===0?void 0:n/r}function gn(e,t){for(let n of e.outgoing.get(t)??[]){let r=e.edges.get(n);if(r&&r.target!==t)return!0}for(let n of e.incoming.get(t)??[]){let r=e.edges.get(n);if(r&&r.source!==t)return!0}return!1}function _n(e,t){let n=new Set;for(let r of sn(e))de(t.get(r),n);return n}function vn(e,t,n,r,i,a){let o=new Map,s=new Map;t.forEach((e,t)=>{s.set(e.id,t);for(let n of _n(e,i))D(o,n,t)});let c=Math.max(64,n*8),l=n*3;e.forEach((e,u)=>{let d=[];for(let t of _n(e,i)){let e=o.get(t);e&&d.push({key:t,postings:e})}let f=s.get(e.id);if(d.length===0&&f===void 0)return;d.sort((e,t)=>e.postings.length-t.postings.length||S(e.key,t.key));let p=new Map;f!==void 0&&p.set(f,0);for(let{postings:e}of d){if(e.length>c&&p.size>=l)continue;let t=1/Math.log2(1+e.length),n=Math.min(e.length,c);for(let r=0;r<n;r++){let n=e[r];p.set(n,(p.get(n)??0)+t)}}let m=new Set(e.types),h=[...p].map(([e,n])=>{let r=t[e];return{t:e,weight:n+(m.size>0&&r.types.some(e=>m.has(e))?.001:0)}}),g=n=>t[n].id===e.id?0:1;h.sort((e,t)=>g(e.t)-g(t.t)||t.weight-e.weight||e.t-t.t);let _=h.slice(0,l).map(({t:n})=>({t:n,label:cn(e,t[n],i)})).filter(({label:e})=>!r||e>=U);_.sort((e,t)=>t.label-e.label||g(e.t)-g(t.t)||e.t-t.t);for(let{t:e,label:t}of _.slice(0,n))a(u,e,t)})}function yn(e,t,n,r,i){let a=new Map,o=(n,r,i)=>{let o=n*t.length+r;if(a.has(o))return;let s=e[n].id===t[r].id;a.set(o,{r:n,a:r,sameId:s,label:i,score:0,neighbors:void 0,types:void 0,attrs:void 0})};return vn(e,t,n,r,i,(e,t,n)=>o(e,t,n)),vn(t,e,n,r,i,(e,t,n)=>o(t,e,n)),[...a.values()].sort((e,t)=>e.r-t.r||e.a-t.a)}function bn(e,t){return!(t.score-e.score>=.049999999||t.score===1&&e.score<1||e.score===t.score&&t.sameId&&!e.sameId)}function xn(e,t,n){for(let r of t)if(r!==e&&n(r)){if(e.score-r.score>=.049999999)return!1;if(bn(r,e))return!0}return!1}function Sn(e,t,n,r,i){let a=new Map,o=new Map,s=(e,t)=>{e!==t&&(E(a,e,()=>new Set).add(t),E(o,t,()=>new Set).add(e))};for(let n of e.nodes.values())for(let e of n.replacedBy)t.nodes.has(e)&&s(n.id,e);for(let n of t.nodes.values())for(let t of n.replaces)e.nodes.has(t)&&s(t,n.id);for(let s of[...a.keys()].sort()){let c=a.get(s);if(c.size!==1||t.nodes.has(s)||n.has(s))continue;let l=c.values().next().value;o.get(l)?.size!==1||e.nodes.has(l)||r.has(l)||(n.set(s,l),r.set(l,s),i.set(s,{before:s,after:l,method:`hint`,score:1}))}}function Cn(e,t,n,r,i=new Te){let a=new Map,o=new Map,s=new Map;if(n.strategy!==`similarity`)for(let n of e.nodes.keys())t.nodes.has(n)&&(a.set(n,n),o.set(n,n));Sn(e,t,a,o,s);let c={beforeToAfter:a,afterToBefore:o,inferred:s,suggestions:[]};if(n.strategy===`id`)return c;let l=[...e.nodes.values()].filter(e=>!a.has(e.id)).sort((e,t)=>S(e.id,t.id)),u=[...t.nodes.values()].filter(e=>!o.has(e.id)).sort((e,t)=>S(e.id,t.id));if(l.length===0||u.length===0)return c;let d=Math.min(n.threshold,n.suggestThreshold)>U,f=yn(l,u,n.maxCandidates,d,i);if(f.length===0)return c;let p=Array(l.length).fill(!1),m=Array(u.length).fill(!1),h=e=>!p[e.r]&&!m[e.a],g=n=>{let i=e=>a.get(e),s=e=>o.has(e)?e:void 0,c=new Map,d=new Map,f=a.size>0;for(let a of n){let n=l[a.r],o=u[a.a],p;f&&(p=hn(E(c,a.r,()=>mn(e,n.id,i,t)),E(d,a.a,()=>mn(t,o.id,s,t)))),a.neighbors=p,a.types=ln(n.types,o.types),a.attrs=un(n,o,r),a.score=dn(a.label,p,a.types,a.attrs)}},_=(e,t)=>t.score-e.score||Number(t.sameId)-Number(e.sameId)||e.r-t.r||e.a-t.a,v=n=>{if(n.neighbors!==void 0||n.types!==0||(n.attrs??0)>0)return!1;let r=l[n.r],i=u[n.a];return r.types.length===0||i.types.length===0?!1:gn(e,r.id)||gn(t,i.id)},y=(e,t,r,i)=>{let c=0;for(let d of e){if(d.score<n.threshold)break;if(!h(d)||xn(d,t.get(d.r)??[],e=>!m[e.a])||xn(d,r.get(d.a)??[],e=>!p[e.r])||i(d))continue;let e=l[d.r],f=u[d.a];p[d.r]=!0,m[d.a]=!0,a.set(e.id,f.id),o.set(f.id,e.id),s.set(e.id,{before:e.id,after:f.id,method:`similarity`,score:d.score,evidence:fn(d.label,d.neighbors,d.types,d.attrs)}),c++}return c},b=f,x=0;for(let e=0;e<En&&(b=b.filter(h),b.length!==0);e++){g(b),b.sort(_);let t=new Map,n=new Map;for(let e of b)D(t,e.r,e),D(n,e.a,e);let r=0;if(x=y(b,t,n,t=>e===4||!v(t)?!1:(r++,!0)),x===0&&r>0&&(x=y(b,t,n,()=>!1)),x===0)break}return b=b.filter(h),x>0&&g(b),b.sort(_),{...c,suggestions:wn(b,l,u,n)}}function wn(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.score<r.suggestThreshold)break;let e=!a.has(s.r),c=!o.has(s.a);a.add(s.r),o.add(s.a);let l=s.score>=r.threshold;(l||e||c)&&i.push({before:t[s.r].id,after:n[s.a].id,score:s.score,evidence:fn(s.label,s.neighbors,s.types,s.attrs),reason:l?`ambiguous`:`below-threshold`})}return Tn(i)}function Tn(e){return e.sort((e,t)=>S(e.after,t.after)||S(e.before,t.before))}var H,U,En,Dn,On=t((()=>{y(),P(),A(),H={label:.55,neighbors:.25,types:.1,attrs:.1},U=.5,En=5,Dn={keys:[],weights:[]}}));function kn(e,t,n){let r=n.get(e),i=M(r,n.get(t.label));for(let e of t.aliases){if(i===1)break;i=Math.max(i,M(r,n.get(e)))}return i}function An(e,t,n){let r=n.get(e);return t.aliases.some(e=>M(r,n.get(e))===1)}function jn(e,t,n,r,i){let a=r.keysOf(t),o=[],s=new Set;for(let i of[!0,!1])for(let c of(i?e.outgoing:e.incoming).get(t.id)??[]){let l=e.edges.get(c);if(!l)continue;let u=i?l.target:l.source,d=u===t.id?void 0:n.get(u);if(o.push({out:i,predicate:l.predicate,other:d}),d!==void 0)for(let e of r.candidates(i?`<`:`>`,l.predicate,d,a))s.add(e)}return{candidates:s,total:o.length,carried:e=>{let t=0;for(let n of o)n.other!==void 0&&(n.out?i.has(e,n.predicate,n.other):i.has(n.other,n.predicate,e))&&t++;return t}}}function Mn(e,t,n,r,i,a){let o;for(let s of[...t.candidates].sort()){if(!i(s))continue;let c=n.nodes.get(s);if(!c)continue;let l=kn(e.label,c,r);if(a&&l<1&&An(c.label,e,r)&&(l=1),l<Rn)continue;let u=t.carried(s)/t.total;if(u<zn)continue;let d=w(.5*l+.5*u);(!o||d>o.confidence)&&(o={candidate:s,label:l,carry:u,confidence:d})}return o}function Nn(e,t,n,r){let i=e.before.nodes.get(t),a=e.after.nodes.get(n);return{before:t,after:n,score:r.confidence,evidence:fn(r.label,r.carry,ln(i.types,a.types),un(i,a,e.ignoreAttrs)),reason:`below-threshold`}}function Pn(e,t,n,r,i,a){let o={before:e,after:t,b2a:n.beforeToAfter,a2b:n.afterToBefore,profiles:i,ignoreAttrs:a,nameKeys:new Map},s=[],c=r.detectMerges?Fn(o,s):[],l=new Map,u=new Map;for(let e of c){u.set(e.target,e);for(let t of e.sources)l.set(t.id,e)}let d=r.detectSplits?Ln(o,l,u,s):[],f=new Map,p=new Map;for(let e of d){f.set(e.source,e);for(let t of e.targets)p.set(t.id,e)}return{merges:c,splits:d,mergeBySource:l,mergeByTarget:u,splitBySource:f,splitByTarget:p,suggestions:s}}function Fn(e,t){let{before:n,after:r,b2a:i,a2b:a}=e,o=e=>r.nodes.has(e)?e:i.get(e),s=e=>n.nodes.has(e)?e:a.get(e),c=e=>{let t=i.get(e);return t===void 0||(r.nodes.get(t)?.deprecated??!1)},l=(e,t)=>{let r=n.nodes.get(e);if(!r.deprecated||!i.has(e))return!1;if(r.replacedBy.some(e=>o(e)===t))return!0;let s=a.get(t);return s!==void 0&&(n.nodes.get(s)?.replaces.includes(e)??!1)},u=new Map,d=(e,t)=>{e!==void 0&&t!==void 0&&i.get(e)!==t&&c(e)&&!l(e,t)&&E(u,e,()=>new Set).add(t)};for(let e of n.nodes.values())for(let t of e.replacedBy)d(e.id,o(t));for(let e of r.nodes.values()){if(e.replacedBy.length){let t=a.get(e.id);for(let n of e.replacedBy)d(t,o(n))}for(let t of e.replaces)d(s(t),e.id)}let f=new Map;for(let[e,t]of u)for(let n of t)D(f,n,e);let p=e=>a.has(e)||(f.get(e)?.length??0)>=2,m=new Map,h=new Set;for(let e of[...u.keys()].sort()){let t=[...u.get(e)].sort().find(p);t!==void 0&&(D(m,t,{id:e,confidence:1,via:`hint`}),h.add(e))}let g=new Un(r,e.nameKeys),_=new Wn(r),v=[...n.nodes.keys()].filter(e=>!i.has(e)&&!h.has(e)).sort();for(let o of v){let s=n.nodes.get(o),c=jn(n,s,i,g,_);if(c.candidates.size===0)continue;let l=Mn(s,c,r,e.profiles,e=>a.has(e),!1);l&&(l.confidence>=Bn?D(m,l.candidate,{id:o,confidence:l.confidence,via:`heuristic`}):t.push(Nn(e,o,l.candidate,l)))}return In(m,a)}function In(e,t){let n=new Map;for(let[t,r]of e)for(let e of r)n.set(e.id,t);let r=new Map,i=e=>{let i=r.get(e);if(i!==void 0)return i;let a=[],o=new Set,s=e,c=null;for(;s!==void 0;){let e=r.get(s);if(e!==void 0){c=e;break}if(o.has(s))break;o.add(s),a.push(s);let i=t.get(s),l=i===void 0?void 0:n.get(i);if(l===void 0){c=s;break}s=l}for(let e of a)r.set(e,c);return c},a=new Map;for(let n of[...e.keys()].sort()){let r=i(n);if(r!==null)for(let i of e.get(n))t.get(r)!==i.id&&D(a,r,i)}let o=[];for(let e of[...a.keys()].sort()){let n=a.get(e).sort((e,t)=>S(e.id,t.id)),r=t.get(e);r===void 0&&n.length<2||o.push(r===void 0?{target:e,sources:n}:{target:e,survivor:r,sources:n})}return o}function Ln(e,t,n,r){let{before:i,after:a,b2a:o,a2b:s}=e,c=e=>i.nodes.has(e)?e:s.get(e),l=e=>a.nodes.has(e)&&!s.has(e)&&!n.has(e),u=e=>i.nodes.has(e)&&!t.has(e),d=new Map,f=(e,t,n,r)=>{if(e===void 0||!u(e)||!l(t))return;let i=E(d,e,()=>new Map);i.has(t)||i.set(t,{id:t,confidence:n,via:r})};for(let e of a.nodes.values()){for(let t of e.replaces)f(c(t),e.id,1,`hint`);if(e.replacedBy.length){let t=s.get(e.id);for(let n of e.replacedBy)f(t,n,1,`hint`)}}for(let e of i.nodes.values())for(let t of e.replacedBy)f(e.id,t,1,`hint`);let p=new Set;for(let e of d.values())for(let t of e.keys())p.add(t);let m=new Un(i,e.nameKeys),h=new Wn(i),g=[...a.nodes.keys()].filter(e=>l(e)&&!p.has(e)).sort();for(let t of g){let n=a.nodes.get(t),o=jn(a,n,s,m,h);if(o.candidates.size===0)continue;let c=Mn(n,o,i,e.profiles,u,!0);c&&(c.confidence>=Bn?f(c.candidate,t,c.confidence,`heuristic`):r.push(Nn(e,c.candidate,t,c)))}let _=[];for(let e of[...d.keys()].sort()){let t=[...d.get(e).values()].sort((e,t)=>S(e.id,t.id)),n=o.get(e),r=n!==void 0&&!a.nodes.get(n)?.deprecated?n:void 0;t.length+(r===void 0?0:1)<2||_.push(r===void 0?{source:e,targets:t}:{source:e,survivor:r,targets:t})}return _}var Rn,zn,Bn,Vn,Hn,Un,Wn,Gn=t((()=>{y(),On(),P(),A(),Rn=.9,zn=.5,Bn=.75,Vn=32,Hn=32,Un=class{graph;textKeys;members=new Map;names=new Map;constructor(e,t){this.graph=e,this.textKeys=t}keysOf(e){let t=e.aliases.length?[e.label,...e.aliases].join(`\0`):e.label,n=this.textKeys.get(t);return n||(n=fe(e.aliases.length?[e.label,...e.aliases]:[e.label]),this.textKeys.set(t,n)),n}candidates(e,t,n,r){let i=`${e}${t}\u0000${n}`,a=this.membersOf(i,e,t,n);if(a.length<=Vn)return a;let o=this.names.get(i);if(!o){o=new Map;for(let e of a){let t=this.graph.nodes.get(e);if(t)for(let n of this.keysOf(t))D(o,n,e)}this.names.set(i,o)}let s=new Set;for(let e of r){let t=o.get(e);if(t&&t.length<=Hn)for(let e of t)s.add(e)}return[...s]}membersOf(e,t,n,r){let i=this.members.get(e);if(!i){let a=(t===`<`?this.graph.incoming:this.graph.outgoing).get(r)??[],o=new Set;for(let e of a){let r=this.graph.edges.get(e);r?.predicate===n&&o.add(t===`<`?r.source:r.target)}i=[...o],this.members.set(e,i)}return i}},Wn=class{graph;set;constructor(e){this.graph=e}has(e,t,n){let i=r(e,t,n);if(this.graph.edgeIdentity===`structure`)return this.graph.edges.has(i);if(!this.set){this.set=new Set;for(let e of this.graph.edges.values())this.set.add(r(e.source,e.predicate,e.target))}return this.set.has(i)}}}));function Kn(e,t){return t===`id`&&e.id!==void 0?`ei${e.id}`:`et${r(e.source,e.predicate??``,e.target)}`}function qn(e,t){switch(e.op){case`node.rekey`:return{reads:[`n${e.from}`,`n${e.to}`],writes:[`n${e.from}`,`n${e.to}`]};case`node.remove`:return{reads:[`n${e.node.id}`,`i${e.node.id}`],writes:[`n${e.node.id}`]};case`node.add`:return{reads:[`n${e.node.id}`],writes:[`n${e.node.id}`]};case`node.set`:case`node.attr`:return{reads:[`n${e.id}`],writes:[]};case`edge.remove`:{let n=Kn(e.edge,t);return{reads:[`n${e.edge.source}`,`n${e.edge.target}`,n],writes:[n,`i${e.edge.source}`,`i${e.edge.target}`]}}case`edge.add`:{let n=Kn(e.edge,t);return{reads:[`n${e.edge.source}`,`n${e.edge.target}`,n],writes:[n]}}case`edge.set`:case`edge.attr`:return{reads:[`n${e.edge.source}`,`n${e.edge.target}`,Kn(e.edge,t)],writes:[]};default:return e}}function Jn(e,t,n){let r=new Map,i=new Map,a=new Map,o=new Map,s=(e,t)=>{e!==void 0&&t!==void 0&&t!==e&&E(r,e,()=>new Set).add(t)};return e.forEach((e,r)=>{let c=t[r],{reads:l,writes:u}=qn(e,n);for(let e of l)if(e.charCodeAt(0)===105)for(let t of o.get(e)??[])s(c,t);else s(c,i.get(e)),c!==void 0&&E(a,e,()=>new Set).add(c);for(let e of u)if(e.charCodeAt(0)===105)c!==void 0&&E(o,e,()=>new Set).add(c);else{s(c,i.get(e));for(let t of a.get(e)??[])s(c,t);a.delete(e),i.set(e,c)}}),r}function Yn(e,t){let n=new Map,r=new Map,i=new Set,a=[],o=[],s=0;for(let c of e){if(n.has(c))continue;let e=[],l=o=>{n.set(o,s),r.set(o,s),s++,a.push(o),i.add(o),e.push({id:o,next:[...t.get(o)??[]].sort(),at:0})};for(l(c);e.length;){let t=e[e.length-1];if(t.at<t.next.length){let e=t.next[t.at++];n.has(e)?i.has(e)&&r.set(t.id,Math.min(r.get(t.id),n.get(e))):l(e);continue}e.pop();let s=e[e.length-1];if(s&&r.set(s.id,Math.min(r.get(s.id),r.get(t.id))),r.get(t.id)===n.get(t.id)){let e=[],n;do n=a.pop(),i.delete(n),e.push(n);while(n!==t.id);o.push(e)}}}return o}function Xn(e,t,n,r,i,a){let o=new Map(e.map(e=>[e.id,e])),s=new Map;for(let e of i)s.set(e.id,e.after?.label??e.before?.label??e.id);let c=e=>e.nodes.length+e.edges.length,l=(e,t)=>Qn[e.phase]-Qn[t.phase]||c(t)-c(e)||S(s.get(e.anchor)??e.anchor,s.get(t.anchor)??t.anchor)||S(e.id,t.id),u=Jn(t,n,r),d=e.map(e=>e.id).sort(),f=new Map;for(let e of Yn(d,u)){if(e.length<2)continue;let t=e.map(e=>o.get(e)).sort(l),n=t[0].id;for(let e of t)f.set(e.id,n)}let p=[...e],m=[...n];if(f.size>0){p=Zn(e,f,i,a),m=n.map(e=>e===void 0?e:f.get(e)??e);let t=new Map;for(let[e,n]of u){let r=f.get(e)??e;for(let e of n){let n=f.get(e)??e;n!==r&&E(t,r,()=>new Set).add(n)}}u=t}let h=new Map,g=new Map;for(let e of p){let t=u.get(e.id)??new Set;h.set(e.id,t.size);for(let n of t)D(g,n,e.id)}let _=new Map(p.map(e=>[e.id,e])),v=new $n((e,t)=>l(e,t)<0);for(let e of p)h.get(e.id)===0&&v.push(e);let y=new Map;m.forEach((e,t)=>{e!==void 0&&D(y,e,t)});let b=[];for(;v.size;){let e=v.pop();b.push({id:e.id,kind:e.kind,phase:e.phase,anchor:e.anchor,nodes:e.nodes,edges:e.edges,context:e.context,ops:y.get(e.id)??[],requires:[...u.get(e.id)??[]].sort(),summary:e.summary,order:b.length});for(let t of g.get(e.id)??[]){let e=h.get(t)-1;h.set(t,e),e===0&&v.push(_.get(t))}}return{hunks:b,opHunks:m}}function Zn(e,t,n,r){let i=new Map;for(let n of e)D(i,t.get(n.id)??n.id,n);for(let e of n)e.hunk!==void 0&&t.has(e.hunk)&&(e.hunk=t.get(e.hunk));for(let e of r)e.hunk!==void 0&&t.has(e.hunk)&&(e.hunk=t.get(e.hunk));let a=[];for(let[e,t]of i){let n=t.find(t=>t.id===e);if(t.length===1){a.push(n);continue}let r=new Set(t.flatMap(e=>e.nodes)),i=[...r].filter(e=>e!==n.anchor).sort(),o=r.has(n.anchor)?[n.anchor,...i]:i,s=[...new Set(t.flatMap(e=>e.edges))].sort(),c=[...new Set(t.flatMap(e=>e.context))].filter(e=>!r.has(e)).sort(),l=new Set(t.flatMap(e=>e.summary.facets)),u=e=>t.reduce((t,n)=>t+e(n),0);a.push({...n,nodes:o,edges:s,context:c,summary:{nodes:{added:u(e=>e.summary.nodes.added),removed:u(e=>e.summary.nodes.removed),modified:u(e=>e.summary.nodes.modified)},edges:{added:u(e=>e.summary.edges.added),removed:u(e=>e.summary.edges.removed),modified:u(e=>e.summary.edges.modified)},facets:Mt.filter(e=>l.has(e))}})}return a}var Qn,$n,er=t((()=>{y(),z(),A(),Qn={remove:0,restructure:1,modify:2,add:3},$n=class{less;items=[];constructor(e){this.less=e}get size(){return this.items.length}push(e){let t=this.items;t.push(e);for(let e=t.length-1;e>0;){let n=e-1>>1;if(!this.less(t[e],t[n]))break;[t[e],t[n]]=[t[n],t[e]],e=n}}pop(){let e=this.items,t=e[0],n=e.pop();if(e.length>0&&n!==void 0){e[0]=n;for(let t=0;;){let n=2*t+1,r=n+1,i=t;if(n<e.length&&this.less(e[n],e[i])&&(i=n),r<e.length&&this.less(e[r],e[i])&&(i=r),i===t)break;[e[t],e[i]]=[e[i],e[t]],t=i}}return t}}}));function tr(e,t,n,r,i){let a=rr(),o=rr(),s=Object.fromEntries(Mt.map(e=>[e,0])),c=new Map,l=e=>{if(e.length!==0)for(let t of new Set(e.map(e=>e.kind)))s[t]++};for(let e of n){a[e.status]++,l(e.facets);let t=(e.after??e.before)?.types[0]??``;E(c,t,rr)[e.status]++}for(let e of r)o[e.status]++,l(e.facets);let u=Object.fromEntries(nr.map(e=>[e,0]));for(let e of i)u[e.kind]++;let d=e=>e.added+e.removed+e.modified,f=[...c].map(([e,t])=>({type:e,...t})).sort((e,t)=>d(t)-d(e)||S(e.type,t.type));return{nodes:a,edges:o,before:{nodes:e.nodes.size,edges:e.edges.size},after:{nodes:t.nodes.size,edges:t.edges.size},facets:s,hunks:u,byType:f,identical:d(a)+d(o)===0}}var nr,rr,ir=t((()=>{z(),A(),nr=[`add`,`remove`,`merge`,`split`,`modify`,`relations`],rr=()=>({added:0,removed:0,modified:0,unchanged:0})}));function W(e,t,n=``){throw new b(`invalid-input`,`${e} is ${t}, so it must have ${dr[t]}${n}`)}function ar(e,t,n){let{id:r,status:i,facets:a,beforeId:o,afterId:s,before:c,after:l}=e,u=`Union node "${r}"`,d=` (beforeId and before, afterId and after)`,f={before:ne(t,o),after:ne(n,s)},p;return i===`added`?((!l||s===void 0||c||o!==void 0)&&W(u,i,d),p={id:r,status:i,facets:a,label:l.label,types:l.types,degree:f,afterId:s,after:l}):i===`removed`?((!c||o===void 0||l||s!==void 0)&&W(u,i,d),p={id:r,status:i,facets:a,label:c.label,types:c.types,degree:f,beforeId:o,before:c}):(l&&c&&s!==void 0&&o!==void 0||W(u,i,d),p={id:r,status:i,facets:a,label:l.label,types:l.types,degree:f,beforeId:o,afterId:s,before:c,after:l}),e.hunk!==void 0&&(p.hunk=e.hunk),p}function or(e){let{id:t,source:n,target:r,predicate:i,label:a,status:o,facets:s,hierarchical:c}=e,{before:l,after:u,beforeKey:d,afterKey:f}=e,p=`Union edge ${t}`,m=e.sourceBefore!==void 0||e.targetBefore!==void 0||e.predicateBefore!==void 0,h;if(o===`added`)(!u||f===void 0||l||d!==void 0)&&W(p,o),m&&W(p,o,` and no before-version endpoints or predicate`),h={id:t,source:n,target:r,predicate:i,label:a,status:o,facets:s,hierarchical:c,afterKey:f,after:u};else if(o===`removed`)(!l||d===void 0||u||f!==void 0)&&W(p,o),m&&W(p,o,` and no before-version endpoints or predicate`),h={id:t,source:n,target:r,predicate:i,label:a,status:o,facets:s,hierarchical:c,beforeKey:d,before:l};else{u&&l&&f!==void 0&&d!==void 0||W(p,o);let m={id:t,source:n,target:r,predicate:i,label:a,status:o,facets:s,hierarchical:c,beforeKey:d,afterKey:f,before:l,after:u};e.sourceBefore!==void 0&&(m.sourceBefore=e.sourceBefore),e.targetBefore!==void 0&&(m.targetBefore=e.targetBefore),e.predicateBefore!==void 0&&(m.predicateBefore=e.predicateBefore),h=m}return e.hunk!==void 0&&(h.hunk=e.hunk),h}function sr(...e){let t=new Map;for(let n of e)for(let e of n){let n=`${e.before}\u0000${e.after}`,r=t.get(n);(!r||e.score>r.score)&&t.set(n,e)}return Tn([...t.values()])}function cr(e,t){return lt(e)?Dt(e,t):ut(e,{edgeIdentity:t})}function lr(e,t,n){let r=new Set(n.ignoreAttrs),i=new Te,a=Cn(e,t,n.match,r,i),o=Pn(e,t,a,n,i,r),s=Nt(e,t,a.beforeToAfter),c={before:e,after:t,options:n,hierarchy:new Set(n.hierarchyPredicates),ignoreAttrs:r,beforeToAfter:a.beforeToAfter,afterToBefore:a.afterToBefore,inferred:a.inferred,restructuring:o,renamed:s,unionOfBefore:s.size?e=>s.get(e)??e:e=>e},{nodes:l,index:u}=Vt(c),d=qt(c,u),f=$t(c,l,d),{delta:p,opHunks:m}=Tt(c,l,d),{hunks:h}=Xn(f,p.ops,m,n.edgeIdentity,l,d),g=l.map(n=>ar(n,e,t)),_=d.map(or);return{before:e,after:t,options:n,nodes:g,edges:_,hunks:h,matches:[...a.inferred.values()].sort((e,t)=>S(e.after,t.after)),suggestions:sr(a.suggestions,o.suggestions),delta:p,stats:tr(e,t,l,d,h),index:Ut(g,_,h)}}function ur(e,t,n){let r=n;n?.edgeIdentity===void 0&&lt(e)&&lt(t)&&e.edgeIdentity===t.edgeIdentity&&(r={...n,edgeIdentity:e.edgeIdentity});let i=Ue(r);return lr(cr(e,i.edgeIdentity),cr(t,i.edgeIdentity),i)}var dr,fr=t((()=>{Ht(),At(),Gt(),Xt(),x(),on(),On(),Gn(),yt(),qe(),er(),ir(),P(),A(),dr={added:`only an after version`,removed:`only a before version`,unchanged:`both versions`,modified:`both versions`}})),pr=t((()=>{}));function mr(e,t,n){return ur(e,t,n)}var hr=t((()=>{fr(),x(),qe(),pr()}));function gr(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return _r(this.cover(t,n),t,n,e)}function _r(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},s=e._x0,c=e._y0,l=e._x1,u=e._y1,d,f,p,m,h,g,_,v;if(!a)return e._root=o,e;for(;a.length;)if((h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f,i=a,!(a=a[_=g<<1|h]))return i[_]=o,e;if(p=+e._x.call(null,a.data),m=+e._y.call(null,a.data),t===p&&n===m)return o.next=a,i?i[_]=o:e._root=o,e;do i=i?i[_]=[,,,,]:e._root=[,,,,],(h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f;while((_=g<<1|h)==(v=(m>=f)<<1|p>=d));return i[v]=a,i[_]=o,e}function vr(e){var t,n,r=e.length,i,a,o=Array(r),s=Array(r),c=1/0,l=1/0,u=-1/0,d=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(a=+this._y.call(null,t))||(o[n]=i,s[n]=a,i<c&&(c=i),i>u&&(u=i),a<l&&(l=a),a>d&&(d=a));if(c>u||l>d)return this;for(this.cover(c,l).cover(u,d),n=0;n<r;++n)_r(this,o[n],s[n],e[n]);return this}var yr=t((()=>{}));function br(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o=i-n||1,s=this._root,c,l;n>e||e>=i||r>t||t>=a;)switch(l=(t<r)<<1|e<n,c=[,,,,],c[l]=s,s=c,o*=2,l){case 0:i=n+o,a=r+o;break;case 1:n=i-o,a=r+o;break;case 2:i=n+o,r=a-o;break;case 3:n=i-o,r=a-o}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}var xr=t((()=>{}));function Sr(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}var Cr=t((()=>{}));function wr(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}var Tr=t((()=>{}));function G(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}var Er=t((()=>{}));function Dr(e,t,n){var r,i=this._x0,a=this._y0,o,s,c,l,u=this._x1,d=this._y1,f=[],p=this._root,m,h;for(p&&f.push(new G(p,i,a,u,d)),n==null?n=1/0:(i=e-n,a=t-n,u=e+n,d=t+n,n*=n);m=f.pop();)if(!(!(p=m.node)||(o=m.x0)>u||(s=m.y0)>d||(c=m.x1)<i||(l=m.y1)<a)){if(p.length){var g=(o+c)/2,_=(s+l)/2;f.push(new G(p[3],g,_,c,l),new G(p[2],o,_,g,l),new G(p[1],g,s,c,_),new G(p[0],o,s,g,_)),(h=(t>=_)<<1|e>=g)&&(m=f[f.length-1],f[f.length-1]=f[f.length-1-h],f[f.length-1-h]=m)}else{var v=e-+this._x.call(null,p.data),y=t-+this._y.call(null,p.data),b=v*v+y*y;if(b<n){var x=Math.sqrt(n=b);i=e-x,a=t-x,u=e+x,d=t+x,r=p.data}}}return r}var Or=t((()=>{Er()}));function kr(e){if(isNaN(u=+this._x.call(null,e))||isNaN(d=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,s=this._y0,c=this._x1,l=this._y1,u,d,f,p,m,h,g,_;if(!n)return this;if(n.length)for(;;){if((m=u>=(f=(o+c)/2))?o=f:c=f,(h=d>=(p=(s+l)/2))?s=p:l=p,t=n,!(n=n[g=h<<1|m]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,_=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[_]=n:this._root=n),this):(this._root=a,this)}function Ar(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}var jr=t((()=>{}));function Mr(){return this._root}var Nr=t((()=>{}));function Pr(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}var Fr=t((()=>{}));function Ir(e){var t=[],n,r=this._root,i,a,o,s,c;for(r&&t.push(new G(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,s=n.x1,c=n.y1)&&r.length){var l=(a+s)/2,u=(o+c)/2;(i=r[3])&&t.push(new G(i,l,u,s,c)),(i=r[2])&&t.push(new G(i,a,u,l,c)),(i=r[1])&&t.push(new G(i,l,o,s,u)),(i=r[0])&&t.push(new G(i,a,o,l,u))}return this}var Lr=t((()=>{Er()}));function Rr(e){var t=[],n=[],r;for(this._root&&t.push(new G(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var a,o=r.x0,s=r.y0,c=r.x1,l=r.y1,u=(o+c)/2,d=(s+l)/2;(a=i[0])&&t.push(new G(a,o,s,u,d)),(a=i[1])&&t.push(new G(a,u,s,c,d)),(a=i[2])&&t.push(new G(a,o,d,u,l)),(a=i[3])&&t.push(new G(a,u,d,c,l))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}var zr=t((()=>{Er()}));function Br(e){return e[0]}function Vr(e){return arguments.length?(this._x=e,this):this._x}var Hr=t((()=>{}));function Ur(e){return e[1]}function Wr(e){return arguments.length?(this._y=e,this):this._y}var Gr=t((()=>{}));function Kr(e,t,n){var r=new qr(t??Br,n??Ur,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function qr(e,t,n,r,i,a){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Jr(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var K,Yr=t((()=>{yr(),xr(),Cr(),Tr(),Or(),jr(),Nr(),Fr(),Lr(),zr(),Hr(),Gr(),K=Kr.prototype=qr.prototype,K.copy=function(){var e=new qr(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=Jr(t),e;for(n=[{source:t,target:e._root=[,,,,]}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=[,,,,]}):t.target[i]=Jr(r));return e},K.add=gr,K.addAll=vr,K.cover=br,K.data=Sr,K.extent=wr,K.find=Dr,K.remove=kr,K.removeAll=Ar,K.root=Mr,K.size=Pr,K.visit=Ir,K.visitAfter=Rr,K.x=Vr,K.y=Wr})),Xr=t((()=>{Yr()}));function Zr(e,t){let n=t;for(;e[n]!==n;)n=e[n];let r=t;for(;e[r]!==n;){let t=e[r];e[r]=n,r=t}return n}function Qr(e,t,n){let r=Zr(e,t),i=Zr(e,n);r<i?e[i]=r:i<r&&(e[r]=i)}function $r(e,t){let{n}=e,r=new Int32Array(n);for(let e=0;e<n;e++)r[e]=e;let i=e=>t===void 0||t[e]===1;for(let t=0;t<e.pairs.length;t+=2){let n=e.pairs[t],a=e.pairs[t+1];i(n)&&i(a)&&Qr(r,n,a)}for(let{mover:t,anchor:n}of e.partners)i(t)&&i(n)&&Qr(r,t,n);let a=new Map;for(let e=0;e<n;e++){if(!i(e))continue;let t=Zr(r,e),n=a.get(t);n===void 0&&(n=[],a.set(t,n)),n.push(e)}return[...a.values()].sort((e,t)=>t.length-e.length||e[0]-t[0])}var ei=t((()=>{}));function ti(e,t,n){let r=0,i=0;if(ci(e)){let a=e;for(;a!==void 0;)r=Math.max(r,t[a.data]),i=Math.max(i,n[a.data]),a=a.next}else for(let a=0;a<4;a++){let o=e[a];o!==void 0&&(ti(o,t,n),r=Math.max(r,o.mw??0),i=Math.max(i,o.mh??0))}e.mw=r,e.mh=i}function ni(e,t,n,r){let i=Kr().x(e=>t[e]).y(e=>n[e]).addAll(e),a=i.root(),o=i.extent();if(a!==void 0&&o!==void 0)return ti(a,r.halfWidth,r.halfHeight),{root:a,x0:o[0][0],y0:o[0][1],x1:o[1][0],y1:o[1][1]}}function ri(e,t,n,r,i,a,o,s,c){let{halfWidth:l,halfHeight:u}=i,d=li,f=ui;for(let i=0;i<t;i++){if(c!==void 0&&!c[i])continue;let t=n[i],p=r[i],m=l[i]+a,h=u[i]+a;for(d.push(e.root),f.push(e.x0,e.y0,e.x1,e.y1);d.length>0;){let e=d.pop(),a=f.pop(),g=f.pop(),_=f.pop(),v=f.pop();if(ci(e)){let a=e;for(;a!==void 0;){let e=a.data;if(a=a.next,e===i||e<i&&(c===void 0||c[e]))continue;let o=n[e]-t,d=m+l[e]-Math.abs(o);if(d<=0)continue;let f=r[e]-p,g=h+u[e]-Math.abs(f);g<=0||s(i,e,d,g,o,f)}continue}let y=m+(e.mw??0)+o,b=h+(e.mh??0)+o;if(v>t+y||g<t-y||_>p+b||a<p-b)continue;let x=(v+g)/2,S=(_+a)/2,C=e[0],w=e[1],ee=e[2],T=e[3];C!==void 0&&(d.push(C),f.push(v,_,x,S)),w!==void 0&&(d.push(w),f.push(x,_,g,S)),ee!==void 0&&(d.push(ee),f.push(v,S,x,a)),T!==void 0&&(d.push(T),f.push(x,S,g,a))}}}function ii(e){return{indices:Array.from({length:e},(e,t)=>t),cx:new Float64Array(e),cy:new Float64Array(e),posX:new Float64Array(e),negX:new Float64Array(e),posY:new Float64Array(e),negY:new Float64Array(e)}}function ai(e,t,n,r,i=ii(e.length)){let{cx:a,cy:o}=i,{invMass:s,offsetY:c}=t;for(let t of e)a[t.index]=t.x+t.vx,o[t.index]=t.y+t.vy+c[t.index];let l=ni(i.indices,a,o,t);l!==void 0&&ri(l,e.length,a,o,t,n,0,(t,n,i,a,o,c)=>{let l=s[t]+s[n];if(l===0)return;let u=s[t]/l,d=s[n]/l,f=e[t],p=e[n];if(i<a){let e=(o<0?-i:i)*r;f.vx-=e*u,p.vx+=e*d}else{let e=(c<0?-a:a)*r;f.vy-=e*u,p.vy+=e*d}})}function oi(e,t,n,r,i){let a=e.length,o=ii(a),{cx:s,cy:c,posX:l,negX:u,posY:d,negY:f}=o,{invMass:p,offsetY:m}=t,h=p.every(e=>e>0),g=i??new Uint8Array(a).fill(1),_=new Uint8Array(a),v=new Float64Array(a),y=0,b,x=1/0,S=.02;for(let i=0;i<r;i++){for(let t of e)s[t.index]=t.x,c[t.index]=t.y+m[t.index];if(b===void 0||y>pi){if(b=ni(o.indices,s,c,t),b===void 0)return{passes:i,unresolved:new Uint8Array(a)};v.fill(0),y=0}l.fill(0),u.fill(0),d.fill(0),f.fill(0);let r=0;if(ri(b,a,s,c,t,n,y,(e,t,n,i,a,o)=>{let s=p[e]+p[t];if(s===0)return;r++;let c=p[e]/s,m=p[t]/s;if(n<i){let r=n+S,i=a>0||a===0&&e<t,o=i?e:t,s=i?t:e;u[o]=Math.min(u[o],-r*(o===e?c:m)),l[s]=Math.max(l[s],r*(s===e?c:m))}else{let n=i+S,r=o>0||o===0&&e<t,a=r?e:t,s=r?t:e;f[a]=Math.min(f[a],-n*(a===e?c:m)),d[s]=Math.max(d[s],n*(s===e?c:m))}},g),r===0)return{passes:i,unresolved:new Uint8Array(a)};_.fill(0);for(let t of e){let e=t.index;if(l[e]!==0||u[e]!==0||d[e]!==0||f[e]!==0){let n=l[e]+u[e],r=d[e]+f[e];t.x+=n,t.y+=r,_[e]=1;let i=v[e]+Math.max(Math.abs(n),Math.abs(r));v[e]=i,i>y&&(y=i)}}[g,_]=[_,g],h&&r>a/2&&(i+1)%fi===0?(si(e,1+Math.min(.25,.05*r/a)),g.fill(1),b=void 0,x=1/0):(i+1)%di===0&&(h&&r>.7*x&&(si(e,1+Math.min(.15,Math.max(.03,.05*r/a))),g.fill(1),b=void 0),x=r)}return{passes:r,unresolved:g}}function si(e,t){let n=0,r=0;for(let t of e)n+=t.x,r+=t.y;n/=e.length,r/=e.length;for(let i of e)i.x=n+(i.x-n)*t,i.y=r+(i.y-r)*t}var ci,li,ui,di,fi,pi,mi=t((()=>{Xr(),ci=e=>`data`in e,li=[],ui=[],di=8,fi=3,pi=8}));function hi(e,t,n,r,i,a,o){let{halfWidth:s,halfHeight:c,offsetY:l}=t,u=[];for(let t of e){let e=t.index;if(e===r||Math.abs(t.x-i)>o+s[r]+s[e]+n)continue;let d=t.y+l[e]-(a+l[r]);Math.abs(d)>o+c[r]+c[e]+n||u.push(t)}return u}function gi(e,t,n,r,i,a,o){let{halfWidth:s,halfHeight:c,offsetY:l}=t,u=a+l[r];for(let t of e){let e=t.index;if(!(e===r||o!==void 0&&!o(e))&&!(Math.abs(t.x-i)>=s[r]+s[e]+n)&&!(Math.abs(t.y+l[e]-u)>=c[r]+c[e]+n))return!1}return!0}function _i(e,t,n,r,i){let{halfWidth:a,halfHeight:o,offsetY:s,invMass:c}=n,l=e=>s[e]-o[e],u=e=>s[e]+o[e],d=r+.05,f=new Set,p=e=>c[e]===0||f.has(e);for(let{mover:o,anchor:s}of t){let t=e[o],c=e[s];if(t===void 0||c===void 0||p(o))continue;let m=Ci(t.x,t.y,c.x,c.y);if(m<=i)continue;let h=(a[s]+a[o]+d)*Y[Y.length-1],g=(Math.max(u(s)-l(o),u(o)-l(s))+d)*Y[Y.length-1],_=hi(e,n,r,o,c.x,c.y,Math.max(h,g)),v,y;for(let e of Y)for(let[i,f]of bi){let h=i===0?1/0:(a[s]+a[o]+d)/Math.abs(i),g=f===0?1/0:f>0?(u(s)+d-l(o))/f:(u(o)+d-l(s))/-f,b=Math.min(h,g)*e,x=c.x+i*b,S=c.y+f*b,C=Ci(x,S,c.x,c.y);if(C>=m)continue;let w=C+.3*Ci(x,S,t.x,t.y);gi(_,n,r,o,x,S)?(v===void 0||w<v.score-1e-9)&&(v={x,y:S,score:w}):(y===void 0||w<y.score-1e-9)&&gi(_,n,r,o,x,S,p)&&(y={x,y:S,score:w})}let b=xi*i,x=y!==void 0&&(v===void 0||y.score+b<v.score)?y:v;x!==void 0&&(t.x=x.x,t.y=x.y,t.vx=0,t.vy=0,f.add(o),f.add(s))}return[...f].sort((e,t)=>e-t)}function vi(e,t,n,r){let{halfHeight:i,invMass:a}=t;for(let o of e){let s=o.index;if(a[s]===0||gi(hi(e,t,n,s,o.x,o.y,0),t,n,s,o.x,o.y))continue;let c=r(s),l=Math.max(12,i[s]+n),u=[];for(let r=1;r<=Si;r++){(r-1)%8==0&&(u=hi(e,t,n,s,c.x,c.y,l*(r+7)*Math.SQRT2));let i,a=(e,r)=>{let a=Ci(e,r,c.x,c.y);i!==void 0&&a>=i.d-1e-9||gi(u,t,n,s,e,r)&&(i={x:e,y:r,d:a})},d=r*l;for(let e=-r;e<=r;e++)a(c.x+e*l,c.y-d),a(c.x+e*l,c.y+d);for(let e=1-r;e<r;e++)a(c.x-d,c.y+e*l),a(c.x+d,c.y+e*l);if(i!==void 0){o.x=i.x,o.y=i.y;break}}}}var q,yi,J,bi,Y,xi,Si,Ci,wi=t((()=>{q=.9238795325112867,yi=.3826834323650898,J=Math.SQRT1_2,bi=[[0,1],[yi,q],[J,J],[q,yi],[1,0],[q,-.3826834323650898],[J,-J],[yi,-.9238795325112867],[0,-1],[-.3826834323650898,-.9238795325112867],[-J,-J],[-.9238795325112867,-.3826834323650898],[-1,0],[-.9238795325112867,yi],[-J,J],[-.3826834323650898,q]],Y=[1,1.35,1.7,2.1,2.6],xi=.4,Si=32,Ci=(e,t,n,r)=>Math.sqrt((e-n)*(e-n)+(t-r)*(t-r))}));function Ti(e){let t=Math.round(e*100)/100;return t===0?0:t}function Ei(e){if(!(e>0))return-1/0;if(e===1/0)return e;let t=e,n=0;for(;t>=2;)t/=2,n++;for(;t<1;)t*=2,n--;let r=(t-1)/(t+1),i=r*r,a=r,o=0;for(let e=1;e<40;e+=2)o+=a/e,a*=i;return n+2*o/Math.LN2}function Di(e,t){let n=1,r=e,i=t;for(;i>0;)i&1&&(n*=r),r*=r,i>>>=1;return n}function Oi(e,t){if(t<=0||e>=1)return 1;let n=0,r=1;for(let i=0;i<64;i++){let i=(n+r)/2;Di(i,t)<e?n=i:r=i}return(n+r)/2}function ki(e,t){let n=Math.abs(e)+Math.abs(t);if(n===0)return 0;let r=e/n;return t>=0?1-r:3+r}function Ai(e,t){let n=Math.abs(e-t);return n>2?4-n:n}var ji,X=t((()=>{ji=(e,t,n)=>Math.min(n,Math.max(t,e))}));function Mi(e,t){return e*(1+.15*Ei(1+t))}function Ni(e,t,n,r,i){let a=1/Math.max(1,Math.min(e.degree[t],e.degree[n]));if(!i)return a;let o=Math.max(e.crowding[t],e.crowding[n]),s=Bi*r;return o>s?a*s/o:a}function Pi(e,t,n,r){let i=n/Li,a=-(220+40*Math.sqrt(e.degree[t]))*i*i;if(!r)return a;let o=e.boxArea[t]/(zi*n*n);return a*Math.min(Ri,Math.max(1,o))}function Fi(e){let t=Math.max(1,e/16);if(t<=Hi)return Vi/Math.sqrt(t);let n=t/Hi;return Vi/Math.sqrt(Hi)/(Math.sqrt(n)*Math.sqrt(Math.sqrt(n)))}function Ii(e,t){return e>=.5?900:Math.min(900,4*t)}var Li,Ri,zi,Bi,Vi,Hi,Ui=t((()=>{X(),Li=56,Ri=3,zi=1.5,Bi=2,Vi=.3,Hi=25}));function Wi(e,t,n,r,i){let a=t.boxHalfWidth[n];e.minX=Math.min(e.minX,r-a),e.maxX=Math.max(e.maxX,r+a),e.minY=Math.min(e.minY,i+t.boxTop[n]),e.maxY=Math.max(e.maxY,i+t.boxBottom[n])}function Gi(e,t,n,r){let i=qi();for(let a of t)Wi(i,e,a,n[a],r[a]);return i}function Ki(e){if(Ji(e))return Object.freeze({x:0,y:0,width:0,height:0});let t=Yi(e.minX),n=Yi(e.minY);return Object.freeze({x:t,y:n,width:Math.round((Xi(e.maxX)-t)*100)/100,height:Math.round((Xi(e.maxY)-n)*100)/100})}var qi,Ji,Yi,Xi,Zi=t((()=>{qi=()=>({minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}),Ji=e=>!(e.maxX>=e.minX),Yi=e=>Math.floor(e*100)/100||0,Xi=e=>Math.ceil(e*100)/100||0}));function Qi(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function $i(e,t=0){let n=(2166136261^t)>>>0;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=Math.imul(n,16777619);return n^=n>>>16,n=Math.imul(n,2246822507),n^=n>>>13,n=Math.imul(n,3266489909),n^=n>>>16,n>>>0}function ea(e){return Number.isInteger(e)?e>>>0:$i(String(e))}function ta(e,t){return Qi($i(t,e))}function na(e){for(let t=0;t<32;t++){let t=e()*2-1,n=e()*2-1,r=t*t+n*n;if(r>1e-4&&r<=1){let e=Math.sqrt(r);return{x:t/e,y:n/e}}}return{x:1,y:0}}var ra=t((()=>{}));function ia(e){let t=Array.from({length:e.n},()=>[]);for(let{mover:n,anchor:r}of e.partners)t[n].push(r),t[r].push(n);for(let e of t)e.sort((e,t)=>e-t);return t}function aa(e,t,n,r){for(let t=e.offsets[n];t<e.offsets[n+1];t++)r(e.adjacency[t]);for(let e of t[n])r(e)}function oa(e,t,n,r,i,a,o,s){let c=n[0];if(c===void 0)return;for(let t of n)e.degree[t]>e.degree[c]&&(c=t);let l=na(i),u=l.x,d=l.y,f=r*.3,p=1;a[c]=1,o[c]=0,s[c]=0;let m=[c];for(;m.length>0;){let n=[],c=[];for(let r of m){let i=[];aa(e,t,r,e=>{a[e]||(a[e]=1,i.push(e))}),i.sort((t,n)=>e.degree[n]-e.degree[t]||t-n);let l=ki(o[r],s[r]);for(let e of i)n.push(e),c.push(l)}if(n.length===0)break;let l=[];for(let e=0;e<n.length;e++,p++){let e=r*Math.sqrt(p);l.push({x:e*u,y:e*d,angle:ki(u,d)});let t=u*la-d*ua;d=u*ua+d*la,u=t}l.sort((e,t)=>e.angle-t.angle);let h=n.length,g=Math.max(1,Math.ceil(h/da)),_=0,v=1/0;for(let e=0;e<h;e+=g){let t=0;for(let n=0;n<h;n++)t+=Ai(c[n],l[(n+e)%h].angle);t<v&&(v=t,_=e)}for(let e=0;e<h;e++){let t=n[e],r=l[(e+_)%h];o[t]=r.x+(i()-.5)*f,s[t]=r.y+(i()-.5)*f}m=n.map(e=>({v:e,angle:ki(o[e],s[e])})).sort((e,t)=>e.angle-t.angle||e.v-t.v).map(e=>e.v)}}function sa(e,t,n,r,i,a,o,s){let c=n=>{let i=!1;return aa(e,t,n,e=>{r[e]&&(i=!0)}),i},l=n.filter(e=>!r[e]&&c(e));for(;l.length>0;){let n=l.map(n=>ca(e,t,n,r,i,a,o,s)),c=new Set;for(let e=0;e<l.length;e++){let t=l[e],o=n[e];i[t]=o.x,a[t]=o.y,r[t]=1}for(let n of l)aa(e,t,n,e=>{r[e]||c.add(e)});l=[...c].sort((e,t)=>e-t)}}function ca(e,t,n,r,i,a,o,s){let c=ta(s,e.nodes[n].id),l=e=>{let t=0,n=0;for(let r of e)t+=i[r],n+=a[r];return{x:t/e.length,y:n/e.length}},u=t[n].filter(e=>r[e]);if(u.length>0){let e=l(u),t=na(c);return{x:e.x+t.x*o*.5,y:e.y+t.y*o*.5}}let d=[];for(let t=e.offsets[n];t<e.offsets[n+1];t++){let n=e.adjacency[t];r[n]&&d.push(n)}if(d.length>=2){let e=l(d),t=na(c);return{x:e.x+t.x*o*.25,y:e.y+t.y*o*.25}}let f=d[0],p=[];for(let t=e.offsets[f];t<e.offsets[f+1];t++){let i=e.adjacency[t];i!==n&&r[i]&&p.push(i)}let m=0,h=0;if(p.length>0){let e=l(p);m=i[f]-e.x,h=a[f]-e.y}let g=Math.sqrt(m*m+h*h);if(g<1e-9){let e=na(c);m=e.x,h=e.y}else m/=g,h/=g;let _=(c()*2-1)*.82,v=Math.sqrt(1-_*_),y=m*v-h*_,b=m*_+h*v;return{x:i[f]+y*o,y:a[f]+b*o}}var la,ua,da,fa=t((()=>{X(),ra(),la=-.7373688780783197,ua=.6754902942615238,da=48}));function pa(e,t,n){throw new b(`invalid-input`,`Invalid layout option ${e}: expected ${n}, got ${String(t)}`,{option:e,value:t})}function Z(e,t,n,r,i){return t===void 0?n:((typeof t!=`number`||Number.isNaN(t)||!r(t))&&pa(e,t,i),t)}function ma(e={}){let{strategy:t,scope:n}=e;t!==void 0&&t!==`union`&&t!==`anchored`&&pa(`strategy`,t,`'union' or 'anchored'`),n!==void 0&&n!==`all`&&n!==`changes`&&pa(`scope`,n,`'all' or 'changes'`);let r=Number.isFinite,i=e.pinned??new Map;for(let[e,t]of i)t&&r(t.x)&&r(t.y)||pa(`pinned[${e}]`,JSON.stringify(t),`a finite point`);let a=e.iterations===void 0?void 0:Z(`iterations`,e.iterations,0,e=>Number.isInteger(e)&&e>=0,`an integer ≥ 0`);return{strategy:t,scope:n,contextHops:Z(`contextHops`,e.contextHops,Q.contextHops,e=>Number.isInteger(e)&&e>=0,`an integer ≥ 0`),hubDegree:Z(`hubDegree`,e.hubDegree,Q.hubDegree,e=>e>=0,`a number ≥ 0`),largeGraphThreshold:Z(`largeGraphThreshold`,e.largeGraphThreshold,Q.largeGraphThreshold,e=>e>=0,`a number ≥ 0`),seed:ea(Z(`seed`,e.seed,Q.seed,r,`a finite number`)),iterations:a,linkDistance:Z(`linkDistance`,e.linkDistance,Q.linkDistance,e=>r(e)&&e>0,`a finite number > 0`),labelAware:e.labelAware??Q.labelAware,fontSize:Z(`fontSize`,e.fontSize,Q.fontSize,e=>r(e)&&e>0,`a finite number > 0`),pinned:i,componentGap:Z(`componentGap`,e.componentGap,Q.componentGap,e=>r(e)&&e>=0,`a finite number ≥ 0`)}}function ha(e){return e>ga?Math.max(_a,Math.round(120*ga/e)):ji(Math.round(300-25*Ei(Math.max(1,e))),120,300)}var Q,ga,_a,va=t((()=>{hr(),X(),ra(),Q={contextHops:1,hubDegree:40,largeGraphThreshold:3e3,seed:1,linkDistance:56,labelAware:!0,fontSize:12,componentGap:96},ga=2e3,_a=30}));function ya(e,t,n){let r=Array(e.length),i=[{x:0,y:0,w:n}],a=0,o=0,s=1e-9;for(let c of t){let{width:t,height:l}=e[c],u=1/0,d=0;for(let e=0;e<i.length;e++){let r=i[e].x;if(r+t>n+s&&r>0)break;let a=0,o=0;for(let n=e;n<i.length&&o<t-s;n++)a=Math.max(a,i[n].y),o=i[n].x+i[n].w-r;a<u-s&&(u=a,d=r)}r[c]={x:d,y:u},a=Math.max(a,d+t),o=Math.max(o,u+l);let f=d,p=d+t,m=[];for(let e of i){let t=e.x+e.w;t<=f+s||e.x>=p-s?m.push(e):(e.x<f&&m.push({x:e.x,y:e.y,w:f-e.x}),t>p&&m.push({x:p,y:e.y,w:t-p}))}m.push({x:f,y:u+l,w:t}),m.sort((e,t)=>e.x-t.x),i=[];for(let e of m){let t=i[i.length-1];t!==void 0&&Math.abs(t.y-e.y)<s?t.w=e.x+e.w-t.x:i.push({...e})}}return{positions:r,width:a,height:o}}function ba(e,t,n,r){let i=e.length;if(i===0)return{centers:[],width:0,height:0};let a=n=>{let r=t*(n-1);for(let t=0;t<n;t++){let a=0;for(let r=t;r<i;r+=n)a=Math.max(a,2*e[r].halfWidth);r+=a}return r},o=1;for(;o<i&&a(o+1)<=r;)o++;let s=[];for(let t=0;t<o;t++){let n=0;for(let r=t;r<i;r+=o)n=Math.max(n,2*e[r].halfWidth);s.push(n)}let c=[],l=0;for(let e of s)c.push(l+e/2),l+=e+t;let u=l-t,d=Array(i),f=0;for(let t=0;t*o<i;t++){let r=0,a=0;for(let n=t*o;n<Math.min(i,(t+1)*o);n++)r=Math.max(r,-e[n].top),a=Math.max(a,e[n].bottom);for(let e=t*o;e<Math.min(i,(t+1)*o);e++)d[e]={x:c[e-t*o],y:f+r};f+=r+a+n}return{centers:d,width:u,height:f-n}}function xa(e){let t=e.aspect??1.6,n=e.componentGap,r=e.components.map(e=>({width:e.width+n,height:e.height+n})),i=r.map((e,t)=>t).sort((e,t)=>r[t].height-r[e].height||r[t].width-r[e].width||e-t),a=0,o=0;for(let e of r)a+=e.width*e.height,o=Math.max(o,e.width);for(let t of e.isolated)a+=(2*t.halfWidth+e.gridGapX)*(t.bottom-t.top+e.gridGapY),o=Math.max(o,2*t.halfWidth);let s=Math.sqrt(a*t),c,l=1/0,u=new Set;for(let a of Sa){let d=Math.max(o,s*a);if(u.has(d))continue;u.add(d);let f=ya(r,i,d),p=f.width>0?f.width-n:0,m=f.height>0?f.height-n:0,h=ba(e.isolated,e.gridGapX,e.gridGapY,Math.max(d-n,p)),g=m>0&&h.height>0?m+n:0,_=Math.max(p,h.width),v=h.height>0?g+h.height:m,y=Ca(_,v,t);y<l-1e-6&&(l=y,c={components:f.positions,isolated:h.centers.map(e=>({x:e.x,y:e.y+g})),width:_,height:v})}return c??{components:[],isolated:[],width:0,height:0}}var Sa,Ca,wa=t((()=>{Sa=[.55,.7,.85,1,1.15,1.3,1.5,1.75,2],Ca=(e,t,n)=>{let r=Math.max(e,t*n);return r/n*r}}));function Ta(e){return function(){return e}}var Ea=t((()=>{}));function $(e){return(e()-.5)*1e-6}var Da=t((()=>{}));function Oa(e){return e.index}function ka(e,t){var n=e.get(t);if(!n)throw Error(`node not found: `+t);return n}function Aa(e){var t=Oa,n=d,r,i=Ta(30),a,o,s,c,l,u=1;e??=[];function d(e){return 1/Math.min(s[e.source.index],s[e.target.index])}function f(t){for(var n=0,i=e.length;n<u;++n)for(var o=0,s,d,f,p,m,h,g;o<i;++o)s=e[o],d=s.source,f=s.target,p=f.x+f.vx-d.x-d.vx||$(l),m=f.y+f.vy-d.y-d.vy||$(l),h=Math.sqrt(p*p+m*m),h=(h-a[o])/h*t*r[o],p*=h,m*=h,f.vx-=p*(g=c[o]),f.vy-=m*g,d.vx+=p*(g=1-g),d.vy+=m*g}function p(){if(o){var n,i=o.length,l=e.length,u=new Map(o.map((e,n)=>[t(e,n,o),e])),d;for(n=0,s=Array(i);n<l;++n)d=e[n],d.index=n,typeof d.source!=`object`&&(d.source=ka(u,d.source)),typeof d.target!=`object`&&(d.target=ka(u,d.target)),s[d.source.index]=(s[d.source.index]||0)+1,s[d.target.index]=(s[d.target.index]||0)+1;for(n=0,c=Array(l);n<l;++n)d=e[n],c[n]=s[d.source.index]/(s[d.source.index]+s[d.target.index]);r=Array(l),m(),a=Array(l),h()}}function m(){if(o)for(var t=0,i=e.length;t<i;++t)r[t]=+n(e[t],t,e)}function h(){if(o)for(var t=0,n=e.length;t<n;++t)a[t]=+i(e[t],t,e)}return f.initialize=function(e,t){o=e,l=t,p()},f.links=function(t){return arguments.length?(e=t,p(),f):e},f.id=function(e){return arguments.length?(t=e,f):t},f.iterations=function(e){return arguments.length?(u=+e,f):u},f.strength=function(e){return arguments.length?(n=typeof e==`function`?e:Ta(+e),m(),f):n},f.distance=function(e){return arguments.length?(i=typeof e==`function`?e:Ta(+e),h(),f):i},f}var ja=t((()=>{Ea(),Da()}));function Ma(e){return e.x}function Na(e){return e.y}var Pa=t((()=>{Math.PI*(3-Math.sqrt(5))}));function Fa(){var e,t,n,r,i=Ta(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=Kr(e,Ma,Na).visitAfter(d);for(r=n,i=0;i<a;++i)t=e[i],o.visit(f)}function u(){if(e){var t,n=e.length,r;for(a=Array(n),t=0;t<n;++t)r=e[t],a[r.index]=+i(r,t,e)}}function d(e){var t=0,n,r,i=0,o,s,c;if(e.length){for(o=s=c=0;c<4;++c)(n=e[c])&&(r=Math.abs(n.value))&&(t+=n.value,i+=r,o+=r*n.x,s+=r*n.y);e.x=o/i,e.y=s/i}else{n=e,n.x=n.data.x,n.y=n.data.y;do t+=a[n.data.index];while(n=n.next)}e.value=t}function f(e,i,l,u){if(!e.value)return!0;var d=e.x-t.x,f=e.y-t.y,p=u-i,m=d*d+f*f;if(p*p/c<m)return m<s&&(d===0&&(d=$(n),m+=d*d),f===0&&(f=$(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)),t.vx+=d*e.value*r/m,t.vy+=f*e.value*r/m),!0;if(!(e.length||m>=s)){(e.data!==t||e.next)&&(d===0&&(d=$(n),m+=d*d),f===0&&(f=$(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)));do e.data!==t&&(p=a[e.data.index]*r/m,t.vx+=d*p,t.vy+=f*p);while(e=e.next)}}return l.initialize=function(t,r){e=t,n=r,u()},l.strength=function(e){return arguments.length?(i=typeof e==`function`?e:Ta(+e),u(),l):i},l.distanceMin=function(e){return arguments.length?(o=e*e,l):Math.sqrt(o)},l.distanceMax=function(e){return arguments.length?(s=e*e,l):Math.sqrt(s)},l.theta=function(e){return arguments.length?(c=e*e,l):Math.sqrt(c)},l}var Ia=t((()=>{Xr(),Ea(),Da(),Pa()})),La=t((()=>{Xr(),Ea(),Da(),ja(),Ia(),Pa()}));function Ra(e,t,n,r,i){let a=.2;for(let{mover:o,anchor:s}of t){let t=e[o],c=e[s];if(t===void 0||c===void 0)continue;let l=c.x+c.vx-t.x-t.vx,u=c.y+c.vy-t.y-t.vy,d=Math.sqrt(l*l+u*u);if(d<=i)continue;let f=(d-i)/d*n*r;t.vx+=l*f*.8,t.vy+=u*f*.8,c.vx-=l*f*a,c.vy-=u*f*a}}function za(e,t,n){let r=n*t;for(let t of e)t.vx-=t.x*r,t.vy-=t.y*r}var Ba=t((()=>{}));function Va(e){let{nodes:t,ticks:n}=e,r=t.length;if(r===0)return 0;if(n>0){let i=Aa(e.links).distance(e=>e.distance).strength(e=>e.strength);i.initialize(t,e.random);let a=Fa().strength(t=>e.charge[t.index]??0).theta(.9).distanceMax(e.chargeRange);a.initialize(t,e.random);let o=Oi(Ka/e.alpha,n),s=Math.round(n*Ja),c=Math.max(1,Math.round(n*Ya)),l=Ha(e.nodeBoxes),u=ii(r),d=e.alpha;for(let r=0;r<n;r++){d*=o,i(d),a(d),e.springs.length>0&&Ra(t,e.springs,d,e.springStrength,e.springLength),e.gravity>0&&za(t,d,e.gravity);let n=e.nodeBoxes;if(r>=s){let t=Math.min(1,(r-s+1)/c);n=t>=1?e.labelBoxes:Ua(e.nodeBoxes,e.labelBoxes,Xa+.5*t,l)}n!==void 0&&ai(t,n,e.padding,Za,u);for(let e of t)e.fx==null?(e.vx*=qa,e.x+=e.vx):(e.x=e.fx,e.vx=0),e.fy==null?(e.vy*=qa,e.y+=e.vy):(e.y=e.fy,e.vy=0);r+1===s&&(e.orient&&Wa(t),Ga(t,e.labelBoxes,e.padding,Qa))}}let i=oi(t,e.labelBoxes,e.padding,$a),a=i.passes;if(e.springs.length>0&&e.dockDistance>0){let n=_i(t,e.springs,e.labelBoxes,e.padding,e.dockDistance);if(n.length>0){let r=Float64Array.from(e.labelBoxes.invMass),o=Uint8Array.from(i.unresolved);for(let e of n)r[e]=0,o[e]=1;let s=oi(t,{...e.labelBoxes,invMass:r},e.padding,$a,o),c=Uint8Array.from(s.unresolved);for(let e of n)c[e]=1;a+=s.passes,a+=oi(t,e.labelBoxes,e.padding,$a,c).passes}}return a}function Ha(e){let t=e.halfWidth.length;return{halfWidth:new Float64Array(t),halfHeight:new Float64Array(t),offsetY:new Float64Array(t),invMass:e.invMass}}function Ua(e,t,n,r){let i=e.halfWidth.length;for(let a=0;a<i;a++){let i=e.offsetY[a]-e.halfHeight[a],o=e.offsetY[a]+e.halfHeight[a],s=o+(t.offsetY[a]+t.halfHeight[a]-o)*n;r.halfWidth[a]=e.halfWidth[a]+(t.halfWidth[a]-e.halfWidth[a])*n,r.halfHeight[a]=(s-i)/2,r.offsetY[a]=(s+i)/2}return r}function Wa(e){let t=0,n=0;for(let r of e)t+=r.x,n+=r.y;t/=e.length,n/=e.length;let r=0,i=0,a=0;for(let o of e){let e=o.x-t,s=o.y-n;r+=e*e,i+=s*s,a+=e*s}let o=(r-i)/2,s=(r+i)/2+Math.sqrt(o*o+a*a),c=a,l=s-r;Math.abs(c)+Math.abs(l)<1e-12*(r+i+1)&&(c=s-i,l=a);let u=Math.sqrt(c*c+l*l),d=u>0?c/u:1,f=u>0?l/u:0,p=0,m=0;for(let r of e){let e=r.x-t,i=r.y-n,a=d*e+f*i,o=-f*e+d*i;r.x=a,r.y=o;let s=d*r.vx+f*r.vy;r.vy=-f*r.vx+d*r.vy,r.vx=s,p+=a*a*a,m+=o*o*o}let h=p<0?-1:1,g=m<0?-1:1;if(h!==1||g!==1)for(let t of e)t.x*=h,t.vx*=h,t.y*=g,t.vy*=g}function Ga(e,t,n,r){if(e.length<3||t.invMass.some(e=>e===0))return;let i=1/0,a=1/0,o=-1/0,s=-1/0,c=0,l=0,u=0;for(let r of e)i=Math.min(i,r.x),o=Math.max(o,r.x),a=Math.min(a,r.y),s=Math.max(s,r.y),l+=r.x,u+=r.y,c+=(2*t.halfWidth[r.index]+n)*(2*t.halfHeight[r.index]+n);let d=Math.max(1,o-i)*Math.max(1,s-a),f=c/(r*d);if(f<=1)return;let p=Math.sqrt(f);l/=e.length,u/=e.length;for(let t of e)t.x=l+(t.x-l)*p,t.y=u+(t.y-u)*p}var Ka,qa,Ja,Ya,Xa,Za,Qa,$a,eo=t((()=>{La(),mi(),wi(),Ba(),X(),Ka=.001,qa=.6,Ja=.35,Ya=.25,Xa=.5,Za=.7,Qa=.4,$a=150}));function to(e){let t=go(e),n=$r(e.graph),r=io(e,t,n),i=n.flat(),a=Gi(e.graph,i,e.x,e.y);return Ji(a)||ao(e,i,-(a.minX+a.maxX)/2,-(a.minY+a.maxY)/2),r.ticks}function no(e,t){let{graph:n}=e,r=go(e),i=$r(n),a=[],o=[];for(let e of i)(e.some(e=>t[e]===1)?a:o).push(e);let s=a.flat().sort((e,t)=>e-t),c=Uint8Array.from(t);sa(n,r.partners,s,c,e.x,e.y,e.options.linkDistance,e.options.seed);let l=s.filter(e=>t[e]!==1),u=0,d=0;if(l.length>0){let n=l.length/s.length,i=ro(e,s,l,t);u=_o(e,i.length),d=i.length,co(e,r,i,t,u,.3+.7*n,!1,0,Ii(n,e.options.linkDistance)),lo(e,s,t)}if(o.length>0){let t=io(e,r,o);t.largest>d&&(u=t.ticks);let i=Gi(n,s,e.x,e.y),a=o.flat(),c=e.options.componentGap,l={dx:i.maxX+c,dy:i.minY},f={dx:i.minX,dy:i.maxY+c},p=(e,n)=>{let r=Math.max(i.maxX,e+t.width)-Math.min(i.minX,e),a=Math.max(i.maxY,n+t.height)-Math.min(i.minY,n),o=Math.max(r,a*mo);return o*o},m=p(f.dx,f.dy)<p(l.dx,l.dy)-1e-6?f:l;ao(e,a,m.dx,m.dy)}return u}function ro(e,t,n,r){let{graph:i,x:a,y:o}=e;if(n.length*2>=t.length)return[...t];let s=new Uint8Array(i.n),c=4*e.options.linkDistance;for(let e of n){c=Math.max(c,2*i.boxHalfWidth[e],2*i.boxBottom[e]),s[e]=1;for(let t=i.offsets[e];t<i.offsets[e+1];t++)s[i.adjacency[t]]=1}let l=Kr().x(e=>a[e]).y(e=>o[e]).addAll(t.filter(e=>r[e]===1));for(let e of n){let t=a[e]-c,n=a[e]+c,r=o[e]-c,i=o[e]+c;l.visit((e,c,l,u,d)=>{if(!e.length){let c=e;for(;c!==void 0;){let e=c.data;a[e]>=t&&a[e]<=n&&o[e]>=r&&o[e]<=i&&(s[e]=1),c=c.next}}return c>n||u<t||l>i||d<r})}return t.filter(e=>s[e]===1)}function io(e,t,n){let{graph:r,x:i,y:a,options:o}=e,s=new Uint8Array(r.n),c=[],l=[],u=[],d=0,f=0;for(let p of n){if(p.length===1){l.push(p[0]);continue}oa(r,t.partners,p,o.linkDistance*po,t.random,s,i,a);let n=_o(e,p.length);p.length>f&&(f=p.length,d=n),co(e,t,p,void 0,n,1,!0,Fi(p.length),900),c.push(p),u.push(Gi(r,p,i,a))}l.sort((e,t)=>e-t);let p=xa({components:u.map(e=>({width:e.maxX-e.minX,height:e.maxY-e.minY})),isolated:l.map(e=>({halfWidth:r.boxHalfWidth[e],top:r.boxTop[e],bottom:r.boxBottom[e]})),componentGap:o.componentGap,gridGapX:o.fontSize*1.5,gridGapY:o.fontSize,aspect:mo});for(let t=0;t<c.length;t++){let n=p.components[t],r=u[t];ao(e,c[t],n.x-r.minX,n.y-r.minY)}for(let e=0;e<l.length;e++){let t=l[e],n=p.isolated[e];i[t]=n.x,a[t]=n.y}return{width:p.width,height:p.height,ticks:d,largest:f}}function ao(e,t,n,r){for(let i of t)e.x[i]+=n,e.y[i]+=r}function oo(e,t,n){let{graph:r,x:i,y:a,options:o}=e,s=t.length,c={halfWidth:new Float64Array(s),halfHeight:new Float64Array(s),offsetY:new Float64Array(s),invMass:new Float64Array(s)},l=o.labelAware?{halfWidth:new Float64Array(s),halfHeight:new Float64Array(s),offsetY:new Float64Array(s),invMass:c.invMass}:c,u=new Float64Array(s),d=[];for(let e=0;e<s;e++){let s=t[e],f=r.radius[s],p=n!==void 0&&n[s]===1,m={index:e,x:i[s],y:a[s],vx:0,vy:0};p&&(m.fx=m.x,m.fy=m.y),d.push(m),c.halfWidth[e]=f,c.halfHeight[e]=f,c.invMass[e]=p?0:1/(1+r.degree[s]),l!==c&&(l.halfWidth[e]=r.boxHalfWidth[s],l.halfHeight[e]=(r.boxBottom[s]-r.boxTop[s])/2,l.offsetY[e]=(r.boxBottom[s]+r.boxTop[s])/2),u[e]=Pi(r,s,o.linkDistance,o.labelAware)}return{nodes:d,nodeBoxes:c,labelBoxes:l,charge:u}}function so(e,t,n){for(let r=0;r<t.length;r++){let i=n[r];i.fx??(e.x[t[r]]=i.x,e.y[t[r]]=i.y)}}function co(e,t,n,r,i,a,o,s,c){let{graph:l,options:u}=e,{slot:d}=t;for(let e=0;e<n.length;e++)d[n[e]]=e;let{nodes:f,nodeBoxes:p,labelBoxes:m,charge:h}=oo(e,n,r),g=e=>r!==void 0&&r[e]===1,_=u.linkDistance,v=[];for(let e=0;e<n.length;e++){let t=n[e];for(let n=l.offsets[t];n<l.offsets[t+1];n++){let r=l.adjacency[n],i=d[r];if(r<=t||i<0||g(t)&&g(r))continue;let a=Mi(_,Math.max(1,Math.min(l.degree[t],l.degree[r])));v.push({source:f[e],target:f[i],distance:a,strength:Ni(l,t,r,a,u.labelAware)})}}let y=[];for(let{mover:e,anchor:t}of l.partners){let n=d[e],r=d[t];n>=0&&r>=0&&y.push({mover:n,anchor:r})}for(let e of n)d[e]=-1;Va({nodes:f,links:v,springs:y,charge:h,nodeBoxes:p,labelBoxes:m,ticks:i,alpha:a,gravity:s,orient:o,springStrength:uo,springLength:_*fo,dockDistance:_,chargeRange:c,padding:4,random:t.random}),so(e,n,f)}function lo(e,t,n){let{graph:r,x:i,y:a}=e,{nodes:o,labelBoxes:s}=oo(e,t,n);oi(o,s,4,ho);let c=new Map;t.forEach((e,t)=>{c.set(e,t)}),vi(o,s,4,e=>{let n=t[e],s=0,l=0,u=0;for(let e=r.offsets[n];e<r.offsets[n+1];e++){let t=o[c.get(r.adjacency[e])??-1];t!==void 0&&(s+=t.x,l+=t.y,u++)}return u>0?{x:s/u,y:l/u}:{x:i[n],y:a[n]}}),so(e,t,o)}var uo,fo,po,mo,ho,go,_o,vo=t((()=>{Xr(),ei(),mi(),wi(),Ui(),Zi(),fa(),va(),wa(),ra(),eo(),uo=.08,fo=.5,po=.4,mo=1.6,ho=24,go=e=>({partners:ia(e.graph),slot:new Int32Array(e.graph.n).fill(-1),random:Qi(e.options.seed)}),_o=(e,t)=>e.options.iterations??ha(t)}));function yo(e,t){let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>>1,a=t[i];if(a===void 0)return!1;if(e<a[0])r=i-1;else if(e>a[1])n=i+1;else return!0}return!1}function bo(e){return e===32||e===9?Oo:e<32||e===127?0:e>=48&&e<=57?To:e>=65&&e<=90?Eo:Do}function xo(e){let t=e.codePointAt(0)??0;return t<128?bo(t):jo.test(e)||t>=127995&&t<=127999?0:t>=127462&&t<=127487?ko:yo(t,Ao)?wo:Mo.test(e)?Oo:No.test(e)?To:Po.test(e)?Eo:Do}function So(e,t){let n=0;for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);if(r<128){n+=bo(r);continue}let i=e.codePointAt(t)??r,a=String.fromCodePoint(i);i>65535&&t++,n+=xo(a)}return n*t}function Co(e,t,n){let r=32*n,i=Math.min(r,So(e,n)),a=Fo*n;if(t!==void 0&&t!==e){let e=n*Lo;i=Math.max(i,Math.min(r,So(t,e))),a+=Io*n}return{width:i,height:a}}var wo,To,Eo,Do,Oo,ko,Ao,jo,Mo,No,Po,Fo,Io,Lo,Ro=t((()=>{wo=1,To=.6,Eo=.68,Do=.56,Oo=.3,ko=.5,Ao=[[4352,4447],[8986,8987],[9001,9002],[9193,9196],[9200,9200],[9203,9203],[9725,9726],[9728,10175],[11035,11036],[11088,11088],[11093,11093],[11904,12350],[12353,13311],[13312,19903],[19968,40959],[40960,42191],[43360,43391],[44032,55203],[63744,64255],[65040,65049],[65072,65135],[65280,65376],[65504,65510],[94176,101119],[110592,111359],[126980,126980],[127183,127183],[127374,127374],[127377,127386],[127488,127743],[127744,128591],[128640,128767],[128992,129003],[129280,129535],[129648,129791],[131072,196605],[196608,262141]],jo=/[\p{Mn}\p{Me}\p{Cf}\p{Cc}]/u,Mo=/\s/u,No=/\p{Nd}/u,Po=/\p{Lu}/u,Fo=1.25,Io=14/12,Lo=11/12}));function zo(e){for(let t=1;t<e.length;t++){let n=e[t-1],r=e[t];if(n!==void 0&&r!==void 0&&Ho(n.id,r.id)>0)return[...e].sort((e,t)=>Ho(e.id,t.id))}return e}function Bo(e,t){let n=new Int32Array(e+1);for(let e=0;e<t.length;e++)n[(t[e]??0)+1]++;for(let t=0;t<e;t++)n[t+1]+=n[t];let r=n.slice(0,e),i=new Int32Array(t.length);for(let e=0;e<t.length;e+=2){let n=t[e],a=t[e+1];i[r[n]++]=a,i[r[a]++]=n}for(let t=0;t<e;t++)i.subarray(n[t],n[t+1]).sort();return{offsets:n,adjacency:i}}function Vo(e){let t=zo(e.nodes),n=t.length,r=new Map;for(let e=0;e<n;e++)r.set(t[e].id,e);let i=new Uint8Array(n);for(let e=0;e<n;e++)t[e].status!==`unchanged`&&(i[e]=1);let a=new Set,o=[],s=(e,t)=>{if(e===void 0||t===void 0||e===t)return;let r=e<t?e:t,i=e<t?t:e,s=r*n+i;a.has(s)||(a.add(s),o.push(r,i))};for(let t of zo(e.edges)){let e=r.get(t.source),n=r.get(t.target);s(e,n);let a=t.sourceBefore===void 0?e:r.get(t.sourceBefore),o=t.targetBefore===void 0?n:r.get(t.targetBefore);if((a!==e||o!==n)&&s(a,o),t.status!==`unchanged`)for(let t of[e,n,a,o])t!==void 0&&(i[t]=1)}let c=Int32Array.from(o),{offsets:l,adjacency:u}=Bo(n,c),d=[],f=new Set,p=(e,t)=>{if(t===void 0||t===e)return;let r=e*n+t;f.has(r)||(f.add(r),d.push({mover:e,anchor:t}))};for(let e=0;e<n;e++)for(let n of t[e].facets)if(n.kind===`mergedInto`)p(e,r.get(n.target));else if(n.kind===`splitFrom`)p(e,r.get(n.source));else if(n.kind===`mergeTarget`)for(let t of n.sources){let n=r.get(t);n!==void 0&&p(n,e)}else if(n.kind===`splitInto`)for(let t of n.targets){let n=r.get(t);n!==void 0&&p(n,e)}return d.sort((e,t)=>e.mover-t.mover||e.anchor-t.anchor),{nodes:t,indexOf:r,pairs:c,offsets:l,adjacency:u,partners:d,changed:i}}var Ho,Uo=t((()=>{Ho=(e,t)=>e<t?-1:+(e>t)}));function Wo(e){for(let t of e.facets)if(t.kind===`rename`)return t.from}function Go(e,t,n){let r=new Int32Array(e.nodes.length).fill(-1),i=[];for(let n=0;n<e.nodes.length;n++)t[n]&&(r[n]=i.length,i.push(e.nodes[n]));let a=i.length,o=new Map,s=new Float64Array(a),c=new Float64Array(a),l=new Float64Array(a),u=new Float64Array(a);for(let e=0;e<a;e++){let t=i[e];o.set(t.id,e);let r=n.nodeRadius(Math.max(t.degree.before,t.degree.after)),a=Co(t.label,Wo(t),n.fontSize);s[e]=r,c[e]=Math.max(r,a.width/2),l[e]=-r,u[e]=r+5+a.height}let d=[];for(let t=0;t<e.pairs.length;t+=2){let n=r[e.pairs[t]],i=r[e.pairs[t+1]];n>=0&&i>=0&&d.push(Math.min(n,i),Math.max(n,i))}let f=Int32Array.from(d),{offsets:p,adjacency:m}=Bo(a,f),h=new Int32Array(a),g=new Float64Array(a);for(let e=0;e<a;e++)h[e]=p[e+1]-p[e],g[e]=(2*c[e]+4)*(u[e]-l[e]+4);let _=new Float64Array(a);for(let e=0;e<a;e++){let t=0;for(let n=p[e];n<p[e+1];n++)t+=g[m[n]];_[e]=Math.sqrt(t/Math.PI)}let v=[];for(let t of e.partners){let e=r[t.mover],n=r[t.anchor];e>=0&&n>=0&&v.push({mover:e,anchor:n})}return{n:a,nodes:i,indexOf:o,radius:s,boxHalfWidth:c,boxTop:l,boxBottom:u,boxArea:g,crowding:_,degree:h,pairs:f,offsets:p,adjacency:m,partners:v}}var Ko=t((()=>{Zi(),Ro(),Uo()}));function qo(e){let{graph:t}=e,n=new Float64Array(t.n),r=new Float64Array(t.n),i=qi();for(let a=0;a<t.n;a++){let o=e.positions.get(t.nodes[a].id);o!==void 0&&(n[a]=o.x,r[a]=o.y,Wi(i,t,a,o.x,o.y))}let a=$r(t).map(e=>Object.freeze({nodes:Object.freeze(e.map(e=>t.nodes[e].id)),bounds:Ki(Gi(t,e,n,r))})),o=Yo(e.positions);return Object.freeze({positions:o,radii:Yo(e.radii),bounds:Ki(i),scope:e.scope,hidden:Yo(e.hidden),components:Object.freeze(a),stats:Object.freeze({strategy:e.strategy,iterations:e.iterations,nodes:o.size,ms:Jo()-e.started})})}var Jo,Yo,Xo=t((()=>{ei(),Zi(),Jo=()=>typeof performance==`object`&&typeof performance.now==`function`?performance.now():Date.now(),Yo=e=>new Map([...e].sort(([e],[t])=>e<t?-1:+(e>t)))}));function Zo(e,t,n,r){let i=e.nodes.length,a=new Uint8Array(i);if(t===`all`)return a.fill(1),{visible:a,hidden:new Map};let o=new Int32Array(i).fill(-1),s=[];for(let t=0;t<i;t++)e.nodes[t].status!==`unchanged`&&(o[t]=0,s.push(t));let c=[];for(let t=0;t<i;t++)e.changed[t]&&o[t]===-1&&(o[t]=1,c.push(t));for(let t=0;t<n;t++){let n=t===0?[...c]:[];for(let i of s){let{degree:a}=e.nodes[i];if(!(Math.max(a.before,a.after)>r))for(let r=e.offsets[i];r<e.offsets[i+1];r++){let i=e.adjacency[r];o[i]===-1&&(o[i]=t+1,n.push(i))}}s=n.sort((e,t)=>e-t)}for(let e=0;e<i;e++)o[e]>=0&&(a[e]=1);return{visible:a,hidden:Qo(e,a)}}function Qo(e,t){let n=new Map;for(let r=0;r<e.nodes.length;r++){if(!t[r])continue;let i=0;for(let n=e.offsets[r];n<e.offsets[r+1];n++)t[e.adjacency[n]]||i++;i>0&&n.set(e.nodes[r].id,i)}return n}var $o=t((()=>{}));function es(e,t,n,r,i){let a=Jo(),o=ma(r),s=Vo(e),c=new Set;for(let e of n){if(!s.indexOf.has(e))throw new b(`invalid-input`,`extendLayout: node "${e}" is not in the diff`,{node:e});t.positions.has(e)||c.add(e)}if(c.size===0)return t;let l=new Uint8Array(s.nodes.length);for(let e of t.positions.keys()){let t=s.indexOf.get(e);t!==void 0&&(l[t]=1)}for(let e of c)l[s.indexOf.get(e)]=1;let u=Go(s,l,{fontSize:o.fontSize,nodeRadius:i}),d=new Uint8Array(u.n),f=new Float64Array(u.n),p=new Float64Array(u.n);for(let e=0;e<u.n;e++){let n=t.positions.get(u.nodes[e].id);n!==void 0&&(d[e]=1,f[e]=n.x,p[e]=n.y)}no({graph:u,options:o,x:f,y:p},d);let m=new Map(t.positions),h=new Map(t.radii);for(let e of c){let t=u.indexOf.get(e);m.set(e,Object.freeze({x:Ti(f[t]),y:Ti(p[t])})),h.set(e,u.radius[t])}return qo({graph:u,positions:m,radii:h,hidden:t.scope===`changes`?Qo(s,l):t.hidden,scope:t.scope,strategy:t.stats.strategy,iterations:t.stats.iterations,started:a})}var ts=t((()=>{hr(),vo(),Ko(),X(),va(),Xo(),$o(),Uo()}));function ns(e,t){let n=new Uint8Array(e.n),r=new Float64Array(e.n),i=new Float64Array(e.n),a=0;for(let o=0;o<e.n;o++){let s=e.nodes[o],c=[t.pinned.get(s.id),s.before?.position,s.after?.position].find(is);c!==void 0&&(n[o]=1,r[o]=c.x,i[o]=c.y,a++)}return{fixed:n,x:r,y:i,count:a}}function rs(e,t,n){let r=Jo(),i=ma(t),a=Vo(e),o=i.scope??(a.nodes.length>i.largeGraphThreshold?`changes`:`all`),s=Zo(a,o,i.contextHops,i.hubDegree),c=Go(a,s.visible,{fontSize:i.fontSize,nodeRadius:n}),l=ns(c,i),u=i.strategy??(l.count>0?`anchored`:`union`),d=u===`anchored`&&l.count>0,f={graph:c,options:i,x:d?l.x:new Float64Array(c.n),y:d?l.y:new Float64Array(c.n)},p=d?no(f,l.fixed):to(f),m=new Map,h=new Map;for(let e=0;e<c.n;e++){let t=c.nodes[e].id,n=d&&l.fixed[e]===1,r=n?f.x[e]:Ti(f.x[e]),i=n?f.y[e]:Ti(f.y[e]);m.set(t,Object.freeze({x:r,y:i})),h.set(t,c.radius[e])}return qo({graph:c,positions:m,radii:h,hidden:s.hidden,scope:o,strategy:u,iterations:p,started:r})}var is,as=t((()=>{vo(),Ko(),X(),va(),Xo(),$o(),Uo(),is=e=>e!==void 0&&Number.isFinite(e.x)&&Number.isFinite(e.y)}));function os(e,t){return rs(e,t,cs)}function ss(e,t,n,r){return es(e,t,n,r,cs)}function cs(e){return Math.min(14,Math.max(4,4+2.2*Math.sqrt(Math.max(0,e))))}var ls=t((()=>{ts(),as()})),us=n({diff:()=>mr,extendLayout:()=>ss,layoutDiff:()=>os});t((()=>{hr(),ls()}))();var ds=`KgdiffCompute`;globalThis[ds]=us})();