qgraphflow 0.0.6

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 (78) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.claude-plugin/marketplace.json +17 -0
  3. package/.claude-plugin/plugin.json +13 -0
  4. package/.codex-plugin/plugin.json +26 -0
  5. package/.cursor-plugin/plugin.json +9 -0
  6. package/.qoder-plugin/plugin.json +9 -0
  7. package/LICENSE +21 -0
  8. package/README.md +262 -0
  9. package/THIRD_PARTY_NOTICES.md +190 -0
  10. package/bin/qgraphflow.mjs +17 -0
  11. package/docs/clients.de.md +83 -0
  12. package/docs/clients.es.md +83 -0
  13. package/docs/clients.ja.md +83 -0
  14. package/docs/clients.md +83 -0
  15. package/docs/clients.pt.md +83 -0
  16. package/docs/clients.ru.md +83 -0
  17. package/docs/clients.zh-CN.md +83 -0
  18. package/docs/readme/README.de.md +262 -0
  19. package/docs/readme/README.es.md +262 -0
  20. package/docs/readme/README.ja.md +262 -0
  21. package/docs/readme/README.pt.md +262 -0
  22. package/docs/readme/README.ru.md +262 -0
  23. package/docs/readme/README.zh-CN.md +264 -0
  24. package/examples/order-flow.graph.json +94 -0
  25. package/package.json +61 -0
  26. package/skills/q-flow/SKILL.md +69 -0
  27. package/skills/q-flow/agents/openai.yaml +5 -0
  28. package/skills/q-flow/assets/layout-dist/ELK-LICENSE.md +264 -0
  29. package/skills/q-flow/assets/layout-dist/worker.mjs +24 -0
  30. package/skills/q-flow/assets/viewer/package.json +22 -0
  31. package/skills/q-flow/assets/viewer/src/diagrams/architecture.js +43 -0
  32. package/skills/q-flow/assets/viewer/src/diagrams/card.js +21 -0
  33. package/skills/q-flow/assets/viewer/src/diagrams/class.js +52 -0
  34. package/skills/q-flow/assets/viewer/src/diagrams/dataflow.js +19 -0
  35. package/skills/q-flow/assets/viewer/src/diagrams/deployment.js +41 -0
  36. package/skills/q-flow/assets/viewer/src/diagrams/drawing.js +174 -0
  37. package/skills/q-flow/assets/viewer/src/diagrams/er.js +34 -0
  38. package/skills/q-flow/assets/viewer/src/diagrams/flowchart.js +37 -0
  39. package/skills/q-flow/assets/viewer/src/diagrams/registry.js +28 -0
  40. package/skills/q-flow/assets/viewer/src/diagrams/sequence.js +38 -0
  41. package/skills/q-flow/assets/viewer/src/diagrams/state.js +91 -0
  42. package/skills/q-flow/assets/viewer/src/diagrams/usecase.js +28 -0
  43. package/skills/q-flow/assets/viewer/src/edge-routing.js +596 -0
  44. package/skills/q-flow/assets/viewer/src/export-svg.js +90 -0
  45. package/skills/q-flow/assets/viewer/src/graph-validation.js +286 -0
  46. package/skills/q-flow/assets/viewer/src/i18n-messages.json +1314 -0
  47. package/skills/q-flow/assets/viewer/src/i18n.js +14 -0
  48. package/skills/q-flow/assets/viewer/src/layout-measure.js +55 -0
  49. package/skills/q-flow/assets/viewer/src/layout-quality.js +164 -0
  50. package/skills/q-flow/assets/viewer/src/layout-spacing.js +12 -0
  51. package/skills/q-flow/assets/viewer/src/node-svg.js +28 -0
  52. package/skills/q-flow/assets/viewer/src/radix-colors.js +47 -0
  53. package/skills/q-flow/assets/viewer/src/sequence-executions.js +140 -0
  54. package/skills/q-flow/assets/viewer/src/sequence-fragments.js +208 -0
  55. package/skills/q-flow/assets/viewer/src/session-graph.js +43 -0
  56. package/skills/q-flow/assets/viewer/src/text-layout.js +126 -0
  57. package/skills/q-flow/assets/viewer/src/visual-style.js +158 -0
  58. package/skills/q-flow/assets/viewer-dist/index.html +291 -0
  59. package/skills/q-flow/references/acceptance.md +11 -0
  60. package/skills/q-flow/references/evidence-sources.md +38 -0
  61. package/skills/q-flow/references/graph-common.md +54 -0
  62. package/skills/q-flow/references/graph-schema.md +214 -0
  63. package/skills/q-flow/references/guided-intake.md +100 -0
  64. package/skills/q-flow/references/types/architecture.md +41 -0
  65. package/skills/q-flow/references/types/class.md +40 -0
  66. package/skills/q-flow/references/types/dataflow.md +41 -0
  67. package/skills/q-flow/references/types/deployment.md +37 -0
  68. package/skills/q-flow/references/types/er.md +36 -0
  69. package/skills/q-flow/references/types/flowchart.md +47 -0
  70. package/skills/q-flow/references/types/sequence.md +74 -0
  71. package/skills/q-flow/references/types/state.md +44 -0
  72. package/skills/q-flow/references/types/usecase.md +39 -0
  73. package/skills/q-flow/references/viewer-development.md +258 -0
  74. package/skills/q-flow/references/visual-contract.md +54 -0
  75. package/skills/q-flow/scripts/compile-layout.mjs +565 -0
  76. package/skills/q-flow/scripts/compile-sequence.mjs +112 -0
  77. package/skills/q-flow/scripts/generate-viewer.mjs +126 -0
  78. package/skills/q-flow/scripts/validate-graph.mjs +278 -0
@@ -0,0 +1,291 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <script type="text/plain" id="third-party-notices">
5
+ MIT License
6
+
7
+ Copyright (c) 2026 QGraphFlow contributors
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+
27
+ # Third-Party Notices
28
+
29
+ QGraphFlow includes or derives from the components listed below. Versions are
30
+ those locked for the QGraphFlow viewer. Copyright notices and license terms are
31
+ reproduced below.
32
+
33
+ ## EPL-2.0 layout component
34
+
35
+ The generation worker bundles `elkjs` 0.11.0 (Eclipse Layout Kernel),
36
+ licensed under the Eclipse Public License 2.0. The complete license is
37
+ included at `skills/q-flow/assets/layout-dist/ELK-LICENSE.md`.
38
+ The Viewer HTML does not include this generation-only worker.
39
+
40
+ Corresponding source: https://github.com/kieler/elkjs/tree/0.11.0
41
+ and https://github.com/eclipse-elk/elk. QGraphFlow does not modify ELK;
42
+ `skills/q-flow/assets/viewer/build-layout.mjs` bundles the pinned distribution.
43
+
44
+ ## MIT-licensed components
45
+
46
+ - `@xyflow/react` 12.11.5 and `@xyflow/system` 0.0.81
47
+ - `classcat` 5.0.5
48
+ - `react` 19.2.8, `react-dom` 19.2.8, `scheduler` 0.27.0, and
49
+ `use-sync-external-store` 1.6.0
50
+ - `zustand` 4.5.7
51
+ - Selected color scales derived from Radix Colors (Slate, Iris, Cyan, Red,
52
+ Amber, Blue, Orange, Teal, Crimson, Violet, Grass, Plum and Indigo, light
53
+ and dark)
54
+
55
+ MIT License
56
+
57
+ Copyright (c) 2019-2025 webkid GmbH
58
+
59
+ Copyright © Jorge Bucaran <<https://jorgebucaran.com>>
60
+
61
+ Copyright (c) Meta Platforms, Inc. and affiliates.
62
+
63
+ Copyright (c) 2019 Paul Henschel
64
+
65
+ Copyright (c) 2021-2022 Modulz
66
+
67
+ Copyright (c) 2022-Present WorkOS
68
+
69
+ Permission is hereby granted, free of charge, to any person obtaining a copy
70
+ of this software and associated documentation files (the "Software"), to deal
71
+ in the Software without restriction, including without limitation the rights
72
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
73
+ copies of the Software, and to permit persons to whom the Software is
74
+ furnished to do so, subject to the following conditions:
75
+
76
+ The above copyright notice and this permission notice shall be included in all
77
+ copies or substantial portions of the Software.
78
+
79
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
80
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
81
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
82
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
83
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
84
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
85
+ SOFTWARE.
86
+
87
+ Upstream sources:
88
+
89
+ - https://github.com/xyflow/xyflow
90
+ - https://github.com/jorgebucaran/classcat
91
+ - https://github.com/facebook/react
92
+ - https://github.com/pmndrs/zustand
93
+ - https://github.com/radix-ui/colors
94
+
95
+ ## ISC-licensed components
96
+
97
+ ### `d3-color` 3.1.0
98
+
99
+ Copyright 2010-2022 Mike Bostock
100
+
101
+ Permission to use, copy, modify, and/or distribute this software for any purpose
102
+ with or without fee is hereby granted, provided that the above copyright notice
103
+ and this permission notice appear in all copies.
104
+
105
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
106
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
107
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
108
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
109
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
110
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
111
+ THIS SOFTWARE.
112
+
113
+ ### Other D3 modules
114
+
115
+ `d3-dispatch` 3.0.1, `d3-drag` 3.0.0, `d3-force` 3.0.0,
116
+ `d3-interpolate` 3.0.1, `d3-quadtree` 3.0.1, `d3-selection` 3.0.0,
117
+ `d3-timer` 3.0.1, `d3-transition` 3.0.1, and `d3-zoom` 3.0.0.
118
+
119
+ Copyright 2010-2021 Mike Bostock
120
+
121
+ Permission to use, copy, modify, and/or distribute this software for any purpose
122
+ with or without fee is hereby granted, provided that the above copyright notice
123
+ and this permission notice appear in all copies.
124
+
125
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
126
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
127
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
128
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
129
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
130
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
131
+ THIS SOFTWARE.
132
+
133
+ ### Lucide icon geometry
134
+
135
+ The interface icon geometry in `icons.jsx` (panels, views, search, play / pause, more, download, lock, reset, sun / moon, close, check, chevron, legend, source, arrow, fit and fullscreen glyphs) is from Lucide.
136
+
137
+ ISC License
138
+
139
+ Copyright (c) 2026 Lucide Icons and Contributors
140
+
141
+ Permission to use, copy, modify, and/or distribute this software for any
142
+ purpose with or without fee is hereby granted, provided that the above
143
+ copyright notice and this permission notice appear in all copies.
144
+
145
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
146
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
147
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
148
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
149
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
150
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
151
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
152
+
153
+ Lucide's upstream license also includes the following MIT notice for icon
154
+ geometry derived from the Feather project:
155
+
156
+ The MIT License (MIT)
157
+
158
+ Copyright (c) 2013-present Cole Bemis
159
+
160
+ Permission is hereby granted, free of charge, to any person obtaining a copy
161
+ of this software and associated documentation files (the "Software"), to deal
162
+ in the Software without restriction, including without limitation the rights
163
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
164
+ copies of the Software, and to permit persons to whom the Software is
165
+ furnished to do so, subject to the following conditions:
166
+
167
+ The above copyright notice and this permission notice shall be included in all
168
+ copies or substantial portions of the Software.
169
+
170
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
171
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
172
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
173
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
174
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
175
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
176
+ SOFTWARE.
177
+
178
+ Upstream sources:
179
+
180
+ - https://github.com/d3
181
+ - https://github.com/lucide-icons/lucide
182
+
183
+ ## BSD-3-Clause component
184
+
185
+ - `d3-ease` 3.0.1
186
+
187
+ Copyright 2010-2021 Mike Bostock
188
+ Copyright 2001 Robert Penner
189
+ All rights reserved.
190
+
191
+ Redistribution and use in source and binary forms, with or without modification,
192
+ are permitted provided that the following conditions are met:
193
+
194
+ * Redistributions of source code must retain the above copyright notice, this
195
+ list of conditions and the following disclaimer.
196
+
197
+ * Redistributions in binary form must reproduce the above copyright notice,
198
+ this list of conditions and the following disclaimer in the documentation
199
+ and/or other materials provided with the distribution.
200
+
201
+ * Neither the name of the author nor the names of contributors may be used to
202
+ endorse or promote products derived from this software without specific prior
203
+ written permission.
204
+
205
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
206
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
207
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
208
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
209
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
210
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
211
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
212
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
213
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
214
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
215
+
216
+ Upstream source: https://github.com/d3/d3-ease
217
+ </script>
218
+ <meta charset="UTF-8" />
219
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
220
+ <meta name="color-scheme" content="light dark" />
221
+ <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect x='6' y='6' width='52' height='52' rx='16' fill='%23203f35'/%3E%3Cpath d='M44 31a12 14 0 1 1-24 0 12 14 0 1 1 24 0M35 37l10 11' fill='none' stroke='white' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E" />
222
+ <title>QGraphFlow</title>
223
+ <script type="module" crossorigin>var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ee(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var F=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},I={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=I,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:ee}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,F)}catch(e){F(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.8`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)}},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.8`})),m=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function P(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?P(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return P(e(t))}catch{}}return null}var ee=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te={pending:!1,data:null,method:null,action:null},ne=[],L=-1;function R(e){return{current:e}}function z(e){0>L||(e.current=ne[L],ne[L]=null,L--)}function B(e,t){L++,ne[L]=e.current,e.current=t}var re=R(null),ie=R(null),ae=R(null),oe=R(null);function se(e,t){switch(B(ae,t),B(ie,e),B(re,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Wd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Wd(t),e=Gd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}z(re),B(re,e)}function ce(){z(re),z(ie),z(ae)}function le(e){e.memoizedState!==null&&B(oe,e);var t=re.current,n=Gd(t,e.type);t!==n&&(B(ie,e),B(re,n))}function ue(e){ie.current===e&&(z(re),z(ie)),oe.current===e&&(z(oe),ep._currentValue=te)}var de,fe;function pe(e){if(de===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);de=t&&t[1]||``,fe=-1<e.stack.indexOf(`
224
+ at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
225
+ `+de+e+fe}var me=!1;function he(e,t){if(!e||me)return``;me=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
226
+ `),l=s.split(`
227
+ `);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
228
+ `+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{me=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?pe(n):``}function ge(e,t){switch(e.tag){case 26:case 27:case 5:return pe(e.type);case 16:return pe(`Lazy`);case 13:return e.child!==t&&t!==null?pe(`Suspense Fallback`):pe(`Suspense`);case 19:return pe(`SuspenseList`);case 0:case 15:return he(e.type,!1);case 11:return he(e.type.render,!1);case 1:return he(e.type,!0);case 31:return pe(`Activity`);default:return``}}function _e(e){try{var t=``,n=null;do t+=ge(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
229
+ Error generating stack: `+e.message+`
230
+ `+e.stack}}var ve=Object.prototype.hasOwnProperty,ye=t.unstable_scheduleCallback,be=t.unstable_cancelCallback,xe=t.unstable_shouldYield,Se=t.unstable_requestPaint,Ce=t.unstable_now,we=t.unstable_getCurrentPriorityLevel,Te=t.unstable_ImmediatePriority,Ee=t.unstable_UserBlockingPriority,De=t.unstable_NormalPriority,Oe=t.unstable_LowPriority,ke=t.unstable_IdlePriority,Ae=t.log,je=t.unstable_setDisableYieldValue,Me=null,Ne=null;function Pe(e){if(typeof Ae==`function`&&je(e),Ne&&typeof Ne.setStrictMode==`function`)try{Ne.setStrictMode(Me,e)}catch{}}var Fe=Math.clz32?Math.clz32:Re,Ie=Math.log,Le=Math.LN2;function Re(e){return e>>>=0,e===0?32:31-(Ie(e)/Le|0)|0}var ze=256,Be=262144,Ve=4194304;function He(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ue(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=He(n))):i=He(o):i=He(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=He(n))):i=He(o)):i=He(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function We(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ge(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ke(){var e=Ve;return Ve<<=1,!(Ve&62914560)&&(Ve=4194304),e}function qe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Je(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ye(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Fe(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&Xe(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function Xe(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Fe(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function Ze(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Fe(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function Qe(e,t){var n=t&-t;return n=n&42?1:$e(n),(n&(e.suspendedLanes|t))===0?n:0}function $e(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function et(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function tt(){var e=I.p;return e===0?(e=window.event,e===void 0?32:hp(e.type)):e}function nt(e,t){var n=I.p;try{return I.p=e,t()}finally{I.p=n}}var rt=Math.random().toString(36).slice(2),it=`__reactFiber$`+rt,at=`__reactProps$`+rt,ot=`__reactContainer$`+rt,st=`__reactEvents$`+rt,ct=`__reactListeners$`+rt,lt=`__reactHandles$`+rt,ut=`__reactResources$`+rt,dt=`__reactMarker$`+rt;function ft(e){delete e[it],delete e[at],delete e[st],delete e[ct],delete e[lt]}function pt(e){var t=e[it];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ot]||n[it]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=mf(e);e!==null;){if(n=e[it])return n;e=mf(e)}return t}e=n,n=e.parentNode}return null}function mt(e){if(e=e[it]||e[ot]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function ht(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function gt(e){var t=e[ut];return t||=e[ut]={hoistableStyles:new Map,hoistableScripts:new Map},t}function _t(e){e[dt]=!0}var vt=new Set,yt={};function bt(e,t){xt(e,t),xt(e+`Capture`,t)}function xt(e,t){for(yt[e]=t,e=0;e<t.length;e++)vt.add(t[e])}var St=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),Ct={},wt={};function Tt(e){return ve.call(wt,e)?!0:ve.call(Ct,e)?!1:St.test(e)?wt[e]=!0:(Ct[e]=!0,!1)}function Et(e,t,n){if(Tt(t)){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}}function Dt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Ot(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function kt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function At(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function jt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Mt(e){if(!e._valueTracker){var t=At(e)?`checked`:`value`;e._valueTracker=jt(e,t,``+e[t])}}function Nt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=At(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function Pt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Ft=/[\n"\\]/g;function It(e){return e.replace(Ft,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Lt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+kt(t)):e.value!==``+kt(t)&&(e.value=``+kt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):zt(e,o,kt(n)):zt(e,o,kt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+kt(s):e.removeAttribute(`name`)}function Rt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Mt(e);return}n=n==null?``:``+kt(n),t=t==null?n:``+kt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Mt(e)}function zt(e,t,n){t===`number`&&Pt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Bt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+kt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Vt(e,t,n){if(t!=null&&(t=``+kt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+kt(n)}function Ht(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(ee(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=kt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Mt(e)}function Ut(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Wt=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function Gt(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||Wt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function Kt(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&Gt(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&Gt(e,o,t[o])}function qt(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var Jt=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),Yt=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Xt(e){return Yt.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function Zt(){}var Qt=null;function $t(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var en=null,tn=null;function nn(e){var t=mt(e);if(t&&(e=t.stateNode)){var n=e[at]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Lt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+It(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[at]||null;if(!a)throw Error(i(90));Lt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Nt(r)}break a;case`textarea`:Vt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Bt(e,!!n.multiple,t,!1)}}}var rn=!1;function an(e,t,n){if(rn)return e(t,n);rn=!0;try{return e(t)}finally{if(rn=!1,(en!==null||tn!==null)&&(xu(),en&&(t=en,e=tn,tn=en=null,nn(t),e)))for(t=0;t<e.length;t++)nn(e[t])}}function on(e,t){var n=e.stateNode;if(n===null)return null;var r=n[at]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var sn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),cn=!1;if(sn)try{var ln={};Object.defineProperty(ln,"passive",{get:function(){cn=!0}}),window.addEventListener(`test`,ln,ln),window.removeEventListener(`test`,ln,ln)}catch{cn=!1}var un=null,dn=null,fn=null;function pn(){if(fn)return fn;var e,t=dn,n=t.length,r,i=`value`in un?un.value:un.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return fn=i.slice(e,1<r?1-r:void 0)}function mn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function hn(){return!0}function gn(){return!1}function _n(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?hn:gn,this.isPropagationStopped=gn,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=hn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=hn)},persist:function(){},isPersistent:hn}),t}var vn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},yn=_n(vn),bn=h({},vn,{view:0,detail:0}),xn=_n(bn),Sn,Cn,wn,Tn=h({},bn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:In,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==wn&&(wn&&e.type===`mousemove`?(Sn=e.screenX-wn.screenX,Cn=e.screenY-wn.screenY):Cn=Sn=0,wn=e),Sn)},movementY:function(e){return`movementY`in e?e.movementY:Cn}}),En=_n(Tn),Dn=_n(h({},Tn,{dataTransfer:0})),On=_n(h({},bn,{relatedTarget:0})),kn=_n(h({},vn,{animationName:0,elapsedTime:0,pseudoElement:0})),An=_n(h({},vn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),jn=_n(h({},vn,{data:0})),Mn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Nn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Pn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Fn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Pn[e])?!!t[e]:!1}function In(){return Fn}var Ln=_n(h({},bn,{key:function(e){if(e.key){var t=Mn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=mn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Nn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:In,charCode:function(e){return e.type===`keypress`?mn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?mn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Rn=_n(h({},Tn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),zn=_n(h({},bn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:In})),Bn=_n(h({},vn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Vn=_n(h({},Tn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Hn=_n(h({},vn,{newState:0,oldState:0})),Un=[9,13,27,32],Wn=sn&&`CompositionEvent`in window,Gn=null;sn&&`documentMode`in document&&(Gn=document.documentMode);var Kn=sn&&`TextEvent`in window&&!Gn,qn=sn&&(!Wn||Gn&&8<Gn&&11>=Gn),Jn=` `,Yn=!1;function Xn(e,t){switch(e){case`keyup`:return Un.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Zn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Qn=!1;function $n(e,t){switch(e){case`compositionend`:return Zn(t);case`keypress`:return t.which===32?(Yn=!0,Jn):null;case`textInput`:return e=t.data,e===Jn&&Yn?null:e;default:return null}}function er(e,t){if(Qn)return e===`compositionend`||!Wn&&Xn(e,t)?(e=pn(),fn=dn=un=null,Qn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return qn&&t.locale!==`ko`?null:t.data;default:return null}}var tr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function nr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!tr[e.type]:t===`textarea`}function rr(e,t,n,r){en?tn?tn.push(r):tn=[r]:en=r,t=Od(t,`onChange`),0<t.length&&(n=new yn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var ir=null,ar=null;function or(e){xd(e,0)}function sr(e){if(Nt(ht(e)))return e}function cr(e,t){if(e===`change`)return t}var lr=!1;if(sn){var ur;if(sn){var dr=`oninput`in document;if(!dr){var fr=document.createElement(`div`);fr.setAttribute(`oninput`,`return;`),dr=typeof fr.oninput==`function`}ur=dr}else ur=!1;lr=ur&&(!document.documentMode||9<document.documentMode)}function pr(){ir&&(ir.detachEvent(`onpropertychange`,mr),ar=ir=null)}function mr(e){if(e.propertyName===`value`&&sr(ar)){var t=[];rr(t,ar,e,$t(e)),an(or,t)}}function hr(e,t,n){e===`focusin`?(pr(),ir=t,ar=n,ir.attachEvent(`onpropertychange`,mr)):e===`focusout`&&pr()}function gr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return sr(ar)}function _r(e,t){if(e===`click`)return sr(t)}function vr(e,t){if(e===`input`||e===`change`)return sr(t)}function yr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var br=typeof Object.is==`function`?Object.is:yr;function xr(e,t){if(br(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!ve.call(t,i)||!br(e[i],t[i]))return!1}return!0}function Sr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Cr(e,t){var n=Sr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Sr(n)}}function wr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?wr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Tr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Pt(e.document)}return t}function Er(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Dr=sn&&`documentMode`in document&&11>=document.documentMode,Or=null,kr=null,Ar=null,jr=!1;function Mr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;jr||Or==null||Or!==Pt(r)||(r=Or,`selectionStart`in r&&Er(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ar&&xr(Ar,r)||(Ar=r,r=Od(kr,`onSelect`),0<r.length&&(t=new yn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Or)))}function Nr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Pr={animationend:Nr(`Animation`,`AnimationEnd`),animationiteration:Nr(`Animation`,`AnimationIteration`),animationstart:Nr(`Animation`,`AnimationStart`),transitionrun:Nr(`Transition`,`TransitionRun`),transitionstart:Nr(`Transition`,`TransitionStart`),transitioncancel:Nr(`Transition`,`TransitionCancel`),transitionend:Nr(`Transition`,`TransitionEnd`)},Fr={},Ir={};sn&&(Ir=document.createElement(`div`).style,`AnimationEvent`in window||(delete Pr.animationend.animation,delete Pr.animationiteration.animation,delete Pr.animationstart.animation),`TransitionEvent`in window||delete Pr.transitionend.transition);function Lr(e){if(Fr[e])return Fr[e];if(!Pr[e])return e;var t=Pr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Ir)return Fr[e]=t[n];return e}var Rr=Lr(`animationend`),zr=Lr(`animationiteration`),Br=Lr(`animationstart`),Vr=Lr(`transitionrun`),Hr=Lr(`transitionstart`),Ur=Lr(`transitioncancel`),Wr=Lr(`transitionend`),Gr=new Map,Kr=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);Kr.push(`scrollEnd`);function qr(e,t){Gr.set(e,t),bt(t,[e])}var Jr=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},Yr=[],Xr=0,Zr=0;function Qr(){for(var e=Xr,t=Zr=Xr=0;t<e;){var n=Yr[t];Yr[t++]=null;var r=Yr[t];Yr[t++]=null;var i=Yr[t];Yr[t++]=null;var a=Yr[t];if(Yr[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&ni(n,i,a)}}function $r(e,t,n,r){Yr[Xr++]=e,Yr[Xr++]=t,Yr[Xr++]=n,Yr[Xr++]=r,Zr|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function ei(e,t,n,r){return $r(e,t,n,r),ri(e)}function ti(e,t){return $r(e,null,null,t),ri(e)}function ni(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Fe(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function ri(e){if(50<fu)throw fu=0,pu=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var ii={};function ai(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function oi(e,t,n,r){return new ai(e,t,n,r)}function si(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ci(e,t){var n=e.alternate;return n===null?(n=oi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function li(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ui(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)si(e)&&(s=1);else if(typeof e==`string`)s=Gf(e,n,re.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case k:return e=oi(31,n,t,a),e.elementType=k,e.lanes=o,e;case y:return di(n.children,a,o,t);case b:s=8,a|=24;break;case x:return e=oi(12,n,t,a|2),e.elementType=x,e.lanes=o,e;case T:return e=oi(13,n,t,a),e.elementType=T,e.lanes=o,e;case E:return e=oi(19,n,t,a),e.elementType=E,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:s=10;break a;case S:s=9;break a;case w:s=11;break a;case D:s=14;break a;case O:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=oi(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function di(e,t,n,r){return e=oi(7,e,r,t),e.lanes=n,e}function fi(e,t,n){return e=oi(6,e,null,t),e.lanes=n,e}function pi(e){var t=oi(18,null,null,0);return t.stateNode=e,t}function mi(e,t,n){return t=oi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var hi=new WeakMap;function gi(e,t){if(typeof e==`object`&&e){var n=hi.get(e);return n===void 0?(t={value:e,source:t,stack:_e(t)},hi.set(e,t),t):n}return{value:e,source:t,stack:_e(t)}}var _i=[],vi=0,yi=null,bi=0,xi=[],Si=0,Ci=null,wi=1,Ti=``;function Ei(e,t){_i[vi++]=bi,_i[vi++]=yi,yi=e,bi=t}function Di(e,t,n){xi[Si++]=wi,xi[Si++]=Ti,xi[Si++]=Ci,Ci=e;var r=wi;e=Ti;var i=32-Fe(r)-1;r&=~(1<<i),n+=1;var a=32-Fe(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,wi=1<<32-Fe(t)+i|n<<i|r,Ti=a+e}else wi=1<<a|n<<i|r,Ti=e}function Oi(e){e.return!==null&&(Ei(e,1),Di(e,1,0))}function ki(e){for(;e===yi;)yi=_i[--vi],_i[vi]=null,bi=_i[--vi],_i[vi]=null;for(;e===Ci;)Ci=xi[--Si],xi[Si]=null,Ti=xi[--Si],xi[Si]=null,wi=xi[--Si],xi[Si]=null}function Ai(e,t){xi[Si++]=wi,xi[Si++]=Ti,xi[Si++]=Ci,wi=t.id,Ti=t.overflow,Ci=e}var ji=null,Mi=null,V=!1,Ni=null,Pi=!1,Fi=Error(i(519));function Ii(e){throw Hi(gi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Fi}function Li(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[it]=e,t[at]=r,n){case`dialog`:X(`cancel`,t),X(`close`,t);break;case`iframe`:case`object`:case`embed`:X(`load`,t);break;case`video`:case`audio`:for(n=0;n<yd.length;n++)X(yd[n],t);break;case`source`:X(`error`,t);break;case`img`:case`image`:case`link`:X(`error`,t),X(`load`,t);break;case`details`:X(`toggle`,t);break;case`input`:X(`invalid`,t),Rt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:X(`invalid`,t);break;case`textarea`:X(`invalid`,t),Ht(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Pd(t.textContent,n)?(r.popover!=null&&(X(`beforetoggle`,t),X(`toggle`,t)),r.onScroll!=null&&X(`scroll`,t),r.onScrollEnd!=null&&X(`scrollend`,t),r.onClick!=null&&(t.onclick=Zt),t=!0):t=!1,t||Ii(e,!0)}function Ri(e){for(ji=e.return;ji;)switch(ji.tag){case 5:case 31:case 13:Pi=!1;return;case 27:case 3:Pi=!0;return;default:ji=ji.return}}function zi(e){if(e!==ji)return!1;if(!V)return Ri(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||Kd(e.type,e.memoizedProps)),n=!n),n&&Mi&&Ii(e),Ri(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));Mi=pf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));Mi=pf(e)}else t===27?(t=Mi,ef(e.type)?(e=ff,ff=null,Mi=e):Mi=t):Mi=ji?df(e.stateNode.nextSibling):null;return!0}function Bi(){Mi=ji=null,V=!1}function Vi(){var e=Ni;return e!==null&&(Ql===null?Ql=e:Ql.push.apply(Ql,e),Ni=null),e}function Hi(e){Ni===null?Ni=[e]:Ni.push(e)}var Ui=R(null),Wi=null,Gi=null;function Ki(e,t,n){B(Ui,t._currentValue),t._currentValue=n}function qi(e){e._currentValue=Ui.current,z(Ui)}function Ji(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Yi(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),Ji(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),Ji(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function Xi(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;br(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===oe.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[ep]:e.push(ep))}a=a.return}e!==null&&Yi(t,e,n,r),t.flags|=262144}function Zi(e){for(e=e.firstContext;e!==null;){if(!br(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Qi(e){Wi=e,Gi=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function $i(e){return ta(Wi,e)}function ea(e,t){return Wi===null&&Qi(e),ta(e,t)}function ta(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Gi===null){if(e===null)throw Error(i(308));Gi=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Gi=Gi.next=t;return n}var na=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ra=t.unstable_scheduleCallback,ia=t.unstable_NormalPriority,aa={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function oa(){return{controller:new na,data:new Map,refCount:0}}function sa(e){e.refCount--,e.refCount===0&&ra(ia,function(){e.controller.abort()})}var ca=null,la=0,ua=0,da=null;function fa(e,t){if(ca===null){var n=ca=[];la=0,ua=pd(),da={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return la++,t.then(pa,pa),t}function pa(){if(--la===0&&ca!==null){da!==null&&(da.status=`fulfilled`);var e=ca;ca=null,ua=0,da=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function ma(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var ha=F.S;F.S=function(e,t){tu=Ce(),typeof t==`object`&&t&&typeof t.then==`function`&&fa(e,t),ha!==null&&ha(e,t)};var ga=R(null);function _a(){var e=ga.current;return e===null?Rl.pooledCache:e}function va(e,t){t===null?B(ga,ga.current):B(ga,t.pool)}function ya(){var e=_a();return e===null?null:{parent:aa._currentValue,pool:e}}var ba=Error(i(460)),xa=Error(i(474)),Sa=Error(i(542)),Ca={then:function(){}};function wa(e){return e=e.status,e===`fulfilled`||e===`rejected`}function Ta(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(Zt,Zt),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Oa(e),e;default:if(typeof t.status==`string`)t.then(Zt,Zt);else{if(e=Rl,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Oa(e),e}throw Da=t,ba}}function Ea(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Da=e,ba):e}}var Da=null;function H(){if(Da===null)throw Error(i(459));var e=Da;return Da=null,e}function Oa(e){if(e===ba||e===Sa)throw Error(i(483))}var ka=null,Aa=0;function ja(e){var t=Aa;return Aa+=1,ka===null&&(ka=[]),Ta(ka,e,t)}function Ma(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Na(e,t){throw t.$$typeof===g?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Pa(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=ci(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=fi(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===O&&Ea(i)===t.type)?(t=a(t,n.props),Ma(t,n),t.return=e,t):(t=ui(n.type,n.key,n.props,null,e.mode,r),Ma(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=mi(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=di(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=fi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=ui(t.type,t.key,t.props,null,e.mode,n),Ma(n,t),n.return=e,n;case v:return t=mi(t,e.mode,n),t.return=e,t;case O:return t=Ea(t),f(e,t,n)}if(ee(t)||M(t))return t=di(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,ja(t),n);if(t.$$typeof===C)return f(e,ea(e,t),n);Na(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case O:return n=Ea(n),p(e,t,n,r)}if(ee(n)||M(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,ja(n),r);if(n.$$typeof===C)return p(e,t,ea(e,n),r);Na(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case O:return r=Ea(r),m(e,t,n,r,i)}if(ee(r)||M(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,ja(r),i);if(r.$$typeof===C)return m(e,t,n,ea(t,r),i);Na(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),V&&Ei(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return V&&Ei(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),V&&Ei(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),V&&Ei(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return V&&Ei(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),V&&Ei(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Ea(l)===r.type){n(e,r.sibling),c=a(r,o.props),Ma(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===y?(c=di(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=ui(o.type,o.key,o.props,null,e.mode,c),Ma(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=mi(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Ea(o),b(e,r,o,c)}if(ee(o))return h(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,ja(o),c);if(o.$$typeof===C)return b(e,r,ea(e,o),c);Na(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=fi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Aa=0;var i=b(e,t,n,r);return ka=null,i}catch(t){if(t===ba||t===Sa)throw t;var a=oi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Fa=Pa(!0),Ia=Pa(!1),La=!1;function Ra(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function za(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ba(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Va(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,q&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ri(e),ni(e,null,n),t}return $r(e,r,t,n),ri(e)}function Ha(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}function Ua(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Wa=!1;function Ga(){if(Wa){var e=da;if(e!==null)throw e}}function Ka(e,t,n,r){Wa=!1;var i=e.updateQueue;La=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Y&f)===f:(r&f)===f){f!==0&&f===ua&&(Wa=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:La=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Kl|=o,e.lanes=o,e.memoizedState=d}}function qa(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Ja(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)qa(n[e],t)}var Ya=R(null),Xa=R(0);function Za(e,t){e=Wl,B(Xa,e),B(Ya,t),Wl=e|t.baseLanes}function Qa(){B(Xa,Wl),B(Ya,Ya.current)}function $a(){Wl=Xa.current,z(Ya),z(Xa)}var eo=R(null),to=null;function no(e){var t=e.alternate;B(so,so.current&1),B(eo,e),to===null&&(t===null||Ya.current!==null||t.memoizedState!==null)&&(to=e)}function ro(e){B(so,so.current),B(eo,e),to===null&&(to=e)}function io(e){e.tag===22?(B(so,so.current),B(eo,e),to===null&&(to=e)):ao(e)}function ao(){B(so,so.current),B(eo,eo.current)}function oo(e){z(eo),to===e&&(to=null),z(so)}var so=R(0);function co(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||cf(n)||lf(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var lo=0,U=null,W=null,G=null,uo=!1,fo=!1,po=!1,mo=0,ho=0,go=null,_o=0;function vo(){throw Error(i(321))}function yo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!br(e[n],t[n]))return!1;return!0}function bo(e,t,n,r,i,a){return lo=a,U=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,F.H=e===null||e.memoizedState===null?Ls:Rs,po=!1,a=n(r,i),po=!1,fo&&(a=So(t,n,r,i)),xo(e),a}function xo(e){F.H=Is;var t=W!==null&&W.next!==null;if(lo=0,G=W=U=null,uo=!1,ho=0,go=null,t)throw Error(i(300));e===null||tc||(e=e.dependencies,e!==null&&Zi(e)&&(tc=!0))}function So(e,t,n,r){U=e;var a=0;do{if(fo&&(go=null),ho=0,fo=!1,25<=a)throw Error(i(301));if(a+=1,G=W=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}F.H=zs,o=t(n,r)}while(fo);return o}function Co(){var e=F.H,t=e.useState()[0];return t=typeof t.then==`function`?Ao(t):t,e=e.useState()[0],(W===null?null:W.memoizedState)!==e&&(U.flags|=1024),t}function wo(){var e=mo!==0;return mo=0,e}function To(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Eo(e){if(uo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}uo=!1}lo=0,G=W=U=null,fo=!1,ho=mo=0,go=null}function Do(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return G===null?U.memoizedState=G=e:G=G.next=e,G}function Oo(){if(W===null){var e=U.alternate;e=e===null?null:e.memoizedState}else e=W.next;var t=G===null?U.memoizedState:G.next;if(t!==null)G=t,W=e;else{if(e===null)throw U.alternate===null?Error(i(467)):Error(i(310));W=e,e={memoizedState:W.memoizedState,baseState:W.baseState,baseQueue:W.baseQueue,queue:W.queue,next:null},G===null?U.memoizedState=G=e:G=G.next=e}return G}function ko(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ao(e){var t=ho;return ho+=1,go===null&&(go=[]),e=Ta(go,e,t),t=U,(G===null?t.memoizedState:G.next)===null&&(t=t.alternate,F.H=t===null||t.memoizedState===null?Ls:Rs),e}function jo(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Ao(e);if(e.$$typeof===C)return $i(e)}throw Error(i(438,String(e)))}function Mo(e){var t=null,n=U.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=U.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=ko(),U.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=A;return t.index++,n}function No(e,t){return typeof t==`function`?t(e):t}function Po(e){return Fo(Oo(),W,e)}function Fo(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(lo&f)===f:(Y&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===ua&&(d=!0);else if((lo&p)===p){u=u.next,p===ua&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,U.lanes|=p,Kl|=p;f=u.action,po&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,U.lanes|=f,Kl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!br(o,e.memoizedState)&&(tc=!0,d&&(n=da,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Io(e){var t=Oo(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);br(o,t.memoizedState)||(tc=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Lo(e,t,n){var r=U,a=Oo(),o=V;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!br((W||a).memoizedState,n);if(s&&(a.memoizedState=n,tc=!0),a=a.queue,cs(Bo.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||G!==null&&G.memoizedState.tag&1){if(r.flags|=2048,rs(9,{destroy:void 0},zo.bind(null,r,a,n,t),null),Rl===null)throw Error(i(349));o||lo&127||Ro(r,t,n)}return n}function Ro(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=U.updateQueue,t===null?(t=ko(),U.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function zo(e,t,n,r){t.value=n,t.getSnapshot=r,Vo(t)&&Ho(e)}function Bo(e,t,n){return n(function(){Vo(t)&&Ho(e)})}function Vo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!br(e,n)}catch{return!0}}function Ho(e){var t=ti(e,2);t!==null&&gu(t,e,2)}function Uo(e){var t=Do();if(typeof e==`function`){var n=e;if(e=n(),po){Pe(!0);try{n()}finally{Pe(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:e},t}function Wo(e,t,n,r){return e.baseState=n,Fo(e,W,typeof r==`function`?r:No)}function Go(e,t,n,r,a){if(Ns(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};F.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Ko(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Ko(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=F.T,o={};F.T=o;try{var s=n(i,r),c=F.S;c!==null&&c(o,s),qo(e,t,s)}catch(n){Yo(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),F.T=a}}else try{a=n(i,r),qo(e,t,a)}catch(n){Yo(e,t,n)}}function qo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Jo(e,t,n)},function(n){return Yo(e,t,n)}):Jo(e,t,n)}function Jo(e,t,n){t.status=`fulfilled`,t.value=n,Xo(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Ko(e,n)))}function Yo(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,Xo(t),t=t.next;while(t!==r)}e.action=null}function Xo(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Zo(e,t){return t}function Qo(e,t){if(V){var n=Rl.formState;if(n!==null){a:{var r=U;if(V){if(Mi){b:{for(var i=Mi,a=Pi;i.nodeType!==8;){if(!a){i=null;break b}if(i=df(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Mi=df(i.nextSibling),r=i.data===`F!`;break a}}Ii(r)}r=!1}r&&(t=n[0])}}return n=Do(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Zo,lastRenderedState:t},n.queue=r,n=As.bind(null,U,r),r.dispatch=n,r=Uo(!1),a=Ms.bind(null,U,!1,r.queue),r=Do(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Go.bind(null,U,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function $o(e){return es(Oo(),W,e)}function es(e,t,n){if(t=Fo(e,t,Zo)[0],e=Po(No)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Ao(t)}catch(e){throw e===ba?Sa:e}else r=t;t=Oo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(U.flags|=2048,rs(9,{destroy:void 0},ts.bind(null,i,n),null)),[r,a,e]}function ts(e,t){e.action=t}function ns(e){var t=Oo(),n=W;if(n!==null)return es(t,n,e);Oo(),t=t.memoizedState,n=Oo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function rs(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=U.updateQueue,t===null&&(t=ko(),U.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function is(){return Oo().memoizedState}function as(e,t,n,r){var i=Do();U.flags|=e,i.memoizedState=rs(1|t,{destroy:void 0},n,r===void 0?null:r)}function os(e,t,n,r){var i=Oo();r=r===void 0?null:r;var a=i.memoizedState.inst;W!==null&&r!==null&&yo(r,W.memoizedState.deps)?i.memoizedState=rs(t,a,n,r):(U.flags|=e,i.memoizedState=rs(1|t,a,n,r))}function ss(e,t){as(8390656,8,e,t)}function cs(e,t){os(2048,8,e,t)}function ls(e){U.flags|=4;var t=U.updateQueue;if(t===null)t=ko(),U.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function us(e){var t=Oo().memoizedState;return ls({ref:t,nextImpl:e}),function(){if(q&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function ds(e,t){return os(4,2,e,t)}function fs(e,t){return os(4,4,e,t)}function ps(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ms(e,t,n){n=n==null?null:n.concat([e]),os(4,4,ps.bind(null,t,e),n)}function hs(){}function gs(e,t){var n=Oo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&yo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function _s(e,t){var n=Oo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&yo(t,r[1]))return r[0];if(r=e(),po){Pe(!0);try{e()}finally{Pe(!1)}}return n.memoizedState=[r,t],r}function vs(e,t,n){return n===void 0||lo&1073741824&&!(Y&261930)?e.memoizedState=t:(e.memoizedState=n,e=hu(),U.lanes|=e,Kl|=e,n)}function ys(e,t,n,r){return br(n,t)?n:Ya.current===null?!(lo&42)||lo&1073741824&&!(Y&261930)?(tc=!0,e.memoizedState=n):(e=hu(),U.lanes|=e,Kl|=e,t):(e=vs(e,n,r),br(e,t)||(tc=!0),e)}function bs(e,t,n,r,i){var a=I.p;I.p=a!==0&&8>a?a:8;var o=F.T,s={};F.T=s,Ms(e,!1,t,n);try{var c=i(),l=F.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?js(e,t,ma(c,r),mu(e)):js(e,t,r,mu(e))}catch(n){js(e,t,{then:function(){},status:`rejected`,reason:n},mu())}finally{I.p=a,o!==null&&s.types!==null&&(o.types=s.types),F.T=o}}function xs(){}function Ss(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Cs(e).queue;bs(e,a,t,te,n===null?xs:function(){return ws(e),n(r)})}function Cs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:te,baseState:te,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:te},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ws(e){var t=Cs(e);t.next===null&&(t=e.alternate.memoizedState),js(e,t.next.queue,{},mu())}function Ts(){return $i(ep)}function Es(){return Oo().memoizedState}function Ds(){return Oo().memoizedState}function Os(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=mu();e=Ba(n);var r=Va(t,e,n);r!==null&&(gu(r,t,n),Ha(r,t,n)),t={cache:oa()},e.payload=t;return}t=t.return}}function ks(e,t,n){var r=mu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ns(e)?Ps(t,n):(n=ei(e,t,n,r),n!==null&&(gu(n,e,r),Fs(n,t,r)))}function As(e,t,n){js(e,t,n,mu())}function js(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ns(e))Ps(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,br(s,o))return $r(e,t,i,0),Rl===null&&Qr(),!1}catch{}if(n=ei(e,t,i,r),n!==null)return gu(n,e,r),Fs(n,t,r),!0}return!1}function Ms(e,t,n,r){if(r={lane:2,revertLane:pd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ns(e)){if(t)throw Error(i(479))}else t=ei(e,n,r,2),t!==null&&gu(t,e,2)}function Ns(e){var t=e.alternate;return e===U||t!==null&&t===U}function Ps(e,t){fo=uo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Fs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}var Is={readContext:$i,use:jo,useCallback:vo,useContext:vo,useEffect:vo,useImperativeHandle:vo,useLayoutEffect:vo,useInsertionEffect:vo,useMemo:vo,useReducer:vo,useRef:vo,useState:vo,useDebugValue:vo,useDeferredValue:vo,useTransition:vo,useSyncExternalStore:vo,useId:vo,useHostTransitionStatus:vo,useFormState:vo,useActionState:vo,useOptimistic:vo,useMemoCache:vo,useCacheRefresh:vo};Is.useEffectEvent=vo;var Ls={readContext:$i,use:jo,useCallback:function(e,t){return Do().memoizedState=[e,t===void 0?null:t],e},useContext:$i,useEffect:ss,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),as(4194308,4,ps.bind(null,t,e),n)},useLayoutEffect:function(e,t){return as(4194308,4,e,t)},useInsertionEffect:function(e,t){as(4,2,e,t)},useMemo:function(e,t){var n=Do();t=t===void 0?null:t;var r=e();if(po){Pe(!0);try{e()}finally{Pe(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Do();if(n!==void 0){var i=n(t);if(po){Pe(!0);try{n(t)}finally{Pe(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=ks.bind(null,U,e),[r.memoizedState,e]},useRef:function(e){var t=Do();return e={current:e},t.memoizedState=e},useState:function(e){e=Uo(e);var t=e.queue,n=As.bind(null,U,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:hs,useDeferredValue:function(e,t){return vs(Do(),e,t)},useTransition:function(){var e=Uo(!1);return e=bs.bind(null,U,e.queue,!0,!1),Do().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=U,a=Do();if(V){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Rl===null)throw Error(i(349));Y&127||Ro(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ss(Bo.bind(null,r,o,e),[e]),r.flags|=2048,rs(9,{destroy:void 0},zo.bind(null,r,o,n,t),null),n},useId:function(){var e=Do(),t=Rl.identifierPrefix;if(V){var n=Ti,r=wi;n=(r&~(1<<32-Fe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=mo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=_o++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:Ts,useFormState:Qo,useActionState:Qo,useOptimistic:function(e){var t=Do();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Ms.bind(null,U,!0,n),n.dispatch=t,[e,t]},useMemoCache:Mo,useCacheRefresh:function(){return Do().memoizedState=Os.bind(null,U)},useEffectEvent:function(e){var t=Do(),n={impl:e};return t.memoizedState=n,function(){if(q&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},Rs={readContext:$i,use:jo,useCallback:gs,useContext:$i,useEffect:cs,useImperativeHandle:ms,useInsertionEffect:ds,useLayoutEffect:fs,useMemo:_s,useReducer:Po,useRef:is,useState:function(){return Po(No)},useDebugValue:hs,useDeferredValue:function(e,t){return ys(Oo(),W.memoizedState,e,t)},useTransition:function(){var e=Po(No)[0],t=Oo().memoizedState;return[typeof e==`boolean`?e:Ao(e),t]},useSyncExternalStore:Lo,useId:Es,useHostTransitionStatus:Ts,useFormState:$o,useActionState:$o,useOptimistic:function(e,t){return Wo(Oo(),W,e,t)},useMemoCache:Mo,useCacheRefresh:Ds};Rs.useEffectEvent=us;var zs={readContext:$i,use:jo,useCallback:gs,useContext:$i,useEffect:cs,useImperativeHandle:ms,useInsertionEffect:ds,useLayoutEffect:fs,useMemo:_s,useReducer:Io,useRef:is,useState:function(){return Io(No)},useDebugValue:hs,useDeferredValue:function(e,t){var n=Oo();return W===null?vs(n,e,t):ys(n,W.memoizedState,e,t)},useTransition:function(){var e=Io(No)[0],t=Oo().memoizedState;return[typeof e==`boolean`?e:Ao(e),t]},useSyncExternalStore:Lo,useId:Es,useHostTransitionStatus:Ts,useFormState:ns,useActionState:ns,useOptimistic:function(e,t){var n=Oo();return W===null?(n.baseState=e,[e,n.queue.dispatch]):Wo(n,W,e,t)},useMemoCache:Mo,useCacheRefresh:Ds};zs.useEffectEvent=us;function Bs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Vs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=mu(),i=Ba(r);i.payload=t,n!=null&&(i.callback=n),t=Va(e,i,r),t!==null&&(gu(t,e,r),Ha(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=mu(),i=Ba(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Va(e,i,r),t!==null&&(gu(t,e,r),Ha(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=mu(),r=Ba(n);r.tag=2,t!=null&&(r.callback=t),t=Va(e,r,n),t!==null&&(gu(t,e,n),Ha(t,e,n))}};function Hs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!xr(n,r)||!xr(i,a):!0}function Us(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Vs.enqueueReplaceState(t,t.state,null)}function Ws(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=h({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Gs(e){Jr(e)}function Ks(e){console.error(e)}function qs(e){Jr(e)}function Js(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Ys(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Xs(e,t,n){return n=Ba(n),n.tag=3,n.payload={element:null},n.callback=function(){Js(e,t)},n}function Zs(e){return e=Ba(e),e.tag=3,e}function Qs(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Ys(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Ys(t,n,r),typeof i!=`function`&&(iu===null?iu=new Set([this]):iu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function $s(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Xi(t,n,a,!0),n=eo.current,n!==null){switch(n.tag){case 31:case 13:return to===null?Ou():n.alternate===null&&Gl===0&&(Gl=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===Ca?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),qu(e,r,a)),!1;case 22:return n.flags|=65536,r===Ca?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),qu(e,r,a)),!1}throw Error(i(435,n.tag))}return qu(e,r,a),Ou(),!1}if(V)return t=eo.current,t===null?(r!==Fi&&(t=Error(i(423),{cause:r}),Hi(gi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=gi(r,n),a=Xs(e.stateNode,r,a),Ua(e,a),Gl!==4&&(Gl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Fi&&(e=Error(i(422),{cause:r}),Hi(gi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=gi(o,n),Zl===null?Zl=[o]:Zl.push(o),Gl!==4&&(Gl=2),t===null)return!0;r=gi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=Xs(n.stateNode,r,e),Ua(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(iu===null||!iu.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=Zs(a),Qs(a,e,n,r),Ua(n,a),!1}n=n.return}while(n!==null);return!1}var ec=Error(i(461)),tc=!1;function nc(e,t,n,r){t.child=e===null?Ia(t,null,n,r):Fa(t,e.child,n,r)}function rc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Qi(t),r=bo(e,t,n,o,a,i),s=wo(),e!==null&&!tc?(To(e,t,i),Ec(e,t,i)):(V&&s&&Oi(t),t.flags|=1,nc(e,t,r,i),t.child)}function ic(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!si(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,ac(e,t,a,r,i)):(e=ui(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Dc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?xr:n,n(o,r)&&e.ref===t.ref)return Ec(e,t,i)}return t.flags|=1,e=ci(a,r),e.ref=t.ref,e.return=t,t.child=e}function ac(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(xr(a,r)&&e.ref===t.ref){if(tc=!1,t.pendingProps=r=a,Dc(e,i))e.flags&131072&&(tc=!0);else return t.lanes=e.lanes,Ec(e,t,i)}}return pc(e,t,n,r,i)}function oc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return cc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&va(t,a===null?null:a.cachePool),a===null?Qa():Za(t,a),io(t);else return r=t.lanes=536870912,cc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&va(t,null),Qa(),ao(t)):(va(t,a.cachePool),Za(t,a),ao(t),t.memoizedState=null);return nc(e,t,i,n),t.child}function sc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function cc(e,t,n,r,i){var a=_a();return a=a===null?null:{parent:aa._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&va(t,null),Qa(),io(t),e!==null&&Xi(e,t,r,!0),t.childLanes=i,null}function lc(e,t){return t=xc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function uc(e,t,n){return Fa(t,e.child,null,n),e=lc(t,t.pendingProps),e.flags|=2,oo(t),t.memoizedState=null,e}function dc(e,t,n){var r=t.pendingProps,a=!!(t.flags&128);if(t.flags&=-129,e===null){if(V){if(r.mode===`hidden`)return e=lc(t,r),t.lanes=536870912,sc(null,e);if(ro(t),(e=Mi)?(e=sf(e,Pi),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ci===null?null:{id:wi,overflow:Ti},retryLane:536870912,hydrationErrors:null},n=pi(e),n.return=t,t.child=n,ji=t,Mi=null)):e=null,e===null)throw Ii(t);return t.lanes=536870912,null}return lc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(ro(t),a){if(t.flags&256)t.flags&=-257,t=uc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558))}else if(tc||Xi(e,t,n,!1),a=(n&e.childLanes)!==0,tc||a){if(r=Rl,r!==null&&(s=Qe(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,ti(e,s),gu(r,e,s),ec;Ou(),t=uc(e,t,n)}else e=o.treeContext,Mi=df(s.nextSibling),ji=t,V=!0,Ni=null,Pi=!1,e!==null&&Ai(t,e),t=lc(t,r),t.flags|=4096;return t}return e=ci(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function fc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function pc(e,t,n,r,i){return Qi(t),n=bo(e,t,n,r,void 0,i),r=wo(),e!==null&&!tc?(To(e,t,i),Ec(e,t,i)):(V&&r&&Oi(t),t.flags|=1,nc(e,t,n,i),t.child)}function mc(e,t,n,r,i,a){return Qi(t),t.updateQueue=null,n=So(t,r,n,i),xo(e),r=wo(),e!==null&&!tc?(To(e,t,a),Ec(e,t,a)):(V&&r&&Oi(t),t.flags|=1,nc(e,t,n,a),t.child)}function hc(e,t,n,r,i){if(Qi(t),t.stateNode===null){var a=ii,o=n.contextType;typeof o==`object`&&o&&(a=$i(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Vs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ra(t),o=n.contextType,a.context=typeof o==`object`&&o?$i(o):ii,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Bs(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Vs.enqueueReplaceState(a,a.state,null),Ka(t,r,a,i),Ga(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Ws(n,s);a.props=c;var l=a.context,u=n.contextType;o=ii,typeof u==`object`&&u&&(o=$i(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Us(t,a,r,o),La=!1;var f=t.memoizedState;a.state=f,Ka(t,r,a,i),Ga(),l=t.memoizedState,s||f!==l||La?(typeof d==`function`&&(Bs(t,n,d,r),l=t.memoizedState),(c=La||Hs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,za(e,t),o=t.memoizedProps,u=Ws(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=ii,typeof l==`object`&&l&&(c=$i(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Us(t,a,r,c),La=!1,f=t.memoizedState,a.state=f,Ka(t,r,a,i),Ga();var p=t.memoizedState;o!==d||f!==p||La||e!==null&&e.dependencies!==null&&Zi(e.dependencies)?(typeof s==`function`&&(Bs(t,n,s,r),p=t.memoizedState),(u=La||Hs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Zi(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,fc(e,t),r=!!(t.flags&128),a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Fa(t,e.child,null,i),t.child=Fa(t,null,n,i)):nc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Ec(e,t,i),e}function gc(e,t,n,r){return Bi(),t.flags|=256,nc(e,t,n,r),t.child}var _c={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function vc(e){return{baseLanes:e,cachePool:ya()}}function K(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Yl),e}function yc(e,t,n){var r=t.pendingProps,a=!1,o=!!(t.flags&128),s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:!!(so.current&2)),s&&(a=!0,t.flags&=-129),s=!!(t.flags&32),t.flags&=-33,e===null){if(V){if(a?no(t):ao(t),(e=Mi)?(e=sf(e,Pi),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ci===null?null:{id:wi,overflow:Ti},retryLane:536870912,hydrationErrors:null},n=pi(e),n.return=t,t.child=n,ji=t,Mi=null)):e=null,e===null)throw Ii(t);return lf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(ao(t),a=t.mode,c=xc({mode:`hidden`,children:c},a),r=di(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=vc(n),r.childLanes=K(e,s,n),t.memoizedState=_c,sc(null,r)):(no(t),bc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(no(t),t.flags&=-257,t=Sc(e,t,n)):t.memoizedState===null?(ao(t),c=r.fallback,a=t.mode,r=xc({mode:`visible`,children:r.children},a),c=di(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Fa(t,e.child,null,n),r=t.child,r.memoizedState=vc(n),r.childLanes=K(e,s,n),t.memoizedState=_c,t=sc(null,r)):(ao(t),t.child=e.child,t.flags|=128,t=null);else if(no(t),lf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,Hi({value:r,source:null,stack:null}),t=Sc(e,t,n)}else if(tc||Xi(e,t,n,!1),s=(n&e.childLanes)!==0,tc||s){if(s=Rl,s!==null&&(r=Qe(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,ti(e,r),gu(s,e,r),ec;cf(c)||Ou(),t=Sc(e,t,n)}else cf(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Mi=df(c.nextSibling),ji=t,V=!0,Ni=null,Pi=!1,e!==null&&Ai(t,e),t=bc(t,r.children),t.flags|=4096);return t}return a?(ao(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=ci(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=di(c,a,n,null),c.flags|=2):c=ci(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,sc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=vc(n):(a=c.cachePool,a===null?a=ya():(l=aa._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=K(e,s,n),t.memoizedState=_c,sc(e.child,r)):(no(t),n=e.child,e=n.sibling,n=ci(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function bc(e,t){return t=xc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function xc(e,t){return e=oi(22,e,null,t),e.lanes=0,e}function Sc(e,t,n){return Fa(t,e.child,null,n),e=bc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Cc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ji(e.return,t,n)}function wc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Tc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=so.current,s=!!(o&2);if(s?(o=o&1|2,t.flags|=128):o&=1,B(so,o),nc(e,t,r,n),r=V?bi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Cc(e,n,t);else if(e.tag===19)Cc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&co(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),wc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&co(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}wc(t,!0,n,null,a,r);break;case`together`:wc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Ec(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Kl|=t.lanes,(n&t.childLanes)===0){if(e!==null){if(Xi(e,t,n,!1),(n&t.childLanes)===0)return null}else return null}if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=ci(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ci(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Dc(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&Zi(e)))}function Oc(e,t,n){switch(t.tag){case 3:se(t,t.stateNode.containerInfo),Ki(t,aa,e.memoizedState.cache),Bi();break;case 27:case 5:le(t);break;case 4:se(t,t.stateNode.containerInfo);break;case 10:Ki(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,ro(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(no(t),e=Ec(e,t,n),e===null?null:e.sibling):yc(e,t,n):(no(t),t.flags|=128,null);no(t);break;case 19:var i=!!(e.flags&128);if(r=(n&t.childLanes)!==0,r||=(Xi(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Tc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),B(so,so.current),r)break;return null;case 22:return t.lanes=0,oc(e,t,n,t.pendingProps);case 24:Ki(t,aa,e.memoizedState.cache)}return Ec(e,t,n)}function kc(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps)tc=!0;else{if(!Dc(e,n)&&!(t.flags&128))return tc=!1,Oc(e,t,n);tc=!!(e.flags&131072)}}else tc=!1,V&&t.flags&1048576&&Di(t,bi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ea(t.elementType),t.type=e,typeof e==`function`)si(e)?(r=Ws(e,r),t.tag=1,t=hc(null,t,e,r,n)):(t.tag=0,t=pc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===w){t.tag=11,t=rc(null,t,e,r,n);break a}if(a===D){t.tag=14,t=ic(null,t,e,r,n);break a}}throw t=P(e)||e,Error(i(306,t,``))}}return t;case 0:return pc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Ws(r,t.pendingProps),hc(e,t,r,a,n);case 3:a:{if(se(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,za(e,t),Ka(t,r,null,n);var s=t.memoizedState;if(r=s.cache,Ki(t,aa,r),r!==o.cache&&Yi(t,[aa],n,!0),Ga(),r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=gc(e,t,r,n);break a}if(r!==a){a=gi(Error(i(424)),t),Hi(a),t=gc(e,t,r,n);break a}switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Mi=df(e.firstChild),ji=t,V=!0,Ni=null,Pi=!0,n=Ia(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Bi(),r===a){t=Ec(e,t,n);break a}nc(e,t,r,n)}t=t.child}return t;case 26:return fc(e,t),e===null?(n=jf(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,r=Ud(ae.current).createElement(n),r[it]=t,r[at]=e,Ld(r,n,e),_t(r),t.stateNode=r):t.memoizedState=jf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return le(t),e===null&&V&&(r=t.stateNode=hf(t.type,t.pendingProps,ae.current),ji=t,Pi=!0,a=Mi,ef(t.type)?(ff=a,Mi=df(r.firstChild)):Mi=a),nc(e,t,t.pendingProps.children,n),fc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((a=r=Mi)&&(r=af(r,t.type,t.pendingProps,Pi),r===null?a=!1:(t.stateNode=r,ji=t,Mi=df(r.firstChild),Pi=!1,a=!0)),a||Ii(t)),le(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Kd(a,o)?r=null:s!==null&&Kd(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=bo(e,t,Co,null,null,n),ep._currentValue=a),fc(e,t),nc(e,t,r,n),t.child;case 6:return e===null&&V&&((e=n=Mi)&&(n=of(n,t.pendingProps,Pi),n===null?e=!1:(t.stateNode=n,ji=t,Mi=null,e=!0)),e||Ii(t)),null;case 13:return yc(e,t,n);case 4:return se(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Fa(t,null,r,n):nc(e,t,r,n),t.child;case 11:return rc(e,t,t.type,t.pendingProps,n);case 7:return nc(e,t,t.pendingProps,n),t.child;case 8:return nc(e,t,t.pendingProps.children,n),t.child;case 12:return nc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Ki(t,t.type,r.value),nc(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,Qi(t),a=$i(a),r=r(a),t.flags|=1,nc(e,t,r,n),t.child;case 14:return ic(e,t,t.type,t.pendingProps,n);case 15:return ac(e,t,t.type,t.pendingProps,n);case 19:return Tc(e,t,n);case 31:return dc(e,t,n);case 22:return oc(e,t,n,t.pendingProps);case 24:return Qi(t),r=$i(aa),e===null?(a=_a(),a===null&&(a=Rl,o=oa(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},Ra(t),Ki(t,aa,a)):((e.lanes&n)!==0&&(za(e,t),Ka(t,null,null,n),Ga()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,Ki(t,aa,r),r!==a.cache&&Yi(t,[aa],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),Ki(t,aa,r))),nc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Ac(e){e.flags|=4}function jc(e,t,n,r,i){if((t=!!(e.mode&32))&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i){if(e.stateNode.complete)e.flags|=8192;else if(Tu())e.flags|=8192;else throw Da=Ca,xa}}else e.flags&=-16777217}function Mc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Kf(t)){if(Tu())e.flags|=8192;else throw Da=Ca,xa}}function Nc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Ke(),e.lanes|=t,Xl|=t)}function Pc(e,t){if(!V)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Fc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ic(e,t,n){var r=t.pendingProps;switch(ki(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Fc(t),null;case 1:return Fc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),qi(aa),ce(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(zi(t)?Ac(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Vi())),Fc(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Ac(t),o===null?(Fc(t),jc(t,a,null,r,n)):(Fc(t),Mc(t,o))):o?o===e.memoizedState?(Fc(t),t.flags&=-16777217):(Ac(t),Fc(t),Mc(t,o)):(e=e.memoizedProps,e!==r&&Ac(t),Fc(t),jc(t,a,e,r,n)),null;case 27:if(ue(t),n=ae.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ac(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Fc(t),null}e=re.current,zi(t)?Li(t,e):(e=hf(a,r,n),t.stateNode=e,Ac(t))}return Fc(t),null;case 5:if(ue(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ac(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Fc(t),null}if(o=re.current,zi(t))Li(t,o);else{var s=Ud(ae.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[it]=t,o[at]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Ld(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Ac(t)}}return Fc(t),jc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Ac(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ae.current,zi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=ji,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[it]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Pd(e.nodeValue,n)),e||Ii(t,!0)}else e=Ud(e).createTextNode(r),e[it]=t,t.stateNode=e}return Fc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=zi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[it]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Fc(t),e=!1}else n=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(oo(t),t):(oo(t),null);if(t.flags&128)throw Error(i(558))}return Fc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=zi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[it]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Fc(t),a=!1}else a=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(oo(t),t):(oo(t),null)}return oo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Nc(t,t.updateQueue),Fc(t),null);case 4:return ce(),e===null&&wd(t.stateNode.containerInfo),Fc(t),null;case 10:return qi(t.type),Fc(t),null;case 19:if(z(so),r=t.memoizedState,r===null)return Fc(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)Pc(r,!1);else{if(Gl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=co(e),o!==null){for(t.flags|=128,Pc(r,!1),e=o.updateQueue,t.updateQueue=e,Nc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)li(n,e),n=n.sibling;return B(so,so.current&1|2),V&&Ei(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ce()>nu&&(t.flags|=128,a=!0,Pc(r,!1),t.lanes=4194304)}}else{if(!a){if(e=co(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Nc(t,e),Pc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!V)return Fc(t),null}else 2*Ce()-r.renderingStartTime>nu&&n!==536870912&&(t.flags|=128,a=!0,Pc(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Fc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ce(),e.sibling=null,n=so.current,B(so,a?n&1|2:n&1),V&&Ei(t,r.treeForkCount),e);case 22:case 23:return oo(t),$a(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Fc(t),t.subtreeFlags&6&&(t.flags|=8192)):Fc(t),n=t.updateQueue,n!==null&&Nc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&z(ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),qi(aa),Fc(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Lc(e,t){switch(ki(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return qi(aa),ce(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ue(t),null;case 31:if(t.memoizedState!==null){if(oo(t),t.alternate===null)throw Error(i(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(oo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return z(so),null;case 4:return ce(),null;case 10:return qi(t.type),null;case 22:case 23:return oo(t),$a(),e!==null&&z(ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return qi(aa),null;case 25:return null;default:return null}}function Rc(e,t){switch(ki(t),t.tag){case 3:qi(aa),ce();break;case 26:case 27:case 5:ue(t);break;case 4:ce();break;case 31:t.memoizedState!==null&&oo(t);break;case 13:oo(t);break;case 19:z(so);break;case 10:qi(t.type);break;case 22:case 23:oo(t),$a(),e!==null&&z(ga);break;case 24:qi(aa)}}function zc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Ku(t,t.return,e)}}function Bc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Ku(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Ku(t,t.return,e)}}function Vc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ja(t,n)}catch(t){Ku(e,e.return,t)}}}function Hc(e,t,n){n.props=Ws(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Ku(e,t,n)}}function Uc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Ku(e,t,n)}}function Wc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Ku(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Ku(e,t,n)}else n.current=null}}function Gc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Ku(e,e.return,t)}}function Kc(e,t,n){try{var r=e.stateNode;Rd(r,e.type,n,t),r[at]=t}catch(t){Ku(e,e.return,t)}}function qc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ef(e.type)||e.tag===4}function Jc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||qc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ef(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Yc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Zt));else if(r!==4&&(r===27&&ef(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Yc(e,t,n),e=e.sibling;e!==null;)Yc(e,t,n),e=e.sibling}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&ef(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Ld(t,r,n),t[it]=e,t[at]=n}catch(t){Ku(e,e.return,t)}}var Qc=!1,$c=!1,el=!1,tl=typeof WeakSet==`function`?WeakSet:Set,nl=null;function rl(e,t){if(e=e.containerInfo,Vd=cp,e=Tr(e),Er(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(Hd={focusedElem:e,selectionRange:n},cp=!1,nl=t;nl!==null;)if(t=nl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,nl=e;else for(;nl!==null;){switch(t=nl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=Ws(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Ku(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rf(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:rf(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,nl=e;break}nl=t.return}}function il(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:yl(e,n),r&4&&zc(5,n);break;case 1:if(yl(e,n),r&4){if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Ku(n,n.return,e)}else{var i=Ws(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Ku(n,n.return,e)}}}r&64&&Vc(n),r&512&&Uc(n,n.return);break;case 3:if(yl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Ja(e,t)}catch(e){Ku(n,n.return,e)}}break;case 27:t===null&&r&4&&Zc(n);case 26:case 5:yl(e,n),t===null&&r&4&&Gc(n),r&512&&Uc(n,n.return);break;case 12:yl(e,n);break;case 31:yl(e,n),r&4&&ul(e,n);break;case 13:yl(e,n),r&4&&dl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Xu.bind(null,n),uf(e,n))));break;case 22:if(r=n.memoizedState!==null||Qc,!r){t=t!==null&&t.memoizedState!==null||$c,i=Qc;var a=$c;Qc=r,($c=t)&&!a?xl(e,n,!!(n.subtreeFlags&8772)):yl(e,n),Qc=i,$c=a}break;case 30:break;default:yl(e,n)}}function al(e){var t=e.alternate;t!==null&&(e.alternate=null,al(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&ft(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var ol=null,sl=!1;function cl(e,t,n){for(n=n.child;n!==null;)ll(e,t,n),n=n.sibling}function ll(e,t,n){if(Ne&&typeof Ne.onCommitFiberUnmount==`function`)try{Ne.onCommitFiberUnmount(Me,n)}catch{}switch(n.tag){case 26:$c||Wc(n,t),cl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:$c||Wc(n,t);var r=ol,i=sl;ef(n.type)&&(ol=n.stateNode,sl=!1),cl(e,t,n),gf(n.stateNode),ol=r,sl=i;break;case 5:$c||Wc(n,t);case 6:if(r=ol,i=sl,ol=null,cl(e,t,n),ol=r,sl=i,ol!==null){if(sl)try{(ol.nodeType===9?ol.body:ol.nodeName===`HTML`?ol.ownerDocument.body:ol).removeChild(n.stateNode)}catch(e){Ku(n,t,e)}else try{ol.removeChild(n.stateNode)}catch(e){Ku(n,t,e)}}break;case 18:ol!==null&&(sl?(e=ol,tf(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Pp(e)):tf(ol,n.stateNode));break;case 4:r=ol,i=sl,ol=n.stateNode.containerInfo,sl=!0,cl(e,t,n),ol=r,sl=i;break;case 0:case 11:case 14:case 15:Bc(2,n,t),$c||Bc(4,n,t),cl(e,t,n);break;case 1:$c||(Wc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Hc(n,t,r)),cl(e,t,n);break;case 21:cl(e,t,n);break;case 22:$c=(r=$c)||n.memoizedState!==null,cl(e,t,n),$c=r;break;default:cl(e,t,n)}}function ul(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Pp(e)}catch(e){Ku(t,t.return,e)}}}function dl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Pp(e)}catch(e){Ku(t,t.return,e)}}function fl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new tl),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new tl),t;default:throw Error(i(435,e.tag))}}function pl(e,t){var n=fl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Zu.bind(null,e,t);t.then(r,r)}})}function ml(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(ef(c.type)){ol=c.stateNode,sl=!1;break a}break;case 5:ol=c.stateNode,sl=!1;break a;case 3:case 4:ol=c.stateNode.containerInfo,sl=!0;break a}c=c.return}if(ol===null)throw Error(i(160));ll(o,s,a),ol=null,sl=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)gl(t,e),t=t.sibling}var hl=null;function gl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:ml(t,e),_l(e),r&4&&(Bc(3,e,e.return),zc(3,e),Bc(5,e,e.return));break;case 1:ml(t,e),_l(e),r&512&&($c||n===null||Wc(n,n.return)),r&64&&Qc&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var a=hl;if(ml(t,e),_l(e),r&512&&($c||n===null||Wc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null){if(r===null){if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[dt]||o[it]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head > title`))),Ld(o,r,n),o[it]=e,_t(o),r=o;break a;case`link`:var s=Uf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),Ld(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=Uf(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),Ld(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[it]=e,_t(o),r=o}e.stateNode=r}else Wf(a,e.type,e.stateNode)}else e.stateNode=Rf(a,r,e.memoizedProps)}else o===r?r===null&&e.stateNode!==null&&Kc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Wf(a,e.type,e.stateNode):Rf(a,r,e.memoizedProps))}break;case 27:ml(t,e),_l(e),r&512&&($c||n===null||Wc(n,n.return)),n!==null&&r&4&&Kc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(ml(t,e),_l(e),r&512&&($c||n===null||Wc(n,n.return)),e.flags&32){a=e.stateNode;try{Ut(a,``)}catch(t){Ku(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,Kc(e,a,n===null?a:n.memoizedProps)),r&1024&&(el=!0);break;case 6:if(ml(t,e),_l(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Ku(e,e.return,t)}}break;case 3:if(Hf=null,a=hl,hl=yf(t.containerInfo),ml(t,e),hl=a,_l(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Pp(t.containerInfo)}catch(t){Ku(e,e.return,t)}el&&(el=!1,vl(e));break;case 4:r=hl,hl=yf(e.stateNode.containerInfo),ml(t,e),_l(e),hl=r;break;case 12:ml(t,e),_l(e);break;case 31:ml(t,e),_l(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,pl(e,r)));break;case 13:ml(t,e),_l(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(eu=Ce()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,pl(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=Qc,d=$c;if(Qc=u||a,$c=d||l,ml(t,e),$c=d,Qc=u,_l(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||Qc||$c||bl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Ku(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){Ku(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?nf(m,!0):nf(l.stateNode,!1)}catch(e){Ku(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,pl(e,n))));break;case 19:ml(t,e),_l(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,pl(e,r)));break;case 30:break;case 21:break;default:ml(t,e),_l(e)}}function _l(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(qc(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;Xc(e,Jc(e),a);break;case 5:var o=n.stateNode;n.flags&32&&(Ut(o,``),n.flags&=-33),Xc(e,Jc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Yc(e,Jc(e),s);break;default:throw Error(i(161))}}catch(t){Ku(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function vl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;vl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function yl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)il(e,t.alternate,t),t=t.sibling}function bl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Bc(4,t,t.return),bl(t);break;case 1:Wc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Hc(t,t.return,n),bl(t);break;case 27:gf(t.stateNode);case 26:case 5:Wc(t,t.return),bl(t);break;case 22:t.memoizedState===null&&bl(t);break;case 30:bl(t);break;default:bl(t)}e=e.sibling}}function xl(e,t,n){for(n&&=!!(t.subtreeFlags&8772),t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:xl(i,a,n),zc(4,a);break;case 1:if(xl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Ku(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)qa(c[i],s)}catch(e){Ku(r,r.return,e)}}n&&o&64&&Vc(a),Uc(a,a.return);break;case 27:Zc(a);case 26:case 5:xl(i,a,n),n&&r===null&&o&4&&Gc(a),Uc(a,a.return);break;case 12:xl(i,a,n);break;case 31:xl(i,a,n),n&&o&4&&ul(i,a);break;case 13:xl(i,a,n),n&&o&4&&dl(i,a);break;case 22:a.memoizedState===null&&xl(i,a,n),Uc(a,a.return);break;case 30:break;default:xl(i,a,n)}t=t.sibling}}function Sl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&sa(n))}function Cl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&sa(e))}function wl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Tl(e,t,n,r),t=t.sibling}function Tl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:wl(e,t,n,r),i&2048&&zc(9,t);break;case 1:wl(e,t,n,r);break;case 3:wl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&sa(e)));break;case 12:if(i&2048){wl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Ku(t,t.return,e)}}else wl(e,t,n,r);break;case 31:wl(e,t,n,r);break;case 13:wl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?wl(e,t,n,r):(a._visibility|=2,El(e,t,n,r,!!(t.subtreeFlags&10256)||!1)):a._visibility&2?wl(e,t,n,r):Dl(e,t),i&2048&&Sl(o,t);break;case 24:wl(e,t,n,r),i&2048&&Cl(t.alternate,t);break;default:wl(e,t,n,r)}}function El(e,t,n,r,i){for(i&&=!!(t.subtreeFlags&10256)||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:El(a,o,s,c,i),zc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,El(a,o,s,c,i)):u._visibility&2?El(a,o,s,c,i):Dl(a,o),i&&l&2048&&Sl(o.alternate,o);break;case 24:El(a,o,s,c,i),i&&l&2048&&Cl(o.alternate,o);break;default:El(a,o,s,c,i)}t=t.sibling}}function Dl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Dl(n,r),i&2048&&Sl(r.alternate,r);break;case 24:Dl(n,r),i&2048&&Cl(r.alternate,r);break;default:Dl(n,r)}t=t.sibling}}var Ol=8192;function kl(e,t,n){if(e.subtreeFlags&Ol)for(e=e.child;e!==null;)Al(e,t,n),e=e.sibling}function Al(e,t,n){switch(e.tag){case 26:kl(e,t,n),e.flags&Ol&&e.memoizedState!==null&&qf(n,hl,e.memoizedState,e.memoizedProps);break;case 5:kl(e,t,n);break;case 3:case 4:var r=hl;hl=yf(e.stateNode.containerInfo),kl(e,t,n),hl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Ol,Ol=16777216,kl(e,t,n),Ol=r):kl(e,t,n));break;default:kl(e,t,n)}}function jl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Ml(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];nl=r,Fl(r,e)}jl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Nl(e),e=e.sibling}function Nl(e){switch(e.tag){case 0:case 11:case 15:Ml(e),e.flags&2048&&Bc(9,e,e.return);break;case 3:Ml(e);break;case 12:Ml(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Pl(e)):Ml(e);break;default:Ml(e)}}function Pl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];nl=r,Fl(r,e)}jl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Bc(8,t,t.return),Pl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Pl(t));break;default:Pl(t)}e=e.sibling}}function Fl(e,t){for(;nl!==null;){var n=nl;switch(n.tag){case 0:case 11:case 15:Bc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:sa(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,nl=r;else a:for(n=e;nl!==null;){r=nl;var i=r.sibling,a=r.return;if(al(r),r===n){nl=null;break a}if(i!==null){i.return=a,nl=i;break a}nl=a}}}var Il={getCacheForType:function(e){var t=$i(aa),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return $i(aa).controller.signal}},Ll=typeof WeakMap==`function`?WeakMap:Map,q=0,Rl=null,J=null,Y=0,zl=0,Bl=null,Vl=!1,Hl=!1,Ul=!1,Wl=0,Gl=0,Kl=0,ql=0,Jl=0,Yl=0,Xl=0,Zl=null,Ql=null,$l=!1,eu=0,tu=0,nu=1/0,ru=null,iu=null,au=0,ou=null,su=null,cu=0,lu=0,uu=null,du=null,fu=0,pu=null;function mu(){return q&2&&Y!==0?Y&-Y:F.T===null?tt():pd()}function hu(){if(Yl===0){if(!(Y&536870912)||V){var e=Be;Be<<=1,!(Be&3932160)&&(Be=262144),Yl=e}else Yl=536870912}return e=eo.current,e!==null&&(e.flags|=32),Yl}function gu(e,t,n){(e===Rl&&(zl===2||zl===9)||e.cancelPendingCommit!==null)&&(Cu(e,0),bu(e,Y,Yl,!1)),Je(e,n),(!(q&2)||e!==Rl)&&(e===Rl&&(!(q&2)&&(ql|=n),Gl===4&&bu(e,Y,Yl,!1)),ad(e))}function _u(e,t,n){if(q&6)throw Error(i(327));var r=!n&&!(t&127)&&(t&e.expiredLanes)===0||We(e,t),a=r?ju(e,t):ku(e,t,!0),o=r;do{if(a===0){Hl&&!r&&bu(e,t,0,!1);break}if(n=e.current.alternate,o&&!yu(n)){a=ku(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=Zl;var l=c.current.memoizedState.isDehydrated;if(l&&(Cu(c,s).flags|=256),s=ku(c,s,!1),s!==2){if(Ul&&!l){c.errorRecoveryDisabledLanes|=o,ql|=o,a=4;break a}o=Ql,Ql=a,o!==null&&(Ql===null?Ql=o:Ql.push.apply(Ql,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){Cu(e,0),bu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:bu(r,t,Yl,!Vl);break a;case 2:Ql=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=eu+300-Ce(),10<a)){if(bu(r,t,Yl,!Vl),Ue(r,0,!0)!==0)break a;cu=t,r.timeoutHandle=Yd(vu.bind(null,r,n,Ql,ru,$l,t,Yl,ql,Xl,Vl,o,`Throttled`,-0,0),a);break a}vu(r,n,Ql,ru,$l,t,Yl,ql,Xl,Vl,o,null,-0,0)}break}while(1);ad(e)}function vu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Zt},Al(t,a,d);var m=(a&62914560)===a?eu-Ce():(a&4194048)===a?tu-Ce():0;if(m=Yf(d,m),m!==null){cu=a,e.cancelPendingCommit=m(Ru.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),bu(e,a,o,!l);return}}Ru(e,t,a,n,r,i,o,s,c)}function yu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!br(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function bu(e,t,n,r){t&=~Jl,t&=~ql,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Fe(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&Xe(e,n,t)}function xu(){return q&6?!0:(od(0,!1),!1)}function Su(){if(J!==null){if(zl===0)var e=J.return;else e=J,Gi=Wi=null,Eo(e),ka=null,Aa=0,e=J;for(;e!==null;)Rc(e.alternate,e),e=e.return;J=null}}function Cu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,Xd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),cu=0,Su(),Rl=e,J=n=ci(e.current,null),Y=t,zl=0,Bl=null,Vl=!1,Hl=We(e,t),Ul=!1,Xl=Yl=Jl=ql=Kl=Gl=0,Ql=Zl=null,$l=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Fe(r),a=1<<i;t|=e[i],r&=~a}return Wl=t,Qr(),n}function wu(e,t){U=null,F.H=Is,t===ba||t===Sa?(t=H(),zl=3):t===xa?(t=H(),zl=4):zl=t===ec?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Bl=t,J===null&&(Gl=1,Js(e,gi(t,e.current)))}function Tu(){var e=eo.current;return e===null?!0:(Y&4194048)===Y?to===null:(Y&62914560)===Y||Y&536870912?e===to:!1}function Eu(){var e=F.H;return F.H=Is,e===null?Is:e}function Du(){var e=F.A;return F.A=Il,e}function Ou(){Gl=4,Vl||(Y&4194048)!==Y&&eo.current!==null||(Hl=!0),!(Kl&134217727)&&!(ql&134217727)||Rl===null||bu(Rl,Y,Yl,!1)}function ku(e,t,n){var r=q;q|=2;var i=Eu(),a=Du();(Rl!==e||Y!==t)&&(ru=null,Cu(e,t)),t=!1;var o=Gl;a:do try{if(zl!==0&&J!==null){var s=J,c=Bl;switch(zl){case 8:Su(),o=6;break a;case 3:case 2:case 9:case 6:eo.current===null&&(t=!0);var l=zl;if(zl=0,Bl=null,Fu(e,s,c,l),n&&Hl){o=0;break a}break;default:l=zl,zl=0,Bl=null,Fu(e,s,c,l)}}Au(),o=Gl;break}catch(t){wu(e,t)}while(1);return t&&e.shellSuspendCounter++,Gi=Wi=null,q=r,F.H=i,F.A=a,J===null&&(Rl=null,Y=0,Qr()),o}function Au(){for(;J!==null;)Nu(J)}function ju(e,t){var n=q;q|=2;var r=Eu(),a=Du();Rl!==e||Y!==t?(ru=null,nu=Ce()+500,Cu(e,t)):Hl=We(e,t);a:do try{if(zl!==0&&J!==null){t=J;var o=Bl;b:switch(zl){case 1:zl=0,Bl=null,Fu(e,t,o,1);break;case 2:case 9:if(wa(o)){zl=0,Bl=null,Pu(t);break}t=function(){zl!==2&&zl!==9||Rl!==e||(zl=7),ad(e)},o.then(t,t);break a;case 3:zl=7;break a;case 4:zl=5;break a;case 7:wa(o)?(zl=0,Bl=null,Pu(t)):(zl=0,Bl=null,Fu(e,t,o,7));break;case 5:var s=null;switch(J.tag){case 26:s=J.memoizedState;case 5:case 27:var c=J;if(s?Kf(s):c.stateNode.complete){zl=0,Bl=null;var l=c.sibling;if(l!==null)J=l;else{var u=c.return;u===null?J=null:(J=u,Iu(u))}break b}}zl=0,Bl=null,Fu(e,t,o,5);break;case 6:zl=0,Bl=null,Fu(e,t,o,6);break;case 8:Su(),Gl=6;break a;default:throw Error(i(462))}}Mu();break}catch(t){wu(e,t)}while(1);return Gi=Wi=null,F.H=r,F.A=a,q=n,J===null?(Rl=null,Y=0,Qr(),Gl):0}function Mu(){for(;J!==null&&!xe();)Nu(J)}function Nu(e){var t=kc(e.alternate,e,Wl);e.memoizedProps=e.pendingProps,t===null?Iu(e):J=t}function Pu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=mc(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=mc(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Eo(t);default:Rc(n,t),t=J=li(t,Wl),t=kc(n,t,Wl)}e.memoizedProps=e.pendingProps,t===null?Iu(e):J=t}function Fu(e,t,n,r){Gi=Wi=null,Eo(t),ka=null,Aa=0;var i=t.return;try{if($s(e,i,t,n,Y)){Gl=1,Js(e,gi(n,e.current)),J=null;return}}catch(t){if(i!==null)throw J=i,t;Gl=1,Js(e,gi(n,e.current)),J=null;return}t.flags&32768?(V||r===1?e=!0:Hl||Y&536870912?e=!1:(Vl=e=!0,(r===2||r===9||r===3||r===6)&&(r=eo.current,r!==null&&r.tag===13&&(r.flags|=16384))),Lu(t,e)):Iu(t)}function Iu(e){var t=e;do{if(t.flags&32768){Lu(t,Vl);return}e=t.return;var n=Ic(t.alternate,t,Wl);if(n!==null){J=n;return}if(t=t.sibling,t!==null){J=t;return}J=t=e}while(t!==null);Gl===0&&(Gl=5)}function Lu(e,t){do{var n=Lc(e.alternate,e);if(n!==null){n.flags&=32767,J=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){J=e;return}J=e=n}while(e!==null);Gl=6,J=null}function Ru(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do Uu();while(au!==0);if(q&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=Zr,Ye(e,n,o,s,c,l),e===Rl&&(J=Rl=null,Y=0),su=t,ou=e,cu=n,lu=o,uu=a,du=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Qu(De,function(){return Wu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=F.T,F.T=null,a=I.p,I.p=2,s=q,q|=4;try{rl(e,t,n)}finally{q=s,I.p=a,F.T=r}}au=1,zu(),Bu(),Vu()}}function zu(){if(au===1){au=0;var e=ou,t=su,n=!!(t.flags&13878);if(t.subtreeFlags&13878||n){n=F.T,F.T=null;var r=I.p;I.p=2;var i=q;q|=4;try{gl(t,e);var a=Hd,o=Tr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&wr(s.ownerDocument.documentElement,s)){if(c!==null&&Er(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Cr(s,h),v=Cr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}cp=!!Vd,Hd=Vd=null}finally{q=i,I.p=r,F.T=n}}e.current=t,au=2}}function Bu(){if(au===2){au=0;var e=ou,t=su,n=!!(t.flags&8772);if(t.subtreeFlags&8772||n){n=F.T,F.T=null;var r=I.p;I.p=2;var i=q;q|=4;try{il(e,t.alternate,t)}finally{q=i,I.p=r,F.T=n}}au=3}}function Vu(){if(au===4||au===3){au=0,Se();var e=ou,t=su,n=cu,r=du;t.subtreeFlags&10256||t.flags&10256?au=5:(au=0,su=ou=null,Hu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(iu=null),et(n),t=t.stateNode,Ne&&typeof Ne.onCommitFiberRoot==`function`)try{Ne.onCommitFiberRoot(Me,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=F.T,i=I.p,I.p=2,F.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{F.T=t,I.p=i}}cu&3&&Uu(),ad(e),i=e.pendingLanes,n&261930&&i&42?e===pu?fu++:(fu=0,pu=e):fu=0,od(0,!1)}}function Hu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,sa(t)))}function Uu(){return zu(),Bu(),Vu(),Wu()}function Wu(){if(au!==5)return!1;var e=ou,t=lu;lu=0;var n=et(cu),r=F.T,a=I.p;try{I.p=32>n?32:n,F.T=null,n=uu,uu=null;var o=ou,s=cu;if(au=0,su=ou=null,cu=0,q&6)throw Error(i(331));var c=q;if(q|=4,Nl(o.current),Tl(o,o.current,s,n),q=c,od(0,!1),Ne&&typeof Ne.onPostCommitFiberRoot==`function`)try{Ne.onPostCommitFiberRoot(Me,o)}catch{}return!0}finally{I.p=a,F.T=r,Hu(e,t)}}function Gu(e,t,n){t=gi(n,t),t=Xs(e.stateNode,t,2),e=Va(e,t,2),e!==null&&(Je(e,2),ad(e))}function Ku(e,t,n){if(e.tag===3)Gu(e,e,n);else for(;t!==null;){if(t.tag===3){Gu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(iu===null||!iu.has(r))){e=gi(n,e),n=Zs(2),r=Va(t,n,2),r!==null&&(Qs(n,r,t,e),Je(r,2),ad(r));break}}t=t.return}}function qu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ll;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Ul=!0,i.add(n),e=Ju.bind(null,e,t,n),t.then(e,e))}function Ju(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Rl===e&&(Y&n)===n&&(Gl===4||Gl===3&&(Y&62914560)===Y&&300>Ce()-eu?!(q&2)&&Cu(e,0):Jl|=n,Xl===Y&&(Xl=0)),ad(e)}function Yu(e,t){t===0&&(t=Ke()),e=ti(e,t),e!==null&&(Je(e,t),ad(e))}function Xu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Yu(e,n)}function Zu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),Yu(e,n)}function Qu(e,t){return ye(e,t)}var $u=null,ed=null,td=!1,nd=!1,rd=!1,id=0;function ad(e){e!==ed&&e.next===null&&(ed===null?$u=ed=e:ed=ed.next=e),nd=!0,td||(td=!0,fd())}function od(e,t){if(!rd&&nd){rd=!0;do for(var n=!1,r=$u;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Fe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,dd(r,a))}else a=Y,a=Ue(r,r===Rl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||We(r,a)||(n=!0,dd(r,a))}r=r.next}while(n);rd=!1}}function sd(){cd()}function cd(){nd=td=!1;var e=0;id!==0&&Jd()&&(e=id);for(var t=Ce(),n=null,r=$u;r!==null;){var i=r.next,a=ld(r,t);a===0?(r.next=null,n===null?$u=i:n.next=i,i===null&&(ed=n)):(n=r,(e!==0||a&3)&&(nd=!0)),r=i}au!==0&&au!==5||od(e,!1),id!==0&&(id=0)}function ld(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Fe(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Ge(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Rl,n=Y,n=Ue(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(zl===2||zl===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&be(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||We(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&be(r),et(n)){case 2:case 8:n=Ee;break;case 32:n=De;break;case 268435456:n=ke;break;default:n=De}return r=ud.bind(null,e),n=ye(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&be(r),e.callbackPriority=2,e.callbackNode=null,2}function ud(e,t){if(au!==0&&au!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Uu()&&e.callbackNode!==n)return null;var r=Y;return r=Ue(e,e===Rl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(_u(e,r,t),ld(e,Ce()),e.callbackNode!=null&&e.callbackNode===n?ud.bind(null,e):null)}function dd(e,t){if(Uu())return null;_u(e,t,!0)}function fd(){Qd(function(){q&6?ye(Te,sd):cd()})}function pd(){if(id===0){var e=ua;e===0&&(e=ze,ze<<=1,!(ze&261888)&&(ze=256)),id=e}return id}function md(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:Xt(``+e)}function hd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function gd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=md((i[at]||null).action),o=r.submitter;o&&(t=(t=o[at]||null)?md(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new yn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(id!==0){var e=o?hd(i,o):new FormData(i);Ss(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?hd(i,o):new FormData(i),Ss(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var _d=0;_d<Kr.length;_d++){var vd=Kr[_d];qr(vd.toLowerCase(),`on`+(vd[0].toUpperCase()+vd.slice(1)))}qr(Rr,`onAnimationEnd`),qr(zr,`onAnimationIteration`),qr(Br,`onAnimationStart`),qr(`dblclick`,`onDoubleClick`),qr(`focusin`,`onFocus`),qr(`focusout`,`onBlur`),qr(Vr,`onTransitionRun`),qr(Hr,`onTransitionStart`),qr(Ur,`onTransitionCancel`),qr(Wr,`onTransitionEnd`),xt(`onMouseEnter`,[`mouseout`,`mouseover`]),xt(`onMouseLeave`,[`mouseout`,`mouseover`]),xt(`onPointerEnter`,[`pointerout`,`pointerover`]),xt(`onPointerLeave`,[`pointerout`,`pointerover`]),bt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),bt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),bt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),bt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),bt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),bt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var yd=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),bd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(yd));function xd(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Jr(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Jr(e)}i.currentTarget=null,a=c}}}}function X(e,t){var n=t[st];n===void 0&&(n=t[st]=new Set);var r=e+`__bubble`;n.has(r)||(Td(t,e,2,!1),n.add(r))}function Sd(e,t,n){var r=0;t&&(r|=4),Td(n,e,r,t)}var Cd=`_reactListening`+Math.random().toString(36).slice(2);function wd(e){if(!e[Cd]){e[Cd]=!0,vt.forEach(function(t){t!==`selectionchange`&&(bd.has(t)||Sd(t,!1,e),Sd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Cd]||(t[Cd]=!0,Sd(`selectionchange`,!1,t))}}function Td(e,t,n,r){switch(hp(t)){case 2:var i=lp;break;case 8:i=up;break;default:i=dp}n=i.bind(null,t,n,e),i=void 0,!cn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Ed(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=pt(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}an(function(){var r=a,i=$t(n),s=[];a:{var c=Gr.get(e);if(c!==void 0){var l=yn,u=e;switch(e){case`keypress`:if(mn(n)===0)break a;case`keydown`:case`keyup`:l=Ln;break;case`focusin`:u=`focus`,l=On;break;case`focusout`:u=`blur`,l=On;break;case`beforeblur`:case`afterblur`:l=On;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=En;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Dn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=zn;break;case Rr:case zr:case Br:l=kn;break;case Wr:l=Bn;break;case`scroll`:case`scrollend`:l=xn;break;case`wheel`:l=Vn;break;case`copy`:case`cut`:case`paste`:l=An;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Rn;break;case`toggle`:case`beforetoggle`:l=Hn}var d=!!(t&4),f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=on(m,p),g!=null&&d.push(Dd(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==Qt&&(u=n.relatedTarget||n.fromElement)&&(pt(u)||u[ot]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?pt(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=En,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Rn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:ht(l),h=u==null?c:ht(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,pt(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=kd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Ad(s,c,l,d,!1),u!==null&&f!==null&&Ad(s,f,u,d,!0)}}a:{if(c=r?ht(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=cr;else if(nr(c)){if(lr)v=vr;else{v=gr;var y=hr}}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&qt(r.elementType)&&(v=cr):v=_r;if(v&&=v(e,r)){rr(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&zt(c,`number`,c.value)}switch(y=r?ht(r):window,e){case`focusin`:(nr(y)||y.contentEditable===`true`)&&(Or=y,kr=r,Ar=null);break;case`focusout`:Ar=kr=Or=null;break;case`mousedown`:jr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:jr=!1,Mr(s,n,i);break;case`selectionchange`:if(Dr)break;case`keydown`:case`keyup`:Mr(s,n,i)}var b;if(Wn)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else Qn?Xn(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(qn&&n.locale!==`ko`&&(Qn||x!==`onCompositionStart`?x===`onCompositionEnd`&&Qn&&(b=pn()):(un=i,dn=`value`in un?un.value:un.textContent,Qn=!0)),y=Od(r,x),0<y.length&&(x=new jn(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=Zn(n),b!==null&&(x.data=b)))),(b=Kn?$n(e,n):er(e,n))&&(x=Od(r,`onBeforeInput`),0<x.length&&(y=new jn(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),gd(s,e,r,n,i)}xd(s,t)})}function Dd(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Od(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=on(e,n),i!=null&&r.unshift(Dd(e,i,a)),i=on(e,t),i!=null&&r.push(Dd(e,i,a))),e.tag===3)return r;e=e.return}return[]}function kd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ad(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=on(n,a),l!=null&&o.unshift(Dd(n,l,c))):i||(l=on(n,a),l!=null&&o.push(Dd(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var jd=/\r\n?/g,Md=/\u0000|\uFFFD/g;function Nd(e){return(typeof e==`string`?e:``+e).replace(jd,`
231
+ `).replace(Md,``)}function Pd(e,t){return t=Nd(t),Nd(e)===t}function Fd(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Ut(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Ut(e,``+r);break;case`className`:Dt(e,`class`,r);break;case`tabIndex`:Dt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Dt(e,n,r);break;case`style`:Kt(e,r,o);break;case`data`:if(t!==`object`){Dt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Xt(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&Fd(e,t,`name`,a.name,a,null),Fd(e,t,`formEncType`,a.formEncType,a,null),Fd(e,t,`formMethod`,a.formMethod,a,null),Fd(e,t,`formTarget`,a.formTarget,a,null)):(Fd(e,t,`encType`,a.encType,a,null),Fd(e,t,`method`,a.method,a,null),Fd(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Xt(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=Zt);break;case`onScroll`:r!=null&&X(`scroll`,e);break;case`onScrollEnd`:r!=null&&X(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=Xt(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:X(`beforetoggle`,e),X(`toggle`,e),Et(e,`popover`,r);break;case`xlinkActuate`:Ot(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Ot(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Ot(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Ot(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Ot(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Ot(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Ot(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Ot(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Ot(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Et(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=Jt.get(n)||n,Et(e,n,r))}}function Id(e,t,n,r,a,o){switch(n){case`style`:Kt(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Ut(e,r):(typeof r==`number`||typeof r==`bigint`)&&Ut(e,``+r);break;case`onScroll`:r!=null&&X(`scroll`,e);break;case`onScrollEnd`:r!=null&&X(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=Zt);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!yt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[at]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Et(e,n,r)}}}function Ld(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:X(`error`,e),X(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Fd(e,t,o,s,n,null)}}a&&Fd(e,t,`srcSet`,n.srcSet,n,null),r&&Fd(e,t,`src`,n.src,n,null);return;case`input`:X(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:Fd(e,t,r,d,n,null)}}Rt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in X(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Fd(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Bt(e,!!r,n,!0):Bt(e,!!r,t,!1);return;case`textarea`:for(s in X(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:Fd(e,t,s,c,n,null)}Ht(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Fd(e,t,l,r,n,null)}return;case`dialog`:X(`beforetoggle`,e),X(`toggle`,e),X(`cancel`,e),X(`close`,e);break;case`iframe`:case`object`:X(`load`,e);break;case`video`:case`audio`:for(r=0;r<yd.length;r++)X(yd[r],e);break;case`image`:X(`error`,e),X(`load`,e);break;case`details`:X(`toggle`,e);break;case`embed`:case`source`:case`link`:X(`error`,e),X(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Fd(e,t,u,r,n,null)}return;default:if(qt(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Id(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Fd(e,t,c,r,n,null))}function Rd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Fd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&Fd(e,t,p,m,r,f)}}Lt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Fd(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Fd(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Bt(e,!!n,n?[]:``,!1):Bt(e,!!n,t,!0)):Bt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Fd(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&Fd(e,t,s,a,r,o)}Vt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Fd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Fd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Fd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:Fd(e,t,u,p,r,m)}return;default:if(qt(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Id(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Id(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Fd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Fd(e,t,f,p,r,m)}function zd(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Bd(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&zd(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&zd(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Vd=null,Hd=null;function Ud(e){return e.nodeType===9?e:e.ownerDocument}function Wd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Gd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Kd(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var qd=null;function Jd(){var e=window.event;return e&&e.type===`popstate`?e!==qd&&(qd=e,!0):(qd=null,!1)}var Yd=typeof setTimeout==`function`?setTimeout:void 0,Xd=typeof clearTimeout==`function`?clearTimeout:void 0,Zd=typeof Promise==`function`?Promise:void 0,Qd=typeof queueMicrotask==`function`?queueMicrotask:Zd===void 0?Yd:function(e){return Zd.resolve(null).then(e).catch($d)};function $d(e){setTimeout(function(){throw e})}function ef(e){return e===`head`}function tf(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Pp(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)gf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,gf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[dt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&gf(e.ownerDocument.body)}n=i}while(n);Pp(t)}function nf(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8){if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++}n=r}while(n)}function rf(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:rf(n),ft(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function af(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[dt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=df(e.nextSibling),e===null)break}return null}function of(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=df(e.nextSibling),e===null))return null;return e}function sf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=df(e.nextSibling),e===null))return null;return e}function cf(e){return e.data===`$?`||e.data===`$~`}function lf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function uf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function df(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var ff=null;function pf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return df(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function mf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function hf(e,t,n){switch(t=Ud(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function gf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);ft(e)}var _f=new Map,vf=new Set;function yf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var bf=I.d;I.d={f:Z,r:xf,D:wf,C:Tf,L:Ef,m:Df,X:kf,S:Of,M:Af};function Z(){var e=bf.f(),t=xu();return e||t}function xf(e){var t=mt(e);t!==null&&t.tag===5&&t.type===`form`?ws(t):bf.r(e)}var Sf=typeof document>`u`?null:document;function Cf(e,t,n){var r=Sf;if(r&&typeof t==`string`&&t){var i=It(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),vf.has(i)||(vf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Ld(t,`link`,e),_t(t),r.head.appendChild(t)))}}function wf(e){bf.D(e),Cf(`dns-prefetch`,e,null)}function Tf(e,t){bf.C(e,t),Cf(`preconnect`,e,t)}function Ef(e,t,n){bf.L(e,t,n);var r=Sf;if(r&&e&&t){var i=`link[rel="preload"][as="`+It(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+It(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+It(n.imageSizes)+`"]`)):i+=`[href="`+It(e)+`"]`;var a=i;switch(t){case`style`:a=Mf(e);break;case`script`:a=If(e)}_f.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),_f.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Nf(a))||t===`script`&&r.querySelector(Lf(a))||(t=r.createElement(`link`),Ld(t,`link`,e),_t(t),r.head.appendChild(t)))}}function Df(e,t){bf.m(e,t);var n=Sf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+It(r)+`"][href="`+It(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=If(e)}if(!_f.has(a)&&(e=h({rel:`modulepreload`,href:e},t),_f.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Lf(a)))return}r=n.createElement(`link`),Ld(r,`link`,e),_t(r),n.head.appendChild(r)}}}function Of(e,t,n){bf.S(e,t,n);var r=Sf;if(r&&e){var i=gt(r).hoistableStyles,a=Mf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Nf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=_f.get(a))&&Bf(e,n);var c=o=r.createElement(`link`);_t(c),Ld(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,zf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function kf(e,t){bf.X(e,t);var n=Sf;if(n&&e){var r=gt(n).hoistableScripts,i=If(e),a=r.get(i);a||(a=n.querySelector(Lf(i)),a||(e=h({src:e,async:!0},t),(t=_f.get(i))&&Vf(e,t),a=n.createElement(`script`),_t(a),Ld(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Af(e,t){bf.M(e,t);var n=Sf;if(n&&e){var r=gt(n).hoistableScripts,i=If(e),a=r.get(i);a||(a=n.querySelector(Lf(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=_f.get(i))&&Vf(e,t),a=n.createElement(`script`),_t(a),Ld(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function jf(e,t,n,r){var a=(a=ae.current)?yf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Mf(n.href),n=gt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Mf(n.href);var o=gt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Nf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),_f.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},_f.set(e,n),o||Ff(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=If(n),n=gt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Mf(e){return`href="`+It(e)+`"`}function Nf(e){return`link[rel="stylesheet"][`+e+`]`}function Pf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Ff(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Ld(t,`link`,n),_t(t),e.head.appendChild(t))}function If(e){return`[src="`+It(e)+`"]`}function Lf(e){return`script[async]`+e}function Rf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+It(n.href)+`"]`);if(r)return t.instance=r,_t(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),_t(r),Ld(r,`style`,a),zf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Mf(n.href);var o=e.querySelector(Nf(a));if(o)return t.state.loading|=4,t.instance=o,_t(o),o;r=Pf(n),(a=_f.get(a))&&Bf(r,a),o=(e.ownerDocument||e).createElement(`link`),_t(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Ld(o,`link`,r),t.state.loading|=4,zf(o,n.precedence,e),t.instance=o;case`script`:return o=If(n.src),(a=e.querySelector(Lf(o)))?(t.instance=a,_t(a),a):(r=n,(a=_f.get(o))&&(r=h({},n),Vf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),_t(a),Ld(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,zf(r,n.precedence,e));return t.instance}function zf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Bf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Vf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Hf=null;function Uf(e,t,n){if(Hf===null){var r=new Map,i=Hf=new Map;i.set(n,r)}else i=Hf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[dt]||a[it]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Wf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Gf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Kf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function qf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Mf(r.href),a=t.querySelector(Nf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Xf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,_t(a);return}a=t.ownerDocument||t,r=Pf(r),(i=_f.get(i))&&Bf(r,i),a=a.createElement(`link`),_t(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Ld(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Xf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Jf=0;function Yf(e,t){return e.stylesheets&&e.count===0&&Qf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Qf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Jf===0&&(Jf=62500*Bd());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Qf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Jf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Xf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Zf=null;function Qf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Zf=new Map,t.forEach($f,e),Zf=null,Xf.call(e))}function $f(e,t){if(!(t.state.loading&4)){var n=Zf.get(e);if(n)var r=n.get(null);else{n=new Map,Zf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Xf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var ep={$$typeof:C,Provider:null,Consumer:null,_currentValue:te,_currentValue2:te,_threadCount:0};function tp(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=qe(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=qe(0),this.hiddenUpdates=qe(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function np(e,t,n,r,i,a,o,s,c,l,u,d){return e=new tp(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=oi(3,null,null,t),e.current=a,a.stateNode=e,t=oa(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ra(a),e}function Q(e){return e?(e=ii,e):ii}function rp(e,t,n,r,i,a){i=Q(i),r.context===null?r.context=i:r.pendingContext=i,r=Ba(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Va(e,r,t),n!==null&&(gu(n,e,t),Ha(n,e,t))}function ip(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ap(e,t){ip(e,t),(e=e.alternate)&&ip(e,t)}function op(e){if(e.tag===13||e.tag===31){var t=ti(e,67108864);t!==null&&gu(t,e,67108864),ap(e,67108864)}}function sp(e){if(e.tag===13||e.tag===31){var t=mu();t=$e(t);var n=ti(e,t);n!==null&&gu(n,e,t),ap(e,t)}}var cp=!0;function lp(e,t,n,r){var i=F.T;F.T=null;var a=I.p;try{I.p=2,dp(e,t,n,r)}finally{I.p=a,F.T=i}}function up(e,t,n,r){var i=F.T;F.T=null;var a=I.p;try{I.p=8,dp(e,t,n,r)}finally{I.p=a,F.T=i}}function dp(e,t,n,r){if(cp){var i=fp(r);if(i===null)Ed(e,t,r,pp,n),wp(e,r);else if(Ep(i,e,t,n,r))r.stopPropagation();else if(wp(e,r),t&4&&-1<Cp.indexOf(e)){for(;i!==null;){var a=mt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=He(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Fe(o);s.entanglements[1]|=c,o&=~c}ad(a),!(q&6)&&(nu=Ce()+500,od(0,!1))}}break;case 31:case 13:s=ti(a,2),s!==null&&gu(s,a,2),xu(),ap(a,2)}if(a=fp(r),a===null&&Ed(e,t,r,pp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Ed(e,t,r,null,n)}}function fp(e){return e=$t(e),mp(e)}var pp=null;function mp(e){if(pp=null,e=pt(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return pp=e,null}function hp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(we()){case Te:return 2;case Ee:return 8;case De:case Oe:return 32;case ke:return 268435456;default:return 32}default:return 32}}var gp=!1,_p=null,vp=null,yp=null,bp=new Map,xp=new Map,Sp=[],Cp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function wp(e,t){switch(e){case`focusin`:case`focusout`:_p=null;break;case`dragenter`:case`dragleave`:vp=null;break;case`mouseover`:case`mouseout`:yp=null;break;case`pointerover`:case`pointerout`:bp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:xp.delete(t.pointerId)}}function Tp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=mt(t),t!==null&&op(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Ep(e,t,n,r,i){switch(t){case`focusin`:return _p=Tp(_p,e,t,n,r,i),!0;case`dragenter`:return vp=Tp(vp,e,t,n,r,i),!0;case`mouseover`:return yp=Tp(yp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return bp.set(a,Tp(bp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,xp.set(a,Tp(xp.get(a)||null,e,t,n,r,i)),!0}return!1}function Dp(e){var t=pt(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,nt(e.priority,function(){sp(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,nt(e.priority,function(){sp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Op(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=fp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Qt=r,n.target.dispatchEvent(r),Qt=null}else return t=mt(n),t!==null&&op(t),e.blockedOn=n,!1;t.shift()}return!0}function kp(e,t,n){Op(e)&&n.delete(t)}function Ap(){gp=!1,_p!==null&&Op(_p)&&(_p=null),vp!==null&&Op(vp)&&(vp=null),yp!==null&&Op(yp)&&(yp=null),bp.forEach(kp),xp.forEach(kp)}function jp(e,n){e.blockedOn===n&&(e.blockedOn=null,gp||(gp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Ap)))}var Mp=null;function Np(e){Mp!==e&&(Mp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Mp===e&&(Mp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(mp(r||n)===null)continue;break}var a=mt(n);a!==null&&(e.splice(t,3),t-=3,Ss(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Pp(e){function t(t){return jp(t,e)}_p!==null&&jp(_p,e),vp!==null&&jp(vp,e),yp!==null&&jp(yp,e),bp.forEach(t),xp.forEach(t);for(var n=0;n<Sp.length;n++){var r=Sp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Sp.length&&(n=Sp[0],n.blockedOn===null);)Dp(n),n.blockedOn===null&&Sp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[at]||null;if(typeof a==`function`)o||Np(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[at]||null)s=o.formAction;else if(mp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Np(n)}}}function Fp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Ip(e){this._internalRoot=e}Lp.prototype.render=Ip.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;rp(n,mu(),e,t,null,null)},Lp.prototype.unmount=Ip.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;rp(e.current,2,null,e,null,null),xu(),t[ot]=null}};function Lp(e){this._internalRoot=e}Lp.prototype.unstable_scheduleHydration=function(e){if(e){var t=tt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Sp.length&&t!==0&&t<Sp[n].priority;n++);Sp.splice(n,0,e),n===0&&Dp(e)}};var Rp=n.version;if(Rp!==`19.2.8`)throw Error(i(527,Rp,`19.2.8`));I.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var zp={bundleType:0,version:`19.2.8`,rendererPackageName:`react-dom`,currentDispatcherRef:F,reconcilerVersion:`19.2.8`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Bp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Bp.isDisabled&&Bp.supportsFiber)try{Me=Bp.inject(zp),Ne=Bp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Gs,s=Ks,c=qs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=np(e,1,!1,null,null,n,r,null,o,s,c,Fp),e[ot]=t.current,wd(e),new Ip(t)}})),g=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),v=o(((e,t)=>{t.exports=_()})),y=c(u(),1),b=g(),x=v();function S(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=S(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var C={value:()=>{}};function w(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new T(n)}function T(e){this._=e}function E(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}T.prototype=w.prototype={constructor:T,on:function(e,t){var n=this._,r=E(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=D(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=O(n[i],e.name,t);else if(t==null)for(i in n)n[i]=O(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new T(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function D(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function O(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=C,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var k={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function A(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),k.hasOwnProperty(t)?{space:k[t],local:e}:e}function j(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function M(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function N(e){var t=A(e);return(t.local?M:j)(t)}function P(){}function ee(e){return e==null?P:function(){return this.querySelector(e)}}function F(e){typeof e!=`function`&&(e=ee(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Lt(r,this._parents)}function I(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function te(){return[]}function ne(e){return e==null?te:function(){return this.querySelectorAll(e)}}function L(e){return function(){return I(e.apply(this,arguments))}}function R(e){e=typeof e==`function`?L(e):ne(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Lt(r,i)}function z(e){return function(){return this.matches(e)}}function B(e){return function(t){return t.matches(e)}}var re=Array.prototype.find;function ie(e){return function(){return re.call(this.children,e)}}function ae(){return this.firstElementChild}function oe(e){return this.select(e==null?ae:ie(typeof e==`function`?e:B(e)))}var se=Array.prototype.filter;function ce(){return Array.from(this.children)}function le(e){return function(){return se.call(this.children,e)}}function ue(e){return this.selectAll(e==null?ce:le(typeof e==`function`?e:B(e)))}function de(e){typeof e!=`function`&&(e=z(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Lt(r,this._parents)}function fe(e){return Array(e.length)}function pe(){return new Lt(this._enter||this._groups.map(fe),this._parents)}function me(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}me.prototype={constructor:me,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function he(e){return function(){return e}}function ge(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new me(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function _e(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new me(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function ve(e){return e.__data__}function ye(e,t){if(!arguments.length)return Array.from(this,ve);var n=t?_e:ge,r=this._parents,i=this._groups;typeof e!=`function`&&(e=he(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=be(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Lt(o,r),o._enter=s,o._exit=c,o}function be(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function xe(){return new Lt(this._exit||this._groups.map(fe),this._parents)}function Se(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Ce(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Lt(s,this._parents)}function we(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function Te(e){e||=Ee;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Lt(i,this._parents).order()}function Ee(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function De(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Oe(){return Array.from(this)}function ke(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function Ae(){let e=0;for(let t of this)++e;return e}function je(){return!this.node()}function Me(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Ne(e){return function(){this.removeAttribute(e)}}function Pe(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Fe(e,t){return function(){this.setAttribute(e,t)}}function Ie(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Le(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Re(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function ze(e,t){var n=A(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Pe:Ne:typeof t==`function`?n.local?Re:Le:n.local?Ie:Fe)(n,t))}function Be(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Ve(e){return function(){this.style.removeProperty(e)}}function He(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Ue(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function We(e,t,n){return arguments.length>1?this.each((t==null?Ve:typeof t==`function`?Ue:He)(e,t,n??``)):Ge(this.node(),e)}function Ge(e,t){return e.style.getPropertyValue(t)||Be(e).getComputedStyle(e,null).getPropertyValue(t)}function Ke(e){return function(){delete this[e]}}function qe(e,t){return function(){this[e]=t}}function Je(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ye(e,t){return arguments.length>1?this.each((t==null?Ke:typeof t==`function`?Je:qe)(e,t)):this.node()[e]}function Xe(e){return e.trim().split(/^|\s+/)}function Ze(e){return e.classList||new Qe(e)}function Qe(e){this._node=e,this._names=Xe(e.getAttribute(`class`)||``)}Qe.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function $e(e,t){for(var n=Ze(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function et(e,t){for(var n=Ze(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function tt(e){return function(){$e(this,e)}}function nt(e){return function(){et(this,e)}}function rt(e,t){return function(){(t.apply(this,arguments)?$e:et)(this,e)}}function it(e,t){var n=Xe(e+``);if(arguments.length<2){for(var r=Ze(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?rt:t?tt:nt)(n,t))}function at(){this.textContent=``}function ot(e){return function(){this.textContent=e}}function st(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function ct(e){return arguments.length?this.each(e==null?at:(typeof e==`function`?st:ot)(e)):this.node().textContent}function lt(){this.innerHTML=``}function ut(e){return function(){this.innerHTML=e}}function dt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function ft(e){return arguments.length?this.each(e==null?lt:(typeof e==`function`?dt:ut)(e)):this.node().innerHTML}function pt(){this.nextSibling&&this.parentNode.appendChild(this)}function mt(){return this.each(pt)}function ht(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function gt(){return this.each(ht)}function _t(e){var t=typeof e==`function`?e:N(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function vt(){return null}function yt(e,t){var n=typeof e==`function`?e:N(e),r=t==null?vt:typeof t==`function`?t:ee(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function bt(){var e=this.parentNode;e&&e.removeChild(this)}function xt(){return this.each(bt)}function St(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Ct(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function wt(e){return this.select(e?Ct:St)}function Tt(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function Et(e){return function(t){e.call(this,t,this.__data__)}}function Dt(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function Ot(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function kt(e,t,n){return function(){var r=this.__on,i,a=Et(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function At(e,t,n){var r=Dt(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?kt:Ot,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function jt(e,t,n){var r=Be(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Mt(e,t){return function(){return jt(this,e,t)}}function Nt(e,t){return function(){return jt(this,e,t.apply(this,arguments))}}function Pt(e,t){return this.each((typeof t==`function`?Nt:Mt)(e,t))}function*Ft(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var It=[null];function Lt(e,t){this._groups=e,this._parents=t}function Rt(){return new Lt([[document.documentElement]],It)}function zt(){return this}Lt.prototype=Rt.prototype={constructor:Lt,select:F,selectAll:R,selectChild:oe,selectChildren:ue,filter:de,data:ye,enter:pe,exit:xe,join:Se,merge:Ce,selection:zt,order:we,sort:Te,call:De,nodes:Oe,node:ke,size:Ae,empty:je,each:Me,attr:ze,style:We,property:Ye,classed:it,text:ct,html:ft,raise:mt,lower:gt,append:_t,insert:yt,remove:xt,clone:wt,datum:Tt,on:At,dispatch:Pt,[Symbol.iterator]:Ft};function Bt(e){return typeof e==`string`?new Lt([[document.querySelector(e)]],[document.documentElement]):new Lt([[e]],It)}function Vt(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Ht(e,t){if(e=Vt(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var Ut={passive:!1},Wt={capture:!0,passive:!1};function Gt(e){e.stopImmediatePropagation()}function Kt(e){e.preventDefault(),e.stopImmediatePropagation()}function qt(e){var t=e.document.documentElement,n=Bt(e).on(`dragstart.drag`,Kt,Wt);`onselectstart`in t?n.on(`selectstart.drag`,Kt,Wt):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Jt(e,t){var n=e.document.documentElement,r=Bt(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,Kt,Wt),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Yt=e=>()=>e;function Xt(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Xt.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Zt(e){return!e.ctrlKey&&!e.button}function Qt(){return this.parentNode}function $t(e,t){return t??{x:e.x,y:e.y}}function en(){return navigator.maxTouchPoints||`ontouchstart`in this}function tn(){var e=Zt,t=Qt,n=$t,r=en,i={},a=w(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,Ut).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(Bt(n.view).on(`mousemove.drag`,m,Wt).on(`mouseup.drag`,h,Wt),qt(n.view),Gt(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(Kt(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){Bt(e.view).on(`mousemove.drag mouseup.drag`,null),Jt(e.view,l),Kt(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(Gt(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(Kt(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Gt(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=Ht(l||r,t),p,m,h;if((h=n.call(e,new Xt(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=Ht(l||a,t),_=o}u.call(r,e,new Xt(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Yt(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Yt(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Yt(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Yt(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function nn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function rn(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function an(){}var on=.7,sn=1/on,cn=`\\s*([+-]?\\d+)\\s*`,ln=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,un=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,dn=/^#([0-9a-f]{3,8})$/,fn=RegExp(`^rgb\\(${cn},${cn},${cn}\\)$`),pn=RegExp(`^rgb\\(${un},${un},${un}\\)$`),mn=RegExp(`^rgba\\(${cn},${cn},${cn},${ln}\\)$`),hn=RegExp(`^rgba\\(${un},${un},${un},${ln}\\)$`),gn=RegExp(`^hsl\\(${ln},${un},${un}\\)$`),_n=RegExp(`^hsla\\(${ln},${un},${un},${ln}\\)$`),vn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};nn(an,Cn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:yn,formatHex:yn,formatHex8:bn,formatHsl:xn,formatRgb:Sn,toString:Sn});function yn(){return this.rgb().formatHex()}function bn(){return this.rgb().formatHex8()}function xn(){return In(this).formatHsl()}function Sn(){return this.rgb().formatRgb()}function Cn(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=dn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?wn(t):n===3?new On(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Tn(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Tn(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=fn.exec(e))?new On(t[1],t[2],t[3],1):(t=pn.exec(e))?new On(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=mn.exec(e))?Tn(t[1],t[2],t[3],t[4]):(t=hn.exec(e))?Tn(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=gn.exec(e))?Fn(t[1],t[2]/100,t[3]/100,1):(t=_n.exec(e))?Fn(t[1],t[2]/100,t[3]/100,t[4]):vn.hasOwnProperty(e)?wn(vn[e]):e===`transparent`?new On(NaN,NaN,NaN,0):null}function wn(e){return new On(e>>16&255,e>>8&255,e&255,1)}function Tn(e,t,n,r){return r<=0&&(e=t=n=NaN),new On(e,t,n,r)}function En(e){return e instanceof an||(e=Cn(e)),e?(e=e.rgb(),new On(e.r,e.g,e.b,e.opacity)):new On}function Dn(e,t,n,r){return arguments.length===1?En(e):new On(e,t,n,r??1)}function On(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}nn(On,Dn,rn(an,{brighter(e){return e=e==null?sn:sn**+e,new On(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?on:on**+e,new On(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new On(Nn(this.r),Nn(this.g),Nn(this.b),Mn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kn,formatHex:kn,formatHex8:An,formatRgb:jn,toString:jn}));function kn(){return`#${Pn(this.r)}${Pn(this.g)}${Pn(this.b)}`}function An(){return`#${Pn(this.r)}${Pn(this.g)}${Pn(this.b)}${Pn((isNaN(this.opacity)?1:this.opacity)*255)}`}function jn(){let e=Mn(this.opacity);return`${e===1?`rgb(`:`rgba(`}${Nn(this.r)}, ${Nn(this.g)}, ${Nn(this.b)}${e===1?`)`:`, ${e})`}`}function Mn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Nn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Pn(e){return e=Nn(e),(e<16?`0`:``)+e.toString(16)}function Fn(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Rn(e,t,n,r)}function In(e){if(e instanceof Rn)return new Rn(e.h,e.s,e.l,e.opacity);if(e instanceof an||(e=Cn(e)),!e)return new Rn;if(e instanceof Rn)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Rn(o,s,c,e.opacity)}function Ln(e,t,n,r){return arguments.length===1?In(e):new Rn(e,t,n,r??1)}function Rn(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}nn(Rn,Ln,rn(an,{brighter(e){return e=e==null?sn:sn**+e,new Rn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?on:on**+e,new Rn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new On(Vn(e>=240?e-240:e+120,i,r),Vn(e,i,r),Vn(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Rn(zn(this.h),Bn(this.s),Bn(this.l),Mn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Mn(this.opacity);return`${e===1?`hsl(`:`hsla(`}${zn(this.h)}, ${Bn(this.s)*100}%, ${Bn(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function zn(e){return e=(e||0)%360,e<0?e+360:e}function Bn(e){return Math.max(0,Math.min(1,e||0))}function Vn(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var Hn=e=>()=>e;function Un(e,t){return function(n){return e+n*t}}function Wn(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Gn(e){return(e=+e)==1?Kn:function(t,n){return n-t?Wn(t,n,e):Hn(isNaN(t)?n:t)}}function Kn(e,t){var n=t-e;return n?Un(e,n):Hn(isNaN(e)?t:e)}var qn=(function e(t){var n=Gn(t);function r(e,t){var r=n((e=Dn(e)).r,(t=Dn(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Kn(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Jn(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Yn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Xn(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=ar(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Zn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Qn(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function $n(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=ar(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var er=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tr=new RegExp(er.source,`g`);function nr(e){return function(){return e}}function rr(e){return function(t){return e(t)+``}}function ir(e,t){var n=er.lastIndex=tr.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=er.exec(e))&&(i=tr.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Qn(r,i)})),n=tr.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?rr(c[0].x):nr(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function ar(e,t){var n=typeof t,r;return t==null||n===`boolean`?Hn(t):(n===`number`?Qn:n===`string`?(r=Cn(t))?(t=r,qn):ir:t instanceof Cn?qn:t instanceof Date?Zn:Yn(t)?Jn:Array.isArray(t)?Xn:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?$n:Qn)(e,t)}var or=180/Math.PI,sr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function cr(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*or,skewX:Math.atan(c)*or,scaleX:o,scaleY:s}}var lr;function ur(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?sr:cr(t.a,t.b,t.c,t.d,t.e,t.f)}function dr(e){return e==null||(lr||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),lr.setAttribute(`transform`,e),!(e=lr.transform.baseVal.consolidate()))?sr:(e=e.matrix,cr(e.a,e.b,e.c,e.d,e.e,e.f))}function fr(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Qn(e,i)},{i:c-2,x:Qn(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Qn(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Qn(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Qn(e,n)},{i:s-2,x:Qn(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var pr=fr(ur,`px, `,`px)`,`deg)`),mr=fr(dr,`, `,`)`,`)`),hr=1e-12;function gr(e){return((e=Math.exp(e))+1/e)/2}function _r(e){return((e=Math.exp(e))-1/e)/2}function vr(e){return((e=Math.exp(2*e))-1)/(e+1)}var yr=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<hr)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=gr(y),c=s/(n*g)*(i*vr(t*r+y)-_r(y));return[a+c*d,o+c*f,s*i/gr(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),br=0,xr=0,Sr=0,Cr=1e3,wr,Tr,Er=0,Dr=0,Or=0,kr=typeof performance==`object`&&performance.now?performance:Date,Ar=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function jr(){return Dr||=(Ar(Mr),kr.now()+Or)}function Mr(){Dr=0}function Nr(){this._call=this._time=this._next=null}Nr.prototype=Pr.prototype={constructor:Nr,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?jr():+n)+(t==null?0:+t),!this._next&&Tr!==this&&(Tr?Tr._next=this:wr=this,Tr=this),this._call=e,this._time=n,zr()},stop:function(){this._call&&(this._call=null,this._time=1/0,zr())}};function Pr(e,t,n){var r=new Nr;return r.restart(e,t,n),r}function Fr(){jr(),++br;for(var e=wr,t;e;)(t=Dr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--br}function Ir(){Dr=(Er=kr.now())+Or,br=xr=0;try{Fr()}finally{br=0,Rr(),Dr=0}}function Lr(){var e=kr.now(),t=e-Er;t>Cr&&(Or-=t,Er=e)}function Rr(){for(var e,t=wr,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:wr=n);Tr=e,zr(r)}function zr(e){br||(xr&&=clearTimeout(xr),e-Dr>24?(e<1/0&&(xr=setTimeout(Ir,e-kr.now()-Or)),Sr&&=clearInterval(Sr)):(Sr||=(Er=kr.now(),setInterval(Lr,Cr)),br=1,Ar(Ir)))}function Br(e,t,n){var r=new Nr;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var Vr=w(`start`,`end`,`cancel`,`interrupt`),Hr=[];function Ur(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;qr(e,n,{name:t,index:r,group:i,on:Vr,tween:Hr,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Wr(e,t){var n=Kr(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function Gr(e,t){var n=Kr(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function Kr(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function qr(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=Pr(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return Br(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(Br(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Jr(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function Yr(e){return this.each(function(){Jr(this,e)})}function Xr(e,t){var n,r;return function(){var i=Gr(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Zr(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=Gr(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function Qr(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Kr(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?Xr:Zr)(n,e,t))}function $r(e,t,n){var r=e._id;return e.each(function(){var e=Gr(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Kr(e,r).value[t]}}function ei(e,t){var n;return(typeof t==`number`?Qn:t instanceof Cn?qn:(n=Cn(t))?(t=n,qn):ir)(e,t)}function ti(e){return function(){this.removeAttribute(e)}}function ni(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ri(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function ii(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function ai(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function oi(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function si(e,t){var n=A(e),r=n===`transform`?mr:ei;return this.attrTween(e,typeof t==`function`?(n.local?oi:ai)(n,r,$r(this,`attr.`+e,t)):t==null?(n.local?ni:ti)(n):(n.local?ii:ri)(n,r,t))}function ci(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function li(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function ui(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&li(e,i)),n}return i._value=t,i}function di(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&ci(e,i)),n}return i._value=t,i}function fi(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=A(e);return this.tween(n,(r.local?ui:di)(r,t))}function pi(e,t){return function(){Wr(this,e).delay=+t.apply(this,arguments)}}function mi(e,t){return t=+t,function(){Wr(this,e).delay=t}}function hi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?pi:mi)(t,e)):Kr(this.node(),t).delay}function gi(e,t){return function(){Gr(this,e).duration=+t.apply(this,arguments)}}function _i(e,t){return t=+t,function(){Gr(this,e).duration=t}}function vi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?gi:_i)(t,e)):Kr(this.node(),t).duration}function yi(e,t){if(typeof t!=`function`)throw Error();return function(){Gr(this,e).ease=t}}function bi(e){var t=this._id;return arguments.length?this.each(yi(t,e)):Kr(this.node(),t).ease}function xi(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();Gr(this,e).ease=n}}function Si(e){if(typeof e!=`function`)throw Error();return this.each(xi(this._id,e))}function Ci(e){typeof e!=`function`&&(e=z(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Zi(r,this._parents,this._name,this._id)}function wi(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new Zi(o,this._parents,this._name,this._id)}function Ti(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function Ei(e,t,n){var r,i,a=Ti(t)?Wr:Gr;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function Di(e,t){var n=this._id;return arguments.length<2?Kr(this.node(),n).on.on(e):this.each(Ei(n,e,t))}function Oi(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function ki(){return this.on(`end.remove`,Oi(this._id))}function Ai(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=ee(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Ur(l[f],t,n,f,l,Kr(u,n)));return new Zi(a,this._parents,t,n)}function ji(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=ne(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Kr(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Ur(p,t,n,h,f,m);a.push(f),o.push(u)}return new Zi(a,o,t,n)}var Mi=Rt.prototype.constructor;function V(){return new Mi(this._groups,this._parents)}function Ni(e,t){var n,r,i;return function(){var a=Ge(this,e),o=(this.style.removeProperty(e),Ge(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function Pi(e){return function(){this.style.removeProperty(e)}}function Fi(e,t,n){var r,i=n+``,a;return function(){var o=Ge(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ii(e,t,n){var r,i,a;return function(){var o=Ge(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Ge(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function Li(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=Gr(this,e),l=c.on,u=c.value[a]==null?s||=Pi(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function Ri(e,t,n){var r=(e+=``)==`transform`?pr:ei;return t==null?this.styleTween(e,Ni(e,r)).on(`end.style.`+e,Pi(e)):typeof t==`function`?this.styleTween(e,Ii(e,r,$r(this,`style.`+e,t))).each(Li(this._id,e)):this.styleTween(e,Fi(e,r,t),n).on(`end.style.`+e,null)}function zi(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Bi(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&zi(e,a,n)),r}return a._value=t,a}function Vi(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,Bi(e,t,n??``))}function Hi(e){return function(){this.textContent=e}}function Ui(e){return function(){var t=e(this);this.textContent=t??``}}function Wi(e){return this.tween(`text`,typeof e==`function`?Ui($r(this,`text`,e)):Hi(e==null?``:e+``))}function Gi(e){return function(t){this.textContent=e.call(this,t)}}function Ki(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Gi(r)),t}return r._value=e,r}function qi(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,Ki(e))}function Ji(){for(var e=this._name,t=this._id,n=Qi(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Kr(c,t);Ur(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Zi(r,this._parents,e,n)}function Yi(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=Gr(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Xi=0;function Zi(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Qi(){return++Xi}var $i=Rt.prototype;Zi.prototype={constructor:Zi,select:Ai,selectAll:ji,selectChild:$i.selectChild,selectChildren:$i.selectChildren,filter:Ci,merge:wi,selection:V,transition:Ji,call:$i.call,nodes:$i.nodes,node:$i.node,size:$i.size,empty:$i.empty,each:$i.each,on:Di,attr:si,attrTween:fi,style:Ri,styleTween:Vi,text:Wi,textTween:qi,remove:ki,tween:Qr,delay:hi,duration:vi,ease:bi,easeVarying:Si,end:Yi,[Symbol.iterator]:$i[Symbol.iterator]};function ea(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var ta={time:null,delay:0,duration:250,ease:ea};function na(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function ra(e){var t,n;e instanceof Zi?(t=e._id,e=e._name):(t=Qi(),(n=ta).time=jr(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Ur(c,e,t,l,o,n||na(c,t));return new Zi(r,this._parents,e,t)}Rt.prototype.interrupt=Yr,Rt.prototype.transition=ra;var ia=e=>()=>e;function aa(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function oa(e,t,n){this.k=e,this.x=t,this.y=n}oa.prototype={constructor:oa,scale:function(e){return e===1?this:new oa(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new oa(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var sa=new oa(1,0,0);ca.prototype=oa.prototype;function ca(e){for(;!e.__zoom;)if(!(e=e.parentNode))return sa;return e.__zoom}function la(e){e.stopImmediatePropagation()}function ua(e){e.preventDefault(),e.stopImmediatePropagation()}function da(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function fa(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function pa(){return this.__zoom||sa}function ma(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ha(){return navigator.maxTouchPoints||`ontouchstart`in this}function ga(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function _a(){var e=da,t=fa,n=ga,r=ma,i=ha,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=yr,l=w(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,pa).on(`wheel.zoom`,T,{passive:!1}).on(`mousedown.zoom`,E).on(`dblclick.zoom`,D).filter(i).on(`touchstart.zoom`,O).on(`touchmove.zoom`,k).on(`touchend.zoom touchcancel.zoom`,A).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,pa),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(sa.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new oa(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new oa(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new oa(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=Bt(this.that).datum();l.call(e,this.that,new aa(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function T(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=Ht(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],Jr(this),s.start();ua(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function E(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=Bt(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=Ht(t,i),l=t.clientX,u=t.clientY;qt(t.view),la(t),a.mouse=[c,this.__zoom.invert(c)],Jr(this),a.start();function d(e){if(ua(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=Ht(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),Jt(e.view,a.moved),ua(e),a.event(e).end()}}function D(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=Ht(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);ua(r),s>0?Bt(this).transition().duration(s).call(x,d,c,r):Bt(this).call(_.transform,d,c,r)}}function O(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(la(t),s=0;s<i;++s)c=r[s],l=Ht(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),Jr(this),a.start())}}function k(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(ua(e),s=0;s<a;++s)c=i[s],l=Ht(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function A(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(la(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=Ht(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=Bt(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:ia(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:ia(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:ia(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:ia([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var va={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>`It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.`,error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>`useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.`,error015:()=>`It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},ya=[[-1/0,-1/0],[1/0,1/0]],ba=[`Enter`,` `,`Escape`],xa={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},Sa;(function(e){e.Strict=`strict`,e.Loose=`loose`})(Sa||={});var Ca;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(Ca||={});var wa;(function(e){e.Partial=`partial`,e.Full=`full`})(wa||={});var Ta={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},Ea;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(Ea||={});var Da;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(Da||={});var H;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(H||={});var Oa={[H.Left]:H.Right,[H.Right]:H.Left,[H.Top]:H.Bottom,[H.Bottom]:H.Top},ka=e=>!!e&&typeof e==`object`&&`id`in e&&`source`in e&&`target`in e,Aa=e=>!!e&&typeof e==`object`&&`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),ja=e=>!!e&&typeof e==`object`&&`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),Ma=(e,t=[0,0])=>{let{width:n,height:r}=G(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},Na=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,r=e.reduce((e,r)=>{let i=typeof r==`string`,a=!t.nodeLookup&&!i?r:void 0;return t.nodeLookup&&(a=i?t.nodeLookup.get(r):ja(r)?r:t.nodeLookup.get(r.id)),a?(n=!0,Ka(e,Xa(a,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?Ja(r):{x:0,y:0,width:0,height:0}},Pa=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=Ka(n,Xa(e)),r=!0)}),r?Ja(n):{x:0,y:0,width:0,height:0}},Fa=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=Qa(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},Ia=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function La(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{let i;if(t?.includeHiddenNodes){let{width:t,height:n}=G(e);i=t>0&&n>0}else i=!!(e.measured.width&&e.measured.height&&!e.hidden);i&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function Ra({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=lo(Pa(La(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function za({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent){if(!s)a?.(`005`,va.error005());else{let{width:e,height:t}=G(s);e&&t&&(d=[[c,l],[c+e,l+t]])}}else s&&W(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=W(d)?Ha(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,va.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function Ba({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=Ia(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var Va=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Ha=(e={x:0,y:0},t,n)=>({x:Va(e.x,t[0][0],t[1][0]-(n?.width??0)),y:Va(e.y,t[0][1],t[1][1]-(n?.height??0))});function Ua(e,t,n){let{width:r,height:i}=G(n),{x:a,y:o}=n.internals.positionAbsolute;return Ha(e,[[a,o],[a+r,o+i]],t)}var Wa=(e,t,n)=>e<t?Va(Math.abs(e-t),1,t)/t:e>n?-Va(Math.abs(e-n),1,t)/t:0,Ga=(e,t,n=15,r=40)=>[Wa(e.x,r,t.width-r)*n,Wa(e.y,r,t.height-r)*n],Ka=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),qa=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Ja=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Ya=(e,t=[0,0])=>{let{x:n,y:r}=ja(e)?e.internals.positionAbsolute:Ma(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},Xa=(e,t=[0,0])=>{let{x:n,y:r}=ja(e)?e.internals.positionAbsolute:Ma(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Za=(e,t)=>Ja(Ka(qa(e),qa(t))),Qa=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},$a=(e,t)=>Qa(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),eo=e=>to(e.width)&&to(e.height)&&to(e.x)&&to(e.y),to=e=>!isNaN(e)&&isFinite(e),no=(e,t)=>(e,t)=>{},ro=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),io=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?ro(s,o):s},ao=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function oo(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function so(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=oo(e,n),i=oo(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=oo(e.top??e.y??0,n),i=oo(e.bottom??e.y??0,n),a=oo(e.left??e.x??0,t),o=oo(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function co(e,t,n,r,i,a){let{x:o,y:s}=ao(e,[t,n,r]),{x:c,y:l}=ao({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var lo=(e,t,n,r,i,a)=>{let o=so(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=Va(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=co(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},U=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function W(e){return e!=null&&e!==`parent`}function G(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function uo(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function fo(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function po(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function mo(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function ho(e){return{...xa,...e||{}}}function go(e){return e===null?null:e?`valid`:`invalid`}function _o(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=Co(e),s=io({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?ro(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var vo=e=>({width:e.offsetWidth,height:e.offsetHeight}),yo=e=>e?.getRootNode?.()||window?.document,bo=[`INPUT`,`SELECT`,`TEXTAREA`];function xo(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?bo.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var So=e=>`clientX`in e,Co=(e,t)=>{let n=So(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},wo=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...vo(t)}})};function To({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function Eo(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Do({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case H.Left:return[t-Eo(t-r,a),n];case H.Right:return[t+Eo(r-t,a),n];case H.Top:return[t,n-Eo(n-i,a)];case H.Bottom:return[t,n+Eo(i-n,a)]}}function Oo({sourceX:e,sourceY:t,sourcePosition:n=H.Bottom,targetX:r,targetY:i,targetPosition:a=H.Top,curvature:o=.25}){let[s,c]=Do({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=Do({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=To({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function ko({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function Ao({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function jo({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=Ka(Xa(e),Xa(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),$a({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},Ja(a))>0}var Mo=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,No=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),Po=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,va.error006()),t;let r=n.getEdgeId||Mo,i;return i=ka(e)?{...e}:{...e,id:r(e)},No(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function Fo({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=ko({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var Io={[H.Left]:{x:-1,y:0},[H.Right]:{x:1,y:0},[H.Top]:{x:0,y:-1},[H.Bottom]:{x:0,y:1}},Lo=({source:e,sourcePosition:t=H.Bottom,target:n})=>t===H.Left||t===H.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Ro=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function zo({source:e,sourcePosition:t=H.Bottom,target:n,targetPosition:r=H.Top,center:i,offset:a,stepPosition:o}){let s=Io[t],c=Io[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=Lo({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=ko({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function Bo(e,t,n,r){let i=Math.min(Ro(e,t)/2,Ro(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function Vo({sourceX:e,sourceY:t,sourcePosition:n=H.Bottom,targetX:r,targetY:i,targetPosition:a=H.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=zo({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=Bo(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function Ho(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Uo(e){let{sourceNode:t,targetNode:n}=e;if(!Ho(t)||!Ho(n))return null;let r=t.internals.handleBounds||Wo(t.handles),i=n.internals.handleBounds||Wo(n.handles),a=Ko(r?.source??[],e.sourceHandle),o=Ko(e.connectionMode===Sa.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,va.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||H.Bottom,c=o?.position||H.Top,l=Go(t,a,s),u=Go(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function Wo(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function Go(e,t,n=H.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??G(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case H.Top:return{x:i+o/2,y:a};case H.Right:return{x:i+o,y:a+s/2};case H.Bottom:return{x:i+o/2,y:a+s};case H.Left:return{x:i,y:a+s/2}}}function Ko(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function qo(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function Jo(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=qo(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var Yo=1e3,Xo=10,Zo={nodeOrigin:[0,0],nodeExtent:ya,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Qo={...Zo,checkEquality:!0};function $o(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function es(e,t,n){let r=$o(Zo,n);for(let n of e.values())if(n.parentId)as(n,e,t,r);else{let e=Ha(Ma(n,r.nodeOrigin),W(n.extent)?n.extent:r.nodeExtent,G(n));n.internals.positionAbsolute=e}}function ts(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function ns(e){return e===`manual`}function rs(e,t,n,r={}){let i=$o(Qo,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!ns(i.zIndexMode)?Yo:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=Ha(Ma(u,i.nodeOrigin),W(u.extent)?u.extent:i.nodeExtent,G(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:ts(u,e),z:os(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&as(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function is(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function as(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=$o(Zo,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}is(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*Xo),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=ss(e,u,o,s,a&&!ns(c)?Yo:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function os(e,t,n){let r=to(e.zIndex)?e.zIndex:0;return ns(n)?r:r+(e.selected?t:0)}function ss(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=G(e),l=Ma(e,n),u=W(e.extent)?Ha(l,e.extent,c):l,d=Ha({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=Ua(d,c,t));let f=os(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function cs(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=Za(a.get(n.parentId)?.expandedRect??Ya(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=G(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function ls(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=vo(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=W(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;if(e.parentId&&e.extent===`parent`){let n=t.get(e.parentId);n&&(h=Ua(h,s,n))}else m&&(h=Ha(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:wo(`source`,r.nodeElement,p,d,e.id),target:wo(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&as(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:Ya(g,i)}))}}if(f.length>0){let e=cs(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function us({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function ds(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function fs(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;ds(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),ds(`target`,s,c,e,i,o),t.set(r.id,r)}}function ps(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:ps(n,t):!1}function ms(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function hs(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!ps(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function gs({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function _s({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=ro(a,t);return{x:o.x-a.x,y:o.y-a.y}}function vs({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=Bt(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?qa(Pa(s)):null,x=v&&l?_s({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:ro(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=za({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=gs({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=Ga(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0,(!m||!y)&&!o&&b&&(i.get(b)?.selected||_()),y&&m&&b&&e?.(b);let v=_o(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=v,s=hs(i,c,v,b),s.size>0&&(n||h||!b&&g)){let[e,t]=gs({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=tn().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=_o(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=Co(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=_o(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=Co(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=Co(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p){p&&s.size>0&&t().updateNodePositions(s,!1);return}if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=gs({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!ms(t,`.${g}`,v))&&(!_||ms(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function ys(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())$a(i,Ya(e))>0&&r.push(e);return r}var bs=250;function xs(e,t,n,r){let i=[],a=1/0,o=ys(e,n,t+bs);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=Go(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function Ss(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...Go(o,c,c.position,!0)}:c}function Cs(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function ws(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var Ts=()=>!0;function Es(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=Ts,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=yo(e.target),E=0,D,{x:O,y:k}=Co(e),A=Cs(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=Ss(i,A,r,c,t);if(!N)return;let P=Co(e,j),ee=!1,F=null,I=!1,te=null;function ne(){if(!u||!j)return;let[e,t]=Ga(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(ne)}let L={...N,nodeId:i,type:A,position:N.position},R=c.get(i),z={inProgress:!0,isValid:null,from:Go(R,L,H.Left,!0),fromHandle:L,fromPosition:L.position,fromNode:R,to:P,toHandle:null,toPosition:Oa[L.position],toNode:null,pointer:P};function B(){M=!0,y(z),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&B();function re(e){if(!M){let{x:t,y:n}=Co(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;B()}if(!x()||!L){ie(e);return}let a=b();P=Co(e,j),D=xs(io(P,a,!1,[1,1]),n,c,L),ee||=(ne(),!0);let s=Ds(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});te=s.handleDomNode,F=s.connection,I=ws(!!D,s.isValid);let u=c.get(i),f=u?Go(u,L,H.Left,!0):z.from,p={...z,from:f,isValid:I,to:s.toHandle&&I?ao({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:I&&s.toHandle?s.toHandle.position:Oa[L.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),z=p}function ie(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||te)&&F&&I&&h?.(F);let{inProgress:t,...n}=z,r={...n,toPosition:z.toHandle?z.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),ee=!1,I=!1,F=null,te=null,T.removeEventListener(`mousemove`,re),T.removeEventListener(`mouseup`,ie),T.removeEventListener(`touchmove`,re),T.removeEventListener(`touchend`,ie)}}T.addEventListener(`mousemove`,re),T.addEventListener(`mouseup`,ie),T.addEventListener(`touchmove`,re),T.addEventListener(`touchend`,ie)}function Ds(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=Ts,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=Co(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=Cs(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===Sa.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=Ss(t,e,a,u,n,!0)}return _}var Os={onPointerDown:Es,isValid:Ds};function ks({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=Bt(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&U()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=_a().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:Ht}}var As=e=>({x:e.x,y:e.y,zoom:e.k}),js=({x:e,y:t,zoom:n})=>sa.translate(e,t).scale(n),Ms=(e,t)=>e.target.closest(`.${t}`),Ns=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Ps=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Fs=(e,t=0,n=Ps,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},Is=e=>{let t=e.ctrlKey&&U()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function Ls({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(Ms(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=Ht(u),t=d*2**Is(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===Ca.Vertical?0:u.deltaX*f,m=i===Ca.Horizontal?0:u.deltaY*f;!U()&&u.shiftKey&&i!==Ca.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=As(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,h):(e.isPanScrolling=!0,s?.(u,h)),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)}}function Rs({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=Ms(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function zs({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=As(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function Bs({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&Ns(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,As(a.transform))}}function Vs({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&Ns(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=As(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function Hs({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:i,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=t||n,m=r&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(Ms(f,`${u}-flow__node`)||Ms(f,`${u}-flow__edge`)||Ms(f,`${u}-flow__selection`)||Ms(f,`${u}-flow__nodesselection`)))return!0;if(!i&&!p&&!a&&!o&&!r||s||d&&!h||Ms(f,c)&&h||Ms(f,l)&&(!h||a&&h&&!t)||!r&&f.ctrlKey&&h)return!1;if(!r&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!i&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(i)&&!i.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h||e)&&g}}function Us({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),d=[[0,0],[u.width,u.height]];(typeof ResizeObserver<`u`?new ResizeObserver(e=>{let t=e[0];t&&(d=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null)?.observe(e);let f=_a().extent(()=>d).scaleExtent([t,n]).translateExtent(r),p=Bt(e).call(f);y({x:i.x,y:i.y,zoom:Va(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(Is);async function g(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?ar:yr).transform(Fs(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function _({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:u,panOnScrollMode:d,panOnScrollSpeed:g,preventScrolling:_,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,panActivationKeyPressed:S=!1,zoomActivationKeyPressed:C,lib:w,onTransformChange:T,connectionInProgress:E,paneClickDistance:D,selectionOnDrag:O}){r&&!l.isZoomingOrPanning&&v();let k=i&&!C&&!r;f.clickDistance(O?1/0:!to(D)||D<0?0:D);let A=k?Ls({zoomPanValues:l,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:d,panOnScrollSpeed:g,zoomOnPinch:y,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):Rs({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:m});p.on(`wheel.zoom`,A,{passive:!1});let j=zs({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:o});f.on(`start`,j);let M=Bs({zoomPanValues:l,panOnDrag:u,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:T});f.on(`zoom`,M);let N=Vs({zoomPanValues:l,panOnDrag:u,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});f.on(`end`,N);let P=Hs({panActivationKeyPressed:S,zoomActivationKeyPressed:C,panOnDrag:u,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:w,connectionInProgress:E});f.filter(P),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function v(){f.on(`zoom`,null)}async function y(e,t,n){let r=js(e),i=f?.constrain()(r,t,n);return i&&await g(i),i}async function b(e,t){let n=js(e);return await g(n,t),n}function x(e){if(p){let t=js(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function S(){let e=p?ca(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function C(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?ar:yr).scaleTo(Fs(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function w(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?ar:yr).scaleBy(Fs(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function T(e){f?.scaleExtent(e)}function E(e){f?.translateExtent(e)}function D(e){let t=!to(e)||e<0?0:e;f?.clickDistance(t)}return{update:_,destroy:v,setViewport:b,setViewportConstrained:y,getViewport:S,scaleTo:C,scaleBy:w,setScaleExtent:T,setTranslateExtent:E,syncViewport:x,setClickDistance:D}}var Ws;(function(e){e.Line=`line`,e.Handle=`handle`})(Ws||={});function Gs({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function Ks(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function qs(e,t){return Math.max(0,t-e)}function Js(e,t){return Math.max(0,e-t)}function Ys(e,t,n){return Math.max(0,t-e,e-n)}function Xs(e,t){return e?!t:t}function Zs(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=Ys(E,h,g),j=Ys(D,_,v);if(o){let e=0,t=0;c&&w<0?e=qs(y+w+O,o[0][0]):!c&&w>0&&(e=Js(y+E+O,o[1][0])),l&&T<0?t=qs(b+T+k,o[0][1]):!l&&T>0&&(t=Js(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=Js(y+w,s[0][0]):!c&&w<0&&(e=qs(y+E,s[1][0])),l&&T>0?t=Js(b+T,s[0][1]):!l&&T<0&&(t=qs(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=Ys(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?Js(b+k+E/C,o[1][1])*C:qs(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?qs(b+E/C,s[1][1])*C:Js(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=Ys(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?Js(y+D*C+O,o[1][0])/C:qs(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?qs(y+D*C,s[1][0])/C:Js(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(Xs(c,l)?-w:w)/C:w=(Xs(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var Qs={width:0,height:0,x:0,y:0},$s={...Qs,pointerX:0,pointerY:0,aspectRatio:1};function ec(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function tc({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=Bt(e),o={controlDirection:Ks(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...Qs},h={...$s};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:Ks(e)};let g,_=null,v=[],y,b,x,S=!1,C=tn().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=_o(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=W(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=ec(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=_o(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:C,height:w}=m,T={},E=g.origin??s,{width:D,height:O,x:k,y:A}=Zs(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,E,b,x),j=D!==C,M=O!==w,N=k!==u&&j,P=A!==f&&M;if(!N&&!P&&!j&&!M)return;if((N||P||E[0]===1||E[1]===1)&&(T.x=N?k:m.x,T.y=P?A:m.y,m.x=T.x,m.y=T.y,v.length>0)){let e=k-u,t=A-f;for(let n of v)n.position={x:n.position.x-e+E[0]*(D-C),y:n.position.y-t+E[1]*(O-w)},l.push(n)}if((j||M)&&(T.width=j&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?D:m.width,T.height=M&&(!o.resizeDirection||o.resizeDirection===`vertical`)?O:m.height,m.width=T.width,m.height=T.height),y&&g.expandParent){let e=E[0]*(T.width??0);T.x&&T.x<e&&(m.x=e,h.x-=T.x-e);let t=E[1]*(T.height??0);T.y&&T.y<t&&(m.y=t,h.y-=T.y-t)}let ee=Gs({width:m.width,prevWidth:C,height:m.height,prevHeight:w,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),F={...m,direction:ee};p?.(e,F)!==!1&&(S=!0,d?.(e,F),r(T,l))}).on(`end`,e=>{S&&=(f?.(e,{...m}),i?.({...m}),!1)});a.call(C)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var nc=o((e=>{var t=u();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),rc=o(((e,t)=>{t.exports=nc()})),ic=o((e=>{var t=u(),n=rc();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,o=t.useRef,s=t.useEffect,c=t.useMemo,l=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,u){var d=o(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=c(function(){function e(e){if(!a){if(a=!0,o=e,e=r(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var n=r(e);return u!==void 0&&u(t,n)?(o=e,t):(o=e,s=n)}var a=!1,o,s,c=n===void 0?null:n;return[function(){return e(t())},c===null?void 0:function(){return e(c())}]},[t,n,r,u]);var p=a(e,d[0],d[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}})),ac=c(o(((e,t)=>{t.exports=ic()}))(),1),oc=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},sc=e=>e?oc(e):oc,{useDebugValue:cc}=y.default,{useSyncExternalStoreWithSelector:lc}=ac.default,uc=e=>e;function dc(e,t=uc,n){let r=lc(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return cc(r),r}var fc=(e,t)=>{let n=sc(e),r=(e,r=t)=>dc(n,e,r);return Object.assign(r,n),r},pc=(e,t)=>e?fc(e,t):fc;function mc(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var hc=m(),gc=(0,y.createContext)(null),_c=gc.Provider,vc=va.error001(`react`);function K(e,t){let n=(0,y.useContext)(gc);if(n===null)throw Error(vc);return dc(n,e,t)}function yc(){let e=(0,y.useContext)(gc);if(e===null)throw Error(vc);return(0,y.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var bc={display:`none`},xc={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},Sc=`react-flow__node-desc`,Cc=`react-flow__edge-desc`,wc=`react-flow__aria-live`,Tc=e=>e.ariaLiveMessage,Ec=e=>e.ariaLabelConfig;function Dc({rfId:e}){let t=K(Tc);return(0,x.jsx)(`div`,{id:`${wc}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:xc,children:t})}function Oc({rfId:e,disableKeyboardA11y:t}){let n=K(Ec);return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`div`,{id:`${Sc}-${e}`,style:bc,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,x.jsx)(`div`,{id:`${Cc}-${e}`,style:bc,children:n[`edge.a11yDescription.default`]}),!t&&(0,x.jsx)(Dc,{rfId:e})]})}var kc=(0,y.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>{let o=`${e}`.split(`-`);return(0,x.jsx)(`div`,{className:S([`react-flow__panel`,n,...o]),style:r,ref:a,...i,children:t})});kc.displayName=`Panel`;var Ac=`https://reactflow.dev?utm_source=attribution`;function jc({proOptions:e,position:t=`bottom-right`}){return(0,y.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,x.jsx)(kc,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${Ac}`,children:(0,x.jsx)(`a`,{href:Ac,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var Mc=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},Nc=e=>e.id;function Pc(e,t){return mc(e.selectedNodes.map(Nc),t.selectedNodes.map(Nc))&&mc(e.selectedEdges.map(Nc),t.selectedEdges.map(Nc))}function Fc({onSelectionChange:e}){let t=yc(),{selectedNodes:n,selectedEdges:r}=K(Mc,Pc);return(0,y.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var Ic=e=>!!e.onSelectionChangeHandlers;function Lc({onSelectionChange:e}){let t=K(Ic);return e||t?(0,x.jsx)(Fc,{onSelectionChange:e}):null}var Rc=[0,0],zc={x:0,y:0,zoom:1},Bc=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],Vc=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Hc={translateExtent:ya,nodeOrigin:Rc,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function Uc(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=K(Vc,mc),l=yc();(0,y.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{u.current=Hc,s()}),[]);let u=(0,y.useRef)(Hc);return(0,y.useEffect)(()=>{for(let s of Bc){let c=e[s];c!==u.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?l.setState({ariaLabelConfig:ho(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}u.current=e},Bc.map(t=>e[t])),null}function Wc(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function Gc(e){let[t,n]=(0,y.useState)(e===`system`?null:e);return(0,y.useEffect)(()=>{if(e!==`system`){n(e);return}let t=Wc(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?Wc()?.matches?`dark`:`light`:t}var Kc=typeof document<`u`?document:null;function qc(e=null,t={target:Kc,actInsideInputWithModifier:!0}){let[n,r]=(0,y.useState)(!1),i=(0,y.useRef)(!1),a=(0,y.useRef)(new Set([])),[o,s]=(0,y.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(/\+/g,`
232
+ `).replace(`
233
+
234
+ `,`
235
+ +`).split(`
236
+ `));return[t,t.reduce((e,t)=>e.concat(...t),[])]}return[[],[]]},[e]);return(0,y.useEffect)(()=>{let n=t?.target??Kc,c=t?.actInsideInputWithModifier??!0;if(e!==null){let e=e=>{if(i.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!i.current||i.current&&!c)&&xo(e))return!1;let n=Yc(e.code,s);if(a.current.add(e[n]),Jc(o,a.current,!1)){let n=e.composedPath?.()?.[0]||e.target,a=n?.nodeName===`BUTTON`||n?.nodeName===`A`;t.preventDefault!==!1&&(i.current||!a)&&e.preventDefault(),r(!0)}},l=e=>{let t=Yc(e.code,s);Jc(o,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[t]),e.key===`Meta`&&a.current.clear(),i.current=!1},u=()=>{a.current.clear(),r(!1)};return n?.addEventListener(`keydown`,e),n?.addEventListener(`keyup`,l),window.addEventListener(`blur`,u),window.addEventListener(`contextmenu`,u),()=>{n?.removeEventListener(`keydown`,e),n?.removeEventListener(`keyup`,l),window.removeEventListener(`blur`,u),window.removeEventListener(`contextmenu`,u)}}},[e,r]),n}function Jc(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function Yc(e,t){return t.includes(e)?`code`:`key`}var Xc=()=>{let e=yc();return(0,y.useMemo)(()=>({zoomIn:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[r,i,a],panZoom:o}=e.getState();return o?(await o.setViewport({x:t.x??r,y:t.y??i,zoom:t.zoom??a},n),!0):!1},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{let{width:r,height:i,minZoom:a,maxZoom:o,panZoom:s}=e.getState(),c=lo(t,r,i,a,o,n?.padding??.1);return s?(await s.setViewport(c,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0):!1},screenToFlowPosition:(t,n={})=>{let{transform:r,snapGrid:i,snapToGrid:a,domNode:o}=e.getState();if(!o)return t;let{x:s,y:c}=o.getBoundingClientRect(),l={x:t.x-s,y:t.y-c},u=n.snapGrid??i;return io(l,r,n.snapToGrid??a,u)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:i,y:a}=r.getBoundingClientRect(),o=ao(t,n);return{x:o.x+i,y:o.y+a}}}),[])};function Zc(e,t){let n=[],r=new Map,i=[];for(let t of e)if(t.type===`add`){i.push(t);continue}else if(t.type===`remove`||t.type===`replace`)r.set(t.id,[t]);else{let e=r.get(t.id);e?e.push(t):r.set(t.id,[t])}for(let e of t){let t=r.get(e.id);if(!t){n.push(e);continue}if(t[0].type===`remove`)continue;if(t[0].type===`replace`){n.push({...t[0].item});continue}let i={...e};for(let e of t)Qc(e,i);n.push(i)}return i.length&&i.forEach(e=>{e.index===void 0?n.push({...e.item}):n.splice(e.index,0,{...e.item})}),n}function Qc(e,t){switch(e.type){case`select`:t.selected=e.selected;break;case`position`:e.position!==void 0&&(t.position=e.position),e.dragging!==void 0&&(t.dragging=e.dragging);break;case`dimensions`:e.dimensions!==void 0&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes===`width`)&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes===`height`)&&(t.height=e.dimensions.height))),typeof e.resizing==`boolean`&&(t.resizing=e.resizing)}}function $c(e,t){return Zc(e,t)}function el(e,t){return Zc(e,t)}function tl(e,t){return{id:e,type:`select`,selected:t}}function nl(e,t=new Set,n=!1){let r=[];for(let[i,a]of e){let e=t.has(i);!(a.selected===void 0&&!e)&&a.selected!==e&&(n&&(a.selected=e),r.push(tl(a.id,e)))}return r}function rl({items:e=[],lookup:t}){let n=[],r=new Map(e.map(e=>[e.id,e]));for(let[r,i]of e.entries()){let e=t.get(i.id),a=e?.internals?.userNode??e;a!==void 0&&a!==i&&n.push({id:i.id,item:i,type:`replace`}),a===void 0&&n.push({item:i,type:`add`,index:r})}for(let[e]of t)r.get(e)===void 0&&n.push({id:e,type:`remove`});return n}function il(e){return{id:e.id,type:`remove`}}var al=no(`React Flow`,`https://reactflow.dev/`);function ol(e,t,n={}){return Po(e,t,{...n,onError:n.onError??al})}var sl=e=>Aa(e),cl=e=>ka(e);function ll(e){return(0,y.forwardRef)(e)}var ul=typeof window<`u`?y.useLayoutEffect:y.useEffect;function dl(e){let[t,n]=(0,y.useState)(BigInt(0)),[r]=(0,y.useState)(()=>fl(()=>n(e=>e+BigInt(1))));return ul(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}function fl(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}var pl=(0,y.createContext)(null);function ml({children:e}){let t=yc(),n=dl((0,y.useCallback)(e=>{let{nodes:n=[],setNodes:r,hasDefaultNodes:i,onNodesChange:a,nodeLookup:o,fitViewQueued:s,onNodesChangeMiddlewareMap:c}=t.getState(),l=n;for(let t of e)l=typeof t==`function`?t(l):t;let u=rl({items:l,lookup:o});for(let e of c.values())u=e(u);i&&r(l),u.length>0?a?.(u):s&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:r}=t.getState();e&&r(n)})},[])),r=dl((0,y.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:a,edgeLookup:o}=t.getState(),s=n;for(let t of e)s=typeof t==`function`?t(s):t;i?r(s):a&&a(rl({items:s,lookup:o}))},[])),i=(0,y.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,x.jsx)(pl.Provider,{value:i,children:e})}function hl(){let e=(0,y.useContext)(pl);if(!e)throw Error(`useBatchContext must be used within a BatchProvider`);return e}var gl=e=>!!e.panZoom;function _l(){let e=Xc(),t=yc(),n=hl(),r=K(gl),i=(0,y.useMemo)(()=>{let e=e=>t.getState().nodeLookup.get(e),r=e=>{n.nodeQueue.push(e)},i=e=>{n.edgeQueue.push(e)},a=e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState(),i=sl(e)?e:n.get(e.id),a=i.parentId?fo(i.position,i.measured,i.parentId,n,r):i.position;return Ya({...i,position:a,width:i.measured?.width??i.width,height:i.measured?.height??i.height})},o=(e,t,n={replace:!1})=>{r(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&sl(e)?e:{...r,...e}}return r}))},s=(e,t,n={replace:!1})=>{i(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&cl(e)?e:{...r,...e}}return r}))};return{getNodes:()=>t.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},getEdge:e=>t.getState().edgeLookup.get(e),setNodes:r,setEdges:i,addNodes:e=>{let t=Array.isArray(e)?e:[e];n.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];n.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:n=[],transform:r}=t.getState(),[i,a,o]=r;return{nodes:e.map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:i,y:a,zoom:o}}},deleteElements:async({nodes:e=[],edges:n=[]})=>{let{nodes:r,edges:i,onNodesDelete:a,onEdgesDelete:o,triggerNodeChanges:s,triggerEdgeChanges:c,onDelete:l,onBeforeDelete:u}=t.getState(),{nodes:d,edges:f}=await Ba({nodesToRemove:e,edgesToRemove:n,nodes:r,edges:i,onBeforeDelete:u}),p=f.length>0,m=d.length>0;if(p){let e=f.map(il);o?.(f),c(e)}if(m){let e=d.map(il);a?.(d),s(e)}return(m||p)&&l?.({nodes:d,edges:f}),{deletedNodes:d,deletedEdges:f}},getIntersectingNodes:(e,n=!0,r)=>{let i=eo(e),o=i?e:a(e),s=r!==void 0;return o?(r||t.getState().nodes).filter(r=>{let a=t.getState().nodeLookup.get(r.id);if(a&&!i&&(r.id===e.id||!a.internals.positionAbsolute))return!1;let c=Ya(s?r:a),l=$a(c,o);return n&&l>0||l>=c.width*c.height||l>=o.width*o.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let r=eo(e)?e:a(e);if(!r)return!1;let i=$a(r,t);return n&&i>0||i>=t.width*t.height||i>=r.width*r.height},updateNode:o,updateNodeData:(e,t,n={replace:!1})=>{o(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},updateEdge:s,updateEdgeData:(e,t,n={replace:!1})=>{s(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},getNodesBounds:e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState();return Na(e,{nodeLookup:n,nodeOrigin:r})},getHandleConnections:({type:e,id:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}-${e}${n?`-${n}`:``}`)?.values()??[]),getNodeConnections:({type:e,handleId:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}${e?n?`-${e}-${n}`:`-${e}`:``}`)?.values()??[]),fitView:async e=>{let r=t.getState().fitViewResolver??mo();return t.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:r}),n.nodeQueue.push(e=>[...e]),r.promise}}},[]);return(0,y.useMemo)(()=>({...i,...e,viewportInitialized:r}),[r])}var vl=e=>e.selected,yl=typeof window<`u`?window:void 0;function bl({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=yc(),{deleteElements:r}=_l(),i=qc(e,{actInsideInputWithModifier:!1}),a=qc(t,{target:yl});(0,y.useEffect)(()=>{if(i){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(vl),edges:e.filter(vl)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,y.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])}function xl(e){let t=yc();(0,y.useEffect)(()=>{let n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;let n=vo(e.current);(n.height===0||n.width===0)&&t.getState().onError?.(`004`,va.error004()),t.setState({width:n.width||500,height:n.height||500})};if(e.current){n(),window.addEventListener(`resize`,n);let t=new ResizeObserver(()=>n());return t.observe(e.current),()=>{window.removeEventListener(`resize`,n),t&&e.current&&t.unobserve(e.current)}}},[])}var Sl={position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},Cl=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function wl({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panActivationKeyPressed:i,panOnScrollSpeed:a=.5,panOnScrollMode:o=Ca.Free,zoomOnDoubleClick:s=!0,panOnDrag:c=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:p,preventScrolling:m=!0,children:h,noWheelClassName:g,noPanClassName:_,onViewportChange:v,isControlledViewport:b,paneClickDistance:S,selectionOnDrag:C}){let w=yc(),T=(0,y.useRef)(null),{userSelectionActive:E,lib:D,connectionInProgress:O}=K(Cl,mc),k=qc(p),A=(0,y.useRef)();xl(T);let j=(0,y.useCallback)(e=>{v?.({x:e[0],y:e[1],zoom:e[2]}),b||w.setState({transform:e})},[v,b]);return(0,y.useEffect)(()=>{if(T.current){A.current=Us({domNode:T.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:l,onDraggingChange:e=>w.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=w.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=w.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=w.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=A.current.getViewport();return w.setState({panZoom:A.current,transform:[e,t,n],domNode:T.current.closest(`.react-flow`)}),()=>{A.current?.destroy()}}},[]),(0,y.useEffect)(()=>{A.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panActivationKeyPressed:i,panOnScrollSpeed:a,panOnScrollMode:o,zoomOnDoubleClick:s,panOnDrag:c,zoomActivationKeyPressed:k,preventScrolling:m,noPanClassName:_,userSelectionActive:E,noWheelClassName:g,lib:D,onTransformChange:j,connectionInProgress:O,selectionOnDrag:C,paneClickDistance:S})},[e,t,n,r,i,a,o,s,c,k,m,_,E,g,D,j,O,C,S]),(0,x.jsx)(`div`,{className:`react-flow__renderer`,ref:T,style:Sl,children:h})}var Tl=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function El(){let{userSelectionActive:e,userSelectionRect:t}=K(Tl,mc);return e&&t?(0,x.jsx)(`div`,{className:`react-flow__selection react-flow__container`,style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}var Dl=(e,t)=>n=>{n.target===t.current&&e?.(n)},Ol=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function kl({isSelecting:e,selectionKeyPressed:t,selectionMode:n=wa.Full,panOnDrag:r,autoPanOnSelection:i,paneClickDistance:a,selectionOnDrag:o,onSelectionStart:s,onSelectionEnd:c,onPaneClick:l,onPaneContextMenu:u,onPaneScroll:d,onPaneMouseEnter:f,onPaneMouseMove:p,onPaneMouseLeave:m,children:h}){let g=(0,y.useRef)(0),_=yc(),{userSelectionActive:v,elementsSelectable:b,dragging:C,panBy:w,autoPanSpeed:T}=K(Ol,mc),E=b&&(e||v),D=(0,y.useRef)(null),O=(0,y.useRef)(),k=(0,y.useRef)(new Set),A=(0,y.useRef)(new Set),j=(0,y.useRef)(!1),M=(0,y.useRef)(!1),N=(0,y.useRef)({x:0,y:0}),P=(0,y.useRef)(!1),ee=e=>{if(M.current||j.current||_.getState().connection.inProgress){M.current=!1,j.current=!1;return}l?.(e),_.getState().resetSelectedElements(),_.setState({nodesSelectionActive:!1})},F=e=>{if(Array.isArray(r)&&r?.includes(2)){e.preventDefault();return}u?.(e)},I=d?e=>d(e):void 0,te=e=>{M.current&&=(e.stopPropagation(),!1)},ne=n=>{if(n.pointerType===`touch`&&r!==!1&&!t)return;let{domNode:i,transform:a}=_.getState();if(O.current=i?.getBoundingClientRect(),!O.current)return;let s=n.target===D.current;if(!s&&n.target.closest(`.nokey`)||!e||!(o&&s||t)||n.button!==0||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),M.current=!1;let{x:c,y:l}=Co(n.nativeEvent,O.current),u=io({x:c,y:l},a);_.setState({userSelectionRect:{width:0,height:0,startX:u.x,startY:u.y,x:c,y:l}}),s||(n.stopPropagation(),n.preventDefault())};function L(e,t){let{userSelectionRect:r}=_.getState();if(!r)return;let{transform:i,nodeLookup:a,edgeLookup:o,connectionLookup:s,triggerNodeChanges:c,triggerEdgeChanges:l,defaultEdgeOptions:u}=_.getState(),d={x:r.startX,y:r.startY},{x:f,y:p}=ao(d,i),m={startX:d.x,startY:d.y,x:e<f?e:f,y:t<p?t:p,width:Math.abs(e-f),height:Math.abs(t-p)},h=k.current,g=A.current;k.current=new Set(Fa(a,m,i,n===wa.Partial,!0).map(e=>e.id)),A.current=new Set;let v=u?.selectable??!0;for(let e of k.current){let t=s.get(e);if(t)for(let{edgeId:e}of t.values()){let t=o.get(e);t&&(t.selectable??v)&&A.current.add(e)}}po(h,k.current)||c(nl(a,k.current,!0)),po(g,A.current)||l(nl(o,A.current)),_.setState({userSelectionRect:m,userSelectionActive:!0,nodesSelectionActive:!1})}function R(){if(!i||!O.current)return;let[e,t]=Ga(N.current,O.current,T);w({x:e,y:t}).then(e=>{if(!M.current||!e){g.current=requestAnimationFrame(R);return}let{x:t,y:n}=N.current;L(t,n),g.current=requestAnimationFrame(R)})}let z=()=>{cancelAnimationFrame(g.current),g.current=0,P.current=!1};(0,y.useEffect)(()=>()=>z(),[]);let B=e=>{let{userSelectionRect:n,transform:r,resetSelectedElements:i}=_.getState();if(!O.current||!n)return;let{x:o,y:c}=Co(e.nativeEvent,O.current);N.current={x:o,y:c};let l=ao({x:n.startX,y:n.startY},r);if(!M.current){let n=t?0:a;if(Math.hypot(o-l.x,c-l.y)<=n)return;i(),s?.(e)}M.current=!0,P.current||=(R(),!0),L(o,c)},re=e=>{if(!E){e.target===D.current&&_.getState().connection.inProgress&&(j.current=!0);return}e.button===0&&(e.target?.releasePointerCapture?.(e.pointerId),!v&&e.target===D.current&&_.getState().userSelectionRect&&ee?.(e),_.setState({userSelectionActive:!1,userSelectionRect:null}),M.current&&(c?.(e),_.setState({nodesSelectionActive:k.current.size>0})),z())},ie=e=>{e.target?.releasePointerCapture?.(e.pointerId),z()},ae=r===!0||Array.isArray(r)&&r.includes(0);return(0,x.jsxs)(`div`,{className:S([`react-flow__pane`,{draggable:ae,dragging:C,selection:e}]),onClick:E?void 0:Dl(ee,D),onContextMenu:Dl(F,D),onWheel:Dl(I,D),onPointerEnter:E?void 0:f,onPointerMove:E?B:p,onPointerUp:re,onPointerCancel:E?ie:void 0,onPointerDownCapture:E?ne:void 0,onClickCapture:E?te:void 0,onPointerLeave:m,ref:D,style:Sl,children:[h,(0,x.jsx)(El,{})]})}function Al({id:e,store:t,unselect:n=!1,nodeRef:r}){let{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:o,nodeLookup:s,onError:c}=t.getState(),l=s.get(e);if(!l){c?.(`012`,va.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&o)&&(a({nodes:[l],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])}function jl({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:a,nodeClickDistance:o}){let s=yc(),[c,l]=(0,y.useState)(!1),u=(0,y.useRef)();return(0,y.useEffect)(()=>{if(!t)return u.current=vs({getStoreItems:()=>s.getState(),onNodeMouseDown:t=>{Al({id:t,store:s,nodeRef:e})},onDragStart:()=>{l(!0)},onDragStop:()=>{l(!1)}}),()=>{u.current?.destroy(),u.current=void 0}},[t,s,e]),(0,y.useEffect)(()=>{t||!e.current||!u.current||u.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:i,nodeClickDistance:o})},[n,r,t,a,e,i,o]),c}var Ml=e=>t=>t.selected&&(t.draggable||e&&t.draggable===void 0);function Nl(){let e=yc();return(0,y.useCallback)(t=>{let{nodeExtent:n,snapToGrid:r,snapGrid:i,nodesDraggable:a,onError:o,updateNodePositions:s,nodeLookup:c,nodeOrigin:l}=e.getState(),u=new Map,d=Ml(a),f=r?i[0]:5,p=r?i[1]:5,m=t.direction.x*f*t.factor,h=t.direction.y*p*t.factor;for(let[,e]of c){if(!d(e))continue;let t={x:e.internals.positionAbsolute.x+m,y:e.internals.positionAbsolute.y+h};r&&(t=ro(t,i));let{position:a,positionAbsolute:s}=za({nodeId:e.id,nextPosition:t,nodeLookup:c,nodeExtent:n,nodeOrigin:l,onError:o});e.position=a,e.internals.positionAbsolute=s,u.set(e.id,e)}s(u)},[])}var Pl=(0,y.createContext)(null),Fl=Pl.Provider;Pl.Consumer;var Il=()=>(0,y.useContext)(Pl),Ll=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),q=(0,y.createContext)(null);function Rl({children:e}){let t=K(Ll,mc);return(0,x.jsx)(q.Provider,{value:t,children:e})}function J(){let e=(0,y.useContext)(q);if(!e)throw Error(`useHandleConfig must be used within a HandleConfigProvider`);return e}var Y={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},zl=(e,t,n)=>r=>{let{connectionClickStartHandle:i,connectionMode:a,connection:o}=r,{fromHandle:s,toHandle:c,isValid:l}=o;if(!s&&!i)return Y;let u=c?.nodeId===e&&c?.id===t&&c?.type===n;return{connectingFrom:s?.nodeId===e&&s?.id===t&&s?.type===n,connectingTo:u,clickConnecting:i?.nodeId===e&&i?.id===t&&i?.type===n,isPossibleEndHandle:a===Sa.Strict?s?.type!==n:e!==s?.nodeId||t!==s?.id,connectionInProcess:!!s,clickConnectionInProcess:!!i,valid:u&&l}};function Bl({type:e=`source`,position:t=H.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:o,onConnect:s,children:c,className:l,onMouseDown:u,onTouchStart:d,...f},p){let m=o||null,h=e===`target`,g=yc(),_=Il(),{connectOnClick:v,noPanClassName:y,rfId:b}=J(),{connectingFrom:C,connectingTo:w,clickConnecting:T,isPossibleEndHandle:E,connectionInProcess:D,clickConnectionInProcess:O,valid:k}=K(zl(_,m,e),mc);_||g.getState().onError?.(`010`,va.error010());let A=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=g.getState(),i={...t,...e};if(r){let{edges:e,setEdges:t,onError:n}=g.getState();t(ol(i,e,{onError:n}))}n?.(i),s?.(i)},j=e=>{if(!_)return;let t=So(e.nativeEvent);if(i&&(t&&e.button===0||!t)){let t=g.getState();Os.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:h,handleId:m,nodeId:_,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>g.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:A,isValidConnection:n||((...e)=>g.getState().isValidConnection?.(...e)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?u?.(e):d?.(e)};return(0,x.jsx)(`div`,{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${b}-${_}-${m}-${e}`,className:S([`react-flow__handle`,`react-flow__handle-${t}`,`nodrag`,y,l,{source:!h,target:h,connectable:r,connectablestart:i,connectableend:a,clickconnecting:T,connectingfrom:C,connectingto:w,valid:k,connectionindicator:r&&(!D||E)&&(D||O?a:i)}]),onMouseDown:j,onTouchStart:j,onClick:v?t=>{let{onClickConnectStart:r,onClickConnectEnd:a,connectionClickStartHandle:o,connectionMode:s,isValidConnection:c,lib:l,rfId:u,nodeLookup:d,connection:f}=g.getState();if(!_||!o&&!i)return;if(!o){r?.(t.nativeEvent,{nodeId:_,handleId:m,handleType:e}),g.setState({connectionClickStartHandle:{nodeId:_,type:e,id:m}});return}let p=yo(t.target),h=n||c,{connection:v,isValid:y}=Os.isValid(t.nativeEvent,{handle:{nodeId:_,id:m,type:e},connectionMode:s,fromNodeId:o.nodeId,fromHandleId:o.id||null,fromType:o.type,isValidConnection:h,flowId:u,doc:p,lib:l,nodeLookup:d});y&&v&&A(v);let b=structuredClone(f);delete b.inProgress,b.toPosition=b.toHandle?b.toHandle.position:null,a?.(t,b),g.setState({connectionClickStartHandle:null})}:void 0,ref:p,...f,children:c})}var Vl=(0,y.memo)(ll(Bl));function Hl({data:e,isConnectable:t,sourcePosition:n=H.Bottom}){return(0,x.jsxs)(x.Fragment,{children:[e?.label,(0,x.jsx)(Vl,{type:`source`,position:n,isConnectable:t})]})}function Ul({data:e,isConnectable:t,targetPosition:n=H.Top,sourcePosition:r=H.Bottom}){return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Vl,{type:`target`,position:n,isConnectable:t}),e?.label,(0,x.jsx)(Vl,{type:`source`,position:r,isConnectable:t})]})}function Wl(){return null}function Gl({data:e,isConnectable:t,targetPosition:n=H.Top}){return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Vl,{type:`target`,position:n,isConnectable:t}),e?.label]})}var Kl={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ql={input:Hl,default:Ul,output:Gl,group:Wl};function Jl(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}var Yl=e=>{let{width:t,height:n,x:r,y:i}=Pa(e.nodeLookup,{filter:e=>!!e.selected});return{width:to(t)?t:null,height:to(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${i}px)`}};function Xl({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=yc(),{width:i,height:a,transformString:o,userSelectionActive:s}=K(Yl,mc),c=Nl(),l=(0,y.useRef)(null);(0,y.useEffect)(()=>{n||l.current?.focus({preventScroll:!0})},[n]);let u=!s&&i!==null&&a!==null;if(jl({nodeRef:l,disabled:!u}),!u)return null;let d=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0;return(0,x.jsx)(`div`,{className:S([`react-flow__nodesselection`,`react-flow__container`,t]),style:{transform:o},children:(0,x.jsx)(`div`,{ref:l,className:`react-flow__nodesselection-rect`,onContextMenu:d,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(Kl,e.key)&&(e.preventDefault(),c({direction:Kl[e.key],factor:e.shiftKey?4:1}))},style:{width:i,height:a}})})}var Zl=typeof window<`u`?window:void 0,Ql=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function $l({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,paneClickDistance:s,deleteKeyCode:c,selectionKeyCode:l,selectionOnDrag:u,selectionMode:d,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:m,panActivationKeyCode:h,zoomActivationKeyCode:g,elementsSelectable:_,zoomOnScroll:v,zoomOnPinch:y,panOnScroll:b,panOnScrollSpeed:S,panOnScrollMode:C,zoomOnDoubleClick:w,panOnDrag:T,autoPanOnSelection:E,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,preventScrolling:j,onSelectionContextMenu:M,noWheelClassName:N,noPanClassName:P,disableKeyboardA11y:ee,onViewportChange:F,isControlledViewport:I}){let{nodesSelectionActive:te,userSelectionActive:ne}=K(Ql,mc),L=qc(l,{target:Zl}),R=qc(h,{target:Zl}),z=R||T,B=R||b,re=u&&z!==!0,ie=L||ne||re;return bl({deleteKeyCode:c,multiSelectionKeyCode:m}),(0,x.jsx)(wl,{onPaneContextMenu:a,elementsSelectable:_,zoomOnScroll:v,zoomOnPinch:y,panOnScroll:B,panActivationKeyPressed:R,panOnScrollSpeed:S,panOnScrollMode:C,zoomOnDoubleClick:w,panOnDrag:!L&&z,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,zoomActivationKeyCode:g,preventScrolling:j,noWheelClassName:N,noPanClassName:P,onViewportChange:F,isControlledViewport:I,paneClickDistance:s,selectionOnDrag:re,children:(0,x.jsxs)(kl,{onSelectionStart:f,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,panOnDrag:z,autoPanOnSelection:E,isSelecting:!!ie,selectionMode:d,selectionKeyPressed:L,paneClickDistance:s,selectionOnDrag:re,children:[e,te&&(0,x.jsx)(Xl,{onSelectionContextMenu:M,noPanClassName:P,disableKeyboardA11y:ee})]})})}$l.displayName=`FlowRenderer`;var eu=(0,y.memo)($l),tu=e=>t=>e?Fa(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(e=>e.id):Array.from(t.nodeLookup.keys());function nu(e){return K((0,y.useCallback)(tu(e),[e]),mc)}var ru=e=>e.updateNodeInternals;function iu(){let e=K(ru),[t]=(0,y.useState)(()=>typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute(`data-id`);n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,y.useEffect)(()=>()=>{t?.disconnect()},[t]),t}function au({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let i=yc(),a=(0,y.useRef)(null),o=(0,y.useRef)(null),s=(0,y.useRef)(e.sourcePosition),c=(0,y.useRef)(e.targetPosition),l=(0,y.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,y.useEffect)(()=>{a.current&&!e.hidden&&(!u||o.current!==a.current)&&(o.current&&r?.unobserve(o.current),r?.observe(a.current),o.current=a.current)},[u,e.hidden]),(0,y.useEffect)(()=>()=>{o.current&&=(r?.unobserve(o.current),null)},[]),(0,y.useEffect)(()=>{if(a.current){let n=l.current!==t,r=s.current!==e.sourcePosition,o=c.current!==e.targetPosition;(n||r||o)&&(l.current=t,s.current=e.sourcePosition,c.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function ou({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onContextMenu:a,onDoubleClick:o,nodesDraggable:s,elementsSelectable:c,nodesConnectable:l,nodesFocusable:u,resizeObserver:d,noDragClassName:f,noPanClassName:p,disableKeyboardA11y:m,rfId:h,nodeTypes:g,nodeClickDistance:_,onError:v}){let{node:y,internals:b,isParent:C}=K(t=>{let n=t.nodeLookup.get(e),r=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:r}},mc),w=y.type||`default`,T=g?.[w]||ql[w];T===void 0&&(v?.(`003`,va.error003(w)),w=`default`,T=g?.default||ql.default);let E=!!(y.draggable||s&&y.draggable===void 0),D=!!(y.selectable||c&&y.selectable===void 0),O=!!(y.connectable||l&&y.connectable===void 0),k=!!(y.focusable||u&&y.focusable===void 0),A=yc(),j=uo(y),M=au({node:y,nodeType:w,hasDimensions:j,resizeObserver:d}),N=jl({nodeRef:M,disabled:y.hidden||!E,noDragClassName:f,handleSelector:y.dragHandle,nodeId:e,isSelectable:D,nodeClickDistance:_}),P=Nl();if(y.hidden)return null;let ee=G(y),F=Jl(y),I=D||E||t||n||r||i,te=n?e=>n(e,{...b.userNode}):void 0,ne=r?e=>r(e,{...b.userNode}):void 0,L=i?e=>i(e,{...b.userNode}):void 0,R=a?e=>a(e,{...b.userNode}):void 0,z=o?e=>o(e,{...b.userNode}):void 0,B=n=>{let{selectNodesOnDrag:r,nodeDragThreshold:i}=A.getState();D&&(!r||!E||i>0)&&Al({id:e,store:A,nodeRef:M}),t&&t(n,{...b.userNode})},re=t=>{if(!(xo(t.nativeEvent)||m)){if(ba.includes(t.key)&&D){let n=t.key===`Escape`;Al({id:e,store:A,unselect:n,nodeRef:M})}else if(E&&y.selected&&Object.prototype.hasOwnProperty.call(Kl,t.key)){t.preventDefault();let{ariaLabelConfig:e}=A.getState();A.setState({ariaLiveMessage:e[`node.a11yDescription.ariaLiveMessage`]({direction:t.key.replace(`Arrow`,``).toLowerCase(),x:~~b.positionAbsolute.x,y:~~b.positionAbsolute.y})}),P({direction:Kl[t.key],factor:t.shiftKey?4:1})}}},ie=()=>{if(m||!M.current?.matches(`:focus-visible`))return;let{transform:t,width:n,height:r,autoPanOnNodeFocus:i,setCenter:a}=A.getState();i&&(Fa(new Map([[e,y]]),{x:0,y:0,width:n,height:r},t,!0).length>0||a(y.position.x+ee.width/2,y.position.y+ee.height/2,{zoom:t[2]}))};return(0,x.jsx)(`div`,{className:S([`react-flow__node`,`react-flow__node-${w}`,{[p]:E},y.className,{selected:y.selected,selectable:D,parent:C,draggable:E,dragging:N}]),ref:M,style:{zIndex:b.z,transform:`translate(${b.positionAbsolute.x}px,${b.positionAbsolute.y}px)`,pointerEvents:I?`all`:`none`,visibility:j?`visible`:`hidden`,...y.style,...F},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:te,onMouseMove:ne,onMouseLeave:L,onContextMenu:R,onClick:B,onDoubleClick:z,onKeyDown:k?re:void 0,tabIndex:k?0:void 0,onFocus:k?ie:void 0,role:y.ariaRole??(k?`group`:void 0),"aria-roledescription":`node`,"aria-describedby":m?void 0:`${Sc}-${h}`,"aria-label":y.ariaLabel,...y.domAttributes,children:(0,x.jsx)(Fl,{value:e,children:(0,x.jsx)(T,{id:e,data:y.data,type:w,positionAbsoluteX:b.positionAbsolute.x,positionAbsoluteY:b.positionAbsolute.y,selected:y.selected??!1,selectable:D,draggable:E,deletable:y.deletable??!0,isConnectable:O,sourcePosition:y.sourcePosition,targetPosition:y.targetPosition,dragging:N,dragHandle:y.dragHandle,zIndex:b.z,parentId:y.parentId,...ee})})})}var su=(0,y.memo)(ou),cu=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function lu(e){let{nodesConnectable:t,nodesFocusable:n,elementsSelectable:r,onError:i}=K(cu,mc),a=nu(e.onlyRenderVisibleElements),o=iu();return(0,x.jsx)(`div`,{className:`react-flow__nodes`,style:Sl,children:a.map(a=>(0,x.jsx)(su,{id:a,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:o,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:t,nodesFocusable:n,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:i},a))})}lu.displayName=`NodeRenderer`;var uu=(0,y.memo)(lu);function du(e){return K((0,y.useCallback)(t=>{if(!e)return t.edges.map(e=>e.id);let n=[];if(t.width&&t.height)for(let e of t.edges){let r=t.nodeLookup.get(e.source),i=t.nodeLookup.get(e.target);r&&i&&jo({sourceNode:r,targetNode:i,width:t.width,height:t.height,transform:t.transform})&&n.push(e.id)}return n},[e]),mc)}var fu=({color:e=`none`,strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,x.jsx)(`polyline`,{className:`arrow`,style:n,strokeLinecap:`round`,fill:`none`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4`})},pu=({color:e=`none`,strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,x.jsx)(`polyline`,{className:`arrowclosed`,style:n,strokeLinecap:`round`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4 -5,-4`})},mu={[Da.Arrow]:fu,[Da.ArrowClosed]:pu};function hu(e){let t=yc();return(0,y.useMemo)(()=>Object.prototype.hasOwnProperty.call(mu,e)?mu[e]:(t.getState().onError?.(`009`,va.error009(e)),null),[e])}var gu=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:a=`strokeWidth`,strokeWidth:o,orient:s=`auto-start-reverse`})=>{let c=hu(t);return c?(0,x.jsx)(`marker`,{className:`react-flow__arrowhead`,id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:`-10 -10 20 20`,markerUnits:a,orient:s,refX:`0`,refY:`0`,children:(0,x.jsx)(c,{color:n,strokeWidth:o})}):null},_u=({defaultColor:e,rfId:t})=>{let n=K(e=>e.edges),r=K(e=>e.defaultEdgeOptions),i=(0,y.useMemo)(()=>Jo(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return i.length?(0,x.jsx)(`svg`,{className:`react-flow__marker`,"aria-hidden":`true`,children:(0,x.jsx)(`defs`,{children:i.map(e=>(0,x.jsx)(gu,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};_u.displayName=`MarkerDefinitions`;var vu=(0,y.memo)(_u);function yu({x:e,y:t,label:n,labelStyle:r,labelShowBg:i=!0,labelBgStyle:a,labelBgPadding:o=[2,4],labelBgBorderRadius:s=2,children:c,className:l,...u}){let[d,f]=(0,y.useState)({x:1,y:0,width:0,height:0}),p=S([`react-flow__edge-textwrapper`,l]),m=(0,y.useRef)(null);return(0,y.useEffect)(()=>{if(m.current){let e=m.current.getBBox();f({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n?(0,x.jsxs)(`g`,{transform:`translate(${e-d.width/2} ${t-d.height/2})`,className:p,visibility:d.width?`visible`:`hidden`,...u,children:[i&&(0,x.jsx)(`rect`,{width:d.width+2*o[0],x:-o[0],y:-o[1],height:d.height+2*o[1],className:`react-flow__edge-textbg`,style:a,rx:s,ry:s}),(0,x.jsx)(`text`,{className:`react-flow__edge-text`,y:d.height/2,dy:`0.3em`,ref:m,style:r,children:n}),c]}):null}yu.displayName=`EdgeText`;var bu=(0,y.memo)(yu);function xu({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:s,labelBgBorderRadius:c,interactionWidth:l=20,...u}){return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{...u,d:e,fill:`none`,className:S([`react-flow__edge-path`,u.className])}),l?(0,x.jsx)(`path`,{d:e,fill:`none`,strokeOpacity:0,strokeWidth:l,className:`react-flow__edge-interaction`}):null,r&&to(t)&&to(n)?(0,x.jsx)(bu,{x:t,y:n,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:s,labelBgBorderRadius:c}):null]})}function Su({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===H.Left||e===H.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function Cu({sourceX:e,sourceY:t,sourcePosition:n=H.Bottom,targetX:r,targetY:i,targetPosition:a=H.Top}){let[o,s]=Su({pos:n,x1:e,y1:t,x2:r,y2:i}),[c,l]=Su({pos:a,x1:r,y1:i,x2:e,y2:t}),[u,d,f,p]=To({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:o,sourceControlY:s,targetControlX:c,targetControlY:l});return[`M${e},${t} C${o},${s} ${c},${l} ${r},${i}`,u,d,f,p]}function wu(e){return(0,y.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:_})=>{let[v,y,b]=Cu({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s}),S=e.isInternal?void 0:t;return(0,x.jsx)(xu,{id:S,path:v,labelX:y,labelY:b,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:_})})}var Tu=wu({isInternal:!1}),Eu=wu({isInternal:!0});Tu.displayName=`SimpleBezierEdge`,Eu.displayName=`SimpleBezierEdgeInternal`;function Du(e){return(0,y.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,sourcePosition:p=H.Bottom,targetPosition:m=H.Top,markerEnd:h,markerStart:g,pathOptions:_,interactionWidth:v})=>{let[y,b,S]=Vo({sourceX:n,sourceY:r,sourcePosition:p,targetX:i,targetY:a,targetPosition:m,borderRadius:_?.borderRadius,offset:_?.offset,stepPosition:_?.stepPosition}),C=e.isInternal?void 0:t;return(0,x.jsx)(xu,{id:C,path:y,labelX:b,labelY:S,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:g,interactionWidth:v})})}var Ou=Du({isInternal:!1}),ku=Du({isInternal:!0});Ou.displayName=`SmoothStepEdge`,ku.displayName=`SmoothStepEdgeInternal`;function Au(e){return(0,y.memo)(({id:t,...n})=>{let r=e.isInternal?void 0:t;return(0,x.jsx)(Ou,{...n,id:r,pathOptions:(0,y.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}var ju=Au({isInternal:!1}),Mu=Au({isInternal:!0});ju.displayName=`StepEdge`,Mu.displayName=`StepEdgeInternal`;function Nu(e){return(0,y.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})=>{let[g,_,v]=Fo({sourceX:n,sourceY:r,targetX:i,targetY:a}),y=e.isInternal?void 0:t;return(0,x.jsx)(xu,{id:y,path:g,labelX:_,labelY:v,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})})}var Pu=Nu({isInternal:!1}),Fu=Nu({isInternal:!0});Pu.displayName=`StraightEdge`,Fu.displayName=`StraightEdgeInternal`;function Iu(e){return(0,y.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o=H.Bottom,targetPosition:s=H.Top,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,pathOptions:_,interactionWidth:v})=>{let[y,b,S]=Oo({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s,curvature:_?.curvature}),C=e.isInternal?void 0:t;return(0,x.jsx)(xu,{id:C,path:y,labelX:b,labelY:S,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:v})})}var Lu=Iu({isInternal:!1}),Ru=Iu({isInternal:!0});Lu.displayName=`BezierEdge`,Ru.displayName=`BezierEdgeInternal`;var zu={default:Ru,straight:Fu,step:Mu,smoothstep:ku,simplebezier:Eu},Bu={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Vu=(e,t,n)=>n===H.Left?e-t:n===H.Right?e+t:e,Hu=(e,t,n)=>n===H.Top?e-t:n===H.Bottom?e+t:e,Uu=`react-flow__edgeupdater`;function Wu({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:a,onMouseOut:o,type:s}){return(0,x.jsx)(`circle`,{onMouseDown:i,onMouseEnter:a,onMouseOut:o,className:S([Uu,`${Uu}-${s}`]),cx:Vu(t,r,e),cy:Hu(n,r,e),r,stroke:`transparent`,fill:`transparent`})}function Gu({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,onReconnect:l,onReconnectStart:u,onReconnectEnd:d,setReconnecting:f,setUpdateHover:p}){let m=yc(),h=(e,t)=>{if(e.button!==0)return;let{autoPanOnConnect:r,domNode:i,connectionMode:a,connectionRadius:o,lib:s,onConnectStart:c,cancelConnection:p,nodeLookup:h,rfId:g,panBy:_,updateConnection:v}=m.getState(),y=t.type===`target`;Os.onPointerDown(e.nativeEvent,{autoPanOnConnect:r,connectionMode:a,connectionRadius:o,domNode:i,handleId:t.id,nodeId:t.nodeId,nodeLookup:h,isTarget:y,edgeUpdaterType:t.type,lib:s,flowId:g,cancelConnection:p,panBy:_,isValidConnection:(...e)=>m.getState().isValidConnection?.(...e)??!0,onConnect:e=>l?.(n,e),onConnectStart:(r,i)=>{f(!0),u?.(e,n,t.type),c?.(r,i)},onConnectEnd:(...e)=>m.getState().onConnectEnd?.(...e),onReconnectEnd:(e,r)=>{f(!1),d?.(e,n,t.type,r)},updateConnection:v,getTransform:()=>m.getState().transform,getFromHandle:()=>m.getState().connection.fromHandle,dragThreshold:m.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},g=e=>h(e,{nodeId:n.target,id:n.targetHandle??null,type:`target`}),_=e=>h(e,{nodeId:n.source,id:n.sourceHandle??null,type:`source`}),v=()=>p(!0),y=()=>p(!1);return(0,x.jsxs)(x.Fragment,{children:[(e===!0||e===`source`)&&(0,x.jsx)(Wu,{position:s,centerX:r,centerY:i,radius:t,onMouseDown:g,onMouseEnter:v,onMouseOut:y,type:`source`}),(e===!0||e===`target`)&&(0,x.jsx)(Wu,{position:c,centerX:a,centerY:o,radius:t,onMouseDown:_,onMouseEnter:v,onMouseOut:y,type:`target`})]})}function Ku({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:i,onDoubleClick:a,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,reconnectRadius:u,onReconnect:d,onReconnectStart:f,onReconnectEnd:p,rfId:m,edgeTypes:h,noPanClassName:g,onError:_,disableKeyboardA11y:v}){let b=K(t=>t.edgeLookup.get(e)),C=K(e=>e.defaultEdgeOptions);b=C?{...C,...b}:b;let w=b.type||`default`,T=h?.[w]||zu[w];T===void 0&&(_?.(`011`,va.error011(w)),w=`default`,T=h?.default||zu.default);let E=!!(b.focusable||t&&b.focusable===void 0),D=d!==void 0&&(b.reconnectable||n&&b.reconnectable===void 0),O=!!(b.selectable||r&&b.selectable===void 0),k=(0,y.useRef)(null),[A,j]=(0,y.useState)(!1),[M,N]=(0,y.useState)(!1),P=yc(),{zIndex:ee=b.zIndex,sourceX:F,sourceY:I,targetX:te,targetY:ne,sourcePosition:L,targetPosition:R}=K((0,y.useCallback)(t=>{let n=t.nodeLookup.get(b.source),r=t.nodeLookup.get(b.target);if(!n||!r)return Bu;let i=Uo({id:e,sourceNode:n,targetNode:r,sourceHandle:b.sourceHandle||null,targetHandle:b.targetHandle||null,connectionMode:t.connectionMode,onError:_}),a=Ao({selected:b.selected,zIndex:b.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode});return{...i||Bu,zIndex:a}},[b.source,b.target,b.sourceHandle,b.targetHandle,b.selected,b.zIndex,_]),mc),z=(0,y.useMemo)(()=>b.markerStart?`url('#${qo(b.markerStart,m)}')`:void 0,[b.markerStart,m]),B=(0,y.useMemo)(()=>b.markerEnd?`url('#${qo(b.markerEnd,m)}')`:void 0,[b.markerEnd,m]);if(b.hidden||F===null||I===null||te===null||ne===null)return null;let re=t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:a}=P.getState();O&&(P.setState({nodesSelectionActive:!1}),b.selected&&a?(r({nodes:[],edges:[b]}),k.current?.blur()):n([e])),i&&i(t,b)},ie=a?e=>{a(e,{...b})}:void 0,ae=o?e=>{o(e,{...b})}:void 0,oe=s?e=>{s(e,{...b})}:void 0,se=c?e=>{c(e,{...b})}:void 0,ce=l?e=>{l(e,{...b})}:void 0;return(0,x.jsx)(`svg`,{style:{zIndex:ee},children:(0,x.jsxs)(`g`,{className:S([`react-flow__edge`,`react-flow__edge-${w}`,b.className,g,{selected:b.selected,animated:b.animated,inactive:!O&&!i,updating:A,selectable:O}]),onClick:re,onDoubleClick:ie,onContextMenu:ae,onMouseEnter:oe,onMouseMove:se,onMouseLeave:ce,onKeyDown:E?t=>{if(!v&&ba.includes(t.key)&&O){let{unselectNodesAndEdges:n,addSelectedEdges:r}=P.getState();t.key===`Escape`?(k.current?.blur(),n({edges:[b]})):r([e])}}:void 0,tabIndex:E?0:void 0,role:b.ariaRole??(E?`group`:`img`),"aria-roledescription":`edge`,"data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":b.ariaLabel===null?void 0:b.ariaLabel||`Edge from ${b.source} to ${b.target}`,"aria-describedby":E?`${Cc}-${m}`:void 0,ref:k,...b.domAttributes,children:[!M&&(0,x.jsx)(T,{id:e,source:b.source,target:b.target,type:b.type,selected:b.selected,animated:b.animated,selectable:O,deletable:b.deletable??!0,label:b.label,labelStyle:b.labelStyle,labelShowBg:b.labelShowBg,labelBgStyle:b.labelBgStyle,labelBgPadding:b.labelBgPadding,labelBgBorderRadius:b.labelBgBorderRadius,sourceX:F,sourceY:I,targetX:te,targetY:ne,sourcePosition:L,targetPosition:R,data:b.data,style:b.style,sourceHandleId:b.sourceHandle,targetHandleId:b.targetHandle,markerStart:z,markerEnd:B,pathOptions:`pathOptions`in b?b.pathOptions:void 0,interactionWidth:b.interactionWidth}),D&&(0,x.jsx)(Gu,{edge:b,isReconnectable:D,reconnectRadius:u,onReconnect:d,onReconnectStart:f,onReconnectEnd:p,sourceX:F,sourceY:I,targetX:te,targetY:ne,sourcePosition:L,targetPosition:R,setUpdateHover:j,setReconnecting:N})]})})}var qu=(0,y.memo)(Ku),Ju=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Yu({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:i,onReconnect:a,onEdgeContextMenu:o,onEdgeMouseEnter:s,onEdgeMouseMove:c,onEdgeMouseLeave:l,onEdgeClick:u,reconnectRadius:d,onEdgeDoubleClick:f,onReconnectStart:p,onReconnectEnd:m,disableKeyboardA11y:h}){let{edgesFocusable:g,edgesReconnectable:_,elementsSelectable:v,onError:y}=K(Ju,mc),b=du(t);return(0,x.jsxs)(`div`,{className:`react-flow__edges`,children:[(0,x.jsx)(vu,{defaultColor:e,rfId:n}),b.map(e=>(0,x.jsx)(qu,{id:e,edgesFocusable:g,edgesReconnectable:_,elementsSelectable:v,noPanClassName:i,onReconnect:a,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,onClick:u,reconnectRadius:d,onDoubleClick:f,onReconnectStart:p,onReconnectEnd:m,rfId:n,onError:y,edgeTypes:r,disableKeyboardA11y:h},e))]})}Yu.displayName=`EdgeRenderer`;var Xu=(0,y.memo)(Yu),Zu=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function Qu({children:e}){let t=yc(),n=(0,y.useRef)(null),[r]=(0,y.useState)(()=>t.getState().transform);return ul(()=>{let e=null,r=()=>{let r=t.getState().transform;e&&r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]||(e=r,n.current&&(n.current.style.transform=Zu(r)))};return r(),t.subscribe(r)},[t]),(0,x.jsx)(`div`,{ref:n,className:`react-flow__viewport xyflow__viewport react-flow__container`,style:{transform:Zu(r)},children:e})}function $u(e){let t=_l(),n=(0,y.useRef)(!1);(0,y.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var ed=e=>e.panZoom?.syncViewport;function td(e){let t=K(ed),n=yc();return(0,y.useEffect)(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function nd(e){return e.connection.inProgress?{...e.connection,to:io(e.connection.to,e.transform)}:{...e.connection}}function rd(e){return e?t=>e(nd(t)):nd}function id(e){return K(rd(e),mc)}var ad=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function od({containerStyle:e,style:t,type:n,component:r}){let{nodesConnectable:i,width:a,height:o,isValid:s,inProgress:c}=K(ad,mc);return a&&i&&c?(0,x.jsx)(`svg`,{style:e,width:a,height:o,className:`react-flow__connectionline react-flow__container`,children:(0,x.jsx)(`g`,{className:S([`react-flow__connection`,go(s)]),children:(0,x.jsx)(sd,{style:t,type:n,CustomComponent:r,isValid:s})})}):null}var sd=({style:e,type:t=Ea.Bezier,CustomComponent:n,isValid:r})=>{let{inProgress:i,from:a,fromNode:o,fromHandle:s,fromPosition:c,to:l,toNode:u,toHandle:d,toPosition:f,pointer:p}=id();if(!i)return;if(n)return(0,x.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:o,fromHandle:s,fromX:a.x,fromY:a.y,toX:l.x,toY:l.y,fromPosition:c,toPosition:f,connectionStatus:go(r),toNode:u,toHandle:d,pointer:p});let m=``,h={sourceX:a.x,sourceY:a.y,sourcePosition:c,targetX:l.x,targetY:l.y,targetPosition:f};switch(t){case Ea.Bezier:[m]=Oo(h);break;case Ea.SimpleBezier:[m]=Cu(h);break;case Ea.Step:[m]=Vo({...h,borderRadius:0});break;case Ea.SmoothStep:[m]=Vo(h);break;default:[m]=Fo(h)}return(0,x.jsx)(`path`,{d:m,fill:`none`,className:`react-flow__connection-path`,style:e})};sd.displayName=`ConnectionLine`;var cd={};function ld(e=cd){(0,y.useRef)(e),yc(),(0,y.useEffect)(()=>{},[e])}function ud(){yc(),(0,y.useRef)(!1),(0,y.useEffect)(()=>{},[])}function dd({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:i,onNodeDoubleClick:a,onEdgeDoubleClick:o,onNodeMouseEnter:s,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:u,onSelectionContextMenu:d,onSelectionStart:f,onSelectionEnd:p,connectionLineType:m,connectionLineStyle:h,connectionLineComponent:g,connectionLineContainerStyle:_,selectionKeyCode:v,selectionOnDrag:y,selectionMode:b,multiSelectionKeyCode:S,panActivationKeyCode:C,zoomActivationKeyCode:w,deleteKeyCode:T,onlyRenderVisibleElements:E,elementsSelectable:D,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,preventScrolling:M,defaultMarkerColor:N,zoomOnScroll:P,zoomOnPinch:ee,panOnScroll:F,panOnScrollSpeed:I,panOnScrollMode:te,zoomOnDoubleClick:ne,panOnDrag:L,autoPanOnSelection:R,onPaneClick:z,onPaneMouseEnter:B,onPaneMouseMove:re,onPaneMouseLeave:ie,onPaneScroll:ae,onPaneContextMenu:oe,paneClickDistance:se,nodeClickDistance:ce,onEdgeContextMenu:le,onEdgeMouseEnter:ue,onEdgeMouseMove:de,onEdgeMouseLeave:fe,reconnectRadius:pe,onReconnect:me,onReconnectStart:he,onReconnectEnd:ge,noDragClassName:_e,noWheelClassName:ve,noPanClassName:ye,disableKeyboardA11y:be,nodeExtent:xe,rfId:Se,viewport:Ce,onViewportChange:we,nodesDraggable:Te}){return ld(e),ld(t),ud(),$u(n),td(Ce),(0,x.jsx)(eu,{onPaneClick:z,onPaneMouseEnter:B,onPaneMouseMove:re,onPaneMouseLeave:ie,onPaneContextMenu:oe,onPaneScroll:ae,paneClickDistance:se,deleteKeyCode:T,selectionKeyCode:v,selectionOnDrag:y,selectionMode:b,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:S,panActivationKeyCode:C,zoomActivationKeyCode:w,elementsSelectable:D,zoomOnScroll:P,zoomOnPinch:ee,zoomOnDoubleClick:ne,panOnScroll:F,panOnScrollSpeed:I,panOnScrollMode:te,panOnDrag:L,autoPanOnSelection:R,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,onSelectionContextMenu:d,preventScrolling:M,noDragClassName:_e,noWheelClassName:ve,noPanClassName:ye,disableKeyboardA11y:be,onViewportChange:we,isControlledViewport:!!Ce,children:(0,x.jsxs)(Qu,{children:[(0,x.jsx)(Xu,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:o,onReconnect:me,onReconnectStart:he,onReconnectEnd:ge,onlyRenderVisibleElements:E,onEdgeContextMenu:le,onEdgeMouseEnter:ue,onEdgeMouseMove:de,onEdgeMouseLeave:fe,reconnectRadius:pe,defaultMarkerColor:N,noPanClassName:ye,disableKeyboardA11y:be,rfId:Se}),(0,x.jsx)(od,{style:h,type:m,component:g,containerStyle:_}),(0,x.jsx)(`div`,{className:`react-flow__edgelabel-renderer`}),(0,x.jsx)(uu,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:a,onNodeMouseEnter:s,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:u,nodeClickDistance:ce,onlyRenderVisibleElements:E,noPanClassName:ye,noDragClassName:_e,disableKeyboardA11y:be,nodeExtent:xe,rfId:Se,nodesDraggable:Te}),(0,x.jsx)(`div`,{className:`react-flow__viewport-portal`})]})})}dd.displayName=`GraphView`;var fd=(0,y.memo)(dd),pd=no(`React Flow`,`https://reactflow.dev/`),md=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c=.5,maxZoom:l=2,nodeOrigin:u,nodeExtent:d,zIndexMode:f=`basic`}={})=>{let p=new Map,m=new Map,h=new Map,g=new Map,_=r??t??[],v=n??e??[],y=u??[0,0],b=d??ya;fs(h,g,_);let{nodesInitialized:x}=rs(v,p,m,{nodeOrigin:y,nodeExtent:b,zIndexMode:f}),S=[0,0,1];if(o&&i&&a){let{x:e,y:t,zoom:n}=lo(Pa(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),i,a,c,l,s?.padding??.1);S=[e,t,n]}return{rfId:`1`,width:i??0,height:a??0,transform:S,nodes:v,nodesInitialized:x,nodeLookup:p,parentLookup:m,edges:_,edgeLookup:g,connectionLookup:h,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:c,maxZoom:l,translateExtent:ya,nodeExtent:b,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Sa.Strict,domNode:null,paneDragging:!1,noPanClassName:`nopan`,nodeOrigin:y,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:o??!1,fitViewOptions:s,fitViewResolver:null,connection:{...Ta},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:``,autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:pd,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:`react`,debug:!1,ariaLabelConfig:xa,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},hd=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c,maxZoom:l,nodeOrigin:u,nodeExtent:d,zIndexMode:f})=>pc((p,m)=>{async function h(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:i,height:a,minZoom:o,maxZoom:s}=m();t&&(await Ra({nodes:e,width:i,height:a,panZoom:t,minZoom:o,maxZoom:s},n),r?.resolve(!0),p({fitViewResolver:null}))}return{...md({nodes:e,edges:t,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c,maxZoom:l,nodeOrigin:u,nodeExtent:d,defaultNodes:n,defaultEdges:r,zIndexMode:f}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,nodeExtent:i,elevateNodesOnSelect:a,fitViewQueued:o,zIndexMode:s,nodesSelectionActive:c}=m(),{nodesInitialized:l,hasSelectedNodes:u}=rs(e,t,n,{nodeOrigin:r,nodeExtent:i,elevateNodesOnSelect:a,checkEquality:!0,zIndexMode:s}),d=c&&u;o&&l?(h(),p({nodes:e,nodesInitialized:l,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:d})):p({nodes:e,nodesInitialized:l,nodesSelectionActive:d})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=m();fs(t,n,e),p({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=m();t(e),p({hasDefaultNodes:!0})}if(t){let{setEdges:e}=m();e(t),p({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:i,nodeOrigin:a,nodeExtent:o,debug:s,fitViewQueued:c,zIndexMode:l}=m(),{changes:u,updatedInternals:d}=ls(e,n,r,i,a,o,l);d&&(es(n,r,{nodeOrigin:a,nodeExtent:o,zIndexMode:l}),c?(h(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),u?.length>0&&(s&&console.log(`React Flow: trigger node changes`,u),t?.(u)))},updateNodePositions:(e,t=!1)=>{let n=[],r=[],{nodeLookup:i,triggerNodeChanges:a,connection:o,updateConnection:s,onNodesChangeMiddlewareMap:c}=m();for(let[a,c]of e){let e=i.get(a),l=!!(e?.expandParent&&e?.parentId&&c?.position),u={id:a,type:`position`,position:l?{x:Math.max(0,c.position.x),y:Math.max(0,c.position.y)}:c.position,dragging:t};if(e&&o.inProgress&&o.fromNode.id===e.id){let t=Go(e,o.fromHandle,H.Left,!0);s({...o,from:t})}l&&e.parentId&&n.push({id:a,parentId:e.parentId,rect:{...c.internals.positionAbsolute,width:c.measured.width??0,height:c.measured.height??0}}),r.push(u)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=m(),a=cs(n,i,e,t);r.push(...a)}for(let e of c.values())r=e(r);a(r)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:r,hasDefaultNodes:i,debug:a}=m();e?.length&&(i&&n($c(e,r)),a&&console.log(`React Flow: trigger node changes`,e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:r,hasDefaultEdges:i,debug:a}=m();e?.length&&(i&&n(el(e,r)),a&&console.log(`React Flow: trigger edge changes`,e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m();if(t){i(e.map(e=>tl(e,!0)));return}i(nl(r,new Set([...e]),!0)),a(nl(n))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m();if(t){a(e.map(e=>tl(e,!0)));return}a(nl(n,new Set([...e]))),i(nl(r,new Set,!0))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:r,nodeLookup:i,triggerNodeChanges:a,triggerEdgeChanges:o}=m(),s=e||r,c=t||n,l=[];for(let e of s){if(!e.selected)continue;let t=i.get(e.id);t&&(t.selected=!1),l.push(tl(e.id,!1))}let u=[];for(let e of c)e.selected&&u.push(tl(e.id,!1));a(l),o(u)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=m();t?.setScaleExtent([e,n]),p({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=m();t?.setScaleExtent([n,e]),p({maxZoom:e})},setTranslateExtent:e=>{m().panZoom?.setTranslateExtent(e),p({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:r,elementsSelectable:i}=m();if(!i)return;let a=t.reduce((e,t)=>t.selected?[...e,tl(t.id,!1)]:e,[]),o=e.reduce((e,t)=>t.selected?[...e,tl(t.id,!1)]:e,[]);n(a),r(o)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:i,elevateNodesOnSelect:a,nodeExtent:o,zIndexMode:s}=m();(e[0][0]!==o[0][0]||e[0][1]!==o[0][1]||e[1][0]!==o[1][0]||e[1][1]!==o[1][1])&&(rs(t,n,r,{nodeOrigin:i,nodeExtent:e,elevateNodesOnSelect:a,checkEquality:!1,zIndexMode:s}),p({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:i,translateExtent:a}=m();return us({delta:e,panZoom:i,transform:t,translateExtent:a,width:n,height:r})},setCenter:async(e,t,n)=>{let{width:r,height:i,maxZoom:a,panZoom:o}=m();if(!o)return!1;let s=n?.zoom===void 0?a:n.zoom;return await o.setViewport({x:r/2-e*s,y:i/2-t*s,zoom:s},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0},cancelConnection:()=>{p({connection:{...Ta}})},updateConnection:e=>{p({connection:e})},reset:()=>p({...md()})}},Object.is);function gd({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:i,initialHeight:a,initialMinZoom:o,initialMaxZoom:s,initialFitViewOptions:c,fitView:l,nodeOrigin:u,nodeExtent:d,zIndexMode:f,children:p}){let[m]=(0,y.useState)(()=>hd({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:l,minZoom:o,maxZoom:s,fitViewOptions:c,nodeOrigin:u,nodeExtent:d,zIndexMode:f}));return(0,x.jsx)(_c,{value:m,children:(0,x.jsx)(ml,{children:(0,x.jsx)(Rl,{children:p})})})}function _d({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:i,width:a,height:o,fitView:s,fitViewOptions:c,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:p}){return(0,y.useContext)(gc)?(0,x.jsx)(x.Fragment,{children:e}):(0,x.jsx)(gd,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:i,initialWidth:a,initialHeight:o,fitView:s,initialFitViewOptions:c,initialMinZoom:l,initialMaxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:p,children:e})}var vd={width:`100%`,height:`100%`,overflow:`hidden`,position:`relative`,zIndex:0};function yd({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:a,edgeTypes:o,onNodeClick:s,onEdgeClick:c,onInit:l,onMove:u,onMoveStart:d,onMoveEnd:f,onConnect:p,onConnectStart:m,onConnectEnd:h,onClickConnectStart:g,onClickConnectEnd:_,onNodeMouseEnter:v,onNodeMouseMove:b,onNodeMouseLeave:C,onNodeContextMenu:w,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:D,onNodeDragStop:O,onNodesDelete:k,onEdgesDelete:A,onDelete:j,onSelectionChange:M,onSelectionDragStart:N,onSelectionDrag:P,onSelectionDragStop:ee,onSelectionContextMenu:F,onSelectionStart:I,onSelectionEnd:te,onBeforeDelete:ne,connectionMode:L,connectionLineType:R=Ea.Bezier,connectionLineStyle:z,connectionLineComponent:B,connectionLineContainerStyle:re,deleteKeyCode:ie=`Backspace`,selectionKeyCode:ae=`Shift`,selectionOnDrag:oe=!1,selectionMode:se=wa.Full,panActivationKeyCode:ce=`Space`,multiSelectionKeyCode:le=U()?`Meta`:`Control`,zoomActivationKeyCode:ue=U()?`Meta`:`Control`,snapToGrid:de,snapGrid:fe,onlyRenderVisibleElements:pe=!1,selectNodesOnDrag:me,nodesDraggable:he,autoPanOnNodeFocus:ge,nodesConnectable:_e,nodesFocusable:ve,nodeOrigin:ye=Rc,edgesFocusable:be,edgesReconnectable:xe,elementsSelectable:Se=!0,defaultViewport:Ce=zc,minZoom:we=.5,maxZoom:Te=2,translateExtent:Ee=ya,preventScrolling:De=!0,nodeExtent:Oe,defaultMarkerColor:ke=`#b1b1b7`,zoomOnScroll:Ae=!0,zoomOnPinch:je=!0,panOnScroll:Me=!1,panOnScrollSpeed:Ne=.5,panOnScrollMode:Pe=Ca.Free,zoomOnDoubleClick:Fe=!0,panOnDrag:Ie=!0,onPaneClick:Le,onPaneMouseEnter:Re,onPaneMouseMove:ze,onPaneMouseLeave:Be,onPaneScroll:Ve,onPaneContextMenu:He,paneClickDistance:Ue=1,nodeClickDistance:We=0,children:Ge,onReconnect:Ke,onReconnectStart:qe,onReconnectEnd:Je,onEdgeContextMenu:Ye,onEdgeDoubleClick:Xe,onEdgeMouseEnter:Ze,onEdgeMouseMove:Qe,onEdgeMouseLeave:$e,reconnectRadius:et=10,onNodesChange:tt,onEdgesChange:nt,noDragClassName:rt=`nodrag`,noWheelClassName:it=`nowheel`,noPanClassName:at=`nopan`,fitView:ot,fitViewOptions:st,connectOnClick:ct,attributionPosition:lt,proOptions:ut,defaultEdgeOptions:dt,elevateNodesOnSelect:ft=!0,elevateEdgesOnSelect:pt=!1,disableKeyboardA11y:mt=!1,autoPanOnConnect:ht,autoPanOnNodeDrag:gt,autoPanOnSelection:_t=!0,autoPanSpeed:vt,connectionRadius:yt,isValidConnection:bt,onError:xt,style:St,id:Ct,nodeDragThreshold:wt,connectionDragThreshold:Tt,viewport:Et,onViewportChange:Dt,width:Ot,height:kt,colorMode:At=`light`,debug:jt,onScroll:Mt,ariaLabelConfig:Nt,zIndexMode:Pt=`basic`,...Ft},It){let Lt=Ct||`1`,Rt=Gc(At),zt=(0,y.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:`instant`}),Mt?.(e)},[Mt]);return(0,x.jsx)(`div`,{"data-testid":`rf__wrapper`,...Ft,onScroll:zt,style:{...St,...vd},ref:It,className:S([`react-flow`,i,Rt]),id:Ct,role:`application`,children:(0,x.jsxs)(_d,{nodes:e,edges:t,width:Ot,height:kt,fitView:ot,fitViewOptions:st,minZoom:we,maxZoom:Te,nodeOrigin:ye,nodeExtent:Oe,zIndexMode:Pt,children:[(0,x.jsx)(Uc,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:p,onConnectStart:m,onConnectEnd:h,onClickConnectStart:g,onClickConnectEnd:_,nodesDraggable:he,autoPanOnNodeFocus:ge,nodesConnectable:_e,nodesFocusable:ve,edgesFocusable:be,edgesReconnectable:xe,elementsSelectable:Se,elevateNodesOnSelect:ft,elevateEdgesOnSelect:pt,minZoom:we,maxZoom:Te,nodeExtent:Oe,onNodesChange:tt,onEdgesChange:nt,snapToGrid:de,snapGrid:fe,connectionMode:L,translateExtent:Ee,connectOnClick:ct,defaultEdgeOptions:dt,fitView:ot,fitViewOptions:st,onNodesDelete:k,onEdgesDelete:A,onDelete:j,onNodeDragStart:E,onNodeDrag:D,onNodeDragStop:O,onSelectionDrag:P,onSelectionDragStart:N,onSelectionDragStop:ee,onMove:u,onMoveStart:d,onMoveEnd:f,noPanClassName:at,nodeOrigin:ye,rfId:Lt,autoPanOnConnect:ht,autoPanOnNodeDrag:gt,autoPanSpeed:vt,onError:xt,connectionRadius:yt,isValidConnection:bt,selectNodesOnDrag:me,nodeDragThreshold:wt,connectionDragThreshold:Tt,onBeforeDelete:ne,debug:jt,ariaLabelConfig:Nt,zIndexMode:Pt}),(0,x.jsx)(fd,{onInit:l,onNodeClick:s,onEdgeClick:c,onNodeMouseEnter:v,onNodeMouseMove:b,onNodeMouseLeave:C,onNodeContextMenu:w,onNodeDoubleClick:T,nodeTypes:a,edgeTypes:o,connectionLineType:R,connectionLineStyle:z,connectionLineComponent:B,connectionLineContainerStyle:re,selectionKeyCode:ae,selectionOnDrag:oe,selectionMode:se,deleteKeyCode:ie,multiSelectionKeyCode:le,panActivationKeyCode:ce,zoomActivationKeyCode:ue,onlyRenderVisibleElements:pe,defaultViewport:Ce,translateExtent:Ee,minZoom:we,maxZoom:Te,preventScrolling:De,zoomOnScroll:Ae,zoomOnPinch:je,zoomOnDoubleClick:Fe,panOnScroll:Me,panOnScrollSpeed:Ne,panOnScrollMode:Pe,panOnDrag:Ie,autoPanOnSelection:_t,onPaneClick:Le,onPaneMouseEnter:Re,onPaneMouseMove:ze,onPaneMouseLeave:Be,onPaneScroll:Ve,onPaneContextMenu:He,paneClickDistance:Ue,nodeClickDistance:We,onSelectionContextMenu:F,onSelectionStart:I,onSelectionEnd:te,onReconnect:Ke,onReconnectStart:qe,onReconnectEnd:Je,onEdgeContextMenu:Ye,onEdgeDoubleClick:Xe,onEdgeMouseEnter:Ze,onEdgeMouseMove:Qe,onEdgeMouseLeave:$e,reconnectRadius:et,defaultMarkerColor:ke,noDragClassName:rt,noWheelClassName:it,noPanClassName:at,rfId:Lt,disableKeyboardA11y:mt,nodeExtent:Oe,viewport:Et,onViewportChange:Dt,nodesDraggable:he}),(0,x.jsx)(Lc,{onSelectionChange:M}),Ge,(0,x.jsx)(jc,{proOptions:ut,position:lt}),(0,x.jsx)(Oc,{rfId:Lt,disableKeyboardA11y:mt})]})})}var bd=ll(yd),xd=e=>e.domNode?.querySelector(`.react-flow__edgelabel-renderer`);function X({children:e}){let t=K(xd);return t?(0,hc.createPortal)(e,t):null}var Sd=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2]});function Cd(){return K(Sd,mc)}function wd(e){let[t,n]=(0,y.useState)(e);return[t,n,(0,y.useCallback)(e=>n(t=>$c(e,t)),[])]}function Td(e){let[t,n]=(0,y.useState)(e);return[t,n,(0,y.useCallback)(e=>n(t=>el(e,t)),[])]}va.error014();function Ed({dimensions:e,lineWidth:t,variant:n,className:r}){return(0,x.jsx)(`path`,{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:S([`react-flow__background-pattern`,n,r])})}function Dd({radius:e,className:t}){return(0,x.jsx)(`circle`,{cx:e,cy:e,r:e,className:S([`react-flow__background-pattern`,`dots`,t])})}var Od;(function(e){e.Lines=`lines`,e.Dots=`dots`,e.Cross=`cross`})(Od||={});var kd={[Od.Dots]:1,[Od.Lines]:1,[Od.Cross]:6},Ad=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function jd({id:e,variant:t=Od.Dots,gap:n=20,size:r,lineWidth:i=1,offset:a=0,color:o,bgColor:s,style:c,className:l,patternClassName:u}){let d=(0,y.useRef)(null),{transform:f,patternId:p}=K(Ad,mc),m=r||kd[t],h=t===Od.Dots,g=t===Od.Cross,_=Array.isArray(n)?n:[n,n],v=[_[0]*f[2]||1,_[1]*f[2]||1],b=m*f[2],C=Array.isArray(a)?a:[a,a],w=g?[b,b]:v,T=[C[0]*f[2]+w[0]/2,C[1]*f[2]+w[1]/2],E=`${p}${e||``}`;return(0,x.jsxs)(`svg`,{className:S([`react-flow__background`,l]),style:{...c,...Sl,"--xy-background-color-props":s,"--xy-background-pattern-color-props":o},ref:d,"data-testid":`rf__background`,children:[(0,x.jsx)(`pattern`,{id:E,x:f[0]%v[0],y:f[1]%v[1],width:v[0],height:v[1],patternUnits:`userSpaceOnUse`,patternTransform:`translate(-${T[0]},-${T[1]})`,children:h?(0,x.jsx)(Dd,{radius:b/2,className:u}):(0,x.jsx)(Ed,{dimensions:w,lineWidth:i,variant:t,className:u})}),(0,x.jsx)(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:`url(#${E})`})]})}jd.displayName=`Background`;var Md=(0,y.memo)(jd);function Nd(){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,children:(0,x.jsx)(`path`,{d:`M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z`})})}function Pd(){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 5`,children:(0,x.jsx)(`path`,{d:`M0 0h32v4.2H0z`})})}function Fd(){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 30`,children:(0,x.jsx)(`path`,{d:`M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z`})})}function Id(){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,x.jsx)(`path`,{d:`M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z`})})}function Ld(){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,x.jsx)(`path`,{d:`M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z`})})}function Rd({children:e,className:t,...n}){return(0,x.jsx)(`button`,{type:`button`,className:S([`react-flow__controls-button`,t]),...n,children:e})}var zd=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Bd({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:o,onFitView:s,onInteractiveChange:c,className:l,children:u,position:d=`bottom-left`,orientation:f=`vertical`,"aria-label":p}){let m=yc(),{isInteractive:h,minZoomReached:g,maxZoomReached:_,ariaLabelConfig:v}=K(zd,mc),{zoomIn:y,zoomOut:b,fitView:C}=_l();return(0,x.jsxs)(kc,{className:S([`react-flow__controls`,f===`horizontal`?`horizontal`:`vertical`,l]),position:d,style:e,"data-testid":`rf__controls`,"aria-label":p??v[`controls.ariaLabel`],children:[t&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Rd,{onClick:()=>{y(),a?.()},className:`react-flow__controls-zoomin`,title:v[`controls.zoomIn.ariaLabel`],"aria-label":v[`controls.zoomIn.ariaLabel`],disabled:_,children:(0,x.jsx)(Nd,{})}),(0,x.jsx)(Rd,{onClick:()=>{b(),o?.()},className:`react-flow__controls-zoomout`,title:v[`controls.zoomOut.ariaLabel`],"aria-label":v[`controls.zoomOut.ariaLabel`],disabled:g,children:(0,x.jsx)(Pd,{})})]}),n&&(0,x.jsx)(Rd,{className:`react-flow__controls-fitview`,onClick:()=>{C(i),s?.()},title:v[`controls.fitView.ariaLabel`],"aria-label":v[`controls.fitView.ariaLabel`],children:(0,x.jsx)(Fd,{})}),r&&(0,x.jsx)(Rd,{className:`react-flow__controls-interactive`,onClick:()=>{m.setState({nodesDraggable:!h,nodesConnectable:!h,elementsSelectable:!h}),c?.(!h)},title:v[`controls.interactive.ariaLabel`],"aria-label":v[`controls.interactive.ariaLabel`],children:h?(0,x.jsx)(Ld,{}):(0,x.jsx)(Id,{})}),u]})}Bd.displayName=`Controls`;var Vd=(0,y.memo)(Bd);function Hd({id:e,x:t,y:n,width:r,height:i,style:a,color:o,strokeColor:s,strokeWidth:c,className:l,borderRadius:u,shapeRendering:d,selected:f,onClick:p}){let{background:m,backgroundColor:h}=a||{},g=o||m||h;return(0,x.jsx)(`rect`,{className:S([`react-flow__minimap-node`,{selected:f},l]),x:t,y:n,rx:u,ry:u,width:r,height:i,style:{fill:g,stroke:s,strokeWidth:c},shapeRendering:d,onClick:p?t=>p(t,e):void 0})}var Ud=(0,y.memo)(Hd),Wd=e=>e.nodes.map(e=>e.id),Gd=e=>e instanceof Function?e:()=>e;function Kd({nodeStrokeColor:e,nodeColor:t,nodeClassName:n=``,nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a=Ud,onClick:o}){let s=K(Wd,mc),c=Gd(t),l=Gd(e),u=Gd(n),d=typeof window>`u`||window.chrome?`crispEdges`:`geometricPrecision`;return(0,x.jsx)(x.Fragment,{children:s.map(e=>(0,x.jsx)(Jd,{id:e,nodeColorFunc:c,nodeStrokeColorFunc:l,nodeClassNameFunc:u,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:a,onClick:o,shapeRendering:d},e))})}function qd({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:i,nodeStrokeWidth:a,shapeRendering:o,NodeComponent:s,onClick:c}){let{node:l,x:u,y:d,width:f,height:p}=K(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let r=n.internals.userNode,{x:i,y:a}=n.internals.positionAbsolute,{width:o,height:s}=G(r);return{node:r,x:i,y:a,width:o,height:s}},mc);return!l||l.hidden||!uo(l)?null:(0,x.jsx)(s,{x:u,y:d,width:f,height:p,style:l.style,selected:!!l.selected,className:r(l),color:t(l),borderRadius:i,strokeColor:n(l),strokeWidth:a,shapeRendering:o,onClick:c,id:l.id})}var Jd=(0,y.memo)(qd),Yd=(0,y.memo)(Kd),Xd=200,Zd=150,Qd=e=>!e.hidden,$d=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]},n=!1;for(let t of e.nodeLookup.values())if(!t.hidden){n=!0;break}return{viewBB:t,boundingRect:n?Za(Pa(e.nodeLookup,{filter:Qd}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},ef=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,tf=(e,t)=>ef(e.viewBB,t.viewBB)&&ef(e.boundingRect,t.boundingRect)&&e.rfId===t.rfId&&e.panZoom===t.panZoom&&e.translateExtent===t.translateExtent&&e.flowWidth===t.flowWidth&&e.flowHeight===t.flowHeight&&e.ariaLabelConfig===t.ariaLabelConfig,nf=`react-flow__minimap-desc`;function rf({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:i=``,nodeBorderRadius:a=5,nodeStrokeWidth:o,nodeComponent:s,bgColor:c,maskColor:l,maskStrokeColor:u,maskStrokeWidth:d,position:f=`bottom-right`,onClick:p,onNodeClick:m,pannable:h=!1,zoomable:g=!1,ariaLabel:_,inversePan:v,zoomStep:b=1,offsetScale:C=5}){let w=yc(),T=(0,y.useRef)(null),{boundingRect:E,panZoom:D,viewBB:O,rfId:k,translateExtent:A,flowWidth:j,flowHeight:M,ariaLabelConfig:N}=K($d,tf),P=e?.width??Xd,ee=e?.height??Zd,F=E.width/P,I=E.height/ee,te=Math.max(F,I),ne=te*P,L=te*ee,R=C*te,z=E.x-(ne-E.width)/2-R,B=E.y-(L-E.height)/2-R,re=ne+R*2,ie=L+R*2,ae=`${nf}-${k}`,oe=(0,y.useRef)(0),se=(0,y.useRef)();oe.current=te,(0,y.useEffect)(()=>{let e=w.getState().panZoom;if(T.current&&e)return se.current=ks({domNode:T.current,panZoom:e,getTransform:()=>w.getState().transform,getViewScale:()=>oe.current}),()=>{se.current?.destroy()}},[D]),(0,y.useEffect)(()=>{se.current?.update({translateExtent:A,width:j,height:M,inversePan:v,pannable:h,zoomStep:b,zoomable:g})},[h,g,v,b,A,j,M]);let ce=p?e=>{let[t,n]=se.current?.pointer(e)||[0,0];p(e,{x:t,y:n})}:void 0,le=(0,y.useCallback)((e,t)=>{let n=w.getState().nodeLookup.get(t).internals.userNode;m?.(e,n)},[m]),ue=m?le:void 0,de=_??N[`minimap.ariaLabel`];return(0,x.jsx)(kc,{position:f,style:{...e,"--xy-minimap-background-color-props":typeof c==`string`?c:void 0,"--xy-minimap-mask-background-color-props":typeof l==`string`?l:void 0,"--xy-minimap-mask-stroke-color-props":typeof u==`string`?u:void 0,"--xy-minimap-mask-stroke-width-props":typeof d==`number`?d*te:void 0,"--xy-minimap-node-background-color-props":typeof r==`string`?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n==`string`?n:void 0,"--xy-minimap-node-stroke-width-props":typeof o==`number`?o:void 0},className:S([`react-flow__minimap`,t]),"data-testid":`rf__minimap`,children:(0,x.jsxs)(`svg`,{width:P,height:ee,viewBox:`${z} ${B} ${re} ${ie}`,className:`react-flow__minimap-svg`,role:`img`,"aria-labelledby":ae,ref:T,onClick:ce,children:[de&&(0,x.jsx)(`title`,{id:ae,children:de}),(0,x.jsx)(Yd,{onClick:ue,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:a,nodeClassName:i,nodeStrokeWidth:o,nodeComponent:s}),(0,x.jsx)(`path`,{className:`react-flow__minimap-mask`,d:`M${z-R},${B-R}h${re+R*2}v${ie+R*2}h${-re-R*2}z
237
+ M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fillRule:`evenodd`,pointerEvents:`none`})]})})}rf.displayName=`MiniMap`;var af=(0,y.memo)(rf),of=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,sf={[Ws.Line]:`right`,[Ws.Handle]:`bottom-right`};function cf({nodeId:e,position:t,variant:n=Ws.Handle,className:r,style:i=void 0,children:a,color:o,minWidth:s=10,minHeight:c=10,maxWidth:l=Number.MAX_VALUE,maxHeight:u=Number.MAX_VALUE,keepAspectRatio:d=!1,resizeDirection:f,autoScale:p=!0,shouldResize:m,onResizeStart:h,onResize:g,onResizeEnd:_}){let v=Il(),b=typeof e==`string`?e:v,C=yc(),w=(0,y.useRef)(null),T=n===Ws.Handle,E=K((0,y.useCallback)(of(T&&p),[T,p]),mc),D=(0,y.useRef)(null),O=t??sf[n];(0,y.useEffect)(()=>{if(!(!w.current||!b))return D.current||=tc({domNode:w.current,nodeId:b,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:i,domNode:a}=C.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:i,paneDomNode:a}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:r,parentLookup:i,nodeOrigin:a}=C.getState(),o=[],s={x:e.x,y:e.y},c=r.get(b);if(c&&c.expandParent&&c.parentId){let t=c.origin??a,n=e.width??c.measured.width??0,l=e.height??c.measured.height??0,u=cs([{id:c.id,parentId:c.parentId,rect:{width:n,height:l,...fo({x:e.x??c.position.x,y:e.y??c.position.y},{width:n,height:l},c.parentId,r,t)}}],r,i,a);o.push(...u),s.x=e.x?Math.max(t[0]*n,e.x):void 0,s.y=e.y?Math.max(t[1]*l,e.y):void 0}if(s.x!==void 0&&s.y!==void 0){let e={id:b,type:`position`,position:{...s}};o.push(e)}if(e.width!==void 0&&e.height!==void 0){let t={id:b,type:`dimensions`,resizing:!0,setAttributes:f?f===`horizontal`?`width`:`height`:!0,dimensions:{width:e.width,height:e.height}};o.push(t)}for(let e of t){let t={...e,type:`position`};o.push(t)}n(o)},onEnd:({width:e,height:t})=>{let n={id:b,type:`dimensions`,resizing:!1,dimensions:{width:e,height:t}};C.getState().triggerNodeChanges([n])}}),D.current.update({controlPosition:O,boundaries:{minWidth:s,minHeight:c,maxWidth:l,maxHeight:u},keepAspectRatio:d,resizeDirection:f,onResizeStart:h,onResize:g,onResizeEnd:_,shouldResize:m}),()=>{D.current?.destroy()}},[O,s,c,l,u,d,h,g,_,m]);let k=O.split(`-`);return(0,x.jsx)(`div`,{className:S([`react-flow__resize-control`,`nodrag`,...k,n,r]),ref:w,style:{...i,scale:E,...o&&{[T?`backgroundColor`:`borderColor`]:o}},children:a})}(0,y.memo)(cf);var lf={"zh-CN":{Architecture:`架构图`,Flowchart:`流程图`,Sequence:`时序图`,"ER diagram":`ER 图`,Deployment:`部署图`,"Class diagram":`类图`,"State diagram":`状态图`,"Use cases":`用例图`,"Data flow":`数据流图`,"Source code":`源码`,Code:`代码`,Configuration:`配置`,Schema:`数据结构`,Test:`测试`,Document:`文档`,"Framework convention":`框架约定`,Inference:`推断`,External:`外部`,Framework:`框架`,Security:`安全`,Service:`服务`,Business:`业务`,Data:`数据`,Failure:`失败`,System:`系统`,Component:`组件`,Database:`数据库`,Start:`开始`,End:`结束`,Process:`处理`,Decision:`判断`,Input:`输入`,Output:`输出`,Subprocess:`子流程`,Actor:`角色`,Participant:`参与者`,Entity:`实体`,Device:`设备`,Nodes:`节点`,Container:`容器`,Artifact:`制品`,Class:`类`,Interface:`接口`,"Abstract class":`抽象类`,State:`状态`,Initial:`初始`,Choice:`选择`,"Use case":`用例`,"Data store":`数据存储`,"Initial state":`初始状态`,"Final state":`结束状态`,"Core component":`核心组件`,"Data / storage":`数据与存储`,"Start / end":`起止节点`,"Components / actors":`普通组件 / 角色`,"Solid relation":`实线关系`,"Dashed: notation / convention / inference":`虚线:关系记法 / 框架约定 / 推断`,Reset:`重置`,Dark:`深色`,Light:`浅色`,Locked:`布局锁定`,Draggable:`可拖动`,"Unlock the layout first":`请先解除布局锁定`,"Space the selected node and its direct neighbors":`整理选中节点及直接邻居的间距`,"Space all nodes":`整理全部节点的间距`,Arrange:`整理间距`,"Hide details":`隐藏右侧详情栏`,"Show details":`显示右侧详情栏`,Overview:`模型概览`,Edges:`关系`,Groups:`边界`,"Diagram types":`图类型`,"Search nodes":`搜索节点`,"Edge animation":`连线流动`,On:`开`,Off:`关`,"System reduced-motion preference is respected":`已遵循系统减少动态效果设置`,"Matches · {count}":`匹配结果 · {count}`,"Nodes · {count}":`节点目录 · {count}`,"No matches. Try a name or responsibility.":`未找到匹配节点,请试试名称或职责。`,Legend:`图例`,"Interactive {type}":`可交互{type}`,"Fit canvas":`适应画布`,"Exit fullscreen":`退出全屏`,"Enter fullscreen":`进入全屏`,"Exit fullscreen (Esc)":`退出全屏(Esc)`,"Fullscreen is not available in this browser or page":`当前浏览器或页面不支持全屏`,"Could not exit fullscreen. Press Esc to try again.":`无法退出全屏,请按 Esc 重试`,"Could not enter fullscreen. Check browser or page permissions and try again.":`无法进入全屏,请检查浏览器或页面权限后重试`,"{count} relations":`{count} 条关系`,"Node notes":`节点说明`,"Close details":`关闭详情`,Fields:`字段`,Attributes:`属性`,Methods:`方法`,Source:`来源`,"Start with a node":`从一个节点开始`,"Select a component or a list entry to explore its role, fields, methods and source.":`点击图中组件或左侧目录,查看职责、字段、方法与来源。`,"Evidence facts":`证据事实`,"Unlock the layout before arranging nodes":`请先解除布局锁定,再整理间距`,Local:`局部`,"Full diagram":`全图`,"{scope} arranged: {count} nodes moved":`{scope}间距已整理:移动 {count} 个节点`,"Cannot arrange further within the current constraints":`当前约束下无法继续整理`,"No spacing changes needed":`当前间距无需调整`,"Generating {format}…":`正在生成 {format}…`,"{format} downloaded":`{format} 已下载`,"The browser could not generate the PNG":`浏览器未能生成 PNG`,"The browser could not read the exported SVG":`浏览器未能读取导出 SVG`,"Zoom in":`放大`,"Zoom out":`缩小`,Minimap:`小地图`,"Graph navigation":`图谱导航`,"Show graph navigation":`显示图谱导航`,"Hide graph navigation":`隐藏图谱导航`,More:`更多`,"Export SVG":`导出 SVG`,"Export PNG":`导出 PNG`,Close:`关闭`,"View details":`查看详情`,Appearance:`外观`,"Follow system":`跟随系统`,"Restore the original layout and view, and clear search and selection.":`恢复原始位置和阅读视角,清除搜索与选择`,"Reset: original positions and reading view restored":`已重置:恢复原始位置和阅读视角`,Details:`详情`,Name:`名称`,Description:`说明`,"Name is required":`名称不能为空`,Cancel:`取消`,Save:`保存`,"Edit text":`编辑文字`,Evidence:`证据`,"Save changes":`保存修改`,"Graph JSON saved":`Graph JSON 已保存`,"Saved into this page, its sibling graph.json and SVGs":`已保存到当前页面、同级 graph.json 和 SVG`,"Saved into this page and its sibling graph.json; SVGs not updated: the layout needs adjustment":`已保存到当前页面和同级 graph.json;SVG 未更新:布局需要调整`,"Choose the folder containing this page ({page}); edits remain in this page":`请选择当前页面 {page} 所在的文件夹,修改仍保留在当前页面`,"Graph JSON downloaded; keep the file to preserve edits":`Graph JSON 已下载,请保留文件以保存修改`,"Save cancelled; edits remain in this page":`已取消保存,修改仍保留在当前页面`,"Save failed; edits remain in this page":`保存失败,修改仍保留在当前页面`,"Synchronous message":`同步消息`,"Asynchronous message":`异步消息`,"Return message":`返回消息`,"Branch conditions unspecified":`分支条件未标注`,"Activation: execution interval; offset means nesting":`激活条:执行区间,错位表示嵌套`,"C ID: paired call and return share a color":`C 编号:调用与返回配对,同组同色`,"par: concurrent branches; vertical position is not order":`par:分支并行,上下排列不代表先后`,"Layout needs adjustment; JSON drafts can still be saved":`布局需要调整,仍可保存 JSON 草稿`,"Card wash":`卡片微底色`,yes:`是`,no:`否`,composition:`组合`,aggregation:`聚合`,inheritance:`继承`,implementation:`实现`,"Core state":`核心状态`,"Ended state":`终结状态`,"Failed state":`失败状态`,"In-progress state":`进行中状态`,"In-progress state: warm to cool as it advances":`进行中状态:由暖到冷表示推进顺序`,Transition:`转移`,"Self-transition: handled without leaving the state":`自转移:留在原状态内处理的事件`},ja:{Architecture:`アーキテクチャ`,Flowchart:`フローチャート`,Sequence:`シーケンス図`,"ER diagram":`ER 図`,Deployment:`配置図`,"Class diagram":`クラス図`,"State diagram":`状態図`,"Use cases":`ユースケース図`,"Data flow":`データフロー図`,"Source code":`ソースコード`,Code:`コード`,Configuration:`設定`,Schema:`スキーマ`,Test:`テスト`,Document:`ドキュメント`,"Framework convention":`フレームワークの規約`,Inference:`推論`,External:`外部`,Framework:`フレームワーク`,Security:`セキュリティ`,Service:`サービス`,Business:`業務`,Data:`データ`,Failure:`失敗`,System:`システム`,Component:`コンポーネント`,Database:`データベース`,Start:`開始`,End:`終了`,Process:`処理`,Decision:`分岐`,Input:`入力`,Output:`出力`,Subprocess:`サブプロセス`,Actor:`アクター`,Participant:`参加者`,Entity:`エンティティ`,Device:`デバイス`,Nodes:`ノード`,Container:`コンテナ`,Artifact:`成果物`,Class:`クラス`,Interface:`インターフェース`,"Abstract class":`抽象クラス`,State:`状態`,Initial:`初期`,Choice:`選択`,"Use case":`ユースケース`,"Data store":`データストア`,"Initial state":`初期状態`,"Final state":`終了状態`,"Core component":`主要コンポーネント`,"Data / storage":`データ / ストレージ`,"Start / end":`開始 / 終了`,"Components / actors":`コンポーネント / アクター`,"Solid relation":`実線の関係`,"Dashed: notation / convention / inference":`破線:記法 / 規約 / 推論`,Reset:`リセット`,Dark:`ダーク`,Light:`ライト`,Locked:`配置を固定`,Draggable:`移動可能`,"Unlock the layout first":`先に配置の固定を解除してください`,"Space the selected node and its direct neighbors":`選択ノードと隣接ノードの間隔を調整`,"Space all nodes":`すべてのノードの間隔を調整`,Arrange:`間隔を調整`,"Hide details":`詳細を隠す`,"Show details":`詳細を表示`,Overview:`概要`,Edges:`関係`,Groups:`グループ`,"Diagram types":`図の種類`,"Search nodes":`ノードを検索`,"Edge animation":`接続線の動き`,On:`オン`,Off:`オフ`,"System reduced-motion preference is respected":`システムの視差効果を減らす設定に従っています`,"Matches · {count}":`検索結果 · {count}`,"Nodes · {count}":`ノード · {count}`,"No matches. Try a name or responsibility.":`一致するノードがありません。名前や役割を変えて検索してください。`,Legend:`凡例`,"Interactive {type}":`操作可能な{type}`,"Fit canvas":`キャンバスに合わせる`,"Exit fullscreen":`全画面表示を終了`,"Enter fullscreen":`全画面表示`,"Exit fullscreen (Esc)":`全画面表示を終了(Esc)`,"Fullscreen is not available in this browser or page":`このブラウザーまたはページでは全画面表示を利用できません`,"Could not exit fullscreen. Press Esc to try again.":`全画面表示を終了できません。Esc キーを押してください`,"Could not enter fullscreen. Check browser or page permissions and try again.":`全画面表示を開始できません。ブラウザーやページの権限を確認してください`,"{count} relations":`{count} 関係`,"Node notes":`ノードの説明`,"Close details":`詳細を閉じる`,Fields:`フィールド`,Attributes:`属性`,Methods:`メソッド`,Source:`根拠`,"Start with a node":`ノードを選んで始めましょう`,"Select a component or a list entry to explore its role, fields, methods and source.":`図や一覧からコンポーネントを選ぶと、役割、フィールド、メソッド、根拠を確認できます。`,"Evidence facts":`根拠に基づく情報`,"Unlock the layout before arranging nodes":`間隔を調整する前に配置の固定を解除してください`,Local:`選択範囲`,"Full diagram":`図全体`,"{scope} arranged: {count} nodes moved":`{scope}の間隔を調整:{count} ノードを移動`,"Cannot arrange further within the current constraints":`現在の制約ではこれ以上調整できません`,"No spacing changes needed":`間隔の調整は不要です`,"Generating {format}…":`{format} を生成中…`,"{format} downloaded":`{format} をダウンロードしました`,"The browser could not generate the PNG":`ブラウザーで PNG を生成できませんでした`,"The browser could not read the exported SVG":`ブラウザーで出力 SVG を読み込めませんでした`,"Zoom in":`拡大`,"Zoom out":`縮小`,Minimap:`ミニマップ`,"Graph navigation":`グラフナビ`,"Show graph navigation":`グラフナビを表示`,"Hide graph navigation":`グラフナビを非表示`,More:`その他`,"Export SVG":`SVG を書き出す`,"Export PNG":`PNG を書き出す`,Close:`閉じる`,"View details":`詳細を見る`,Appearance:`外観`,"Follow system":`システム`,"Restore the original layout and view, and clear search and selection.":`元の配置と表示に戻し、検索と選択を解除します。`,"Reset: original positions and reading view restored":`リセットしました:元の配置と表示に戻りました`,Details:`詳細`,Name:`名前`,Description:`説明`,"Name is required":`名前は必須です`,Cancel:`キャンセル`,Save:`保存`,"Edit text":`テキストを編集`,Evidence:`根拠`,"Save changes":`変更を保存`,"Graph JSON saved":`Graph JSON を保存しました`,"Saved into this page, its sibling graph.json and SVGs":`このページと同じ階層の graph.json、SVG に保存しました`,"Saved into this page and its sibling graph.json; SVGs not updated: the layout needs adjustment":`このページと同じ階層の graph.json に保存しました。SVG は更新していません。レイアウトの調整が必要です`,"Choose the folder containing this page ({page}); edits remain in this page":`このページ({page})があるフォルダーを選択してください。編集内容はこのページに残っています`,"Graph JSON downloaded; keep the file to preserve edits":`Graph JSON をダウンロードしました。編集内容を残すにはファイルを保管してください`,"Save cancelled; edits remain in this page":`保存をキャンセルしました。編集内容はこのページに残っています`,"Save failed; edits remain in this page":`保存に失敗しました。編集内容はこのページに残っています`,"Synchronous message":`同期メッセージ`,"Asynchronous message":`非同期メッセージ`,"Return message":`戻りメッセージ`,"Branch conditions unspecified":`分岐条件未指定`,"Activation: execution interval; offset means nesting":`実行区間:横のずれは入れ子を示す`,"C ID: paired call and return share a color":`C 番号:呼び出しと戻りは同じ色`,"par: concurrent branches; vertical position is not order":`par:並行分岐。上下の位置は実行順ではない`,"Layout needs adjustment; JSON drafts can still be saved":`レイアウトの調整が必要です。JSON の下書きは保存できます`,"Card wash":`カードの淡い下地`,yes:`はい`,no:`いいえ`,composition:`コンポジション`,aggregation:`集約`,inheritance:`継承`,implementation:`実装`,"Core state":`主要な状態`,"Ended state":`終了した状態`,"Failed state":`失敗した状態`,"In-progress state":`進行中の状態`,"In-progress state: warm to cool as it advances":`進行中の状態:進むにつれて暖色から寒色へ`,Transition:`遷移`,"Self-transition: handled without leaving the state":`自己遷移:状態を離れずに処理するイベント`},ko:{Architecture:`아키텍처`,Flowchart:`순서도`,Sequence:`시퀀스 다이어그램`,"ER diagram":`ER 다이어그램`,Deployment:`배포 다이어그램`,"Class diagram":`클래스 다이어그램`,"State diagram":`상태 다이어그램`,"Use cases":`유스케이스 다이어그램`,"Data flow":`데이터 흐름도`,"Source code":`소스 코드`,Code:`코드`,Configuration:`설정`,Schema:`스키마`,Test:`테스트`,Document:`문서`,"Framework convention":`프레임워크 규약`,Inference:`추론`,External:`외부`,Framework:`프레임워크`,Security:`보안`,Service:`서비스`,Business:`비즈니스`,Data:`데이터`,Failure:`실패`,System:`시스템`,Component:`컴포넌트`,Database:`데이터베이스`,Start:`시작`,End:`종료`,Process:`처리`,Decision:`판단`,Input:`입력`,Output:`출력`,Subprocess:`하위 프로세스`,Actor:`행위자`,Participant:`참여자`,Entity:`엔티티`,Device:`장치`,Nodes:`노드`,Container:`컨테이너`,Artifact:`아티팩트`,Class:`클래스`,Interface:`인터페이스`,"Abstract class":`추상 클래스`,State:`상태`,Initial:`초기`,Choice:`선택`,"Use case":`유스케이스`,"Data store":`데이터 저장소`,"Initial state":`초기 상태`,"Final state":`최종 상태`,"Core component":`핵심 컴포넌트`,"Data / storage":`데이터 / 저장소`,"Start / end":`시작 / 종료`,"Components / actors":`컴포넌트 / 행위자`,"Solid relation":`실선 관계`,"Dashed: notation / convention / inference":`점선: 표기법 / 규약 / 추론`,Reset:`초기화`,Dark:`어둡게`,Light:`밝게`,Locked:`배치 잠금`,Draggable:`드래그 가능`,"Unlock the layout first":`먼저 배치 잠금을 해제하세요`,"Space the selected node and its direct neighbors":`선택한 노드와 인접 노드의 간격 조정`,"Space all nodes":`모든 노드의 간격 조정`,Arrange:`간격 정리`,"Hide details":`상세 정보 숨기기`,"Show details":`상세 정보 표시`,Overview:`개요`,Edges:`관계`,Groups:`그룹`,"Diagram types":`다이어그램 유형`,"Search nodes":`노드 검색`,"Edge animation":`연결선 애니메이션`,On:`켜짐`,Off:`꺼짐`,"System reduced-motion preference is respected":`시스템의 동작 줄이기 설정을 따릅니다`,"Matches · {count}":`검색 결과 · {count}`,"Nodes · {count}":`노드 · {count}`,"No matches. Try a name or responsibility.":`일치하는 노드가 없습니다. 이름이나 역할로 검색하세요.`,Legend:`범례`,"Interactive {type}":`대화형 {type}`,"Fit canvas":`캔버스에 맞추기`,"Exit fullscreen":`전체 화면 종료`,"Enter fullscreen":`전체 화면`,"Exit fullscreen (Esc)":`전체 화면 종료 (Esc)`,"Fullscreen is not available in this browser or page":`이 브라우저나 페이지에서는 전체 화면을 사용할 수 없습니다`,"Could not exit fullscreen. Press Esc to try again.":`전체 화면을 종료할 수 없습니다. Esc 키를 누르세요`,"Could not enter fullscreen. Check browser or page permissions and try again.":`전체 화면을 시작할 수 없습니다. 브라우저나 페이지 권한을 확인하세요`,"{count} relations":`관계 {count}개`,"Node notes":`노드 설명`,"Close details":`상세 정보 닫기`,Fields:`필드`,Attributes:`속성`,Methods:`메서드`,Source:`근거`,"Start with a node":`노드를 선택해 시작하세요`,"Select a component or a list entry to explore its role, fields, methods and source.":`다이어그램이나 목록에서 컴포넌트를 선택하면 역할, 필드, 메서드와 근거를 볼 수 있습니다.`,"Evidence facts":`근거로 확인한 내용`,"Unlock the layout before arranging nodes":`간격을 정리하기 전에 배치 잠금을 해제하세요`,Local:`선택 영역`,"Full diagram":`전체 다이어그램`,"{scope} arranged: {count} nodes moved":`{scope} 간격 정리: 노드 {count}개 이동`,"Cannot arrange further within the current constraints":`현재 제약 조건에서는 더 정리할 수 없습니다`,"No spacing changes needed":`간격 조정이 필요하지 않습니다`,"Generating {format}…":`{format} 생성 중…`,"{format} downloaded":`{format} 다운로드 완료`,"The browser could not generate the PNG":`브라우저에서 PNG를 생성하지 못했습니다`,"The browser could not read the exported SVG":`브라우저에서 내보낸 SVG를 읽지 못했습니다`,"Zoom in":`확대`,"Zoom out":`축소`,Minimap:`미니맵`,"Graph navigation":`그래프 탐색`,"Show graph navigation":`그래프 탐색 표시`,"Hide graph navigation":`그래프 탐색 숨기기`,More:`더보기`,"Export SVG":`SVG 내보내기`,"Export PNG":`PNG 내보내기`,Close:`닫기`,"View details":`상세 보기`,Appearance:`화면 모드`,"Follow system":`시스템`,"Restore the original layout and view, and clear search and selection.":`원래 배치와 보기를 복원하고 검색과 선택을 지웁니다.`,"Reset: original positions and reading view restored":`초기화됨: 원래 위치와 보기 복원`,Details:`세부 정보`,Name:`이름`,Description:`설명`,"Name is required":`이름은 필수입니다`,Cancel:`취소`,Save:`저장`,"Edit text":`텍스트 편집`,Evidence:`근거`,"Save changes":`변경 사항 저장`,"Graph JSON saved":`Graph JSON을 저장했습니다`,"Saved into this page, its sibling graph.json and SVGs":`현재 페이지와 같은 폴더의 graph.json, SVG에 저장했습니다`,"Saved into this page and its sibling graph.json; SVGs not updated: the layout needs adjustment":`현재 페이지와 같은 폴더의 graph.json에 저장했습니다. SVG는 업데이트하지 않았습니다. 레이아웃을 조정해야 합니다`,"Choose the folder containing this page ({page}); edits remain in this page":`현재 페이지({page})가 있는 폴더를 선택하세요. 수정 사항은 현재 페이지에 남아 있습니다`,"Graph JSON downloaded; keep the file to preserve edits":`Graph JSON을 다운로드했습니다. 수정 사항을 보관하려면 파일을 저장하세요`,"Save cancelled; edits remain in this page":`저장을 취소했습니다. 수정 사항은 현재 페이지에 남아 있습니다`,"Save failed; edits remain in this page":`저장에 실패했습니다. 수정 사항은 현재 페이지에 남아 있습니다`,"Synchronous message":`동기 메시지`,"Asynchronous message":`비동기 메시지`,"Return message":`반환 메시지`,"Branch conditions unspecified":`분기 조건 미지정`,"Activation: execution interval; offset means nesting":`激活条:执行区间,错位表示嵌套`,"C ID: paired call and return share a color":`C 编号:调用与返回配对,同组同色`,"par: concurrent branches; vertical position is not order":`par:分支并行,上下排列不代表先后`,"Layout needs adjustment; JSON drafts can still be saved":`레이아웃을 조정해야 합니다. JSON 초안은 저장할 수 있습니다`,"Card wash":`카드 연한 배경`,yes:`예`,no:`아니요`,composition:`합성`,aggregation:`집합`,inheritance:`상속`,implementation:`구현`,"Core state":`핵심 상태`,"Ended state":`종료된 상태`,"Failed state":`실패한 상태`,"In-progress state":`진행 중인 상태`,"In-progress state: warm to cool as it advances":`진행 중인 상태: 진행될수록 따뜻한 색에서 차가운 색으로`,Transition:`전이`,"Self-transition: handled without leaving the state":`자기 전이: 상태를 벗어나지 않고 처리하는 이벤트`},de:{Architecture:`Architektur`,Flowchart:`Flussdiagramm`,Sequence:`Sequenzdiagramm`,"ER diagram":`ER-Diagramm`,Deployment:`Deployment-Diagramm`,"Class diagram":`Klassendiagramm`,"State diagram":`Zustandsdiagramm`,"Use cases":`Anwendungsfalldiagramm`,"Data flow":`Datenflussdiagramm`,"Source code":`Quellcode`,Code:`Code`,Configuration:`Konfiguration`,Schema:`Schema`,Test:`Test`,Document:`Dokumentation`,"Framework convention":`Framework-Konvention`,Inference:`Annahme`,External:`Extern`,Framework:`Framework`,Security:`Sicherheit`,Service:`Dienst`,Business:`Fachlogik`,Data:`Daten`,Failure:`Fehler`,System:`System`,Component:`Komponente`,Database:`Datenbank`,Start:`Start`,End:`Ende`,Process:`Prozess`,Decision:`Entscheidung`,Input:`Eingabe`,Output:`Ausgabe`,Subprocess:`Teilprozess`,Actor:`Akteur`,Participant:`Teilnehmer`,Entity:`Entität`,Device:`Gerät`,Nodes:`Knoten`,Container:`Container`,Artifact:`Artefakt`,Class:`Klasse`,Interface:`Schnittstelle`,"Abstract class":`Abstrakte Klasse`,State:`Zustand`,Initial:`Initial`,Choice:`Auswahl`,"Use case":`Anwendungsfall`,"Data store":`Datenspeicher`,"Initial state":`Anfangszustand`,"Final state":`Endzustand`,"Core component":`Kernkomponente`,"Data / storage":`Daten / Speicher`,"Start / end":`Start / Ende`,"Components / actors":`Komponenten / Akteure`,"Solid relation":`Durchgezogene Beziehung`,"Dashed: notation / convention / inference":`Gestrichelt: Notation / Konvention / Annahme`,Reset:`Zurücksetzen`,Dark:`Dunkel`,Light:`Hell`,Locked:`Gesperrt`,Draggable:`Verschiebbar`,"Unlock the layout first":`Zuerst das Layout entsperren`,"Space the selected node and its direct neighbors":`Abstände der Auswahl und direkter Nachbarn anpassen`,"Space all nodes":`Alle Knotenabstände anpassen`,Arrange:`Abstände`,"Hide details":`Details ausblenden`,"Show details":`Details anzeigen`,Overview:`Überblick`,Edges:`Beziehungen`,Groups:`Gruppen`,"Diagram types":`Diagrammtypen`,"Search nodes":`Knoten suchen`,"Edge animation":`Kantenanimation`,On:`Ein`,Off:`Aus`,"System reduced-motion preference is respected":`Die Systemeinstellung für reduzierte Bewegung wird beachtet`,"Matches · {count}":`Treffer · {count}`,"Nodes · {count}":`Knoten · {count}`,"No matches. Try a name or responsibility.":`Keine Treffer. Versuchen Sie einen Namen oder eine Rolle.`,Legend:`Legende`,"Interactive {type}":`Interaktiv: {type}`,"Fit canvas":`An Zeichenfläche anpassen`,"Exit fullscreen":`Vollbild verlassen`,"Enter fullscreen":`Vollbild`,"Exit fullscreen (Esc)":`Vollbild verlassen (Esc)`,"Fullscreen is not available in this browser or page":`Vollbild ist in diesem Browser oder auf dieser Seite nicht verfügbar`,"Could not exit fullscreen. Press Esc to try again.":`Vollbild konnte nicht beendet werden. Drücken Sie Esc.`,"Could not enter fullscreen. Check browser or page permissions and try again.":`Vollbild konnte nicht gestartet werden. Prüfen Sie die Browser- oder Seitenberechtigungen.`,"{count} relations":`{count} Beziehungen`,"Node notes":`Knotenbeschreibung`,"Close details":`Details schließen`,Fields:`Felder`,Attributes:`Attribute`,Methods:`Methoden`,Source:`Beleg`,"Start with a node":`Wählen Sie einen Knoten`,"Select a component or a list entry to explore its role, fields, methods and source.":`Wählen Sie eine Komponente im Diagramm oder in der Liste, um Rolle, Felder, Methoden und Belege zu sehen.`,"Evidence facts":`Belegte Fakten`,"Unlock the layout before arranging nodes":`Entsperren Sie das Layout vor dem Anpassen der Abstände`,Local:`Auswahl`,"Full diagram":`Gesamtes Diagramm`,"{scope} arranged: {count} nodes moved":`{scope}: Abstände angepasst, {count} Knoten verschoben`,"Cannot arrange further within the current constraints":`Unter diesen Bedingungen ist keine weitere Anpassung möglich`,"No spacing changes needed":`Keine Abstandsanpassung erforderlich`,"Generating {format}…":`{format} wird erstellt…`,"{format} downloaded":`{format} heruntergeladen`,"The browser could not generate the PNG":`Der Browser konnte kein PNG erstellen`,"The browser could not read the exported SVG":`Der Browser konnte die exportierte SVG-Datei nicht lesen`,"Zoom in":`Vergrößern`,"Zoom out":`Verkleinern`,Minimap:`Minikarte`,"Graph navigation":`Graph-Navigation`,"Show graph navigation":`Graph-Navigation einblenden`,"Hide graph navigation":`Graph-Navigation ausblenden`,More:`Mehr`,"Export SVG":`SVG exportieren`,"Export PNG":`PNG exportieren`,Close:`Schließen`,"View details":`Details ansehen`,Appearance:`Erscheinungsbild`,"Follow system":`System`,"Restore the original layout and view, and clear search and selection.":`Ursprüngliche Anordnung und Ansicht wiederherstellen, Suche und Auswahl löschen.`,"Reset: original positions and reading view restored":`Zurückgesetzt: ursprüngliche Positionen und Ansicht wiederhergestellt`,Details:`Details`,Name:`Name`,Description:`Beschreibung`,"Name is required":`Name ist erforderlich`,Cancel:`Abbrechen`,Save:`Speichern`,"Edit text":`Text bearbeiten`,Evidence:`Nachweis`,"Save changes":`Änderungen speichern`,"Graph JSON saved":`Graph JSON gespeichert`,"Saved into this page, its sibling graph.json and SVGs":`In diese Seite, die benachbarte graph.json und die SVGs gespeichert`,"Saved into this page and its sibling graph.json; SVGs not updated: the layout needs adjustment":`In diese Seite und die benachbarte graph.json gespeichert; SVGs nicht aktualisiert: Das Layout muss angepasst werden`,"Choose the folder containing this page ({page}); edits remain in this page":`Bitte den Ordner dieser Seite ({page}) wählen; die Änderungen bleiben auf dieser Seite`,"Graph JSON downloaded; keep the file to preserve edits":`Graph JSON heruntergeladen; Datei zum Erhalten der Änderungen aufbewahren`,"Save cancelled; edits remain in this page":`Speichern abgebrochen; Änderungen bleiben auf dieser Seite`,"Save failed; edits remain in this page":`Speichern fehlgeschlagen; Änderungen bleiben auf dieser Seite`,"Synchronous message":`Synchrone Nachricht`,"Asynchronous message":`Asynchrone Nachricht`,"Return message":`Antwortnachricht`,"Branch conditions unspecified":`Zweigbedingungen fehlen`,"Activation: execution interval; offset means nesting":`Aktivierung: Ausführungsdauer; Versatz zeigt Verschachtelung`,"C ID: paired call and return share a color":`C-ID: Aufruf und Rückgabe haben dieselbe Farbe`,"par: concurrent branches; vertical position is not order":`par: parallele Zweige; vertikale Lage ist keine Reihenfolge`,"Layout needs adjustment; JSON drafts can still be saved":`Layout anpassen; JSON-Entwürfe können gespeichert werden`,"Card wash":`Karten-Grundton`,yes:`ja`,no:`nein`,composition:`Komposition`,aggregation:`Aggregation`,inheritance:`Vererbung`,implementation:`Implementierung`,"Core state":`Kernzustand`,"Ended state":`Beendeter Zustand`,"Failed state":`Fehlgeschlagener Zustand`,"In-progress state":`Zustand in Bearbeitung`,"In-progress state: warm to cool as it advances":`Zustand in Bearbeitung: von warm nach kalt, je weiter er fortschreitet`,Transition:`Übergang`,"Self-transition: handled without leaving the state":`Selbstübergang: Ereignis, das im Zustand bleibt`},fr:{Architecture:`Architecture`,Flowchart:`Organigramme`,Sequence:`Diagramme de séquence`,"ER diagram":`Diagramme ER`,Deployment:`Diagramme de déploiement`,"Class diagram":`Diagramme de classes`,"State diagram":`Diagramme d’états`,"Use cases":`Cas d’utilisation`,"Data flow":`Flux de données`,"Source code":`Code source`,Code:`Code`,Configuration:`Configuration`,Schema:`Schéma`,Test:`Test`,Document:`Documentation`,"Framework convention":`Convention du framework`,Inference:`Déduction`,External:`Externe`,Framework:`Framework`,Security:`Sécurité`,Service:`Service`,Business:`Métier`,Data:`Données`,Failure:`Échec`,System:`Système`,Component:`Composant`,Database:`Base de données`,Start:`Début`,End:`Fin`,Process:`Traitement`,Decision:`Décision`,Input:`Entrée`,Output:`Sortie`,Subprocess:`Sous-processus`,Actor:`Acteur`,Participant:`Participant`,Entity:`Entité`,Device:`Appareil`,Nodes:`Nœuds`,Container:`Conteneur`,Artifact:`Artefact`,Class:`Classe`,Interface:`Interface`,"Abstract class":`Classe abstraite`,State:`État`,Initial:`Initial`,Choice:`Choix`,"Use case":`Cas d’utilisation`,"Data store":`Stockage de données`,"Initial state":`État initial`,"Final state":`État final`,"Core component":`Composant central`,"Data / storage":`Données / stockage`,"Start / end":`Début / fin`,"Components / actors":`Composants / acteurs`,"Solid relation":`Relation en trait plein`,"Dashed: notation / convention / inference":`Pointillés : notation / convention / déduction`,Reset:`Réinitialiser`,Dark:`Sombre`,Light:`Clair`,Locked:`Verrouillé`,Draggable:`Déplaçable`,"Unlock the layout first":`Déverrouillez d’abord la disposition`,"Space the selected node and its direct neighbors":`Espacer la sélection et ses voisins directs`,"Space all nodes":`Espacer tous les nœuds`,Arrange:`Espacer`,"Hide details":`Masquer les détails`,"Show details":`Afficher les détails`,Overview:`Vue d’ensemble`,Edges:`Relations`,Groups:`Groupes`,"Diagram types":`Types de diagrammes`,"Search nodes":`Rechercher un nœud`,"Edge animation":`Animation des liens`,On:`Activée`,Off:`Désactivée`,"System reduced-motion preference is respected":`Le réglage système de réduction des animations est respecté`,"Matches · {count}":`Résultats · {count}`,"Nodes · {count}":`Nœuds · {count}`,"No matches. Try a name or responsibility.":`Aucun résultat. Essayez un nom ou un rôle.`,Legend:`Légende`,"Interactive {type}":`Vue interactive : {type}`,"Fit canvas":`Ajuster au canevas`,"Exit fullscreen":`Quitter le plein écran`,"Enter fullscreen":`Plein écran`,"Exit fullscreen (Esc)":`Quitter le plein écran (Échap)`,"Fullscreen is not available in this browser or page":`Le plein écran n’est pas disponible dans ce navigateur ou sur cette page`,"Could not exit fullscreen. Press Esc to try again.":`Impossible de quitter le plein écran. Appuyez sur Échap.`,"Could not enter fullscreen. Check browser or page permissions and try again.":`Impossible de passer en plein écran. Vérifiez les autorisations du navigateur ou de la page.`,"{count} relations":`{count} relations`,"Node notes":`Notes du nœud`,"Close details":`Fermer les détails`,Fields:`Champs`,Attributes:`Attributs`,Methods:`Méthodes`,Source:`Preuve`,"Start with a node":`Commencez par un nœud`,"Select a component or a list entry to explore its role, fields, methods and source.":`Sélectionnez un composant du diagramme ou de la liste pour consulter son rôle, ses champs, ses méthodes et ses preuves.`,"Evidence facts":`Faits étayés`,"Unlock the layout before arranging nodes":`Déverrouillez la disposition avant d’ajuster les espacements`,Local:`Sélection`,"Full diagram":`Diagramme entier`,"{scope} arranged: {count} nodes moved":`{scope} : espacement ajusté, {count} nœuds déplacés`,"Cannot arrange further within the current constraints":`Impossible d’ajuster davantage avec ces contraintes`,"No spacing changes needed":`Aucun ajustement d’espacement nécessaire`,"Generating {format}…":`Génération de {format}…`,"{format} downloaded":`{format} téléchargé`,"The browser could not generate the PNG":`Le navigateur n’a pas pu générer le PNG`,"The browser could not read the exported SVG":`Le navigateur n’a pas pu lire le SVG exporté`,"Zoom in":`Agrandir`,"Zoom out":`Réduire`,Minimap:`Mini-carte`,"Graph navigation":`Navigation du graphe`,"Show graph navigation":`Afficher la navigation`,"Hide graph navigation":`Masquer la navigation`,More:`Plus`,"Export SVG":`Exporter en SVG`,"Export PNG":`Exporter en PNG`,Close:`Fermer`,"View details":`Voir les détails`,Appearance:`Apparence`,"Follow system":`Système`,"Restore the original layout and view, and clear search and selection.":`Rétablir la disposition et la vue, puis effacer la recherche et la sélection.`,"Reset: original positions and reading view restored":`Réinitialisé : positions et vue d’origine rétablies`,Details:`Détails`,Name:`Nom`,Description:`Description`,"Name is required":`Le nom est obligatoire`,Cancel:`Annuler`,Save:`Enregistrer`,"Edit text":`Modifier le texte`,Evidence:`Preuve`,"Save changes":`Enregistrer les modifications`,"Graph JSON saved":`Graph JSON enregistré`,"Saved into this page, its sibling graph.json and SVGs":`Enregistré dans cette page, dans le graph.json voisin et dans les SVG`,"Saved into this page and its sibling graph.json; SVGs not updated: the layout needs adjustment":`Enregistré dans cette page et dans le graph.json voisin ; SVG non mis à jour : la disposition doit être ajustée`,"Choose the folder containing this page ({page}); edits remain in this page":`Choisissez le dossier contenant cette page ({page}) ; les modifications restent sur cette page`,"Graph JSON downloaded; keep the file to preserve edits":`Graph JSON téléchargé ; conservez le fichier pour garder les modifications`,"Save cancelled; edits remain in this page":`Enregistrement annulé ; les modifications restent sur cette page`,"Save failed; edits remain in this page":`Échec de l’enregistrement ; les modifications restent sur cette page`,"Synchronous message":`Message synchrone`,"Asynchronous message":`Message asynchrone`,"Return message":`Message de retour`,"Branch conditions unspecified":`Conditions de branche non précisées`,"Activation: execution interval; offset means nesting":`激活条:执行区间,错位表示嵌套`,"C ID: paired call and return share a color":`C 编号:调用与返回配对,同组同色`,"par: concurrent branches; vertical position is not order":`par:分支并行,上下排列不代表先后`,"Layout needs adjustment; JSON drafts can still be saved":`La disposition doit être ajustée ; le brouillon JSON peut être enregistré`,"Card wash":`Fond léger des cartes`,yes:`oui`,no:`non`,composition:`composition`,aggregation:`agrégation`,inheritance:`héritage`,implementation:`implémentation`,"Core state":`État central`,"Ended state":`État terminé`,"Failed state":`État en échec`,"In-progress state":`État en cours`,"In-progress state: warm to cool as it advances":`État en cours : du chaud au froid à mesure qu’il avance`,Transition:`Transition`,"Self-transition: handled without leaving the state":`Auto-transition : événement traité sans quitter l’état`},es:{Architecture:`Arquitectura`,Flowchart:`Diagrama de flujo`,Sequence:`Diagrama de secuencia`,"ER diagram":`Diagrama ER`,Deployment:`Diagrama de despliegue`,"Class diagram":`Diagrama de clases`,"State diagram":`Diagrama de estados`,"Use cases":`Casos de uso`,"Data flow":`Flujo de datos`,"Source code":`Código fuente`,Code:`Código`,Configuration:`Configuración`,Schema:`Esquema`,Test:`Prueba`,Document:`Documentación`,"Framework convention":`Convención del framework`,Inference:`Inferencia`,External:`Externo`,Framework:`Framework`,Security:`Seguridad`,Service:`Servicio`,Business:`Negocio`,Data:`Datos`,Failure:`Error`,System:`Sistema`,Component:`Componente`,Database:`Base de datos`,Start:`Inicio`,End:`Fin`,Process:`Proceso`,Decision:`Decisión`,Input:`Entrada`,Output:`Salida`,Subprocess:`Subproceso`,Actor:`Actor`,Participant:`Participante`,Entity:`Entidad`,Device:`Dispositivo`,Nodes:`Nodos`,Container:`Contenedor`,Artifact:`Artefacto`,Class:`Clase`,Interface:`Interfaz`,"Abstract class":`Clase abstracta`,State:`Estado`,Initial:`Inicial`,Choice:`Elección`,"Use case":`Caso de uso`,"Data store":`Almacén de datos`,"Initial state":`Estado inicial`,"Final state":`Estado final`,"Core component":`Componente principal`,"Data / storage":`Datos / almacenamiento`,"Start / end":`Inicio / fin`,"Components / actors":`Componentes / actores`,"Solid relation":`Relación continua`,"Dashed: notation / convention / inference":`Discontinua: notación / convención / inferencia`,Reset:`Restablecer`,Dark:`Oscuro`,Light:`Claro`,Locked:`Bloqueado`,Draggable:`Movible`,"Unlock the layout first":`Primero desbloquea la disposición`,"Space the selected node and its direct neighbors":`Espaciar la selección y sus vecinos directos`,"Space all nodes":`Espaciar todos los nodos`,Arrange:`Espaciar`,"Hide details":`Ocultar detalles`,"Show details":`Mostrar detalles`,Overview:`Resumen`,Edges:`Relaciones`,Groups:`Grupos`,"Diagram types":`Tipos de diagramas`,"Search nodes":`Buscar nodos`,"Edge animation":`Animación de enlaces`,On:`Activada`,Off:`Desactivada`,"System reduced-motion preference is respected":`Se respeta la preferencia del sistema de reducir el movimiento`,"Matches · {count}":`Resultados · {count}`,"Nodes · {count}":`Nodos · {count}`,"No matches. Try a name or responsibility.":`No hay resultados. Prueba con un nombre o una función.`,Legend:`Leyenda`,"Interactive {type}":`Vista interactiva: {type}`,"Fit canvas":`Ajustar al lienzo`,"Exit fullscreen":`Salir de pantalla completa`,"Enter fullscreen":`Pantalla completa`,"Exit fullscreen (Esc)":`Salir de pantalla completa (Esc)`,"Fullscreen is not available in this browser or page":`La pantalla completa no está disponible en este navegador o página`,"Could not exit fullscreen. Press Esc to try again.":`No se pudo salir de pantalla completa. Pulsa Esc.`,"Could not enter fullscreen. Check browser or page permissions and try again.":`No se pudo activar la pantalla completa. Revisa los permisos del navegador o de la página.`,"{count} relations":`{count} relaciones`,"Node notes":`Notas del nodo`,"Close details":`Cerrar detalles`,Fields:`Campos`,Attributes:`Atributos`,Methods:`Métodos`,Source:`Evidencia`,"Start with a node":`Empieza por un nodo`,"Select a component or a list entry to explore its role, fields, methods and source.":`Selecciona un componente del diagrama o de la lista para ver su función, campos, métodos y evidencias.`,"Evidence facts":`Hechos documentados`,"Unlock the layout before arranging nodes":`Desbloquea la disposición antes de ajustar los espacios`,Local:`Selección`,"Full diagram":`Diagrama completo`,"{scope} arranged: {count} nodes moved":`{scope}: espaciado ajustado, {count} nodos movidos`,"Cannot arrange further within the current constraints":`No se puede ajustar más con estas restricciones`,"No spacing changes needed":`No es necesario ajustar el espaciado`,"Generating {format}…":`Generando {format}…`,"{format} downloaded":`{format} descargado`,"The browser could not generate the PNG":`El navegador no pudo generar el PNG`,"The browser could not read the exported SVG":`El navegador no pudo leer el SVG exportado`,"Zoom in":`Acercar`,"Zoom out":`Alejar`,Minimap:`Minimapa`,"Graph navigation":`Navegación del grafo`,"Show graph navigation":`Mostrar navegación`,"Hide graph navigation":`Ocultar navegación`,More:`Más`,"Export SVG":`Exportar SVG`,"Export PNG":`Exportar PNG`,Close:`Cerrar`,"View details":`Ver detalles`,Appearance:`Apariencia`,"Follow system":`Sistema`,"Restore the original layout and view, and clear search and selection.":`Restaurar la disposición y la vista originales, y borrar la búsqueda y la selección.`,"Reset: original positions and reading view restored":`Restablecido: posiciones y vista originales restauradas`,Details:`Detalles`,Name:`Nombre`,Description:`Descripción`,"Name is required":`El nombre es obligatorio`,Cancel:`Cancelar`,Save:`Guardar`,"Edit text":`Editar texto`,Evidence:`Evidencia`,"Save changes":`Guardar cambios`,"Graph JSON saved":`Graph JSON guardado`,"Saved into this page, its sibling graph.json and SVGs":`Guardado en esta página, en el graph.json contiguo y en los SVG`,"Saved into this page and its sibling graph.json; SVGs not updated: the layout needs adjustment":`Guardado en esta página y en el graph.json contiguo; SVG sin actualizar: hay que ajustar el diseño`,"Choose the folder containing this page ({page}); edits remain in this page":`Elija la carpeta que contiene esta página ({page}); los cambios permanecen en esta página`,"Graph JSON downloaded; keep the file to preserve edits":`Graph JSON descargado; conserva el archivo para guardar los cambios`,"Save cancelled; edits remain in this page":`Guardado cancelado; los cambios permanecen en esta página`,"Save failed; edits remain in this page":`Error al guardar; los cambios permanecen en esta página`,"Synchronous message":`Mensaje síncrono`,"Asynchronous message":`Mensaje asíncrono`,"Return message":`Mensaje de retorno`,"Branch conditions unspecified":`Condiciones de ramas sin especificar`,"Activation: execution interval; offset means nesting":`Activación: intervalo de ejecución; el desplazamiento indica anidación`,"C ID: paired call and return share a color":`ID C: llamada y retorno comparten color`,"par: concurrent branches; vertical position is not order":`par: ramas paralelas; la posición vertical no indica orden`,"Layout needs adjustment; JSON drafts can still be saved":`Ajusta el diseño; puedes guardar el borrador JSON`,"Card wash":`Tinte suave de tarjetas`,yes:`sí`,no:`no`,composition:`composición`,aggregation:`agregación`,inheritance:`herencia`,implementation:`implementación`,"Core state":`Estado principal`,"Ended state":`Estado finalizado`,"Failed state":`Estado fallido`,"In-progress state":`Estado en curso`,"In-progress state: warm to cool as it advances":`Estado en curso: de cálido a frío a medida que avanza`,Transition:`Transición`,"Self-transition: handled without leaving the state":`Autotransición: evento atendido sin salir del estado`},ru:{Architecture:`Архитектура`,Flowchart:`Блок-схема`,Sequence:`Последовательность`,"ER diagram":`ER-диаграмма`,Deployment:`Развёртывание`,"Class diagram":`Диаграмма классов`,"State diagram":`Диаграмма состояний`,"Use cases":`Варианты использования`,"Data flow":`Поток данных`,"Source code":`Исходный код`,Code:`Код`,Configuration:`Конфигурация`,Schema:`Схема данных`,Test:`Тест`,Document:`Документ`,"Framework convention":`Правило фреймворка`,Inference:`Предположение`,External:`Внешний`,Framework:`Фреймворк`,Security:`Безопасность`,Service:`Сервис`,Business:`Бизнес-логика`,Data:`Данные`,Failure:`Сбой`,System:`Система`,Component:`Компонент`,Database:`База данных`,Start:`Начало`,End:`Конец`,Process:`Процесс`,Decision:`Решение`,Input:`Вход`,Output:`Выход`,Subprocess:`Подпроцесс`,Actor:`Актор`,Participant:`Участник`,Entity:`Сущность`,Device:`Устройство`,Nodes:`Узлы`,Container:`Контейнер`,Artifact:`Артефакт`,Class:`Класс`,Interface:`Интерфейс`,"Abstract class":`Абстрактный класс`,State:`Состояние`,Initial:`Начальное`,Choice:`Выбор`,"Use case":`Вариант использования`,"Data store":`Хранилище данных`,"Initial state":`Начальное состояние`,"Final state":`Конечное состояние`,"Core component":`Ключевой компонент`,"Data / storage":`Данные / хранение`,"Start / end":`Начало / конец`,"Components / actors":`Компоненты / акторы`,"Solid relation":`Сплошная связь`,"Dashed: notation / convention / inference":`Пунктир: нотация / правило / предположение`,Reset:`Сбросить`,Dark:`Тёмная`,Light:`Светлая`,Locked:`Блокировка`,Draggable:`Можно перемещать`,"Unlock the layout first":`Сначала разблокируйте расположение`,"Space the selected node and its direct neighbors":`Настроить интервалы выбранного узла и его соседей`,"Space all nodes":`Настроить интервалы всех узлов`,Arrange:`Интервалы`,"Hide details":`Скрыть сведения`,"Show details":`Показать сведения`,Overview:`Обзор`,Edges:`Связи`,Groups:`Границы`,"Diagram types":`Типы диаграмм`,"Search nodes":`Найти узлы`,"Edge animation":`Анимация связей`,On:`Вкл.`,Off:`Выкл.`,"System reduced-motion preference is respected":`Учтена системная настройка уменьшения движения`,"Matches · {count}":`Найдено · {count}`,"Nodes · {count}":`Узлы · {count}`,"No matches. Try a name or responsibility.":`Совпадений нет. Попробуйте имя или назначение.`,Legend:`Легенда`,"Interactive {type}":`Интерактивная диаграмма: {type}`,"Fit canvas":`Вписать в холст`,"Exit fullscreen":`Выйти из полноэкранного режима`,"Enter fullscreen":`На весь экран`,"Exit fullscreen (Esc)":`Выйти из полноэкранного режима (Esc)`,"Fullscreen is not available in this browser or page":`Полноэкранный режим недоступен в этом браузере или на этой странице`,"Could not exit fullscreen. Press Esc to try again.":`Не удалось выйти из полноэкранного режима. Нажмите Esc.`,"Could not enter fullscreen. Check browser or page permissions and try again.":`Не удалось перейти в полноэкранный режим. Проверьте разрешения браузера или страницы.`,"{count} relations":`Связей: {count}`,"Node notes":`Примечания к узлу`,"Close details":`Закрыть сведения`,Fields:`Поля`,Attributes:`Атрибуты`,Methods:`Методы`,Source:`Основание`,"Start with a node":`Начните с узла`,"Select a component or a list entry to explore its role, fields, methods and source.":`Выберите компонент или пункт списка, чтобы посмотреть назначение, поля, методы и источник.`,"Evidence facts":`Подтверждённые факты`,"Unlock the layout before arranging nodes":`Разблокируйте расположение перед настройкой интервалов`,Local:`Локально`,"Full diagram":`Вся диаграмма`,"{scope} arranged: {count} nodes moved":`{scope}: интервалы настроены, перемещено узлов: {count}`,"Cannot arrange further within the current constraints":`Текущие ограничения не позволяют улучшить расположение`,"No spacing changes needed":`Интервалы не требуют изменений`,"Generating {format}…":`Создание {format}…`,"{format} downloaded":`{format} скачан`,"The browser could not generate the PNG":`Браузер не смог создать PNG`,"The browser could not read the exported SVG":`Браузер не смог прочитать экспортированный SVG`,"Zoom in":`Увеличить`,"Zoom out":`Уменьшить`,Minimap:`Мини-карта`,"Graph navigation":`Навигация по графу`,"Show graph navigation":`Показать навигацию`,"Hide graph navigation":`Скрыть навигацию`,More:`Ещё`,"Export SVG":`Экспорт SVG`,"Export PNG":`Экспорт PNG`,Close:`Закрыть`,"View details":`Подробнее`,Appearance:`Оформление`,"Follow system":`Как в системе`,"Restore the original layout and view, and clear search and selection.":`Восстановить исходное расположение и вид, очистить поиск и выделение.`,"Reset: original positions and reading view restored":`Сброс: исходное расположение и вид восстановлены`,Details:`Сведения`,Name:`Имя`,Description:`Описание`,"Name is required":`Имя обязательно`,Cancel:`Отмена`,Save:`Сохранить`,"Edit text":`Изменить текст`,Evidence:`Основание`,"Save changes":`Сохранить изменения`,"Graph JSON saved":`Graph JSON сохранён`,"Saved into this page, its sibling graph.json and SVGs":`Сохранено в эту страницу, соседний graph.json и SVG`,"Saved into this page and its sibling graph.json; SVGs not updated: the layout needs adjustment":`Сохранено в эту страницу и соседний graph.json; SVG не обновлены: нужно исправить расположение`,"Choose the folder containing this page ({page}); edits remain in this page":`Выберите папку с этой страницей ({page}); изменения остаются на этой странице`,"Graph JSON downloaded; keep the file to preserve edits":`Graph JSON скачан; сохраните файл, чтобы не потерять изменения`,"Save cancelled; edits remain in this page":`Сохранение отменено; изменения остались на странице`,"Save failed; edits remain in this page":`Не удалось сохранить; изменения остались на странице`,"Synchronous message":`Синхронное сообщение`,"Asynchronous message":`Асинхронное сообщение`,"Return message":`Ответное сообщение`,"Branch conditions unspecified":`Условия ветвей не указаны`,"Activation: execution interval; offset means nesting":`Активация: интервал выполнения; смещение означает вложенность`,"C ID: paired call and return share a color":`Номер C: вызов и возврат одного цвета`,"par: concurrent branches; vertical position is not order":`par: параллельные ветви; положение по вертикали не задаёт порядок`,"Layout needs adjustment; JSON drafts can still be saved":`Исправьте расположение; черновик JSON можно сохранить`,"Card wash":`Лёгкая заливка карточек`,yes:`да`,no:`нет`,composition:`композиция`,aggregation:`агрегация`,inheritance:`наследование`,implementation:`реализация`,"Core state":`Ключевое состояние`,"Ended state":`Завершённое состояние`,"Failed state":`Состояние сбоя`,"In-progress state":`Состояние в процессе`,"In-progress state: warm to cool as it advances":`Состояние в процессе: от тёплого цвета к холодному по мере продвижения`,Transition:`Переход`,"Self-transition: handled without leaving the state":`Петля: событие обрабатывается без выхода из состояния`},pt:{Architecture:`Arquitetura`,Flowchart:`Fluxograma`,Sequence:`Sequência`,"ER diagram":`Diagrama ER`,Deployment:`Implantação`,"Class diagram":`Diagrama de classes`,"State diagram":`Diagrama de estados`,"Use cases":`Casos de uso`,"Data flow":`Fluxo de dados`,"Source code":`Código-fonte`,Code:`Código`,Configuration:`Configuração`,Schema:`Esquema`,Test:`Teste`,Document:`Documento`,"Framework convention":`Convenção do framework`,Inference:`Inferência`,External:`Externo`,Framework:`Framework`,Security:`Segurança`,Service:`Serviço`,Business:`Negócio`,Data:`Dados`,Failure:`Falha`,System:`Sistema`,Component:`Componente`,Database:`Banco de dados`,Start:`Início`,End:`Fim`,Process:`Processo`,Decision:`Decisão`,Input:`Entrada`,Output:`Saída`,Subprocess:`Subprocesso`,Actor:`Ator`,Participant:`Participante`,Entity:`Entidade`,Device:`Dispositivo`,Nodes:`Nós`,Container:`Contêiner`,Artifact:`Artefato`,Class:`Classe`,Interface:`Interface`,"Abstract class":`Classe abstrata`,State:`Estado`,Initial:`Inicial`,Choice:`Escolha`,"Use case":`Caso de uso`,"Data store":`Armazenamento de dados`,"Initial state":`Estado inicial`,"Final state":`Estado final`,"Core component":`Componente central`,"Data / storage":`Dados / armazenamento`,"Start / end":`Início / fim`,"Components / actors":`Componentes / atores`,"Solid relation":`Relação contínua`,"Dashed: notation / convention / inference":`Tracejado: notação / convenção / inferência`,Reset:`Redefinir`,Dark:`Escuro`,Light:`Claro`,Locked:`Bloqueado`,Draggable:`Arrastável`,"Unlock the layout first":`Desbloqueie o layout primeiro`,"Space the selected node and its direct neighbors":`Ajustar o espaçamento do nó selecionado e dos vizinhos diretos`,"Space all nodes":`Ajustar o espaçamento de todos os nós`,Arrange:`Organizar`,"Hide details":`Ocultar detalhes`,"Show details":`Mostrar detalhes`,Overview:`Visão geral`,Edges:`Relações`,Groups:`Limites`,"Diagram types":`Tipos de diagrama`,"Search nodes":`Buscar nós`,"Edge animation":`Animação das conexões`,On:`Ativada`,Off:`Desativada`,"System reduced-motion preference is respected":`A preferência do sistema por movimento reduzido é respeitada`,"Matches · {count}":`Resultados · {count}`,"Nodes · {count}":`Nós · {count}`,"No matches. Try a name or responsibility.":`Nenhum resultado. Tente um nome ou responsabilidade.`,Legend:`Legenda`,"Interactive {type}":`{type} interativo`,"Fit canvas":`Ajustar à tela`,"Exit fullscreen":`Sair da tela cheia`,"Enter fullscreen":`Entrar em tela cheia`,"Exit fullscreen (Esc)":`Sair da tela cheia (Esc)`,"Fullscreen is not available in this browser or page":`A tela cheia não está disponível neste navegador ou nesta página`,"Could not exit fullscreen. Press Esc to try again.":`Não foi possível sair da tela cheia. Pressione Esc para tentar novamente.`,"Could not enter fullscreen. Check browser or page permissions and try again.":`Não foi possível entrar em tela cheia. Verifique as permissões do navegador ou da página e tente novamente.`,"{count} relations":`{count} relações`,"Node notes":`Notas do nó`,"Close details":`Fechar detalhes`,Fields:`Campos`,Attributes:`Atributos`,Methods:`Métodos`,Source:`Evidência`,"Start with a node":`Comece por um nó`,"Select a component or a list entry to explore its role, fields, methods and source.":`Selecione um componente ou item da lista para explorar sua função, campos, métodos e fonte.`,"Evidence facts":`Fatos comprovados`,"Unlock the layout before arranging nodes":`Desbloqueie o layout antes de organizar os nós`,Local:`Local`,"Full diagram":`Diagrama completo`,"{scope} arranged: {count} nodes moved":`{scope} organizado: {count} nós movidos`,"Cannot arrange further within the current constraints":`Não é possível organizar mais com as restrições atuais`,"No spacing changes needed":`Nenhum ajuste de espaçamento necessário`,"Generating {format}…":`Gerando {format}…`,"{format} downloaded":`{format} baixado`,"The browser could not generate the PNG":`O navegador não conseguiu gerar o PNG`,"The browser could not read the exported SVG":`O navegador não conseguiu ler o SVG exportado`,"Zoom in":`Ampliar`,"Zoom out":`Reduzir`,Minimap:`Minimapa`,"Graph navigation":`Navegação do grafo`,"Show graph navigation":`Mostrar navegação do grafo`,"Hide graph navigation":`Ocultar navegação do grafo`,More:`Mais`,"Export SVG":`Exportar SVG`,"Export PNG":`Exportar PNG`,Close:`Fechar`,"View details":`Ver detalhes`,Appearance:`Aparência`,"Follow system":`Sistema`,"Restore the original layout and view, and clear search and selection.":`Restaurar o layout e a visualização originais e limpar a busca e a seleção.`,"Reset: original positions and reading view restored":`Redefinido: posições e visualização originais restauradas`,Details:`Detalhes`,Name:`Nome`,Description:`Descrição`,"Name is required":`O nome é obrigatório`,Cancel:`Cancelar`,Save:`Salvar`,"Edit text":`Editar texto`,Evidence:`Evidência`,"Save changes":`Salvar alterações`,"Graph JSON saved":`Graph JSON salvo`,"Saved into this page, its sibling graph.json and SVGs":`Salvo nesta página, no graph.json ao lado e nos SVG`,"Saved into this page and its sibling graph.json; SVGs not updated: the layout needs adjustment":`Salvo nesta página e no graph.json ao lado; SVG não atualizados: o layout precisa de ajuste`,"Choose the folder containing this page ({page}); edits remain in this page":`Escolha a pasta desta página ({page}); as alterações permanecem nesta página`,"Graph JSON downloaded; keep the file to preserve edits":`Graph JSON baixado; guarde o arquivo para preservar as alterações`,"Save cancelled; edits remain in this page":`Salvamento cancelado; as alterações permanecem nesta página`,"Save failed; edits remain in this page":`Falha ao salvar; as alterações permanecem nesta página`,"Synchronous message":`Mensagem síncrona`,"Asynchronous message":`Mensagem assíncrona`,"Return message":`Mensagem de retorno`,"Branch conditions unspecified":`Condições dos ramos não indicadas`,"Activation: execution interval; offset means nesting":`Ativação: intervalo de execução; deslocamento indica aninhamento`,"C ID: paired call and return share a color":`ID C: chamada e retorno têm a mesma cor`,"par: concurrent branches; vertical position is not order":`par: ramos paralelos; posição vertical não indica ordem`,"Layout needs adjustment; JSON drafts can still be saved":`Ajuste o layout; o rascunho JSON pode ser salvo`,"Card wash":`Tom suave dos cartões`,yes:`sim`,no:`não`,composition:`composição`,aggregation:`agregação`,inheritance:`herança`,implementation:`implementação`,"Core state":`Estado central`,"Ended state":`Estado encerrado`,"Failed state":`Estado com falha`,"In-progress state":`Estado em andamento`,"In-progress state: warm to cool as it advances":`Estado em andamento: do quente ao frio conforme avança`,Transition:`Transição`,"Self-transition: handled without leaving the state":`Autotransição: evento tratado sem sair do estado`}},uf=[`en`,...Object.keys(lf)];function df(e,t,n={}){let r=e??`zh-CN`,i=Object.hasOwn(lf,r)?lf[r]:void 0;return(i&&Object.hasOwn(i,t)?i[t]:t).replace(/\{(\w+)\}/g,(e,t)=>Object.hasOwn(n,t)?String(n[t]):e)}var ff={light:{neutral:[null,`#fcfcfd`,`#f9f9fb`,`#f0f0f3`,`#e8e8ec`,`#e0e1e6`,`#d9d9e0`,`#cdced6`,`#b9bbc6`,`#8b8d98`,`#80838d`,`#60646c`,`#1c2024`],accent:[null,`#fdfdff`,`#f8f8ff`,`#f0f1fe`,`#e6e7ff`,`#dadcff`,`#cbcdff`,`#b8baf8`,`#9b9ef0`,`#5b5bd6`,`#5151cd`,`#5753c6`,`#272962`],data:[null,`#fafdfe`,`#f2fafb`,`#def7f9`,`#caf1f6`,`#b5e9f0`,`#9ddde7`,`#7dcedc`,`#3db9cf`,`#00a2c7`,`#0797b9`,`#107d98`,`#0d3c48`],warn:[null,`#fffcfc`,`#fff7f7`,`#feebec`,`#ffdbdc`,`#ffcdce`,`#fdbdbe`,`#f4a9aa`,`#eb8e90`,`#e5484d`,`#dc3e42`,`#ce2c31`,`#641723`],guard:[null,`#fefdfb`,`#fefbe9`,`#fff7c2`,`#ffee9c`,`#fbe577`,`#f3d673`,`#e9c162`,`#e2a336`,`#ffc53d`,`#ffba18`,`#ab6400`,`#4f3422`]},dark:{neutral:[null,`#111113`,`#18191b`,`#212225`,`#272a2d`,`#2e3135`,`#363a3f`,`#43484e`,`#5a6169`,`#696e77`,`#777b84`,`#b0b4ba`,`#edeef0`],accent:[null,`#13131e`,`#171625`,`#202248`,`#262a65`,`#303374`,`#3d3e82`,`#4a4a95`,`#5958b1`,`#5b5bd6`,`#6e6ade`,`#b1a9ff`,`#e0dffe`],data:[null,`#0b161a`,`#101b20`,`#082c36`,`#003848`,`#004558`,`#045468`,`#12677e`,`#11809c`,`#00a2c7`,`#23afd0`,`#4ccce6`,`#b6ecf7`],warn:[null,`#191111`,`#201314`,`#3b1219`,`#500f1c`,`#611623`,`#72232d`,`#8c333a`,`#b54548`,`#e5484d`,`#ec5d5e`,`#ff9592`,`#ffd1d9`],guard:[null,`#16120c`,`#1d180f`,`#302008`,`#3f2700`,`#4d3000`,`#5c3d05`,`#714f19`,`#8f6424`,`#ffc53d`,`#ffd60a`,`#ffca16`,`#ffe7b3`]}},pf=[`blue`,`orange`,`teal`,`crimson`,`violet`,`grass`,`plum`,`indigo`],mf={light:{blue:[null,`#fbfdff`,`#f4faff`,`#e6f4fe`,`#d5efff`,`#c2e5ff`,`#acd8fc`,`#8ec8f6`,`#5eb1ef`,`#0090ff`,`#0588f0`,`#0d74ce`,`#113264`],orange:[null,`#fefcfb`,`#fff7ed`,`#ffefd6`,`#ffdfb5`,`#ffd19a`,`#ffc182`,`#f5ae73`,`#ec9455`,`#f76b15`,`#ef5f00`,`#cc4e00`,`#582d1d`],teal:[null,`#fafefd`,`#f3fbf9`,`#e0f8f3`,`#ccf3ea`,`#b8eae0`,`#a1ded2`,`#83cdc1`,`#53b9ab`,`#12a594`,`#0d9b8a`,`#008573`,`#0d3d38`],crimson:[null,`#fffcfd`,`#fef7f9`,`#ffe9f0`,`#fedce7`,`#facedd`,`#f3bed1`,`#eaacc3`,`#e093b2`,`#e93d82`,`#df3478`,`#cb1d63`,`#621639`],violet:[null,`#fdfcfe`,`#faf8ff`,`#f4f0fe`,`#ebe4ff`,`#e1d9ff`,`#d4cafe`,`#c2b5f5`,`#aa99ec`,`#6e56cf`,`#654dc4`,`#6550b9`,`#2f265f`],grass:[null,`#fbfefb`,`#f5fbf5`,`#e9f6e9`,`#daf1db`,`#c9e8ca`,`#b2ddb5`,`#94ce9a`,`#65ba74`,`#46a758`,`#3e9b4f`,`#2a7e3b`,`#203c25`],plum:[null,`#fefcff`,`#fdf7fd`,`#fbebfb`,`#f7def8`,`#f2d1f3`,`#e9c2ec`,`#deade3`,`#cf91d8`,`#ab4aba`,`#a144af`,`#953ea3`,`#53195d`],indigo:[null,`#fdfdfe`,`#f7f9ff`,`#edf2fe`,`#e1e9ff`,`#d2deff`,`#c1d0ff`,`#abbdf9`,`#8da4ef`,`#3e63dd`,`#3358d4`,`#3a5bc7`,`#1f2d5c`]},dark:{blue:[null,`#0d1520`,`#111927`,`#0d2847`,`#003362`,`#004074`,`#104d87`,`#205d9e`,`#2870bd`,`#0090ff`,`#3b9eff`,`#70b8ff`,`#c2e6ff`],orange:[null,`#17120e`,`#1e160f`,`#331e0b`,`#462100`,`#562800`,`#66350c`,`#7e451d`,`#a35829`,`#f76b15`,`#ff801f`,`#ffa057`,`#ffe0c2`],teal:[null,`#0d1514`,`#111c1b`,`#0d2d2a`,`#023b37`,`#084843`,`#145750`,`#1c6961`,`#207e73`,`#12a594`,`#0eb39e`,`#0bd8b6`,`#adf0dd`],crimson:[null,`#191114`,`#201318`,`#381525`,`#4d122f`,`#5c1839`,`#6d2545`,`#873356`,`#b0436e`,`#e93d82`,`#ee518a`,`#ff92ad`,`#fdd3e8`],violet:[null,`#14121f`,`#1b1525`,`#291f43`,`#33255b`,`#3c2e69`,`#473876`,`#56468b`,`#6958ad`,`#6e56cf`,`#7d66d9`,`#baa7ff`,`#e2ddfe`],grass:[null,`#0e1511`,`#141a15`,`#1b2a1e`,`#1d3a24`,`#25482d`,`#2d5736`,`#366740`,`#3e7949`,`#46a758`,`#53b365`,`#71d083`,`#c2f0c2`],plum:[null,`#181118`,`#201320`,`#351a35`,`#451d47`,`#512454`,`#5e3061`,`#734079`,`#92549c`,`#ab4aba`,`#b658c4`,`#e796f3`,`#f4d4f4`],indigo:[null,`#11131f`,`#141726`,`#182449`,`#1d2e62`,`#253974`,`#304384`,`#3a4f97`,`#435db1`,`#3e63dd`,`#5472e4`,`#9eb1ff`,`#d6e1ff`]}},hf=`MIT License
238
+
239
+ Copyright (c) 2021-2022 Modulz
240
+ Copyright (c) 2022-Present WorkOS
241
+
242
+ Permission is hereby granted, free of charge, to any person obtaining a copy
243
+ of this software and associated documentation files (the "Software"), to deal
244
+ in the Software without restriction, including without limitation the rights
245
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
246
+ copies of the Software, and to permit persons to whom the Software is
247
+ furnished to do so, subject to the following conditions:
248
+
249
+ The above copyright notice and this permission notice shall be included in all
250
+ copies or substantial portions of the Software.
251
+
252
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
253
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
254
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
255
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
256
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
257
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
258
+ SOFTWARE.
259
+ `;function gf(e,t,n){let r=r=>Math.round(parseInt(e.slice(r,r+2),16)*n+parseInt(t.slice(r,r+2),16)*(1-n)).toString(16).padStart(2,`0`);return`#${r(1)}${r(3)}${r(5)}`}var _f=[`orange`,`blue`,`teal`,`violet`,`plum`,`indigo`],vf=Object.fromEntries(Object.entries(ff).map(([e,{neutral:t,accent:n,data:r,warn:i,guard:a}])=>[e,{paper:t[1],surface:t[1],surface2:t[2],ink:t[12],ink2:t[11],ink3:t[11],rule:t[6],ruleSoft:t[4],accent:n[11],accentSoft:n[2],ringCore:n[5],data:r[11],warn:i[11],ringWarn:i[5],guard:a[11],badge:t[3],outline:e===`dark`?t[10]:t[9],card:e===`dark`?t[3]:t[1],groupFill:t[2],groupFillNested:e===`dark`?gf(t[2],t[3],.5):t[1],groupLine:t[5],moduleTones:pf.map(n=>{let r=mf[e][n];return{name:n,chip:r[9],accent:r[10],wash:gf(r[9],e===`dark`?t[3]:t[1],e===`dark`?.09:.05),header:gf(r[9],t[2],e===`dark`?.16:.1)}}),stateTones:(()=>{let n=e===`dark`?10:11,r=mf[e],a=e=>({name:e,fill:r[e][3],stroke:r[e][n]});return{goal:a(`grass`),ended:{name:`slate`,fill:t[3],stroke:t[n]},failed:{name:`red`,fill:i[3],stroke:i[n]},flight:_f.map(a)}})(),edge:e===`dark`?t[10]:t[9],mask:e===`dark`?`rgba(17,17,19,.75)`:`rgba(252,252,253,.75)`,group:t[2]}])),yf=new Set([`failure`]),bf=new Set([`data`,`database`,`dataStore`,`entity`]),Z={title:20,body:16,small:14,edgeLineHeight:24,sequenceHeader:72,sequenceActorHeader:108,erHeader:72,erRow:32,classHeader:68,classRow:28},xf=e=>e.kind===`business`||(e.tags??[]).some(e=>[`core`,`business`].includes(String(e).trim().toLowerCase()));function Sf(e,t){let n=2166136261;for(let t of e)n=Math.imul(n^t.codePointAt(0),16777619);return(n>>>0)%t}var Cf=(e,t)=>(e.tags??[]).some(e=>String(e).trim().toLowerCase()===t);function wf(e){let t=e.nodes.filter(e=>e.kind===`state`);if(e.meta?.diagramType!==`state`||!t.some(xf))return new Map;let n=new Map(e.nodes.map(e=>[e.id,[]]));for(let t of e.edges)t.kind===`transition`&&t.source!==t.target&&n.get(t.source)?.push(t.target);let r=new Set(e.nodes.filter(e=>e.kind===`final`).map(e=>e.id)),i=new Map(e.nodes.filter(e=>e.kind===`initial`).map(e=>[e.id,0]));for(let e of i.keys())for(let t of n.get(e)??[])i.has(t)||i.set(t,i.get(e)+1);let a=e=>Cf(e,`failure`)?`failed`:xf(e)?`goal`:n.get(e.id).every(e=>r.has(e))?`ended`:`flight`,o=e=>i.get(e.id)??1/0,s=t.filter(e=>a(e)===`flight`).sort((e,t)=>Math.sign(o(e)-o(t))||0);return new Map(t.map(e=>[e.id,a(e)===`flight`?{role:`flight`,index:s.indexOf(e)}:{role:a(e)}]))}function Tf(e,t){let n=[...new Set(e.flatMap(e=>[...e.nodes.map(e=>e.module),...e.edges.map(e=>e.module)]).filter(Boolean))].sort(),r=new Map(n.map(e=>[e,t.moduleTones[Sf(e,t.moduleTones.length)]]));return r.stateTones=new Map(e.flatMap(e=>[...wf(e)])),r}function Ef(e){let t=new Map(e);return t.stateTones=e.stateTones,t.plainStates=e.plainStates,t}function Df(e,t){for(let[n,r]of e)e.set(n,{...r,wash:t.card,header:t.surface2});return e.plainStates=!0,e}function Of(e,t){let n=new Map,r=t=>{let n=0,r=e.find(e=>e.id===t.parentId);for(;r&&n<e.length;)n++,r=e.find(e=>e.id===r.parentId);return n};for(let i of e)n.set(i.id,{fill:r(i)%2?t.groupFillNested:t.groupFill,stroke:t.groupLine});return n}var kf={goal:`Core state`,ended:`Ended state`,failed:`Failed state`,flight:`In-progress state`};function Af(e,t,n){let r=n?.get(e.module),i=e.kind===`state`?n?.stateTones?.get(e.id):void 0;if(i){let a=i.role===`flight`?t.stateTones.flight[i.index%t.stateTones.flight.length]:t.stateTones[i.role];return{role:i.role,label:kf[i.role],fill:n.plainStates?t.card:a.fill,stroke:a.stroke,ring:xf(e)?t.ringCore:void 0,toneIndex:i.index,moduleColor:r?.accent,chip:r?.chip,header:r?.header}}let a;a=[`initial`,`final`].includes(e.kind)?{role:e.kind,label:e.kind===`initial`?`Initial state`:`Final state`,fill:e.kind===`initial`?t.ink:t.surface,stroke:t.ink}:yf.has(e.kind)?{role:`warning`,label:`Failure`,fill:t.card,stroke:t.warn,ring:t.ringWarn}:xf(e)?{role:`core`,label:`Core component`,fill:t.card,stroke:t.accent,ring:t.ringCore}:bf.has(e.kind)||[`input`,`output`].includes(e.kind)?{role:`data`,label:`Data / storage`,fill:t.card,stroke:t.data}:[`start`,`end`,`usecase`].includes(e.kind)?{role:`accent`,label:e.kind===`usecase`?`Use case`:`Start / end`,fill:t.card,stroke:t.accent}:{role:`neutral`,label:`Components / actors`,fill:t.card,stroke:t.outline};let o=r&&![`initial`,`final`,`failure`].includes(e.kind);return{...a,fill:o?r.wash:a.fill,stroke:o?r.accent:a.stroke,moduleColor:r?.accent,chip:r?.chip,header:r?.header}}var jf=(e,t)=>e?t.moduleTones[e.index%t.moduleTones.length].accent:void 0;function Mf(e,t,n,r,i,a){if(a)return jf(a,n);if(e.kind===`failure`)return n.warn;if(e.kind===`success`)return n.accent;let o=r?.get(e.module??i?.module??t?.module);return o?o.accent:bf.has(t?.kind)?n.data:n.edge}function Nf(e){let t={bg:`paper`,panel:`surface2`,canvas:`surface`,ink:`ink`,muted:`ink2`,line:`rule`,accent:`accent`,"accent-soft":`accentSoft`,warm:`warn`,guard:`guard`},n={"font-body":`body`,"font-small":`small`,"edge-line-height":`edgeLineHeight`};return Object.fromEntries([...Object.entries(t).map(([t,n])=>[`--${t}`,e[n]]),...Object.entries(n).map(([e,t])=>[`--${e}`,`${Z[t]}px`])])}var Pf={external:`External`,config:`Configuration`,framework:`Framework`,security:`Security`,service:`Service`,business:`Business`,data:`Data`,failure:`Failure`,system:`System`,component:`Component`,database:`Database`,start:`Start`,end:`End`,process:`Process`,decision:`Decision`,input:`Input`,output:`Output`,subprocess:`Subprocess`,actor:`Actor`,participant:`Participant`,entity:`Entity`,device:`Device`,node:`Nodes`,container:`Container`,artifact:`Artifact`,class:`Class`,interface:`Interface`,abstract:`Abstract class`,state:`State`,initial:`Initial`,final:`End`,choice:`Choice`,usecase:`Use case`,dataStore:`Data store`};function Ff(e){let t=Math.min(Z.erHeader,e.size.height*.4),n=Math.min(Z.erRow,(e.size.height-t)/Math.max(1,e.fields?.length??0));return{erHeaderHeight:t,erRowHeight:n,erFontSize:Math.max(Z.small,Math.min(Z.body,n-6)),classHeaderHeight:Z.classHeader+(e.subtitle?24:0),classRowHeight:Z.classRow}}var If=Object.freeze({nodeGap:48,labelGap:24,labelEdgeGap:6,groupHeadingGap:24,groupInset:32,groupGap:48,endpoint:12,parallelGap:24}),Lf=Object.freeze({nodeGap:64,layerGap:80,edgeNodeGap:24,labelWidth:320,headingWidth:360}),Rf=(e,t)=>[...e].reduce((e,n)=>e+t*(/[^\u0000-\u00ff]|[MWmw@%&]/.test(n)?1:/[A-Z]/.test(n)?.8:6.8/12),0),zf=`\\p{Script=Han}\\p{Script=Hiragana}\\p{Script=Katakana}\\u3000-\\u303f\\uff00-\\uffef`,Bf=RegExp(`[${zf}]`,`u`),Vf=RegExp(`[${zf}]|[^${zf}]+`,`gu`),Hf=/(?<=[_./\\\-=,;:|&)>\]}])|(?<=[a-z0-9])(?=[A-Z])/u,Uf=new Set([...`,。、.;:!?)]}〕】》〉」』”’…`]),Wf=new Set([...`([{〔【《〈「『“‘`]),Gf=(e,t)=>!Wf.has([...e].at(-1))&&!Uf.has([...t][0]);function Kf(e,t,n){let r=[];for(let i of e.match(Vf))if(Bf.test(i)||Rf(i,t)<=n)r.push(i);else for(let e of i.split(Hf))r.push(...Rf(e,t)<=n?[e]:e);return r}function qf(e,t,n=Z.body,r=n*1.5){let i=String(e??``);if(!i)return{lines:[],width:0,height:0,lineHeight:r};let a=Math.max(1,t),o=[];for(let e of i.split(/\r?\n/)){let t=``,r=0,i=[],s=()=>{o.push(t),t=``,r=0,i=[]};for(let c of e.match(/\s+|\S+/g)??[]){let e=Rf(c,n);if(t&&e<=a&&r+e>a&&s(),i.push(t.length),e<=a||/^\s/.test(c)){for(let e of c){let i=Rf(e,n);t&&r+i>a&&s(),t+=e,r+=i}continue}for(let e of Kf(c,n,a)){let c=Rf(e,n);if(t&&r+c>a){if(Gf(t,e))s();else{let e=i.length-1;for(;e>=0&&!(i[e]>0&&Gf(t.slice(0,i[e]),t.slice(i[e])));)e--;if(e>=0){let a=i[e];o.push(t.slice(0,a)),t=t.slice(a),r=Rf(t,n),i=i.slice(e).map(e=>e-a)}}}i.push(t.length),t+=e,r+=c}}o.push(t)}return{lines:o,width:Math.ceil(Math.max(...o.map(e=>Rf(e,n)))),height:o.length*r,lineHeight:r}}function Jf(e){let t=e.size.width-30,n=qf(e.label,t,Z.title,26),r=qf(e.subtitle??``,t,Z.body,24);return{title:n,subtitle:r,minHeight:65+n.height+r.height}}function Yf(e,t=Lf.labelWidth){let n=qf(e,t);return{...n,width:n.lines.length?Math.max(24,n.width+12):0,height:n.lines.length?n.height+6:0}}function Xf(e,t){let n=t.map(e=>e.text).join(` `),r=t.flatMap((e,n)=>[...n?[t[n-1].role]:[],...Array.from({length:e.text.length},()=>e.role)]),i=0,a=e.map(e=>{for(;n[i]===`\r`||n[i]===`
260
+ `;)i++;if(!n.startsWith(e,i))return null;let t=[];for(let n=0;n<e.length;n++){let a=r[i+n];t.at(-1)?.role===a?t.at(-1).text+=e[n]:t.push({text:e[n],role:a})}return i+=e.length,t});for(;n[i]===`\r`||n[i]===`
261
+ `;)i++;return i===n.length&&a.every(Boolean)?a:null}function Zf(e,t){let{width:n,height:r}=Yf(e,t);return{width:n,height:r}}function Qf(e){let t=Math.min(Lf.headingWidth,Math.max(1,(e.size?.width??1/0)-2*If.groupInset)),n=qf(e.label,t,Z.small+1.12,22);return{...n,height:12+n.height}}function $f(e,t=0,n=0){return Qf(e).lines.map((e,r)=>Q(t+16,n+26+r*22,e,`group`)).join(``)}function ep(e,t,n=0,r=0){let i=[`loop`,`par`].includes(e.kind)?5:14;return`<rect class="boundary-frame" x="${n}" y="${r}" width="${e.size.width}" height="${e.size.height}" rx="${i}" fill="${t.fill}" stroke="${t.stroke}" stroke-width="1"/>`}function tp(e=``){return String(e).replaceAll(`&`,`&amp;`).replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`).replaceAll(`"`,`&quot;`)}function np(e,t){return{value:String(e??``),width:t}}function Q(e,t,n,r,i=``){let a=n&&typeof n==`object`&&`width`in n,o=Number(i.match(/font-size:([\d.]+)px/)?.[1])||{title:Z.title,"shape-title":Z.title,"participant-title":Z.title,body:Z.body,"field-name":Z.body,"field-type":Z.body,member:Z.body,"entity-title":Z.title}[r]||Z.small;if(n&&typeof n==`object`&&`runs`in n)return`<text x="${e}" y="${t}" class="${r}"${i}>${n.runs.map(e=>{let t=n.colors[e.role];return t?`<tspan style="fill:${t}">${tp(e.text)}</tspan>`:tp(e.text)}).join(``)}</text>`;let s=a?n.value:n;if(a&&qf(s,1/0,o).width>n.width){let e=Math.max(0,n.width-qf(`…`,1/0,o).width);s=e?(qf(s,e,o).lines[0]??``)+`…`:`…`}return`<text x="${e}" y="${t}" class="${r}"${i}>${tp(s)}</text>`}function rp(e,t,n,r,i=1/0,a=``){if(r<=0||i<=0)return``;let o=qf(n,r,Z.title,29),s=qf(a,r,Z.body,23.2),c=Math.min(o.lines.length,Math.max(1,Math.floor(i/o.lineHeight))),l=Math.min(s.lines.length,Math.max(0,Math.floor((i-c*o.lineHeight-5)/s.lineHeight))),u=c*o.lineHeight+(l?5+l*s.lineHeight:0),d=t-u/2,f=(t,n,r,i)=>t.lines.slice(0,n).map((a,o)=>Q(e,r+o*t.lineHeight,a+(o===n-1&&n<t.lines.length?`…`:``),i,` text-anchor="middle"`)).join(``),p=f(o,c,d+22,`shape-title`)+f(s,l,d+c*o.lineHeight+5+18,`body`),m=Math.min(1,i/u);return m<1?`<g transform="translate(${e} ${t}) scale(${m}) translate(${-e} ${-t})">${p}</g>`:p}function ip(e,t={}){return e.map(([e,n])=>`<${e}${Object.entries({...n,...Object.keys(t).length?{class:`node-surface`}:{},...t,...n.fill===void 0?{}:{fill:n.fill}}).map(([e,t])=>` ${e}="${tp(t)}"`).join(``)}/>`).join(``)}var ap=(e,t,n,r=10,i=e.size.height)=>[[`rect`,{x:t,y:n,width:e.size.width,height:i,rx:r}]],op=(e,t,n)=>{let{width:r,height:i}=e.size,a=n+2+5,o=n+i-2-5;return[[`path`,{d:`M${t+12} ${a}Q${t+12} ${n+2} ${t+r/2} ${n+2}T${t+r-12} ${a}V${o}Q${t+r-12} ${n+i-2} ${t+r/2} ${n+i-2}T${t+12} ${o}Z`}],[`ellipse`,{cx:t+r/2,cy:a,rx:r/2-12,ry:5,fill:`none`}]]},sp=[[.08,0],[.92,0],[1,.5],[.92,1],[.08,1],[0,.5]],cp=(e,t,n,r)=>[[`polygon`,{points:r.map(([r,i])=>`${t+r*e.size.width},${n+i*e.size.height}`).join(` `)}]],lp=(e,t,n)=>[[`polygon`,{points:`${t+e.size.width/2},${n} ${t+e.size.width},${n+e.size.height/2} ${t+e.size.width/2},${n+e.size.height} ${t},${n+e.size.height/2}`}]],up=(e,t,n)=>{let r=t+e.size.width/2;return[[`circle`,{cx:r,cy:n+13,r:11}],[`path`,{d:`M${r} ${n+24}v29M${r-20} ${n+35}h40M${r} ${n+53}l-17 23M${r} ${n+53}l17 23`,fill:`none`}]]},dp=e=>({x:e.position.x+e.size.width/2,y:e.position.y+e.size.height/2});function fp(e,t,n=0,r=0){let i=dp(e),a=typeof r==`number`?{left:r,right:r,top:r,bottom:r}:{left:0,right:0,top:0,bottom:0,...r};return t===`left`||t===`right`?{x:e.position.x+(t===`left`?a.left:e.size.width-a.right),y:i.y+n}:{x:i.x+n,y:e.position.y+(t===`top`?a.top:e.size.height-a.bottom)}}function pp(e,t,n=0,r=10){let{x:i,y:a}=e.position,{width:o,height:s}=e.size,c=dp(e),l=Math.max(0,Math.min(r,o/2,s/2));if(t===`left`||t===`right`){let r=c.y+n;if(r<a||r>a+s)return fp(e,t,n);let u=r<a+l?a+l:r>a+s-l?a+s-l:r,d=Math.sqrt(Math.max(0,l*l-(r-u)**2));return{x:t===`left`?i+l-d:i+o-l+d,y:r}}let u=c.x+n;if(u<i||u>i+o)return fp(e,t,n);let d=u<i+l?i+l:u>i+o-l?i+o-l:u,f=Math.sqrt(Math.max(0,l*l-(u-d)**2));return{x:u,y:t===`top`?a+l-f:a+s-l+f}}function mp(e,t,n=0,r=0,i=0){let a=dp(e),o=Math.max(1,e.size.width/2-r),s=Math.max(1,e.size.height/2-i);if(t===`left`||t===`right`){let r=a.y+n;if(Math.abs(n)>s)return fp(e,t,n);let i=o*Math.sqrt(Math.max(0,1-((r-a.y)/s)**2));return{x:a.x+(t===`left`?-i:i),y:r}}let c=a.x+n;if(Math.abs(n)>o)return fp(e,t,n);let l=s*Math.sqrt(Math.max(0,1-((c-a.x)/o)**2));return{x:c,y:a.y+(t===`top`?-l:l)}}function hp(e,t,n=0,r){let i=r.map(([t,n])=>({x:e.position.x+t*e.size.width,y:e.position.y+n*e.size.height})),a=dp(e),o=t===`left`||t===`right`,s=o?a.y+n:a.x+n,c=[];for(let e=0;e<i.length;e+=1){let t=i[e],n=i[(e+1)%i.length],r=o?t.y:t.x,a=o?n.y:n.x;if(s<Math.min(r,a)||s>Math.max(r,a)||r===a)continue;let l=(s-r)/(a-r);c.push((o?t.x:t.y)+l*((o?n.x:n.y)-(o?t.x:t.y)))}if(!c.length)return fp(e,t,n);let l=t===`left`||t===`top`?Math.min(...c):Math.max(...c);return o?{x:l,y:s}:{x:s,y:l}}function gp(e,t,n=0,r=0){let i=e.position.x+e.size.width/2,a=e.position.y+r;return t===`left`?{x:i-20,y:a+35}:t===`right`?{x:i+20,y:a+35}:t===`top`?{x:i,y:a+2}:{x:i+Math.sign(n||1)*Math.min(17,Math.abs(n)),y:a+76}}function _p(e,t=``){return`${t}.heading{font:650 24px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink};letter-spacing:-.5px}
262
+ ${t}.meta{font:400 ${Z.small}px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink3}}
263
+ ${t}.group{font:650 ${Z.small}px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink2};letter-spacing:.4px}
264
+ ${t}[data-diagram-group-id]>.group{fill:${e.ink2}}
265
+ ${t}.group-kind{font:600 ${Z.small}px ui-monospace,monospace;fill:${e.ink2};letter-spacing:.7px}
266
+ ${t}.stereotype{font:600 ${Z.small}px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink3};letter-spacing:.6px}
267
+ ${t}.title,${t}.participant-title{font:650 ${Z.title}px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink}}
268
+ ${t}.shape-title{font:650 ${Z.title}px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink}}
269
+ ${t}.body{font:400 ${Z.body}px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink2}}
270
+ ${t}.edge,${t}.cardinality{font:500 ${Z.body}px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink2}}
271
+ ${t}.edge-bg{fill:${e.surface};stroke:none}
272
+ ${t}.field-key{font:700 ${Z.small}px ui-monospace,monospace;fill:${e.accent}}
273
+ ${t}.field-name{font:500 ${Z.body}px ui-monospace,monospace;fill:${e.ink2}}
274
+ ${t}.entity-title{font:650 ${Z.title}px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink}}
275
+ ${t}.entity-meta{font:500 ${Z.small}px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:${e.ink2}}
276
+ ${t}.member{font:500 ${Z.body}px ui-monospace,monospace;fill:${e.ink2}}
277
+ ${t}.field-type{font:400 ${Z.body}px ui-monospace,monospace;fill:${e.ink3}}
278
+ `}function vp(e,t,n,r,i,a,o,s,c=0){let{title:l,subtitle:u}=Jf({...e,size:{...e.size,width:e.size.width-c*2}}),d=l.lines.map((e,r)=>Q(t+15+c,n+68+r*l.lineHeight,e,`title`)).join(``),f=u.lines.map((e,r)=>Q(t+15+c,n+68+l.height+r*u.lineHeight,e,`body`)).join(``),p=xf(e),m=e.appearance?.chip,h=e.kind===`failure`,g=m?`#ffffff`:p?a.accent:bf.has(e.kind)?a.data:h?a.warn:a.ink2,_=m??a.badge,v=bf.has(e.kind)?`<ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v14c0 4 16 4 16 0V5M4 12c0 4 16 4 16 0"/>`:[`external`,`actor`].includes(e.kind)?`<rect x="6" y="2" width="12" height="20" rx="3"/><path d="M10 18h4"/>`:[`security`,`config`].includes(e.kind)?`<path d="m12 2 8 4v6c0 5-8 10-8 10S4 17 4 12V6Z"/><path d="m8 12 3 3 5-6"/>`:`<rect x="4" y="4" width="16" height="16" rx="3"/><path d="M8 9h8M8 13h8M8 17h4"/>`,y=e.appearance?.moduleColor||e.appearance?.ring?1.5:1;return`<g filter="url(#node-shadow)">${ip(s(e,t,n),{fill:r,stroke:i,"stroke-width":y})}<rect x="${t+15+c}" y="${n+13}" width="25" height="25" rx="7" fill="${_}"/><svg x="${t+20+c}" y="${n+18}" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="${g}" stroke-width="${m?1.75:1.5}">${v}</svg>${Q(t+47+c,n+29,df(o,Pf[e.kind]??e.kind),`stereotype`)}${d}${f}</g>`}var yp=[[.06,0],[.94,0],[1,.16],[1,.84],[.94,1],[.06,1],[0,.84],[0,.16]],bp=[[.08,0],[1,0],[.92,1],[0,1]];function xp(e,t,n){let{width:r,height:i}=e.size;if(e.kind===`external`)return cp(e,t,n,sp);if(e.kind===`security`)return ap(e,t,n,22);if(e.kind===`failure`)return cp(e,t,n,yp);if(e.kind===`config`)return cp(e,t,n,bp);if(e.kind===`business`)return ap(e,t,n,Math.min(28,i/2));let a=ap(e,t,n,[`service`,`component`].includes(e.kind)?16:10);return e.kind===`data`?[...a,[`path`,{d:`M${t+10} ${n}V${n+i}M${t+r-10} ${n}V${n+i}`,fill:`none`}]]:e.kind===`database`?op(e,t,n):e.kind===`framework`?[...a,[`path`,{d:`M${t+16} ${n+6}H${t+r-16}M${t+16} ${n+i-6}H${t+r-16}`,fill:`none`,"stroke-dasharray":`7 5`}]]:a}var Sp=(e,t,n)=>e.kind===`external`?hp(e,t,n,sp):e.kind===`security`?pp(e,t,n,22):e.kind===`failure`?hp(e,t,n,yp):e.kind===`config`?hp(e,t,n,bp):e.kind===`business`?pp(e,t,n,Math.min(28,e.size.height/2)):e.kind===`database`?fp(e,t,n,{left:12,right:12,top:2,bottom:2}):fp(e,t,n),Cp=e=>[`external`,`config`,`failure`].includes(e.kind)?Math.min(28,e.size.width*.08):0,wp={dashedKinds:[`framework`,`optional`],id:`architecture`,label:`Architecture`,nodeKinds:[`external`,`config`,`framework`,`security`,`service`,`business`,`data`,`failure`,`system`,`component`,`database`],groupKinds:[`runtime`,`security`,`ownership`,`external`],edgeKinds:[`request`,`call`,`data`,`success`,`failure`,`framework`,`optional`,`depends`],render:(e,...t)=>vp(e,...t,xp,Cp(e)),outline:xp,anchor:Sp,cardLayout:!0,contentInset:Cp},Tp=.12,Ep=(e,t,n)=>e.kind===`decision`?lp(e,t,n):[`input`,`output`].includes(e.kind)?[[`polygon`,{points:`${t+e.size.width*Tp},${n} ${t+e.size.width},${n} ${t+e.size.width*.88},${n+e.size.height} ${t},${n+e.size.height}`}]]:ap(e,t,n,[`start`,`end`].includes(e.kind)?e.size.height/2:10),Dp=(e,t,n)=>e.kind===`decision`?hp(e,t,n,[[.5,0],[1,.5],[.5,1],[0,.5]]):[`input`,`output`].includes(e.kind)?hp(e,t,n,[[Tp,0],[1,0],[.88,1],[0,1]]):[`start`,`end`].includes(e.kind)?pp(e,t,n,e.size.height/2):fp(e,t,n),Op=e=>{let{width:t,height:n}=e.size,r=[`input`,`output`].includes(e.kind)?t*Tp+12:[`start`,`end`].includes(e.kind)?Math.min(n/2,t/4):18;return{width:e.kind===`decision`?t/2-8:t-r*2,height:e.kind===`decision`?n/2-8:n-12}};function kp(e,t,n,r,i){let{width:a,height:o}=e.size,s=Op(e),c=rp(t+a/2,n+o/2,e.label,s.width,s.height,e.subtitle),l=e.kind===`subprocess`?`<path d="M ${t+11} ${n}V ${n+o}M ${t+a-11} ${n}V ${n+o}" stroke="${i}"/>`:``;return`<g class="shape-label">${ip(Ep(e,t,n),{fill:r,stroke:i,"stroke-width":1.2})}${l}${c}</g>`}var Ap={id:`flowchart`,label:`Flowchart`,nodeKinds:[`start`,`end`,`process`,`decision`,`input`,`output`,`subprocess`],groupKinds:[],edgeKinds:[`flow`,`yes`,`no`,`success`,`failure`],render:kp,outline:Ep,anchor:Dp,textArea:Op,edgeLabel:(e,t)=>e.label??([`yes`,`no`].includes(e.kind)?df(t,e.kind):``)},jp=(e,t,n)=>e.kind===`actor`?up(e,t,n):ap(e,t,n,7,Z.sequenceHeader),Mp=e=>e.kind===`actor`?Z.sequenceActorHeader+(e.subtitle?22:0):Z.sequenceHeader;function Np(e,t,n,r,i,a,o){let s=t+e.size.width/2,c=e.kind===`actor`,l=Mp(e),u=ip(jp(e,t,n),{fill:r,stroke:i,"stroke-width":1.5}),d=c?Q(s,n+98,np(e.label,e.size.width-12),`participant-title`,` text-anchor="middle" style="fill:${a.ink}"`):Q(s,n+(e.subtitle?18:25),df(o,Pf[e.kind]??e.kind),`stereotype`,` text-anchor="middle"`)+Q(s,n+(e.subtitle?41:53),np(e.label,e.size.width-28),`participant-title`,` text-anchor="middle"`),f=e.subtitle?Q(s,n+(c?120:63),np(e.subtitle,e.size.width-28),`body`,` text-anchor="middle"`):``,p=(e.executionRects??[]).map(e=>`<rect class="sequence-execution" data-execution-id="${tp(e.id)}" x="${t+e.x}" y="${n+e.y}" width="${e.width}" height="${e.height}" fill="${gf(e.color,a.surface,.14)}" stroke="${e.color}" stroke-width="1.5"/>`).join(``);return`<g><g class="sequence-head"><g class="${c?`actor-figure`:`participant-head`}">${u}</g>${d}${f}</g><path class="lifeline" d="M ${s} ${n+l}V ${n+e.size.height}" stroke="${a.edge}" stroke-width="1" stroke-dasharray="4 6"/>${p}</g>`}var Pp={dashedKinds:[`return`],markers:{async:{end:`arrow-open`},return:{end:`arrow-open`}},id:`sequence`,label:`Sequence`,nodeKinds:[`actor`,`participant`,`external`,`service`,`database`],groupKinds:[`alt`,`opt`,`loop`,`par`],edgeKinds:[`sync`,`async`,`return`],render:Np,outline:jp,sequence:!0,selectionHeight:Mp,edgeLabel:e=>`${String(e.order).padStart(2,`0`)} · ${e.label??``}`,validateEdge(e,t,n,{requireString:r,sequenceOrders:i}){!Number.isInteger(e?.order)||e.order<1?n.push(`${t}.order must be a positive integer for sequence`):i.has(e.order)?n.push(`${t}.order duplicates ${e.order}`):i.add(e.order),r(e?.label,`${t}.label`,n)}},Fp=(e,t,n)=>ap(e,t,n,9);function Ip(e,t,n,r,i,a,o){let{erHeaderHeight:s,erRowHeight:c,erFontSize:l}=Ff(e),u=np(e.subtitle??df(o,`Entity`),e.size.width-60),d=e.subtitle?Z.body:Z.small,f=e.fields.map((r,i)=>{let o=n+s+i*c,u=o+c/2+l*.35,d=Math.min(e.size.width*.55,qf(r.type,1/0,l).width);return`${r.key===`FK`?`<rect x="${t+1}" y="${o}" width="${e.size.width-2}" height="${c}" fill="${a.surface}"/>`:``}${i?`<path d="M${t} ${o}H${t+e.size.width}" stroke="${a.ruleSoft}"/>`:``}${r.key?Q(t+10,u-1,r.key,`field-key`,` style="fill:${r.key===`FK`?a.accent:a.data}"`):``}${Q(t+45,u,np(r.name,Math.max(1,e.size.width-62-d)),`field-name`,` style="font-size:${l}px"`)}${Q(t+e.size.width-10,u-1,np(r.type,d),`field-type`,` text-anchor="end" style="font-size:${l}px"`)}`}).join(``);return`<g filter="url(#node-shadow)">${ip(Fp(e,t,n),{fill:a.surface2,stroke:i,"stroke-width":e.appearance?.moduleColor||e.appearance?.ring?1.5:1})}<path d="M${t+9} ${n}H${t+e.size.width-9}Q${t+e.size.width} ${n} ${t+e.size.width} ${n+9}V${n+s}H${t}V${n+9}Q${t} ${n} ${t+9} ${n}Z" fill="${e.appearance?.header??r}"/><path d="M${t} ${n+s}H${t+e.size.width}" stroke="${a.rule}"/>${Q(t+13,n+s*.43,np(e.label,e.size.width-26),`entity-title`,` style="font-size:${Math.min(Z.title,s*.38)}px;fill:${a.ink}"`)}${Q(t+13,n+s*.78,u,`entity-meta`,` style="font-size:${Math.min(d,s*.23)}px;fill:${a.ink2}"`)}${Q(t+e.size.width-13,n+s*.78,String(e.fields.length).padStart(2,`0`),`entity-meta`,` text-anchor="end" style="font-size:${Math.min(d,s*.23)}px;fill:${a.ink2}"`)}${f}</g>`}var Lp={id:`er`,label:`ER diagram`,nodeKinds:[`entity`],groupKinds:[],edgeKinds:[`relationship`],render:Ip,outline:Fp,compartments:!0,cardinalities:!0,endpointStub:28,undirected:[`relationship`],validateNode(e,t,n){(!Array.isArray(e?.fields)||e.fields.length===0)&&n.push(`${t}.fields must be a non-empty array for er`)},validateEdge(e,t,n){for(let r of[`sourceCardinality`,`targetCardinality`])[`1`,`0..1`,`*`,`1..*`,`0..*`].includes(e?.[r])||n.push(`${t}.${r} is unsupported`)}},Rp=[[0,.1],[.06,0],[1,0],[1,.9],[.94,1],[0,1]];function zp(e,t,n){let{width:r,height:i}=e.size;return e.kind===`device`?[[`rect`,{x:t+16,y:n,width:r-32,height:i,rx:10}],[`path`,{d:`M${t+r/2} ${n+i-10}V${n+i-5}M${t+r/2-30} ${n+i-5}H${t+r/2+30}`,fill:`none`}]]:e.kind===`node`?[...cp(e,t,n,Rp),[`path`,{d:`M${t} ${n+i*.1}L${t+r*.94} ${n+i*.1}L${t+r} ${n}M${t+r*.94} ${n+i*.1}V${n+i}`,fill:`none`}]]:e.kind===`container`?[...ap(e,t,n,10),[`rect`,{x:t+r-30,y:n+13,width:16,height:11,rx:2,fill:`none`}],[`rect`,{x:t+r-34,y:n+17,width:16,height:11,rx:2,fill:`none`}]]:e.kind===`artifact`?[[`path`,{d:`M${t} ${n}H${t+r-28}L${t+r} ${n+28}V${n+i}H${t}Z`}],[`path`,{d:`M${t+r-28} ${n}V${n+28}H${t+r}`,fill:`none`}]]:e.kind===`database`?op(e,t,n):e.kind===`external`?cp(e,t,n,sp):e.kind===`service`?ap(e,t,n,16):ap(e,t,n,10)}var Bp=(e,t,n)=>e.kind===`device`?fp(e,t,n,{left:16,right:16,top:0,bottom:0}):e.kind===`node`?hp(e,t,n,Rp):e.kind===`database`?fp(e,t,n,{left:12,right:12,top:2,bottom:2}):e.kind===`external`?hp(e,t,n,sp):e.kind===`service`?pp(e,t,n,16):fp(e,t,n),Vp=e=>e.kind===`external`?Math.min(28,e.size.width*.08):e.kind===`device`?12:0,Hp={id:`deployment`,label:`Deployment`,nodeKinds:[`device`,`node`,`container`,`artifact`,`service`,`database`,`external`],groupKinds:[`host`,`network`,`cluster`,`namespace`],edgeKinds:[`deploy`,`network`,`depends`],render:(e,...t)=>vp(e,...t,zp,Vp(e)),outline:zp,anchor:Bp,cardLayout:!0,contentInset:Vp},Up=(e,t,n)=>ap(e,t,n,9);function Wp(e,t,n,r,i,a){let o=e.attributes??[],s=e.methods??[],{classHeaderHeight:c,classRowHeight:l}=Ff(e),u=o.length?o.length*l+13:30,d=n+c,f=d+u,p=e.kind===`interface`?`«interface»`:e.kind===`abstract`?`«abstract»`:``,m=e.size.width-26,h=o.map((e,n)=>Q(t+13,d+6+l/2+Z.body*.35+n*l,np(e,m),`member`)).join(``),g=s.map((e,n)=>Q(t+13,f+6+l/2+Z.body*.35+n*l,np(e,m),`member`)).join(``);return`<g filter="url(#node-shadow)">${ip(Up(e,t,n),{fill:a.surface2,stroke:i,"stroke-width":e.appearance?.moduleColor||e.appearance?.ring?1.5:1})}<path d="M${t+9} ${n}H${t+e.size.width-9}Q${t+e.size.width} ${n} ${t+e.size.width} ${n+9}V${d}H${t}V${n+9}Q${t} ${n} ${t+9} ${n}Z" fill="${e.appearance?.header??r}"/><rect x="${t+1}" y="${f}" width="${e.size.width-2}" height="${Math.max(0,e.size.height-c-u-1)}" fill="${a.group}"/>${p?Q(t+13,n+24,p,`stereotype`):``}${Q(t+13,n+(p?50:Z.classHeader/2+7),np(e.label,m),`shape-title`)}${e.subtitle?Q(t+13,n+c-10,np(e.subtitle,m),`body`):``}<path d="M${t} ${d}H${t+e.size.width}M${t} ${f}H${t+e.size.width}" stroke="${a.rule}"/>${h}${g}</g>`}var Gp={dashedKinds:[`implementation`,`dependency`],id:`class`,label:`Class diagram`,nodeKinds:[`class`,`interface`,`abstract`],groupKinds:[],edgeKinds:[`association`,`inheritance`,`implementation`,`composition`,`aggregation`,`dependency`],render:Wp,outline:Up,compartments:!0,undirected:[`association`,`composition`,`aggregation`],markers:{inheritance:{end:`triangle`},implementation:{end:`triangle`},composition:{start:`diamond-filled`},aggregation:{start:`diamond-open`},dependency:{end:`arrow-open`}},edgeLabel:(e,t)=>e.label??([`composition`,`aggregation`,`inheritance`,`implementation`].includes(e.kind)?df(t,e.kind):``),validateEdge(e,t,n){for(let r of[`source`,`target`]){let i=e[`${r}Multiplicity`];if(i===void 0)continue;let a=typeof i==`string`&&/^(\d+)(?:\.\.(\d+|\*))?$/.exec(i);i!==`*`&&(!a||a[2]&&a[2]!==`*`&&Number(a[2])<Number(a[1]))&&n.push(`${t}.${r}Multiplicity must be *, a non-negative integer, or an ascending range`),[`inheritance`,`implementation`,`dependency`].includes(e.kind)&&n.push(`${t}.${r}Multiplicity is only supported on associations, aggregation and composition`)}},endpointLabels(e,t){return[`source`,`target`].flatMap(n=>{let r=e[`${n}Multiplicity`];if(r===void 0)return[];let i=n===`source`?t[0]:t.at(-1),a=n===`source`?t[1]:t.at(-2),o=Zf(r,1/0),s=i.y===a.y,c=Math.sign(s?a.x-i.x:a.y-i.y),l=s?{x:i.x+c*(24+o.width/2),y:i.y-6-o.height/2}:{x:i.x+6+o.width/2,y:i.y+c*(24+o.height/2)};return[{role:n,label:r,labelPoint:l,labelBox:{x:l.x-o.width/2,y:l.y-o.height/2,...o}}]})}},Kp=e=>e.subtitle?14:e.size.width/2,qp=[`entry`,`do`,`exit`],Jp={side:16,pad:8,line:20,keyWidth:64};function Yp(e){let t=e.kind===`state`?qp.filter(t=>typeof e[t]==`string`&&e[t].trim()).map(t=>({key:t,lines:qf(e[t],e.size.width-2*Jp.side-Jp.keyWidth,Z.small,Jp.line).lines})):[];return{rows:t,height:t.length?t.reduce((e,t)=>e+t.lines.length,0)*Jp.line+2*Jp.pad:0}}var Xp=2*Jp.side+Jp.keyWidth,Zp=e=>{let{height:t}=Yp(e);return t?{x:Jp.side,y:e.size.height-t,width:e.size.width-2*Jp.side,height:t}:null},Qp=(e,t,n)=>[`initial`,`final`].includes(e.kind)?[[`circle`,{cx:t+Kp(e),cy:n+e.size.height/2,r:e.kind===`initial`?12:13}]]:e.kind===`choice`?lp(e,t,n):ap(e,t,n,12),$p=(e,t,n)=>{if([`initial`,`final`].includes(e.kind)){let r=e.kind===`initial`?12:13,i=Kp(e)-e.size.width/2;return mp({...e,position:{...e.position,x:e.position.x+i}},t,n-([`top`,`bottom`].includes(t)?i:0),e.size.width/2-r,e.size.height/2-r)}return e.kind===`choice`?hp(e,t,n,[[.5,0],[1,.5],[.5,1],[0,.5]]):fp(e,t,n)},em=e=>{if([`initial`,`final`].includes(e.kind)&&e.subtitle)return{x:42,y:8,width:e.size.width-50,height:e.size.height-16};let t=Yp(e).height,n={width:e.kind===`choice`?e.size.width/2-8:e.size.width-24,height:e.kind===`choice`?e.size.height/2-8:e.size.height-16-t};return t?{x:12,y:8,...n}:n};function tm(e,t,n,r,i){let{rows:a,height:o}=Yp(e);if(!a.length)return``;let s=n+e.size.height-o,c=0;return`<path d="M${t} ${s}H${t+e.size.width}" fill="none" stroke="${r}" stroke-opacity=".35"/>${a.map(e=>e.lines.map((n,r)=>{let a=s+Jp.pad+c++*Jp.line+15;return(r?``:Q(t+Jp.side,a,`${e.key} /`,`field-key`))+Q(t+Jp.side+Jp.keyWidth,a,n,`entity-meta`,` style="fill:${i.ink}"`)}).join(``)).join(``)}`}function nm(e,t,n,r,i,a){let o=t+e.size.width/2,s=n+e.size.height/2;if([`initial`,`final`].includes(e.kind)){let r=em(e),o=e.kind===`final`;return`<g class="state-dot">${ip(Qp(e,t,n),{fill:o?a.surface:i,stroke:i,"stroke-width":1})}${o?`<circle cx="${t+Kp(e)}" cy="${s}" r="8" fill="${i}"/>`:``}</g>${e.subtitle?rp(t+r.x+r.width/2,s,e.label,r.width,r.height,e.subtitle):``}`}let c=em(e),l=n+(e.size.height-Yp(e).height)/2;return`<g class="shape-label">${ip(Qp(e,t,n),{fill:r,stroke:i,"stroke-width":1.2})}${rp(o,l,e.label,c.width,c.height,e.subtitle)}${tm(e,t,n,i,a)}</g>`}var rm=e=>[{text:e.label,role:`trigger`},...e.guard?[{text:`[${e.guard}]`,role:`guard`}]:[],...e.action?[{text:`/ ${e.action}`,role:`effect`}]:[]].filter(e=>e.text),im={id:`state`,label:`State diagram`,nodeKinds:[`initial`,`state`,`final`,`choice`],groupKinds:[],edgeKinds:[`transition`],render:nm,outline:Qp,anchor:$p,textArea:em,activityArea:Zp,curvedSelfLoops:!0,markers:{transition:{end:`arrow-open`}},edgeLabel:e=>rm(e).map(e=>e.text).join(` `),edgeLabelParts:rm,labelRoleColors:{trigger:`ink`,guard:`guard`},legend:{neutral:`State`,core:`Core state`,goal:`Core state`,ended:`Ended state`,failed:`Failed state`,flight:`In-progress state: warm to cool as it advances`,solid:`Transition`},validateNode(e,t,n){for(let r of qp)e?.[r]!==void 0&&(typeof e[r]!=`string`||!e[r].trim()?n.push(`${t}.${r} must be a non-empty string`):e.kind!==`state`&&n.push(`${t}.${r} is only supported on state nodes`))},validateEdge(e,t,n){for(let r of[`guard`,`action`])e?.[r]!==void 0&&typeof e[r]!=`string`&&n.push(`${t}.${r} must be a string`)}},am=e=>Math.max(0,(e.size.height-104-(e.subtitle?24:0))/2),om=e=>({width:e.size.width/Math.SQRT2-8,height:e.size.height/Math.SQRT2-8}),sm=(e,t,n)=>e.kind===`actor`?up(e,t,n+am(e)):[[`ellipse`,{cx:t+e.size.width/2,cy:n+e.size.height/2,rx:e.size.width/2,ry:e.size.height/2}]],cm=(e,t,n)=>e.kind===`actor`?gp(e,t,n,am(e)):mp(e,t,n);function lm(e,t,n,r,i,a){let o=t+e.size.width/2;if(e.kind===`actor`)return`<g><g class="actor-figure">${ip(sm(e,t,n),{fill:r,stroke:i,"stroke-width":1.5})}</g>${Q(o,n+am(e)+98,np(e.label,e.size.width-12),`shape-title`,` text-anchor="middle" style="fill:${a.ink}"`)}${e.subtitle?Q(o,n+am(e)+122,np(e.subtitle,e.size.width-12),`body`,` text-anchor="middle"`):``}</g>`;let s=om(e);return`<g class="shape-label">${ip(sm(e,t,n),{fill:r,stroke:i,"stroke-width":1.2})}${rp(o,n+e.size.height/2,e.label,s.width,s.height,e.subtitle)}</g>`}var um={dashedKinds:[`include`,`extend`],id:`usecase`,label:`Use cases`,nodeKinds:[`actor`,`usecase`],groupKinds:[`system`],edgeKinds:[`association`,`include`,`extend`],render:lm,outline:sm,anchor:cm,textArea:om,undirected:[`association`],markers:{include:{end:`arrow-open`},extend:{end:`arrow-open`}},edgeLabel:e=>{let t={include:`«include»`,extend:`«extend»`}[e.kind];return t?e.label&&e.label!==e.kind?`${t} · ${e.label}`:t:e.label??``}},dm=(e,t,n)=>e.kind===`dataStore`?[[`path`,{d:`M${t+e.size.width} ${n}H${t}V${n+e.size.height}H${t+e.size.width}M${t+12} ${n}V${n+e.size.height}`}]]:ap(e,t,n,e.kind===`process`?24:10),fm=e=>({width:e.size.width-32,height:e.size.height-20});function pm(e,t,n,r,i){let a=fm(e);return`<g class="shape-label">${ip(dm(e,t,n),{fill:r,stroke:i,"stroke-width":1.2})}${rp(t+e.size.width/2,n+e.size.height/2,e.label,a.width,a.height,e.subtitle)}</g>`}var mm=[wp,Ap,Pp,Lp,Hp,Gp,im,um,{id:`dataflow`,label:`Data flow`,nodeKinds:[`external`,`process`,`dataStore`],groupKinds:[`ownership`,`external`],edgeKinds:[`data`],render:pm,outline:dm,textArea:fm,anchor:(e,t,n)=>e.kind===`process`?pp(e,t,n,24):fp(e,t,n)}],hm=mm.map(e=>e.id),gm=Object.fromEntries(mm.map(e=>[e.id,e.label])),_m=new Map(mm.map(e=>[e.id,e]));if(_m.size!==mm.length)throw Error(`Duplicate diagram type`);var vm=e=>e?.meta?.diagramType??`architecture`,$=(e=`architecture`)=>_m.get(e),ym=(e,t)=>!($(t).undirected??[]).includes(e.kind),bm=(e,t)=>(t!==`sequence`||e.kind!==`sync`)&&([`framework`,`inference`].includes(e.evidence)||($(t).dashedKinds??[]).includes(e.kind)),xm=(e,t)=>Object.fromEntries(Object.entries($(e)?.labelRoleColors??{}).map(([e,n])=>[e,t[n]])),Sm=(e,t)=>({start:null,end:ym(e,t)?`arrow`:null,...$(t).markers?.[e.kind]});function Cm(e,t,n=0,r=0,i,a,o){let s=$(t);if(!s)throw Error(`Unsupported diagram type: ${t}`);let c=Af(e,i,o),{fill:l,stroke:u,ring:d}=c,f=e.position.x+n,p=e.position.y+r,m=s.render({...e,appearance:c},f,p,l,u,i,a),h=d&&![`actor`,`initial`,`final`].includes(e.kind)?ip(s.outline(e,f,p),{class:`role-ring`,fill:`none`,stroke:d,"stroke-width":5}):``,g=[e.label,e.subtitle,...(e.fields??[]).map(e=>`${e.key?e.key+` `:``}${e.name}: ${e.type}${e.nullable===void 0?``:` (nullable: ${e.nullable})`}`),...e.attributes??[],...e.methods??[]].filter(Boolean).join(`
279
+ `);return`<g data-diagram-node-id="${tp(e.id)}" class="node-drawing${xf(e)&&!s.compartments?` core-node`:``}"><title>${tp(g)}</title>${h}${m}</g>`}function wm(e,t){let n=$(t);return{markup:ip(n.outline(e,0,0)),height:n.selectionHeight?.(e)??e.size.height}}function Tm(e,t,n,r,i,a,o,s,c){let l=$(t),u={...e,position:{x:n,y:r},size:{width:i,height:a}};return ip(l.outline(u,n,r),{fill:o,stroke:s,"stroke-width":c})}function Em({data:e,pulse:t}){let{markup:n,height:r}=wm(e,e.diagramType);return(0,x.jsxs)(`svg`,{className:`selection-feedback selection-outline selection-node-outline ${t>0?`is-animated`:``}`,"data-selection-pulse":t,viewBox:`0 0 ${e.size.width} ${r}`,style:{height:r},"aria-hidden":`true`,children:[(0,x.jsx)(`g`,{className:`selection-node-halo`,dangerouslySetInnerHTML:{__html:n}}),(0,x.jsx)(`g`,{className:`selection-node-shine`,dangerouslySetInnerHTML:{__html:n}})]})}var Dm=(e,t,n=0)=>e.x<t.x+t.width+n&&e.x+e.width>t.x-n&&e.y<t.y+t.height+n&&e.y+e.height>t.y-n,Om=e=>e.points.slice(1).map((t,n)=>{let r=e.points[n];return{x:Math.min(r.x,t.x)-6,y:Math.min(r.y,t.y)-6,width:Math.abs(t.x-r.x)+12,height:Math.abs(t.y-r.y)+12}}),km=(e,t)=>e?.id??String(t);function Am(e){let t=new Map((e.groups??[]).map(e=>[e.id,e])),n=new Map,r=(e,n=new Set)=>{if(!e.parentId||n.has(e.id))return``;n.add(e.id);let i=t.get(e.parentId);return i?r(i,n)+`${encodeURIComponent(i.id)}:${encodeURIComponent(e.parentOperandId)}/`:``};for(let e of t.values())if(Array.isArray(e.operands))for(let[t,i]of e.operands.entries())for(let a of Array.isArray(i?.edgeIds)?i.edgeIds:[])n.set(a,r(e)+`${encodeURIComponent(e.id)}:${encodeURIComponent(km(i,t))}`);return n}function jm(e,t,n,r,i=new Set){if(i.has(e.id))return[];let a=new Set(i).add(e.id),o=r.filter(r=>r.parentId===e.id&&r.parentOperandId===km(t,n));return[...t.edgeIds??[],...o.flatMap(e=>(e.operands??[]).flatMap((t,n)=>jm(e,t,n,r,a)))]}function Mm(e){let t=[],n=new Map(e.edges.map(e=>[e.id,e])),r=e.groups??[],i=new Map;for(let a of r){let o=`group ${a.id}.operands`;if(e.meta.diagramType!==`sequence`){(a.operands!==void 0||a.parentOperandId!==void 0||a.loop!==void 0)&&t.push(`${o} is only supported for sequence`);continue}if(a.parentId!==void 0||a.parentOperandId!==void 0){let e=r.find(e=>e.id===a.parentId);(!e||!Array.isArray(e.operands)||!e.operands.some((e,t)=>km(e,t)===a.parentOperandId))&&t.push(`group ${a.id} unknown parent operand ${a.parentId}/${a.parentOperandId}`)}let s=new Set([a.id]),c=r.find(e=>e.id===a.parentId);for(;c;){if(s.has(c.id)){t.push(`group ${a.id} parent cycle at ${c.id}`);break}s.add(c.id),c=r.find(e=>e.id===c.parentId)}if(a.operands===void 0&&a.kind!==`par`&&a.loop===void 0&&a.parentId===void 0)continue;let l=[`alt`,`par`].includes(a.kind);if(!Array.isArray(a.operands)||(l?a.operands.length<2:a.operands.length!==1)){t.push(`${o} needs ${l?`at least two branches`:`exactly one branch`}`);continue}a.kind===`loop`?(!Number.isInteger(a.loop?.min)||a.loop.min<0||!(a.loop?.max===`*`||Number.isInteger(a.loop?.max)&&a.loop.max>=a.loop.min))&&t.push(`group ${a.id}.loop needs a non-negative min and max >= min (or *)`):a.loop!==void 0&&t.push(`group ${a.id}.loop is only supported for loop`);let u=new Set;for(let[e,s]of a.operands.entries()){let c=`${o}[${e}] (${String(s?.id??e)})`;if(!s||typeof s!=`object`||Array.isArray(s)){t.push(`${c} must be an object`);continue}s.id!==void 0&&(typeof s.id!=`string`||!s.id.trim())&&t.push(`${c}.id must be a non-empty string`),a.kind!==`alt`&&s.id===void 0&&t.push(`${c}.id is required`);let l=km(s,e);u.has(l)&&t.push(`${c} duplicate operand id`),u.add(l);let d=a.kind===`par`?`label`:`guard`;(typeof s[d]!=`string`||!s[d].trim())&&t.push(`${c}.${d} must be a non-empty string`),a.kind===`alt`&&s.guard?.trim?.()===`else`&&e!==a.operands.length-1&&t.push(`${c} else must be last and unique`),s.body!==void 0&&(typeof s.body!=`string`||!s.body.trim())&&t.push(`${c}.body must be a non-empty string`);let f=r.filter(e=>e.parentId===a.id&&e.parentOperandId===l);if(!Array.isArray(s.edgeIds)||!s.edgeIds.length&&!s.body?.trim?.()&&!f.length){t.push(`${c}.edgeIds must be an array with messages, body or a child fragment`);continue}for(let e of s.edgeIds)(typeof e!=`string`||!n.has(e))&&t.push(`${c} unknown edge ${String(e)}`),i.has(e)&&t.push(`${c} duplicate edge ${e}, already in ${i.get(e)}`),i.set(e,`${a.id}/${l}`)}}if(t.length)return t;for(let e of r){let i=-1/0;for(let[a,o]of(e.operands??[]).entries()){let s=jm(e,o,a,r).map(e=>n.get(e)?.order).filter(Number.isFinite);s.length&&Math.min(...s)<=i&&t.push(`group ${e.id}.operands order ranges must be ordered and non-interleaving`),s.length&&(i=Math.max(...s))}}return t}function Nm(e,t){let n=0,r=t.find(t=>t.id===e.parentId),i=new Set([e.id]);for(;r&&!i.has(r.id);)i.add(r.id),n++,r=t.find(e=>e.id===r.parentId);return n}function Pm(e,t=[],n){let r=e.x+e.width/2,i=e.y+e.height/2,a=t.filter(e=>e.position&&e.size&&r>=e.position.x&&r<=e.position.x+e.size.width&&i>=e.position.y&&i<=e.position.y+e.size.height).sort((e,n)=>Nm(n,t)-Nm(e,t))[0];return a?n?.get(a.id)?.fill:void 0}var Fm=e=>qf(e.label,Math.min(Lf.headingWidth,Math.max(1,(e.size?.width??1/0)-88)),15.12,22);function Im(e,t){let n={...e.position,...e.size},r=Fm(e),i={width:Math.min(r.width+16,n.width-88),height:Math.max(24,r.height+8),lines:r.lines};return[n.x+16,...t.map(e=>e.x+e.width+12)].map(e=>({x:e,y:n.y+6,...i})).find(e=>e.x>=n.x+16&&e.x+e.width<=n.x+n.width-64&&!t.some(t=>Dm(e,t,4)))}function Lm(e,t,n,r,i){let a={...e.position,...e.size},o=a.y+a.height,s=[...t.entries()],c=e=>e.points.some(e=>e.x>=a.x&&e.x<=a.x+a.width&&e.y>a.y&&e.y<a.y+a.height),l=s.filter(([,e])=>c(e)).map(([,e])=>e),u=[`group ${e.id}: alt branch conditions are unspecified (operands missing)`],d=[...i?[i]:[],{x:a.x+a.width-52,y:a.y,width:52,height:36},...s.flatMap(([,e])=>[e.labelBox,...Om(e)]),...r],f=qf(df(n,`Branch conditions unspecified`),Math.max(1,a.width-32),14,20),p={width:f.width+8,height:f.height+4},m=[a.x+16,...d.map(e=>e.x+e.width+8),a.x+a.width-p.width-16],h=Math.min(...l.map(e=>Math.min(e.labelBox.y,...e.points.map(e=>e.y)))),g=[a.y+6,h,...l.map(e=>e.points[0].y-p.height-6)].flatMap(e=>m.map(t=>({x:t,y:e,...p}))).find(e=>e.x>=a.x+8&&e.x+e.width<=a.x+a.width-8&&e.y>=a.y+6&&e.y+e.height<=o-6&&!d.some(t=>Dm(e,t,2)));return g||u.push(`layout: group ${e.id} has no room for guard 1; shorten the guard or adjust the frame/participant spacing`),{warnings:u,guards:[{...g??{x:a.x+16,y:a.y+38,...p},lines:f.lines,operandId:km(null,0)}]}}function Rm(e,t,n,r=[],i=[]){let a=[],o=[],s=[],c=[],l=[],u={...e.position,...e.size},d=u.y+u.height,f=r.find(t=>t.id===e.parentId);f&&!(u.x>=f.position.x+8&&u.x+u.width<=f.position.x+f.size.width-8&&u.y>=f.position.y+36&&d<=f.position.y+f.size.height-8)&&a.push(`layout: group ${e.id} exceeds parent ${f.id}`);let p=new Set,m=f;for(;m&&!p.has(m.id);)p.add(m.id),m=r.find(e=>e.id===m.parentId);for(let t of r)if(t.id!==e.id&&!p.has(t.id)){let n=t,i=new Set;for(;n?.parentId&&!i.has(n.id)&&(i.add(n.id),n.parentId!==e.id);)n=r.find(e=>e.id===n.parentId);if(n?.parentId===e.id)continue;Dm(u,{...t.position,...t.size})&&a.push(`layout: groups ${e.id} and ${t.id} cross without nesting`)}if(e.kind!==`alt`&&!e.operands)return{errors:a,warnings:o,guards:s,bodies:c,separators:l};let h=Im(e,i);h||a.push(`layout: group ${e.id} has no room for heading; adjust its frame`);let g=r.filter(t=>t.parentId===e.id);if(e.kind===`alt`&&e.operands===void 0&&!e.parentId&&!g.length){let r=Lm(e,t,n,i,h);return{errors:a,warnings:r.warnings,guards:r.guards,separators:[],heading:h}}if(!e.operands)return{errors:a,warnings:o,guards:s,bodies:c,separators:l};let _=Math.max(u.y+36,h?h.y+h.height+6:0),v=e.operands.map((n,i)=>{let a=g.filter(e=>e.parentOperandId===km(n,i)).map(e=>({...e.position,...e.size,id:e.id})),o=jm(e,n,i,r).map(e=>t.get(e)).filter(Boolean),s=[...a,...o.flatMap(e=>[e.labelBox,...Om(e)])];return{operand:n,selected:o,childFrames:a,boxes:s,top:Math.min(...s.map(e=>e.y)),bottom:Math.max(...s.map(e=>e.y+e.height))}});for(let e=1;e<v.length;e++){let t=v[e-1],n=v[e];l.push(Number.isFinite(t.bottom)&&Number.isFinite(n.top)?(t.bottom+n.top)/2:_+(d-_)*e/v.length)}let y=new Set(e.operands.flatMap((t,n)=>jm(e,t,n,r)));for(let[n,r]of t)r.points.some(e=>e.x>=u.x&&e.x<=u.x+u.width&&e.y>u.y&&e.y<d)&&!y.has(n)&&a.push(`layout: group ${e.id} omits enclosed message ${n}`);let b=[...t.values()].flatMap(e=>[e.labelBox,...Om(e)]);return b.push(...i),v.forEach(({operand:t,selected:n,childFrames:r,top:i},o)=>{let f=o?l[o-1]:_,p=l[o]??d;for(let i of[...r,...n.flatMap(e=>[e.labelBox,...Om(e)])])(i.x<u.x+4||i.x+i.width>u.x+u.width-4||i.y<f+2||i.y+i.height>p-2)&&a.push(`layout: group ${e.id} cannot contain operand ${km(t,o)}${i.id?` child ${i.id}`:``}; enlarge or reposition its frame`);let m=e.kind===`par`?t.label:`${e.kind===`loop`?`${e.loop.min}..${e.loop.max} `:``}[${t.guard}]`,h=[...b,...r,...s,...c],g=(n,r,l)=>{let d=r===`body`?16:14,f=r===`body`?24:20,m=qf(n,Math.min(Lf.labelWidth,Math.max(1,u.width-40)),d,f),g={width:m.width+8,height:m.height+4},_=[u.x+16,...h.map(e=>e.x+e.width+8),u.x+u.width-g.width-16],v=[l,...h.map(e=>e.y+e.height+8),i-g.height-8].filter(Number.isFinite).sort((e,t)=>e-t).flatMap(e=>_.map(t=>({x:t,y:e,...g}))).find(e=>e.x>=u.x+8&&e.x+e.width<=u.x+u.width-8&&e.y>=l&&e.y+e.height<=p-6&&!h.some(t=>Dm(e,t,2)));return v?(v.lines=m.lines,v.fontSize=d,v.lineHeight=f,v.operandId=km(t,o),h.push(v),(r===`guard`?s:c).push(v)):a.push(`layout: group ${e.id} has no room for ${r} ${km(t,o)}; adjust frame/message spacing`),v},v=g(m,`guard`,f+6);t.body&&g(t.body,`body`,v?v.y+v.height+8:f+38)}),{errors:a,warnings:o,guards:s,bodies:c,separators:l,heading:h}}function zm(e,t,n=0,r=0,i=`currentColor`,a=`var(--canvas)`){return e.separators.map(e=>`<path class="operand-separator" d="M${t.position.x+n} ${e+r}h${t.size.width}" fill="none" stroke="${i}" stroke-dasharray="6 4"/>`).join(``)+[...e.guards,...e.bodies??[]].map(i=>`<g data-fragment-group-id="${tp(t.id)}" data-operand-id="${tp(i.operandId)}" class="${e.guards.includes(i)?`operand-guard`:`operand-body`}"><rect x="${i.x+n}" y="${i.y+r}" width="${i.width}" height="${i.height}" rx="2" fill="${a}"/>${i.lines.map((e,t)=>Q(i.x+n+4,i.y+r+(i.fontSize===16?18:16)+t*(i.lineHeight??20),e,i.fontSize===16?`body`:`group`)).join(``)}</g>`).join(``)}function Bm(e){if(e.meta.diagramType!==`sequence`)return new Map;let t=new Map(e.edges.map(e=>[e.id,e.order])),n=[...new Set(e.edges.map(e=>e.replyTo).filter(Boolean))].sort((e,n)=>(t.get(e)??1/0)-(t.get(n)??1/0)||(e<n?-1:+(e>n))),r=new Map(n.map((e,t)=>[e,t]));return new Map(e.edges.filter(e=>r.has(e.replyTo??e.id)).map(e=>{let t=e.replyTo??e.id,n=r.get(t);return[e.id,{callId:t,index:n,label:`${e.replyTo?`↩ `:``}C${n+1}`}]}))}function Vm(e,t,n=Bm(e),r=Am(e)){let i=n.get(t.id),a=(e.groups??[]).some(e=>e.kind===`par`&&(r.get(t.id)??``).split(`/`).some(t=>t.startsWith(encodeURIComponent(e.id)+`:`)));return i?`${i.label} · ${t.label??``}`:a?t.label??``:`${String(t.order).padStart(2,`0`)} · ${t.label??``}`}var Hm=140,Um=54,Wm=(e,t)=>(e.route?.messageY??Hm+e.order*Um)+(t===`receive`&&e.source===e.target?30:0);function Gm(e,{inputOnly:t=!1}={}){let n=[],r=new Map(e.edges.map(e=>[e.id,e]));if(e.meta.diagramType!==`sequence`)return(e.executions!==void 0||e.edges.some(e=>e.replyTo!==void 0))&&n.push(`executions and replyTo are only supported for sequence`),n;if(!t){let t=[...e.edges].sort((e,t)=>e.order-t.order);for(let e=1;e<t.length;e++)Wm(t[e],`send`)<=Wm(t[e-1],`send`)&&n.push(`edge ${t[e].id}.route.messageY must preserve message order after ${t[e-1].id}`)}let i=Am(e),a=new Set;for(let t of e.edges){if(t.replyTo===void 0)continue;let e=r.get(t.replyTo),o=`edge ${t.id}.replyTo ${String(t.replyTo)}`;t.kind!==`return`||typeof t.replyTo!=`string`||!e||![`sync`,`async`].includes(e.kind)?n.push(`${o} must reference a sync or async call from a return`):(e.order>=t.order&&n.push(`${o} must precede its return`),(e.source!==t.target||e.target!==t.source)&&n.push(`${o} endpoints must be reversed`),i.get(e.id)!==i.get(t.id)&&n.push(`${o} must stay in the same operand scope`)),a.has(t.replyTo)&&n.push(`${o} has a duplicate return`),a.add(t.replyTo)}if(e.executions===void 0)return n;if(!Array.isArray(e.executions))return[...n,`executions must be an array`];let o=new Map,s=new Map,c=new Map;for(let a of e.executions){if(!a||typeof a!=`object`||Array.isArray(a)){n.push(`execution must be an object`);continue}let l=`execution ${String(a.id)}`;(typeof a.id!=`string`||!a.id.trim())&&n.push(`${l} needs a non-empty id`),o.has(a.id)&&n.push(`${l} duplicate id`),o.set(a.id,a),e.nodes.some(e=>e.id===a.participantId)||n.push(`${l} unknown participant ${String(a.participantId)}`);let u=[];for(let e of[`start`,`end`]){let i=a[e],o=r.get(i?.edgeId);if(!o||![`send`,`receive`].includes(i?.at)){n.push(`${l}.${e} invalid endpoint ${String(i?.edgeId)}`);continue}o[i.at===`send`?`source`:`target`]!==a.participantId&&n.push(`${l}.${e} endpoint ${o.id} does not belong to participant ${a.participantId}`),u.push(t?o.order*2+Number(i.at===`receive`&&o.source===o.target):Wm(o,i.at));let s=`${o.id}:${i.at}`;c.has(s)&&n.push(`${l}.${e} ambiguous endpoint ${s} with execution ${c.get(s)}`),c.set(s,a.id)}u.length===2&&(u[0]>=u[1]&&n.push(`${l} start must precede end`),i.get(a.start.edgeId)!==i.get(a.end.edgeId)&&n.push(`${l} endpoints must stay in the same operand scope`),s.set(a.id,u))}for(let e of o.values()){if(e.parentId!==void 0){let t=o.get(e.parentId);if(!t)n.push(`execution ${e.id} unknown parent ${String(e.parentId)}`);else{t.participantId!==e.participantId&&n.push(`execution ${e.id} parent ${t.id} belongs to another participant`);let r=s.get(t.id),a=s.get(e.id);r&&a&&(a[0]<r[0]||a[1]>r[1])&&n.push(`execution ${e.id} exceeds parent ${t.id}`);let o=i.get(t.start?.edgeId)??``,c=i.get(e.start?.edgeId)??``;o&&c!==o&&!c.startsWith(o+`/`)&&n.push(`execution ${e.id} is outside parent ${t.id} operand scope`)}}let t=new Set([e.id]),r=o.get(e.parentId);for(;r;){if(t.has(r.id)){n.push(`execution ${e.id} parent cycle at ${r.id}`);break}t.add(r.id),r=o.get(r.parentId)}}let l=[...o.values()],u=(e,t)=>{let n=new Set,r=o.get(t.parentId);for(;r&&!n.has(r.id);){if(r.id===e.id)return!0;n.add(r.id),r=o.get(r.parentId)}return!1};for(let e=0;e<l.length;e++)for(let t of l.slice(e+1)){let r=l[e],i=s.get(r.id),a=s.get(t.id);i&&a&&r.participantId===t.participantId&&!u(r,t)&&!u(t,r)&&i[0]<a[1]&&a[0]<i[1]&&n.push(`executions ${r.id} and ${t.id} overlap without nesting`)}return n}function Km(e){if(e.meta.diagramType!==`sequence`)return[];let t=e.executions??[],n=new Map(e.edges.map(e=>[e.id,e])),r=Am(e);return t.map(i=>{let a=0,o=t.find(e=>e.id===i.parentId),s=new Set([i.id]);for(;o&&!s.has(o.id);)s.add(o.id),a++,o=t.find(e=>e.id===o.parentId);let c=e.nodes.find(e=>e.id===i.participantId),l=Wm(n.get(i.start.edgeId),i.start.at);return{...i,depth:a,scope:r.get(i.start.edgeId)??``,x:c.position.x+c.size.width/2-8+a*8,y:l,width:16,height:Wm(n.get(i.end.edgeId),i.end.at)-l}})}function qm(e,t,n,r,i,a=``){let o=e.filter(e=>e.participantId===t);return o.find(e=>[e.start,e.end].some(e=>e.edgeId===n.id&&e.at===r))||o.filter(e=>i>=e.y&&i<=e.y+e.height&&(!e.scope||a===e.scope||a.startsWith(e.scope+`/`))).sort((e,t)=>t.depth-e.depth)[0]}var Jm=e=>({x:e.position.x+e.size.width/2,y:e.position.y+e.size.height/2}),Ym=(e,t,n)=>$(t)?.edgeLabel?.(e,n)??e.label??``;function Xm(e,t,n){let r=Math.hypot(n.x-t.x,n.y-t.y);if(!r)return{path:``};let i=(n.x-t.x)/r,a=(n.y-t.y)/r,o=(e,n=0)=>({x:t.x+i*e-a*n,y:t.y+a*e+i*n}),s=e=>[o(e,-6),o(e,6)],c=String(e).trim(),l=/[*n]/i.test(c),u=c.startsWith(`0`)||c===`*`,d=l?[[o(0,-6),o(12)],[o(0,6),o(12)],[t,o(12)]]:[s(8)];u||d.push(s(l?21:14));let f=d.map(([e,t])=>`M${e.x} ${e.y}L${t.x} ${t.y}`).join(``),p=o(23),m=u?{cx:p.x,cy:p.y,r:4}:void 0,h=d.flat();m&&h.push({x:p.x-4,y:p.y-4},{x:p.x+4,y:p.y+4});let g=Math.min(...h.map(e=>e.x)),_=Math.min(...h.map(e=>e.y)),v={x:g,y:_,width:Math.max(...h.map(e=>e.x))-g,height:Math.max(...h.map(e=>e.y))-_};return{path:f,...m?{circle:m}:{},bounds:v}}function Zm(e,t=fh(e)){let n=[...e.groups??[],...e.nodes,...Km(e).map(e=>({position:{x:e.x,y:e.y},size:{width:e.width,height:e.height}}))],r=[...t.values()].flatMap(e=>[...e.points,{x:e.labelBox.x,y:e.labelBox.y},{x:e.labelBox.x+e.labelBox.width,y:e.labelBox.y+e.labelBox.height}]);for(let e of t.values())for(let t of e.endpointLabels??[])r.push({x:t.labelBox.x,y:t.labelBox.y},{x:t.labelBox.x+t.labelBox.width,y:t.labelBox.y+t.labelBox.height});if($(e.meta?.diagramType).cardinalities)for(let n of e.edges){let e=t.get(n.id);for(let t of[Xm(n.sourceCardinality,e.points[0],e.points[1]),Xm(n.targetCardinality,e.points.at(-1),e.points.at(-2))])t.bounds&&r.push({x:t.bounds.x,y:t.bounds.y},{x:t.bounds.x+t.bounds.width,y:t.bounds.y+t.bounds.height})}let i=Math.min(...n.map(e=>e.position.x),...r.map(e=>e.x)),a=Math.min(...n.map(e=>e.position.y),...r.map(e=>e.y)),o=Math.max(...n.map(e=>e.position.x+e.size.width),...r.map(e=>e.x)),s=Math.max(...n.map(e=>e.position.y+e.size.height),...r.map(e=>e.y));return{x:i,y:a,width:o-i,height:s-a}}function Qm(e,t,n=0,r=`architecture`){let i=$(r)?.anchor;if(i)return i(e,t,n);let a=Jm(e);return t===`left`?{x:e.position.x,y:a.y+n}:t===`right`?{x:e.position.x+e.size.width,y:a.y+n}:t===`top`?{x:a.x+n,y:e.position.y}:{x:a.x+n,y:e.position.y+e.size.height}}function $m(e,t,n=If.endpoint){return t===`left`?{x:e.x-n,y:e.y}:t===`right`?{x:e.x+n,y:e.y}:t===`top`?{x:e.x,y:e.y-n}:{x:e.x,y:e.y+n}}function eh(e){let t=[];for(let n of e){let e=t.at(-1);(!e||e.x!==n.x||e.y!==n.y)&&t.push(n)}for(let e=1;e<t.length-1;){let[n,r,i]=t.slice(e-1,e+2),a=n.x===r.x&&r.x===i.x&&(r.y-n.y)*(i.y-r.y)>=0,o=n.y===r.y&&r.y===i.y&&(r.x-n.x)*(i.x-r.x)>=0;a||o?t.splice(e,1):e+=1}return t}function th(e,t){let n=e.at(-1);n.x!==t.x&&n.y!==t.y&&e.push({x:t.x,y:n.y}),e.push(t)}function nh(e){let t={length:-1,point:e[0]};for(let n=1;n<e.length;n+=1){let r=e[n-1],i=e[n],a=Math.abs(i.x-r.x)+Math.abs(i.y-r.y);a>t.length&&(t={length:a,point:{x:(r.x+i.x)/2,y:(r.y+i.y)/2}})}return t.point}function rh(e,t,n,r){let i={clearance:-1,length:-1,point:nh(e)};for(let a=1;a<e.length;a+=1){let o=e[a-1],s=e[a],c={x:(o.x+s.x)/2,y:(o.y+s.y)/2},l={x:c.x-t.width/2,y:c.y-t.height/2,...t},u=Math.min(hh(l,{...n.position,...n.size}),hh(l,{...r.position,...r.size})),d=Math.abs(s.x-o.x)+Math.abs(s.y-o.y);(u>i.clearance||u===i.clearance&&d>i.length)&&(i={clearance:u,length:d,point:c})}return i.point}function ih(e,t){let n=Jm(e),r=Jm(t),i=r.x-n.x,a=r.y-n.y;return Math.abs(a)>Math.abs(i)?{orientation:`vertical`,sourceSide:a>=0?`bottom`:`top`,targetSide:a>=0?`top`:`bottom`}:{orientation:`horizontal`,sourceSide:i>=0?`right`:`left`,targetSide:i>=0?`left`:`right`}}function ah(e,t,n,r){let{x:i,y:a}=e.position,{width:o,height:s}=e.size,c=Math.max(i-t.x,0,t.x-i-o),l=Math.max(a-t.y,0,t.y-a-s),u=c===0&&l===0?n:c>l?t.x<i?`left`:`right`:t.y<a?`top`:`bottom`,d=u===`left`||u===`right`,f=Jm(e),p=Math.max(0,(d?s:o)/2-If.endpoint),m=Math.max(-p,Math.min(p,d?t.y-f.y:t.x-f.x));return{side:u,point:Qm(e,u,[`decision`,`choice`].includes(e.kind)?0:m,r)}}function oh(e,t,n,r,i,a=If.endpoint){let o=[e,$m(e,n,a)];[`left`,`right`].includes(n)&&i.length&&o[1].y!==i[0].y&&o.push({x:o[1].x,y:i[0].y});for(let e of i)th(o,e);return th(o,$m(t,r,a)),o.push(t),eh(o)}function sh(e,t,n,r,i,a=If.endpoint,o=`architecture`){let s=Qm(e,n.sourceSide,r,o),c=Qm(t,n.targetSide,i,o),l=$m(s,n.sourceSide,a),u=$m(c,n.targetSide,a),d=r||i;if(n.orientation===`horizontal`){let e=(l.x+u.x)/2+d;return eh([s,l,{x:e,y:l.y},{x:e,y:u.y},u,c])}let f=(l.y+u.y)/2+d;return eh([s,l,{x:l.x,y:f},{x:u.x,y:f},u,c])}function ch(e,t=0,n=0){if(!e.length)return``;let r=e.map(e=>({x:e.x+t,y:e.y+n}));return r.slice(1).reduce((e,t,n)=>{let i=r[n];return i.y===t.y?`${e} H ${t.x}`:i.x===t.x?`${e} V ${t.y}`:`${e} L ${t.x} ${t.y}`},`M ${r[0].x} ${r[0].y}`)}function lh(e,t,n){if(e.sourceSide!==e.targetSide)return null;let[r,...i]=e.points.map(e=>({x:e.x+t,y:e.y+n})),a=i.at(-1),[o,s]={right:[1,0],left:[-1,0],top:[0,-1],bottom:[0,1]}[e.sourceSide]??[1,0],[c,l]=[-s,o],u=Math.max(...i.map(e=>(e.x-r.x)*o+(e.y-r.y)*s))*4/3,d=(a.x-r.x)*c+(a.y-r.y)*l,f=Math.abs(d)*.35,p=Math.sign(d);if(!(u>0)||Math.abs(d)<1)return null;let m={x:r.x+o*u-c*p*f,y:r.y+s*u-l*p*f},h={x:a.x+o*u+c*p*f,y:a.y+s*u+l*p*f};return`M ${r.x} ${r.y} C ${m.x} ${m.y} ${h.x} ${h.y} ${a.x} ${a.y}`}var uh=(e,t=0,n=0)=>e.curved&&lh(e,t,n)||ch(e.points,t,n);function dh(e,t,n,r,i){let{graph:a,executions:o,scopes:s,pairs:c}=i,l=Wm(e,`send`),u=Wm(e,`receive`),d=qm(o,t.id,e,`send`,l,s.get(e.id)),f=qm(o,n.id,e,`receive`,u,s.get(e.id)),p=t.id===n.id||Jm(t).x<=Jm(n).x,m=d?d.x+(p?d.width:0):Jm(t).x,h=f?f.x+(t.id===n.id||!p?f.width:0):Jm(n).x,g=Vm(a,e,c,s),_=Yf(g,t.id===n.id?Lf.labelWidth:Math.min(Lf.labelWidth,Math.max(1,Math.abs(h-m)-32-12))),v={width:_.width,height:_.height};if(t.id===n.id){let t=48+r*If.parallelGap,n={x:m,y:l},i={x:h,y:u},a=e.route?.via?.length?oh(n,i,`right`,`right`,e.route.via):[n,{x:m+t,y:l},{x:m+t,y:l+30},i];return{points:a,label:g,labelLines:_.lines,labelSize:v,labelPoint:e.route?.labelAt??{x:Math.max(...a.map(e=>e.x))+8+v.width/2,y:l+15},sourceSide:`right`,targetSide:`right`}}return{points:e.route?.via?.length?oh({x:m,y:l},{x:h,y:l},m<=h?`right`:`left`,m<=h?`left`:`right`,e.route.via):[{x:m,y:l},{x:h,y:l}],label:g,labelLines:_.lines,labelSize:v,labelPoint:e.route?.labelAt??{x:(m+h)/2,y:l-6-v.height/2},sourceSide:m<=h?`right`:`left`,targetSide:m<=h?`left`:`right`}}function fh(e){let t=vm(e),n=$(t).endpointStub??If.endpoint,r=new Map(e.nodes.map(e=>[e.id,e])),i=e.edges.map(e=>{let t=r.get(e.source),n=r.get(e.target);return{edge:e,source:t,target:n,self:t.id===n.id,...ih(t,n)}}),a=t===`sequence`?{graph:e,executions:Km(e),scopes:Am(e),pairs:Bm(e)}:null,o=new Map;for(let e of i.filter(e=>!$(t).sequence&&!e.self&&!e.edge.route?.via?.length))for(let[t,n,r,i]of[[`source`,e.source,e.sourceSide,e.target],[`target`,e.target,e.targetSide,e.source]]){let a=`${n.id}:${r}`,s=e.orientation===`horizontal`?Jm(i).y:Jm(i).x;o.has(a)||o.set(a,[]),o.get(a).push({id:e.edge.id,role:t,coordinate:s})}let s=new Map;for(let e of o.values())e.sort((e,t)=>e.coordinate-t.coordinate||e.id.localeCompare(t.id)||e.role.localeCompare(t.role)),e.forEach((t,n)=>s.set(`${t.id}:${t.role}`,(n-(e.length-1)/2)*If.parallelGap));let c=new Map,l=new Map;for(let e of i.filter(e=>e.self).sort((e,t)=>(e.edge.order??0)-(t.edge.order??0)||(e.edge.id<t.edge.id?-1:1))){let t=c.get(e.source.id)??0;l.set(e.edge.id,t),c.set(e.source.id,t+1)}let u=new Map;for(let r of i){let i;if($(t).sequence){let e=l.get(r.edge.id)??0;i=dh(r.edge,r.source,r.target,e,a)}else if(r.self){let a=l.get(r.edge.id),o=r.source.position.x+r.source.size.width,s=Jm(r.source).y,c=48+a*If.parallelGap,u=Ym(r.edge,t,e.meta?.locale),d=Zf(u),f=r.edge.route?.via,p=f?.length&&ah(r.source,f[0],`right`,t),m=f?.length&&ah(r.target,f.at(-1),`right`,t),h=p?p.side:`right`,g=m?m.side:`right`,_=p?p.point:Qm(r.source,`right`,-16-a*12,t),v=m?m.point:Qm(r.source,`right`,16+a*12,t);i={points:r.edge.route?.via?.length?oh(_,v,h,g,r.edge.route.via,n):[_,{x:o+c,y:_.y},{x:o+c,y:v.y},v],label:u,labelPoint:r.edge.route?.labelAt??{x:o+c+8+d.width/2,y:s},sourceSide:h,targetSide:g,curved:!!$(t).curvedSelfLoops}}else{let a=r.edge.route?.via,o=a?.length&&ah(r.source,a[0],r.sourceSide,t),c=a?.length&&ah(r.target,a.at(-1),r.targetSide,t),l=o?o.side:r.sourceSide,u=c?c.side:r.targetSide,d=a?[...a]:[];o&&[`decision`,`choice`].includes(r.source.kind)&&[`left`,`right`].includes(l)&&d.unshift({x:$m(o.point,l,n).x,y:a[0].y}),c&&[`decision`,`choice`].includes(r.target.kind)&&[`top`,`bottom`].includes(u)&&d.push({x:a.at(-1).x,y:$m(c.point,u,n).y});let f=r.edge.route?.via?.length?oh(o.point,c.point,l,u,d,n):sh(r.source,r.target,r,s.get(`${r.edge.id}:source`)??0,s.get(`${r.edge.id}:target`)??0,n,t),p=Ym(r.edge,t,e.meta?.locale);i={points:f,label:p,labelPoint:r.edge.route?.labelAt??rh(f,Zf(p),r.source,r.target),sourceSide:l,targetSide:u}}let o=i.labelSize??Zf(i.label),c=i.labelLines??Yf(i.label).lines,d=$(t).edgeLabelParts?.(r.edge);u.set(r.edge.id,{...i,endpointLabels:$(t).endpointLabels?.(r.edge,i.points)??[],labelLines:c,...d?{labelRuns:Xf(c,d)??void 0}:{},path:uh(i),labelBox:{x:i.labelPoint.x-o.width/2,y:i.labelPoint.y-o.height/2,...o}})}return u}function ph(e,t,n=0){return e.x<t.x+t.width+n&&e.x+e.width>t.x-n&&e.y<t.y+t.height+n&&e.y+e.height>t.y-n}function mh(e,t){return $(t).sequence?{...e.position,width:e.size.width,height:Math.min(e.size.height,Mp(e))}:{...e.position,...e.size}}function hh(e,t){let n=Math.max(e.x-t.x-t.width,t.x-e.x-e.width,0),r=Math.max(e.y-t.y-t.height,t.y-e.y-e.height,0);return Math.hypot(n,r)}function gh(e,t,n,r){let i=vh(t,r);if((n===`left`||n===`right`)&&(e.y<i.y||e.y>i.y+i.height)||(n===`top`||n===`bottom`)&&(e.x<i.x||e.x>i.x+i.width))return!1;let a=Jm(t),o=Qm(t,n,n===`left`||n===`right`?e.y-a.y:e.x-a.x,r);return Math.hypot(e.x-o.x,e.y-o.y)<1e-7}function _h(e,t,n){return e.y===t.y?e.y>n.y&&e.y<n.y+n.height&&Math.max(Math.min(e.x,t.x),n.x)<Math.min(Math.max(e.x,t.x),n.x+n.width):e.x===t.x&&e.x>n.x&&e.x<n.x+n.width&&Math.max(Math.min(e.y,t.y),n.y)<Math.min(Math.max(e.y,t.y),n.y+n.height)}function vh(e,t){if(t===`state`&&[`initial`,`final`].includes(e.kind)){let t=e.kind===`initial`?12:13,n=Jm(e);return{x:e.position.x+Kp(e)-t,y:n.y-t,width:t*2,height:t*2}}if(t===`usecase`&&e.kind===`actor`){let t=am(e);return{x:Jm(e).x-20,y:e.position.y+t+2,width:40,height:74}}return t===`deployment`&&e.kind===`device`?{x:e.position.x+16,y:e.position.y,width:e.size.width-32,height:e.size.height}:[`architecture`,`deployment`].includes(t)&&e.kind===`database`?{x:e.position.x+12,y:e.position.y+2,width:e.size.width-24,height:e.size.height-4}:mh(e,t)}function yh(e,t,n,r){if(r===`state`&&[`initial`,`final`].includes(n.kind)&&n.subtitle){let i=$(r).textArea(n);if(_h(e,t,{...i,x:n.position.x+i.x,y:n.position.y+i.y}))return!0}let i=vh(n,r);if(r===`sequence`||r===`usecase`&&n.kind===`actor`)return _h(e,t,i);let a=Jm(n);if(e.y===t.y){if(e.y<=i.y||e.y>=i.y+i.height)return!1;let o=e.y-a.y,s=Qm(n,`left`,o,r).x,c=Qm(n,`right`,o,r).x;return Math.max(Math.min(e.x,t.x),s)<Math.min(Math.max(e.x,t.x),c)-1e-7}if(e.x===t.x){if(e.x<=i.x||e.x>=i.x+i.width)return!1;let o=e.x-a.x,s=Qm(n,`top`,o,r).y,c=Qm(n,`bottom`,o,r).y;return Math.max(Math.min(e.y,t.y),s)<Math.min(Math.max(e.y,t.y),c)-1e-7}return!1}function bh(e){let t=e.position.x,n=t+e.size.width,r=e.position.y,i=r+e.size.height;return[[{x:t,y:r},{x:n,y:r}],[{x:n,y:r},{x:n,y:i}],[{x:t,y:i},{x:n,y:i}],[{x:t,y:r},{x:t,y:i}]]}function xh(e){let t=[`alt`,`opt`,`loop`,`par`].includes(e.kind),n=Qf(e),r=t?Fm(e):null,i=Math.min(t?Math.max(36,r.height+20):n.height,e.size.height),a=Math.min(e.size.width,(t?r.width:n.width)+32),o=[{x:e.position.x,y:e.position.y,width:a,height:i}];return[`alt`,`opt`,`loop`].includes(e.kind)&&o.push({x:e.position.x+e.size.width-52,y:e.position.y,width:52,height:i}),o}function Sh(e,t,n,r){return e.y===t.y&&n.y===r.y&&e.y===n.y?Math.max(0,Math.min(Math.max(e.x,t.x),Math.max(n.x,r.x))-Math.max(Math.min(e.x,t.x),Math.min(n.x,r.x))):e.x===t.x&&n.x===r.x&&e.x===n.x?Math.max(0,Math.min(Math.max(e.y,t.y),Math.max(n.y,r.y))-Math.max(Math.min(e.y,t.y),Math.min(n.y,r.y))):0}function Ch(e,t,n,r){let i=new Map,a=(e,t)=>[{id:e.source,point:t[0]},{id:e.target,point:t.at(-1)}],o=(e,t)=>Math.hypot(e.x-t.x,e.y-t.y)<.001;for(let s=1;s<t.length;s++)for(let c=1;c<r.length;c++){let l=t[s-1],u=t[s],d=r[c-1],f=r[c],p=u.x-l.x,m=u.y-l.y,h=f.x-d.x,g=f.y-d.y,_=p*g-m*h;if(Math.abs(_)<1e-8)continue;let v=((d.x-l.x)*g-(d.y-l.y)*h)/_,y=((d.x-l.x)*m-(d.y-l.y)*p)/_;if(v<0||v>1||y<0||y>1)continue;let b={x:+(l.x+v*p).toFixed(3),y:+(l.y+v*m).toFixed(3)};a(e,t).some(e=>a(n,r).some(t=>e.id===t.id&&o(e.point,b)&&o(t.point,b)))||i.set(`${b.x},${b.y}`,b)}return[...i.values()].sort((e,t)=>e.x-t.x||e.y-t.y)}function wh(e){let t=vm(e),n=[],r=fh(e),i=[],a=[],o=[],s=new Map([...e.nodes,...e.groups??[],...Km(e)].map(e=>[e.id,e])),c=(e,n,a)=>{i.push(a);let c=n.flatMap(e=>{let t=s.get(e);if(t)return[t.position?{...t.position,...t.size}:{x:t.x,y:t.y,width:t.width,height:t.height}];let n=r.get(e);return n?n.points.map(e=>({...e,width:0,height:0})):[]});o.push({ruleId:e,severity:`error`,diagramType:t,elementIds:n,bounds:c,measured:a,required:`clear full-size geometry`,remediation:a.includes(`;`)?a.split(`;`).slice(1).join(`;`).trim():`Adjust the identified elements while preserving the complete model.`})};if(t===`sequence`){for(let t of e.nodes)t.size.height<Mp(t)&&c(`sequence.header`,[t.id],`layout: sequence node ${t.id} is shorter than its visible header`);for(let t of e.groups??[]){let n=Rm(t,r,e.meta.locale,e.groups??[],Km(e));for(let e of n.errors)c(`sequence.fragment`,[t.id],e);a.push(...n.warnings)}let t=Km(e);for(let n of e.edges){let i=r.get(n.id);for(let e of t)Dm(i.labelBox,e,2)&&c(`sequence.label-execution`,[n.id,e.id],`layout: edge ${n.id} label overlaps execution ${e.id}`);for(let t of e.edges)Om(r.get(t.id)).some(e=>Dm(i.labelBox,e))&&c(`sequence.message-clearance`,[n.id,t.id],`layout: sequence edge ${n.id} label needs 6px clearance from message ${t.id}; shorten the label or adjust participant spacing/route hints`);i.points.some(t=>t.y>Math.min(...[n.source,n.target].map(t=>{let n=e.nodes.find(e=>e.id===t);return n.position.y+n.size.height})))&&c(`sequence.lifeline`,[n.id,n.source,n.target],`layout: sequence edge ${n.id} exceeds its participant lifeline`)}}if($(t).cardLayout)for(let t of e.nodes){if(t.size.height<100)continue;let{minHeight:e}=Jf(t);t.size.height<e&&c(`text.card-height`,[t.id],`layout: node ${t.id} text needs at least ${e}px height at 20/16px; enlarge the node and check its route clearance`)}for(let n=0;n<e.nodes.length;n+=1)for(let r=n+1;r<e.nodes.length;r+=1){let i=e.nodes[n],a=e.nodes[r];ph(mh(i,t),mh(a,t))&&c(`shape.node-overlap`,[i.id,a.id],`layout: nodes ${i.id} and ${a.id} overlap`)}let l=e.edges.filter(e=>r.get(e.id).label);for(let e=0;e<l.length;e+=1)for(let t=e+1;t<l.length;t+=1){let n=l[e],i=l[t];ph(r.get(n.id).labelBox,r.get(i.id).labelBox)&&c(`label.overlap`,[n.id,i.id],`layout: edge labels ${n.id} and ${i.id} overlap`)}for(let i=0;i<e.edges.length;i+=1)for(let a=i+1;a<e.edges.length;a+=1){let o=e.edges[i],s=e.edges[a],l=r.get(o.id).points,u=r.get(s.id).points,d=0;for(let e=1;e<l.length;e+=1)for(let t=1;t<u.length;t+=1)d=Math.max(d,Sh(l[e-1],l[e],u[t-1],u[t]));d>If.endpoint&&c(`route.shared-segment`,[o.id,s.id],`layout: edges ${o.id} and ${s.id} share a route segment longer than ${If.endpoint}px`);let f=Ch(o,l,s,u);f.length&&n.push({ruleId:`route.point-crossing`,severity:`info`,diagramType:t,elementIds:[o.id,s.id].sort(),measured:f.length,required:null,bounds:f.map(e=>({...e,width:0,height:0})),repeated:Math.max(0,f.length-1),remediation:`Keep each relation traceable; prefer fewer repeated crossings without overlapping channels.`})}for(let n of e.edges){let i=r.get(n.id),a=e.nodes.find(e=>e.id===n.source),o=e.nodes.find(e=>e.id===n.target);if(!$(t).sequence&&(!gh(i.points[0],a,i.sourceSide,t)||!gh(i.points.at(-1),o,i.targetSide,t))&&c(`route.anchor`,[n.id,n.source,n.target],`layout: edge ${n.id} exceeds an endpoint side; enlarge the node or add route hints`),$(t).cardinalities){let r=$(t).endpointStub;for(let[t,a,o,s,l,u]of[[`source`,i.points[0],i.points[1],i.sourceSide,n.sourceCardinality,n.route?.via?.[0]],[`target`,i.points.at(-1),i.points.at(-2),i.targetSide,n.targetCardinality,n.route?.via?.at(-1)]]){let i=$m(a,s,1),d=e=>(e.x-a.x)*(i.x-a.x)+(e.y-a.y)*(i.y-a.y);(d(o)<r||u&&d(u)<r)&&c(`route.er-stub`,[n.id],`layout: ER edge ${n.id} ${t} needs a ${r}px outward straight segment; move the route hint or enlarge the gap`);let f=Xm(l,a,o);for(let r of e.nodes)f.bounds&&ph(f.bounds,{...r.position,...r.size})&&c(`marker.er-node`,[n.id,r.id],`layout: ER edge ${n.id} ${t} cardinality overlaps node ${r.id}`)}i.points.slice(1,-1).some((e,t)=>{let n=i.points[t],r=i.points[t+2];return n.x===e.x&&e.x===r.x&&(e.y-n.y)*(r.y-e.y)<0||n.y===e.y&&e.y===r.y&&(e.x-n.x)*(r.x-e.x)<0})&&c(`route.er-reversal`,[n.id],`layout: ER edge ${n.id} reverses within its route; reserve ${r}px endpoint segments or move the route hints`)}if($(t).sequence&&n.source!==n.target){let e=Math.abs(Jm(a).x-Jm(o).x),t=Math.max(160,i.labelBox.width+32);e<t&&c(`sequence.participant-gap`,[n.id,n.source,n.target],`layout: sequence edge ${n.id} needs ${Math.ceil(t)}px between participants; found ${Math.round(e)}px`)}for(let r of e.nodes)for(let e=1;e<i.points.length;e+=1)if(!(r.id===n.source&&e===1||r.id===n.target&&e===i.points.length-1)&&yh(i.points[e-1],i.points[e],r,t)){let e=n.source===n.target&&r.id===n.source?`self-loop`:`edge`;c(`route.node-obstacle`,[n.id,r.id],`layout: ${e} ${n.id} crosses node ${r.id}`);break}if(i.label){for(let t of e.groups??[])xh(t).some(e=>ph(i.labelBox,e))&&c(`label.group-heading`,[n.id,t.id],`layout: edge ${n.id} label overlaps group ${t.id} heading`),bh(t).some(([e,t])=>_h(e,t,i.labelBox))&&c(`label.group-boundary`,[n.id,t.id],`layout: edge ${n.id} label overlaps group ${t.id} boundary`);for(let r of e.nodes)ph(i.labelBox,vh(r,t))&&c(`label.node`,[n.id,r.id],`layout: edge ${n.id} label overlaps node ${r.id}`)}}for(let t of e.edges){let n=r.get(t.id);for(let r of e.groups??[]){let e=bh(r);for(let i=1;i<n.points.length;i+=1){let a=n.points[i-1],o=n.points[i];xh(r).some(e=>_h(a,o,e))&&c(`route.group-heading`,[t.id,r.id],`layout: edge ${t.id} crosses group ${r.id} heading`),e.some(([e,t])=>Sh(a,o,e,t)>If.endpoint)&&c(`route.group-boundary`,[t.id,r.id],`layout: edge ${t.id} overlaps group ${r.id} boundary`)}}}return{errors:[...new Set(i)],warnings:[...new Set(a)],routes:r,crossings:n,diagnostics:o}}function Th({sequence:e=!1}){return e?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Vl,{id:`target-left`,type:`target`,position:H.Left,style:{top:Z.sequenceHeader,opacity:0}}),(0,x.jsx)(Vl,{id:`source-right`,type:`source`,position:H.Right,style:{top:Z.sequenceHeader,opacity:0}})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Vl,{id:`target-left`,type:`target`,position:H.Left}),(0,x.jsx)(Vl,{id:`source-left`,type:`source`,position:H.Left}),(0,x.jsx)(Vl,{id:`target-right`,type:`target`,position:H.Right}),(0,x.jsx)(Vl,{id:`source-right`,type:`source`,position:H.Right}),(0,x.jsx)(Vl,{id:`target-top`,type:`target`,position:H.Top}),(0,x.jsx)(Vl,{id:`source-top`,type:`source`,position:H.Top}),(0,x.jsx)(Vl,{id:`target-bottom`,type:`target`,position:H.Bottom}),(0,x.jsx)(Vl,{id:`source-bottom`,type:`source`,position:H.Bottom})]})}function Eh({data:e,selected:t}){let n=e.moduleColors?.get(e.module),r=Cm({...e,position:{x:0,y:0}},e.diagramType,0,0,e.palette,e.locale,e.moduleColors);return(0,x.jsxs)(`article`,{className:`diagram-node diagram-${e.diagramType} kind-${e.kind} ${n?`has-module`:``} ${xf(e)?`is-core`:``} ${e.dimmed?`is-dimmed`:``} ${t?`is-selected`:``}`,style:n?{"--node-module":n.accent}:void 0,title:e.label,children:[(0,x.jsx)(Th,{sequence:$(e.diagramType).sequence}),(0,x.jsx)(`svg`,{className:`node-visual`,viewBox:`0 0 ${e.size.width} ${e.size.height}`,"aria-label":e.label,dangerouslySetInnerHTML:{__html:r}}),t&&(0,x.jsx)(Em,{data:e,pulse:e.selectionPulse},e.selectionPulse)]})}function Dh({data:e}){let t=e.fragment,n=t?.heading?{left:t.heading.x-e.position.x,top:t.heading.y-e.position.y,maxWidth:t.heading.width}:void 0,r=[`alt`,`opt`,`loop`,`par`].includes(e.kind);return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`section`,{className:`boundary boundary-${e.kind}`,"aria-label":e.label,children:[(0,x.jsx)(`svg`,{className:`boundary-visual`,width:`100%`,height:`100%`,dangerouslySetInnerHTML:{__html:ep(e,e.appearance)}}),t?(0,x.jsx)(`span`,{style:n,children:t.heading?.lines?.join(`
280
+ `)??e.label}):(0,x.jsx)(`svg`,{className:`boundary-heading`,width:`100%`,height:`100%`,dangerouslySetInnerHTML:{__html:$f(e)}}),r&&!t&&(0,x.jsx)(`small`,{children:e.kind}),t&&(0,x.jsx)(`svg`,{className:`fragment-visual`,width:`100%`,height:`100%`,dangerouslySetInnerHTML:{__html:zm({...t,guards:[],bodies:[]},e,-e.position.x,-e.position.y)}})]}),t&&(0,x.jsx)(X,{children:(0,x.jsxs)(`div`,{className:`fragment-overlay`,style:{position:`absolute`,pointerEvents:`none`,width:e.size.width,height:e.size.height,transform:`translate(${e.position.x}px, ${e.position.y}px)`},children:[(0,x.jsx)(`svg`,{className:`fragment-text`,width:e.size.width,height:e.size.height,dangerouslySetInnerHTML:{__html:zm({...t,separators:[]},e,-e.position.x,-e.position.y,`currentColor`,e.appearance?.fill??`var(--canvas)`)}}),r&&(0,x.jsx)(`small`,{children:e.kind})]})})]})}function Oh({value:e,point:t,neighbor:n,color:r}){let i=Xm(e,t,n);return(0,x.jsxs)(`g`,{className:`cardinality-mark`,stroke:r,strokeWidth:`1.5`,fill:`none`,children:[(0,x.jsx)(`path`,{d:i.path}),i.circle&&(0,x.jsx)(`circle`,{...i.circle,fill:`var(--canvas)`})]})}function kh({id:e,markerEnd:t,style:n,data:r}){let{route:i}=r,a=$(r.diagramType).sequence,o=r.directed&&r.flowRunning,s=`sequence-flow-${(0,y.useId)().replaceAll(`:`,``)}`,c=i.points.map(e=>e.x),l=i.points.map(e=>e.y),u={x:Math.min(...c)-32,y:Math.min(...l)-32,width:Math.max(64,Math.max(...c)-Math.min(...c)+64),height:Math.max(64,Math.max(...l)-Math.min(...l)+64)},d=$(r.diagramType).cardinalities,f=Sm(r,r.diagramType),p=f.end===`arrow`?t:f.end?`url(#codegraph-${f.end})`:void 0,m=f.start?`url(#codegraph-${f.start})`:void 0;return(0,x.jsxs)(x.Fragment,{children:[a&&r.dashed&&o&&(0,x.jsx)(`defs`,{children:(0,x.jsx)(`mask`,{id:s,maskUnits:`userSpaceOnUse`,maskContentUnits:`userSpaceOnUse`,...u,children:(0,x.jsx)(`path`,{d:i.path,fill:`none`,stroke:`white`,strokeWidth:`3.2`,strokeDasharray:`5 5`})})}),r.selectionLinked&&(0,x.jsxs)(`g`,{className:`selection-feedback ${o?`has-flow`:``} ${r.selectionPulse>0?`is-animated`:``}`,"data-selection-pulse":r.selectionPulse,style:{stroke:r.selectionColor},children:[(0,x.jsx)(`path`,{className:`selection-edge-halo`,d:i.path}),(0,x.jsx)(`path`,{className:`selection-edge-shine`,d:i.path})]},`${r.selectionId}:${r.selectionPulse}`),(0,x.jsx)(xu,{id:e,path:i.path,markerEnd:p,markerStart:m,style:{...n,strokeOpacity:1}}),r.directed&&(!a||o)&&(0,x.jsx)(`path`,{className:`edge-flow ${a?`sequence-edge-flow`:``}`,d:i.path,mask:a&&r.dashed?`url(#${s})`:void 0,style:{stroke:n.stroke,animationPlayState:r.flowRunning?`running`:`paused`}}),d&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Oh,{value:r.sourceCardinality,point:i.points[0],neighbor:i.points[1],color:r.relationColor}),(0,x.jsx)(Oh,{value:r.targetCardinality,point:i.points.at(-1),neighbor:i.points.at(-2),color:r.relationColor})]}),(i.endpointLabels??[]).map(e=>(0,x.jsxs)(`g`,{className:`edge-multiplicity`,"data-endpoint":e.role,children:[(0,x.jsx)(`rect`,{...e.labelBox,rx:`4`,fill:`var(--canvas)`}),(0,x.jsx)(`text`,{x:e.labelPoint.x,y:e.labelBox.y+3+Z.body,fontSize:Z.body,fontWeight:`500`,textAnchor:`middle`,fill:r.labelColor,children:e.label})]},e.role)),i.label&&(0,x.jsx)(X,{children:(0,x.jsx)(`button`,{type:`button`,className:`edge-label nodrag nopan`,"data-edge-id":e,onClick:e=>{e.stopPropagation(),r.onSelect()},onKeyDown:e=>{[`Enter`,` `].includes(e.key)&&(e.stopPropagation(),e.repeat&&e.preventDefault())},style:{width:i.labelBox.width,height:i.labelBox.height,color:r.labelColor,background:r.labelSurface,fontWeight:r.selectionLinked?650:500,transform:`translate(-50%, -50%) translate(${i.labelPoint.x}px, ${i.labelPoint.y}px)`},children:i.labelLines.map((e,t)=>(0,x.jsx)(`span`,{children:i.labelRuns?i.labelRuns[t].map((e,t)=>(0,x.jsx)(`span`,{style:{color:r.roleColors?.[e.role]},children:e.text},t)):t===0&&r.pair&&e.startsWith(r.pair.label)?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`b`,{className:`pair-label`,style:{borderColor:n.stroke},children:r.pair.label}),e.slice(r.pair.label.length)]}):e},t))})})]})}var Ah={diagram:Eh,boundary:Dh},jh={routed:kh};function Mh(e,t){return[...[...e.groups??[]].sort((t,n)=>Nm(t,e.groups??[])-Nm(n,e.groups??[])).map(t=>({id:t.id,type:`boundary`,position:t.position,data:{...t},style:{width:t.size.width,height:t.size.height,pointerEvents:`none`},selectable:!1,draggable:!1,connectable:!1,zIndex:-(e.groups?.length??0)+Nm(t,e.groups??[])})),...e.nodes.map(n=>({id:n.id,type:`diagram`,className:t===`sequence`?`sequence-column`:void 0,position:n.position,data:{...n,diagramType:t,locale:e.meta.locale},style:{width:n.size.width,height:n.size.height,...t===`sequence`?{pointerEvents:`none`}:{}},zIndex:2}))]}function Nh(e,t){return e.edges.map(e=>({id:e.id,source:e.source,target:e.target,type:`routed`,zIndex:t===`sequence`?3:0,markerEnd:ym(e,t)?{type:Da.ArrowClosed}:void 0,data:{...e,diagramType:t}}))}var Ph=e=>`linear-gradient(90deg, ${e.map((t,n)=>`${t} ${n/e.length*100}% ${(n+1)/e.length*100}%`).join(`, `)})`;function Fh(e,t,n){let r=$(e.meta.diagramType),i=new Map,a=new Map;for(let o of e.nodes){let e=Af(o,t,n),s=e.role===`flight`?`ramp`:o.kind===`actor`?`actor`:[`initial`,`final`].includes(o.kind)?o.kind:r.compartments?`compartment`:`box`,c=`${e.role}-${s}`;s===`ramp`&&a.set(e.toneIndex,e.stroke),i.set(c,{id:c,...e,label:r.legend?.[e.role]??e.label,shape:s})}a.size&&(i.get(`flight-ramp`).ramp=[...new Set([...a].sort(([e],[t])=>e-t).map(([,e])=>e))]);for(let t of[...new Set([...e.nodes.map(e=>e.module),...e.edges.map(e=>e.module)].filter(Boolean))].sort()){let e=n?.get(t);e&&i.set(`module-${t}`,{id:`module-${t}`,role:`module`,label:t,shape:`module`,fill:e.chip,stroke:e.accent})}if(e.edges.some(t=>!bm(t,e.meta.diagramType))&&i.set(`solid`,{id:`solid`,label:r.legend?.solid??`Solid relation`,shape:`solid`,stroke:t.edge}),e.edges.some(t=>bm(t,e.meta.diagramType))&&i.set(`dashed`,{id:`dashed`,label:`Dashed: notation / convention / inference`,shape:`dashed`,stroke:t.edge}),r.curvedSelfLoops&&e.edges.some(e=>e.source===e.target)&&i.set(`self`,{id:`self`,label:`Self-transition: handled without leaving the state`,shape:`self`,stroke:t.edge}),r.sequence)for(let[n,r]of[[`sync`,`Synchronous message`],[`async`,`Asynchronous message`],[`return`,`Return message`]])e.edges.some(e=>e.kind===n)&&i.set(n,{id:n,label:r,shape:n,stroke:t.edge});return r.sequence&&e.executions?.length&&i.set(`execution`,{id:`execution`,label:`Activation: execution interval; offset means nesting`,shape:`execution`,fill:t.accentSoft,stroke:t.accent}),r.sequence&&e.edges.some(e=>e.replyTo)&&i.set(`pair`,{id:`pair`,label:`C ID: paired call and return share a color`,shape:`solid`,stroke:t.accent}),r.sequence&&e.groups?.some(e=>e.kind===`par`)&&i.set(`parallel`,{id:`parallel`,label:`par: concurrent branches; vertical position is not order`,shape:`dashed`,stroke:t.edge}),[...i.values()].map(t=>({...t,label:df(e.meta.locale,t.label)}))}var Ih=(e,t)=>Math.ceil(qf(String(e??``).replace(/\r?\n/g,` `),1/0,t).width*1.15),Lh=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Math.ceil(t)]));function Rh(e,t,n=`en`){let r=$(t),i=Ih(e.label,Z.title),a=Ih(e.subtitle,Z.body);if(t===`state`&&[`initial`,`final`].includes(e.kind)){if(!e.subtitle)return{width:28,height:28};let t=Math.max(i,a);return Lh({width:t+50,height:Math.max(80,qf(e.label,t,Z.title,29).height+5+qf(e.subtitle,t,Z.body,23.2).height+16)})}if(t===`state`&&qp.some(t=>e.kind===`state`&&typeof e[t]==`string`&&e[t].trim())){let t=Math.max(240,Math.min(480,Math.max(Math.max(i,a)+60,...qp.filter(t=>e[t]).map(t=>Ih(e[t],Z.small)+Xp)))),n=qf(e.label,t-24,Z.title,29),r=qf(e.subtitle,t-24,Z.body,23.2);return Lh({width:t,height:Math.max(72,n.height+(r.height?5+r.height:0)+16)+Yp({...e,size:{width:t,height:0}}).height})}if(r.sequence||e.kind===`actor`)return{width:Math.max(160,i+28,a+28),height:r.sequence?Mp(e)+48:104+(e.subtitle?24:0)};if(r.cardinalities){let t=e.fields.map(e=>{let t=Ih(e.name,Z.body),n=Ih(e.type,Z.body);return Math.max(t+n+74,n/.55)});return Lh({width:Math.max(240,i+26,a+60,...t),height:Math.max(Z.erHeader/.4,Z.erHeader+e.fields.length*Z.erRow)})}if(r.compartments){let t=e.attributes??[],n=e.methods??[];return Lh({width:Math.max(240,i+26,a+26,...[...t,...n].map(e=>Ih(e,Z.body)+26)),height:Z.classHeader+(e.subtitle?24:0)+(t.length?t.length*Z.classRow+13:30)+(n.length?n.length*Z.classRow+13:30)})}let o={width:Math.max(240,Math.min(480,Math.max(i,a)+60)),height:100};if(r.cardLayout){let t=r.contentInset?.({...e,size:o})??0;return o.width=Math.max(o.width,Ih(df(n,Pf[e.kind]??e.kind),Z.small)+70+2*t),o.height=Math.max(100,Jf({...e,size:{...o,width:o.width-2*(r.contentInset?.({...e,size:o})??0)}}).minHeight),Lh(o)}let s=r.textArea??(e=>({width:e.size.width-36,height:e.size.height-20}));for(let t=0;t<16;t++){let t=s({...e,size:o}),n=qf(e.label,t.width,Z.title,29),r=qf(e.subtitle,t.width,Z.body,23.2),i=n.height+(r.height?5+r.height:0);if(t.height>=i)return Lh(o);o.height+=Math.ceil((i-t.height)*2+2)}throw Error(`Cannot measure full text for ${t} node ${e.id}`)}var zh=new Set([`source`,`code`,`config`,`schema`,`test`,`document`,`framework`,`inference`]),Bh=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function Vh(e,t,n){(typeof e!=`string`||e.trim()===``)&&n.push(`${t} must be a non-empty string`)}function Hh(e,t,n){e!==void 0&&typeof e!=`string`&&n.push(`${t} must be a string`)}function Uh(e,t,n,r=!1){for(let[i,a]of[[`position`,[`x`,`y`]],[`size`,[`width`,`height`]]])if(!(r&&e[i]===void 0)){if(!Bh(e[i])){n.push(`${t}.${i} is required`);continue}for(let r of a){let a=e[i][r];(!Number.isFinite(a)||a<0)&&n.push(`${t}.${i}.${r} must be a non-negative finite number`)}}}function Wh(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e)){n.push(`${t} must be an object`);return}for(let r of[`x`,`y`])(!Number.isFinite(e[r])||e[r]<0)&&n.push(`${t}.${r} must be a non-negative finite number`)}function Gh(e,t,n){e!==void 0&&(!Array.isArray(e)||e.some(e=>typeof e!=`string`||e.trim()===``))&&n.push(`${t} must be an array of non-empty strings`)}function Kh(e,{inputOnly:t=!1,audit:n=!0}={}){let r=[];if(!Bh(e))return[`graph must be an object`];Bh(e.meta)||r.push(`meta must be an object`),Vh(e.meta?.title,`meta.title`,r),Vh(e.meta?.sourceRef,`meta.sourceRef`,r);for(let t of[`subtitle`,`scope`])Hh(e.meta?.[t],`meta.${t}`,r);e.meta?.locale!==void 0&&!uf.includes(e.meta.locale)&&r.push(`meta.locale is unsupported`);let i=vm(e);hm.includes(i)||r.push(`meta.diagramType is unsupported`);let a=$(i)??$(`architecture`);if((!Array.isArray(e.nodes)||e.nodes.length===0)&&r.push(`nodes must be a non-empty array`),Array.isArray(e.edges)||r.push(`edges must be an array`),e.groups!==void 0&&!Array.isArray(e.groups)&&r.push(`groups must be an array when provided`),r.length)return r;let o=new Set,s=new Set;for(let[n,c]of(e.nodes??[]).entries()){let e=`nodes[${n}]`;if(!Bh(c)){r.push(`${e} must be an object`);continue}Vh(c?.id,`${e}.id`,r),Vh(c?.label,`${e}.label`,r),Hh(c.subtitle,`${e}.subtitle`,r),c.module!==void 0&&Vh(c.module,`${e}.module`,r),a.nodeKinds.includes(c?.kind)||r.push(`${e}.kind is unsupported for ${i}`),Uh(c??{},e,r,t),typeof c.id==`string`&&o.has(c.id)&&r.push(`${e}.id duplicates ${c.id}`),o.add(c?.id),s.add(c?.id),c.source!==void 0&&!Bh(c.source)?r.push(`${e}.source must be an object`):c.source&&(Vh(c.source.file,`${e}.source.file`,r),Hh(c.source.symbol,`${e}.source.symbol`,r),c.source.kind!==void 0&&!zh.has(c.source.kind)&&r.push(`${e}.source.kind is unsupported`),(!Number.isInteger(c.source.lineStart)||c.source.lineStart<1)&&r.push(`${e}.source.lineStart must be a positive integer`),c.source.lineEnd!==void 0&&(!Number.isInteger(c.source.lineEnd)||Number.isInteger(c.source.lineStart)&&c.source.lineEnd<c.source.lineStart)&&r.push(`${e}.source.lineEnd must be an integer at or after lineStart`));for(let t of[`facts`,`tags`,`attributes`,`methods`])Gh(c[t],`${e}.${t}`,r);if(c.fields!==void 0){if(!Array.isArray(c.fields))r.push(`${e}.fields must be an array`);else for(let[t,n]of c.fields.entries()){let i=`${e}.fields[${t}]`;if(!Bh(n)){r.push(`${i} must be an object`);continue}Vh(n.name,`${i}.name`,r),Vh(n.type,`${i}.type`,r),n.key!==void 0&&![`PK`,`FK`,`UK`].includes(n.key)&&r.push(`${i}.key is unsupported`),n.nullable!==void 0&&typeof n.nullable!=`boolean`&&r.push(`${i}.nullable must be boolean`)}}a.validateNode?.(c,e,r,{requireString:Vh,validateStringArray:Gh})}for(let[n,s]of(e.groups??[]).entries()){let e=`groups[${n}]`;if(!Bh(s)){r.push(`${e} must be an object`);continue}Vh(s?.id,`${e}.id`,r),Vh(s?.label,`${e}.label`,r),a.groupKinds.includes(s?.kind)||r.push(`${e}.kind is unsupported for ${i}`),Uh(s??{},e,r,t),typeof s.id==`string`&&o.has(s.id)&&r.push(`${e}.id duplicates ${s.id}`),o.add(s?.id)}let c=new Set,l=new Set;for(let[n,o]of(e.edges??[]).entries()){let e=`edges[${n}]`;if(!Bh(o)){r.push(`${e} must be an object`);continue}Vh(o?.id,`${e}.id`,r),Hh(o.label,`${e}.label`,r),o.module!==void 0&&Vh(o.module,`${e}.module`,r),Vh(o?.source,`${e}.source`,r),Vh(o?.target,`${e}.target`,r),a.edgeKinds.includes(o?.kind)||r.push(`${e}.kind is unsupported for ${i}`),zh.has(o?.evidence)||r.push(`${e}.evidence is unsupported`),typeof o.id==`string`&&c.has(o.id)&&r.push(`${e}.id duplicates ${o.id}`),c.add(o?.id),typeof o.source==`string`&&!s.has(o.source)&&r.push(`${e}.source does not name a node: ${o.source}`),typeof o.target==`string`&&!s.has(o.target)&&r.push(`${e}.target does not name a node: ${o.target}`),o?.route!==void 0&&(!o.route||typeof o.route!=`object`||Array.isArray(o.route)?r.push(`${e}.route must be an object`):(o.route.via!==void 0&&(Array.isArray(o.route.via)?o.route.via.forEach((t,n)=>Wh(t,`${e}.route.via[${n}]`,r)):r.push(`${e}.route.via must be an array`)),o.route.labelAt!==void 0&&Wh(o.route.labelAt,`${e}.route.labelAt`,r),o.route.messageY!==void 0&&(i!==`sequence`||!Number.isFinite(o.route.messageY)||o.route.messageY<0)&&r.push(`${e}.route.messageY must be a non-negative finite number for sequence`))),i===`sequence`&&!t&&o.route?.messageY===void 0&&r.push(`${e}.route.messageY is required for a positioned sequence message; regenerate with --layout auto`),a.validateEdge?.(o,e,r,{requireString:Vh,sequenceOrders:l})}return r.length===0&&r.push(...qh(e)),r.length===0&&r.push(...Mm(e)),r.length===0&&r.push(...Gm(e,{inputOnly:t})),r.length===0&&!t&&n&&r.push(...wh(e).errors),r}function qh(e){let t=[],n=vm(e),r=n===`sequence`,i=new Map(e.nodes.map(e=>[e.id,e])),a=new Map((e.groups??[]).map(e=>[e.id,e]));for(let i of e.nodes)if(i.groupId!==void 0&&(r?t.push(`node ${i.id}.groupId is not supported for sequence participants`):typeof i.groupId!=`string`||!a.has(i.groupId)?t.push(`node ${i.id}.groupId does not name a group: ${String(i.groupId)}`):n===`usecase`&&i.kind===`actor`&&t.push(`node ${i.id}.groupId places an actor inside a system boundary`)),i.layout!==void 0){if(!Bh(i.layout))t.push(`node ${i.id}.layout must be an object`);else for(let e of[`rank`,`order`])i.layout[e]!==void 0&&(!Number.isInteger(i.layout[e])||i.layout[e]<0)&&t.push(`node ${i.id}.layout.${e} must be a non-negative integer`)}if(!r)for(let e of a.values()){if(e.parentId===void 0)continue;(typeof e.parentId!=`string`||!a.has(e.parentId))&&t.push(`group ${e.id}.parentId does not name a group: ${String(e.parentId)}`);let n=new Set([e.id]),r=a.get(e.parentId);for(;r;){if(n.has(r.id)){t.push(`group ${e.id}.parentId contains a cycle at ${r.id}`);break}n.add(r.id),r=a.get(r.parentId)}}if(e.layout!==void 0&&!Bh(e.layout))t.push(`layout must be an object`);else for(let n of[`primaryPath`,`participantOrder`]){let a=e.layout?.[n];if(a!==void 0){if(!Array.isArray(a)||!a.length||a.some(e=>typeof e!=`string`||!i.has(e))||new Set(a).size!==a.length){t.push(`layout.${n} must be a non-empty list of distinct node IDs`);continue}if(n===`participantOrder`){(!r||a.length!==i.size)&&t.push(`layout.participantOrder must be a complete permutation of sequence participants`);let e=a.map(e=>i.get(e).layout?.order).filter(e=>e!==void 0);e.some((t,n)=>n&&t<=e[n-1])&&t.push(`layout.participantOrder conflicts with node.layout.order`)}else{r&&t.push(`layout.primaryPath is not supported for sequence; use participantOrder`);for(let n=1;n<a.length;n++){e.edges.some(e=>e.source===a[n-1]&&e.target===a[n])||t.push(`layout.primaryPath has no directed edge from ${a[n-1]} to ${a[n]}`);let r=i.get(a[n-1]).layout?.rank,o=i.get(a[n]).layout?.rank;r!==void 0&&o!==void 0&&r>=o&&t.push(`layout.primaryPath conflicts with node.layout.rank at ${a[n]}`)}}}}r&&new Set(e.nodes.map(e=>e.layout?.rank).filter(e=>e!==void 0)).size>1&&t.push(`sequence participants must share one layout.rank`);for(let r of e.edges){let e=i.get(r.source),a=i.get(r.target);n===`class`&&[`inheritance`,`implementation`].includes(r.kind)&&(r.kind===`implementation`&&a.kind!==`interface`&&t.push(`edge ${r.id} implementation target must be an interface`),e.layout?.rank!==void 0&&a.layout?.rank!==void 0&&a.layout.rank>=e.layout.rank&&t.push(`edge ${r.id} layout.rank must place parent/interface ${a.id} above ${e.id}`)),n===`usecase`&&[`include`,`extend`].includes(r.kind)&&(e.kind!==`usecase`||a.kind!==`usecase`)&&t.push(`edge ${r.id} ${r.kind} endpoints must both be use cases`)}return t}var Jh=e=>({...e.position,...e.size}),Yh=(e,t)=>t.x>=e.x&&t.y>=e.y&&t.x+t.width<=e.x+e.width&&t.y+t.height<=e.y+e.height,Xh=(e,t)=>e.x<t.x+t.width&&t.x<e.x+e.width&&e.y<t.y+t.height&&t.y<e.y+e.height,Zh=e=>e.points.slice(1).map((t,n)=>[e.points[n],t]);function Qh(e,t,n,r=[]){return r.length||(r=(String(n).includes(`
281
+ - `)?String(n).split(`
282
+ - `).slice(1):[String(n)]).map(n=>{let r=[`nodes`,`edges`,`groups`].flatMap(t=>(Array.isArray(e?.[t])?e[t]:[]).filter((e,r)=>e&&typeof e==`object`&&(n.includes(`${t}[${r}]`)||RegExp(`(^|[^\\w.-])${String(e.id).replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}($|[^\\w.-])`).test(n))));return{ruleId:`${t}.invalid`,severity:`error`,diagramType:vm(e),elementIds:r.map(e=>e.id),measured:n,required:`Valid ${t} content and complete notation`,bounds:r.filter(e=>e.position&&e.size).map(e=>({...e.position,...e.size})),remediation:t===`semantic`?`Correct the reported input field or reference before layout.`:`Correct the identified content or geometry and retry without removing semantic facts.`}})),Object.assign(Error(String(n)),{diagnostics:r,phases:{semantic:{status:t===`semantic`?`failed`:`passed`},geometry:{status:t===`semantic`?`not-checked`:t===`geometry`?`failed`:`passed`},rendering:{status:t===`rendering`?`failed`:`not-checked`}}})}function $h(e){let t=Kh(e,{inputOnly:!0}),n=t.length?[]:Kh(e,{audit:!1}),r=t.length||n.length?null:eg(e),i=[...t,...n,...r?.errors??[]],a={semantic:{status:t.length?`failed`:`passed`},geometry:{status:t.length?`not-checked`:i.length?`failed`:`passed`},rendering:{status:`not-checked`}};if(i.length)throw Qh(e,t.length?`semantic`:`geometry`,`Diagram quality failed:\n- ${i.join(`
283
+ - `)}`,r?.diagnostics??[]);return{...a,diagnostics:r.diagnostics}}function eg(e){let t=wh(e),n=vm(e),r=$(n),i=If,a=[...t.diagnostics,...t.crossings],o=(e,t,r,i,o,s)=>a.push({ruleId:e,severity:`error`,diagramType:n,elementIds:t,measured:r,required:i,bounds:o,remediation:s}),s=new Map(e.nodes.map(e=>[e.id,mh(e,n)])),c=new Map(e.nodes.map(e=>[e.id,e]));if(!r.sequence){let r=e.nodes.flatMap(t=>e.nodes.filter(e=>t.layout?.rank!==void 0&&e.layout?.rank!==void 0&&t.layout.rank<e.layout.rank).map(e=>[t,e])),a=e.layout?.primaryPath??[];if(n===`flowchart`&&!a.length&&e.edges.length===e.nodes.length-1){let t=new Map(e.nodes.map(t=>[t.id,e.edges.filter(e=>e.source===t.id)])),n=e.nodes.filter(t=>!e.edges.some(e=>e.target===t.id));if(n.length===1&&[...t.values()].every(e=>e.length<=1)){let r=[],i=new Set;for(let e=n[0].id;e&&!i.has(e);e=t.get(e)[0]?.target)r.push(e),i.add(e);r.length===e.nodes.length&&(a=r)}}let l=[`flowchart`,`state`].includes(n)?a.slice(1).map((e,t)=>[c.get(a[t]),c.get(e)]):[],u=[`flowchart`,`state`].includes(n)?e.nodes.filter(e=>[`decision`,`choice`].includes(e.kind)).map(n=>{let r=e.edges.filter(e=>e.source===n.id&&e.target!==n.id);return{node:n,branches:r,sides:new Set(r.map(e=>t.routes.get(e.id).sourceSide))}}).filter(e=>e.branches.length>=2):[],d=![`er`,`deployment`,`dataflow`,`usecase`].includes(n),f=d?`y`:`x`,p=d?`height`:`width`,m=(e,t,n)=>t.position.x-e.position.x-e.size.width+.001>=i.nodeGap&&(!n||t.position.y<e.position.y);for(let[e,t]of r){let n=t.position[f]-e.position[f]-e.size[p];n+.001<i.nodeGap&&o(`semantic.rank`,[e.id,t.id],n,i.nodeGap,[s.get(e.id),s.get(t.id)],`Keep declared ranks in separate layers along the reading direction.`)}if(d&&e.nodes.length>5&&Math.max(...e.nodes.map(e=>e.position.y))<Math.min(...e.nodes.map(e=>e.position.y+e.size.height))&&o(`semantic.single-row`,e.nodes.map(e=>e.id),1,`multiple rows`,[...s.values()],`Arrange responsibility layers or wrap peer nodes; tiny y offsets do not create another row.`),n===`class`)for(let t of e.edges.filter(e=>[`inheritance`,`implementation`].includes(e.kind))){let e=c.get(t.source),n=c.get(t.target),r=e.position.y-n.position.y-n.size.height;r+.001<i.nodeGap&&!m(n,e,!0)&&o(`semantic.class-hierarchy`,[t.id,n.id,e.id],r,i.nodeGap,[s.get(n.id),s.get(e.id)],`Place the parent class or interface above its child or implementation, or continue the hierarchy at the top of the next column.`)}if(n===`state`)for(let t of e.nodes.filter(e=>[`initial`,`final`].includes(e.kind)))for(let n of e.nodes.filter(e=>![`initial`,`final`].includes(e.kind))){let e=t.kind===`initial`?n.position.y-t.position.y-t.size.height:t.position.y-n.position.y-n.size.height,r=t.kind===`initial`?m(t,n,!1):m(n,t,!1);e+.001<i.nodeGap&&!r&&o(`semantic.state-endpoint`,[t.id,n.id],e,i.nodeGap,[s.get(t.id),s.get(n.id)],`Keep initial symbols above the lifecycle and final symbols below it; a column fold continues the lifecycle at the top of the next column.`)}for(let[e,t]of l){let n=t.position[f]-e.position[f]-e.size[p];n+.001<i.nodeGap&&!m(e,t,!0)&&o(`semantic.primary-path`,[e.id,t.id],n,i.nodeGap,[s.get(e.id),s.get(t.id)],`Keep the declared or unambiguous main path directed downwards; a column fold continues it at the top of the next column.`)}for(let{node:e,branches:t,sides:n}of u)[`left`,`right`].every(e=>n.has(e))||o(`semantic.branch-sides`,[e.id,...t.map(e=>e.id)],[...n],[`left`,`right`],[s.get(e.id)],`Give alternatives separate left and right corridors while retaining their real targets and merges.`)}for(let t=0;t<e.nodes.length;t++){let a=e.nodes[t],c=s.get(a.id),l=Rh(a,n,e.meta.locale);if(r.cardLayout){let e=r.contentInset?.(a)??0,t=Math.max(100,Jf({...a,size:{...a.size,width:a.size.width-e*2}}).minHeight);a.size.height<t&&o(`text.node-height`,[a.id],a.size.height,t,[c],`Increase height to keep full title and subtitle at 20/16px.`)}else if(r.textArea&&a.kind!==`actor`&&![`initial`,`final`].includes(a.kind)){let e=r.textArea(a),t=qf(a.label,e.width,20,29),n=qf(a.subtitle,e.width,16,23.2),i=t.height+(n.height?n.height+5:0);(e.width<=0||e.height<i)&&o(`text.shape-safe-area`,[a.id],e,{width:1,height:i},[c],`Enlarge the shape safety region to contain all text.`)}else(a.size.width<l.width||a.size.height<l.height)&&o(`text.node-size`,[a.id],a.size,l,[c],`Increase dimensions for complete headers, members and fields.`);for(let n of e.nodes.slice(t+1)){let e=s.get(n.id),t=hh(c,e);t+.001<i.nodeGap&&o(`spacing.nodes`,[a.id,n.id],t,i.nodeGap,[c,e],`Separate the visible node outlines.`)}}let l=e.edges.flatMap(e=>{let n=t.routes.get(e.id);return[...n.label?[{id:e.id,box:n.labelBox}]:[],...(n.endpointLabels??[]).map(t=>({id:e.id,role:t.role,box:t.labelBox}))]});for(let n=0;n<l.length;n++){let r=l[n];for(let[e,t]of s){let n=hh(r.box,t);n+.001<i.labelGap&&o(`spacing.label-node`,[r.id,e],n,i.labelGap,[r.box,t],`Move the label away from the node.`)}for(let e of l.slice(n+1)){let t=hh(r.box,e.box);t+.001<i.labelGap&&o(`spacing.labels`,[r.id,e.id],t,i.labelGap,[r.box,e.box],`Separate complete label bounds.`)}let a=i.labelEdgeGap;for(let n of e.edges)if(n.id!==r.id){let e={x:r.box.x-a,y:r.box.y-a,width:r.box.width+2*a,height:r.box.height+2*a};Zh(t.routes.get(n.id)).some(([t,n])=>_h(t,n,e))&&o(`spacing.label-edge`,[r.id,n.id],`<6`,a,[r.box],`Reserve a clear label area away from other relations.`)}}for(let n=0;n<e.edges.length;n++){let a=e.edges[n],s=t.routes.get(a.id),c=Zh(s);if(!r.sequence)for(let[e,t,n]of[[s.points[0],s.points[1],a.route?.via?.[0]],[s.points.at(-1),s.points.at(-2),a.route?.via?.at(-1)]]){let s=Math.hypot(e.x-t.x,e.y-t.y),c=r.endpointStub??i.endpoint,l=n&&s?Math.min(s,((n.x-e.x)*(t.x-e.x)+(n.y-e.y)*(t.y-e.y))/s):s;l+.001<c&&o(`route.endpoint-stub`,[a.id],l,c,[{...e,width:0,height:0}],`Reserve a straight outward segment for the endpoint symbol.`)}for(let r of e.edges.slice(n+1)){let e=t.routes.get(r.id),n=[];for(let[t,o]of c)for(let[c,l]of Zh(e)){let u=t.y===o.y;if(u!==(c.y===l.y))continue;let d=u?`x`:`y`,f=u?`y`:`x`,p=Math.min(Math.max(t[d],o[d]),Math.max(c[d],l[d]))-Math.max(Math.min(t[d],o[d]),Math.min(c[d],l[d])),m=Math.abs(t[f]-c[f]);if(p<=.001||m+.001>=i.parallelGap)continue;let h=(e,t)=>[{id:e.source,point:t.points[0]},{id:e.target,point:t.points.at(-1)}];m<.001&&p<=i.endpoint&&h(a,s).some(n=>h(r,e).some(e=>n.id===e.id&&n.point.x===e.point.x&&n.point.y===e.point.y&&(n.point===t||n.point===o)&&(e.point===c||e.point===l)))||n.push({x:Math.min(t.x,o.x,c.x,l.x),y:Math.min(t.y,o.y,c.y,l.y),width:Math.max(t.x,o.x,c.x,l.x)-Math.min(t.x,o.x,c.x,l.x),height:Math.max(t.y,o.y,c.y,l.y)-Math.min(t.y,o.y,c.y,l.y),separation:m,shared:p})}n.length&&o(`route.parallel-channels`,[a.id,r.id],Math.min(...n.map(e=>e.separation)),i.parallelGap,n,`Separate parallel channels; only the initial ${i.endpoint}px at one common port may overlap.`)}}if(!r.sequence){let t=e.groups??[],n=new Map(t.map(e=>[e.id,e])),r=(e,t)=>{let r=e.groupId,i=new Set;for(;r&&!i.has(r);){if(r===t.id)return!0;i.add(r),r=n.get(r)?.parentId}return!1};for(let n=0;n<t.length;n++){let a=t[n],c=Jh(a),l=i.groupInset,u=Qf(a).height+i.groupHeadingGap,d={x:c.x+l,y:c.y+u,width:c.width-2*l,height:c.height-u-l},f=[...e.nodes.filter(e=>e.groupId===a.id),...t.filter(e=>e.parentId===a.id)];for(let e of f)Yh(d,Jh(e))||o(`group.member-inset`,[a.id,e.id],Jh(e),d,[c,Jh(e)],`Expand the owning boundary to preserve heading and side clearance.`);for(let t of e.nodes)!r(t,a)&&Xh(c,s.get(t.id))&&o(`group.unowned-node`,[a.id,t.id],t.groupId??null,`outside`,[c,s.get(t.id)],`Keep nodes outside boundaries they do not belong to.`);for(let e of t.slice(n+1))a.parentId===e.parentId&&hh(c,Jh(e))+.001<i.groupGap&&o(`group.sibling-gap`,[a.id,e.id],hh(c,Jh(e)),i.groupGap,[c,Jh(e)],`Separate sibling boundaries.`)}}let u=[...a.filter(e=>e.severity===`error`).map(e=>`${e.ruleId}: ${e.elementIds.join(`, `)} (${JSON.stringify(e.measured)}; required ${JSON.stringify(e.required)})`)];return{...t,errors:u,diagnostics:a,bounds:Zm(e,t.routes)}}function tg(e){return function(){return e}}var ng=1664525,rg=1013904223,ig=4294967296;function ag(){let e=1;return()=>(e=(ng*e+rg)%ig)/ig}var og=10,sg=Math.PI*(3-Math.sqrt(5));function cg(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,s=new Map,c=Pr(d),l=w(`tick`,`end`),u=ag();e??=[];function d(){f(),l.call(`tick`,t),n<r&&(c.stop(),l.call(`end`,t))}function f(r){var c,l=e.length,u;r===void 0&&(r=1);for(var d=0;d<r;++d)for(n+=(a-n)*i,s.forEach(function(e){e(n)}),c=0;c<l;++c)u=e[c],u.fx==null?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),u.fy==null?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return t}function p(){for(var t=0,n=e.length,r;t<n;++t){if(r=e[t],r.index=t,r.fx!=null&&(r.x=r.fx),r.fy!=null&&(r.y=r.fy),isNaN(r.x)||isNaN(r.y)){var i=og*Math.sqrt(.5+t),a=t*sg;r.x=i*Math.cos(a),r.y=i*Math.sin(a)}(isNaN(r.vx)||isNaN(r.vy))&&(r.vx=r.vy=0)}}function m(t){return t.initialize&&t.initialize(e,u),t}return p(),t={tick:f,restart:function(){return c.restart(d),t},stop:function(){return c.stop(),t},nodes:function(n){return arguments.length?(e=n,p(),s.forEach(m),t):e},alpha:function(e){return arguments.length?(n=+e,t):n},alphaMin:function(e){return arguments.length?(r=+e,t):r},alphaDecay:function(e){return arguments.length?(i=+e,t):+i},alphaTarget:function(e){return arguments.length?(a=+e,t):a},velocityDecay:function(e){return arguments.length?(o=1-e,t):1-o},randomSource:function(e){return arguments.length?(u=e,s.forEach(m),t):u},force:function(e,n){return arguments.length>1?(n==null?s.delete(e):s.set(e,m(n)),t):s.get(e)},find:function(t,n,r){var i=0,a=e.length,o,s,c,l,u;for(r==null?r=1/0:r*=r,i=0;i<a;++i)l=e[i],o=t-l.x,s=n-l.y,c=o*o+s*s,c<r&&(u=l,r=c);return u},on:function(e,n){return arguments.length>1?(l.on(e,n),t):l.on(e)}}}function lg(e){var t=tg(.1),n,r,i;typeof e!=`function`&&(e=tg(e==null?0:+e));function a(e){for(var t=0,a=n.length,o;t<a;++t)o=n[t],o.vx+=(i[t]-o.x)*r[t]*e}function o(){if(n){var a,o=n.length;for(r=Array(o),i=Array(o),a=0;a<o;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return a.initialize=function(e){n=e,o()},a.strength=function(e){return arguments.length?(t=typeof e==`function`?e:tg(+e),o(),a):t},a.x=function(t){return arguments.length?(e=typeof t==`function`?t:tg(+t),o(),a):e},a}function ug(e){var t=tg(.1),n,r,i;typeof e!=`function`&&(e=tg(e==null?0:+e));function a(e){for(var t=0,a=n.length,o;t<a;++t)o=n[t],o.vy+=(i[t]-o.y)*r[t]*e}function o(){if(n){var a,o=n.length;for(r=Array(o),i=Array(o),a=0;a<o;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return a.initialize=function(e){n=e,o()},a.strength=function(e){return arguments.length?(t=typeof e==`function`?e:tg(+e),o(),a):t},a.y=function(t){return arguments.length?(e=typeof t==`function`?t:tg(+t),o(),a):e},a}var dg=If.nodeGap+1,fg=156,pg=If.groupInset,mg=160,hg=(e,t,n)=>Math.max(t,Math.min(n,e));function gg(e,t){if(!t)return new Set(e.nodes.map(e=>e.id));let n=new Set([t]);for(let r of e.edges)r.source===t&&n.add(r.target),r.target===t&&n.add(r.source);return n}function _g(e,t){return e.groupId?t.find(t=>t.id===e.groupId):t.filter(t=>e.position.x>=t.position.x&&e.position.y>=t.position.y&&e.position.x+e.size.width<=t.position.x+t.size.width&&e.position.y+e.size.height<=t.position.y+t.size.height).sort((e,t)=>e.size.width*e.size.height-t.size.width*t.size.height)[0]}function vg(e,t,n){if(!t)return null;let r=e.size.width/2,i=e.size.height/2,a=e.position.x+r,o=e.position.y+i;return{minimumX:Math.max(t.position.x+pg+r,a-fg),maximumX:Math.min(t.position.x+t.size.width-pg-r,a+fg),minimumY:Math.max(t.position.y+Qf(t).height+If.groupHeadingGap+i,o-(n?0:fg)),maximumY:Math.min(t.position.y+t.size.height-pg-i,o+(n?0:fg))}}function yg(e){let t=[],n=()=>{for(let n=0;n<t.length;n+=1)for(let r=n+1;r<t.length;r+=1){let i=t[n],a=t[r];if(!i.movable&&!a.movable)continue;let o=i.x+i.vx-a.x-a.vx,s=i.y+i.vy-a.y-a.vy,c=(i.width+a.width)/2+dg-Math.abs(o),l=(i.height+a.height)/2+dg-Math.abs(s);if(c<=0||l<=0)continue;let u=e||c<=l?`x`:`y`,d=(u===`x`?c:l)*.9,f=u===`x`?o:s,p=f===0?i.id<a.id?-1:1:Math.sign(f),m=i.movable?a.movable?.5:1:0,h=a.movable?i.movable?.5:1:0;u===`x`?(i.vx+=p*d*m,a.vx-=p*d*h):(i.vy+=p*d*m,a.vy-=p*d*h)}};return n.initialize=e=>{t=e},n}function bg(e,t=null){let n=$(e.meta.diagramType).sequence,r=gg(e,t),i=e.nodes.map(t=>{let i=t.position.x+t.size.width/2,a=t.position.y+t.size.height/2,o=vg(t,_g(t,e.groups??[]),n),s=r.has(t.id)&&(!o||o.minimumX<=o.maximumX&&o.minimumY<=o.maximumY);return{id:t.id,width:t.size.width,height:t.size.height,anchorX:i,anchorY:a,x:i,y:a,vx:0,vy:0,movable:s,bounds:o,fx:s?void 0:i,fy:s?void 0:a}}),a=cg(i).velocityDecay(.42).force(`anchor-x`,lg(e=>e.anchorX).strength(.16)).force(`anchor-y`,ug(e=>e.anchorY).strength(n?1:.16)).force(`rectangles`,yg(n)).stop();for(let e=0;e<mg;e+=1){a.tick();for(let e of i)e.movable&&(e.x=hg(e.x,e.anchorX-fg,e.anchorX+fg),e.y=n?e.anchorY:hg(e.y,e.anchorY-fg,e.anchorY+fg),e.x=Math.max(e.width/2,e.x),e.y=Math.max(e.height/2,e.y),e.bounds&&(e.x=hg(e.x,e.bounds.minimumX,e.bounds.maximumX),e.y=hg(e.y,e.bounds.minimumY,e.bounds.maximumY)))}a.stop();let o=new Map(i.map(e=>[e.id,e])),s=[],c=e.nodes.map(e=>{let t=o.get(e.id);if(!t.movable)return e;let r={x:hg(Math.round(t.x-e.size.width/2),Math.max(0,e.position.x-fg),e.position.x+fg),y:n?e.position.y:hg(Math.round(t.y-e.size.height/2),Math.max(0,e.position.y-fg),e.position.y+fg)};return t.bounds&&(r.x=hg(r.x,t.bounds.minimumX-e.size.width/2,t.bounds.maximumX-e.size.width/2),n||(r.y=hg(r.y,t.bounds.minimumY-e.size.height/2,t.bounds.maximumY-e.size.height/2))),(r.x!==e.position.x||r.y!==e.position.y)&&s.push(e.id),{...e,position:r}}),l={...e,nodes:c};try{$h(l)}catch(t){return{graph:e,movedNodeIds:[],rejected:{message:t.message,diagnostics:t.diagnostics??[]}}}return{graph:l,movedNodeIds:s}}var xg=(e,t,n)=>3*t*e*(1-e)**2+3*n*e*e*(1-e)+e**3;function Sg(e){let t=0,n=1;for(let r=0;r<20;r++){let r=(t+n)/2;xg(r,.32,0)<e?t=r:n=r}return xg((t+n)/2,.72,1)}function Cg(e,t,n){let r=e?.clientWidth??0,i=e?.clientHeight??0,a=!!globalThis.document?.fullscreenElement?.contains(e),o=r>700&&!a,s=(o&&t?316:12)+12,c=r-((o&&n?316:12)+12),l=e?.getBoundingClientRect().top??0,u=[...e?.querySelectorAll(`.react-flow__controls,.react-flow__minimap`)??[]].map(e=>e.getBoundingClientRect()).filter(e=>e.width>0&&e.height>0),d=Math.min(i-12-12,...u.map(e=>e.top-l-12));return{left:s,right:c,top:76,bottom:d,width:Math.max(0,c-s),height:Math.max(0,d-76)}}function wg(e,t,n){let r=Cg(e,t,n),i=e=>`${e}px`;return{top:i(r.top),right:i(e.clientWidth-r.right),bottom:i(e.clientHeight-r.bottom),left:i(r.left)}}function Tg(e,t,n){let r={left:e.x*n.zoom+n.x,right:(e.x+e.width)*n.zoom+n.x,top:e.y*n.zoom+n.y,bottom:(e.y+e.height)*n.zoom+n.y};if(r.left>=t.left&&r.right<=t.right&&r.top>=t.top&&r.bottom<=t.bottom)return n;let i=e.width*n.zoom>t.width?t.left+t.width/2-(r.left+r.right)/2:r.left<t.left?t.left-r.left:r.right>t.right?t.right-r.right:0,a=r.top<t.top||e.height*n.zoom>t.height?t.top-r.top:r.bottom>t.bottom?t.bottom-r.bottom:0;return{...n,x:n.x+i,y:n.y+a}}function Eg(e,t,n){let r=Math.min(2,Math.max(.75,n.zoom));return{zoom:r,x:t.left+t.width/2-(e.x+e.width/2)*r,y:t.top-e.y*r}}var Dg=/(<script\b[^>]*\bid="graph-data"[^>]*>)([\s\S]*?)(<\/script>)/,Og=e=>JSON.stringify(e).replaceAll(`&`,`\\u0026`).replaceAll(`<`,`\\u003c`).replaceAll(`>`,`\\u003e`).replaceAll(`\u2028`,`\\u2028`).replaceAll(`\u2029`,`\\u2029`);function kg(e,t){if(!Dg.test(e))throw Error(`page has no graph-data element`);return e.replace(Dg,(e,n,r,i)=>`${n}${Og(t)}${i}`)}function Ag(e,t,n){let r=e=>vm(e)===vm(n)?n:t.get(vm(e))??e;return Array.isArray(e.diagrams)?{...e,diagrams:e.diagrams.map(r)}:n}function jg(e,t,n){let r=new Map(t.filter(e=>e.type===`diagram`).map(e=>[e.id,e])),i=new Map(n.map(e=>[e.id,e]));return{...e,nodes:e.nodes.map(e=>{let t=r.get(e.id);if(!t)return e;let n={label:t.data.label};return Object.hasOwn(t.data,`subtitle`)&&(n.subtitle=t.data.subtitle),{...e,...n,position:t.position}}),edges:e.edges.map(e=>{let t=i.get(e.id);return t&&Object.hasOwn(t.data,`label`)?{...e,label:t.data.label}:e})}}function Mg(e,t,n){if(n!==`sequence`)return e;let r=new Map(t.map(e=>[e.id,e.position]));return e.map(e=>e.type===`position`&&e.position&&r.has(e.id)?{...e,position:{...e.position,y:r.get(e.id).y}}:e)}function Ng(e,t,n,r=e){let i=(t,n)=>df(e.meta.locale,t,n),a=vm(e),[o,s,c]=wd(Mh(e,a)),[l,u]=Td(Nh(e,a)),[d,f]=(0,y.useState)(!0),p=(0,y.useRef)(null),{getViewport:m,setCenter:h,setViewport:g}=_l();(0,y.useEffect)(()=>{if(new URLSearchParams(window.location.search).has(`automation`))return window.__qgraphflowAutomation={getViewport:m,setViewport:g,setCenter:h,ease:Sg},()=>{delete window.__qgraphflowAutomation}},[m,g,h]);let _=(0,y.useMemo)(()=>jg(r,o,l),[r,o,l]),[v,b]=(0,y.useState)(null),x=(0,y.useCallback)(e=>c(Mg(e,o,a)),[c,a,o]),S=(0,y.useMemo)(()=>{try{return $h(_),v?.graph===_?v:null}catch(e){return{message:e.message,diagnostics:e.diagnostics??[]}}},[_,v]),C=(e,t,n)=>{s(r=>r.map(r=>r.id===e?{...r,data:{...r.data,label:t,...Object.hasOwn(r.data,`subtitle`)||n!==``?{subtitle:n}:{}}}:r))},w=(e,t)=>{u(n=>n.map(n=>n.id===e?{...n,data:{...n.data,label:t}}:n))},T=(e,n=t?0:320,r=!1)=>{let i=p.current;if(!i)return;if(a===`sequence`&&i.clientWidth<=700&&!r){let t=e.nodes.find(xf)??e.nodes[0];return g(Eg(mh(t,a),Cg(i,!1,!1),{zoom:.75}),{duration:n,ease:Sg})}let o=lo(Zm(e),i.clientWidth,i.clientHeight,.08,2,wg(i,i.dataset.navOpen===`true`,i.dataset.drawerOpen===`true`));return g(o,{duration:n,ease:Sg})};return{nodes:o,edges:l,onNodesChange:x,setRenderProblem:b,updateNodeText:C,updateEdgeText:w,locked:d,setLocked:f,canvasRef:p,currentGraph:_,layoutProblem:S,focusProblem:e=>{let n=e.bounds?.[0];n&&h(n.x+n.width/2,n.y+n.height/2,{zoom:1,duration:t?0:320})},readGraph:T,focusNode:(0,y.useCallback)((e,n={})=>{let r=_.nodes.find(t=>t.id===e);if(!r)return;if(a!==`sequence`){h(r.position.x+r.size.width/2,r.position.y+r.size.height/2,{zoom:1.1,duration:t?0:420,ease:Sg});return}let i=p.current;if(!i)return;let o=Cg(i,n.navOpen??i.dataset.navOpen===`true`,n.drawerOpen??i.dataset.drawerOpen===`true`),s=Eg(mh(r,a),o,m());g(s,{duration:t?0:420,ease:Sg})},[_,a,m,t,h,g]),resetLayout:()=>{s(Mh(r,a)),u(Nh(r,a)),requestAnimationFrame(()=>T(r))},nudgeLayout:e=>{if(d){n(`Unlock the layout before arranging nodes`);return}let t=bg(_,e);if(t.rejected){n(`Cannot arrange further within the current constraints`);return}let r=new Map(t.graph.nodes.map(e=>[e.id,e.position]));s(e=>e.map(e=>e.type===`diagram`?{...e,position:r.get(e.id)}:e));let a=t.movedNodeIds.length,o=i(e?`Local`:`Full diagram`);n(a?i(`{scope} arranged: {count} nodes moved`,{scope:o,count:a}):i(`No spacing changes needed`))},focusDiagram:()=>T(_,t?0:320,!0)}}function Pg(e,t){let n=t.trim().toLowerCase();if(!n)return 0;let r=e.label.trim().toLowerCase();if(r===n)return 5;if(r.startsWith(n))return 4;if(r.includes(n))return 3;let i=e=>e.some(e=>String(e??``).toLowerCase().includes(n));return i([e.subtitle,...e.tags??[]])?2:+!!i([...e.facts??[],...e.attributes??[],...e.methods??[],...(e.fields??[]).flatMap(e=>[e.key,e.name,e.type])])}function Fg(e,t){return e.map(e=>({node:e,rank:Pg(e,t)})).filter(e=>e.rank>0).sort((e,t)=>t.rank-e.rank).slice(0,8).map(e=>e.node)}function Ig(e,{focusNode:t,panels:n,isFullscreen:r=!1,toggleFullscreen:i}){let[a,o]=(0,y.useState)(()=>e.nodes.find(xf)?.id??null),[s,c]=(0,y.useState)(null),[l,u]=(0,y.useState)(0),[d,f]=(0,y.useState)(``),p=d.trim().toLowerCase(),m=(0,y.useMemo)(()=>p?Fg(e.nodes,p):e.nodes,[e,p]),h=e.nodes.find(e=>e.id===a),g=e.edges.find(e=>e.id===s),{toolbarOpen:_,drawerOpen:v,openDetails:b,closeDetails:x,closeMobile:S,closeNav:C}=n,w=(0,y.useCallback)((e,n=!0)=>{o(e.id),c(null),u(e=>e+1),f(``),n&&(!r&&!v&&b(),t(e.id,{navOpen:_,drawerOpen:!r||v}))},[v,b,t,r,_]),T=(0,y.useCallback)((e,t=!1)=>{o(null),c(e.id),u(e=>e+1),f(``),t&&!r&&!v&&b()},[v,r,b]),E=(0,y.useCallback)((e=!1)=>{o(null),c(null),x(e)},[x]);return(0,y.useEffect)(()=>{let e=e=>{if(e.key!==`Escape`)return;if(r){e.preventDefault(),document.fullscreenElement&&i();return}let t=document.activeElement;if(t?.closest(`.nav`)){C(!0);return}if(t?.closest(`.inspector`)){x(!0);return}E(!1),S()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[E,x,S,C,r,i]),{selectedId:a,selectedEdgeId:s,selectionPulse:l,selected:h,selectedEdge:g,query:d,setQuery:f,normalizedQuery:p,results:m,selectNode:w,selectEdge:T,clearSelectedNode:E,handleCanvasKeyDown:t=>{if(![`Enter`,` `].includes(t.key))return;let n=t.target.closest(`.react-flow__edge`);if(n){if(t.preventDefault(),t.stopPropagation(),t.repeat)return;let r=e.edges.find(e=>e.id===n.dataset.id);r&&T(r);return}let r=t.target.closest(`.react-flow__node-diagram`);if(!r||(t.preventDefault(),t.stopPropagation(),t.repeat))return;let i=e.nodes.find(e=>e.id===r.dataset.id);i&&w(i)},resetSelection:()=>{o(null),c(null),u(0),f(``)}}}function Lg(e,t,n,r,i,a){let o=vm(e),{nodes:s,edges:c,locked:l,currentGraph:u}=t,{selectedId:d,selectedEdgeId:f,selectEdge:p,selectionPulse:m,normalizedQuery:h}=n,g=(0,y.useMemo)(()=>fh(u),[u]),_=(0,y.useMemo)(()=>Bm(u),[u]),v=(0,y.useMemo)(()=>Km(u),[u]),b=(0,y.useMemo)(()=>Of(u.groups??[],i),[u,i]);return{visibleNodes:(0,y.useMemo)(()=>s.map(t=>t.type===`boundary`?{...t,data:{...t.data,appearance:b.get(t.id),fragment:o===`sequence`?Rm(t.data,g,e.meta.locale,u.groups??[],v):null}}:{...t,selected:t.id===d,draggable:!l,data:{...t.data,executionRects:v.filter(e=>e.participantId===t.id).map(e=>({...e,x:e.x-t.position.x,y:e.y-t.position.y,color:jf(_.get(e.start.edgeId),i)??i.edge})),selectionPulse:m,palette:i,moduleColors:a,dimmed:!!h&&Pg(t.data,h)===0}}),[l,s,h,d,m,i,a,g,o,e.meta.locale,u,v,_,b]),visibleEdges:(0,y.useMemo)(()=>{let e=$(o).sequence;return c.map(t=>{let n=g.get(t.id),s=t.data.kind===`failure`,c=t.id===f||t.source===d||t.target===d,l=_.get(t.id),h=bm(t.data,o),v=u.nodes.find(e=>e.id===t.target),y=u.nodes.find(e=>e.id===t.source),x=Mf(t.data,v,i,a,y,l),S=l?x:s?i.warn:i.accent;return{...t,sourceHandle:$(o).sequence?`source-right`:`source-${g.get(t.id).sourceSide}`,targetHandle:$(o).sequence?`target-left`:`target-${g.get(t.id).targetSide}`,className:[e?`flow-edge--sequence`:``,h?`flow-edge--dashed`:``].filter(Boolean).join(` `),style:{stroke:x,strokeWidth:1.6},ariaLabel:n.label||`${y.label} → ${v.label}`,markerEnd:t.markerEnd?{type:Da.ArrowClosed,color:x}:void 0,selected:t.id===f,data:{...t.data,pair:l,selectionLinked:c,selectionId:f??d,selectionPulse:m,selectionColor:S,route:n,relationColor:i.accent,directed:!!t.markerEnd,flowRunning:r,dashed:h,labelColor:i.ink3,roleColors:xm(o,i),labelSurface:e&&n.label?Pm(n.labelBox,u.groups??[],b):void 0,onSelect:()=>p(t.data)}}})},[o,c,e,u,i,a,r,p,f,d,m,g,_,b])}}function Rg(e,t){let n=(0,y.useRef)(null),r=(0,y.useRef)(null),i=(0,y.useRef)(!1),a=(0,y.useRef)(!1),[o,s]=(0,y.useState)(!1),[c,l]=(0,y.useState)(!1),u=(0,y.useEffectEvent)(t),d=!!(document.fullscreenEnabled&&document.documentElement.requestFullscreen&&document.exitFullscreen),f=(0,y.useCallback)(async()=>{let t=n.current;if(!t||a.current)return;let r=document.fullscreenElement===t;if(!r&&!d){e(`Fullscreen is not available in this browser or page`);return}a.current=!0,l(!0),e(``);try{return r?await document.exitFullscreen():await t.requestFullscreen(),!0}catch{t.isConnected&&e(r?`Could not exit fullscreen. Press Esc to try again.`:`Could not enter fullscreen. Check browser or page permissions and try again.`)}finally{a.current=!1,t.isConnected&&l(!1)}},[d,e]);return(0,y.useEffect)(()=>{let e,t=()=>{let t=!!(n.current&&document.fullscreenElement===n.current),a=!i.current&&t,o=i.current&&!t;i.current=t,s(t),a&&(e=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>{i.current&&u()})})),o&&(cancelAnimationFrame(e),r.current?.focus({preventScroll:!0}))};return document.addEventListener(`fullscreenchange`,t),t(),()=>{document.removeEventListener(`fullscreenchange`,t),cancelAnimationFrame(e)}},[]),{boardRef:n,fullscreenButtonRef:r,isFullscreen:o,fullscreenPending:c,fullscreenSupported:d,toggleFullscreen:f}}function zg(e,t,n,r,i,a){let{end:o}=Sm(e,t);return o?o===`arrow`?` marker-end="url(#${a?`arrow-module`:e.kind===`failure`?`arrow-warn`:e.kind===`success`?`arrow-ok`:r?.has(e.module??i?.module??n?.module)?`arrow-module`:bf.has(n?.kind)?`arrow-data`:`arrow`})"`:` marker-end="url(#${o})"`:``}function Bg(e,t){let{start:n}=Sm(e,t);return n?` marker-start="url(#${n})"`:``}function Vg(e,t,n,r,i){let a=e.position.x+t,o=e.position.y+n,s=np(e.label,r?.heading?.width??e.size.width-([`alt`,`opt`,`loop`,`par`].includes(e.kind)?88:32));return`<g data-diagram-group-id="${tp(e.id)}"><title>${tp(e.label)}</title>${ep(e,i,a,o)}${r?(r.heading?.lines??[s]).map((e,n)=>Q(r.heading?r.heading.x+t:a+16,o+23+n*22,e,`group`)).join(``):$f(e,a,o)}${[`alt`,`opt`,`loop`,`par`].includes(e.kind)?Q(a+e.size.width-16,o+25,e.kind,`group-kind`,` text-anchor="end"`):``}</g>`}function Hg(e,t,n,r,i,a,o,s,c,l,u){let d=Mf(e,o,a,s,c,l),f=bm(e,n)?` stroke-dasharray="7 6"`:``,p=t.label,m=t.labelPoint.x+r,h=t.labelPoint.y+i,g=t.labelBox,_=l?`<path d="M${m-qf(t.labelLines[0],1/0).width/2} ${h-g.height/2+3+Z.body+3}h${qf(l.label,1/0).width}" stroke="${d}" stroke-width="2"/>`:``,v=p?`<rect x="${m-g.width/2}" y="${h-g.height/2}" width="${g.width}" height="${g.height}" rx="4" class="edge-bg"${u?` style="fill:${u}"`:``}/>`:``,y=$(n).cardinalities?[Xm(e.sourceCardinality,t.points[0],t.points[1]),Xm(e.targetCardinality,t.points.at(-1),t.points.at(-2))].map((e,t)=>`<g data-cardinality-endpoint="${t?`target`:`source`}" transform="translate(${r} ${i})" fill="none" stroke="${a.accent}" stroke-width="1.5"><path d="${e.path}"/>${e.circle?`<circle cx="${e.circle.cx}" cy="${e.circle.cy}" r="${e.circle.r}" fill="${a.surface}"/>`:``}</g>`).join(``):``,b=(t.endpointLabels??[]).map(e=>`<g class="edge-multiplicity" data-endpoint="${e.role}"><rect x="${e.labelBox.x+r}" y="${e.labelBox.y+i}" width="${e.labelBox.width}" height="${e.labelBox.height}" rx="4" class="edge-bg"/>${Q(e.labelPoint.x+r,e.labelBox.y+i+3+Z.body,e.label,`edge`,` text-anchor="middle"`)}</g>`).join(``);return`<g data-diagram-edge-id="${tp(e.id)}"><path d="${uh(t,r,i)}" fill="none" stroke="${d}" stroke-width="1.5"${f}${zg(e,n,o,s,c,l)}${Bg(e,n)}/>${y}${v}${_}${p?t.labelLines.map((e,r)=>Q(m,h-g.height/2+3+Z.body+r*Z.edgeLineHeight,t.labelRuns?{runs:t.labelRuns[r],colors:xm(n,a)}:e,`edge`,` text-anchor="middle"`)).join(``):``}${b}</g>`}function Ug(e,t=`light`,n){$h(e);let r=vf[t]??vf.light;n??=Tf([e],r);let i=Of(e.groups??[],r),a=vm(e),o=fh(e),s=Bm(e),c=Km(e),l=new Map(e.nodes.map(e=>[e.id,e])),u=Zm(e,o),d=u.width+128,f=qf(e.meta.title,d-128,24),p=qf(e.meta.subtitle??``,d-128,Z.small),m=66+Math.max(0,f.lines.length-1)*f.lineHeight,h=Math.max(88,p.lines.length?m+(p.lines.length-1)*p.lineHeight+22:43+Math.max(0,f.lines.length-1)*f.lineHeight+24),g=u.height+128+h,_=64-u.x,v=64+h-u.y,y=new Map((e.groups??[]).map(t=>[t.id,a===`sequence`?Rm(t,o,e.meta.locale,e.groups??[],c):null])),b=[...e.groups??[]].sort((t,n)=>Nm(t,e.groups??[])-Nm(n,e.groups??[])).map(e=>Vg(e,_,v,y.get(e.id),i.get(e.id))+(a===`sequence`?zm({...y.get(e.id),guards:[],bodies:[]},e,_,v,r.ink3,i.get(e.id).fill):``)).join(``),x=a===`sequence`?(e.groups??[]).map(e=>zm({...y.get(e.id),separators:[]},e,_,v,r.ink3,i.get(e.id).fill)).join(``):``,S=e.edges.map(t=>Hg(t,o.get(t.id),a,_,v,r,l.get(t.target),n,l.get(t.source),s.get(t.id),a===`sequence`&&o.get(t.id).label?Pm(o.get(t.id).labelBox,e.groups??[],i):void 0)).join(``),C=e.nodes.map(t=>Cm({...t,executionRects:c.filter(e=>e.participantId===t.id).map(e=>({...e,x:e.x-t.position.x,y:e.y-t.position.y,color:jf(s.get(e.start.edgeId),r)??r.edge}))},a,_,v,r,e.meta.locale,n)).join(``),w=h,T=d-48,E=g-h-24;return`<?xml version="1.0" encoding="UTF-8"?>\n\x3C!-- Radix Colors\n${hf}-->\n<svg xmlns="http://www.w3.org/2000/svg" width="${d}" height="${g}" viewBox="0 0 ${d} ${g}" data-graph-offset-x="${_}" data-graph-offset-y="${v}" role="img" aria-labelledby="title desc"><title id="title">${tp(e.meta.title)}</title><desc id="desc">${tp(a)} diagram for ${tp(e.meta.sourceRef)}</desc><defs><filter id="node-shadow" x="-20%" y="-20%" width="140%" height="150%"><feDropShadow dx="0" dy="5" stdDeviation="7" flood-color="${r.ink}" flood-opacity=".045"/></filter><marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0 0L10 5L0 10Z" fill="${r.edge}"/></marker><marker id="arrow-module" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0 0L10 5L0 10Z" fill="context-stroke"/></marker><marker id="arrow-warn" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0 0L10 5L0 10Z" fill="${r.warn}"/></marker><marker id="arrow-ok" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0 0L10 5L0 10Z" fill="${r.accent}"/></marker><marker id="arrow-data" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0 0L10 5L0 10Z" fill="${r.data}"/></marker><marker id="arrow-open" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M1 1L9 5L1 9" fill="none" stroke="context-stroke" stroke-width="1.5"/></marker><marker id="triangle" viewBox="0 0 12 12" refX="11" refY="6" markerWidth="9" markerHeight="9" orient="auto"><path d="M1 1L11 6L1 11Z" fill="${r.surface}" stroke="context-stroke"/></marker><marker id="diamond-filled" viewBox="0 0 14 10" refX="1" refY="5" markerWidth="12" markerHeight="10" orient="auto"><path d="M1 5L7 1L13 5L7 9Z" fill="context-stroke"/></marker><marker id="diamond-open" viewBox="0 0 14 10" refX="1" refY="5" markerWidth="12" markerHeight="10" orient="auto"><path d="M1 5L7 1L13 5L7 9Z" fill="${r.surface}" stroke="context-stroke"/></marker><style>${_p(r)}</style></defs><rect width="100%" height="100%" fill="${r.paper}"/><rect x="24" y="${w}" width="${T}" height="${E}" rx="16" fill="${r.surface}" stroke="${r.rule}"/>${f.lines.map((e,t)=>Q(64,43+t*f.lineHeight,e,`heading`)).join(``)}${p.lines.map((e,t)=>Q(64,m+t*p.lineHeight,e,`meta`)).join(``)}${b}${a===`sequence`?C+S:S+C}${x}</svg>\n`}RegExp(`^diagram(-\\d+-(${hm.join(`|`)}))?\\.svg$`);function Wg(e){let t=Array.isArray(e.diagrams),n=t?e.diagrams:[e],r=Tf(n,vf.light);return n.map((e,n)=>({name:t?`diagram-${n+1}-${vm(e)}.svg`:`diagram.svg`,svg:Ug(e,`light`,r)}))}function Gg(e){return e.trim().replace(/[^\p{L}\p{N}._-]+/gu,`-`).replace(/^-+|-+$/g,``)||`diagram`}function Kg(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),setTimeout(()=>URL.revokeObjectURL(n),0)}async function qg(e,t,n,r=decodeURIComponent(window.location?.pathname?.split(`/`).pop()||`index.html`)){let i=(e,n)=>df(t,e,n),a=`${JSON.stringify(e,null,2)}\n`,o;try{if(typeof window.showDirectoryPicker==`function`){let t=await window.showDirectoryPicker({id:`qgraphflow-page`,mode:`readwrite`}),s=await t.getFileHandle(r,{create:!1}).catch(()=>null);if(!s)throw Object.assign(Error(`wrong directory`),{name:`NotFoundError`});let c=kg(await(await s.getFile()).text(),e),l;try{l=Wg(e).map(e=>[e.name,e.svg])}catch(e){if(!e.phases)throw e}for(let[e,n]of[[`graph.json`,a],[r,c],...l??[]])o=await(await t.getFileHandle(e,{create:!0})).createWritable(),await o.write(n),await o.close(),o=null;n(i(l?`Saved into this page, its sibling graph.json and SVGs`:`Saved into this page and its sibling graph.json; SVGs not updated: the layout needs adjustment`))}else typeof window.showSaveFilePicker==`function`?(o=await(await window.showSaveFilePicker({suggestedName:`graph.json`,types:[{description:`Graph JSON`,accept:{"application/json":[`.json`]}}]})).createWritable(),await o.write(a),await o.close(),o=null,n(i(`Graph JSON saved`))):(Kg(new Blob([a],{type:`application/json;charset=utf-8`}),`graph.json`),n(i(`Graph JSON downloaded; keep the file to preserve edits`)))}catch(e){o&&await o.abort().catch(()=>{}),n(i(e.name===`AbortError`?`Save cancelled; edits remain in this page`:e.name===`NotFoundError`?`Choose the folder containing this page ({page}); edits remain in this page`:`Save failed; edits remain in this page`,{page:r}))}}async function Jg(e,t){let n=[],r=[],i=document.createElement(`div`);i.style.cssText=`position:fixed;left:0;top:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none`;let a=new DOMParser().parseFromString(e,`image/svg+xml`);if(a.querySelector(`parsererror`))throw Qh(t,`rendering`,`The exported SVG could not be parsed`);let o=document.importNode(a.documentElement,!0);i.append(o),document.body.append(i);try{await document.fonts.ready;let e=o.viewBox.baseVal,i=Number(o.dataset.graphOffsetX),a=Number(o.dataset.graphOffsetY);if(!Number.isFinite(i)||!Number.isFinite(a))throw Error(`The exported SVG has no geometry offset`);let s=new Map([...o.querySelectorAll(`.node-drawing`)].map(e=>[e.dataset.diagramNodeId,e])),c=e=>String(e??``).replace(/\s+/gu,``),l=(e,t)=>e.x>=t.x-.5&&e.y>=t.y-.5&&e.x+e.width<=t.x+t.width+.5&&e.y+e.height<=t.y+t.height+.5,u=e=>{let t=e.getBBox(),n=e.getCTM(),r=[new DOMPoint(t.x,t.y),new DOMPoint(t.x+t.width,t.y),new DOMPoint(t.x,t.y+t.height),new DOMPoint(t.x+t.width,t.y+t.height)].map(e=>e.matrixTransform(n)),i=Math.min(...r.map(e=>e.x)),a=Math.min(...r.map(e=>e.y));return{x:i,y:a,width:Math.max(...r.map(e=>e.x))-i,height:Math.max(...r.map(e=>e.y))-a}};for(let t of o.querySelectorAll(`text`)){if(!t.textContent)continue;let o=u(t),s=parseFloat(getComputedStyle(t).fontSize)*Math.hypot(t.getCTM().a,t.getCTM().b),c=t.closest(`[data-diagram-node-id],[data-diagram-edge-id],[data-diagram-group-id],[data-fragment-group-id]`);n=c?[c.dataset.diagramNodeId??c.dataset.diagramEdgeId??c.dataset.diagramGroupId??c.dataset.fragmentGroupId]:[],r=[{...o,x:o.x-i,y:o.y-a}];let d=/(?:title|heading)/.test(t.getAttribute(`class`))?20:/^(body|operand-body|field-name|field-type|member|edge|cardinality)$/.test(t.getAttribute(`class`))?16:14;if(!l(o,e)||s+.01<d)throw Error(`Exported text is out of bounds or below the required size: ${t.textContent.slice(0,80)}`)}for(let e of t.nodes){n=[e.id],r=[{...e.position,...e.size}];let o=s.get(e.id),d=$(vm(t));if(!o)throw Error(`Export is missing node ${e.id}`);let f={x:e.position.x+i,y:e.position.y+a,width:e.size.width,height:d.selectionHeight?.(e)??e.size.height},p=d.textArea&&e.kind!==`actor`?d.textArea(e):null,m=p?{...p,x:f.x+(p.x??(f.width-p.width)/2),y:f.y+(p.y??(f.height-p.height)/2)}:f,h=d.activityArea?.(e),g=h&&{...h,x:f.x+h.x,y:f.y+h.y},_=[...o.querySelectorAll(`text`)].filter(e=>e.textContent).map(e=>({element:e,box:u(e)})),v=c(_.map(e=>e.element.textContent).join(``)),y=[[`initial`,`final`].includes(e.kind)&&!e.subtitle?``:e.label,e.subtitle,...(e.fields??[]).flatMap(e=>[e.name,e.type]),...e.attributes??[],...e.methods??[],...h?[`entry`,`do`,`exit`].map(t=>e[t]):[]];for(let t of y)if(t&&!v.includes(c(t)))throw Error(`Node text is not fully shown: ${e.id} / ${e.label} / ${String(t).slice(0,80)}`);for(let t of _)if(!l(t.box,m)&&!(g&&l(t.box,g)))throw Error(`Node text leaves the safe area: ${e.id} / ${e.label} / ${t.element.textContent.slice(0,80)}`);for(let t=0;t<_.length;t++)for(let n of _.slice(t+1)){let r=_[t].box,i=n.box;if(r.x<i.x+i.width-.5&&i.x<r.x+r.width-.5&&r.y<i.y+i.height-.5&&i.y<r.y+r.height-.5)throw Error(`Node text overlaps: ${e.id} / ${e.label}`)}}let d=vm(t),f=fh(t),p=new Map([...o.querySelectorAll(`[data-diagram-edge-id]`)].map(e=>[e.dataset.diagramEdgeId,e])),m=e=>({...e,x:e.x+i,y:e.y+a}),h=(e,t)=>e.x<t.x+t.width-.5&&t.x<e.x+e.width-.5&&e.y<t.y+t.height-.5&&t.y<e.y+e.height-.5,g=[...f.values()].flatMap(e=>[...e.label?[m(e.labelBox)]:[],...(e.endpointLabels??[]).map(e=>m(e.labelBox))]),_=(e,t,n,o,s=`Edges`)=>{if(r=[{...n,x:n.x-i,y:n.y-a}],c(e.map(e=>e.textContent).join(``))!==c(t))throw Error(`${s} text is not fully shown: ${o}`);if(e.some(e=>!l(u(e),n)))throw Error(`${s} text leaves the safe area: ${o}`)},v=new Map,y=new Map([...o.querySelectorAll(`[data-diagram-group-id]`)].map(e=>[e.dataset.diagramGroupId,e])),b=Km(t);for(let e of t.groups??[]){n=[e.id];let r=y.get(e.id),i=d===`sequence`?Rm(e,f,t.meta.locale,t.groups,b):null,a=i?.heading??{x:e.position.x+16,y:e.position.y+6,width:e.size.width-32,height:Qf(e).height};_([...r?.querySelectorAll(`:scope > text.group`)??[]],e.label,m(a),e.id,`group`),[`alt`,`opt`,`loop`,`par`].includes(e.kind)&&_([...r?.querySelectorAll(`:scope > text.group-kind`)??[]],e.kind,m({x:e.position.x+e.size.width-60,y:e.position.y+6,width:48,height:30}),e.id);for(let[t,n]of[[`guard`,i?.guards],[`body`,i?.bodies]])for(let r of n??[])_([...o.querySelectorAll(`.operand-${t}[data-fragment-group-id="${CSS.escape(e.id)}"][data-operand-id="${CSS.escape(r.operandId)}"] text`)],r.lines.join(``),m(r),`${e.id}/${r.operandId}/${t}`,`fragment`)}for(let r of t.edges){n=[r.id,r.source,r.target];let i=p.get(r.id),a=f.get(r.id),s=i?.querySelector(`:scope > path`);if(!s)throw Error(`Export is missing edge ${r.id}`);_([...i.querySelectorAll(`:scope > text.edge`)],a.label,m(a.labelBox),r.id);for(let e of a.endpointLabels??[])_([...[...i.querySelectorAll(`.edge-multiplicity`)].find(t=>t.dataset.endpoint===e.role)?.querySelectorAll(`text`)??[]],e.label,m(e.labelBox),`${r.id}/${e.role}`);if($(d).cardinalities)for(let[t,n,o]of[[`source`,a.points[0],a.points[1]],[`target`,a.points.at(-1),a.points.at(-2)]]){let a=Xm(r[`${t}Cardinality`],n,o),s=i.querySelector(`[data-cardinality-endpoint="${t}"]`),c=s?.querySelector(`path`),d=s?.querySelector(`circle`);if(!c||c.getAttribute(`d`)!==a.path||!!d!=!!a.circle||a.circle&&Object.entries(a.circle).some(([e,t])=>Number(d.getAttribute(e))!==t))throw Error(`Cardinality mark missing or mismatched: ${r.id}/${t}`);let f=u(s),p=m(a.bounds);if(!l(f,p)||!l(p,f)||!l(f,e))throw Error(`Cardinality mark is out of bounds: ${r.id}/${t}`)}for(let[n,i]of Object.entries(Sm(r,d))){let a=s.getAttribute(`marker-${n}`),c=/^url\(#([^)]*)\)$/.exec(a??``)?.[1];if(!i&&!a)continue;if(!i||!c||!(c===i||i===`arrow`&&/^arrow-(module|warn|ok|data)$/.test(c)))throw Error(`Edge marker mismatch: ${r.id}/${n}`);let u=o.querySelector(`marker[id="${CSS.escape(c)}"]`);if(!u)throw Error(`Edge marker missing: ${r.id}/${n}/${c}`);if(!v.has(c)){let e=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);for(let t of u.childNodes)e.append(t.cloneNode(!0));o.append(e);try{let t=e.getBBox(),n=Math.max(0,...[...e.querySelectorAll(`*`)].map(e=>getComputedStyle(e).stroke===`none`?0:parseFloat(getComputedStyle(e).strokeWidth)/2));if(!t.width||!t.height)throw Error(`Edge marker is empty: ${r.id}/${c}`);v.set(c,{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2})}finally{e.remove()}}let f=v.get(c),p=u.viewBox.baseVal,_=u.markerWidth.baseVal.value,y=u.markerHeight.baseVal.value;if(!(_>0&&y>0&&p.width>0&&p.height>0)||!l(f,p))throw Error(`Edge marker is clipped: ${r.id}/${c}`);let b=Math.min(_/p.width,y/p.height)*(u.getAttribute(`markerUnits`)===`userSpaceOnUse`?1:parseFloat(getComputedStyle(s).strokeWidth)),x=s.getTotalLength(),S=s.getPointAtLength(n===`start`?0:x),C=s.getPointAtLength(n===`start`?Math.min(1,x):Math.max(0,x-1)),w=Math.atan2(n===`start`?C.y-S.y:S.y-C.y,n===`start`?C.x-S.x:S.x-C.x)*180/Math.PI,T=s.getCTM().translate(S.x,S.y).rotate(w).scale(b).translate(-u.refX.baseVal.value,-u.refY.baseVal.value),E=[[f.x,f.y],[f.x+f.width,f.y],[f.x,f.y+f.height],[f.x+f.width,f.y+f.height]].map(([e,t])=>new DOMPoint(e,t).matrixTransform(T)),D=Math.min(...E.map(e=>e.x)),O=Math.min(...E.map(e=>e.y)),k={x:D,y:O,width:Math.max(...E.map(e=>e.x))-D,height:Math.max(...E.map(e=>e.y))-O};if(!l(k,e)||g.some(e=>h(k,e))||t.nodes.some(e=>e.id!==r.source&&e.id!==r.target&&h(k,m(mh(e,d)))))throw Error(`Edge marker out of bounds or covered: ${r.id}/${n}/${c}`)}}}catch(e){throw Qh(t,`rendering`,e.message,[{ruleId:`rendering.svg`,severity:`error`,diagramType:vm(t),elementIds:n,bounds:r,measured:e.message,required:`Complete visible text and notation within the measured safety regions and viewBox`,remediation:`Inspect the identified element and regenerate after correcting its text or geometry.`}])}finally{i.remove()}}function Yg(e,t){return new Promise((n,r)=>{let i=new Blob([e],{type:`image/svg+xml;charset=utf-8`}),a=URL.createObjectURL(i),o=new Image;o.onload=()=>{try{let e=o.naturalWidth,i=o.naturalHeight;if(!e||!i||e>32767||i>32767||e*i>64e6)throw Error(`Image exceeds the PNG export limit; export SVG instead`);let a=document.createElement(`canvas`);a.width=e,a.height=i;let s=a.getContext(`2d`);if(!s)throw Error(`The browser could not create the PNG canvas`);s.drawImage(o,0,0);let c=document.createElement(`canvas`);c.width=Math.min(128,e),c.height=Math.min(128,i);let l=c.getContext(`2d`);if(!l)throw Error(`The browser could not inspect the PNG canvas`);l.drawImage(a,0,0,c.width,c.height);let u=l.getImageData(0,0,c.width,c.height).data;if(!u.some((e,t)=>e!==u[t%4]))throw Error(`The browser produced a blank PNG canvas`);a.toBlob(e=>{if(!e||!e.size||e.type!==`image/png`)return r(Error(`The browser could not generate the PNG`));Kg(e,t),n()},`image/png`)}catch(e){r(e)}finally{URL.revokeObjectURL(a)}},o.onerror=()=>{URL.revokeObjectURL(a),r(Error(`The browser could not read the exported SVG`))},o.src=a})}async function Xg(e,t,n,r,i){e=structuredClone(e),i&&=Ef(i);let a=(t,n)=>df(e.meta.locale,t,n);try{r(a(`Generating {format}…`,{format:n.toUpperCase()}));let o=Ug(e,t,i),s=`${Gg(e.meta.title)}.${n}`;await Jg(o,e),n===`svg`?Kg(new Blob([o],{type:`image/svg+xml;charset=utf-8`}),s):await Yg(o,s),r(a(`{format} downloaded`,{format:n.toUpperCase()}))}catch(e){return r(e.message),e}}function Zg(e,t,n,r,i,a,o){let[s,c]=(0,y.useState)(()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches);(0,y.useEffect)(()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>c(e.matches);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let[l,u]=(0,y.useState)(null),d=(0,y.useCallback)(e=>u({message:e}),[]),f=vf[t],p=Ng(e,s,d,i),[m,h]=o,g=m&&!s,_=Rg(d,()=>p.readGraph(p.currentGraph,0)),v=Ig(p.currentGraph,{focusNode:p.focusNode,panels:n,isFullscreen:_.isFullscreen,toggleFullscreen:_.toggleFullscreen}),b=Lg(e,p,v,g,f,r),x=async e=>{p.setRenderProblem(null);let n=await Xg(p.currentGraph,t,e,d,r);n?.diagnostics&&p.setRenderProblem({graph:p.currentGraph,message:n.message,diagnostics:n.diagnostics})},S=()=>qg(a(p.currentGraph),e.meta.locale,d),C=()=>{p.resetLayout(),v.resetSelection(),h(!0),d(`Reset: original positions and reading view restored`)};return{...p,...v,...b,...n,..._,diagramType:vm(e),palette:f,moduleColors:r,reduceMotion:s,exportStatus:l,exportDiagram:x,saveGraph:S,reset:C,inspectedNode:v.selected,inspectedEdge:v.selectedEdge,hasFlow:e.edges.some(t=>ym(t,vm(e))),flowRunning:g,setFlowEnabled:h,nudgeLayout:()=>p.nudgeLayout(v.selectedId)}}function Qg(){let[e,t]=(0,y.useState)(null),n=(0,y.useCallback)(e=>t(t=>t===e?null:e),[]),r=(0,y.useCallback)(()=>{let n=document.querySelector(`[data-popover-root="${e}"]`);n?.contains(document.activeElement)&&n.querySelector(`[aria-haspopup]`)?.focus(),t(null)},[e]);return(0,y.useEffect)(()=>{if(!e)return;let n=n=>{n.target.closest?.(`[data-popover-root]`)?.dataset.popoverRoot!==e&&t(null)},i=t=>{if(t.key===`Escape`){t.preventDefault(),t.stopPropagation(),r();return}let n=t.target.closest?.(`[data-popover-root]`);if(n?.dataset.popoverRoot!==e)return;let i=t.target.closest(`[role="radiogroup"]`);if(![`ArrowDown`,`ArrowUp`,`Home`,`End`,...i?[`ArrowLeft`,`ArrowRight`]:[]].includes(t.key))return;let a=[...(i??n).querySelectorAll(i?`[role="radio"]`:`[role="menu"] button`)].filter(e=>!e.disabled);if(!a.length)return;t.preventDefault(),t.stopPropagation();let o=a.indexOf(document.activeElement),s=[`ArrowDown`,`ArrowRight`].includes(t.key),c=t.key===`Home`?0:t.key===`End`?a.length-1:o<0?s?0:a.length-1:(o+(s?1:-1)+a.length)%a.length;a[c].focus(),i&&a[c].click()};return window.addEventListener(`pointerdown`,n,!0),window.addEventListener(`keydown`,i,!0),()=>{window.removeEventListener(`pointerdown`,n,!0),window.removeEventListener(`keydown`,i,!0)}},[e,r]),{open:e,toggle:n,close:r}}function $g(e,t,n,r,i){let{getViewport:a,setViewport:o}=_l();return(0,y.useCallback)((s,c,l,u)=>{let d=e.current?.getBoundingClientRect();if(!d?.width||d.width<=700)return;if(r===`sequence`){let t=fh(n),d=n.nodes.find(e=>e.id===s),f=t.get(c),p=d?mh(d,r):f?.labelBox;if(!p)return;let m=Tg(p,Cg(e.current,l,u),a());(m.x!==a().x||m.y!==a().y||m.zoom!==a().zoom)&&o(m,{duration:i?0:360,ease:Sg});return}let f=t.find(e=>e.id===s&&e.type===`diagram`);if(!f)return;let p=a(),m=f.position.x*p.zoom+p.x,h=m+(f.measured?.width??f.style.width)*p.zoom,g=f.position.y*p.zoom+p.y,_=l?328:12,v=d.width-(u?328:12),y=0,b=0;h>v&&(y=v-h),m+y<_&&(y=_-m),g<64&&(b=64-g),(y||b)&&o({...p,x:p.x+y,y:p.y+b},{duration:i?0:360,ease:Sg})},[e,r,n,t,i,a,o])}var e_={"panel-left":(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,x.jsx)(`path`,{d:`M9 3v18`})]}),"panel-right":(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,x.jsx)(`path`,{d:`M15 3v18`})]}),views:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1`}),(0,x.jsx)(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`,rx:`1`}),(0,x.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}),(0,x.jsx)(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1`})]}),search:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,x.jsx)(`path`,{d:`m21 21-4.3-4.3`})]}),spacing:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`m18 8 4 4-4 4`}),(0,x.jsx)(`path`,{d:`m6 8-4 4 4 4`}),(0,x.jsx)(`path`,{d:`M2 12h20`})]}),wash:(0,x.jsx)(`path`,{d:`M12 2.5c-.6 2.6-2.2 5-4.3 6.9C5.9 11 5 13 5 15a7 7 0 0 0 14 0c0-2-.9-4-2.7-5.6C14.2 7.5 12.6 5.1 12 2.5Z`}),more:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.6`,fill:`currentColor`,stroke:`none`}),(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.6`,fill:`currentColor`,stroke:`none`}),(0,x.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.6`,fill:`currentColor`,stroke:`none`})]}),download:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,x.jsx)(`path`,{d:`m7 10 5 5 5-5`}),(0,x.jsx)(`path`,{d:`M12 15V3`})]}),lock:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`11`,width:`18`,height:`11`,rx:`2`}),(0,x.jsx)(`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`})]}),unlock:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`11`,width:`18`,height:`11`,rx:`2`}),(0,x.jsx)(`path`,{d:`M7 11V7a5 5 0 0 1 9.9-1`})]}),reset:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}),(0,x.jsx)(`path`,{d:`M3 3v5h5`})]}),moon:(0,x.jsx)(`path`,{d:`M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z`}),sun:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,x.jsx)(`path`,{d:`M12 2v2`}),(0,x.jsx)(`path`,{d:`M12 20v2`}),(0,x.jsx)(`path`,{d:`m4.93 4.93 1.41 1.41`}),(0,x.jsx)(`path`,{d:`m17.66 17.66 1.41 1.41`}),(0,x.jsx)(`path`,{d:`M2 12h2`}),(0,x.jsx)(`path`,{d:`M20 12h2`}),(0,x.jsx)(`path`,{d:`m6.34 17.66-1.41 1.41`}),(0,x.jsx)(`path`,{d:`m19.07 4.93-1.41 1.41`})]}),close:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M18 6 6 18`}),(0,x.jsx)(`path`,{d:`m6 6 12 12`})]}),check:(0,x.jsx)(`path`,{d:`M20 6 9 17l-5-5`}),chevron:(0,x.jsx)(`path`,{d:`m6 9 6 6 6-6`}),legend:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1`}),(0,x.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}),(0,x.jsx)(`path`,{d:`M14 5h7`}),(0,x.jsx)(`path`,{d:`M14 9h5`}),(0,x.jsx)(`path`,{d:`M14 16h7`}),(0,x.jsx)(`path`,{d:`M14 20h5`})]}),source:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M10 12.5 8 15l2 2.5`}),(0,x.jsx)(`path`,{d:`m14 12.5 2 2.5-2 2.5`}),(0,x.jsx)(`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`}),(0,x.jsx)(`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`})]}),arrowRight:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M5 12h14`}),(0,x.jsx)(`path`,{d:`m12 5 7 7-7 7`})]}),fit:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`}),(0,x.jsx)(`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`}),(0,x.jsx)(`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`}),(0,x.jsx)(`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`})]}),expand:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`m15 3 6 0 0 6`}),(0,x.jsx)(`path`,{d:`m9 21-6 0 0-6`}),(0,x.jsx)(`path`,{d:`M21 3 14 10`}),(0,x.jsx)(`path`,{d:`M3 21l7-7`})]}),collapse:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M10 14H4v6`}),(0,x.jsx)(`path`,{d:`M20 4h-6v6`}),(0,x.jsx)(`path`,{d:`m4 20 6-6`}),(0,x.jsx)(`path`,{d:`m20 4-6 6`})]})};function t_({name:e}){return(0,x.jsx)(`svg`,{className:`ic`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:e_[e]})}function n_(e,t,n,r,i){let a=t??e,o=a?`${t?`edge`:`node`}:${a.id}`:null,[s,c]=(0,y.useState)({editing:!1,label:``,subtitle:``,error:``}),l=(t=!1)=>c({editing:!1,label:a?.label??``,subtitle:e?.subtitle??``,error:``,returnFocus:t});(0,y.useEffect)(()=>l(),[o]);let u=e=>c(t=>({...t,...e}));return{...s,set:u,cancel:()=>l(!0),begin:()=>u({editing:!0,returnFocus:!1}),save:a=>{a.preventDefault();let o=s.label.trim();if(!o){u({error:df(i,`Name is required`)});return}t?r(t.id,o):n(e.id,o,s.subtitle.trim()),u({editing:!1,error:``})}}}function r_({editor:e,relation:t,locked:n,locale:r}){let i=e=>df(r,e),a=(0,y.useRef)(null),o=(0,y.useRef)(null);return(0,y.useEffect)(()=>{!e.editing&&e.returnFocus&&a.current?.focus(),e.error&&o.current?.focus()},[e.editing,e.error,e.returnFocus]),e.editing?(0,x.jsxs)(`form`,{className:`card-form`,onSubmit:e.save,onKeyDown:t=>{if(t.nativeEvent.isComposing||t.keyCode===229){t.key===`Enter`&&t.preventDefault();return}t.key===`Escape`&&(t.preventDefault(),t.stopPropagation(),e.cancel())},children:[(0,x.jsxs)(`label`,{children:[i(`Name`),(0,x.jsx)(`input`,{ref:o,autoFocus:!0,required:!0,value:e.label,onChange:t=>e.set({label:t.target.value,error:``}),"aria-invalid":!!e.error})]}),!t&&(0,x.jsxs)(`label`,{children:[i(`Description`),(0,x.jsx)(`textarea`,{value:e.subtitle,onChange:t=>e.set({subtitle:t.target.value,error:``})})]}),e.error&&(0,x.jsx)(`p`,{className:`card-error`,role:`alert`,children:e.error}),(0,x.jsxs)(`div`,{className:`card-actions`,children:[(0,x.jsx)(`button`,{type:`button`,onClick:e.cancel,children:i(`Cancel`)}),(0,x.jsx)(`button`,{type:`submit`,children:i(`Save`)})]})]}):(0,x.jsx)(`button`,{ref:a,disabled:n,title:n?i(`Unlock the layout first`):``,onClick:e.begin,children:i(`Edit text`)})}var i_=292,a_=232,o_=14;function s_({node:e,edge:t,source:n,target:r,others:i=[],canvasRef:a,palette:o,moduleColors:s,locale:c,locked:l,editor:u,graph:d,isFullscreen:f,onDetails:p,onClose:m}){let h=Cd(),g=(e,t)=>df(c,e,t),_=!!t,v=_?(fh(d).get(t.id)?.label??Ym(t,t.diagramType,c))||t.kind:e.label,b=(0,y.useRef)(null),S=(0,y.useRef)(!1),[C,w]=(0,y.useState)(a_),[,T]=(0,y.useState)(``),[E,D]=(0,y.useState)(!1),O=(0,y.useRef)(!1);(0,y.useEffect)(()=>{S.current=!1},[e?.id,t?.id,f]),(0,y.useEffect)(()=>{if(!E){S.current=!1;return}!O.current||b.current?.offsetHeight!==C||S.current||(S.current=!0,p())},[E,p,f,C]),(0,y.useLayoutEffect)(()=>{D(O.current);let e=b.current?.offsetHeight;e&&e!==C&&w(e)}),(0,y.useLayoutEffect)(()=>{if(!b.current)return;let e=new ResizeObserver(()=>{w(b.current?.offsetHeight??a_),T(`${a.current?.clientWidth}:${a.current?.clientHeight}`)});return e.observe(b.current),a.current&&e.observe(a.current),()=>e.disconnect()},[]);let k=a.current?.getBoundingClientRect();if(!e||!k?.width)return null;let A=t?.diagramType??e.diagramType??`architecture`,j=(e,t)=>({left:e.x*h.zoom+h.x,top:e.y*h.zoom+h.y,width:t.width*h.zoom,height:t.height*h.zoom}),M=_?e:mh(e,A),N=j({x:M.x??M.position.x,y:M.y??M.position.y},{width:M.width??M.size.width,height:M.height??M.size.height}),P=Cg(a.current,a.current.dataset.navOpen===`true`,a.current.dataset.drawerOpen===`true`),ee=[{side:`right`,x:N.left+N.width+o_,y:N.top},{side:`left`,x:N.left-o_-i_,y:N.top},{side:`below`,x:N.left,y:N.top+N.height+o_},{side:`above`,x:N.left,y:N.top-o_-C}],F=e=>e.x>=P.left&&e.x+i_<=P.right&&e.y>=P.top&&e.y+C<=P.bottom,I=i.filter(t=>t.type===`diagram`&&(!e.id||t.id!==e.id)).map(e=>{let t=mh({...e.data,position:e.position,size:{width:e.measured?.width??e.style.width,height:e.measured?.height??e.style.height}},A);return j({x:t.x,y:t.y},{width:t.width,height:t.height})});if(A===`sequence`){let e=fh(d),t=[...e.values()].flatMap(e=>[e.labelBox,...Om(e)]),n=Km(d);for(let r of d.groups??[]){let i=Rm(r,e,c,d.groups??[],n);t.push(...i.guards,...i.bodies??[],...i.heading?[i.heading]:[])}I.push(...t.map(e=>j(e,e)))}let te=e=>I.reduce((t,n)=>t+Math.max(0,Math.min(e.x+i_,n.left+n.width)-Math.max(e.x,n.left))*Math.max(0,Math.min(e.y+C,n.top+n.height)-Math.max(e.y,n.top)),0),ne=ee.filter(F),L=ne.find(e=>te(e)===0),R=A===`sequence`&&!L;O.current=R;let z=L??ne.sort((e,t)=>te(e)-te(t))[0]??ee[2],B=Math.min(Math.max(z.x,P.left),Math.max(P.left,P.right-i_)),re=Math.min(Math.max(z.y,P.top),Math.max(P.top,P.bottom-C)),ie=!_&&e.source?`${e.source.file}:${e.source.lineStart}${e.source.lineEnd?`-${e.source.lineEnd}`:``}`:null,ae=_?Mf(t,r,o,s,n,Bm(d).get(t.id)):Af(e,o,s).stroke;return(0,x.jsxs)(`aside`,{ref:b,className:`node-card ${_?`relation-card`:``} ${z.side===`left`?`is-flipped`:z.side===`below`?`is-below`:z.side===`above`?`is-above`:``}`,style:{left:B,top:re,width:i_,visibility:R?`hidden`:void 0},role:`dialog`,"aria-label":v,"data-node-id":_?void 0:e.id,"data-edge-id":_?t.id:void 0,children:[(0,x.jsx)(`button`,{className:`card-close`,onClick:m,"aria-label":g(`Close`),children:(0,x.jsx)(t_,{name:`close`})}),u.editing?(0,x.jsx)(r_,{editor:u,relation:_,locked:l,locale:c}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`p`,{className:`card-kicker`,children:[(0,x.jsx)(`span`,{className:`node-dot`,style:{backgroundColor:ae}}),_?`${g(`Edges`)} · ${t.kind}`:`${g(Pf[e.kind]??e.kind)}${e.module?` · ${e.module}`:``}`]}),(0,x.jsx)(`h4`,{children:v}),_?(0,x.jsxs)(`p`,{className:`card-subtitle`,children:[n?.label,` → `,r?.label]}):e.subtitle&&(0,x.jsx)(`p`,{className:`card-subtitle`,children:e.subtitle}),ie&&(0,x.jsxs)(`p`,{className:`card-source`,title:ie,children:[(0,x.jsx)(t_,{name:`source`}),(0,x.jsx)(`code`,{children:ie})]}),_&&t.evidence&&(0,x.jsxs)(`p`,{className:`card-source`,children:[g(`Evidence`),` · `,t.evidence]}),!_&&e.tags?.length>0&&(0,x.jsx)(`div`,{className:`card-tags`,children:e.tags.slice(0,4).map(e=>(0,x.jsx)(`span`,{children:e},e))}),(0,x.jsxs)(`div`,{className:`card-actions`,children:[(0,x.jsx)(r_,{editor:u,relation:_,locked:l,locale:c}),(0,x.jsxs)(`button`,{className:`card-action`,onClick:p,children:[g(`View details`),(0,x.jsx)(t_,{name:`arrowRight`})]})]})]})]})}var c_={source:`Source code`,code:`Code`,config:`Configuration`,schema:`Schema`,test:`Test`,document:`Document`,framework:`Framework convention`,inference:`Inference`},l_=[`system`,`light`,`dark`],u_={system:`Follow system`,light:`Light`,dark:`Dark`};function d_(e,t,n){let[r,i]=(0,y.useState)(e?`still`:``);return e&&!r?i(`in`):!e&&r&&t&&i(``),(0,y.useEffect)(()=>{if(e||!r)return;let t=!0;return Promise.allSettled((n.current?.getAnimations()??[]).map(e=>e.finished)).then(()=>{t&&i(``)}),()=>{t=!1}},[e,r,n]),[r,`${r===`still`?` is-still`:``}${e?``:` is-closing`}`]}function f_({graph:e,originalGraph:t,graphForSave:n,allDiagrams:r,moduleColors:i,wash:a,setWash:o,onDiagramChange:s,theme:c,appearance:l,setAppearance:u,panels:d,flowControl:f}){let p=K(e=>e.transform[2]),{setCenter:m}=_l(),h=(t,n)=>df(e.meta.locale,t,n),{diagramType:g,palette:_,reduceMotion:v,hasFlow:b,flowRunning:S,setFlowEnabled:C,inspectedNode:w,inspectedEdge:T,selectedId:E,selectedEdgeId:D,selectionPulse:O,query:k,setQuery:A,normalizedQuery:j,results:M,selectNode:N,selectEdge:P,clearSelectedNode:ee,handleCanvasKeyDown:F,locked:I,setLocked:te,canvasRef:ne,currentGraph:L,nodes:R,onNodesChange:z,updateNodeText:B,updateEdgeText:re,readGraph:ie,focusDiagram:ae,nudgeLayout:oe,visibleNodes:se,visibleEdges:ce,reset:le,exportDiagram:ue,saveGraph:de,exportStatus:fe,layoutProblem:pe,focusProblem:me,boardRef:he,fullscreenButtonRef:ge,isFullscreen:_e,fullscreenPending:ve,fullscreenSupported:ye,toggleFullscreen:be,toolbarOpen:xe,drawerOpen:Se,toolbarButtonRef:Ce,drawerButtonRef:we,searchInputRef:Te,inspectorRef:Ee,panelRef:De,toggleToolbar:Oe,toggleDrawer:ke,openDetails:Ae}=Zg(e,c,d,i,t,n,f),[je,Me]=d_(xe,v,De),[Ne,Pe]=d_(Se,v,Ee),Fe=(0,y.useRef)(null),Ie=n_(w,T,B,re,e.meta.locale),{open:Le,toggle:Re,close:ze}=Qg(),Be=$g(ne,R,L,g,v),[Ve,He]=(0,y.useState)(!1),[Ue,We]=(0,y.useState)(``),[Ge,Ke]=(0,y.useState)(0);(0,y.useEffect)(()=>{(Se||O===0)&&Ke(O)},[Se,O]);let qe=(0,y.useMemo)(()=>{let e=new Map(se.map(e=>[e.id,e]));return function({id:t,x:n,y:r,width:i,height:a,color:o,strokeColor:s,strokeWidth:c,className:l,selected:u,shapeRendering:d,onClick:f}){let p=e.get(t),m=`react-flow__minimap-node${l?` ${l}`:``}${u?` selected`:``}`;if(p?.type===`boundary`)return(0,x.jsx)(`g`,{className:m,"data-group-id":t,shapeRendering:d,onClick:f?e=>f(e,t):void 0,dangerouslySetInnerHTML:{__html:ep({...p.data,size:{width:i,height:a}},p.data.appearance,n,r)}});if(!p)return(0,x.jsx)(`rect`,{className:m,x:n,y:r,width:i,height:a,rx:`14`,fill:o,stroke:s,strokeWidth:c,shapeRendering:d,onClick:f?e=>f(e,t):void 0});let h=Tm(p.data,g,n,r,i,a,o,s,c);return(0,x.jsx)(`g`,{className:m,"data-node-id":t,shapeRendering:d,onClick:f?e=>f(e,t):void 0,dangerouslySetInnerHTML:{__html:h}})}},[g,se]);(0,y.useEffect)(()=>{if(!fe)return;We(h(fe.message));let e=window.setTimeout(()=>We(``),4500);return()=>window.clearTimeout(e)},[fe]);let Je=O>0&&!Se&&(g!==`sequence`||O!==Ge)&&!R.some(e=>e.dragging),Ye=Je?R.find(e=>e.id===E&&e.type===`diagram`):null,Xe=Je?ce.find(e=>e.id===D):null,Ze=Xe?L.edges.find(e=>e.id===Xe.id):null,Qe=Xe?{position:Xe.data.route.labelPoint,size:{width:0,height:0}}:null,$e=Ze?L.nodes.find(e=>e.id===Ze.source):null,et=Ze?L.nodes.find(e=>e.id===Ze.target):null,tt=T?L.nodes.find(e=>e.id===T.source):null,nt=T?L.nodes.find(e=>e.id===T.target):null,rt=(e,t)=>(0,x.jsxs)(`button`,{onClick:()=>N(e),children:[(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`i`,{children:String(t+1).padStart(2,`0`)}),e.label]}),(0,x.jsx)(`small`,{children:e.subtitle??h(Pf[e.kind]??e.kind)})]},e.id),it=(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{className:`side-head`,children:[(0,x.jsx)(`p`,{className:`panel-title`,children:h(`Details`)}),(0,x.jsx)(`button`,{className:`side-close`,onClick:()=>ee(!0),"aria-label":h(`Close details`),title:h(`Close details`),children:(0,x.jsx)(t_,{name:`close`})})]}),(0,x.jsx)(`section`,{className:`inspector-card drawer-body`,"data-node-id":w?.id,"data-edge-id":T?.id,children:w?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{className:`node-kicker`,children:[(0,x.jsx)(`span`,{className:`node-dot`,style:{backgroundColor:Af(w,_,i).stroke}}),h(Pf[w.kind]??w.kind),w.module?` · ${w.module}`:``]}),(0,x.jsx)(`h2`,{children:w.label}),(0,x.jsx)(`p`,{className:`drawer-subtitle`,children:w.subtitle}),w.fields?.length>0&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`h3`,{children:h(`Fields`)}),(0,x.jsx)(`ul`,{children:w.fields.map(e=>(0,x.jsx)(`li`,{children:(0,x.jsxs)(`code`,{children:[e.key,` `,e.name,`: `,e.type,e.nullable===!1?` · NOT NULL`:e.nullable===!0?` · NULL`:``]})},e.name))})]}),w.attributes?.length>0&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`h3`,{children:h(`Attributes`)}),(0,x.jsx)(`ul`,{children:w.attributes.map(e=>(0,x.jsx)(`li`,{children:(0,x.jsx)(`code`,{children:e})},e))})]}),w.methods?.length>0&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`h3`,{children:h(`Methods`)}),(0,x.jsx)(`ul`,{children:w.methods.map(e=>(0,x.jsx)(`li`,{children:(0,x.jsx)(`code`,{children:e})},e))})]}),w.source&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`h3`,{children:[h(`Source`),` · `,h(c_[w.source.kind??`source`]??w.source.kind)]}),(0,x.jsxs)(`code`,{className:`source-path`,children:[w.source.file,`:`,w.source.lineStart,w.source.lineEnd?`-${w.source.lineEnd}`:``]}),w.source.symbol&&(0,x.jsx)(`p`,{className:`symbol`,children:w.source.symbol})]}),w.tags?.length>0&&(0,x.jsx)(`div`,{className:`tags`,children:w.tags.map(e=>(0,x.jsx)(`span`,{children:e},e))})]}):T?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{className:`node-kicker`,children:[(0,x.jsx)(`span`,{className:`node-dot`,style:{backgroundColor:ce.find(e=>e.id===T.id)?.style.stroke??_.edge}}),h(`Edges`),` · `,T.kind]}),(0,x.jsx)(`h2`,{children:(fh(L).get(T.id)?.label??Ym(T,g,e.meta.locale))||T.kind}),(0,x.jsxs)(`p`,{className:`drawer-subtitle`,children:[tt?.label,` → `,nt?.label]}),(0,x.jsx)(`h3`,{children:h(`Evidence`)}),(0,x.jsx)(`p`,{children:T.evidence}),T.facts?.length>0&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`h3`,{children:h(`Evidence facts`)}),(0,x.jsx)(`ul`,{children:T.facts.map(e=>(0,x.jsx)(`li`,{children:e},e))})]})]}):(0,x.jsxs)(`div`,{className:`drawer-empty`,children:[(0,x.jsx)(`span`,{className:`empty-icon`,children:(0,x.jsx)(t_,{name:`fit`})}),(0,x.jsx)(`span`,{children:h(`Start with a node`)}),(0,x.jsx)(`p`,{children:h(`Select a component or a list entry to explore its role, fields, methods and source.`)})]})}),(w||T)&&(0,x.jsx)(`section`,{className:`inspector-card`,children:(0,x.jsx)(`div`,{className:Ie.editing?``:`card-actions`,children:(0,x.jsx)(r_,{editor:Ie,relation:!!T,locked:I,locale:e.meta.locale})})}),w?.facts?.length>0&&(0,x.jsxs)(`section`,{className:`inspector-card inspector-facts`,"data-node-id":w.id,children:[(0,x.jsx)(`h3`,{children:w.source?h(`Evidence facts`):h(`Node notes`)}),(0,x.jsx)(`ul`,{children:w.facts.map(e=>(0,x.jsx)(`li`,{children:e},e))})]})]});return Se&&(Fe.current=it),(0,x.jsxs)(`main`,{className:`app-shell`,children:[(0,x.jsxs)(`header`,{className:`toolbar`,children:[(0,x.jsxs)(`div`,{className:`tb-group tb-left`,children:[(0,x.jsx)(`button`,{className:`tb`,ref:Ce,onClick:()=>{Oe(),xe||Be(E,D,!0,Se)},"aria-controls":`graph-tools`,"aria-expanded":xe,"aria-pressed":xe,"aria-label":h(xe?`Hide graph navigation`:`Show graph navigation`),title:h(xe?`Hide graph navigation`:`Show graph navigation`),children:(0,x.jsx)(t_,{name:`panel-left`})}),r.length>1&&(0,x.jsxs)(`div`,{className:`menu-anchor`,"data-popover-root":`views`,children:[(0,x.jsxs)(`button`,{id:`view-menu-button`,className:`tb tb-wide`,onClick:()=>Re(`views`),"aria-haspopup":`menu`,"aria-expanded":Le===`views`,title:h(`Diagram types`),children:[(0,x.jsx)(t_,{name:`views`}),(0,x.jsx)(`span`,{children:h(gm[g])}),(0,x.jsx)(t_,{name:`chevron`})]}),Le===`views`&&(0,x.jsx)(`div`,{className:`popover menu`,role:`menu`,"aria-labelledby":`view-menu-button`,children:r.map(e=>{let t=vm(e);return(0,x.jsxs)(`button`,{role:`menuitemradio`,"aria-checked":t===g,className:t===g?`is-current`:``,onClick:()=>{s(t,L),ze(),d.closeMobile()},children:[(0,x.jsx)(`span`,{className:`menu-mark`,children:t===g?(0,x.jsx)(t_,{name:`check`}):null}),h(gm[t]),(0,x.jsx)(`small`,{children:h(`{count} relations`,{count:e.edges.length})})]},t)})})]}),(0,x.jsxs)(`div`,{className:`tb-title`,children:[(0,x.jsx)(`b`,{children:e.meta.title}),(0,x.jsxs)(`span`,{children:[h(gm[g]),` · `,e.meta.sourceRef]})]})]}),(0,x.jsx)(`div`,{className:`tb-group tb-center`,children:(0,x.jsxs)(`div`,{className:`tb-search`,"data-popover-root":`search`,onFocus:()=>He(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||He(!1)},onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),e.currentTarget.contains(document.activeElement)&&document.activeElement.blur())},children:[(0,x.jsx)(t_,{name:`search`}),(0,x.jsx)(`input`,{ref:Te,id:`search`,value:k,onChange:e=>A(e.target.value),placeholder:h(`Search nodes`),"aria-label":h(`Search nodes`),autoComplete:`off`}),Ve&&j&&(0,x.jsxs)(`div`,{className:`popover results`,role:`listbox`,"aria-label":h(`Matches · {count}`,{count:M.length}),onMouseDown:e=>e.preventDefault(),children:[(0,x.jsx)(`p`,{className:`pop-title`,children:h(`Matches · {count}`,{count:M.length})}),M.length>0?M.map((e,t)=>(0,x.jsxs)(`button`,{role:`option`,"aria-selected":`false`,onClick:()=>N(e),children:[(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`i`,{children:String(t+1).padStart(2,`0`)}),e.label]}),(0,x.jsx)(`small`,{children:e.subtitle??h(Pf[e.kind]??e.kind)})]},e.id)):(0,x.jsx)(`p`,{className:`pop-empty`,children:h(`No matches. Try a name or responsibility.`)})]})]})}),(0,x.jsxs)(`div`,{className:`tb-group tb-right`,children:[(0,x.jsx)(`button`,{className:`tb tb-wash`,role:`switch`,"aria-checked":a,onClick:()=>o(e=>!e),title:h(`Card wash`),"aria-label":h(`Card wash`),children:(0,x.jsx)(t_,{name:`wash`})}),(0,x.jsxs)(`div`,{className:`menu-anchor`,"data-popover-root":`more`,children:[(0,x.jsx)(`button`,{id:`more-menu-button`,className:`tb`,onClick:()=>Re(`more`),"aria-haspopup":`menu`,"aria-expanded":Le===`more`,title:h(`More`),"aria-label":h(`More`),children:(0,x.jsx)(t_,{name:`more`})}),Le===`more`&&(0,x.jsxs)(`div`,{className:`popover menu is-right`,role:`menu`,"aria-labelledby":`more-menu-button`,children:[(0,x.jsxs)(`button`,{role:`menuitem`,onClick:()=>{ue(`svg`),ze()},children:[(0,x.jsx)(`span`,{className:`menu-mark`,children:(0,x.jsx)(t_,{name:`download`})}),h(`Export SVG`)]}),(0,x.jsxs)(`button`,{role:`menuitem`,onClick:()=>{ue(`png`),ze()},children:[(0,x.jsx)(`span`,{className:`menu-mark`,children:(0,x.jsx)(t_,{name:`download`})}),h(`Export PNG`)]}),(0,x.jsxs)(`button`,{role:`menuitem`,onClick:()=>{de(),ze()},children:[(0,x.jsx)(`span`,{className:`menu-mark`,children:(0,x.jsx)(t_,{name:`download`})}),h(`Save changes`)]}),(0,x.jsx)(`div`,{className:`menu-sep`}),(0,x.jsxs)(`button`,{role:`menuitem`,onClick:()=>{le(),ze()},title:h(`Restore the original layout and view, and clear search and selection.`),children:[(0,x.jsx)(`span`,{className:`menu-mark`,children:(0,x.jsx)(t_,{name:`reset`})}),h(`Reset`)]}),(0,x.jsxs)(`div`,{className:`menu-row`,children:[(0,x.jsxs)(`span`,{className:`menu-lead`,children:[(0,x.jsx)(`span`,{className:`menu-mark`,children:(0,x.jsx)(t_,{name:I?`lock`:`unlock`})}),h(`Locked`)]}),(0,x.jsx)(`button`,{className:`switch`,role:`switch`,"aria-checked":I,"aria-label":h(I?`Locked`:`Draggable`),onClick:()=>te(e=>!e),children:(0,x.jsx)(`i`,{})})]}),(0,x.jsxs)(`button`,{role:`menuitem`,"aria-disabled":I,title:h(I?`Unlock the layout first`:E?`Space the selected node and its direct neighbors`:`Space all nodes`),onClick:()=>{oe(),ze()},children:[(0,x.jsx)(`span`,{className:`menu-mark`,children:(0,x.jsx)(t_,{name:`spacing`})}),h(`Arrange`)]}),(0,x.jsx)(`div`,{className:`menu-sep`}),(0,x.jsxs)(`div`,{className:`menu-row menu-row-stack`,children:[(0,x.jsxs)(`span`,{className:`menu-lead`,children:[(0,x.jsx)(`span`,{className:`menu-mark`,children:(0,x.jsx)(t_,{name:c===`light`?`sun`:`moon`})}),h(`Appearance`)]}),(0,x.jsxs)(`div`,{className:`seg`,role:`radiogroup`,"aria-label":h(`Appearance`),style:{"--seg-n":l_.length},children:[(0,x.jsx)(`span`,{className:`seg-knob`,"aria-hidden":`true`,style:{transform:`translateX(${l_.indexOf(l)*100}%)`}}),l_.map(e=>(0,x.jsx)(`button`,{role:`radio`,"aria-checked":l===e,onClick:()=>u(e),children:h(u_[e])},e))]})]})]})]}),(0,x.jsx)(`button`,{className:`tb`,ref:we,onClick:()=>{ke(),Se||Be(E,D,xe,!0)},"aria-controls":`node-inspector`,"aria-expanded":Se,"aria-pressed":Se,title:h(Se?`Hide details`:`Show details`),"aria-label":h(Se?`Hide details`:`Show details`),children:(0,x.jsx)(t_,{name:`panel-right`})})]})]}),(0,x.jsxs)(`section`,{className:`workspace ${xe?`nav-open`:``} ${Se?`drawer-open`:``}`,children:[je&&(0,x.jsxs)(`aside`,{id:`graph-tools`,ref:De,tabIndex:-1,className:`sidebar nav${Me}`,"aria-label":h(`Graph navigation`),children:[(0,x.jsxs)(`div`,{className:`side-head`,children:[(0,x.jsx)(`p`,{className:`panel-title`,children:h(`Graph navigation`)}),(0,x.jsx)(`button`,{className:`side-close`,onClick:Oe,"aria-label":h(`Close`),title:h(`Close`),children:(0,x.jsx)(t_,{name:`close`})})]}),(0,x.jsxs)(`div`,{className:`project-summary`,children:[(0,x.jsx)(`p`,{className:`panel-title`,children:h(`Overview`)}),e.meta.scope&&(0,x.jsx)(`p`,{children:e.meta.scope}),(0,x.jsxs)(`div`,{className:`stat-grid`,children:[(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`strong`,{children:e.nodes.length}),h(`Nodes`)]}),(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`strong`,{children:e.edges.length}),h(`Edges`)]}),(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`strong`,{children:e.groups?.length??0}),h(`Groups`)]})]})]}),(0,x.jsx)(`p`,{className:`result-heading`,children:h(`Nodes · {count}`,{count:e.nodes.length})}),(0,x.jsx)(`div`,{className:`search-results`,children:L.nodes.map(rt)})]}),(0,x.jsxs)(`figure`,{ref:he,className:`board diagram-board`,children:[(0,x.jsxs)(`svg`,{className:`relation-defs`,width:`0`,height:`0`,"aria-hidden":`true`,children:[(0,x.jsx)(`style`,{children:_p(_,`:is(.node-visual,.fragment-visual,.fragment-text) `)}),(0,x.jsxs)(`defs`,{children:[(0,x.jsx)(`filter`,{id:`node-shadow`,x:`-20%`,y:`-20%`,width:`140%`,height:`150%`,children:(0,x.jsx)(`feDropShadow`,{dx:`0`,dy:`5`,stdDeviation:`7`,floodColor:_.ink,floodOpacity:`.045`})}),(0,x.jsx)(`marker`,{id:`codegraph-arrow-open`,viewBox:`0 0 10 10`,refX:`9`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M1 1L9 5L1 9`,fill:`none`,stroke:`context-stroke`,strokeWidth:`1.5`})}),(0,x.jsx)(`marker`,{id:`codegraph-triangle`,viewBox:`0 0 12 12`,refX:`11`,refY:`6`,markerWidth:`9`,markerHeight:`9`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M1 1L11 6L1 11Z`,fill:`var(--canvas)`,stroke:`context-stroke`})}),(0,x.jsx)(`marker`,{id:`codegraph-diamond-filled`,viewBox:`0 0 14 10`,refX:`1`,refY:`5`,markerWidth:`12`,markerHeight:`10`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M1 5L7 1L13 5L7 9Z`,fill:`context-stroke`})}),(0,x.jsx)(`marker`,{id:`codegraph-diamond-open`,viewBox:`0 0 14 10`,refX:`1`,refY:`5`,markerWidth:`12`,markerHeight:`10`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M1 5L7 1L13 5L7 9Z`,fill:`var(--canvas)`,stroke:`context-stroke`})})]})]}),(0,x.jsxs)(`div`,{ref:ne,className:`canvas`,style:{"--sequence-flow-unit":`${Math.max(1,.6/p)}px`},"data-nav-open":xe,"data-drawer-open":Se,onKeyDownCapture:F,"aria-label":h(`Interactive {type}`,{type:h(gm[g])}),children:[(0,x.jsxs)(bd,{nodes:se,edges:ce,nodeTypes:Ah,edgeTypes:jh,onNodesChange:z,onPaneClick:()=>{ee(),ze()},onNodeClick:(e,t)=>{t.type===`diagram`&&N(t,!1)},onEdgeClick:(e,t)=>P(t.data),onNodeDragStart:(e,t)=>{t.type===`diagram`&&N(t,!1)},onInit:()=>requestAnimationFrame(()=>ie(L,0)),nodesDraggable:!I,nodesConnectable:!1,deleteKeyCode:null,elementsSelectable:!0,minZoom:.08,maxZoom:2,colorMode:c,ariaLabelConfig:{"controls.zoomIn.ariaLabel":h(`Zoom in`),"controls.zoomOut.ariaLabel":h(`Zoom out`),"minimap.ariaLabel":h(`Minimap`)},proOptions:{hideAttribution:!0},children:[(0,x.jsx)(Md,{color:_.ruleSoft,gap:24,size:.65}),(0,x.jsxs)(Vd,{position:`bottom-left`,showInteractive:!1,showFitView:!1,children:[(0,x.jsx)(Rd,{className:`react-flow__controls-fitview`,onClick:ae,title:h(`Fit canvas`),"aria-label":h(`Fit canvas`),children:(0,x.jsx)(t_,{name:`fit`})}),(0,x.jsx)(Rd,{className:`react-flow__controls-fullscreen`,ref:ge,onClick:be,"aria-pressed":_e,"aria-busy":ve,"aria-disabled":ve||!ye&&!_e,"aria-label":h(_e?`Exit fullscreen`:`Enter fullscreen`),title:h(!ye&&!_e?`Fullscreen is not available in this browser or page`:_e?`Exit fullscreen (Esc)`:`Enter fullscreen`),children:(0,x.jsx)(t_,{name:_e?`collapse`:`expand`})})]}),(0,x.jsx)(af,{pannable:!0,zoomable:!0,onClick:(e,t)=>m(t.x,t.y,{zoom:p}),nodeComponent:qe,nodeStrokeColor:e=>e.type===`boundary`?`none`:Af(e.data,_,i).stroke,nodeStrokeWidth:2,nodeColor:e=>e.type===`boundary`?e.data.appearance.fill:Af(e.data,_,i).fill,maskColor:_.mask})]}),(0,x.jsxs)(`div`,{className:`float legend-anchor`,"data-popover-root":`legend`,children:[(0,x.jsxs)(`button`,{className:`float-btn`,onClick:()=>Re(`legend`),"aria-expanded":Le===`legend`,"aria-haspopup":`true`,title:h(`Legend`),children:[(0,x.jsx)(t_,{name:`legend`}),(0,x.jsx)(`span`,{children:h(`Legend`)})]}),Le===`legend`&&(0,x.jsxs)(`div`,{className:`popover legend-pop`,children:[(0,x.jsx)(`p`,{className:`pop-title`,children:h(`Legend`)}),(0,x.jsx)(`div`,{className:`legend`,role:`group`,"aria-label":h(`Legend`),children:Fh(L,_,i).map(e=>(0,x.jsxs)(`span`,{"data-legend-role":e.role,"data-legend-shape":e.shape,children:[e.shape===`ramp`?(0,x.jsx)(`i`,{className:`legend-ramp`,style:{backgroundColor:e.fill,borderColor:e.stroke,backgroundImage:Ph(e.ramp)}}):e.shape===`self`?(0,x.jsxs)(`svg`,{style:{color:e.stroke},width:`28`,height:`14`,viewBox:`0 0 28 14`,"aria-hidden":`true`,children:[(0,x.jsx)(`path`,{d:`M5 3C22 0 22 13 6 11`,fill:`none`,stroke:`currentColor`}),(0,x.jsx)(`path`,{d:`M10 8L5.5 11L10.5 13.4`,fill:`none`,stroke:`currentColor`})]}):[`sync`,`async`,`return`].includes(e.shape)?(0,x.jsxs)(`svg`,{style:{color:e.stroke},width:`28`,height:`14`,viewBox:`0 0 28 14`,"aria-hidden":`true`,children:[(0,x.jsx)(`path`,{d:`M1 7H25`,stroke:`currentColor`,strokeDasharray:e.shape===`return`?`4 3`:void 0}),(0,x.jsx)(`path`,{d:e.shape===`sync`?`M19 2L26 7L19 12Z`:`M19 2L26 7L19 12`,fill:e.shape===`sync`?`currentColor`:`none`,stroke:`currentColor`})]}):(0,x.jsx)(`i`,{className:`legend-${e.shape}`,style:{backgroundColor:e.fill??`transparent`,borderColor:e.stroke,color:e.stroke,"--legend-body":_.surface2}}),e.label]},e.id))}),b&&(0,x.jsxs)(`div`,{className:`pop-opt`,children:[(0,x.jsx)(`span`,{children:h(`Edge animation`)}),(0,x.jsx)(`button`,{className:`switch`,role:`switch`,"aria-checked":S,disabled:!!v,onClick:()=>C(e=>!e),"aria-label":h(`Edge animation`),children:(0,x.jsx)(`i`,{})})]}),v&&(0,x.jsx)(`p`,{className:`pop-note`,children:h(`System reduced-motion preference is respected`)})]})]}),Ye&&(0,x.jsx)(s_,{node:{...Ye.data,position:Ye.position},others:R,canvasRef:ne,palette:_,moduleColors:i,locale:e.meta.locale,locked:I,editor:Ie,graph:L,isFullscreen:_e,onDetails:async()=>{_e&&!await be()||(Ae(),Be(E,D,xe,!0))},onClose:()=>ee()}),Ze&&(0,x.jsx)(s_,{node:Qe,edge:{...Ze,diagramType:g},source:$e,target:et,others:R,canvasRef:ne,palette:_,moduleColors:i,locale:e.meta.locale,locked:I,editor:Ie,graph:L,isFullscreen:_e,onDetails:async()=>{_e&&!await be()||(Ae(),Be(E,D,xe,!0))},onClose:()=>ee()}),pe&&(0,x.jsxs)(`details`,{className:`layout-problems`,children:[(0,x.jsx)(`summary`,{children:h(`Layout needs adjustment; JSON drafts can still be saved`)}),(0,x.jsx)(`ul`,{children:pe.diagnostics.filter(e=>e.severity===`error`).map((e,t)=>(0,x.jsx)(`li`,{children:(0,x.jsxs)(`button`,{onClick:()=>me(e),children:[e.elementIds.join(`, `),` · `,e.ruleId]})},t))}),(0,x.jsx)(`pre`,{children:pe.message})]}),(0,x.jsx)(`div`,{className:`toast ${Ue?`is-on`:``}`,role:`status`,"aria-live":`polite`,children:Ue})]})]}),Ne&&(0,x.jsx)(`aside`,{id:`node-inspector`,ref:Ee,tabIndex:-1,className:`sidebar drawer inspector${w||T?` is-open`:``}${Pe}`,"aria-label":h(`Details`),children:Fe.current})]})]})}var p_=`(max-width: 700px)`,m_=()=>window.matchMedia(p_).matches;function h_(){let[e,t]=(0,y.useState)(!1),[n,r]=(0,y.useState)(!1),i=(0,y.useRef)(null),a=(0,y.useRef)(null),o=(0,y.useRef)(null),s=(0,y.useRef)(null),c=(0,y.useRef)(null),l=(0,y.useRef)(null),u=(0,y.useCallback)(()=>cancelAnimationFrame(l.current),[]),d=(0,y.useCallback)(e=>{u();let t=document.activeElement;l.current=requestAnimationFrame(()=>{(document.activeElement===t||!t?.isConnected)&&e.current?.focus({preventScroll:!0})})},[u]);(0,y.useEffect)(()=>u,[u]);let f=(0,y.useCallback)(()=>{r(!0),m_()&&t(!1),d(s)},[d]),p=(0,y.useCallback)((e=!1)=>{u(),r(!1),e&&d(a)},[u,d]),m=(0,y.useCallback)(()=>{m_()&&(r(!1),t(!1))},[]),h=(0,y.useCallback)((e=!1)=>{u(),t(!1),e&&d(i)},[u,d]);return(0,y.useEffect)(()=>{let e=window.matchMedia(p_),n=e=>{e.matches&&(t(!1),r(!1))};return n(e),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),{toolbarOpen:e,drawerOpen:n,toolbarButtonRef:i,drawerButtonRef:a,searchInputRef:o,inspectorRef:s,panelRef:c,openDetails:f,closeDetails:p,closeMobile:m,closeNav:h,toggleToolbar:()=>{u(),t(!e),m_()&&r(!1),e||d(c)},toggleDrawer:()=>{u(),r(!n),m_()&&t(!1),n||d(s)}}}var g_=JSON.parse(document.querySelector(`#graph-data`).textContent),__=[...Array.isArray(g_.diagrams)?g_.diagrams:[g_]].sort((e,t)=>hm.indexOf(vm(e))-hm.indexOf(vm(t))),v_=window.matchMedia(`(prefers-color-scheme: dark)`);function y_(){let[e,t]=(0,y.useState)(`system`),[n,r]=(0,y.useState)(v_.matches);return(0,y.useEffect)(()=>{let e=e=>r(e.matches);return v_.addEventListener(`change`,e),()=>v_.removeEventListener(`change`,e)},[]),{preference:e,setPreference:t,theme:e===`system`?n?`dark`:`light`:e}}function b_(){let[e,t]=(0,y.useState)(vm(__[0])),n=(0,y.useRef)(new Map),r=(0,y.useState)(!0),{preference:i,setPreference:a,theme:o}=y_(),s=h_(),c=__.find(t=>vm(t)===e)??__[0],l=n.current.get(e)??c,u=(r,i)=>{n.current.set(e,i),t(r)},d=e=>Ag(g_,n.current,e),[f,p]=(0,y.useState)(!0),m=(0,y.useMemo)(()=>{let e=Tf(__,vf[o]);return f?e:Df(e,vf[o])},[o,f]);return(0,y.useEffect)(()=>{document.documentElement.lang=l.meta.locale??`zh-CN`},[l.meta.locale]),(0,y.useEffect)(()=>{document.title=`${l.meta.title} · QGraphFlow`},[l.meta.title]),(0,y.useEffect)(()=>{document.documentElement.dataset.theme=o,document.documentElement.dataset.appearance=i;for(let[e,t]of Object.entries(Nf(vf[o])))document.documentElement.style.setProperty(e,t)},[o,i]),(0,x.jsx)(gd,{children:(0,x.jsx)(f_,{flowControl:r,graph:l,originalGraph:c,graphForSave:d,allDiagrams:__,moduleColors:m,wash:f,setWash:p,onDiagramChange:u,theme:o,appearance:i,setAppearance:a,panels:s},e)})}(0,b.createRoot)(document.getElementById(`root`)).render((0,x.jsx)(b_,{}));</script>
284
+ <style rel="stylesheet" crossorigin>.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;font-synthesis:none;--bg:#fcfcfd;--panel:#f9f9fb;--canvas:#fcfcfd;--ink:#1c2024;--muted:#60646c;--line:#d9d9e0;--accent:#5753c6;--accent-soft:#f8f8ff;--warm:#c44b00;--font-body:16px;--font-small:14px;--edge-line-height:24px;--label:var(--ink);--label-2:color-mix(in srgb, var(--ink) 62%, transparent);--label-3:color-mix(in srgb, var(--ink) 34%, transparent);--label-4:color-mix(in srgb, var(--ink) 18%, transparent);--sep:color-mix(in srgb, var(--ink) 12%, transparent);--fill:color-mix(in srgb, var(--ink) 6%, transparent);--fill-2:color-mix(in srgb, var(--ink) 10%, transparent);--fill-3:color-mix(in srgb, var(--ink) 15%, transparent);--focus:color-mix(in srgb, var(--accent) 50%, transparent);--material-thick:color-mix(in srgb, var(--bg) 92%, transparent);--material:color-mix(in srgb, var(--bg) 86%, transparent);--material-thin:color-mix(in srgb, var(--bg) 74%, transparent);--blur:blur(24px) saturate(180%);--blur-thin:blur(18px) saturate(160%);--r-control:6px;--r-field:8px;--r-pop:10px;--r-card:12px;--shadow-1:0 1px 2px #1c1b1a0f, 0 4px 14px #1c1b1a14;--shadow-2:0 2px 6px #1c1b1a12, 0 16px 40px #1c1b1a26;--ease:cubic-bezier(.32, .72, 0, 1);--fast:.14s;--base:.3s;--tb-h:52px;--side-w:304px;--gutter:12px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Segoe UI,Microsoft YaHei,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--material-thick:color-mix(in srgb, var(--panel) 92%, transparent);--material:color-mix(in srgb, var(--panel) 86%, transparent);--material-thin:color-mix(in srgb, var(--panel) 74%, transparent);--shadow-1:0 1px 2px #00000059, 0 4px 14px #0006;--shadow-2:0 2px 6px #0006, 0 18px 44px #0000008c}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;color:var(--label);background:var(--bg);font-size:13px}button,input,select{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.ic{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.app-shell{width:100%;height:100%;position:relative}.workspace{position:absolute;inset:0}.toolbar{z-index:30;height:var(--tb-h);background:var(--material);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 .5px 0 var(--sep);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;display:grid;position:absolute;top:0;left:0;right:0}.tb-group{align-items:center;gap:2px;min-width:0;display:flex}.tb-right{justify-content:flex-end}.tb{border-radius:var(--r-control);height:30px;color:var(--label-2);cursor:pointer;white-space:nowrap;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), transform .1s ease-out;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.tb:hover{color:var(--label);background:var(--fill)}.tb:active{background:var(--fill-2);transform:scale(.96)}.tb[aria-expanded=true],.tb[aria-pressed=true],.tb[role=switch][aria-checked=true]{color:var(--label);background:var(--fill-2)}.tb.tb-wash[role=switch][aria-checked=true]{color:#0090ff}.tb-wash[aria-checked=true] .ic{fill:currentColor}.tb[aria-disabled=true]{opacity:.4}.tb-wide{padding-inline:9px;font-size:13px}.tb-wide .ic:last-child{width:12px;height:12px;color:var(--label-3)}.tb-title{min-width:0;padding-left:8px;display:grid}.tb-title b{letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.tb-title span{color:var(--label-2);letter-spacing:.005em;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;overflow:hidden}.tb-search{border-radius:var(--r-field);background:var(--fill);width:min(340px,34vw);height:30px;color:var(--label-2);transition:background var(--fast) var(--ease), box-shadow var(--fast) var(--ease);align-items:center;gap:7px;padding:0 9px;display:flex;position:relative}.tb-search .ic{width:15px;height:15px;color:var(--label-3)}.tb-search:focus-within{background:var(--canvas);box-shadow:0 0 0 3px var(--focus)}.tb-search input{width:100%;min-width:0;height:100%;color:var(--label);background:0 0;border:0;outline:0;font-size:13px}.tb-search input::placeholder{color:var(--label-3)}.menu-anchor{position:relative}.popover{z-index:40;border-radius:var(--r-pop);background:var(--material-thick);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 0 0 .5px var(--sep), var(--shadow-2);transform-origin:0 0;animation:pop-in .18s var(--ease);padding:5px;position:absolute}.menu{min-width:224px;top:calc(100% + 6px);left:0}.menu.is-right{transform-origin:100% 0;left:auto;right:0}.menu>button,.results button{border-radius:var(--r-control);width:100%;min-width:0;color:var(--label);cursor:pointer;text-align:left;transition:background var(--fast) var(--ease);background:0 0;border:0;align-items:center;gap:9px;padding:6px 8px;font-size:13px;display:flex}.menu>button:hover,.results button:hover{background:var(--fill)}.menu>button:active,.results button:active{background:var(--fill-2)}.menu>button[aria-disabled=true]{color:var(--label-3)}.menu-mark{width:16px;color:var(--label-2);place-items:center;display:grid}.menu-mark .ic{width:15px;height:15px}.menu>button.is-current{color:var(--accent);font-weight:600}.menu>button small{color:var(--label-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.menu-sep{background:var(--sep);height:.5px;margin:5px 6px}.menu-row{color:var(--label);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;font-size:13px;display:flex}.menu-row .menu-lead{white-space:nowrap;align-items:center;gap:9px;min-width:0;display:flex}.menu-row-stack{flex-direction:column;align-items:stretch;gap:7px}.results{top:calc(100% + 6px);left:0;right:0}.results button{gap:1px;display:grid}.results button span{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:8px;display:flex;overflow:hidden}.results button span i{min-width:17px;color:var(--label-3);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-style:normal}.results button small{color:var(--label-2);text-overflow:ellipsis;white-space:nowrap;padding-left:25px;font-size:11px;overflow:hidden}.pop-title{color:var(--label-2);letter-spacing:.005em;margin:4px 8px 6px;font-size:11px;font-weight:600}.pop-empty,.pop-note{color:var(--label-2);margin:4px 8px 6px;font-size:12px;line-height:1.55}.pop-opt{border-top:.5px solid var(--sep);color:var(--label);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding:7px 8px 3px;font-size:13px;display:flex}@keyframes pop-in{0%{opacity:0;transform:scale(.94)translateY(-4px)}}.switch{background:var(--fill-3);cursor:pointer;width:32px;height:20px;transition:background var(--base) var(--ease);border:0;border-radius:99px;flex:none;padding:2px;display:block}.switch i{width:16px;height:16px;transition:transform var(--base) var(--ease);background:#fff;border-radius:50%;display:block;box-shadow:0 1px 2px #0000002e,0 0 0 .5px #0000000f}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true] i{transform:translate(12px)}.switch:disabled{opacity:.45;cursor:not-allowed}.seg{border-radius:var(--r-field);background:var(--fill);grid-auto-columns:1fr;grid-auto-flow:column;padding:2px;display:grid;position:relative}.seg-knob{width:calc((100% - 4px) / var(--seg-n,3));border-radius:var(--r-control);background:var(--canvas);transition:transform var(--base) var(--ease);position:absolute;top:2px;bottom:2px;left:2px;box-shadow:0 1px 2px #0000001a,0 0 0 .5px #0000000a}:root[data-theme=dark] .seg-knob{background:var(--fill-3)}.seg button{z-index:1;border-radius:var(--r-control);height:24px;color:var(--label-2);cursor:pointer;white-space:nowrap;transition:color var(--fast) var(--ease);background:0 0;border:0;padding:0 8px;font-size:12px;position:relative}.seg button[aria-checked=true]{color:var(--label);font-weight:600}.seg button:active{color:var(--label-3)}.board{min-width:0;min-height:0}.diagram-board{background:var(--canvas);margin:0;position:absolute;inset:0}.diagram-board:fullscreen{width:100%;height:100%;box-shadow:none;border:0;border-radius:0}.diagram-board:fullscreen .legend-anchor{top:var(--gutter)}.relation-defs{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.canvas{background:var(--canvas);width:100%;height:100%;position:relative;overflow:hidden}.sidebar{top:calc(var(--tb-h) + var(--gutter));bottom:var(--gutter);z-index:20;width:min(var(--side-w), calc(100% - 2 * var(--gutter)));border-radius:var(--r-card);background:var(--material-thick);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 0 0 .5px var(--sep), var(--shadow-2);scrollbar-width:thin;scrollbar-color:var(--label-4) transparent;transition:transform var(--base) var(--ease);flex-direction:column;padding:14px;display:flex;position:absolute;overflow:hidden auto}.sidebar:focus-visible{outline-offset:-3px}.nav{left:var(--gutter);--off:-115%}.inspector{right:var(--gutter);--off:115%}.sidebar.is-closing{transform:translateX(var(--off))}@media (prefers-reduced-motion:no-preference){@starting-style{.sidebar:not(.is-still){transform:translateX(var(--off))}}}.side-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.side-head .panel-title{margin:0}.side-close{border-radius:var(--r-control);width:24px;height:24px;color:var(--label-2);cursor:pointer;transition:background var(--fast) var(--ease), transform .1s ease-out;background:0 0;border:0;flex:none;place-items:center;display:grid}.side-close .ic{width:14px;height:14px}.side-close:hover{color:var(--label);background:var(--fill)}.side-close:active{transform:scale(.94)}.panel-title{color:var(--label-2);letter-spacing:.005em;margin:0;font-size:11px;font-weight:600}.project-summary{border-bottom:.5px solid var(--sep);margin-bottom:10px;padding-bottom:12px}.project-summary p{color:var(--label-2);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.55}.project-summary .panel-title{margin-bottom:6px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.stat-grid>*{min-width:0}.stat-grid strong{color:var(--label);letter-spacing:-.015em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;line-height:1.1;display:block}.stat-grid span{color:var(--label-2);margin-top:3px;font-size:11px;display:block}.result-heading{color:var(--label-2);letter-spacing:.005em;font-variant-numeric:tabular-nums;margin:0 0 4px;font-size:11px;font-weight:600}.search-results{gap:1px;min-width:0;display:grid}.search-results button{border-radius:var(--r-control);min-width:0;color:var(--label);cursor:pointer;text-align:left;transition:background var(--fast) var(--ease);background:0 0;border:0;gap:1px;padding:6px 8px;font-size:13px;display:grid}.search-results button:hover{background:var(--fill)}.search-results button:active{background:var(--fill-2)}.search-results button span{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:8px;display:flex;overflow:hidden}.search-results button span i{min-width:17px;color:var(--label-3);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-style:normal}.search-results button small{color:var(--label-2);text-overflow:ellipsis;white-space:nowrap;padding-left:25px;font-size:11px;overflow:hidden}.float{z-index:6;transition:left var(--base) var(--ease);position:absolute}.legend-anchor{top:calc(var(--tb-h) + var(--gutter));left:var(--gutter)}.workspace.nav-open .legend-anchor{left:calc(var(--side-w) + 2 * var(--gutter))}.float-btn{border-radius:var(--r-field);height:28px;color:var(--label);background:var(--material-thin);-webkit-backdrop-filter:var(--blur-thin);backdrop-filter:var(--blur-thin);box-shadow:0 0 0 .5px var(--sep), var(--shadow-1);cursor:pointer;transition:background var(--fast) var(--ease), transform .1s ease-out;border:0;align-items:center;gap:6px;padding:0 9px;font-size:12px;display:inline-flex}.float-btn .ic{width:14px;height:14px;color:var(--label-2)}.float-btn:hover{background:var(--material)}.float-btn:active{transform:scale(.96)}.float-btn[aria-expanded=true]{background:var(--material-thick)}.legend-pop{width:min(360px, calc(100vw - 2 * var(--gutter) - 24px));max-height:min(420px,100vh - 200px);top:calc(100% + 6px);left:0;overflow:hidden auto}.legend{color:var(--label-2);flex-wrap:wrap;gap:5px 14px;margin:2px 8px 6px;font-size:12px;line-height:1.6;display:flex}.legend span{overflow-wrap:anywhere;min-width:0;max-width:100%;color:var(--label-2);align-items:center;gap:8px;font-size:12px;display:flex}.toast{z-index:12;opacity:0;border-radius:var(--r-pop);background:var(--material-thick);max-width:calc(100% - 32px);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 0 0 .5px var(--sep), var(--shadow-2);pointer-events:none;transition:opacity .18s, transform .26s var(--ease);padding:8px 14px;font-size:12px;line-height:1.5;position:absolute;bottom:16px;left:50%;transform:translate(-50%,12px)}.toast.is-on{opacity:1;transform:translate(-50%)}.node-card{max-height:calc(100% - var(--tb-h) - 28px);overflow-wrap:anywhere;z-index:8;border-radius:var(--r-card);background:var(--material-thick);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 0 0 .5px var(--sep), var(--shadow-2);transform-origin:0;animation:card-in .2s var(--ease);padding:14px;position:absolute;overflow-y:auto}.node-card.is-flipped{transform-origin:100%}.node-card.is-below{transform-origin:top}.node-card.is-above{transform-origin:bottom}@keyframes card-in{0%{opacity:0;transform:scale(.94)}}.card-close{border-radius:var(--r-control);width:24px;height:24px;color:var(--label-2);cursor:pointer;transition:background var(--fast) var(--ease), transform .1s ease-out;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:8px;right:8px}.card-close .ic{width:14px;height:14px}.card-close:hover{color:var(--label);background:var(--fill)}.card-close:active{transform:scale(.94)}.card-kicker{color:var(--label-2);letter-spacing:.005em;align-items:center;gap:7px;margin:0 0 5px;font-size:11px;font-weight:600;display:flex}.card-subtitle{color:var(--label-2);margin:0 0 10px;font-size:12px;line-height:1.55}.node-card h4{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0 22px 5px 0;font-size:15px;font-weight:600;line-height:1.3}.card-source{color:var(--label-2);align-items:center;gap:6px;margin:0 0 10px;font-size:11px;display:flex}.card-source .ic{flex:none;width:13px;height:13px}.card-source code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent);font-family:ui-monospace,SFMono-Regular,monospace;overflow:hidden}.card-tags{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.card-tags span{border-radius:var(--r-control);max-width:100%;color:var(--label-2);background:var(--fill);padding:2px 7px;font-size:11px}.card-actions{gap:8px;display:flex}.card-actions>button{border-radius:var(--r-control);min-width:0;height:28px;color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);cursor:pointer;border:0;flex:1;font-size:12px;font-weight:600}.card-actions>button:disabled{color:var(--label-3);cursor:not-allowed}.card-action{transition:background var(--fast) var(--ease), transform .1s ease-out;justify-content:center;align-items:center;gap:6px;display:inline-flex}.card-action .ic{width:14px;height:14px}.card-action:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.card-action:active{transform:scale(.97)}.card-form{gap:10px;padding-top:18px;display:grid}.card-form label{color:var(--label-2);gap:5px;font-size:11px;font-weight:600;display:grid}.card-form :is(input,textarea){border:1px solid var(--sep);border-radius:var(--r-control);width:100%;min-width:0;color:var(--label);background:var(--canvas);font:inherit;padding:7px 8px}.card-form textarea{resize:vertical;min-height:68px}.card-form :is(input,textarea):focus{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:1px}.card-error{color:var(--warm);margin:-4px 0 0;font-size:11px}.react-flow__node-diagram{background:0 0;border:0}.diagram-node{background:0 0;border:0;width:100%;height:100%;padding:0;position:relative;overflow:visible}.node-visual{width:100%;height:100%;display:block;overflow:visible}.diagram-node.is-dimmed{opacity:.18}.diagram-node:hover .node-surface{filter:drop-shadow(0 0 3px var(--accent))}.react-flow__handle{border:1px solid var(--canvas);background:var(--line);opacity:0;border-radius:50%;width:4px;height:4px}.diagram-node:hover .react-flow__handle,.diagram-node.is-selected .react-flow__handle{opacity:.7}.edge-label{color:var(--muted);background:var(--canvas);font-size:var(--font-body);line-height:var(--edge-line-height);pointer-events:all;cursor:pointer;white-space:nowrap;border:0;border-radius:2px;padding:3px 6px;font-family:inherit;position:absolute}.edge-label>span{white-space:pre;display:block}.node-kicker{color:var(--label-2);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.node-dot{background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}.react-flow__node-boundary{pointer-events:none}.boundary{background:0 0;width:100%;height:100%}.boundary-visual{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:visible}.boundary>span,.boundary>small,.fragment-overlay>small{color:var(--ink);font-size:var(--font-small);letter-spacing:.08em;text-transform:uppercase;font-weight:650;position:absolute;top:14px}.boundary>span{white-space:pre;text-transform:none;max-width:calc(100% - 32px);line-height:22px;left:16px}.boundary:has(>small)>span{max-width:calc(100% - 88px)}.boundary>small,.fragment-overlay>small{font-family:ui-monospace,SFMono-Regular,monospace;right:16px}.boundary-heading{pointer-events:none}.boundary-heading .group{fill:var(--ink);letter-spacing:.4px;font:650 14px -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}.flow-edge--dashed .react-flow__edge-path{stroke-dasharray:5 5}.edge-flow{fill:none;stroke-width:2px;stroke-dasharray:8 12;stroke-linecap:round;pointer-events:none;animation:.7s linear infinite edge-flow}.flow-edge--sequence .edge-flow{stroke-width:3.2px;stroke-dasharray:calc(4 * var(--sequence-flow-unit,1px)) calc(6 * var(--sequence-flow-unit,1px));opacity:1;filter:none;animation:.35s linear infinite sequence-edge-flow}.flow-edge--sequence.flow-edge--dashed:has(.edge-flow){animation:.35s linear infinite sequence-edge-flow}.flow-edge--sequence .react-flow__edge-path{stroke-width:1.6px!important}.flow-edge--sequence.flow-edge--dashed :is(.react-flow__edge-path,.selection-edge-shine,.selection-edge-halo),.flow-edge--sequence mask path{stroke-dasharray:calc(5 * var(--sequence-flow-unit,1px)) calc(5 * var(--sequence-flow-unit,1px))}.flow-edge--sequence mask path{stroke-width:3.2px}.edge-label .pair-label{font-weight:inherit;border-bottom:2px solid}.legend i.legend-execution{border-radius:0;width:8px;height:18px}.selection-feedback{pointer-events:none}.selection-node-outline{z-index:6;fill:none;width:100%;stroke:var(--accent);position:absolute;inset:0;overflow:visible}.selection-node-halo,.selection-node-shine,.selection-edge-halo,.selection-edge-shine{fill:none;stroke-linejoin:round;stroke-linecap:round}.selection-node-halo,.selection-edge-halo{stroke-width:9px;opacity:.16;filter:blur(2px)}.selection-node-shine{stroke-width:3px;opacity:.95}.selection-edge-shine{stroke-width:2.8px;opacity:.92}.flow-edge--dashed .selection-edge-halo,.flow-edge--dashed .selection-edge-shine{stroke-dasharray:5 5}.selection-feedback.is-animated .selection-node-halo,.selection-feedback.is-animated .selection-edge-halo{animation:.76s ease-out both selection-glow}.selection-feedback.is-animated .selection-node-shine{animation:.76s ease-out both selection-node-jelly}.selection-feedback.is-animated .selection-edge-shine{animation:.76s ease-out both selection-line-jelly}.flow-edge--sequence .selection-edge-shine{stroke-width:2px;opacity:.72}.flow-edge--sequence .selection-feedback.is-animated .selection-edge-shine{animation-name:sequence-line-jelly}.selection-feedback.has-flow .selection-edge-shine{opacity:.1}@keyframes selection-glow{0%{stroke-width:2px;opacity:0}24%{stroke-width:18px;opacity:.27}44%{stroke-width:5px;opacity:.12}63%{stroke-width:12px;opacity:.22}80%{stroke-width:7px;opacity:.14}to{stroke-width:9px;opacity:.16}}@keyframes selection-node-jelly{0%{stroke-width:1px}24%{stroke-width:7px}44%{stroke-width:1.5px}63%{stroke-width:4.5px}80%{stroke-width:2.3px}to{stroke-width:3px}}@keyframes selection-line-jelly{0%{stroke-width:1.6px}24%{stroke-width:4.5px}44%{stroke-width:2px}63%{stroke-width:3.5px}80%{stroke-width:2.4px}to{stroke-width:2.8px}}@keyframes sequence-line-jelly{0%{stroke-width:1.2px}24%{stroke-width:3px}44%{stroke-width:1.4px}63%{stroke-width:2.5px}80%{stroke-width:1.7px}to{stroke-width:2px}}@media (prefers-reduced-motion:reduce){.selection-feedback,.selection-feedback *{animation:none!important}}.react-flow__background{opacity:.38}.react-flow__controls,.react-flow__minimap{border-radius:var(--r-field);background:var(--material-thin);-webkit-backdrop-filter:var(--blur-thin);backdrop-filter:var(--blur-thin);box-shadow:0 0 0 .5px var(--sep), var(--shadow-1);transition:left var(--base) var(--ease), right var(--base) var(--ease);border:0;overflow:hidden}.react-flow__panel.react-flow__controls{left:var(--gutter);bottom:var(--gutter);margin:0}.react-flow__panel.react-flow__minimap{right:var(--gutter);bottom:var(--gutter);margin:0}.workspace.nav-open .react-flow__panel.react-flow__controls{left:calc(var(--side-w) + 2 * var(--gutter))}.workspace.drawer-open .react-flow__panel.react-flow__minimap{right:calc(var(--side-w) + 2 * var(--gutter))}.react-flow__controls-button{width:28px;height:28px;color:var(--label-2);border-bottom-width:.5px;border-bottom-color:var(--sep);transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0}.react-flow__controls-button:hover{color:var(--label);background:var(--fill)}.react-flow__controls-button:active{background:var(--fill-2)}.react-flow__controls-button:focus-visible{outline-offset:-3px}.react-flow__controls-button svg{fill:currentColor;max-width:14px;max-height:14px}.react-flow__controls-fullscreen svg,.react-flow__controls-fitview svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.react-flow__controls-fullscreen[aria-disabled=true]{opacity:.5;cursor:not-allowed}.react-flow__minimap{opacity:.92;width:112px;height:78px}.react-flow__minimap svg{width:100%;height:100%;display:block}.inspector-card{overflow-wrap:anywhere;border:0;border-top:.5px solid var(--sep);background:0 0;min-width:0;max-width:100%;padding:12px 0;position:relative}.inspector-card:first-of-type{border-top:0;padding-top:2px}.inspector-card>strong{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.inspector-card>p{color:var(--label-2);margin:0;font-size:13px;line-height:1.6}.drawer h2{color:var(--label);letter-spacing:-.02em;overflow-wrap:anywhere;margin:10px 0 4px;font-size:20px;font-weight:600;line-height:1.25}.drawer-subtitle{color:var(--label-2);letter-spacing:.005em;margin:0 0 14px;font-size:13px;line-height:1.6}.drawer h3{color:var(--label-2);letter-spacing:.06em;text-transform:uppercase;margin:16px 0 6px;font-size:11px;font-weight:600}.inspector-facts>h3{margin-top:0}.drawer ul{color:var(--label-2);margin:0;padding-left:16px;font-size:13px;line-height:1.6}.drawer li+li{margin-top:5px}.drawer li::marker{color:var(--accent)}.drawer code{white-space:normal;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}.source-path{border-radius:var(--r-field);max-width:100%;color:var(--accent);background:var(--fill);overflow-wrap:anywhere;padding:8px 10px;font-size:12px;line-height:1.55;display:block}.symbol{color:var(--label-2);font:12px/1.55 ui-monospace,SFMono-Regular,monospace;margin-top:6px!important}.tags{flex-wrap:wrap;gap:5px;margin-top:14px;display:flex}.tags span{border-radius:var(--r-control);min-width:0;max-width:100%;color:var(--label-2);background:var(--fill);padding:2px 8px;font-size:11px;line-height:1.5}.drawer-empty{text-align:center;min-height:150px;color:var(--label-2);place-content:center;gap:6px;display:grid}.drawer-empty .empty-icon{border-radius:var(--r-pop);width:36px;height:36px;color:var(--accent);background:var(--accent-soft);place-items:center;margin:0 auto 6px;display:grid}.empty-icon .ic{width:18px;height:18px}.drawer-empty span{color:var(--label);font-size:13px;font-weight:600}.drawer-empty p{letter-spacing:.005em;max-width:180px;margin:0;font-size:12px;line-height:1.6}.legend i{border:1px solid;border-radius:3px;flex:none;width:15px;height:12px}.legend i.legend-compartment{box-shadow:inset 0 -5px 0 var(--legend-body)}.legend i:is(.legend-initial,.legend-final,.legend-actor){border-radius:50%;width:12px;position:relative}.legend i.legend-final:after{content:"";border:1px solid;border-radius:50%;position:absolute;inset:2px}.legend i.legend-actor:after{content:"";background:currentColor;width:1px;height:5px;position:absolute;top:10px;left:4px}.legend i:is(.legend-solid,.legend-dashed){border:0;border-top:1px solid;border-radius:0;width:18px;height:0}.legend i.legend-dashed{border-top-style:dashed}.legend i.legend-module{border-radius:50%;width:10px;height:10px}.legend i.legend-ramp{border-width:0;width:28px;height:10px}@keyframes edge-flow{to{stroke-dashoffset:-20px}}@keyframes sequence-edge-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:calc(-10 * var(--sequence-flow-unit,1px))}}@media (width<=1080px){.tb-title span{display:none}}@media (width<=700px){.app-shell{height:100dvh;min-height:420px}.toolbar{grid-template-columns:auto minmax(0,1fr) auto;gap:4px;padding:0 8px}.tb-title,.tb-wide span{display:none}.tb-search{width:100%}.sidebar{width:calc(100% - 2 * var(--gutter))}.workspace.nav-open .legend-anchor,.workspace.nav-open .react-flow__panel.react-flow__controls{left:var(--gutter)}.react-flow__minimap{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.toolbar,.sidebar,.popover,.node-card,.float-btn,.toast,.react-flow__controls,.react-flow__minimap{background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){:root{--sep:var(--label);--label-2:var(--label);--label-3:color-mix(in srgb, var(--ink) 70%, transparent)}.toolbar{box-shadow:0 1px 0 var(--label)}.sidebar,.popover,.node-card,.float-btn,.toast,.react-flow__controls,.react-flow__minimap{box-shadow:0 0 0 1px var(--label)}}.react-flow,.react-flow.dark{background:var(--canvas);--xy-background-color:var(--canvas)}.react-flow__node.sequence-column,.diagram-sequence,.diagram-sequence .node-visual{pointer-events:none}.diagram-sequence .sequence-head{pointer-events:bounding-box}.diagram-sequence .react-flow__handle{pointer-events:none}.fragment-visual{color:var(--label-2);overflow:visible}.layout-problems{top:calc(var(--tb-h) + 12px);z-index:21;border:1px solid var(--sep);background:var(--material-thick);border-radius:10px;width:min(420px,100% - 112px);max-height:35%;padding:10px 14px;font-size:13px;position:absolute;left:50%;overflow:auto;transform:translate(-50%)}.layout-problems summary{cursor:pointer}.layout-problems button{text-align:left;overflow-wrap:anywhere}.layout-problems pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.edge-flow{stroke-width:2.8px;filter:none}.flow-edge--sequence .edge-flow{stroke-width:3.2px}.selection-feedback.has-flow .selection-edge-halo{stroke-opacity:.12}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.diagram-node .node-surface,.edge-flow{filter:none!important}.edge-flow{stroke-width:2px}.selection-node-halo,.selection-edge-halo{filter:none;display:none}}
285
+ /*$vite$:1*/</style>
286
+ </head>
287
+ <body>
288
+ <div id="root"></div>
289
+ <script id="graph-data" type="application/json">__CODEGRAPH_FLOW_DATA__</script>
290
+ </body>
291
+ </html>