@stonecrop/desktop 0.16.0 → 0.16.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.js","sources":["../src/components/ActionSet.vue","../src/components/CommandPalette.vue","../../stonecrop/dist/stonecrop.js","../../aform/dist/aform.js","../src/components/SheetNav.vue","../src/components/Desktop.vue","../src/plugins/index.ts"],"sourcesContent":["<template>\n\t<div :class=\"{ collapsed: !isOpen }\" class=\"action-set\">\n\t\t<div class=\"action-menu-icon\">\n\t\t\t<div id=\"cross\" :class=\"{ rotated: isOpen }\" @click=\"onClick\">×</div>\n\t\t</div>\n\t\t<div style=\"margin-right: 30px\"></div>\n\t\t<div v-for=\"(el, index) in elements\" :key=\"el.label\" class=\"action-element\">\n\t\t\t<div class=\"action-element-header\">\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"el.type == 'button'\"\n\t\t\t\t\t:disabled=\"el.disabled\"\n\t\t\t\t\tclass=\"button-default\"\n\t\t\t\t\t@click=\"handleClick(el.action, el.label)\">\n\t\t\t\t\t{{ el.label }}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div v-if=\"el.type == 'dropdown'\">\n\t\t\t\t<div class=\"dropdown-header\">\n\t\t\t\t\t<div class=\"cross\" :class=\"{ rotated: dropdownOpen[index] }\" @click=\"toggleDropdown(index)\">×</div>\n\t\t\t\t\t<button class=\"button-default dropdown-title\" @click=\"toggleDropdown(index)\">\n\t\t\t\t\t\t{{ el.label }}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<div v-show=\"dropdownStates[index]\" class=\"dropdown-container\">\n\t\t\t\t\t<div class=\"dropdown\">\n\t\t\t\t\t\t<div v-for=\"item in el.actions\" :key=\"item.label\">\n\t\t\t\t\t\t\t<button v-if=\"item.action != null\" class=\"dropdown-item\" @click=\"handleClick(item.action, item.label)\">\n\t\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<a v-else-if=\"item.link != null\" :href=\"item.link\"\n\t\t\t\t\t\t\t\t><button class=\"dropdown-item\">{{ item.label }}</button></a\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue'\n\nimport type { ActionElements } from '../types'\n\nconst { elements = [] } = defineProps<{ elements?: ActionElements[] }>()\nconst emit = defineEmits<{\n\tactionClick: [label: string, action: (() => void | Promise<void>) | undefined]\n}>()\n\n// Track dropdown open state separately (index -> boolean)\nconst dropdownStates = ref<Record<number, boolean>>({})\n\nconst isOpen = ref(true)\nconst dropdownOpen = ref<boolean[]>([])\n\nonMounted(() => {\n\tcloseDropdowns()\n})\n\nconst closeDropdowns = () => {\n\tdropdownStates.value = {}\n\tdropdownOpen.value = []\n}\n\nconst onClick = () => {\n\tisOpen.value = !isOpen.value\n}\n\nconst toggleDropdown = (index: number) => {\n\tconst showDropdown = !dropdownStates.value[index]\n\tcloseDropdowns()\n\tif (showDropdown) {\n\t\tdropdownStates.value[index] = true\n\t\tdropdownOpen.value[index] = true\n\t}\n}\n\nconst handleClick = (action: (() => void | Promise<void>) | undefined, label: string) => {\n\t// Emit event to parent - parent will handle execution\n\temit('actionClick', label, action)\n}\n</script>\n\n<style scoped>\n#cross {\n\tposition: relative;\n\ttransform: rotate(45deg);\n\tcursor: pointer;\n\ttransition: all 0.2s ease-in-out;\n\tuser-select: none;\n\tline-height: 1rem;\n}\n#cross.rotated,\n.cross.rotated {\n\ttransform: rotate(0deg);\n}\n#cross svg {\n\twidth: 1.5em;\n\theight: 1.5em;\n}\n\n.action-set {\n\tposition: fixed;\n\ttop: 300px;\n\tright: 10px;\n\tpadding: 10px;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-end;\n\tbackground: var(--sc-form-background);\n\tborder: 1px solid var(--sc-gray-20);\n\tborder-left: 4px solid var(--sc-gray-20);\n\tborder-radius: 0;\n\toverflow: hidden;\n\tz-index: 1001; /* Above SheetNav (100) and operation log button (999) */\n\t-webkit-transition: all 0.5s ease-in-out;\n\t-moz-transition: all 0.5s ease-in-out;\n\t-o-transition: all 0.5s ease-in-out;\n\ttransition: all 0.5s ease-in-out;\n}\n.action-menu-icon {\n\tposition: relative;\n\tfont-size: 2rem;\n\tdisplay: inline-block;\n\tcolor: var(--sc-gray-60, #666);\n\ttransition: all 0.2s ease-in-out;\n}\n.action-set.collapsed {\n\tmax-width: 46px;\n\tmax-height: 40px;\n\toverflow: hidden;\n}\n.action-set.collapsed .action-element {\n\topacity: 0;\n\t-webkit-transition: opacity 0.25s ease-in-out;\n\t-moz-transition: opacity 0.25s ease-in-out;\n\t-o-transition: opacity 0.25s ease-in-out;\n\ttransition: opacity 0.25s ease-in-out;\n}\n\n.action-element {\n\twidth: 100%;\n\ttext-align: right;\n\tborder: 1px solid var(--sc-gray-20);\n\tbackground: none;\n\tfont-size: 1.5rem;\n\tfont-family: var(--sc-font-family);\n\tfont-weight: 600;\n\tmargin-top: 10px;\n\tposition: relative; /* Make this the positioning context for absolute children */\n}\n.action-element-header {\n\tdisplay: flex;\n\tjustify-content: end;\n}\nbutton.button-default {\n\tbackground-color: transparent;\n\tpadding: 5px 12px;\n\tborder-radius: 0px;\n\tbox-shadow: none;\n\tborder: none;\n\tcursor: pointer;\n\twhite-space: nowrap;\n\tfont-weight: bold;\n\tfont-size: 1rem;\n\ttext-align: right;\n\tcolor: var(--sc-gray-80);\n\tpadding-left: 50px;\n\tfont-family: var(--sc-font-family);\n}\n.dropdown-header:hover button.button-default,\n.dropdown-header:hover,\n.action-element-header:hover {\n\tbackground-color: #f2f2f2;\n}\n\n.dropdown-title {\n\tposition: relative;\n}\n.dropdown-header {\n\tdisplay: flex;\n\talign-items: center;\n}\n.cross {\n\tpointer-events: all;\n\tmargin-left: 5px;\n\tfont-family: var(--sc-font-family);\n\tcolor: var(--sc-gray-60, #666);\n\tcursor: pointer;\n\ttransform: rotate(45deg);\n\tuser-select: none;\n\ttransition: all 0.2s ease-in-out;\n\tline-height: 1rem;\n}\n\nbutton.dropdown-item {\n\twidth: 100%;\n\tpadding: 5px 12px;\n\ttext-align: right;\n\tborder: none;\n\tbackground-color: #ffffff;\n\tcursor: pointer;\n\tborder-radius: 5px;\n\tfont-size: 1rem;\n}\n\nbutton.dropdown-item:hover {\n\tbackground-color: #f2f2f2;\n}\n</style>\n","<template>\n\t<Teleport to=\"body\">\n\t\t<Transition name=\"fade\">\n\t\t\t<div v-if=\"isOpen\" class=\"command-palette-overlay\" @click=\"closeModal\">\n\t\t\t\t<div class=\"command-palette\" @click.stop>\n\t\t\t\t\t<div class=\"command-palette-header\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref=\"input\"\n\t\t\t\t\t\t\tv-model=\"query\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclass=\"command-palette-input\"\n\t\t\t\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t\t\t\tautofocus\n\t\t\t\t\t\t\t@keydown=\"handleKeydown\" />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"results.length\" class=\"command-palette-results\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(result, index) in results\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\tclass=\"command-palette-result\"\n\t\t\t\t\t\t\t:class=\"{ selected: index === selectedIndex }\"\n\t\t\t\t\t\t\t@click=\"selectResult(result)\"\n\t\t\t\t\t\t\t@mouseover=\"selectedIndex = index\">\n\t\t\t\t\t\t\t<div class=\"result-title\">\n\t\t\t\t\t\t\t\t<slot name=\"title\" :result=\"result\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"result-content\">\n\t\t\t\t\t\t\t\t<slot name=\"content\" :result=\"result\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else-if=\"query && !results.length\" class=\"command-palette-no-results\">\n\t\t\t\t\t\t<slot name=\"empty\"> No results found for \"{{ query }}\" </slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Transition>\n\t</Teleport>\n</template>\n\n<script setup lang=\"ts\" generic=\"T\">\nimport { ref, computed, watch, nextTick, useTemplateRef } from 'vue'\n\ndefineSlots<{\n\ttitle?: { result: T }\n\tcontent?: { result: T }\n\tempty?: null\n}>()\n\nconst {\n\tsearch,\n\tisOpen = false,\n\tplaceholder = 'Type a command or search...',\n\tmaxResults = 10,\n} = defineProps<{\n\tsearch: (query: string) => T[]\n\tisOpen?: boolean\n\tplaceholder?: string\n\tmaxResults?: number\n}>()\n\nconst emit = defineEmits<{\n\tselect: [T]\n\tclose: []\n}>()\n\nconst query = ref('')\nconst selectedIndex = ref(0)\nconst inputRef = useTemplateRef('input')\n\nconst results = computed(() => {\n\tif (!query.value) return []\n\tconst searchResults = search(query.value)\n\treturn searchResults.slice(0, maxResults)\n})\n\n// reset search query when modal opens\nwatch(\n\t() => isOpen,\n\tasync open => {\n\t\tif (open) {\n\t\t\tquery.value = ''\n\t\t\tselectedIndex.value = 0\n\t\t\tawait nextTick()\n\t\t\t;(inputRef.value as HTMLInputElement)?.focus()\n\t\t}\n\t}\n)\n\n// reset selected index when results change\nwatch(results, () => {\n\tselectedIndex.value = 0\n})\n\nconst closeModal = () => {\n\temit('close')\n}\n\nconst handleKeydown = (e: KeyboardEvent) => {\n\tswitch (e.key) {\n\t\tcase 'Escape':\n\t\t\tcloseModal()\n\t\t\tbreak\n\t\tcase 'ArrowDown':\n\t\t\te.preventDefault()\n\t\t\tif (results.value.length) {\n\t\t\t\tselectedIndex.value = (selectedIndex.value + 1) % results.value.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'ArrowUp':\n\t\t\te.preventDefault()\n\t\t\tif (results.value.length) {\n\t\t\t\tselectedIndex.value = (selectedIndex.value - 1 + results.value.length) % results.value.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'Enter':\n\t\t\tif (results.value.length && selectedIndex.value >= 0) {\n\t\t\t\tselectResult(results.value[selectedIndex.value])\n\t\t\t}\n\t\t\tbreak\n\t}\n}\n\nconst selectResult = (result: T) => {\n\temit('select', result)\n\tcloseModal()\n}\n</script>\n\n<style>\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 0.2s ease;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.command-palette-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(0, 0, 0, 0.5);\n\tdisplay: flex;\n\talign-items: flex-start;\n\tjustify-content: center;\n\tz-index: 300;\n\tpadding-top: 100px;\n}\n\n.command-palette {\n\twidth: 600px;\n\tmax-width: 90%;\n\tbackground-color: white;\n\tborder-radius: 8px;\n\tbox-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n\toverflow: hidden;\n\tmax-height: 80vh;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.command-palette-header {\n\tdisplay: flex;\n\tborder-bottom: 1px solid #eaeaea;\n\tpadding: 12px;\n}\n\n.command-palette-input {\n\tflex: 1;\n\tborder: none;\n\toutline: none;\n\tfont-size: 16px;\n\tpadding: 8px 12px;\n\tbackground-color: transparent;\n}\n\n.command-palette-close {\n\tbackground: transparent;\n\tborder: none;\n\tfont-size: 24px;\n\tcursor: pointer;\n\tcolor: #666;\n\tpadding: 0 8px;\n}\n\n.command-palette-close:hover {\n\tcolor: #333;\n}\n\n.command-palette-results {\n\toverflow-y: auto;\n\tmax-height: 60vh;\n}\n\n.command-palette-result {\n\tpadding: 12px 16px;\n\tcursor: pointer;\n\tborder-bottom: 1px solid #f0f0f0;\n}\n\n.command-palette-result:hover,\n.command-palette-result.selected {\n\tbackground-color: #f5f5f5;\n}\n\n.command-palette-result.selected {\n\tbackground-color: rgba(132, 60, 3, 0.1);\n}\n\n.result-title {\n\tfont-weight: 500;\n\tmargin-bottom: 4px;\n\tcolor: #333;\n}\n\n.result-content {\n\tfont-size: 14px;\n\tcolor: #666;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.command-palette-no-results {\n\tpadding: 20px 16px;\n\ttext-align: center;\n\tcolor: #666;\n}\n</style>\n","import { watch as Je, onMounted as eo, nextTick as yn, readonly as to, getCurrentInstance as ro, toRef as Js, customRef as Vs, ref as K, reactive as nn, computed as te, toValue as Ue, shallowRef as no, unref as Ks, inject as kr, provide as ri } from \"vue\";\nimport { defineStore as io, storeToRefs as oo } from \"pinia\";\nconst Hs = Object.getPrototypeOf(async () => {\n}).constructor;\nasync function Ys(e, t = {}) {\n const r = Object.keys(t);\n return new Hs(...r, e)(...r.map((i) => t[i]));\n}\nconst Gs = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Xs = Object.prototype.toString, Qs = (e) => Xs.call(e) === \"[object Object]\", so = () => {\n};\nfunction ea(...e) {\n if (e.length !== 1) return Js(...e);\n const t = e[0];\n return typeof t == \"function\" ? to(Vs(() => ({\n get: t,\n set: so\n }))) : K(t);\n}\nfunction ta(e, t) {\n function r(...n) {\n return new Promise((i, o) => {\n Promise.resolve(e(() => t.apply(this, n), {\n fn: t,\n thisArg: this,\n args: n\n })).then(i).catch(o);\n });\n }\n return r;\n}\nconst ao = (e) => e();\nfunction ra(e = ao, t = {}) {\n const { initialState: r = \"active\" } = t, n = ea(r === \"active\");\n function i() {\n n.value = !1;\n }\n function o() {\n n.value = !0;\n }\n const s = (...a) => {\n n.value && e(...a);\n };\n return {\n isActive: to(n),\n pause: i,\n resume: o,\n eventFilter: s\n };\n}\nfunction Jr(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction na(e) {\n return ro();\n}\nfunction ia(e, t, r = {}) {\n const { eventFilter: n = ao, ...i } = r;\n return Je(e, ta(n, t), i);\n}\nfunction oa(e, t, r = {}) {\n const { eventFilter: n, initialState: i = \"active\", ...o } = r, { eventFilter: s, pause: a, resume: u, isActive: c } = ra(n, { initialState: i });\n return {\n stop: ia(e, t, {\n ...o,\n eventFilter: s\n }),\n pause: a,\n resume: u,\n isActive: c\n };\n}\nfunction sa(e, t = !0, r) {\n na() ? eo(e, r) : t ? e() : yn(e);\n}\nfunction aa(e, t, r) {\n return Je(e, t, {\n ...r,\n immediate: !0\n });\n}\nfunction Lt(e, t, r) {\n return Je(e, (i, o, s) => {\n i && t(i, o, s);\n }, {\n ...r,\n once: !1\n });\n}\nconst ot = Gs ? window : void 0;\nfunction ua(e) {\n var t;\n const r = Ue(e);\n return (t = r?.$el) !== null && t !== void 0 ? t : r;\n}\nfunction dt(...e) {\n const t = (n, i, o, s) => (n.addEventListener(i, o, s), () => n.removeEventListener(i, o, s)), r = te(() => {\n const n = Jr(Ue(e[0])).filter((i) => i != null);\n return n.every((i) => typeof i != \"string\") ? n : void 0;\n });\n return aa(() => {\n var n, i;\n return [\n (n = (i = r.value) === null || i === void 0 ? void 0 : i.map((o) => ua(o))) !== null && n !== void 0 ? n : [ot].filter((o) => o != null),\n Jr(Ue(r.value ? e[1] : e[0])),\n Jr(Ks(r.value ? e[2] : e[1])),\n Ue(r.value ? e[3] : e[2])\n ];\n }, ([n, i, o, s], a, u) => {\n if (!n?.length || !i?.length || !o?.length) return;\n const c = Qs(s) ? { ...s } : s, f = n.flatMap((l) => i.flatMap((h) => o.map((d) => t(l, h, d, c))));\n u(() => {\n f.forEach((l) => l());\n });\n }, { flush: \"post\" });\n}\nconst pr = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {}, dr = \"__vueuse_ssr_handlers__\", ca = /* @__PURE__ */ fa();\nfunction fa() {\n return dr in pr || (pr[dr] = pr[dr] || {}), pr[dr];\n}\nfunction la(e, t) {\n return ca[e] || t;\n}\nfunction ha(e) {\n return e == null ? \"any\" : e instanceof Set ? \"set\" : e instanceof Map ? \"map\" : e instanceof Date ? \"date\" : typeof e == \"boolean\" ? \"boolean\" : typeof e == \"string\" ? \"string\" : typeof e == \"object\" ? \"object\" : Number.isNaN(e) ? \"any\" : \"number\";\n}\nconst pa = {\n boolean: {\n read: (e) => e === \"true\",\n write: (e) => String(e)\n },\n object: {\n read: (e) => JSON.parse(e),\n write: (e) => JSON.stringify(e)\n },\n number: {\n read: (e) => Number.parseFloat(e),\n write: (e) => String(e)\n },\n any: {\n read: (e) => e,\n write: (e) => String(e)\n },\n string: {\n read: (e) => e,\n write: (e) => String(e)\n },\n map: {\n read: (e) => new Map(JSON.parse(e)),\n write: (e) => JSON.stringify(Array.from(e.entries()))\n },\n set: {\n read: (e) => new Set(JSON.parse(e)),\n write: (e) => JSON.stringify(Array.from(e))\n },\n date: {\n read: (e) => new Date(e),\n write: (e) => e.toISOString()\n }\n}, ni = \"vueuse-storage\";\nfunction da(e, t, r, n = {}) {\n var i;\n const { flush: o = \"pre\", deep: s = !0, listenToStorageChanges: a = !0, writeDefaults: u = !0, mergeDefaults: c = !1, shallow: f, window: l = ot, eventFilter: h, onError: d = (A) => {\n console.error(A);\n }, initOnMounted: _ } = n, g = (f ? no : K)(t), m = te(() => Ue(e));\n if (!r) try {\n r = la(\"getDefaultStorage\", () => ot?.localStorage)();\n } catch (A) {\n d(A);\n }\n if (!r) return g;\n const E = Ue(t), $ = ha(E), b = (i = n.serializer) !== null && i !== void 0 ? i : pa[$], { pause: N, resume: k } = oa(g, (A) => Ct(A), {\n flush: o,\n deep: s,\n eventFilter: h\n });\n Je(m, () => Ce(), { flush: o });\n let M = !1;\n const D = (A) => {\n _ && !M || Ce(A);\n }, ie = (A) => {\n _ && !M || ht(A);\n };\n l && a && (r instanceof Storage ? dt(l, \"storage\", D, { passive: !0 }) : dt(l, ni, ie)), _ ? sa(() => {\n M = !0, Ce();\n }) : Ce();\n function Re(A, Y) {\n if (l) {\n const ae = {\n key: m.value,\n oldValue: A,\n newValue: Y,\n storageArea: r\n };\n l.dispatchEvent(r instanceof Storage ? new StorageEvent(\"storage\", ae) : new CustomEvent(ni, { detail: ae }));\n }\n }\n function Ct(A) {\n try {\n const Y = r.getItem(m.value);\n if (A == null)\n Re(Y, null), r.removeItem(m.value);\n else {\n const ae = b.write(A);\n Y !== ae && (r.setItem(m.value, ae), Re(Y, ae));\n }\n } catch (Y) {\n d(Y);\n }\n }\n function jt(A) {\n const Y = A ? A.newValue : r.getItem(m.value);\n if (Y == null)\n return u && E != null && r.setItem(m.value, b.write(E)), E;\n if (!A && c) {\n const ae = b.read(Y);\n return typeof c == \"function\" ? c(ae, E) : $ === \"object\" && !Array.isArray(ae) ? {\n ...E,\n ...ae\n } : ae;\n } else return typeof Y != \"string\" ? Y : b.read(Y);\n }\n function Ce(A) {\n if (!(A && A.storageArea !== r)) {\n if (A && A.key == null) {\n g.value = E;\n return;\n }\n if (!(A && A.key !== m.value)) {\n N();\n try {\n const Y = b.write(g.value);\n (A === void 0 || A?.newValue !== Y) && (g.value = jt(A));\n } catch (Y) {\n d(Y);\n } finally {\n A ? yn(k) : k();\n }\n }\n }\n }\n function ht(A) {\n Ce(A.detail);\n }\n return g;\n}\nfunction _a(e, t, r = {}) {\n const { window: n = ot } = r;\n return da(e, t, n?.localStorage, r);\n}\nconst ga = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\nfunction ma(e = {}) {\n const { reactive: t = !1, target: r = ot, aliasMap: n = ga, passive: i = !0, onEventFired: o = so } = e, s = nn(/* @__PURE__ */ new Set()), a = {\n toJSON() {\n return {};\n },\n current: s\n }, u = t ? nn(a) : a, c = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Map([\n [\"Meta\", c],\n [\"Shift\", /* @__PURE__ */ new Set()],\n [\"Alt\", /* @__PURE__ */ new Set()]\n ]), l = /* @__PURE__ */ new Set();\n function h($, b) {\n $ in u && (t ? u[$] = b : u[$].value = b);\n }\n function d() {\n s.clear();\n for (const $ of l) h($, !1);\n }\n function _($, b, N) {\n if (!(!$ || typeof b.getModifierState != \"function\")) {\n for (const [k, M] of f) if (b.getModifierState(k)) {\n N.forEach((D) => M.add(D));\n break;\n }\n }\n }\n function g($, b) {\n if ($) return;\n const N = `${b[0].toUpperCase()}${b.slice(1)}`, k = f.get(N);\n if (![\"shift\", \"alt\"].includes(b) || !k) return;\n const M = Array.from(k), D = M.indexOf(b);\n M.forEach((ie, Re) => {\n Re >= D && (s.delete(ie), h(ie, !1));\n }), k.clear();\n }\n function m($, b) {\n var N, k;\n const M = (N = $.key) === null || N === void 0 ? void 0 : N.toLowerCase(), D = [(k = $.code) === null || k === void 0 ? void 0 : k.toLowerCase(), M].filter(Boolean);\n if (M) {\n M && (b ? s.add(M) : s.delete(M));\n for (const ie of D)\n l.add(ie), h(ie, b);\n _(b, $, [...s, ...D]), g(b, M), M === \"meta\" && !b && (c.forEach((ie) => {\n s.delete(ie), h(ie, !1);\n }), c.clear());\n }\n }\n dt(r, \"keydown\", ($) => (m($, !0), o($)), { passive: i }), dt(r, \"keyup\", ($) => (m($, !1), o($)), { passive: i }), dt(\"blur\", d, { passive: i }), dt(\"focus\", d, { passive: i });\n const E = new Proxy(u, { get($, b, N) {\n if (typeof b != \"string\") return Reflect.get($, b, N);\n if (b = b.toLowerCase(), b in n && (b = n[b]), !(b in u)) if (/[+_-]/.test(b)) {\n const M = b.split(/[+_-]/g).map((D) => D.trim());\n u[b] = te(() => M.map((D) => Ue(E[D])).every(Boolean));\n } else u[b] = no(!1);\n const k = Reflect.get($, b, N);\n return t ? Ue(k) : k;\n } });\n return E;\n}\nfunction Vr() {\n return typeof crypto < \"u\" && crypto.randomUUID ? crypto.randomUUID() : `${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;\n}\nfunction _r(e) {\n const t = {\n type: e.type,\n clientId: e.clientId,\n timestamp: e.timestamp.toISOString()\n };\n return e.operation && (t.operation = {\n ...e.operation,\n timestamp: e.operation.timestamp.toISOString()\n }), e.operations && (t.operations = e.operations.map((r) => ({\n ...r,\n timestamp: r.timestamp.toISOString()\n }))), t;\n}\nfunction va(e) {\n const t = {\n type: e.type,\n clientId: e.clientId,\n timestamp: new Date(e.timestamp)\n };\n return e.operation && (t.operation = {\n ...e.operation,\n timestamp: new Date(e.operation.timestamp)\n }), e.operations && (t.operations = e.operations.map((r) => ({\n ...r,\n timestamp: new Date(r.timestamp)\n }))), t;\n}\nfunction ii(e, t) {\n (e.type === \"set\" || e.type === \"delete\") && t && typeof t.set == \"function\" && t.set(e.path, e.beforeValue, \"undo\");\n}\nfunction oi(e, t) {\n (e.type === \"set\" || e.type === \"delete\") && t && typeof t.set == \"function\" && t.set(e.path, e.afterValue, \"redo\");\n}\nconst or = io(\"hst-operation-log\", () => {\n const e = K({\n maxOperations: 100,\n enableCrossTabSync: !0,\n enablePersistence: !1,\n persistenceKeyPrefix: \"stonecrop-ops\"\n }), t = K([]), r = K(-1), n = K(Vr()), i = K(!1), o = K([]), s = te(() => r.value < 0 ? !1 : t.value[r.value]?.reversible ?? !1), a = te(() => r.value < t.value.length - 1), u = te(() => {\n let w = 0;\n for (let S = r.value; S >= 0 && t.value[S]?.reversible; S--)\n w++;\n return w;\n }), c = te(() => t.value.length - 1 - r.value), f = te(() => ({\n canUndo: s.value,\n canRedo: a.value,\n undoCount: u.value,\n redoCount: c.value,\n currentIndex: r.value\n }));\n function l(w) {\n e.value = { ...e.value, ...w }, e.value.enablePersistence && (A(), ae()), e.value.enableCrossTabSync && ie();\n }\n function h(w, S = \"user\") {\n const v = {\n ...w,\n id: Vr(),\n timestamp: /* @__PURE__ */ new Date(),\n source: S,\n userId: e.value.userId\n };\n if (e.value.operationFilter && !e.value.operationFilter(v))\n return v.id;\n if (i.value && o.value.length > 0)\n return o.value[o.value.length - 1].operations.push(v), v.id;\n if (r.value < t.value.length - 1 && (t.value = t.value.slice(0, r.value + 1)), t.value.push(v), r.value++, e.value.maxOperations && t.value.length > e.value.maxOperations) {\n const X = t.value.length - e.value.maxOperations;\n t.value = t.value.slice(X), r.value -= X;\n }\n return e.value.enableCrossTabSync && Re(v), v.id;\n }\n function d() {\n i.value = !0, o.value.push({\n id: Vr(),\n operations: []\n });\n }\n function _(w) {\n if (!i.value || o.value.length === 0)\n return null;\n const S = o.value.pop(), v = S.operations;\n if (v.length === 0)\n return o.value.length === 0 && (i.value = !1), null;\n const X = S.id, be = v.every((je) => je.reversible), Te = {\n id: X,\n type: \"batch\",\n path: \"\",\n // Batch doesn't have a single path\n fieldname: \"\",\n beforeValue: null,\n afterValue: null,\n doctype: v[0]?.doctype || \"\",\n timestamp: /* @__PURE__ */ new Date(),\n source: \"user\",\n reversible: be,\n irreversibleReason: be ? void 0 : \"Contains irreversible operations\",\n descendantOperationIds: v.map((je) => je.id),\n metadata: { description: w }\n };\n return v.forEach((je) => {\n je.ancestorOperationId = X;\n }), o.value.length > 0 ? o.value[o.value.length - 1].operations.push(Te) : (t.value.push(...v, Te), r.value = t.value.length - 1), e.value.enableCrossTabSync && Ct(v, Te), o.value.length === 0 && (i.value = !1), X;\n }\n function g() {\n o.value = [], i.value = !1;\n }\n function m(w) {\n if (!s.value) return !1;\n const S = t.value[r.value];\n if (!S.reversible)\n return typeof console < \"u\" && S.irreversibleReason && console.warn(\"Cannot undo irreversible operation:\", S.irreversibleReason), !1;\n try {\n if (S.type === \"batch\" && S.descendantOperationIds)\n for (let v = S.descendantOperationIds.length - 1; v >= 0; v--) {\n const X = S.descendantOperationIds[v], be = t.value.find((Te) => Te.id === X);\n be && ii(be, w);\n }\n else\n ii(S, w);\n return r.value--, e.value.enableCrossTabSync && jt(S), !0;\n } catch (v) {\n return typeof console < \"u\" && console.error(\"Undo failed:\", v), !1;\n }\n }\n function E(w) {\n if (!a.value) return !1;\n const S = t.value[r.value + 1];\n try {\n if (S.type === \"batch\" && S.descendantOperationIds)\n for (const v of S.descendantOperationIds) {\n const X = t.value.find((be) => be.id === v);\n X && oi(X, w);\n }\n else\n oi(S, w);\n return r.value++, e.value.enableCrossTabSync && Ce(S), !0;\n } catch (v) {\n return typeof console < \"u\" && console.error(\"Redo failed:\", v), !1;\n }\n }\n function $() {\n const w = t.value.filter((v) => v.reversible).length, S = t.value.map((v) => v.timestamp);\n return {\n operations: [...t.value],\n currentIndex: r.value,\n totalOperations: t.value.length,\n reversibleOperations: w,\n irreversibleOperations: t.value.length - w,\n oldestOperation: S.length > 0 ? new Date(Math.min(...S.map((v) => v.getTime()))) : void 0,\n newestOperation: S.length > 0 ? new Date(Math.max(...S.map((v) => v.getTime()))) : void 0\n };\n }\n function b() {\n t.value = [], r.value = -1;\n }\n function N(w, S) {\n return t.value.filter((v) => v.doctype === w && (S === void 0 || v.recordId === S));\n }\n function k(w, S) {\n const v = t.value.find((X) => X.id === w);\n v && (v.reversible = !1, v.irreversibleReason = S);\n }\n function M(w, S, v, X = \"success\", be) {\n const Te = {\n type: \"action\",\n path: v && v.length > 0 ? `${w}.${v[0]}` : w,\n fieldname: \"\",\n beforeValue: null,\n afterValue: null,\n doctype: w,\n recordId: v && v.length > 0 ? v[0] : void 0,\n reversible: !1,\n // Actions are typically not reversible\n actionName: S,\n actionRecordIds: v,\n actionResult: X,\n actionError: be\n };\n return h(Te);\n }\n let D = null;\n function ie() {\n typeof window > \"u\" || !window.BroadcastChannel || (D = new BroadcastChannel(\"stonecrop-operation-log\"), D.addEventListener(\"message\", (w) => {\n const S = w.data;\n if (!S || typeof S != \"object\") return;\n const v = va(S);\n v.clientId !== n.value && (v.type === \"operation\" && v.operation ? (t.value.push({ ...v.operation, source: \"sync\" }), r.value = t.value.length - 1) : v.type === \"operation\" && v.operations && (t.value.push(\n ...v.operations.map((X) => Object.assign({}, X, { source: \"sync\" }))\n ), r.value = t.value.length - 1));\n }));\n }\n function Re(w) {\n if (!D) return;\n const S = {\n type: \"operation\",\n operation: w,\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n D.postMessage(_r(S));\n }\n function Ct(w, S) {\n if (!D) return;\n const v = {\n type: \"operation\",\n operations: [...w, S],\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n D.postMessage(_r(v));\n }\n function jt(w) {\n if (!D) return;\n const S = {\n type: \"undo\",\n operation: w,\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n D.postMessage(_r(S));\n }\n function Ce(w) {\n if (!D) return;\n const S = {\n type: \"redo\",\n operation: w,\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n D.postMessage(_r(S));\n }\n const ht = _a(\"stonecrop-operations\", null, {\n serializer: {\n read: (w) => {\n try {\n return JSON.parse(w);\n } catch {\n return null;\n }\n },\n write: (w) => w ? JSON.stringify(w) : \"\"\n }\n });\n function A() {\n if (!(typeof window > \"u\"))\n try {\n const w = ht.value;\n w && Array.isArray(w.operations) && (t.value = w.operations.map((S) => ({\n ...S,\n timestamp: new Date(S.timestamp)\n })), r.value = w.currentIndex ?? -1);\n } catch (w) {\n typeof console < \"u\" && console.error(\"Failed to load operations from persistence:\", w);\n }\n }\n function Y() {\n if (!(typeof window > \"u\"))\n try {\n ht.value = {\n operations: t.value.map((w) => ({\n ...w,\n timestamp: w.timestamp.toISOString()\n })),\n currentIndex: r.value\n };\n } catch (w) {\n typeof console < \"u\" && console.error(\"Failed to save operations to persistence:\", w);\n }\n }\n function ae() {\n Je(\n [t, r],\n () => {\n e.value.enablePersistence && Y();\n },\n { deep: !0 }\n );\n }\n return {\n // State\n operations: t,\n currentIndex: r,\n config: e,\n clientId: n,\n undoRedoState: f,\n // Computed\n canUndo: s,\n canRedo: a,\n undoCount: u,\n redoCount: c,\n // Methods\n configure: l,\n addOperation: h,\n startBatch: d,\n commitBatch: _,\n cancelBatch: g,\n undo: m,\n redo: E,\n clear: b,\n getOperationsFor: N,\n getSnapshot: $,\n markIrreversible: k,\n logAction: M\n };\n});\nclass Wt {\n /**\n * The root FieldTriggerEngine instance\n */\n static _root;\n options;\n doctypeActions = /* @__PURE__ */ new Map();\n // doctype -> action/field -> functions\n doctypeTransitions = /* @__PURE__ */ new Map();\n // doctype -> transition -> functions\n fieldRollbackConfig = /* @__PURE__ */ new Map();\n // doctype -> field -> rollback enabled\n globalActions = /* @__PURE__ */ new Map();\n // action name -> function\n globalTransitionActions = /* @__PURE__ */ new Map();\n // transition action name -> function\n /**\n * Creates a new FieldTriggerEngine instance (singleton pattern)\n * @param options - Configuration options for the field trigger engine\n */\n constructor(t = {}) {\n return Wt._root ? Wt._root : (Wt._root = this, this.options = {\n defaultTimeout: t.defaultTimeout ?? 5e3,\n debug: t.debug ?? !1,\n enableRollback: t.enableRollback ?? !0,\n errorHandler: t.errorHandler\n }, this);\n }\n /**\n * Register a global action function\n * @param name - The name of the action\n * @param fn - The action function\n */\n registerAction(t, r) {\n this.globalActions.set(t, r);\n }\n /**\n * Look up a registered action function by name.\n * Returns `undefined` if the action has not been registered.\n * @param name - The action name\n */\n getAction(t) {\n return this.globalActions.get(t);\n }\n /**\n * Register a global XState transition action function\n * @param name - The name of the transition action\n * @param fn - The transition action function\n */\n registerTransitionAction(t, r) {\n this.globalTransitionActions.set(t, r);\n }\n /**\n * Configure rollback behavior for a specific field trigger\n * @param doctype - The doctype name\n * @param fieldname - The field name\n * @param enableRollback - Whether to enable rollback\n */\n setFieldRollback(t, r, n) {\n this.fieldRollbackConfig.has(t) || this.fieldRollbackConfig.set(t, /* @__PURE__ */ new Map()), this.fieldRollbackConfig.get(t).set(r, n);\n }\n /**\n * Get rollback configuration for a specific field trigger\n */\n getFieldRollback(t, r) {\n return this.fieldRollbackConfig.get(t)?.get(r);\n }\n /**\n * Register actions from a doctype - both regular actions and field triggers\n * Separates XState transitions (uppercase) from field triggers (lowercase)\n * @param doctype - The doctype name\n * @param actions - The actions to register (supports Immutable Map, Map, or plain object)\n */\n registerDoctypeActions(t, r) {\n if (!r) return;\n const n = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), o = r;\n if (typeof o.entrySeq == \"function\")\n o.entrySeq().forEach(([s, a]) => {\n this.categorizeAction(s, a, n, i);\n });\n else if (r instanceof Map)\n for (const [s, a] of r)\n this.categorizeAction(s, a, n, i);\n else r && typeof r == \"object\" && Object.entries(r).forEach(([s, a]) => {\n this.categorizeAction(s, a, n, i);\n });\n this.doctypeActions.set(t, n), this.doctypeTransitions.set(t, i);\n }\n /**\n * Categorize an action as either a field trigger or XState transition\n * Uses uppercase convention: UPPERCASE = transition, lowercase/mixed = field trigger\n */\n categorizeAction(t, r, n, i) {\n this.isTransitionKey(t) ? i.set(t, r) : n.set(t, r);\n }\n /**\n * Determine if a key represents an XState transition\n * Transitions are identified by being all uppercase\n */\n isTransitionKey(t) {\n return /^[A-Z0-9_]+$/.test(t) && t.length > 0;\n }\n /**\n * Execute field triggers for a changed field\n * @param context - The field change context\n * @param options - Execution options (timeout and enableRollback)\n */\n async executeFieldTriggers(t, r = {}) {\n const { doctype: n, fieldname: i } = t, o = this.findFieldTriggers(n, i);\n if (o.length === 0)\n return {\n path: t.path,\n actionResults: [],\n totalExecutionTime: 0,\n allSucceeded: !0,\n stoppedOnError: !1,\n rolledBack: !1\n };\n const s = performance.now(), a = [];\n let u = !1, c = !1, f;\n const l = this.getFieldRollback(n, i), h = r.enableRollback ?? l ?? this.options.enableRollback;\n h && t.store && (f = this.captureSnapshot(t));\n for (const m of o)\n try {\n const E = await this.executeAction(m, t, r.timeout);\n if (a.push(E), !E.success) {\n u = !0;\n break;\n }\n } catch (E) {\n const b = {\n success: !1,\n error: E instanceof Error ? E : new Error(String(E)),\n executionTime: 0,\n action: m\n };\n a.push(b), u = !0;\n break;\n }\n if (h && u && f && t.store)\n try {\n this.restoreSnapshot(t, f), c = !0;\n } catch (m) {\n console.error(\"[FieldTriggers] Rollback failed:\", m);\n }\n const d = performance.now() - s, _ = a.filter((m) => !m.success && m.error != null);\n if (_.length > 0 && this.options.errorHandler)\n for (const m of _)\n try {\n m.error && this.options.errorHandler(m.error, t, m.action);\n } catch (E) {\n console.error(\"[FieldTriggers] Error in global error handler:\", E);\n }\n return {\n path: t.path,\n actionResults: a,\n totalExecutionTime: d,\n allSucceeded: a.every((m) => m.success),\n stoppedOnError: u,\n rolledBack: c,\n snapshot: this.options.debug && h ? f : void 0\n // Only include snapshot in debug mode if rollback is enabled\n };\n }\n /**\n * Execute XState transition actions\n * Similar to field triggers but specifically for FSM state transitions\n * @param context - The transition change context\n * @param options - Execution options (timeout)\n */\n async executeTransitionActions(t, r = {}) {\n const { doctype: n, transition: i } = t, o = this.findTransitionActions(n, i);\n if (o.length === 0)\n return [];\n const s = [];\n for (const u of o)\n try {\n const c = await this.executeTransitionAction(u, t, r.timeout);\n if (s.push(c), !c.success)\n break;\n } catch (c) {\n const l = {\n success: !1,\n error: c instanceof Error ? c : new Error(String(c)),\n executionTime: 0,\n action: u,\n transition: i\n };\n s.push(l);\n break;\n }\n const a = s.filter((u) => !u.success);\n if (a.length > 0 && this.options.errorHandler)\n for (const u of a)\n try {\n u.error && this.options.errorHandler(u.error, t, u.action);\n } catch (c) {\n console.error(\"[FieldTriggers] Error in global error handler:\", c);\n }\n return s;\n }\n /**\n * Find transition actions for a specific doctype and transition\n */\n findTransitionActions(t, r) {\n const n = this.doctypeTransitions.get(t);\n return n ? n.get(r) || [] : [];\n }\n /**\n * Execute a single transition action by name\n */\n async executeTransitionAction(t, r, n) {\n const i = performance.now(), o = n ?? this.options.defaultTimeout;\n try {\n let s = this.globalTransitionActions.get(t);\n if (!s) {\n const u = this.globalActions.get(t);\n u && (s = u);\n }\n if (!s)\n throw new Error(`Transition action \"${t}\" not found in registry`);\n return await this.executeWithTimeout(s, r, o), {\n success: !0,\n executionTime: performance.now() - i,\n action: t,\n transition: r.transition\n };\n } catch (s) {\n const a = performance.now() - i;\n return {\n success: !1,\n error: s instanceof Error ? s : new Error(String(s)),\n executionTime: a,\n action: t,\n transition: r.transition\n };\n }\n }\n /**\n * Find field triggers for a specific doctype and field\n * Field triggers are identified by keys that look like field paths (contain dots or match field names)\n */\n findFieldTriggers(t, r) {\n const n = this.doctypeActions.get(t);\n if (!n) return [];\n const i = [];\n for (const [o, s] of n)\n this.isFieldTriggerKey(o, r) && i.push(...s);\n return i;\n }\n /**\n * Determine if an action key represents a field trigger\n * Field triggers can be:\n * - Exact field name match: \"emailAddress\"\n * - Wildcard patterns: \"emailAddress.*\", \"*.is_primary\"\n * - Nested field paths: \"address.street\", \"contact.email\"\n */\n isFieldTriggerKey(t, r) {\n return t === r ? !0 : t.includes(\".\") ? this.matchFieldPattern(t, r) : t.includes(\"*\") ? this.matchFieldPattern(t, r) : !1;\n }\n /**\n * Match a field pattern against a field name\n * Supports wildcards (*) for dynamic segments\n */\n matchFieldPattern(t, r) {\n const n = t.split(\".\"), i = r.split(\".\");\n if (n.length !== i.length)\n return !1;\n for (let o = 0; o < n.length; o++) {\n const s = n[o], a = i[o];\n if (s !== \"*\" && s !== a)\n return !1;\n }\n return !0;\n }\n /**\n * Execute a single action by name\n */\n async executeAction(t, r, n) {\n const i = performance.now(), o = n ?? this.options.defaultTimeout;\n try {\n const s = this.globalActions.get(t);\n if (!s)\n throw new Error(`Action \"${t}\" not found in registry`);\n return await this.executeWithTimeout(s, r, o), {\n success: !0,\n executionTime: performance.now() - i,\n action: t\n };\n } catch (s) {\n const a = performance.now() - i;\n return {\n success: !1,\n error: s instanceof Error ? s : new Error(String(s)),\n executionTime: a,\n action: t\n };\n }\n }\n /**\n * Execute a function with timeout\n */\n async executeWithTimeout(t, r, n) {\n return new Promise((i, o) => {\n const s = setTimeout(() => {\n o(new Error(`Action timeout after ${n}ms`));\n }, n);\n Promise.resolve(t(r)).then((a) => (clearTimeout(s), i(a))).catch((a) => {\n clearTimeout(s), o(a instanceof Error ? a : new Error(String(a)));\n });\n });\n }\n /**\n * Capture a snapshot of the record state before executing actions\n * This creates a deep copy of the record data for potential rollback\n */\n captureSnapshot(t) {\n if (!(!t.store || !t.doctype || !t.recordId))\n try {\n const r = `${t.doctype}.${t.recordId}`, n = t.store.get(r);\n return !n || typeof n != \"object\" ? void 0 : JSON.parse(JSON.stringify(n));\n } catch (r) {\n this.options.debug && console.warn(\"[FieldTriggers] Failed to capture snapshot:\", r);\n return;\n }\n }\n /**\n * Restore a previously captured snapshot\n * This reverts the record to its state before actions were executed\n */\n restoreSnapshot(t, r) {\n if (!(!t.store || !t.doctype || !t.recordId || !r))\n try {\n const n = `${t.doctype}.${t.recordId}`;\n t.store.set(n, r), this.options.debug && console.log(`[FieldTriggers] Rolled back ${n} to previous state`);\n } catch (n) {\n throw console.error(\"[FieldTriggers] Failed to restore snapshot:\", n), n;\n }\n }\n}\nfunction Le(e) {\n return new Wt(e);\n}\nfunction zp(e, t) {\n Le().registerAction(e, t);\n}\nfunction kp(e, t) {\n Le().registerTransitionAction(e, t);\n}\nfunction Op(e, t, r) {\n Le().setFieldRollback(e, t, r);\n}\nasync function $p(e, t, r) {\n const n = Le(), i = {\n path: r?.path || (r?.recordId ? `${e}.${r.recordId}` : e),\n fieldname: \"\",\n beforeValue: void 0,\n afterValue: void 0,\n operation: \"set\",\n doctype: e,\n recordId: r?.recordId,\n timestamp: /* @__PURE__ */ new Date(),\n transition: t,\n currentState: r?.currentState,\n targetState: r?.targetState,\n fsmContext: r?.fsmContext\n };\n return await n.executeTransitionActions(i);\n}\nfunction Ep(e, t) {\n if (e)\n try {\n or().markIrreversible(e, t);\n } catch {\n }\n}\nfunction si() {\n try {\n return or();\n } catch {\n return null;\n }\n}\nclass _t {\n static instance;\n /**\n * Gets the singleton instance of HST\n * @returns The HST singleton instance\n */\n static getInstance() {\n return _t.instance || (_t.instance = new _t()), _t.instance;\n }\n /**\n * Gets the global registry instance\n * @returns The global registry object or undefined if not found\n */\n getRegistry() {\n if (typeof globalThis < \"u\") {\n const t = globalThis.Registry?._root;\n if (t)\n return t;\n }\n if (typeof window < \"u\") {\n const t = window.Registry?._root;\n if (t)\n return t;\n }\n if (typeof global < \"u\" && global) {\n const t = global.Registry?._root;\n if (t)\n return t;\n }\n }\n /**\n * Helper method to get doctype metadata from the registry\n * @param doctype - The name of the doctype to retrieve metadata for\n * @returns The doctype metadata object or undefined if not found\n */\n getDoctypeMeta(t) {\n const r = this.getRegistry();\n if (r && typeof r == \"object\" && \"registry\" in r)\n return r.registry[t];\n }\n}\nclass Or {\n target;\n ancestorPath;\n rootNode;\n doctype;\n hst;\n constructor(t, r, n = \"\", i = null) {\n return this.target = t, this.ancestorPath = n, this.rootNode = i || this, this.doctype = r, this.hst = _t.getInstance(), new Proxy(this, {\n get(o, s) {\n if (s in o) return Reflect.get(o, s);\n const a = String(s);\n return o.getNode(a);\n },\n set(o, s, a) {\n const u = String(s);\n return o.set(u, a), !0;\n }\n });\n }\n get(t) {\n return this.resolveValue(t);\n }\n // Method to get a tree-wrapped node for navigation\n getNode(t) {\n const r = this.resolvePath(t), n = this.resolveValue(t), i = r.split(\".\");\n let o = this.doctype;\n return this.doctype === \"StonecropStore\" && i.length >= 1 && (o = i[0]), typeof n == \"object\" && n !== null && !this.isPrimitive(n) ? new Or(n, o, r, this.rootNode) : new Or(n, o, r, this.rootNode);\n }\n set(t, r, n = \"user\") {\n const i = this.resolvePath(t);\n if (i === void 0) {\n console.warn(\"HST.set: resolved path is undefined, skipping operation\");\n return;\n }\n const o = this.has(t) ? this.get(t) : void 0;\n if (n !== \"undo\" && n !== \"redo\") {\n const s = si();\n if (s && typeof s.addOperation == \"function\") {\n const a = i.split(\".\"), u = this.doctype === \"StonecropStore\" && a.length >= 1 ? a[0] : this.doctype, c = a.length >= 2 ? a[1] : void 0, f = a.slice(2).join(\".\") || a[a.length - 1], h = r === void 0 && o !== void 0 ? \"delete\" : \"set\";\n s.addOperation(\n {\n type: h,\n path: i,\n fieldname: f,\n beforeValue: o,\n afterValue: r,\n doctype: u,\n recordId: c,\n reversible: !0\n // Default to reversible, can be changed by field triggers\n },\n n\n );\n }\n }\n this.updateValue(t, r), this.triggerFieldActions(i, o, r);\n }\n has(t) {\n try {\n if (t === \"\")\n return !0;\n const r = this.parsePath(t);\n let n = this.target;\n for (let i = 0; i < r.length; i++) {\n const o = r[i];\n if (n == null)\n return !1;\n if (i === r.length - 1)\n return this.isImmutable(n) ? n.has(o) : this.isPiniaStore(n) && n.$state && o in n.$state || o in n;\n n = this.getProperty(n, o);\n }\n return !1;\n } catch {\n return !1;\n }\n }\n // Tree navigation methods\n getAncestor() {\n if (!this.ancestorPath) return null;\n const r = this.ancestorPath.split(\".\").slice(0, -1).join(\".\");\n return r === \"\" ? this.rootNode : this.rootNode.getNode(r);\n }\n getRoot() {\n return this.rootNode;\n }\n getPath() {\n return this.ancestorPath;\n }\n getDepth() {\n return this.ancestorPath ? this.ancestorPath.split(\".\").length : 0;\n }\n getBreadcrumbs() {\n return this.ancestorPath ? this.ancestorPath.split(\".\") : [];\n }\n /**\n * Trigger an XState transition with optional context data\n */\n async triggerTransition(t, r) {\n const n = Le(), i = this.ancestorPath.split(\".\");\n let o = this.doctype, s;\n this.doctype === \"StonecropStore\" && i.length >= 1 && (o = i[0]), i.length >= 2 && (s = i[1]);\n const a = {\n path: this.ancestorPath,\n fieldname: \"\",\n // No specific field for transitions\n beforeValue: void 0,\n afterValue: void 0,\n operation: \"set\",\n doctype: o,\n recordId: s,\n timestamp: /* @__PURE__ */ new Date(),\n store: this.rootNode || void 0,\n transition: t,\n currentState: r?.currentState,\n targetState: r?.targetState,\n fsmContext: r?.fsmContext\n }, u = si();\n return u && typeof u.addOperation == \"function\" && u.addOperation(\n {\n type: \"transition\",\n path: this.ancestorPath,\n fieldname: t,\n beforeValue: r?.currentState,\n afterValue: r?.targetState,\n doctype: o,\n recordId: s,\n reversible: !1,\n // FSM transitions are generally not reversible\n metadata: {\n transition: t,\n currentState: r?.currentState,\n targetState: r?.targetState,\n fsmContext: r?.fsmContext\n }\n },\n \"user\"\n ), await n.executeTransitionActions(a);\n }\n // Private helper methods\n resolvePath(t) {\n return t === \"\" ? this.ancestorPath ?? \"\" : this.ancestorPath ? `${this.ancestorPath}.${t}` : t;\n }\n resolveValue(t) {\n if (t === \"\")\n return this.target;\n const r = this.parsePath(t);\n let n = this.target;\n for (const i of r) {\n if (n == null)\n return;\n n = this.getProperty(n, i);\n }\n return n;\n }\n updateValue(t, r) {\n if (t === \"\")\n throw new Error(\"Cannot set value on empty path\");\n const n = this.parsePath(t), i = n.pop();\n let o = this.target;\n for (const s of n)\n if (o = this.getProperty(o, s), o == null)\n throw new Error(`Cannot set property on null/undefined path: ${t}`);\n this.setProperty(o, i, r);\n }\n getProperty(t, r) {\n return this.isImmutable(t) ? t.get(r) : this.isVueReactive(t) ? t[r] : this.isPiniaStore(t) ? t.$state?.[r] ?? t[r] : t[r];\n }\n setProperty(t, r, n) {\n if (this.isImmutable(t))\n throw new Error(\"Cannot directly mutate immutable objects. Use immutable update methods instead.\");\n if (this.isPiniaStore(t)) {\n t.$patch ? t.$patch({ [r]: n }) : t[r] = n;\n return;\n }\n t[r] = n;\n }\n async triggerFieldActions(t, r, n) {\n try {\n if (!t || typeof t != \"string\" || Object.is(r, n))\n return;\n const i = t.split(\".\");\n if (i.length < 3)\n return;\n const o = Le(), s = i.slice(2).join(\".\") || i[i.length - 1];\n let a = this.doctype;\n this.doctype === \"StonecropStore\" && i.length >= 1 && (a = i[0]);\n let u;\n i.length >= 2 && (u = i[1]);\n const c = {\n path: t,\n fieldname: s,\n beforeValue: r,\n afterValue: n,\n operation: \"set\",\n doctype: a,\n recordId: u,\n timestamp: /* @__PURE__ */ new Date(),\n store: this.rootNode || void 0\n // Pass the root store for snapshot/rollback capabilities\n };\n await o.executeFieldTriggers(c);\n } catch (i) {\n i instanceof Error && console.warn(\"Field trigger error:\", i.message);\n }\n }\n isVueReactive(t) {\n return t && typeof t == \"object\" && \"__v_isReactive\" in t && t.__v_isReactive === !0;\n }\n isPiniaStore(t) {\n return t && typeof t == \"object\" && (\"$state\" in t || \"$patch\" in t || \"$id\" in t);\n }\n isImmutable(t) {\n if (!t || typeof t != \"object\")\n return !1;\n const r = \"get\" in t && typeof t.get == \"function\", n = \"set\" in t && typeof t.set == \"function\", i = \"has\" in t && typeof t.has == \"function\", o = \"__ownerID\" in t || \"_map\" in t || \"_list\" in t || \"_origin\" in t || \"_capacity\" in t || \"_defaultValues\" in t || \"_tail\" in t || \"_root\" in t || \"size\" in t && r && n;\n let s;\n try {\n if (\"constructor\" in t && t.constructor && typeof t.constructor == \"object\" && \"name\" in t.constructor) {\n const u = t.constructor.name;\n s = typeof u == \"string\" ? u : void 0;\n }\n } catch {\n s = void 0;\n }\n const a = s && (s.includes(\"Map\") || s.includes(\"List\") || s.includes(\"Set\") || s.includes(\"Stack\") || s.includes(\"Seq\")) && (r || n);\n return !!(r && n && i && o || r && n && a);\n }\n isPrimitive(t) {\n return t == null || typeof t == \"string\" || typeof t == \"number\" || typeof t == \"boolean\" || typeof t == \"function\" || typeof t == \"symbol\" || typeof t == \"bigint\";\n }\n /**\n * Parse a path string into segments, handling both dot notation and array bracket notation\n * @param path - The path string to parse (e.g., \"order.456.line_items[0].product\")\n * @returns Array of path segments (e.g., ['order', '456', 'line_items', '0', 'product'])\n */\n parsePath(t) {\n return t ? t.replace(/\\[(\\d+)\\]/g, \".$1\").split(\".\").filter((n) => n.length > 0) : [];\n }\n}\nfunction ya(e, t) {\n return new Or(e, t, \"\", null);\n}\nclass Be {\n /**\n * Singleton instance of Stonecrop. Only one Stonecrop instance can exist\n * per application, ensuring consistent HST state and registry access.\n * Subsequent constructor calls return this instance instead of creating new ones.\n * @internal\n */\n static _root;\n /** The HST store instance for reactive state management */\n hstStore;\n _operationLogStore;\n _operationLogConfig;\n _client;\n /** The registry instance containing all doctype definitions */\n registry;\n /**\n * Creates a new Stonecrop instance with HST integration (singleton pattern)\n * @param registry - The Registry instance containing doctype definitions\n * @param operationLogConfig - Optional configuration for the operation log\n * @param options - Options including the data client (can be set later via setClient)\n */\n constructor(t, r, n) {\n return Be._root ? Be._root : (Be._root = this, this.registry = t, this._operationLogConfig = r, this._client = n?.client, this.initializeHSTStore(), this.setupRegistrySync(), this);\n }\n /**\n * Set the data client for fetching doctype metadata and records.\n * Use this for deferred configuration in Nuxt/Vue plugin setups.\n *\n * @param client - DataClient implementation (e.g., StonecropClient from \\@stonecrop/graphql-client)\n *\n * @example\n * ```ts\n * const { setClient } = useStonecropRegistry()\n * const client = new StonecropClient({ endpoint: '/graphql' })\n * setClient(client)\n * ```\n */\n setClient(t) {\n this._client = t;\n }\n /**\n * Get the current data client\n * @returns The DataClient instance or undefined if not set\n */\n getClient() {\n return this._client;\n }\n /**\n * Get the operation log store (lazy initialization)\n * @internal\n */\n getOperationLogStore() {\n return this._operationLogStore || (this._operationLogStore = or(), this._operationLogConfig && this._operationLogStore.configure(this._operationLogConfig)), this._operationLogStore;\n }\n /**\n * Initialize the HST store structure\n */\n initializeHSTStore() {\n const t = {};\n Object.keys(this.registry.registry).forEach((r) => {\n t[r] = {};\n }), this.hstStore = ya(nn(t), \"StonecropStore\");\n }\n /**\n * Setup automatic sync with Registry when doctypes are added\n */\n setupRegistrySync() {\n const t = this.registry.addDoctype.bind(this.registry);\n this.registry.addDoctype = (r) => {\n t(r), this.hstStore.has(r.slug) || this.hstStore.set(r.slug, {});\n };\n }\n /**\n * Get records hash for a doctype\n * @param doctype - The doctype to get records for\n * @returns HST node containing records hash\n */\n records(t) {\n const r = typeof t == \"string\" ? t : t.slug;\n return this.ensureDoctypeExists(r), this.hstStore.getNode(r);\n }\n /**\n * Add a record to the store\n * @param doctype - The doctype\n * @param recordId - The record ID\n * @param recordData - The record data\n */\n addRecord(t, r, n) {\n const i = typeof t == \"string\" ? t : t.slug;\n this.ensureDoctypeExists(i), this.hstStore.set(`${i}.${r}`, n);\n }\n /**\n * Get a specific record\n * @param doctype - The doctype\n * @param recordId - The record ID\n * @returns HST node for the record or undefined\n */\n getRecordById(t, r) {\n const n = typeof t == \"string\" ? t : t.slug;\n if (this.ensureDoctypeExists(n), !(!this.hstStore.has(`${n}.${r}`) || this.hstStore.get(`${n}.${r}`) === void 0))\n return this.hstStore.getNode(`${n}.${r}`);\n }\n /**\n * Remove a record from the store\n * @param doctype - The doctype\n * @param recordId - The record ID\n */\n removeRecord(t, r) {\n const n = typeof t == \"string\" ? t : t.slug;\n this.ensureDoctypeExists(n), this.hstStore.has(`${n}.${r}`) && this.hstStore.set(`${n}.${r}`, void 0);\n }\n /**\n * Get all record IDs for a doctype\n * @param doctype - The doctype\n * @returns Array of record IDs\n */\n getRecordIds(t) {\n const r = typeof t == \"string\" ? t : t.slug;\n this.ensureDoctypeExists(r);\n const n = this.hstStore.get(r);\n return !n || typeof n != \"object\" ? [] : Object.keys(n).filter((i) => n[i] !== void 0);\n }\n /**\n * Clear all records for a doctype\n * @param doctype - The doctype\n */\n clearRecords(t) {\n const r = typeof t == \"string\" ? t : t.slug;\n this.ensureDoctypeExists(r), this.getRecordIds(r).forEach((i) => {\n this.hstStore.set(`${r}.${i}`, void 0);\n });\n }\n /**\n * Setup method for doctype initialization\n * @param doctype - The doctype to setup\n */\n setup(t) {\n this.ensureDoctypeExists(t.slug);\n }\n /**\n * Run action on doctype\n * Executes the action and logs it to the operation log for audit tracking\n * @param doctype - The doctype\n * @param action - The action to run\n * @param args - Action arguments (typically record IDs)\n */\n runAction(t, r, n) {\n const o = this.registry.registry[t.slug]?.actions?.get(r), s = Array.isArray(n) ? n.filter((h) => typeof h == \"string\") : void 0, a = s?.[0], u = a ? this.isWorkflowReady(t, a) : { ready: !0 };\n if (!u.ready)\n throw this.getOperationLogStore().logAction(\n t.doctype,\n r,\n s,\n \"failure\",\n `BLOCKED: missing data for links: ${u.blockedLinks?.join(\", \")}`\n ), new Error(`Workflow blocked: missing data for links: ${u.blockedLinks?.join(\", \")}`);\n const c = this.getOperationLogStore();\n let f = \"success\", l;\n try {\n if (o && o.length > 0) {\n const h = Le();\n o.forEach((d) => {\n try {\n const _ = h.getAction(d);\n if (!_) throw new Error(`Action \"${d}\" is not registered in FieldTriggerEngine`);\n const g = {\n path: `${t.slug}.${s?.[0] ?? \"\"}`,\n fieldname: r,\n beforeValue: void 0,\n afterValue: n,\n operation: \"set\",\n doctype: t.doctype,\n recordId: a,\n timestamp: /* @__PURE__ */ new Date()\n };\n _(g);\n } catch (_) {\n throw f = \"failure\", l = _ instanceof Error ? _.message : \"Unknown error\", _;\n }\n });\n }\n } catch {\n } finally {\n c.logAction(t.doctype, r, s, f, l);\n }\n }\n /**\n * Get the effective blockWorkflows value for a link.\n * Returns true if blockWorkflows is explicitly true, or if it's absent and fetch method is 'sync'.\n * @param link - The link declaration\n * @returns Whether workflows should be blocked until this link is loaded\n */\n getEffectiveBlockWorkflows(t) {\n return t.blockWorkflows !== void 0 ? t.blockWorkflows : t.fetch?.method === \"sync\";\n }\n /**\n * Check if workflow actions are ready to run (all required link data is loaded).\n * A link's data is considered loaded if it exists in HST at `slug.recordId.linkname`.\n * @param doctype - The doctype to check\n * @param recordId - The record ID\n * @returns Object with `ready: true` if all blocked links are loaded, or `ready: false` with `blockedLinks` array\n */\n isWorkflowReady(t, r) {\n if (r === \"new\")\n return { ready: !0 };\n const n = this.registry.getDescendantLinks(t.slug), i = [];\n for (const o of n)\n if (this.getEffectiveBlockWorkflows(o)) {\n const s = `${t.slug}.${r}.${o.fieldname}`;\n this.hstStore.has(s) || i.push(o.fieldname);\n }\n return i.length > 0 ? { ready: !1, blockedLinks: i } : { ready: !0 };\n }\n /**\n * Get records from server using the configured data client.\n * @param doctype - The doctype\n * @throws Error if no data client has been configured\n */\n async getRecords(t) {\n if (!this._client)\n throw new Error(\n \"No data client configured. Call setClient() with a DataClient implementation (e.g., StonecropClient from @stonecrop/graphql-client) before fetching records.\"\n );\n (await this._client.getRecords(t)).forEach((n) => {\n typeof n.id == \"string\" && n.id ? this.addRecord(t, n.id, n) : typeof n.id == \"number\" && this.addRecord(t, String(n.id), n);\n });\n }\n /**\n * Get single record from server using the configured data client.\n * @param doctype - The doctype slug string or Doctype object\n * @param recordId - The record ID\n * @throws Error if no data client has been configured\n * @throws Error if a slug string is given and no matching doctype is found in the registry\n */\n async getRecord(t, r) {\n if (!this._client)\n throw new Error(\n \"No data client configured. Call setClient() with a DataClient implementation (e.g., StonecropClient from @stonecrop/graphql-client) before fetching records.\"\n );\n const n = typeof t == \"string\" ? this.registry.getDoctype(t) : t;\n if (!n)\n throw new Error(`Doctype not found: ${typeof t == \"string\" ? t : t.slug}`);\n const i = await this._client.getRecord(n, r);\n i?.record && this.addRecord(n, r, i.record);\n }\n /**\n * Dispatch an action to the server via the configured data client.\n * All state changes flow through this single mutation endpoint.\n *\n * @param doctype - The doctype\n * @param action - Action name to execute (e.g., 'SUBMIT', 'APPROVE', 'save')\n * @param args - Action arguments (typically record ID and/or form data)\n * @returns Action result with success status, response data, and any error\n * @throws Error if no data client has been configured\n */\n async dispatchAction(t, r, n) {\n if (!this._client)\n throw new Error(\n \"No data client configured. Call setClient() with a DataClient implementation (e.g., StonecropClient from @stonecrop/graphql-client) before dispatching actions.\"\n );\n return this._client.runAction(t, r, n);\n }\n /**\n * Ensure doctype section exists in HST store\n * @param slug - The doctype slug\n */\n ensureDoctypeExists(t) {\n this.hstStore.has(t) || this.hstStore.set(t, {});\n }\n /**\n * Get doctype metadata from the registry\n * @param context - The route context\n * @returns The doctype metadata\n */\n async getMeta(t) {\n if (!this.registry.getMeta)\n throw new Error(\"No getMeta function provided to Registry\");\n return await this.registry.getMeta(t);\n }\n /**\n * Get the root HST store node for advanced usage\n * @returns Root HST node\n */\n getStore() {\n return this.hstStore;\n }\n /**\n * Determine the current workflow state for a record.\n *\n * Reads the record's `status` field from the HST store. If the field is absent or\n * empty the doctype's declared `workflow.initial` state is used as the fallback,\n * giving callers a reliable state name without having to duplicate that logic.\n *\n * @param doctype - The doctype slug or Doctype instance\n * @param recordId - The record identifier\n * @returns The current state name, or an empty string if the doctype has no workflow\n *\n * @public\n */\n getRecordState(t, r) {\n const n = typeof t == \"string\" ? t : t.slug, i = this.registry.getDoctype(n);\n if (!i?.workflow) return \"\";\n const s = this.getRecordById(n, r)?.get(\"status\"), a = i.workflow;\n let u;\n return Array.isArray(a.states) ? u = a.states[0] ?? \"\" : u = typeof a.initial == \"string\" ? a.initial : Object.keys(a.states ?? {})[0] ?? \"\", s || u;\n }\n /**\n * Collect a record payload with all nested doctype fields from HST\n * @param doctype - The doctype metadata\n * @param recordId - The record ID to collect\n * @returns The complete record payload ready for API submission\n * @public\n */\n collectRecordPayload(t, r) {\n const n = `${t.slug}.${r}`, o = { ...this.hstStore.get(n) || {} };\n if (t.links)\n for (const [s, a] of Object.entries(t.links)) {\n const u = `${n}.${s}`;\n if (a.cardinality === \"noneOrMany\" || a.cardinality === \"atLeastOne\") {\n const f = this.hstStore.get(u);\n Array.isArray(f) && (o[s] = f);\n } else {\n const f = this.registry.getDoctype(a.target);\n f?.links ? o[s] = this.collectNestedData(u, f) : o[s] = this.hstStore.get(u) || {};\n }\n }\n return o;\n }\n /**\n * Scaffold empty descendant records from defaults for all descendant links.\n *\n * Initializes all scalar and link fields at their HST paths with default values.\n * For new records, call this after setting up the doctype to ensure all paths exist.\n *\n * @param path - HST path (e.g., \"customer.new\")\n * @param doctype - The doctype to initialize\n * @public\n */\n initializeNestedData(t, r) {\n const n = r.slug;\n this.ensureDoctypeExists(n);\n const i = this.registry.resolveSchema(r), o = this.registry.initializeRecord(i);\n this.hstStore.get(t) || this.hstStore.set(t, {}, \"system\");\n for (const [a, u] of Object.entries(o))\n this.hstStore.set(`${t}.${a}`, u, \"system\");\n }\n /**\n * Fetch a record and its nested data from the server.\n *\n * Calls `_client.getRecord()` with nested sub-selections and stores each scalar field at its own HST path\n * (`slug.recordId.fieldname`), descendants at the link-level path (`slug.recordId.linkname`).\n *\n * @param path - HST path (e.g., \"recipe.r1\")\n * @param doctype - The doctype to fetch\n * @param recordId - Record ID to fetch\n * @param options - Query options (includeNested to control which links are fetched)\n * @throws Error with code `\"CLIENT_REQUIRED\"` if no data client is configured\n * @throws Error with code `\"RECORD_NOT_FOUND\"` if the server returns null\n * @public\n */\n async fetchNestedData(t, r, n, i) {\n if (!this._client)\n throw ai(\n \"No data client configured. Call setClient() with a DataClient implementation (e.g., StonecropClient from @stonecrop/graphql-client) before fetching records.\",\n \"CLIENT_REQUIRED\"\n );\n const o = await this._client.getRecord({ name: r.doctype }, n, {\n includeNested: i?.includeNested ?? !0\n });\n if (!o?.record)\n throw ai(`Record not found: ${r.doctype} ${n}`, \"RECORD_NOT_FOUND\");\n const s = r.slug;\n this.ensureDoctypeExists(s), this.hstStore.get(`${s}.${n}`) || this.hstStore.set(`${s}.${n}`, {}, \"system\");\n for (const [u, c] of Object.entries(o.record))\n this.hstStore.set(`${s}.${n}.${u}`, c, \"system\");\n }\n /**\n * Recursively collect nested data from HST\n * @param basePath - The base path in HST (e.g., \"customer.123.address\")\n * @param doctype - The doctype whose links drive the recursive traversal\n * @returns The collected data object\n */\n collectNestedData(t, r) {\n const i = { ...this.hstStore.get(t) || {} };\n if (!r.links) return i;\n for (const [o, s] of Object.entries(r.links)) {\n const a = `${t}.${o}`;\n if (s.cardinality === \"noneOrMany\" || s.cardinality === \"atLeastOne\") {\n const c = this.hstStore.get(a);\n Array.isArray(c) && (i[o] = c);\n } else {\n const c = this.registry.getDoctype(s.target);\n c?.links ? i[o] = this.collectNestedData(a, c) : i[o] = this.hstStore.get(a) || {};\n }\n }\n return i;\n }\n}\nfunction Ip() {\n return Be._root;\n}\nfunction ai(e, t) {\n const r = new Error(e);\n return r.code = t, r;\n}\nfunction Ap(e, t, r) {\n const n = kr(\"$stonecrop\") || Be._root;\n if (!n)\n throw new Error(\"Stonecrop instance not available. Ensure useStonecrop() has been called first.\");\n const i = K(!1), o = K(!1), s = K(null), a = n.getStore(), u = () => `${e.slug || e.doctype}.${t}.${r}`, c = () => e.links?.[r]?.fetch, f = async (_) => {\n try {\n return await new Function(\n \"stonecrop\",\n \"path\",\n \"hst\",\n `\n\t\t\t\treturn (${_})(stonecrop, path, hst)\n\t\t\t`\n )(n, u(), a);\n } catch (g) {\n throw new Error(`Custom handler failed: ${g instanceof Error ? g.message : String(g)}`, { cause: g });\n }\n }, l = async () => {\n const _ = c(), g = `${e.slug || e.doctype}.${t}`;\n if (_?.method === \"custom\") {\n a.has(g) || a.set(g, {}, \"system\");\n const m = await f(_.handler);\n a.set(u(), m, \"system\");\n } else\n await n.fetchNestedData(g, e, t, { includeNested: [r] });\n }, h = async () => {\n if (!i.value) {\n i.value = !0, s.value = null;\n try {\n await l(), o.value = !0;\n } catch (_) {\n throw s.value = _ instanceof Error ? _ : new Error(String(_)), _;\n } finally {\n i.value = !1;\n }\n }\n }, d = te(() => {\n if (o.value)\n return a.get(u());\n });\n return {\n // State\n loading: i,\n loaded: o,\n error: s,\n // Computed\n data: d,\n // Actions\n reload: h\n };\n}\nfunction Rp(e) {\n e || (e = {});\n const t = e.registry || kr(\"$registry\"), r = kr(\"$stonecrop\"), n = K(), i = K(), o = K({}), s = K(), a = K(), u = K([]), c = K(!1), f = K(null), l = K(), h = te(() => !n.value || !l.value || !e.recordId || e.recordId === \"new\" ? !0 : n.value.isWorkflowReady(l.value, e.recordId).ready), d = te(() => !n.value || !l.value || !e.recordId || e.recordId === \"new\" ? [] : n.value.isWorkflowReady(l.value, e.recordId).blockedLinks ?? []), _ = r || Be._root;\n _ && (n.value = _), e?.doctype && typeof e.doctype != \"string\" && (l.value = e.doctype);\n const g = K([]), m = K(-1), E = te(() => n.value?.getOperationLogStore().canUndo ?? !1), $ = te(() => n.value?.getOperationLogStore().canRedo ?? !1), b = te(() => n.value?.getOperationLogStore().undoCount ?? 0), N = te(() => n.value?.getOperationLogStore().redoCount ?? 0), k = te(\n () => n.value?.getOperationLogStore().undoRedoState ?? {\n canUndo: !1,\n canRedo: !1,\n undoCount: 0,\n redoCount: 0,\n currentIndex: -1\n }\n ), M = (z) => n.value?.getOperationLogStore().undo(z) ?? !1, D = (z) => n.value?.getOperationLogStore().redo(z) ?? !1, ie = () => {\n n.value?.getOperationLogStore().startBatch();\n }, Re = (z) => n.value?.getOperationLogStore().commitBatch(z) ?? null, Ct = () => {\n n.value?.getOperationLogStore().cancelBatch();\n }, jt = () => {\n n.value?.getOperationLogStore().clear();\n }, Ce = (z, R) => n.value?.getOperationLogStore().getOperationsFor(z, R) ?? [], ht = () => n.value?.getOperationLogStore().getSnapshot() ?? {\n operations: [],\n currentIndex: -1,\n totalOperations: 0,\n reversibleOperations: 0,\n irreversibleOperations: 0\n }, A = (z, R) => {\n n.value?.getOperationLogStore().markIrreversible(z, R);\n }, Y = (z, R, O, L = \"success\", F) => n.value?.getOperationLogStore().logAction(z, R, O, L, F) ?? \"\", ae = (z) => {\n n.value?.getOperationLogStore().configure(z);\n };\n if (t && n.value)\n try {\n const z = n.value.getOperationLogStore(), R = oo(z);\n g.value = R.operations.value, m.value = R.currentIndex.value, Je(\n () => R.operations.value,\n (O) => {\n g.value = O;\n }\n ), Je(\n () => R.currentIndex.value,\n (O) => {\n m.value = O;\n }\n );\n } catch {\n }\n e.doctype && typeof e.doctype != \"string\" && t && n.value && (i.value = n.value.getStore(), u.value = t.resolveSchema(e.doctype), (!e.recordId || e.recordId === \"new\") && (o.value = t.initializeRecord(u.value)), i.value && Kr(e.doctype, e.recordId || \"new\", o, i.value)), eo(async () => {\n if (!(!t || !n.value)) {\n if (!e.doctype && t.router) {\n const z = t.router.currentRoute.value;\n if (!z.path) return;\n const R = z.path.split(\"/\").filter((L) => L.length > 0), O = R[1]?.toLowerCase();\n if (R.length > 0) {\n const L = {\n path: z.path,\n segments: R\n }, F = await t.getMeta?.(L);\n if (F) {\n if (t.addDoctype(F), n.value.setup(F), s.value = F, a.value = O, i.value = n.value.getStore(), t && (u.value = t.resolveSchema(F)), O && O !== \"new\") {\n const nt = n.value.getRecordById(F, O);\n if (nt)\n o.value = nt.get(\"\") || {};\n else\n try {\n await n.value.getRecord(F, O);\n const pt = n.value.getRecordById(F, O);\n pt && (o.value = pt.get(\"\") || {});\n } catch {\n o.value = t.initializeRecord(u.value);\n }\n } else\n o.value = t.initializeRecord(u.value);\n i.value && Kr(F, O || \"new\", o, i.value), n.value.runAction(F, \"load\", O ? [O] : void 0);\n }\n }\n }\n if (e.doctype) {\n const z = e.recordId;\n if (typeof e.doctype == \"string\") {\n const R = e.doctype;\n i.value = n.value.getStore(), c.value = !0, f.value = null;\n let O;\n try {\n if (O = t.getDoctype(R), !O && t.getMeta) {\n const L = {\n path: `/${R}`,\n segments: [R]\n };\n O = await t.getMeta(L), O && t.addDoctype(O);\n }\n O || (f.value = new Error(`Doctype '${R}' not found in registry and getMeta returned no result`));\n } catch (L) {\n f.value = L instanceof Error ? L : new Error(String(L));\n } finally {\n c.value = !1;\n }\n if (l.value = O, !O) return;\n if (u.value = t.resolveSchema(O), z && z !== \"new\") {\n const L = n.value.getRecordById(O, z);\n if (L)\n o.value = L.get(\"\") || {};\n else\n try {\n await n.value.getRecord(O, z);\n const F = n.value.getRecordById(O, z);\n F && (o.value = F.get(\"\") || {});\n } catch {\n o.value = t.initializeRecord(u.value);\n }\n } else\n o.value = t.initializeRecord(u.value);\n i.value && Kr(O, z || \"new\", o, i.value);\n } else if (z && z !== \"new\") {\n const R = e.doctype, O = n.value.getRecordById(R, z);\n if (O)\n o.value = O.get(\"\") || {};\n else\n try {\n await n.value.getRecord(R, z);\n const L = n.value.getRecordById(R, z);\n L && (o.value = L.get(\"\") || {});\n } catch {\n o.value = t.initializeRecord(u.value);\n }\n }\n }\n }\n });\n const w = (z, R) => {\n const O = l.value || s.value;\n if (!O) return \"\";\n const L = R || e.recordId || a.value || \"new\";\n return `${O.slug}.${L}.${z}`;\n }, S = (z) => {\n const R = l.value || s.value;\n if (!(!i.value || !n.value || !R))\n try {\n const O = z.path.split(\".\");\n if (O.length >= 2) {\n const nt = O[0], pt = O[1];\n if (i.value.has(`${nt}.${pt}`) || n.value.addRecord(R, pt, { ...o.value }), O.length > 3) {\n const Us = `${nt}.${pt}`, Br = O.slice(2);\n let Wr = Us;\n for (let hr = 0; hr < Br.length - 1; hr++)\n if (Wr += `.${Br[hr]}`, !i.value.has(Wr)) {\n const Bs = Br[hr + 1], Ws = !isNaN(Number(Bs));\n i.value.set(Wr, Ws ? [] : {});\n }\n }\n }\n i.value.set(z.path, z.value);\n const L = z.fieldname.split(\".\"), F = { ...o.value };\n L.length === 1 ? F[L[0]] = z.value : wa(F, L, z.value), o.value = F;\n } catch {\n }\n };\n (e.doctype || t?.router) && (ri(\"hstPathProvider\", w), ri(\"hstChangeHandler\", S));\n const v = (z, R) => {\n if (!n.value)\n throw new Error(\"Stonecrop instance not available\");\n return n.value.initializeNestedData(z, R);\n }, X = async (z, R, O, L) => {\n if (!n.value)\n throw new Error(\"Stonecrop instance not available\");\n return n.value.fetchNestedData(z, R, O, L);\n }, be = (z, R) => {\n if (!n.value)\n throw new Error(\"Stonecrop instance not available\");\n return n.value.collectRecordPayload(z, R);\n }, Te = (z, R) => ({\n provideHSTPath: (F) => `${z}.${F}`,\n handleHSTChange: (F) => {\n const nt = F.path.startsWith(z) ? F.path : `${z}.${F.fieldname}`;\n S({\n ...F,\n path: nt\n });\n }\n }), je = {\n operations: g,\n currentIndex: m,\n undoRedoState: k,\n canUndo: E,\n canRedo: $,\n undoCount: b,\n redoCount: N,\n undo: M,\n redo: D,\n startBatch: ie,\n commitBatch: Re,\n cancelBatch: Ct,\n clear: jt,\n getOperationsFor: Ce,\n getSnapshot: ht,\n markIrreversible: A,\n logAction: Y,\n configure: ae\n };\n return e.doctype ? {\n stonecrop: n,\n operationLog: je,\n provideHSTPath: w,\n handleHSTChange: S,\n hstStore: i,\n formData: o,\n resolvedSchema: u,\n initializeNestedData: v,\n fetchNestedData: X,\n collectRecordPayload: be,\n createNestedContext: Te,\n isLoading: c,\n error: f,\n resolvedDoctype: l,\n isWorkflowReady: h,\n blockedLinks: d\n } : !e.doctype && t?.router ? {\n stonecrop: n,\n operationLog: je,\n provideHSTPath: w,\n handleHSTChange: S,\n hstStore: i,\n formData: o,\n resolvedSchema: u,\n initializeNestedData: v,\n fetchNestedData: X,\n collectRecordPayload: be,\n createNestedContext: Te,\n isLoading: c,\n error: f,\n resolvedDoctype: l,\n isWorkflowReady: h,\n blockedLinks: d\n } : {\n stonecrop: n,\n operationLog: je\n };\n}\nfunction Kr(e, t, r, n) {\n Je(\n r,\n (i) => {\n const o = `${e.slug}.${t}`;\n Object.keys(i).forEach((s) => {\n const a = `${o}.${s}`;\n try {\n n.set(a, i[s]);\n } catch {\n }\n });\n },\n { deep: !0 }\n );\n}\nfunction wa(e, t, r) {\n let n = e;\n for (let o = 0; o < t.length - 1; o++) {\n const s = t[o];\n (!(s in n) || typeof n[s] != \"object\") && (n[s] = isNaN(Number(t[o + 1])) ? {} : []), n = n[s];\n }\n const i = t[t.length - 1];\n n[i] = r;\n}\nfunction uo(e) {\n const r = (ro() ? kr(\"$operationLogStore\", void 0) : void 0) || or();\n e && r.configure(e);\n const { operations: n, currentIndex: i, undoRedoState: o, canUndo: s, canRedo: a, undoCount: u, redoCount: c } = oo(r);\n function f(k) {\n return r.undo(k);\n }\n function l(k) {\n return r.redo(k);\n }\n function h() {\n r.startBatch();\n }\n function d(k) {\n return r.commitBatch(k);\n }\n function _() {\n r.cancelBatch();\n }\n function g() {\n r.clear();\n }\n function m(k, M) {\n return r.getOperationsFor(k, M);\n }\n function E() {\n return r.getSnapshot();\n }\n function $(k, M) {\n r.markIrreversible(k, M);\n }\n function b(k, M, D, ie = \"success\", Re) {\n return r.logAction(k, M, D, ie, Re);\n }\n function N(k) {\n r.configure(k);\n }\n return {\n // State\n operations: n,\n currentIndex: i,\n undoRedoState: o,\n canUndo: s,\n canRedo: a,\n undoCount: u,\n redoCount: c,\n // Methods\n undo: f,\n redo: l,\n startBatch: h,\n commitBatch: d,\n cancelBatch: _,\n clear: g,\n getOperationsFor: m,\n getSnapshot: E,\n markIrreversible: $,\n logAction: b,\n configure: N\n };\n}\nfunction Tp(e, t = !0) {\n if (!t) return;\n const { undo: r, redo: n, canUndo: i, canRedo: o } = uo(), s = ma();\n Lt(s[\"Ctrl+Z\"], () => {\n i.value && r(e);\n }), Lt(s[\"Meta+Z\"], () => {\n i.value && r(e);\n }), Lt(s[\"Ctrl+Shift+Z\"], () => {\n o.value && n(e);\n }), Lt(s[\"Meta+Shift+Z\"], () => {\n o.value && n(e);\n }), Lt(s[\"Ctrl+Y\"], () => {\n o.value && n(e);\n });\n}\nasync function Pp(e, t) {\n const { startBatch: r, commitBatch: n, cancelBatch: i } = uo();\n r();\n try {\n return await e(), n(t);\n } catch (o) {\n throw i(), o;\n }\n}\nfunction p(e, t, r) {\n function n(a, u) {\n if (a._zod || Object.defineProperty(a, \"_zod\", {\n value: {\n def: u,\n constr: s,\n traits: /* @__PURE__ */ new Set()\n },\n enumerable: !1\n }), a._zod.traits.has(e))\n return;\n a._zod.traits.add(e), t(a, u);\n const c = s.prototype, f = Object.keys(c);\n for (let l = 0; l < f.length; l++) {\n const h = f[l];\n h in a || (a[h] = c[h].bind(a));\n }\n }\n const i = r?.Parent ?? Object;\n class o extends i {\n }\n Object.defineProperty(o, \"name\", { value: e });\n function s(a) {\n var u;\n const c = r?.Parent ? new o() : this;\n n(c, a), (u = c._zod).deferred ?? (u.deferred = []);\n for (const f of c._zod.deferred)\n f();\n return c;\n }\n return Object.defineProperty(s, \"init\", { value: n }), Object.defineProperty(s, Symbol.hasInstance, {\n value: (a) => r?.Parent && a instanceof r.Parent ? !0 : a?._zod?.traits?.has(e)\n }), Object.defineProperty(s, \"name\", { value: e }), s;\n}\nclass vt extends Error {\n constructor() {\n super(\"Encountered Promise during synchronous parse. Use .parseAsync() instead.\");\n }\n}\nclass co extends Error {\n constructor(t) {\n super(`Encountered unidirectional transform during encode: ${t}`), this.name = \"ZodEncodeError\";\n }\n}\nconst fo = {};\nfunction Ve(e) {\n return fo;\n}\nfunction lo(e) {\n const t = Object.values(e).filter((n) => typeof n == \"number\");\n return Object.entries(e).filter(([n, i]) => t.indexOf(+n) === -1).map(([n, i]) => i);\n}\nfunction on(e, t) {\n return typeof t == \"bigint\" ? t.toString() : t;\n}\nfunction Nr(e) {\n return {\n get value() {\n {\n const t = e();\n return Object.defineProperty(this, \"value\", { value: t }), t;\n }\n }\n };\n}\nfunction wn(e) {\n return e == null;\n}\nfunction Sn(e) {\n const t = e.startsWith(\"^\") ? 1 : 0, r = e.endsWith(\"$\") ? e.length - 1 : e.length;\n return e.slice(t, r);\n}\nfunction Sa(e, t) {\n const r = (e.toString().split(\".\")[1] || \"\").length, n = t.toString();\n let i = (n.split(\".\")[1] || \"\").length;\n if (i === 0 && /\\d?e-\\d?/.test(n)) {\n const u = n.match(/\\d?e-(\\d?)/);\n u?.[1] && (i = Number.parseInt(u[1]));\n }\n const o = r > i ? r : i, s = Number.parseInt(e.toFixed(o).replace(\".\", \"\")), a = Number.parseInt(t.toFixed(o).replace(\".\", \"\"));\n return s % a / 10 ** o;\n}\nconst ui = /* @__PURE__ */ Symbol(\"evaluating\");\nfunction T(e, t, r) {\n let n;\n Object.defineProperty(e, t, {\n get() {\n if (n !== ui)\n return n === void 0 && (n = ui, n = r()), n;\n },\n set(i) {\n Object.defineProperty(e, t, {\n value: i\n // configurable: true,\n });\n },\n configurable: !0\n });\n}\nfunction at(e, t, r) {\n Object.defineProperty(e, t, {\n value: r,\n writable: !0,\n enumerable: !0,\n configurable: !0\n });\n}\nfunction et(...e) {\n const t = {};\n for (const r of e) {\n const n = Object.getOwnPropertyDescriptors(r);\n Object.assign(t, n);\n }\n return Object.defineProperties({}, t);\n}\nfunction ci(e) {\n return JSON.stringify(e);\n}\nfunction ba(e) {\n return e.toLowerCase().trim().replace(/[^\\w\\s-]/g, \"\").replace(/[\\s_-]+/g, \"-\").replace(/^-+|-+$/g, \"\");\n}\nconst ho = \"captureStackTrace\" in Error ? Error.captureStackTrace : (...e) => {\n};\nfunction Ht(e) {\n return typeof e == \"object\" && e !== null && !Array.isArray(e);\n}\nconst za = Nr(() => {\n if (typeof navigator < \"u\" && navigator?.userAgent?.includes(\"Cloudflare\"))\n return !1;\n try {\n const e = Function;\n return new e(\"\"), !0;\n } catch {\n return !1;\n }\n});\nfunction yt(e) {\n if (Ht(e) === !1)\n return !1;\n const t = e.constructor;\n if (t === void 0 || typeof t != \"function\")\n return !0;\n const r = t.prototype;\n return !(Ht(r) === !1 || Object.prototype.hasOwnProperty.call(r, \"isPrototypeOf\") === !1);\n}\nfunction po(e) {\n return yt(e) ? { ...e } : Array.isArray(e) ? [...e] : e;\n}\nconst ka = /* @__PURE__ */ new Set([\"string\", \"number\", \"symbol\"]);\nfunction wt(e) {\n return e.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\nfunction tt(e, t, r) {\n const n = new e._zod.constr(t ?? e._zod.def);\n return (!t || r?.parent) && (n._zod.parent = e), n;\n}\nfunction y(e) {\n const t = e;\n if (!t)\n return {};\n if (typeof t == \"string\")\n return { error: () => t };\n if (t?.message !== void 0) {\n if (t?.error !== void 0)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n t.error = t.message;\n }\n return delete t.message, typeof t.error == \"string\" ? { ...t, error: () => t.error } : t;\n}\nfunction Oa(e) {\n return Object.keys(e).filter((t) => e[t]._zod.optin === \"optional\" && e[t]._zod.optout === \"optional\");\n}\nconst $a = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-34028234663852886e22, 34028234663852886e22],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE]\n};\nfunction Ea(e, t) {\n const r = e._zod.def, n = r.checks;\n if (n && n.length > 0)\n throw new Error(\".pick() cannot be used on object schemas containing refinements\");\n const o = et(e._zod.def, {\n get shape() {\n const s = {};\n for (const a in t) {\n if (!(a in r.shape))\n throw new Error(`Unrecognized key: \"${a}\"`);\n t[a] && (s[a] = r.shape[a]);\n }\n return at(this, \"shape\", s), s;\n },\n checks: []\n });\n return tt(e, o);\n}\nfunction Ia(e, t) {\n const r = e._zod.def, n = r.checks;\n if (n && n.length > 0)\n throw new Error(\".omit() cannot be used on object schemas containing refinements\");\n const o = et(e._zod.def, {\n get shape() {\n const s = { ...e._zod.def.shape };\n for (const a in t) {\n if (!(a in r.shape))\n throw new Error(`Unrecognized key: \"${a}\"`);\n t[a] && delete s[a];\n }\n return at(this, \"shape\", s), s;\n },\n checks: []\n });\n return tt(e, o);\n}\nfunction Aa(e, t) {\n if (!yt(t))\n throw new Error(\"Invalid input to extend: expected a plain object\");\n const r = e._zod.def.checks;\n if (r && r.length > 0) {\n const o = e._zod.def.shape;\n for (const s in t)\n if (Object.getOwnPropertyDescriptor(o, s) !== void 0)\n throw new Error(\"Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.\");\n }\n const i = et(e._zod.def, {\n get shape() {\n const o = { ...e._zod.def.shape, ...t };\n return at(this, \"shape\", o), o;\n }\n });\n return tt(e, i);\n}\nfunction Ra(e, t) {\n if (!yt(t))\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n const r = et(e._zod.def, {\n get shape() {\n const n = { ...e._zod.def.shape, ...t };\n return at(this, \"shape\", n), n;\n }\n });\n return tt(e, r);\n}\nfunction Ta(e, t) {\n const r = et(e._zod.def, {\n get shape() {\n const n = { ...e._zod.def.shape, ...t._zod.def.shape };\n return at(this, \"shape\", n), n;\n },\n get catchall() {\n return t._zod.def.catchall;\n },\n checks: []\n // delete existing checks\n });\n return tt(e, r);\n}\nfunction Pa(e, t, r) {\n const i = t._zod.def.checks;\n if (i && i.length > 0)\n throw new Error(\".partial() cannot be used on object schemas containing refinements\");\n const s = et(t._zod.def, {\n get shape() {\n const a = t._zod.def.shape, u = { ...a };\n if (r)\n for (const c in r) {\n if (!(c in a))\n throw new Error(`Unrecognized key: \"${c}\"`);\n r[c] && (u[c] = e ? new e({\n type: \"optional\",\n innerType: a[c]\n }) : a[c]);\n }\n else\n for (const c in a)\n u[c] = e ? new e({\n type: \"optional\",\n innerType: a[c]\n }) : a[c];\n return at(this, \"shape\", u), u;\n },\n checks: []\n });\n return tt(t, s);\n}\nfunction Na(e, t, r) {\n const n = et(t._zod.def, {\n get shape() {\n const i = t._zod.def.shape, o = { ...i };\n if (r)\n for (const s in r) {\n if (!(s in o))\n throw new Error(`Unrecognized key: \"${s}\"`);\n r[s] && (o[s] = new e({\n type: \"nonoptional\",\n innerType: i[s]\n }));\n }\n else\n for (const s in i)\n o[s] = new e({\n type: \"nonoptional\",\n innerType: i[s]\n });\n return at(this, \"shape\", o), o;\n }\n });\n return tt(t, n);\n}\nfunction gt(e, t = 0) {\n if (e.aborted === !0)\n return !0;\n for (let r = t; r < e.issues.length; r++)\n if (e.issues[r]?.continue !== !0)\n return !0;\n return !1;\n}\nfunction mt(e, t) {\n return t.map((r) => {\n var n;\n return (n = r).path ?? (n.path = []), r.path.unshift(e), r;\n });\n}\nfunction gr(e) {\n return typeof e == \"string\" ? e : e?.message;\n}\nfunction Ke(e, t, r) {\n const n = { ...e, path: e.path ?? [] };\n if (!e.message) {\n const i = gr(e.inst?._zod.def?.error?.(e)) ?? gr(t?.error?.(e)) ?? gr(r.customError?.(e)) ?? gr(r.localeError?.(e)) ?? \"Invalid input\";\n n.message = i;\n }\n return delete n.inst, delete n.continue, t?.reportInput || delete n.input, n;\n}\nfunction bn(e) {\n return Array.isArray(e) ? \"array\" : typeof e == \"string\" ? \"string\" : \"unknown\";\n}\nfunction Yt(...e) {\n const [t, r, n] = e;\n return typeof t == \"string\" ? {\n message: t,\n code: \"custom\",\n input: r,\n inst: n\n } : { ...t };\n}\nconst _o = (e, t) => {\n e.name = \"$ZodError\", Object.defineProperty(e, \"_zod\", {\n value: e._zod,\n enumerable: !1\n }), Object.defineProperty(e, \"issues\", {\n value: t,\n enumerable: !1\n }), e.message = JSON.stringify(t, on, 2), Object.defineProperty(e, \"toString\", {\n value: () => e.message,\n enumerable: !1\n });\n}, go = p(\"$ZodError\", _o), mo = p(\"$ZodError\", _o, { Parent: Error });\nfunction Za(e, t = (r) => r.message) {\n const r = {}, n = [];\n for (const i of e.issues)\n i.path.length > 0 ? (r[i.path[0]] = r[i.path[0]] || [], r[i.path[0]].push(t(i))) : n.push(t(i));\n return { formErrors: n, fieldErrors: r };\n}\nfunction Ma(e, t = (r) => r.message) {\n const r = { _errors: [] }, n = (i) => {\n for (const o of i.issues)\n if (o.code === \"invalid_union\" && o.errors.length)\n o.errors.map((s) => n({ issues: s }));\n else if (o.code === \"invalid_key\")\n n({ issues: o.issues });\n else if (o.code === \"invalid_element\")\n n({ issues: o.issues });\n else if (o.path.length === 0)\n r._errors.push(t(o));\n else {\n let s = r, a = 0;\n for (; a < o.path.length; ) {\n const u = o.path[a];\n a === o.path.length - 1 ? (s[u] = s[u] || { _errors: [] }, s[u]._errors.push(t(o))) : s[u] = s[u] || { _errors: [] }, s = s[u], a++;\n }\n }\n };\n return n(e), r;\n}\nconst zn = (e) => (t, r, n, i) => {\n const o = n ? Object.assign(n, { async: !1 }) : { async: !1 }, s = t._zod.run({ value: r, issues: [] }, o);\n if (s instanceof Promise)\n throw new vt();\n if (s.issues.length) {\n const a = new (i?.Err ?? e)(s.issues.map((u) => Ke(u, o, Ve())));\n throw ho(a, i?.callee), a;\n }\n return s.value;\n}, kn = (e) => async (t, r, n, i) => {\n const o = n ? Object.assign(n, { async: !0 }) : { async: !0 };\n let s = t._zod.run({ value: r, issues: [] }, o);\n if (s instanceof Promise && (s = await s), s.issues.length) {\n const a = new (i?.Err ?? e)(s.issues.map((u) => Ke(u, o, Ve())));\n throw ho(a, i?.callee), a;\n }\n return s.value;\n}, Zr = (e) => (t, r, n) => {\n const i = n ? { ...n, async: !1 } : { async: !1 }, o = t._zod.run({ value: r, issues: [] }, i);\n if (o instanceof Promise)\n throw new vt();\n return o.issues.length ? {\n success: !1,\n error: new (e ?? go)(o.issues.map((s) => Ke(s, i, Ve())))\n } : { success: !0, data: o.value };\n}, Da = /* @__PURE__ */ Zr(mo), Mr = (e) => async (t, r, n) => {\n const i = n ? Object.assign(n, { async: !0 }) : { async: !0 };\n let o = t._zod.run({ value: r, issues: [] }, i);\n return o instanceof Promise && (o = await o), o.issues.length ? {\n success: !1,\n error: new e(o.issues.map((s) => Ke(s, i, Ve())))\n } : { success: !0, data: o.value };\n}, Ca = /* @__PURE__ */ Mr(mo), ja = (e) => (t, r, n) => {\n const i = n ? Object.assign(n, { direction: \"backward\" }) : { direction: \"backward\" };\n return zn(e)(t, r, i);\n}, La = (e) => (t, r, n) => zn(e)(t, r, n), Fa = (e) => async (t, r, n) => {\n const i = n ? Object.assign(n, { direction: \"backward\" }) : { direction: \"backward\" };\n return kn(e)(t, r, i);\n}, xa = (e) => async (t, r, n) => kn(e)(t, r, n), qa = (e) => (t, r, n) => {\n const i = n ? Object.assign(n, { direction: \"backward\" }) : { direction: \"backward\" };\n return Zr(e)(t, r, i);\n}, Ua = (e) => (t, r, n) => Zr(e)(t, r, n), Ba = (e) => async (t, r, n) => {\n const i = n ? Object.assign(n, { direction: \"backward\" }) : { direction: \"backward\" };\n return Mr(e)(t, r, i);\n}, Wa = (e) => async (t, r, n) => Mr(e)(t, r, n), Ja = /^[cC][^\\s-]{8,}$/, Va = /^[0-9a-z]+$/, Ka = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/, Ha = /^[0-9a-vA-V]{20}$/, Ya = /^[A-Za-z0-9]{27}$/, Ga = /^[a-zA-Z0-9_-]{21}$/, Xa = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/, Qa = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/, fi = (e) => e ? new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`) : /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/, eu = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/, tu = \"^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$\";\nfunction ru() {\n return new RegExp(tu, \"u\");\n}\nconst nu = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, iu = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/, ou = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/, su = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, au = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/, vo = /^[A-Za-z0-9_-]*$/, uu = /^\\+[1-9]\\d{6,14}$/, yo = \"(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))\", cu = /* @__PURE__ */ new RegExp(`^${yo}$`);\nfunction wo(e) {\n const t = \"(?:[01]\\\\d|2[0-3]):[0-5]\\\\d\";\n return typeof e.precision == \"number\" ? e.precision === -1 ? `${t}` : e.precision === 0 ? `${t}:[0-5]\\\\d` : `${t}:[0-5]\\\\d\\\\.\\\\d{${e.precision}}` : `${t}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n}\nfunction fu(e) {\n return new RegExp(`^${wo(e)}$`);\n}\nfunction lu(e) {\n const t = wo({ precision: e.precision }), r = [\"Z\"];\n e.local && r.push(\"\"), e.offset && r.push(\"([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)\");\n const n = `${t}(?:${r.join(\"|\")})`;\n return new RegExp(`^${yo}T(?:${n})$`);\n}\nconst hu = (e) => {\n const t = e ? `[\\\\s\\\\S]{${e?.minimum ?? 0},${e?.maximum ?? \"\"}}` : \"[\\\\s\\\\S]*\";\n return new RegExp(`^${t}$`);\n}, pu = /^-?\\d+$/, So = /^-?\\d+(?:\\.\\d+)?$/, du = /^(?:true|false)$/i, _u = /^[^A-Z]*$/, gu = /^[^a-z]*$/, de = /* @__PURE__ */ p(\"$ZodCheck\", (e, t) => {\n var r;\n e._zod ?? (e._zod = {}), e._zod.def = t, (r = e._zod).onattach ?? (r.onattach = []);\n}), bo = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\"\n}, zo = /* @__PURE__ */ p(\"$ZodCheckLessThan\", (e, t) => {\n de.init(e, t);\n const r = bo[typeof t.value];\n e._zod.onattach.push((n) => {\n const i = n._zod.bag, o = (t.inclusive ? i.maximum : i.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n t.value < o && (t.inclusive ? i.maximum = t.value : i.exclusiveMaximum = t.value);\n }), e._zod.check = (n) => {\n (t.inclusive ? n.value <= t.value : n.value < t.value) || n.issues.push({\n origin: r,\n code: \"too_big\",\n maximum: typeof t.value == \"object\" ? t.value.getTime() : t.value,\n input: n.value,\n inclusive: t.inclusive,\n inst: e,\n continue: !t.abort\n });\n };\n}), ko = /* @__PURE__ */ p(\"$ZodCheckGreaterThan\", (e, t) => {\n de.init(e, t);\n const r = bo[typeof t.value];\n e._zod.onattach.push((n) => {\n const i = n._zod.bag, o = (t.inclusive ? i.minimum : i.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n t.value > o && (t.inclusive ? i.minimum = t.value : i.exclusiveMinimum = t.value);\n }), e._zod.check = (n) => {\n (t.inclusive ? n.value >= t.value : n.value > t.value) || n.issues.push({\n origin: r,\n code: \"too_small\",\n minimum: typeof t.value == \"object\" ? t.value.getTime() : t.value,\n input: n.value,\n inclusive: t.inclusive,\n inst: e,\n continue: !t.abort\n });\n };\n}), mu = /* @__PURE__ */ p(\"$ZodCheckMultipleOf\", (e, t) => {\n de.init(e, t), e._zod.onattach.push((r) => {\n var n;\n (n = r._zod.bag).multipleOf ?? (n.multipleOf = t.value);\n }), e._zod.check = (r) => {\n if (typeof r.value != typeof t.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n (typeof r.value == \"bigint\" ? r.value % t.value === BigInt(0) : Sa(r.value, t.value) === 0) || r.issues.push({\n origin: typeof r.value,\n code: \"not_multiple_of\",\n divisor: t.value,\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), vu = /* @__PURE__ */ p(\"$ZodCheckNumberFormat\", (e, t) => {\n de.init(e, t), t.format = t.format || \"float64\";\n const r = t.format?.includes(\"int\"), n = r ? \"int\" : \"number\", [i, o] = $a[t.format];\n e._zod.onattach.push((s) => {\n const a = s._zod.bag;\n a.format = t.format, a.minimum = i, a.maximum = o, r && (a.pattern = pu);\n }), e._zod.check = (s) => {\n const a = s.value;\n if (r) {\n if (!Number.isInteger(a)) {\n s.issues.push({\n expected: n,\n format: t.format,\n code: \"invalid_type\",\n continue: !1,\n input: a,\n inst: e\n });\n return;\n }\n if (!Number.isSafeInteger(a)) {\n a > 0 ? s.issues.push({\n input: a,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst: e,\n origin: n,\n inclusive: !0,\n continue: !t.abort\n }) : s.issues.push({\n input: a,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst: e,\n origin: n,\n inclusive: !0,\n continue: !t.abort\n });\n return;\n }\n }\n a < i && s.issues.push({\n origin: \"number\",\n input: a,\n code: \"too_small\",\n minimum: i,\n inclusive: !0,\n inst: e,\n continue: !t.abort\n }), a > o && s.issues.push({\n origin: \"number\",\n input: a,\n code: \"too_big\",\n maximum: o,\n inclusive: !0,\n inst: e,\n continue: !t.abort\n });\n };\n}), yu = /* @__PURE__ */ p(\"$ZodCheckMaxLength\", (e, t) => {\n var r;\n de.init(e, t), (r = e._zod.def).when ?? (r.when = (n) => {\n const i = n.value;\n return !wn(i) && i.length !== void 0;\n }), e._zod.onattach.push((n) => {\n const i = n._zod.bag.maximum ?? Number.POSITIVE_INFINITY;\n t.maximum < i && (n._zod.bag.maximum = t.maximum);\n }), e._zod.check = (n) => {\n const i = n.value;\n if (i.length <= t.maximum)\n return;\n const s = bn(i);\n n.issues.push({\n origin: s,\n code: \"too_big\",\n maximum: t.maximum,\n inclusive: !0,\n input: i,\n inst: e,\n continue: !t.abort\n });\n };\n}), wu = /* @__PURE__ */ p(\"$ZodCheckMinLength\", (e, t) => {\n var r;\n de.init(e, t), (r = e._zod.def).when ?? (r.when = (n) => {\n const i = n.value;\n return !wn(i) && i.length !== void 0;\n }), e._zod.onattach.push((n) => {\n const i = n._zod.bag.minimum ?? Number.NEGATIVE_INFINITY;\n t.minimum > i && (n._zod.bag.minimum = t.minimum);\n }), e._zod.check = (n) => {\n const i = n.value;\n if (i.length >= t.minimum)\n return;\n const s = bn(i);\n n.issues.push({\n origin: s,\n code: \"too_small\",\n minimum: t.minimum,\n inclusive: !0,\n input: i,\n inst: e,\n continue: !t.abort\n });\n };\n}), Su = /* @__PURE__ */ p(\"$ZodCheckLengthEquals\", (e, t) => {\n var r;\n de.init(e, t), (r = e._zod.def).when ?? (r.when = (n) => {\n const i = n.value;\n return !wn(i) && i.length !== void 0;\n }), e._zod.onattach.push((n) => {\n const i = n._zod.bag;\n i.minimum = t.length, i.maximum = t.length, i.length = t.length;\n }), e._zod.check = (n) => {\n const i = n.value, o = i.length;\n if (o === t.length)\n return;\n const s = bn(i), a = o > t.length;\n n.issues.push({\n origin: s,\n ...a ? { code: \"too_big\", maximum: t.length } : { code: \"too_small\", minimum: t.length },\n inclusive: !0,\n exact: !0,\n input: n.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), Dr = /* @__PURE__ */ p(\"$ZodCheckStringFormat\", (e, t) => {\n var r, n;\n de.init(e, t), e._zod.onattach.push((i) => {\n const o = i._zod.bag;\n o.format = t.format, t.pattern && (o.patterns ?? (o.patterns = /* @__PURE__ */ new Set()), o.patterns.add(t.pattern));\n }), t.pattern ? (r = e._zod).check ?? (r.check = (i) => {\n t.pattern.lastIndex = 0, !t.pattern.test(i.value) && i.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: t.format,\n input: i.value,\n ...t.pattern ? { pattern: t.pattern.toString() } : {},\n inst: e,\n continue: !t.abort\n });\n }) : (n = e._zod).check ?? (n.check = () => {\n });\n}), bu = /* @__PURE__ */ p(\"$ZodCheckRegex\", (e, t) => {\n Dr.init(e, t), e._zod.check = (r) => {\n t.pattern.lastIndex = 0, !t.pattern.test(r.value) && r.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: r.value,\n pattern: t.pattern.toString(),\n inst: e,\n continue: !t.abort\n });\n };\n}), zu = /* @__PURE__ */ p(\"$ZodCheckLowerCase\", (e, t) => {\n t.pattern ?? (t.pattern = _u), Dr.init(e, t);\n}), ku = /* @__PURE__ */ p(\"$ZodCheckUpperCase\", (e, t) => {\n t.pattern ?? (t.pattern = gu), Dr.init(e, t);\n}), Ou = /* @__PURE__ */ p(\"$ZodCheckIncludes\", (e, t) => {\n de.init(e, t);\n const r = wt(t.includes), n = new RegExp(typeof t.position == \"number\" ? `^.{${t.position}}${r}` : r);\n t.pattern = n, e._zod.onattach.push((i) => {\n const o = i._zod.bag;\n o.patterns ?? (o.patterns = /* @__PURE__ */ new Set()), o.patterns.add(n);\n }), e._zod.check = (i) => {\n i.value.includes(t.includes, t.position) || i.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: t.includes,\n input: i.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), $u = /* @__PURE__ */ p(\"$ZodCheckStartsWith\", (e, t) => {\n de.init(e, t);\n const r = new RegExp(`^${wt(t.prefix)}.*`);\n t.pattern ?? (t.pattern = r), e._zod.onattach.push((n) => {\n const i = n._zod.bag;\n i.patterns ?? (i.patterns = /* @__PURE__ */ new Set()), i.patterns.add(r);\n }), e._zod.check = (n) => {\n n.value.startsWith(t.prefix) || n.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: t.prefix,\n input: n.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), Eu = /* @__PURE__ */ p(\"$ZodCheckEndsWith\", (e, t) => {\n de.init(e, t);\n const r = new RegExp(`.*${wt(t.suffix)}$`);\n t.pattern ?? (t.pattern = r), e._zod.onattach.push((n) => {\n const i = n._zod.bag;\n i.patterns ?? (i.patterns = /* @__PURE__ */ new Set()), i.patterns.add(r);\n }), e._zod.check = (n) => {\n n.value.endsWith(t.suffix) || n.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: t.suffix,\n input: n.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), Iu = /* @__PURE__ */ p(\"$ZodCheckOverwrite\", (e, t) => {\n de.init(e, t), e._zod.check = (r) => {\n r.value = t.tx(r.value);\n };\n});\nclass Au {\n constructor(t = []) {\n this.content = [], this.indent = 0, this && (this.args = t);\n }\n indented(t) {\n this.indent += 1, t(this), this.indent -= 1;\n }\n write(t) {\n if (typeof t == \"function\") {\n t(this, { execution: \"sync\" }), t(this, { execution: \"async\" });\n return;\n }\n const n = t.split(`\n`).filter((s) => s), i = Math.min(...n.map((s) => s.length - s.trimStart().length)), o = n.map((s) => s.slice(i)).map((s) => \" \".repeat(this.indent * 2) + s);\n for (const s of o)\n this.content.push(s);\n }\n compile() {\n const t = Function, r = this?.args, i = [...(this?.content ?? [\"\"]).map((o) => ` ${o}`)];\n return new t(...r, i.join(`\n`));\n }\n}\nconst Ru = {\n major: 4,\n minor: 3,\n patch: 6\n}, W = /* @__PURE__ */ p(\"$ZodType\", (e, t) => {\n var r;\n e ?? (e = {}), e._zod.def = t, e._zod.bag = e._zod.bag || {}, e._zod.version = Ru;\n const n = [...e._zod.def.checks ?? []];\n e._zod.traits.has(\"$ZodCheck\") && n.unshift(e);\n for (const i of n)\n for (const o of i._zod.onattach)\n o(e);\n if (n.length === 0)\n (r = e._zod).deferred ?? (r.deferred = []), e._zod.deferred?.push(() => {\n e._zod.run = e._zod.parse;\n });\n else {\n const i = (s, a, u) => {\n let c = gt(s), f;\n for (const l of a) {\n if (l._zod.def.when) {\n if (!l._zod.def.when(s))\n continue;\n } else if (c)\n continue;\n const h = s.issues.length, d = l._zod.check(s);\n if (d instanceof Promise && u?.async === !1)\n throw new vt();\n if (f || d instanceof Promise)\n f = (f ?? Promise.resolve()).then(async () => {\n await d, s.issues.length !== h && (c || (c = gt(s, h)));\n });\n else {\n if (s.issues.length === h)\n continue;\n c || (c = gt(s, h));\n }\n }\n return f ? f.then(() => s) : s;\n }, o = (s, a, u) => {\n if (gt(s))\n return s.aborted = !0, s;\n const c = i(a, n, u);\n if (c instanceof Promise) {\n if (u.async === !1)\n throw new vt();\n return c.then((f) => e._zod.parse(f, u));\n }\n return e._zod.parse(c, u);\n };\n e._zod.run = (s, a) => {\n if (a.skipChecks)\n return e._zod.parse(s, a);\n if (a.direction === \"backward\") {\n const c = e._zod.parse({ value: s.value, issues: [] }, { ...a, skipChecks: !0 });\n return c instanceof Promise ? c.then((f) => o(f, s, a)) : o(c, s, a);\n }\n const u = e._zod.parse(s, a);\n if (u instanceof Promise) {\n if (a.async === !1)\n throw new vt();\n return u.then((c) => i(c, n, a));\n }\n return i(u, n, a);\n };\n }\n T(e, \"~standard\", () => ({\n validate: (i) => {\n try {\n const o = Da(e, i);\n return o.success ? { value: o.data } : { issues: o.error?.issues };\n } catch {\n return Ca(e, i).then((s) => s.success ? { value: s.data } : { issues: s.error?.issues });\n }\n },\n vendor: \"zod\",\n version: 1\n }));\n}), On = /* @__PURE__ */ p(\"$ZodString\", (e, t) => {\n W.init(e, t), e._zod.pattern = [...e?._zod.bag?.patterns ?? []].pop() ?? hu(e._zod.bag), e._zod.parse = (r, n) => {\n if (t.coerce)\n try {\n r.value = String(r.value);\n } catch {\n }\n return typeof r.value == \"string\" || r.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: r.value,\n inst: e\n }), r;\n };\n}), J = /* @__PURE__ */ p(\"$ZodStringFormat\", (e, t) => {\n Dr.init(e, t), On.init(e, t);\n}), Tu = /* @__PURE__ */ p(\"$ZodGUID\", (e, t) => {\n t.pattern ?? (t.pattern = Qa), J.init(e, t);\n}), Pu = /* @__PURE__ */ p(\"$ZodUUID\", (e, t) => {\n if (t.version) {\n const n = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8\n }[t.version];\n if (n === void 0)\n throw new Error(`Invalid UUID version: \"${t.version}\"`);\n t.pattern ?? (t.pattern = fi(n));\n } else\n t.pattern ?? (t.pattern = fi());\n J.init(e, t);\n}), Nu = /* @__PURE__ */ p(\"$ZodEmail\", (e, t) => {\n t.pattern ?? (t.pattern = eu), J.init(e, t);\n}), Zu = /* @__PURE__ */ p(\"$ZodURL\", (e, t) => {\n J.init(e, t), e._zod.check = (r) => {\n try {\n const n = r.value.trim(), i = new URL(n);\n t.hostname && (t.hostname.lastIndex = 0, t.hostname.test(i.hostname) || r.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: t.hostname.source,\n input: r.value,\n inst: e,\n continue: !t.abort\n })), t.protocol && (t.protocol.lastIndex = 0, t.protocol.test(i.protocol.endsWith(\":\") ? i.protocol.slice(0, -1) : i.protocol) || r.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: t.protocol.source,\n input: r.value,\n inst: e,\n continue: !t.abort\n })), t.normalize ? r.value = i.href : r.value = n;\n return;\n } catch {\n r.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n }\n };\n}), Mu = /* @__PURE__ */ p(\"$ZodEmoji\", (e, t) => {\n t.pattern ?? (t.pattern = ru()), J.init(e, t);\n}), Du = /* @__PURE__ */ p(\"$ZodNanoID\", (e, t) => {\n t.pattern ?? (t.pattern = Ga), J.init(e, t);\n}), Cu = /* @__PURE__ */ p(\"$ZodCUID\", (e, t) => {\n t.pattern ?? (t.pattern = Ja), J.init(e, t);\n}), ju = /* @__PURE__ */ p(\"$ZodCUID2\", (e, t) => {\n t.pattern ?? (t.pattern = Va), J.init(e, t);\n}), Lu = /* @__PURE__ */ p(\"$ZodULID\", (e, t) => {\n t.pattern ?? (t.pattern = Ka), J.init(e, t);\n}), Fu = /* @__PURE__ */ p(\"$ZodXID\", (e, t) => {\n t.pattern ?? (t.pattern = Ha), J.init(e, t);\n}), xu = /* @__PURE__ */ p(\"$ZodKSUID\", (e, t) => {\n t.pattern ?? (t.pattern = Ya), J.init(e, t);\n}), qu = /* @__PURE__ */ p(\"$ZodISODateTime\", (e, t) => {\n t.pattern ?? (t.pattern = lu(t)), J.init(e, t);\n}), Uu = /* @__PURE__ */ p(\"$ZodISODate\", (e, t) => {\n t.pattern ?? (t.pattern = cu), J.init(e, t);\n}), Bu = /* @__PURE__ */ p(\"$ZodISOTime\", (e, t) => {\n t.pattern ?? (t.pattern = fu(t)), J.init(e, t);\n}), Wu = /* @__PURE__ */ p(\"$ZodISODuration\", (e, t) => {\n t.pattern ?? (t.pattern = Xa), J.init(e, t);\n}), Ju = /* @__PURE__ */ p(\"$ZodIPv4\", (e, t) => {\n t.pattern ?? (t.pattern = nu), J.init(e, t), e._zod.bag.format = \"ipv4\";\n}), Vu = /* @__PURE__ */ p(\"$ZodIPv6\", (e, t) => {\n t.pattern ?? (t.pattern = iu), J.init(e, t), e._zod.bag.format = \"ipv6\", e._zod.check = (r) => {\n try {\n new URL(`http://[${r.value}]`);\n } catch {\n r.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n }\n };\n}), Ku = /* @__PURE__ */ p(\"$ZodCIDRv4\", (e, t) => {\n t.pattern ?? (t.pattern = ou), J.init(e, t);\n}), Hu = /* @__PURE__ */ p(\"$ZodCIDRv6\", (e, t) => {\n t.pattern ?? (t.pattern = su), J.init(e, t), e._zod.check = (r) => {\n const n = r.value.split(\"/\");\n try {\n if (n.length !== 2)\n throw new Error();\n const [i, o] = n;\n if (!o)\n throw new Error();\n const s = Number(o);\n if (`${s}` !== o)\n throw new Error();\n if (s < 0 || s > 128)\n throw new Error();\n new URL(`http://[${i}]`);\n } catch {\n r.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n }\n };\n});\nfunction Oo(e) {\n if (e === \"\")\n return !0;\n if (e.length % 4 !== 0)\n return !1;\n try {\n return atob(e), !0;\n } catch {\n return !1;\n }\n}\nconst Yu = /* @__PURE__ */ p(\"$ZodBase64\", (e, t) => {\n t.pattern ?? (t.pattern = au), J.init(e, t), e._zod.bag.contentEncoding = \"base64\", e._zod.check = (r) => {\n Oo(r.value) || r.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n };\n});\nfunction Gu(e) {\n if (!vo.test(e))\n return !1;\n const t = e.replace(/[-_]/g, (n) => n === \"-\" ? \"+\" : \"/\"), r = t.padEnd(Math.ceil(t.length / 4) * 4, \"=\");\n return Oo(r);\n}\nconst Xu = /* @__PURE__ */ p(\"$ZodBase64URL\", (e, t) => {\n t.pattern ?? (t.pattern = vo), J.init(e, t), e._zod.bag.contentEncoding = \"base64url\", e._zod.check = (r) => {\n Gu(r.value) || r.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), Qu = /* @__PURE__ */ p(\"$ZodE164\", (e, t) => {\n t.pattern ?? (t.pattern = uu), J.init(e, t);\n});\nfunction ec(e, t = null) {\n try {\n const r = e.split(\".\");\n if (r.length !== 3)\n return !1;\n const [n] = r;\n if (!n)\n return !1;\n const i = JSON.parse(atob(n));\n return !(\"typ\" in i && i?.typ !== \"JWT\" || !i.alg || t && (!(\"alg\" in i) || i.alg !== t));\n } catch {\n return !1;\n }\n}\nconst tc = /* @__PURE__ */ p(\"$ZodJWT\", (e, t) => {\n J.init(e, t), e._zod.check = (r) => {\n ec(r.value, t.alg) || r.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), $o = /* @__PURE__ */ p(\"$ZodNumber\", (e, t) => {\n W.init(e, t), e._zod.pattern = e._zod.bag.pattern ?? So, e._zod.parse = (r, n) => {\n if (t.coerce)\n try {\n r.value = Number(r.value);\n } catch {\n }\n const i = r.value;\n if (typeof i == \"number\" && !Number.isNaN(i) && Number.isFinite(i))\n return r;\n const o = typeof i == \"number\" ? Number.isNaN(i) ? \"NaN\" : Number.isFinite(i) ? void 0 : \"Infinity\" : void 0;\n return r.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input: i,\n inst: e,\n ...o ? { received: o } : {}\n }), r;\n };\n}), rc = /* @__PURE__ */ p(\"$ZodNumberFormat\", (e, t) => {\n vu.init(e, t), $o.init(e, t);\n}), nc = /* @__PURE__ */ p(\"$ZodBoolean\", (e, t) => {\n W.init(e, t), e._zod.pattern = du, e._zod.parse = (r, n) => {\n if (t.coerce)\n try {\n r.value = !!r.value;\n } catch {\n }\n const i = r.value;\n return typeof i == \"boolean\" || r.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input: i,\n inst: e\n }), r;\n };\n}), ic = /* @__PURE__ */ p(\"$ZodUnknown\", (e, t) => {\n W.init(e, t), e._zod.parse = (r) => r;\n}), oc = /* @__PURE__ */ p(\"$ZodNever\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => (r.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: r.value,\n inst: e\n }), r);\n});\nfunction li(e, t, r) {\n e.issues.length && t.issues.push(...mt(r, e.issues)), t.value[r] = e.value;\n}\nconst sc = /* @__PURE__ */ p(\"$ZodArray\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => {\n const i = r.value;\n if (!Array.isArray(i))\n return r.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input: i,\n inst: e\n }), r;\n r.value = Array(i.length);\n const o = [];\n for (let s = 0; s < i.length; s++) {\n const a = i[s], u = t.element._zod.run({\n value: a,\n issues: []\n }, n);\n u instanceof Promise ? o.push(u.then((c) => li(c, r, s))) : li(u, r, s);\n }\n return o.length ? Promise.all(o).then(() => r) : r;\n };\n});\nfunction $r(e, t, r, n, i) {\n if (e.issues.length) {\n if (i && !(r in n))\n return;\n t.issues.push(...mt(r, e.issues));\n }\n e.value === void 0 ? r in n && (t.value[r] = void 0) : t.value[r] = e.value;\n}\nfunction Eo(e) {\n const t = Object.keys(e.shape);\n for (const n of t)\n if (!e.shape?.[n]?._zod?.traits?.has(\"$ZodType\"))\n throw new Error(`Invalid element at key \"${n}\": expected a Zod schema`);\n const r = Oa(e.shape);\n return {\n ...e,\n keys: t,\n keySet: new Set(t),\n numKeys: t.length,\n optionalKeys: new Set(r)\n };\n}\nfunction Io(e, t, r, n, i, o) {\n const s = [], a = i.keySet, u = i.catchall._zod, c = u.def.type, f = u.optout === \"optional\";\n for (const l in t) {\n if (a.has(l))\n continue;\n if (c === \"never\") {\n s.push(l);\n continue;\n }\n const h = u.run({ value: t[l], issues: [] }, n);\n h instanceof Promise ? e.push(h.then((d) => $r(d, r, l, t, f))) : $r(h, r, l, t, f);\n }\n return s.length && r.issues.push({\n code: \"unrecognized_keys\",\n keys: s,\n input: t,\n inst: o\n }), e.length ? Promise.all(e).then(() => r) : r;\n}\nconst ac = /* @__PURE__ */ p(\"$ZodObject\", (e, t) => {\n if (W.init(e, t), !Object.getOwnPropertyDescriptor(t, \"shape\")?.get) {\n const a = t.shape;\n Object.defineProperty(t, \"shape\", {\n get: () => {\n const u = { ...a };\n return Object.defineProperty(t, \"shape\", {\n value: u\n }), u;\n }\n });\n }\n const n = Nr(() => Eo(t));\n T(e._zod, \"propValues\", () => {\n const a = t.shape, u = {};\n for (const c in a) {\n const f = a[c]._zod;\n if (f.values) {\n u[c] ?? (u[c] = /* @__PURE__ */ new Set());\n for (const l of f.values)\n u[c].add(l);\n }\n }\n return u;\n });\n const i = Ht, o = t.catchall;\n let s;\n e._zod.parse = (a, u) => {\n s ?? (s = n.value);\n const c = a.value;\n if (!i(c))\n return a.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input: c,\n inst: e\n }), a;\n a.value = {};\n const f = [], l = s.shape;\n for (const h of s.keys) {\n const d = l[h], _ = d._zod.optout === \"optional\", g = d._zod.run({ value: c[h], issues: [] }, u);\n g instanceof Promise ? f.push(g.then((m) => $r(m, a, h, c, _))) : $r(g, a, h, c, _);\n }\n return o ? Io(f, c, a, u, n.value, e) : f.length ? Promise.all(f).then(() => a) : a;\n };\n}), uc = /* @__PURE__ */ p(\"$ZodObjectJIT\", (e, t) => {\n ac.init(e, t);\n const r = e._zod.parse, n = Nr(() => Eo(t)), i = (h) => {\n const d = new Au([\"shape\", \"payload\", \"ctx\"]), _ = n.value, g = (b) => {\n const N = ci(b);\n return `shape[${N}]._zod.run({ value: input[${N}], issues: [] }, ctx)`;\n };\n d.write(\"const input = payload.value;\");\n const m = /* @__PURE__ */ Object.create(null);\n let E = 0;\n for (const b of _.keys)\n m[b] = `key_${E++}`;\n d.write(\"const newResult = {};\");\n for (const b of _.keys) {\n const N = m[b], k = ci(b), D = h[b]?._zod?.optout === \"optional\";\n d.write(`const ${N} = ${g(b)};`), D ? d.write(`\n if (${N}.issues.length) {\n if (${k} in input) {\n payload.issues = payload.issues.concat(${N}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n }\n \n if (${N}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${N}.value;\n }\n \n `) : d.write(`\n if (${N}.issues.length) {\n payload.issues = payload.issues.concat(${N}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n if (${N}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${N}.value;\n }\n \n `);\n }\n d.write(\"payload.value = newResult;\"), d.write(\"return payload;\");\n const $ = d.compile();\n return (b, N) => $(h, b, N);\n };\n let o;\n const s = Ht, a = !fo.jitless, c = a && za.value, f = t.catchall;\n let l;\n e._zod.parse = (h, d) => {\n l ?? (l = n.value);\n const _ = h.value;\n return s(_) ? a && c && d?.async === !1 && d.jitless !== !0 ? (o || (o = i(t.shape)), h = o(h, d), f ? Io([], _, h, d, l, e) : h) : r(h, d) : (h.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input: _,\n inst: e\n }), h);\n };\n});\nfunction hi(e, t, r, n) {\n for (const o of e)\n if (o.issues.length === 0)\n return t.value = o.value, t;\n const i = e.filter((o) => !gt(o));\n return i.length === 1 ? (t.value = i[0].value, i[0]) : (t.issues.push({\n code: \"invalid_union\",\n input: t.value,\n inst: r,\n errors: e.map((o) => o.issues.map((s) => Ke(s, n, Ve())))\n }), t);\n}\nconst Ao = /* @__PURE__ */ p(\"$ZodUnion\", (e, t) => {\n W.init(e, t), T(e._zod, \"optin\", () => t.options.some((i) => i._zod.optin === \"optional\") ? \"optional\" : void 0), T(e._zod, \"optout\", () => t.options.some((i) => i._zod.optout === \"optional\") ? \"optional\" : void 0), T(e._zod, \"values\", () => {\n if (t.options.every((i) => i._zod.values))\n return new Set(t.options.flatMap((i) => Array.from(i._zod.values)));\n }), T(e._zod, \"pattern\", () => {\n if (t.options.every((i) => i._zod.pattern)) {\n const i = t.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${i.map((o) => Sn(o.source)).join(\"|\")})$`);\n }\n });\n const r = t.options.length === 1, n = t.options[0]._zod.run;\n e._zod.parse = (i, o) => {\n if (r)\n return n(i, o);\n let s = !1;\n const a = [];\n for (const u of t.options) {\n const c = u._zod.run({\n value: i.value,\n issues: []\n }, o);\n if (c instanceof Promise)\n a.push(c), s = !0;\n else {\n if (c.issues.length === 0)\n return c;\n a.push(c);\n }\n }\n return s ? Promise.all(a).then((u) => hi(u, i, e, o)) : hi(a, i, e, o);\n };\n}), cc = /* @__PURE__ */ p(\"$ZodDiscriminatedUnion\", (e, t) => {\n t.inclusive = !1, Ao.init(e, t);\n const r = e._zod.parse;\n T(e._zod, \"propValues\", () => {\n const i = {};\n for (const o of t.options) {\n const s = o._zod.propValues;\n if (!s || Object.keys(s).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${t.options.indexOf(o)}\"`);\n for (const [a, u] of Object.entries(s)) {\n i[a] || (i[a] = /* @__PURE__ */ new Set());\n for (const c of u)\n i[a].add(c);\n }\n }\n return i;\n });\n const n = Nr(() => {\n const i = t.options, o = /* @__PURE__ */ new Map();\n for (const s of i) {\n const a = s._zod.propValues?.[t.discriminator];\n if (!a || a.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${t.options.indexOf(s)}\"`);\n for (const u of a) {\n if (o.has(u))\n throw new Error(`Duplicate discriminator value \"${String(u)}\"`);\n o.set(u, s);\n }\n }\n return o;\n });\n e._zod.parse = (i, o) => {\n const s = i.value;\n if (!Ht(s))\n return i.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input: s,\n inst: e\n }), i;\n const a = n.value.get(s?.[t.discriminator]);\n return a ? a._zod.run(i, o) : t.unionFallback ? r(i, o) : (i.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: t.discriminator,\n input: s,\n path: [t.discriminator],\n inst: e\n }), i);\n };\n}), fc = /* @__PURE__ */ p(\"$ZodIntersection\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => {\n const i = r.value, o = t.left._zod.run({ value: i, issues: [] }, n), s = t.right._zod.run({ value: i, issues: [] }, n);\n return o instanceof Promise || s instanceof Promise ? Promise.all([o, s]).then(([u, c]) => pi(r, u, c)) : pi(r, o, s);\n };\n});\nfunction sn(e, t) {\n if (e === t)\n return { valid: !0, data: e };\n if (e instanceof Date && t instanceof Date && +e == +t)\n return { valid: !0, data: e };\n if (yt(e) && yt(t)) {\n const r = Object.keys(t), n = Object.keys(e).filter((o) => r.indexOf(o) !== -1), i = { ...e, ...t };\n for (const o of n) {\n const s = sn(e[o], t[o]);\n if (!s.valid)\n return {\n valid: !1,\n mergeErrorPath: [o, ...s.mergeErrorPath]\n };\n i[o] = s.data;\n }\n return { valid: !0, data: i };\n }\n if (Array.isArray(e) && Array.isArray(t)) {\n if (e.length !== t.length)\n return { valid: !1, mergeErrorPath: [] };\n const r = [];\n for (let n = 0; n < e.length; n++) {\n const i = e[n], o = t[n], s = sn(i, o);\n if (!s.valid)\n return {\n valid: !1,\n mergeErrorPath: [n, ...s.mergeErrorPath]\n };\n r.push(s.data);\n }\n return { valid: !0, data: r };\n }\n return { valid: !1, mergeErrorPath: [] };\n}\nfunction pi(e, t, r) {\n const n = /* @__PURE__ */ new Map();\n let i;\n for (const a of t.issues)\n if (a.code === \"unrecognized_keys\") {\n i ?? (i = a);\n for (const u of a.keys)\n n.has(u) || n.set(u, {}), n.get(u).l = !0;\n } else\n e.issues.push(a);\n for (const a of r.issues)\n if (a.code === \"unrecognized_keys\")\n for (const u of a.keys)\n n.has(u) || n.set(u, {}), n.get(u).r = !0;\n else\n e.issues.push(a);\n const o = [...n].filter(([, a]) => a.l && a.r).map(([a]) => a);\n if (o.length && i && e.issues.push({ ...i, keys: o }), gt(e))\n return e;\n const s = sn(t.value, r.value);\n if (!s.valid)\n throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);\n return e.value = s.data, e;\n}\nconst lc = /* @__PURE__ */ p(\"$ZodRecord\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => {\n const i = r.value;\n if (!yt(i))\n return r.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input: i,\n inst: e\n }), r;\n const o = [], s = t.keyType._zod.values;\n if (s) {\n r.value = {};\n const a = /* @__PURE__ */ new Set();\n for (const c of s)\n if (typeof c == \"string\" || typeof c == \"number\" || typeof c == \"symbol\") {\n a.add(typeof c == \"number\" ? c.toString() : c);\n const f = t.valueType._zod.run({ value: i[c], issues: [] }, n);\n f instanceof Promise ? o.push(f.then((l) => {\n l.issues.length && r.issues.push(...mt(c, l.issues)), r.value[c] = l.value;\n })) : (f.issues.length && r.issues.push(...mt(c, f.issues)), r.value[c] = f.value);\n }\n let u;\n for (const c in i)\n a.has(c) || (u = u ?? [], u.push(c));\n u && u.length > 0 && r.issues.push({\n code: \"unrecognized_keys\",\n input: i,\n inst: e,\n keys: u\n });\n } else {\n r.value = {};\n for (const a of Reflect.ownKeys(i)) {\n if (a === \"__proto__\")\n continue;\n let u = t.keyType._zod.run({ value: a, issues: [] }, n);\n if (u instanceof Promise)\n throw new Error(\"Async schemas not supported in object keys currently\");\n if (typeof a == \"string\" && So.test(a) && u.issues.length) {\n const l = t.keyType._zod.run({ value: Number(a), issues: [] }, n);\n if (l instanceof Promise)\n throw new Error(\"Async schemas not supported in object keys currently\");\n l.issues.length === 0 && (u = l);\n }\n if (u.issues.length) {\n t.mode === \"loose\" ? r.value[a] = i[a] : r.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: u.issues.map((l) => Ke(l, n, Ve())),\n input: a,\n path: [a],\n inst: e\n });\n continue;\n }\n const f = t.valueType._zod.run({ value: i[a], issues: [] }, n);\n f instanceof Promise ? o.push(f.then((l) => {\n l.issues.length && r.issues.push(...mt(a, l.issues)), r.value[u.value] = l.value;\n })) : (f.issues.length && r.issues.push(...mt(a, f.issues)), r.value[u.value] = f.value);\n }\n }\n return o.length ? Promise.all(o).then(() => r) : r;\n };\n}), hc = /* @__PURE__ */ p(\"$ZodEnum\", (e, t) => {\n W.init(e, t);\n const r = lo(t.entries), n = new Set(r);\n e._zod.values = n, e._zod.pattern = new RegExp(`^(${r.filter((i) => ka.has(typeof i)).map((i) => typeof i == \"string\" ? wt(i) : i.toString()).join(\"|\")})$`), e._zod.parse = (i, o) => {\n const s = i.value;\n return n.has(s) || i.issues.push({\n code: \"invalid_value\",\n values: r,\n input: s,\n inst: e\n }), i;\n };\n}), pc = /* @__PURE__ */ p(\"$ZodLiteral\", (e, t) => {\n if (W.init(e, t), t.values.length === 0)\n throw new Error(\"Cannot create literal schema with no valid values\");\n const r = new Set(t.values);\n e._zod.values = r, e._zod.pattern = new RegExp(`^(${t.values.map((n) => typeof n == \"string\" ? wt(n) : n ? wt(n.toString()) : String(n)).join(\"|\")})$`), e._zod.parse = (n, i) => {\n const o = n.value;\n return r.has(o) || n.issues.push({\n code: \"invalid_value\",\n values: t.values,\n input: o,\n inst: e\n }), n;\n };\n}), dc = /* @__PURE__ */ p(\"$ZodTransform\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n throw new co(e.constructor.name);\n const i = t.transform(r.value, r);\n if (n.async)\n return (i instanceof Promise ? i : Promise.resolve(i)).then((s) => (r.value = s, r));\n if (i instanceof Promise)\n throw new vt();\n return r.value = i, r;\n };\n});\nfunction di(e, t) {\n return e.issues.length && t === void 0 ? { issues: [], value: void 0 } : e;\n}\nconst Ro = /* @__PURE__ */ p(\"$ZodOptional\", (e, t) => {\n W.init(e, t), e._zod.optin = \"optional\", e._zod.optout = \"optional\", T(e._zod, \"values\", () => t.innerType._zod.values ? /* @__PURE__ */ new Set([...t.innerType._zod.values, void 0]) : void 0), T(e._zod, \"pattern\", () => {\n const r = t.innerType._zod.pattern;\n return r ? new RegExp(`^(${Sn(r.source)})?$`) : void 0;\n }), e._zod.parse = (r, n) => {\n if (t.innerType._zod.optin === \"optional\") {\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => di(o, r.value)) : di(i, r.value);\n }\n return r.value === void 0 ? r : t.innerType._zod.run(r, n);\n };\n}), _c = /* @__PURE__ */ p(\"$ZodExactOptional\", (e, t) => {\n Ro.init(e, t), T(e._zod, \"values\", () => t.innerType._zod.values), T(e._zod, \"pattern\", () => t.innerType._zod.pattern), e._zod.parse = (r, n) => t.innerType._zod.run(r, n);\n}), gc = /* @__PURE__ */ p(\"$ZodNullable\", (e, t) => {\n W.init(e, t), T(e._zod, \"optin\", () => t.innerType._zod.optin), T(e._zod, \"optout\", () => t.innerType._zod.optout), T(e._zod, \"pattern\", () => {\n const r = t.innerType._zod.pattern;\n return r ? new RegExp(`^(${Sn(r.source)}|null)$`) : void 0;\n }), T(e._zod, \"values\", () => t.innerType._zod.values ? /* @__PURE__ */ new Set([...t.innerType._zod.values, null]) : void 0), e._zod.parse = (r, n) => r.value === null ? r : t.innerType._zod.run(r, n);\n}), mc = /* @__PURE__ */ p(\"$ZodDefault\", (e, t) => {\n W.init(e, t), e._zod.optin = \"optional\", T(e._zod, \"values\", () => t.innerType._zod.values), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n return t.innerType._zod.run(r, n);\n if (r.value === void 0)\n return r.value = t.defaultValue, r;\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => _i(o, t)) : _i(i, t);\n };\n});\nfunction _i(e, t) {\n return e.value === void 0 && (e.value = t.defaultValue), e;\n}\nconst vc = /* @__PURE__ */ p(\"$ZodPrefault\", (e, t) => {\n W.init(e, t), e._zod.optin = \"optional\", T(e._zod, \"values\", () => t.innerType._zod.values), e._zod.parse = (r, n) => (n.direction === \"backward\" || r.value === void 0 && (r.value = t.defaultValue), t.innerType._zod.run(r, n));\n}), yc = /* @__PURE__ */ p(\"$ZodNonOptional\", (e, t) => {\n W.init(e, t), T(e._zod, \"values\", () => {\n const r = t.innerType._zod.values;\n return r ? new Set([...r].filter((n) => n !== void 0)) : void 0;\n }), e._zod.parse = (r, n) => {\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => gi(o, e)) : gi(i, e);\n };\n});\nfunction gi(e, t) {\n return !e.issues.length && e.value === void 0 && e.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: e.value,\n inst: t\n }), e;\n}\nconst wc = /* @__PURE__ */ p(\"$ZodCatch\", (e, t) => {\n W.init(e, t), T(e._zod, \"optin\", () => t.innerType._zod.optin), T(e._zod, \"optout\", () => t.innerType._zod.optout), T(e._zod, \"values\", () => t.innerType._zod.values), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n return t.innerType._zod.run(r, n);\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => (r.value = o.value, o.issues.length && (r.value = t.catchValue({\n ...r,\n error: {\n issues: o.issues.map((s) => Ke(s, n, Ve()))\n },\n input: r.value\n }), r.issues = []), r)) : (r.value = i.value, i.issues.length && (r.value = t.catchValue({\n ...r,\n error: {\n issues: i.issues.map((o) => Ke(o, n, Ve()))\n },\n input: r.value\n }), r.issues = []), r);\n };\n}), Sc = /* @__PURE__ */ p(\"$ZodPipe\", (e, t) => {\n W.init(e, t), T(e._zod, \"values\", () => t.in._zod.values), T(e._zod, \"optin\", () => t.in._zod.optin), T(e._zod, \"optout\", () => t.out._zod.optout), T(e._zod, \"propValues\", () => t.in._zod.propValues), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\") {\n const o = t.out._zod.run(r, n);\n return o instanceof Promise ? o.then((s) => mr(s, t.in, n)) : mr(o, t.in, n);\n }\n const i = t.in._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => mr(o, t.out, n)) : mr(i, t.out, n);\n };\n});\nfunction mr(e, t, r) {\n return e.issues.length ? (e.aborted = !0, e) : t._zod.run({ value: e.value, issues: e.issues }, r);\n}\nconst bc = /* @__PURE__ */ p(\"$ZodReadonly\", (e, t) => {\n W.init(e, t), T(e._zod, \"propValues\", () => t.innerType._zod.propValues), T(e._zod, \"values\", () => t.innerType._zod.values), T(e._zod, \"optin\", () => t.innerType?._zod?.optin), T(e._zod, \"optout\", () => t.innerType?._zod?.optout), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n return t.innerType._zod.run(r, n);\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then(mi) : mi(i);\n };\n});\nfunction mi(e) {\n return e.value = Object.freeze(e.value), e;\n}\nconst zc = /* @__PURE__ */ p(\"$ZodLazy\", (e, t) => {\n W.init(e, t), T(e._zod, \"innerType\", () => t.getter()), T(e._zod, \"pattern\", () => e._zod.innerType?._zod?.pattern), T(e._zod, \"propValues\", () => e._zod.innerType?._zod?.propValues), T(e._zod, \"optin\", () => e._zod.innerType?._zod?.optin ?? void 0), T(e._zod, \"optout\", () => e._zod.innerType?._zod?.optout ?? void 0), e._zod.parse = (r, n) => e._zod.innerType._zod.run(r, n);\n}), kc = /* @__PURE__ */ p(\"$ZodCustom\", (e, t) => {\n de.init(e, t), W.init(e, t), e._zod.parse = (r, n) => r, e._zod.check = (r) => {\n const n = r.value, i = t.fn(n);\n if (i instanceof Promise)\n return i.then((o) => vi(o, r, n, e));\n vi(i, r, n, e);\n };\n});\nfunction vi(e, t, r, n) {\n if (!e) {\n const i = {\n code: \"custom\",\n input: r,\n inst: n,\n // incorporates params.error into issue reporting\n path: [...n._zod.def.path ?? []],\n // incorporates params.error into issue reporting\n continue: !n._zod.def.abort\n // params: inst._zod.def.params,\n };\n n._zod.def.params && (i.params = n._zod.def.params), t.issues.push(Yt(i));\n }\n}\nvar yi;\nclass Oc {\n constructor() {\n this._map = /* @__PURE__ */ new WeakMap(), this._idmap = /* @__PURE__ */ new Map();\n }\n add(t, ...r) {\n const n = r[0];\n return this._map.set(t, n), n && typeof n == \"object\" && \"id\" in n && this._idmap.set(n.id, t), this;\n }\n clear() {\n return this._map = /* @__PURE__ */ new WeakMap(), this._idmap = /* @__PURE__ */ new Map(), this;\n }\n remove(t) {\n const r = this._map.get(t);\n return r && typeof r == \"object\" && \"id\" in r && this._idmap.delete(r.id), this._map.delete(t), this;\n }\n get(t) {\n const r = t._zod.parent;\n if (r) {\n const n = { ...this.get(r) ?? {} };\n delete n.id;\n const i = { ...n, ...this._map.get(t) };\n return Object.keys(i).length ? i : void 0;\n }\n return this._map.get(t);\n }\n has(t) {\n return this._map.has(t);\n }\n}\nfunction $c() {\n return new Oc();\n}\n(yi = globalThis).__zod_globalRegistry ?? (yi.__zod_globalRegistry = $c());\nconst xt = globalThis.__zod_globalRegistry;\n// @__NO_SIDE_EFFECTS__\nfunction Ec(e, t) {\n return new e({\n type: \"string\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Ic(e, t) {\n return new e({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction wi(e, t) {\n return new e({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Ac(e, t) {\n return new e({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Rc(e, t) {\n return new e({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: !1,\n version: \"v4\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Tc(e, t) {\n return new e({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: !1,\n version: \"v6\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Pc(e, t) {\n return new e({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: !1,\n version: \"v7\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Nc(e, t) {\n return new e({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Zc(e, t) {\n return new e({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Mc(e, t) {\n return new e({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Dc(e, t) {\n return new e({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Cc(e, t) {\n return new e({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction jc(e, t) {\n return new e({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Lc(e, t) {\n return new e({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Fc(e, t) {\n return new e({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction xc(e, t) {\n return new e({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction qc(e, t) {\n return new e({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Uc(e, t) {\n return new e({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Bc(e, t) {\n return new e({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Wc(e, t) {\n return new e({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Jc(e, t) {\n return new e({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Vc(e, t) {\n return new e({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Kc(e, t) {\n return new e({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Hc(e, t) {\n return new e({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: !1,\n local: !1,\n precision: null,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Yc(e, t) {\n return new e({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Gc(e, t) {\n return new e({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Xc(e, t) {\n return new e({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Qc(e, t) {\n return new e({\n type: \"number\",\n checks: [],\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction ef(e, t) {\n return new e({\n type: \"number\",\n check: \"number_format\",\n abort: !1,\n format: \"safeint\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction tf(e, t) {\n return new e({\n type: \"boolean\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction rf(e) {\n return new e({\n type: \"unknown\"\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction nf(e, t) {\n return new e({\n type: \"never\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Si(e, t) {\n return new zo({\n check: \"less_than\",\n ...y(t),\n value: e,\n inclusive: !1\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Hr(e, t) {\n return new zo({\n check: \"less_than\",\n ...y(t),\n value: e,\n inclusive: !0\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction bi(e, t) {\n return new ko({\n check: \"greater_than\",\n ...y(t),\n value: e,\n inclusive: !1\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Yr(e, t) {\n return new ko({\n check: \"greater_than\",\n ...y(t),\n value: e,\n inclusive: !0\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction zi(e, t) {\n return new mu({\n check: \"multiple_of\",\n ...y(t),\n value: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction To(e, t) {\n return new yu({\n check: \"max_length\",\n ...y(t),\n maximum: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Er(e, t) {\n return new wu({\n check: \"min_length\",\n ...y(t),\n minimum: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Po(e, t) {\n return new Su({\n check: \"length_equals\",\n ...y(t),\n length: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction of(e, t) {\n return new bu({\n check: \"string_format\",\n format: \"regex\",\n ...y(t),\n pattern: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction sf(e) {\n return new zu({\n check: \"string_format\",\n format: \"lowercase\",\n ...y(e)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction af(e) {\n return new ku({\n check: \"string_format\",\n format: \"uppercase\",\n ...y(e)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction uf(e, t) {\n return new Ou({\n check: \"string_format\",\n format: \"includes\",\n ...y(t),\n includes: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction cf(e, t) {\n return new $u({\n check: \"string_format\",\n format: \"starts_with\",\n ...y(t),\n prefix: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction ff(e, t) {\n return new Eu({\n check: \"string_format\",\n format: \"ends_with\",\n ...y(t),\n suffix: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Rt(e) {\n return new Iu({\n check: \"overwrite\",\n tx: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction lf(e) {\n return /* @__PURE__ */ Rt((t) => t.normalize(e));\n}\n// @__NO_SIDE_EFFECTS__\nfunction hf() {\n return /* @__PURE__ */ Rt((e) => e.trim());\n}\n// @__NO_SIDE_EFFECTS__\nfunction pf() {\n return /* @__PURE__ */ Rt((e) => e.toLowerCase());\n}\n// @__NO_SIDE_EFFECTS__\nfunction df() {\n return /* @__PURE__ */ Rt((e) => e.toUpperCase());\n}\n// @__NO_SIDE_EFFECTS__\nfunction _f() {\n return /* @__PURE__ */ Rt((e) => ba(e));\n}\n// @__NO_SIDE_EFFECTS__\nfunction gf(e, t, r) {\n return new e({\n type: \"array\",\n element: t,\n // get element() {\n // return element;\n // },\n ...y(r)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction mf(e, t, r) {\n return new e({\n type: \"custom\",\n check: \"custom\",\n fn: t,\n ...y(r)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction vf(e) {\n const t = /* @__PURE__ */ yf((r) => (r.addIssue = (n) => {\n if (typeof n == \"string\")\n r.issues.push(Yt(n, r.value, t._zod.def));\n else {\n const i = n;\n i.fatal && (i.continue = !1), i.code ?? (i.code = \"custom\"), i.input ?? (i.input = r.value), i.inst ?? (i.inst = t), i.continue ?? (i.continue = !t._zod.def.abort), r.issues.push(Yt(i));\n }\n }, e(r.value, r)));\n return t;\n}\n// @__NO_SIDE_EFFECTS__\nfunction yf(e, t) {\n const r = new de({\n check: \"custom\",\n ...y(t)\n });\n return r._zod.check = e, r;\n}\nfunction No(e) {\n let t = e?.target ?? \"draft-2020-12\";\n return t === \"draft-4\" && (t = \"draft-04\"), t === \"draft-7\" && (t = \"draft-07\"), {\n processors: e.processors ?? {},\n metadataRegistry: e?.metadata ?? xt,\n target: t,\n unrepresentable: e?.unrepresentable ?? \"throw\",\n override: e?.override ?? (() => {\n }),\n io: e?.io ?? \"output\",\n counter: 0,\n seen: /* @__PURE__ */ new Map(),\n cycles: e?.cycles ?? \"ref\",\n reused: e?.reused ?? \"inline\",\n external: e?.external ?? void 0\n };\n}\nfunction G(e, t, r = { path: [], schemaPath: [] }) {\n var n;\n const i = e._zod.def, o = t.seen.get(e);\n if (o)\n return o.count++, r.schemaPath.includes(e) && (o.cycle = r.path), o.schema;\n const s = { schema: {}, count: 1, cycle: void 0, path: r.path };\n t.seen.set(e, s);\n const a = e._zod.toJSONSchema?.();\n if (a)\n s.schema = a;\n else {\n const f = {\n ...r,\n schemaPath: [...r.schemaPath, e],\n path: r.path\n };\n if (e._zod.processJSONSchema)\n e._zod.processJSONSchema(t, s.schema, f);\n else {\n const h = s.schema, d = t.processors[i.type];\n if (!d)\n throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);\n d(e, t, h, f);\n }\n const l = e._zod.parent;\n l && (s.ref || (s.ref = l), G(l, t, f), t.seen.get(l).isParent = !0);\n }\n const u = t.metadataRegistry.get(e);\n return u && Object.assign(s.schema, u), t.io === \"input\" && ue(e) && (delete s.schema.examples, delete s.schema.default), t.io === \"input\" && s.schema._prefault && ((n = s.schema).default ?? (n.default = s.schema._prefault)), delete s.schema._prefault, t.seen.get(e).schema;\n}\nfunction Zo(e, t) {\n const r = e.seen.get(t);\n if (!r)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n const n = /* @__PURE__ */ new Map();\n for (const s of e.seen.entries()) {\n const a = e.metadataRegistry.get(s[0])?.id;\n if (a) {\n const u = n.get(a);\n if (u && u !== s[0])\n throw new Error(`Duplicate schema id \"${a}\" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);\n n.set(a, s[0]);\n }\n }\n const i = (s) => {\n const a = e.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (e.external) {\n const l = e.external.registry.get(s[0])?.id, h = e.external.uri ?? ((_) => _);\n if (l)\n return { ref: h(l) };\n const d = s[1].defId ?? s[1].schema.id ?? `schema${e.counter++}`;\n return s[1].defId = d, { defId: d, ref: `${h(\"__shared\")}#/${a}/${d}` };\n }\n if (s[1] === r)\n return { ref: \"#\" };\n const c = `#/${a}/`, f = s[1].schema.id ?? `__schema${e.counter++}`;\n return { defId: f, ref: c + f };\n }, o = (s) => {\n if (s[1].schema.$ref)\n return;\n const a = s[1], { ref: u, defId: c } = i(s);\n a.def = { ...a.schema }, c && (a.defId = c);\n const f = a.schema;\n for (const l in f)\n delete f[l];\n f.$ref = u;\n };\n if (e.cycles === \"throw\")\n for (const s of e.seen.entries()) {\n const a = s[1];\n if (a.cycle)\n throw new Error(`Cycle detected: #/${a.cycle?.join(\"/\")}/<root>\n\nSet the \\`cycles\\` parameter to \\`\"ref\"\\` to resolve cyclical schemas with defs.`);\n }\n for (const s of e.seen.entries()) {\n const a = s[1];\n if (t === s[0]) {\n o(s);\n continue;\n }\n if (e.external) {\n const c = e.external.registry.get(s[0])?.id;\n if (t !== s[0] && c) {\n o(s);\n continue;\n }\n }\n if (e.metadataRegistry.get(s[0])?.id) {\n o(s);\n continue;\n }\n if (a.cycle) {\n o(s);\n continue;\n }\n if (a.count > 1 && e.reused === \"ref\") {\n o(s);\n continue;\n }\n }\n}\nfunction Mo(e, t) {\n const r = e.seen.get(t);\n if (!r)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n const n = (s) => {\n const a = e.seen.get(s);\n if (a.ref === null)\n return;\n const u = a.def ?? a.schema, c = { ...u }, f = a.ref;\n if (a.ref = null, f) {\n n(f);\n const h = e.seen.get(f), d = h.schema;\n if (d.$ref && (e.target === \"draft-07\" || e.target === \"draft-04\" || e.target === \"openapi-3.0\") ? (u.allOf = u.allOf ?? [], u.allOf.push(d)) : Object.assign(u, d), Object.assign(u, c), s._zod.parent === f)\n for (const g in u)\n g === \"$ref\" || g === \"allOf\" || g in c || delete u[g];\n if (d.$ref && h.def)\n for (const g in u)\n g === \"$ref\" || g === \"allOf\" || g in h.def && JSON.stringify(u[g]) === JSON.stringify(h.def[g]) && delete u[g];\n }\n const l = s._zod.parent;\n if (l && l !== f) {\n n(l);\n const h = e.seen.get(l);\n if (h?.schema.$ref && (u.$ref = h.schema.$ref, h.def))\n for (const d in u)\n d === \"$ref\" || d === \"allOf\" || d in h.def && JSON.stringify(u[d]) === JSON.stringify(h.def[d]) && delete u[d];\n }\n e.override({\n zodSchema: s,\n jsonSchema: u,\n path: a.path ?? []\n });\n };\n for (const s of [...e.seen.entries()].reverse())\n n(s[0]);\n const i = {};\n if (e.target === \"draft-2020-12\" ? i.$schema = \"https://json-schema.org/draft/2020-12/schema\" : e.target === \"draft-07\" ? i.$schema = \"http://json-schema.org/draft-07/schema#\" : e.target === \"draft-04\" ? i.$schema = \"http://json-schema.org/draft-04/schema#\" : e.target, e.external?.uri) {\n const s = e.external.registry.get(t)?.id;\n if (!s)\n throw new Error(\"Schema is missing an `id` property\");\n i.$id = e.external.uri(s);\n }\n Object.assign(i, r.def ?? r.schema);\n const o = e.external?.defs ?? {};\n for (const s of e.seen.entries()) {\n const a = s[1];\n a.def && a.defId && (o[a.defId] = a.def);\n }\n e.external || Object.keys(o).length > 0 && (e.target === \"draft-2020-12\" ? i.$defs = o : i.definitions = o);\n try {\n const s = JSON.parse(JSON.stringify(i));\n return Object.defineProperty(s, \"~standard\", {\n value: {\n ...t[\"~standard\"],\n jsonSchema: {\n input: Ir(t, \"input\", e.processors),\n output: Ir(t, \"output\", e.processors)\n }\n },\n enumerable: !1,\n writable: !1\n }), s;\n } catch {\n throw new Error(\"Error converting schema to JSON.\");\n }\n}\nfunction ue(e, t) {\n const r = t ?? { seen: /* @__PURE__ */ new Set() };\n if (r.seen.has(e))\n return !1;\n r.seen.add(e);\n const n = e._zod.def;\n if (n.type === \"transform\")\n return !0;\n if (n.type === \"array\")\n return ue(n.element, r);\n if (n.type === \"set\")\n return ue(n.valueType, r);\n if (n.type === \"lazy\")\n return ue(n.getter(), r);\n if (n.type === \"promise\" || n.type === \"optional\" || n.type === \"nonoptional\" || n.type === \"nullable\" || n.type === \"readonly\" || n.type === \"default\" || n.type === \"prefault\")\n return ue(n.innerType, r);\n if (n.type === \"intersection\")\n return ue(n.left, r) || ue(n.right, r);\n if (n.type === \"record\" || n.type === \"map\")\n return ue(n.keyType, r) || ue(n.valueType, r);\n if (n.type === \"pipe\")\n return ue(n.in, r) || ue(n.out, r);\n if (n.type === \"object\") {\n for (const i in n.shape)\n if (ue(n.shape[i], r))\n return !0;\n return !1;\n }\n if (n.type === \"union\") {\n for (const i of n.options)\n if (ue(i, r))\n return !0;\n return !1;\n }\n if (n.type === \"tuple\") {\n for (const i of n.items)\n if (ue(i, r))\n return !0;\n return !!(n.rest && ue(n.rest, r));\n }\n return !1;\n}\nconst wf = (e, t = {}) => (r) => {\n const n = No({ ...r, processors: t });\n return G(e, n), Zo(n, e), Mo(n, e);\n}, Ir = (e, t, r = {}) => (n) => {\n const { libraryOptions: i, target: o } = n ?? {}, s = No({ ...i ?? {}, target: o, io: t, processors: r });\n return G(e, s), Zo(s, e), Mo(s, e);\n}, Sf = {\n guid: \"uuid\",\n url: \"uri\",\n datetime: \"date-time\",\n json_string: \"json-string\",\n regex: \"\"\n // do not set\n}, bf = (e, t, r, n) => {\n const i = r;\n i.type = \"string\";\n const { minimum: o, maximum: s, format: a, patterns: u, contentEncoding: c } = e._zod.bag;\n if (typeof o == \"number\" && (i.minLength = o), typeof s == \"number\" && (i.maxLength = s), a && (i.format = Sf[a] ?? a, i.format === \"\" && delete i.format, a === \"time\" && delete i.format), c && (i.contentEncoding = c), u && u.size > 0) {\n const f = [...u];\n f.length === 1 ? i.pattern = f[0].source : f.length > 1 && (i.allOf = [\n ...f.map((l) => ({\n ...t.target === \"draft-07\" || t.target === \"draft-04\" || t.target === \"openapi-3.0\" ? { type: \"string\" } : {},\n pattern: l.source\n }))\n ]);\n }\n}, zf = (e, t, r, n) => {\n const i = r, { minimum: o, maximum: s, format: a, multipleOf: u, exclusiveMaximum: c, exclusiveMinimum: f } = e._zod.bag;\n typeof a == \"string\" && a.includes(\"int\") ? i.type = \"integer\" : i.type = \"number\", typeof f == \"number\" && (t.target === \"draft-04\" || t.target === \"openapi-3.0\" ? (i.minimum = f, i.exclusiveMinimum = !0) : i.exclusiveMinimum = f), typeof o == \"number\" && (i.minimum = o, typeof f == \"number\" && t.target !== \"draft-04\" && (f >= o ? delete i.minimum : delete i.exclusiveMinimum)), typeof c == \"number\" && (t.target === \"draft-04\" || t.target === \"openapi-3.0\" ? (i.maximum = c, i.exclusiveMaximum = !0) : i.exclusiveMaximum = c), typeof s == \"number\" && (i.maximum = s, typeof c == \"number\" && t.target !== \"draft-04\" && (c <= s ? delete i.maximum : delete i.exclusiveMaximum)), typeof u == \"number\" && (i.multipleOf = u);\n}, kf = (e, t, r, n) => {\n r.type = \"boolean\";\n}, Of = (e, t, r, n) => {\n r.not = {};\n}, $f = (e, t, r, n) => {\n}, Ef = (e, t, r, n) => {\n const i = e._zod.def, o = lo(i.entries);\n o.every((s) => typeof s == \"number\") && (r.type = \"number\"), o.every((s) => typeof s == \"string\") && (r.type = \"string\"), r.enum = o;\n}, If = (e, t, r, n) => {\n const i = e._zod.def, o = [];\n for (const s of i.values)\n if (s === void 0) {\n if (t.unrepresentable === \"throw\")\n throw new Error(\"Literal `undefined` cannot be represented in JSON Schema\");\n } else if (typeof s == \"bigint\") {\n if (t.unrepresentable === \"throw\")\n throw new Error(\"BigInt literals cannot be represented in JSON Schema\");\n o.push(Number(s));\n } else\n o.push(s);\n if (o.length !== 0) if (o.length === 1) {\n const s = o[0];\n r.type = s === null ? \"null\" : typeof s, t.target === \"draft-04\" || t.target === \"openapi-3.0\" ? r.enum = [s] : r.const = s;\n } else\n o.every((s) => typeof s == \"number\") && (r.type = \"number\"), o.every((s) => typeof s == \"string\") && (r.type = \"string\"), o.every((s) => typeof s == \"boolean\") && (r.type = \"boolean\"), o.every((s) => s === null) && (r.type = \"null\"), r.enum = o;\n}, Af = (e, t, r, n) => {\n if (t.unrepresentable === \"throw\")\n throw new Error(\"Custom types cannot be represented in JSON Schema\");\n}, Rf = (e, t, r, n) => {\n if (t.unrepresentable === \"throw\")\n throw new Error(\"Transforms cannot be represented in JSON Schema\");\n}, Tf = (e, t, r, n) => {\n const i = r, o = e._zod.def, { minimum: s, maximum: a } = e._zod.bag;\n typeof s == \"number\" && (i.minItems = s), typeof a == \"number\" && (i.maxItems = a), i.type = \"array\", i.items = G(o.element, t, { ...n, path: [...n.path, \"items\"] });\n}, Pf = (e, t, r, n) => {\n const i = r, o = e._zod.def;\n i.type = \"object\", i.properties = {};\n const s = o.shape;\n for (const c in s)\n i.properties[c] = G(s[c], t, {\n ...n,\n path: [...n.path, \"properties\", c]\n });\n const a = new Set(Object.keys(s)), u = new Set([...a].filter((c) => {\n const f = o.shape[c]._zod;\n return t.io === \"input\" ? f.optin === void 0 : f.optout === void 0;\n }));\n u.size > 0 && (i.required = Array.from(u)), o.catchall?._zod.def.type === \"never\" ? i.additionalProperties = !1 : o.catchall ? o.catchall && (i.additionalProperties = G(o.catchall, t, {\n ...n,\n path: [...n.path, \"additionalProperties\"]\n })) : t.io === \"output\" && (i.additionalProperties = !1);\n}, Nf = (e, t, r, n) => {\n const i = e._zod.def, o = i.inclusive === !1, s = i.options.map((a, u) => G(a, t, {\n ...n,\n path: [...n.path, o ? \"oneOf\" : \"anyOf\", u]\n }));\n o ? r.oneOf = s : r.anyOf = s;\n}, Zf = (e, t, r, n) => {\n const i = e._zod.def, o = G(i.left, t, {\n ...n,\n path: [...n.path, \"allOf\", 0]\n }), s = G(i.right, t, {\n ...n,\n path: [...n.path, \"allOf\", 1]\n }), a = (c) => \"allOf\" in c && Object.keys(c).length === 1, u = [\n ...a(o) ? o.allOf : [o],\n ...a(s) ? s.allOf : [s]\n ];\n r.allOf = u;\n}, Mf = (e, t, r, n) => {\n const i = r, o = e._zod.def;\n i.type = \"object\";\n const s = o.keyType, u = s._zod.bag?.patterns;\n if (o.mode === \"loose\" && u && u.size > 0) {\n const f = G(o.valueType, t, {\n ...n,\n path: [...n.path, \"patternProperties\", \"*\"]\n });\n i.patternProperties = {};\n for (const l of u)\n i.patternProperties[l.source] = f;\n } else\n (t.target === \"draft-07\" || t.target === \"draft-2020-12\") && (i.propertyNames = G(o.keyType, t, {\n ...n,\n path: [...n.path, \"propertyNames\"]\n })), i.additionalProperties = G(o.valueType, t, {\n ...n,\n path: [...n.path, \"additionalProperties\"]\n });\n const c = s._zod.values;\n if (c) {\n const f = [...c].filter((l) => typeof l == \"string\" || typeof l == \"number\");\n f.length > 0 && (i.required = f);\n }\n}, Df = (e, t, r, n) => {\n const i = e._zod.def, o = G(i.innerType, t, n), s = t.seen.get(e);\n t.target === \"openapi-3.0\" ? (s.ref = i.innerType, r.nullable = !0) : r.anyOf = [o, { type: \"null\" }];\n}, Cf = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType;\n}, jf = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType, r.default = JSON.parse(JSON.stringify(i.defaultValue));\n}, Lf = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType, t.io === \"input\" && (r._prefault = JSON.parse(JSON.stringify(i.defaultValue)));\n}, Ff = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType;\n let s;\n try {\n s = i.catchValue(void 0);\n } catch {\n throw new Error(\"Dynamic catch values are not supported in JSON Schema\");\n }\n r.default = s;\n}, xf = (e, t, r, n) => {\n const i = e._zod.def, o = t.io === \"input\" ? i.in._zod.def.type === \"transform\" ? i.out : i.in : i.out;\n G(o, t, n);\n const s = t.seen.get(e);\n s.ref = o;\n}, qf = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType, r.readOnly = !0;\n}, Do = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType;\n}, Uf = (e, t, r, n) => {\n const i = e._zod.innerType;\n G(i, t, n);\n const o = t.seen.get(e);\n o.ref = i;\n}, Bf = /* @__PURE__ */ p(\"ZodISODateTime\", (e, t) => {\n qu.init(e, t), H.init(e, t);\n});\nfunction Wf(e) {\n return /* @__PURE__ */ Hc(Bf, e);\n}\nconst Jf = /* @__PURE__ */ p(\"ZodISODate\", (e, t) => {\n Uu.init(e, t), H.init(e, t);\n});\nfunction Vf(e) {\n return /* @__PURE__ */ Yc(Jf, e);\n}\nconst Kf = /* @__PURE__ */ p(\"ZodISOTime\", (e, t) => {\n Bu.init(e, t), H.init(e, t);\n});\nfunction Hf(e) {\n return /* @__PURE__ */ Gc(Kf, e);\n}\nconst Yf = /* @__PURE__ */ p(\"ZodISODuration\", (e, t) => {\n Wu.init(e, t), H.init(e, t);\n});\nfunction Gf(e) {\n return /* @__PURE__ */ Xc(Yf, e);\n}\nconst Xf = (e, t) => {\n go.init(e, t), e.name = \"ZodError\", Object.defineProperties(e, {\n format: {\n value: (r) => Ma(e, r)\n // enumerable: false,\n },\n flatten: {\n value: (r) => Za(e, r)\n // enumerable: false,\n },\n addIssue: {\n value: (r) => {\n e.issues.push(r), e.message = JSON.stringify(e.issues, on, 2);\n }\n // enumerable: false,\n },\n addIssues: {\n value: (r) => {\n e.issues.push(...r), e.message = JSON.stringify(e.issues, on, 2);\n }\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return e.issues.length === 0;\n }\n // enumerable: false,\n }\n });\n}, $e = p(\"ZodError\", Xf, {\n Parent: Error\n}), Qf = /* @__PURE__ */ zn($e), el = /* @__PURE__ */ kn($e), tl = /* @__PURE__ */ Zr($e), rl = /* @__PURE__ */ Mr($e), nl = /* @__PURE__ */ ja($e), il = /* @__PURE__ */ La($e), ol = /* @__PURE__ */ Fa($e), sl = /* @__PURE__ */ xa($e), al = /* @__PURE__ */ qa($e), ul = /* @__PURE__ */ Ua($e), cl = /* @__PURE__ */ Ba($e), fl = /* @__PURE__ */ Wa($e), V = /* @__PURE__ */ p(\"ZodType\", (e, t) => (W.init(e, t), Object.assign(e[\"~standard\"], {\n jsonSchema: {\n input: Ir(e, \"input\"),\n output: Ir(e, \"output\")\n }\n}), e.toJSONSchema = wf(e, {}), e.def = t, e.type = t.type, Object.defineProperty(e, \"_def\", { value: t }), e.check = (...r) => e.clone(et(t, {\n checks: [\n ...t.checks ?? [],\n ...r.map((n) => typeof n == \"function\" ? { _zod: { check: n, def: { check: \"custom\" }, onattach: [] } } : n)\n ]\n}), {\n parent: !0\n}), e.with = e.check, e.clone = (r, n) => tt(e, r, n), e.brand = () => e, e.register = ((r, n) => (r.add(e, n), e)), e.parse = (r, n) => Qf(e, r, n, { callee: e.parse }), e.safeParse = (r, n) => tl(e, r, n), e.parseAsync = async (r, n) => el(e, r, n, { callee: e.parseAsync }), e.safeParseAsync = async (r, n) => rl(e, r, n), e.spa = e.safeParseAsync, e.encode = (r, n) => nl(e, r, n), e.decode = (r, n) => il(e, r, n), e.encodeAsync = async (r, n) => ol(e, r, n), e.decodeAsync = async (r, n) => sl(e, r, n), e.safeEncode = (r, n) => al(e, r, n), e.safeDecode = (r, n) => ul(e, r, n), e.safeEncodeAsync = async (r, n) => cl(e, r, n), e.safeDecodeAsync = async (r, n) => fl(e, r, n), e.refine = (r, n) => e.check(nh(r, n)), e.superRefine = (r) => e.check(ih(r)), e.overwrite = (r) => e.check(/* @__PURE__ */ Rt(r)), e.optional = () => $i(e), e.exactOptional = () => ql(e), e.nullable = () => Ei(e), e.nullish = () => $i(Ei(e)), e.nonoptional = (r) => Kl(e, r), e.array = () => He(e), e.or = (r) => qo([e, r]), e.and = (r) => Cl(e, r), e.transform = (r) => cn(e, Bo(r)), e.default = (r) => Wl(e, r), e.prefault = (r) => Vl(e, r), e.catch = (r) => Yl(e, r), e.pipe = (r) => cn(e, r), e.readonly = () => Ql(e), e.describe = (r) => {\n const n = e.clone();\n return xt.add(n, { description: r }), n;\n}, Object.defineProperty(e, \"description\", {\n get() {\n return xt.get(e)?.description;\n },\n configurable: !0\n}), e.meta = (...r) => {\n if (r.length === 0)\n return xt.get(e);\n const n = e.clone();\n return xt.add(n, r[0]), n;\n}, e.isOptional = () => e.safeParse(void 0).success, e.isNullable = () => e.safeParse(null).success, e.apply = (r) => r(e), e)), Co = /* @__PURE__ */ p(\"_ZodString\", (e, t) => {\n On.init(e, t), V.init(e, t), e._zod.processJSONSchema = (n, i, o) => bf(e, n, i);\n const r = e._zod.bag;\n e.format = r.format ?? null, e.minLength = r.minimum ?? null, e.maxLength = r.maximum ?? null, e.regex = (...n) => e.check(/* @__PURE__ */ of(...n)), e.includes = (...n) => e.check(/* @__PURE__ */ uf(...n)), e.startsWith = (...n) => e.check(/* @__PURE__ */ cf(...n)), e.endsWith = (...n) => e.check(/* @__PURE__ */ ff(...n)), e.min = (...n) => e.check(/* @__PURE__ */ Er(...n)), e.max = (...n) => e.check(/* @__PURE__ */ To(...n)), e.length = (...n) => e.check(/* @__PURE__ */ Po(...n)), e.nonempty = (...n) => e.check(/* @__PURE__ */ Er(1, ...n)), e.lowercase = (n) => e.check(/* @__PURE__ */ sf(n)), e.uppercase = (n) => e.check(/* @__PURE__ */ af(n)), e.trim = () => e.check(/* @__PURE__ */ hf()), e.normalize = (...n) => e.check(/* @__PURE__ */ lf(...n)), e.toLowerCase = () => e.check(/* @__PURE__ */ pf()), e.toUpperCase = () => e.check(/* @__PURE__ */ df()), e.slugify = () => e.check(/* @__PURE__ */ _f());\n}), ll = /* @__PURE__ */ p(\"ZodString\", (e, t) => {\n On.init(e, t), Co.init(e, t), e.email = (r) => e.check(/* @__PURE__ */ Ic(hl, r)), e.url = (r) => e.check(/* @__PURE__ */ Nc(pl, r)), e.jwt = (r) => e.check(/* @__PURE__ */ Kc(Il, r)), e.emoji = (r) => e.check(/* @__PURE__ */ Zc(dl, r)), e.guid = (r) => e.check(/* @__PURE__ */ wi(ki, r)), e.uuid = (r) => e.check(/* @__PURE__ */ Ac(vr, r)), e.uuidv4 = (r) => e.check(/* @__PURE__ */ Rc(vr, r)), e.uuidv6 = (r) => e.check(/* @__PURE__ */ Tc(vr, r)), e.uuidv7 = (r) => e.check(/* @__PURE__ */ Pc(vr, r)), e.nanoid = (r) => e.check(/* @__PURE__ */ Mc(_l, r)), e.guid = (r) => e.check(/* @__PURE__ */ wi(ki, r)), e.cuid = (r) => e.check(/* @__PURE__ */ Dc(gl, r)), e.cuid2 = (r) => e.check(/* @__PURE__ */ Cc(ml, r)), e.ulid = (r) => e.check(/* @__PURE__ */ jc(vl, r)), e.base64 = (r) => e.check(/* @__PURE__ */ Wc(Ol, r)), e.base64url = (r) => e.check(/* @__PURE__ */ Jc($l, r)), e.xid = (r) => e.check(/* @__PURE__ */ Lc(yl, r)), e.ksuid = (r) => e.check(/* @__PURE__ */ Fc(wl, r)), e.ipv4 = (r) => e.check(/* @__PURE__ */ xc(Sl, r)), e.ipv6 = (r) => e.check(/* @__PURE__ */ qc(bl, r)), e.cidrv4 = (r) => e.check(/* @__PURE__ */ Uc(zl, r)), e.cidrv6 = (r) => e.check(/* @__PURE__ */ Bc(kl, r)), e.e164 = (r) => e.check(/* @__PURE__ */ Vc(El, r)), e.datetime = (r) => e.check(Wf(r)), e.date = (r) => e.check(Vf(r)), e.time = (r) => e.check(Hf(r)), e.duration = (r) => e.check(Gf(r));\n});\nfunction I(e) {\n return /* @__PURE__ */ Ec(ll, e);\n}\nconst H = /* @__PURE__ */ p(\"ZodStringFormat\", (e, t) => {\n J.init(e, t), Co.init(e, t);\n}), hl = /* @__PURE__ */ p(\"ZodEmail\", (e, t) => {\n Nu.init(e, t), H.init(e, t);\n}), ki = /* @__PURE__ */ p(\"ZodGUID\", (e, t) => {\n Tu.init(e, t), H.init(e, t);\n}), vr = /* @__PURE__ */ p(\"ZodUUID\", (e, t) => {\n Pu.init(e, t), H.init(e, t);\n}), pl = /* @__PURE__ */ p(\"ZodURL\", (e, t) => {\n Zu.init(e, t), H.init(e, t);\n}), dl = /* @__PURE__ */ p(\"ZodEmoji\", (e, t) => {\n Mu.init(e, t), H.init(e, t);\n}), _l = /* @__PURE__ */ p(\"ZodNanoID\", (e, t) => {\n Du.init(e, t), H.init(e, t);\n}), gl = /* @__PURE__ */ p(\"ZodCUID\", (e, t) => {\n Cu.init(e, t), H.init(e, t);\n}), ml = /* @__PURE__ */ p(\"ZodCUID2\", (e, t) => {\n ju.init(e, t), H.init(e, t);\n}), vl = /* @__PURE__ */ p(\"ZodULID\", (e, t) => {\n Lu.init(e, t), H.init(e, t);\n}), yl = /* @__PURE__ */ p(\"ZodXID\", (e, t) => {\n Fu.init(e, t), H.init(e, t);\n}), wl = /* @__PURE__ */ p(\"ZodKSUID\", (e, t) => {\n xu.init(e, t), H.init(e, t);\n}), Sl = /* @__PURE__ */ p(\"ZodIPv4\", (e, t) => {\n Ju.init(e, t), H.init(e, t);\n}), bl = /* @__PURE__ */ p(\"ZodIPv6\", (e, t) => {\n Vu.init(e, t), H.init(e, t);\n}), zl = /* @__PURE__ */ p(\"ZodCIDRv4\", (e, t) => {\n Ku.init(e, t), H.init(e, t);\n}), kl = /* @__PURE__ */ p(\"ZodCIDRv6\", (e, t) => {\n Hu.init(e, t), H.init(e, t);\n}), Ol = /* @__PURE__ */ p(\"ZodBase64\", (e, t) => {\n Yu.init(e, t), H.init(e, t);\n}), $l = /* @__PURE__ */ p(\"ZodBase64URL\", (e, t) => {\n Xu.init(e, t), H.init(e, t);\n}), El = /* @__PURE__ */ p(\"ZodE164\", (e, t) => {\n Qu.init(e, t), H.init(e, t);\n}), Il = /* @__PURE__ */ p(\"ZodJWT\", (e, t) => {\n tc.init(e, t), H.init(e, t);\n}), jo = /* @__PURE__ */ p(\"ZodNumber\", (e, t) => {\n $o.init(e, t), V.init(e, t), e._zod.processJSONSchema = (n, i, o) => zf(e, n, i), e.gt = (n, i) => e.check(/* @__PURE__ */ bi(n, i)), e.gte = (n, i) => e.check(/* @__PURE__ */ Yr(n, i)), e.min = (n, i) => e.check(/* @__PURE__ */ Yr(n, i)), e.lt = (n, i) => e.check(/* @__PURE__ */ Si(n, i)), e.lte = (n, i) => e.check(/* @__PURE__ */ Hr(n, i)), e.max = (n, i) => e.check(/* @__PURE__ */ Hr(n, i)), e.int = (n) => e.check(Oi(n)), e.safe = (n) => e.check(Oi(n)), e.positive = (n) => e.check(/* @__PURE__ */ bi(0, n)), e.nonnegative = (n) => e.check(/* @__PURE__ */ Yr(0, n)), e.negative = (n) => e.check(/* @__PURE__ */ Si(0, n)), e.nonpositive = (n) => e.check(/* @__PURE__ */ Hr(0, n)), e.multipleOf = (n, i) => e.check(/* @__PURE__ */ zi(n, i)), e.step = (n, i) => e.check(/* @__PURE__ */ zi(n, i)), e.finite = () => e;\n const r = e._zod.bag;\n e.minValue = Math.max(r.minimum ?? Number.NEGATIVE_INFINITY, r.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null, e.maxValue = Math.min(r.maximum ?? Number.POSITIVE_INFINITY, r.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null, e.isInt = (r.format ?? \"\").includes(\"int\") || Number.isSafeInteger(r.multipleOf ?? 0.5), e.isFinite = !0, e.format = r.format ?? null;\n});\nfunction an(e) {\n return /* @__PURE__ */ Qc(jo, e);\n}\nconst Al = /* @__PURE__ */ p(\"ZodNumberFormat\", (e, t) => {\n rc.init(e, t), jo.init(e, t);\n});\nfunction Oi(e) {\n return /* @__PURE__ */ ef(Al, e);\n}\nconst Rl = /* @__PURE__ */ p(\"ZodBoolean\", (e, t) => {\n nc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => kf(e, r, n);\n});\nfunction ze(e) {\n return /* @__PURE__ */ tf(Rl, e);\n}\nconst Tl = /* @__PURE__ */ p(\"ZodUnknown\", (e, t) => {\n ic.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => $f();\n});\nfunction Gt() {\n return /* @__PURE__ */ rf(Tl);\n}\nconst Pl = /* @__PURE__ */ p(\"ZodNever\", (e, t) => {\n oc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Of(e, r, n);\n});\nfunction Lo(e) {\n return /* @__PURE__ */ nf(Pl, e);\n}\nconst Nl = /* @__PURE__ */ p(\"ZodArray\", (e, t) => {\n sc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Tf(e, r, n, i), e.element = t.element, e.min = (r, n) => e.check(/* @__PURE__ */ Er(r, n)), e.nonempty = (r) => e.check(/* @__PURE__ */ Er(1, r)), e.max = (r, n) => e.check(/* @__PURE__ */ To(r, n)), e.length = (r, n) => e.check(/* @__PURE__ */ Po(r, n)), e.unwrap = () => e.element;\n});\nfunction He(e, t) {\n return /* @__PURE__ */ gf(Nl, e, t);\n}\nconst Fo = /* @__PURE__ */ p(\"ZodObject\", (e, t) => {\n uc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Pf(e, r, n, i), T(e, \"shape\", () => t.shape), e.keyof = () => Ie(Object.keys(e._zod.def.shape)), e.catchall = (r) => e.clone({ ...e._zod.def, catchall: r }), e.passthrough = () => e.clone({ ...e._zod.def, catchall: Gt() }), e.loose = () => e.clone({ ...e._zod.def, catchall: Gt() }), e.strict = () => e.clone({ ...e._zod.def, catchall: Lo() }), e.strip = () => e.clone({ ...e._zod.def, catchall: void 0 }), e.extend = (r) => Aa(e, r), e.safeExtend = (r) => Ra(e, r), e.merge = (r) => Ta(e, r), e.pick = (r) => Ea(e, r), e.omit = (r) => Ia(e, r), e.partial = (...r) => Pa(Wo, e, r[0]), e.required = (...r) => Na(Jo, e, r[0]);\n});\nfunction ce(e, t) {\n const r = {\n type: \"object\",\n shape: e ?? {},\n ...y(t)\n };\n return new Fo(r);\n}\nfunction Zl(e, t) {\n return new Fo({\n type: \"object\",\n shape: e,\n catchall: Gt(),\n ...y(t)\n });\n}\nconst xo = /* @__PURE__ */ p(\"ZodUnion\", (e, t) => {\n Ao.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Nf(e, r, n, i), e.options = t.options;\n});\nfunction qo(e, t) {\n return new xo({\n type: \"union\",\n options: e,\n ...y(t)\n });\n}\nconst Ml = /* @__PURE__ */ p(\"ZodDiscriminatedUnion\", (e, t) => {\n xo.init(e, t), cc.init(e, t);\n});\nfunction Uo(e, t, r) {\n return new Ml({\n type: \"union\",\n options: t,\n discriminator: e,\n ...y(r)\n });\n}\nconst Dl = /* @__PURE__ */ p(\"ZodIntersection\", (e, t) => {\n fc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Zf(e, r, n, i);\n});\nfunction Cl(e, t) {\n return new Dl({\n type: \"intersection\",\n left: e,\n right: t\n });\n}\nconst jl = /* @__PURE__ */ p(\"ZodRecord\", (e, t) => {\n lc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Mf(e, r, n, i), e.keyType = t.keyType, e.valueType = t.valueType;\n});\nfunction Xt(e, t, r) {\n return new jl({\n type: \"record\",\n keyType: e,\n valueType: t,\n ...y(r)\n });\n}\nconst un = /* @__PURE__ */ p(\"ZodEnum\", (e, t) => {\n hc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (n, i, o) => Ef(e, n, i), e.enum = t.entries, e.options = Object.values(t.entries);\n const r = new Set(Object.keys(t.entries));\n e.extract = (n, i) => {\n const o = {};\n for (const s of n)\n if (r.has(s))\n o[s] = t.entries[s];\n else\n throw new Error(`Key ${s} not found in enum`);\n return new un({\n ...t,\n checks: [],\n ...y(i),\n entries: o\n });\n }, e.exclude = (n, i) => {\n const o = { ...t.entries };\n for (const s of n)\n if (r.has(s))\n delete o[s];\n else\n throw new Error(`Key ${s} not found in enum`);\n return new un({\n ...t,\n checks: [],\n ...y(i),\n entries: o\n });\n };\n});\nfunction Ie(e, t) {\n const r = Array.isArray(e) ? Object.fromEntries(e.map((n) => [n, n])) : e;\n return new un({\n type: \"enum\",\n entries: r,\n ...y(t)\n });\n}\nconst Ll = /* @__PURE__ */ p(\"ZodLiteral\", (e, t) => {\n pc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => If(e, r, n), e.values = new Set(t.values), Object.defineProperty(e, \"value\", {\n get() {\n if (t.values.length > 1)\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n return t.values[0];\n }\n });\n});\nfunction st(e, t) {\n return new Ll({\n type: \"literal\",\n values: Array.isArray(e) ? e : [e],\n ...y(t)\n });\n}\nconst Fl = /* @__PURE__ */ p(\"ZodTransform\", (e, t) => {\n dc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Rf(e, r), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n throw new co(e.constructor.name);\n r.addIssue = (o) => {\n if (typeof o == \"string\")\n r.issues.push(Yt(o, r.value, t));\n else {\n const s = o;\n s.fatal && (s.continue = !1), s.code ?? (s.code = \"custom\"), s.input ?? (s.input = r.value), s.inst ?? (s.inst = e), r.issues.push(Yt(s));\n }\n };\n const i = t.transform(r.value, r);\n return i instanceof Promise ? i.then((o) => (r.value = o, r)) : (r.value = i, r);\n };\n});\nfunction Bo(e) {\n return new Fl({\n type: \"transform\",\n transform: e\n });\n}\nconst Wo = /* @__PURE__ */ p(\"ZodOptional\", (e, t) => {\n Ro.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Do(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction $i(e) {\n return new Wo({\n type: \"optional\",\n innerType: e\n });\n}\nconst xl = /* @__PURE__ */ p(\"ZodExactOptional\", (e, t) => {\n _c.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Do(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction ql(e) {\n return new xl({\n type: \"optional\",\n innerType: e\n });\n}\nconst Ul = /* @__PURE__ */ p(\"ZodNullable\", (e, t) => {\n gc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Df(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction Ei(e) {\n return new Ul({\n type: \"nullable\",\n innerType: e\n });\n}\nconst Bl = /* @__PURE__ */ p(\"ZodDefault\", (e, t) => {\n mc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => jf(e, r, n, i), e.unwrap = () => e._zod.def.innerType, e.removeDefault = e.unwrap;\n});\nfunction Wl(e, t) {\n return new Bl({\n type: \"default\",\n innerType: e,\n get defaultValue() {\n return typeof t == \"function\" ? t() : po(t);\n }\n });\n}\nconst Jl = /* @__PURE__ */ p(\"ZodPrefault\", (e, t) => {\n vc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Lf(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction Vl(e, t) {\n return new Jl({\n type: \"prefault\",\n innerType: e,\n get defaultValue() {\n return typeof t == \"function\" ? t() : po(t);\n }\n });\n}\nconst Jo = /* @__PURE__ */ p(\"ZodNonOptional\", (e, t) => {\n yc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Cf(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction Kl(e, t) {\n return new Jo({\n type: \"nonoptional\",\n innerType: e,\n ...y(t)\n });\n}\nconst Hl = /* @__PURE__ */ p(\"ZodCatch\", (e, t) => {\n wc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Ff(e, r, n, i), e.unwrap = () => e._zod.def.innerType, e.removeCatch = e.unwrap;\n});\nfunction Yl(e, t) {\n return new Hl({\n type: \"catch\",\n innerType: e,\n catchValue: typeof t == \"function\" ? t : () => t\n });\n}\nconst Gl = /* @__PURE__ */ p(\"ZodPipe\", (e, t) => {\n Sc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => xf(e, r, n, i), e.in = t.in, e.out = t.out;\n});\nfunction cn(e, t) {\n return new Gl({\n type: \"pipe\",\n in: e,\n out: t\n // ...util.normalizeParams(params),\n });\n}\nconst Xl = /* @__PURE__ */ p(\"ZodReadonly\", (e, t) => {\n bc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => qf(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction Ql(e) {\n return new Xl({\n type: \"readonly\",\n innerType: e\n });\n}\nconst eh = /* @__PURE__ */ p(\"ZodLazy\", (e, t) => {\n zc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Uf(e, r, n, i), e.unwrap = () => e._zod.def.getter();\n});\nfunction th(e) {\n return new eh({\n type: \"lazy\",\n getter: e\n });\n}\nconst rh = /* @__PURE__ */ p(\"ZodCustom\", (e, t) => {\n kc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Af(e, r);\n});\nfunction nh(e, t = {}) {\n return /* @__PURE__ */ mf(rh, e, t);\n}\nfunction ih(e) {\n return /* @__PURE__ */ vf(e);\n}\nfunction oh(e, t) {\n return cn(Bo(e), t);\n}\nconst sh = ce({\n /** The table view type */\n view: Ie([\"list\", \"uncounted\", \"list-expansion\", \"tree\", \"gantt\", \"tree-gantt\"]).optional(),\n /** Allow the table to use the full width of its container */\n fullWidth: ze().optional(),\n /** Default expansion state for tree views */\n defaultTreeExpansion: Ie([\"root\", \"branch\", \"leaf\"]).optional(),\n /** Enable dependency graph connections for Gantt views */\n dependencyGraph: ze().optional()\n}).meta({\n title: \"TableViewConfig\",\n description: \"JSON-safe view configuration for table fields in doctype authoring\"\n}), ah = qo([\n He(I()),\n // Select choices: [\"A\", \"B\", \"C\"]\n Xt(I(), Gt())\n // Config: \\{ precision: 10, scale: 2 \\}\n]).meta({\n title: \"FieldOptions\",\n description: \"Field options - flexible bag for type-specific configuration\"\n}), uh = Zl({\n /** Error message to display when validation fails */\n errorMessage: I()\n}).meta({\n title: \"FieldValidation\",\n description: \"Validation configuration for form fields\"\n});\nfunction Vo(e) {\n if (typeof e != \"object\" || e === null || Array.isArray(e)) return e;\n const t = e;\n return \"kind\" in t ? e : \"schema\" in t ? { kind: \"fieldset\", ...t } : \"columns\" in t ? { kind: \"table\", ...t } : { kind: \"field\", ...t };\n}\nfunction Ko(e) {\n const t = Vo(e);\n if (typeof t != \"object\" || t === null) return t;\n const r = t;\n return r.kind === \"fieldset\" && Array.isArray(r.schema) ? { ...r, schema: r.schema.map(Ko) } : t;\n}\nfunction ch() {\n const e = ce({\n kind: st(\"field\"),\n fieldname: I().min(1),\n component: I().min(1),\n primaryKey: ze().optional(),\n computed: ze().optional(),\n language: I().optional(),\n doctype: I().min(1).optional(),\n label: I().optional(),\n width: I().optional(),\n align: Ie([\"left\", \"center\", \"right\", \"start\", \"end\"]).optional(),\n edit: ze().optional(),\n mask: I().optional(),\n format: I().optional(),\n mode: Ie([\"edit\", \"read\", \"display\"]).optional(),\n options: ah.optional(),\n required: ze().optional(),\n readOnly: ze().optional(),\n hidden: ze().optional(),\n default: Gt().optional(),\n validation: uh.optional(),\n cardinality: Ie([\"atMostOne\", \"one\", \"noneOrMany\", \"atLeastOne\"]).optional(),\n source: st(\"introspected\").optional()\n }).meta({ title: \"ValueField\" }), t = ce({\n kind: st(\"table\"),\n fieldname: I().min(1),\n component: I().optional(),\n label: I().optional(),\n // Validates that each column has fieldname; allows all other ColumnSchema properties\n columns: He(ce({ fieldname: I().min(1) }).passthrough()),\n config: sh.optional(),\n mode: Ie([\"edit\", \"read\", \"display\"]).optional()\n }).meta({ title: \"TableField\" });\n let r = Lo();\n const n = ce({\n kind: st(\"fieldset\"),\n fieldname: I().min(1),\n component: I().optional(),\n label: I().optional(),\n collapsible: ze().optional(),\n mode: Ie([\"edit\", \"read\", \"display\"]).optional(),\n schema: th(() => r.array())\n }).meta({ title: \"FieldsetField\" }), i = Uo(\"kind\", [e, n, t]);\n return r = oh(Vo, i), { ValueFieldSchema: e, TableFieldSchema: t, FieldsetFieldSchema: n, DoctypeFieldSchema: r };\n}\nconst fh = ch(), lh = fh.DoctypeFieldSchema, hh = Ie([\"atMostOne\", \"one\", \"noneOrMany\", \"atLeastOne\"]).meta({\n title: \"Cardinality\",\n description: \"Cardinality for relationship links between doctypes\"\n}), ph = ce({\n /** Fetch method type */\n method: st(\"sync\"),\n /** Optional limit on number of records to fetch */\n limit: an().int().positive().optional()\n}).meta({\n title: \"SyncFetch\",\n description: \"Sync fetch strategy - data is fetched in the initial query\"\n}), dh = ce({\n /** Fetch method type */\n method: st(\"lazy\")\n}).meta({\n title: \"LazyFetch\",\n description: \"Lazy fetch strategy - data is fetched on demand in a separate query\"\n}), _h = ce({\n /** Fetch method type */\n method: st(\"custom\"),\n /** Serialized handler function to invoke */\n handler: I()\n}).meta({\n title: \"CustomFetch\",\n description: \"Custom fetch strategy - uses a custom handler function\"\n}), gh = Uo(\"method\", [ph, dh, _h]).meta({\n title: \"FetchStrategy\",\n description: \"Fetch strategy for link data loading\"\n}), mh = ce({\n /** Target doctype slug */\n target: I().min(1),\n /** Cardinality of the relationship */\n cardinality: hh,\n /** Backlink fieldname on the target doctype that points back to this link */\n backlink: I().optional(),\n /** Override default rendering component (AForm for 1:1, ATable for 1:many) */\n component: I().optional(),\n /** Fieldname of the corresponding Link field in the fields array */\n fieldname: I().min(1).optional(),\n /** Fetch strategy for loading nested data */\n fetch: gh.optional(),\n /** Whether to block workflow actions until nested data is loaded (default: true) */\n blockWorkflows: ze().optional()\n}).meta({\n title: \"LinkDeclaration\",\n description: \"Declares a relationship from one doctype to another\"\n}), vh = ce({\n /** Display label for the action */\n label: I().min(1),\n /** Fields that must have values before action can execute */\n requiredFields: He(I()).optional(),\n /** Workflow states where this action is available */\n allowedStates: He(I()).optional(),\n /** The state the record transitions to after this action executes */\n nextState: I().optional(),\n /** True for stateless command actions with no workflow effect at all (print, email, etc.) */\n stateless: ze().optional(),\n /**\n * True for an internal self-transition: the action runs within the current state without\n * advancing the workflow (e.g. `save`, which mutates record data but stays put). Scoped by\n * `allowedStates`, rendered as a self-loop in the graph, and has no `nextState`. Distinct from\n * `stateless` (which has no workflow presence at all): a self-transition is graph-owned and,\n * unlike a stateless command, persists record data on dispatch.\n */\n selfTransition: ze().optional(),\n /** JS function body stored as a string; executed client-side via AsyncFunction with injected API surface */\n clientHandler: I().optional()\n}).meta({\n title: \"ActionDefinition\",\n description: \"Action definition within a workflow\"\n}), yh = ce({\n /** Optional display label; the map key is the trigger's identity */\n label: I().optional(),\n /** Fieldnames whose edits fire this trigger (fires when any listed field changes) */\n on: He(I()),\n /** JS function body stored as a string; run client-side with `{ record, value, setError }`. Advisory. */\n clientHandler: I()\n}).meta({\n title: \"TriggerDefinition\",\n description: \"Reactive field-validation trigger — advisory client-side\"\n});\nfunction Ii(e, t) {\n const r = e.allowedStates;\n return !r || r.length === 0 ? !0 : r.includes(t);\n}\nconst wh = Xt(\n I(),\n ce({\n position: ce({ x: an(), y: an() }).optional(),\n targetPosition: Ie([\"left\", \"top\", \"right\", \"bottom\"]).optional(),\n sourcePosition: Ie([\"left\", \"top\", \"right\", \"bottom\"]).optional()\n })\n), Sh = ce({\n /** List of workflow states */\n states: He(I()).optional(),\n /** Actions available in this workflow */\n actions: Xt(I(), vh).optional(),\n /** Reactive field-validation triggers (advisory, client-side), keyed by trigger name */\n triggers: Xt(I(), yh).optional(),\n /**\n * DocBuilder node positions keyed by state name — authoring view-state. Persisted here so a\n * doctype author's manual graph arrangement survives reloads; like `triggers`, it is client-only\n * and never enters the runtime GraphQL SDL. See {@link (WorkflowLayout:variable)}.\n */\n layout: wh.optional()\n}).meta({\n title: \"WorkflowMeta\",\n description: \"Workflow metadata - states and actions for a doctype\"\n});\nce({\n /** Display name of the doctype */\n name: I().min(1),\n /** URL-friendly slug (kebab-case) */\n slug: I().min(1).optional(),\n /** Field definitions (a link field is one carrying `doctype`) */\n fields: He(lh),\n /** Relationship links to other doctypes */\n links: Xt(I(), mh).optional(),\n /** Workflow configuration */\n workflow: Sh.optional(),\n /** Parent doctype for inheritance */\n inherits: I().optional()\n}).meta({\n title: \"DoctypeMeta\",\n description: \"Doctype metadata - complete definition of a doctype\"\n});\nconst Ho = {\n ATextInput: \"text\",\n ATextarea: \"text\",\n ANumericInput: \"number\",\n ACheckbox: \"boolean\",\n ADate: \"date\",\n ADatePicker: \"date\",\n ADateSelection: \"date\",\n ADateTime: \"datetime\",\n ADuration: \"text\",\n ADateRange: \"date\",\n ADropdown: \"select\",\n ACodeEditor: \"code\",\n AFormLink: \"link\",\n AFileAttach: \"attach\"\n};\nfunction bh(e) {\n return e ? Ho[e] : void 0;\n}\nconst Yo = {\n AFormLink: \"inline\",\n AForm: \"expand\",\n ATable: \"expand\"\n};\nfunction $n(e) {\n return e ? Yo[e] : void 0;\n}\nfunction Ai(e, t) {\n return $n(e.component ?? t) === \"inline\" ? \"inline\" : e.cardinality === \"noneOrMany\" || e.cardinality === \"atLeastOne\" ? \"table\" : \"record\";\n}\n[\n .../* @__PURE__ */ new Set([...Object.keys(Ho), ...Object.keys(Yo)])\n].toSorted();\nvar Ar = \"@@__IMMUTABLE_INDEXED__@@\";\nfunction Oe(e) {\n return !!(e && // @ts-expect-error: maybeIndexed is typed as `{}`, need to change in 6.0 to `maybeIndexed && typeof maybeIndexed === 'object' && IS_INDEXED_SYMBOL in maybeIndexed`\n e[Ar]);\n}\nvar Rr = \"@@__IMMUTABLE_KEYED__@@\";\nfunction U(e) {\n return !!(e && // @ts-expect-error: maybeKeyed is typed as `{}`, need to change in 6.0 to `maybeKeyed && typeof maybeKeyed === 'object' && IS_KEYED_SYMBOL in maybeKeyed`\n e[Rr]);\n}\nfunction En(e) {\n return U(e) || Oe(e);\n}\nvar Go = \"@@__IMMUTABLE_ITERABLE__@@\";\nfunction ye(e) {\n return !!(e && // @ts-expect-error: maybeCollection is typed as `{}`, need to change in 6.0 to `maybeCollection && typeof maybeCollection === 'object' && IS_COLLECTION_SYMBOL in maybeCollection`\n e[Go]);\n}\nvar oe = function(t) {\n return ye(t) ? t : pe(t);\n}, Ee = /* @__PURE__ */ (function(e) {\n function t(r) {\n return U(r) ? r : rt(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t;\n})(oe), ut = /* @__PURE__ */ (function(e) {\n function t(r) {\n return Oe(r) ? r : Ae(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t;\n})(oe), Tt = /* @__PURE__ */ (function(e) {\n function t(r) {\n return ye(r) && !En(r) ? r : Zt(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t;\n})(oe);\noe.Keyed = Ee;\noe.Indexed = ut;\noe.Set = Tt;\nvar Pt = 0, we = 1, Se = 2, fn = typeof Symbol == \"function\" && Symbol.iterator, Xo = \"@@iterator\", Cr = fn || Xo, Z = function(t) {\n this.next = t;\n};\nZ.prototype.toString = function() {\n return \"[Iterator]\";\n};\nZ.KEYS = Pt;\nZ.VALUES = we;\nZ.ENTRIES = Se;\nZ.prototype.inspect = Z.prototype.toSource = function() {\n return this.toString();\n};\nZ.prototype[Cr] = function() {\n return this;\n};\nfunction B(e, t, r, n) {\n var i = e === Pt ? t : e === we ? r : [t, r];\n return n ? n.value = i : n = {\n // @ts-expect-error ensure value is not undefined\n value: i,\n done: !1\n }, n;\n}\nfunction le() {\n return { value: void 0, done: !0 };\n}\nfunction Qo(e) {\n return Array.isArray(e) ? !0 : !!jr(e);\n}\nfunction Ri(e) {\n return !!(e && // @ts-expect-error: maybeIterator is typed as `{}`\n typeof e.next == \"function\");\n}\nfunction ln(e) {\n var t = jr(e);\n return t && t.call(e);\n}\nfunction jr(e) {\n var t = e && // @ts-expect-error: maybeIterator is typed as `{}`\n (fn && e[fn] || // @ts-expect-error: maybeIterator is typed as `{}`\n e[Xo]);\n if (typeof t == \"function\")\n return t;\n}\nfunction zh(e) {\n var t = jr(e);\n return t && t === e.entries;\n}\nfunction kh(e) {\n var t = jr(e);\n return t && t === e.keys;\n}\nvar sr = \"delete\", j = 5, me = 1 << j, fe = me - 1, P = {};\nfunction hn() {\n return { value: !1 };\n}\nfunction ke(e) {\n e && (e.value = !0);\n}\nfunction In() {\n}\nfunction St(e) {\n return e.size === void 0 && (e.size = e.__iterate(es)), e.size;\n}\nfunction Ye(e, t) {\n if (typeof t != \"number\") {\n var r = t >>> 0;\n if (\"\" + r !== t || r === 4294967295)\n return NaN;\n t = r;\n }\n return t < 0 ? St(e) + t : t;\n}\nfunction es() {\n return !0;\n}\nfunction Lr(e, t, r) {\n return (e === 0 && !rs(e) || r !== void 0 && e <= -r) && (t === void 0 || r !== void 0 && t >= r);\n}\nfunction ar(e, t) {\n return ts(e, t, 0);\n}\nfunction Fr(e, t) {\n return ts(e, t, t);\n}\nfunction ts(e, t, r) {\n return e === void 0 ? r : rs(e) ? t === 1 / 0 ? t : Math.max(0, t + e) | 0 : t === void 0 || t === e ? e : Math.min(t, e) | 0;\n}\nfunction rs(e) {\n return e < 0 || e === 0 && 1 / e === -1 / 0;\n}\nvar ns = \"@@__IMMUTABLE_RECORD__@@\";\nfunction ct(e) {\n return !!(e && // @ts-expect-error: maybeRecord is typed as `{}`, need to change in 6.0 to `maybeRecord && typeof maybeRecord === 'object' && IS_RECORD_SYMBOL in maybeRecord`\n e[ns]);\n}\nfunction Me(e) {\n return ye(e) || ct(e);\n}\nvar Ge = \"@@__IMMUTABLE_ORDERED__@@\";\nfunction Ze(e) {\n return !!(e && // @ts-expect-error: maybeOrdered is typed as `{}`, need to change in 6.0 to `maybeOrdered && typeof maybeOrdered === 'object' && IS_ORDERED_SYMBOL in maybeOrdered`\n e[Ge]);\n}\nvar is = \"@@__IMMUTABLE_SEQ__@@\";\nfunction An(e) {\n return !!(e && // @ts-expect-error: maybeSeq is typed as `{}`, need to change in 6.0 to `maybeSeq && typeof maybeSeq === 'object' && MAYBE_SEQ_SYMBOL in maybeSeq`\n e[is]);\n}\nvar Nt = Object.prototype.hasOwnProperty;\nfunction os(e) {\n return Array.isArray(e) || typeof e == \"string\" ? !0 : e && typeof e == \"object\" && // @ts-expect-error check that `'length' in value &&`\n Number.isInteger(e.length) && // @ts-expect-error check that `'length' in value &&`\n e.length >= 0 && // @ts-expect-error check that `'length' in value &&`\n (e.length === 0 ? (\n // Only {length: 0} is considered Array-like.\n Object.keys(e).length === 1\n ) : (\n // An object is only Array-like if it has a property where the last value\n // in the array-like may be found (which could be undefined).\n // @ts-expect-error check that `'length' in value &&`\n e.hasOwnProperty(e.length - 1)\n ));\n}\nvar pe = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Tn() : Me(r) ? r.toSeq() : $h(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.toSeq = function() {\n return this;\n }, t.prototype.toString = function() {\n return this.__toString(\"Seq {\", \"}\");\n }, t.prototype.cacheResult = function() {\n return !this._cache && this.__iterateUncached && (this._cache = this.entrySeq().toArray(), this.size = this._cache.length), this;\n }, t.prototype.__iterate = function(n, i) {\n var o = this._cache;\n if (o) {\n for (var s = o.length, a = 0; a !== s; ) {\n var u = o[i ? s - ++a : a++];\n if (n(u[1], u[0], this) === !1)\n break;\n }\n return a;\n }\n return this.__iterateUncached(n, i);\n }, t.prototype.__iterator = function(n, i) {\n var o = this._cache;\n if (o) {\n var s = o.length, a = 0;\n return new Z(function() {\n if (a === s)\n return le();\n var u = o[i ? s - ++a : a++];\n return B(n, u[0], u[1]);\n });\n }\n return this.__iteratorUncached(n, i);\n }, t;\n})(oe), rt = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Tn().toKeyedSeq() : ye(r) ? U(r) ? r.toSeq() : r.fromEntrySeq() : ct(r) ? r.toSeq() : Pn(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.toKeyedSeq = function() {\n return this;\n }, t;\n})(pe), Ae = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Tn() : ye(r) ? U(r) ? r.entrySeq() : r.toIndexedSeq() : ct(r) ? r.toSeq().entrySeq() : ss(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return t(arguments);\n }, t.prototype.toIndexedSeq = function() {\n return this;\n }, t.prototype.toString = function() {\n return this.__toString(\"Seq [\", \"]\");\n }, t;\n})(pe), Zt = /* @__PURE__ */ (function(e) {\n function t(r) {\n return (ye(r) && !En(r) ? r : Ae(r)).toSetSeq();\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return t(arguments);\n }, t.prototype.toSetSeq = function() {\n return this;\n }, t;\n})(pe);\npe.isSeq = An;\npe.Keyed = rt;\npe.Set = Zt;\npe.Indexed = Ae;\npe.prototype[is] = !0;\nvar bt = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._array = r, this.size = r.length;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.get = function(n, i) {\n return this.has(n) ? this._array[Ye(this, n)] : i;\n }, t.prototype.__iterate = function(n, i) {\n for (var o = this._array, s = o.length, a = 0; a !== s; ) {\n var u = i ? s - ++a : a++;\n if (n(o[u], u, this) === !1)\n break;\n }\n return a;\n }, t.prototype.__iterator = function(n, i) {\n var o = this._array, s = o.length, a = 0;\n return new Z(function() {\n if (a === s)\n return le();\n var u = i ? s - ++a : a++;\n return B(n, u, o[u]);\n });\n }, t;\n})(Ae), Rn = /* @__PURE__ */ (function(e) {\n function t(r) {\n var n = Object.keys(r).concat(\n Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(r) : []\n );\n this._object = r, this._keys = n, this.size = n.length;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.get = function(n, i) {\n return i !== void 0 && !this.has(n) ? i : this._object[n];\n }, t.prototype.has = function(n) {\n return Nt.call(this._object, n);\n }, t.prototype.__iterate = function(n, i) {\n for (var o = this._object, s = this._keys, a = s.length, u = 0; u !== a; ) {\n var c = s[i ? a - ++u : u++];\n if (n(o[c], c, this) === !1)\n break;\n }\n return u;\n }, t.prototype.__iterator = function(n, i) {\n var o = this._object, s = this._keys, a = s.length, u = 0;\n return new Z(function() {\n if (u === a)\n return le();\n var c = s[i ? a - ++u : u++];\n return B(n, c, o[c]);\n });\n }, t;\n})(rt);\nRn.prototype[Ge] = !0;\nvar Oh = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._collection = r, this.size = r.length || r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.__iterateUncached = function(n, i) {\n if (i)\n return this.cacheResult().__iterate(n, i);\n var o = this._collection, s = ln(o), a = 0;\n if (Ri(s))\n for (var u; !(u = s.next()).done && n(u.value, a++, this) !== !1; )\n ;\n return a;\n }, t.prototype.__iteratorUncached = function(n, i) {\n if (i)\n return this.cacheResult().__iterator(n, i);\n var o = this._collection, s = ln(o);\n if (!Ri(s))\n return new Z(le);\n var a = 0;\n return new Z(function() {\n var u = s.next();\n return u.done ? u : B(n, a++, u.value);\n });\n }, t;\n})(Ae), Ti;\nfunction Tn() {\n return Ti || (Ti = new bt([]));\n}\nfunction Pn(e) {\n var t = Nn(e);\n if (t)\n return t.fromEntrySeq();\n if (typeof e == \"object\")\n return new Rn(e);\n throw new TypeError(\n \"Expected Array or collection object of [k, v] entries, or keyed object: \" + e\n );\n}\nfunction ss(e) {\n var t = Nn(e);\n if (t)\n return t;\n throw new TypeError(\n \"Expected Array or collection object of values: \" + e\n );\n}\nfunction $h(e) {\n var t = Nn(e);\n if (t)\n return zh(e) ? t.fromEntrySeq() : kh(e) ? t.toSetSeq() : t;\n if (typeof e == \"object\")\n return new Rn(e);\n throw new TypeError(\n \"Expected Array or collection object of values, or keyed object: \" + e\n );\n}\nfunction Nn(e) {\n return os(e) ? new bt(e) : Qo(e) ? new Oh(e) : void 0;\n}\nfunction ur() {\n return this.__ensureOwner();\n}\nfunction cr() {\n return this.__ownerID ? this : this.__ensureOwner(new In());\n}\nvar Ft = typeof Math.imul == \"function\" && Math.imul(4294967295, 2) === -2 ? Math.imul : function(t, r) {\n t |= 0, r |= 0;\n var n = t & 65535, i = r & 65535;\n return n * i + ((t >>> 16) * i + n * (r >>> 16) << 16 >>> 0) | 0;\n};\nfunction xr(e) {\n return e >>> 1 & 1073741824 | e & 3221225471;\n}\nvar Eh = Object.prototype.valueOf;\nfunction _e(e) {\n if (e == null)\n return Pi(e);\n if (typeof e.hashCode == \"function\")\n return xr(e.hashCode(e));\n var t = Nh(e);\n if (t == null)\n return Pi(t);\n switch (typeof t) {\n case \"boolean\":\n return t ? 1108378657 : 1108378656;\n case \"number\":\n return Ih(t);\n case \"string\":\n return t.length > Zh ? Ah(t) : pn(t);\n case \"object\":\n case \"function\":\n return Th(t);\n case \"symbol\":\n return Rh(t);\n default:\n if (typeof t.toString == \"function\")\n return pn(t.toString());\n throw new Error(\"Value type \" + typeof t + \" cannot be hashed.\");\n }\n}\nfunction Pi(e) {\n return e === null ? 1108378658 : (\n /* undefined */\n 1108378659\n );\n}\nfunction Ih(e) {\n if (e !== e || e === 1 / 0)\n return 0;\n var t = e | 0;\n for (t !== e && (t ^= e * 4294967295); e > 4294967295; )\n e /= 4294967295, t ^= e;\n return xr(t);\n}\nfunction Ah(e) {\n var t = Qr[e];\n return t === void 0 && (t = pn(e), Xr === Mh && (Xr = 0, Qr = {}), Xr++, Qr[e] = t), t;\n}\nfunction pn(e) {\n for (var t = 0, r = 0; r < e.length; r++)\n t = 31 * t + e.charCodeAt(r) | 0;\n return xr(t);\n}\nfunction Rh(e) {\n var t = Mi[e];\n return t !== void 0 || (t = as(), Mi[e] = t), t;\n}\nfunction Th(e) {\n var t;\n if (dn && (t = _n.get(e), t !== void 0) || (t = e[it], t !== void 0) || !Zi && (t = e.propertyIsEnumerable && e.propertyIsEnumerable[it], t !== void 0 || (t = Ph(e), t !== void 0)))\n return t;\n if (t = as(), dn)\n _n.set(e, t);\n else {\n if (Ni !== void 0 && Ni(e) === !1)\n throw new Error(\"Non-extensible objects are not allowed as keys.\");\n if (Zi)\n Object.defineProperty(e, it, {\n enumerable: !1,\n configurable: !1,\n writable: !1,\n value: t\n });\n else if (e.propertyIsEnumerable !== void 0 && e.propertyIsEnumerable === e.constructor.prototype.propertyIsEnumerable)\n e.propertyIsEnumerable = function() {\n return this.constructor.prototype.propertyIsEnumerable.apply(\n this,\n // eslint-disable-next-line prefer-rest-params\n arguments\n );\n }, e.propertyIsEnumerable[it] = t;\n else if (e.nodeType !== void 0)\n e[it] = t;\n else\n throw new Error(\"Unable to set a non-enumerable property on object.\");\n }\n return t;\n}\nvar Ni = Object.isExtensible, Zi = (function() {\n try {\n return Object.defineProperty({}, \"@\", {}), !0;\n } catch {\n return !1;\n }\n})();\nfunction Ph(e) {\n if (e && e.nodeType > 0)\n switch (e.nodeType) {\n case 1:\n return e.uniqueID;\n case 9:\n return e.documentElement && e.documentElement.uniqueID;\n }\n}\nfunction Nh(e) {\n return e.valueOf !== Eh && typeof e.valueOf == \"function\" ? (\n // @ts-expect-error weird the \"obj\" parameter as `valueOf` should not have a parameter\n e.valueOf(e)\n ) : e;\n}\nfunction as() {\n var e = ++Gr;\n return Gr & 1073741824 && (Gr = 0), e;\n}\nvar dn = typeof WeakMap == \"function\", _n;\ndn && (_n = /* @__PURE__ */ new WeakMap());\nvar Mi = /* @__PURE__ */ Object.create(null), Gr = 0, it = \"__immutablehash__\";\ntypeof Symbol == \"function\" && (it = Symbol(it));\nvar Zh = 16, Mh = 255, Xr = 0, Qr = {}, qr = /* @__PURE__ */ (function(e) {\n function t(r, n) {\n this._iter = r, this._useKeys = n, this.size = r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.get = function(n, i) {\n return this._iter.get(n, i);\n }, t.prototype.has = function(n) {\n return this._iter.has(n);\n }, t.prototype.valueSeq = function() {\n return this._iter.valueSeq();\n }, t.prototype.reverse = function() {\n var n = this, i = Zn(this, !0);\n return this._useKeys || (i.valueSeq = function() {\n return n._iter.toSeq().reverse();\n }), i;\n }, t.prototype.map = function(n, i) {\n var o = this, s = hs(this, n, i);\n return this._useKeys || (s.valueSeq = function() {\n return o._iter.toSeq().map(n, i);\n }), s;\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._iter.__iterate(function(s, a) {\n return n(s, a, o);\n }, i);\n }, t.prototype.__iterator = function(n, i) {\n return this._iter.__iterator(n, i);\n }, t;\n})(rt);\nqr.prototype[Ge] = !0;\nvar us = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._iter = r, this.size = r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.includes = function(n) {\n return this._iter.includes(n);\n }, t.prototype.__iterate = function(n, i) {\n var o = this, s = 0;\n return i && St(this), this._iter.__iterate(\n function(a) {\n return n(a, i ? o.size - ++s : s++, o);\n },\n i\n );\n }, t.prototype.__iterator = function(n, i) {\n var o = this, s = this._iter.__iterator(we, i), a = 0;\n return i && St(this), new Z(function() {\n var u = s.next();\n return u.done ? u : B(\n n,\n i ? o.size - ++a : a++,\n u.value,\n u\n );\n });\n }, t;\n})(Ae), cs = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._iter = r, this.size = r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.has = function(n) {\n return this._iter.includes(n);\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._iter.__iterate(function(s) {\n return n(s, s, o);\n }, i);\n }, t.prototype.__iterator = function(n, i) {\n var o = this._iter.__iterator(we, i);\n return new Z(function() {\n var s = o.next();\n return s.done ? s : B(n, s.value, s.value, s);\n });\n }, t;\n})(Zt), fs = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._iter = r, this.size = r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.entrySeq = function() {\n return this._iter.toSeq();\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._iter.__iterate(function(s) {\n if (s) {\n Ci(s);\n var a = ye(s);\n return n(\n a ? s.get(1) : s[1],\n a ? s.get(0) : s[0],\n o\n );\n }\n }, i);\n }, t.prototype.__iterator = function(n, i) {\n var o = this._iter.__iterator(we, i);\n return new Z(function() {\n for (; ; ) {\n var s = o.next();\n if (s.done)\n return s;\n var a = s.value;\n if (a) {\n Ci(a);\n var u = ye(a);\n return B(\n n,\n u ? a.get(0) : a[0],\n u ? a.get(1) : a[1],\n s\n );\n }\n }\n });\n }, t;\n})(rt);\nus.prototype.cacheResult = qr.prototype.cacheResult = cs.prototype.cacheResult = fs.prototype.cacheResult = Cn;\nfunction ls(e) {\n var t = De(e);\n return t._iter = e, t.size = e.size, t.flip = function() {\n return e;\n }, t.reverse = function() {\n var r = e.reverse.apply(this);\n return r.flip = function() {\n return e.reverse();\n }, r;\n }, t.has = function(r) {\n return e.includes(r);\n }, t.includes = function(r) {\n return e.has(r);\n }, t.cacheResult = Cn, t.__iterateUncached = function(r, n) {\n var i = this;\n return e.__iterate(function(o, s) {\n return r(s, o, i) !== !1;\n }, n);\n }, t.__iteratorUncached = function(r, n) {\n if (r === Se) {\n var i = e.__iterator(r, n);\n return new Z(function() {\n var o = i.next();\n if (!o.done) {\n var s = o.value[0];\n o.value[0] = o.value[1], o.value[1] = s;\n }\n return o;\n });\n }\n return e.__iterator(\n r === we ? Pt : we,\n n\n );\n }, t;\n}\nfunction hs(e, t, r) {\n var n = De(e);\n return n.size = e.size, n.has = function(i) {\n return e.has(i);\n }, n.get = function(i, o) {\n var s = e.get(i, P);\n return s === P ? o : t.call(r, s, i, e);\n }, n.__iterateUncached = function(i, o) {\n var s = this;\n return e.__iterate(\n function(a, u, c) {\n return i(t.call(r, a, u, c), u, s) !== !1;\n },\n o\n );\n }, n.__iteratorUncached = function(i, o) {\n var s = e.__iterator(Se, o);\n return new Z(function() {\n var a = s.next();\n if (a.done)\n return a;\n var u = a.value, c = u[0];\n return B(\n i,\n c,\n t.call(r, u[1], c, e),\n a\n );\n });\n }, n;\n}\nfunction Zn(e, t) {\n var r = this, n = De(e);\n return n._iter = e, n.size = e.size, n.reverse = function() {\n return e;\n }, e.flip && (n.flip = function() {\n var i = ls(e);\n return i.reverse = function() {\n return e.flip();\n }, i;\n }), n.get = function(i, o) {\n return e.get(t ? i : -1 - i, o);\n }, n.has = function(i) {\n return e.has(t ? i : -1 - i);\n }, n.includes = function(i) {\n return e.includes(i);\n }, n.cacheResult = Cn, n.__iterate = function(i, o) {\n var s = this, a = 0;\n return o && St(e), e.__iterate(\n function(u, c) {\n return i(u, t ? c : o ? s.size - ++a : a++, s);\n },\n !o\n );\n }, n.__iterator = function(i, o) {\n var s = 0;\n o && St(e);\n var a = e.__iterator(Se, !o);\n return new Z(function() {\n var u = a.next();\n if (u.done)\n return u;\n var c = u.value;\n return B(\n i,\n t ? c[0] : o ? r.size - ++s : s++,\n c[1],\n u\n );\n });\n }, n;\n}\nfunction ps(e, t, r, n) {\n var i = De(e);\n return n && (i.has = function(o) {\n var s = e.get(o, P);\n return s !== P && !!t.call(r, s, o, e);\n }, i.get = function(o, s) {\n var a = e.get(o, P);\n return a !== P && t.call(r, a, o, e) ? a : s;\n }), i.__iterateUncached = function(o, s) {\n var a = this, u = 0;\n return e.__iterate(function(c, f, l) {\n if (t.call(r, c, f, l))\n return u++, o(c, n ? f : u - 1, a);\n }, s), u;\n }, i.__iteratorUncached = function(o, s) {\n var a = e.__iterator(Se, s), u = 0;\n return new Z(function() {\n for (; ; ) {\n var c = a.next();\n if (c.done)\n return c;\n var f = c.value, l = f[0], h = f[1];\n if (t.call(r, h, l, e))\n return B(o, n ? l : u++, h, c);\n }\n });\n }, i;\n}\nfunction Dh(e, t, r) {\n var n = Qe().asMutable();\n return e.__iterate(function(i, o) {\n n.update(t.call(r, i, o, e), 0, function(s) {\n return s + 1;\n });\n }), n.asImmutable();\n}\nfunction Ch(e, t, r) {\n var n = U(e), i = (Ze(e) ? xe() : Qe()).asMutable();\n e.__iterate(function(s, a) {\n i.update(\n t.call(r, s, a, e),\n function(u) {\n return u = u || [], u.push(n ? [a, s] : s), u;\n }\n );\n });\n var o = Dn(e);\n return i.map(function(s) {\n return C(e, o(s));\n }).asImmutable();\n}\nfunction jh(e, t, r) {\n var n = U(e), i = [[], []];\n e.__iterate(function(s, a) {\n i[t.call(r, s, a, e) ? 1 : 0].push(\n n ? [a, s] : s\n );\n });\n var o = Dn(e);\n return i.map(function(s) {\n return C(e, o(s));\n });\n}\nfunction Mn(e, t, r, n) {\n var i = e.size;\n if (Lr(t, r, i))\n return e;\n if (typeof i > \"u\" && (t < 0 || r < 0))\n return Mn(e.toSeq().cacheResult(), t, r, n);\n var o = ar(t, i), s = Fr(r, i), a = s - o, u;\n a === a && (u = a < 0 ? 0 : a);\n var c = De(e);\n return c.size = u === 0 ? u : e.size && u || void 0, !n && An(e) && u >= 0 && (c.get = function(f, l) {\n return f = Ye(this, f), f >= 0 && f < u ? e.get(f + o, l) : l;\n }), c.__iterateUncached = function(f, l) {\n var h = this;\n if (u === 0)\n return 0;\n if (l)\n return this.cacheResult().__iterate(f, l);\n var d = 0, _ = !0, g = 0;\n return e.__iterate(function(m, E) {\n if (!(_ && (_ = d++ < o)))\n return g++, f(m, n ? E : g - 1, h) !== !1 && g !== u;\n }), g;\n }, c.__iteratorUncached = function(f, l) {\n if (u !== 0 && l)\n return this.cacheResult().__iterator(f, l);\n if (u === 0)\n return new Z(le);\n var h = e.__iterator(f, l), d = 0, _ = 0;\n return new Z(function() {\n for (; d++ < o; )\n h.next();\n if (++_ > u)\n return le();\n var g = h.next();\n return n || f === we || g.done ? g : f === Pt ? B(f, _ - 1, void 0, g) : B(f, _ - 1, g.value[1], g);\n });\n }, c;\n}\nfunction Lh(e, t, r) {\n var n = De(e);\n return n.__iterateUncached = function(i, o) {\n var s = this;\n if (o)\n return this.cacheResult().__iterate(i, o);\n var a = 0;\n return e.__iterate(\n function(u, c, f) {\n return t.call(r, u, c, f) && ++a && i(u, c, s);\n }\n ), a;\n }, n.__iteratorUncached = function(i, o) {\n var s = this;\n if (o)\n return this.cacheResult().__iterator(i, o);\n var a = e.__iterator(Se, o), u = !0;\n return new Z(function() {\n if (!u)\n return le();\n var c = a.next();\n if (c.done)\n return c;\n var f = c.value, l = f[0], h = f[1];\n return t.call(r, h, l, s) ? i === Se ? c : B(i, l, h, c) : (u = !1, le());\n });\n }, n;\n}\nfunction ds(e, t, r, n) {\n var i = De(e);\n return i.__iterateUncached = function(o, s) {\n var a = this;\n if (s)\n return this.cacheResult().__iterate(o, s);\n var u = !0, c = 0;\n return e.__iterate(function(f, l, h) {\n if (!(u && (u = t.call(r, f, l, h))))\n return c++, o(f, n ? l : c - 1, a);\n }), c;\n }, i.__iteratorUncached = function(o, s) {\n var a = this;\n if (s)\n return this.cacheResult().__iterator(o, s);\n var u = e.__iterator(Se, s), c = !0, f = 0;\n return new Z(function() {\n var l, h, d;\n do {\n if (l = u.next(), l.done)\n return n || o === we ? l : o === Pt ? B(o, f++, void 0, l) : B(o, f++, l.value[1], l);\n var _ = l.value;\n h = _[0], d = _[1], c && (c = t.call(r, d, h, a));\n } while (c);\n return o === Se ? l : B(o, h, d, l);\n });\n }, i;\n}\nvar Fh = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._wrappedIterables = r.flatMap(function(n) {\n return n._wrappedIterables ? n._wrappedIterables : [n];\n }), this.size = this._wrappedIterables.reduce(function(n, i) {\n if (n !== void 0) {\n var o = i.size;\n if (o !== void 0)\n return n + o;\n }\n }, 0), this[Rr] = this._wrappedIterables[0][Rr], this[Ar] = this._wrappedIterables[0][Ar], this[Ge] = this._wrappedIterables[0][Ge];\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.__iterateUncached = function(n, i) {\n if (this._wrappedIterables.length !== 0) {\n if (i)\n return this.cacheResult().__iterate(n, i);\n for (var o = 0, s = U(this), a = s ? Se : we, u = this._wrappedIterables[o].__iterator(\n a,\n i\n ), c = !0, f = 0; c; ) {\n for (var l = u.next(); l.done; ) {\n if (o++, o === this._wrappedIterables.length)\n return f;\n u = this._wrappedIterables[o].__iterator(\n a,\n i\n ), l = u.next();\n }\n var h = s ? n(l.value[1], l.value[0], this) : n(l.value, f, this);\n c = h !== !1, f++;\n }\n return f;\n }\n }, t.prototype.__iteratorUncached = function(n, i) {\n var o = this;\n if (this._wrappedIterables.length === 0)\n return new Z(le);\n if (i)\n return this.cacheResult().__iterator(n, i);\n var s = 0, a = this._wrappedIterables[s].__iterator(\n n,\n i\n );\n return new Z(function() {\n for (var u = a.next(); u.done; ) {\n if (s++, s === o._wrappedIterables.length)\n return u;\n a = o._wrappedIterables[s].__iterator(\n n,\n i\n ), u = a.next();\n }\n return u;\n });\n }, t;\n})(pe);\nfunction xh(e, t) {\n var r = U(e), n = [e].concat(t).map(function(o) {\n return ye(o) ? r && (o = Ee(o)) : o = r ? Pn(o) : ss(Array.isArray(o) ? o : [o]), o;\n }).filter(function(o) {\n return o.size !== 0;\n });\n if (n.length === 0)\n return e;\n if (n.length === 1) {\n var i = n[0];\n if (i === e || r && U(i) || Oe(e) && Oe(i))\n return i;\n }\n return new Fh(n);\n}\nfunction _s(e, t, r) {\n var n = De(e);\n return n.__iterateUncached = function(i, o) {\n if (o)\n return this.cacheResult().__iterate(i, o);\n var s = 0, a = !1;\n function u(c, f) {\n c.__iterate(function(l, h) {\n return (!t || f < t) && ye(l) ? u(l, f + 1) : (s++, i(l, r ? h : s - 1, n) === !1 && (a = !0)), !a;\n }, o);\n }\n return u(e, 0), s;\n }, n.__iteratorUncached = function(i, o) {\n if (o)\n return this.cacheResult().__iterator(i, o);\n var s = e.__iterator(i, o), a = [], u = 0;\n return new Z(function() {\n for (; s; ) {\n var c = s.next();\n if (c.done !== !1) {\n s = a.pop();\n continue;\n }\n var f = c.value;\n if (i === Se && (f = f[1]), (!t || a.length < t) && ye(f))\n a.push(s), s = f.__iterator(i, o);\n else\n return r ? c : B(i, u++, f, c);\n }\n return le();\n });\n }, n;\n}\nfunction qh(e, t, r) {\n var n = Dn(e);\n return e.toSeq().map(function(i, o) {\n return n(t.call(r, i, o, e));\n }).flatten(!0);\n}\nfunction Uh(e, t) {\n var r = De(e);\n return r.size = e.size && e.size * 2 - 1, r.__iterateUncached = function(n, i) {\n var o = this, s = 0;\n return e.__iterate(\n function(a) {\n return (!s || n(t, s++, o) !== !1) && n(a, s++, o) !== !1;\n },\n i\n ), s;\n }, r.__iteratorUncached = function(n, i) {\n var o = e.__iterator(we, i), s = 0, a;\n return new Z(function() {\n return (!a || s % 2) && (a = o.next(), a.done) ? a : s % 2 ? B(n, s++, t) : B(n, s++, a.value, a);\n });\n }, r;\n}\nfunction zt(e, t, r) {\n t || (t = gs);\n var n = U(e), i = 0, o = e.toSeq().map(function(s, a) {\n return [a, s, i++, r ? r(s, a, e) : s];\n }).valueSeq().toArray();\n return o.sort(function(s, a) {\n return t(s[3], a[3]) || s[2] - a[2];\n }).forEach(\n n ? function(s, a) {\n o[a].length = 2;\n } : function(s, a) {\n o[a] = s[1];\n }\n ), n ? rt(o) : Oe(e) ? Ae(o) : Zt(o);\n}\nfunction yr(e, t, r) {\n if (t || (t = gs), r) {\n var n = e.toSeq().map(function(i, o) {\n return [i, r(i, o, e)];\n }).reduce(function(i, o) {\n return Di(t, i[1], o[1]) ? o : i;\n });\n return n && n[0];\n }\n return e.reduce(function(i, o) {\n return Di(t, i, o) ? o : i;\n });\n}\nfunction Di(e, t, r) {\n var n = e(r, t);\n return n === 0 && r !== t && (r == null || r !== r) || n > 0;\n}\nfunction wr(e, t, r, n) {\n var i = De(e), o = new bt(r).map(function(s) {\n return s.size;\n });\n return i.size = n ? o.max() : o.min(), i.__iterate = function(s, a) {\n for (var u = this.__iterator(we, a), c, f = 0; !(c = u.next()).done && s(c.value, f++, this) !== !1; )\n ;\n return f;\n }, i.__iteratorUncached = function(s, a) {\n var u = r.map(\n function(l) {\n return l = oe(l), ln(a ? l.reverse() : l);\n }\n ), c = 0, f = !1;\n return new Z(function() {\n var l;\n return f || (l = u.map(function(h) {\n return h.next();\n }), f = n ? l.every(function(h) {\n return h.done;\n }) : l.some(function(h) {\n return h.done;\n })), f ? le() : B(\n s,\n c++,\n t.apply(\n null,\n l.map(function(h) {\n return h.value;\n })\n )\n );\n });\n }, i;\n}\nfunction C(e, t) {\n return e === t ? e : An(e) ? t : e.constructor(t);\n}\nfunction Ci(e) {\n if (e !== Object(e))\n throw new TypeError(\"Expected [K, V] tuple: \" + e);\n}\nfunction Dn(e) {\n return U(e) ? Ee : Oe(e) ? ut : Tt;\n}\nfunction De(e) {\n return Object.create(\n (U(e) ? rt : Oe(e) ? Ae : Zt).prototype\n );\n}\nfunction Cn() {\n return this._iter.cacheResult ? (this._iter.cacheResult(), this.size = this._iter.size, this) : pe.prototype.cacheResult.call(this);\n}\nfunction gs(e, t) {\n return e === void 0 && t === void 0 ? 0 : e === void 0 ? 1 : t === void 0 ? -1 : e > t ? 1 : e < t ? -1 : 0;\n}\nfunction ji(e) {\n return !!(e && // @ts-expect-error: maybeValue is typed as `{}`\n typeof e.equals == \"function\" && // @ts-expect-error: maybeValue is typed as `{}`\n typeof e.hashCode == \"function\");\n}\nfunction ve(e, t) {\n if (e === t || e !== e && t !== t)\n return !0;\n if (!e || !t)\n return !1;\n if (typeof e.valueOf == \"function\" && typeof t.valueOf == \"function\") {\n if (e = e.valueOf(), t = t.valueOf(), e === t || e !== e && t !== t)\n return !0;\n if (!e || !t)\n return !1;\n }\n return !!(ji(e) && ji(t) && e.equals(t));\n}\nfunction ms(e, t, r, n) {\n return Mt(\n // @ts-expect-error Index signature for type string is missing in type V[]\n e,\n [t],\n r,\n n\n );\n}\nfunction vs() {\n for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t];\n return ws(this, e);\n}\nfunction ys(e) {\n for (var t = [], r = arguments.length - 1; r-- > 0; ) t[r] = arguments[r + 1];\n if (typeof e != \"function\")\n throw new TypeError(\"Invalid merger function: \" + e);\n return ws(this, t, e);\n}\nfunction ws(e, t, r) {\n for (var n = [], i = 0; i < t.length; i++) {\n var o = Ee(t[i]);\n o.size !== 0 && n.push(o);\n }\n return n.length === 0 ? e : e.toSeq().size === 0 && !e.__ownerID && n.length === 1 ? ct(e) ? e : e.constructor(n[0]) : e.withMutations(function(s) {\n for (var a = r ? function(c, f) {\n ms(\n s,\n f,\n P,\n function(l) {\n return l === P ? c : r(l, c, f);\n }\n );\n } : function(c, f) {\n s.set(f, c);\n }, u = 0; u < n.length; u++)\n n[u].forEach(a);\n });\n}\nvar Bh = Object.prototype.toString;\nfunction Wh(e) {\n if (!e || typeof e != \"object\" || Bh.call(e) !== \"[object Object]\")\n return !1;\n var t = Object.getPrototypeOf(e);\n if (t === null)\n return !0;\n for (var r = t, n = Object.getPrototypeOf(t); n !== null; )\n r = n, n = Object.getPrototypeOf(r);\n return r === t;\n}\nfunction Xe(e) {\n return typeof e == \"object\" && (Me(e) || Array.isArray(e) || Wh(e));\n}\nfunction Pe(e, t) {\n t = t || 0;\n for (var r = Math.max(0, e.length - t), n = new Array(r), i = 0; i < r; i++)\n n[i] = e[i + t];\n return n;\n}\nfunction Tr(e) {\n if (Array.isArray(e))\n return Pe(e);\n var t = {};\n for (var r in e)\n Nt.call(e, r) && (t[r] = e[r]);\n return t;\n}\nfunction jn(e, t, r) {\n return Ln(e, t, Jh(r));\n}\nfunction Ln(e, t, r) {\n if (!Xe(e))\n throw new TypeError(\n \"Cannot merge into non-data-structure value: \" + e\n );\n if (Me(e))\n return typeof r == \"function\" && e.mergeWith ? e.mergeWith.apply(e, [r].concat(t)) : e.merge ? e.merge.apply(e, t) : e.concat.apply(e, t);\n for (var n = Array.isArray(e), i = e, o = n ? ut : Ee, s = n ? function(u) {\n i === e && (i = Tr(i)), i.push(u);\n } : function(u, c) {\n var f = Nt.call(i, c), l = f && r ? r(i[c], u, c) : u;\n (!f || l !== i[c]) && (i === e && (i = Tr(i)), i[c] = l);\n }, a = 0; a < t.length; a++)\n o(t[a]).forEach(s);\n return i;\n}\nfunction Jh(e) {\n function t(r, n, i) {\n return Xe(r) && Xe(n) && Vh(r, n) ? Ln(r, [n], t) : e ? e(r, n, i) : n;\n }\n return t;\n}\nfunction Vh(e, t) {\n var r = pe(e), n = pe(t);\n return Oe(r) === Oe(n) && U(r) === U(n);\n}\nfunction Ss() {\n for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t];\n return jn(this, e);\n}\nfunction bs(e) {\n for (var t = [], r = arguments.length - 1; r-- > 0; ) t[r] = arguments[r + 1];\n return jn(this, t, e);\n}\nfunction Fn(e) {\n for (var t = [], r = arguments.length - 1; r-- > 0; ) t[r] = arguments[r + 1];\n return Mt(\n this,\n e,\n Ne(),\n function(n) {\n return jn(n, t);\n }\n );\n}\nfunction xn(e) {\n for (var t = [], r = arguments.length - 1; r-- > 0; ) t[r] = arguments[r + 1];\n return Mt(this, e, Ne(), function(n) {\n return Ln(n, t);\n });\n}\nfunction Kh(e, t, r) {\n return Mt(e, t, P, function() {\n return r;\n });\n}\nfunction qn(e, t) {\n return Kh(this, e, t);\n}\nfunction Un(e, t, r) {\n return arguments.length === 1 ? e(this) : ms(this, e, t, r);\n}\nfunction Bn(e, t, r) {\n return Mt(this, e, t, r);\n}\nfunction Wn() {\n return this.__altered;\n}\nfunction fr(e) {\n var t = this.asMutable();\n return e(t), t.wasAltered() ? t.__ensureOwner(this.__ownerID) : this;\n}\nvar zs = \"@@__IMMUTABLE_MAP__@@\";\nfunction Jn(e) {\n return !!(e && // @ts-expect-error: maybeMap is typed as `{}`, need to change in 6.0 to `maybeMap && typeof maybeMap === 'object' && IS_MAP_SYMBOL in maybeMap`\n e[zs]);\n}\nfunction Jt(e, t) {\n if (!e)\n throw new Error(t);\n}\nfunction ge(e) {\n Jt(e !== 1 / 0, \"Cannot perform this action with an infinite size.\");\n}\nvar Qe = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Ne() : Jn(r) && !Ze(r) ? r : Ne().withMutations(function(n) {\n var i = e(r);\n ge(i.size), i.forEach(function(o, s) {\n return n.set(s, o);\n });\n });\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.toString = function() {\n return this.__toString(\"Map {\", \"}\");\n }, t.prototype.get = function(n, i) {\n return this._root ? this._root.get(0, void 0, n, i) : i;\n }, t.prototype.set = function(n, i) {\n return xi(this, n, i);\n }, t.prototype.remove = function(n) {\n return xi(this, n, P);\n }, t.prototype.deleteAll = function(n) {\n var i = oe(n);\n return i.size === 0 ? this : this.withMutations(function(o) {\n i.forEach(function(s) {\n return o.remove(s);\n });\n });\n }, t.prototype.clear = function() {\n return this.size === 0 ? this : this.__ownerID ? (this.size = 0, this._root = null, this.__hash = void 0, this.__altered = !0, this) : Ne();\n }, t.prototype.sort = function(n) {\n return xe(zt(this, n));\n }, t.prototype.sortBy = function(n, i) {\n return xe(zt(this, i, n));\n }, t.prototype.map = function(n, i) {\n var o = this;\n return this.withMutations(function(s) {\n s.forEach(function(a, u) {\n s.set(u, n.call(i, a, u, o));\n });\n });\n }, t.prototype.__iterator = function(n, i) {\n return new Hh(this, n, i);\n }, t.prototype.__iterate = function(n, i) {\n var o = this, s = 0;\n return this._root && this._root.iterate(function(a) {\n return s++, n(a[1], a[0], o);\n }, i), s;\n }, t.prototype.__ensureOwner = function(n) {\n return n === this.__ownerID ? this : n ? Vn(this.size, this._root, n, this.__hash) : this.size === 0 ? Ne() : (this.__ownerID = n, this.__altered = !1, this);\n }, t;\n})(Ee);\nQe.isMap = Jn;\nvar q = Qe.prototype;\nq[zs] = !0;\nq[sr] = q.remove;\nq.removeAll = q.deleteAll;\nq.setIn = qn;\nq.removeIn = q.deleteIn = Yn;\nq.update = Un;\nq.updateIn = Bn;\nq.merge = q.concat = vs;\nq.mergeWith = ys;\nq.mergeDeep = Ss;\nq.mergeDeepWith = bs;\nq.mergeIn = xn;\nq.mergeDeepIn = Fn;\nq.withMutations = fr;\nq.wasAltered = Wn;\nq.asImmutable = ur;\nq[\"@@transducer/init\"] = q.asMutable = cr;\nq[\"@@transducer/step\"] = function(e, t) {\n return e.set(t[0], t[1]);\n};\nq[\"@@transducer/result\"] = function(e) {\n return e.asImmutable();\n};\nvar Qt = function(t, r) {\n this.ownerID = t, this.entries = r;\n};\nQt.prototype.get = function(t, r, n, i) {\n for (var o = this.entries, s = 0, a = o.length; s < a; s++)\n if (ve(n, o[s][0]))\n return o[s][1];\n return i;\n};\nQt.prototype.update = function(t, r, n, i, o, s, a) {\n for (var u = o === P, c = this.entries, f = 0, l = c.length; f < l && !ve(i, c[f][0]); f++)\n ;\n var h = f < l;\n if (h ? c[f][1] === o : u)\n return this;\n if (ke(a), (u || !h) && ke(s), !(u && c.length === 1)) {\n if (!h && !u && c.length >= tp)\n return Yh(t, c, i, o);\n var d = t && t === this.ownerID, _ = d ? c : Pe(c);\n return h ? u ? f === l - 1 ? _.pop() : _[f] = _.pop() : _[f] = [i, o] : _.push([i, o]), d ? (this.entries = _, this) : new Qt(t, _);\n }\n};\nvar kt = function(t, r, n) {\n this.ownerID = t, this.bitmap = r, this.nodes = n;\n};\nkt.prototype.get = function(t, r, n, i) {\n r === void 0 && (r = _e(n));\n var o = 1 << ((t === 0 ? r : r >>> t) & fe), s = this.bitmap;\n return (s & o) === 0 ? i : this.nodes[ks(s & o - 1)].get(\n t + j,\n r,\n n,\n i\n );\n};\nkt.prototype.update = function(t, r, n, i, o, s, a) {\n n === void 0 && (n = _e(i));\n var u = (r === 0 ? n : n >>> r) & fe, c = 1 << u, f = this.bitmap, l = (f & c) !== 0;\n if (!l && o === P)\n return this;\n var h = ks(f & c - 1), d = this.nodes, _ = l ? d[h] : void 0, g = Kn(\n _,\n t,\n r + j,\n n,\n i,\n o,\n s,\n a\n );\n if (g === _)\n return this;\n if (!l && g && d.length >= rp)\n return Xh(t, d, f, u, g);\n if (l && !g && d.length === 2 && qi(d[h ^ 1]))\n return d[h ^ 1];\n if (l && g && d.length === 1 && qi(g))\n return g;\n var m = t && t === this.ownerID, E = l ? g ? f : f ^ c : f | c, $ = l ? g ? Os(d, h, g, m) : ep(d, h, m) : Qh(d, h, g, m);\n return m ? (this.bitmap = E, this.nodes = $, this) : new kt(t, E, $);\n};\nvar er = function(t, r, n) {\n this.ownerID = t, this.count = r, this.nodes = n;\n};\ner.prototype.get = function(t, r, n, i) {\n r === void 0 && (r = _e(n));\n var o = (t === 0 ? r : r >>> t) & fe, s = this.nodes[o];\n return s ? s.get(t + j, r, n, i) : i;\n};\ner.prototype.update = function(t, r, n, i, o, s, a) {\n n === void 0 && (n = _e(i));\n var u = (r === 0 ? n : n >>> r) & fe, c = o === P, f = this.nodes, l = f[u];\n if (c && !l)\n return this;\n var h = Kn(\n l,\n t,\n r + j,\n n,\n i,\n o,\n s,\n a\n );\n if (h === l)\n return this;\n var d = this.count;\n if (!l)\n d++;\n else if (!h && (d--, d < np))\n return Gh(t, f, d, u);\n var _ = t && t === this.ownerID, g = Os(f, u, h, _);\n return _ ? (this.count = d, this.nodes = g, this) : new er(t, d, g);\n};\nvar Ot = function(t, r, n) {\n this.ownerID = t, this.keyHash = r, this.entries = n;\n};\nOt.prototype.get = function(t, r, n, i) {\n for (var o = this.entries, s = 0, a = o.length; s < a; s++)\n if (ve(n, o[s][0]))\n return o[s][1];\n return i;\n};\nOt.prototype.update = function(t, r, n, i, o, s, a) {\n n === void 0 && (n = _e(i));\n var u = o === P;\n if (n !== this.keyHash)\n return u ? this : (ke(a), ke(s), Hn(this, t, r, n, [i, o]));\n for (var c = this.entries, f = 0, l = c.length; f < l && !ve(i, c[f][0]); f++)\n ;\n var h = f < l;\n if (h ? c[f][1] === o : u)\n return this;\n if (ke(a), (u || !h) && ke(s), u && l === 2)\n return new Fe(t, this.keyHash, c[f ^ 1]);\n var d = t && t === this.ownerID, _ = d ? c : Pe(c);\n return h ? u ? f === l - 1 ? _.pop() : _[f] = _.pop() : _[f] = [i, o] : _.push([i, o]), d ? (this.entries = _, this) : new Ot(t, this.keyHash, _);\n};\nvar Fe = function(t, r, n) {\n this.ownerID = t, this.keyHash = r, this.entry = n;\n};\nFe.prototype.get = function(t, r, n, i) {\n return ve(n, this.entry[0]) ? this.entry[1] : i;\n};\nFe.prototype.update = function(t, r, n, i, o, s, a) {\n var u = o === P, c = ve(i, this.entry[0]);\n if (c ? o === this.entry[1] : u)\n return this;\n if (ke(a), u) {\n ke(s);\n return;\n }\n return c ? t && t === this.ownerID ? (this.entry[1] = o, this) : new Fe(t, this.keyHash, [i, o]) : (ke(s), Hn(this, t, r, _e(i), [i, o]));\n};\nQt.prototype.iterate = Ot.prototype.iterate = function(e, t) {\n for (var r = this.entries, n = 0, i = r.length - 1; n <= i; n++)\n if (e(r[t ? i - n : n]) === !1)\n return !1;\n};\nkt.prototype.iterate = er.prototype.iterate = function(e, t) {\n for (var r = this.nodes, n = 0, i = r.length - 1; n <= i; n++) {\n var o = r[t ? i - n : n];\n if (o && o.iterate(e, t) === !1)\n return !1;\n }\n};\nFe.prototype.iterate = function(e, t) {\n return e(this.entry);\n};\nvar Hh = /* @__PURE__ */ (function(e) {\n function t(r, n, i) {\n this._type = n, this._reverse = i, this._stack = r._root && Li(r._root);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.next = function() {\n for (var n = this._type, i = this._stack; i; ) {\n var o = i.node, s = i.index++, a = void 0;\n if (o.entry) {\n if (s === 0)\n return en(n, o.entry);\n } else if (o.entries) {\n if (a = o.entries.length - 1, s <= a)\n return en(\n n,\n o.entries[this._reverse ? a - s : s]\n );\n } else if (a = o.nodes.length - 1, s <= a) {\n var u = o.nodes[this._reverse ? a - s : s];\n if (u) {\n if (u.entry)\n return en(n, u.entry);\n i = this._stack = Li(u, i);\n }\n continue;\n }\n i = this._stack = this._stack.__prev;\n }\n return le();\n }, t;\n})(Z);\nfunction en(e, t) {\n return B(e, t[0], t[1]);\n}\nfunction Li(e, t) {\n return {\n node: e,\n index: 0,\n __prev: t\n };\n}\nfunction Vn(e, t, r, n) {\n var i = Object.create(q);\n return i.size = e, i._root = t, i.__ownerID = r, i.__hash = n, i.__altered = !1, i;\n}\nvar Fi;\nfunction Ne() {\n return Fi || (Fi = Vn(0));\n}\nfunction xi(e, t, r) {\n var n, i;\n if (e._root) {\n var o = hn(), s = hn();\n if (n = Kn(\n e._root,\n e.__ownerID,\n 0,\n void 0,\n t,\n r,\n o,\n s\n ), !s.value)\n return e;\n i = e.size + (o.value ? r === P ? -1 : 1 : 0);\n } else {\n if (r === P)\n return e;\n i = 1, n = new Qt(e.__ownerID, [[t, r]]);\n }\n return e.__ownerID ? (e.size = i, e._root = n, e.__hash = void 0, e.__altered = !0, e) : n ? Vn(i, n) : Ne();\n}\nfunction Kn(e, t, r, n, i, o, s, a) {\n return e ? e.update(\n t,\n r,\n n,\n i,\n o,\n s,\n a\n ) : o === P ? e : (ke(a), ke(s), new Fe(t, n, [i, o]));\n}\nfunction qi(e) {\n return e.constructor === Fe || e.constructor === Ot;\n}\nfunction Hn(e, t, r, n, i) {\n if (e.keyHash === n)\n return new Ot(t, n, [e.entry, i]);\n var o = (r === 0 ? e.keyHash : e.keyHash >>> r) & fe, s = (r === 0 ? n : n >>> r) & fe, a, u = o === s ? [Hn(e, t, r + j, n, i)] : (a = new Fe(t, n, i), o < s ? [e, a] : [a, e]);\n return new kt(t, 1 << o | 1 << s, u);\n}\nfunction Yh(e, t, r, n) {\n e || (e = new In());\n for (var i = new Fe(e, _e(r), [r, n]), o = 0; o < t.length; o++) {\n var s = t[o];\n i = i.update(e, 0, void 0, s[0], s[1]);\n }\n return i;\n}\nfunction Gh(e, t, r, n) {\n for (var i = 0, o = 0, s = new Array(r), a = 0, u = 1, c = t.length; a < c; a++, u <<= 1) {\n var f = t[a];\n f !== void 0 && a !== n && (i |= u, s[o++] = f);\n }\n return new kt(e, i, s);\n}\nfunction Xh(e, t, r, n, i) {\n for (var o = 0, s = new Array(me), a = 0; r !== 0; a++, r >>>= 1)\n s[a] = r & 1 ? t[o++] : void 0;\n return s[n] = i, new er(e, o + 1, s);\n}\nfunction ks(e) {\n return e -= e >> 1 & 1431655765, e = (e & 858993459) + (e >> 2 & 858993459), e = e + (e >> 4) & 252645135, e += e >> 8, e += e >> 16, e & 127;\n}\nfunction Os(e, t, r, n) {\n var i = n ? e : Pe(e);\n return i[t] = r, i;\n}\nfunction Qh(e, t, r, n) {\n var i = e.length + 1;\n if (n && t + 1 === i)\n return e[t] = r, e;\n for (var o = new Array(i), s = 0, a = 0; a < i; a++)\n a === t ? (o[a] = r, s = -1) : o[a] = e[a + s];\n return o;\n}\nfunction ep(e, t, r) {\n var n = e.length - 1;\n if (r && t === n)\n return e.pop(), e;\n for (var i = new Array(n), o = 0, s = 0; s < n; s++)\n s === t && (o = 1), i[s] = e[s + o];\n return i;\n}\nvar tp = me / 4, rp = me / 2, np = me / 4;\nfunction $s(e) {\n if (os(e) && typeof e != \"string\")\n return e;\n if (Ze(e))\n return e.toArray();\n throw new TypeError(\"Invalid keyPath: expected Ordered Collection or Array: \" + e);\n}\nfunction tr(e) {\n try {\n return typeof e == \"string\" ? JSON.stringify(e) : String(e);\n } catch {\n return JSON.stringify(e);\n }\n}\nfunction ip(e, t) {\n return Me(e) ? (\n // @ts-expect-error key might be a number or symbol, which is not handled be Record key type\n e.has(t)\n ) : (\n // @ts-expect-error key might be anything else than PropertyKey, and will return false in that case but runtime is OK\n Xe(e) && Nt.call(e, t)\n );\n}\nfunction Es(e, t, r) {\n return Me(e) ? e.get(t, r) : ip(e, t) ? (\n // @ts-expect-error weird \"get\" here,\n typeof e.get == \"function\" ? (\n // @ts-expect-error weird \"get\" here,\n e.get(t)\n ) : (\n // @ts-expect-error key is unknown here,\n e[t]\n )\n ) : r;\n}\nfunction op(e, t) {\n if (!Xe(e))\n throw new TypeError(\"Cannot update non-data-structure value: \" + e);\n if (Me(e)) {\n if (!e.remove)\n throw new TypeError(\"Cannot update immutable value without .remove() method: \" + e);\n return e.remove(t);\n }\n if (!Nt.call(e, t))\n return e;\n var r = Tr(e);\n return Array.isArray(r) ? r.splice(t, 1) : delete r[t], r;\n}\nfunction sp(e, t, r) {\n if (!Xe(e))\n throw new TypeError(\"Cannot update non-data-structure value: \" + e);\n if (Me(e)) {\n if (!e.set)\n throw new TypeError(\"Cannot update immutable value without .set() method: \" + e);\n return e.set(t, r);\n }\n if (Nt.call(e, t) && r === e[t])\n return e;\n var n = Tr(e);\n return n[t] = r, n;\n}\nfunction Mt(e, t, r, n) {\n n || (n = r, r = void 0);\n var i = Is(\n Me(e),\n // @ts-expect-error type issues with Record and mixed types\n e,\n $s(t),\n 0,\n r,\n n\n );\n return i === P ? r : i;\n}\nfunction Is(e, t, r, n, i, o) {\n var s = t === P;\n if (n === r.length) {\n var a = s ? i : t, u = o(a);\n return u === a ? t : u;\n }\n if (!s && !Xe(t))\n throw new TypeError(\"Cannot update within non-data-structure value in path [\" + Array.from(r).slice(0, n).map(tr) + \"]: \" + t);\n var c = r[n], f = s ? P : Es(t, c, P), l = Is(\n f === P ? e : Me(f),\n // @ts-expect-error mixed type\n f,\n r,\n n + 1,\n i,\n o\n );\n return l === f ? t : l === P ? op(t, c) : sp(s ? e ? Ne() : {} : t, c, l);\n}\nfunction ap(e, t) {\n return Mt(e, t, function() {\n return P;\n });\n}\nfunction Yn(e) {\n return ap(this, e);\n}\nvar As = \"@@__IMMUTABLE_LIST__@@\";\nfunction Rs(e) {\n return !!(e && // @ts-expect-error: maybeList is typed as `{}`, need to change in 6.0 to `maybeList && typeof maybeList === 'object' && IS_LIST_SYMBOL in maybeList`\n e[As]);\n}\nvar $t = /* @__PURE__ */ (function(e) {\n function t(r) {\n var n = zr();\n if (r == null)\n return n;\n if (Rs(r))\n return r;\n var i = e(r), o = i.size;\n return o === 0 ? n : (ge(o), o > 0 && o < me ? rr(0, o, j, null, new We(i.toArray())) : n.withMutations(function(s) {\n s.setSize(o), i.forEach(function(a, u) {\n return s.set(u, a);\n });\n }));\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.prototype.toString = function() {\n return this.__toString(\"List [\", \"]\");\n }, t.prototype.get = function(n, i) {\n if (n = Ye(this, n), n >= 0 && n < this.size) {\n n += this._origin;\n var o = Ts(this, n);\n return o && o.array[n & fe];\n }\n return i;\n }, t.prototype.set = function(n, i) {\n return up(this, n, i);\n }, t.prototype.remove = function(n) {\n return this.has(n) ? n === 0 ? this.shift() : n === this.size - 1 ? this.pop() : this.splice(n, 1) : this;\n }, t.prototype.insert = function(n, i) {\n return this.splice(n, 0, i);\n }, t.prototype.clear = function() {\n return this.size === 0 ? this : this.__ownerID ? (this.size = this._origin = this._capacity = 0, this._level = j, this._root = this._tail = this.__hash = void 0, this.__altered = !0, this) : zr();\n }, t.prototype.push = function() {\n var n = arguments, i = this.size;\n return this.withMutations(function(o) {\n qe(o, 0, i + n.length);\n for (var s = 0; s < n.length; s++)\n o.set(i + s, n[s]);\n });\n }, t.prototype.pop = function() {\n return qe(this, 0, -1);\n }, t.prototype.unshift = function() {\n var n = arguments;\n return this.withMutations(function(i) {\n qe(i, -n.length);\n for (var o = 0; o < n.length; o++)\n i.set(o, n[o]);\n });\n }, t.prototype.shift = function() {\n return qe(this, 1);\n }, t.prototype.shuffle = function(n) {\n return n === void 0 && (n = Math.random), this.withMutations(function(i) {\n for (var o = i.size, s, a; o; )\n s = Math.floor(n() * o--), a = i.get(s), i.set(s, i.get(o)), i.set(o, a);\n });\n }, t.prototype.concat = function() {\n for (var n = arguments, i = [], o = 0; o < arguments.length; o++) {\n var s = n[o], a = e(\n typeof s != \"string\" && Qo(s) ? s : [s]\n );\n a.size !== 0 && i.push(a);\n }\n return i.length === 0 ? this : this.size === 0 && !this.__ownerID && i.length === 1 ? this.constructor(i[0]) : this.withMutations(function(u) {\n i.forEach(function(c) {\n return c.forEach(function(f) {\n return u.push(f);\n });\n });\n });\n }, t.prototype.setSize = function(n) {\n return qe(this, 0, n);\n }, t.prototype.map = function(n, i) {\n var o = this;\n return this.withMutations(function(s) {\n for (var a = 0; a < o.size; a++)\n s.set(a, n.call(i, s.get(a), a, o));\n });\n }, t.prototype.slice = function(n, i) {\n var o = this.size;\n return Lr(n, i, o) ? this : qe(\n this,\n ar(n, o),\n Fr(i, o)\n );\n }, t.prototype.__iterator = function(n, i) {\n var o = i ? this.size : 0, s = Ui(this, i);\n return new Z(function() {\n var a = s();\n return a === Vt ? le() : B(n, i ? --o : o++, a);\n });\n }, t.prototype.__iterate = function(n, i) {\n for (var o = i ? this.size : 0, s = Ui(this, i), a; (a = s()) !== Vt && n(a, i ? --o : o++, this) !== !1; )\n ;\n return o;\n }, t.prototype.__ensureOwner = function(n) {\n return n === this.__ownerID ? this : n ? rr(\n this._origin,\n this._capacity,\n this._level,\n this._root,\n this._tail,\n n,\n this.__hash\n ) : this.size === 0 ? zr() : (this.__ownerID = n, this.__altered = !1, this);\n }, t;\n})(ut);\n$t.isList = Rs;\nvar Q = $t.prototype;\nQ[As] = !0;\nQ[sr] = Q.remove;\nQ.merge = Q.concat;\nQ.setIn = qn;\nQ.deleteIn = Q.removeIn = Yn;\nQ.update = Un;\nQ.updateIn = Bn;\nQ.mergeIn = xn;\nQ.mergeDeepIn = Fn;\nQ.withMutations = fr;\nQ.wasAltered = Wn;\nQ.asImmutable = ur;\nQ[\"@@transducer/init\"] = Q.asMutable = cr;\nQ[\"@@transducer/step\"] = function(e, t) {\n return e.push(t);\n};\nQ[\"@@transducer/result\"] = function(e) {\n return e.asImmutable();\n};\nvar We = function(t, r) {\n this.array = t, this.ownerID = r;\n};\nWe.prototype.removeBefore = function(t, r, n) {\n if ((n & (1 << r + j) - 1) === 0 || this.array.length === 0)\n return this;\n var i = n >>> r & fe;\n if (i >= this.array.length)\n return new We([], t);\n var o = i === 0, s;\n if (r > 0) {\n var a = this.array[i];\n if (s = a && a.removeBefore(t, r - j, n), s === a && o)\n return this;\n }\n if (o && !s)\n return this;\n var u = Et(this, t);\n if (!o)\n for (var c = 0; c < i; c++)\n u.array[c] = void 0;\n return s && (u.array[i] = s), u;\n};\nWe.prototype.removeAfter = function(t, r, n) {\n if (n === (r ? 1 << r + j : me) || this.array.length === 0)\n return this;\n var i = n - 1 >>> r & fe;\n if (i >= this.array.length)\n return this;\n var o;\n if (r > 0) {\n var s = this.array[i];\n if (o = s && s.removeAfter(t, r - j, n), o === s && i === this.array.length - 1)\n return this;\n }\n var a = Et(this, t);\n return a.array.splice(i + 1), o && (a.array[i] = o), a;\n};\nvar Vt = {};\nfunction Ui(e, t) {\n var r = e._origin, n = e._capacity, i = nr(n), o = e._tail;\n return s(e._root, e._level, 0);\n function s(c, f, l) {\n return f === 0 ? a(c, l) : u(c, f, l);\n }\n function a(c, f) {\n var l = f === i ? o && o.array : c && c.array, h = f > r ? 0 : r - f, d = n - f;\n return d > me && (d = me), function() {\n if (h === d)\n return Vt;\n var _ = t ? --d : h++;\n return l && l[_];\n };\n }\n function u(c, f, l) {\n var h, d = c && c.array, _ = l > r ? 0 : r - l >> f, g = (n - l >> f) + 1;\n return g > me && (g = me), function() {\n for (; ; ) {\n if (h) {\n var m = h();\n if (m !== Vt)\n return m;\n h = null;\n }\n if (_ === g)\n return Vt;\n var E = t ? --g : _++;\n h = s(\n d && d[E],\n f - j,\n l + (E << f)\n );\n }\n };\n }\n}\nfunction rr(e, t, r, n, i, o, s) {\n var a = Object.create(Q);\n return a.size = t - e, a._origin = e, a._capacity = t, a._level = r, a._root = n, a._tail = i, a.__ownerID = o, a.__hash = s, a.__altered = !1, a;\n}\nfunction zr() {\n return rr(0, 0, j);\n}\nfunction up(e, t, r) {\n if (t = Ye(e, t), t !== t)\n return e;\n if (t >= e.size || t < 0)\n return e.withMutations(function(s) {\n t < 0 ? qe(s, t).set(0, r) : qe(s, 0, t + 1).set(t, r);\n });\n t += e._origin;\n var n = e._tail, i = e._root, o = hn();\n return t >= nr(e._capacity) ? n = gn(n, e.__ownerID, 0, t, r, o) : i = gn(\n i,\n e.__ownerID,\n e._level,\n t,\n r,\n o\n ), o.value ? e.__ownerID ? (e._root = i, e._tail = n, e.__hash = void 0, e.__altered = !0, e) : rr(e._origin, e._capacity, e._level, i, n) : e;\n}\nfunction gn(e, t, r, n, i, o) {\n var s = n >>> r & fe, a = e && s < e.array.length;\n if (!a && i === void 0)\n return e;\n var u;\n if (r > 0) {\n var c = e && e.array[s], f = gn(\n c,\n t,\n r - j,\n n,\n i,\n o\n );\n return f === c ? e : (u = Et(e, t), u.array[s] = f, u);\n }\n return a && e.array[s] === i ? e : (o && ke(o), u = Et(e, t), i === void 0 && s === u.array.length - 1 ? u.array.pop() : u.array[s] = i, u);\n}\nfunction Et(e, t) {\n return t && e && t === e.ownerID ? e : new We(e ? e.array.slice() : [], t);\n}\nfunction Ts(e, t) {\n if (t >= nr(e._capacity))\n return e._tail;\n if (t < 1 << e._level + j) {\n for (var r = e._root, n = e._level; r && n > 0; )\n r = r.array[t >>> n & fe], n -= j;\n return r;\n }\n}\nfunction qe(e, t, r) {\n t !== void 0 && (t |= 0), r !== void 0 && (r |= 0);\n var n = e.__ownerID || new In(), i = e._origin, o = e._capacity, s = i + t, a = r === void 0 ? o : r < 0 ? o + r : i + r;\n if (s === i && a === o)\n return e;\n if (s >= a)\n return e.clear();\n for (var u = e._level, c = e._root, f = 0; s + f < 0; )\n c = new We(\n c && c.array.length ? [void 0, c] : [],\n n\n ), u += j, f += 1 << u;\n f && (s += f, i += f, a += f, o += f);\n for (var l = nr(o), h = nr(a); h >= 1 << u + j; )\n c = new We(\n c && c.array.length ? [c] : [],\n n\n ), u += j;\n var d = e._tail, _ = h < l ? Ts(e, a - 1) : h > l ? new We([], n) : d;\n if (d && h > l && s < o && d.array.length) {\n c = Et(c, n);\n for (var g = c, m = u; m > j; m -= j) {\n var E = l >>> m & fe;\n g = g.array[E] = Et(g.array[E], n);\n }\n g.array[l >>> j & fe] = d;\n }\n if (a < o && (_ = _ && _.removeAfter(n, 0, a)), s >= h)\n s -= h, a -= h, u = j, c = null, _ = _ && _.removeBefore(n, 0, s);\n else if (s > i || h < l) {\n for (f = 0; c; ) {\n var $ = s >>> u & fe;\n if ($ !== h >>> u & fe)\n break;\n $ && (f += (1 << u) * $), u -= j, c = c.array[$];\n }\n c && s > i && (c = c.removeBefore(n, u, s - f)), c && h < l && (c = c.removeAfter(\n n,\n u,\n h - f\n )), f && (s -= f, a -= f);\n }\n return e.__ownerID ? (e.size = a - s, e._origin = s, e._capacity = a, e._level = u, e._root = c, e._tail = _, e.__hash = void 0, e.__altered = !0, e) : rr(s, a, u, c, _);\n}\nfunction nr(e) {\n return e < me ? 0 : e - 1 >>> j << j;\n}\nfunction Ps(e) {\n return Jn(e) && Ze(e);\n}\nvar xe = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? qt() : Ps(r) ? r : qt().withMutations(function(n) {\n var i = Ee(r);\n ge(i.size), i.forEach(function(o, s) {\n return n.set(s, o);\n });\n });\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.prototype.toString = function() {\n return this.__toString(\"OrderedMap {\", \"}\");\n }, t.prototype.get = function(n, i) {\n var o = this._map.get(n);\n return o !== void 0 ? this._list.get(o)[1] : i;\n }, t.prototype.clear = function() {\n return this.size === 0 ? this : this.__ownerID ? (this.size = 0, this._map.clear(), this._list.clear(), this.__altered = !0, this) : qt();\n }, t.prototype.set = function(n, i) {\n return Wi(this, n, i);\n }, t.prototype.remove = function(n) {\n return Wi(this, n, P);\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._list.__iterate(\n function(s) {\n return s && n(s[1], s[0], o);\n },\n i\n );\n }, t.prototype.__iterator = function(n, i) {\n return this._list.fromEntrySeq().__iterator(n, i);\n }, t.prototype.__ensureOwner = function(n) {\n if (n === this.__ownerID)\n return this;\n var i = this._map.__ensureOwner(n), o = this._list.__ensureOwner(n);\n return n ? Gn(i, o, n, this.__hash) : this.size === 0 ? qt() : (this.__ownerID = n, this.__altered = !1, this._map = i, this._list = o, this);\n }, t;\n})(Qe);\nxe.isOrderedMap = Ps;\nxe.prototype[Ge] = !0;\nxe.prototype[sr] = xe.prototype.remove;\nfunction Gn(e, t, r, n) {\n var i = Object.create(xe.prototype);\n return i.size = e ? e.size : 0, i._map = e, i._list = t, i.__ownerID = r, i.__hash = n, i.__altered = !1, i;\n}\nvar Bi;\nfunction qt() {\n return Bi || (Bi = Gn(Ne(), zr()));\n}\nfunction Wi(e, t, r) {\n var n = e._map, i = e._list, o = n.get(t), s = o !== void 0, a, u;\n if (r === P) {\n if (!s)\n return e;\n i.size >= me && i.size >= n.size * 2 ? (u = i.filter(function(c, f) {\n return c !== void 0 && o !== f;\n }), a = u.toKeyedSeq().map(function(c) {\n return c[0];\n }).flip().toMap(), e.__ownerID && (a.__ownerID = u.__ownerID = e.__ownerID)) : (a = n.remove(t), u = o === i.size - 1 ? i.pop() : i.set(o, void 0));\n } else if (s) {\n if (r === i.get(o)[1])\n return e;\n a = n, u = i.set(o, [t, r]);\n } else\n a = n.set(t, i.size), u = i.set(i.size, [t, r]);\n return e.__ownerID ? (e.size = a.size, e._map = a, e._list = u, e.__hash = void 0, e.__altered = !0, e) : Gn(a, u);\n}\nvar Ns = \"@@__IMMUTABLE_STACK__@@\";\nfunction mn(e) {\n return !!(e && // @ts-expect-error: maybeStack is typed as `{}`, need to change in 6.0 to `maybeStack && typeof maybeStack === 'object' && MAYBE_STACK_SYMBOL in maybeStack`\n e[Ns]);\n}\nvar Xn = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Sr() : mn(r) ? r : Sr().pushAll(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.prototype.toString = function() {\n return this.__toString(\"Stack [\", \"]\");\n }, t.prototype.get = function(n, i) {\n var o = this._head;\n for (n = Ye(this, n); o && n--; )\n o = o.next;\n return o ? o.value : i;\n }, t.prototype.peek = function() {\n return this._head && this._head.value;\n }, t.prototype.push = function() {\n var n = arguments;\n if (arguments.length === 0)\n return this;\n for (var i = this.size + arguments.length, o = this._head, s = arguments.length - 1; s >= 0; s--)\n o = {\n value: n[s],\n next: o\n };\n return this.__ownerID ? (this.size = i, this._head = o, this.__hash = void 0, this.__altered = !0, this) : Ut(i, o);\n }, t.prototype.pushAll = function(n) {\n if (n = e(n), n.size === 0)\n return this;\n if (this.size === 0 && mn(n))\n return n;\n ge(n.size);\n var i = this.size, o = this._head;\n return n.__iterate(\n function(s) {\n i++, o = {\n value: s,\n next: o\n };\n },\n /* reverse */\n !0\n ), this.__ownerID ? (this.size = i, this._head = o, this.__hash = void 0, this.__altered = !0, this) : Ut(i, o);\n }, t.prototype.pop = function() {\n return this.slice(1);\n }, t.prototype.clear = function() {\n return this.size === 0 ? this : this.__ownerID ? (this.size = 0, this._head = void 0, this.__hash = void 0, this.__altered = !0, this) : Sr();\n }, t.prototype.slice = function(n, i) {\n if (Lr(n, i, this.size))\n return this;\n var o = ar(n, this.size), s = Fr(i, this.size);\n if (s !== this.size)\n return e.prototype.slice.call(this, n, i);\n for (var a = this.size - o, u = this._head; o--; )\n u = u.next;\n return this.__ownerID ? (this.size = a, this._head = u, this.__hash = void 0, this.__altered = !0, this) : Ut(a, u);\n }, t.prototype.__ensureOwner = function(n) {\n return n === this.__ownerID ? this : n ? Ut(this.size, this._head, n, this.__hash) : this.size === 0 ? Sr() : (this.__ownerID = n, this.__altered = !1, this);\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n if (i)\n return new bt(this.toArray()).__iterate(\n function(u, c) {\n return n(u, c, o);\n },\n i\n );\n for (var s = 0, a = this._head; a && n(a.value, s++, this) !== !1; )\n a = a.next;\n return s;\n }, t.prototype.__iterator = function(n, i) {\n if (i)\n return new bt(this.toArray()).__iterator(n, i);\n var o = 0, s = this._head;\n return new Z(function() {\n if (s) {\n var a = s.value;\n return s = s.next, B(n, o++, a);\n }\n return le();\n });\n }, t;\n})(ut);\nXn.isStack = mn;\nvar he = Xn.prototype;\nhe[Ns] = !0;\nhe.shift = he.pop;\nhe.unshift = he.push;\nhe.unshiftAll = he.pushAll;\nhe.withMutations = fr;\nhe.wasAltered = Wn;\nhe.asImmutable = ur;\nhe[\"@@transducer/init\"] = he.asMutable = cr;\nhe[\"@@transducer/step\"] = function(e, t) {\n return e.unshift(t);\n};\nhe[\"@@transducer/result\"] = function(e) {\n return e.asImmutable();\n};\nfunction Ut(e, t, r, n) {\n var i = Object.create(he);\n return i.size = e, i._head = t, i.__ownerID = r, i.__hash = n, i.__altered = !1, i;\n}\nvar Ji;\nfunction Sr() {\n return Ji || (Ji = Ut(0));\n}\nfunction Vi(e, t, r, n, i, o) {\n return ge(e.size), e.__iterate(function(s, a, u) {\n i ? (i = !1, r = s) : r = t.call(n, r, s, a, u);\n }, o), r;\n}\nfunction cp(e, t) {\n return t;\n}\nfunction fp(e, t) {\n return [t, e];\n}\nfunction tn(e) {\n return function() {\n for (var t = [], r = arguments.length; r--; ) t[r] = arguments[r];\n return !e.apply(this, t);\n };\n}\nfunction Ki(e) {\n return function() {\n for (var t = [], r = arguments.length; r--; ) t[r] = arguments[r];\n return -e.apply(this, t);\n };\n}\nfunction Hi(e, t) {\n return e < t ? 1 : e > t ? -1 : 0;\n}\nfunction Zs(e, t) {\n if (e === t)\n return !0;\n if (!ye(t) || // @ts-expect-error size should exists on Collection\n e.size !== void 0 && t.size !== void 0 && e.size !== t.size || // @ts-expect-error __hash exists on Collection\n e.__hash !== void 0 && // @ts-expect-error __hash exists on Collection\n t.__hash !== void 0 && // @ts-expect-error __hash exists on Collection\n e.__hash !== t.__hash || U(e) !== U(t) || Oe(e) !== Oe(t) || // @ts-expect-error Range extends Collection, which implements [Symbol.iterator], so it is valid\n Ze(e) !== Ze(t))\n return !1;\n if (e.size === 0 && t.size === 0)\n return !0;\n var r = !En(e);\n if (Ze(e)) {\n var n = e.entries();\n return t.every(function(u, c) {\n var f = n.next().value;\n return f && ve(f[1], u) && (r || ve(f[0], c));\n }) && n.next().done;\n }\n var i = !1;\n if (e.size === void 0)\n if (t.size === void 0)\n typeof e.cacheResult == \"function\" && e.cacheResult();\n else {\n i = !0;\n var o = e;\n e = t, t = o;\n }\n var s = !0, a = (\n // @ts-expect-error b is Range | Repeat | Collection<unknown, unknown> as it may have been flipped, and __iterate is valid\n t.__iterate(function(u, c) {\n if (r ? (\n // @ts-expect-error has exists on Collection\n !e.has(u)\n ) : i ? (\n // @ts-expect-error type of `get` does not \"catch\" the version with `notSetValue`\n !ve(u, e.get(c, P))\n ) : (\n // @ts-expect-error type of `get` does not \"catch\" the version with `notSetValue`\n !ve(e.get(c, P), u)\n ))\n return s = !1, !1;\n })\n );\n return s && // @ts-expect-error size should exists on Collection\n e.size === a;\n}\nvar lp = /* @__PURE__ */ (function(e) {\n function t(r, n, i) {\n if (i === void 0 && (i = 1), !(this instanceof t))\n return new t(r, n, i);\n if (Jt(i !== 0, \"Cannot step a Range by 0\"), Jt(\n r !== void 0,\n \"You must define a start value when using Range\"\n ), Jt(\n n !== void 0,\n \"You must define an end value when using Range\"\n ), i = Math.abs(i), n < r && (i = -i), this._start = r, this._end = n, this._step = i, this.size = Math.max(0, Math.ceil((n - r) / i - 1) + 1), this.size === 0) {\n if (rn)\n return rn;\n rn = this;\n }\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.toString = function() {\n return this.size === 0 ? \"Range []\" : \"Range [ \" + this._start + \"...\" + this._end + (this._step !== 1 ? \" by \" + this._step : \"\") + \" ]\";\n }, t.prototype.get = function(n, i) {\n return this.has(n) ? this._start + Ye(this, n) * this._step : i;\n }, t.prototype.includes = function(n) {\n var i = (n - this._start) / this._step;\n return i >= 0 && i < this.size && i === Math.floor(i);\n }, t.prototype.slice = function(n, i) {\n return Lr(n, i, this.size) ? this : (n = ar(n, this.size), i = Fr(i, this.size), i <= n ? new t(0, 0) : new t(\n this.get(n, this._end),\n this.get(i, this._end),\n this._step\n ));\n }, t.prototype.indexOf = function(n) {\n var i = n - this._start;\n if (i % this._step === 0) {\n var o = i / this._step;\n if (o >= 0 && o < this.size)\n return o;\n }\n return -1;\n }, t.prototype.lastIndexOf = function(n) {\n return this.indexOf(n);\n }, t.prototype.__iterate = function(n, i) {\n for (var o = this.size, s = this._step, a = i ? this._start + (o - 1) * s : this._start, u = 0; u !== o && n(a, i ? o - ++u : u++, this) !== !1; )\n a += i ? -s : s;\n return u;\n }, t.prototype.__iterator = function(n, i) {\n var o = this.size, s = this._step, a = i ? this._start + (o - 1) * s : this._start, u = 0;\n return new Z(function() {\n if (u === o)\n return le();\n var c = a;\n return a += i ? -s : s, B(n, i ? o - ++u : u++, c);\n });\n }, t.prototype.equals = function(n) {\n return n instanceof t ? this._start === n._start && this._end === n._end && this._step === n._step : Zs(this, n);\n }, t;\n})(Ae), rn, Ms = \"@@__IMMUTABLE_SET__@@\";\nfunction Qn(e) {\n return !!(e && // @ts-expect-error: maybeSet is typed as `{}`, need to change in 6.0 to `maybeSeq && typeof maybeSet === 'object' && MAYBE_SET_SYMBOL in maybeSet`\n e[Ms]);\n}\nvar Ur = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Bt() : Qn(r) && !Ze(r) ? r : Bt().withMutations(function(n) {\n var i = e(r);\n ge(i.size), i.forEach(function(o) {\n return n.add(o);\n });\n });\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.fromKeys = function(n) {\n return this(Ee(n).keySeq());\n }, t.intersect = function(n) {\n return n = oe(n).toArray(), n.length ? ne.intersect.apply(t(n.pop()), n) : Bt();\n }, t.union = function(n) {\n return n = oe(n).toArray(), n.length ? ne.union.apply(t(n.pop()), n) : Bt();\n }, t.prototype.toString = function() {\n return this.__toString(\"Set {\", \"}\");\n }, t.prototype.has = function(n) {\n return this._map.has(n);\n }, t.prototype.add = function(n) {\n return br(this, this._map.set(n, n));\n }, t.prototype.remove = function(n) {\n return br(this, this._map.remove(n));\n }, t.prototype.clear = function() {\n return br(this, this._map.clear());\n }, t.prototype.map = function(n, i) {\n var o = this, s = !1, a = br(\n this,\n this._map.mapEntries(function(u) {\n var c = u[1], f = n.call(i, c, c, o);\n return f !== c && (s = !0), [f, f];\n }, i)\n );\n return s ? a : this;\n }, t.prototype.union = function() {\n for (var n = [], i = arguments.length; i--; ) n[i] = arguments[i];\n return n = n.filter(function(o) {\n return o.size !== 0;\n }), n.length === 0 ? this : this.size === 0 && !this.__ownerID && n.length === 1 ? this.constructor(n[0]) : this.withMutations(function(o) {\n for (var s = 0; s < n.length; s++)\n typeof n[s] == \"string\" ? o.add(n[s]) : e(n[s]).forEach(function(a) {\n return o.add(a);\n });\n });\n }, t.prototype.intersect = function() {\n for (var n = [], i = arguments.length; i--; ) n[i] = arguments[i];\n if (n.length === 0)\n return this;\n n = n.map(function(s) {\n return e(s);\n });\n var o = [];\n return this.forEach(function(s) {\n n.every(function(a) {\n return a.includes(s);\n }) || o.push(s);\n }), this.withMutations(function(s) {\n o.forEach(function(a) {\n s.remove(a);\n });\n });\n }, t.prototype.subtract = function() {\n for (var n = [], i = arguments.length; i--; ) n[i] = arguments[i];\n if (n.length === 0)\n return this;\n n = n.map(function(s) {\n return e(s);\n });\n var o = [];\n return this.forEach(function(s) {\n n.some(function(a) {\n return a.includes(s);\n }) && o.push(s);\n }), this.withMutations(function(s) {\n o.forEach(function(a) {\n s.remove(a);\n });\n });\n }, t.prototype.sort = function(n) {\n return ir(zt(this, n));\n }, t.prototype.sortBy = function(n, i) {\n return ir(zt(this, i, n));\n }, t.prototype.wasAltered = function() {\n return this._map.wasAltered();\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._map.__iterate(function(s) {\n return n(s, s, o);\n }, i);\n }, t.prototype.__iterator = function(n, i) {\n return this._map.__iterator(n, i);\n }, t.prototype.__ensureOwner = function(n) {\n if (n === this.__ownerID)\n return this;\n var i = this._map.__ensureOwner(n);\n return n ? this.__make(i, n) : this.size === 0 ? this.__empty() : (this.__ownerID = n, this._map = i, this);\n }, t;\n})(Tt);\nUr.isSet = Qn;\nvar ne = Ur.prototype;\nne[Ms] = !0;\nne[sr] = ne.remove;\nne.merge = ne.concat = ne.union;\nne.withMutations = fr;\nne.asImmutable = ur;\nne[\"@@transducer/init\"] = ne.asMutable = cr;\nne[\"@@transducer/step\"] = function(e, t) {\n return e.add(t);\n};\nne[\"@@transducer/result\"] = function(e) {\n return e.asImmutable();\n};\nne.__empty = Bt;\nne.__make = Ds;\nfunction br(e, t) {\n return e.__ownerID ? (e.size = t.size, e._map = t, e) : t === e._map ? e : t.size === 0 ? e.__empty() : e.__make(t);\n}\nfunction Ds(e, t) {\n var r = Object.create(ne);\n return r.size = e ? e.size : 0, r._map = e, r.__ownerID = t, r;\n}\nvar Yi;\nfunction Bt() {\n return Yi || (Yi = Ds(Ne()));\n}\nfunction Cs(e, t, r) {\n for (var n = $s(t), i = 0; i !== n.length; )\n if (e = Es(e, n[i++], P), e === P)\n return r;\n return e;\n}\nfunction js(e, t) {\n return Cs(this, e, t);\n}\nfunction hp(e, t) {\n return Cs(e, t, P) !== P;\n}\nfunction pp(e) {\n return hp(this, e);\n}\nfunction Ls() {\n ge(this.size);\n var e = {};\n return this.__iterate(function(t, r) {\n e[r] = t;\n }), e;\n}\nfunction Pr(e) {\n if (!e || typeof e != \"object\")\n return e;\n if (!ye(e)) {\n if (!Xe(e))\n return e;\n e = pe(e);\n }\n if (U(e)) {\n var t = {};\n return e.__iterate(function(n, i) {\n t[i] = Pr(n);\n }), t;\n }\n var r = [];\n return e.__iterate(function(n) {\n r.push(Pr(n));\n }), r;\n}\nfunction dp(e) {\n if (e.size === 1 / 0)\n return 0;\n var t = Ze(e), r = U(e), n = t ? 1 : 0;\n return e.__iterate(r ? t ? function(i, o) {\n n = 31 * n + Gi(_e(i), _e(o)) | 0;\n } : function(i, o) {\n n = n + Gi(_e(i), _e(o)) | 0;\n } : t ? function(i) {\n n = 31 * n + _e(i) | 0;\n } : function(i) {\n n = n + _e(i) | 0;\n }), _p(e.size, n);\n}\nfunction _p(e, t) {\n return t = Ft(t, 3432918353), t = Ft(t << 15 | t >>> -15, 461845907), t = Ft(t << 13 | t >>> -13, 5), t = (t + 3864292196 | 0) ^ e, t = Ft(t ^ t >>> 16, 2246822507), t = Ft(t ^ t >>> 13, 3266489909), t = xr(t ^ t >>> 16), t;\n}\nfunction Gi(e, t) {\n return e ^ t + 2654435769 + (e << 6) + (e >> 2) | 0;\n}\nfunction ft(e, t) {\n var r = function(n) {\n e.prototype[n] = t[n];\n };\n return Object.keys(t).forEach(r), Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(t).forEach(r), e;\n}\noe.Iterator = Z;\nft(oe, {\n // ### Conversion to other types\n toArray: function() {\n ge(this.size);\n var t = new Array(this.size || 0), r = U(this), n = 0;\n return this.__iterate(function(i, o) {\n t[n++] = r ? [o, i] : i;\n }), t;\n },\n toIndexedSeq: function() {\n return new us(this);\n },\n toJS: function() {\n return Pr(this);\n },\n toKeyedSeq: function() {\n return new qr(this, !0);\n },\n toMap: function() {\n return Qe(this.toKeyedSeq());\n },\n toObject: Ls,\n toOrderedMap: function() {\n return xe(this.toKeyedSeq());\n },\n toOrderedSet: function() {\n return ir(U(this) ? this.valueSeq() : this);\n },\n toSet: function() {\n return Ur(U(this) ? this.valueSeq() : this);\n },\n toSetSeq: function() {\n return new cs(this);\n },\n toSeq: function() {\n return Oe(this) ? this.toIndexedSeq() : U(this) ? this.toKeyedSeq() : this.toSetSeq();\n },\n toStack: function() {\n return Xn(U(this) ? this.valueSeq() : this);\n },\n toList: function() {\n return $t(U(this) ? this.valueSeq() : this);\n },\n // ### Common JavaScript methods and properties\n toString: function() {\n return \"[Collection]\";\n },\n __toString: function(t, r) {\n return this.size === 0 ? t + r : t + \" \" + this.toSeq().map(this.__toStringMapper).join(\", \") + \" \" + r;\n },\n // ### ES6 Collection methods (ES6 Array and Map)\n concat: function() {\n for (var t = [], r = arguments.length; r--; ) t[r] = arguments[r];\n return C(this, xh(this, t));\n },\n includes: function(t) {\n return this.some(function(r) {\n return ve(r, t);\n });\n },\n entries: function() {\n return this.__iterator(Se);\n },\n every: function(t, r) {\n ge(this.size);\n var n = !0;\n return this.__iterate(function(i, o, s) {\n if (!t.call(r, i, o, s))\n return n = !1, !1;\n }), n;\n },\n filter: function(t, r) {\n return C(this, ps(this, t, r, !0));\n },\n partition: function(t, r) {\n return jh(this, t, r);\n },\n find: function(t, r, n) {\n var i = this.findEntry(t, r);\n return i ? i[1] : n;\n },\n forEach: function(t, r) {\n return ge(this.size), this.__iterate(r ? t.bind(r) : t);\n },\n join: function(t) {\n ge(this.size), t = t !== void 0 ? \"\" + t : \",\";\n var r = \"\", n = !0;\n return this.__iterate(function(i) {\n n ? n = !1 : r += t, r += i != null ? i.toString() : \"\";\n }), r;\n },\n keys: function() {\n return this.__iterator(Pt);\n },\n map: function(t, r) {\n return C(this, hs(this, t, r));\n },\n reduce: function(t, r, n) {\n return Vi(\n this,\n t,\n r,\n n,\n arguments.length < 2,\n !1\n );\n },\n reduceRight: function(t, r, n) {\n return Vi(\n this,\n t,\n r,\n n,\n arguments.length < 2,\n !0\n );\n },\n reverse: function() {\n return C(this, Zn(this, !0));\n },\n slice: function(t, r) {\n return C(this, Mn(this, t, r, !0));\n },\n some: function(t, r) {\n ge(this.size);\n var n = !1;\n return this.__iterate(function(i, o, s) {\n if (t.call(r, i, o, s))\n return n = !0, !1;\n }), n;\n },\n sort: function(t) {\n return C(this, zt(this, t));\n },\n values: function() {\n return this.__iterator(we);\n },\n // ### More sequential methods\n butLast: function() {\n return this.slice(0, -1);\n },\n isEmpty: function() {\n return this.size !== void 0 ? this.size === 0 : !this.some(function() {\n return !0;\n });\n },\n count: function(t, r) {\n return St(\n t ? this.toSeq().filter(t, r) : this\n );\n },\n countBy: function(t, r) {\n return Dh(this, t, r);\n },\n equals: function(t) {\n return Zs(this, t);\n },\n entrySeq: function() {\n var t = this;\n if (t._cache)\n return new bt(t._cache);\n var r = t.toSeq().map(fp).toIndexedSeq();\n return r.fromEntrySeq = function() {\n return t.toSeq();\n }, r;\n },\n filterNot: function(t, r) {\n return this.filter(tn(t), r);\n },\n findEntry: function(t, r, n) {\n var i = n;\n return this.__iterate(function(o, s, a) {\n if (t.call(r, o, s, a))\n return i = [s, o], !1;\n }), i;\n },\n findKey: function(t, r) {\n var n = this.findEntry(t, r);\n return n && n[0];\n },\n findLast: function(t, r, n) {\n return this.toKeyedSeq().reverse().find(t, r, n);\n },\n findLastEntry: function(t, r, n) {\n return this.toKeyedSeq().reverse().findEntry(t, r, n);\n },\n findLastKey: function(t, r) {\n return this.toKeyedSeq().reverse().findKey(t, r);\n },\n first: function(t) {\n return this.find(es, null, t);\n },\n flatMap: function(t, r) {\n return C(this, qh(this, t, r));\n },\n flatten: function(t) {\n return C(this, _s(this, t, !0));\n },\n fromEntrySeq: function() {\n return new fs(this);\n },\n get: function(t, r) {\n return this.find(function(n, i) {\n return ve(i, t);\n }, void 0, r);\n },\n getIn: js,\n groupBy: function(t, r) {\n return Ch(this, t, r);\n },\n has: function(t) {\n return this.get(t, P) !== P;\n },\n hasIn: pp,\n isSubset: function(t) {\n return t = typeof t.includes == \"function\" ? t : oe(t), this.every(function(r) {\n return t.includes(r);\n });\n },\n isSuperset: function(t) {\n return t = typeof t.isSubset == \"function\" ? t : oe(t), t.isSubset(this);\n },\n keyOf: function(t) {\n return this.findKey(function(r) {\n return ve(r, t);\n });\n },\n keySeq: function() {\n return this.toSeq().map(cp).toIndexedSeq();\n },\n last: function(t) {\n return this.toSeq().reverse().first(t);\n },\n lastKeyOf: function(t) {\n return this.toKeyedSeq().reverse().keyOf(t);\n },\n max: function(t) {\n return yr(this, t);\n },\n maxBy: function(t, r) {\n return yr(this, r, t);\n },\n min: function(t) {\n return yr(\n this,\n t ? Ki(t) : Hi\n );\n },\n minBy: function(t, r) {\n return yr(\n this,\n r ? Ki(r) : Hi,\n t\n );\n },\n rest: function() {\n return this.slice(1);\n },\n skip: function(t) {\n return t === 0 ? this : this.slice(Math.max(0, t));\n },\n skipLast: function(t) {\n return t === 0 ? this : this.slice(0, -Math.max(0, t));\n },\n skipWhile: function(t, r) {\n return C(this, ds(this, t, r, !0));\n },\n skipUntil: function(t, r) {\n return this.skipWhile(tn(t), r);\n },\n sortBy: function(t, r) {\n return C(this, zt(this, r, t));\n },\n take: function(t) {\n return this.slice(0, Math.max(0, t));\n },\n takeLast: function(t) {\n return this.slice(-Math.max(0, t));\n },\n takeWhile: function(t, r) {\n return C(this, Lh(this, t, r));\n },\n takeUntil: function(t, r) {\n return this.takeWhile(tn(t), r);\n },\n update: function(t) {\n return t(this);\n },\n valueSeq: function() {\n return this.toIndexedSeq();\n },\n // ### Hashable Object\n hashCode: function() {\n return this.__hash || (this.__hash = dp(this));\n }\n // ### Internal\n // abstract __iterate(fn, reverse)\n // abstract __iterator(type, reverse)\n});\nvar se = oe.prototype;\nse[Go] = !0;\nse[Cr] = se.values;\nse.toJSON = se.toArray;\nse.__toStringMapper = tr;\nse.inspect = se.toSource = function() {\n return this.toString();\n};\nse.chain = se.flatMap;\nse.contains = se.includes;\nft(Ee, {\n // ### More sequential methods\n flip: function() {\n return C(this, ls(this));\n },\n mapEntries: function(t, r) {\n var n = this, i = 0;\n return C(\n this,\n this.toSeq().map(function(o, s) {\n return t.call(r, [s, o], i++, n);\n }).fromEntrySeq()\n );\n },\n mapKeys: function(t, r) {\n var n = this;\n return C(\n this,\n this.toSeq().flip().map(function(i, o) {\n return t.call(r, i, o, n);\n }).flip()\n );\n }\n});\nvar lr = Ee.prototype;\nlr[Rr] = !0;\nlr[Cr] = se.entries;\nlr.toJSON = Ls;\nlr.__toStringMapper = function(e, t) {\n return tr(t) + \": \" + tr(e);\n};\nft(ut, {\n // ### Conversion to other types\n toKeyedSeq: function() {\n return new qr(this, !1);\n },\n // ### ES6 Collection methods (ES6 Array and Map)\n filter: function(t, r) {\n return C(this, ps(this, t, r, !1));\n },\n findIndex: function(t, r) {\n var n = this.findEntry(t, r);\n return n ? n[0] : -1;\n },\n indexOf: function(t) {\n var r = this.keyOf(t);\n return r === void 0 ? -1 : r;\n },\n lastIndexOf: function(t) {\n var r = this.lastKeyOf(t);\n return r === void 0 ? -1 : r;\n },\n reverse: function() {\n return C(this, Zn(this, !1));\n },\n slice: function(t, r) {\n return C(this, Mn(this, t, r, !1));\n },\n splice: function(t, r) {\n var n = arguments.length;\n if (r = Math.max(r || 0, 0), n === 0 || n === 2 && !r)\n return this;\n t = ar(t, t < 0 ? this.count() : this.size);\n var i = this.slice(0, t);\n return C(\n this,\n n === 1 ? i : i.concat(Pe(arguments, 2), this.slice(t + r))\n );\n },\n // ### More collection methods\n findLastIndex: function(t, r) {\n var n = this.findLastEntry(t, r);\n return n ? n[0] : -1;\n },\n first: function(t) {\n return this.get(0, t);\n },\n flatten: function(t) {\n return C(this, _s(this, t, !1));\n },\n get: function(t, r) {\n return t = Ye(this, t), t < 0 || this.size === 1 / 0 || this.size !== void 0 && t > this.size ? r : this.find(function(n, i) {\n return i === t;\n }, void 0, r);\n },\n has: function(t) {\n return t = Ye(this, t), t >= 0 && (this.size !== void 0 ? this.size === 1 / 0 || t < this.size : this.indexOf(t) !== -1);\n },\n interpose: function(t) {\n return C(this, Uh(this, t));\n },\n interleave: function() {\n var t = [this].concat(Pe(arguments)), r = wr(this.toSeq(), Ae.of, t), n = r.flatten(!0);\n return r.size && (n.size = r.size * t.length), C(this, n);\n },\n keySeq: function() {\n return lp(0, this.size);\n },\n last: function(t) {\n return this.get(-1, t);\n },\n skipWhile: function(t, r) {\n return C(this, ds(this, t, r, !1));\n },\n zip: function() {\n var t = [this].concat(Pe(arguments));\n return C(this, wr(this, Xi, t));\n },\n zipAll: function() {\n var t = [this].concat(Pe(arguments));\n return C(this, wr(this, Xi, t, !0));\n },\n zipWith: function(t) {\n var r = Pe(arguments);\n return r[0] = this, C(this, wr(this, t, r));\n }\n});\nvar Dt = ut.prototype;\nDt[Ar] = !0;\nDt[Ge] = !0;\nft(Tt, {\n // ### ES6 Collection methods (ES6 Array and Map)\n get: function(t, r) {\n return this.has(t) ? t : r;\n },\n includes: function(t) {\n return this.has(t);\n },\n // ### More sequential methods\n keySeq: function() {\n return this.valueSeq();\n }\n});\nvar It = Tt.prototype;\nIt.has = se.includes;\nIt.contains = It.includes;\nIt.keys = It.values;\nft(rt, lr);\nft(Ae, Dt);\nft(Zt, It);\nfunction Xi() {\n return Pe(arguments);\n}\nfunction Fs(e) {\n return Qn(e) && Ze(e);\n}\nvar ir = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? vn() : Fs(r) ? r : vn().withMutations(function(n) {\n var i = Tt(r);\n ge(i.size), i.forEach(function(o) {\n return n.add(o);\n });\n });\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.fromKeys = function(n) {\n return this(Ee(n).keySeq());\n }, t.prototype.toString = function() {\n return this.__toString(\"OrderedSet {\", \"}\");\n }, t;\n})(Ur);\nir.isOrderedSet = Fs;\nvar lt = ir.prototype;\nlt[Ge] = !0;\nlt.zip = Dt.zip;\nlt.zipWith = Dt.zipWith;\nlt.zipAll = Dt.zipAll;\nlt.__empty = vn;\nlt.__make = xs;\nfunction xs(e, t) {\n var r = Object.create(lt);\n return r.size = e ? e.size : 0, r._map = e, r.__ownerID = t, r;\n}\nvar Qi;\nfunction vn() {\n return Qi || (Qi = xs(qt()));\n}\nfunction gp(e) {\n if (ct(e))\n throw new Error(\n \"Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.\"\n );\n if (Me(e))\n throw new Error(\n \"Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.\"\n );\n if (e === null || typeof e != \"object\")\n throw new Error(\n \"Can not call `Record` with a non-object as default values. Use a plain javascript object instead.\"\n );\n}\nvar re = function(t, r) {\n var n;\n gp(t);\n var i = function(a) {\n var u = this;\n if (a instanceof i)\n return a;\n if (!(this instanceof i))\n return new i(a);\n if (!n) {\n n = !0;\n var c = Object.keys(t), f = o._indices = {};\n o._name = r, o._keys = c, o._defaultValues = t;\n for (var l = 0; l < c.length; l++) {\n var h = c[l];\n f[h] = l, o[h] ? typeof console == \"object\" && console.warn && console.warn(\n \"Cannot define \" + ti(this) + ' with property \"' + h + '\" since that property name is part of the Record API.'\n ) : mp(o, h);\n }\n }\n return this.__ownerID = void 0, this._values = $t().withMutations(function(d) {\n d.setSize(u._keys.length), Ee(a).forEach(function(_, g) {\n d.set(u._indices[g], _ === u._defaultValues[g] ? void 0 : _);\n });\n }), this;\n }, o = i.prototype = Object.create(x);\n return o.constructor = i, r && (i.displayName = r), i;\n};\nre.prototype.toString = function() {\n for (var t = ti(this) + \" { \", r = this._keys, n, i = 0, o = r.length; i !== o; i++)\n n = r[i], t += (i ? \", \" : \"\") + n + \": \" + tr(this.get(n));\n return t + \" }\";\n};\nre.prototype.equals = function(t) {\n return this === t || ct(t) && At(this).equals(At(t));\n};\nre.prototype.hashCode = function() {\n return At(this).hashCode();\n};\nre.prototype.has = function(t) {\n return this._indices.hasOwnProperty(t);\n};\nre.prototype.get = function(t, r) {\n if (!this.has(t))\n return r;\n var n = this._indices[t], i = this._values.get(n);\n return i === void 0 ? this._defaultValues[t] : i;\n};\nre.prototype.set = function(t, r) {\n if (this.has(t)) {\n var n = this._values.set(\n this._indices[t],\n r === this._defaultValues[t] ? void 0 : r\n );\n if (n !== this._values && !this.__ownerID)\n return ei(this, n);\n }\n return this;\n};\nre.prototype.remove = function(t) {\n return this.set(t);\n};\nre.prototype.clear = function() {\n var t = this._values.clear().setSize(this._keys.length);\n return this.__ownerID ? this : ei(this, t);\n};\nre.prototype.wasAltered = function() {\n return this._values.wasAltered();\n};\nre.prototype.toSeq = function() {\n return At(this);\n};\nre.prototype.toJS = function() {\n return Pr(this);\n};\nre.prototype.entries = function() {\n return this.__iterator(Se);\n};\nre.prototype.__iterator = function(t, r) {\n return At(this).__iterator(t, r);\n};\nre.prototype.__iterate = function(t, r) {\n return At(this).__iterate(t, r);\n};\nre.prototype.__ensureOwner = function(t) {\n if (t === this.__ownerID)\n return this;\n var r = this._values.__ensureOwner(t);\n return t ? ei(this, r, t) : (this.__ownerID = t, this._values = r, this);\n};\nre.isRecord = ct;\nre.getDescriptiveName = ti;\nvar x = re.prototype;\nx[ns] = !0;\nx[sr] = x.remove;\nx.deleteIn = x.removeIn = Yn;\nx.getIn = js;\nx.hasIn = se.hasIn;\nx.merge = vs;\nx.mergeWith = ys;\nx.mergeIn = xn;\nx.mergeDeep = Ss;\nx.mergeDeepWith = bs;\nx.mergeDeepIn = Fn;\nx.setIn = qn;\nx.update = Un;\nx.updateIn = Bn;\nx.withMutations = fr;\nx.asMutable = cr;\nx.asImmutable = ur;\nx[Cr] = x.entries;\nx.toJSON = x.toObject = se.toObject;\nx.inspect = x.toSource = function() {\n return this.toString();\n};\nfunction ei(e, t, r) {\n var n = Object.create(Object.getPrototypeOf(e));\n return n._values = t, n.__ownerID = r, n;\n}\nfunction ti(e) {\n return e.constructor.displayName || e.constructor.name || \"Record\";\n}\nfunction At(e) {\n return Pn(e._keys.map(function(t) {\n return [t, e.get(t)];\n }));\n}\nfunction mp(e, t) {\n try {\n Object.defineProperty(e, t, {\n get: function() {\n return this.get(t);\n },\n set: function(r) {\n Jt(this.__ownerID, \"Cannot set on an immutable record.\"), this.set(t, r);\n }\n });\n } catch {\n }\n}\nclass qs {\n /**\n * The doctype name\n * @public\n * @readonly\n */\n doctype;\n /**\n * Alias for doctype (for DoctypeLike interface compatibility)\n * @public\n * @readonly\n */\n get name() {\n return this.doctype;\n }\n /**\n * The doctype schema\n * @public\n * @readonly\n */\n schema;\n /**\n * The doctype workflow\n * @public\n * @readonly\n */\n workflow;\n /**\n * The doctype actions and field triggers\n * @public\n * @readonly\n */\n actions;\n /**\n * The doctype component\n * @public\n * @readonly\n */\n component;\n /**\n * Relationship links to other doctypes\n * @public\n * @readonly\n */\n links;\n /**\n * Creates a new Doctype instance\n * @param doctype - The doctype name\n * @param schema - The doctype schema definition\n * @param workflow - The doctype workflow configuration (XState machine)\n * @param actions - The doctype actions and field triggers\n * @param component - Optional Vue component for rendering the doctype\n * @param links - Optional relationship links to other doctypes\n */\n constructor(t, r, n, i, o, s) {\n this.doctype = t, this.schema = r, this.workflow = n, this.actions = i, this.component = o, this.links = s;\n }\n /**\n * Creates a Doctype instance from a plain configuration object.\n * Handles conversion of arrays to Immutable.js collections internally.\n *\n * This is the recommended way to create a Doctype from API responses\n * or configuration files, as it encapsulates the Immutable.js construction\n * that the framework uses internally.\n *\n * @param config - Plain object with doctype configuration (typically from API response)\n * @returns A new Doctype instance with Immutable.js collections\n *\n * @example\n * ```ts\n * // From an API response\n * const response = await client.getMeta({ doctype: 'plan' })\n * const doctype = Doctype.fromObject(response)\n * registry.addDoctype(doctype)\n * ```\n *\n * @example\n * ```ts\n * // From a configuration object\n * const planDoctype = Doctype.fromObject({\n * name: 'Plan',\n * fields: [\n * { fieldname: 'title', label: 'Title', component: 'ATextInput' },\n * { fieldname: 'status', label: 'Status', component: 'ATextInput' },\n * ],\n * workflow: {\n * id: 'plan',\n * initial: 'draft',\n * states: { draft: {}, submitted: {} }\n * }\n * })\n * ```\n *\n * @public\n */\n static fromObject(t) {\n const r = t.fields?.map(Ko), n = r ? $t(r) : $t(), i = t.actions ? Qe(t.actions) : Qe();\n return new qs(t.name, n, t.workflow, i, void 0, t.links);\n }\n /**\n * Returns the raw authoring schema as a plain array.\n * For the resolved schema suitable for AForm, use `registry.resolveSchema(doctype)`.\n *\n * @returns Array of raw DoctypeField authoring definitions\n *\n * @example\n * ```ts\n * const fields = doctype.getSchemaArray()\n * // Pass to resolveSchema for AForm-ready output:\n * const resolved = registry.resolveSchema(doctype)\n * ```\n *\n * @public\n */\n getSchemaArray() {\n return this.schema ? this.schema.toArray() : [];\n }\n /**\n * Returns the actions as a plain object for use with components that expect\n * plain JavaScript objects.\n *\n * @returns Object mapping action names to field trigger arrays\n *\n * @public\n */\n getActionsObject() {\n return this.actions ? this.actions.toObject() : {};\n }\n /**\n * Returns the transitions available from a given workflow state, derived from the\n * doctype's workflow configuration. Supports both XState format and WorkflowMeta format.\n *\n * @param currentState - The state name to read transitions from\n * @returns Array of transition descriptors with `name` and `targetState`\n *\n * @example\n * ```ts\n * const transitions = doctype.getAvailableTransitions('draft')\n * // [{ name: 'SUBMIT', targetState: 'submitted' }]\n * ```\n *\n * @public\n */\n getAvailableTransitions(t) {\n const r = this.workflow;\n if (!r) return [];\n if (Array.isArray(r.states)) {\n if (!r.states.includes(t)) return [];\n const s = r.actions;\n return s ? Object.entries(s).filter(([, a]) => !a.stateless && Ii(a, t)).map(([a, u]) => ({\n name: a,\n targetState: u.nextState ?? t\n })) : [];\n }\n const n = r.states;\n if (!n) return [];\n const i = n[t];\n return i?.on ? Object.entries(i.on).map(([o, s]) => ({\n name: o,\n targetState: typeof s == \"string\" ? s : \"unknown\"\n })) : [];\n }\n /**\n * Returns the stateless **Commands** available in a given workflow state — side-effect\n * actions (save/print/email…) that do not change workflow state. Unlike transitions,\n * Commands may exist on a workflow that declares no `states` (a commands-only doctype),\n * and a Command with no `allowedStates` is available in every state.\n *\n * Only meaningful for WorkflowMeta format; XState workflows have no Commands.\n *\n * @param currentState - The record's current state, used to honor a Command's `allowedStates`\n * @returns Array of command descriptors with `name`\n *\n * @example\n * ```ts\n * const commands = doctype.getAvailableCommands('Draft')\n * // [{ name: 'Print' }]\n * ```\n *\n * @public\n */\n getAvailableCommands(t) {\n const r = this.workflow;\n if (!r) return [];\n const n = r.actions;\n return n ? Object.entries(n).filter(([, i]) => i.stateless === !0 && Ii(i, t ?? \"\")).map(([i]) => ({ name: i })) : [];\n }\n /**\n * Returns the field-validation **triggers** declared on this doctype's workflow (advisory,\n * client-side). Keyed by trigger name. Returns undefined when the workflow is absent, is an\n * XState machine (no triggers), or simply declares none.\n *\n * @returns The `workflow.triggers` map, or undefined\n *\n * @example\n * ```ts\n * const triggers = doctype.getTriggers()\n * // { dateOrder: { on: ['start_date', 'end_date'], clientHandler: '…' } }\n * ```\n *\n * @public\n */\n getTriggers() {\n const t = this.workflow;\n if (t)\n return t.triggers;\n }\n /**\n * Returns metadata for a specific action, if available.\n * Only works with WorkflowMeta format; returns undefined for XState format.\n *\n * @param actionName - The action name to get metadata for\n * @returns Action metadata or undefined\n *\n * @example\n * ```ts\n * const actionMeta = doctype.getActionMeta('submit')\n * // { label: 'Submit', allowedStates: ['draft'] }\n * ```\n *\n * @public\n */\n getActionMeta(t) {\n const r = this.workflow;\n return r ? r.actions?.[t] : void 0;\n }\n /**\n * Converts the registered doctype string to a slug (kebab-case). The following conversions are made:\n * - It replaces camelCase and PascalCase with kebab-case strings\n * - It replaces spaces and underscores with hyphens\n * - It converts the string to lowercase\n *\n * @returns The slugified doctype string\n *\n * @example\n * ```ts\n * const doctype = new Doctype('TaskItem', schema, workflow, actions)\n * console.log(doctype.slug) // 'task-item'\n * ```\n *\n * @public\n */\n get slug() {\n return this.doctype.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\n }\n}\nclass Kt {\n /**\n * The root Registry instance\n */\n static _root;\n /**\n * The name of the Registry instance\n *\n * @defaultValue 'Registry'\n */\n name = \"Registry\";\n /**\n * The registry property contains a collection of doctypes\n *\n * @defaultValue `{}`\n * @see {@link Doctype}\n */\n registry = {};\n /**\n * Reverse index: backlink fieldname → list of \\{ doctype slug, link fieldname \\}.\n * Multiple doctypes can declare a link with the same backlink name, so each key\n * maps to an array. Built at schema load time for O(1) ancestor lookups.\n *\n * @defaultValue `new Map()`\n * @internal\n */\n _ancestorIndex = /* @__PURE__ */ new Map();\n /**\n * Whether the ancestor index needs rebuilding\n *\n * @defaultValue `true`\n * @internal\n */\n _ancestorIndexDirty = !0;\n /**\n * The Vue router instance\n * @see {@link https://router.vuejs.org/}\n */\n router;\n /**\n * Creates a new Registry instance (singleton pattern)\n * @param router - Optional Vue router instance for route management\n * @param getMeta - Optional function to fetch doctype metadata from an API\n */\n constructor(t, r) {\n return Kt._root ? Kt._root : (Kt._root = this, this.router = t, this.getMeta = r, this);\n }\n /**\n * The getMeta function fetches doctype metadata from an API based on route context\n * @see {@link Doctype}\n */\n getMeta;\n /**\n * Get doctype metadata\n * @param doctype - The doctype to fetch metadata for\n * @returns The doctype metadata\n * @see {@link Doctype}\n */\n addDoctype(t) {\n t.slug in this.registry || (this.registry[t.slug] = t, this._ancestorIndexDirty = !0);\n const r = Le();\n r.registerDoctypeActions(t.doctype, t.actions), t.slug !== t.doctype && r.registerDoctypeActions(t.slug, t.actions), t.component && this.router && !this.router.hasRoute(t.doctype) && this.router.addRoute({\n path: `/${t.slug}`,\n name: t.slug,\n component: t.component\n });\n }\n /**\n * Resolve a Doctype's authoring schema into a rendered schema array suitable for AForm.\n *\n * Transforms `DoctypeField[]` (authoring space) → `ResolvedField[]` (rendering space):\n * - `kind: 'field'` (not Link) → `ResolvedScalar`\n * - `kind: 'field'` (Link, no declaration) → `ResolvedScalar` with `component: 'AFormLink'`\n * - `kind: 'field'` (Link, `noneOrMany`/`atLeastOne`) → `ResolvedTable`\n * - `kind: 'field'` (Link, `one`/`atMostOne`) → `ResolvedLink`\n * - `kind: 'fieldset'` → `ResolvedFieldset` (children resolved recursively)\n * - `kind: 'table'` → `ResolvedTable` (columns as `ColumnSchema[]`)\n *\n * Circular references are protected against via the `visited` set.\n *\n * @param doctype - The doctype to resolve\n * @param visited - Internal — set of already-visited doctype slugs for cycle detection\n * @returns A resolved schema array ready for AForm\n *\n * @public\n */\n resolveSchema(t, r) {\n const n = r ?? /* @__PURE__ */ new Set(), i = t.slug;\n if (n.has(i))\n return (t.schema ? t.schema.toArray() : []).filter((c) => c.kind === \"field\").map(({ cardinality: c, ...f }) => f);\n n.add(i);\n const o = t.schema ? t.schema.toArray() : [], s = /* @__PURE__ */ new Map();\n if (t.links)\n for (const [u, c] of Object.entries(t.links))\n s.set(c.fieldname ?? u, c);\n const a = this.resolveFields(o, s, n);\n return n.delete(i), a;\n }\n /**\n * Recursively resolve a `DoctypeField[]` using the provided link context.\n * Called by `resolveSchema` and recursively for fieldset children.\n * @internal\n */\n resolveFields(t, r, n) {\n const i = [];\n for (const o of t) {\n const s = o.kind === \"field\" ? r.get(o.fieldname) : void 0;\n if (o.kind === \"field\" && (s || o.doctype)) {\n const a = s, u = a?.target ?? o.doctype;\n if (!a || Ai(a, o.component) === \"inline\") {\n const { cardinality: g, ...m } = o;\n i.push({\n ...m,\n component: m.component || \"AFormLink\",\n ...u !== void 0 ? { doctype: u } : {}\n });\n continue;\n }\n const c = this.registry[a.target];\n if (!c) {\n const { cardinality: g, ...m } = o;\n i.push({ ...m });\n continue;\n }\n const f = this.resolveSchema(c, new Set(n)), { options: l, cardinality: h, kind: d, ..._ } = o;\n if (Ai(a, o.component) === \"table\")\n i.push(this.buildTableConfig(o, f, a.component));\n else {\n const g = {\n ..._,\n kind: \"link\",\n label: _.label || o.fieldname,\n component: a.component || _.component || \"AForm\",\n schema: f\n };\n i.push(g);\n }\n } else if (o.kind === \"fieldset\") {\n const a = this.resolveFields(o.schema, r, n), { schema: u, ...c } = o, f = {\n ...c,\n schema: a\n };\n i.push(f);\n } else if (o.kind === \"table\") {\n const { columns: a, config: u, ...c } = o, f = {\n ...c,\n kind: \"table\",\n component: c.component || \"ATable\",\n schema: a,\n config: u ?? { view: \"list\" }\n };\n i.push(f);\n } else {\n o.kind === \"field\" && $n(o.component) && console.warn(\n `[Stonecrop] Field \"${o.fieldname}\" renders with \"${o.component}\", which is a link component, but the field is not a link: it has no \\`doctype\\` and no \\`links\\` declaration. It will render as a plain field. Add \\`\"doctype\": \"<doctype-slug>\"\\` to the field definition.`\n );\n const { cardinality: a, ...u } = o;\n i.push({ ...u });\n }\n }\n return i;\n }\n /**\n * Build a `ResolvedTable` from a resolved Link field with many cardinality.\n * Extracts scalar column definitions from the child schema.\n * @internal\n */\n buildTableConfig(t, r, n) {\n const i = r.filter((c) => c.kind === \"field\").map(({ kind: c, ...f }) => f), o = t.config ?? { view: \"list\" }, { options: s, cardinality: a, ...u } = t;\n return {\n ...u,\n kind: \"table\",\n label: u.label || t.fieldname,\n component: n || u.component || \"ATable\",\n schema: i,\n config: o\n };\n }\n /**\n * Initialize a new record with default values based on a resolved schema.\n * Narrows by `kind` discriminator for precise branch selection.\n *\n * - `kind: 'table'` or `kind: 'link'` → `[]` or `{}`\n * - `kind: 'fieldset'` → recursively initializes children as `{}`\n * - `kind: 'field'` → derives the default from the component's category; falls back to `null`\n *\n * @param schema - The resolved schema array to derive defaults from\n * @returns A plain object with default values for each field\n * @public\n */\n initializeRecord(t) {\n const r = {};\n for (const n of t)\n if (n.kind === \"table\")\n r[n.fieldname] = [];\n else if (n.kind === \"link\")\n r[n.fieldname] = this.initializeRecord(n.schema);\n else if (n.kind === \"fieldset\")\n r[n.fieldname] = this.initializeRecord(n.schema);\n else {\n const i = n.default;\n if (i !== void 0)\n r[n.fieldname] = i;\n else {\n const o = bh(n.component);\n o === \"text\" ? r[n.fieldname] = \"\" : o === \"number\" ? r[n.fieldname] = 0 : o === \"boolean\" ? r[n.fieldname] = !1 : o === \"code\" && n.language ? r[n.fieldname] = n.language === \"json\" ? {} : \"\" : r[n.fieldname] = null;\n }\n }\n return r;\n }\n /**\n * Get a registered doctype by slug\n * @param slug - The doctype slug to look up\n * @returns The Doctype instance if found, or undefined\n * @public\n */\n getDoctype(t) {\n return this.registry[t];\n }\n /**\n * Get all links declared on a doctype.\n *\n * @param doctypeSlug - The doctype slug to get links for\n * @returns Array of link declarations with fieldname, or empty array if none\n *\n * @example\n * ```ts\n * const links = registry.getDescendantLinks('recipe')\n * // [{ fieldname: 'tasks', target: 'recipe-task', cardinality: 'noneOrMany', backlink: 'recipe' }]\n * ```\n *\n * @public\n */\n getDescendantLinks(t) {\n const r = this.registry[t];\n return r?.links ? Object.entries(r.links).map(\n ([n, i]) => Object.assign({}, i, {\n fieldname: n\n })\n ) : [];\n }\n /**\n * Get links on other doctypes that target the given doctype.\n *\n * @param doctypeSlug - The doctype slug to find ancestor links for\n * @returns Array of link declarations with fieldname and declaring doctype slug, or empty array\n *\n * @example\n * ```ts\n * const ancestors = registry.getAncestorLinks('recipe-task')\n * // [{ fieldname: 'tasks', target: 'recipe-task', cardinality: 'noneOrMany', backlink: 'recipe', doctype: 'recipe' }]\n * ```\n *\n * @public\n */\n getAncestorLinks(t) {\n this._ensureAncestorIndex();\n const r = [];\n for (const [n, i] of this._ancestorIndex)\n for (const { slug: o, fieldname: s } of i) {\n const a = this.registry[o];\n if (!a?.links) continue;\n const u = a.links[s];\n u?.target === t && r.push({\n ...u,\n fieldname: s,\n doctype: o\n });\n }\n return r;\n }\n /**\n * Ensure the ancestor index is up to date\n * @internal\n */\n _ensureAncestorIndex() {\n if (this._ancestorIndexDirty) {\n this._ancestorIndexDirty = !1, this._ancestorIndex.clear();\n for (const [t, r] of Object.entries(this.registry))\n if (r.links) {\n for (const [n, i] of Object.entries(r.links))\n if (i.backlink) {\n const o = this._ancestorIndex.get(i.backlink);\n o ? o.push({ slug: t, fieldname: n }) : this._ancestorIndex.set(i.backlink, [{ slug: t, fieldname: n }]);\n }\n }\n }\n }\n // TODO: should we allow clearing the registry at all?\n // clear() {\n // \tthis.registry = {}\n // \tif (this.router) {\n // \t\tconst routes = this.router.getRoutes()\n // \t\tfor (const route of routes) {\n // \t\t\tif (route.name) {\n // \t\t\t\tthis.router.removeRoute(route.name)\n // \t\t\t}\n // \t\t}\n // \t}\n // }\n}\nasync function vp(e, t, r) {\n await yn();\n try {\n await r(e, t);\n } catch {\n }\n}\nconst Np = {\n install: (e, t) => {\n const r = e.config.globalProperties.$router, n = t?.router, i = r || n;\n !r && n && e.use(n);\n const o = new Kt(i, t?.getMeta);\n e.provide(\"$registry\", o), e.config.globalProperties.$registry = o;\n const s = new Be(o);\n t?.client && s.setClient(t.client), e.provide(\"$stonecrop\", s), e.config.globalProperties.$stonecrop = s;\n try {\n const a = e.config.globalProperties.$pinia;\n if (a) {\n const u = or(a);\n e.provide(\"$operationLogStore\", u), e.config.globalProperties.$operationLogStore = u;\n }\n } catch (a) {\n console.warn(\"Pinia not available - operation log features will be disabled:\", a);\n }\n if (t?.components)\n for (const [a, u] of Object.entries(t.components))\n e.component(a, u);\n t?.autoInitializeRouter && t.onRouterInitialized && vp(o, s, t.onRouterInitialized);\n }\n}, Zp = io(\"stonecrop-validation\", () => {\n const e = K([]), t = te(() => e.value.length === 0), r = te(() => {\n const f = {};\n for (const l of e.value)\n f[l.field] || (f[l.field] = []), f[l.field].push(l.message);\n return f;\n });\n function n(f) {\n return e.value.filter((l) => l.field === f).map((l) => l.message);\n }\n function i(f, l, h) {\n e.value.push({ trigger: f, field: l, message: h });\n }\n function o(f) {\n e.value = e.value.filter((l) => l.trigger !== f);\n }\n function s() {\n e.value = [];\n }\n async function a(f, l, h, d) {\n o(f);\n const _ = Object.freeze({ ...h }), g = (m, E) => i(f, m, E);\n try {\n await Ys(l.clientHandler, { record: _, value: d, setError: g });\n } catch (m) {\n typeof console < \"u\" && console.error(\n `Validation trigger \"${f}\" threw and was ignored (advisory — save is not blocked). Fix its clientHandler:`,\n m\n );\n }\n }\n async function u(f, l, h) {\n const d = [];\n for (const [_, g] of Object.entries(f))\n g.on.includes(l) && d.push(a(_, g, h, h[l]));\n await Promise.all(d);\n }\n async function c(f, l) {\n await Promise.all(Object.entries(f).map(([h, d]) => a(h, d, l, void 0)));\n }\n return {\n errors: e,\n isValid: t,\n errorsByField: r,\n errorsFor: n,\n setError: i,\n clearTrigger: o,\n clearAll: s,\n validateField: u,\n validateRecord: c\n };\n});\nvar ee = /* @__PURE__ */ ((e) => (e.ERROR = \"error\", e.WARNING = \"warning\", e.INFO = \"info\", e))(ee || {});\nclass yp {\n options;\n /**\n * Creates a new SchemaValidator instance\n * @param options - Validator configuration options\n */\n constructor(t = {}) {\n this.options = {\n registry: t.registry || null,\n validateLinkTargets: t.validateLinkTargets ?? !0,\n validateLinks: t.validateLinks ?? !0,\n validateActions: t.validateActions ?? !0,\n validateWorkflows: t.validateWorkflows ?? !0,\n validateRequiredProperties: t.validateRequiredProperties ?? !0\n };\n }\n /**\n * Validates a complete doctype schema\n * @param doctype - Doctype name\n * @param schema - Schema fields (List or Array)\n * @param workflow - Optional workflow configuration\n * @param actions - Optional actions map\n * @param links - Optional links object\n * @returns Validation result\n */\n validate(t, r, n, i, o) {\n const s = [], a = r ? Array.isArray(r) ? r : r.toArray() : [];\n if (this.options.validateRequiredProperties && s.push(...this.validateRequiredProperties(t, a, o)), this.options.validateLinkTargets && this.options.registry && s.push(...this.validateLinkFields(t, a, this.options.registry)), this.options.validateLinks && this.options.registry && o && s.push(...this.validateLinkDeclarations(t, o, a, this.options.registry)), this.options.validateWorkflows && n && s.push(...this.validateWorkflow(t, n)), this.options.validateActions && i) {\n const l = i instanceof Map ? i : i.toObject();\n s.push(...this.validateActionRegistration(t, l));\n }\n const u = s.filter((l) => l.severity === ee.ERROR).length, c = s.filter((l) => l.severity === ee.WARNING).length, f = s.filter((l) => l.severity === ee.INFO).length;\n return {\n valid: u === 0,\n issues: s,\n errorCount: u,\n warningCount: c,\n infoCount: f\n };\n }\n /**\n * Validates that required schema properties are present\n * @internal\n */\n validateRequiredProperties(t, r, n) {\n const i = [];\n for (const o of r) {\n if (!o.fieldname) {\n i.push({\n severity: ee.ERROR,\n rule: \"required-fieldname\",\n message: \"Field is missing required property: fieldname\",\n doctype: t,\n context: { field: o }\n });\n continue;\n }\n o.kind === \"field\" && !o.component && i.push({\n severity: ee.ERROR,\n rule: \"required-component\",\n message: `Field \"${o.fieldname}\" must have a component property`,\n doctype: t,\n fieldname: o.fieldname\n }), o.kind === \"field\" && $n(o.component) && !o.doctype && !n?.[o.fieldname] && i.push({\n severity: ee.ERROR,\n rule: \"link-component-without-doctype\",\n message: `Field \"${o.fieldname}\" renders with \"${o.component}\", which is a link component, but has no \\`doctype\\` to name its target`,\n doctype: t,\n fieldname: o.fieldname\n }), o.kind === \"fieldset\" && i.push(...this.validateRequiredProperties(t, o.schema, n));\n }\n return i;\n }\n /**\n * Validates Link field targets exist in registry\n * @internal\n */\n validateLinkFields(t, r, n) {\n const i = [];\n for (const o of r) {\n if (o.kind === \"field\" && o.doctype) {\n const s = o.doctype;\n n.registry[s] || n.registry[s.toLowerCase()] || i.push({\n severity: ee.ERROR,\n rule: \"link-invalid-target\",\n message: `Link field \"${o.fieldname}\" references non-existent doctype: \"${s}\"`,\n doctype: t,\n fieldname: o.fieldname,\n context: { targetDoctype: s }\n });\n }\n o.kind === \"fieldset\" && i.push(...this.validateLinkFields(t, o.schema, n));\n }\n return i;\n }\n /**\n * Validates link declarations: target resolution, backlink consistency, Link field correspondence\n * @internal\n */\n validateLinkDeclarations(t, r, n, i) {\n const o = [], s = /* @__PURE__ */ new Map();\n for (const a of n)\n a.kind === \"field\" && a.doctype && s.set(a.fieldname, a);\n for (const [a, u] of Object.entries(r)) {\n const c = i.registry[u.target];\n if (!c) {\n o.push({\n severity: ee.ERROR,\n rule: \"link-invalid-target\",\n message: `Link \"${a}\" references non-existent doctype: \"${u.target}\"`,\n doctype: t,\n fieldname: a,\n context: { target: u.target }\n });\n continue;\n }\n if (u.target === t && o.push({\n severity: ee.WARNING,\n rule: \"link-self-referential\",\n message: `Link \"${a}\" is self-referential (target: \"${u.target}\")`,\n doctype: t,\n fieldname: a,\n context: { target: u.target }\n }), u.backlink && c.links) {\n const f = c.links[u.backlink];\n f ? f.target !== t && o.push({\n severity: ee.WARNING,\n rule: \"link-backlink-mismatch\",\n message: `Backlink \"${u.backlink}\" on \"${u.target}\" points to \"${f.target}\" instead of \"${t}\"`,\n doctype: t,\n fieldname: a,\n context: { backlink: u.backlink, target: u.target, actualTarget: f.target }\n }) : o.push({\n severity: ee.ERROR,\n rule: \"link-backlink-missing\",\n message: `Backlink \"${u.backlink}\" not found on target doctype \"${u.target}\"`,\n doctype: t,\n fieldname: a,\n context: { backlink: u.backlink, target: u.target }\n });\n }\n if (u.fieldname) {\n const f = s.get(u.fieldname);\n if (f && f.kind === \"field\") {\n const l = f.doctype;\n l && l !== u.target && o.push({\n severity: ee.ERROR,\n rule: \"link-field-target-mismatch\",\n message: `Link field \"${u.fieldname}\" targets \"${l}\" but link declaration targets \"${u.target}\"`,\n doctype: t,\n fieldname: u.fieldname,\n context: { linkFieldTarget: l, linkTarget: u.target }\n });\n }\n }\n }\n return o;\n }\n /**\n * Validates workflow state machine configuration\n * @internal\n */\n validateWorkflow(t, r) {\n const n = [];\n if (!r.initial && !r.type && n.push({\n severity: ee.WARNING,\n rule: \"workflow-missing-initial\",\n message: \"Workflow is missing initial state property\",\n doctype: t\n }), !r.states || Object.keys(r.states).length === 0)\n return n.push({\n severity: ee.WARNING,\n rule: \"workflow-no-states\",\n message: \"Workflow has no states defined\",\n doctype: t\n }), n;\n r.initial && typeof r.initial == \"string\" && !r.states[r.initial] && n.push({\n severity: ee.ERROR,\n rule: \"workflow-invalid-initial\",\n message: `Workflow initial state \"${r.initial}\" does not exist in states`,\n doctype: t,\n context: { initialState: r.initial }\n });\n const i = Object.keys(r.states), o = /* @__PURE__ */ new Set();\n r.initial && typeof r.initial == \"string\" && o.add(r.initial);\n for (const [s, a] of Object.entries(r.states)) {\n const u = a;\n if (u.on) {\n for (const [c, f] of Object.entries(u.on))\n if (typeof f == \"string\")\n o.add(f);\n else if (f && typeof f == \"object\") {\n const l = \"target\" in f ? f.target : void 0;\n typeof l == \"string\" ? o.add(l) : Array.isArray(l) && l.forEach((h) => {\n typeof h == \"string\" && o.add(h);\n });\n }\n }\n }\n for (const s of i)\n o.has(s) || n.push({\n severity: ee.WARNING,\n rule: \"workflow-unreachable-state\",\n message: `Workflow state \"${s}\" may not be reachable`,\n doctype: t,\n context: { stateName: s }\n });\n return n;\n }\n /**\n * Validates that actions are registered in the FieldTriggerEngine\n * @internal\n */\n validateActionRegistration(t, r) {\n const n = [], i = Le();\n for (const [o, s] of Object.entries(r)) {\n if (!Array.isArray(s)) {\n n.push({\n severity: ee.ERROR,\n rule: \"action-invalid-format\",\n message: `Action configuration for \"${o}\" must be an array`,\n doctype: t,\n context: { triggerName: o, actionNames: s }\n });\n continue;\n }\n for (const a of s) {\n const u = i;\n u.globalActions?.has(a) || u.globalTransitionActions?.has(a) || n.push({\n severity: ee.WARNING,\n rule: \"action-not-registered\",\n message: `Action \"${a}\" referenced in \"${o}\" is not registered in FieldTriggerEngine`,\n doctype: t,\n context: { triggerName: o, actionName: a }\n });\n }\n }\n return n;\n }\n}\nfunction wp(e, t) {\n return new yp({\n registry: e,\n ...t\n });\n}\nfunction Mp(e, t, r, n, i) {\n return wp(r).validate(e, t, n, i);\n}\nexport {\n qs as Doctype,\n Wt as FieldTriggerEngine,\n _t as HST,\n Kt as Registry,\n yp as SchemaValidator,\n Be as Stonecrop,\n ee as ValidationSeverity,\n ya as createHST,\n wp as createValidator,\n Np as default,\n Ys as executeClientHandler,\n Le as getGlobalTriggerEngine,\n Ip as getStonecrop,\n Ep as markOperationIrreversible,\n zp as registerGlobalAction,\n kp as registerTransitionAction,\n Op as setFieldRollback,\n $p as triggerTransition,\n Ap as useLazyLink,\n uo as useOperationLog,\n or as useOperationLogStore,\n Rp as useStonecrop,\n Tp as useUndoRedoShortcuts,\n Zp as useValidationStore,\n Mp as validateSchema,\n Pp as withBatch\n};\n//# sourceMappingURL=stonecrop.js.map\n","import { defineComponent as ne, useTemplateRef as pe, ref as A, computed as S, onMounted as Le, openBlock as g, createElementBlock as k, unref as P, normalizeClass as ue, normalizeStyle as Ce, createBlock as me, resolveDynamicComponent as Ze, mergeProps as at, toDisplayString as B, createElementVNode as y, withModifiers as se, withDirectives as _, Fragment as X, renderList as we, vShow as xe, createCommentVNode as W, renderSlot as Ie, createTextVNode as kt, watch as te, onBeforeUnmount as fn, nextTick as st, toValue as H, shallowRef as he, getCurrentScope as Mt, onScopeDispose as It, reactive as Tt, vModelText as ge, vModelCheckbox as jt, vModelSelect as zt, getCurrentInstance as Dt, watchEffect as $t, useCssVars as mn, onUnmounted as hn, useModel as Te, inject as wt, createVNode as ze, withCtx as Ft, mergeModels as be, isRef as pn, toRefs as gn, customRef as Ct, toRef as _t, readonly as St, withKeys as ve, provide as wn } from \"vue\";\nimport { defineStore as yn } from \"pinia\";\nimport './assets/index.css';function yt(e) {\n return Function(`\"use strict\"; return (${e})`)();\n}\nfunction Xt(e, t) {\n return Mt() ? (It(e, t), !0) : !1;\n}\nconst xn = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst bn = (e) => e != null, kn = Object.prototype.toString, Mn = (e) => kn.call(e) === \"[object Object]\", In = () => {\n};\nfunction Qe(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction Tn(e, t, l) {\n return te(e, t, {\n ...l,\n immediate: !0\n });\n}\nconst qe = xn ? window : void 0;\nfunction We(e) {\n var t;\n const l = H(e);\n return (t = l?.$el) !== null && t !== void 0 ? t : l;\n}\nfunction _e(...e) {\n const t = (a, n, o, s) => (a.addEventListener(n, o, s), () => a.removeEventListener(n, o, s)), l = S(() => {\n const a = Qe(H(e[0])).filter((n) => n != null);\n return a.every((n) => typeof n != \"string\") ? a : void 0;\n });\n return Tn(() => {\n var a, n;\n return [\n (a = (n = l.value) === null || n === void 0 ? void 0 : n.map((o) => We(o))) !== null && a !== void 0 ? a : [qe].filter((o) => o != null),\n Qe(H(l.value ? e[1] : e[0])),\n Qe(P(l.value ? e[2] : e[1])),\n H(l.value ? e[3] : e[2])\n ];\n }, ([a, n, o, s], d, r) => {\n if (!a?.length || !n?.length || !o?.length) return;\n const i = Mn(s) ? { ...s } : s, h = a.flatMap((f) => n.flatMap((x) => o.map((b) => t(f, x, b, i))));\n r(() => {\n h.forEach((f) => f());\n });\n }, { flush: \"post\" });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Dn() {\n const e = he(!1), t = Dt();\n return t && Le(() => {\n e.value = !0;\n }, t), e;\n}\n// @__NO_SIDE_EFFECTS__\nfunction $n(e) {\n const t = /* @__PURE__ */ Dn();\n return S(() => (t.value, !!e()));\n}\nfunction Cn(e, t, l = {}) {\n const { window: a = qe, ...n } = l;\n let o;\n const s = /* @__PURE__ */ $n(() => a && \"MutationObserver\" in a), d = () => {\n o && (o.disconnect(), o = void 0);\n }, r = te(S(() => {\n const f = Qe(H(e)).map(We).filter(bn);\n return new Set(f);\n }), (f) => {\n d(), s.value && f.size && (o = new MutationObserver(t), f.forEach((x) => o.observe(x, n)));\n }, {\n immediate: !0,\n flush: \"post\"\n }), i = () => o?.takeRecords(), h = () => {\n r(), d();\n };\n return Xt(h), {\n isSupported: s,\n stop: h,\n takeRecords: i\n };\n}\nfunction Sn(e, t, l = {}) {\n const { window: a = qe, document: n = a?.document, flush: o = \"sync\" } = l;\n if (!a || !n) return In;\n let s;\n const d = (h) => {\n s?.(), s = h;\n }, r = $t(() => {\n const h = We(e);\n if (h) {\n const { stop: f } = Cn(n, (x) => {\n x.map((b) => [...b.removedNodes]).flat().some((b) => b === h || b.contains(h)) && t(x);\n }, {\n window: a,\n childList: !0,\n subtree: !0\n });\n d(f);\n }\n }, { flush: o }), i = () => {\n r(), d();\n };\n return Xt(i), i;\n}\n// @__NO_SIDE_EFFECTS__\nfunction An(e = {}) {\n var t;\n const { window: l = qe, deep: a = !0, triggerOnRemoval: n = !1 } = e, o = (t = e.document) !== null && t !== void 0 ? t : l?.document, s = () => {\n let i = o?.activeElement;\n if (a)\n for (var h; i?.shadowRoot; ) i = i == null || (h = i.shadowRoot) === null || h === void 0 ? void 0 : h.activeElement;\n return i;\n }, d = he(), r = () => {\n d.value = s();\n };\n if (l) {\n const i = {\n capture: !0,\n passive: !0\n };\n _e(l, \"blur\", (h) => {\n h.relatedTarget === null && r();\n }, i), _e(l, \"focus\", r, i);\n }\n return n && Sn(d, r, { document: o }), r(), d;\n}\nconst Ln = \"focusin\", Rn = \"focusout\", En = \":focus-within\";\nfunction Hn(e, t = {}) {\n const { window: l = qe } = t, a = S(() => We(e)), n = he(!1), o = S(() => n.value);\n if (!l || !(/* @__PURE__ */ An(t)).value) return { focused: o };\n const s = { passive: !0 };\n return _e(a, Ln, () => n.value = !0, s), _e(a, Rn, () => {\n var d, r, i;\n return n.value = (d = (r = a.value) === null || r === void 0 || (i = r.matches) === null || i === void 0 ? void 0 : i.call(r, En)) !== null && d !== void 0 ? d : !1;\n }, s), { focused: o };\n}\nfunction Vn(e, { window: t = qe, scrollTarget: l } = {}) {\n const a = A(!1), n = () => {\n if (!t) return;\n const o = t.document, s = We(e);\n if (!s)\n a.value = !1;\n else {\n const d = s.getBoundingClientRect();\n a.value = d.top <= (t.innerHeight || o.documentElement.clientHeight) && d.left <= (t.innerWidth || o.documentElement.clientWidth) && d.bottom >= 0 && d.right >= 0;\n }\n };\n return te(\n () => We(e),\n () => n(),\n { immediate: !0, flush: \"post\" }\n ), t && _e(l || t, \"scroll\", n, {\n capture: !1,\n passive: !0\n }), a;\n}\nconst Re = (e) => {\n let t = Vn(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, Ee = (e) => e.tabIndex >= 0, Pt = (e) => {\n if (e.target instanceof HTMLElement)\n return At(e.target);\n}, At = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const l = e.parentElement?.previousElementSibling;\n if (l instanceof HTMLTableRowElement) {\n const a = Array.from(l.children)[e.cellIndex];\n a instanceof HTMLElement && (t = a);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const l = e.previousElementSibling;\n l instanceof HTMLTableRowElement && (t = l);\n }\n return t && (!Ee(t) || !Re(t)) ? At(t) : t;\n}, Bn = (e) => {\n if (!(e.target instanceof HTMLElement)) return;\n const t = e.target;\n let l;\n if (t instanceof HTMLTableCellElement) {\n const a = t.parentElement?.parentElement;\n if (a) {\n const n = a.firstElementChild?.children[t.cellIndex];\n n instanceof HTMLElement && (l = n);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const a = t.parentElement;\n if (a) {\n const n = a.firstElementChild;\n n instanceof HTMLTableRowElement && (l = n);\n }\n }\n return l && (!Ee(l) || !Re(l)) ? Lt(l) : l;\n}, Nt = (e) => {\n if (e.target instanceof HTMLElement)\n return Lt(e.target);\n}, Lt = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const l = e.parentElement?.nextElementSibling;\n if (l) {\n const a = Array.from(l.children)[e.cellIndex];\n a instanceof HTMLElement && (t = a);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const l = e.nextElementSibling;\n l instanceof HTMLTableRowElement && (t = l);\n }\n return t && (!Ee(t) || !Re(t)) ? Lt(t) : t;\n}, Fn = (e) => {\n if (!(e.target instanceof HTMLElement)) return;\n const t = e.target;\n let l;\n if (t instanceof HTMLTableCellElement) {\n const a = t.parentElement?.parentElement;\n if (a) {\n const n = a.lastElementChild?.children[t.cellIndex];\n n instanceof HTMLElement && (l = n);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const a = t.parentElement;\n if (a) {\n const n = a.lastElementChild;\n n instanceof HTMLTableRowElement && (l = n);\n }\n }\n return l && (!Ee(l) || !Re(l)) ? At(l) : l;\n}, Ot = (e) => {\n if (e.target instanceof HTMLElement)\n return Rt(e.target);\n}, Rt = (e) => {\n let t;\n const l = e.previousElementSibling;\n if (l instanceof HTMLElement)\n t = l;\n else {\n const a = e.parentElement?.previousElementSibling?.lastElementChild;\n a instanceof HTMLElement && (t = a);\n }\n return t && (!Ee(t) || !Re(t)) ? Rt(t) : t;\n}, Zt = (e) => {\n if (e.target instanceof HTMLElement)\n return Et(e.target);\n}, Et = (e) => {\n let t;\n const l = e.nextElementSibling;\n if (l instanceof HTMLElement)\n t = l;\n else {\n const a = e.parentElement?.nextElementSibling?.firstElementChild;\n a instanceof HTMLElement && (t = a);\n }\n return t && (!Ee(t) || !Re(t)) ? Et(t) : t;\n}, Ut = (e) => {\n if (!(e.target instanceof HTMLElement)) return;\n const t = e.target.parentElement?.firstElementChild, l = t instanceof HTMLElement ? t : null;\n return l && (!Ee(l) || !Re(l)) ? Et(l) : l;\n}, Gt = (e) => {\n if (!(e.target instanceof HTMLElement)) return;\n const t = e.target.parentElement?.lastElementChild, l = t instanceof HTMLElement ? t : null;\n return l && (!Ee(l) || !Re(l)) ? Rt(l) : l;\n}, Ye = [\"alt\", \"control\", \"shift\", \"meta\"], Pn = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, nt = {\n \"keydown.up\": (e) => {\n const t = Pt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = Nt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = Ot(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = Zt(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = Bn(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = Fn(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = Ut(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = Gt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = Gt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.enter\": (e) => {\n if (e.target instanceof HTMLElement && e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = Nt(e);\n t && t.focus();\n }\n },\n \"keydown.shift.enter\": (e) => {\n if (e.target instanceof HTMLElement && e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = Pt(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = Ut(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = Zt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = Ot(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction it(e) {\n let t = null;\n return e.parent && (typeof e.parent == \"string\" ? t = document.querySelector(e.parent) : e.parent instanceof HTMLElement ? t = e.parent : t = e.parent.value), t;\n}\nfunction Yt(e) {\n const t = (o) => {\n const s = it(o);\n let d = [];\n if (typeof o.selectors == \"string\")\n d = Array.from(s ? s.querySelectorAll(o.selectors) : document.querySelectorAll(o.selectors));\n else if (Array.isArray(o.selectors))\n for (const r of o.selectors)\n r instanceof HTMLElement ? d.push(r) : d.push(r.$el);\n else if (o.selectors instanceof HTMLElement)\n d.push(o.selectors);\n else if (o.selectors?.value)\n if (Array.isArray(o.selectors.value))\n for (const r of o.selectors.value)\n r instanceof HTMLElement ? d.push(r) : d.push(r.$el);\n else\n d.push(o.selectors.value);\n return d;\n }, l = (o) => {\n const s = it(o);\n let d = [];\n return o.selectors ? d = t(o) : s && (d = Array.from(s.children).filter((r) => r instanceof HTMLElement).filter((r) => Ee(r) && Re(r))), d;\n }, a = (o) => (s) => {\n const d = Pn[s.key] || s.key.toLowerCase();\n if (Ye.includes(d)) return;\n const r = o.handlers || nt;\n for (const i of Object.keys(r)) {\n const [h, ...f] = i.split(\".\");\n if (h === \"keydown\" && f.includes(d)) {\n const x = r[i], b = f.filter((p) => Ye.includes(p)), m = Ye.some((p) => {\n const u = p.charAt(0).toUpperCase() + p.slice(1);\n return s.getModifierState(u);\n });\n if (b.length > 0) {\n if (m) {\n for (const p of Ye)\n if (f.includes(p)) {\n const u = p.charAt(0).toUpperCase() + p.slice(1);\n s.getModifierState(u) && x(s);\n }\n }\n } else\n m || x(s);\n }\n }\n }, n = [];\n Le(() => {\n for (const o of e) {\n const s = it(o), d = l(o), r = a(o), i = s ? [s] : d;\n for (const h of i) {\n const { focused: f } = Hn(A(h)), x = te(f, (b) => {\n b ? h.addEventListener(\"keydown\", r) : h.removeEventListener(\"keydown\", r);\n });\n n.push(x);\n }\n }\n }), fn(() => {\n for (const o of n)\n o();\n });\n}\nfunction Ht(e, t) {\n return Mt() ? (It(e, t), !0) : !1;\n}\nconst Kt = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Nn = (e) => e != null, On = Object.prototype.toString, Zn = (e) => On.call(e) === \"[object Object]\", Oe = () => {\n};\nfunction Un(...e) {\n if (e.length !== 1) return _t(...e);\n const t = e[0];\n return typeof t == \"function\" ? St(Ct(() => ({\n get: t,\n set: Oe\n }))) : A(t);\n}\nfunction Gn(e, t) {\n function l(...a) {\n return new Promise((n, o) => {\n Promise.resolve(e(() => t.apply(this, a), {\n fn: t,\n thisArg: this,\n args: a\n })).then(n).catch(o);\n });\n }\n return l;\n}\nfunction Wn(e, t = {}) {\n let l, a, n = Oe;\n const o = (d) => {\n clearTimeout(d), n(), n = Oe;\n };\n let s;\n return (d) => {\n const r = H(e), i = H(t.maxWait);\n return l && o(l), r <= 0 || i !== void 0 && i <= 0 ? (a && (o(a), a = void 0), Promise.resolve(d())) : new Promise((h, f) => {\n n = t.rejectOnCancel ? f : h, s = d, i && !a && (a = setTimeout(() => {\n l && o(l), a = void 0, h(s());\n }, i)), l = setTimeout(() => {\n a && o(a), a = void 0, h(d());\n }, r);\n });\n };\n}\nfunction et(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction qn(e) {\n return Dt();\n}\n// @__NO_SIDE_EFFECTS__\nfunction jn(e, t = 200, l = {}) {\n return Gn(Wn(t, l), e);\n}\nfunction zn(e, t = {}) {\n if (!pn(e)) return gn(e);\n const l = Array.isArray(e.value) ? Array.from({ length: e.value.length }) : {};\n for (const a in e.value) l[a] = Ct(() => ({\n get() {\n return e.value[a];\n },\n set(n) {\n var o;\n if (!((o = H(t.replaceRef)) !== null && o !== void 0) || o) if (Array.isArray(e.value)) {\n const s = [...e.value];\n s[a] = n, e.value = s;\n } else {\n const s = {\n ...e.value,\n [a]: n\n };\n Object.setPrototypeOf(s, Object.getPrototypeOf(e.value)), e.value = s;\n }\n else e.value[a] = n;\n }\n }));\n return l;\n}\nfunction _n(e, t = !0, l) {\n qn() ? Le(e, l) : t ? e() : st(e);\n}\nfunction Xn(e, t, l) {\n return te(e, t, {\n ...l,\n immediate: !0\n });\n}\nconst Xe = Kt ? window : void 0;\nfunction $e(e) {\n var t;\n const l = H(e);\n return (t = l?.$el) !== null && t !== void 0 ? t : l;\n}\nfunction Fe(...e) {\n const t = (a, n, o, s) => (a.addEventListener(n, o, s), () => a.removeEventListener(n, o, s)), l = S(() => {\n const a = et(H(e[0])).filter((n) => n != null);\n return a.every((n) => typeof n != \"string\") ? a : void 0;\n });\n return Xn(() => {\n var a, n;\n return [\n (a = (n = l.value) === null || n === void 0 ? void 0 : n.map((o) => $e(o))) !== null && a !== void 0 ? a : [Xe].filter((o) => o != null),\n et(H(l.value ? e[1] : e[0])),\n et(P(l.value ? e[2] : e[1])),\n H(l.value ? e[3] : e[2])\n ];\n }, ([a, n, o, s], d, r) => {\n if (!a?.length || !n?.length || !o?.length) return;\n const i = Zn(s) ? { ...s } : s, h = a.flatMap((f) => n.flatMap((x) => o.map((b) => t(f, x, b, i))));\n r(() => {\n h.forEach((f) => f());\n });\n }, { flush: \"post\" });\n}\nfunction xt(e, t, l = {}) {\n const { window: a = Xe, ignore: n = [], capture: o = !0, detectIframe: s = !1, controls: d = !1 } = l;\n if (!a) return d ? {\n stop: Oe,\n cancel: Oe,\n trigger: Oe\n } : Oe;\n let r = !0;\n const i = (u) => H(n).some((c) => {\n if (typeof c == \"string\") return Array.from(a.document.querySelectorAll(c)).some((M) => M === u.target || u.composedPath().includes(M));\n {\n const M = $e(c);\n return M && (u.target === M || u.composedPath().includes(M));\n }\n });\n function h(u) {\n const c = H(u);\n return c && c.$.subTree.shapeFlag === 16;\n }\n function f(u, c) {\n const M = H(u), $ = M.$.subTree && M.$.subTree.children;\n return $ == null || !Array.isArray($) ? !1 : $.some((D) => D.el === c.target || c.composedPath().includes(D.el));\n }\n const x = (u) => {\n const c = $e(e);\n if (u.target != null && !(!(c instanceof Element) && h(e) && f(e, u)) && !(!c || c === u.target || u.composedPath().includes(c))) {\n if (\"detail\" in u && u.detail === 0 && (r = !i(u)), !r) {\n r = !0;\n return;\n }\n t(u);\n }\n };\n let b = !1;\n const m = [\n Fe(a, \"click\", (u) => {\n b || (b = !0, setTimeout(() => {\n b = !1;\n }, 0), x(u));\n }, {\n passive: !0,\n capture: o\n }),\n Fe(a, \"pointerdown\", (u) => {\n const c = $e(e);\n r = !i(u) && !!(c && !u.composedPath().includes(c));\n }, { passive: !0 }),\n s && Fe(a, \"blur\", (u) => {\n setTimeout(() => {\n var c;\n const M = $e(e);\n ((c = a.document.activeElement) === null || c === void 0 ? void 0 : c.tagName) === \"IFRAME\" && !M?.contains(a.document.activeElement) && t(u);\n }, 0);\n }, { passive: !0 })\n ].filter(Boolean), p = () => m.forEach((u) => u());\n return d ? {\n stop: p,\n cancel: () => {\n r = !1;\n },\n trigger: (u) => {\n r = !0, x(u), r = !1;\n }\n } : p;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Yn() {\n const e = he(!1), t = Dt();\n return t && Le(() => {\n e.value = !0;\n }, t), e;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Jt(e) {\n const t = /* @__PURE__ */ Yn();\n return S(() => (t.value, !!e()));\n}\nfunction Qt(e, t, l = {}) {\n const { window: a = Xe, ...n } = l;\n let o;\n const s = /* @__PURE__ */ Jt(() => a && \"MutationObserver\" in a), d = () => {\n o && (o.disconnect(), o = void 0);\n }, r = te(S(() => {\n const f = et(H(e)).map($e).filter(Nn);\n return new Set(f);\n }), (f) => {\n d(), s.value && f.size && (o = new MutationObserver(t), f.forEach((x) => o.observe(x, n)));\n }, {\n immediate: !0,\n flush: \"post\"\n }), i = () => o?.takeRecords(), h = () => {\n r(), d();\n };\n return Ht(h), {\n isSupported: s,\n stop: h,\n takeRecords: i\n };\n}\nconst Ke = {\n speed: 2,\n margin: 30,\n direction: \"both\"\n};\nfunction Kn(e) {\n e.scrollLeft > e.scrollWidth - e.clientWidth && (e.scrollLeft = Math.max(0, e.scrollWidth - e.clientWidth)), e.scrollTop > e.scrollHeight - e.clientHeight && (e.scrollTop = Math.max(0, e.scrollHeight - e.clientHeight));\n}\nfunction ut(e, t = {}) {\n var l, a, n, o;\n const { pointerTypes: s, preventDefault: d, stopPropagation: r, exact: i, onMove: h, onEnd: f, onStart: x, initialValue: b, axis: m = \"both\", draggingElement: p = Xe, containerElement: u, handle: c = e, buttons: M = [0], restrictInView: $, autoScroll: D = !1 } = t, I = A((l = H(b)) !== null && l !== void 0 ? l : {\n x: 0,\n y: 0\n }), V = A(), O = (E) => s ? s.includes(E.pointerType) : !0, R = (E) => {\n H(d) && E.preventDefault(), H(r) && E.stopPropagation();\n }, F = H(D), Y = typeof F == \"object\" ? {\n speed: (a = H(F.speed)) !== null && a !== void 0 ? a : Ke.speed,\n margin: (n = H(F.margin)) !== null && n !== void 0 ? n : Ke.margin,\n direction: (o = F.direction) !== null && o !== void 0 ? o : Ke.direction\n } : Ke, J = (E) => typeof E == \"number\" ? [E, E] : [E.x, E.y], le = (E, T, L) => {\n const { clientWidth: G, clientHeight: N, scrollLeft: ae, scrollTop: Ae, scrollWidth: Be, scrollHeight: Z } = E, [q, K] = J(Y.margin), [oe, de] = J(Y.speed);\n let ie = 0, ce = 0;\n (Y.direction === \"x\" || Y.direction === \"both\") && (L.x < q && ae > 0 ? ie = -oe : L.x + T.width > G - q && ae < Be - G && (ie = oe)), (Y.direction === \"y\" || Y.direction === \"both\") && (L.y < K && Ae > 0 ? ce = -de : L.y + T.height > N - K && Ae < Z - N && (ce = de)), (ie || ce) && E.scrollBy({\n left: ie,\n top: ce,\n behavior: \"auto\"\n });\n };\n let re = null;\n const De = () => {\n const E = H(u);\n E && !re && (re = setInterval(() => {\n const T = H(e).getBoundingClientRect(), { x: L, y: G } = I.value, N = {\n x: L - E.scrollLeft,\n y: G - E.scrollTop\n };\n N.x >= 0 && N.y >= 0 && (le(E, T, N), N.x += E.scrollLeft, N.y += E.scrollTop, I.value = N);\n }, 1e3 / 60));\n }, Me = () => {\n re && (clearInterval(re), re = null);\n }, He = (E, T, L, G) => {\n const [N, ae] = typeof L == \"number\" ? [L, L] : [L.x, L.y], { clientWidth: Ae, clientHeight: Be } = T;\n return E.x < N || E.x + G.width > Ae - N || E.y < ae || E.y + G.height > Be - ae;\n }, Ve = () => {\n if (H(t.disabled) || !V.value) return;\n const E = H(u);\n if (!E) return;\n const T = H(e).getBoundingClientRect(), { x: L, y: G } = I.value;\n He({\n x: L - E.scrollLeft,\n y: G - E.scrollTop\n }, E, Y.margin, T) ? De() : Me();\n };\n H(D) && te(I, Ve);\n const Pe = (E) => {\n var T;\n if (!H(M).includes(E.button) || H(t.disabled) || !O(E) || H(i) && E.target !== H(e)) return;\n const L = H(u), G = L == null || (T = L.getBoundingClientRect) === null || T === void 0 ? void 0 : T.call(L), N = H(e).getBoundingClientRect(), ae = {\n x: E.clientX - (L ? N.left - G.left + (D ? 0 : L.scrollLeft) : N.left),\n y: E.clientY - (L ? N.top - G.top + (D ? 0 : L.scrollTop) : N.top)\n };\n x?.(ae, E) !== !1 && (V.value = ae, R(E));\n }, fe = (E) => {\n if (H(t.disabled) || !O(E) || !V.value) return;\n const T = H(u);\n T instanceof HTMLElement && Kn(T);\n const L = H(e).getBoundingClientRect();\n let { x: G, y: N } = I.value;\n if ((m === \"x\" || m === \"both\") && (G = E.clientX - V.value.x, T && (G = Math.min(Math.max(0, G), T.scrollWidth - L.width))), (m === \"y\" || m === \"both\") && (N = E.clientY - V.value.y, T && (N = Math.min(Math.max(0, N), T.scrollHeight - L.height))), H(D) && T && (re === null && le(T, L, {\n x: G,\n y: N\n }), G += T.scrollLeft, N += T.scrollTop), T && ($ || D)) {\n if (m !== \"y\") {\n const ae = G - T.scrollLeft;\n ae < 0 ? G = T.scrollLeft : ae > T.clientWidth - L.width && (G = T.clientWidth - L.width + T.scrollLeft);\n }\n if (m !== \"x\") {\n const ae = N - T.scrollTop;\n ae < 0 ? N = T.scrollTop : ae > T.clientHeight - L.height && (N = T.clientHeight - L.height + T.scrollTop);\n }\n }\n I.value = {\n x: G,\n y: N\n }, h?.(I.value, E), R(E);\n }, Se = (E) => {\n H(t.disabled) || !O(E) || V.value && (V.value = void 0, D && Me(), f?.(I.value, E), R(E));\n };\n if (Kt) {\n const E = () => {\n var T;\n return {\n capture: (T = t.capture) !== null && T !== void 0 ? T : !0,\n passive: !H(d)\n };\n };\n Fe(c, \"pointerdown\", Pe, E), Fe(p, \"pointermove\", fe, E), Fe(p, \"pointerup\", Se, E);\n }\n return {\n ...zn(I),\n position: I,\n isDragging: S(() => !!V.value),\n style: S(() => `\n left: ${I.value.x}px;\n top: ${I.value.y}px;\n ${D ? \"text-wrap: nowrap;\" : \"\"}\n `)\n };\n}\nfunction lt(e, t, l = {}) {\n const { window: a = Xe, ...n } = l;\n let o;\n const s = /* @__PURE__ */ Jt(() => a && \"ResizeObserver\" in a), d = () => {\n o && (o.disconnect(), o = void 0);\n }, r = te(S(() => {\n const h = H(e);\n return Array.isArray(h) ? h.map((f) => $e(f)) : [$e(h)];\n }), (h) => {\n if (d(), s.value && a) {\n o = new ResizeObserver(t);\n for (const f of h) f && o.observe(f, n);\n }\n }, {\n immediate: !0,\n flush: \"post\"\n }), i = () => {\n d(), r();\n };\n return Ht(i), {\n isSupported: s,\n stop: i\n };\n}\nfunction Ne(e, t = {}) {\n const { reset: l = !0, windowResize: a = !0, windowScroll: n = !0, immediate: o = !0, updateTiming: s = \"sync\" } = t, d = he(0), r = he(0), i = he(0), h = he(0), f = he(0), x = he(0), b = he(0), m = he(0);\n function p() {\n const c = $e(e);\n if (!c) {\n l && (d.value = 0, r.value = 0, i.value = 0, h.value = 0, f.value = 0, x.value = 0, b.value = 0, m.value = 0);\n return;\n }\n const M = c.getBoundingClientRect();\n d.value = M.height, r.value = M.bottom, i.value = M.left, h.value = M.right, f.value = M.top, x.value = M.width, b.value = M.x, m.value = M.y;\n }\n function u() {\n s === \"sync\" ? p() : s === \"next-frame\" && requestAnimationFrame(() => p());\n }\n return lt(e, u), te(() => $e(e), (c) => !c && u()), Qt(e, u, { attributeFilter: [\"style\", \"class\"] }), n && Fe(\"scroll\", u, {\n capture: !0,\n passive: !0\n }), a && Fe(\"resize\", u, { passive: !0 }), _n(() => {\n o && u();\n }), {\n height: d,\n bottom: r,\n left: i,\n right: h,\n top: f,\n width: x,\n x: b,\n y: m,\n update: u\n };\n}\nfunction dt(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nconst ct = /* @__PURE__ */ new WeakMap();\nfunction Jn(e, t = !1) {\n const l = he(t);\n let a = \"\";\n te(Un(e), (s) => {\n const d = dt(H(s));\n if (d) {\n const r = d;\n if (ct.get(r) || ct.set(r, r.style.overflow), r.style.overflow !== \"hidden\" && (a = r.style.overflow), r.style.overflow === \"hidden\") return l.value = !0;\n if (l.value) return r.style.overflow = \"hidden\";\n }\n }, { immediate: !0 });\n const n = () => {\n const s = dt(H(e));\n !s || l.value || (s.style.overflow = \"hidden\", l.value = !0);\n }, o = () => {\n const s = dt(H(e));\n !s || !l.value || (s.style.overflow = a, ct.delete(s), l.value = !1);\n };\n return Ht(o), S({\n get() {\n return l.value;\n },\n set(s) {\n s ? n() : o();\n }\n });\n}\nconst en = {\n ATextInput: \"text\",\n ATextarea: \"text\",\n ANumericInput: \"number\",\n ACheckbox: \"boolean\",\n ADate: \"date\",\n ADatePicker: \"date\",\n ADateSelection: \"date\",\n ADateTime: \"datetime\",\n ADuration: \"text\",\n ADateRange: \"date\",\n ADropdown: \"select\",\n ACodeEditor: \"code\",\n AFormLink: \"link\",\n AFileAttach: \"attach\"\n};\nfunction tn(e) {\n return e ? en[e] : void 0;\n}\nconst Qn = {\n AFormLink: \"inline\",\n AForm: \"expand\",\n ATable: \"expand\"\n};\n[\n .../* @__PURE__ */ new Set([...Object.keys(en), ...Object.keys(Qn)])\n].toSorted();\nconst el = (e) => {\n const t = new DOMParser().parseFromString(e, \"text/html\");\n return Array.from(t.body.childNodes).some((l) => l.nodeType === 1);\n}, tl = (e = 8) => Array.from({ length: e }, () => Math.floor(Math.random() * 16).toString(16)).join(\"\");\nfunction nn(e, t) {\n const l = t[e];\n if (l.isRoot || l.parent === null || l.parent === void 0)\n return !0;\n const a = l.parent;\n return a < 0 || a >= t.length ? !1 : (t[a].childrenOpen || !1) && nn(a, t);\n}\nfunction nl(e, t, l) {\n const a = l.filterType || \"text\", n = t.value;\n if (!n && a !== \"dateRange\" && a !== \"checkbox\") return !0;\n switch (a) {\n case \"text\":\n return (typeof e == \"object\" && e !== null ? Object.values(e).join(\" \") : String(e || \"\")).toLowerCase().includes(String(n).toLowerCase());\n case \"number\": {\n const o = Number(e), s = Number(n);\n return !isNaN(o) && !isNaN(s) && o === s;\n }\n case \"select\":\n return e === n;\n case \"checkbox\":\n return n === !0 ? !!e : !0;\n case \"date\": {\n let o;\n if (typeof e == \"number\") {\n const d = new Date(e), r = (/* @__PURE__ */ new Date()).getFullYear();\n o = new Date(r, d.getMonth(), d.getDate());\n } else\n o = new Date(String(e));\n const s = new Date(String(n));\n return o.toDateString() === s.toDateString();\n }\n case \"dateRange\": {\n const o = t.startValue, s = t.endValue;\n if (!o && !s) return !0;\n let d;\n if (typeof e == \"number\") {\n const r = new Date(e), i = (/* @__PURE__ */ new Date()).getFullYear();\n d = new Date(i, r.getMonth(), r.getDate());\n } else\n d = new Date(String(e));\n return !(o && d < new Date(String(o)) || s && d > new Date(String(s)));\n }\n default:\n return !0;\n }\n}\nfunction ll(e, t) {\n return t && e === 0 && t > 0 ? `${t}ch` : \"inherit\";\n}\nconst ol = (e) => {\n const t = e.id || tl(), l = e.linkResolver ?? null;\n return yn(`table-${t}`, () => {\n const a = () => {\n const v = [Object.assign({}, { rowModified: !1 })], w = /* @__PURE__ */ new Set();\n for (let j = 0; j < o.value.length; j++) {\n const U = o.value[j];\n U.parent !== null && U.parent !== void 0 && w.add(U.parent);\n }\n const C = (j) => o.value[j]?.gantt !== void 0, z = (j) => {\n for (let U = 0; U < o.value.length; U++)\n if (o.value[U].parent === j && (C(U) || z(U)))\n return !0;\n return !1;\n }, Q = (j) => {\n const U = s.value, ee = U.view === \"tree\" || U.view === \"tree-gantt\" ? U.defaultTreeExpansion : void 0;\n if (!ee) return !0;\n switch (ee) {\n case \"root\":\n return !1;\n // Only root nodes are visible, all children start collapsed\n case \"branch\":\n return z(j);\n case \"leaf\":\n return !0;\n // All nodes should be expanded\n default:\n return !0;\n }\n };\n for (let j = 0; j < o.value.length; j++) {\n const U = o.value[j], ee = U.parent === null || U.parent === void 0, ye = w.has(j);\n v[j] = {\n childrenOpen: Q(j),\n expanded: !1,\n indent: U.indent || 0,\n isParent: ye,\n isRoot: ee,\n rowModified: !1,\n open: ee,\n // This will be recalculated later for non-root nodes\n parent: U.parent\n };\n }\n return v;\n }, n = A(e.columns), o = A(e.rows), s = A(e.config || {}), d = A({}), r = A({}), i = S(() => {\n const v = {};\n for (const [w, C] of n.value.entries())\n for (const [z, Q] of o.value.entries())\n v[`${w}:${z}`] = Q[C.name];\n return v;\n }), h = S({\n get: () => {\n const v = a();\n for (let w = 0; w < v.length; w++)\n d.value[w] && (v[w].rowModified = d.value[w]), r.value[w] && (r.value[w].childrenOpen !== void 0 && (v[w].childrenOpen = r.value[w].childrenOpen), r.value[w].expanded !== void 0 && (v[w].expanded = r.value[w].expanded));\n if (D.value)\n for (let w = 0; w < v.length; w++)\n v[w].isRoot || (v[w].open = nn(w, v));\n return v;\n },\n set: (v) => {\n JSON.stringify(v) !== JSON.stringify(h.value) && (h.value = v);\n }\n }), f = A(e.modal || { visible: !1 }), x = A({}), b = A([]), m = A([]), p = A([]), u = A({\n column: null,\n direction: null\n }), c = A({}), M = S(() => n.value.some((v) => v.pinned)), $ = S(() => s.value.view === \"gantt\" || s.value.view === \"tree-gantt\"), D = S(() => s.value.view === \"tree\" || s.value.view === \"tree-gantt\"), I = S(() => {\n const v = s.value;\n return v.view === \"gantt\" || v.view === \"tree-gantt\" ? v.dependencyGraph !== !1 : !0;\n }), V = S(() => `${Math.ceil(o.value.length / 100 + 1)}ch`), O = S(\n () => s.value.view ? [\"list\", \"tree\", \"tree-gantt\", \"list-expansion\"].includes(s.value.view) : !1\n ), R = S(() => {\n let v = o.value.map((w, C) => ({\n ...w,\n originalIndex: C\n }));\n if (Object.entries(c.value).forEach(([w, C]) => {\n const z = parseInt(w), Q = n.value[z];\n !Q || !(C.value || C.startValue || C.endValue || Q.filterType === \"checkbox\" && C.value !== void 0) || (v = v.filter((j) => {\n const U = j[Q.name];\n return nl(U, C, Q);\n }));\n }), u.value.column !== null && u.value.direction) {\n const w = n.value[u.value.column], C = u.value.direction;\n v.sort((z, Q) => {\n let j = z[w.name], U = Q[w.name];\n j == null && (j = \"\"), U == null && (U = \"\");\n const ee = Number(j), ye = Number(U);\n if (!isNaN(ee) && !isNaN(ye) && j !== \"\" && U !== \"\")\n return C === \"asc\" ? ee - ye : ye - ee;\n {\n const Vt = String(j).toLowerCase(), Bt = String(U).toLowerCase();\n return C === \"asc\" ? Vt.localeCompare(Bt) : Bt.localeCompare(Vt);\n }\n });\n }\n return v;\n }), F = (v, w) => i.value[`${v}:${w}`], Y = (v, w, C) => {\n const z = `${v}:${w}`, Q = n.value[v];\n i.value[z] !== C && (d.value[w] = !0), i.value[z] = C, o.value[w] = {\n ...o.value[w],\n [Q.name]: C\n };\n }, J = (v) => {\n o.value = v;\n }, le = (v, w, C) => {\n const z = `${v}:${w}`;\n i.value[z] !== C && (d.value[w] = !0, x.value[z] = C);\n }, re = (v) => {\n const w = n.value.indexOf(v) === n.value.length - 1, C = s.value.fullWidth ? v.resizable && !w : v.resizable;\n return {\n width: v.width || \"40ch\",\n textAlign: v.align || \"center\",\n ...C && {\n resize: \"horizontal\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\"\n }\n };\n }, De = (v, w) => {\n if (v < 0 || v >= n.value.length) return;\n const C = Math.max(w, 40);\n n.value[v] = {\n ...n.value[v],\n width: `${C}px`\n };\n }, Me = (v) => {\n const w = o.value[v];\n return $.value && w.gantt !== void 0;\n }, He = (v) => !D.value || h.value[v].isRoot || h.value[v].open, Ve = (v) => !D.value && s.value.view !== \"list-expansion\" ? \"\" : D.value && (h.value[v].isRoot || h.value[v].isParent) ? h.value[v].childrenOpen ? \"▼\" : \"►\" : s.value.view === \"list-expansion\" ? h.value[v].expanded ? \"▼\" : \"►\" : \"\", Pe = (v) => {\n if (D.value) {\n const w = r.value[v] || {}, C = !(w.childrenOpen ?? h.value[v].childrenOpen);\n r.value[v] = {\n ...w,\n childrenOpen: C\n }, C || fe(v);\n } else if (s.value.view === \"list-expansion\") {\n const w = r.value[v] || {}, C = w.expanded ?? h.value[v].expanded;\n r.value[v] = {\n ...w,\n expanded: !C\n };\n }\n }, fe = (v) => {\n for (let w = 0; w < o.value.length; w++)\n if (h.value[w].parent === v) {\n const C = r.value[w] || {};\n r.value[w] = {\n ...C,\n childrenOpen: !1\n }, fe(w);\n }\n }, Se = (v, w) => {\n const C = F(v, w);\n return E(v, w, C);\n }, E = (v, w, C) => {\n const z = n.value[v], Q = o.value[w], j = z.format;\n if (!j) {\n const U = tn(z.component);\n return U === \"boolean\" ? C ? \"✓\" : \"✗\" : U === \"date\" ? C != null ? new Date(String(C)).toLocaleDateString() : C : U === \"datetime\" && C != null ? new Date(String(C)).toLocaleString() : C;\n }\n return typeof j == \"function\" ? j(C, { table: i.value, row: Q, column: z }) : typeof j == \"string\" ? Function(`\"use strict\";return (${j})`)()(C, { table: i.value, row: Q, column: z }) : C;\n }, T = (v) => {\n v.target instanceof Node && f.value.parent?.contains(v.target) || f.value.visible && (f.value.visible = !1);\n }, L = (v) => {\n const w = o.value[v.rowIndex]?.gantt;\n w && (v.type === \"resize\" ? v.edge === \"start\" ? (w.startIndex = v.newStart, w.endIndex = v.end, w.colspan = w.endIndex - w.startIndex) : v.edge === \"end\" && (w.startIndex = v.start, w.endIndex = v.newEnd, w.colspan = w.endIndex - w.startIndex) : v.type === \"bar\" && (w.startIndex = v.newStart, w.endIndex = v.newEnd, w.colspan = w.endIndex - w.startIndex));\n }, G = (v) => {\n const w = b.value.findIndex((C) => C.id === v.id);\n w >= 0 ? b.value[w] = v : b.value.push(v);\n }, N = (v) => {\n const w = b.value.findIndex((C) => C.id === v);\n w >= 0 && b.value.splice(w, 1);\n }, ae = (v) => {\n const w = m.value.findIndex((C) => C.id === v.id);\n w >= 0 ? m.value[w] = v : m.value.push(v);\n }, Ae = (v) => {\n const w = m.value.findIndex((C) => C.id === v);\n w >= 0 && m.value.splice(w, 1);\n }, Be = (v, w, C) => {\n const z = m.value.find((U) => U.id === v), Q = m.value.find((U) => U.id === w);\n if (!z || !Q)\n return console.warn(\"Cannot create connection: handle not found\"), null;\n const j = {\n id: `connection-${v}-${w}`,\n from: {\n barId: z.barId,\n side: z.side\n },\n to: {\n barId: Q.barId,\n side: Q.side\n },\n style: C?.style,\n label: C?.label\n };\n return p.value.push(j), j;\n }, Z = (v) => {\n const w = p.value.findIndex((C) => C.id === v);\n return w >= 0 ? (p.value.splice(w, 1), !0) : !1;\n }, q = (v) => p.value.filter((w) => w.from.barId === v || w.to.barId === v), K = (v) => m.value.filter((w) => w.barId === v), oe = (v) => {\n if (n.value[v].sortable === !1) return;\n let w;\n u.value.column === v && u.value.direction === \"asc\" ? w = \"desc\" : w = \"asc\", u.value.column = v, u.value.direction = w;\n }, de = (v, w) => {\n !w.value && !w.startValue && !w.endValue ? delete c.value[v] : c.value[v] = w;\n }, ie = (v) => {\n delete c.value[v];\n }, ce = (v, w = \"end\") => {\n const C = {};\n for (const Q of n.value)\n C[Q.name] = \"\";\n v && Object.assign(C, v);\n let z;\n return w === \"start\" ? (z = 0, o.value.unshift(C)) : w === \"end\" ? (z = o.value.length, o.value.push(C)) : (z = Math.max(0, Math.min(w, o.value.length)), o.value.splice(z, 0, C)), z;\n };\n return {\n // state\n columns: n,\n config: s,\n connectionHandles: m,\n connectionPaths: p,\n display: h,\n filterState: c,\n ganttBars: b,\n modal: f,\n rows: o,\n sortState: u,\n table: i,\n updates: x,\n // getters\n filteredRows: R,\n hasPinnedColumns: M,\n isGanttView: $,\n isTreeView: D,\n isDependencyGraphEnabled: I,\n numberedRowWidth: V,\n zeroColumn: O,\n // resolver\n linkResolver: l,\n // actions\n addRow: ce,\n clearFilter: ie,\n closeModal: T,\n createConnection: Be,\n deleteConnection: Z,\n deleteRow: (v) => {\n if (v < 0 || v >= o.value.length)\n return null;\n const [w] = o.value.splice(v, 1);\n delete d.value[v], delete r.value[v];\n const C = {}, z = {};\n for (const [Q, j] of Object.entries(d.value)) {\n const U = parseInt(Q);\n U > v ? C[U - 1] = j : C[U] = j;\n }\n for (const [Q, j] of Object.entries(r.value)) {\n const U = parseInt(Q);\n U > v ? z[U - 1] = j : z[U] = j;\n }\n return d.value = C, r.value = z, w;\n },\n duplicateRow: (v) => {\n if (v < 0 || v >= o.value.length)\n return -1;\n const w = o.value[v], C = JSON.parse(JSON.stringify(w)), z = v + 1;\n return o.value.splice(z, 0, C), z;\n },\n getCellData: F,\n getCellDisplayValue: Se,\n getConnectionsForBar: q,\n getFormattedValue: E,\n getHandlesForBar: K,\n getHeaderCellStyle: re,\n getRowExpandSymbol: Ve,\n insertRowAbove: (v, w) => {\n const C = Math.max(0, v);\n return ce(w, C);\n },\n insertRowBelow: (v, w) => {\n const C = Math.min(v + 1, o.value.length);\n return ce(w, C);\n },\n isRowGantt: Me,\n isRowVisible: He,\n moveRow: (v, w) => {\n if (v < 0 || v >= o.value.length || w < 0 || w >= o.value.length || v === w)\n return !1;\n const [C] = o.value.splice(v, 1);\n o.value.splice(w, 0, C);\n const z = {}, Q = {};\n for (const [j, U] of Object.entries(d.value)) {\n const ee = parseInt(j);\n let ye = ee;\n ee === v ? ye = w : v < w ? ee > v && ee <= w && (ye = ee - 1) : ee >= w && ee < v && (ye = ee + 1), z[ye] = U;\n }\n for (const [j, U] of Object.entries(r.value)) {\n const ee = parseInt(j);\n let ye = ee;\n ee === v ? ye = w : v < w ? ee > v && ee <= w && (ye = ee - 1) : ee >= w && ee < v && (ye = ee + 1), Q[ye] = U;\n }\n return d.value = z, r.value = Q, !0;\n },\n registerConnectionHandle: ae,\n registerGanttBar: G,\n resizeColumn: De,\n setCellData: Y,\n setCellText: le,\n setFilter: de,\n sortByColumn: oe,\n toggleRowExpand: Pe,\n unregisterConnectionHandle: Ae,\n unregisterGanttBar: N,\n updateGanttBar: L,\n updateRows: J\n };\n })();\n}, al = [\"data-colindex\", \"data-rowindex\", \"data-editable\", \"contenteditable\", \"tabindex\"], sl = [\"innerHTML\"], rl = { key: 2 }, il = /* @__PURE__ */ ne({\n __name: \"ACell\",\n props: {\n colIndex: {},\n rowIndex: {},\n store: {},\n addNavigation: { type: [Boolean, Object], default: !0 },\n tabIndex: { default: 0 },\n pinned: { type: Boolean, default: !1 },\n debounce: { default: 300 }\n },\n setup(e, { expose: t }) {\n const l = pe(\"cell\"), a = e.store.getCellData(e.colIndex, e.rowIndex), n = A(\"\"), o = A(!1), s = e.store.columns[e.colIndex], d = e.store.rows[e.rowIndex], r = s.align || \"center\", i = s.width || \"40ch\", h = S(() => e.store.getCellDisplayValue(e.colIndex, e.rowIndex)), f = A(null);\n Le(() => {\n if (!s.linkDoctype) return;\n const R = e.store.getCellData(e.colIndex, e.rowIndex);\n if (R != null && typeof R == \"object\") {\n const Y = R, J = Y.displayText ?? Y.id;\n (typeof J == \"string\" || typeof J == \"number\") && (f.value = String(J));\n return;\n }\n const F = e.store.linkResolver;\n !F || typeof R != \"string\" || R === \"\" || F(s.linkDoctype, R).then((Y) => (Y != null && (f.value = Y), Y));\n });\n const x = S(() => f.value ?? h.value), b = S(() => typeof x.value == \"string\" ? el(x.value) : !1), m = S(() => ({\n textAlign: r,\n width: i,\n fontWeight: o.value ? \"bold\" : \"inherit\",\n paddingLeft: ll(e.colIndex, e.store.display[e.rowIndex]?.indent)\n })), p = S(() => ({\n \"sticky-column\": e.pinned,\n \"cell-modified\": o.value\n })), u = () => {\n M(), c();\n }, c = () => {\n const { left: R, bottom: F, width: Y, height: J } = Ne(l);\n s.mask, s.modalComponent && e.store.$patch((le) => {\n le.modal.visible = !0, le.modal.colIndex = e.colIndex, le.modal.rowIndex = e.rowIndex, le.modal.left = R.value, le.modal.bottom = F.value, le.modal.width = Y.value, le.modal.height = J.value, le.modal.cell = l.value, typeof s.modalComponent == \"function\" ? le.modal.component = s.modalComponent({ table: e.store.table, row: d, column: s }) : le.modal.component = s.modalComponent, le.modal.componentProps = s.modalComponentExtraProps;\n });\n };\n if (e.addNavigation) {\n let R = {\n ...nt,\n \"keydown.f2\": c,\n \"keydown.alt.up\": c,\n \"keydown.alt.down\": c,\n \"keydown.alt.left\": c,\n \"keydown.alt.right\": c\n };\n typeof e.addNavigation == \"object\" && (R = {\n ...R,\n ...e.addNavigation\n }), Yt([\n {\n selectors: l,\n handlers: R\n }\n ]);\n }\n const M = () => {\n if (l.value && s.edit) {\n const R = window.getSelection();\n if (R)\n try {\n const F = document.createRange();\n F.selectNodeContents && (F.selectNodeContents(l.value), R.removeAllRanges(), R.addRange(F));\n } catch {\n }\n }\n }, $ = () => {\n l.value && (n.value = l.value.textContent, M());\n }, D = () => {\n try {\n const R = window.getSelection();\n if (R && R.rangeCount > 0 && l.value) {\n const F = R.getRangeAt(0), Y = F.cloneRange();\n if (Y.selectNodeContents && Y.setEnd)\n return Y.selectNodeContents(l.value), Y.setEnd(F.endContainer, F.endOffset), Y.toString().length;\n }\n } catch {\n }\n return 0;\n }, I = (R) => {\n if (l.value)\n try {\n const F = window.getSelection();\n if (!F) return;\n let Y = 0;\n const J = document.createTreeWalker ? document.createTreeWalker(l.value, NodeFilter.SHOW_TEXT, null) : null;\n if (!J) return;\n let le, re = null;\n for (; le = J.nextNode(); ) {\n const De = le, Me = Y + De.textContent.length;\n if (R <= Me && (re = document.createRange(), re.setStart && re.setEnd)) {\n re.setStart(De, R - Y), re.setEnd(De, R - Y);\n break;\n }\n Y = Me;\n }\n re && F.removeAllRanges && F.addRange && (F.removeAllRanges(), F.addRange(re));\n } catch {\n }\n }, V = (R) => {\n if (!s.edit) return;\n const F = R.target;\n if (F.textContent === n.value)\n return;\n const Y = D();\n n.value = F.textContent, s.format ? (o.value = F.textContent !== e.store.getFormattedValue(e.colIndex, e.rowIndex, a), e.store.setCellText(e.colIndex, e.rowIndex, F.textContent)) : (o.value = F.textContent !== a, e.store.setCellData(e.colIndex, e.rowIndex, F.textContent)), st().then(() => I(Y));\n }, O = /* @__PURE__ */ jn(V, e.debounce);\n return t({\n currentData: n\n }), (R, F) => (g(), k(\"td\", {\n ref: \"cell\",\n \"data-colindex\": e.colIndex,\n \"data-rowindex\": e.rowIndex,\n \"data-editable\": P(s).edit,\n contenteditable: P(s).edit,\n tabindex: e.tabIndex,\n spellcheck: !1,\n style: Ce(m.value),\n class: ue([\"atable-cell\", p.value]),\n onFocus: $,\n onPaste: V,\n onInput: F[0] || (F[0] = //@ts-ignore\n (...Y) => P(O) && P(O)(...Y)),\n onClick: u\n }, [\n P(s).cellComponent ? (g(), me(Ze(P(s).cellComponent), at({\n key: 0,\n value: x.value\n }, P(s).cellComponentProps), null, 16, [\"value\"])) : b.value ? (g(), k(\"span\", {\n key: 1,\n innerHTML: x.value\n }, null, 8, sl)) : (g(), k(\"span\", rl, B(x.value), 1))\n ], 46, al));\n }\n}), ul = [\"colspan\"], dl = {\n ref: \"container\",\n class: \"gantt-container\"\n}, cl = [\"data-rowindex\", \"data-colindex\"], vl = {\n key: 2,\n class: \"gantt-label\"\n}, fl = [\"x1\", \"y1\", \"x2\", \"y2\"], ml = /* @__PURE__ */ ne({\n __name: \"AGanttCell\",\n props: {\n store: {},\n columnsCount: {},\n rowIndex: {},\n colIndex: {},\n start: { default: 0 },\n end: { default: 0 },\n colspan: { default: 1 },\n label: { default: \"\" },\n color: { default: \"#cccccc\" }\n },\n emits: [\"connection:create\"],\n setup(e, { expose: t, emit: l }) {\n mn((Z) => ({\n v564d6da1: n.value,\n v4f540c19: Z.colspan\n }));\n const a = l, n = A(e.color.length >= 6 ? e.color : \"#cccccc\"), o = `gantt-bar-row-${e.rowIndex}-col-${e.colIndex}`, s = pe(\"container\"), d = pe(\"bar\"), r = pe(\"leftResizeHandle\"), i = pe(\"rightResizeHandle\"), h = pe(\"leftConnectionHandle\"), f = pe(\"rightConnectionHandle\"), { width: x } = Ne(s), { left: b, right: m } = Ne(d), p = A(e.start), u = A(e.end || p.value + e.colspan), c = A(!1), M = A(!1), $ = A(!1), D = A(!1), I = A(!1), V = A({ startX: 0, startY: 0, endX: 0, endY: 0 }), O = S(() => De.value || le.value || re.value), R = S(() => e.colspan > 0 ? x.value / e.colspan : 0), F = S(() => {\n const Z = p.value / e.colspan * 100, q = u.value / e.colspan * 100;\n return {\n left: `${Z}%`,\n width: `${q - Z}%`,\n backgroundColor: n.value\n };\n }), Y = S(() => ({\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100vw\",\n height: \"100vh\",\n pointerEvents: \"none\",\n zIndex: 1e3\n })), J = A({ startX: 0, startPos: 0 }), { isDragging: le } = ut(r, {\n axis: \"x\",\n onStart: () => Me(b.value, p.value),\n onMove: ({ x: Z }) => He(Z),\n onEnd: ({ x: Z }) => Ve(Z)\n }), { isDragging: re } = ut(i, {\n axis: \"x\",\n onStart: () => Me(m.value, u.value),\n onMove: ({ x: Z }) => Pe(Z),\n onEnd: ({ x: Z }) => fe(Z)\n }), { isDragging: De } = ut(d, {\n exact: !0,\n axis: \"x\",\n onStart: () => Me(b.value, p.value),\n onMove: ({ x: Z }) => Se(Z),\n onEnd: ({ x: Z }) => E(Z)\n });\n Le(() => {\n T();\n }), hn(() => {\n L();\n });\n function Me(Z, q) {\n d.value && (d.value.style.transition = \"none\"), J.value = { startX: Z, startPos: q };\n }\n function He(Z) {\n if (!le.value || !d.value) return;\n const q = (Z - J.value.startX) / R.value, K = Math.max(0, Math.min(u.value - 1, J.value.startPos + q));\n d.value.style.left = `${K / e.colspan * 100}%`, d.value.style.width = `${(u.value - K) / e.colspan * 100}%`;\n }\n function Ve(Z) {\n if (!d.value) return;\n const q = Z - J.value.startX, K = Math.round(q / R.value), oe = p.value, de = Math.max(0, Math.min(u.value - 1, J.value.startPos + K));\n p.value = de, e.store.updateGanttBar({\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n type: \"resize\",\n edge: \"start\",\n oldStart: oe,\n newStart: de,\n end: u.value,\n delta: K,\n oldColspan: u.value - oe,\n newColspan: u.value - de\n });\n }\n function Pe(Z) {\n if (!re.value || !d.value) return;\n const q = (Z - J.value.startX) / R.value, K = Math.max(p.value + 1, Math.min(e.columnsCount, J.value.startPos + q));\n d.value.style.width = `${(K - p.value) / e.colspan * 100}%`;\n }\n function fe(Z) {\n if (!d.value) return;\n const q = Z - J.value.startX, K = Math.round(q / R.value), oe = u.value, de = Math.max(p.value + 1, Math.min(e.columnsCount, J.value.startPos + K));\n u.value = de, e.store.updateGanttBar({\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n type: \"resize\",\n edge: \"end\",\n oldEnd: oe,\n newEnd: de,\n start: p.value,\n delta: K,\n oldColspan: oe - p.value,\n newColspan: de - p.value\n });\n }\n function Se(Z) {\n if (!De.value || !d.value) return;\n const q = (Z - J.value.startX) / R.value, K = u.value - p.value, oe = Math.max(0, Math.min(J.value.startPos + q, e.columnsCount - K));\n d.value.style.left = `${oe / e.colspan * 100}%`;\n }\n function E(Z) {\n if (!d.value) return;\n const q = Z - J.value.startX, K = Math.round(q / R.value), oe = u.value - p.value, de = p.value, ie = u.value;\n let ce = J.value.startPos + K, v = ce + oe;\n ce < 0 ? (ce = 0, v = oe) : v > e.columnsCount && (v = e.columnsCount, ce = v - oe), p.value = ce, u.value = v, e.store.updateGanttBar({\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n type: \"bar\",\n oldStart: de,\n oldEnd: ie,\n newStart: ce,\n newEnd: v,\n delta: K,\n colspan: v - ce\n });\n }\n function T() {\n const { x: Z, y: q } = Ne(d), { x: K, y: oe } = Ne(h), { x: de, y: ie } = Ne(f);\n e.store.registerGanttBar({\n id: o,\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n startIndex: p,\n endIndex: u,\n color: n,\n label: e.label,\n position: { x: Z, y: q }\n }), e.store.isDependencyGraphEnabled && (e.store.registerConnectionHandle({\n id: `${o}-connection-left`,\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n side: \"left\",\n position: { x: K, y: oe },\n visible: c,\n barId: o\n }), e.store.registerConnectionHandle({\n id: `${o}-connection-right`,\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n side: \"right\",\n position: { x: de, y: ie },\n visible: M,\n barId: o\n }));\n }\n function L() {\n e.store.unregisterGanttBar(o), e.store.isDependencyGraphEnabled && (e.store.unregisterConnectionHandle(`${o}-connection-left`), e.store.unregisterConnectionHandle(`${o}-connection-right`));\n }\n function G() {\n e.store.isDependencyGraphEnabled && (c.value = !0, M.value = !0);\n }\n function N() {\n !$.value && !D.value && (c.value = !1, M.value = !1);\n }\n function ae(Z, q) {\n q.preventDefault(), q.stopPropagation(), I.value = !0, Z === \"left\" ? $.value = !0 : D.value = !0;\n const K = Z === \"left\" ? h.value : f.value;\n if (K) {\n const ie = K.getBoundingClientRect(), ce = ie.left + ie.width / 2, v = ie.top + ie.height / 2;\n V.value = { startX: ce, startY: v, endX: ce, endY: v };\n }\n const oe = (ie) => {\n V.value.endX = ie.clientX, V.value.endY = ie.clientY;\n }, de = (ie) => {\n Ae(ie, Z), Be(oe, de);\n };\n document.addEventListener(\"mousemove\", oe), document.addEventListener(\"mouseup\", de);\n }\n function Ae(Z, q) {\n const K = document.elementFromPoint(Z.clientX, Z.clientY)?.closest(\".connection-handle\");\n if (K && K !== (q === \"left\" ? h.value : f.value)) {\n const oe = K.closest(\".gantt-bar\");\n if (oe) {\n const de = parseInt(oe.getAttribute(\"data-rowindex\") || \"0\"), ie = parseInt(oe.getAttribute(\"data-colindex\") || \"0\"), ce = K.classList.contains(\"left-connection-handle\") ? \"left\" : \"right\", v = `gantt-bar-row-${de}-col-${ie}`, w = e.store.createConnection(\n `${o}-connection-${q}`,\n `${v}-connection-${ce}`\n );\n w && a(\"connection:create\", w);\n }\n }\n }\n function Be(Z, q) {\n I.value = !1, $.value = !1, D.value = !1, document.removeEventListener(\"mousemove\", Z), document.removeEventListener(\"mouseup\", q), d.value?.matches(\":hover\") || N();\n }\n return t({\n barStyle: F,\n cleanupConnectionDrag: Be,\n currentEnd: u,\n handleConnectionDrop: Ae,\n isLeftConnectionDragging: $,\n isLeftConnectionVisible: c,\n isRightConnectionDragging: D,\n isRightConnectionVisible: M,\n showDragPreview: I\n }), (Z, q) => (g(), k(\"td\", {\n class: \"aganttcell\",\n colspan: e.colspan\n }, [\n y(\"div\", dl, [\n y(\"div\", {\n ref: \"bar\",\n \"data-rowindex\": e.rowIndex,\n \"data-colindex\": e.colIndex,\n class: ue([\"gantt-bar\", { \"is-dragging\": O.value }]),\n style: Ce(F.value),\n onMouseenter: G,\n onMouseleave: N\n }, [\n e.store.isDependencyGraphEnabled ? (g(), k(\"div\", {\n key: 0,\n ref: \"leftConnectionHandle\",\n class: ue([\"connection-handle left-connection-handle\", { visible: c.value, \"is-dragging\": $.value }]),\n onMousedown: q[0] || (q[0] = se((K) => ae(\"left\", K), [\"stop\"]))\n }, [...q[2] || (q[2] = [\n y(\"div\", { class: \"connection-dot\" }, null, -1)\n ])], 34)) : W(\"\", !0),\n e.store.isDependencyGraphEnabled ? (g(), k(\"div\", {\n key: 1,\n ref: \"rightConnectionHandle\",\n class: ue([\"connection-handle right-connection-handle\", { visible: M.value, \"is-dragging\": D.value }]),\n onMousedown: q[1] || (q[1] = se((K) => ae(\"right\", K), [\"stop\"]))\n }, [...q[3] || (q[3] = [\n y(\"div\", { class: \"connection-dot\" }, null, -1)\n ])], 34)) : W(\"\", !0),\n y(\"div\", {\n ref: \"leftResizeHandle\",\n class: ue([\"resize-handle left-resize-handle\", { \"is-dragging\": P(le) }])\n }, [...q[4] || (q[4] = [\n y(\"div\", { class: \"handle-grip\" }, null, -1),\n y(\"div\", { class: \"vertical-indicator left-indicator\" }, null, -1)\n ])], 2),\n e.label ? (g(), k(\"label\", vl, B(e.label), 1)) : W(\"\", !0),\n y(\"div\", {\n ref: \"rightResizeHandle\",\n class: ue([\"resize-handle right-resize-handle\", { \"is-dragging\": P(re) }])\n }, [...q[5] || (q[5] = [\n y(\"div\", { class: \"handle-grip\" }, null, -1),\n y(\"div\", { class: \"vertical-indicator right-indicator\" }, null, -1)\n ])], 2)\n ], 46, cl)\n ], 512),\n e.store.isDependencyGraphEnabled && I.value ? (g(), k(\"svg\", {\n key: 0,\n style: Ce(Y.value)\n }, [\n y(\"line\", {\n x1: V.value.startX,\n y1: V.value.startY,\n x2: V.value.endX,\n y2: V.value.endY,\n stroke: \"#2196f3\",\n \"stroke-width\": \"2\",\n \"stroke-dasharray\": \"5,5\"\n }, null, 8, fl)\n ], 4)) : W(\"\", !0)\n ], 8, ul));\n }\n}), Ue = (e, t) => {\n const l = e.__vccOpts || e;\n for (const [a, n] of t)\n l[a] = n;\n return l;\n}, hl = /* @__PURE__ */ Ue(ml, [[\"__scopeId\", \"data-v-032ef6d9\"]]), pl = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\">\n <path d=\"M32,64C14.35,64,0,49.65,0,32S14.35,0,32,0s32,14.35,32,32-14.35,32-32,32ZM32,4c-15.44,0-28,12.56-28,28s12.56,28,28,28,28-12.56,28-28S47.44,4,32,4Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n <polygon points=\"34 18 30 18 30 30 18 30 18 34 30 34 30 46 34 46 34 34 46 34 46 30 34 30 34 18\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>\n`, gl = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\">\n <path d=\"M32,64C14.35,64,0,49.65,0,32S14.35,0,32,0s32,14.35,32,32-14.35,32-32,32ZM32,4c-15.44,0-28,12.56-28,28s12.56,28,28,28,28-12.56,28-28S47.44,4,32,4Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n <polygon points=\"46.84 19.99 44.01 17.16 32 29.17 19.99 17.16 17.16 19.99 29.17 32 17.16 44.01 19.99 46.84 32 34.83 44.01 46.84 46.84 44.01 34.83 32 46.84 19.99\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>`, wl = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 70.67 70.67\">\n <path d=\"M68.67,16.67h-14.67V2c0-1.1-.9-2-2-2H2C.9,0,0,.9,0,2v50c0,1.1.9,2,2,2h14.67v14.67c0,1.1.9,2,2,2h50c1.1,0,2-.9,2-2V18.67c0-1.1-.9-2-2-2ZM4,4h46v46H4V4ZM66.67,66.67H20.67v-12.67h31.33c1.1,0,2-.9,2-2v-31.33h12.67v46Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n <polygon points=\"41 25 29 25 29 13 25 13 25 25 13 25 13 29 25 29 25 41 29 41 29 29 41 29 41 25\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>`, yl = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 70.6 61.5\">\n <path d=\"M68.6,45.8v13.7H2v-13.7h66.6M70.6,43.8H0v17.7h70.6v-17.7h0Z\"/>\n <path d=\"M68.6,24.2v13.7H2v-13.7h66.6M70.6,22.2H0v17.7h70.6v-17.7h0Z\"/>\n <g>\n <polygon points=\"70.6 2.5 68.6 2.5 68.6 2 68.1 2 68.1 0 70.6 0 70.6 2.5\"/>\n <path d=\"M65.3,2h-2.9V0h2.9v2ZM59.6,2h-2.9V0h2.9v2ZM53.9,2h-2.9V0h2.9v2ZM48.2,2h-2.9V0h2.9v2ZM42.4,2h-2.9V0h2.9v2ZM36.7,2h-2.9V0h2.9v2ZM31,2h-2.9V0h2.9v2ZM25.3,2h-2.9V0h2.9v2ZM19.6,2h-2.9V0h2.9v2ZM13.9,2h-2.9V0h2.9v2ZM8.2,2h-2.9V0h2.9v2Z\"/>\n <polygon points=\"2 2.5 0 2.5 0 0 2.5 0 2.5 2 2 2 2 2.5\"/>\n <path d=\"M2,13.4H0v-2.7h2v2.7ZM2,8H0v-2.7h2v2.7Z\"/>\n <polygon points=\"2.5 18.7 0 18.7 0 16.2 2 16.2 2 16.7 2.5 16.7 2.5 18.7\"/>\n <path d=\"M65.3,18.7h-2.9v-2h2.9v2ZM59.6,18.7h-2.9v-2h2.9v2ZM53.9,18.7h-2.9v-2h2.9v2ZM48.2,18.7h-2.9v-2h2.9v2ZM42.4,18.7h-2.9v-2h2.9v2ZM36.7,18.7h-2.9v-2h2.9v2ZM31,18.7h-2.9v-2h2.9v2ZM25.3,18.7h-2.9v-2h2.9v2ZM19.6,18.7h-2.9v-2h2.9v2ZM13.9,18.7h-2.9v-2h2.9v2ZM8.2,18.7h-2.9v-2h2.9v2Z\"/>\n <polygon points=\"70.6 18.7 68.1 18.7 68.1 16.7 68.6 16.7 68.6 16.2 70.6 16.2 70.6 18.7\"/>\n <path d=\"M70.6,13.4h-2v-2.7h2v2.7ZM70.6,8h-2v-2.7h2v2.7Z\"/>\n </g>\n</svg>`, xl = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 70.6 61.5\">\n <g>\n <polygon points=\"70.6 45.3 68.6 45.3 68.6 44.8 68.1 44.8 68.1 42.8 70.6 42.8 70.6 45.3\"/>\n <path d=\"M65.3,44.8h-2.9v-2h2.9v2ZM59.6,44.8h-2.9v-2h2.9v2ZM53.9,44.8h-2.9v-2h2.9v2ZM48.2,44.8h-2.9v-2h2.9v2ZM42.4,44.8h-2.9v-2h2.9v2ZM36.7,44.8h-2.9v-2h2.9v2ZM31,44.8h-2.9v-2h2.9v2ZM25.3,44.8h-2.9v-2h2.9v2ZM19.6,44.8h-2.9v-2h2.9v2ZM13.9,44.8h-2.9v-2h2.9v2ZM8.2,44.8h-2.9v-2h2.9v2Z\"/>\n <polygon points=\"2 45.3 0 45.3 0 42.8 2.5 42.8 2.5 44.8 2 44.8 2 45.3\"/>\n <path d=\"M2,56.3H0v-2.7h2v2.7ZM2,50.8H0v-2.7h2v2.7Z\"/>\n <polygon points=\"2.5 61.5 0 61.5 0 59 2 59 2 59.5 2.5 59.5 2.5 61.5\"/>\n <path d=\"M65.3,61.5h-2.9v-2h2.9v2ZM59.6,61.5h-2.9v-2h2.9v2ZM53.9,61.5h-2.9v-2h2.9v2ZM48.2,61.5h-2.9v-2h2.9v2ZM42.4,61.5h-2.9v-2h2.9v2ZM36.7,61.5h-2.9v-2h2.9v2ZM31,61.5h-2.9v-2h2.9v2ZM25.3,61.5h-2.9v-2h2.9v2ZM19.6,61.5h-2.9v-2h2.9v2ZM13.9,61.5h-2.9v-2h2.9v2ZM8.2,61.5h-2.9v-2h2.9v2Z\"/>\n <polygon points=\"70.6 61.5 68.1 61.5 68.1 59.5 68.6 59.5 68.6 59 70.6 59 70.6 61.5\"/>\n <path d=\"M70.6,56.3h-2v-2.7h2v2.7ZM70.6,50.8h-2v-2.7h2v2.7Z\"/>\n </g>\n <path d=\"M68.6,23.7v13.7H2v-13.7h66.6M70.6,21.7H0v17.7h70.6v-17.7h0Z\"/>\n <path d=\"M68.6,2v13.7H2V2h66.6M70.6,0H0v17.7h70.6V0h0Z\"/>\n</svg>`, bl = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 70.67 70.64\">\n <path d=\"M70.08,33.9l-9.75-9.75-2.83,2.83,6.33,6.33h-26.51V6.81l6.33,6.33,2.83-2.83L36.75.56c-.75-.75-2.08-.75-2.83,0l-9.75,9.75,2.83,2.83,6.33-6.33v26.5H6.83l6.33-6.33-2.83-2.83L.59,33.9c-.38.38-.59.88-.59,1.41s.21,1.04.59,1.41l9.75,9.75,2.83-2.83-6.33-6.33h26.5v26.51l-6.33-6.33-2.83,2.83,9.75,9.75c.38.38.88.59,1.41.59s1.04-.21,1.41-.59l9.75-9.75-2.83-2.83-6.33,6.33v-26.51h26.51l-6.33,6.33,2.83,2.83,9.75-9.75c.38-.38.59-.88.59-1.41s-.21-1.04-.59-1.41Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>`, kl = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\">\n <path d=\"M32,64C14.35,64,0,49.65,0,32S14.35,0,32,0s32,14.35,32,32-14.35,32-32,32ZM32,4c-15.44,0-28,12.56-28,28s12.56,28,28,28,28-12.56,28-28S47.44,4,32,4Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n <polygon points=\"18,20 18,44 46,32\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>\n`, Ml = '<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M8 13V3.5M4.5 7 8 3.5 11.5 7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>', Il = '<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M8 3v9.5M4.5 9 8 12.5 11.5 9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>', Tl = {\n add: pl,\n delete: gl,\n duplicate: wl,\n insertAbove: yl,\n insertBelow: xl,\n move: bl,\n moveUp: Ml,\n moveDown: Il,\n open: kl\n}, Dl = {\n key: 0,\n class: \"row-actions-dropdown\"\n}, $l = [\"aria-expanded\"], Cl = [\"disabled\", \"onClick\"], Sl = [\"innerHTML\"], Al = { class: \"action-label\" }, Ll = {\n key: 1,\n class: \"row-actions-icons\"\n}, Rl = [\"title\", \"aria-label\", \"disabled\", \"onClick\"], El = [\"innerHTML\"], tt = /* @__PURE__ */ ne({\n __name: \"ARowActions\",\n props: {\n rowIndex: {},\n store: {},\n config: {},\n position: {}\n },\n emits: [\"action\"],\n setup(e, { emit: t }) {\n const l = e, a = t, n = pe(\"actionsCell\"), o = pe(\"toggleButton\"), s = A(0), d = A(!1), r = A(!1), i = A({ top: 0, left: 0 }), h = {\n add: \"Add Record\",\n delete: \"Delete Record\",\n duplicate: \"Duplicate Record\",\n insertAbove: \"Insert Above\",\n insertBelow: \"Insert Below\",\n move: \"Move Record\",\n moveUp: \"Move Up\",\n moveDown: \"Move Down\",\n open: \"Open Record\"\n }, f = S(() => {\n const c = [], M = l.config.actions || {}, $ = [\n \"open\",\n \"moveUp\",\n \"moveDown\",\n \"duplicate\",\n \"insertAbove\",\n \"insertBelow\",\n \"add\",\n \"delete\",\n \"move\"\n ];\n for (const D of $) {\n const I = M[D];\n if (I === !1 || I === void 0) continue;\n let V = !0, O = h[D], R = Tl[D], F = !1;\n typeof I == \"object\" && (V = I.enabled !== !1, O = I.label || O, R = I.icon || R, I.disabled && (F = I.disabled(l.rowIndex, l.store))), V && c.push({ type: D, label: O, icon: R, disabled: F });\n }\n return c;\n }), x = S(() => {\n if (l.config.forceDropdown) return !0;\n const c = l.config.dropdownThreshold ?? 150;\n return c === 0 ? !1 : s.value > 0 && s.value < c;\n }), b = S(() => d.value ? r.value ? {\n position: \"fixed\",\n bottom: `${window.innerHeight - i.value.top}px`,\n left: `${i.value.left}px`,\n top: \"auto\"\n } : {\n position: \"fixed\",\n top: `${i.value.top}px`,\n left: `${i.value.left}px`\n } : {});\n lt(n, (c) => {\n const M = c[0];\n M && (s.value = M.contentRect.width);\n });\n const m = () => {\n d.value || p(), d.value = !d.value;\n }, p = () => {\n if (!o.value) return;\n const c = o.value.getBoundingClientRect(), M = window.innerHeight, $ = window.innerWidth, D = f.value.length * 40 + 16, I = 160, V = M - c.bottom, O = c.top;\n r.value = V < D && O > D;\n let R = c.left;\n R + I > $ && (R = Math.max(0, c.right - I)), i.value = {\n top: r.value ? c.top : c.bottom,\n left: R\n };\n };\n xt(n, () => {\n d.value = !1;\n });\n const u = (c, M) => {\n d.value = !1;\n const $ = l.config.actions?.[c];\n typeof $ == \"object\" && $.handler && $.handler(l.rowIndex, l.store) === !1 || a(\"action\", c, l.rowIndex, M);\n };\n return (c, M) => (g(), k(\"td\", {\n ref: \"actionsCell\",\n class: ue([\"atable-row-actions\", { \"sticky-column\": e.position === \"before-index\", \"dropdown-active\": d.value }])\n }, [\n x.value ? (g(), k(\"div\", Dl, [\n y(\"button\", {\n ref: \"toggleButton\",\n type: \"button\",\n class: \"row-actions-toggle\",\n \"aria-expanded\": d.value,\n \"aria-haspopup\": \"true\",\n onClick: se(m, [\"stop\"])\n }, [...M[0] || (M[0] = [\n y(\"span\", { class: \"dropdown-icon\" }, \"⋮\", -1)\n ])], 8, $l),\n _(y(\"div\", {\n class: ue([\"row-actions-menu\", { \"menu-flipped\": r.value }]),\n style: Ce(b.value),\n role: \"menu\"\n }, [\n (g(!0), k(X, null, we(f.value, ($) => (g(), k(\"button\", {\n key: $.type,\n type: \"button\",\n class: \"row-action-menu-item\",\n role: \"menuitem\",\n disabled: $.disabled,\n onClick: se((D) => u($.type, D), [\"stop\"])\n }, [\n y(\"span\", {\n class: \"action-icon\",\n innerHTML: $.icon\n }, null, 8, Sl),\n y(\"span\", Al, B($.label), 1)\n ], 8, Cl))), 128))\n ], 6), [\n [xe, d.value]\n ])\n ])) : (g(), k(\"div\", Ll, [\n (g(!0), k(X, null, we(f.value, ($) => (g(), k(\"button\", {\n key: $.type,\n type: \"button\",\n class: \"row-action-btn\",\n title: $.label,\n \"aria-label\": $.label,\n disabled: $.disabled,\n onClick: se((D) => u($.type, D), [\"stop\"])\n }, [\n y(\"span\", {\n class: \"action-icon\",\n innerHTML: $.icon\n }, null, 8, El)\n ], 8, Rl))), 128))\n ]))\n ], 2));\n }\n}), Hl = [\"tabindex\"], Vl = [\"tabindex\"], Bl = [\"colspan\"], Fl = /* @__PURE__ */ ne({\n __name: \"ARow\",\n props: {\n rowIndex: {},\n store: {},\n tabIndex: { default: () => -1 },\n addNavigation: { type: [Boolean, Object], default: !1 }\n },\n emits: [\"row:action\", \"row:click\"],\n setup(e, { emit: t }) {\n const l = t, a = pe(\"rowEl\"), n = S(() => e.store.isRowVisible(e.rowIndex)), o = S(() => e.store.getRowExpandSymbol(e.rowIndex)), s = S(() => e.store.config.clickable ?? !1), d = S(() => e.store.config.rowActions || { enabled: !1 }), r = S(() => d.value.enabled), i = S(() => d.value.position || \"before-index\"), h = S(() => e.store.config.view === \"list-expansion\" && !!e.store.display[e.rowIndex]?.expanded), f = S(() => {\n const p = e.store.config.view === \"uncounted\" ? 0 : 1, u = r.value ? 1 : 0;\n return e.store.columns.length + p + u;\n }), x = (p, u, c) => {\n l(\"row:action\", p, u, c);\n }, b = (p) => {\n const u = p.target;\n u.closest(\".atable-row-actions\") || u.closest(\".tree-index\") || u.closest(\".expansion-index\") || l(\"row:click\", e.rowIndex, p);\n }, m = e.store.config.view === \"list-expansion\";\n if (e.addNavigation || m) {\n let p = {};\n e.addNavigation === !0 ? p = { ...nt } : typeof e.addNavigation == \"object\" && (p = { ...nt, ...e.addNavigation }), m && !p[\"keydown.control.g\"] && (p[\"keydown.control.g\"] = (u) => {\n u.stopPropagation(), u.preventDefault(), e.store.toggleRowExpand(e.rowIndex);\n }), Yt([\n {\n selectors: a,\n handlers: p\n }\n ]);\n }\n return (p, u) => (g(), k(X, null, [\n _(y(\"tr\", at(p.$attrs, {\n ref: \"rowEl\",\n tabindex: e.tabIndex,\n class: [\"atable-row\", { \"atable-row-clickable\": s.value }],\n onClick: b\n }), [\n r.value && i.value === \"before-index\" ? (g(), me(tt, {\n key: 0,\n \"row-index\": e.rowIndex,\n store: e.store,\n config: d.value,\n position: i.value,\n onAction: x\n }, null, 8, [\"row-index\", \"store\", \"config\", \"position\"])) : W(\"\", !0),\n e.store.config.view !== \"uncounted\" ? Ie(p.$slots, \"index\", { key: 1 }, () => [\n e.store.config.view === \"list\" ? (g(), k(\"td\", {\n key: 0,\n tabIndex: -1,\n class: ue([\"list-index\", e.store.hasPinnedColumns ? \"sticky-index\" : \"\"])\n }, B(e.rowIndex + 1), 3)) : e.store.isTreeView ? (g(), k(\"td\", {\n key: 1,\n tabIndex: -1,\n class: ue([\"tree-index\", e.store.hasPinnedColumns ? \"sticky-index\" : \"\"]),\n onClick: u[0] || (u[0] = (c) => e.store.toggleRowExpand(e.rowIndex))\n }, B(o.value), 3)) : e.store.config.view === \"list-expansion\" ? (g(), k(\"td\", {\n key: 2,\n tabIndex: -1,\n class: ue([\"expansion-index\", e.store.hasPinnedColumns ? \"sticky-index\" : \"\"]),\n onClick: u[1] || (u[1] = (c) => e.store.toggleRowExpand(e.rowIndex))\n }, B(o.value), 3)) : W(\"\", !0)\n ], !0) : W(\"\", !0),\n r.value && i.value === \"after-index\" ? (g(), me(tt, {\n key: 2,\n \"row-index\": e.rowIndex,\n store: e.store,\n config: d.value,\n position: i.value,\n onAction: x\n }, null, 8, [\"row-index\", \"store\", \"config\", \"position\"])) : W(\"\", !0),\n Ie(p.$slots, \"default\", {}, void 0, !0),\n r.value && i.value === \"end\" ? (g(), me(tt, {\n key: 3,\n \"row-index\": e.rowIndex,\n store: e.store,\n config: d.value,\n position: i.value,\n onAction: x\n }, null, 8, [\"row-index\", \"store\", \"config\", \"position\"])) : W(\"\", !0)\n ], 16, Hl), [\n [xe, n.value]\n ]),\n h.value ? (g(), k(\"tr\", {\n key: 0,\n tabindex: e.tabIndex,\n class: \"atable-expanded-row\"\n }, [\n y(\"td\", {\n tabIndex: -1,\n colspan: f.value,\n class: \"atable-expanded-content\"\n }, [\n Ie(p.$slots, \"content\", {\n row: e.store.rows[e.rowIndex],\n rowIndex: e.rowIndex,\n store: e.store\n }, void 0, !0)\n ], 8, Bl)\n ], 8, Vl)) : W(\"\", !0)\n ], 64));\n }\n}), ln = /* @__PURE__ */ Ue(Fl, [[\"__scopeId\", \"data-v-4dd47763\"]]), vt = /* @__PURE__ */ new WeakMap(), Pl = {\n mounted(e, t) {\n const l = !t.modifiers.bubble;\n let a;\n if (typeof t.value == \"function\") a = xt(e, t.value, { capture: l });\n else {\n const [n, o] = t.value;\n a = xt(e, n, Object.assign({ capture: l }, o));\n }\n vt.set(e, a);\n },\n unmounted(e) {\n const t = vt.get(e);\n t && typeof t == \"function\" ? t() : t?.stop(), vt.delete(e);\n }\n}, Nl = { mounted(e, t) {\n typeof t.value == \"function\" ? lt(e, t.value) : lt(e, ...t.value);\n} };\nfunction Ol() {\n let e = !1;\n const t = he(!1);\n return (l, a) => {\n if (t.value = a.value, e) return;\n e = !0;\n const n = Jn(l, a.value);\n te(t, (o) => n.value = o);\n };\n}\nOl();\nconst Zl = { class: \"gantt-connection-overlay\" }, Ul = {\n class: \"connection-svg\",\n style: {\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n pointerEvents: \"none\",\n zIndex: 1\n }\n}, Gl = [\"d\", \"stroke-width\", \"onDblclick\"], Wl = [\"id\", \"d\", \"stroke\", \"stroke-width\", \"onDblclick\"], ql = 0.25, Je = 16, jl = /* @__PURE__ */ ne({\n __name: \"AGanttConnection\",\n props: {\n store: {}\n },\n emits: [\"connection:delete\"],\n setup(e, { emit: t }) {\n const l = t, a = S(() => e.store.connectionPaths.filter((s) => {\n const d = e.store.ganttBars.find((i) => i.id === s.from.barId), r = e.store.ganttBars.find((i) => i.id === s.to.barId);\n return d && r;\n })), n = (s) => {\n const d = e.store.connectionHandles.find(\n (O) => O.barId === s.from.barId && O.side === s.from.side\n ), r = e.store.connectionHandles.find(\n (O) => O.barId === s.to.barId && O.side === s.to.side\n );\n if (!d || !r) return \"\";\n const i = d.position.x + Je / 2, h = d.position.y + Je / 2, f = r.position.x + Je / 2, x = r.position.y + Je / 2, b = Math.abs(f - i), m = Math.max(b * ql, 50), p = i + (s.from.side === \"left\" ? -m : m), u = f + (s.to.side === \"left\" ? -m : m), c = { x: 0.5 * i + 0.5 * p, y: 0.5 * h + 0.5 * h }, M = { x: 0.5 * p + 0.5 * u, y: 0.5 * h + 0.5 * x }, $ = { x: 0.5 * u + 0.5 * f, y: 0.5 * x + 0.5 * x }, D = { x: 0.5 * c.x + 0.5 * M.x, y: 0.5 * c.y + 0.5 * M.y }, I = { x: 0.5 * M.x + 0.5 * $.x, y: 0.5 * M.y + 0.5 * $.y }, V = { x: 0.5 * D.x + 0.5 * I.x, y: 0.5 * D.y + 0.5 * I.y };\n return `M ${i} ${h} Q ${p} ${h}, ${V.x} ${V.y} Q ${u} ${x}, ${f} ${x}`;\n }, o = (s) => {\n e.store.deleteConnection(s.id) && l(\"connection:delete\", s);\n };\n return (s, d) => (g(), k(\"div\", Zl, [\n (g(), k(\"svg\", Ul, [\n d[0] || (d[0] = y(\"defs\", null, [\n y(\"path\", {\n id: \"arrowhead\",\n d: \"M 0 -7 L 20 0 L 0 7Z\",\n stroke: \"black\",\n \"stroke-width\": \"1\",\n fill: \"currentColor\"\n }),\n y(\"marker\", {\n id: \"arrowhead-marker\",\n markerWidth: \"10\",\n markerHeight: \"7\",\n refX: \"5\",\n refY: \"3.5\",\n orient: \"auto\",\n markerUnits: \"strokeWidth\"\n }, [\n y(\"polygon\", {\n points: \"0 0, 10 3.5, 0 7\",\n fill: \"currentColor\"\n })\n ])\n ], -1)),\n (g(!0), k(X, null, we(a.value, (r) => (g(), k(\"path\", {\n key: `${r.id}-hitbox`,\n d: n(r),\n stroke: \"transparent\",\n \"stroke-width\": (r.style?.width || 2) + 10,\n fill: \"none\",\n class: \"connection-hitbox\",\n onDblclick: (i) => o(r)\n }, null, 40, Gl))), 128)),\n (g(!0), k(X, null, we(a.value, (r) => (g(), k(\"path\", {\n id: r.id,\n key: r.id,\n d: n(r),\n stroke: r.style?.color || \"#666\",\n \"stroke-width\": r.style?.width || 2,\n fill: \"none\",\n \"marker-mid\": \"url(#arrowhead-marker)\",\n class: \"connection-path animated-path\",\n onDblclick: (i) => o(r)\n }, null, 40, Wl))), 128))\n ]))\n ]));\n }\n}), zl = /* @__PURE__ */ Ue(jl, [[\"__scopeId\", \"data-v-d5929c98\"]]), _l = { class: \"column-filter\" }, Xl = {\n key: 2,\n class: \"checkbox-filter\"\n}, Yl = [\"value\"], Kl = {\n key: 5,\n class: \"date-range-filter\"\n}, Jl = /* @__PURE__ */ ne({\n __name: \"ATableColumnFilter\",\n props: {\n column: {},\n colIndex: {},\n store: {}\n },\n setup(e) {\n const t = {\n text: \"text\",\n number: \"number\",\n boolean: \"checkbox\",\n date: \"date\",\n datetime: \"dateRange\",\n select: \"select\",\n code: \"text\",\n link: \"text\",\n attach: \"text\"\n }, l = A(\"\"), a = Tt({\n startValue: \"\",\n endValue: \"\"\n }), n = S(() => {\n if (e.column.filterType) return e.column.filterType;\n const h = tn(e.column.component);\n return h ? t[h] : \"text\";\n }), o = (h) => {\n if (h.filterOptions) return h.filterOptions;\n const f = /* @__PURE__ */ new Set();\n return e.store.rows.forEach((x) => {\n const b = x[h.name];\n b != null && b !== \"\" && f.add(b);\n }), Array.from(f).map((x) => ({\n value: x,\n label: String(x)\n }));\n }, s = S(() => !!(l.value || a.startValue || a.endValue)), d = (h) => {\n !h && n.value !== \"checkbox\" ? (e.store.clearFilter(e.colIndex), l.value = \"\") : (l.value = h, e.store.setFilter(e.colIndex, { value: h }));\n }, r = (h, f) => {\n h === \"start\" ? a.startValue = f : a.endValue = f, !a.startValue && !a.endValue ? e.store.clearFilter(e.colIndex) : e.store.setFilter(e.colIndex, {\n value: null,\n startValue: a.startValue,\n endValue: a.endValue\n });\n }, i = () => {\n l.value = \"\", a.startValue = \"\", a.endValue = \"\", e.store.clearFilter(e.colIndex);\n };\n return (h, f) => (g(), k(\"div\", _l, [\n n.value === \"text\" ? _((g(), k(\"input\", {\n key: 0,\n \"onUpdate:modelValue\": f[0] || (f[0] = (x) => l.value = x),\n type: \"text\",\n class: \"filter-input\",\n onInput: f[1] || (f[1] = (x) => d(l.value))\n }, null, 544)), [\n [ge, l.value]\n ]) : n.value === \"number\" ? _((g(), k(\"input\", {\n key: 1,\n \"onUpdate:modelValue\": f[2] || (f[2] = (x) => l.value = x),\n type: \"number\",\n class: \"filter-input\",\n onInput: f[3] || (f[3] = (x) => d(l.value))\n }, null, 544)), [\n [ge, l.value]\n ]) : n.value === \"checkbox\" ? (g(), k(\"label\", Xl, [\n _(y(\"input\", {\n \"onUpdate:modelValue\": f[4] || (f[4] = (x) => l.value = x),\n type: \"checkbox\",\n class: \"filter-checkbox\",\n onChange: f[5] || (f[5] = (x) => d(l.value))\n }, null, 544), [\n [jt, l.value]\n ]),\n y(\"span\", null, B(e.column.label), 1)\n ])) : n.value === \"select\" ? _((g(), k(\"select\", {\n key: 3,\n \"onUpdate:modelValue\": f[6] || (f[6] = (x) => l.value = x),\n class: \"filter-select\",\n onChange: f[7] || (f[7] = (x) => d(l.value))\n }, [\n f[15] || (f[15] = y(\"option\", { value: \"\" }, \"All\", -1)),\n (g(!0), k(X, null, we(o(e.column), (x) => (g(), k(\"option\", {\n key: x.value || x,\n value: x.value || x\n }, B(x.label || x), 9, Yl))), 128))\n ], 544)), [\n [zt, l.value]\n ]) : n.value === \"date\" ? _((g(), k(\"input\", {\n key: 4,\n \"onUpdate:modelValue\": f[8] || (f[8] = (x) => l.value = x),\n type: \"date\",\n class: \"filter-input\",\n onChange: f[9] || (f[9] = (x) => d(l.value))\n }, null, 544)), [\n [ge, l.value]\n ]) : n.value === \"dateRange\" ? (g(), k(\"div\", Kl, [\n _(y(\"input\", {\n \"onUpdate:modelValue\": f[10] || (f[10] = (x) => a.startValue = x),\n type: \"date\",\n class: \"filter-input\",\n onChange: f[11] || (f[11] = (x) => r(\"start\", a.startValue))\n }, null, 544), [\n [ge, a.startValue]\n ]),\n f[16] || (f[16] = y(\"span\", { class: \"date-separator\" }, \"-\", -1)),\n _(y(\"input\", {\n \"onUpdate:modelValue\": f[12] || (f[12] = (x) => a.endValue = x),\n type: \"date\",\n class: \"filter-input\",\n onChange: f[13] || (f[13] = (x) => r(\"end\", a.endValue))\n }, null, 544), [\n [ge, a.endValue]\n ])\n ])) : n.value === \"component\" && e.column.filterComponent ? (g(), me(Ze(e.column.filterComponent), {\n key: 6,\n value: l.value,\n column: e.column,\n \"col-index\": e.colIndex,\n store: e.store,\n \"onUpdate:value\": f[14] || (f[14] = (x) => d(x))\n }, null, 40, [\"value\", \"column\", \"col-index\", \"store\"])) : W(\"\", !0),\n s.value ? (g(), k(\"button\", {\n key: 7,\n class: \"clear-btn\",\n title: \"Clear\",\n onClick: i\n }, \"×\")) : W(\"\", !0)\n ]));\n }\n}), Ql = /* @__PURE__ */ Ue(Jl, [[\"__scopeId\", \"data-v-b57e3235\"]]), eo = { key: 0 }, to = {\n class: \"atable-header-row\",\n tabindex: \"-1\"\n}, no = {\n key: 2,\n class: \"row-actions-header\"\n}, lo = [\"data-colindex\", \"onClick\"], oo = {\n key: 3,\n class: \"row-actions-header\"\n}, ao = {\n key: 0,\n class: \"atable-filters-row\"\n}, so = {\n key: 2,\n class: \"row-actions-header\"\n}, ro = {\n key: 3,\n class: \"row-actions-header\"\n}, on = /* @__PURE__ */ ne({\n __name: \"ATableHeader\",\n props: {\n columns: {},\n store: {}\n },\n setup(e) {\n const t = S(() => e.columns.filter((s) => s.filterable)), l = S(() => e.store.config.rowActions?.enabled ?? !1), a = S(() => e.store.config.rowActions?.position ?? \"before-index\"), n = (s) => e.store.sortByColumn(s), o = (s) => {\n for (const d of s) {\n if (d.borderBoxSize.length === 0) continue;\n const r = d.borderBoxSize[0].inlineSize, i = Number(d.target.dataset.colindex), h = e.store.columns[i]?.width;\n typeof h == \"number\" && h !== r && e.store.resizeColumn(i, r);\n }\n };\n return (s, d) => e.columns.length ? (g(), k(\"thead\", eo, [\n y(\"tr\", to, [\n l.value && a.value === \"before-index\" ? (g(), k(\"th\", {\n key: 0,\n class: ue([\"row-actions-header\", { \"sticky-column\": a.value === \"before-index\" }])\n }, null, 2)) : W(\"\", !0),\n e.store.zeroColumn ? (g(), k(\"th\", {\n key: 1,\n id: \"header-index\",\n class: ue([[\n e.store.hasPinnedColumns ? \"sticky-index\" : \"\",\n e.store.isTreeView ? \"tree-index\" : \"\",\n e.store.config.view === \"list-expansion\" ? \"list-expansion-index\" : \"\"\n ], \"list-index\"])\n }, null, 2)) : W(\"\", !0),\n l.value && a.value === \"after-index\" ? (g(), k(\"th\", no)) : W(\"\", !0),\n (g(!0), k(X, null, we(e.columns, (r, i) => _((g(), k(\"th\", {\n key: r.name,\n \"data-colindex\": i,\n tabindex: \"-1\",\n style: Ce(e.store.getHeaderCellStyle(r)),\n class: ue(`${r.pinned ? \"sticky-column\" : \"\"} ${r.sortable === !1 ? \"\" : \"cursor-pointer\"}`),\n onClick: (h) => r.sortable !== !1 ? n(i) : void 0\n }, [\n Ie(s.$slots, \"default\", {}, () => [\n kt(B(r.label || String.fromCharCode(i + 97).toUpperCase()), 1)\n ])\n ], 14, lo)), [\n [P(Nl), o]\n ])), 128)),\n l.value && a.value === \"end\" ? (g(), k(\"th\", oo)) : W(\"\", !0)\n ]),\n t.value.length > 0 ? (g(), k(\"tr\", ao, [\n l.value && a.value === \"before-index\" ? (g(), k(\"th\", {\n key: 0,\n class: ue([\"row-actions-header\", { \"sticky-column\": a.value === \"before-index\" }])\n }, null, 2)) : W(\"\", !0),\n e.store.zeroColumn ? (g(), k(\"th\", {\n key: 1,\n class: ue([[\n e.store.hasPinnedColumns ? \"sticky-index\" : \"\",\n e.store.isTreeView ? \"tree-index\" : \"\",\n e.store.config.view === \"list-expansion\" ? \"list-expansion-index\" : \"\"\n ], \"list-index\"])\n }, null, 2)) : W(\"\", !0),\n l.value && a.value === \"after-index\" ? (g(), k(\"th\", so)) : W(\"\", !0),\n (g(!0), k(X, null, we(e.columns, (r, i) => (g(), k(\"th\", {\n key: `filter-${r.name}`,\n class: ue(`${r.pinned ? \"sticky-column\" : \"\"}`),\n style: Ce(e.store.getHeaderCellStyle(r))\n }, [\n r.filterable ? (g(), me(Ql, {\n key: 0,\n column: r,\n \"col-index\": i,\n store: e.store\n }, null, 8, [\"column\", \"col-index\", \"store\"])) : W(\"\", !0)\n ], 6))), 128)),\n l.value && a.value === \"end\" ? (g(), k(\"th\", ro)) : W(\"\", !0)\n ])) : W(\"\", !0)\n ])) : W(\"\", !0);\n }\n}), an = /* @__PURE__ */ ne({\n __name: \"ATableModal\",\n props: {\n store: {}\n },\n setup(e) {\n const t = pe(\"amodal\"), { width: l, height: a } = Ne(t), n = S(() => {\n if (!(e.store.modal.height && e.store.modal.width && e.store.modal.left && e.store.modal.bottom)) return {};\n const o = e.store.modal.cell?.closest(\"table\");\n if (!o) return {};\n const s = o.offsetHeight || 0, d = o.offsetWidth || 0;\n let r = e.store.modal.cell?.offsetTop || 0;\n const i = o.querySelector(\"thead\")?.offsetHeight || 0;\n r += i, r = r + a.value < s ? r : r - (a.value + e.store.modal.height);\n let h = e.store.modal.cell?.offsetLeft || 0;\n return h = h + l.value <= d ? h : h - (l.value - e.store.modal.width), {\n left: `${h}px`,\n top: `${r}px`\n };\n });\n return (o, s) => (g(), k(\"div\", {\n ref: \"amodal\",\n class: \"amodal\",\n tabindex: \"-1\",\n style: Ce(n.value),\n onClick: s[0] || (s[0] = se(() => {\n }, [\"stop\"])),\n onInput: s[1] || (s[1] = se(() => {\n }, [\"stop\"]))\n }, [\n Ie(o.$slots, \"default\")\n ], 36));\n }\n});\nfunction io(e) {\n return e.filter((t) => !t.hidden && t.component).map(({ fieldname: t, hidden: l, ...a }) => {\n const n = Object.assign({ name: t }, a);\n return a.doctype && !a.cellComponent && (n.linkDoctype = a.doctype, a.format || (n.format = (o) => {\n if (o == null) return \"\";\n if (typeof o == \"object\") {\n const s = o.displayText ?? o.id ?? \"\";\n return typeof s == \"string\" || typeof s == \"number\" ? String(s) : \"\";\n }\n return String(o);\n })), n;\n });\n}\nconst uo = {\n class: \"atable-container\",\n style: { position: \"relative\" }\n}, co = /* @__PURE__ */ ne({\n __name: \"ATable\",\n props: /* @__PURE__ */ be({\n id: { default: \"\" },\n config: { default: () => new Object() },\n schema: { default: () => [] },\n linkResolver: { type: Function, default: void 0 }\n }, {\n rows: { required: !0 },\n rowsModifiers: {},\n columns: {},\n columnsModifiers: {}\n }),\n emits: /* @__PURE__ */ be([\"cellUpdate\", \"gantt:drag\", \"connection:event\", \"columns:update\", \"row:add\", \"row:click\", \"row:delete\", \"row:duplicate\", \"row:insert-above\", \"row:insert-below\", \"row:move\", \"row:open\"], [\"update:rows\", \"update:columns\"]),\n setup(e, { expose: t, emit: l }) {\n const a = Te(e, \"rows\"), n = Te(e, \"columns\"), o = l, s = pe(\"table\"), d = n.value?.length ? n.value : io(e.schema ?? []), r = wt(\"aformLinkResolver\", null), i = ol({\n columns: d,\n rows: a.value,\n id: e.id,\n config: e.config,\n linkResolver: e.linkResolver ?? r\n });\n i.$onAction(({ name: c, store: M, args: $, after: D }) => {\n if (c === \"setCellData\" || c === \"setCellText\") {\n const [I, V, O] = $, R = M.getCellData(I, V);\n D(() => {\n a.value = [...i.rows], o(\"cellUpdate\", { colIndex: I, rowIndex: V, newValue: O, oldValue: R });\n });\n } else if (c === \"updateGanttBar\") {\n const [I] = $;\n let V = !1;\n I.type === \"resize\" ? V = I.oldColspan !== I.newColspan : I.type === \"bar\" && (V = I.oldStart !== I.newStart || I.oldEnd !== I.newEnd), V && D(() => {\n o(\"gantt:drag\", I);\n });\n } else c === \"resizeColumn\" && D(() => {\n n.value = [...i.columns], o(\"columns:update\", [...i.columns]);\n });\n }), te(\n () => a.value,\n (c) => {\n JSON.stringify(c) !== JSON.stringify(i.rows) && (i.rows = [...c]);\n },\n { deep: !0 }\n ), te(\n n,\n (c) => {\n c && JSON.stringify(c) !== JSON.stringify(i.columns) && (i.columns = [...c], o(\"columns:update\", [...c]));\n },\n { deep: !0 }\n ), Le(() => {\n n.value?.some((c) => c.pinned) && (f(), i.isTreeView && Qt(s, f, { childList: !0, subtree: !0 }));\n });\n const h = S(() => i.columns.filter((c) => c.pinned).length), f = () => {\n const c = s.value, M = c?.rows[0], $ = c?.rows[1], D = M ? Array.from(M.cells) : [];\n for (const [I, V] of D.entries()) {\n const O = $?.cells[I];\n O && (V.style.width = `${O.offsetWidth}px`);\n }\n for (const I of c?.rows || []) {\n let V = 0;\n const O = [];\n for (const R of I.cells)\n (R.classList.contains(\"sticky-column\") || R.classList.contains(\"sticky-index\")) && (R.style.left = `${V}px`, V += R.offsetWidth, O.push(R));\n O.length > 0 && O[O.length - 1].classList.add(\"sticky-column-edge\");\n }\n };\n window.addEventListener(\"keydown\", (c) => {\n if (c.key === \"Escape\" && i.modal.visible) {\n i.modal.visible = !1;\n const M = i.modal.parent;\n M && st().then(() => M.focus());\n }\n });\n const x = (c) => {\n if (!c.gantt || h.value === 0)\n return i.columns;\n const M = [];\n for (let $ = 0; $ < h.value; $++) {\n const D = { ...i.columns[$] };\n D.originalIndex = $, M.push(D);\n }\n return M.push({\n ...i.columns[h.value],\n isGantt: !0,\n colspan: c.gantt?.colspan || i.columns.length - h.value,\n originalIndex: h.value,\n width: \"auto\"\n // TODO: refactor to API that can detect when data exists in a cell. Might have be custom and not generalizable\n }), M;\n }, b = (c) => {\n o(\"connection:event\", { type: \"create\", connection: c });\n }, m = (c) => {\n o(\"connection:event\", { type: \"delete\", connection: c });\n }, p = (c, M) => {\n const $ = i.rows[c];\n o(\"row:click\", { row: $, rowIndex: c, event: M });\n }, u = (c, M, $) => {\n switch (c) {\n case \"add\": {\n const D = i.addRow({}, M + 1), I = i.rows[D];\n a.value = [...i.rows], o(\"row:add\", { rowIndex: D, row: I });\n break;\n }\n case \"delete\": {\n const D = i.deleteRow(M);\n D && (a.value = [...i.rows], o(\"row:delete\", { rowIndex: M, row: D }));\n break;\n }\n case \"duplicate\": {\n const D = i.duplicateRow(M);\n if (D >= 0) {\n const I = i.rows[D];\n a.value = [...i.rows], o(\"row:duplicate\", { sourceIndex: M, newIndex: D, row: I });\n }\n break;\n }\n case \"insertAbove\": {\n const D = i.insertRowAbove(M), I = i.rows[D];\n a.value = [...i.rows], o(\"row:insert-above\", { targetIndex: M, newIndex: D, row: I });\n break;\n }\n case \"insertBelow\": {\n const D = i.insertRowBelow(M), I = i.rows[D];\n a.value = [...i.rows], o(\"row:insert-below\", { targetIndex: M, newIndex: D, row: I });\n break;\n }\n case \"move\": {\n o(\"row:move\", { fromIndex: M, toIndex: -1 });\n break;\n }\n case \"moveUp\": {\n M > 0 && i.moveRow(M, M - 1) && (a.value = [...i.rows], o(\"row:move\", { fromIndex: M, toIndex: M - 1 }));\n break;\n }\n case \"moveDown\": {\n M < i.rows.length - 1 && i.moveRow(M, M + 1) && (a.value = [...i.rows], o(\"row:move\", { fromIndex: M, toIndex: M + 1 }));\n break;\n }\n case \"open\": {\n const D = i.rows[M];\n o(\"row:open\", { row: D, rowIndex: M, event: $ });\n break;\n }\n }\n };\n return t({\n store: i,\n createConnection: i.createConnection,\n deleteConnection: i.deleteConnection,\n getConnectionsForBar: i.getConnectionsForBar,\n getHandlesForBar: i.getHandlesForBar,\n // Row action methods\n addRow: i.addRow,\n deleteRow: i.deleteRow,\n duplicateRow: i.duplicateRow,\n insertRowAbove: i.insertRowAbove,\n insertRowBelow: i.insertRowBelow,\n moveRow: i.moveRow\n }), (c, M) => (g(), k(\"div\", uo, [\n _((g(), k(\"table\", {\n ref: \"table\",\n class: \"atable\",\n style: Ce({\n width: P(i).config.fullWidth ? \"100%\" : \"auto\"\n })\n }, [\n Ie(c.$slots, \"header\", { data: P(i) }, () => [\n ze(on, {\n columns: P(i).columns,\n store: P(i)\n }, null, 8, [\"columns\", \"store\"])\n ], !0),\n y(\"tbody\", null, [\n Ie(c.$slots, \"body\", { data: P(i) }, () => [\n (g(!0), k(X, null, we(P(i).filteredRows, ($, D) => (g(), me(ln, {\n key: `${$.originalIndex}-${D}`,\n row: $,\n \"row-index\": $.originalIndex,\n store: P(i),\n \"onRow:action\": u,\n \"onRow:click\": p\n }, {\n default: Ft(() => [\n (g(!0), k(X, null, we(x($), (I, V) => (g(), k(X, {\n key: I.name\n }, [\n I.isGantt ? (g(), me(Ze(I.ganttComponent || \"AGanttCell\"), {\n key: 0,\n store: P(i),\n \"columns-count\": P(i).columns.length - h.value,\n color: $.gantt?.color,\n start: $.gantt?.startIndex,\n end: $.gantt?.endIndex,\n colspan: I.colspan,\n pinned: I.pinned,\n \"row-index\": $.originalIndex,\n \"col-index\": I.originalIndex ?? V,\n style: Ce({\n textAlign: I?.align || \"center\",\n minWidth: I?.width || \"40ch\",\n width: P(i).config.fullWidth ? \"auto\" : null\n }),\n \"onConnection:create\": b\n }, null, 40, [\"store\", \"columns-count\", \"color\", \"start\", \"end\", \"colspan\", \"pinned\", \"row-index\", \"col-index\", \"style\"])) : (g(), me(Ze(I.cellComponent || \"ACell\"), {\n key: 1,\n store: P(i),\n pinned: I.pinned,\n \"row-index\": $.originalIndex,\n \"col-index\": V,\n style: Ce({\n textAlign: I?.align || \"center\",\n width: P(i).config.fullWidth ? \"auto\" : null\n }),\n spellcheck: \"false\"\n }, null, 8, [\"store\", \"pinned\", \"row-index\", \"col-index\", \"style\"]))\n ], 64))), 128))\n ]),\n _: 2\n }, 1032, [\"row\", \"row-index\", \"store\"]))), 128))\n ], !0)\n ]),\n Ie(c.$slots, \"footer\", { data: P(i) }, void 0, !0),\n Ie(c.$slots, \"modal\", { data: P(i) }, () => [\n _(ze(an, { store: P(i) }, {\n default: Ft(() => [\n (g(), me(Ze(P(i).modal.component), at({\n key: `${P(i).modal.rowIndex}:${P(i).modal.colIndex}`,\n \"col-index\": P(i).modal.colIndex,\n \"row-index\": P(i).modal.rowIndex,\n store: P(i)\n }, P(i).modal.componentProps), null, 16, [\"col-index\", \"row-index\", \"store\"]))\n ]),\n _: 1\n }, 8, [\"store\"]), [\n [xe, P(i).modal.visible]\n ])\n ], !0)\n ], 4)), [\n [P(Pl), P(i).closeModal]\n ]),\n P(i).isGanttView && P(i).isDependencyGraphEnabled ? (g(), me(zl, {\n key: 0,\n store: P(i),\n \"onConnection:delete\": m\n }, null, 8, [\"store\"])) : W(\"\", !0)\n ]));\n }\n}), vo = /* @__PURE__ */ Ue(co, [[\"__scopeId\", \"data-v-4bfbbeab\"]]), fo = {}, mo = { class: \"aloading\" }, ho = { class: \"aloading-header\" };\nfunction po(e, t) {\n return g(), k(\"div\", mo, [\n y(\"h2\", ho, [\n Ie(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = y(\"div\", { class: \"aloading-bar\" }, null, -1))\n ]);\n}\nconst go = /* @__PURE__ */ Ue(fo, [[\"render\", po], [\"__scopeId\", \"data-v-a930a25b\"]]), wo = {}, yo = { class: \"aloading\" }, xo = { class: \"aloading-header\" };\nfunction bo(e, t) {\n return g(), k(\"div\", yo, [\n y(\"h2\", xo, [\n Ie(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = y(\"div\", { class: \"aloading-bar\" }, null, -1))\n ]);\n}\nconst ko = /* @__PURE__ */ Ue(wo, [[\"render\", bo], [\"__scopeId\", \"data-v-e1165876\"]]);\nfunction Mo(e) {\n e.component(\"ACell\", il), e.component(\"AGanttCell\", hl), e.component(\"ARow\", ln), e.component(\"ARowActions\", tt), e.component(\"ATable\", vo), e.component(\"ATableHeader\", on), e.component(\"ATableLoading\", go), e.component(\"ATableLoadingBar\", ko), e.component(\"ATableModal\", an);\n}\nconst Io = { class: \"aform_form-element\" }, To = { class: \"aform_field-label\" }, Do = { class: \"aform_display-value\" }, $o = [\"for\"], Co = { class: \"aform_checkbox-container aform_input-field\" }, So = [\"id\", \"disabled\", \"required\"], Ao = [\"innerHTML\"], Lo = /* @__PURE__ */ ne({\n __name: \"ACheckbox\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: { type: [Boolean, String, Array, Set] },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = S(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), l = Te(e, \"modelValue\");\n return (a, n) => (g(), k(\"div\", Io, [\n e.mode === \"display\" ? (g(), k(X, { key: 0 }, [\n y(\"label\", To, B(e.label), 1),\n y(\"span\", Do, B(l.value ? \"✓\" : \"✗\"), 1)\n ], 64)) : (g(), k(X, { key: 1 }, [\n y(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, B(e.label), 9, $o),\n y(\"span\", Co, [\n _(y(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": n[0] || (n[0] = (o) => l.value = o),\n type: \"checkbox\",\n class: \"aform_checkbox\",\n disabled: e.mode === \"read\",\n required: e.required\n }, null, 8, So), [\n [jt, l.value]\n ])\n ]),\n _(y(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, Ao), [\n [xe, t.value]\n ])\n ], 64))\n ]));\n }\n}), ke = (e, t) => {\n const l = e.__vccOpts || e;\n for (const [a, n] of t)\n l[a] = n;\n return l;\n}, Ro = /* @__PURE__ */ ke(Lo, [[\"__scopeId\", \"data-v-ca06741d\"]]);\nfunction sn(e, t) {\n return Mt() ? (It(e, t), !0) : !1;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Wt() {\n const e = /* @__PURE__ */ new Set(), t = (o) => {\n e.delete(o);\n };\n return {\n on: (o) => {\n e.add(o);\n const s = () => t(o);\n return sn(s), { off: s };\n },\n off: t,\n trigger: (...o) => Promise.all(Array.from(e).map((s) => s(...o))),\n clear: () => {\n e.clear();\n }\n };\n}\nconst rn = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Eo = Object.prototype.toString, Ho = (e) => Eo.call(e) === \"[object Object]\", je = () => {\n}, Vo = (e, t) => Object.prototype.hasOwnProperty.call(e, t);\nfunction Bo(...e) {\n if (e.length !== 1) return _t(...e);\n const t = e[0];\n return typeof t == \"function\" ? St(Ct(() => ({\n get: t,\n set: je\n }))) : A(t);\n}\nfunction ft(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction Fo(e, t, l) {\n return te(e, t, {\n ...l,\n immediate: !0\n });\n}\nconst un = rn ? window : void 0, Po = rn ? window.document : void 0;\nfunction Ge(e) {\n var t;\n const l = H(e);\n return (t = l?.$el) !== null && t !== void 0 ? t : l;\n}\nfunction mt(...e) {\n const t = (a, n, o, s) => (a.addEventListener(n, o, s), () => a.removeEventListener(n, o, s)), l = S(() => {\n const a = ft(H(e[0])).filter((n) => n != null);\n return a.every((n) => typeof n != \"string\") ? a : void 0;\n });\n return Fo(() => {\n var a, n;\n return [\n (a = (n = l.value) === null || n === void 0 ? void 0 : n.map((o) => Ge(o))) !== null && a !== void 0 ? a : [un].filter((o) => o != null),\n ft(H(l.value ? e[1] : e[0])),\n ft(P(l.value ? e[2] : e[1])),\n H(l.value ? e[3] : e[2])\n ];\n }, ([a, n, o, s], d, r) => {\n if (!a?.length || !n?.length || !o?.length) return;\n const i = Ho(s) ? { ...s } : s, h = a.flatMap((f) => n.flatMap((x) => o.map((b) => t(f, x, b, i))));\n r(() => {\n h.forEach((f) => f());\n });\n }, { flush: \"post\" });\n}\nfunction ot(e, t, l = {}) {\n const { window: a = un, ignore: n = [], capture: o = !0, detectIframe: s = !1, controls: d = !1 } = l;\n if (!a) return d ? {\n stop: je,\n cancel: je,\n trigger: je\n } : je;\n let r = !0;\n const i = (u) => H(n).some((c) => {\n if (typeof c == \"string\") return Array.from(a.document.querySelectorAll(c)).some((M) => M === u.target || u.composedPath().includes(M));\n {\n const M = Ge(c);\n return M && (u.target === M || u.composedPath().includes(M));\n }\n });\n function h(u) {\n const c = H(u);\n return c && c.$.subTree.shapeFlag === 16;\n }\n function f(u, c) {\n const M = H(u), $ = M.$.subTree && M.$.subTree.children;\n return $ == null || !Array.isArray($) ? !1 : $.some((D) => D.el === c.target || c.composedPath().includes(D.el));\n }\n const x = (u) => {\n const c = Ge(e);\n if (u.target != null && !(!(c instanceof Element) && h(e) && f(e, u)) && !(!c || c === u.target || u.composedPath().includes(c))) {\n if (\"detail\" in u && u.detail === 0 && (r = !i(u)), !r) {\n r = !0;\n return;\n }\n t(u);\n }\n };\n let b = !1;\n const m = [\n mt(a, \"click\", (u) => {\n b || (b = !0, setTimeout(() => {\n b = !1;\n }, 0), x(u));\n }, {\n passive: !0,\n capture: o\n }),\n mt(a, \"pointerdown\", (u) => {\n const c = Ge(e);\n r = !i(u) && !!(c && !u.composedPath().includes(c));\n }, { passive: !0 }),\n s && mt(a, \"blur\", (u) => {\n setTimeout(() => {\n var c;\n const M = Ge(e);\n ((c = a.document.activeElement) === null || c === void 0 ? void 0 : c.tagName) === \"IFRAME\" && !M?.contains(a.document.activeElement) && t(u);\n }, 0);\n }, { passive: !0 })\n ].filter(Boolean), p = () => m.forEach((u) => u());\n return d ? {\n stop: p,\n cancel: () => {\n r = !1;\n },\n trigger: (u) => {\n r = !0, x(u), r = !1;\n }\n } : p;\n}\nconst No = {\n multiple: !0,\n accept: \"*\",\n reset: !1,\n directory: !1\n};\nfunction Oo(e) {\n if (!e) return null;\n if (e instanceof FileList) return e;\n const t = new DataTransfer();\n for (const l of e) t.items.add(l);\n return t.files;\n}\nfunction Zo(e = {}) {\n const { document: t = Po } = e, l = A(Oo(e.initialFiles)), { on: a, trigger: n } = /* @__PURE__ */ Wt(), { on: o, trigger: s } = /* @__PURE__ */ Wt(), d = S(() => {\n var f;\n const x = (f = Ge(e.input)) !== null && f !== void 0 ? f : t ? t.createElement(\"input\") : void 0;\n return x && (x.type = \"file\", x.onchange = (b) => {\n l.value = b.target.files, n(l.value);\n }, x.oncancel = () => {\n s();\n }), x;\n }), r = () => {\n l.value = null, d.value && d.value.value && (d.value.value = \"\", n(null));\n }, i = (f) => {\n const x = d.value;\n x && (x.multiple = H(f.multiple), x.accept = H(f.accept), x.webkitdirectory = H(f.directory), Vo(f, \"capture\") && (x.capture = H(f.capture)));\n }, h = (f) => {\n const x = d.value;\n if (!x) return;\n const b = {\n ...No,\n ...e,\n ...f\n };\n i(b), H(b.reset) && r(), x.click();\n };\n return $t(() => {\n i(e);\n }), {\n files: St(l),\n open: h,\n reset: r,\n onCancel: o,\n onChange: a\n };\n}\nfunction ht(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nconst pt = /* @__PURE__ */ new WeakMap();\nfunction Uo(e, t = !1) {\n const l = he(t);\n let a = \"\";\n te(Bo(e), (s) => {\n const d = ht(H(s));\n if (d) {\n const r = d;\n if (pt.get(r) || pt.set(r, r.style.overflow), r.style.overflow !== \"hidden\" && (a = r.style.overflow), r.style.overflow === \"hidden\") return l.value = !0;\n if (l.value) return r.style.overflow = \"hidden\";\n }\n }, { immediate: !0 });\n const n = () => {\n const s = ht(H(e));\n !s || l.value || (s.style.overflow = \"hidden\", l.value = !0);\n }, o = () => {\n const s = ht(H(e));\n !s || !l.value || (s.style.overflow = a, pt.delete(s), l.value = !1);\n };\n return sn(o), S({\n get() {\n return l.value;\n },\n set(s) {\n s ? n() : o();\n }\n });\n}\nconst Go = { class: \"aform_display-value\" }, Wo = { key: 0 }, qo = [\"innerHTML\"], jo = {\n ref: \"datepicker\",\n class: \"adatepicker\",\n tabindex: \"0\"\n}, zo = {\n colspan: \"5\",\n tabindex: -1\n}, _o = { key: 0 }, Xo = { colspan: \"7\" }, Yo = { class: \"date-input\" }, Ko = [\"value\"], Jo = [\"value\"], Qo = [\"onClick\", \"onKeydown\", \"onMouseover\"], ea = [\"innerHTML\"], ta = 6, qt = 7, na = /* @__PURE__ */ ne({\n __name: \"ADatePicker\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean, default: !1 },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: { default: /* @__PURE__ */ new Date() },\n modelModifiers: {}\n }),\n emits: /* @__PURE__ */ be([\"get-date\"], [\"update:modelValue\"]),\n setup(e, { expose: t, emit: l }) {\n const a = S(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), n = Te(e, \"modelValue\"), o = A(new Date(n.value)), s = A(o.value.getMonth()), d = A(o.value.getFullYear()), r = A([]), i = A(new Date(n.value)), h = A(null), f = A(null), x = pe(\"start-date-input\"), b = pe(\"end-date-input\"), m = l, p = S(() => new Date(d.value, s.value, 1).toLocaleDateString(void 0, {\n year: \"numeric\",\n month: \"long\"\n })), u = S(() => h.value != null ? M(h.value) : \"\"), c = S(() => f.value != null ? M(f.value) : \"\"), M = (T) => fe(T) ? T.getMonth() + 1 + \"/\" + T.getDate() + \"/\" + T.getFullYear() : \"\", $ = (T) => {\n const L = /* @__PURE__ */ new Date();\n return s.value !== L.getMonth() ? !1 : L.toDateString() === new Date(T).toDateString();\n }, D = (T) => new Date(T).toDateString() === new Date(o.value).toDateString(), I = (T) => {\n const L = h.value;\n return fe(L) ? new Date(T).toDateString() === L.toDateString() : !1;\n }, V = (T) => {\n const L = f.value;\n return fe(L) ? new Date(T).toDateString() === L.toDateString() : !1;\n }, O = (T, L) => (T - 1) * qt + L, R = (T) => {\n const L = h.value;\n if (!fe(L)) return !1;\n const G = new Date(T), N = f.value, ae = fe(N) ? N : new Date(i.value);\n return G.getTime() > L.getTime() && G.getTime() < ae.getTime();\n }, F = (T, L) => r.value[O(T, L)], Y = (T) => {\n i.value = new Date(r.value[T]);\n }, J = () => {\n r.value = [];\n const T = new Date(d.value, s.value, 1), L = T.getDay(), G = T.setDate(T.getDate() - L);\n for (const N of Array(43).keys())\n r.value.push(G + N * 864e5);\n }, le = () => d.value -= 1, re = () => d.value += 1, De = () => {\n s.value == 0 ? (s.value = 11, le()) : s.value -= 1;\n }, Me = () => {\n s.value == 11 ? (s.value = 0, re()) : s.value += 1;\n }, He = (T) => {\n T.key === \"Enter\" && Se();\n }, Ve = (T) => {\n if (n.value = o.value = new Date(r.value[T]), e.selectRange) {\n const L = h.value;\n L == null || f.value != null ? (h.value = n.value, f.value = null) : fe(L) && o.value.getTime() < L.getTime() ? (f.value = null, h.value = n.value) : f.value = n.value, x.value && (x.value.value = M(h.value) ?? \"\"), b.value && (b.value.value = M(f.value) ?? \"\");\n }\n E();\n }, Pe = () => {\n const T = h.value, L = f.value;\n fe(L) && fe(T) && L.getTime() < T.getTime() && ([h.value, f.value] = [L, T]);\n }, fe = (T) => T instanceof Date && !isNaN(T.getTime()), Se = () => {\n if (x.value?.value == \"\")\n h.value = null;\n else if (x.value) {\n const T = new Date(x.value.value);\n h.value = fe(T) ? T : null;\n }\n if (b.value?.value == \"\")\n f.value = null;\n else if (b.value) {\n const T = new Date(b.value.value);\n f.value = fe(T) ? T : null;\n }\n fe(h.value) && (fe(f.value) && Pe(), o.value = h.value), E();\n }, E = () => {\n m(\"get-date\", {\n start: e.selectRange ? h.value : null,\n end: e.selectRange ? f.value : null,\n selected: o.value\n });\n };\n return Le(async () => {\n J(), await st();\n const T = document.getElementsByClassName(\"selectedDate\");\n if (T.length > 0)\n T[0].focus();\n else {\n const L = document.getElementsByClassName(\"todaysDate\");\n L.length > 0 && L[0].focus();\n }\n }), te([s, d], J), t({ currentMonth: s, currentYear: d, selectedDate: o }), (T, L) => e.mode === \"display\" || e.mode === \"read\" ? (g(), k(X, { key: 0 }, [\n y(\"span\", Go, B(n.value ? new Date(n.value).toLocaleDateString() : \"\"), 1),\n e.label ? (g(), k(\"label\", Wo, B(e.label), 1)) : W(\"\", !0),\n _(y(\"p\", {\n class: \"aform_error\",\n innerHTML: a.value\n }, null, 8, qo), [\n [xe, a.value]\n ])\n ], 64)) : (g(), k(X, { key: 1 }, [\n y(\"div\", jo, [\n y(\"table\", null, [\n y(\"tbody\", null, [\n y(\"tr\", null, [\n y(\"td\", {\n id: \"previous-month-btn\",\n tabindex: -1,\n onClick: De\n }, \"<\"),\n y(\"th\", zo, B(p.value), 1),\n y(\"td\", {\n id: \"next-month-btn\",\n tabindex: -1,\n onClick: Me\n }, \">\")\n ]),\n e.selectRange ? (g(), k(\"tr\", _o, [\n y(\"td\", Xo, [\n y(\"div\", Yo, [\n y(\"input\", {\n ref: \"start-date-input\",\n value: u.value,\n class: \"date-input-start aform_input-field\",\n type: \"text\",\n placeholder: \"start date\",\n onBlur: L[0] || (L[0] = (G) => Se()),\n onKeydown: He\n }, null, 40, Ko),\n L[2] || (L[2] = y(\"div\", null, \"-\", -1)),\n y(\"input\", {\n ref: \"end-date-input\",\n value: c.value,\n class: \"date-input-end aform_input-field\",\n type: \"text\",\n placeholder: \"end date\",\n onBlur: L[1] || (L[1] = (G) => Se()),\n onKeydown: He\n }, null, 40, Jo)\n ])\n ])\n ])) : W(\"\", !0),\n L[3] || (L[3] = y(\"tr\", { class: \"days-header\" }, [\n y(\"td\", null, \"M\"),\n y(\"td\", null, \"T\"),\n y(\"td\", null, \"W\"),\n y(\"td\", null, \"T\"),\n y(\"td\", null, \"F\"),\n y(\"td\", null, \"S\"),\n y(\"td\", null, \"S\")\n ], -1)),\n (g(), k(X, null, we(ta, (G) => y(\"tr\", { key: G }, [\n (g(), k(X, null, we(qt, (N) => y(\"td\", {\n ref_for: !0,\n ref: \"celldate\",\n key: O(G, N),\n class: ue([\"date-cell\", {\n todaysDate: $(F(G, N)),\n selectedDate: D(F(G, N)),\n withinRange: e.selectRange ? R(F(G, N)) : !1,\n startDate: e.selectRange ? I(F(G, N)) : !1,\n endDate: e.selectRange ? V(F(G, N)) : !1\n }]),\n contenteditable: !1,\n spellcheck: !1,\n tabindex: 0,\n onClick: se((ae) => Ve(O(G, N)), [\"prevent\", \"stop\"]),\n onKeydown: ve((ae) => Ve(O(G, N)), [\"enter\"]),\n onMouseover: (ae) => Y(O(G, N))\n }, B(new Date(F(G, N)).getDate()), 43, Qo)), 64))\n ])), 64))\n ])\n ])\n ], 512),\n _(y(\"p\", {\n class: \"aform_error\",\n innerHTML: a.value\n }, null, 8, ea), [\n [xe, a.value]\n ])\n ], 64));\n }\n}), dn = /* @__PURE__ */ ke(na, [[\"__scopeId\", \"data-v-51c0c73a\"]]), la = { class: \"adate_time\" }, oa = { class: \"adate_time_fields\" }, aa = [\"onKeydown\"], sa = [\"onKeydown\"], ra = {\n key: 0,\n class: \"colon\"\n}, ia = [\"onKeydown\"], ua = /* @__PURE__ */ ne({\n __name: \"ADateTime\",\n props: {\n allowMilitaryTime: { type: Boolean, default: !1 },\n defaultHours: { default: 12 },\n defaultMinutes: { default: 0 },\n defaultSeconds: { default: 0 },\n defaultMeridiem: { default: \"AM\" },\n useSeconds: { type: Boolean, default: !0 }\n },\n emits: [\"get-time\"],\n setup(e, { emit: t }) {\n const l = t, a = pe(\"meridiem-selector\"), n = Tt({\n hours: String(e.defaultHours).padStart(2, \"0\"),\n minutes: String(e.defaultMinutes).padStart(2, \"0\"),\n seconds: String(e.defaultSeconds).padStart(2, \"0\")\n }), o = A(e.defaultMeridiem == \"AM\" ? \"AM\" : \"PM\");\n Le(() => {\n d();\n });\n const s = () => {\n const b = e.allowMilitaryTime ? 23 : 12, m = e.allowMilitaryTime ? 0 : 1;\n let p = Number(n.hours), u = Number(n.minutes), c = Number(n.seconds);\n (isNaN(p) || n.hours === \"\" || p > b) && (p = b), !e.allowMilitaryTime && p < m && (p = m), (isNaN(u) || n.minutes === \"\" || u > 59) && (u = 59), (isNaN(c) || n.seconds === \"\" || c > 59) && (c = 59), n.hours = String(p).padStart(2, \"0\"), n.minutes = String(u).padStart(2, \"0\"), n.seconds = String(c).padStart(2, \"0\"), d();\n }, d = () => {\n const b = Number(n.hours), m = Number(n.minutes), p = Number(n.seconds);\n l(\"get-time\", {\n hours: b,\n minutes: m,\n seconds: p,\n meridiem: o.value,\n militaryTime: e.allowMilitaryTime ? b : o.value === \"PM\" ? b === 12 ? 12 : b + 12 : b % 12\n });\n }, r = (b) => {\n const m = b.target;\n m instanceof HTMLInputElement && m.select();\n }, i = (b, m = 1) => {\n const p = e.allowMilitaryTime ? 23 : 12, u = e.allowMilitaryTime ? 0 : 1;\n if (b == \"hours\") {\n const $ = Number(n.hours);\n n.hours = String($ + m), ($ == 11 && Number(n.hours) == 12 || $ == 12 && Number(n.hours) == 11) && f();\n } else b == \"minutes\" ? n.minutes = String(Number(n.minutes) + m) : b == \"seconds\" && (n.seconds = String(Number(n.seconds) + m));\n const c = Number(n.hours);\n Number(n.seconds) < 0 ? n.minutes = String(Number(n.minutes) - 1) : Number(n.seconds) > 59 && (n.minutes = String(Number(n.minutes) + 1)), Number(n.minutes) < 0 ? n.hours = String(c - 1) : Number(n.minutes) > 59 && (n.hours = String(c + 1));\n const M = Number(n.hours);\n !e.allowMilitaryTime && M !== c && (c === 11 && M === 12 || c === 12 && M === 11) && f(), n.hours = String(h(Number(n.hours), u, p)).padStart(2, \"0\"), n.minutes = String(h(Number(n.minutes), 0, 59)).padStart(2, \"0\"), n.seconds = String(h(Number(n.seconds), 0, 59)).padStart(2, \"0\");\n };\n te(\n () => n.hours,\n (b, m) => {\n n.hours = Number(b) > 99 ? m : b;\n }\n ), te(\n () => n.minutes,\n (b, m) => {\n n.minutes = Number(b) > 99 ? m : b;\n }\n ), te(\n () => n.seconds,\n (b, m) => {\n n.seconds = Number(b) > 99 ? m : b;\n }\n );\n const h = (b, m, p) => b > p ? m : b < m ? p : b, f = () => {\n o.value = o.value == \"PM\" ? \"AM\" : \"PM\", d();\n }, x = (b, m = !1) => {\n b.stopPropagation(), b.preventDefault();\n const p = b.clipboardData;\n if (!p) return;\n let u = p.getData(\"Text\");\n if (u = u.replace(/[^0-9]/g, \"\"), m) {\n u.length % 2 != 0 && (u = \"0\" + u), u.length < 3 && (u += \"00\"), u.length < 5 && (u += \"00\");\n const c = u.match(/(..?)/g);\n if (!c || c.length < 3) return;\n n.seconds = c[2], n.minutes = c[1], n.hours = c[0], s(), e.allowMilitaryTime || a.value?.focus();\n } else {\n u.length > 2 && (u = u.slice(0, 2));\n const c = b.target;\n c instanceof HTMLInputElement && (c.value = u, c.dispatchEvent(new Event(\"input\")));\n }\n };\n return (b, m) => (g(), k(\"div\", la, [\n y(\"div\", oa, [\n _(y(\"input\", {\n \"onUpdate:modelValue\": m[0] || (m[0] = (p) => n.hours = p),\n type: \"text\",\n inputmode: \"numeric\",\n onPaste: m[1] || (m[1] = (p) => x(p, !0)),\n onFocus: r,\n onBlur: s,\n onKeydown: [\n ve(se(s, [\"prevent\"]), [\"enter\"]),\n m[2] || (m[2] = ve(se((p) => i(\"hours\"), [\"prevent\"]), [\"up\"])),\n m[3] || (m[3] = ve(se((p) => i(\"hours\", -1), [\"prevent\"]), [\"down\"]))\n ]\n }, null, 40, aa), [\n [ge, n.hours]\n ]),\n m[12] || (m[12] = y(\"span\", { class: \"colon\" }, \":\", -1)),\n _(y(\"input\", {\n \"onUpdate:modelValue\": m[4] || (m[4] = (p) => n.minutes = p),\n type: \"text\",\n inputmode: \"numeric\",\n onPaste: x,\n onFocus: r,\n onBlur: s,\n onKeydown: [\n ve(se(s, [\"prevent\"]), [\"enter\"]),\n m[5] || (m[5] = ve(se((p) => i(\"minutes\"), [\"prevent\"]), [\"up\"])),\n m[6] || (m[6] = ve(se((p) => i(\"minutes\", -1), [\"prevent\"]), [\"down\"]))\n ]\n }, null, 40, sa), [\n [ge, n.minutes]\n ]),\n e.useSeconds ? (g(), k(\"span\", ra, \":\")) : W(\"\", !0),\n e.useSeconds ? _((g(), k(\"input\", {\n key: 1,\n \"onUpdate:modelValue\": m[7] || (m[7] = (p) => n.seconds = p),\n type: \"text\",\n inputmode: \"numeric\",\n onPaste: x,\n onFocus: r,\n onBlur: s,\n onKeydown: [\n ve(se(s, [\"prevent\"]), [\"enter\"]),\n m[8] || (m[8] = ve(se((p) => i(\"seconds\"), [\"prevent\"]), [\"up\"])),\n m[9] || (m[9] = ve(se((p) => i(\"seconds\", -1), [\"prevent\"]), [\"down\"]))\n ]\n }, null, 40, ia)), [\n [ge, n.seconds]\n ]) : W(\"\", !0),\n e.allowMilitaryTime ? W(\"\", !0) : _((g(), k(\"select\", {\n key: 2,\n ref: \"meridiem-selector\",\n \"onUpdate:modelValue\": m[10] || (m[10] = (p) => o.value = p),\n class: \"aform-select meridiem-selector\",\n onChange: s\n }, [...m[11] || (m[11] = [\n y(\"option\", { value: \"AM\" }, \"AM\", -1),\n y(\"option\", { value: \"PM\" }, \"PM\", -1)\n ])], 544)), [\n [zt, o.value]\n ])\n ])\n ]));\n }\n}), bt = /* @__PURE__ */ ke(ua, [[\"__scopeId\", \"data-v-959a3e41\"]]), da = { class: \"adate-selection\" }, ca = {\n key: 3,\n class: \"empty\"\n}, va = /* @__PURE__ */ ne({\n __name: \"ADateSelection\",\n props: {\n showDate: { type: Boolean, default: !0 },\n showTime: { type: Boolean, default: !0 },\n selectRange: { type: Boolean, default: !0 },\n showEndTime: { type: Boolean, default: !1 },\n allowMilitaryTime: { type: Boolean, default: !1 },\n defaultHours: { default: 12 },\n defaultMinutes: { default: 0 },\n defaultSeconds: { default: 0 },\n defaultMeridiem: { default: \"AM\" },\n useSeconds: { type: Boolean, default: !0 }\n },\n emits: [\"get-date\", \"get-time\", \"get-range\"],\n setup(e, { emit: t }) {\n const l = t;\n wn(\"select-range\", e.selectRange);\n const a = /* @__PURE__ */ new Date(), n = A(a), o = A(a), s = A(0), d = A(0), r = (m, p) => {\n const u = new Date(m);\n return u.setHours(0, 0, 0, 0), new Date(u.getTime() + p);\n }, i = (m) => {\n let p;\n if (m.militaryTime !== void 0)\n p = m.militaryTime;\n else {\n const u = m.hours % 12;\n p = m.meridiem === \"PM\" ? u + 12 : u;\n }\n return (p * 3600 + m.minutes * 60 + (m.seconds ?? 0)) * 1e3;\n }, h = () => {\n !e.selectRange || !e.showTime || !e.showEndTime || l(\"get-range\", {\n start: r(n.value, s.value),\n end: r(o.value, d.value)\n });\n }, f = (m) => {\n l(\"get-date\", m), e.selectRange && (n.value = m.start ?? m.selected, o.value = m.end ?? m.selected, h());\n }, x = (m) => {\n s.value = i(m), e.showEndTime ? h() : l(\"get-time\", m);\n }, b = (m) => {\n d.value = i(m), h();\n };\n return (m, p) => (g(), k(\"div\", da, [\n e.showDate ? (g(), me(dn, {\n key: 0,\n \"select-range\": e.selectRange,\n onGetDate: f\n }, null, 8, [\"select-range\"])) : W(\"\", !0),\n e.showTime ? (g(), me(bt, {\n key: 1,\n \"allow-military-time\": e.allowMilitaryTime,\n \"default-hours\": e.defaultHours,\n \"default-minutes\": e.defaultMinutes,\n \"default-seconds\": e.defaultSeconds,\n \"default-meridiem\": e.defaultMeridiem,\n \"use-seconds\": e.useSeconds,\n onGetTime: x\n }, null, 8, [\"allow-military-time\", \"default-hours\", \"default-minutes\", \"default-seconds\", \"default-meridiem\", \"use-seconds\"])) : W(\"\", !0),\n e.selectRange && e.showTime && e.showEndTime ? (g(), k(X, { key: 2 }, [\n p[0] || (p[0] = y(\"div\", { class: \"adate-selection__end-label\" }, \"End time\", -1)),\n ze(bt, {\n \"allow-military-time\": e.allowMilitaryTime,\n \"default-hours\": e.defaultHours,\n \"default-minutes\": e.defaultMinutes,\n \"default-seconds\": e.defaultSeconds,\n \"default-meridiem\": e.defaultMeridiem,\n \"use-seconds\": e.useSeconds,\n onGetTime: b\n }, null, 8, [\"allow-military-time\", \"default-hours\", \"default-minutes\", \"default-seconds\", \"default-meridiem\", \"use-seconds\"])\n ], 64)) : W(\"\", !0),\n !e.showTime && !e.showDate ? (g(), k(\"p\", ca, \"empty\")) : W(\"\", !0)\n ]));\n }\n}), rt = /* @__PURE__ */ ke(va, [[\"__scopeId\", \"data-v-eeadb3e2\"]]), fa = { class: \"aform_display-value\" }, ma = [\"id\", \"value\", \"disabled\", \"required\"], ha = [\"for\"], pa = [\"innerHTML\"], ga = /* @__PURE__ */ ne({\n __name: \"ADate\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: { default: \"Date\" },\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = S(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), l = Te(e, \"modelValue\"), a = A(l.value ? new Date(l.value) : /* @__PURE__ */ new Date()), n = S({\n get: () => a.value.toISOString().split(\"T\")[0],\n set: (r) => {\n a.value = new Date(r), l.value = r;\n }\n }), o = pe(\"picker\"), s = A(!1);\n ot(o, () => s.value = !1), te(\n () => l.value,\n (r) => {\n r && (a.value = new Date(r));\n }\n );\n const d = (r) => {\n a.value = r.selected, l.value = n.value;\n };\n return (r, i) => (g(), k(\"div\", null, [\n e.mode === \"display\" ? (g(), k(X, { key: 0 }, [\n y(\"span\", fa, B(l.value ? new Date(n.value).toLocaleDateString() : \"\"), 1),\n y(\"label\", null, B(e.label), 1)\n ], 64)) : (g(), k(X, { key: 1 }, [\n _(y(\"input\", {\n id: e.uuid,\n ref: \"date\",\n \"onUpdate:modelValue\": i[0] || (i[0] = (h) => n.value = h),\n class: \"adate-input\",\n value: n.value,\n type: \"date\",\n disabled: e.mode === \"read\",\n required: e.required,\n onClick: i[1] || (i[1] = se(\n () => {\n s.value = !s.value;\n },\n [\"prevent\"]\n ))\n }, null, 8, ma), [\n [ge, n.value]\n ]),\n y(\"label\", { for: e.uuid }, B(e.label), 9, ha),\n _(y(\"p\", { innerHTML: t.value }, null, 8, pa), [\n [xe, t.value]\n ]),\n s.value ? (g(), me(rt, {\n key: 0,\n ref: \"picker\",\n class: \"picker\",\n \"select-range\": !1,\n \"show-time\": !1,\n onGetDate: d\n }, null, 512)) : W(\"\", !0)\n ], 64))\n ]));\n }\n}), wa = /* @__PURE__ */ ke(ga, [[\"__scopeId\", \"data-v-a73c275b\"]]), gt = /* @__PURE__ */ new WeakMap(), cn = {\n mounted(e, t) {\n const l = !t.modifiers.bubble;\n let a;\n if (typeof t.value == \"function\") a = ot(e, t.value, { capture: l });\n else {\n const [n, o] = t.value;\n a = ot(e, n, Object.assign({ capture: l }, o));\n }\n gt.set(e, a);\n },\n unmounted(e) {\n const t = gt.get(e);\n t && typeof t == \"function\" ? t() : t?.stop(), gt.delete(e);\n }\n};\nfunction ya() {\n let e = !1;\n const t = he(!1);\n return (l, a) => {\n if (t.value = a.value, e) return;\n e = !0;\n const n = Uo(l, a.value);\n te(t, (o) => n.value = o);\n };\n}\nya();\nconst xa = {\n key: 0,\n class: \"input-wrapper\"\n}, ba = { class: \"aform_display-value\" }, ka = [\"innerHTML\"], Ma = { class: \"input-wrapper\" }, Ia = [\"disabled\"], Ta = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}, Da = {\n key: 0,\n class: \"loading autocomplete-result\"\n}, $a = [\"onClick\"], Ca = [\"innerHTML\"], Sa = /* @__PURE__ */ ne({\n __name: \"ADropdown\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {},\n options: { default: () => [] },\n isAsync: { type: Boolean, default: !1 },\n filterFunction: { type: Function, default: void 0 }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = S(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), l = Te(e, \"modelValue\"), a = A(l.value ?? \"\"), n = Tt({\n activeItemIndex: null,\n open: !1,\n loading: !1,\n results: e.options\n }), o = () => i(), s = async () => {\n if (n.open = !0, n.activeItemIndex = null, e.filterFunction) {\n e.isAsync && (n.loading = !0);\n try {\n const m = await e.filterFunction(l.value || \"\");\n n.results = m || [];\n } catch {\n n.results = [];\n } finally {\n e.isAsync && (n.loading = !1);\n }\n } else\n h();\n }, d = (m) => {\n l.value = m, a.value = m, i(m);\n }, r = () => {\n const m = e.options?.indexOf(l.value ?? \"\") ?? -1;\n n.activeItemIndex = e.isAsync ? null : m >= 0 ? m : null, n.open = !0, n.results = e.isAsync ? [] : e.options;\n }, i = (m) => {\n n.activeItemIndex = null, n.open = !1, e.options?.includes(m || l.value || \"\") || (l.value = a.value);\n }, h = () => {\n l.value ? n.results = e.options?.filter((m) => m.toLowerCase().includes((l.value ?? \"\").toLowerCase())) : n.results = e.options;\n }, f = () => {\n const m = n.results?.length || 0;\n if (n.activeItemIndex != null) {\n const p = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n n.activeItemIndex = (p + 1) % m;\n } else\n n.activeItemIndex = 0;\n }, x = () => {\n const m = n.results?.length || 0;\n if (n.activeItemIndex != null) {\n const p = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n p === 0 ? n.activeItemIndex = null : n.activeItemIndex = p - 1;\n } else\n n.activeItemIndex = m - 1;\n }, b = () => {\n if (n.results) {\n const m = n.activeItemIndex || 0, p = n.results[m];\n d(p);\n }\n n.activeItemIndex = 0;\n };\n return (m, p) => e.mode === \"display\" ? (g(), k(\"div\", xa, [\n y(\"span\", ba, B(l.value ?? \"\"), 1),\n y(\"label\", null, B(e.label), 1),\n _(y(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, ka), [\n [xe, t.value]\n ])\n ])) : _((g(), k(\"div\", {\n key: 1,\n class: ue([\"autocomplete\", { isOpen: n.open }])\n }, [\n y(\"div\", Ma, [\n _(y(\"input\", {\n \"onUpdate:modelValue\": p[0] || (p[0] = (u) => l.value = u),\n type: \"text\",\n disabled: e.mode === \"read\",\n onInput: s,\n onFocus: r,\n onKeydown: [\n ve(f, [\"down\"]),\n ve(x, [\"up\"]),\n ve(b, [\"enter\"]),\n ve(o, [\"esc\"]),\n ve(o, [\"tab\"])\n ]\n }, null, 40, Ia), [\n [ge, l.value]\n ]),\n _(y(\"ul\", Ta, [\n n.loading ? (g(), k(\"li\", Da, \"Loading results...\")) : (g(!0), k(X, { key: 1 }, we(n.results, (u, c) => (g(), k(\"li\", {\n key: u,\n class: ue([\"autocomplete-result\", { \"is-active\": c === n.activeItemIndex }]),\n onClick: se((M) => d(u), [\"stop\"])\n }, B(u), 11, $a))), 128))\n ], 512), [\n [xe, n.open]\n ]),\n y(\"label\", null, B(e.label), 1)\n ]),\n _(y(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, Ca), [\n [xe, t.value]\n ])\n ], 2)), [\n [P(cn), o]\n ]);\n }\n}), Aa = /* @__PURE__ */ ke(Sa, [[\"__scopeId\", \"data-v-0f2bf458\"]]), La = { class: \"aduration\" }, Ra = { class: \"aform_display-value\" }, Ea = { class: \"aduration__footer\" }, Ha = {\n key: 0,\n class: \"aduration__summary\"\n}, Va = { class: \"aduration__value\" }, Ba = { class: \"aduration__ms\" }, Fa = /* @__PURE__ */ ne({\n __name: \"ADuration\",\n props: /* @__PURE__ */ be({\n label: { default: \"Duration\" },\n mode: { default: \"edit\" },\n allowMilitaryTime: { type: Boolean, default: !1 },\n useSeconds: { type: Boolean, default: !1 }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = Te(e, \"modelValue\"), l = A(null), a = A(null), n = S(() => {\n if (!l.value || !a.value) return 0;\n const r = a.value.getTime() - l.value.getTime();\n return r > 0 ? r : 0;\n });\n te(n, (r) => {\n t.value = r;\n });\n const o = (r) => {\n l.value = r.start, a.value = r.end, t.value = n.value;\n }, s = S(() => {\n const r = n.value;\n if (r === 0) return \"0s\";\n const i = Math.floor(r / 1e3) % 60, h = Math.floor(r / 6e4) % 60, f = Math.floor(r / 36e5) % 24, x = Math.floor(r / 864e5);\n return [x && `${x}d`, f && `${f}h`, h && `${h}m`, i && `${i}s`].filter(Boolean).join(\" \") || \"0s\";\n }), d = S(() => {\n const r = t.value;\n if (!r) return \"—\";\n const i = Math.floor(r / 1e3) % 60, h = Math.floor(r / 6e4) % 60, f = Math.floor(r / 36e5) % 24, x = Math.floor(r / 864e5);\n return [x && `${x}d`, f && `${f}h`, h && `${h}m`, i && `${i}s`].filter(Boolean).join(\" \") || \"0s\";\n });\n return (r, i) => (g(), k(\"div\", La, [\n e.mode === \"display\" || e.mode === \"read\" ? (g(), k(X, { key: 0 }, [\n y(\"span\", Ra, B(d.value), 1),\n y(\"label\", null, B(e.label), 1)\n ], 64)) : (g(), k(X, { key: 1 }, [\n ze(rt, {\n ref: \"selectionRef\",\n \"select-range\": !0,\n \"show-time\": !0,\n \"show-end-time\": !0,\n \"allow-military-time\": e.allowMilitaryTime,\n \"use-seconds\": e.useSeconds,\n onGetRange: o\n }, null, 8, [\"allow-military-time\", \"use-seconds\"]),\n y(\"div\", Ea, [\n y(\"label\", null, B(e.label), 1),\n l.value && a.value ? (g(), k(\"div\", Ha, [\n i[0] || (i[0] = y(\"span\", { class: \"aduration__label\" }, \"Duration:\", -1)),\n y(\"span\", Va, B(s.value), 1),\n y(\"span\", Ba, \"(\" + B(t.value ?? 0) + \" ms)\", 1)\n ])) : W(\"\", !0)\n ])\n ], 64))\n ]));\n }\n}), Pa = /* @__PURE__ */ ke(Fa, [[\"__scopeId\", \"data-v-22611dd6\"]]), Na = { class: \"adaterange\" }, Oa = { class: \"aform_display-value\" }, Za = [\"id\", \"value\", \"disabled\"], Ua = [\"for\"], Ga = [\"innerHTML\"], Wa = /* @__PURE__ */ ne({\n __name: \"ADateRange\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: { default: \"Date Range\" },\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {\n default: () => ({ start_date: null, end_date: null })\n },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = (u) => new Date(u).toLocaleDateString(), l = S(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), a = Te(e, \"modelValue\"), n = A(a.value.start_date ? new Date(a.value.start_date) : null), o = A(a.value.end_date ? new Date(a.value.end_date) : null), s = A(!1), d = A(null);\n ot(d, () => s.value = !1);\n const r = () => {\n e.mode !== \"read\" && (s.value = !0);\n }, i = (u) => u ? `${u.getMonth() + 1}/${u.getDate()}/${u.getFullYear()}` : \"\", h = S(() => {\n const u = i(n.value), c = i(o.value);\n return u && c ? `${u} — ${c}` : u ? `${u} — ...` : \"\";\n }), f = S(() => {\n const u = a.value.start_date, c = a.value.end_date;\n return !u && !c ? \"\" : u && c ? `${t(u)} — ${t(c)}` : u ? `From ${t(u)}` : `Until ${t(c)}`;\n }), x = () => {\n const u = n.value, c = o.value;\n u && c && c.getTime() < u.getTime() && ([n.value, o.value] = [c, u]);\n }, b = (u) => u ? u.toISOString().split(\"T\")[0] : null, m = () => {\n a.value = {\n start_date: b(n.value),\n end_date: b(o.value)\n };\n }, p = (u) => {\n u.start && (n.value = u.start), u.end && (o.value = u.end, x(), s.value = !1), m();\n };\n return te(\n () => a.value,\n (u) => {\n n.value = u.start_date ? new Date(u.start_date) : null, o.value = u.end_date ? new Date(u.end_date) : null;\n },\n { deep: !0 }\n ), (u, c) => (g(), k(\"div\", Na, [\n e.mode === \"display\" ? (g(), k(X, { key: 0 }, [\n y(\"span\", Oa, B(f.value), 1),\n y(\"label\", null, B(e.label), 1)\n ], 64)) : (g(), k(X, { key: 1 }, [\n y(\"input\", {\n id: e.uuid,\n class: \"adate-input aform_input-field\",\n type: \"text\",\n value: h.value,\n placeholder: \"Select date range\",\n disabled: e.mode === \"read\",\n readonly: \"\",\n onClick: r\n }, null, 8, Za),\n y(\"label\", { for: e.uuid }, B(e.label), 9, Ua),\n _(y(\"p\", { innerHTML: l.value }, null, 8, Ga), [\n [xe, l.value]\n ]),\n s.value ? (g(), me(rt, {\n key: 0,\n ref_key: \"pickerRef\",\n ref: d,\n class: \"picker\",\n \"select-range\": !0,\n \"show-time\": !1,\n onGetDate: p\n }, null, 512)) : W(\"\", !0)\n ], 64))\n ]));\n }\n}), qa = /* @__PURE__ */ ke(Wa, [[\"__scopeId\", \"data-v-b5838478\"]]), ja = { class: \"aform\" }, za = {\n key: 0,\n class: \"aform-nested-section\"\n}, _a = {\n key: 0,\n class: \"aform-nested-label\"\n}, Xa = /* @__PURE__ */ ne({\n __name: \"AForm\",\n props: /* @__PURE__ */ be({\n schema: {},\n mode: { default: \"edit\" },\n errors: {}\n }, {\n data: { required: !0 },\n dataModifiers: {}\n }),\n emits: /* @__PURE__ */ be([\"update:schema\", \"update:data\"], [\"update:data\"]),\n setup(e, { emit: t }) {\n const l = t, a = Te(e, \"data\"), n = (b) => (b.kind === \"link\" || b.kind === \"fieldset\") && \"schema\" in b && Array.isArray(b.schema) && b.schema.length > 0, o = A({});\n te(\n () => a.value,\n (b) => {\n !e.schema || !b || e.schema.forEach((m) => {\n n(m) && (o.value[m.fieldname] = b[m.fieldname] ?? {});\n });\n },\n { immediate: !0 }\n );\n const s = (b, m) => {\n o.value[b] = m, a.value && (a.value[b] = m, l(\"update:data\", { ...a.value }));\n }, d = (b) => {\n const m = {};\n for (const [p, u] of Object.entries(b))\n [\"component\", \"primaryKey\", \"computed\", \"language\", \"hidden\", \"mode\", \"width\"].includes(p) || (m[p] = u);\n return b.kind === \"table\" && (m.rows = a.value[b.fieldname] || []), m;\n }, r = (b) => {\n if (b.kind !== \"field\") return {};\n const m = b.width;\n return m ? { flexBasis: m, width: m } : {};\n }, i = S(() => e.mode ?? \"edit\");\n function h(b) {\n const m = b.mode;\n return m || i.value;\n }\n const f = A([]);\n $t(() => {\n e.schema && f.value.length !== e.schema.length && (f.value = e.schema.map((b, m) => S({\n get() {\n return a.value?.[e.schema[m].fieldname];\n },\n set: (p) => {\n const u = e.schema[m].fieldname;\n u && a.value && (a.value[u] = p, l(\"update:data\", { ...a.value })), l(\"update:schema\", e.schema);\n }\n })));\n });\n const x = S(() => f.value);\n return (b, m) => (g(), k(\"form\", ja, [\n (g(!0), k(X, null, we(e.schema, (p, u) => (g(), k(X, { key: u }, [\n n(p) ? (g(), k(\"div\", za, [\n p.label && p.kind !== \"fieldset\" ? (g(), k(\"h4\", _a, B(p.label), 1)) : W(\"\", !0),\n (g(), me(Ze(p.component ?? \"AForm\"), {\n data: o.value[p.fieldname],\n mode: h(p),\n schema: p.schema,\n label: p.label,\n collapsible: p.kind === \"fieldset\" ? p.collapsible : void 0,\n errors: e.errors,\n \"onUpdate:data\": (c) => s(p.fieldname, c)\n }, null, 40, [\"data\", \"mode\", \"schema\", \"label\", \"collapsible\", \"errors\", \"onUpdate:data\"]))\n ])) : p.hidden ? W(\"\", !0) : (g(), me(Ze(p.component), at({\n key: 1,\n modelValue: x.value[u].value,\n \"onUpdate:modelValue\": (c) => x.value[u].value = c,\n style: r(p),\n schema: p,\n data: a.value[p.fieldname],\n mode: h(p),\n errors: e.errors?.[p.fieldname]\n }, { ref_for: !0 }, d(p)), null, 16, [\"modelValue\", \"onUpdate:modelValue\", \"style\", \"schema\", \"data\", \"mode\", \"errors\"]))\n ], 64))), 128))\n ]));\n }\n}), vn = /* @__PURE__ */ ke(Xa, [[\"__scopeId\", \"data-v-039be29e\"]]), Ya = /* @__PURE__ */ ne({\n __name: \"CollapseButton\",\n props: {\n collapsed: { type: Boolean }\n },\n setup(e) {\n return (t, l) => (g(), k(\"button\", {\n class: ue([\"collapse-button\", e.collapsed ? \"rotated\" : \"unrotated\"])\n }, \"×\", 2));\n }\n}), Ka = /* @__PURE__ */ ke(Ya, [[\"__scopeId\", \"data-v-6f1c1b45\"]]), Ja = /* @__PURE__ */ ne({\n __name: \"AFieldset\",\n props: {\n schema: {},\n label: { default: () => {\n } },\n collapsible: { type: Boolean },\n data: { default: () => ({}) },\n mode: { default: \"edit\" }\n },\n setup(e, { expose: t }) {\n const l = A(!1), a = A(e.data || []), n = A(e.schema), o = (s) => {\n s.preventDefault(), e.collapsible && (l.value = !l.value);\n };\n return t({ collapsed: l }), (s, d) => (g(), k(\"fieldset\", null, [\n e.label || e.collapsible ? (g(), k(\"legend\", {\n key: 0,\n onClick: o,\n onSubmit: o\n }, [\n kt(B(e.label) + \" \", 1),\n e.collapsible ? (g(), me(Ka, {\n key: 0,\n collapsed: l.value\n }, null, 8, [\"collapsed\"])) : W(\"\", !0)\n ], 32)) : W(\"\", !0),\n Ie(s.$slots, \"default\", { collapsed: l.value }, () => [\n _(ze(vn, {\n data: a.value,\n \"onUpdate:data\": d[0] || (d[0] = (r) => a.value = r),\n schema: n.value,\n mode: e.mode\n }, null, 8, [\"data\", \"schema\", \"mode\"]), [\n [xe, !l.value]\n ])\n ], !0)\n ]));\n }\n}), Qa = /* @__PURE__ */ ke(Ja, [[\"__scopeId\", \"data-v-162e7317\"]]), es = { class: \"aform_form-element aform_file-attach aform__grid--full\" }, ts = {\n key: 0,\n class: \"aform_file-attach-feedback\"\n}, ns = {\n key: 1,\n class: \"aform_display-value\"\n}, ls = {\n key: 0,\n class: \"aform_file-attach-feedback\"\n}, os = [\"disabled\"], as = [\"disabled\"], ss = /* @__PURE__ */ ne({\n __name: \"AFileAttach\",\n props: {\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: {},\n errors: {}\n },\n setup(e) {\n const { files: t, open: l, reset: a, onChange: n } = Zo(), o = S(() => {\n const s = t.value?.length ?? 0;\n return `${s} ${s === 1 ? \"file\" : \"files\"}`;\n });\n return n((s) => s), (s, d) => (g(), k(\"div\", es, [\n e.mode === \"display\" ? (g(), k(X, { key: 0 }, [\n P(t) ? (g(), k(\"div\", ts, [\n y(\"p\", null, [\n y(\"b\", null, B(o.value), 1)\n ]),\n (g(!0), k(X, null, we(P(t), (r) => (g(), k(\"li\", {\n key: r.name\n }, B(r.name), 1))), 128))\n ])) : (g(), k(\"span\", ns, \"No file selected\"))\n ], 64)) : (g(), k(X, { key: 1 }, [\n P(t) ? (g(), k(\"div\", ls, [\n y(\"p\", null, [\n d[2] || (d[2] = kt(\" You have selected: \", -1)),\n y(\"b\", null, B(o.value), 1)\n ]),\n (g(!0), k(X, null, we(P(t), (r) => (g(), k(\"li\", {\n key: r.name\n }, B(r.name), 1))), 128))\n ])) : W(\"\", !0),\n y(\"button\", {\n type: \"button\",\n class: \"aform_form-btn\",\n disabled: e.mode === \"read\",\n onClick: d[0] || (d[0] = (r) => P(l)())\n }, B(e.label), 9, os),\n y(\"button\", {\n type: \"button\",\n disabled: !P(t) || e.mode === \"read\",\n class: \"aform_form-btn\",\n onClick: d[1] || (d[1] = (r) => P(a)())\n }, \"Reset\", 8, as)\n ], 64))\n ]));\n }\n}), rs = /* @__PURE__ */ ke(ss, [[\"__scopeId\", \"data-v-8eefd179\"]]), is = { class: \"aform_form-element\" }, us = {\n key: 0,\n class: \"aform_display-value\"\n}, ds = { class: \"aform_form-link-wrapper\" }, cs = { class: \"input-group\" }, vs = [\"disabled\", \"onKeydown\"], fs = [\"onKeydown\"], ms = {\n key: 0,\n class: \"autocomplete-results\"\n}, hs = {\n key: 0,\n class: \"autocomplete-result loading\"\n}, ps = [\"onMousedown\"], gs = {\n key: 0,\n class: \"aform_field-label\"\n}, ws = /* @__PURE__ */ ne({\n __name: \"AFormLink\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: {},\n errors: {},\n doctype: { default: () => {\n } },\n formatter: { type: Function, default: void 0 },\n icon: { default: \"arrow-right\" },\n disabled: { type: Boolean, default: !1 },\n filterFunction: { type: [String, Function], default: void 0 },\n isAsync: { type: Boolean, default: !1 }\n }, {\n modelValue: { default: { id: \"\", displayText: \"\" } },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = Te(e, \"modelValue\"), l = S(() => {\n const I = t.value?.id;\n return I != null && I !== \"\";\n }), a = S(() => l.value ? e.formatter ? e.formatter(t.value) : t.value.displayText ?? String(t.value.id) : \"—\"), n = A(l.value ? a.value : \"\"), o = A(!1), s = A(!1), d = A([]), r = A(null), i = wt(\"aformLinkNavigator\", null), h = wt(\"aformLinkResolver\", null);\n te(\n () => t.value,\n (I) => {\n I != null && (typeof I == \"string\" || typeof I == \"number\") && (t.value = { id: I });\n },\n { immediate: !0 }\n ), te(\n () => t.value?.id,\n async (I) => {\n if (!(!I || t.value.displayText))\n try {\n let V;\n e.filterFunction ? (V = (await (typeof e.filterFunction == \"string\" ? yt(e.filterFunction) : e.filterFunction)(String(I))).find((F) => String(F.id) === String(I))?.displayText, V === void 0 && console.warn(\n `[AFormLink] filterFunction returned no matching result for id \"${I}\". The function must return an item whose \\`id\\` exactly matches the search string.`\n )) : h && e.doctype && (V = await h(e.doctype, I.toString()) ?? void 0), V && (n.value = V, t.value = { ...t.value, displayText: V });\n } catch {\n }\n },\n { immediate: !0 }\n );\n const f = () => {\n i && e.doctype ? i.navigate(e.doctype, t.value.id) : i && !e.doctype && console.warn(\n \"[AFormLink] Navigation requested but `doctype` prop is missing. Add `options` (or `doctype`) to the Link field definition to enable navigation.\"\n );\n }, x = async (I) => {\n if (!(!e.filterFunction || e.mode === \"read\")) {\n r.value = null, o.value = !0, e.isAsync && (s.value = !0);\n try {\n const V = typeof e.filterFunction == \"string\" ? yt(e.filterFunction) : e.filterFunction;\n d.value = await V(I) ?? [];\n } catch {\n d.value = [];\n } finally {\n s.value = !1;\n }\n }\n }, b = () => {\n o.value = !1, r.value = null, n.value = l.value ? a.value : \"\";\n }, m = () => {\n o.value && b();\n }, p = () => x(n.value), u = () => x(n.value), c = (I) => {\n t.value = I, n.value = I.displayText ?? String(I.id), o.value = !1, r.value = null;\n }, M = () => {\n const I = d.value.length;\n I && (r.value = r.value === null ? 0 : (r.value + 1) % I);\n }, $ = () => {\n d.value.length && (r.value === null || r.value === 0 ? r.value = null : r.value -= 1);\n }, D = () => {\n r.value !== null && d.value[r.value] && c(d.value[r.value]);\n };\n return (I, V) => (g(), k(\"div\", is, [\n e.mode === \"display\" ? (g(), k(\"span\", us, B(a.value), 1)) : (g(), k(X, { key: 1 }, [\n _((g(), k(\"div\", ds, [\n y(\"div\", cs, [\n _(y(\"input\", {\n \"onUpdate:modelValue\": V[0] || (V[0] = (O) => n.value = O),\n type: \"text\",\n class: \"aform_input-field\",\n disabled: e.disabled || e.mode === \"read\",\n onInput: u,\n onFocus: p,\n onKeydown: [\n ve(se(M, [\"prevent\"]), [\"down\"]),\n ve(se($, [\"prevent\"]), [\"up\"]),\n ve(se(D, [\"prevent\"]), [\"enter\"]),\n ve(b, [\"esc\"]),\n ve(b, [\"tab\"])\n ]\n }, null, 40, vs), [\n [ge, n.value]\n ]),\n l.value && !e.disabled ? (g(), k(\"button\", {\n key: 0,\n type: \"button\",\n class: \"aform_form-btn\",\n onClick: f,\n onKeydown: ve(se(f, [\"prevent\"]), [\"enter\"])\n }, [\n y(\"span\", null, B(e.icon === \"chevron-right\" ? \"›\" : \"→\"), 1)\n ], 40, fs)) : W(\"\", !0)\n ]),\n o.value ? (g(), k(\"ul\", ms, [\n s.value ? (g(), k(\"li\", hs, \"Loading…\")) : (g(!0), k(X, { key: 1 }, we(d.value, (O, R) => (g(), k(\"li\", {\n key: String(O.id),\n class: ue([\"autocomplete-result\", { \"is-active\": R === r.value }]),\n onMousedown: se((F) => c(O), [\"prevent\"])\n }, B(O.displayText ?? String(O.id)), 43, ps))), 128))\n ])) : W(\"\", !0)\n ])), [\n [P(cn), m]\n ]),\n e.label ? (g(), k(\"label\", gs, B(e.label), 1)) : W(\"\", !0)\n ], 64))\n ]));\n }\n}), ys = /* @__PURE__ */ ke(ws, [[\"__scopeId\", \"data-v-4b68886b\"]]), xs = { class: \"aform_form-element\" }, bs = { class: \"aform_display-value\" }, ks = { class: \"aform_field-label\" }, Ms = [\"id\", \"disabled\", \"required\"], Is = [\"for\"], Ts = [\"innerHTML\"], Ds = /* @__PURE__ */ ne({\n __name: \"ANumericInput\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = S(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), l = Te(e, \"modelValue\");\n return (a, n) => (g(), k(\"div\", xs, [\n e.mode === \"display\" ? (g(), k(X, { key: 0 }, [\n y(\"span\", bs, B(l.value ?? \"\"), 1),\n y(\"label\", ks, B(e.label), 1)\n ], 64)) : (g(), k(X, { key: 1 }, [\n _(y(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": n[0] || (n[0] = (o) => l.value = o),\n class: \"aform_input-field\",\n type: \"number\",\n disabled: e.mode === \"read\",\n required: e.required\n }, null, 8, Ms), [\n [ge, l.value]\n ]),\n y(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, B(e.label), 9, Is),\n _(y(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, Ts), [\n [xe, t.value]\n ])\n ], 64))\n ]));\n }\n});\nfunction $s(e) {\n try {\n return yt(e);\n } catch {\n return;\n }\n}\nfunction Cs(e) {\n const t = e.value;\n if (!t) return;\n const l = $s(t);\n if (l) {\n const n = e.instance?.locale;\n return l(n);\n }\n return t;\n}\nfunction Ss(e, t) {\n let l = e;\n const a = [t, \"/\", \"-\", \"(\", \")\", \" \"];\n for (const n of a)\n l = l.replaceAll(n, \"\");\n return l;\n}\nfunction As(e, t, l) {\n let a = t;\n for (const n of e) {\n const o = a.indexOf(l);\n if (o !== -1) {\n const s = a.substring(0, o), d = a.substring(o + 1);\n a = s + n + d;\n }\n }\n return a.slice(0, t.length);\n}\nfunction Ls(e, t) {\n const l = Cs(t);\n if (!l) return;\n const a = \"#\", n = e.value, o = Ss(n, a);\n if (o) {\n const s = As(o, l, a), d = t.instance;\n d?.maskFilled && (d.maskFilled = !s.includes(a)), e.value = s;\n } else\n e.value = l;\n}\nconst Rs = { class: \"aform_form-element\" }, Es = { class: \"aform_display-value\" }, Hs = { class: \"aform_field-label\" }, Vs = [\"id\", \"disabled\", \"maxlength\", \"required\"], Bs = [\"for\"], Fs = [\"innerHTML\"], Ps = /* @__PURE__ */ ne({\n __name: \"ATextInput\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = S(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), l = A(!0), a = Te(e, \"modelValue\");\n return (n, o) => (g(), k(\"div\", Rs, [\n e.mode === \"display\" ? (g(), k(X, { key: 0 }, [\n y(\"span\", Es, B(a.value ?? \"\"), 1),\n y(\"label\", Hs, B(e.label), 1)\n ], 64)) : (g(), k(X, { key: 1 }, [\n _(y(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": o[0] || (o[0] = (s) => a.value = s),\n class: \"aform_input-field\",\n disabled: e.mode === \"read\",\n maxlength: e.mask && l.value ? e.mask.length : void 0,\n required: e.required\n }, null, 8, Vs), [\n [ge, a.value],\n [P(Ls), e.mask]\n ]),\n y(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, B(e.label), 9, Bs),\n _(y(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, Fs), [\n [xe, t.value]\n ])\n ], 64))\n ]));\n }\n}), Ns = { class: \"aform_form-element\" }, Os = { class: \"aform_display-value\" }, Zs = { class: \"aform_field-label\" }, Us = [\"id\", \"disabled\", \"required\"], Gs = [\"for\"], Ws = [\"innerHTML\"], qs = /* @__PURE__ */ ne({\n __name: \"ATextarea\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = S(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), l = Te(e, \"modelValue\");\n return (a, n) => (g(), k(\"div\", Ns, [\n e.mode === \"display\" ? (g(), k(X, { key: 0 }, [\n y(\"span\", Os, B(l.value ?? \"\"), 1),\n y(\"label\", Zs, B(e.label), 1)\n ], 64)) : (g(), k(X, { key: 1 }, [\n _(y(\"textarea\", {\n id: e.uuid,\n \"onUpdate:modelValue\": n[0] || (n[0] = (o) => l.value = o),\n class: \"aform_input-field aform_textarea\",\n disabled: e.mode === \"read\",\n required: e.required\n }, null, 8, Us), [\n [ge, l.value]\n ]),\n y(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, B(e.label), 9, Gs),\n _(y(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, Ws), [\n [xe, t.value]\n ])\n ], 64))\n ]));\n }\n}), js = { class: \"login-container\" }, zs = { class: \"account-container\" }, _s = { class: \"account-header\" }, Xs = { id: \"account-title\" }, Ys = { id: \"account-subtitle\" }, Ks = { class: \"login-form-container\" }, Js = { class: \"login-form-email aform_form-element\" }, Qs = [\"disabled\"], er = { class: \"login-form-password aform_form-element\" }, tr = [\"disabled\"], nr = [\"disabled\"], lr = {\n key: 0,\n class: \"material-symbols-outlined loading-icon\"\n}, or = /* @__PURE__ */ ne({\n __name: \"Login\",\n props: {\n headerTitle: { default: \"Login\" },\n headerSubtitle: { default: \"Enter your email and password to login\" }\n },\n emits: [\"loginFailed\", \"loginSuccess\"],\n setup(e, { emit: t }) {\n const l = t, a = A(\"\"), n = A(\"\"), o = A(!1), s = A(!1);\n function d(r) {\n if (r.preventDefault(), o.value = !0, s.value) {\n o.value = !1, l(\"loginFailed\");\n return;\n }\n o.value = !1, l(\"loginSuccess\");\n }\n return (r, i) => (g(), k(\"div\", js, [\n y(\"div\", null, [\n y(\"div\", zs, [\n y(\"div\", _s, [\n y(\"h1\", Xs, B(e.headerTitle), 1),\n y(\"p\", Ys, B(e.headerSubtitle), 1)\n ]),\n y(\"form\", { onSubmit: d }, [\n y(\"div\", Ks, [\n y(\"div\", Js, [\n i[2] || (i[2] = y(\"label\", {\n id: \"login-email\",\n for: \"email\",\n class: \"aform_field-label\"\n }, \"Email\", -1)),\n _(y(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": i[0] || (i[0] = (h) => a.value = h),\n class: \"aform_input-field\",\n name: \"email\",\n placeholder: \"name@example.com\",\n type: \"email\",\n \"auto-capitalize\": \"none\",\n \"auto-complete\": \"email\",\n \"auto-correct\": \"off\",\n disabled: o.value\n }, null, 8, Qs), [\n [ge, a.value]\n ])\n ]),\n y(\"div\", er, [\n i[3] || (i[3] = y(\"label\", {\n id: \"login-password\",\n for: \"password\",\n class: \"aform_field-label\"\n }, \"Password\", -1)),\n _(y(\"input\", {\n id: \"password\",\n \"onUpdate:modelValue\": i[1] || (i[1] = (h) => n.value = h),\n class: \"aform_input-field\",\n name: \"password\",\n type: \"password\",\n disabled: o.value\n }, null, 8, tr), [\n [ge, n.value]\n ])\n ]),\n y(\"button\", {\n class: \"btn\",\n disabled: o.value || !a.value || !n.value,\n onClick: d\n }, [\n o.value ? (g(), k(\"span\", lr, \"progress_activity\")) : W(\"\", !0),\n i[4] || (i[4] = y(\"span\", { id: \"login-form-button\" }, \"Login\", -1))\n ], 8, nr)\n ])\n ], 32),\n i[5] || (i[5] = y(\"button\", { class: \"btn\" }, [\n y(\"span\", { id: \"forgot-password-button\" }, \"Forgot password?\")\n ], -1))\n ])\n ])\n ]));\n }\n}), vr = /* @__PURE__ */ ke(or, [[\"__scopeId\", \"data-v-2c0f0634\"]]), ar = {}, sr = { class: \"aform-loading\" }, rr = { class: \"aform-loading__label\" };\nfunction ir(e, t) {\n return g(), k(\"div\", sr, [\n y(\"div\", rr, [\n Ie(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = y(\"div\", { class: \"aform-loading__bar\" }, null, -1))\n ]);\n}\nconst ur = /* @__PURE__ */ ke(ar, [[\"render\", ir], [\"__scopeId\", \"data-v-274f5ba3\"]]);\nfunction fr(e) {\n e.use(Mo), e.component(\"ACheckbox\", Ro), e.component(\"ADate\", wa), e.component(\"ADropdown\", Aa), e.component(\"ADatePicker\", dn), e.component(\"ADateTime\", bt), e.component(\"ADateRange\", qa), e.component(\"ADateSelection\", rt), e.component(\"AFieldset\", Qa), e.component(\"AFileAttach\", rs), e.component(\"AForm\", vn), e.component(\"AFormLink\", ys), e.component(\"ANumericInput\", Ds), e.component(\"ATextInput\", Ps), e.component(\"ATextarea\", qs), e.component(\"ADuration\", Pa), e.component(\"AFormLoading\", ur);\n}\nexport {\n Ro as ACheckbox,\n wa as ADate,\n dn as ADatePicker,\n qa as ADateRange,\n rt as ADateSelection,\n bt as ADateTime,\n Aa as ADropdown,\n Pa as ADuration,\n Qa as AFieldset,\n rs as AFileAttach,\n vn as AForm,\n ys as AFormLink,\n ur as AFormLoading,\n Ds as ANumericInput,\n Ps as ATextInput,\n qs as ATextarea,\n vr as Login,\n yt as deserializeFunction,\n fr as install\n};\n//# sourceMappingURL=aform.js.map\n","<template>\n\t<footer>\n\t\t<ul class=\"tabs\">\n\t\t\t<li class=\"hidebreadcrumbs\" @click=\"toggleBreadcrumbs\" @keydown.enter=\"toggleBreadcrumbs\">\n\t\t\t\t<a tabindex=\"0\"><div :class=\"rotateHideTabIcon\">×</div></a>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tclass=\"hometab\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\"\n\t\t\t\t@click=\"navigateHome\"\n\t\t\t\t@keydown.enter=\"navigateHome\">\n\t\t\t\t<router-link to=\"/\" tabindex=\"0\">\n\t\t\t\t\t<svg class=\"icon\" aria-label=\"Home\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n\t\t\t\t\t\t<path d=\"M3 12l9-9 9 9\" />\n\t\t\t\t\t\t<path d=\"M9 21V12h6v9\" />\n\t\t\t\t\t</svg>\n\t\t\t\t</router-link>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\t:class=\"['searchtab', { 'search-active': searchVisible }]\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\n\t\t\t\t<a tabindex=\"0\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tv-show=\"!searchVisible\"\n\t\t\t\t\t\tclass=\"icon search-icon\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-label=\"Search\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t@click=\"toggleSearch\"\n\t\t\t\t\t\t@keydown.enter=\"toggleSearch\">\n\t\t\t\t\t\t<circle cx=\"11\" cy=\"11\" r=\"7\" />\n\t\t\t\t\t\t<path d=\"M21 21l-4.35-4.35\" />\n\t\t\t\t\t</svg>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-show=\"searchVisible\"\n\t\t\t\t\t\tref=\"searchinput\"\n\t\t\t\t\t\tv-model=\"searchText\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t@click.stop\n\t\t\t\t\t\t@input=\"handleSearchInput($event)\"\n\t\t\t\t\t\t@blur=\"handleSearch($event)\"\n\t\t\t\t\t\t@keydown.enter=\"handleSearch($event)\"\n\t\t\t\t\t\t@keydown.escape=\"toggleSearch\" />\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tv-for=\"breadcrumb in breadcrumbs\"\n\t\t\t\t:key=\"breadcrumb.title\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\n\t\t\t\t<router-link tabindex=\"0\" :to=\"breadcrumb.to\"> {{ breadcrumb.title }} </router-link>\n\t\t\t</li>\n\t\t</ul>\n\t</footer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, useTemplateRef } from 'vue'\n\nconst { breadcrumbs = [] } = defineProps<{ breadcrumbs?: { title: string; to: string }[] }>()\n\nconst breadcrumbsVisibile = ref(true)\nconst searchVisible = ref(false)\nconst searchText = ref('')\nconst inputRef = useTemplateRef<HTMLInputElement>('searchinput')\n\nconst rotateHideTabIcon = computed(() => {\n\treturn breadcrumbsVisibile.value ? 'unrotated' : 'rotated'\n})\n\nconst toggleBreadcrumbs = () => {\n\tbreadcrumbsVisibile.value = !breadcrumbsVisibile.value\n}\n\nconst toggleSearch = async () => {\n\tsearchVisible.value = !searchVisible.value\n\tawait nextTick(() => {\n\t\tinputRef.value?.focus()\n\t})\n}\n\nconst handleSearchInput = (event: Event | MouseEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n}\n\nconst handleSearch = async (event: FocusEvent | KeyboardEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n\tawait toggleSearch()\n}\n\nconst navigateHome = (/* event: MouseEvent | KeyboardEvent */) => {\n\t// navigate home\n}\n</script>\n\n<style scoped>\nfooter {\n\tposition: fixed;\n\tbottom: 0px;\n\twidth: 100%;\n\tbackground-color: transparent;\n\theight: auto;\n\tmin-height: 2.4rem;\n\tz-index: 100;\n\ttext-align: left;\n\tfont-size: 100%;\n\tdisplay: flex;\n\tjustify-content: right;\n\tpadding: 0 0.75rem 0 0;\n\tbox-sizing: border-box;\n}\nul {\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\n.tabs li {\n\tfloat: left;\n\tlist-style-type: none;\n\tposition: relative;\n\tmargin-left: -1px;\n}\n\n/* Base tab styling */\n.tabs a {\n\tfloat: left;\n\tpadding: 0.5rem 1rem;\n\theight: 2.4rem;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttext-decoration: none;\n\tcolor: var(--sc-gray-60, #666);\n\tbackground: var(--sc-btn-color, #ffffff);\n\tborder: 1px solid var(--sc-btn-border, #ccc);\n\tfont-size: 0.85rem;\n\tfont-family: var(--sc-font-family, system-ui, sans-serif);\n\ttransition: all 0.15s ease;\n\n\t/* Minimal ornamentation - subtle top radius only */\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n}\n\n.tabs a:hover {\n\tbackground: var(--sc-btn-hover, #f2f2f2);\n}\n\n.tabs .router-link-active {\n\tz-index: 3;\n\tbackground: var(--sc-primary-color, #827553) !important;\n\tborder-color: var(--sc-primary-color, #827553) !important;\n\tcolor: var(--sc-primary-text-color, #fff) !important;\n}\n\n/* Pseudo-elements removed - minimal ornamentation style */\n\n/* Hide breadcrumbs tab */\n.hidebreadcrumbs a {\n\tmin-width: 2.4rem;\n\twidth: 2.4rem;\n\theight: 2.4rem;\n\tpadding: 0.5rem;\n\tbackground: var(--sc-btn-color, #ffffff);\n\tborder: 1px solid var(--sc-btn-border, #ccc);\n\tcolor: var(--sc-gray-60, #666);\n}\n\n.hidebreadcrumbs a div {\n\tfont-size: 1.2rem;\n}\n\n.rotated {\n\ttransform: rotate(45deg);\n\t-webkit-transform: rotate(45deg);\n\t-moz-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\t-o-transform: rotate(45deg);\n\ttransition: transform 250ms ease;\n}\n.unrotated {\n\ttransform: rotate(0deg);\n\t-webkit-transform: rotate(0deg);\n\t-moz-transform: rotate(0deg);\n\t-ms-transform: rotate(0deg);\n\t-o-transform: rotate(0deg);\n\ttransition: transform 250ms ease;\n}\n\nli:active,\nli:hover,\nli:focus,\nli > a:active,\nli > a:hover,\nli > a:focus {\n\tz-index: 3;\n}\n\na:active,\na:hover,\na:focus {\n\toutline: 2px solid var(--sc-input-active-border-color, black);\n\tz-index: 3;\n}\n\n/* Home tab */\n.hometab a {\n\tmin-width: 2.4rem;\n\twidth: 2.4rem;\n\theight: 2.4rem;\n\tpadding: 0.5rem;\n\tbackground: var(--sc-btn-color, #ffffff);\n\tborder: 1px solid var(--sc-btn-border, #ccc);\n\tcolor: var(--sc-gray-60, #666);\n}\n\n/* SVG icon styling */\n.icon {\n\twidth: 1rem;\n\theight: 1rem;\n\tstroke: currentColor;\n\tflex-shrink: 0;\n}\n\n/* Search tab with animation */\n.searchtab {\n\toverflow: hidden;\n}\n\n.searchtab a {\n\tmin-width: 2.4rem;\n\theight: 2.4rem;\n\tpadding: 0.5rem;\n\tbackground: var(--sc-btn-color, #ffffff);\n\tborder: 1px solid var(--sc-btn-border, #ccc);\n\tcolor: var(--sc-gray-60, #666);\n\toverflow: hidden;\n\t/* Animation for smooth expand/collapse */\n\tmax-width: 2.4rem;\n\ttransition:\n\t\tmax-width 0.35s ease-in-out,\n\t\tpadding 0.35s ease-in-out,\n\t\tbackground 0.2s ease;\n}\n\n.searchtab .search-icon {\n\tcursor: pointer;\n}\n\n.searchtab input {\n\toutline: none;\n\tborder: 1px solid var(--sc-input-border-color, #ccc);\n\tborder-radius: 0.25rem;\n\tbackground-color: var(--sc-form-background, #ffffff);\n\tcolor: var(--sc-gray-80, #333);\n\ttext-align: left;\n\tfont-size: 0.875rem;\n\tpadding: 0.25rem 0.5rem;\n\twidth: 180px;\n\theight: 1.5rem;\n\tflex-shrink: 0;\n\topacity: 0;\n\ttransition: opacity 0.2s ease-in-out;\n\ttransition-delay: 0s;\n}\n\n.searchtab input:focus {\n\tborder-color: var(--sc-input-active-border-color, #4f46e5);\n\toutline: none;\n}\n\n.searchtab input::placeholder {\n\tcolor: var(--sc-input-label-color, #999);\n}\n\n/* Search active state - expanded with animation */\n.searchtab.search-active a {\n\tmax-width: 200px;\n\tmin-width: auto;\n\twidth: auto;\n\tpadding: 0.5rem 0.75rem;\n}\n\n.searchtab.search-active input {\n\topacity: 1;\n\ttransition-delay: 0.15s;\n}\n</style>\n","<template>\n\t<div class=\"desktop\" @click=\"handleClick\">\n\t\t<!-- Action Set -->\n\t\t<ActionSet :elements=\"actionElements\" @action-click=\"handleActionClick\" />\n\n\t\t<!-- Main content using AForm -->\n\t\t<AForm\n\t\t\tv-if=\"currentViewSchema.length > 0\"\n\t\t\tv-model:data=\"currentViewData\"\n\t\t\t:schema=\"currentViewSchema\"\n\t\t\t:errors=\"fieldErrors\" />\n\t\t<div v-else-if=\"!stonecrop\" class=\"loading\"><p>Initializing Stonecrop...</p></div>\n\t\t<div v-else class=\"loading\">\n\t\t\t<p>Loading {{ currentView }} data...</p>\n\t\t</div>\n\n\t\t<!-- Sheet Navigation -->\n\t\t<SheetNav :breadcrumbs=\"navigationBreadcrumbs\" />\n\n\t\t<!-- Command Palette -->\n\t\t<CommandPalette\n\t\t\t:is-open=\"commandPaletteOpen\"\n\t\t\t:search=\"searchCommands\"\n\t\t\tplaceholder=\"Type a command or search...\"\n\t\t\t@select=\"executeCommand\"\n\t\t\t@close=\"commandPaletteOpen = false\">\n\t\t\t<template #title=\"{ result }\">\n\t\t\t\t{{ result.title }}\n\t\t\t</template>\n\t\t\t<template #content=\"{ result }\">\n\t\t\t\t{{ result.description }}\n\t\t\t</template>\n\t\t</CommandPalette>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useStonecrop, useValidationStore } from '@stonecrop/stonecrop'\nimport { AForm, type AFormLinkNavigator, type ResolvedField, type ResolvedTable } from '@stonecrop/aform'\nimport type { ColumnSchema } from '@stonecrop/schema'\nimport { computed, onMounted, onUnmounted, provide, ref, unref, watch } from 'vue'\n\nimport ActionSet from './ActionSet.vue'\nimport SheetNav from './SheetNav.vue'\nimport CommandPalette from './CommandPalette.vue'\nimport type {\n\tActionElements,\n\tRouteAdapter,\n\tNavigationTarget,\n\tActionEventPayload,\n\tRecordOpenEventPayload,\n\tLoadRecordsEventPayload,\n\tLoadRecordEventPayload,\n} from '../types'\n\nconst {\n\tavailableDoctypes = [],\n\trouteAdapter,\n\tconfirmFn,\n\trecordIdField,\n} = defineProps<{\n\tavailableDoctypes?: string[]\n\t/**\n\t * Pluggable router adapter. When provided, Desktop uses these functions for all\n\t * routing instead of reaching into the registry's internal Vue Router instance.\n\t * Nuxt hosts (or any host with custom route conventions) should supply this.\n\t */\n\trouteAdapter?: RouteAdapter\n\t/**\n\t * Replacement for the native `confirm()` dialog. Desktop calls this before\n\t * performing a destructive action. Return `true` to proceed.\n\t * Defaults to the native `window.confirm` if omitted.\n\t */\n\tconfirmFn?: (message: string) => boolean | Promise<boolean>\n\t/**\n\t * The field name that holds the canonical record ID (e.g., 'rowId' for UUID).\n\t * Used for navigation and table row identification.\n\t * Defaults to 'id' if not specified.\n\t */\n\trecordIdField?: string\n}>()\n\nconst emit = defineEmits<{\n\t/**\n\t * Fired when the user triggers an FSM transition (action button click).\n\t * The host app is responsible for calling the server, persisting state, etc.\n\t */\n\taction: [payload: ActionEventPayload]\n\t/**\n\t * Fired when Desktop wants to navigate to a different view.\n\t * Also calls routeAdapter.navigate() if an adapter is provided.\n\t */\n\tnavigate: [target: NavigationTarget]\n\t/**\n\t * Fired when the user opens a specific record.\n\t */\n\t'record:open': [payload: RecordOpenEventPayload]\n\t/**\n\t * Fired when Desktop needs records for a list view.\n\t * The host app should fetch and populate HST.\n\t */\n\t'load-records': [payload: LoadRecordsEventPayload]\n\t/**\n\t * Fired when Desktop needs a single record for a form view.\n\t * The host app should fetch and populate HST.\n\t */\n\t'load-record': [payload: LoadRecordEventPayload]\n}>()\n\nconst { stonecrop } = useStonecrop()\n\n// Field-validation store (advisory, client-side). Pinia is a declared peerDependency, kept external\n// in this package's build (rollupOptions), so `useValidationStore()` resolves the host app's single\n// active Pinia directly — the old `getCurrentInstance().$pinia` workaround for the bundled-Pinia bug\n// is no longer needed. Still guarded: validation is optional and Desktop predates it, so a host that\n// mounts Desktop without Pinia disables validation gracefully instead of crashing on mount.\nlet validationStore: ReturnType<typeof useValidationStore> | null = null\ntry {\n\tvalidationStore = useValidationStore()\n} catch {\n\tvalidationStore = null\n}\n\n// Inline field errors handed to AForm. Only surfaced in the record form view (currentView is\n// defined below); empty elsewhere so a previous record's errors never bleed into a list view.\nconst fieldErrors = computed<Record<string, string[]>>(() =>\n\tcurrentView.value === 'record' ? (validationStore?.errorsByField ?? {}) : {}\n)\n\n// State\nconst loading = ref(false)\nconst commandPaletteOpen = ref(false)\n\n// Form/list data management — each view produces a different data shape.\n// List views (doctypes, records) return table row data keyed by fieldname.\n// Record view returns HST record fields for two-way binding.\nconst currentViewData = computed<Record<string, any>>({\n\tget() {\n\t\t// Doctypes list — rows come from availableDoctypes prop (reactive via availableDoctypes)\n\t\tif (currentView.value === 'doctypes') {\n\t\t\treturn {\n\t\t\t\tdoctypes_table:\n\t\t\t\t\tavailableDoctypes?.map(doctype => ({\n\t\t\t\t\t\tid: doctype,\n\t\t\t\t\t\tdoctype,\n\t\t\t\t\t\tdisplay_name: formatDoctypeName(doctype),\n\t\t\t\t\t\trecord_count: getRecordCount(doctype),\n\t\t\t\t\t\tactions: 'View Records',\n\t\t\t\t\t})) ?? [],\n\t\t\t}\n\t\t}\n\n\t\t// Records list — rows come from HST store (reactive because HST is Vue reactive())\n\t\tif (currentView.value === 'records') {\n\t\t\tconst idField = recordIdField || 'id'\n\t\t\treturn {\n\t\t\t\trecords_table: getRecords().map(record =>\n\t\t\t\t\tObject.assign({}, record, {\n\t\t\t\t\t\tid: record[idField] || record.id || '',\n\t\t\t\t\t\tactions: 'Edit | Delete',\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t}\n\t\t}\n\n\t\t// Record form — read single record from HST\n\t\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\t\treturn {}\n\t\t}\n\n\t\ttry {\n\t\t\tconst record = stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)\n\t\t\t// Return a plain shallow copy so AForm mutations don't propagate directly into\n\t\t\t// the HST reactive object, which would bypass field-trigger diffing and cause\n\t\t\t// setupDeepReactivity to fire triggers for all fields on every keystroke.\n\t\t\tconst flat: Record<string, any> = { ...record?.get('') }\n\n\t\t\t// AFieldset receives data[fieldsetFieldname] as its data prop, so the fieldset's\n\t\t\t// children must be grouped under the fieldset key. The server returns flat SQL rows,\n\t\t\t// so we nest fieldset children here before AForm renders them.\n\t\t\tconst doctype = stonecrop.value.registry.registry[currentDoctype.value]\n\t\t\tif (doctype) {\n\t\t\t\tfor (const field of doctype.getSchemaArray()) {\n\t\t\t\t\tif (field.kind === 'fieldset') {\n\t\t\t\t\t\tconst nested: Record<string, any> = {}\n\t\t\t\t\t\tfor (const child of field.schema) {\n\t\t\t\t\t\t\tif (child.fieldname) nested[child.fieldname] = flat[child.fieldname]\n\t\t\t\t\t\t}\n\t\t\t\t\t\tflat[field.fieldname] = nested\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn flat\n\t\t} catch {\n\t\t\treturn {}\n\t\t}\n\t},\n\tset(newData: Record<string, any>) {\n\t\t// List views are read-only from AForm's perspective — HST writes only apply to record form\n\t\tif (currentView.value !== 'record') return\n\t\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\t\treturn\n\t\t}\n\n\t\ttry {\n\t\t\t// AForm emits nested data for fieldsets: { fieldsetKey: { childA: val } }.\n\t\t\t// HST and the server both expect flat rows, so flatten fieldset values back before writing.\n\t\t\tconst doctype = stonecrop.value.registry.registry[currentDoctype.value]\n\t\t\tconst fieldsetNames = new Set<string>()\n\t\t\tif (doctype) {\n\t\t\t\tfor (const field of doctype.getSchemaArray()) {\n\t\t\t\t\tif (field.kind === 'fieldset') {\n\t\t\t\t\t\tfieldsetNames.add(field.fieldname)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Two-pass flatten: non-fieldset keys first, then fieldset children.\n\t\t\t// Fieldset children must be applied last — AForm may emit stale flat copies\n\t\t\t// of fieldset children alongside the updated nested value, and the nested\n\t\t\t// value must win regardless of key insertion order.\n\t\t\tconst flatData: Record<string, any> = {}\n\t\t\tconst fieldsetValues: Record<string, any>[] = []\n\t\t\tfor (const [key, value] of Object.entries(newData)) {\n\t\t\t\tif (fieldsetNames.has(key) && value && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t\t\tfieldsetValues.push(value)\n\t\t\t\t} else {\n\t\t\t\t\tflatData[key] = value\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (const nestedValue of fieldsetValues) {\n\t\t\t\tObject.assign(flatData, nestedValue)\n\t\t\t}\n\n\t\t\t// Only update fields that actually changed. Never write undefined — AForm may emit\n\t\t\t// schema fields absent from the record as undefined; writing them would silently\n\t\t\t// clear values that exist in HST. Explicit null is allowed (intentional clear).\n\t\t\tconst hstStore = stonecrop.value.getStore()\n\t\t\tconst changedFields: string[] = []\n\t\t\tfor (const [fieldname, value] of Object.entries(flatData)) {\n\t\t\t\tif (value === undefined) continue\n\t\t\t\tconst fieldPath = `${currentDoctype.value}.${currentRecordId.value}.${fieldname}`\n\t\t\t\tconst currentValue = hstStore.has(fieldPath) ? hstStore.get(fieldPath) : undefined\n\t\t\t\tif (currentValue !== value) {\n\t\t\t\t\thstStore.set(fieldPath, value)\n\t\t\t\t\tchangedFields.push(fieldname)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Advisory field-validation runs on the fields that actually changed (honors each\n\t\t\t// trigger's `on` set). Driven here, after the HST writes, so HST stays value-only.\n\t\t\tif (changedFields.length > 0) {\n\t\t\t\tdriveFieldValidation(changedFields)\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.warn('HST update failed:', error)\n\t\t}\n\t},\n})\n\n// Advisory field-validation: run the doctype's triggers for the fields that changed on this edit.\n// Snapshots the post-edit record as a plain, flat object so validators read siblings read-only\n// (the core store freezes it). Fire-and-forget — the reactive error store repaints AForm on resolve.\nfunction driveFieldValidation(changedFields: string[]) {\n\tif (!validationStore || !stonecrop.value || !currentDoctype.value || !currentRecordId.value) return\n\n\tconst doctype = stonecrop.value.registry.getDoctype(currentDoctype.value)\n\tconst triggers = doctype?.getTriggers()\n\tif (!triggers || Object.keys(triggers).length === 0) return\n\n\tconst node = stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)\n\tconst record = { ...(node?.get('') as Record<string, unknown>) }\n\n\tfor (const field of changedFields) {\n\t\tvoid validationStore.validateField(triggers, field, record)\n\t}\n}\n\n// Computed properties for current route context.\n// When a routeAdapter is provided it takes full precedence over the registry's internal router.\nconst route = computed(() => (routeAdapter ? null : unref(stonecrop.value?.registry.router?.currentRoute)))\nconst router = computed(() => (routeAdapter ? null : stonecrop.value?.registry.router))\nconst currentDoctype = computed(() => {\n\tif (routeAdapter) return routeAdapter.getCurrentDoctype()\n\tif (!route.value) return ''\n\n\t// First check if we have actualDoctype in meta (from registered routes)\n\tif (route.value.meta?.actualDoctype) {\n\t\treturn route.value.meta.actualDoctype as string\n\t}\n\n\t// For named routes, use params.doctype\n\tif (route.value.params.doctype) {\n\t\treturn route.value.params.doctype.toString()\n\t}\n\n\t// For catch-all routes that haven't been registered yet, extract from path\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 0) {\n\t\treturn pathMatch[0]\n\t}\n\n\treturn ''\n})\n\n// The route doctype for display and navigation (e.g., 'todo')\nconst routeDoctype = computed(() => {\n\tif (routeAdapter) return routeAdapter.getCurrentDoctype()\n\tif (!route.value) return ''\n\n\t// Check route meta first\n\tif (route.value.meta?.doctype) {\n\t\treturn route.value.meta.doctype as string\n\t}\n\n\t// For named routes, use params.doctype\n\tif (route.value.params.doctype) {\n\t\treturn route.value.params.doctype.toString()\n\t}\n\n\t// For catch-all routes, extract from path\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 0) {\n\t\treturn pathMatch[0]\n\t}\n\n\treturn ''\n})\n\nconst currentRecordId = computed(() => {\n\tif (routeAdapter) return routeAdapter.getCurrentRecordId()\n\tif (!route.value) return ''\n\n\t// For named routes, use params.recordId\n\tif (route.value.params.recordId) {\n\t\treturn route.value.params.recordId.toString()\n\t}\n\n\t// For catch-all routes that haven't been registered yet, extract from path\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 1) {\n\t\treturn pathMatch[1]\n\t}\n\n\treturn ''\n})\nconst isNewRecord = computed(() => currentRecordId.value?.startsWith('new-'))\n\n// Determine current view based on route\nconst currentView = computed(() => {\n\tif (routeAdapter) return routeAdapter.getCurrentView()\n\tif (!route.value) {\n\t\treturn 'doctypes'\n\t}\n\n\t// Home route\n\tif (route.value.name === 'home' || route.value.path === '/') {\n\t\treturn 'doctypes'\n\t}\n\n\t// Named routes from registered doctypes\n\tif (route.value.name && route.value.name !== 'catch-all') {\n\t\tconst routeName = route.value.name as string\n\t\tif (routeName.includes('form') || route.value.params.recordId) {\n\t\t\treturn 'record'\n\t\t} else if (routeName.includes('list') || route.value.params.doctype) {\n\t\t\treturn 'records'\n\t\t}\n\t}\n\n\t// Catch-all route - determine from path structure\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 0) {\n\t\tconst view = pathMatch.length === 1 ? 'records' : 'record'\n\t\treturn view\n\t}\n\n\treturn 'doctypes'\n})\n\n// Computed properties (now that all helper functions are defined)\n// Helper function to get available transitions for current record.\n// Reads the actual FSM state from the record's `status` field (or falls back to the\n// workflow initial state) so the available action buttons always reflect reality.\nconst getAvailableTransitions = () => {\n\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\treturn []\n\t}\n\n\ttry {\n\t\tconst doctype = stonecrop.value.registry.getDoctype(currentDoctype.value)\n\t\tif (!doctype?.workflow) return []\n\n\t\t// Delegate state resolution to Stonecrop — reads record 'status', falls back to workflow.initial\n\t\tconst currentState = stonecrop.value.getRecordState(currentDoctype.value, currentRecordId.value)\n\n\t\t// Delegate transition lookup to Doctype — no more manual workflow introspection\n\t\tconst transitions = doctype.getAvailableTransitions(currentState)\n\n\t\tconst recordData = currentViewData.value || {}\n\n\t\t// Each transition emits an 'action' event. The host app decides what to do\n\t\t// (call the server, trigger an FSM actor, update HST, etc.).\n\t\treturn transitions.map(({ name }) => ({\n\t\t\t// Prefer the workflow action's human-readable label (WorkflowMeta format);\n\t\t\t// fall back to the raw transition name for XState workflows with no action meta.\n\t\t\tlabel: doctype.getActionMeta(name)?.label ?? name,\n\t\t\taction: () => {\n\t\t\t\temit('action', {\n\t\t\t\t\tname,\n\t\t\t\t\tdoctype: currentDoctype.value,\n\t\t\t\t\trecordId: currentRecordId.value,\n\t\t\t\t\tdata: recordData,\n\t\t\t\t})\n\t\t\t},\n\t\t}))\n\t} catch (error) {\n\t\tconsole.warn('Error getting available transitions:', error)\n\t\treturn []\n\t}\n}\n\n// Helper: stateless Commands available for the current record — side-effect actions that\n// change no workflow state. Surfaced in the same Actions dropdown as transitions; each emits\n// the same 'action' event, so the host's handler runs a Command's clientHandler identically.\nconst getAvailableCommands = () => {\n\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\treturn []\n\t}\n\n\ttry {\n\t\tconst doctype = stonecrop.value.registry.getDoctype(currentDoctype.value)\n\t\tif (!doctype?.workflow) return []\n\n\t\tconst currentState = stonecrop.value.getRecordState(currentDoctype.value, currentRecordId.value)\n\t\tconst commands = doctype.getAvailableCommands(currentState)\n\t\tconst recordData = currentViewData.value || {}\n\n\t\treturn commands.map(({ name }) => ({\n\t\t\tlabel: doctype.getActionMeta(name)?.label ?? name,\n\t\t\taction: () => {\n\t\t\t\temit('action', {\n\t\t\t\t\tname,\n\t\t\t\t\tdoctype: currentDoctype.value,\n\t\t\t\t\trecordId: currentRecordId.value,\n\t\t\t\t\tdata: recordData,\n\t\t\t\t})\n\t\t\t},\n\t\t}))\n\t} catch (error) {\n\t\tconsole.warn('Error getting available commands:', error)\n\t\treturn []\n\t}\n}\n\nconst actionElements = computed(() => {\n\tconst elements: ActionElements[] = []\n\n\tswitch (currentView.value) {\n\t\tcase 'records':\n\t\t\telements.push({\n\t\t\t\ttype: 'button',\n\t\t\t\tlabel: 'New Record',\n\t\t\t\taction: () => void createNewRecord(),\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'record': {\n\t\t\t// Populate the Actions dropdown with every FSM transition AND stateless Command\n\t\t\t// available in the record's current state. Clicking either emits 'action'.\n\t\t\tconst recordActions = [...getAvailableTransitions(), ...getAvailableCommands()]\n\t\t\tif (recordActions.length > 0) {\n\t\t\t\telements.push({\n\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\tlabel: 'Actions',\n\t\t\t\t\tactions: recordActions,\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn elements\n})\n\nconst navigationBreadcrumbs = computed(() => {\n\tconst breadcrumbs: { title: string; to: string }[] = []\n\n\tif (currentView.value === 'records' && routeDoctype.value) {\n\t\tbreadcrumbs.push(\n\t\t\t{ title: 'Home', to: '/' },\n\t\t\t{ title: formatDoctypeName(routeDoctype.value), to: `/${routeDoctype.value}` }\n\t\t)\n\t} else if (currentView.value === 'record' && routeDoctype.value) {\n\t\tconst recordPath = currentRecordId.value\n\t\t\t? `/${routeDoctype.value}/${currentRecordId.value}`\n\t\t\t: (route.value?.fullPath ?? '')\n\t\tbreadcrumbs.push(\n\t\t\t{ title: 'Home', to: '/' },\n\t\t\t{ title: formatDoctypeName(routeDoctype.value), to: `/${routeDoctype.value}` },\n\t\t\t{ title: isNewRecord.value ? 'New Record' : 'Edit Record', to: recordPath }\n\t\t)\n\t}\n\n\treturn breadcrumbs\n})\n\n// Command palette functionality\ntype Command = {\n\ttitle: string\n\tdescription: string\n\taction: () => void\n}\n\nconst searchCommands = (query: string): Command[] => {\n\tconst commands: Command[] = [\n\t\t{\n\t\t\ttitle: 'Go Home',\n\t\t\tdescription: 'Navigate to the home page',\n\t\t\taction: () => void doNavigate({ view: 'doctypes' }),\n\t\t},\n\t\t{\n\t\t\ttitle: 'Toggle Command Palette',\n\t\t\tdescription: 'Open/close the command palette',\n\t\t\taction: () => (commandPaletteOpen.value = !commandPaletteOpen.value),\n\t\t},\n\t]\n\n\t// Add doctype-specific commands\n\tif (routeDoctype.value) {\n\t\tcommands.push({\n\t\t\ttitle: `View ${formatDoctypeName(routeDoctype.value)} Records`,\n\t\t\tdescription: `Navigate to ${routeDoctype.value} list`,\n\t\t\taction: () => void doNavigate({ view: 'records', doctype: routeDoctype.value }),\n\t\t})\n\n\t\tcommands.push({\n\t\t\ttitle: `Create New ${formatDoctypeName(routeDoctype.value)}`,\n\t\t\tdescription: `Create a new ${routeDoctype.value} record`,\n\t\t\taction: () => void createNewRecord(),\n\t\t})\n\t}\n\n\t// Add available doctypes as commands\n\tavailableDoctypes.forEach(doctype => {\n\t\tcommands.push({\n\t\t\ttitle: `View ${formatDoctypeName(doctype)}`,\n\t\t\tdescription: `Navigate to ${doctype} list`,\n\t\t\taction: () => void doNavigate({ view: 'records', doctype }),\n\t\t})\n\t})\n\n\t// Filter commands based on query\n\tif (!query) return commands\n\n\treturn commands.filter(\n\t\tcmd =>\n\t\t\tcmd.title.toLowerCase().includes(query.toLowerCase()) ||\n\t\t\tcmd.description.toLowerCase().includes(query.toLowerCase())\n\t)\n}\n\nconst executeCommand = (command: Command) => {\n\tcommand.action()\n\tcommandPaletteOpen.value = false\n}\n\n// Helper functions - moved here to avoid \"before initialization\" errors\nconst formatDoctypeName = (doctype: string): string => {\n\treturn doctype\n\t\t.split('-')\n\t\t.map(word => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join(' ')\n}\n\nconst getRecordCount = (doctype: string): number => {\n\tif (!stonecrop.value) return 0\n\tconst recordIds = stonecrop.value.getRecordIds(doctype)\n\treturn recordIds.length\n}\n\n// Internal navigation helper: emits 'navigate', then calls the adapter (if any)\n// or falls back to the registry's Vue Router instance.\nconst doNavigate = async (target: NavigationTarget) => {\n\temit('navigate', target)\n\tif (routeAdapter) {\n\t\tawait routeAdapter.navigate(target)\n\t} else {\n\t\tif (target.view === 'doctypes') {\n\t\t\tawait router.value?.push('/')\n\t\t} else if (target.view === 'records' && target.doctype) {\n\t\t\tawait router.value?.push(`/${target.doctype}`)\n\t\t} else if (target.view === 'record' && target.doctype && target.recordId) {\n\t\t\tawait router.value?.push(`/${target.doctype}/${target.recordId}`)\n\t\t}\n\t}\n}\n\nconst navigateToDoctype = async (doctype: string) => {\n\tawait doNavigate({ view: 'records', doctype })\n}\n\nconst openRecord = async (recordId: string) => {\n\tconst doctype = routeDoctype.value\n\temit('record:open', { doctype, recordId })\n\tawait doNavigate({ view: 'record', doctype, recordId })\n}\n\nconst createNewRecord = async () => {\n\tconst newId = `new-${Date.now()}`\n\tawait doNavigate({ view: 'record', doctype: routeDoctype.value, recordId: newId })\n}\n\n// Flatten Fieldset containers into individual columns for list/table views.\n// A Fieldset groups form fields visually but has no DB column; its children are the\n// actual data fields and should appear as flat columns in a list view.\nconst flattenFieldsets = (fields: ResolvedField[]): ResolvedField[] => {\n\tconst result: ResolvedField[] = []\n\tfor (const field of fields) {\n\t\tif (field.kind === 'fieldset') {\n\t\t\tresult.push(...flattenFieldsets(field.schema))\n\t\t} else {\n\t\t\tresult.push(field)\n\t\t}\n\t}\n\treturn result\n}\n\n// Schema generator functions - moved here to be available to computed properties\nconst getDoctypesSchema = (): ResolvedField[] => {\n\tif (!availableDoctypes?.length) return []\n\n\treturn [\n\t\t{\n\t\t\tkind: 'table' as const,\n\t\t\tfieldname: 'doctypes_table',\n\t\t\tcomponent: 'ATable',\n\t\t\tlabel: 'Doctypes',\n\t\t\tschema: [\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'doctype',\n\t\t\t\t\tlabel: 'Doctype',\n\t\t\t\t\tcomponent: 'ATextInput',\n\t\t\t\t\talign: 'left' as const,\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '20ch',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'display_name',\n\t\t\t\t\tlabel: 'Name',\n\t\t\t\t\tcomponent: 'ATextInput',\n\t\t\t\t\talign: 'left' as const,\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '30ch',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'record_count',\n\t\t\t\t\tlabel: 'Records',\n\t\t\t\t\tcomponent: 'ANumericInput',\n\t\t\t\t\talign: 'center' as const,\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '15ch',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'actions',\n\t\t\t\t\tlabel: 'Actions',\n\t\t\t\t\tcomponent: 'ATextInput',\n\t\t\t\t\talign: 'center' as const,\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '20ch',\n\t\t\t\t},\n\t\t\t],\n\t\t\tconfig: { view: 'list' as const, fullWidth: true },\n\t\t} satisfies ResolvedTable,\n\t]\n}\n\nconst getRecordsSchema = (): ResolvedField[] => {\n\tif (!currentDoctype.value) return []\n\tif (!stonecrop.value) return []\n\n\tconst registry = stonecrop.value.registry\n\tconst doctype = registry.registry[currentDoctype.value]\n\n\tif (!doctype) return []\n\n\tconst schema = registry.resolveSchema(doctype)\n\n\t// If no schema is available, let the template fallback handle the loading state\n\tif (schema.length === 0) return []\n\n\treturn [\n\t\t{\n\t\t\tkind: 'table' as const,\n\t\t\tfieldname: 'records_table',\n\t\t\tcomponent: 'ATable',\n\t\t\tschema: [\n\t\t\t\t...(flattenFieldsets(schema) as ColumnSchema[]),\n\t\t\t\t{ fieldname: 'actions', label: 'Actions', component: 'ATextInput' },\n\t\t\t],\n\t\t\tconfig: { view: 'list' as const, fullWidth: true },\n\t\t} satisfies ResolvedTable,\n\t]\n}\n\nconst getRecordFormSchema = (): ResolvedField[] => {\n\tif (!currentDoctype.value) return []\n\tif (!stonecrop.value) return []\n\n\ttry {\n\t\tconst registry = stonecrop.value?.registry\n\t\tconst doctype = registry?.registry[currentDoctype.value]\n\n\t\tif (!doctype?.schema) {\n\t\t\t// Let the template fallback handle the loading state\n\t\t\treturn []\n\t\t}\n\n\t\treturn registry.resolveSchema(doctype)\n\t} catch {\n\t\treturn []\n\t}\n}\n\n// Additional data helper functions\nconst getRecords = () => {\n\tif (!stonecrop.value || !currentDoctype.value) {\n\t\treturn []\n\t}\n\n\tconst recordsNode = stonecrop.value.records(currentDoctype.value)\n\tconst recordsData = recordsNode?.get('')\n\n\tif (recordsData && typeof recordsData === 'object' && !Array.isArray(recordsData)) {\n\t\treturn Object.values(recordsData as Record<string, any>)\n\t}\n\n\treturn []\n}\n\n// Schema for different views - defined here after all helper functions are available\nconst currentViewSchema = computed(() => {\n\tswitch (currentView.value) {\n\t\tcase 'doctypes':\n\t\t\treturn getDoctypesSchema()\n\t\tcase 'records':\n\t\t\treturn getRecordsSchema()\n\t\tcase 'record':\n\t\t\treturn getRecordFormSchema()\n\t\tdefault:\n\t\t\treturn []\n\t}\n})\n\nconst handleActionClick = (_label: string, action: (() => void | Promise<void>) | undefined) => {\n\tif (action) {\n\t\tvoid action()\n\t}\n}\n\n// Desktop does NOT own the delete lifecycle — it asks for confirmation, then emits\n// an 'action' event. The host app is responsible for removing the record from HST\n// and calling the server.\nconst handleDelete = async (recordId?: string) => {\n\tconst targetRecordId = recordId || currentRecordId.value\n\tif (!targetRecordId) return\n\n\tconst confirmed = confirmFn\n\t\t? await confirmFn('Are you sure you want to delete this record?')\n\t\t: confirm('Are you sure you want to delete this record?')\n\n\tif (confirmed) {\n\t\temit('action', {\n\t\t\tname: 'DELETE',\n\t\t\tdoctype: currentDoctype.value,\n\t\t\trecordId: targetRecordId,\n\t\t\tdata: currentViewData.value || {},\n\t\t})\n\t}\n}\n\n// Event handlers\nconst getRecordIdFromRow = (rowElement: HTMLTableRowElement): string | null => {\n\tconst cell = rowElement.querySelector('td[data-rowindex]')\n\tif (!cell) return null\n\n\tconst rowIndexAttr = cell.getAttribute('data-rowindex')\n\tif (rowIndexAttr === null) return null\n\n\tconst rowIndex = parseInt(rowIndexAttr, 10)\n\tif (isNaN(rowIndex)) return null\n\n\tconst records = getRecords()\n\tconst record = records[rowIndex]\n\tif (!record) return null\n\n\tconst idField = recordIdField || 'id'\n\treturn record[idField] || record.id || null\n}\n\nconst handleClick = async (event: Event) => {\n\tconst target = event.target as HTMLElement\n\tconst action = target.getAttribute('data-action')\n\n\tif (action === 'create') {\n\t\tawait createNewRecord()\n\t}\n\n\tconst cell = target.closest('td, th')\n\tif (cell) {\n\t\tconst cellText = cell.textContent?.trim()\n\t\tconst row = cell.closest('tr')\n\n\t\tif (cellText === 'View Records' && row) {\n\t\t\t// Get the doctype from the row data\n\t\t\tconst cells = row.querySelectorAll('td')\n\t\t\tif (cells.length > 0) {\n\t\t\t\tconst doctypeCell = cells[1] // Assuming doctype is in second column (first column is index)\n\t\t\t\tconst doctype = doctypeCell.textContent?.trim()\n\t\t\t\tif (doctype) {\n\t\t\t\t\tawait navigateToDoctype(doctype)\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (cellText?.includes('Edit') && row) {\n\t\t\tconst recordId = getRecordIdFromRow(row)\n\t\t\tif (recordId) {\n\t\t\t\tawait openRecord(recordId)\n\t\t\t}\n\t\t} else if (cellText?.includes('Delete') && row) {\n\t\t\tconst recordId = getRecordIdFromRow(row)\n\t\t\tif (recordId) {\n\t\t\t\tawait handleDelete(recordId)\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst loadRecordData = async () => {\n\tif (!stonecrop.value || !currentDoctype.value || isNewRecord.value) return\n\n\t// Record already in HST — nothing to fetch.\n\tif (stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)) return\n\n\t// Record absent and a client is configured — fetch directly so the form\n\t// populates even when the list view was never visited (direct URL navigation).\n\tif (stonecrop.value.getClient()) {\n\t\tloading.value = true\n\t\ttry {\n\t\t\tawait stonecrop.value.getRecord(currentDoctype.value, currentRecordId.value)\n\t\t} catch (error) {\n\t\t\tconsole.warn('Error fetching record:', error)\n\t\t} finally {\n\t\t\tloading.value = false\n\t\t}\n\t}\n}\n\n// Watch for route changes to load appropriate data\nwatch(\n\t[currentView, currentDoctype, currentRecordId],\n\t() => {\n\t\tif (currentView.value === 'records' && currentDoctype.value) {\n\t\t\t// Emit load-records event so host app can populate HST\n\t\t\temit('load-records', { doctype: currentDoctype.value })\n\t\t} else if (currentView.value === 'record' && currentDoctype.value && currentRecordId.value) {\n\t\t\t// Emit load-record event so host app can fetch and populate HST\n\t\t\temit('load-record', { doctype: currentDoctype.value, recordId: currentRecordId.value })\n\t\t\tvoid loadRecordData()\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\n// Clear advisory validation errors when the target record changes, so errors from a previously\n// edited record never bleed into a newly opened one.\nwatch([currentDoctype, currentRecordId], () => {\n\tvalidationStore?.clearAll()\n})\n\n// Stonecrop reactive computed properties update automatically when the instance\n// becomes available — no manual watcher needed.\n\n// Provide navigation helpers and an emitAction convenience function to child components.\nconst desktopMethods = {\n\tnavigateToDoctype,\n\topenRecord,\n\tcreateNewRecord,\n\thandleDelete,\n\t/**\n\t * Convenience wrapper so child components (e.g. slot content) can emit\n\t * an action event without needing a direct reference to the emit function.\n\t */\n\temitAction: (name: string, data?: Record<string, any>) => {\n\t\temit('action', {\n\t\t\tname,\n\t\t\tdoctype: currentDoctype.value,\n\t\t\trecordId: currentRecordId.value,\n\t\t\tdata: data ?? currentViewData.value ?? {},\n\t\t})\n\t},\n}\n\nprovide('desktopMethods', desktopMethods)\n\n// Provide a navigator for AFormLink so the arrow button navigates to the linked record.\nprovide('aformLinkNavigator', {\n\tnavigate: (doctype: string, id: string | number) => {\n\t\tvoid doNavigate({ view: 'record', doctype, recordId: String(id) })\n\t},\n} satisfies AFormLinkNavigator)\n\nfunction toDisplayString(rec: Record<string, unknown> | undefined): string | undefined {\n\tif (!rec) return undefined\n\tconst val = rec.name ?? rec.title ?? rec.displayText\n\treturn typeof val === 'string' || typeof val === 'number' ? String(val) : undefined\n}\n\n// Provide a resolver for AFormLink to look up display text by doctype + id.\n// Checks HST first (sync); falls back to an async client fetch if not cached.\nprovide('aformLinkResolver', async (doctypeSlug: string, id: string): Promise<string | undefined> => {\n\tif (!stonecrop.value) return undefined\n\ttry {\n\t\tconst cached = stonecrop.value.getRecordById(doctypeSlug, id)?.get('') as Record<string, unknown> | undefined\n\t\tconst cachedDisplay = toDisplayString(cached)\n\t\tif (cachedDisplay != null) return cachedDisplay\n\t\tawait stonecrop.value.getRecord(doctypeSlug, id)\n\t\tconst fetched = stonecrop.value.getRecordById(doctypeSlug, id)?.get('') as Record<string, unknown> | undefined\n\t\treturn toDisplayString(fetched)\n\t} catch {\n\t\treturn undefined\n\t}\n})\n\nconst handleKeydown = (event: KeyboardEvent) => {\n\tif ((event.ctrlKey || event.metaKey) && event.key === 'k') {\n\t\tevent.preventDefault()\n\t\tcommandPaletteOpen.value = true\n\t}\n\tif (event.key === 'Escape' && commandPaletteOpen.value) {\n\t\tcommandPaletteOpen.value = false\n\t}\n}\n\nonMounted(() => {\n\tdocument.addEventListener('keydown', handleKeydown)\n})\n\nonUnmounted(() => {\n\tdocument.removeEventListener('keydown', handleKeydown)\n})\n</script>\n","import { App, type Plugin } from 'vue'\n\nimport ActionSet from '../components/ActionSet.vue'\nimport CommandPalette from '../components/CommandPalette.vue'\nimport Desktop from '../components/Desktop.vue'\nimport SheetNav from '../components/SheetNav.vue'\n\n/**\n * This is the main plugin that will be used to register all the desktop components.\n * @public\n */\nconst plugin: Plugin = {\n\tinstall: (app: App) => {\n\t\tapp.component('ActionSet', ActionSet)\n\t\tapp.component('CommandPalette', CommandPalette)\n\t\tapp.component('Desktop', Desktop)\n\t\tapp.component('SheetNav', SheetNav)\n\t},\n}\n\nexport default plugin\n"],"names":["emit","__emit","dropdownStates","ref","isOpen","dropdownOpen","onMounted","closeDropdowns","onClick","toggleDropdown","index","showDropdown","handleClick","action","label","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_1","_openBlock","_Fragment","_renderList","__props","el","_hoisted_2","$event","_toDisplayString","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_withDirectives","_hoisted_8","_hoisted_9","item","_hoisted_10","_hoisted_12","_vShow","query","selectedIndex","inputRef","useTemplateRef","results","computed","watch","open","nextTick","closeModal","handleKeydown","e","selectResult","result","_createBlock","_Teleport","_createVNode","_Transition","_renderSlot","_ctx","Hs","Ys","t","r","i","Gs","Xs","Qs","so","ea","Js","to","Vs","K","ta","n","o","ao","ra","Jr","na","ro","ia","Je","oa","sa","eo","yn","aa","ot","ua","Ue","dt","te","Ks","f","l","h","d","pr","dr","ca","fa","la","ha","pa","ni","da","_","no","m","E","$","b","N","k","Ct","Ce","M","D","ie","ht","Re","Y","ae","jt","_a","Vr","_r","va","ii","oi","or","io","w","v","X","be","je","Te","Wt","u","Le","si","_t","Or","ya","Be","nn","s","a","c","g","ai","Rp","kr","z","R","O","L","F","oo","Kr","nt","pt","Us","Br","Wr","hr","Bs","Ws","wa","ri","p","vt","co","fo","Ve","lo","on","Nr","wn","Sn","Sa","ui","at","et","ci","ba","ho","Ht","za","yt","po","ka","wt","tt","y","Oa","$a","Ea","Ia","Aa","Ra","Ta","Pa","Na","gt","mt","gr","Ke","bn","Yt","_o","go","mo","Za","Ma","zn","kn","Zr","Da","Mr","Ca","ja","La","Fa","xa","qa","Ua","Ba","Wa","Ja","Va","Ka","Ha","Ya","Ga","Xa","Qa","fi","eu","tu","ru","nu","iu","ou","su","au","vo","uu","yo","cu","wo","fu","lu","hu","pu","So","du","_u","gu","de","bo","zo","ko","mu","vu","yu","wu","Su","Dr","bu","zu","ku","Ou","$u","Eu","Iu","Au","Ru","W","On","J","Tu","Pu","Nu","Zu","Mu","Du","Cu","ju","Lu","Fu","xu","qu","Uu","Bu","Wu","Ju","Vu","Ku","Hu","Oo","Yu","Gu","Xu","Qu","ec","tc","$o","rc","nc","ic","oc","li","sc","$r","Eo","Io","ac","uc","hi","Ao","cc","fc","pi","sn","lc","hc","pc","dc","di","Ro","_c","gc","mc","_i","vc","yc","gi","wc","Sc","mr","bc","mi","zc","kc","vi","yi","Oc","$c","xt","Ec","Ic","wi","Ac","Rc","Tc","Pc","Nc","Zc","Mc","Dc","Cc","jc","Lc","Fc","xc","qc","Uc","Bc","Wc","Jc","Vc","Kc","Hc","Yc","Gc","Xc","Qc","ef","tf","rf","nf","Si","Hr","bi","Yr","zi","To","Er","Po","of","sf","af","uf","cf","ff","Rt","lf","hf","pf","df","_f","gf","mf","vf","yf","No","G","ue","Zo","Mo","Ir","wf","Sf","bf","zf","kf","Of","$f","Ef","If","Af","Rf","Tf","Pf","Nf","Zf","Mf","Df","Cf","jf","Lf","Ff","xf","qf","Do","Uf","Bf","H","Wf","Jf","Vf","Kf","Hf","Yf","Gf","Xf","$e","Qf","tl","rl","nl","il","ol","sl","al","ul","cl","fl","V","nh","ih","$i","ql","Ei","Kl","He","qo","Cl","cn","Bo","Wl","Vl","Yl","Ql","Co","ll","hl","pl","Il","dl","ki","vr","_l","gl","ml","vl","Ol","$l","yl","wl","Sl","bl","zl","kl","El","I","jo","Oi","an","Al","Rl","ze","Tl","Gt","Pl","Lo","Nl","Fo","Ie","Wo","Jo","ce","Zl","xo","Ml","Uo","Dl","jl","Xt","un","Ll","st","Fl","xl","Ul","Bl","Jl","Hl","Gl","Xl","eh","th","rh","oh","sh","ah","uh","Vo","ch","fh","lh","hh","ph","dh","_h","gh","mh","vh","yh","wh","Sh","Ho","Yo","Ar","Oe","Rr","U","En","Go","ye","oe","pe","Ee","rt","ut","Ae","Tt","Zt","Pt","we","Se","fn","Xo","Cr","Z","B","le","Qo","jr","Ri","ln","zh","kh","sr","j","me","fe","P","hn","ke","In","St","es","Ye","Lr","rs","ar","ts","Fr","ns","ct","Me","Ge","Ze","is","An","Nt","os","Tn","$h","Pn","ss","bt","Rn","Oh","Ti","Nn","ur","cr","Ft","xr","Eh","_e","Pi","Nh","Ih","Zh","Ah","pn","Th","Rh","Qr","Xr","Mh","Mi","as","dn","_n","it","Zi","Ph","Ni","Gr","qr","Zn","hs","us","cs","fs","Ci","Cn","ls","De","ps","Dh","Qe","Ch","xe","Dn","C","jh","Mn","Lh","ds","Fh","xh","_s","qh","Uh","zt","gs","yr","Di","wr","ji","ve","ms","Mt","vs","ws","ys","Bh","Wh","Xe","Pe","Tr","jn","Ln","Jh","Vh","Ss","bs","Fn","Ne","xn","Kh","qn","Un","Bn","Wn","fr","zs","Jn","Jt","ge","xi","Hh","Vn","q","Yn","Qt","tp","Yh","kt","ks","Kn","rp","Xh","qi","Os","ep","Qh","er","np","Gh","Ot","Hn","Fe","Li","en","Fi","$s","tr","ip","Es","op","sp","Is","ap","As","Rs","$t","zr","rr","We","Ts","up","qe","Ui","Vt","Q","Et","nr","gn","Ps","qt","Wi","Gn","Bi","Ns","mn","Xn","Sr","Ut","he","Ji","Vi","cp","fp","tn","Ki","Hi","Zs","lp","rn","Ms","Qn","Ur","Bt","ne","br","ir","Ds","Yi","Cs","js","hp","pp","Ls","Pr","dp","Gi","_p","ft","se","lr","Xi","Dt","It","Fs","vn","lt","xs","Qi","gp","re","ti","mp","x","At","ei","Zp","A","S","breadcrumbsVisibile","searchVisible","searchText","rotateHideTabIcon","toggleBreadcrumbs","toggleSearch","handleSearchInput","event","handleSearch","navigateHome","_component_router_link","_cache","_withKeys","breadcrumb","_createTextVNode","stonecrop","useStonecrop","validationStore","useValidationStore","fieldErrors","currentView","loading","commandPaletteOpen","currentViewData","doctype","formatDoctypeName","getRecordCount","idField","getRecords","record","currentDoctype","currentRecordId","flat","field","nested","child","newData","fieldsetNames","flatData","fieldsetValues","key","value","nestedValue","hstStore","changedFields","fieldname","fieldPath","driveFieldValidation","error","triggers","route","unref","router","pathMatch","routeDoctype","isNewRecord","routeName","getAvailableTransitions","currentState","transitions","recordData","name","getAvailableCommands","commands","actionElements","elements","createNewRecord","recordActions","navigationBreadcrumbs","breadcrumbs","recordPath","searchCommands","doNavigate","cmd","executeCommand","command","word","target","navigateToDoctype","openRecord","recordId","newId","flattenFieldsets","fields","getDoctypesSchema","getRecordsSchema","registry","schema","getRecordFormSchema","recordsData","currentViewSchema","handleActionClick","_label","handleDelete","targetRecordId","getRecordIdFromRow","rowElement","cell","rowIndexAttr","rowIndex","cellText","row","cells","loadRecordData","provide","data","id","toDisplayString","rec","val","doctypeSlug","cached","cachedDisplay","fetched","onUnmounted","ActionSet","_unref","AForm","SheetNav","CommandPalette","_withCtx","plugin","app","Desktop"],"mappings":";;;;;;;;;AA8CA,UAAMA,IAAOC,GAKPC,IAAiBC,EAA6B,EAAE,GAEhDC,IAASD,EAAI,EAAI,GACjBE,IAAeF,EAAe,EAAE;AAEtC,IAAAG,GAAU,MAAM;AACf,MAAAC,EAAA;AAAA,IACD,CAAC;AAED,UAAMA,IAAiB,MAAM;AAC5B,MAAAL,EAAe,QAAQ,CAAA,GACvBG,EAAa,QAAQ,CAAA;AAAA,IACtB,GAEMG,IAAU,MAAM;AACrB,MAAAJ,EAAO,QAAQ,CAACA,EAAO;AAAA,IACxB,GAEMK,IAAiB,CAACC,MAAkB;AACzC,YAAMC,IAAe,CAACT,EAAe,MAAMQ,CAAK;AAChD,MAAAH,EAAA,GACII,MACHT,EAAe,MAAMQ,CAAK,IAAI,IAC9BL,EAAa,MAAMK,CAAK,IAAI;AAAA,IAE9B,GAEME,IAAc,CAACC,GAAkDC,MAAkB;AAExF,MAAAd,EAAK,eAAec,GAAOD,CAAM;AAAA,IAClC;2BAhFCE,EAoCM,OAAA;AAAA,MApCA,OAAKC,GAAA,CAAA,EAAA,WAAA,CAAgBZ,EAAA,MAAA,GAAgB,YAAY,CAAA;AAAA,IAAA;MACtDa,EAEM,OAFNC,IAEM;AAAA,QADLD,EAAqE,OAAA;AAAA,UAAhE,IAAG;AAAA,UAAS,qBAAkBb,EAAA,OAAM;AAAA,UAAK,SAAAI;AAAA,QAAA,GAAgB,KAAC,CAAA;AAAA,MAAA;sBAEhES,EAAsC,OAAA,EAAjC,OAAA,EAAA,gBAAA,OAAA,EAAA,GAA0B,MAAA,EAAA;AAAA,OAC/BE,EAAA,EAAA,GAAAJ,EA8BMK,IAAA,MAAAC,GA9BqBC,EAAA,UAAQ,CAAtBC,GAAIb,YAAjBK,EA8BM,OAAA;AAAA,QA9BgC,KAAKQ,EAAG;AAAA,QAAO,OAAM;AAAA,MAAA;QAC1DN,EAQM,OARNO,IAQM;AAAA,UANED,EAAG,QAAI,iBADdR,EAMS,UAAA;AAAA;YAJP,UAAUQ,EAAG;AAAA,YACd,OAAM;AAAA,YACL,SAAK,CAAAE,MAAEb,EAAYW,EAAG,QAAQA,EAAG,KAAK;AAAA,UAAA,GACpCG,GAAAH,EAAG,KAAK,GAAA,GAAAI,EAAA;;QAGFJ,EAAG,QAAI,mBAAlBR,EAmBM,OAAAa,IAAA;AAAA,UAlBLX,EAKM,OALNY,IAKM;AAAA,YAJLZ,EAAmG,OAAA;AAAA,cAA9F,OAAKD,GAAA,CAAC,SAAO,EAAA,SAAoBX,EAAA,MAAaK,CAAK,EAAA,CAAA,CAAA;AAAA,cAAM,SAAK,CAAAe,MAAEhB,EAAeC,CAAK;AAAA,YAAA,GAAG,KAAC,IAAAoB,EAAA;AAAA,YAC7Fb,EAES,UAAA;AAAA,cAFD,OAAM;AAAA,cAAiC,SAAK,CAAAQ,MAAEhB,EAAeC,CAAK;AAAA,YAAA,GACtEgB,GAAAH,EAAG,KAAK,GAAA,GAAAQ,EAAA;AAAA,UAAA;UAGbC,GAAAf,EAWM,OAXNgB,IAWM;AAAA,YAVLhB,EASM,OATNiB,IASM;AAAA,eARLf,EAAA,EAAA,GAAAJ,EAOMK,IAAA,MAAAC,GAPcE,EAAG,UAAXY,YAAZpB,EAOM,OAAA;AAAA,gBAP2B,KAAKoB,EAAK;AAAA,cAAA;gBAC5BA,EAAK,UAAM,aAAzBpB,EAES,UAAA;AAAA;kBAF0B,OAAM;AAAA,kBAAiB,SAAK,CAAAU,MAAEb,EAAYuB,EAAK,QAAQA,EAAK,KAAK;AAAA,gBAAA,GAChGT,GAAAS,EAAK,KAAK,GAAA,GAAAC,EAAA,KAEAD,EAAK,QAAI,aAAvBpB,EAEC,KAAA;AAAA;kBAFiC,MAAMoB,EAAK;AAAA,gBAAA;kBAC3ClB,EAAuD,UAAvDoB,IAAuDX,GAAtBS,EAAK,KAAK,GAAA,CAAA;AAAA,gBAAA;;;;YAPnC,CAAAG,IAAApC,EAAA,MAAeQ,CAAK,CAAA;AAAA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACuCrC,UAAMV,IAAOC,GAKPsC,IAAQpC,EAAI,EAAE,GACdqC,IAAgBrC,EAAI,CAAC,GACrBsC,IAAWC,GAAe,OAAO,GAEjCC,IAAUC,EAAS,MACnBL,EAAM,QACWjB,EAAA,OAAOiB,EAAM,KAAK,EACnB,MAAM,GAAGjB,EAAA,UAAU,IAFf,CAAA,CAGzB;AAGD,IAAAuB;AAAA,MACC,MAAMvB,EAAA;AAAA,MACN,OAAMwB,MAAQ;AACb,QAAIA,MACHP,EAAM,QAAQ,IACdC,EAAc,QAAQ,GACtB,MAAMO,GAAA,GACJN,EAAS,OAA4B,MAAA;AAAA,MAEzC;AAAA,IAAA,GAIDI,GAAMF,GAAS,MAAM;AACpB,MAAAH,EAAc,QAAQ;AAAA,IACvB,CAAC;AAED,UAAMQ,IAAa,MAAM;AACxB,MAAAhD,EAAK,OAAO;AAAA,IACb,GAEMiD,IAAgB,CAACC,MAAqB;AAC3C,cAAQA,EAAE,KAAA;AAAA,QACT,KAAK;AACJ,UAAAF,EAAA;AACA;AAAA,QACD,KAAK;AACJ,UAAAE,EAAE,eAAA,GACEP,EAAQ,MAAM,WACjBH,EAAc,SAASA,EAAc,QAAQ,KAAKG,EAAQ,MAAM;AAEjE;AAAA,QACD,KAAK;AACJ,UAAAO,EAAE,eAAA,GACEP,EAAQ,MAAM,WACjBH,EAAc,SAASA,EAAc,QAAQ,IAAIG,EAAQ,MAAM,UAAUA,EAAQ,MAAM;AAExF;AAAA,QACD,KAAK;AACJ,UAAIA,EAAQ,MAAM,UAAUH,EAAc,SAAS,KAClDW,EAAaR,EAAQ,MAAMH,EAAc,KAAK,CAAC;AAEhD;AAAA,MAAA;AAAA,IAEH,GAEMW,IAAe,CAACC,MAAc;AACnC,MAAApD,EAAK,UAAUoD,CAAM,GACrBJ,EAAA;AAAA,IACD;2BA9HCK,GAqCWC,IAAA,EArCD,IAAG,UAAM;AAAA,MAClBC,GAmCaC,IAAA,EAnCD,MAAK,UAAM;AAAA,oBACtB,MAiCM;AAAA,UAjCKlC,EAAA,eAAXP,EAiCM,OAAA;AAAA;YAjCa,OAAM;AAAA,YAA2B,SAAOiC;AAAA,UAAA;YAC1D/B,EA+BM,OAAA;AAAA,cA/BD,OAAM;AAAA,cAAmB,4BAAD,MAAA;AAAA,cAAA,GAAW,CAAA,MAAA,CAAA;AAAA,YAAA;cACvCA,EASM,OATNC,IASM;AAAA,mBARLD,EAO4B,SAAA;AAAA,kBAN3B,KAAI;AAAA,gEACKsB,EAAK,QAAAd;AAAA,kBACd,MAAK;AAAA,kBACL,OAAM;AAAA,kBACL,aAAaH,EAAA;AAAA,kBACd,WAAA;AAAA,kBACC,WAAS2B;AAAA,gBAAA;uBALDV,EAAA,KAAK;AAAA,gBAAA;;cAQLI,EAAA,MAAQ,UAAnBxB,KAAAJ,EAeM,OAfNY,IAeM;AAAA,iBAdLR,EAAA,EAAA,GAAAJ,EAaMK,IAAA,MAAAC,GAZqBsB,EAAA,OAAO,CAAzBS,GAAQ1C,YADjBK,EAaM,OAAA;AAAA,kBAXJ,KAAKL;AAAA,kBACN,OAAKM,GAAA,CAAC,0BAAwB,EAAA,UACVN,MAAU8B,EAAA,MAAA,CAAa,CAAA;AAAA,kBAC1C,SAAK,CAAAf,MAAE0B,EAAaC,CAAM;AAAA,kBAC1B,aAAS,CAAA3B,MAAEe,EAAA,QAAgB9B;AAAA,gBAAA;kBAC5BO,EAEM,OAFNY,IAEM;AAAA,oBADL4B,GAAsCC,EAAA,QAAA,SAAA,EAAlB,QAAAN,GAAc;AAAA,kBAAA;kBAEnCnC,EAEM,OAFNa,IAEM;AAAA,oBADL2B,GAAwCC,EAAA,QAAA,WAAA,EAAlB,QAAAN,GAAc;AAAA,kBAAA;;oBAIvBb,EAAA,SAAK,CAAKI,EAAA,MAAQ,UAAlCxB,EAAA,GAAAJ,EAEM,OAFNgB,IAEM;AAAA,gBADL0B,GAA8DC,uBAA9D,MAA8D;AAAA,qBAA3C,4BAAuBhC,GAAGa,EAAA,KAAK,IAAG,MAAE,CAAA;AAAA,gBAAA;;;;;;;;;IC/BvDoB,KAAK,OAAO,eAAe,YAAY;AAC7C,CAAC,EAAE;AACH,eAAeC,GAAGV,GAAGW,IAAI,IAAI;AAC3B,QAAMC,IAAI,OAAO,KAAKD,CAAC;AACvB,SAAO,IAAIF,GAAG,GAAGG,GAAGZ,CAAC,EAAE,GAAGY,EAAE,IAAI,CAACC,MAAMF,EAAEE,CAAC,CAAC,CAAC;AAC9C;AACA,MAAMC,KAAK,OAAO,SAAS,OAAO,OAAO,WAAW;AACpD,OAAO,oBAAoB,OAAO,sBAAsB;AACxD,MAAMC,KAAK,OAAO,UAAU,UAAUC,KAAK,CAAChB,MAAMe,GAAG,KAAKf,CAAC,MAAM,mBAAmBiB,KAAK,MAAM;AAC/F;AACA,SAASC,MAAMlB,GAAG;AAChB,MAAIA,EAAE,WAAW,EAAG,QAAOmB,GAAG,GAAGnB,CAAC;AAClC,QAAMW,IAAIX,EAAE,CAAC;AACb,SAAO,OAAOW,KAAK,aAAaS,GAAGC,GAAG,OAAO;AAAA,IAC3C,KAAKV;AAAA,IACL,KAAKM;AAAA,EACT,EAAI,CAAC,IAAIK,EAAEX,CAAC;AACZ;AACA,SAASY,GAAGvB,GAAGW,GAAG;AAChB,WAASC,KAAKY,GAAG;AACf,WAAO,IAAI,QAAQ,CAACX,GAAGY,MAAM;AAC3B,cAAQ,QAAQzB,EAAE,MAAMW,EAAE,MAAM,MAAMa,CAAC,GAAG;AAAA,QACxC,IAAIb;AAAA,QACJ,SAAS;AAAA,QACT,MAAMa;AAAA,MACd,CAAO,CAAC,EAAE,KAAKX,CAAC,EAAE,MAAMY,CAAC;AAAA,IACrB,CAAC;AAAA,EACH;AACA,SAAOb;AACT;AACA,MAAMc,KAAK,CAAC1B,MAAMA,EAAC;AACnB,SAAS2B,GAAG3B,IAAI0B,IAAIf,IAAI,CAAA,GAAI;AAC1B,QAAM,EAAE,cAAcC,IAAI,SAAQ,IAAKD,GAAGa,IAAIN,GAAGN,MAAM,QAAQ;AAC/D,WAASC,IAAI;AACX,IAAAW,EAAE,QAAQ;AAAA,EACZ;AACA,WAASC,IAAI;AACX,IAAAD,EAAE,QAAQ;AAAA,EACZ;AACA,QAAM,IAAI,IAAI,MAAM;AAClB,IAAAA,EAAE,SAASxB,EAAE,GAAG,CAAC;AAAA,EACnB;AACA,SAAO;AAAA,IACL,UAAUoB,GAAGI,CAAC;AAAA,IACd,OAAOX;AAAA,IACP,QAAQY;AAAA,IACR,aAAa;AAAA,EACjB;AACA;AACA,SAASG,GAAG5B,GAAG;AACb,SAAO,MAAM,QAAQA,CAAC,IAAIA,IAAI,CAACA,CAAC;AAClC;AACA,SAAS6B,GAAG7B,GAAG;AACb,SAAO8B,GAAE;AACX;AACA,SAASC,GAAG/B,GAAGW,GAAGC,IAAI,CAAA,GAAI;AACxB,QAAM,EAAE,aAAaY,IAAIE,IAAI,GAAGb,EAAC,IAAKD;AACtC,SAAOoB,GAAGhC,GAAGuB,GAAGC,GAAGb,CAAC,GAAGE,CAAC;AAC1B;AACA,SAASoB,GAAGjC,GAAGW,GAAGC,IAAI,CAAA,GAAI;AACxB,QAAM,EAAE,aAAaY,GAAG,cAAcX,IAAI,UAAU,GAAGY,EAAC,IAAKb,GAAG,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,MAAMe,GAAGH,GAAG,EAAE,cAAcX,EAAC,CAAE;AAChJ,SAAO;AAAA,IACL,MAAMkB,GAAG/B,GAAGW,GAAG;AAAA,MACb,GAAGc;AAAA,MACH,aAAa;AAAA,IACnB,CAAK;AAAA,IACD,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,UAAU;AAAA,EACd;AACA;AACA,SAASS,GAAGlC,GAAGW,IAAI,IAAIC,GAAG;AACxB,EAAAiB,GAAE,IAAKM,GAAGnC,GAAGY,CAAC,IAAID,IAAIX,EAAC,IAAKoC,GAAGpC,CAAC;AAClC;AACA,SAASqC,GAAGrC,GAAGW,GAAGC,GAAG;AACnB,SAAOoB,GAAGhC,GAAGW,GAAG;AAAA,IACd,GAAGC;AAAA,IACH,WAAW;AAAA,EACf,CAAG;AACH;AASA,MAAM0B,KAAKxB,KAAK,SAAS;AACzB,SAASyB,GAAGvC,GAAG;AACb,MAAIW;AACJ,QAAMC,IAAI4B,GAAGxC,CAAC;AACd,UAAQW,IAAIC,GAAG,SAAS,QAAQD,MAAM,SAASA,IAAIC;AACrD;AACA,SAAS6B,MAAMzC,GAAG;AAChB,QAAMW,IAAI,CAACa,GAAGX,GAAGY,GAAG,OAAOD,EAAE,iBAAiBX,GAAGY,GAAG,CAAC,GAAG,MAAMD,EAAE,oBAAoBX,GAAGY,GAAG,CAAC,IAAIb,IAAI8B,EAAG,MAAM;AAC1G,UAAMlB,IAAII,GAAGY,GAAGxC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAACa,MAAMA,KAAK,IAAI;AAC9C,WAAOW,EAAE,MAAM,CAACX,MAAM,OAAOA,KAAK,QAAQ,IAAIW,IAAI;AAAA,EACpD,CAAC;AACD,SAAOa,GAAG,MAAM;AACd,QAAIb,GAAGX;AACP,WAAO;AAAA,OACJW,KAAKX,IAAID,EAAE,WAAW,QAAQC,MAAM,SAAS,SAASA,EAAE,IAAI,CAACY,MAAMc,GAAGd,CAAC,CAAC,OAAO,QAAQD,MAAM,SAASA,IAAI,CAACc,EAAE,EAAE,OAAO,CAACb,MAAMA,KAAK,IAAI;AAAA,MACvIG,GAAGY,GAAG5B,EAAE,QAAQZ,EAAE,CAAC,IAAIA,EAAE,CAAC,CAAC,CAAC;AAAA,MAC5B4B,GAAGe,GAAG/B,EAAE,QAAQZ,EAAE,CAAC,IAAIA,EAAE,CAAC,CAAC,CAAC;AAAA,MAC5BwC,GAAG5B,EAAE,QAAQZ,EAAE,CAAC,IAAIA,EAAE,CAAC,CAAC;AAAA,IAC9B;AAAA,EACE,GAAG,CAAC,CAACwB,GAAGX,GAAGY,GAAG,CAAC,GAAG,GAAG,MAAM;AACzB,QAAI,CAACD,GAAG,UAAU,CAACX,GAAG,UAAU,CAACY,GAAG,OAAQ;AAC5C,UAAM,IAAIT,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG4B,IAAIpB,EAAE,QAAQ,CAACqB,MAAMhC,EAAE,QAAQ,CAACiC,MAAMrB,EAAE,IAAI,CAACsB,MAAMpC,EAAEkC,GAAGC,GAAGC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClG,MAAE,MAAM;AACN,MAAAH,EAAE,QAAQ,CAACC,MAAMA,EAAC,CAAE;AAAA,IACtB,CAAC;AAAA,EACH,GAAG,EAAE,OAAO,QAAQ;AACtB;AACA,MAAMG,KAAK,OAAO,aAAa,MAAM,aAAa,OAAO,SAAS,MAAM,SAAS,OAAO,SAAS,MAAM,SAAS,OAAO,OAAO,MAAM,OAAO,CAAA,GAAIC,KAAK,2BAA2BC,KAAqB,gBAAAC,GAAE;AACtM,SAASA,KAAK;AACZ,SAAOF,MAAMD,OAAOA,GAAGC,EAAE,IAAID,GAAGC,EAAE,KAAK,CAAA,IAAKD,GAAGC,EAAE;AACnD;AACA,SAASG,GAAGpD,GAAGW,GAAG;AAChB,SAAOuC,GAAGlD,CAAC,KAAKW;AAClB;AACA,SAAS0C,GAAGrD,GAAG;AACb,SAAOA,KAAK,OAAO,QAAQA,aAAa,MAAM,QAAQA,aAAa,MAAM,QAAQA,aAAa,OAAO,SAAS,OAAOA,KAAK,YAAY,YAAY,OAAOA,KAAK,WAAW,WAAW,OAAOA,KAAK,WAAW,WAAW,OAAO,MAAMA,CAAC,IAAI,QAAQ;AAClP;AACA,MAAMsD,KAAK;AAAA,EACT,SAAS;AAAA,IACP,MAAM,CAACtD,MAAMA,MAAM;AAAA,IACnB,OAAO,CAACA,MAAM,OAAOA,CAAC;AAAA,EAC1B;AAAA,EACE,QAAQ;AAAA,IACN,MAAM,CAACA,MAAM,KAAK,MAAMA,CAAC;AAAA,IACzB,OAAO,CAACA,MAAM,KAAK,UAAUA,CAAC;AAAA,EAClC;AAAA,EACE,QAAQ;AAAA,IACN,MAAM,CAACA,MAAM,OAAO,WAAWA,CAAC;AAAA,IAChC,OAAO,CAACA,MAAM,OAAOA,CAAC;AAAA,EAC1B;AAAA,EACE,KAAK;AAAA,IACH,MAAM,CAACA,MAAMA;AAAA,IACb,OAAO,CAACA,MAAM,OAAOA,CAAC;AAAA,EAC1B;AAAA,EACE,QAAQ;AAAA,IACN,MAAM,CAACA,MAAMA;AAAA,IACb,OAAO,CAACA,MAAM,OAAOA,CAAC;AAAA,EAC1B;AAAA,EACE,KAAK;AAAA,IACH,MAAM,CAACA,MAAM,IAAI,IAAI,KAAK,MAAMA,CAAC,CAAC;AAAA,IAClC,OAAO,CAACA,MAAM,KAAK,UAAU,MAAM,KAAKA,EAAE,SAAS,CAAC;AAAA,EACxD;AAAA,EACE,KAAK;AAAA,IACH,MAAM,CAACA,MAAM,IAAI,IAAI,KAAK,MAAMA,CAAC,CAAC;AAAA,IAClC,OAAO,CAACA,MAAM,KAAK,UAAU,MAAM,KAAKA,CAAC,CAAC;AAAA,EAC9C;AAAA,EACE,MAAM;AAAA,IACJ,MAAM,CAACA,MAAM,IAAI,KAAKA,CAAC;AAAA,IACvB,OAAO,CAACA,MAAMA,EAAE,YAAW;AAAA,EAC/B;AACA,GAAGuD,KAAK;AACR,SAASC,GAAGxD,GAAGW,GAAGC,GAAGY,IAAI,CAAA,GAAI;AAC3B,MAAIX;AACJ,QAAM,EAAE,OAAOY,IAAI,OAAO,MAAM,IAAI,IAAI,wBAAwB,IAAI,IAAI,eAAe,IAAI,IAAI,eAAe,IAAI,IAAI,SAASmB,GAAG,QAAQC,IAAIP,IAAI,aAAaQ,GAAG,SAASC,IAAI,CAAC,MAAM;AACpL,YAAQ,MAAM,CAAC;AAAA,EACjB,GAAG,eAAeU,EAAC,IAAKjC,GAAG,KAAKoB,IAAIc,KAAKpC,GAAGX,CAAC,GAAGgD,IAAIjB,EAAG,MAAMF,GAAGxC,CAAC,CAAC;AAClE,MAAI,CAACY,EAAG,KAAI;AACV,IAAAA,IAAIwC,GAAG,qBAAqB,MAAMd,IAAI,YAAY,EAAC;AAAA,EACrD,SAAS,GAAG;AACV,IAAAS,EAAE,CAAC;AAAA,EACL;AACA,MAAI,CAACnC,EAAG,QAAO;AACf,QAAMgD,IAAIpB,GAAG7B,CAAC,GAAGkD,IAAIR,GAAGO,CAAC,GAAGE,KAAKjD,IAAIW,EAAE,gBAAgB,QAAQX,MAAM,SAASA,IAAIyC,GAAGO,CAAC,GAAG,EAAE,OAAOE,IAAG,QAAQC,GAAC,IAAK/B,GAAG,GAAG,CAAC,MAAMgC,GAAG,CAAC,GAAG;AAAA,IACrI,OAAOxC;AAAA,IACP,MAAM;AAAA,IACN,aAAaqB;AAAA,EACjB,CAAG;AACDd,EAAAA,GAAG2B,GAAG,MAAMO,GAAE,GAAI,EAAE,OAAOzC,GAAG;AAC9B,MAAI0C,KAAI;AACR,QAAMC,KAAI,CAAC,MAAM;AACf,IAAAX,KAAK,CAACU,MAAKD,GAAG,CAAC;AAAA,EACjB,GAAGG,KAAK,CAAC,MAAM;AACb,IAAAZ,KAAK,CAACU,MAAKG,GAAG,CAAC;AAAA,EACjB;AACA,EAAAzB,KAAK,MAAMjC,aAAa,UAAU6B,GAAGI,GAAG,WAAWuB,IAAG,EAAE,SAAS,IAAI,IAAI3B,GAAGI,GAAGU,IAAIc,EAAE,IAAIZ,IAAIvB,GAAG,MAAM;AACpG,IAAAiC,KAAI,IAAID,GAAE;AAAA,EACZ,CAAC,IAAIA,GAAE;AACP,WAASK,GAAG,GAAGC,GAAG;AAChB,QAAI3B,GAAG;AACL,YAAM4B,KAAK;AAAA,QACT,KAAKd,EAAE;AAAA,QACP,UAAU;AAAA,QACV,UAAUa;AAAA,QACV,aAAa5D;AAAA,MACrB;AACM,MAAAiC,EAAE,cAAcjC,aAAa,UAAU,IAAI,aAAa,WAAW6D,EAAE,IAAI,IAAI,YAAYlB,IAAI,EAAE,QAAQkB,GAAE,CAAE,CAAC;AAAA,IAC9G;AAAA,EACF;AACA,WAASR,GAAG,GAAG;AACb,QAAI;AACF,YAAMO,IAAI5D,EAAE,QAAQ+C,EAAE,KAAK;AAC3B,UAAI,KAAK;AACP,QAAAY,GAAGC,GAAG,IAAI,GAAG5D,EAAE,WAAW+C,EAAE,KAAK;AAAA,WAC9B;AACH,cAAMc,KAAKX,EAAE,MAAM,CAAC;AACpB,QAAAU,MAAMC,OAAO7D,EAAE,QAAQ+C,EAAE,OAAOc,EAAE,GAAGF,GAAGC,GAAGC,EAAE;AAAA,MAC/C;AAAA,IACF,SAASD,GAAG;AACV,MAAAzB,EAAEyB,CAAC;AAAA,IACL;AAAA,EACF;AACA,WAASE,GAAG,GAAG;AACb,UAAMF,IAAI,IAAI,EAAE,WAAW5D,EAAE,QAAQ+C,EAAE,KAAK;AAC5C,QAAIa,KAAK;AACP,aAAO,KAAKZ,KAAK,QAAQhD,EAAE,QAAQ+C,EAAE,OAAOG,EAAE,MAAMF,CAAC,CAAC,GAAGA;AAC3D,QAAI,CAAC,KAAK,GAAG;AACX,YAAMa,KAAKX,EAAE,KAAKU,CAAC;AACnB,aAAO,OAAO,KAAK,aAAa,EAAEC,IAAIb,CAAC,IAAIC,MAAM,YAAY,CAAC,MAAM,QAAQY,EAAE,IAAI;AAAA,QAChF,GAAGb;AAAA,QACH,GAAGa;AAAA,MACX,IAAUA;AAAA,IACN,MAAO,QAAO,OAAOD,KAAK,WAAWA,IAAIV,EAAE,KAAKU,CAAC;AAAA,EACnD;AACA,WAASN,GAAG,GAAG;AACb,QAAI,EAAE,KAAK,EAAE,gBAAgBtD,IAAI;AAC/B,UAAI,KAAK,EAAE,OAAO,MAAM;AACtB,UAAE,QAAQgD;AACV;AAAA,MACF;AACA,UAAI,EAAE,KAAK,EAAE,QAAQD,EAAE,QAAQ;AAC7B,QAAAI,GAAC;AACD,YAAI;AACF,gBAAMS,IAAIV,EAAE,MAAM,EAAE,KAAK;AACzB,WAAC,MAAM,UAAU,GAAG,aAAaU,OAAO,EAAE,QAAQE,GAAG,CAAC;AAAA,QACxD,SAASF,GAAG;AACV,UAAAzB,EAAEyB,CAAC;AAAA,QACL,UAAC;AACC,cAAIpC,GAAG4B,EAAC,IAAIA,GAAC;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,WAASM,GAAG,GAAG;AACb,IAAAJ,GAAG,EAAE,MAAM;AAAA,EACb;AACA,SAAO;AACT;AACA,SAASS,GAAG3E,GAAGW,GAAGC,IAAI,CAAA,GAAI;AACxB,QAAM,EAAE,QAAQY,IAAIc,GAAE,IAAK1B;AAC3B,SAAO4C,GAAGxD,GAAGW,GAAGa,GAAG,cAAcZ,CAAC;AACpC;AAsEA,SAASgE,KAAK;AACZ,SAAO,OAAO,SAAS,OAAO,OAAO,aAAa,OAAO,WAAU,IAAK,GAAG,KAAK,IAAG,CAAE,IAAI,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC;AACrI;AACA,SAASC,GAAG7E,GAAG;AACb,QAAMW,IAAI;AAAA,IACR,MAAMX,EAAE;AAAA,IACR,UAAUA,EAAE;AAAA,IACZ,WAAWA,EAAE,UAAU,YAAW;AAAA,EACtC;AACE,SAAOA,EAAE,cAAcW,EAAE,YAAY;AAAA,IACnC,GAAGX,EAAE;AAAA,IACL,WAAWA,EAAE,UAAU,UAAU,YAAW;AAAA,EAChD,IAAMA,EAAE,eAAeW,EAAE,aAAaX,EAAE,WAAW,IAAI,CAACY,OAAO;AAAA,IAC3D,GAAGA;AAAA,IACH,WAAWA,EAAE,UAAU,YAAW;AAAA,EACtC,EAAI,IAAID;AACR;AACA,SAASmE,GAAG9E,GAAG;AACb,QAAMW,IAAI;AAAA,IACR,MAAMX,EAAE;AAAA,IACR,UAAUA,EAAE;AAAA,IACZ,WAAW,IAAI,KAAKA,EAAE,SAAS;AAAA,EACnC;AACE,SAAOA,EAAE,cAAcW,EAAE,YAAY;AAAA,IACnC,GAAGX,EAAE;AAAA,IACL,WAAW,IAAI,KAAKA,EAAE,UAAU,SAAS;AAAA,EAC7C,IAAMA,EAAE,eAAeW,EAAE,aAAaX,EAAE,WAAW,IAAI,CAACY,OAAO;AAAA,IAC3D,GAAGA;AAAA,IACH,WAAW,IAAI,KAAKA,EAAE,SAAS;AAAA,EACnC,EAAI,IAAID;AACR;AACA,SAASoE,GAAG/E,GAAGW,GAAG;AAChB,GAACX,EAAE,SAAS,SAASA,EAAE,SAAS,aAAaW,KAAK,OAAOA,EAAE,OAAO,cAAcA,EAAE,IAAIX,EAAE,MAAMA,EAAE,aAAa,MAAM;AACrH;AACA,SAASgF,GAAGhF,GAAGW,GAAG;AAChB,GAACX,EAAE,SAAS,SAASA,EAAE,SAAS,aAAaW,KAAK,OAAOA,EAAE,OAAO,cAAcA,EAAE,IAAIX,EAAE,MAAMA,EAAE,YAAY,MAAM;AACpH;AACA,MAAMiF,KAAKC,GAAG,qBAAqB,MAAM;AACvC,QAAMlF,IAAIsB,EAAE;AAAA,IACV,eAAe;AAAA,IACf,oBAAoB;AAAA,IACpB,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,EAC1B,CAAG,GAAGX,IAAIW,EAAE,EAAE,GAAGV,IAAIU,EAAE,EAAE,GAAGE,IAAIF,EAAEsD,GAAE,CAAE,GAAG/D,IAAIS,EAAE,EAAE,GAAGG,IAAIH,EAAE,CAAA,CAAE,GAAG,IAAIoB,EAAG,MAAM9B,EAAE,QAAQ,IAAI,KAAKD,EAAE,MAAMC,EAAE,KAAK,GAAG,cAAc,EAAE,GAAG,IAAI8B,EAAG,MAAM9B,EAAE,QAAQD,EAAE,MAAM,SAAS,CAAC,GAAG,IAAI+B,EAAG,MAAM;AACzL,QAAIyC,IAAI;AACR,aAAS,IAAIvE,EAAE,OAAO,KAAK,KAAKD,EAAE,MAAM,CAAC,GAAG,YAAY;AACtD,MAAAwE;AACF,WAAOA;AAAA,EACT,CAAC,GAAG,IAAIzC,EAAG,MAAM/B,EAAE,MAAM,SAAS,IAAIC,EAAE,KAAK,GAAGgC,IAAIF,EAAG,OAAO;AAAA,IAC5D,SAAS,EAAE;AAAA,IACX,SAAS,EAAE;AAAA,IACX,WAAW,EAAE;AAAA,IACb,WAAW,EAAE;AAAA,IACb,cAAc9B,EAAE;AAAA,EACpB,EAAI;AACF,WAASiC,EAAEsC,GAAG;AACZ,IAAAnF,EAAE,QAAQ,EAAE,GAAGA,EAAE,OAAO,GAAGmF,EAAC,GAAInF,EAAE,MAAM,sBAAsB,EAAC,GAAIyE,GAAE,IAAKzE,EAAE,MAAM,sBAAsBqE,GAAE;AAAA,EAC5G;AACA,WAASvB,EAAEqC,GAAG,IAAI,QAAQ;AACxB,UAAMC,IAAI;AAAA,MACR,GAAGD;AAAA,MACH,IAAIP,GAAE;AAAA,MACN,WAA2B,oBAAI,KAAI;AAAA,MACnC,QAAQ;AAAA,MACR,QAAQ5E,EAAE,MAAM;AAAA,IACtB;AACI,QAAIA,EAAE,MAAM,mBAAmB,CAACA,EAAE,MAAM,gBAAgBoF,CAAC;AACvD,aAAOA,EAAE;AACX,QAAIvE,EAAE,SAASY,EAAE,MAAM,SAAS;AAC9B,aAAOA,EAAE,MAAMA,EAAE,MAAM,SAAS,CAAC,EAAE,WAAW,KAAK2D,CAAC,GAAGA,EAAE;AAC3D,QAAIxE,EAAE,QAAQD,EAAE,MAAM,SAAS,MAAMA,EAAE,QAAQA,EAAE,MAAM,MAAM,GAAGC,EAAE,QAAQ,CAAC,IAAID,EAAE,MAAM,KAAKyE,CAAC,GAAGxE,EAAE,SAASZ,EAAE,MAAM,iBAAiBW,EAAE,MAAM,SAASX,EAAE,MAAM,eAAe;AAC1K,YAAMqF,KAAI1E,EAAE,MAAM,SAASX,EAAE,MAAM;AACnC,MAAAW,EAAE,QAAQA,EAAE,MAAM,MAAM0E,EAAC,GAAGzE,EAAE,SAASyE;AAAA,IACzC;AACA,WAAOrF,EAAE,MAAM,sBAAsBuE,GAAGa,CAAC,GAAGA,EAAE;AAAA,EAChD;AACA,WAASrC,IAAI;AACX,IAAAlC,EAAE,QAAQ,IAAIY,EAAE,MAAM,KAAK;AAAA,MACzB,IAAImD,GAAE;AAAA,MACN,YAAY,CAAA;AAAA,IAClB,CAAK;AAAA,EACH;AACA,WAASnB,EAAE0B,GAAG;AACZ,QAAI,CAACtE,EAAE,SAASY,EAAE,MAAM,WAAW;AACjC,aAAO;AACT,UAAM,IAAIA,EAAE,MAAM,IAAG,GAAI2D,IAAI,EAAE;AAC/B,QAAIA,EAAE,WAAW;AACf,aAAO3D,EAAE,MAAM,WAAW,MAAMZ,EAAE,QAAQ,KAAK;AACjD,UAAMwE,KAAI,EAAE,IAAIC,KAAKF,EAAE,MAAM,CAACG,OAAOA,GAAG,UAAU,GAAGC,KAAK;AAAA,MACxD,IAAIH;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,MAEN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,SAASD,EAAE,CAAC,GAAG,WAAW;AAAA,MAC1B,WAA2B,oBAAI,KAAI;AAAA,MACnC,QAAQ;AAAA,MACR,YAAYE;AAAA,MACZ,oBAAoBA,KAAK,SAAS;AAAA,MAClC,wBAAwBF,EAAE,IAAI,CAACG,OAAOA,GAAG,EAAE;AAAA,MAC3C,UAAU,EAAE,aAAaJ,EAAC;AAAA,IAChC;AACI,WAAOC,EAAE,QAAQ,CAACG,OAAO;AACvB,MAAAA,GAAG,sBAAsBF;AAAA,IAC3B,CAAC,GAAG5D,EAAE,MAAM,SAAS,IAAIA,EAAE,MAAMA,EAAE,MAAM,SAAS,CAAC,EAAE,WAAW,KAAK+D,EAAE,KAAK7E,EAAE,MAAM,KAAK,GAAGyE,GAAGI,EAAE,GAAG5E,EAAE,QAAQD,EAAE,MAAM,SAAS,IAAIX,EAAE,MAAM,sBAAsBiE,GAAGmB,GAAGI,EAAE,GAAG/D,EAAE,MAAM,WAAW,MAAMZ,EAAE,QAAQ,KAAKwE;AAAA,EACtN;AACA,WAAS,IAAI;AACX,IAAA5D,EAAE,QAAQ,CAAA,GAAIZ,EAAE,QAAQ;AAAA,EAC1B;AACA,WAAS8C,EAAEwB,GAAG;AACZ,QAAI,CAAC,EAAE,MAAO,QAAO;AACrB,UAAM,IAAIxE,EAAE,MAAMC,EAAE,KAAK;AACzB,QAAI,CAAC,EAAE;AACL,aAAO,OAAO,UAAU,OAAO,EAAE,sBAAsB,QAAQ,KAAK,uCAAuC,EAAE,kBAAkB,GAAG;AACpI,QAAI;AACF,UAAI,EAAE,SAAS,WAAW,EAAE;AAC1B,iBAASwE,IAAI,EAAE,uBAAuB,SAAS,GAAGA,KAAK,GAAGA,KAAK;AAC7D,gBAAMC,KAAI,EAAE,uBAAuBD,CAAC,GAAGE,KAAK3E,EAAE,MAAM,KAAK,CAAC6E,OAAOA,GAAG,OAAOH,EAAC;AAC5E,UAAAC,MAAMP,GAAGO,IAAIH,CAAC;AAAA,QAChB;AAAA;AAEA,QAAAJ,GAAG,GAAGI,CAAC;AACT,aAAOvE,EAAE,SAASZ,EAAE,MAAM,sBAAsB0E,GAAG,CAAC,GAAG;AAAA,IACzD,SAASU,GAAG;AACV,aAAO,OAAO,UAAU,OAAO,QAAQ,MAAM,gBAAgBA,CAAC,GAAG;AAAA,IACnE;AAAA,EACF;AACA,WAASxB,EAAEuB,GAAG;AACZ,QAAI,CAAC,EAAE,MAAO,QAAO;AACrB,UAAM,IAAIxE,EAAE,MAAMC,EAAE,QAAQ,CAAC;AAC7B,QAAI;AACF,UAAI,EAAE,SAAS,WAAW,EAAE;AAC1B,mBAAWwE,KAAK,EAAE,wBAAwB;AACxC,gBAAMC,KAAI1E,EAAE,MAAM,KAAK,CAAC2E,OAAOA,GAAG,OAAOF,CAAC;AAC1C,UAAAC,MAAKL,GAAGK,IAAGF,CAAC;AAAA,QACd;AAAA;AAEA,QAAAH,GAAG,GAAGG,CAAC;AACT,aAAOvE,EAAE,SAASZ,EAAE,MAAM,sBAAsBkE,GAAG,CAAC,GAAG;AAAA,IACzD,SAASkB,GAAG;AACV,aAAO,OAAO,UAAU,OAAO,QAAQ,MAAM,gBAAgBA,CAAC,GAAG;AAAA,IACnE;AAAA,EACF;AACA,WAASvB,IAAI;AACX,UAAMsB,IAAIxE,EAAE,MAAM,OAAO,CAACyE,MAAMA,EAAE,UAAU,EAAE,QAAQ,IAAIzE,EAAE,MAAM,IAAI,CAACyE,MAAMA,EAAE,SAAS;AACxF,WAAO;AAAA,MACL,YAAY,CAAC,GAAGzE,EAAE,KAAK;AAAA,MACvB,cAAcC,EAAE;AAAA,MAChB,iBAAiBD,EAAE,MAAM;AAAA,MACzB,sBAAsBwE;AAAA,MACtB,wBAAwBxE,EAAE,MAAM,SAASwE;AAAA,MACzC,iBAAiB,EAAE,SAAS,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,CAACC,MAAMA,EAAE,QAAO,CAAE,CAAC,CAAC,IAAI;AAAA,MACnF,iBAAiB,EAAE,SAAS,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,CAACA,MAAMA,EAAE,QAAO,CAAE,CAAC,CAAC,IAAI;AAAA,IACzF;AAAA,EACE;AACA,WAAStB,IAAI;AACX,IAAAnD,EAAE,QAAQ,CAAA,GAAIC,EAAE,QAAQ;AAAA,EAC1B;AACA,WAASmD,GAAEoB,GAAG,GAAG;AACf,WAAOxE,EAAE,MAAM,OAAO,CAACyE,MAAMA,EAAE,YAAYD,MAAM,MAAM,UAAUC,EAAE,aAAa,EAAE;AAAA,EACpF;AACA,WAASpB,GAAEmB,GAAG,GAAG;AACf,UAAMC,IAAIzE,EAAE,MAAM,KAAK,CAAC0E,OAAMA,GAAE,OAAOF,CAAC;AACxC,IAAAC,MAAMA,EAAE,aAAa,IAAIA,EAAE,qBAAqB;AAAA,EAClD;AACA,WAASjB,GAAEgB,GAAG,GAAGC,GAAGC,KAAI,WAAWC,IAAI;AACrC,UAAME,KAAK;AAAA,MACT,MAAM;AAAA,MACN,MAAMJ,KAAKA,EAAE,SAAS,IAAI,GAAGD,CAAC,IAAIC,EAAE,CAAC,CAAC,KAAKD;AAAA,MAC3C,WAAW;AAAA,MACX,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,UAAUC,KAAKA,EAAE,SAAS,IAAIA,EAAE,CAAC,IAAI;AAAA,MACrC,YAAY;AAAA;AAAA,MAEZ,YAAY;AAAA,MACZ,iBAAiBA;AAAA,MACjB,cAAcC;AAAA,MACd,aAAaC;AAAA,IACnB;AACI,WAAOxC,EAAE0C,EAAE;AAAA,EACb;AACA,MAAIpB,KAAI;AACR,WAASC,KAAK;AACZ,WAAO,SAAS,OAAO,CAAC,OAAO,qBAAqBD,KAAI,IAAI,iBAAiB,yBAAyB,GAAGA,GAAE,iBAAiB,WAAW,CAACe,MAAM;AAC5I,YAAM,IAAIA,EAAE;AACZ,UAAI,CAAC,KAAK,OAAO,KAAK,SAAU;AAChC,YAAMC,IAAIN,GAAG,CAAC;AACd,MAAAM,EAAE,aAAa5D,EAAE,UAAU4D,EAAE,SAAS,eAAeA,EAAE,aAAazE,EAAE,MAAM,KAAK,EAAE,GAAGyE,EAAE,WAAW,QAAQ,OAAM,CAAE,GAAGxE,EAAE,QAAQD,EAAE,MAAM,SAAS,KAAKyE,EAAE,SAAS,eAAeA,EAAE,eAAezE,EAAE,MAAM;AAAA,QACvM,GAAGyE,EAAE,WAAW,IAAI,CAACC,OAAM,OAAO,OAAO,CAAA,GAAIA,IAAG,EAAE,QAAQ,OAAM,CAAE,CAAC;AAAA,MAC3E,GAASzE,EAAE,QAAQD,EAAE,MAAM,SAAS;AAAA,IAChC,CAAC;AAAA,EACH;AACA,WAAS4D,GAAGY,GAAG;AACb,QAAI,CAACf,GAAG;AACR,UAAM,IAAI;AAAA,MACR,MAAM;AAAA,MACN,WAAWe;AAAA,MACX,UAAU3D,EAAE;AAAA,MACZ,WAA2B,oBAAI,KAAI;AAAA,IACzC;AACI,IAAA4C,GAAE,YAAYS,GAAG,CAAC,CAAC;AAAA,EACrB;AACA,WAASZ,GAAGkB,GAAG,GAAG;AAChB,QAAI,CAACf,GAAG;AACR,UAAMgB,IAAI;AAAA,MACR,MAAM;AAAA,MACN,YAAY,CAAC,GAAGD,GAAG,CAAC;AAAA,MACpB,UAAU3D,EAAE;AAAA,MACZ,WAA2B,oBAAI,KAAI;AAAA,IACzC;AACI,IAAA4C,GAAE,YAAYS,GAAGO,CAAC,CAAC;AAAA,EACrB;AACA,WAASV,GAAGS,GAAG;AACb,QAAI,CAACf,GAAG;AACR,UAAM,IAAI;AAAA,MACR,MAAM;AAAA,MACN,WAAWe;AAAA,MACX,UAAU3D,EAAE;AAAA,MACZ,WAA2B,oBAAI,KAAI;AAAA,IACzC;AACI,IAAA4C,GAAE,YAAYS,GAAG,CAAC,CAAC;AAAA,EACrB;AACA,WAASX,GAAGiB,GAAG;AACb,QAAI,CAACf,GAAG;AACR,UAAM,IAAI;AAAA,MACR,MAAM;AAAA,MACN,WAAWe;AAAA,MACX,UAAU3D,EAAE;AAAA,MACZ,WAA2B,oBAAI,KAAI;AAAA,IACzC;AACI,IAAA4C,GAAE,YAAYS,GAAG,CAAC,CAAC;AAAA,EACrB;AACA,QAAMP,KAAKK,GAAG,wBAAwB,MAAM;AAAA,IAC1C,YAAY;AAAA,MACV,MAAM,CAACQ,MAAM;AACX,YAAI;AACF,iBAAO,KAAK,MAAMA,CAAC;AAAA,QACrB,QAAQ;AACN,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,MACA,OAAO,CAACA,MAAMA,IAAI,KAAK,UAAUA,CAAC,IAAI;AAAA,IAC5C;AAAA,EACA,CAAG;AACD,WAAS,IAAI;AACX,QAAI,EAAE,OAAO,SAAS;AACpB,UAAI;AACF,cAAMA,IAAIb,GAAG;AACb,QAAAa,KAAK,MAAM,QAAQA,EAAE,UAAU,MAAMxE,EAAE,QAAQwE,EAAE,WAAW,IAAI,CAAC,OAAO;AAAA,UACtE,GAAG;AAAA,UACH,WAAW,IAAI,KAAK,EAAE,SAAS;AAAA,QACzC,EAAU,GAAGvE,EAAE,QAAQuE,EAAE,gBAAgB;AAAA,MACnC,SAASA,GAAG;AACV,eAAO,UAAU,OAAO,QAAQ,MAAM,+CAA+CA,CAAC;AAAA,MACxF;AAAA,EACJ;AACA,WAASX,IAAI;AACX,QAAI,EAAE,OAAO,SAAS;AACpB,UAAI;AACF,QAAAF,GAAG,QAAQ;AAAA,UACT,YAAY3D,EAAE,MAAM,IAAI,CAACwE,OAAO;AAAA,YAC9B,GAAGA;AAAA,YACH,WAAWA,EAAE,UAAU,YAAW;AAAA,UAC9C,EAAY;AAAA,UACF,cAAcvE,EAAE;AAAA,QAC1B;AAAA,MACM,SAASuE,GAAG;AACV,eAAO,UAAU,OAAO,QAAQ,MAAM,6CAA6CA,CAAC;AAAA,MACtF;AAAA,EACJ;AACA,WAASV,KAAK;AACZzC,IAAAA;AAAAA,MACE,CAACrB,GAAGC,CAAC;AAAA,MACL,MAAM;AACJ,QAAAZ,EAAE,MAAM,qBAAqBwE,EAAC;AAAA,MAChC;AAAA,MACA,EAAE,MAAM,GAAE;AAAA,IAChB;AAAA,EACE;AACA,SAAO;AAAA;AAAA,IAEL,YAAY7D;AAAA,IACZ,cAAcC;AAAA,IACd,QAAQZ;AAAA,IACR,UAAUwB;AAAA,IACV,eAAeoB;AAAA;AAAA,IAEf,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA;AAAA,IAEX,WAAWC;AAAA,IACX,cAAcC;AAAA,IACd,YAAYC;AAAA,IACZ,aAAaU;AAAA,IACb,aAAa;AAAA,IACb,MAAME;AAAA,IACN,MAAMC;AAAA,IACN,OAAOE;AAAA,IACP,kBAAkBC;AAAA,IAClB,aAAaF;AAAA,IACb,kBAAkBG;AAAA,IAClB,WAAWG;AAAA,EACf;AACA,CAAC;AACD,MAAMsB,GAAG;AAAA;AAAA;AAAA;AAAA,EAIP,OAAO;AAAA,EACP;AAAA,EACA,iBAAiC,oBAAI,IAAG;AAAA;AAAA,EAExC,qBAAqC,oBAAI,IAAG;AAAA;AAAA,EAE5C,sBAAsC,oBAAI,IAAG;AAAA;AAAA,EAE7C,gBAAgC,oBAAI,IAAG;AAAA;AAAA,EAEvC,0BAA0C,oBAAI,IAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjD,YAAY9E,IAAI,IAAI;AAClB,WAAO8E,GAAG,QAAQA,GAAG,SAASA,GAAG,QAAQ,MAAM,KAAK,UAAU;AAAA,MAC5D,gBAAgB9E,EAAE,kBAAkB;AAAA,MACpC,OAAOA,EAAE,SAAS;AAAA,MAClB,gBAAgBA,EAAE,kBAAkB;AAAA,MACpC,cAAcA,EAAE;AAAA,IACtB,GAAO;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAeA,GAAGC,GAAG;AACnB,SAAK,cAAc,IAAID,GAAGC,CAAC;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAUD,GAAG;AACX,WAAO,KAAK,cAAc,IAAIA,CAAC;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,yBAAyBA,GAAGC,GAAG;AAC7B,SAAK,wBAAwB,IAAID,GAAGC,CAAC;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAiBD,GAAGC,GAAGY,GAAG;AACxB,SAAK,oBAAoB,IAAIb,CAAC,KAAK,KAAK,oBAAoB,IAAIA,GAAmB,oBAAI,IAAG,CAAE,GAAG,KAAK,oBAAoB,IAAIA,CAAC,EAAE,IAAIC,GAAGY,CAAC;AAAA,EACzI;AAAA;AAAA;AAAA;AAAA,EAIA,iBAAiBb,GAAGC,GAAG;AACrB,WAAO,KAAK,oBAAoB,IAAID,CAAC,GAAG,IAAIC,CAAC;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,uBAAuBD,GAAGC,GAAG;AAC3B,QAAI,CAACA,EAAG;AACR,UAAMY,IAAoB,oBAAI,IAAG,GAAIX,IAAoB,oBAAI,IAAG,GAAIY,IAAIb;AACxE,QAAI,OAAOa,EAAE,YAAY;AACvB,MAAAA,EAAE,SAAQ,EAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM;AAC/B,aAAK,iBAAiB,GAAG,GAAGD,GAAGX,CAAC;AAAA,MAClC,CAAC;AAAA,aACMD,aAAa;AACpB,iBAAW,CAAC,GAAG,CAAC,KAAKA;AACnB,aAAK,iBAAiB,GAAG,GAAGY,GAAGX,CAAC;AAAA,QAC/B,CAAAD,KAAK,OAAOA,KAAK,YAAY,OAAO,QAAQA,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM;AACtE,WAAK,iBAAiB,GAAG,GAAGY,GAAGX,CAAC;AAAA,IAClC,CAAC;AACD,SAAK,eAAe,IAAIF,GAAGa,CAAC,GAAG,KAAK,mBAAmB,IAAIb,GAAGE,CAAC;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,iBAAiBF,GAAGC,GAAGY,GAAGX,GAAG;AAC3B,SAAK,gBAAgBF,CAAC,IAAIE,EAAE,IAAIF,GAAGC,CAAC,IAAIY,EAAE,IAAIb,GAAGC,CAAC;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgBD,GAAG;AACjB,WAAO,eAAe,KAAKA,CAAC,KAAKA,EAAE,SAAS;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,qBAAqBA,GAAGC,IAAI,IAAI;AACpC,UAAM,EAAE,SAASY,GAAG,WAAWX,EAAC,IAAKF,GAAGc,IAAI,KAAK,kBAAkBD,GAAGX,CAAC;AACvE,QAAIY,EAAE,WAAW;AACf,aAAO;AAAA,QACL,MAAMd,EAAE;AAAA,QACR,eAAe,CAAA;AAAA,QACf,oBAAoB;AAAA,QACpB,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACpB;AACI,UAAM,IAAI,YAAY,IAAG,GAAI,IAAI,CAAA;AACjC,QAAI,IAAI,IAAI,IAAI,IAAIiC;AACpB,UAAMC,IAAI,KAAK,iBAAiBrB,GAAGX,CAAC,GAAGiC,IAAIlC,EAAE,kBAAkBiC,KAAK,KAAK,QAAQ;AACjF,IAAAC,KAAKnC,EAAE,UAAUiC,IAAI,KAAK,gBAAgBjC,CAAC;AAC3C,eAAWgD,KAAKlC;AACd,UAAI;AACF,cAAMmC,IAAI,MAAM,KAAK,cAAcD,GAAGhD,GAAGC,EAAE,OAAO;AAClD,YAAI,EAAE,KAAKgD,CAAC,GAAG,CAACA,EAAE,SAAS;AACzB,cAAI;AACJ;AAAA,QACF;AAAA,MACF,SAASA,GAAG;AACV,cAAME,IAAI;AAAA,UACR,SAAS;AAAA,UACT,OAAOF,aAAa,QAAQA,IAAI,IAAI,MAAM,OAAOA,CAAC,CAAC;AAAA,UACnD,eAAe;AAAA,UACf,QAAQD;AAAA,QAClB;AACQ,UAAE,KAAKG,CAAC,GAAG,IAAI;AACf;AAAA,MACF;AACF,QAAIhB,KAAK,KAAKF,KAAKjC,EAAE;AACnB,UAAI;AACF,aAAK,gBAAgBA,GAAGiC,CAAC,GAAG,IAAI;AAAA,MAClC,SAASe,GAAG;AACV,gBAAQ,MAAM,oCAAoCA,CAAC;AAAA,MACrD;AACF,UAAMZ,IAAI,YAAY,IAAG,IAAK,GAAGU,IAAI,EAAE,OAAO,CAACE,MAAM,CAACA,EAAE,WAAWA,EAAE,SAAS,IAAI;AAClF,QAAIF,EAAE,SAAS,KAAK,KAAK,QAAQ;AAC/B,iBAAWE,KAAKF;AACd,YAAI;AACF,UAAAE,EAAE,SAAS,KAAK,QAAQ,aAAaA,EAAE,OAAOhD,GAAGgD,EAAE,MAAM;AAAA,QAC3D,SAASC,GAAG;AACV,kBAAQ,MAAM,kDAAkDA,CAAC;AAAA,QACnE;AACJ,WAAO;AAAA,MACL,MAAMjD,EAAE;AAAA,MACR,eAAe;AAAA,MACf,oBAAoBoC;AAAA,MACpB,cAAc,EAAE,MAAM,CAACY,MAAMA,EAAE,OAAO;AAAA,MACtC,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,UAAU,KAAK,QAAQ,SAASb,IAAIF,IAAI;AAAA;AAAA,IAE9C;AAAA,EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,yBAAyBjC,GAAGC,IAAI,IAAI;AACxC,UAAM,EAAE,SAASY,GAAG,YAAYX,EAAC,IAAKF,GAAGc,IAAI,KAAK,sBAAsBD,GAAGX,CAAC;AAC5E,QAAIY,EAAE,WAAW;AACf,aAAO,CAAA;AACT,UAAM,IAAI,CAAA;AACV,eAAW,KAAKA;AACd,UAAI;AACF,cAAM,IAAI,MAAM,KAAK,wBAAwB,GAAGd,GAAGC,EAAE,OAAO;AAC5D,YAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;AAChB;AAAA,MACJ,SAAS,GAAG;AACV,cAAM,IAAI;AAAA,UACR,SAAS;AAAA,UACT,OAAO,aAAa,QAAQ,IAAI,IAAI,MAAM,OAAO,CAAC,CAAC;AAAA,UACnD,eAAe;AAAA,UACf,QAAQ;AAAA,UACR,YAAYC;AAAA,QACtB;AACQ,UAAE,KAAK,CAAC;AACR;AAAA,MACF;AACF,UAAM,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO;AACpC,QAAI,EAAE,SAAS,KAAK,KAAK,QAAQ;AAC/B,iBAAW,KAAK;AACd,YAAI;AACF,YAAE,SAAS,KAAK,QAAQ,aAAa,EAAE,OAAOF,GAAG,EAAE,MAAM;AAAA,QAC3D,SAAS,GAAG;AACV,kBAAQ,MAAM,kDAAkD,CAAC;AAAA,QACnE;AACJ,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,sBAAsBA,GAAGC,GAAG;AAC1B,UAAMY,IAAI,KAAK,mBAAmB,IAAIb,CAAC;AACvC,WAAOa,IAAIA,EAAE,IAAIZ,CAAC,KAAK,CAAA,IAAK,CAAA;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,wBAAwBD,GAAGC,GAAGY,GAAG;AACrC,UAAMX,IAAI,YAAY,IAAG,GAAIY,IAAID,KAAK,KAAK,QAAQ;AACnD,QAAI;AACF,UAAI,IAAI,KAAK,wBAAwB,IAAIb,CAAC;AAC1C,UAAI,CAAC,GAAG;AACN,cAAM+E,IAAI,KAAK,cAAc,IAAI/E,CAAC;AAClC,QAAA+E,MAAM,IAAIA;AAAA,MACZ;AACA,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,sBAAsB/E,CAAC,yBAAyB;AAClE,aAAO,MAAM,KAAK,mBAAmB,GAAGC,GAAGa,CAAC,GAAG;AAAA,QAC7C,SAAS;AAAA,QACT,eAAe,YAAY,IAAG,IAAKZ;AAAA,QACnC,QAAQF;AAAA,QACR,YAAYC,EAAE;AAAA,MACtB;AAAA,IACI,SAAS,GAAG;AACV,YAAM,IAAI,YAAY,IAAG,IAAKC;AAC9B,aAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAO,aAAa,QAAQ,IAAI,IAAI,MAAM,OAAO,CAAC,CAAC;AAAA,QACnD,eAAe;AAAA,QACf,QAAQF;AAAA,QACR,YAAYC,EAAE;AAAA,MACtB;AAAA,IACI;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkBD,GAAGC,GAAG;AACtB,UAAMY,IAAI,KAAK,eAAe,IAAIb,CAAC;AACnC,QAAI,CAACa,EAAG,QAAO,CAAA;AACf,UAAMX,IAAI,CAAA;AACV,eAAW,CAACY,GAAG,CAAC,KAAKD;AACnB,WAAK,kBAAkBC,GAAGb,CAAC,KAAKC,EAAE,KAAK,GAAG,CAAC;AAC7C,WAAOA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,kBAAkBF,GAAGC,GAAG;AACtB,WAAOD,MAAMC,IAAI,KAAKD,EAAE,SAAS,GAAG,IAAI,KAAK,kBAAkBA,GAAGC,CAAC,IAAID,EAAE,SAAS,GAAG,IAAI,KAAK,kBAAkBA,GAAGC,CAAC,IAAI;AAAA,EAC1H;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkBD,GAAGC,GAAG;AACtB,UAAMY,IAAIb,EAAE,MAAM,GAAG,GAAGE,IAAID,EAAE,MAAM,GAAG;AACvC,QAAIY,EAAE,WAAWX,EAAE;AACjB,aAAO;AACT,aAASY,IAAI,GAAGA,IAAID,EAAE,QAAQC,KAAK;AACjC,YAAM,IAAID,EAAEC,CAAC,GAAG,IAAIZ,EAAEY,CAAC;AACvB,UAAI,MAAM,OAAO,MAAM;AACrB,eAAO;AAAA,IACX;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,cAAcd,GAAGC,GAAGY,GAAG;AAC3B,UAAMX,IAAI,YAAY,IAAG,GAAIY,IAAID,KAAK,KAAK,QAAQ;AACnD,QAAI;AACF,YAAM,IAAI,KAAK,cAAc,IAAIb,CAAC;AAClC,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,WAAWA,CAAC,yBAAyB;AACvD,aAAO,MAAM,KAAK,mBAAmB,GAAGC,GAAGa,CAAC,GAAG;AAAA,QAC7C,SAAS;AAAA,QACT,eAAe,YAAY,IAAG,IAAKZ;AAAA,QACnC,QAAQF;AAAA,MAChB;AAAA,IACI,SAAS,GAAG;AACV,YAAM,IAAI,YAAY,IAAG,IAAKE;AAC9B,aAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAO,aAAa,QAAQ,IAAI,IAAI,MAAM,OAAO,CAAC,CAAC;AAAA,QACnD,eAAe;AAAA,QACf,QAAQF;AAAA,MAChB;AAAA,IACI;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,mBAAmBA,GAAGC,GAAGY,GAAG;AAChC,WAAO,IAAI,QAAQ,CAACX,GAAGY,MAAM;AAC3B,YAAM,IAAI,WAAW,MAAM;AACzB,QAAAA,EAAE,IAAI,MAAM,wBAAwBD,CAAC,IAAI,CAAC;AAAA,MAC5C,GAAGA,CAAC;AACJ,cAAQ,QAAQb,EAAEC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,aAAa,CAAC,GAAGC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM;AACtE,qBAAa,CAAC,GAAGY,EAAE,aAAa,QAAQ,IAAI,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC;AAAA,MAClE,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgBd,GAAG;AACjB,QAAI,EAAE,CAACA,EAAE,SAAS,CAACA,EAAE,WAAW,CAACA,EAAE;AACjC,UAAI;AACF,cAAMC,IAAI,GAAGD,EAAE,OAAO,IAAIA,EAAE,QAAQ,IAAIa,IAAIb,EAAE,MAAM,IAAIC,CAAC;AACzD,eAAO,CAACY,KAAK,OAAOA,KAAK,WAAW,SAAS,KAAK,MAAM,KAAK,UAAUA,CAAC,CAAC;AAAA,MAC3E,SAASZ,GAAG;AACV,aAAK,QAAQ,SAAS,QAAQ,KAAK,+CAA+CA,CAAC;AACnF;AAAA,MACF;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgBD,GAAGC,GAAG;AACpB,QAAI,EAAE,CAACD,EAAE,SAAS,CAACA,EAAE,WAAW,CAACA,EAAE,YAAY,CAACC;AAC9C,UAAI;AACF,cAAMY,IAAI,GAAGb,EAAE,OAAO,IAAIA,EAAE,QAAQ;AACpC,QAAAA,EAAE,MAAM,IAAIa,GAAGZ,CAAC,GAAG,KAAK,QAAQ,SAAS,QAAQ,IAAI,+BAA+BY,CAAC,oBAAoB;AAAA,MAC3G,SAASA,GAAG;AACV,cAAM,QAAQ,MAAM,+CAA+CA,CAAC,GAAGA;AAAA,MACzE;AAAA,EACJ;AACF;AACA,SAASmE,GAAG3F,GAAG;AACb,SAAO,IAAIyF,GAAGzF,CAAC;AACjB;AAkCA,SAAS4F,KAAK;AACZ,MAAI;AACF,WAAOX,GAAE;AAAA,EACX,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AACA,MAAMY,GAAG;AAAA,EACP,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKP,OAAO,cAAc;AACnB,WAAOA,GAAG,aAAaA,GAAG,WAAW,IAAIA,GAAE,IAAKA,GAAG;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc;AACZ,QAAI,OAAO,aAAa,KAAK;AAC3B,YAAMlF,IAAI,WAAW,UAAU;AAC/B,UAAIA;AACF,eAAOA;AAAA,IACX;AACA,QAAI,OAAO,SAAS,KAAK;AACvB,YAAMA,IAAI,OAAO,UAAU;AAC3B,UAAIA;AACF,eAAOA;AAAA,IACX;AACA,QAAI,OAAO,SAAS,OAAO,QAAQ;AACjC,YAAMA,IAAI,OAAO,UAAU;AAC3B,UAAIA;AACF,eAAOA;AAAA,IACX;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAeA,GAAG;AAChB,UAAMC,IAAI,KAAK,YAAW;AAC1B,QAAIA,KAAK,OAAOA,KAAK,YAAY,cAAcA;AAC7C,aAAOA,EAAE,SAASD,CAAC;AAAA,EACvB;AACF;AACA,MAAMmF,GAAG;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAYnF,GAAGC,GAAGY,IAAI,IAAIX,IAAI,MAAM;AAClC,WAAO,KAAK,SAASF,GAAG,KAAK,eAAea,GAAG,KAAK,WAAWX,KAAK,MAAM,KAAK,UAAUD,GAAG,KAAK,MAAMiF,GAAG,YAAW,GAAI,IAAI,MAAM,MAAM;AAAA,MACvI,IAAIpE,GAAG,GAAG;AACR,YAAI,KAAKA,EAAG,QAAO,QAAQ,IAAIA,GAAG,CAAC;AACnC,cAAM,IAAI,OAAO,CAAC;AAClB,eAAOA,EAAE,QAAQ,CAAC;AAAA,MACpB;AAAA,MACA,IAAIA,GAAG,GAAG,GAAG;AACX,cAAM,IAAI,OAAO,CAAC;AAClB,eAAOA,EAAE,IAAI,GAAG,CAAC,GAAG;AAAA,MACtB;AAAA,IACN,CAAK;AAAA,EACH;AAAA,EACA,IAAId,GAAG;AACL,WAAO,KAAK,aAAaA,CAAC;AAAA,EAC5B;AAAA;AAAA,EAEA,QAAQA,GAAG;AACT,UAAMC,IAAI,KAAK,YAAYD,CAAC,GAAGa,IAAI,KAAK,aAAab,CAAC,GAAGE,IAAID,EAAE,MAAM,GAAG;AACxE,QAAIa,IAAI,KAAK;AACb,WAAO,KAAK,YAAY,oBAAoBZ,EAAE,UAAU,MAAMY,IAAIZ,EAAE,CAAC,IAAI,OAAOW,KAAK,YAAYA,MAAM,QAAQ,CAAC,KAAK,YAAYA,CAAC,IAAI,IAAIsE,GAAGtE,GAAGC,GAAGb,GAAG,KAAK,QAAQ,IAAI,IAAIkF,GAAGtE,GAAGC,GAAGb,GAAG,KAAK,QAAQ;AAAA,EACtM;AAAA,EACA,IAAID,GAAGC,GAAGY,IAAI,QAAQ;AACpB,UAAMX,IAAI,KAAK,YAAYF,CAAC;AAC5B,QAAIE,MAAM,QAAQ;AAChB,cAAQ,KAAK,yDAAyD;AACtE;AAAA,IACF;AACA,UAAMY,IAAI,KAAK,IAAId,CAAC,IAAI,KAAK,IAAIA,CAAC,IAAI;AACtC,QAAIa,MAAM,UAAUA,MAAM,QAAQ;AAChC,YAAM,IAAIoE,GAAE;AACZ,UAAI,KAAK,OAAO,EAAE,gBAAgB,YAAY;AAC5C,cAAM,IAAI/E,EAAE,MAAM,GAAG,GAAG,IAAI,KAAK,YAAY,oBAAoB,EAAE,UAAU,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,IAAI,QAAQ+B,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,SAAS,CAAC,GAAGE,IAAIlC,MAAM,UAAUa,MAAM,SAAS,WAAW;AACpO,UAAE;AAAA,UACA;AAAA,YACE,MAAMqB;AAAA,YACN,MAAMjC;AAAA,YACN,WAAW+B;AAAA,YACX,aAAanB;AAAA,YACb,YAAYb;AAAA,YACZ,SAAS;AAAA,YACT,UAAU;AAAA,YACV,YAAY;AAAA;AAAA,UAExB;AAAA,UACUY;AAAA,QACV;AAAA,MACM;AAAA,IACF;AACA,SAAK,YAAYb,GAAGC,CAAC,GAAG,KAAK,oBAAoBC,GAAGY,GAAGb,CAAC;AAAA,EAC1D;AAAA,EACA,IAAID,GAAG;AACL,QAAI;AACF,UAAIA,MAAM;AACR,eAAO;AACT,YAAMC,IAAI,KAAK,UAAUD,CAAC;AAC1B,UAAIa,IAAI,KAAK;AACb,eAASX,IAAI,GAAGA,IAAID,EAAE,QAAQC,KAAK;AACjC,cAAMY,IAAIb,EAAEC,CAAC;AACb,YAAIW,KAAK;AACP,iBAAO;AACT,YAAIX,MAAMD,EAAE,SAAS;AACnB,iBAAO,KAAK,YAAYY,CAAC,IAAIA,EAAE,IAAIC,CAAC,IAAI,KAAK,aAAaD,CAAC,KAAKA,EAAE,UAAUC,KAAKD,EAAE,UAAUC,KAAKD;AACpG,QAAAA,IAAI,KAAK,YAAYA,GAAGC,CAAC;AAAA,MAC3B;AACA,aAAO;AAAA,IACT,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAAA;AAAA,EAEA,cAAc;AACZ,QAAI,CAAC,KAAK,aAAc,QAAO;AAC/B,UAAMb,IAAI,KAAK,aAAa,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG;AAC5D,WAAOA,MAAM,KAAK,KAAK,WAAW,KAAK,SAAS,QAAQA,CAAC;AAAA,EAC3D;AAAA,EACA,UAAU;AACR,WAAO,KAAK;AAAA,EACd;AAAA,EACA,UAAU;AACR,WAAO,KAAK;AAAA,EACd;AAAA,EACA,WAAW;AACT,WAAO,KAAK,eAAe,KAAK,aAAa,MAAM,GAAG,EAAE,SAAS;AAAA,EACnE;AAAA,EACA,iBAAiB;AACf,WAAO,KAAK,eAAe,KAAK,aAAa,MAAM,GAAG,IAAI,CAAA;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,kBAAkBD,GAAGC,GAAG;AAC5B,UAAMY,IAAImE,MAAM9E,IAAI,KAAK,aAAa,MAAM,GAAG;AAC/C,QAAIY,IAAI,KAAK,SAAS;AACtB,SAAK,YAAY,oBAAoBZ,EAAE,UAAU,MAAMY,IAAIZ,EAAE,CAAC,IAAIA,EAAE,UAAU,MAAM,IAAIA,EAAE,CAAC;AAC3F,UAAM,IAAI;AAAA,MACR,MAAM,KAAK;AAAA,MACX,WAAW;AAAA;AAAA,MAEX,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAASY;AAAA,MACT,UAAU;AAAA,MACV,WAA2B,oBAAI,KAAI;AAAA,MACnC,OAAO,KAAK,YAAY;AAAA,MACxB,YAAYd;AAAA,MACZ,cAAcC,GAAG;AAAA,MACjB,aAAaA,GAAG;AAAA,MAChB,YAAYA,GAAG;AAAA,IACrB,GAAO,IAAIgF,GAAE;AACT,WAAO,KAAK,OAAO,EAAE,gBAAgB,cAAc,EAAE;AAAA,MACnD;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,QACX,WAAWjF;AAAA,QACX,aAAaC,GAAG;AAAA,QAChB,YAAYA,GAAG;AAAA,QACf,SAASa;AAAA,QACT,UAAU;AAAA,QACV,YAAY;AAAA;AAAA,QAEZ,UAAU;AAAA,UACR,YAAYd;AAAA,UACZ,cAAcC,GAAG;AAAA,UACjB,aAAaA,GAAG;AAAA,UAChB,YAAYA,GAAG;AAAA,QACzB;AAAA,MACA;AAAA,MACM;AAAA,IACN,GAAO,MAAMY,EAAE,yBAAyB,CAAC;AAAA,EACvC;AAAA;AAAA,EAEA,YAAYb,GAAG;AACb,WAAOA,MAAM,KAAK,KAAK,gBAAgB,KAAK,KAAK,eAAe,GAAG,KAAK,YAAY,IAAIA,CAAC,KAAKA;AAAA,EAChG;AAAA,EACA,aAAaA,GAAG;AACd,QAAIA,MAAM;AACR,aAAO,KAAK;AACd,UAAMC,IAAI,KAAK,UAAUD,CAAC;AAC1B,QAAIa,IAAI,KAAK;AACb,eAAWX,KAAKD,GAAG;AACjB,UAAIY,KAAK;AACP;AACF,MAAAA,IAAI,KAAK,YAAYA,GAAGX,CAAC;AAAA,IAC3B;AACA,WAAOW;AAAA,EACT;AAAA,EACA,YAAYb,GAAGC,GAAG;AAChB,QAAID,MAAM;AACR,YAAM,IAAI,MAAM,gCAAgC;AAClD,UAAMa,IAAI,KAAK,UAAUb,CAAC,GAAGE,IAAIW,EAAE,IAAG;AACtC,QAAIC,IAAI,KAAK;AACb,eAAW,KAAKD;AACd,UAAIC,IAAI,KAAK,YAAYA,GAAG,CAAC,GAAGA,KAAK;AACnC,cAAM,IAAI,MAAM,+CAA+Cd,CAAC,EAAE;AACtE,SAAK,YAAYc,GAAGZ,GAAGD,CAAC;AAAA,EAC1B;AAAA,EACA,YAAYD,GAAGC,GAAG;AAChB,WAAO,KAAK,YAAYD,CAAC,IAAIA,EAAE,IAAIC,CAAC,IAAI,KAAK,cAAcD,CAAC,IAAIA,EAAEC,CAAC,IAAI,KAAK,aAAaD,CAAC,IAAIA,EAAE,SAASC,CAAC,KAAKD,EAAEC,CAAC,IAAID,EAAEC,CAAC;AAAA,EAC3H;AAAA,EACA,YAAYD,GAAGC,GAAGY,GAAG;AACnB,QAAI,KAAK,YAAYb,CAAC;AACpB,YAAM,IAAI,MAAM,iFAAiF;AACnG,QAAI,KAAK,aAAaA,CAAC,GAAG;AACxB,MAAAA,EAAE,SAASA,EAAE,OAAO,EAAE,CAACC,CAAC,GAAGY,GAAG,IAAIb,EAAEC,CAAC,IAAIY;AACzC;AAAA,IACF;AACA,IAAAb,EAAEC,CAAC,IAAIY;AAAA,EACT;AAAA,EACA,MAAM,oBAAoBb,GAAGC,GAAGY,GAAG;AACjC,QAAI;AACF,UAAI,CAACb,KAAK,OAAOA,KAAK,YAAY,OAAO,GAAGC,GAAGY,CAAC;AAC9C;AACF,YAAMX,IAAIF,EAAE,MAAM,GAAG;AACrB,UAAIE,EAAE,SAAS;AACb;AACF,YAAMY,IAAIkE,GAAE,GAAI,IAAI9E,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAKA,EAAEA,EAAE,SAAS,CAAC;AAC1D,UAAI,IAAI,KAAK;AACb,WAAK,YAAY,oBAAoBA,EAAE,UAAU,MAAM,IAAIA,EAAE,CAAC;AAC9D,UAAI;AACJ,MAAAA,EAAE,UAAU,MAAM,IAAIA,EAAE,CAAC;AACzB,YAAM,IAAI;AAAA,QACR,MAAMF;AAAA,QACN,WAAW;AAAA,QACX,aAAaC;AAAA,QACb,YAAYY;AAAA,QACZ,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,WAA2B,oBAAI,KAAI;AAAA,QACnC,OAAO,KAAK,YAAY;AAAA;AAAA,MAEhC;AACM,YAAMC,EAAE,qBAAqB,CAAC;AAAA,IAChC,SAASZ,GAAG;AACV,MAAAA,aAAa,SAAS,QAAQ,KAAK,wBAAwBA,EAAE,OAAO;AAAA,IACtE;AAAA,EACF;AAAA,EACA,cAAcF,GAAG;AACf,WAAOA,KAAK,OAAOA,KAAK,YAAY,oBAAoBA,KAAKA,EAAE,mBAAmB;AAAA,EACpF;AAAA,EACA,aAAaA,GAAG;AACd,WAAOA,KAAK,OAAOA,KAAK,aAAa,YAAYA,KAAK,YAAYA,KAAK,SAASA;AAAA,EAClF;AAAA,EACA,YAAYA,GAAG;AACb,QAAI,CAACA,KAAK,OAAOA,KAAK;AACpB,aAAO;AACT,UAAMC,IAAI,SAASD,KAAK,OAAOA,EAAE,OAAO,YAAYa,IAAI,SAASb,KAAK,OAAOA,EAAE,OAAO,YAAYE,IAAI,SAASF,KAAK,OAAOA,EAAE,OAAO,YAAYc,IAAI,eAAed,KAAK,UAAUA,KAAK,WAAWA,KAAK,aAAaA,KAAK,eAAeA,KAAK,oBAAoBA,KAAK,WAAWA,KAAK,WAAWA,KAAK,UAAUA,KAAKC,KAAKY;AAC1T,QAAI;AACJ,QAAI;AACF,UAAI,iBAAiBb,KAAKA,EAAE,eAAe,OAAOA,EAAE,eAAe,YAAY,UAAUA,EAAE,aAAa;AACtG,cAAM,IAAIA,EAAE,YAAY;AACxB,YAAI,OAAO,KAAK,WAAW,IAAI;AAAA,MACjC;AAAA,IACF,QAAQ;AACN,UAAI;AAAA,IACN;AACA,UAAM,IAAI,MAAM,EAAE,SAAS,KAAK,KAAK,EAAE,SAAS,MAAM,KAAK,EAAE,SAAS,KAAK,KAAK,EAAE,SAAS,OAAO,KAAK,EAAE,SAAS,KAAK,OAAOC,KAAKY;AACnI,WAAO,CAAC,EAAEZ,KAAKY,KAAKX,KAAKY,KAAKb,KAAKY,KAAK;AAAA,EAC1C;AAAA,EACA,YAAYb,GAAG;AACb,WAAOA,KAAK,QAAQ,OAAOA,KAAK,YAAY,OAAOA,KAAK,YAAY,OAAOA,KAAK,aAAa,OAAOA,KAAK,cAAc,OAAOA,KAAK,YAAY,OAAOA,KAAK;AAAA,EAC7J;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAUA,GAAG;AACX,WAAOA,IAAIA,EAAE,QAAQ,cAAc,KAAK,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAA;AAAA,EACrF;AACF;AACA,SAASoF,GAAG/F,GAAGW,GAAG;AAChB,SAAO,IAAImF,GAAG9F,GAAGW,GAAG,IAAI,IAAI;AAC9B;AACA,MAAMqF,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOP,OAAO;AAAA;AAAA,EAEP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAYrF,GAAGC,GAAGY,GAAG;AACnB,WAAOwE,GAAG,QAAQA,GAAG,SAASA,GAAG,QAAQ,MAAM,KAAK,WAAWrF,GAAG,KAAK,sBAAsBC,GAAG,KAAK,UAAUY,GAAG,QAAQ,KAAK,sBAAsB,KAAK,kBAAiB,GAAI;AAAA,EACjL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,UAAUb,GAAG;AACX,SAAK,UAAUA;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACV,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AACrB,WAAO,KAAK,uBAAuB,KAAK,qBAAqBsE,GAAE,GAAI,KAAK,uBAAuB,KAAK,mBAAmB,UAAU,KAAK,mBAAmB,IAAI,KAAK;AAAA,EACpK;AAAA;AAAA;AAAA;AAAA,EAIA,qBAAqB;AACnB,UAAMtE,IAAI,CAAA;AACV,WAAO,KAAK,KAAK,SAAS,QAAQ,EAAE,QAAQ,CAACC,MAAM;AACjD,MAAAD,EAAEC,CAAC,IAAI,CAAA;AAAA,IACT,CAAC,GAAG,KAAK,WAAWmF,GAAGE,GAAGtF,CAAC,GAAG,gBAAgB;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA,EAIA,oBAAoB;AAClB,UAAMA,IAAI,KAAK,SAAS,WAAW,KAAK,KAAK,QAAQ;AACrD,SAAK,SAAS,aAAa,CAACC,MAAM;AAChC,MAAAD,EAAEC,CAAC,GAAG,KAAK,SAAS,IAAIA,EAAE,IAAI,KAAK,KAAK,SAAS,IAAIA,EAAE,MAAM,CAAA,CAAE;AAAA,IACjE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQD,GAAG;AACT,UAAMC,IAAI,OAAOD,KAAK,WAAWA,IAAIA,EAAE;AACvC,WAAO,KAAK,oBAAoBC,CAAC,GAAG,KAAK,SAAS,QAAQA,CAAC;AAAA,EAC7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAUD,GAAGC,GAAGY,GAAG;AACjB,UAAMX,IAAI,OAAOF,KAAK,WAAWA,IAAIA,EAAE;AACvC,SAAK,oBAAoBE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAGA,CAAC,IAAID,CAAC,IAAIY,CAAC;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,cAAcb,GAAGC,GAAG;AAClB,UAAMY,IAAI,OAAOb,KAAK,WAAWA,IAAIA,EAAE;AACvC,QAAI,KAAK,oBAAoBa,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,IAAI,GAAGA,CAAC,IAAIZ,CAAC,EAAE,KAAK,KAAK,SAAS,IAAI,GAAGY,CAAC,IAAIZ,CAAC,EAAE,MAAM;AACvG,aAAO,KAAK,SAAS,QAAQ,GAAGY,CAAC,IAAIZ,CAAC,EAAE;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAaD,GAAGC,GAAG;AACjB,UAAMY,IAAI,OAAOb,KAAK,WAAWA,IAAIA,EAAE;AACvC,SAAK,oBAAoBa,CAAC,GAAG,KAAK,SAAS,IAAI,GAAGA,CAAC,IAAIZ,CAAC,EAAE,KAAK,KAAK,SAAS,IAAI,GAAGY,CAAC,IAAIZ,CAAC,IAAI,MAAM;AAAA,EACtG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAaD,GAAG;AACd,UAAMC,IAAI,OAAOD,KAAK,WAAWA,IAAIA,EAAE;AACvC,SAAK,oBAAoBC,CAAC;AAC1B,UAAMY,IAAI,KAAK,SAAS,IAAIZ,CAAC;AAC7B,WAAO,CAACY,KAAK,OAAOA,KAAK,WAAW,CAAA,IAAK,OAAO,KAAKA,CAAC,EAAE,OAAO,CAACX,MAAMW,EAAEX,CAAC,MAAM,MAAM;AAAA,EACvF;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,aAAaF,GAAG;AACd,UAAMC,IAAI,OAAOD,KAAK,WAAWA,IAAIA,EAAE;AACvC,SAAK,oBAAoBC,CAAC,GAAG,KAAK,aAAaA,CAAC,EAAE,QAAQ,CAACC,MAAM;AAC/D,WAAK,SAAS,IAAI,GAAGD,CAAC,IAAIC,CAAC,IAAI,MAAM;AAAA,IACvC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,MAAMF,GAAG;AACP,SAAK,oBAAoBA,EAAE,IAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,UAAUA,GAAGC,GAAGY,GAAG;AACjB,UAAM,IAAI,KAAK,SAAS,SAASb,EAAE,IAAI,GAAG,SAAS,IAAIC,CAAC,GAAGsF,IAAI,MAAM,QAAQ1E,CAAC,IAAIA,EAAE,OAAO,CAACsB,MAAM,OAAOA,KAAK,QAAQ,IAAI,QAAQqD,IAAID,IAAI,CAAC,GAAGR,IAAIS,IAAI,KAAK,gBAAgBxF,GAAGwF,CAAC,IAAI,EAAE,OAAO,GAAE;AAC9L,QAAI,CAACT,EAAE;AACL,YAAM,KAAK,qBAAoB,EAAG;AAAA,QAChC/E,EAAE;AAAA,QACFC;AAAA,QACAsF;AAAA,QACA;AAAA,QACA,oCAAoCR,EAAE,cAAc,KAAK,IAAI,CAAC;AAAA,MACtE,GAAS,IAAI,MAAM,6CAA6CA,EAAE,cAAc,KAAK,IAAI,CAAC,EAAE;AACxF,UAAMU,IAAI,KAAK,qBAAoB;AACnC,QAAIxD,IAAI,WAAW;AACnB,QAAI;AACF,UAAI,KAAK,EAAE,SAAS,GAAG;AACrB,cAAME,IAAI6C,GAAE;AACZ,UAAE,QAAQ,CAAC,MAAM;AACf,cAAI;AACF,kBAAMlC,IAAIX,EAAE,UAAU,CAAC;AACvB,gBAAI,CAACW,EAAG,OAAM,IAAI,MAAM,WAAW,CAAC,2CAA2C;AAC/E,kBAAM4C,IAAI;AAAA,cACR,MAAM,GAAG1F,EAAE,IAAI,IAAIuF,IAAI,CAAC,KAAK,EAAE;AAAA,cAC/B,WAAWtF;AAAA,cACX,aAAa;AAAA,cACb,YAAYY;AAAA,cACZ,WAAW;AAAA,cACX,SAASb,EAAE;AAAA,cACX,UAAUwF;AAAA,cACV,WAA2B,oBAAI,KAAI;AAAA,YACjD;AACY,YAAA1C,EAAE4C,CAAC;AAAA,UACL,SAAS5C,GAAG;AACV,kBAAMb,IAAI,WAAW,IAAIa,aAAa,QAAQA,EAAE,UAAU,iBAAiBA;AAAA,UAC7E;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,QAAQ;AAAA,IACR,UAAC;AACC,MAAA2C,EAAE,UAAUzF,EAAE,SAASC,GAAGsF,GAAGtD,GAAG,CAAC;AAAA,IACnC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,2BAA2BjC,GAAG;AAC5B,WAAOA,EAAE,mBAAmB,SAASA,EAAE,iBAAiBA,EAAE,OAAO,WAAW;AAAA,EAC9E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,gBAAgBA,GAAGC,GAAG;AACpB,QAAIA,MAAM;AACR,aAAO,EAAE,OAAO,GAAE;AACpB,UAAMY,IAAI,KAAK,SAAS,mBAAmBb,EAAE,IAAI,GAAGE,IAAI,CAAA;AACxD,eAAWY,KAAKD;AACd,UAAI,KAAK,2BAA2BC,CAAC,GAAG;AACtC,cAAM,IAAI,GAAGd,EAAE,IAAI,IAAIC,CAAC,IAAIa,EAAE,SAAS;AACvC,aAAK,SAAS,IAAI,CAAC,KAAKZ,EAAE,KAAKY,EAAE,SAAS;AAAA,MAC5C;AACF,WAAOZ,EAAE,SAAS,IAAI,EAAE,OAAO,IAAI,cAAcA,EAAC,IAAK,EAAE,OAAO,GAAE;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,WAAWF,GAAG;AAClB,QAAI,CAAC,KAAK;AACR,YAAM,IAAI;AAAA,QACR;AAAA,MACR;AACI,KAAC,MAAM,KAAK,QAAQ,WAAWA,CAAC,GAAG,QAAQ,CAAC,MAAM;AAChD,aAAO,EAAE,MAAM,YAAY,EAAE,KAAK,KAAK,UAAUA,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,MAAM,YAAY,KAAK,UAAUA,GAAG,OAAO,EAAE,EAAE,GAAG,CAAC;AAAA,IAC7H,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,UAAUA,GAAGC,GAAG;AACpB,QAAI,CAAC,KAAK;AACR,YAAM,IAAI;AAAA,QACR;AAAA,MACR;AACI,UAAMY,IAAI,OAAOb,KAAK,WAAW,KAAK,SAAS,WAAWA,CAAC,IAAIA;AAC/D,QAAI,CAACa;AACH,YAAM,IAAI,MAAM,sBAAsB,OAAOb,KAAK,WAAWA,IAAIA,EAAE,IAAI,EAAE;AAC3E,UAAME,IAAI,MAAM,KAAK,QAAQ,UAAUW,GAAGZ,CAAC;AAC3C,IAAAC,GAAG,UAAU,KAAK,UAAUW,GAAGZ,GAAGC,EAAE,MAAM;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAM,eAAeF,GAAGC,GAAGY,GAAG;AAC5B,QAAI,CAAC,KAAK;AACR,YAAM,IAAI;AAAA,QACR;AAAA,MACR;AACI,WAAO,KAAK,QAAQ,UAAUb,GAAGC,GAAGY,CAAC;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoBb,GAAG;AACrB,SAAK,SAAS,IAAIA,CAAC,KAAK,KAAK,SAAS,IAAIA,GAAG,EAAE;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,QAAQA,GAAG;AACf,QAAI,CAAC,KAAK,SAAS;AACjB,YAAM,IAAI,MAAM,0CAA0C;AAC5D,WAAO,MAAM,KAAK,SAAS,QAAQA,CAAC;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACT,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,eAAeA,GAAGC,GAAG;AACnB,UAAMY,IAAI,OAAOb,KAAK,WAAWA,IAAIA,EAAE,MAAME,IAAI,KAAK,SAAS,WAAWW,CAAC;AAC3E,QAAI,CAACX,GAAG,SAAU,QAAO;AACzB,UAAMqF,IAAI,KAAK,cAAc1E,GAAGZ,CAAC,GAAG,IAAI,QAAQ,GAAGuF,IAAItF,EAAE;AACzD,QAAI6E;AACJ,WAAO,MAAM,QAAQS,EAAE,MAAM,IAAIT,IAAIS,EAAE,OAAO,CAAC,KAAK,KAAKT,IAAI,OAAOS,EAAE,WAAW,WAAWA,EAAE,UAAU,OAAO,KAAKA,EAAE,UAAU,CAAA,CAAE,EAAE,CAAC,KAAK,IAAID,KAAKR;AAAA,EACrJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,qBAAqB/E,GAAGC,GAAG;AACzB,UAAMY,IAAI,GAAGb,EAAE,IAAI,IAAIC,CAAC,IAAI,IAAI,EAAE,GAAG,KAAK,SAAS,IAAIY,CAAC,KAAK,GAAE;AAC/D,QAAIb,EAAE;AACJ,iBAAW,CAACuF,GAAGC,CAAC,KAAK,OAAO,QAAQxF,EAAE,KAAK,GAAG;AAC5C,cAAM+E,IAAI,GAAGlE,CAAC,IAAI0E,CAAC;AACnB,YAAIC,EAAE,gBAAgB,gBAAgBA,EAAE,gBAAgB,cAAc;AACpE,gBAAMvD,IAAI,KAAK,SAAS,IAAI8C,CAAC;AAC7B,gBAAM,QAAQ9C,CAAC,MAAM,EAAEsD,CAAC,IAAItD;AAAA,QAC9B,OAAO;AACL,gBAAMA,IAAI,KAAK,SAAS,WAAWuD,EAAE,MAAM;AAC3C,UAAAvD,GAAG,QAAQ,EAAEsD,CAAC,IAAI,KAAK,kBAAkBR,GAAG9C,CAAC,IAAI,EAAEsD,CAAC,IAAI,KAAK,SAAS,IAAIR,CAAC,KAAK,CAAA;AAAA,QAClF;AAAA,MACF;AACF,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,qBAAqB/E,GAAGC,GAAG;AACzB,UAAMY,IAAIZ,EAAE;AACZ,SAAK,oBAAoBY,CAAC;AAC1B,UAAMX,IAAI,KAAK,SAAS,cAAcD,CAAC,GAAGa,IAAI,KAAK,SAAS,iBAAiBZ,CAAC;AAC9E,SAAK,SAAS,IAAIF,CAAC,KAAK,KAAK,SAAS,IAAIA,GAAG,CAAA,GAAI,QAAQ;AACzD,eAAW,CAACwF,GAAGT,CAAC,KAAK,OAAO,QAAQjE,CAAC;AACnC,WAAK,SAAS,IAAI,GAAGd,CAAC,IAAIwF,CAAC,IAAIT,GAAG,QAAQ;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,MAAM,gBAAgB/E,GAAGC,GAAGY,GAAGX,GAAG;AAChC,QAAI,CAAC,KAAK;AACR,YAAMyF;AAAA,QACJ;AAAA,QACA;AAAA,MACR;AACI,UAAM7E,IAAI,MAAM,KAAK,QAAQ,UAAU,EAAE,MAAMb,EAAE,QAAO,GAAIY,GAAG;AAAA,MAC7D,eAAeX,GAAG,iBAAiB;AAAA,IACzC,CAAK;AACD,QAAI,CAACY,GAAG;AACN,YAAM6E,GAAG,qBAAqB1F,EAAE,OAAO,IAAIY,CAAC,IAAI,kBAAkB;AACpE,UAAM,IAAIZ,EAAE;AACZ,SAAK,oBAAoB,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAIY,CAAC,EAAE,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,IAAIA,CAAC,IAAI,CAAA,GAAI,QAAQ;AAC1G,eAAW,CAACkE,GAAGU,CAAC,KAAK,OAAO,QAAQ3E,EAAE,MAAM;AAC1C,WAAK,SAAS,IAAI,GAAG,CAAC,IAAID,CAAC,IAAIkE,CAAC,IAAIU,GAAG,QAAQ;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAAkBzF,GAAGC,GAAG;AACtB,UAAMC,IAAI,EAAE,GAAG,KAAK,SAAS,IAAIF,CAAC,KAAK,GAAE;AACzC,QAAI,CAACC,EAAE,MAAO,QAAOC;AACrB,eAAW,CAAC,GAAGqF,CAAC,KAAK,OAAO,QAAQtF,EAAE,KAAK,GAAG;AAC5C,YAAMuF,IAAI,GAAGxF,CAAC,IAAI,CAAC;AACnB,UAAIuF,EAAE,gBAAgB,gBAAgBA,EAAE,gBAAgB,cAAc;AACpE,cAAME,IAAI,KAAK,SAAS,IAAID,CAAC;AAC7B,cAAM,QAAQC,CAAC,MAAMvF,EAAE,CAAC,IAAIuF;AAAA,MAC9B,OAAO;AACL,cAAMA,IAAI,KAAK,SAAS,WAAWF,EAAE,MAAM;AAC3C,QAAAE,GAAG,QAAQvF,EAAE,CAAC,IAAI,KAAK,kBAAkBsF,GAAGC,CAAC,IAAIvF,EAAE,CAAC,IAAI,KAAK,SAAS,IAAIsF,CAAC,KAAK,CAAA;AAAA,MAClF;AAAA,IACF;AACA,WAAOtF;AAAA,EACT;AACF;AAIA,SAASyF,GAAGtG,GAAGW,GAAG;AAChB,QAAMC,IAAI,IAAI,MAAMZ,CAAC;AACrB,SAAOY,EAAE,OAAOD,GAAGC;AACrB;AAoDA,SAAS2F,GAAGvG,GAAG;AACb,EAAAA,MAAMA,IAAI;AACV,QAAMW,IAAIX,EAAE,YAAYwG,GAAG,WAAW,GAAG5F,IAAI4F,GAAG,YAAY,GAAGhF,IAAIF,KAAKT,IAAIS,EAAC,GAAIG,IAAIH,EAAE,EAAE,GAAG,IAAIA,KAAK,IAAIA,KAAK,IAAIA,EAAE,EAAE,GAAG,IAAIA,EAAE,EAAE,GAAGsB,IAAItB,EAAE,IAAI,GAAGuB,IAAIvB,EAAC,GAAIwB,IAAIJ,EAAG,MAAM,CAAClB,EAAE,SAAS,CAACqB,EAAE,SAAS,CAAC7C,EAAE,YAAYA,EAAE,aAAa,QAAQ,KAAKwB,EAAE,MAAM,gBAAgBqB,EAAE,OAAO7C,EAAE,QAAQ,EAAE,KAAK,GAAG+C,IAAIL,EAAG,MAAM,CAAClB,EAAE,SAAS,CAACqB,EAAE,SAAS,CAAC7C,EAAE,YAAYA,EAAE,aAAa,QAAQ,CAAA,IAAKwB,EAAE,MAAM,gBAAgBqB,EAAE,OAAO7C,EAAE,QAAQ,EAAE,gBAAgB,CAAA,CAAE,GAAGyD,IAAI7C,KAAKoF,GAAG;AAC7b,EAAAvC,MAAMjC,EAAE,QAAQiC,IAAIzD,GAAG,WAAW,OAAOA,EAAE,WAAW,aAAa6C,EAAE,QAAQ7C,EAAE;AAC/E,QAAM,IAAIsB,EAAE,CAAA,CAAE,GAAGqC,IAAIrC,EAAE,EAAE,GAAGsC,IAAIlB,EAAG,MAAMlB,EAAE,OAAO,uBAAuB,WAAW,EAAE,GAAGqC,IAAInB,EAAG,MAAMlB,EAAE,OAAO,qBAAoB,EAAG,WAAW,EAAE,GAAGsC,IAAIpB,EAAG,MAAMlB,EAAE,OAAO,qBAAoB,EAAG,aAAa,CAAC,GAAGuC,KAAIrB,EAAG,MAAMlB,EAAE,OAAO,qBAAoB,EAAG,aAAa,CAAC,GAAGwC,KAAItB;AAAAA,IACpR,MAAMlB,EAAE,OAAO,qBAAoB,EAAG,iBAAiB;AAAA,MACrD,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,cAAc;AAAA,IACpB;AAAA,EACA,GAAK2C,KAAI,CAACsC,MAAMjF,EAAE,OAAO,uBAAuB,KAAKiF,CAAC,KAAK,IAAIrC,KAAI,CAACqC,MAAMjF,EAAE,OAAO,qBAAoB,EAAG,KAAKiF,CAAC,KAAK,IAAIpC,KAAK,MAAM;AAChI,IAAA7C,EAAE,OAAO,qBAAoB,EAAG,WAAU;AAAA,EAC5C,GAAG+C,KAAK,CAACkC,MAAMjF,EAAE,OAAO,qBAAoB,EAAG,YAAYiF,CAAC,KAAK,MAAMxC,KAAK,MAAM;AAChF,IAAAzC,EAAE,OAAO,qBAAoB,EAAG,YAAW;AAAA,EAC7C,GAAGkD,KAAK,MAAM;AACZ,IAAAlD,EAAE,OAAO,qBAAoB,EAAG,MAAK;AAAA,EACvC,GAAG0C,KAAK,CAACuC,GAAGC,MAAMlF,EAAE,OAAO,qBAAoB,EAAG,iBAAiBiF,GAAGC,CAAC,KAAK,CAAA,GAAIpC,KAAK,MAAM9C,EAAE,OAAO,uBAAuB,iBAAiB;AAAA,IAC1I,YAAY,CAAA;AAAA,IACZ,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,wBAAwB;AAAA,EAC5B,GAAK,IAAI,CAACiF,GAAGC,MAAM;AACf,IAAAlF,EAAE,OAAO,qBAAoB,EAAG,iBAAiBiF,GAAGC,CAAC;AAAA,EACvD,GAAGlC,IAAI,CAACiC,GAAGC,GAAGC,GAAGC,IAAI,WAAWC,MAAMrF,EAAE,OAAO,qBAAoB,EAAG,UAAUiF,GAAGC,GAAGC,GAAGC,GAAGC,CAAC,KAAK,IAAIpC,KAAK,CAACgC,MAAM;AAChH,IAAAjF,EAAE,OAAO,uBAAuB,UAAUiF,CAAC;AAAA,EAC7C;AACA,MAAI9F,KAAKa,EAAE;AACT,QAAI;AACF,YAAMiF,IAAIjF,EAAE,MAAM,qBAAoB,GAAIkF,IAAII,GAAGL,CAAC;AAClD,QAAE,QAAQC,EAAE,WAAW,OAAO/C,EAAE,QAAQ+C,EAAE,aAAa,OAAO1E;AAAAA,QAC5D,MAAM0E,EAAE,WAAW;AAAA,QACnB,CAACC,MAAM;AACL,YAAE,QAAQA;AAAA,QACZ;AAAA,MACR,GAAS3E;AAAAA,QACD,MAAM0E,EAAE,aAAa;AAAA,QACrB,CAACC,MAAM;AACL,UAAAhD,EAAE,QAAQgD;AAAA,QACZ;AAAA,MACR;AAAA,IACI,QAAQ;AAAA,IACR;AACF,EAAA3G,EAAE,WAAW,OAAOA,EAAE,WAAW,YAAYW,KAAKa,EAAE,UAAUX,EAAE,QAAQW,EAAE,MAAM,SAAQ,GAAI,EAAE,QAAQb,EAAE,cAAcX,EAAE,OAAO,IAAI,CAACA,EAAE,YAAYA,EAAE,aAAa,WAAWyB,EAAE,QAAQd,EAAE,iBAAiB,EAAE,KAAK,IAAIE,EAAE,SAASkG,GAAG/G,EAAE,SAASA,EAAE,YAAY,OAAOyB,GAAGZ,EAAE,KAAK,IAAIsB,GAAG,YAAY;AAC7R,QAAI,EAAE,CAACxB,KAAK,CAACa,EAAE,QAAQ;AACrB,UAAI,CAACxB,EAAE,WAAWW,EAAE,QAAQ;AAC1B,cAAM8F,IAAI9F,EAAE,OAAO,aAAa;AAChC,YAAI,CAAC8F,EAAE,KAAM;AACb,cAAMC,IAAID,EAAE,KAAK,MAAM,GAAG,EAAE,OAAO,CAACG,MAAMA,EAAE,SAAS,CAAC,GAAGD,IAAID,EAAE,CAAC,GAAG,YAAW;AAC9E,YAAIA,EAAE,SAAS,GAAG;AAChB,gBAAME,IAAI;AAAA,YACR,MAAMH,EAAE;AAAA,YACR,UAAUC;AAAA,UACtB,GAAaG,IAAI,MAAMlG,EAAE,UAAUiG,CAAC;AAC1B,cAAIC,GAAG;AACL,gBAAIlG,EAAE,WAAWkG,CAAC,GAAGrF,EAAE,MAAM,MAAMqF,CAAC,GAAG,EAAE,QAAQA,GAAG,EAAE,QAAQF,GAAG9F,EAAE,QAAQW,EAAE,MAAM,SAAQ,GAAIb,MAAM,EAAE,QAAQA,EAAE,cAAckG,CAAC,IAAIF,KAAKA,MAAM,OAAO;AACpJ,oBAAMK,IAAKxF,EAAE,MAAM,cAAcqF,GAAGF,CAAC;AACrC,kBAAIK;AACF,gBAAAvF,EAAE,QAAQuF,EAAG,IAAI,EAAE,KAAK,CAAA;AAAA;AAExB,oBAAI;AACF,wBAAMxF,EAAE,MAAM,UAAUqF,GAAGF,CAAC;AAC5B,wBAAMM,IAAKzF,EAAE,MAAM,cAAcqF,GAAGF,CAAC;AACrC,kBAAAM,MAAOxF,EAAE,QAAQwF,EAAG,IAAI,EAAE,KAAK;gBACjC,QAAQ;AACN,kBAAAxF,EAAE,QAAQd,EAAE,iBAAiB,EAAE,KAAK;AAAA,gBACtC;AAAA,YACJ;AACE,cAAAc,EAAE,QAAQd,EAAE,iBAAiB,EAAE,KAAK;AACtC,YAAAE,EAAE,SAASkG,GAAGF,GAAGF,KAAK,OAAOlF,GAAGZ,EAAE,KAAK,GAAGW,EAAE,MAAM,UAAUqF,GAAG,QAAQF,IAAI,CAACA,CAAC,IAAI,MAAM;AAAA,UACzF;AAAA,QACF;AAAA,MACF;AACA,UAAI3G,EAAE,SAAS;AACb,cAAMyG,IAAIzG,EAAE;AACZ,YAAI,OAAOA,EAAE,WAAW,UAAU;AAChC,gBAAM0G,IAAI1G,EAAE;AACZ,UAAAa,EAAE,QAAQW,EAAE,MAAM,SAAQ,GAAI,EAAE,QAAQ,IAAIoB,EAAE,QAAQ;AACtD,cAAI+D;AACJ,cAAI;AACF,gBAAIA,IAAIhG,EAAE,WAAW+F,CAAC,GAAG,CAACC,KAAKhG,EAAE,SAAS;AACxC,oBAAMiG,IAAI;AAAA,gBACR,MAAM,IAAIF,CAAC;AAAA,gBACX,UAAU,CAACA,CAAC;AAAA,cAC5B;AACc,cAAAC,IAAI,MAAMhG,EAAE,QAAQiG,CAAC,GAAGD,KAAKhG,EAAE,WAAWgG,CAAC;AAAA,YAC7C;AACA,YAAAA,MAAM/D,EAAE,QAAQ,IAAI,MAAM,YAAY8D,CAAC,wDAAwD;AAAA,UACjG,SAASE,GAAG;AACV,YAAAhE,EAAE,QAAQgE,aAAa,QAAQA,IAAI,IAAI,MAAM,OAAOA,CAAC,CAAC;AAAA,UACxD,UAAC;AACC,cAAE,QAAQ;AAAA,UACZ;AACA,cAAI/D,EAAE,QAAQ8D,GAAG,CAACA,EAAG;AACrB,cAAI,EAAE,QAAQhG,EAAE,cAAcgG,CAAC,GAAGF,KAAKA,MAAM,OAAO;AAClD,kBAAMG,IAAIpF,EAAE,MAAM,cAAcmF,GAAGF,CAAC;AACpC,gBAAIG;AACF,cAAAnF,EAAE,QAAQmF,EAAE,IAAI,EAAE,KAAK,CAAA;AAAA;AAEvB,kBAAI;AACF,sBAAMpF,EAAE,MAAM,UAAUmF,GAAGF,CAAC;AAC5B,sBAAMI,IAAIrF,EAAE,MAAM,cAAcmF,GAAGF,CAAC;AACpC,gBAAAI,MAAMpF,EAAE,QAAQoF,EAAE,IAAI,EAAE,KAAK;cAC/B,QAAQ;AACN,gBAAApF,EAAE,QAAQd,EAAE,iBAAiB,EAAE,KAAK;AAAA,cACtC;AAAA,UACJ;AACE,YAAAc,EAAE,QAAQd,EAAE,iBAAiB,EAAE,KAAK;AACtC,UAAAE,EAAE,SAASkG,GAAGJ,GAAGF,KAAK,OAAOhF,GAAGZ,EAAE,KAAK;AAAA,QACzC,WAAW4F,KAAKA,MAAM,OAAO;AAC3B,gBAAMC,IAAI1G,EAAE,SAAS2G,IAAInF,EAAE,MAAM,cAAckF,GAAGD,CAAC;AACnD,cAAIE;AACF,YAAAlF,EAAE,QAAQkF,EAAE,IAAI,EAAE,KAAK,CAAA;AAAA;AAEvB,gBAAI;AACF,oBAAMnF,EAAE,MAAM,UAAUkF,GAAGD,CAAC;AAC5B,oBAAMG,IAAIpF,EAAE,MAAM,cAAckF,GAAGD,CAAC;AACpC,cAAAG,MAAMnF,EAAE,QAAQmF,EAAE,IAAI,EAAE,KAAK;YAC/B,QAAQ;AACN,cAAAnF,EAAE,QAAQd,EAAE,iBAAiB,EAAE,KAAK;AAAA,YACtC;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACD,QAAMwE,IAAI,CAACsB,GAAGC,MAAM;AAClB,UAAMC,IAAI9D,EAAE,SAAS,EAAE;AACvB,QAAI,CAAC8D,EAAG,QAAO;AACf,UAAMC,IAAIF,KAAK1G,EAAE,YAAY,EAAE,SAAS;AACxC,WAAO,GAAG2G,EAAE,IAAI,IAAIC,CAAC,IAAIH,CAAC;AAAA,EAC5B,GAAG,IAAI,CAACA,MAAM;AACZ,UAAMC,IAAI7D,EAAE,SAAS,EAAE;AACvB,QAAI,EAAE,CAAChC,EAAE,SAAS,CAACW,EAAE,SAAS,CAACkF;AAC7B,UAAI;AACF,cAAMC,IAAIF,EAAE,KAAK,MAAM,GAAG;AAC1B,YAAIE,EAAE,UAAU,GAAG;AACjB,gBAAMK,IAAKL,EAAE,CAAC,GAAGM,IAAKN,EAAE,CAAC;AACzB,cAAI9F,EAAE,MAAM,IAAI,GAAGmG,CAAE,IAAIC,CAAE,EAAE,KAAKzF,EAAE,MAAM,UAAUkF,GAAGO,GAAI,EAAE,GAAGxF,EAAE,MAAK,CAAE,GAAGkF,EAAE,SAAS,GAAG;AACxF,kBAAMO,IAAK,GAAGF,CAAE,IAAIC,CAAE,IAAIE,IAAKR,EAAE,MAAM,CAAC;AACxC,gBAAIS,KAAKF;AACT,qBAASG,KAAK,GAAGA,KAAKF,EAAG,SAAS,GAAGE;AACnC,kBAAID,MAAM,IAAID,EAAGE,EAAE,CAAC,IAAI,CAACxG,EAAE,MAAM,IAAIuG,EAAE,GAAG;AACxC,sBAAME,KAAKH,EAAGE,KAAK,CAAC,GAAGE,KAAK,CAAC,MAAM,OAAOD,EAAE,CAAC;AAC7C,gBAAAzG,EAAE,MAAM,IAAIuG,IAAIG,KAAK,CAAA,IAAK,EAAE;AAAA,cAC9B;AAAA,UACJ;AAAA,QACF;AACA,QAAA1G,EAAE,MAAM,IAAI4F,EAAE,MAAMA,EAAE,KAAK;AAC3B,cAAMG,IAAIH,EAAE,UAAU,MAAM,GAAG,GAAGI,IAAI,EAAE,GAAGpF,EAAE,MAAK;AAClD,QAAAmF,EAAE,WAAW,IAAIC,EAAED,EAAE,CAAC,CAAC,IAAIH,EAAE,QAAQe,GAAGX,GAAGD,GAAGH,EAAE,KAAK,GAAGhF,EAAE,QAAQoF;AAAA,MACpE,QAAQ;AAAA,MACR;AAAA,EACJ;AACA,GAAC7G,EAAE,WAAWW,GAAG,YAAY8G,GAAG,mBAAmBtC,CAAC,GAAGsC,GAAG,oBAAoB,CAAC;AAC/E,QAAMrC,IAAI,CAACqB,GAAGC,MAAM;AAClB,QAAI,CAAClF,EAAE;AACL,YAAM,IAAI,MAAM,kCAAkC;AACpD,WAAOA,EAAE,MAAM,qBAAqBiF,GAAGC,CAAC;AAAA,EAC1C,GAAGrB,KAAI,OAAOoB,GAAGC,GAAGC,GAAGC,MAAM;AAC3B,QAAI,CAACpF,EAAE;AACL,YAAM,IAAI,MAAM,kCAAkC;AACpD,WAAOA,EAAE,MAAM,gBAAgBiF,GAAGC,GAAGC,GAAGC,CAAC;AAAA,EAC3C,GAAGtB,KAAK,CAACmB,GAAGC,MAAM;AAChB,QAAI,CAAClF,EAAE;AACL,YAAM,IAAI,MAAM,kCAAkC;AACpD,WAAOA,EAAE,MAAM,qBAAqBiF,GAAGC,CAAC;AAAA,EAC1C,GAAGlB,KAAK,CAACiB,GAAGC,OAAO;AAAA,IACjB,gBAAgB,CAACG,MAAM,GAAGJ,CAAC,IAAII,CAAC;AAAA,IAChC,iBAAiB,CAACA,MAAM;AACtB,YAAMG,IAAKH,EAAE,KAAK,WAAWJ,CAAC,IAAII,EAAE,OAAO,GAAGJ,CAAC,IAAII,EAAE,SAAS;AAC9D,QAAE;AAAA,QACA,GAAGA;AAAA,QACH,MAAMG;AAAA,MACd,CAAO;AAAA,IACH;AAAA,EACJ,IAAMzB,KAAK;AAAA,IACP,YAAY;AAAA,IACZ,cAAc5B;AAAA,IACd,eAAeK;AAAA,IACf,SAASJ;AAAA,IACT,SAASC;AAAA,IACT,WAAWC;AAAA,IACX,WAAWC;AAAA,IACX,MAAMI;AAAA,IACN,MAAMC;AAAA,IACN,YAAYC;AAAA,IACZ,aAAaE;AAAA,IACb,aAAaN;AAAA,IACb,OAAOS;AAAA,IACP,kBAAkBR;AAAA,IAClB,aAAaI;AAAA,IACb,kBAAkB;AAAA,IAClB,WAAWE;AAAA,IACX,WAAWC;AAAA,EACf;AACE,SAAOzE,EAAE,UAAU;AAAA,IACjB,WAAWwB;AAAA,IACX,cAAc+D;AAAA,IACd,gBAAgBJ;AAAA,IAChB,iBAAiB;AAAA,IACjB,UAAUtE;AAAA,IACV,UAAUY;AAAA,IACV,gBAAgB;AAAA,IAChB,sBAAsB2D;AAAA,IACtB,iBAAiBC;AAAA,IACjB,sBAAsBC;AAAA,IACtB,qBAAqBE;AAAA,IACrB,WAAW;AAAA,IACX,OAAO5C;AAAA,IACP,iBAAiBC;AAAA,IACjB,iBAAiBC;AAAA,IACjB,cAAcC;AAAA,EAClB,IAAM,CAAC/C,EAAE,WAAWW,GAAG,SAAS;AAAA,IAC5B,WAAWa;AAAA,IACX,cAAc+D;AAAA,IACd,gBAAgBJ;AAAA,IAChB,iBAAiB;AAAA,IACjB,UAAUtE;AAAA,IACV,UAAUY;AAAA,IACV,gBAAgB;AAAA,IAChB,sBAAsB2D;AAAA,IACtB,iBAAiBC;AAAA,IACjB,sBAAsBC;AAAA,IACtB,qBAAqBE;AAAA,IACrB,WAAW;AAAA,IACX,OAAO5C;AAAA,IACP,iBAAiBC;AAAA,IACjB,iBAAiBC;AAAA,IACjB,cAAcC;AAAA,EAClB,IAAM;AAAA,IACF,WAAWvB;AAAA,IACX,cAAc+D;AAAA,EAClB;AACA;AACA,SAASwB,GAAG/G,GAAGW,GAAGC,GAAGY,GAAG;AACtBQ,EAAAA;AAAAA,IACEpB;AAAA,IACA,CAACC,MAAM;AACL,YAAMY,IAAI,GAAGzB,EAAE,IAAI,IAAIW,CAAC;AACxB,aAAO,KAAKE,CAAC,EAAE,QAAQ,CAAC,MAAM;AAC5B,cAAM,IAAI,GAAGY,CAAC,IAAI,CAAC;AACnB,YAAI;AACF,UAAAD,EAAE,IAAI,GAAGX,EAAE,CAAC,CAAC;AAAA,QACf,QAAQ;AAAA,QACR;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,EAAE,MAAM,GAAE;AAAA,EACd;AACA;AACA,SAAS2G,GAAGxH,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIxB;AACR,WAASyB,IAAI,GAAGA,IAAId,EAAE,SAAS,GAAGc,KAAK;AACrC,UAAM,IAAId,EAAEc,CAAC;AACb,KAAC,EAAE,KAAKD,MAAM,OAAOA,EAAE,CAAC,KAAK,cAAcA,EAAE,CAAC,IAAI,MAAM,OAAOb,EAAEc,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAA,IAAKD,IAAIA,EAAE,CAAC;AAAA,EAC/F;AACA,QAAMX,IAAIF,EAAEA,EAAE,SAAS,CAAC;AACxB,EAAAa,EAAEX,CAAC,IAAID;AACT;AAqFA,SAAS8G,EAAE1H,GAAGW,GAAGC,GAAG;AAClB,WAASY,EAAE,GAAG,GAAG;AACf,QAAI,EAAE,QAAQ,OAAO,eAAe,GAAG,QAAQ;AAAA,MAC7C,OAAO;AAAA,QACL,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,QAAwB,oBAAI,IAAG;AAAA,MACvC;AAAA,MACM,YAAY;AAAA,IAClB,CAAK,GAAG,EAAE,KAAK,OAAO,IAAIxB,CAAC;AACrB;AACF,MAAE,KAAK,OAAO,IAAIA,CAAC,GAAGW,EAAE,GAAG,CAAC;AAC5B,UAAM,IAAI,EAAE,WAAWiC,IAAI,OAAO,KAAK,CAAC;AACxC,aAASC,IAAI,GAAGA,IAAID,EAAE,QAAQC,KAAK;AACjC,YAAMC,IAAIF,EAAEC,CAAC;AACb,MAAAC,KAAK,MAAM,EAAEA,CAAC,IAAI,EAAEA,CAAC,EAAE,KAAK,CAAC;AAAA,IAC/B;AAAA,EACF;AACA,QAAMjC,IAAID,GAAG,UAAU;AAAA,EACvB,MAAMa,UAAUZ,EAAE;AAAA,EACpB;AACE,SAAO,eAAeY,GAAG,QAAQ,EAAE,OAAOzB,GAAG;AAC7C,WAAS,EAAE,GAAG;AACZ,QAAI;AACJ,UAAM,IAAIY,GAAG,SAAS,IAAIa,EAAC,IAAK;AAChC,IAAAD,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,MAAM,aAAa,EAAE,WAAW,CAAA;AAChD,eAAWoB,KAAK,EAAE,KAAK;AACrB,MAAAA,EAAC;AACH,WAAO;AAAA,EACT;AACA,SAAO,OAAO,eAAe,GAAG,QAAQ,EAAE,OAAOpB,EAAC,CAAE,GAAG,OAAO,eAAe,GAAG,OAAO,aAAa;AAAA,IAClG,OAAO,CAAC,MAAMZ,GAAG,UAAU,aAAaA,EAAE,SAAS,KAAK,GAAG,MAAM,QAAQ,IAAIZ,CAAC;AAAA,EAClF,CAAG,GAAG,OAAO,eAAe,GAAG,QAAQ,EAAE,OAAOA,EAAC,CAAE,GAAG;AACtD;AACA,MAAM2H,WAAW,MAAM;AAAA,EACrB,cAAc;AACZ,UAAM,0EAA0E;AAAA,EAClF;AACF;AACA,MAAMC,WAAW,MAAM;AAAA,EACrB,YAAYjH,GAAG;AACb,UAAM,uDAAuDA,CAAC,EAAE,GAAG,KAAK,OAAO;AAAA,EACjF;AACF;AACA,MAAMkH,KAAK,CAAA;AACX,SAASC,GAAG9H,GAAG;AACb,SAAO6H;AACT;AACA,SAASE,GAAG/H,GAAG;AACb,QAAMW,IAAI,OAAO,OAAOX,CAAC,EAAE,OAAO,CAAC,MAAM,OAAO,KAAK,QAAQ;AAC7D,SAAO,OAAO,QAAQA,CAAC,EAAE,OAAO,CAAC,CAAC,GAAGa,CAAC,MAAMF,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,GAAGE,CAAC,MAAMA,CAAC;AACrF;AACA,SAASmH,GAAGhI,GAAGW,GAAG;AAChB,SAAO,OAAOA,KAAK,WAAWA,EAAE,SAAQ,IAAKA;AAC/C;AACA,SAASsH,GAAGjI,GAAG;AACb,SAAO;AAAA,IACL,IAAI,QAAQ;AACV;AACE,cAAMW,IAAIX,EAAC;AACX,eAAO,OAAO,eAAe,MAAM,SAAS,EAAE,OAAOW,EAAC,CAAE,GAAGA;AAAA,MAC7D;AAAA,IACF;AAAA,EACJ;AACA;AACA,SAASuH,GAAGlI,GAAG;AACb,SAAOA,KAAK;AACd;AACA,SAASmI,GAAGnI,GAAG;AACb,QAAMW,IAAIX,EAAE,WAAW,GAAG,IAAI,IAAI,GAAGY,IAAIZ,EAAE,SAAS,GAAG,IAAIA,EAAE,SAAS,IAAIA,EAAE;AAC5E,SAAOA,EAAE,MAAMW,GAAGC,CAAC;AACrB;AACA,SAASwH,GAAGpI,GAAGW,GAAG;AAChB,QAAMC,KAAKZ,EAAE,SAAQ,EAAG,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI,QAAQwB,IAAIb,EAAE,SAAQ;AACnE,MAAIE,KAAKW,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI;AAChC,MAAIX,MAAM,KAAK,WAAW,KAAKW,CAAC,GAAG;AACjC,UAAM,IAAIA,EAAE,MAAM,YAAY;AAC9B,QAAI,CAAC,MAAMX,IAAI,OAAO,SAAS,EAAE,CAAC,CAAC;AAAA,EACrC;AACA,QAAMY,IAAIb,IAAIC,IAAID,IAAIC,GAAG,IAAI,OAAO,SAASb,EAAE,QAAQyB,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC,GAAG,IAAI,OAAO,SAASd,EAAE,QAAQc,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC;AAC9H,SAAO,IAAI,IAAI,MAAMA;AACvB;AACA,MAAM4G,KAAqB,uBAAO,YAAY;AAC9C,SAAS,EAAErI,GAAGW,GAAGC,GAAG;AAClB,MAAIY;AACJ,SAAO,eAAexB,GAAGW,GAAG;AAAA,IAC1B,MAAM;AACJ,UAAIa,MAAM6G;AACR,eAAO7G,MAAM,WAAWA,IAAI6G,IAAI7G,IAAIZ,EAAC,IAAKY;AAAA,IAC9C;AAAA,IACA,IAAIX,GAAG;AACL,aAAO,eAAeb,GAAGW,GAAG;AAAA,QAC1B,OAAOE;AAAA;AAAA,MAEf,CAAO;AAAA,IACH;AAAA,IACA,cAAc;AAAA,EAClB,CAAG;AACH;AACA,SAASyH,GAAGtI,GAAGW,GAAGC,GAAG;AACnB,SAAO,eAAeZ,GAAGW,GAAG;AAAA,IAC1B,OAAOC;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,cAAc;AAAA,EAClB,CAAG;AACH;AACA,SAAS2H,MAAMvI,GAAG;AAChB,QAAMW,IAAI,CAAA;AACV,aAAWC,KAAKZ,GAAG;AACjB,UAAMwB,IAAI,OAAO,0BAA0BZ,CAAC;AAC5C,WAAO,OAAOD,GAAGa,CAAC;AAAA,EACpB;AACA,SAAO,OAAO,iBAAiB,CAAA,GAAIb,CAAC;AACtC;AACA,SAAS6H,GAAGxI,GAAG;AACb,SAAO,KAAK,UAAUA,CAAC;AACzB;AACA,SAASyI,GAAGzI,GAAG;AACb,SAAOA,EAAE,YAAW,EAAG,KAAI,EAAG,QAAQ,aAAa,EAAE,EAAE,QAAQ,YAAY,GAAG,EAAE,QAAQ,YAAY,EAAE;AACxG;AACA,MAAM0I,KAAK,uBAAuB,QAAQ,MAAM,oBAAoB,IAAI1I,MAAM;AAC9E;AACA,SAAS2I,GAAG3I,GAAG;AACb,SAAO,OAAOA,KAAK,YAAYA,MAAM,QAAQ,CAAC,MAAM,QAAQA,CAAC;AAC/D;AACA,MAAM4I,KAAKX,GAAG,MAAM;AAClB,MAAI,OAAO,YAAY,OAAO,WAAW,WAAW,SAAS,YAAY;AACvE,WAAO;AACT,MAAI;AACF,UAAMjI,IAAI;AACV,WAAO,IAAIA,EAAE,EAAE,GAAG;AAAA,EACpB,QAAQ;AACN,WAAO;AAAA,EACT;AACF,CAAC;AACD,SAAS6I,GAAG7I,GAAG;AACb,MAAI2I,GAAG3I,CAAC,MAAM;AACZ,WAAO;AACT,QAAMW,IAAIX,EAAE;AACZ,MAAIW,MAAM,UAAU,OAAOA,KAAK;AAC9B,WAAO;AACT,QAAMC,IAAID,EAAE;AACZ,SAAO,EAAEgI,GAAG/H,CAAC,MAAM,MAAM,OAAO,UAAU,eAAe,KAAKA,GAAG,eAAe,MAAM;AACxF;AACA,SAASkI,GAAG9I,GAAG;AACb,SAAO6I,GAAG7I,CAAC,IAAI,EAAE,GAAGA,EAAC,IAAK,MAAM,QAAQA,CAAC,IAAI,CAAC,GAAGA,CAAC,IAAIA;AACxD;AACA,MAAM+I,KAAqB,oBAAI,IAAI,CAAC,UAAU,UAAU,QAAQ,CAAC;AACjE,SAASC,GAAGhJ,GAAG;AACb,SAAOA,EAAE,QAAQ,uBAAuB,MAAM;AAChD;AACA,SAASiJ,GAAGjJ,GAAGW,GAAGC,GAAG;AACnB,QAAMY,IAAI,IAAIxB,EAAE,KAAK,OAAOW,KAAKX,EAAE,KAAK,GAAG;AAC3C,UAAQ,CAACW,KAAKC,GAAG,YAAYY,EAAE,KAAK,SAASxB,IAAIwB;AACnD;AACA,SAAS0H,EAAElJ,GAAG;AACZ,QAAMW,IAAIX;AACV,MAAI,CAACW;AACH,WAAO,CAAA;AACT,MAAI,OAAOA,KAAK;AACd,WAAO,EAAE,OAAO,MAAMA,EAAC;AACzB,MAAIA,GAAG,YAAY,QAAQ;AACzB,QAAIA,GAAG,UAAU;AACf,YAAM,IAAI,MAAM,kDAAkD;AACpE,IAAAA,EAAE,QAAQA,EAAE;AAAA,EACd;AACA,SAAO,OAAOA,EAAE,SAAS,OAAOA,EAAE,SAAS,WAAW,EAAE,GAAGA,GAAG,OAAO,MAAMA,EAAE,MAAK,IAAKA;AACzF;AACA,SAASwI,GAAGnJ,GAAG;AACb,SAAO,OAAO,KAAKA,CAAC,EAAE,OAAO,CAACW,MAAMX,EAAEW,CAAC,EAAE,KAAK,UAAU,cAAcX,EAAEW,CAAC,EAAE,KAAK,WAAW,UAAU;AACvG;AACA,MAAMyI,KAAK;AAAA,EACT,SAAS,CAAC,OAAO,kBAAkB,OAAO,gBAAgB;AAAA,EAC1D,OAAO,CAAC,aAAa,UAAU;AAAA,EAC/B,QAAQ,CAAC,GAAG,UAAU;AAAA,EACtB,SAAS,CAAC,uBAAuB,oBAAoB;AAAA,EACrD,SAAS,CAAC,CAAC,OAAO,WAAW,OAAO,SAAS;AAC/C;AACA,SAASC,GAAGrJ,GAAGW,GAAG;AAChB,QAAMC,IAAIZ,EAAE,KAAK,KAAKwB,IAAIZ,EAAE;AAC5B,MAAIY,KAAKA,EAAE,SAAS;AAClB,UAAM,IAAI,MAAM,iEAAiE;AACnF,QAAM,IAAI+G,GAAGvI,EAAE,KAAK,KAAK;AAAA,IACvB,IAAI,QAAQ;AACV,YAAMkG,IAAI,CAAA;AACV,iBAAWC,KAAKxF,GAAG;AACjB,YAAI,EAAEwF,KAAKvF,EAAE;AACX,gBAAM,IAAI,MAAM,sBAAsBuF,CAAC,GAAG;AAC5C,QAAAxF,EAAEwF,CAAC,MAAMD,EAAEC,CAAC,IAAIvF,EAAE,MAAMuF,CAAC;AAAA,MAC3B;AACA,aAAOmC,GAAG,MAAM,SAASpC,CAAC,GAAGA;AAAA,IAC/B;AAAA,IACA,QAAQ,CAAA;AAAA,EACZ,CAAG;AACD,SAAO+C,GAAGjJ,GAAG,CAAC;AAChB;AACA,SAASsJ,GAAGtJ,GAAGW,GAAG;AAChB,QAAMC,IAAIZ,EAAE,KAAK,KAAKwB,IAAIZ,EAAE;AAC5B,MAAIY,KAAKA,EAAE,SAAS;AAClB,UAAM,IAAI,MAAM,iEAAiE;AACnF,QAAM,IAAI+G,GAAGvI,EAAE,KAAK,KAAK;AAAA,IACvB,IAAI,QAAQ;AACV,YAAMkG,IAAI,EAAE,GAAGlG,EAAE,KAAK,IAAI,MAAK;AAC/B,iBAAWmG,KAAKxF,GAAG;AACjB,YAAI,EAAEwF,KAAKvF,EAAE;AACX,gBAAM,IAAI,MAAM,sBAAsBuF,CAAC,GAAG;AAC5C,QAAAxF,EAAEwF,CAAC,KAAK,OAAOD,EAAEC,CAAC;AAAA,MACpB;AACA,aAAOmC,GAAG,MAAM,SAASpC,CAAC,GAAGA;AAAA,IAC/B;AAAA,IACA,QAAQ,CAAA;AAAA,EACZ,CAAG;AACD,SAAO+C,GAAGjJ,GAAG,CAAC;AAChB;AACA,SAASuJ,GAAGvJ,GAAGW,GAAG;AAChB,MAAI,CAACkI,GAAGlI,CAAC;AACP,UAAM,IAAI,MAAM,kDAAkD;AACpE,QAAMC,IAAIZ,EAAE,KAAK,IAAI;AACrB,MAAIY,KAAKA,EAAE,SAAS,GAAG;AACrB,UAAM,IAAIZ,EAAE,KAAK,IAAI;AACrB,eAAWkG,KAAKvF;AACd,UAAI,OAAO,yBAAyB,GAAGuF,CAAC,MAAM;AAC5C,cAAM,IAAI,MAAM,8FAA8F;AAAA,EACpH;AACA,QAAMrF,IAAI0H,GAAGvI,EAAE,KAAK,KAAK;AAAA,IACvB,IAAI,QAAQ;AACV,YAAM,IAAI,EAAE,GAAGA,EAAE,KAAK,IAAI,OAAO,GAAGW,EAAC;AACrC,aAAO2H,GAAG,MAAM,SAAS,CAAC,GAAG;AAAA,IAC/B;AAAA,EACJ,CAAG;AACD,SAAOW,GAAGjJ,GAAGa,CAAC;AAChB;AACA,SAAS2I,GAAGxJ,GAAGW,GAAG;AAChB,MAAI,CAACkI,GAAGlI,CAAC;AACP,UAAM,IAAI,MAAM,sDAAsD;AACxE,QAAMC,IAAI2H,GAAGvI,EAAE,KAAK,KAAK;AAAA,IACvB,IAAI,QAAQ;AACV,YAAMwB,IAAI,EAAE,GAAGxB,EAAE,KAAK,IAAI,OAAO,GAAGW,EAAC;AACrC,aAAO2H,GAAG,MAAM,SAAS9G,CAAC,GAAGA;AAAA,IAC/B;AAAA,EACJ,CAAG;AACD,SAAOyH,GAAGjJ,GAAGY,CAAC;AAChB;AACA,SAAS6I,GAAGzJ,GAAGW,GAAG;AAChB,QAAMC,IAAI2H,GAAGvI,EAAE,KAAK,KAAK;AAAA,IACvB,IAAI,QAAQ;AACV,YAAMwB,IAAI,EAAE,GAAGxB,EAAE,KAAK,IAAI,OAAO,GAAGW,EAAE,KAAK,IAAI,MAAK;AACpD,aAAO2H,GAAG,MAAM,SAAS9G,CAAC,GAAGA;AAAA,IAC/B;AAAA,IACA,IAAI,WAAW;AACb,aAAOb,EAAE,KAAK,IAAI;AAAA,IACpB;AAAA,IACA,QAAQ,CAAA;AAAA;AAAA,EAEZ,CAAG;AACD,SAAOsI,GAAGjJ,GAAGY,CAAC;AAChB;AACA,SAAS8I,GAAG1J,GAAGW,GAAGC,GAAG;AACnB,QAAMC,IAAIF,EAAE,KAAK,IAAI;AACrB,MAAIE,KAAKA,EAAE,SAAS;AAClB,UAAM,IAAI,MAAM,oEAAoE;AACtF,QAAMqF,IAAIqC,GAAG5H,EAAE,KAAK,KAAK;AAAA,IACvB,IAAI,QAAQ;AACV,YAAMwF,IAAIxF,EAAE,KAAK,IAAI,OAAO+E,IAAI,EAAE,GAAGS,EAAC;AACtC,UAAIvF;AACF,mBAAWwF,KAAKxF,GAAG;AACjB,cAAI,EAAEwF,KAAKD;AACT,kBAAM,IAAI,MAAM,sBAAsBC,CAAC,GAAG;AAC5C,UAAAxF,EAAEwF,CAAC,MAAMV,EAAEU,CAAC,IAAIpG,IAAI,IAAIA,EAAE;AAAA,YACxB,MAAM;AAAA,YACN,WAAWmG,EAAEC,CAAC;AAAA,UAC1B,CAAW,IAAID,EAAEC,CAAC;AAAA,QACV;AAAA;AAEA,mBAAWA,KAAKD;AACd,UAAAT,EAAEU,CAAC,IAAIpG,IAAI,IAAIA,EAAE;AAAA,YACf,MAAM;AAAA,YACN,WAAWmG,EAAEC,CAAC;AAAA,UAC1B,CAAW,IAAID,EAAEC,CAAC;AACZ,aAAOkC,GAAG,MAAM,SAAS5C,CAAC,GAAGA;AAAA,IAC/B;AAAA,IACA,QAAQ,CAAA;AAAA,EACZ,CAAG;AACD,SAAOuD,GAAGtI,GAAGuF,CAAC;AAChB;AACA,SAASyD,GAAG3J,GAAGW,GAAGC,GAAG;AACnB,QAAMY,IAAI+G,GAAG5H,EAAE,KAAK,KAAK;AAAA,IACvB,IAAI,QAAQ;AACV,YAAME,IAAIF,EAAE,KAAK,IAAI,OAAOc,IAAI,EAAE,GAAGZ,EAAC;AACtC,UAAID;AACF,mBAAW,KAAKA,GAAG;AACjB,cAAI,EAAE,KAAKa;AACT,kBAAM,IAAI,MAAM,sBAAsB,CAAC,GAAG;AAC5C,UAAAb,EAAE,CAAC,MAAMa,EAAE,CAAC,IAAI,IAAIzB,EAAE;AAAA,YACpB,MAAM;AAAA,YACN,WAAWa,EAAE,CAAC;AAAA,UAC1B,CAAW;AAAA,QACH;AAAA;AAEA,mBAAW,KAAKA;AACd,UAAAY,EAAE,CAAC,IAAI,IAAIzB,EAAE;AAAA,YACX,MAAM;AAAA,YACN,WAAWa,EAAE,CAAC;AAAA,UAC1B,CAAW;AACL,aAAOyH,GAAG,MAAM,SAAS7G,CAAC,GAAGA;AAAA,IAC/B;AAAA,EACJ,CAAG;AACD,SAAOwH,GAAGtI,GAAGa,CAAC;AAChB;AACA,SAASoI,GAAG5J,GAAGW,IAAI,GAAG;AACpB,MAAIX,EAAE,YAAY;AAChB,WAAO;AACT,WAASY,IAAID,GAAGC,IAAIZ,EAAE,OAAO,QAAQY;AACnC,QAAIZ,EAAE,OAAOY,CAAC,GAAG,aAAa;AAC5B,aAAO;AACX,SAAO;AACT;AACA,SAASiJ,GAAG7J,GAAGW,GAAG;AAChB,SAAOA,EAAE,IAAI,CAACC,MAAM;AAClB,QAAIY;AACJ,YAAQA,IAAIZ,GAAG,SAASY,EAAE,OAAO,KAAKZ,EAAE,KAAK,QAAQZ,CAAC,GAAGY;AAAA,EAC3D,CAAC;AACH;AACA,SAASkJ,GAAG9J,GAAG;AACb,SAAO,OAAOA,KAAK,WAAWA,IAAIA,GAAG;AACvC;AACA,SAAS+J,GAAG/J,GAAGW,GAAGC,GAAG;AACnB,QAAMY,IAAI,EAAE,GAAGxB,GAAG,MAAMA,EAAE,QAAQ,GAAE;AACpC,MAAI,CAACA,EAAE,SAAS;AACd,UAAMa,IAAIiJ,GAAG9J,EAAE,MAAM,KAAK,KAAK,QAAQA,CAAC,CAAC,KAAK8J,GAAGnJ,GAAG,QAAQX,CAAC,CAAC,KAAK8J,GAAGlJ,EAAE,cAAcZ,CAAC,CAAC,KAAK8J,GAAGlJ,EAAE,cAAcZ,CAAC,CAAC,KAAK;AACvH,IAAAwB,EAAE,UAAUX;AAAA,EACd;AACA,SAAO,OAAOW,EAAE,MAAM,OAAOA,EAAE,UAAUb,GAAG,eAAe,OAAOa,EAAE,OAAOA;AAC7E;AACA,SAASwI,GAAGhK,GAAG;AACb,SAAO,MAAM,QAAQA,CAAC,IAAI,UAAU,OAAOA,KAAK,WAAW,WAAW;AACxE;AACA,SAASiK,MAAMjK,GAAG;AAChB,QAAM,CAACW,GAAGC,GAAGY,CAAC,IAAIxB;AAClB,SAAO,OAAOW,KAAK,WAAW;AAAA,IAC5B,SAASA;AAAA,IACT,MAAM;AAAA,IACN,OAAOC;AAAA,IACP,MAAMY;AAAA,EACV,IAAM,EAAE,GAAGb,EAAC;AACZ;AACA,MAAMuJ,KAAK,CAAClK,GAAGW,MAAM;AACnB,EAAAX,EAAE,OAAO,aAAa,OAAO,eAAeA,GAAG,QAAQ;AAAA,IACrD,OAAOA,EAAE;AAAA,IACT,YAAY;AAAA,EAChB,CAAG,GAAG,OAAO,eAAeA,GAAG,UAAU;AAAA,IACrC,OAAOW;AAAA,IACP,YAAY;AAAA,EAChB,CAAG,GAAGX,EAAE,UAAU,KAAK,UAAUW,GAAGqH,IAAI,CAAC,GAAG,OAAO,eAAehI,GAAG,YAAY;AAAA,IAC7E,OAAO,MAAMA,EAAE;AAAA,IACf,YAAY;AAAA,EAChB,CAAG;AACH,GAAGmK,KAAKzC,EAAE,aAAawC,EAAE,GAAGE,KAAK1C,EAAE,aAAawC,IAAI,EAAE,QAAQ,MAAK,CAAE;AACrE,SAASG,GAAGrK,GAAGW,IAAI,CAACC,MAAMA,EAAE,SAAS;AACnC,QAAMA,IAAI,IAAIY,IAAI,CAAA;AAClB,aAAWX,KAAKb,EAAE;AAChB,IAAAa,EAAE,KAAK,SAAS,KAAKD,EAAEC,EAAE,KAAK,CAAC,CAAC,IAAID,EAAEC,EAAE,KAAK,CAAC,CAAC,KAAK,IAAID,EAAEC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAKF,EAAEE,CAAC,CAAC,KAAKW,EAAE,KAAKb,EAAEE,CAAC,CAAC;AAChG,SAAO,EAAE,YAAYW,GAAG,aAAaZ,EAAC;AACxC;AACA,SAAS0J,GAAGtK,GAAGW,IAAI,CAACC,MAAMA,EAAE,SAAS;AACnC,QAAMA,IAAI,EAAE,SAAS,CAAA,EAAE,GAAIY,IAAI,CAACX,MAAM;AACpC,eAAWY,KAAKZ,EAAE;AAChB,UAAIY,EAAE,SAAS,mBAAmBA,EAAE,OAAO;AACzC,QAAAA,EAAE,OAAO,IAAI,CAAC,MAAMD,EAAE,EAAE,QAAQ,EAAC,CAAE,CAAC;AAAA,eAC7BC,EAAE,SAAS;AAClB,QAAAD,EAAE,EAAE,QAAQC,EAAE,OAAM,CAAE;AAAA,eACfA,EAAE,SAAS;AAClB,QAAAD,EAAE,EAAE,QAAQC,EAAE,OAAM,CAAE;AAAA,eACfA,EAAE,KAAK,WAAW;AACzB,QAAAb,EAAE,QAAQ,KAAKD,EAAEc,CAAC,CAAC;AAAA,WAChB;AACH,YAAI,IAAIb,GAAG,IAAI;AACf,eAAO,IAAIa,EAAE,KAAK,UAAU;AAC1B,gBAAM,IAAIA,EAAE,KAAK,CAAC;AAClB,gBAAMA,EAAE,KAAK,SAAS,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,CAAA,EAAE,GAAI,EAAE,CAAC,EAAE,QAAQ,KAAKd,EAAEc,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,CAAA,KAAM,IAAI,EAAE,CAAC,GAAG;AAAA,QAClI;AAAA,MACF;AAAA,EACJ;AACA,SAAOD,EAAExB,CAAC,GAAGY;AACf;AACA,MAAM2J,KAAK,CAACvK,MAAM,CAACW,GAAGC,GAAGY,GAAGX,MAAM;AAChC,QAAMY,IAAID,IAAI,OAAO,OAAOA,GAAG,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,GAAE,GAAI,IAAIb,EAAE,KAAK,IAAI,EAAE,OAAOC,GAAG,QAAQ,GAAE,GAAIa,CAAC;AACzG,MAAI,aAAa;AACf,UAAM,IAAIkG,GAAE;AACd,MAAI,EAAE,OAAO,QAAQ;AACnB,UAAM,IAAI,KAAK9G,GAAG,OAAOb,GAAG,EAAE,OAAO,IAAI,CAAC,MAAM+J,GAAG,GAAGtI,GAAGqG,GAAE,CAAE,CAAC,CAAC;AAC/D,UAAMY,GAAG,GAAG7H,GAAG,MAAM,GAAG;AAAA,EAC1B;AACA,SAAO,EAAE;AACX,GAAG2J,KAAK,CAACxK,MAAM,OAAOW,GAAGC,GAAGY,GAAGX,MAAM;AACnC,QAAMY,IAAID,IAAI,OAAO,OAAOA,GAAG,EAAE,OAAO,GAAE,CAAE,IAAI,EAAE,OAAO,GAAE;AAC3D,MAAI,IAAIb,EAAE,KAAK,IAAI,EAAE,OAAOC,GAAG,QAAQ,GAAE,GAAIa,CAAC;AAC9C,MAAI,aAAa,YAAY,IAAI,MAAM,IAAI,EAAE,OAAO,QAAQ;AAC1D,UAAM,IAAI,KAAKZ,GAAG,OAAOb,GAAG,EAAE,OAAO,IAAI,CAAC,MAAM+J,GAAG,GAAGtI,GAAGqG,GAAE,CAAE,CAAC,CAAC;AAC/D,UAAMY,GAAG,GAAG7H,GAAG,MAAM,GAAG;AAAA,EAC1B;AACA,SAAO,EAAE;AACX,GAAG4J,KAAK,CAACzK,MAAM,CAACW,GAAGC,GAAGY,MAAM;AAC1B,QAAMX,IAAIW,IAAI,EAAE,GAAGA,GAAG,OAAO,GAAE,IAAK,EAAE,OAAO,GAAE,GAAIC,IAAId,EAAE,KAAK,IAAI,EAAE,OAAOC,GAAG,QAAQ,GAAE,GAAIC,CAAC;AAC7F,MAAIY,aAAa;AACf,UAAM,IAAIkG,GAAE;AACd,SAAOlG,EAAE,OAAO,SAAS;AAAA,IACvB,SAAS;AAAA,IACT,OAAO,KAAKzB,KAAKmK,IAAI1I,EAAE,OAAO,IAAI,CAAC,MAAMsI,GAAG,GAAGlJ,GAAGiH,GAAE,CAAE,CAAC,CAAC;AAAA,EAC5D,IAAM,EAAE,SAAS,IAAI,MAAMrG,EAAE,MAAK;AAClC,GAAGiJ,KAAqB,gBAAAD,GAAGL,EAAE,GAAGO,KAAK,CAAC3K,MAAM,OAAOW,GAAGC,GAAGY,MAAM;AAC7D,QAAMX,IAAIW,IAAI,OAAO,OAAOA,GAAG,EAAE,OAAO,GAAE,CAAE,IAAI,EAAE,OAAO,GAAE;AAC3D,MAAIC,IAAId,EAAE,KAAK,IAAI,EAAE,OAAOC,GAAG,QAAQ,GAAE,GAAIC,CAAC;AAC9C,SAAOY,aAAa,YAAYA,IAAI,MAAMA,IAAIA,EAAE,OAAO,SAAS;AAAA,IAC9D,SAAS;AAAA,IACT,OAAO,IAAIzB,EAAEyB,EAAE,OAAO,IAAI,CAAC,MAAMsI,GAAG,GAAGlJ,GAAGiH,GAAE,CAAE,CAAC,CAAC;AAAA,EACpD,IAAM,EAAE,SAAS,IAAI,MAAMrG,EAAE,MAAK;AAClC,GAAGmJ,KAAqB,gBAAAD,GAAGP,EAAE,GAAGS,KAAK,CAAC7K,MAAM,CAACW,GAAGC,GAAGY,MAAM;AACvD,QAAMX,IAAIW,IAAI,OAAO,OAAOA,GAAG,EAAE,WAAW,WAAU,CAAE,IAAI,EAAE,WAAW,WAAU;AACnF,SAAO+I,GAAGvK,CAAC,EAAEW,GAAGC,GAAGC,CAAC;AACtB,GAAGiK,KAAK,CAAC9K,MAAM,CAACW,GAAGC,GAAGY,MAAM+I,GAAGvK,CAAC,EAAEW,GAAGC,GAAGY,CAAC,GAAGuJ,KAAK,CAAC/K,MAAM,OAAOW,GAAGC,GAAGY,MAAM;AACzE,QAAMX,IAAIW,IAAI,OAAO,OAAOA,GAAG,EAAE,WAAW,WAAU,CAAE,IAAI,EAAE,WAAW,WAAU;AACnF,SAAOgJ,GAAGxK,CAAC,EAAEW,GAAGC,GAAGC,CAAC;AACtB,GAAGmK,KAAK,CAAChL,MAAM,OAAOW,GAAGC,GAAGY,MAAMgJ,GAAGxK,CAAC,EAAEW,GAAGC,GAAGY,CAAC,GAAGyJ,KAAK,CAACjL,MAAM,CAACW,GAAGC,GAAGY,MAAM;AACzE,QAAMX,IAAIW,IAAI,OAAO,OAAOA,GAAG,EAAE,WAAW,WAAU,CAAE,IAAI,EAAE,WAAW,WAAU;AACnF,SAAOiJ,GAAGzK,CAAC,EAAEW,GAAGC,GAAGC,CAAC;AACtB,GAAGqK,KAAK,CAAClL,MAAM,CAACW,GAAGC,GAAGY,MAAMiJ,GAAGzK,CAAC,EAAEW,GAAGC,GAAGY,CAAC,GAAG2J,KAAK,CAACnL,MAAM,OAAOW,GAAGC,GAAGY,MAAM;AACzE,QAAMX,IAAIW,IAAI,OAAO,OAAOA,GAAG,EAAE,WAAW,WAAU,CAAE,IAAI,EAAE,WAAW,WAAU;AACnF,SAAOmJ,GAAG3K,CAAC,EAAEW,GAAGC,GAAGC,CAAC;AACtB,GAAGuK,KAAK,CAACpL,MAAM,OAAOW,GAAGC,GAAGY,MAAMmJ,GAAG3K,CAAC,EAAEW,GAAGC,GAAGY,CAAC,GAAG6J,KAAK,oBAAoBC,KAAK,eAAeC,KAAK,yCAAyCC,KAAK,qBAAqBC,KAAK,qBAAqBC,KAAK,uBAAuBC,KAAK,iGAAiGC,KAAK,mFAAmFC,KAAK,CAAC7L,MAAMA,IAAI,IAAI,OAAO,mCAAmCA,CAAC,yDAAyD,IAAI,0KAA0K8L,KAAK,oGAAoGC,KAAK;AAC/yB,SAASC,KAAK;AACZ,SAAO,IAAI,OAAOD,IAAI,GAAG;AAC3B;AACA,MAAME,KAAK,uHAAuHC,KAAK,gYAAgYC,KAAK,4IAA4IC,KAAK,kIAAkIC,KAAK,+EAA+EC,KAAK,oBAAoBC,KAAK,qBAAqBC,KAAK,uNAAuNC,KAAqB,oBAAI,OAAO,IAAID,EAAE,GAAG;AAC3qC,SAASE,GAAG1M,GAAG;AACb,QAAMW,IAAI;AACV,SAAO,OAAOX,EAAE,aAAa,WAAWA,EAAE,cAAc,KAAK,GAAGW,CAAC,KAAKX,EAAE,cAAc,IAAI,GAAGW,CAAC,cAAc,GAAGA,CAAC,mBAAmBX,EAAE,SAAS,MAAM,GAAGW,CAAC;AAC1J;AACA,SAASgM,GAAG3M,GAAG;AACb,SAAO,IAAI,OAAO,IAAI0M,GAAG1M,CAAC,CAAC,GAAG;AAChC;AACA,SAAS4M,GAAG5M,GAAG;AACb,QAAMW,IAAI+L,GAAG,EAAE,WAAW1M,EAAE,WAAW,GAAGY,IAAI,CAAC,GAAG;AAClD,EAAAZ,EAAE,SAASY,EAAE,KAAK,EAAE,GAAGZ,EAAE,UAAUY,EAAE,KAAK,mCAAmC;AAC7E,QAAMY,IAAI,GAAGb,CAAC,MAAMC,EAAE,KAAK,GAAG,CAAC;AAC/B,SAAO,IAAI,OAAO,IAAI4L,EAAE,OAAOhL,CAAC,IAAI;AACtC;AACA,MAAMqL,KAAK,CAAC7M,MAAM;AAChB,QAAMW,IAAIX,IAAI,YAAYA,GAAG,WAAW,CAAC,IAAIA,GAAG,WAAW,EAAE,MAAM;AACnE,SAAO,IAAI,OAAO,IAAIW,CAAC,GAAG;AAC5B,GAAGmM,KAAK,WAAWC,KAAK,qBAAqBC,KAAK,qBAAqBC,KAAK,aAAaC,KAAK,aAAaC,KAAqB,gBAAAzF,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AACvJ,MAAIC;AACJ,EAAAZ,EAAE,SAASA,EAAE,OAAO,CAAA,IAAKA,EAAE,KAAK,MAAMW,IAAIC,IAAIZ,EAAE,MAAM,aAAaY,EAAE,WAAW;AAClF,CAAC,GAAGwM,KAAK;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AACV,GAAGC,KAAqB,gBAAA3F,EAAE,qBAAqB,CAAC1H,GAAGW,MAAM;AACvD,EAAAwM,GAAG,KAAKnN,GAAGW,CAAC;AACZ,QAAMC,IAAIwM,GAAG,OAAOzM,EAAE,KAAK;AAC3B,EAAAX,EAAE,KAAK,SAAS,KAAK,CAACwB,MAAM;AAC1B,UAAMX,IAAIW,EAAE,KAAK,KAAKC,KAAKd,EAAE,YAAYE,EAAE,UAAUA,EAAE,qBAAqB,OAAO;AACnF,IAAAF,EAAE,QAAQc,MAAMd,EAAE,YAAYE,EAAE,UAAUF,EAAE,QAAQE,EAAE,mBAAmBF,EAAE;AAAA,EAC7E,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACwB,MAAM;AACxB,KAACb,EAAE,YAAYa,EAAE,SAASb,EAAE,QAAQa,EAAE,QAAQb,EAAE,UAAUa,EAAE,OAAO,KAAK;AAAA,MACtE,QAAQZ;AAAA,MACR,MAAM;AAAA,MACN,SAAS,OAAOD,EAAE,SAAS,WAAWA,EAAE,MAAM,YAAYA,EAAE;AAAA,MAC5D,OAAOa,EAAE;AAAA,MACT,WAAWb,EAAE;AAAA,MACb,MAAMX;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAG2M,KAAqB,gBAAA5F,EAAE,wBAAwB,CAAC1H,GAAGW,MAAM;AAC3D,EAAAwM,GAAG,KAAKnN,GAAGW,CAAC;AACZ,QAAMC,IAAIwM,GAAG,OAAOzM,EAAE,KAAK;AAC3B,EAAAX,EAAE,KAAK,SAAS,KAAK,CAACwB,MAAM;AAC1B,UAAMX,IAAIW,EAAE,KAAK,KAAKC,KAAKd,EAAE,YAAYE,EAAE,UAAUA,EAAE,qBAAqB,OAAO;AACnF,IAAAF,EAAE,QAAQc,MAAMd,EAAE,YAAYE,EAAE,UAAUF,EAAE,QAAQE,EAAE,mBAAmBF,EAAE;AAAA,EAC7E,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACwB,MAAM;AACxB,KAACb,EAAE,YAAYa,EAAE,SAASb,EAAE,QAAQa,EAAE,QAAQb,EAAE,UAAUa,EAAE,OAAO,KAAK;AAAA,MACtE,QAAQZ;AAAA,MACR,MAAM;AAAA,MACN,SAAS,OAAOD,EAAE,SAAS,WAAWA,EAAE,MAAM,YAAYA,EAAE;AAAA,MAC5D,OAAOa,EAAE;AAAA,MACT,WAAWb,EAAE;AAAA,MACb,MAAMX;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAG4M,KAAqB,gBAAA7F,EAAE,uBAAuB,CAAC1H,GAAGW,MAAM;AAC1D,EAAAwM,GAAG,KAAKnN,GAAGW,CAAC,GAAGX,EAAE,KAAK,SAAS,KAAK,CAACY,MAAM;AACzC,QAAIY;AACJ,KAACA,IAAIZ,EAAE,KAAK,KAAK,eAAeY,EAAE,aAAab,EAAE;AAAA,EACnD,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,MAAM;AACxB,QAAI,OAAOA,EAAE,SAAS,OAAOD,EAAE;AAC7B,YAAM,IAAI,MAAM,oDAAoD;AACtE,KAAC,OAAOC,EAAE,SAAS,WAAWA,EAAE,QAAQD,EAAE,UAAU,OAAO,CAAC,IAAIyH,GAAGxH,EAAE,OAAOD,EAAE,KAAK,MAAM,MAAMC,EAAE,OAAO,KAAK;AAAA,MAC3G,QAAQ,OAAOA,EAAE;AAAA,MACjB,MAAM;AAAA,MACN,SAASD,EAAE;AAAA,MACX,OAAOC,EAAE;AAAA,MACT,MAAMZ;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAG6M,KAAqB,gBAAA9F,EAAE,yBAAyB,CAAC1H,GAAGW,MAAM;AAC5D,EAAAwM,GAAG,KAAKnN,GAAGW,CAAC,GAAGA,EAAE,SAASA,EAAE,UAAU;AACtC,QAAMC,IAAID,EAAE,QAAQ,SAAS,KAAK,GAAGa,IAAIZ,IAAI,QAAQ,UAAU,CAACC,GAAGY,CAAC,IAAI2H,GAAGzI,EAAE,MAAM;AACnF,EAAAX,EAAE,KAAK,SAAS,KAAK,CAAC,MAAM;AAC1B,UAAM,IAAI,EAAE,KAAK;AACjB,MAAE,SAASW,EAAE,QAAQ,EAAE,UAAUE,GAAG,EAAE,UAAUY,GAAGb,MAAM,EAAE,UAAUkM;AAAA,EACvE,CAAC,GAAG9M,EAAE,KAAK,QAAQ,CAAC,MAAM;AACxB,UAAM,IAAI,EAAE;AACZ,QAAIY,GAAG;AACL,UAAI,CAAC,OAAO,UAAU,CAAC,GAAG;AACxB,UAAE,OAAO,KAAK;AAAA,UACZ,UAAUY;AAAA,UACV,QAAQb,EAAE;AAAA,UACV,MAAM;AAAA,UACN,UAAU;AAAA,UACV,OAAO;AAAA,UACP,MAAMX;AAAA,QAChB,CAAS;AACD;AAAA,MACF;AACA,UAAI,CAAC,OAAO,cAAc,CAAC,GAAG;AAC5B,YAAI,IAAI,EAAE,OAAO,KAAK;AAAA,UACpB,OAAO;AAAA,UACP,MAAM;AAAA,UACN,SAAS,OAAO;AAAA,UAChB,MAAM;AAAA,UACN,MAAMA;AAAA,UACN,QAAQwB;AAAA,UACR,WAAW;AAAA,UACX,UAAU,CAACb,EAAE;AAAA,QACvB,CAAS,IAAI,EAAE,OAAO,KAAK;AAAA,UACjB,OAAO;AAAA,UACP,MAAM;AAAA,UACN,SAAS,OAAO;AAAA,UAChB,MAAM;AAAA,UACN,MAAMX;AAAA,UACN,QAAQwB;AAAA,UACR,WAAW;AAAA,UACX,UAAU,CAACb,EAAE;AAAA,QACvB,CAAS;AACD;AAAA,MACF;AAAA,IACF;AACA,QAAIE,KAAK,EAAE,OAAO,KAAK;AAAA,MACrB,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAASA;AAAA,MACT,WAAW;AAAA,MACX,MAAMb;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK,GAAG,IAAIc,KAAK,EAAE,OAAO,KAAK;AAAA,MACzB,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAASA;AAAA,MACT,WAAW;AAAA,MACX,MAAMzB;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAG8M,KAAqB,gBAAA/F,EAAE,sBAAsB,CAAC1H,GAAGW,MAAM;AACzD,MAAIC;AACJ,EAAAuM,GAAG,KAAKnN,GAAGW,CAAC,IAAIC,IAAIZ,EAAE,KAAK,KAAK,SAASY,EAAE,OAAO,CAACY,MAAM;AACvD,UAAMX,IAAIW,EAAE;AACZ,WAAO,CAAC0G,GAAGrH,CAAC,KAAKA,EAAE,WAAW;AAAA,EAChC,IAAIb,EAAE,KAAK,SAAS,KAAK,CAACwB,MAAM;AAC9B,UAAMX,IAAIW,EAAE,KAAK,IAAI,WAAW,OAAO;AACvC,IAAAb,EAAE,UAAUE,MAAMW,EAAE,KAAK,IAAI,UAAUb,EAAE;AAAA,EAC3C,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACwB,MAAM;AACxB,UAAMX,IAAIW,EAAE;AACZ,QAAIX,EAAE,UAAUF,EAAE;AAChB;AACF,UAAMuF,IAAI8D,GAAGnJ,CAAC;AACd,IAAAW,EAAE,OAAO,KAAK;AAAA,MACZ,QAAQ0E;AAAA,MACR,MAAM;AAAA,MACN,SAASvF,EAAE;AAAA,MACX,WAAW;AAAA,MACX,OAAOE;AAAA,MACP,MAAMb;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAG+M,KAAqB,gBAAAhG,EAAE,sBAAsB,CAAC1H,GAAGW,MAAM;AACzD,MAAIC;AACJ,EAAAuM,GAAG,KAAKnN,GAAGW,CAAC,IAAIC,IAAIZ,EAAE,KAAK,KAAK,SAASY,EAAE,OAAO,CAACY,MAAM;AACvD,UAAMX,IAAIW,EAAE;AACZ,WAAO,CAAC0G,GAAGrH,CAAC,KAAKA,EAAE,WAAW;AAAA,EAChC,IAAIb,EAAE,KAAK,SAAS,KAAK,CAACwB,MAAM;AAC9B,UAAMX,IAAIW,EAAE,KAAK,IAAI,WAAW,OAAO;AACvC,IAAAb,EAAE,UAAUE,MAAMW,EAAE,KAAK,IAAI,UAAUb,EAAE;AAAA,EAC3C,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACwB,MAAM;AACxB,UAAMX,IAAIW,EAAE;AACZ,QAAIX,EAAE,UAAUF,EAAE;AAChB;AACF,UAAMuF,IAAI8D,GAAGnJ,CAAC;AACd,IAAAW,EAAE,OAAO,KAAK;AAAA,MACZ,QAAQ0E;AAAA,MACR,MAAM;AAAA,MACN,SAASvF,EAAE;AAAA,MACX,WAAW;AAAA,MACX,OAAOE;AAAA,MACP,MAAMb;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAGgN,KAAqB,gBAAAjG,EAAE,yBAAyB,CAAC1H,GAAGW,MAAM;AAC5D,MAAIC;AACJ,EAAAuM,GAAG,KAAKnN,GAAGW,CAAC,IAAIC,IAAIZ,EAAE,KAAK,KAAK,SAASY,EAAE,OAAO,CAACY,MAAM;AACvD,UAAMX,IAAIW,EAAE;AACZ,WAAO,CAAC0G,GAAGrH,CAAC,KAAKA,EAAE,WAAW;AAAA,EAChC,IAAIb,EAAE,KAAK,SAAS,KAAK,CAACwB,MAAM;AAC9B,UAAMX,IAAIW,EAAE,KAAK;AACjB,IAAAX,EAAE,UAAUF,EAAE,QAAQE,EAAE,UAAUF,EAAE,QAAQE,EAAE,SAASF,EAAE;AAAA,EAC3D,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACwB,MAAM;AACxB,UAAMX,IAAIW,EAAE,OAAOC,IAAIZ,EAAE;AACzB,QAAIY,MAAMd,EAAE;AACV;AACF,UAAM,IAAIqJ,GAAGnJ,CAAC,GAAG,IAAIY,IAAId,EAAE;AAC3B,IAAAa,EAAE,OAAO,KAAK;AAAA,MACZ,QAAQ;AAAA,MACR,GAAG,IAAI,EAAE,MAAM,WAAW,SAASb,EAAE,OAAM,IAAK,EAAE,MAAM,aAAa,SAASA,EAAE,OAAM;AAAA,MACtF,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAOa,EAAE;AAAA,MACT,MAAMxB;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAGiN,KAAqB,gBAAAlG,EAAE,yBAAyB,CAAC1H,GAAGW,MAAM;AAC5D,MAAIC,GAAGY;AACP,EAAA2L,GAAG,KAAKnN,GAAGW,CAAC,GAAGX,EAAE,KAAK,SAAS,KAAK,CAACa,MAAM;AACzC,UAAMY,IAAIZ,EAAE,KAAK;AACjB,IAAAY,EAAE,SAASd,EAAE,QAAQA,EAAE,YAAYc,EAAE,aAAaA,EAAE,WAA2B,oBAAI,IAAG,IAAKA,EAAE,SAAS,IAAId,EAAE,OAAO;AAAA,EACrH,CAAC,GAAGA,EAAE,WAAWC,IAAIZ,EAAE,MAAM,UAAUY,EAAE,QAAQ,CAACC,MAAM;AACtD,IAAAF,EAAE,QAAQ,YAAY,GAAG,CAACA,EAAE,QAAQ,KAAKE,EAAE,KAAK,KAAKA,EAAE,OAAO,KAAK;AAAA,MACjE,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQF,EAAE;AAAA,MACV,OAAOE,EAAE;AAAA,MACT,GAAGF,EAAE,UAAU,EAAE,SAASA,EAAE,QAAQ,SAAQ,EAAE,IAAK,CAAA;AAAA,MACnD,MAAMX;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH,MAAMa,IAAIxB,EAAE,MAAM,UAAUwB,EAAE,QAAQ,MAAM;AAAA,EAC5C;AACF,CAAC,GAAGqM,KAAqB,gBAAAnG,EAAE,kBAAkB,CAAC1H,GAAGW,MAAM;AACrD,EAAAiN,GAAG,KAAK5N,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,MAAM;AACnC,IAAAD,EAAE,QAAQ,YAAY,GAAG,CAACA,EAAE,QAAQ,KAAKC,EAAE,KAAK,KAAKA,EAAE,OAAO,KAAK;AAAA,MACjE,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAOA,EAAE;AAAA,MACT,SAASD,EAAE,QAAQ,SAAQ;AAAA,MAC3B,MAAMX;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAGmN,KAAqB,gBAAApG,EAAE,sBAAsB,CAAC1H,GAAGW,MAAM;AACzD,EAAAA,EAAE,YAAYA,EAAE,UAAUsM,KAAKW,GAAG,KAAK5N,GAAGW,CAAC;AAC7C,CAAC,GAAGoN,KAAqB,gBAAArG,EAAE,sBAAsB,CAAC1H,GAAGW,MAAM;AACzD,EAAAA,EAAE,YAAYA,EAAE,UAAUuM,KAAKU,GAAG,KAAK5N,GAAGW,CAAC;AAC7C,CAAC,GAAGqN,KAAqB,gBAAAtG,EAAE,qBAAqB,CAAC1H,GAAGW,MAAM;AACxD,EAAAwM,GAAG,KAAKnN,GAAGW,CAAC;AACZ,QAAMC,IAAIoI,GAAGrI,EAAE,QAAQ,GAAGa,IAAI,IAAI,OAAO,OAAOb,EAAE,YAAY,WAAW,MAAMA,EAAE,QAAQ,IAAIC,CAAC,KAAKA,CAAC;AACpG,EAAAD,EAAE,UAAUa,GAAGxB,EAAE,KAAK,SAAS,KAAK,CAACa,MAAM;AACzC,UAAMY,IAAIZ,EAAE,KAAK;AACjB,IAAAY,EAAE,aAAaA,EAAE,WAA2B,oBAAI,QAAQA,EAAE,SAAS,IAAID,CAAC;AAAA,EAC1E,CAAC,GAAGxB,EAAE,KAAK,QAAQ,CAACa,MAAM;AACxB,IAAAA,EAAE,MAAM,SAASF,EAAE,UAAUA,EAAE,QAAQ,KAAKE,EAAE,OAAO,KAAK;AAAA,MACxD,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAUF,EAAE;AAAA,MACZ,OAAOE,EAAE;AAAA,MACT,MAAMb;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAGsN,KAAqB,gBAAAvG,EAAE,uBAAuB,CAAC1H,GAAGW,MAAM;AAC1D,EAAAwM,GAAG,KAAKnN,GAAGW,CAAC;AACZ,QAAMC,IAAI,IAAI,OAAO,IAAIoI,GAAGrI,EAAE,MAAM,CAAC,IAAI;AACzC,EAAAA,EAAE,YAAYA,EAAE,UAAUC,IAAIZ,EAAE,KAAK,SAAS,KAAK,CAACwB,MAAM;AACxD,UAAMX,IAAIW,EAAE,KAAK;AACjB,IAAAX,EAAE,aAAaA,EAAE,WAA2B,oBAAI,QAAQA,EAAE,SAAS,IAAID,CAAC;AAAA,EAC1E,CAAC,GAAGZ,EAAE,KAAK,QAAQ,CAACwB,MAAM;AACxB,IAAAA,EAAE,MAAM,WAAWb,EAAE,MAAM,KAAKa,EAAE,OAAO,KAAK;AAAA,MAC5C,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQb,EAAE;AAAA,MACV,OAAOa,EAAE;AAAA,MACT,MAAMxB;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAGuN,KAAqB,gBAAAxG,EAAE,qBAAqB,CAAC1H,GAAGW,MAAM;AACxD,EAAAwM,GAAG,KAAKnN,GAAGW,CAAC;AACZ,QAAMC,IAAI,IAAI,OAAO,KAAKoI,GAAGrI,EAAE,MAAM,CAAC,GAAG;AACzC,EAAAA,EAAE,YAAYA,EAAE,UAAUC,IAAIZ,EAAE,KAAK,SAAS,KAAK,CAACwB,MAAM;AACxD,UAAMX,IAAIW,EAAE,KAAK;AACjB,IAAAX,EAAE,aAAaA,EAAE,WAA2B,oBAAI,QAAQA,EAAE,SAAS,IAAID,CAAC;AAAA,EAC1E,CAAC,GAAGZ,EAAE,KAAK,QAAQ,CAACwB,MAAM;AACxB,IAAAA,EAAE,MAAM,SAASb,EAAE,MAAM,KAAKa,EAAE,OAAO,KAAK;AAAA,MAC1C,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQb,EAAE;AAAA,MACV,OAAOa,EAAE;AAAA,MACT,MAAMxB;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAGwN,KAAqB,gBAAAzG,EAAE,sBAAsB,CAAC1H,GAAGW,MAAM;AACzD,EAAAwM,GAAG,KAAKnN,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,MAAM;AACnC,IAAAA,EAAE,QAAQD,EAAE,GAAGC,EAAE,KAAK;AAAA,EACxB;AACF,CAAC;AACD,MAAMwN,GAAG;AAAA,EACP,YAAYzN,IAAI,IAAI;AAClB,SAAK,UAAU,CAAA,GAAI,KAAK,SAAS,GAAG,SAAS,KAAK,OAAOA;AAAA,EAC3D;AAAA,EACA,SAASA,GAAG;AACV,SAAK,UAAU,GAAGA,EAAE,IAAI,GAAG,KAAK,UAAU;AAAA,EAC5C;AAAA,EACA,MAAMA,GAAG;AACP,QAAI,OAAOA,KAAK,YAAY;AAC1B,MAAAA,EAAE,MAAM,EAAE,WAAW,OAAM,CAAE,GAAGA,EAAE,MAAM,EAAE,WAAW,SAAS;AAC9D;AAAA,IACF;AACA,UAAM,IAAIA,EAAE,MAAM;AAAA,CACrB,EAAE,OAAO,CAACuF,MAAMA,CAAC,GAAGrF,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,CAACqF,MAAMA,EAAE,SAASA,EAAE,UAAS,EAAG,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAACA,MAAMA,EAAE,MAAMrF,CAAC,CAAC,EAAE,IAAI,CAACqF,MAAM,IAAI,OAAO,KAAK,SAAS,CAAC,IAAIA,CAAC;AACxJ,eAAWA,KAAK;AACd,WAAK,QAAQ,KAAKA,CAAC;AAAA,EACvB;AAAA,EACA,UAAU;AACR,UAAMvF,IAAI,UAAUC,IAAI,MAAM,MAAMC,IAAI,CAAC,IAAI,MAAM,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;AACxF,WAAO,IAAIF,EAAE,GAAGC,GAAGC,EAAE,KAAK;AAAA,CAC7B,CAAC;AAAA,EACA;AACF;AACA,MAAMwN,KAAK;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACT,GAAGC,IAAoB,gBAAA5G,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC7C,MAAIC;AACJ,EAAAZ,MAAMA,IAAI,KAAKA,EAAE,KAAK,MAAMW,GAAGX,EAAE,KAAK,MAAMA,EAAE,KAAK,OAAO,CAAA,GAAIA,EAAE,KAAK,UAAUqO;AAC/E,QAAM7M,IAAI,CAAC,GAAGxB,EAAE,KAAK,IAAI,UAAU,EAAE;AACrC,EAAAA,EAAE,KAAK,OAAO,IAAI,WAAW,KAAKwB,EAAE,QAAQxB,CAAC;AAC7C,aAAWa,KAAKW;AACd,eAAWC,KAAKZ,EAAE,KAAK;AACrB,MAAAY,EAAEzB,CAAC;AACP,MAAIwB,EAAE,WAAW;AACf,KAACZ,IAAIZ,EAAE,MAAM,aAAaY,EAAE,WAAW,CAAA,IAAKZ,EAAE,KAAK,UAAU,KAAK,MAAM;AACtE,MAAAA,EAAE,KAAK,MAAMA,EAAE,KAAK;AAAA,IACtB,CAAC;AAAA,OACE;AACH,UAAMa,IAAI,CAAC,GAAG,GAAG,MAAM;AACrB,UAAI,IAAI+I,GAAG,CAAC,GAAGhH;AACf,iBAAWC,KAAK,GAAG;AACjB,YAAIA,EAAE,KAAK,IAAI;AACb,cAAI,CAACA,EAAE,KAAK,IAAI,KAAK,CAAC;AACpB;AAAA,mBACO;AACT;AACF,cAAMC,IAAI,EAAE,OAAO,QAAQC,IAAIF,EAAE,KAAK,MAAM,CAAC;AAC7C,YAAIE,aAAa,WAAW,GAAG,UAAU;AACvC,gBAAM,IAAI4E,GAAE;AACd,YAAI/E,KAAKG,aAAa;AACpB,UAAAH,KAAKA,KAAK,QAAQ,QAAO,GAAI,KAAK,YAAY;AAC5C,kBAAMG,GAAG,EAAE,OAAO,WAAWD,MAAM,MAAM,IAAI8G,GAAG,GAAG9G,CAAC;AAAA,UACtD,CAAC;AAAA,aACE;AACH,cAAI,EAAE,OAAO,WAAWA;AACtB;AACF,gBAAM,IAAI8G,GAAG,GAAG9G,CAAC;AAAA,QACnB;AAAA,MACF;AACA,aAAOF,IAAIA,EAAE,KAAK,MAAM,CAAC,IAAI;AAAA,IAC/B,GAAGnB,IAAI,CAAC,GAAG,GAAG,MAAM;AAClB,UAAImI,GAAG,CAAC;AACN,eAAO,EAAE,UAAU,IAAI;AACzB,YAAM,IAAI/I,EAAE,GAAGW,GAAG,CAAC;AACnB,UAAI,aAAa,SAAS;AACxB,YAAI,EAAE,UAAU;AACd,gBAAM,IAAImG,GAAE;AACd,eAAO,EAAE,KAAK,CAAC/E,MAAM5C,EAAE,KAAK,MAAM4C,GAAG,CAAC,CAAC;AAAA,MACzC;AACA,aAAO5C,EAAE,KAAK,MAAM,GAAG,CAAC;AAAA,IAC1B;AACA,IAAAA,EAAE,KAAK,MAAM,CAAC,GAAG,MAAM;AACrB,UAAI,EAAE;AACJ,eAAOA,EAAE,KAAK,MAAM,GAAG,CAAC;AAC1B,UAAI,EAAE,cAAc,YAAY;AAC9B,cAAM,IAAIA,EAAE,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,QAAQ,CAAA,EAAE,GAAI,EAAE,GAAG,GAAG,YAAY,IAAI;AAC/E,eAAO,aAAa,UAAU,EAAE,KAAK,CAAC4C,MAAMnB,EAAEmB,GAAG,GAAG,CAAC,CAAC,IAAInB,EAAE,GAAG,GAAG,CAAC;AAAA,MACrE;AACA,YAAM,IAAIzB,EAAE,KAAK,MAAM,GAAG,CAAC;AAC3B,UAAI,aAAa,SAAS;AACxB,YAAI,EAAE,UAAU;AACd,gBAAM,IAAI2H,GAAE;AACd,eAAO,EAAE,KAAK,CAAC,MAAM9G,EAAE,GAAGW,GAAG,CAAC,CAAC;AAAA,MACjC;AACA,aAAOX,EAAE,GAAGW,GAAG,CAAC;AAAA,IAClB;AAAA,EACF;AACA,IAAExB,GAAG,aAAa,OAAO;AAAA,IACvB,UAAU,CAACa,MAAM;AACf,UAAI;AACF,cAAMY,IAAIiJ,GAAG1K,GAAGa,CAAC;AACjB,eAAOY,EAAE,UAAU,EAAE,OAAOA,EAAE,KAAI,IAAK,EAAE,QAAQA,EAAE,OAAO,OAAM;AAAA,MAClE,QAAQ;AACN,eAAOmJ,GAAG5K,GAAGa,CAAC,EAAE,KAAK,CAACqF,MAAMA,EAAE,UAAU,EAAE,OAAOA,EAAE,SAAS,EAAE,QAAQA,EAAE,OAAO,QAAQ;AAAA,MACzF;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,IACR,SAAS;AAAA,EACb,EAAI;AACJ,CAAC,GAAGqI,KAAqB,gBAAA7G,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACjD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,UAAU,CAAC,GAAGA,GAAG,KAAK,KAAK,YAAY,EAAE,EAAE,IAAG,KAAM6M,GAAG7M,EAAE,KAAK,GAAG,GAAGA,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AAChH,QAAIb,EAAE;AACJ,UAAI;AACF,QAAAC,EAAE,QAAQ,OAAOA,EAAE,KAAK;AAAA,MAC1B,QAAQ;AAAA,MACR;AACF,WAAO,OAAOA,EAAE,SAAS,YAAYA,EAAE,OAAO,KAAK;AAAA,MACjD,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAOA,EAAE;AAAA,MACT,MAAMZ;AAAA,IACZ,CAAK,GAAGY;AAAA,EACN;AACF,CAAC,GAAG4N,IAAoB,gBAAA9G,EAAE,oBAAoB,CAAC1H,GAAGW,MAAM;AACtD,EAAAiN,GAAG,KAAK5N,GAAGW,CAAC,GAAG4N,GAAG,KAAKvO,GAAGW,CAAC;AAC7B,CAAC,GAAG8N,KAAqB,gBAAA/G,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAA,EAAE,YAAYA,EAAE,UAAUiL,KAAK4C,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAG+N,KAAqB,gBAAAhH,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,MAAIA,EAAE,SAAS;AACb,UAAM,IAAI;AAAA,MACR,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACV,EAAMA,EAAE,OAAO;AACX,QAAI,MAAM;AACR,YAAM,IAAI,MAAM,0BAA0BA,EAAE,OAAO,GAAG;AACxD,IAAAA,EAAE,YAAYA,EAAE,UAAUkL,GAAG,CAAC;AAAA,EAChC;AACE,IAAAlL,EAAE,YAAYA,EAAE,UAAUkL,GAAE;AAC9B,EAAA2C,EAAE,KAAKxO,GAAGW,CAAC;AACb,CAAC,GAAGgO,KAAqB,gBAAAjH,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAAA,EAAE,YAAYA,EAAE,UAAUmL,KAAK0C,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAGiO,KAAqB,gBAAAlH,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAC9C,EAAA6N,EAAE,KAAKxO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,MAAM;AAClC,QAAI;AACF,YAAMY,IAAIZ,EAAE,MAAM,KAAI,GAAIC,IAAI,IAAI,IAAIW,CAAC;AACvC,MAAAb,EAAE,aAAaA,EAAE,SAAS,YAAY,GAAGA,EAAE,SAAS,KAAKE,EAAE,QAAQ,KAAKD,EAAE,OAAO,KAAK;AAAA,QACpF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAASD,EAAE,SAAS;AAAA,QACpB,OAAOC,EAAE;AAAA,QACT,MAAMZ;AAAA,QACN,UAAU,CAACW,EAAE;AAAA,MACrB,CAAO,IAAIA,EAAE,aAAaA,EAAE,SAAS,YAAY,GAAGA,EAAE,SAAS,KAAKE,EAAE,SAAS,SAAS,GAAG,IAAIA,EAAE,SAAS,MAAM,GAAG,EAAE,IAAIA,EAAE,QAAQ,KAAKD,EAAE,OAAO,KAAK;AAAA,QAC9I,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAASD,EAAE,SAAS;AAAA,QACpB,OAAOC,EAAE;AAAA,QACT,MAAMZ;AAAA,QACN,UAAU,CAACW,EAAE;AAAA,MACrB,CAAO,IAAIA,EAAE,YAAYC,EAAE,QAAQC,EAAE,OAAOD,EAAE,QAAQY;AAChD;AAAA,IACF,QAAQ;AACN,MAAAZ,EAAE,OAAO,KAAK;AAAA,QACZ,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,OAAOA,EAAE;AAAA,QACT,MAAMZ;AAAA,QACN,UAAU,CAACW,EAAE;AAAA,MACrB,CAAO;AAAA,IACH;AAAA,EACF;AACF,CAAC,GAAGkO,KAAqB,gBAAAnH,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAAA,EAAE,YAAYA,EAAE,UAAUqL,OAAOwC,EAAE,KAAKxO,GAAGW,CAAC;AAC9C,CAAC,GAAGmO,KAAqB,gBAAApH,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACjD,EAAAA,EAAE,YAAYA,EAAE,UAAU+K,KAAK8C,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAGoO,KAAqB,gBAAArH,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAA,EAAE,YAAYA,EAAE,UAAU0K,KAAKmD,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAGqO,KAAqB,gBAAAtH,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAAA,EAAE,YAAYA,EAAE,UAAU2K,KAAKkD,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAGsO,KAAqB,gBAAAvH,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAA,EAAE,YAAYA,EAAE,UAAU4K,KAAKiD,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAGuO,KAAqB,gBAAAxH,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAC9C,EAAAA,EAAE,YAAYA,EAAE,UAAU6K,KAAKgD,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAGwO,KAAqB,gBAAAzH,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAAA,EAAE,YAAYA,EAAE,UAAU8K,KAAK+C,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAGyO,KAAqB,gBAAA1H,EAAE,mBAAmB,CAAC1H,GAAGW,MAAM;AACtD,EAAAA,EAAE,YAAYA,EAAE,UAAUiM,GAAGjM,CAAC,IAAI6N,EAAE,KAAKxO,GAAGW,CAAC;AAC/C,CAAC,GAAG0O,KAAqB,gBAAA3H,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AAClD,EAAAA,EAAE,YAAYA,EAAE,UAAU8L,KAAK+B,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAG2O,KAAqB,gBAAA5H,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AAClD,EAAAA,EAAE,YAAYA,EAAE,UAAUgM,GAAGhM,CAAC,IAAI6N,EAAE,KAAKxO,GAAGW,CAAC;AAC/C,CAAC,GAAG4O,KAAqB,gBAAA7H,EAAE,mBAAmB,CAAC1H,GAAGW,MAAM;AACtD,EAAAA,EAAE,YAAYA,EAAE,UAAUgL,KAAK6C,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAG6O,KAAqB,gBAAA9H,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAA,EAAE,YAAYA,EAAE,UAAUsL,KAAKuC,EAAE,KAAKxO,GAAGW,CAAC,GAAGX,EAAE,KAAK,IAAI,SAAS;AACnE,CAAC,GAAGyP,KAAqB,gBAAA/H,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAA,EAAE,YAAYA,EAAE,UAAUuL,KAAKsC,EAAE,KAAKxO,GAAGW,CAAC,GAAGX,EAAE,KAAK,IAAI,SAAS,QAAQA,EAAE,KAAK,QAAQ,CAACY,MAAM;AAC7F,QAAI;AACF,UAAI,IAAI,WAAWA,EAAE,KAAK,GAAG;AAAA,IAC/B,QAAQ;AACN,MAAAA,EAAE,OAAO,KAAK;AAAA,QACZ,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,OAAOA,EAAE;AAAA,QACT,MAAMZ;AAAA,QACN,UAAU,CAACW,EAAE;AAAA,MACrB,CAAO;AAAA,IACH;AAAA,EACF;AACF,CAAC,GAAG+O,KAAqB,gBAAAhI,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACjD,EAAAA,EAAE,YAAYA,EAAE,UAAUwL,KAAKqC,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC,GAAGgP,KAAqB,gBAAAjI,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACjD,EAAAA,EAAE,YAAYA,EAAE,UAAUyL,KAAKoC,EAAE,KAAKxO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,MAAM;AACjE,UAAMY,IAAIZ,EAAE,MAAM,MAAM,GAAG;AAC3B,QAAI;AACF,UAAIY,EAAE,WAAW;AACf,cAAM,IAAI,MAAK;AACjB,YAAM,CAACX,GAAGY,CAAC,IAAID;AACf,UAAI,CAACC;AACH,cAAM,IAAI,MAAK;AACjB,YAAM,IAAI,OAAOA,CAAC;AAClB,UAAI,GAAG,CAAC,OAAOA;AACb,cAAM,IAAI,MAAK;AACjB,UAAI,IAAI,KAAK,IAAI;AACf,cAAM,IAAI,MAAK;AACjB,UAAI,IAAI,WAAWZ,CAAC,GAAG;AAAA,IACzB,QAAQ;AACN,MAAAD,EAAE,OAAO,KAAK;AAAA,QACZ,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,OAAOA,EAAE;AAAA,QACT,MAAMZ;AAAA,QACN,UAAU,CAACW,EAAE;AAAA,MACrB,CAAO;AAAA,IACH;AAAA,EACF;AACF,CAAC;AACD,SAASiP,GAAG5P,GAAG;AACb,MAAIA,MAAM;AACR,WAAO;AACT,MAAIA,EAAE,SAAS,MAAM;AACnB,WAAO;AACT,MAAI;AACF,WAAO,KAAKA,CAAC,GAAG;AAAA,EAClB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AACA,MAAM6P,KAAqB,gBAAAnI,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACnD,EAAAA,EAAE,YAAYA,EAAE,UAAU0L,KAAKmC,EAAE,KAAKxO,GAAGW,CAAC,GAAGX,EAAE,KAAK,IAAI,kBAAkB,UAAUA,EAAE,KAAK,QAAQ,CAACY,MAAM;AACxG,IAAAgP,GAAGhP,EAAE,KAAK,KAAKA,EAAE,OAAO,KAAK;AAAA,MAC3B,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAOA,EAAE;AAAA,MACT,MAAMZ;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC;AACD,SAASmP,GAAG9P,GAAG;AACb,MAAI,CAACsM,GAAG,KAAKtM,CAAC;AACZ,WAAO;AACT,QAAMW,IAAIX,EAAE,QAAQ,SAAS,CAACwB,MAAMA,MAAM,MAAM,MAAM,GAAG,GAAGZ,IAAID,EAAE,OAAO,KAAK,KAAKA,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG;AACzG,SAAOiP,GAAGhP,CAAC;AACb;AACA,MAAMmP,KAAqB,gBAAArI,EAAE,iBAAiB,CAAC1H,GAAGW,MAAM;AACtD,EAAAA,EAAE,YAAYA,EAAE,UAAU2L,KAAKkC,EAAE,KAAKxO,GAAGW,CAAC,GAAGX,EAAE,KAAK,IAAI,kBAAkB,aAAaA,EAAE,KAAK,QAAQ,CAACY,MAAM;AAC3G,IAAAkP,GAAGlP,EAAE,KAAK,KAAKA,EAAE,OAAO,KAAK;AAAA,MAC3B,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAOA,EAAE;AAAA,MACT,MAAMZ;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAGqP,KAAqB,gBAAAtI,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAA,EAAE,YAAYA,EAAE,UAAU4L,KAAKiC,EAAE,KAAKxO,GAAGW,CAAC;AAC5C,CAAC;AACD,SAASsP,GAAGjQ,GAAGW,IAAI,MAAM;AACvB,MAAI;AACF,UAAMC,IAAIZ,EAAE,MAAM,GAAG;AACrB,QAAIY,EAAE,WAAW;AACf,aAAO;AACT,UAAM,CAACY,CAAC,IAAIZ;AACZ,QAAI,CAACY;AACH,aAAO;AACT,UAAMX,IAAI,KAAK,MAAM,KAAKW,CAAC,CAAC;AAC5B,WAAO,EAAE,SAASX,KAAKA,GAAG,QAAQ,SAAS,CAACA,EAAE,OAAOF,MAAM,EAAE,SAASE,MAAMA,EAAE,QAAQF;AAAA,EACxF,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AACA,MAAMuP,KAAqB,gBAAAxI,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAChD,EAAA6N,EAAE,KAAKxO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,MAAM;AAClC,IAAAqP,GAAGrP,EAAE,OAAOD,EAAE,GAAG,KAAKC,EAAE,OAAO,KAAK;AAAA,MAClC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAOA,EAAE;AAAA,MACT,MAAMZ;AAAA,MACN,UAAU,CAACW,EAAE;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAGwP,KAAqB,gBAAAzI,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACjD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,UAAUA,EAAE,KAAK,IAAI,WAAW+M,IAAI/M,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AAChF,QAAIb,EAAE;AACJ,UAAI;AACF,QAAAC,EAAE,QAAQ,OAAOA,EAAE,KAAK;AAAA,MAC1B,QAAQ;AAAA,MACR;AACF,UAAMC,IAAID,EAAE;AACZ,QAAI,OAAOC,KAAK,YAAY,CAAC,OAAO,MAAMA,CAAC,KAAK,OAAO,SAASA,CAAC;AAC/D,aAAOD;AACT,UAAMa,IAAI,OAAOZ,KAAK,WAAW,OAAO,MAAMA,CAAC,IAAI,QAAQ,OAAO,SAASA,CAAC,IAAI,SAAS,aAAa;AACtG,WAAOD,EAAE,OAAO,KAAK;AAAA,MACnB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAOC;AAAA,MACP,MAAMb;AAAA,MACN,GAAGyB,IAAI,EAAE,UAAUA,MAAM,CAAA;AAAA,IAC/B,CAAK,GAAGb;AAAA,EACN;AACF,CAAC,GAAGwP,KAAqB,gBAAA1I,EAAE,oBAAoB,CAAC1H,GAAGW,MAAM;AACvD,EAAA6M,GAAG,KAAKxN,GAAGW,CAAC,GAAGwP,GAAG,KAAKnQ,GAAGW,CAAC;AAC7B,CAAC,GAAG0P,KAAqB,gBAAA3I,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AAClD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,UAAUgN,IAAIhN,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AAC1D,QAAIb,EAAE;AACJ,UAAI;AACF,QAAAC,EAAE,QAAQ,CAAC,CAACA,EAAE;AAAA,MAChB,QAAQ;AAAA,MACR;AACF,UAAMC,IAAID,EAAE;AACZ,WAAO,OAAOC,KAAK,aAAaD,EAAE,OAAO,KAAK;AAAA,MAC5C,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAOC;AAAA,MACP,MAAMb;AAAA,IACZ,CAAK,GAAGY;AAAA,EACN;AACF,CAAC,GAAG0P,KAAqB,gBAAA5I,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AAClD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,MAAMA;AACtC,CAAC,GAAG2P,KAAqB,gBAAA7I,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,OAAOZ,EAAE,OAAO,KAAK;AAAA,IACpD,UAAU;AAAA,IACV,MAAM;AAAA,IACN,OAAOA,EAAE;AAAA,IACT,MAAMZ;AAAA,EACV,CAAG,GAAGY;AACN,CAAC;AACD,SAAS4P,GAAGxQ,GAAGW,GAAGC,GAAG;AACnB,EAAAZ,EAAE,OAAO,UAAUW,EAAE,OAAO,KAAK,GAAGkJ,GAAGjJ,GAAGZ,EAAE,MAAM,CAAC,GAAGW,EAAE,MAAMC,CAAC,IAAIZ,EAAE;AACvE;AACA,MAAMyQ,KAAqB,gBAAA/I,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAClD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AACrC,UAAMX,IAAID,EAAE;AACZ,QAAI,CAAC,MAAM,QAAQC,CAAC;AAClB,aAAOD,EAAE,OAAO,KAAK;AAAA,QACnB,UAAU;AAAA,QACV,MAAM;AAAA,QACN,OAAOC;AAAA,QACP,MAAMb;AAAA,MACd,CAAO,GAAGY;AACN,IAAAA,EAAE,QAAQ,MAAMC,EAAE,MAAM;AACxB,UAAMY,IAAI,CAAA;AACV,aAAS,IAAI,GAAG,IAAIZ,EAAE,QAAQ,KAAK;AACjC,YAAM,IAAIA,EAAE,CAAC,GAAG,IAAIF,EAAE,QAAQ,KAAK,IAAI;AAAA,QACrC,OAAO;AAAA,QACP,QAAQ,CAAA;AAAA,MAChB,GAASa,CAAC;AACJ,mBAAa,UAAUC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM+O,GAAG,GAAG5P,GAAG,CAAC,CAAC,CAAC,IAAI4P,GAAG,GAAG5P,GAAG,CAAC;AAAA,IACxE;AACA,WAAOa,EAAE,SAAS,QAAQ,IAAIA,CAAC,EAAE,KAAK,MAAMb,CAAC,IAAIA;AAAA,EACnD;AACF,CAAC;AACD,SAAS8P,GAAG1Q,GAAGW,GAAGC,GAAGY,GAAGX,GAAG;AACzB,MAAIb,EAAE,OAAO,QAAQ;AACnB,QAAIa,KAAK,EAAED,KAAKY;AACd;AACF,IAAAb,EAAE,OAAO,KAAK,GAAGkJ,GAAGjJ,GAAGZ,EAAE,MAAM,CAAC;AAAA,EAClC;AACA,EAAAA,EAAE,UAAU,SAASY,KAAKY,MAAMb,EAAE,MAAMC,CAAC,IAAI,UAAUD,EAAE,MAAMC,CAAC,IAAIZ,EAAE;AACxE;AACA,SAAS2Q,GAAG3Q,GAAG;AACb,QAAMW,IAAI,OAAO,KAAKX,EAAE,KAAK;AAC7B,aAAWwB,KAAKb;AACd,QAAI,CAACX,EAAE,QAAQwB,CAAC,GAAG,MAAM,QAAQ,IAAI,UAAU;AAC7C,YAAM,IAAI,MAAM,2BAA2BA,CAAC,0BAA0B;AAC1E,QAAMZ,IAAIuI,GAAGnJ,EAAE,KAAK;AACpB,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,MAAMW;AAAA,IACN,QAAQ,IAAI,IAAIA,CAAC;AAAA,IACjB,SAASA,EAAE;AAAA,IACX,cAAc,IAAI,IAAIC,CAAC;AAAA,EAC3B;AACA;AACA,SAASgQ,GAAG5Q,GAAGW,GAAGC,GAAGY,GAAGX,GAAGY,GAAG;AAC5B,QAAM,IAAI,CAAA,GAAI,IAAIZ,EAAE,QAAQ,IAAIA,EAAE,SAAS,MAAM,IAAI,EAAE,IAAI,MAAM+B,IAAI,EAAE,WAAW;AAClF,aAAWC,KAAKlC,GAAG;AACjB,QAAI,EAAE,IAAIkC,CAAC;AACT;AACF,QAAI,MAAM,SAAS;AACjB,QAAE,KAAKA,CAAC;AACR;AAAA,IACF;AACA,UAAMC,IAAI,EAAE,IAAI,EAAE,OAAOnC,EAAEkC,CAAC,GAAG,QAAQ,CAAA,EAAE,GAAIrB,CAAC;AAC9C,IAAAsB,aAAa,UAAU9C,EAAE,KAAK8C,EAAE,KAAK,CAACC,MAAM2N,GAAG3N,GAAGnC,GAAGiC,GAAGlC,GAAGiC,CAAC,CAAC,CAAC,IAAI8N,GAAG5N,GAAGlC,GAAGiC,GAAGlC,GAAGiC,CAAC;AAAA,EACpF;AACA,SAAO,EAAE,UAAUhC,EAAE,OAAO,KAAK;AAAA,IAC/B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAOD;AAAA,IACP,MAAMc;AAAA,EACV,CAAG,GAAGzB,EAAE,SAAS,QAAQ,IAAIA,CAAC,EAAE,KAAK,MAAMY,CAAC,IAAIA;AAChD;AACA,MAAMiQ,KAAqB,gBAAAnJ,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACnD,MAAI2N,EAAE,KAAKtO,GAAGW,CAAC,GAAG,CAAC,OAAO,yBAAyBA,GAAG,OAAO,GAAG,KAAK;AACnE,UAAMwF,IAAIxF,EAAE;AACZ,WAAO,eAAeA,GAAG,SAAS;AAAA,MAChC,KAAK,MAAM;AACT,cAAM+E,IAAI,EAAE,GAAGS,EAAC;AAChB,eAAO,OAAO,eAAexF,GAAG,SAAS;AAAA,UACvC,OAAO+E;AAAA,QACjB,CAAS,GAAGA;AAAA,MACN;AAAA,IACN,CAAK;AAAA,EACH;AACA,QAAM,IAAIuC,GAAG,MAAM0I,GAAGhQ,CAAC,CAAC;AACxB,IAAEX,EAAE,MAAM,cAAc,MAAM;AAC5B,UAAMmG,IAAIxF,EAAE,OAAO+E,IAAI,CAAA;AACvB,eAAWU,KAAKD,GAAG;AACjB,YAAMvD,IAAIuD,EAAEC,CAAC,EAAE;AACf,UAAIxD,EAAE,QAAQ;AACZ,QAAA8C,EAAEU,CAAC,MAAMV,EAAEU,CAAC,IAAoB,oBAAI;AACpC,mBAAW,KAAKxD,EAAE;AAChB,UAAA8C,EAAEU,CAAC,EAAE,IAAI,CAAC;AAAA,MACd;AAAA,IACF;AACA,WAAOV;AAAA,EACT,CAAC;AACD,QAAM7E,IAAI8H,IAAI,IAAIhI,EAAE;AACpB,MAAIuF;AACJ,EAAAlG,EAAE,KAAK,QAAQ,CAACmG,GAAGT,MAAM;AACvB,IAAAQ,MAAMA,IAAI,EAAE;AACZ,UAAME,IAAID,EAAE;AACZ,QAAI,CAACtF,EAAEuF,CAAC;AACN,aAAOD,EAAE,OAAO,KAAK;AAAA,QACnB,UAAU;AAAA,QACV,MAAM;AAAA,QACN,OAAOC;AAAA,QACP,MAAMpG;AAAA,MACd,CAAO,GAAGmG;AACN,IAAAA,EAAE,QAAQ,CAAA;AACV,UAAMvD,IAAI,CAAA,GAAI,IAAIsD,EAAE;AACpB,eAAWpD,KAAKoD,EAAE,MAAM;AACtB,YAAM,IAAI,EAAEpD,CAAC,GAAGW,IAAI,EAAE,KAAK,WAAW,YAAY4C,IAAI,EAAE,KAAK,IAAI,EAAE,OAAOD,EAAEtD,CAAC,GAAG,QAAQ,GAAE,GAAI4C,CAAC;AAC/F,MAAAW,aAAa,UAAUzD,EAAE,KAAKyD,EAAE,KAAK,CAAC1C,MAAM+M,GAAG/M,GAAGwC,GAAGrD,GAAGsD,GAAG3C,CAAC,CAAC,CAAC,IAAIiN,GAAGrK,GAAGF,GAAGrD,GAAGsD,GAAG3C,CAAC;AAAA,IACpF;AACA,WAAO,IAAImN,GAAGhO,GAAGwD,GAAGD,GAAGT,GAAG,EAAE,OAAO1F,CAAC,IAAI4C,EAAE,SAAS,QAAQ,IAAIA,CAAC,EAAE,KAAK,MAAMuD,CAAC,IAAIA;AAAA,EACpF;AACF,CAAC,GAAG2K,KAAqB,gBAAApJ,EAAE,iBAAiB,CAAC1H,GAAGW,MAAM;AACpD,EAAAkQ,GAAG,KAAK7Q,GAAGW,CAAC;AACZ,QAAMC,IAAIZ,EAAE,KAAK,OAAOwB,IAAIyG,GAAG,MAAM0I,GAAGhQ,CAAC,CAAC,GAAGE,IAAI,CAACiC,MAAM;AACtD,UAAM,IAAI,IAAIsL,GAAG,CAAC,SAAS,WAAW,KAAK,CAAC,GAAG3K,IAAIjC,EAAE,OAAO6E,IAAI,CAACvC,MAAM;AACrE,YAAMC,IAAIyE,GAAG1E,CAAC;AACd,aAAO,SAASC,CAAC,6BAA6BA,CAAC;AAAA,IACjD;AACA,MAAE,MAAM,8BAA8B;AACtC,UAAMJ,IAAoB,uBAAO,OAAO,IAAI;AAC5C,QAAIC,IAAI;AACR,eAAWE,KAAKL,EAAE;AAChB,MAAAE,EAAEG,CAAC,IAAI,OAAOF,GAAG;AACnB,MAAE,MAAM,uBAAuB;AAC/B,eAAWE,KAAKL,EAAE,MAAM;AACtB,YAAMM,IAAIJ,EAAEG,CAAC,GAAGE,KAAIwE,GAAG1E,CAAC,GAAGM,KAAItB,EAAEgB,CAAC,GAAG,MAAM,WAAW;AACtD,QAAE,MAAM,SAASC,CAAC,MAAMsC,EAAEvC,CAAC,CAAC,GAAG,GAAGM,KAAI,EAAE,MAAM;AAAA,cACtCL,CAAC;AAAA,gBACCC,EAAC;AAAA,qDACoCD,CAAC;AAAA;AAAA,kCAEpBC,EAAC,qBAAqBA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA,cAK3CD,CAAC;AAAA,gBACCC,EAAC;AAAA,wBACOA,EAAC;AAAA;AAAA;AAAA,sBAGHA,EAAC,OAAOD,CAAC;AAAA;AAAA;AAAA,OAGxB,IAAI,EAAE,MAAM;AAAA,cACLA,CAAC;AAAA,mDACoCA,CAAC;AAAA;AAAA,gCAEpBC,EAAC,qBAAqBA,EAAC;AAAA;AAAA;AAAA;AAAA,cAIzCD,CAAC;AAAA,gBACCC,EAAC;AAAA,wBACOA,EAAC;AAAA;AAAA;AAAA,sBAGHA,EAAC,OAAOD,CAAC;AAAA;AAAA;AAAA,OAGxB;AAAA,IACH;AACA,MAAE,MAAM,4BAA4B,GAAG,EAAE,MAAM,iBAAiB;AAChE,UAAMF,IAAI,EAAE,QAAO;AACnB,WAAO,CAACC,GAAGC,MAAMF,EAAEf,GAAGgB,GAAGC,CAAC;AAAA,EAC5B;AACA,MAAItC;AACJ,QAAM,IAAIkH,IAAI,IAAI,CAACd,GAAG,SAASzB,IAAI,KAAKwC,GAAG,OAAOhG,IAAIjC,EAAE;AACxD,MAAI;AACJ,EAAAX,EAAE,KAAK,QAAQ,CAAC8C,GAAG,MAAM;AACvB,UAAM,IAAItB,EAAE;AACZ,UAAMiC,IAAIX,EAAE;AACZ,WAAO,EAAEW,CAAC,IAAI,KAAK2C,KAAK,GAAG,UAAU,MAAM,EAAE,YAAY,MAAM3E,MAAMA,IAAIZ,EAAEF,EAAE,KAAK,IAAImC,IAAIrB,EAAEqB,GAAG,CAAC,GAAGF,IAAIgO,GAAG,CAAA,GAAInN,GAAGX,GAAG,GAAG,GAAG9C,CAAC,IAAI8C,KAAKlC,EAAEkC,GAAG,CAAC,KAAKA,EAAE,OAAO,KAAK;AAAA,MAC3J,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAOW;AAAA,MACP,MAAMzD;AAAA,IACZ,CAAK,GAAG8C;AAAA,EACN;AACF,CAAC;AACD,SAASiO,GAAG/Q,GAAGW,GAAGC,GAAGY,GAAG;AACtB,aAAWC,KAAKzB;AACd,QAAIyB,EAAE,OAAO,WAAW;AACtB,aAAOd,EAAE,QAAQc,EAAE,OAAOd;AAC9B,QAAME,IAAIb,EAAE,OAAO,CAACyB,MAAM,CAACmI,GAAGnI,CAAC,CAAC;AAChC,SAAOZ,EAAE,WAAW,KAAKF,EAAE,QAAQE,EAAE,CAAC,EAAE,OAAOA,EAAE,CAAC,MAAMF,EAAE,OAAO,KAAK;AAAA,IACpE,MAAM;AAAA,IACN,OAAOA,EAAE;AAAA,IACT,MAAMC;AAAA,IACN,QAAQZ,EAAE,IAAI,CAACyB,MAAMA,EAAE,OAAO,IAAI,CAAC,MAAMsI,GAAG,GAAGvI,GAAGsG,GAAE,CAAE,CAAC,CAAC;AAAA,EAC5D,CAAG,GAAGnH;AACN;AACA,MAAMqQ,KAAqB,gBAAAtJ,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAClD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAG,EAAEX,EAAE,MAAM,SAAS,MAAMW,EAAE,QAAQ,KAAK,CAACE,MAAMA,EAAE,KAAK,UAAU,UAAU,IAAI,aAAa,MAAM,GAAG,EAAEb,EAAE,MAAM,UAAU,MAAMW,EAAE,QAAQ,KAAK,CAACE,MAAMA,EAAE,KAAK,WAAW,UAAU,IAAI,aAAa,MAAM,GAAG,EAAEb,EAAE,MAAM,UAAU,MAAM;AAChP,QAAIW,EAAE,QAAQ,MAAM,CAACE,MAAMA,EAAE,KAAK,MAAM;AACtC,aAAO,IAAI,IAAIF,EAAE,QAAQ,QAAQ,CAACE,MAAM,MAAM,KAAKA,EAAE,KAAK,MAAM,CAAC,CAAC;AAAA,EACtE,CAAC,GAAG,EAAEb,EAAE,MAAM,WAAW,MAAM;AAC7B,QAAIW,EAAE,QAAQ,MAAM,CAACE,MAAMA,EAAE,KAAK,OAAO,GAAG;AAC1C,YAAMA,IAAIF,EAAE,QAAQ,IAAI,CAACc,MAAMA,EAAE,KAAK,OAAO;AAC7C,aAAO,IAAI,OAAO,KAAKZ,EAAE,IAAI,CAACY,MAAM0G,GAAG1G,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI;AAAA,IACjE;AAAA,EACF,CAAC;AACD,QAAMb,IAAID,EAAE,QAAQ,WAAW,GAAGa,IAAIb,EAAE,QAAQ,CAAC,EAAE,KAAK;AACxD,EAAAX,EAAE,KAAK,QAAQ,CAACa,GAAGY,MAAM;AACvB,QAAIb;AACF,aAAOY,EAAEX,GAAGY,CAAC;AACf,QAAI,IAAI;AACR,UAAM,IAAI,CAAA;AACV,eAAW,KAAKd,EAAE,SAAS;AACzB,YAAM,IAAI,EAAE,KAAK,IAAI;AAAA,QACnB,OAAOE,EAAE;AAAA,QACT,QAAQ,CAAA;AAAA,MAChB,GAASY,CAAC;AACJ,UAAI,aAAa;AACf,UAAE,KAAK,CAAC,GAAG,IAAI;AAAA,WACZ;AACH,YAAI,EAAE,OAAO,WAAW;AACtB,iBAAO;AACT,UAAE,KAAK,CAAC;AAAA,MACV;AAAA,IACF;AACA,WAAO,IAAI,QAAQ,IAAI,CAAC,EAAE,KAAK,CAAC,MAAMsP,GAAG,GAAGlQ,GAAGb,GAAGyB,CAAC,CAAC,IAAIsP,GAAG,GAAGlQ,GAAGb,GAAGyB,CAAC;AAAA,EACvE;AACF,CAAC,GAAGwP,KAAqB,gBAAAvJ,EAAE,0BAA0B,CAAC1H,GAAGW,MAAM;AAC7D,EAAAA,EAAE,YAAY,IAAIqQ,GAAG,KAAKhR,GAAGW,CAAC;AAC9B,QAAMC,IAAIZ,EAAE,KAAK;AACjB,IAAEA,EAAE,MAAM,cAAc,MAAM;AAC5B,UAAMa,IAAI,CAAA;AACV,eAAWY,KAAKd,EAAE,SAAS;AACzB,YAAM,IAAIc,EAAE,KAAK;AACjB,UAAI,CAAC,KAAK,OAAO,KAAK,CAAC,EAAE,WAAW;AAClC,cAAM,IAAI,MAAM,gDAAgDd,EAAE,QAAQ,QAAQc,CAAC,CAAC,GAAG;AACzF,iBAAW,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,CAAC,GAAG;AACtC,QAAAZ,EAAE,CAAC,MAAMA,EAAE,CAAC,IAAoB,oBAAI;AACpC,mBAAW,KAAK;AACd,UAAAA,EAAE,CAAC,EAAE,IAAI,CAAC;AAAA,MACd;AAAA,IACF;AACA,WAAOA;AAAA,EACT,CAAC;AACD,QAAMW,IAAIyG,GAAG,MAAM;AACjB,UAAMpH,IAAIF,EAAE,SAASc,IAAoB,oBAAI,IAAG;AAChD,eAAW,KAAKZ,GAAG;AACjB,YAAM,IAAI,EAAE,KAAK,aAAaF,EAAE,aAAa;AAC7C,UAAI,CAAC,KAAK,EAAE,SAAS;AACnB,cAAM,IAAI,MAAM,gDAAgDA,EAAE,QAAQ,QAAQ,CAAC,CAAC,GAAG;AACzF,iBAAW,KAAK,GAAG;AACjB,YAAIc,EAAE,IAAI,CAAC;AACT,gBAAM,IAAI,MAAM,kCAAkC,OAAO,CAAC,CAAC,GAAG;AAChE,QAAAA,EAAE,IAAI,GAAG,CAAC;AAAA,MACZ;AAAA,IACF;AACA,WAAOA;AAAA,EACT,CAAC;AACD,EAAAzB,EAAE,KAAK,QAAQ,CAACa,GAAGY,MAAM;AACvB,UAAM,IAAIZ,EAAE;AACZ,QAAI,CAAC8H,GAAG,CAAC;AACP,aAAO9H,EAAE,OAAO,KAAK;AAAA,QACnB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,OAAO;AAAA,QACP,MAAMb;AAAA,MACd,CAAO,GAAGa;AACN,UAAM,IAAIW,EAAE,MAAM,IAAI,IAAIb,EAAE,aAAa,CAAC;AAC1C,WAAO,IAAI,EAAE,KAAK,IAAIE,GAAGY,CAAC,IAAId,EAAE,gBAAgBC,EAAEC,GAAGY,CAAC,KAAKZ,EAAE,OAAO,KAAK;AAAA,MACvE,MAAM;AAAA,MACN,QAAQ,CAAA;AAAA,MACR,MAAM;AAAA,MACN,eAAeF,EAAE;AAAA,MACjB,OAAO;AAAA,MACP,MAAM,CAACA,EAAE,aAAa;AAAA,MACtB,MAAMX;AAAA,IACZ,CAAK,GAAGa;AAAA,EACN;AACF,CAAC,GAAGqQ,KAAqB,gBAAAxJ,EAAE,oBAAoB,CAAC1H,GAAGW,MAAM;AACvD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AACrC,UAAMX,IAAID,EAAE,OAAOa,IAAId,EAAE,KAAK,KAAK,IAAI,EAAE,OAAOE,GAAG,QAAQ,CAAA,KAAMW,CAAC,GAAG,IAAIb,EAAE,MAAM,KAAK,IAAI,EAAE,OAAOE,GAAG,QAAQ,CAAA,EAAE,GAAIW,CAAC;AACrH,WAAOC,aAAa,WAAW,aAAa,UAAU,QAAQ,IAAI,CAACA,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAACiE,GAAGU,CAAC,MAAM+K,GAAGvQ,GAAG8E,GAAGU,CAAC,CAAC,IAAI+K,GAAGvQ,GAAGa,GAAG,CAAC;AAAA,EACtH;AACF,CAAC;AACD,SAAS2P,GAAGpR,GAAGW,GAAG;AAChB,MAAIX,MAAMW;AACR,WAAO,EAAE,OAAO,IAAI,MAAMX,EAAC;AAC7B,MAAIA,aAAa,QAAQW,aAAa,QAAQ,CAACX,KAAK,CAACW;AACnD,WAAO,EAAE,OAAO,IAAI,MAAMX,EAAC;AAC7B,MAAI6I,GAAG7I,CAAC,KAAK6I,GAAGlI,CAAC,GAAG;AAClB,UAAMC,IAAI,OAAO,KAAKD,CAAC,GAAGa,IAAI,OAAO,KAAKxB,CAAC,EAAE,OAAO,CAACyB,MAAMb,EAAE,QAAQa,CAAC,MAAM,EAAE,GAAGZ,IAAI,EAAE,GAAGb,GAAG,GAAGW,EAAC;AACjG,eAAWc,KAAKD,GAAG;AACjB,YAAM,IAAI4P,GAAGpR,EAAEyB,CAAC,GAAGd,EAAEc,CAAC,CAAC;AACvB,UAAI,CAAC,EAAE;AACL,eAAO;AAAA,UACL,OAAO;AAAA,UACP,gBAAgB,CAACA,GAAG,GAAG,EAAE,cAAc;AAAA,QACjD;AACM,MAAAZ,EAAEY,CAAC,IAAI,EAAE;AAAA,IACX;AACA,WAAO,EAAE,OAAO,IAAI,MAAMZ,EAAC;AAAA,EAC7B;AACA,MAAI,MAAM,QAAQb,CAAC,KAAK,MAAM,QAAQW,CAAC,GAAG;AACxC,QAAIX,EAAE,WAAWW,EAAE;AACjB,aAAO,EAAE,OAAO,IAAI,gBAAgB,CAAA,EAAE;AACxC,UAAMC,IAAI,CAAA;AACV,aAASY,IAAI,GAAGA,IAAIxB,EAAE,QAAQwB,KAAK;AACjC,YAAMX,IAAIb,EAAEwB,CAAC,GAAGC,IAAId,EAAEa,CAAC,GAAG,IAAI4P,GAAGvQ,GAAGY,CAAC;AACrC,UAAI,CAAC,EAAE;AACL,eAAO;AAAA,UACL,OAAO;AAAA,UACP,gBAAgB,CAACD,GAAG,GAAG,EAAE,cAAc;AAAA,QACjD;AACM,MAAAZ,EAAE,KAAK,EAAE,IAAI;AAAA,IACf;AACA,WAAO,EAAE,OAAO,IAAI,MAAMA,EAAC;AAAA,EAC7B;AACA,SAAO,EAAE,OAAO,IAAI,gBAAgB,CAAA,EAAE;AACxC;AACA,SAASuQ,GAAGnR,GAAGW,GAAGC,GAAG;AACnB,QAAMY,IAAoB,oBAAI,IAAG;AACjC,MAAIX;AACJ,aAAW,KAAKF,EAAE;AAChB,QAAI,EAAE,SAAS,qBAAqB;AAClC,MAAAE,MAAMA,IAAI;AACV,iBAAW,KAAK,EAAE;AAChB,QAAAW,EAAE,IAAI,CAAC,KAAKA,EAAE,IAAI,GAAG,CAAA,CAAE,GAAGA,EAAE,IAAI,CAAC,EAAE,IAAI;AAAA,IAC3C;AACE,MAAAxB,EAAE,OAAO,KAAK,CAAC;AACnB,aAAW,KAAKY,EAAE;AAChB,QAAI,EAAE,SAAS;AACb,iBAAW,KAAK,EAAE;AAChB,QAAAY,EAAE,IAAI,CAAC,KAAKA,EAAE,IAAI,GAAG,CAAA,CAAE,GAAGA,EAAE,IAAI,CAAC,EAAE,IAAI;AAAA;AAEzC,MAAAxB,EAAE,OAAO,KAAK,CAAC;AACnB,QAAMyB,IAAI,CAAC,GAAGD,CAAC,EAAE,OAAO,CAAC,CAAA,EAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,MAAIC,EAAE,UAAUZ,KAAKb,EAAE,OAAO,KAAK,EAAE,GAAGa,GAAG,MAAMY,EAAC,CAAE,GAAGmI,GAAG5J,CAAC;AACzD,WAAOA;AACT,QAAM,IAAIoR,GAAGzQ,EAAE,OAAOC,EAAE,KAAK;AAC7B,MAAI,CAAC,EAAE;AACL,UAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,EAAE,cAAc,CAAC,EAAE;AAC5F,SAAOZ,EAAE,QAAQ,EAAE,MAAMA;AAC3B;AACA,MAAMqR,KAAqB,gBAAA3J,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACnD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AACrC,UAAMX,IAAID,EAAE;AACZ,QAAI,CAACiI,GAAGhI,CAAC;AACP,aAAOD,EAAE,OAAO,KAAK;AAAA,QACnB,UAAU;AAAA,QACV,MAAM;AAAA,QACN,OAAOC;AAAA,QACP,MAAMb;AAAA,MACd,CAAO,GAAGY;AACN,UAAMa,IAAI,CAAA,GAAI,IAAId,EAAE,QAAQ,KAAK;AACjC,QAAI,GAAG;AACL,MAAAC,EAAE,QAAQ,CAAA;AACV,YAAM,IAAoB,oBAAI,IAAG;AACjC,iBAAW,KAAK;AACd,YAAI,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU;AACxE,YAAE,IAAI,OAAO,KAAK,WAAW,EAAE,SAAQ,IAAK,CAAC;AAC7C,gBAAMgC,IAAIjC,EAAE,UAAU,KAAK,IAAI,EAAE,OAAOE,EAAE,CAAC,GAAG,QAAQ,CAAA,EAAE,GAAIW,CAAC;AAC7D,UAAAoB,aAAa,UAAUnB,EAAE,KAAKmB,EAAE,KAAK,CAACC,MAAM;AAC1C,YAAAA,EAAE,OAAO,UAAUjC,EAAE,OAAO,KAAK,GAAGiJ,GAAG,GAAGhH,EAAE,MAAM,CAAC,GAAGjC,EAAE,MAAM,CAAC,IAAIiC,EAAE;AAAA,UACvE,CAAC,CAAC,KAAKD,EAAE,OAAO,UAAUhC,EAAE,OAAO,KAAK,GAAGiJ,GAAG,GAAGjH,EAAE,MAAM,CAAC,GAAGhC,EAAE,MAAM,CAAC,IAAIgC,EAAE;AAAA,QAC9E;AACF,UAAI;AACJ,iBAAW,KAAK/B;AACd,UAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAA,GAAI,EAAE,KAAK,CAAC;AACpC,WAAK,EAAE,SAAS,KAAKD,EAAE,OAAO,KAAK;AAAA,QACjC,MAAM;AAAA,QACN,OAAOC;AAAA,QACP,MAAMb;AAAA,QACN,MAAM;AAAA,MACd,CAAO;AAAA,IACH,OAAO;AACL,MAAAY,EAAE,QAAQ,CAAA;AACV,iBAAW,KAAK,QAAQ,QAAQC,CAAC,GAAG;AAClC,YAAI,MAAM;AACR;AACF,YAAI,IAAIF,EAAE,QAAQ,KAAK,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA,EAAE,GAAIa,CAAC;AACtD,YAAI,aAAa;AACf,gBAAM,IAAI,MAAM,sDAAsD;AACxE,YAAI,OAAO,KAAK,YAAYuL,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,QAAQ;AACzD,gBAAM,IAAIpM,EAAE,QAAQ,KAAK,IAAI,EAAE,OAAO,OAAO,CAAC,GAAG,QAAQ,CAAA,EAAE,GAAIa,CAAC;AAChE,cAAI,aAAa;AACf,kBAAM,IAAI,MAAM,sDAAsD;AACxE,YAAE,OAAO,WAAW,MAAM,IAAI;AAAA,QAChC;AACA,YAAI,EAAE,OAAO,QAAQ;AACnB,UAAAb,EAAE,SAAS,UAAUC,EAAE,MAAM,CAAC,IAAIC,EAAE,CAAC,IAAID,EAAE,OAAO,KAAK;AAAA,YACrD,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,QAAQ,EAAE,OAAO,IAAI,CAAC,MAAMmJ,GAAG,GAAGvI,GAAGsG,GAAE,CAAE,CAAC;AAAA,YAC1C,OAAO;AAAA,YACP,MAAM,CAAC,CAAC;AAAA,YACR,MAAM9H;AAAA,UAClB,CAAW;AACD;AAAA,QACF;AACA,cAAM4C,IAAIjC,EAAE,UAAU,KAAK,IAAI,EAAE,OAAOE,EAAE,CAAC,GAAG,QAAQ,CAAA,EAAE,GAAIW,CAAC;AAC7D,QAAAoB,aAAa,UAAUnB,EAAE,KAAKmB,EAAE,KAAK,CAAC,MAAM;AAC1C,YAAE,OAAO,UAAUhC,EAAE,OAAO,KAAK,GAAGiJ,GAAG,GAAG,EAAE,MAAM,CAAC,GAAGjJ,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;AAAA,QAC7E,CAAC,CAAC,KAAKgC,EAAE,OAAO,UAAUhC,EAAE,OAAO,KAAK,GAAGiJ,GAAG,GAAGjH,EAAE,MAAM,CAAC,GAAGhC,EAAE,MAAM,EAAE,KAAK,IAAIgC,EAAE;AAAA,MACpF;AAAA,IACF;AACA,WAAOnB,EAAE,SAAS,QAAQ,IAAIA,CAAC,EAAE,KAAK,MAAMb,CAAC,IAAIA;AAAA,EACnD;AACF,CAAC,GAAG0Q,KAAqB,gBAAA5J,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC;AACX,QAAMC,IAAImH,GAAGpH,EAAE,OAAO,GAAGa,IAAI,IAAI,IAAIZ,CAAC;AACtC,EAAAZ,EAAE,KAAK,SAASwB,GAAGxB,EAAE,KAAK,UAAU,IAAI,OAAO,KAAKY,EAAE,OAAO,CAACC,MAAMkI,GAAG,IAAI,OAAOlI,CAAC,CAAC,EAAE,IAAI,CAACA,MAAM,OAAOA,KAAK,WAAWmI,GAAGnI,CAAC,IAAIA,EAAE,SAAQ,CAAE,EAAE,KAAK,GAAG,CAAC,IAAI,GAAGb,EAAE,KAAK,QAAQ,CAACa,GAAGY,MAAM;AACrL,UAAM,IAAIZ,EAAE;AACZ,WAAOW,EAAE,IAAI,CAAC,KAAKX,EAAE,OAAO,KAAK;AAAA,MAC/B,MAAM;AAAA,MACN,QAAQD;AAAA,MACR,OAAO;AAAA,MACP,MAAMZ;AAAA,IACZ,CAAK,GAAGa;AAAA,EACN;AACF,CAAC,GAAG0Q,KAAqB,gBAAA7J,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AAClD,MAAI2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGA,EAAE,OAAO,WAAW;AACpC,UAAM,IAAI,MAAM,mDAAmD;AACrE,QAAMC,IAAI,IAAI,IAAID,EAAE,MAAM;AAC1B,EAAAX,EAAE,KAAK,SAASY,GAAGZ,EAAE,KAAK,UAAU,IAAI,OAAO,KAAKW,EAAE,OAAO,IAAI,CAACa,MAAM,OAAOA,KAAK,WAAWwH,GAAGxH,CAAC,IAAIA,IAAIwH,GAAGxH,EAAE,SAAQ,CAAE,IAAI,OAAOA,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,GAAGxB,EAAE,KAAK,QAAQ,CAACwB,GAAGX,MAAM;AAChL,UAAMY,IAAID,EAAE;AACZ,WAAOZ,EAAE,IAAIa,CAAC,KAAKD,EAAE,OAAO,KAAK;AAAA,MAC/B,MAAM;AAAA,MACN,QAAQb,EAAE;AAAA,MACV,OAAOc;AAAA,MACP,MAAMzB;AAAA,IACZ,CAAK,GAAGwB;AAAA,EACN;AACF,CAAC,GAAGgQ,KAAqB,gBAAA9J,EAAE,iBAAiB,CAAC1H,GAAGW,MAAM;AACpD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AACrC,QAAIA,EAAE,cAAc;AAClB,YAAM,IAAIoG,GAAG5H,EAAE,YAAY,IAAI;AACjC,UAAMa,IAAIF,EAAE,UAAUC,EAAE,OAAOA,CAAC;AAChC,QAAIY,EAAE;AACJ,cAAQX,aAAa,UAAUA,IAAI,QAAQ,QAAQA,CAAC,GAAG,KAAK,CAACqF,OAAOtF,EAAE,QAAQsF,GAAGtF,EAAE;AACrF,QAAIC,aAAa;AACf,YAAM,IAAI8G,GAAE;AACd,WAAO/G,EAAE,QAAQC,GAAGD;AAAA,EACtB;AACF,CAAC;AACD,SAAS6Q,GAAGzR,GAAGW,GAAG;AAChB,SAAOX,EAAE,OAAO,UAAUW,MAAM,SAAS,EAAE,QAAQ,CAAA,GAAI,OAAO,OAAM,IAAKX;AAC3E;AACA,MAAM0R,KAAqB,gBAAAhK,EAAE,gBAAgB,CAAC1H,GAAGW,MAAM;AACrD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,YAAYA,EAAE,KAAK,SAAS,YAAY,EAAEA,EAAE,MAAM,UAAU,MAAMW,EAAE,UAAU,KAAK,SAAyB,oBAAI,IAAI,CAAC,GAAGA,EAAE,UAAU,KAAK,QAAQ,MAAM,CAAC,IAAI,MAAM,GAAG,EAAEX,EAAE,MAAM,WAAW,MAAM;AAC3N,UAAMY,IAAID,EAAE,UAAU,KAAK;AAC3B,WAAOC,IAAI,IAAI,OAAO,KAAKuH,GAAGvH,EAAE,MAAM,CAAC,KAAK,IAAI;AAAA,EAClD,CAAC,GAAGZ,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AAC3B,QAAIb,EAAE,UAAU,KAAK,UAAU,YAAY;AACzC,YAAME,IAAIF,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AACnC,aAAOX,aAAa,UAAUA,EAAE,KAAK,CAACY,MAAMgQ,GAAGhQ,GAAGb,EAAE,KAAK,CAAC,IAAI6Q,GAAG5Q,GAAGD,EAAE,KAAK;AAAA,IAC7E;AACA,WAAOA,EAAE,UAAU,SAASA,IAAID,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AAAA,EAC3D;AACF,CAAC,GAAGmQ,KAAqB,gBAAAjK,EAAE,qBAAqB,CAAC1H,GAAGW,MAAM;AACxD,EAAA+Q,GAAG,KAAK1R,GAAGW,CAAC,GAAG,EAAEX,EAAE,MAAM,UAAU,MAAMW,EAAE,UAAU,KAAK,MAAM,GAAG,EAAEX,EAAE,MAAM,WAAW,MAAMW,EAAE,UAAU,KAAK,OAAO,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAMb,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AAC7K,CAAC,GAAGoQ,KAAqB,gBAAAlK,EAAE,gBAAgB,CAAC1H,GAAGW,MAAM;AACnD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAG,EAAEX,EAAE,MAAM,SAAS,MAAMW,EAAE,UAAU,KAAK,KAAK,GAAG,EAAEX,EAAE,MAAM,UAAU,MAAMW,EAAE,UAAU,KAAK,MAAM,GAAG,EAAEX,EAAE,MAAM,WAAW,MAAM;AAC7I,UAAMY,IAAID,EAAE,UAAU,KAAK;AAC3B,WAAOC,IAAI,IAAI,OAAO,KAAKuH,GAAGvH,EAAE,MAAM,CAAC,SAAS,IAAI;AAAA,EACtD,CAAC,GAAG,EAAEZ,EAAE,MAAM,UAAU,MAAMW,EAAE,UAAU,KAAK,SAAyB,oBAAI,IAAI,CAAC,GAAGA,EAAE,UAAU,KAAK,QAAQ,IAAI,CAAC,IAAI,MAAM,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAMZ,EAAE,UAAU,OAAOA,IAAID,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AAC1M,CAAC,GAAGqQ,KAAqB,gBAAAnK,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AAClD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,YAAY,EAAEA,EAAE,MAAM,UAAU,MAAMW,EAAE,UAAU,KAAK,MAAM,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AACpH,QAAIA,EAAE,cAAc;AAClB,aAAOb,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AAClC,QAAIZ,EAAE,UAAU;AACd,aAAOA,EAAE,QAAQD,EAAE,cAAcC;AACnC,UAAMC,IAAIF,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AACnC,WAAOX,aAAa,UAAUA,EAAE,KAAK,CAACY,MAAMqQ,GAAGrQ,GAAGd,CAAC,CAAC,IAAImR,GAAGjR,GAAGF,CAAC;AAAA,EACjE;AACF,CAAC;AACD,SAASmR,GAAG9R,GAAGW,GAAG;AAChB,SAAOX,EAAE,UAAU,WAAWA,EAAE,QAAQW,EAAE,eAAeX;AAC3D;AACA,MAAM+R,KAAqB,gBAAArK,EAAE,gBAAgB,CAAC1H,GAAGW,MAAM;AACrD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,YAAY,EAAEA,EAAE,MAAM,UAAU,MAAMW,EAAE,UAAU,KAAK,MAAM,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,OAAOA,EAAE,cAAc,cAAcZ,EAAE,UAAU,WAAWA,EAAE,QAAQD,EAAE,eAAeA,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AAClO,CAAC,GAAGwQ,KAAqB,gBAAAtK,EAAE,mBAAmB,CAAC1H,GAAGW,MAAM;AACtD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAG,EAAEX,EAAE,MAAM,UAAU,MAAM;AACtC,UAAMY,IAAID,EAAE,UAAU,KAAK;AAC3B,WAAOC,IAAI,IAAI,IAAI,CAAC,GAAGA,CAAC,EAAE,OAAO,CAACY,MAAMA,MAAM,MAAM,CAAC,IAAI;AAAA,EAC3D,CAAC,GAAGxB,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AAC3B,UAAMX,IAAIF,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AACnC,WAAOX,aAAa,UAAUA,EAAE,KAAK,CAACY,MAAMwQ,GAAGxQ,GAAGzB,CAAC,CAAC,IAAIiS,GAAGpR,GAAGb,CAAC;AAAA,EACjE;AACF,CAAC;AACD,SAASiS,GAAGjS,GAAGW,GAAG;AAChB,SAAO,CAACX,EAAE,OAAO,UAAUA,EAAE,UAAU,UAAUA,EAAE,OAAO,KAAK;AAAA,IAC7D,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAOA,EAAE;AAAA,IACT,MAAMW;AAAA,EACV,CAAG,GAAGX;AACN;AACA,MAAMkS,KAAqB,gBAAAxK,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAClD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAG,EAAEX,EAAE,MAAM,SAAS,MAAMW,EAAE,UAAU,KAAK,KAAK,GAAG,EAAEX,EAAE,MAAM,UAAU,MAAMW,EAAE,UAAU,KAAK,MAAM,GAAG,EAAEX,EAAE,MAAM,UAAU,MAAMW,EAAE,UAAU,KAAK,MAAM,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AAC/L,QAAIA,EAAE,cAAc;AAClB,aAAOb,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AAClC,UAAMX,IAAIF,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AACnC,WAAOX,aAAa,UAAUA,EAAE,KAAK,CAACY,OAAOb,EAAE,QAAQa,EAAE,OAAOA,EAAE,OAAO,WAAWb,EAAE,QAAQD,EAAE,WAAW;AAAA,MACzG,GAAGC;AAAA,MACH,OAAO;AAAA,QACL,QAAQa,EAAE,OAAO,IAAI,CAAC,MAAMsI,GAAG,GAAGvI,GAAGsG,IAAI,CAAC;AAAA,MAClD;AAAA,MACM,OAAOlH,EAAE;AAAA,IACf,CAAK,GAAGA,EAAE,SAAS,CAAA,IAAKA,EAAE,KAAKA,EAAE,QAAQC,EAAE,OAAOA,EAAE,OAAO,WAAWD,EAAE,QAAQD,EAAE,WAAW;AAAA,MACvF,GAAGC;AAAA,MACH,OAAO;AAAA,QACL,QAAQC,EAAE,OAAO,IAAI,CAACY,MAAMsI,GAAGtI,GAAGD,GAAGsG,IAAI,CAAC;AAAA,MAClD;AAAA,MACM,OAAOlH,EAAE;AAAA,IACf,CAAK,GAAGA,EAAE,SAAS,CAAA,IAAKA;AAAA,EACtB;AACF,CAAC,GAAGuR,KAAqB,gBAAAzK,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAG,EAAEX,EAAE,MAAM,UAAU,MAAMW,EAAE,GAAG,KAAK,MAAM,GAAG,EAAEX,EAAE,MAAM,SAAS,MAAMW,EAAE,GAAG,KAAK,KAAK,GAAG,EAAEX,EAAE,MAAM,UAAU,MAAMW,EAAE,IAAI,KAAK,MAAM,GAAG,EAAEX,EAAE,MAAM,cAAc,MAAMW,EAAE,GAAG,KAAK,UAAU,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AAChO,QAAIA,EAAE,cAAc,YAAY;AAC9B,YAAMC,IAAId,EAAE,IAAI,KAAK,IAAIC,GAAGY,CAAC;AAC7B,aAAOC,aAAa,UAAUA,EAAE,KAAK,CAAC,MAAM2Q,GAAG,GAAGzR,EAAE,IAAIa,CAAC,CAAC,IAAI4Q,GAAG3Q,GAAGd,EAAE,IAAIa,CAAC;AAAA,IAC7E;AACA,UAAMX,IAAIF,EAAE,GAAG,KAAK,IAAIC,GAAGY,CAAC;AAC5B,WAAOX,aAAa,UAAUA,EAAE,KAAK,CAACY,MAAM2Q,GAAG3Q,GAAGd,EAAE,KAAKa,CAAC,CAAC,IAAI4Q,GAAGvR,GAAGF,EAAE,KAAKa,CAAC;AAAA,EAC/E;AACF,CAAC;AACD,SAAS4Q,GAAGpS,GAAGW,GAAGC,GAAG;AACnB,SAAOZ,EAAE,OAAO,UAAUA,EAAE,UAAU,IAAIA,KAAKW,EAAE,KAAK,IAAI,EAAE,OAAOX,EAAE,OAAO,QAAQA,EAAE,OAAM,GAAIY,CAAC;AACnG;AACA,MAAMyR,KAAqB,gBAAA3K,EAAE,gBAAgB,CAAC1H,GAAGW,MAAM;AACrD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAG,EAAEX,EAAE,MAAM,cAAc,MAAMW,EAAE,UAAU,KAAK,UAAU,GAAG,EAAEX,EAAE,MAAM,UAAU,MAAMW,EAAE,UAAU,KAAK,MAAM,GAAG,EAAEX,EAAE,MAAM,SAAS,MAAMW,EAAE,WAAW,MAAM,KAAK,GAAG,EAAEX,EAAE,MAAM,UAAU,MAAMW,EAAE,WAAW,MAAM,MAAM,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AAC/P,QAAIA,EAAE,cAAc;AAClB,aAAOb,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AAClC,UAAMX,IAAIF,EAAE,UAAU,KAAK,IAAIC,GAAGY,CAAC;AACnC,WAAOX,aAAa,UAAUA,EAAE,KAAKyR,EAAE,IAAIA,GAAGzR,CAAC;AAAA,EACjD;AACF,CAAC;AACD,SAASyR,GAAGtS,GAAG;AACb,SAAOA,EAAE,QAAQ,OAAO,OAAOA,EAAE,KAAK,GAAGA;AAC3C;AACA,MAAMuS,KAAqB,gBAAA7K,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AACjD,EAAA2N,EAAE,KAAKtO,GAAGW,CAAC,GAAG,EAAEX,EAAE,MAAM,aAAa,MAAMW,EAAE,OAAM,CAAE,GAAG,EAAEX,EAAE,MAAM,WAAW,MAAMA,EAAE,KAAK,WAAW,MAAM,OAAO,GAAG,EAAEA,EAAE,MAAM,cAAc,MAAMA,EAAE,KAAK,WAAW,MAAM,UAAU,GAAG,EAAEA,EAAE,MAAM,SAAS,MAAMA,EAAE,KAAK,WAAW,MAAM,SAAS,MAAM,GAAG,EAAEA,EAAE,MAAM,UAAU,MAAMA,EAAE,KAAK,WAAW,MAAM,UAAU,MAAM,GAAGA,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAMxB,EAAE,KAAK,UAAU,KAAK,IAAIY,GAAGY,CAAC;AACzX,CAAC,GAAGgR,KAAqB,gBAAA9K,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACjD,EAAAwM,GAAG,KAAKnN,GAAGW,CAAC,GAAG2N,EAAE,KAAKtO,GAAGW,CAAC,GAAGX,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAMZ,GAAGZ,EAAE,KAAK,QAAQ,CAACY,MAAM;AAC7E,UAAMY,IAAIZ,EAAE,OAAOC,IAAIF,EAAE,GAAGa,CAAC;AAC7B,QAAIX,aAAa;AACf,aAAOA,EAAE,KAAK,CAACY,MAAMgR,GAAGhR,GAAGb,GAAGY,GAAGxB,CAAC,CAAC;AACrC,IAAAyS,GAAG5R,GAAGD,GAAGY,GAAGxB,CAAC;AAAA,EACf;AACF,CAAC;AACD,SAASyS,GAAGzS,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAI,CAACxB,GAAG;AACN,UAAMa,IAAI;AAAA,MACR,MAAM;AAAA,MACN,OAAOD;AAAA,MACP,MAAMY;AAAA;AAAA,MAEN,MAAM,CAAC,GAAGA,EAAE,KAAK,IAAI,QAAQ,EAAE;AAAA;AAAA,MAE/B,UAAU,CAACA,EAAE,KAAK,IAAI;AAAA;AAAA,IAE5B;AACI,IAAAA,EAAE,KAAK,IAAI,WAAWX,EAAE,SAASW,EAAE,KAAK,IAAI,SAASb,EAAE,OAAO,KAAKsJ,GAAGpJ,CAAC,CAAC;AAAA,EAC1E;AACF;AACA,IAAI6R;AACJ,MAAMC,GAAG;AAAA,EACP,cAAc;AACZ,SAAK,OAAuB,oBAAI,QAAO,GAAI,KAAK,SAAyB,oBAAI,IAAG;AAAA,EAClF;AAAA,EACA,IAAIhS,MAAMC,GAAG;AACX,UAAMY,IAAIZ,EAAE,CAAC;AACb,WAAO,KAAK,KAAK,IAAID,GAAGa,CAAC,GAAGA,KAAK,OAAOA,KAAK,YAAY,QAAQA,KAAK,KAAK,OAAO,IAAIA,EAAE,IAAIb,CAAC,GAAG;AAAA,EAClG;AAAA,EACA,QAAQ;AACN,WAAO,KAAK,OAAuB,oBAAI,QAAO,GAAI,KAAK,SAAyB,oBAAI,IAAG,GAAI;AAAA,EAC7F;AAAA,EACA,OAAOA,GAAG;AACR,UAAMC,IAAI,KAAK,KAAK,IAAID,CAAC;AACzB,WAAOC,KAAK,OAAOA,KAAK,YAAY,QAAQA,KAAK,KAAK,OAAO,OAAOA,EAAE,EAAE,GAAG,KAAK,KAAK,OAAOD,CAAC,GAAG;AAAA,EAClG;AAAA,EACA,IAAIA,GAAG;AACL,UAAMC,IAAID,EAAE,KAAK;AACjB,QAAIC,GAAG;AACL,YAAMY,IAAI,EAAE,GAAG,KAAK,IAAIZ,CAAC,KAAK,GAAE;AAChC,aAAOY,EAAE;AACT,YAAMX,IAAI,EAAE,GAAGW,GAAG,GAAG,KAAK,KAAK,IAAIb,CAAC,EAAC;AACrC,aAAO,OAAO,KAAKE,CAAC,EAAE,SAASA,IAAI;AAAA,IACrC;AACA,WAAO,KAAK,KAAK,IAAIF,CAAC;AAAA,EACxB;AAAA,EACA,IAAIA,GAAG;AACL,WAAO,KAAK,KAAK,IAAIA,CAAC;AAAA,EACxB;AACF;AACA,SAASiS,KAAK;AACZ,SAAO,IAAID,GAAE;AACf;AAAA,CACCD,KAAK,YAAY,yBAAyBA,GAAG,uBAAuBE,GAAE;AACvE,MAAMC,KAAK,WAAW;AAAA;AAEtB,SAASC,GAAG9S,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASoS,GAAG/S,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASqS,GAAGhT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASsS,GAAGjT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASuS,GAAGlT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,IACT,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASwS,GAAGnT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,IACT,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASyS,GAAGpT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,IACT,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS0S,GAAGrT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS2S,GAAGtT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS4S,GAAGvT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS6S,GAAGxT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS8S,GAAGzT,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS+S,GAAG1T,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASgT,GAAG3T,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASiT,GAAG5T,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASkT,GAAG7T,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASmT,GAAG9T,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASoT,GAAG/T,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASqT,GAAGhU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASsT,GAAGjU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASuT,GAAGlU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASwT,GAAGnU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASyT,GAAGpU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS0T,GAAGrU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAW;AAAA,IACX,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS2T,GAAGtU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS4T,GAAGvU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAW;AAAA,IACX,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS6T,GAAGxU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS8T,GAAGzU,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,QAAQ,CAAA;AAAA,IACR,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS+T,GAAG1U,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASgU,GAAG3U,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASiU,GAAG5U,GAAG;AACb,SAAO,IAAIA,EAAE;AAAA,IACX,MAAM;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAAS6U,GAAG7U,GAAGW,GAAG;AAChB,SAAO,IAAIX,EAAE;AAAA,IACX,MAAM;AAAA,IACN,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASmU,GAAG9U,GAAGW,GAAG;AAChB,SAAO,IAAI0M,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,GAAGnE,EAAEvI,CAAC;AAAA,IACN,OAAOX;AAAA,IACP,WAAW;AAAA,EACf,CAAG;AACH;AAAA;AAEA,SAAS+U,GAAG/U,GAAGW,GAAG;AAChB,SAAO,IAAI0M,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,GAAGnE,EAAEvI,CAAC;AAAA,IACN,OAAOX;AAAA,IACP,WAAW;AAAA,EACf,CAAG;AACH;AAAA;AAEA,SAASgV,GAAGhV,GAAGW,GAAG;AAChB,SAAO,IAAI2M,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,GAAGpE,EAAEvI,CAAC;AAAA,IACN,OAAOX;AAAA,IACP,WAAW;AAAA,EACf,CAAG;AACH;AAAA;AAEA,SAASiV,GAAGjV,GAAGW,GAAG;AAChB,SAAO,IAAI2M,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,GAAGpE,EAAEvI,CAAC;AAAA,IACN,OAAOX;AAAA,IACP,WAAW;AAAA,EACf,CAAG;AACH;AAAA;AAEA,SAASkV,GAAGlV,GAAGW,GAAG;AAChB,SAAO,IAAI4M,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,GAAGrE,EAAEvI,CAAC;AAAA,IACN,OAAOX;AAAA,EACX,CAAG;AACH;AAAA;AAEA,SAASmV,GAAGnV,GAAGW,GAAG;AAChB,SAAO,IAAI8M,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,GAAGvE,EAAEvI,CAAC;AAAA,IACN,SAASX;AAAA,EACb,CAAG;AACH;AAAA;AAEA,SAASoV,GAAGpV,GAAGW,GAAG;AAChB,SAAO,IAAI+M,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,GAAGxE,EAAEvI,CAAC;AAAA,IACN,SAASX;AAAA,EACb,CAAG;AACH;AAAA;AAEA,SAASqV,GAAGrV,GAAGW,GAAG;AAChB,SAAO,IAAIgN,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,GAAGzE,EAAEvI,CAAC;AAAA,IACN,QAAQX;AAAA,EACZ,CAAG;AACH;AAAA;AAEA,SAASsV,GAAGtV,GAAGW,GAAG;AAChB,SAAO,IAAIkN,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAG3E,EAAEvI,CAAC;AAAA,IACN,SAASX;AAAA,EACb,CAAG;AACH;AAAA;AAEA,SAASuV,GAAGvV,GAAG;AACb,SAAO,IAAI8N,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAG5E,EAAElJ,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASwV,GAAGxV,GAAG;AACb,SAAO,IAAI+N,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAG7E,EAAElJ,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASyV,GAAGzV,GAAGW,GAAG;AAChB,SAAO,IAAIqN,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAG9E,EAAEvI,CAAC;AAAA,IACN,UAAUX;AAAA,EACd,CAAG;AACH;AAAA;AAEA,SAAS0V,GAAG1V,GAAGW,GAAG;AAChB,SAAO,IAAIsN,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAG/E,EAAEvI,CAAC;AAAA,IACN,QAAQX;AAAA,EACZ,CAAG;AACH;AAAA;AAEA,SAAS2V,GAAG3V,GAAGW,GAAG;AAChB,SAAO,IAAIuN,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAGhF,EAAEvI,CAAC;AAAA,IACN,QAAQX;AAAA,EACZ,CAAG;AACH;AAAA;AAEA,SAAS4V,GAAG5V,GAAG;AACb,SAAO,IAAImO,GAAG;AAAA,IACZ,OAAO;AAAA,IACP,IAAInO;AAAA,EACR,CAAG;AACH;AAAA;AAEA,SAAS6V,GAAG7V,GAAG;AACb,SAAuB,gBAAA4V,GAAG,CAACjV,MAAMA,EAAE,UAAUX,CAAC,CAAC;AACjD;AAAA;AAEA,SAAS8V,KAAK;AACZ,SAAuB,gBAAAF,GAAG,CAAC5V,MAAMA,EAAE,KAAI,CAAE;AAC3C;AAAA;AAEA,SAAS+V,KAAK;AACZ,SAAuB,gBAAAH,GAAG,CAAC5V,MAAMA,EAAE,YAAW,CAAE;AAClD;AAAA;AAEA,SAASgW,KAAK;AACZ,SAAuB,gBAAAJ,GAAG,CAAC5V,MAAMA,EAAE,YAAW,CAAE;AAClD;AAAA;AAEA,SAASiW,KAAK;AACZ,SAAuB,gBAAAL,GAAG,CAAC5V,MAAMyI,GAAGzI,CAAC,CAAC;AACxC;AAAA;AAEA,SAASkW,GAAGlW,GAAGW,GAAGC,GAAG;AACnB,SAAO,IAAIZ,EAAE;AAAA,IACX,MAAM;AAAA,IACN,SAASW;AAAA;AAAA;AAAA;AAAA,IAIT,GAAGuI,EAAEtI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASuV,GAAGnW,GAAGW,GAAGC,GAAG;AACnB,SAAO,IAAIZ,EAAE;AAAA,IACX,MAAM;AAAA,IACN,OAAO;AAAA,IACP,IAAIW;AAAA,IACJ,GAAGuI,EAAEtI,CAAC;AAAA,EACV,CAAG;AACH;AAAA;AAEA,SAASwV,GAAGpW,GAAG;AACb,QAAMW,IAAoB,gBAAA0V,GAAG,CAACzV,OAAOA,EAAE,WAAW,CAACY,MAAM;AACvD,QAAI,OAAOA,KAAK;AACd,MAAAZ,EAAE,OAAO,KAAKqJ,GAAGzI,GAAGZ,EAAE,OAAOD,EAAE,KAAK,GAAG,CAAC;AAAA,SACrC;AACH,YAAME,IAAIW;AACV,MAAAX,EAAE,UAAUA,EAAE,WAAW,KAAKA,EAAE,SAASA,EAAE,OAAO,WAAWA,EAAE,UAAUA,EAAE,QAAQD,EAAE,QAAQC,EAAE,SAASA,EAAE,OAAOF,IAAIE,EAAE,aAAaA,EAAE,WAAW,CAACF,EAAE,KAAK,IAAI,QAAQC,EAAE,OAAO,KAAKqJ,GAAGpJ,CAAC,CAAC;AAAA,IAC1L;AAAA,EACF,GAAGb,EAAEY,EAAE,OAAOA,CAAC,EAAE;AACjB,SAAOD;AACT;AAAA;AAEA,SAAS0V,GAAGrW,GAAGW,GAAG;AAChB,QAAMC,IAAI,IAAIuM,GAAG;AAAA,IACf,OAAO;AAAA,IACP,GAAGjE,EAAEvI,CAAC;AAAA,EACV,CAAG;AACD,SAAOC,EAAE,KAAK,QAAQZ,GAAGY;AAC3B;AACA,SAAS0V,GAAGtW,GAAG;AACb,MAAIW,IAAIX,GAAG,UAAU;AACrB,SAAOW,MAAM,cAAcA,IAAI,aAAaA,MAAM,cAAcA,IAAI,aAAa;AAAA,IAC/E,YAAYX,EAAE,cAAc,CAAA;AAAA,IAC5B,kBAAkBA,GAAG,YAAY6S;AAAA,IACjC,QAAQlS;AAAA,IACR,iBAAiBX,GAAG,mBAAmB;AAAA,IACvC,UAAUA,GAAG,aAAa,MAAM;AAAA,IAChC;AAAA,IACA,IAAIA,GAAG,MAAM;AAAA,IACb,SAAS;AAAA,IACT,MAAsB,oBAAI,IAAG;AAAA,IAC7B,QAAQA,GAAG,UAAU;AAAA,IACrB,QAAQA,GAAG,UAAU;AAAA,IACrB,UAAUA,GAAG,YAAY;AAAA,EAC7B;AACA;AACA,SAASuW,GAAEvW,GAAGW,GAAGC,IAAI,EAAE,MAAM,CAAA,GAAI,YAAY,CAAA,KAAM;AACjD,MAAIY;AACJ,QAAMX,IAAIb,EAAE,KAAK,KAAKyB,IAAId,EAAE,KAAK,IAAIX,CAAC;AACtC,MAAIyB;AACF,WAAOA,EAAE,SAASb,EAAE,WAAW,SAASZ,CAAC,MAAMyB,EAAE,QAAQb,EAAE,OAAOa,EAAE;AACtE,QAAM,IAAI,EAAE,QAAQ,CAAA,GAAI,OAAO,GAAG,OAAO,QAAQ,MAAMb,EAAE,KAAI;AAC7D,EAAAD,EAAE,KAAK,IAAIX,GAAG,CAAC;AACf,QAAM,IAAIA,EAAE,KAAK,eAAY;AAC7B,MAAI;AACF,MAAE,SAAS;AAAA,OACR;AACH,UAAM4C,IAAI;AAAA,MACR,GAAGhC;AAAA,MACH,YAAY,CAAC,GAAGA,EAAE,YAAYZ,CAAC;AAAA,MAC/B,MAAMY,EAAE;AAAA,IACd;AACI,QAAIZ,EAAE,KAAK;AACT,MAAAA,EAAE,KAAK,kBAAkBW,GAAG,EAAE,QAAQiC,CAAC;AAAA,SACpC;AACH,YAAME,IAAI,EAAE,QAAQ,IAAInC,EAAE,WAAWE,EAAE,IAAI;AAC3C,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,uDAAuDA,EAAE,IAAI,EAAE;AACjF,QAAEb,GAAGW,GAAGmC,GAAGF,CAAC;AAAA,IACd;AACA,UAAM,IAAI5C,EAAE,KAAK;AACjB,UAAM,EAAE,QAAQ,EAAE,MAAM,IAAIuW,GAAE,GAAG5V,GAAGiC,CAAC,GAAGjC,EAAE,KAAK,IAAI,CAAC,EAAE,WAAW;AAAA,EACnE;AACA,QAAM,IAAIA,EAAE,iBAAiB,IAAIX,CAAC;AAClC,SAAO,KAAK,OAAO,OAAO,EAAE,QAAQ,CAAC,GAAGW,EAAE,OAAO,WAAW6V,GAAGxW,CAAC,MAAM,OAAO,EAAE,OAAO,UAAU,OAAO,EAAE,OAAO,UAAUW,EAAE,OAAO,WAAW,EAAE,OAAO,eAAea,IAAI,EAAE,QAAQ,YAAYA,EAAE,UAAU,EAAE,OAAO,aAAa,OAAO,EAAE,OAAO,WAAWb,EAAE,KAAK,IAAIX,CAAC,EAAE;AAC7Q;AACA,SAASyW,GAAGzW,GAAGW,GAAG;AAChB,QAAMC,IAAIZ,EAAE,KAAK,IAAIW,CAAC;AACtB,MAAI,CAACC;AACH,UAAM,IAAI,MAAM,2CAA2C;AAC7D,QAAMY,IAAoB,oBAAI,IAAG;AACjC,aAAW,KAAKxB,EAAE,KAAK,QAAO,GAAI;AAChC,UAAM,IAAIA,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG;AACxC,QAAI,GAAG;AACL,YAAM,IAAIwB,EAAE,IAAI,CAAC;AACjB,UAAI,KAAK,MAAM,EAAE,CAAC;AAChB,cAAM,IAAI,MAAM,wBAAwB,CAAC,mHAAmH;AAC9J,MAAAA,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAAA,IACf;AAAA,EACF;AACA,QAAMX,IAAI,CAAC,MAAM;AACf,UAAM,IAAIb,EAAE,WAAW,kBAAkB,UAAU;AACnD,QAAIA,EAAE,UAAU;AACd,YAAM,IAAIA,EAAE,SAAS,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI8C,IAAI9C,EAAE,SAAS,QAAQ,CAACyD,MAAMA;AAC3E,UAAI;AACF,eAAO,EAAE,KAAKX,EAAE,CAAC,EAAC;AACpB,YAAM,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,MAAM,SAAS9C,EAAE,SAAS;AAC9D,aAAO,EAAE,CAAC,EAAE,QAAQ,GAAG,EAAE,OAAO,GAAG,KAAK,GAAG8C,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAE;AAAA,IACvE;AACA,QAAI,EAAE,CAAC,MAAMlC;AACX,aAAO,EAAE,KAAK,IAAG;AACnB,UAAMwF,IAAI,KAAK,CAAC,KAAKxD,IAAI,EAAE,CAAC,EAAE,OAAO,MAAM,WAAW5C,EAAE,SAAS;AACjE,WAAO,EAAE,OAAO4C,GAAG,KAAKwD,IAAIxD,EAAC;AAAA,EAC/B,GAAGnB,IAAI,CAAC,MAAM;AACZ,QAAI,EAAE,CAAC,EAAE,OAAO;AACd;AACF,UAAM,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,MAAMZ,EAAE,CAAC;AAC1C,MAAE,MAAM,EAAE,GAAG,EAAE,OAAM,GAAI,MAAM,EAAE,QAAQ;AACzC,UAAM+B,IAAI,EAAE;AACZ,eAAWC,KAAKD;AACd,aAAOA,EAAEC,CAAC;AACZ,IAAAD,EAAE,OAAO;AAAA,EACX;AACA,MAAI5C,EAAE,WAAW;AACf,eAAW,KAAKA,EAAE,KAAK,QAAO,GAAI;AAChC,YAAM,IAAI,EAAE,CAAC;AACb,UAAI,EAAE;AACJ,cAAM,IAAI,MAAM,qBAAqB,EAAE,OAAO,KAAK,GAAG,CAAC;AAAA;AAAA,iFAEkB;AAAA,IAC7E;AACF,aAAW,KAAKA,EAAE,KAAK,QAAO,GAAI;AAChC,UAAM,IAAI,EAAE,CAAC;AACb,QAAIW,MAAM,EAAE,CAAC,GAAG;AACd,MAAAc,EAAE,CAAC;AACH;AAAA,IACF;AACA,QAAIzB,EAAE,UAAU;AACd,YAAMoG,IAAIpG,EAAE,SAAS,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG;AACzC,UAAIW,MAAM,EAAE,CAAC,KAAKyF,GAAG;AACnB,QAAA3E,EAAE,CAAC;AACH;AAAA,MACF;AAAA,IACF;AACA,QAAIzB,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;AACpC,MAAAyB,EAAE,CAAC;AACH;AAAA,IACF;AACA,QAAI,EAAE,OAAO;AACX,MAAAA,EAAE,CAAC;AACH;AAAA,IACF;AACA,QAAI,EAAE,QAAQ,KAAKzB,EAAE,WAAW,OAAO;AACrC,MAAAyB,EAAE,CAAC;AACH;AAAA,IACF;AAAA,EACF;AACF;AACA,SAASiV,GAAG1W,GAAGW,GAAG;AAChB,QAAMC,IAAIZ,EAAE,KAAK,IAAIW,CAAC;AACtB,MAAI,CAACC;AACH,UAAM,IAAI,MAAM,2CAA2C;AAC7D,QAAMY,IAAI,CAAC,MAAM;AACf,UAAM,IAAIxB,EAAE,KAAK,IAAI,CAAC;AACtB,QAAI,EAAE,QAAQ;AACZ;AACF,UAAM,IAAI,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,GAAG,EAAC,GAAI4C,IAAI,EAAE;AACjD,QAAI,EAAE,MAAM,MAAMA,GAAG;AACnB,MAAApB,EAAEoB,CAAC;AACH,YAAME,IAAI9C,EAAE,KAAK,IAAI4C,CAAC,GAAGG,IAAID,EAAE;AAC/B,UAAIC,EAAE,SAAS/C,EAAE,WAAW,cAAcA,EAAE,WAAW,cAAcA,EAAE,WAAW,kBAAkB,EAAE,QAAQ,EAAE,SAAS,CAAA,GAAI,EAAE,MAAM,KAAK+C,CAAC,KAAK,OAAO,OAAO,GAAGA,CAAC,GAAG,OAAO,OAAO,GAAG,CAAC,GAAG,EAAE,KAAK,WAAWH;AAC1M,mBAAWyD,KAAK;AACd,UAAAA,MAAM,UAAUA,MAAM,WAAWA,KAAK,KAAK,OAAO,EAAEA,CAAC;AACzD,UAAItD,EAAE,QAAQD,EAAE;AACd,mBAAWuD,KAAK;AACd,UAAAA,MAAM,UAAUA,MAAM,WAAWA,KAAKvD,EAAE,OAAO,KAAK,UAAU,EAAEuD,CAAC,CAAC,MAAM,KAAK,UAAUvD,EAAE,IAAIuD,CAAC,CAAC,KAAK,OAAO,EAAEA,CAAC;AAAA,IACpH;AACA,UAAMxD,IAAI,EAAE,KAAK;AACjB,QAAIA,KAAKA,MAAMD,GAAG;AAChB,MAAApB,EAAEqB,CAAC;AACH,YAAMC,IAAI9C,EAAE,KAAK,IAAI6C,CAAC;AACtB,UAAIC,GAAG,OAAO,SAAS,EAAE,OAAOA,EAAE,OAAO,MAAMA,EAAE;AAC/C,mBAAWC,KAAK;AACd,UAAAA,MAAM,UAAUA,MAAM,WAAWA,KAAKD,EAAE,OAAO,KAAK,UAAU,EAAEC,CAAC,CAAC,MAAM,KAAK,UAAUD,EAAE,IAAIC,CAAC,CAAC,KAAK,OAAO,EAAEA,CAAC;AAAA,IACpH;AACA,IAAA/C,EAAE,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,MAAM,EAAE,QAAQ,CAAA;AAAA,IACtB,CAAK;AAAA,EACH;AACA,aAAW,KAAK,CAAC,GAAGA,EAAE,KAAK,QAAO,CAAE,EAAE,QAAO;AAC3C,IAAAwB,EAAE,EAAE,CAAC,CAAC;AACR,QAAMX,IAAI,CAAA;AACV,MAAIb,EAAE,WAAW,kBAAkBa,EAAE,UAAU,iDAAiDb,EAAE,WAAW,aAAaa,EAAE,UAAU,4CAA4Cb,EAAE,WAAW,aAAaa,EAAE,UAAU,4CAA4Cb,EAAE,QAAQA,EAAE,UAAU,KAAK;AAC7R,UAAM,IAAIA,EAAE,SAAS,SAAS,IAAIW,CAAC,GAAG;AACtC,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,oCAAoC;AACtD,IAAAE,EAAE,MAAMb,EAAE,SAAS,IAAI,CAAC;AAAA,EAC1B;AACA,SAAO,OAAOa,GAAGD,EAAE,OAAOA,EAAE,MAAM;AAClC,QAAMa,IAAIzB,EAAE,UAAU,QAAQ,CAAA;AAC9B,aAAW,KAAKA,EAAE,KAAK,QAAO,GAAI;AAChC,UAAM,IAAI,EAAE,CAAC;AACb,MAAE,OAAO,EAAE,UAAUyB,EAAE,EAAE,KAAK,IAAI,EAAE;AAAA,EACtC;AACA,EAAAzB,EAAE,YAAY,OAAO,KAAKyB,CAAC,EAAE,SAAS,MAAMzB,EAAE,WAAW,kBAAkBa,EAAE,QAAQY,IAAIZ,EAAE,cAAcY;AACzG,MAAI;AACF,UAAM,IAAI,KAAK,MAAM,KAAK,UAAUZ,CAAC,CAAC;AACtC,WAAO,OAAO,eAAe,GAAG,aAAa;AAAA,MAC3C,OAAO;AAAA,QACL,GAAGF,EAAE,WAAW;AAAA,QAChB,YAAY;AAAA,UACV,OAAOgW,GAAGhW,GAAG,SAASX,EAAE,UAAU;AAAA,UAClC,QAAQ2W,GAAGhW,GAAG,UAAUX,EAAE,UAAU;AAAA,QAC9C;AAAA,MACA;AAAA,MACM,YAAY;AAAA,MACZ,UAAU;AAAA,IAChB,CAAK,GAAG;AAAA,EACN,QAAQ;AACN,UAAM,IAAI,MAAM,kCAAkC;AAAA,EACpD;AACF;AACA,SAASwW,GAAGxW,GAAGW,GAAG;AAChB,QAAMC,IAAID,KAAK,EAAE,MAAsB,oBAAI,IAAG,EAAE;AAChD,MAAIC,EAAE,KAAK,IAAIZ,CAAC;AACd,WAAO;AACT,EAAAY,EAAE,KAAK,IAAIZ,CAAC;AACZ,QAAMwB,IAAIxB,EAAE,KAAK;AACjB,MAAIwB,EAAE,SAAS;AACb,WAAO;AACT,MAAIA,EAAE,SAAS;AACb,WAAOgV,GAAGhV,EAAE,SAASZ,CAAC;AACxB,MAAIY,EAAE,SAAS;AACb,WAAOgV,GAAGhV,EAAE,WAAWZ,CAAC;AAC1B,MAAIY,EAAE,SAAS;AACb,WAAOgV,GAAGhV,EAAE,OAAM,GAAIZ,CAAC;AACzB,MAAIY,EAAE,SAAS,aAAaA,EAAE,SAAS,cAAcA,EAAE,SAAS,iBAAiBA,EAAE,SAAS,cAAcA,EAAE,SAAS,cAAcA,EAAE,SAAS,aAAaA,EAAE,SAAS;AACpK,WAAOgV,GAAGhV,EAAE,WAAWZ,CAAC;AAC1B,MAAIY,EAAE,SAAS;AACb,WAAOgV,GAAGhV,EAAE,MAAMZ,CAAC,KAAK4V,GAAGhV,EAAE,OAAOZ,CAAC;AACvC,MAAIY,EAAE,SAAS,YAAYA,EAAE,SAAS;AACpC,WAAOgV,GAAGhV,EAAE,SAASZ,CAAC,KAAK4V,GAAGhV,EAAE,WAAWZ,CAAC;AAC9C,MAAIY,EAAE,SAAS;AACb,WAAOgV,GAAGhV,EAAE,IAAIZ,CAAC,KAAK4V,GAAGhV,EAAE,KAAKZ,CAAC;AACnC,MAAIY,EAAE,SAAS,UAAU;AACvB,eAAWX,KAAKW,EAAE;AAChB,UAAIgV,GAAGhV,EAAE,MAAMX,CAAC,GAAGD,CAAC;AAClB,eAAO;AACX,WAAO;AAAA,EACT;AACA,MAAIY,EAAE,SAAS,SAAS;AACtB,eAAWX,KAAKW,EAAE;AAChB,UAAIgV,GAAG3V,GAAGD,CAAC;AACT,eAAO;AACX,WAAO;AAAA,EACT;AACA,MAAIY,EAAE,SAAS,SAAS;AACtB,eAAWX,KAAKW,EAAE;AAChB,UAAIgV,GAAG3V,GAAGD,CAAC;AACT,eAAO;AACX,WAAO,CAAC,EAAEY,EAAE,QAAQgV,GAAGhV,EAAE,MAAMZ,CAAC;AAAA,EAClC;AACA,SAAO;AACT;AACA,MAAMgW,KAAK,CAAC5W,GAAGW,IAAI,CAAA,MAAO,CAACC,MAAM;AAC/B,QAAMY,IAAI8U,GAAG,EAAE,GAAG1V,GAAG,YAAYD,GAAG;AACpC,SAAO4V,GAAEvW,GAAGwB,CAAC,GAAGiV,GAAGjV,GAAGxB,CAAC,GAAG0W,GAAGlV,GAAGxB,CAAC;AACnC,GAAG2W,KAAK,CAAC3W,GAAGW,GAAGC,IAAI,CAAA,MAAO,CAACY,MAAM;AAC/B,QAAM,EAAE,gBAAgBX,GAAG,QAAQY,EAAC,IAAKD,KAAK,CAAA,GAAI,IAAI8U,GAAG,EAAE,GAAGzV,KAAK,CAAA,GAAI,QAAQY,GAAG,IAAId,GAAG,YAAYC,GAAG;AACxG,SAAO2V,GAAEvW,GAAG,CAAC,GAAGyW,GAAG,GAAGzW,CAAC,GAAG0W,GAAG,GAAG1W,CAAC;AACnC,GAAG6W,KAAK;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU;AAAA,EACV,aAAa;AAAA,EACb,OAAO;AAAA;AAET,GAAGC,KAAK,CAAC9W,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAID;AACV,EAAAC,EAAE,OAAO;AACT,QAAM,EAAE,SAASY,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,iBAAiB,EAAC,IAAKzB,EAAE,KAAK;AACtF,MAAI,OAAOyB,KAAK,aAAaZ,EAAE,YAAYY,IAAI,OAAO,KAAK,aAAaZ,EAAE,YAAY,IAAI,MAAMA,EAAE,SAASgW,GAAG,CAAC,KAAK,GAAGhW,EAAE,WAAW,MAAM,OAAOA,EAAE,QAAQ,MAAM,UAAU,OAAOA,EAAE,SAAS,MAAMA,EAAE,kBAAkB,IAAI,KAAK,EAAE,OAAO,GAAG;AAC1O,UAAM+B,IAAI,CAAC,GAAG,CAAC;AACf,IAAAA,EAAE,WAAW,IAAI/B,EAAE,UAAU+B,EAAE,CAAC,EAAE,SAASA,EAAE,SAAS,MAAM/B,EAAE,QAAQ;AAAA,MACpE,GAAG+B,EAAE,IAAI,CAACC,OAAO;AAAA,QACf,GAAGlC,EAAE,WAAW,cAAcA,EAAE,WAAW,cAAcA,EAAE,WAAW,gBAAgB,EAAE,MAAM,SAAQ,IAAK,CAAA;AAAA,QAC3G,SAASkC,EAAE;AAAA,MACnB,EAAQ;AAAA,IACR;AAAA,EACE;AACF,GAAGkU,KAAK,CAAC/W,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAID,GAAG,EAAE,SAASa,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,kBAAkB,GAAG,kBAAkBmB,MAAM5C,EAAE,KAAK;AACrH,SAAO,KAAK,YAAY,EAAE,SAAS,KAAK,IAAIa,EAAE,OAAO,YAAYA,EAAE,OAAO,UAAU,OAAO+B,KAAK,aAAajC,EAAE,WAAW,cAAcA,EAAE,WAAW,iBAAiBE,EAAE,UAAU+B,GAAG/B,EAAE,mBAAmB,MAAMA,EAAE,mBAAmB+B,IAAI,OAAOnB,KAAK,aAAaZ,EAAE,UAAUY,GAAG,OAAOmB,KAAK,YAAYjC,EAAE,WAAW,eAAeiC,KAAKnB,IAAI,OAAOZ,EAAE,UAAU,OAAOA,EAAE,oBAAoB,OAAO,KAAK,aAAaF,EAAE,WAAW,cAAcA,EAAE,WAAW,iBAAiBE,EAAE,UAAU,GAAGA,EAAE,mBAAmB,MAAMA,EAAE,mBAAmB,IAAI,OAAO,KAAK,aAAaA,EAAE,UAAU,GAAG,OAAO,KAAK,YAAYF,EAAE,WAAW,eAAe,KAAK,IAAI,OAAOE,EAAE,UAAU,OAAOA,EAAE,oBAAoB,OAAO,KAAK,aAAaA,EAAE,aAAa;AACltB,GAAGmW,KAAK,CAAChX,GAAGW,GAAGC,GAAGY,MAAM;AACtB,EAAAZ,EAAE,OAAO;AACX,GAAGqW,KAAK,CAACjX,GAAGW,GAAGC,GAAGY,MAAM;AACtB,EAAAZ,EAAE,MAAM,CAAA;AACV,GAAGsW,KAAK,CAAClX,GAAGW,GAAGC,GAAGY,MAAM;AACxB,GAAG2V,KAAK,CAACnX,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK,KAAKyB,IAAIsG,GAAGlH,EAAE,OAAO;AACtC,EAAAY,EAAE,MAAM,CAAC,MAAM,OAAO,KAAK,QAAQ,MAAMb,EAAE,OAAO,WAAWa,EAAE,MAAM,CAAC,MAAM,OAAO,KAAK,QAAQ,MAAMb,EAAE,OAAO,WAAWA,EAAE,OAAOa;AACrI,GAAG2V,KAAK,CAACpX,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK,KAAKyB,IAAI,CAAA;AAC1B,aAAW,KAAKZ,EAAE;AAChB,QAAI,MAAM;AACR,UAAIF,EAAE,oBAAoB;AACxB,cAAM,IAAI,MAAM,0DAA0D;AAAA,eACnE,OAAO,KAAK,UAAU;AAC/B,UAAIA,EAAE,oBAAoB;AACxB,cAAM,IAAI,MAAM,sDAAsD;AACxE,MAAAc,EAAE,KAAK,OAAO,CAAC,CAAC;AAAA,IAClB;AACE,MAAAA,EAAE,KAAK,CAAC;AACZ,MAAIA,EAAE,WAAW,EAAG,KAAIA,EAAE,WAAW,GAAG;AACtC,UAAM,IAAIA,EAAE,CAAC;AACb,IAAAb,EAAE,OAAO,MAAM,OAAO,SAAS,OAAO,GAAGD,EAAE,WAAW,cAAcA,EAAE,WAAW,gBAAgBC,EAAE,OAAO,CAAC,CAAC,IAAIA,EAAE,QAAQ;AAAA,EAC5H;AACE,IAAAa,EAAE,MAAM,CAAC,MAAM,OAAO,KAAK,QAAQ,MAAMb,EAAE,OAAO,WAAWa,EAAE,MAAM,CAAC,MAAM,OAAO,KAAK,QAAQ,MAAMb,EAAE,OAAO,WAAWa,EAAE,MAAM,CAAC,MAAM,OAAO,KAAK,SAAS,MAAMb,EAAE,OAAO,YAAYa,EAAE,MAAM,CAAC,MAAM,MAAM,IAAI,MAAMb,EAAE,OAAO,SAASA,EAAE,OAAOa;AACvP,GAAG4V,KAAK,CAACrX,GAAGW,GAAGC,GAAGY,MAAM;AACtB,MAAIb,EAAE,oBAAoB;AACxB,UAAM,IAAI,MAAM,mDAAmD;AACvE,GAAG2W,KAAK,CAACtX,GAAGW,GAAGC,GAAGY,MAAM;AACtB,MAAIb,EAAE,oBAAoB;AACxB,UAAM,IAAI,MAAM,iDAAiD;AACrE,GAAG4W,KAAK,CAACvX,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAID,GAAGa,IAAIzB,EAAE,KAAK,KAAK,EAAE,SAAS,GAAG,SAAS,EAAC,IAAKA,EAAE,KAAK;AACjE,SAAO,KAAK,aAAaa,EAAE,WAAW,IAAI,OAAO,KAAK,aAAaA,EAAE,WAAW,IAAIA,EAAE,OAAO,SAASA,EAAE,QAAQ0V,GAAE9U,EAAE,SAASd,GAAG,EAAE,GAAGa,GAAG,MAAM,CAAC,GAAGA,EAAE,MAAM,OAAO,EAAC,CAAE;AACtK,GAAGgW,KAAK,CAACxX,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAID,GAAGa,IAAIzB,EAAE,KAAK;AACxB,EAAAa,EAAE,OAAO,UAAUA,EAAE,aAAa,CAAA;AAClC,QAAM,IAAIY,EAAE;AACZ,aAAW,KAAK;AACd,IAAAZ,EAAE,WAAW,CAAC,IAAI0V,GAAE,EAAE,CAAC,GAAG5V,GAAG;AAAA,MAC3B,GAAGa;AAAA,MACH,MAAM,CAAC,GAAGA,EAAE,MAAM,cAAc,CAAC;AAAA,IACvC,CAAK;AACH,QAAM,IAAI,IAAI,IAAI,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM;AAClE,UAAMoB,IAAInB,EAAE,MAAM,CAAC,EAAE;AACrB,WAAOd,EAAE,OAAO,UAAUiC,EAAE,UAAU,SAASA,EAAE,WAAW;AAAA,EAC9D,CAAC,CAAC;AACF,IAAE,OAAO,MAAM/B,EAAE,WAAW,MAAM,KAAK,CAAC,IAAIY,EAAE,UAAU,KAAK,IAAI,SAAS,UAAUZ,EAAE,uBAAuB,KAAKY,EAAE,WAAWA,EAAE,aAAaZ,EAAE,uBAAuB0V,GAAE9U,EAAE,UAAUd,GAAG;AAAA,IACtL,GAAGa;AAAA,IACH,MAAM,CAAC,GAAGA,EAAE,MAAM,sBAAsB;AAAA,EAC5C,CAAG,KAAKb,EAAE,OAAO,aAAaE,EAAE,uBAAuB;AACvD,GAAG4W,KAAK,CAACzX,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK,KAAKyB,IAAIZ,EAAE,cAAc,IAAI,IAAIA,EAAE,QAAQ,IAAI,CAAC,GAAG,MAAM0V,GAAE,GAAG5V,GAAG;AAAA,IAChF,GAAGa;AAAA,IACH,MAAM,CAAC,GAAGA,EAAE,MAAMC,IAAI,UAAU,SAAS,CAAC;AAAA,EAC9C,CAAG,CAAC;AACF,EAAAA,IAAIb,EAAE,QAAQ,IAAIA,EAAE,QAAQ;AAC9B,GAAG8W,KAAK,CAAC1X,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK,KAAKyB,IAAI8U,GAAE1V,EAAE,MAAMF,GAAG;AAAA,IACrC,GAAGa;AAAA,IACH,MAAM,CAAC,GAAGA,EAAE,MAAM,SAAS,CAAC;AAAA,EAChC,CAAG,GAAG,IAAI+U,GAAE1V,EAAE,OAAOF,GAAG;AAAA,IACpB,GAAGa;AAAA,IACH,MAAM,CAAC,GAAGA,EAAE,MAAM,SAAS,CAAC;AAAA,EAChC,CAAG,GAAG,IAAI,CAAC,MAAM,WAAW,KAAK,OAAO,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI;AAAA,IAC9D,GAAG,EAAEC,CAAC,IAAIA,EAAE,QAAQ,CAACA,CAAC;AAAA,IACtB,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAAA,EAC1B;AACE,EAAAb,EAAE,QAAQ;AACZ,GAAG+W,KAAK,CAAC3X,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAID,GAAGa,IAAIzB,EAAE,KAAK;AACxB,EAAAa,EAAE,OAAO;AACT,QAAM,IAAIY,EAAE,SAASiE,IAAI,EAAE,KAAK,KAAK;AACrC,MAAIjE,EAAE,SAAS,WAAWiE,KAAKA,EAAE,OAAO,GAAG;AACzC,UAAM9C,IAAI2T,GAAE9U,EAAE,WAAWd,GAAG;AAAA,MAC1B,GAAGa;AAAA,MACH,MAAM,CAAC,GAAGA,EAAE,MAAM,qBAAqB,GAAG;AAAA,IAChD,CAAK;AACD,IAAAX,EAAE,oBAAoB,CAAA;AACtB,eAAW,KAAK6E;AACd,MAAA7E,EAAE,kBAAkB,EAAE,MAAM,IAAI+B;AAAA,EACpC;AACE,KAACjC,EAAE,WAAW,cAAcA,EAAE,WAAW,qBAAqBE,EAAE,gBAAgB0V,GAAE9U,EAAE,SAASd,GAAG;AAAA,MAC9F,GAAGa;AAAA,MACH,MAAM,CAAC,GAAGA,EAAE,MAAM,eAAe;AAAA,IACvC,CAAK,IAAIX,EAAE,uBAAuB0V,GAAE9U,EAAE,WAAWd,GAAG;AAAA,MAC9C,GAAGa;AAAA,MACH,MAAM,CAAC,GAAGA,EAAE,MAAM,sBAAsB;AAAA,IAC9C,CAAK;AACH,QAAM4E,IAAI,EAAE,KAAK;AACjB,MAAIA,GAAG;AACL,UAAMxD,IAAI,CAAC,GAAGwD,CAAC,EAAE,OAAO,CAAC,MAAM,OAAO,KAAK,YAAY,OAAO,KAAK,QAAQ;AAC3E,IAAAxD,EAAE,SAAS,MAAM/B,EAAE,WAAW+B;AAAA,EAChC;AACF,GAAGgV,KAAK,CAAC5X,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK,KAAKyB,IAAI8U,GAAE1V,EAAE,WAAWF,GAAGa,CAAC,GAAG,IAAIb,EAAE,KAAK,IAAIX,CAAC;AAChE,EAAAW,EAAE,WAAW,iBAAiB,EAAE,MAAME,EAAE,WAAWD,EAAE,WAAW,MAAMA,EAAE,QAAQ,CAACa,GAAG,EAAE,MAAM,QAAQ;AACtG,GAAGoW,KAAK,CAAC7X,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK;AACjB,EAAAuW,GAAE1V,EAAE,WAAWF,GAAGa,CAAC;AACnB,QAAMC,IAAId,EAAE,KAAK,IAAIX,CAAC;AACtB,EAAAyB,EAAE,MAAMZ,EAAE;AACZ,GAAGiX,KAAK,CAAC9X,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK;AACjB,EAAAuW,GAAE1V,EAAE,WAAWF,GAAGa,CAAC;AACnB,QAAMC,IAAId,EAAE,KAAK,IAAIX,CAAC;AACtB,EAAAyB,EAAE,MAAMZ,EAAE,WAAWD,EAAE,UAAU,KAAK,MAAM,KAAK,UAAUC,EAAE,YAAY,CAAC;AAC5E,GAAGkX,KAAK,CAAC/X,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK;AACjB,EAAAuW,GAAE1V,EAAE,WAAWF,GAAGa,CAAC;AACnB,QAAMC,IAAId,EAAE,KAAK,IAAIX,CAAC;AACtB,EAAAyB,EAAE,MAAMZ,EAAE,WAAWF,EAAE,OAAO,YAAYC,EAAE,YAAY,KAAK,MAAM,KAAK,UAAUC,EAAE,YAAY,CAAC;AACnG,GAAGmX,KAAK,CAAChY,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK;AACjB,EAAAuW,GAAE1V,EAAE,WAAWF,GAAGa,CAAC;AACnB,QAAMC,IAAId,EAAE,KAAK,IAAIX,CAAC;AACtB,EAAAyB,EAAE,MAAMZ,EAAE;AACV,MAAI;AACJ,MAAI;AACF,QAAIA,EAAE,WAAW,MAAM;AAAA,EACzB,QAAQ;AACN,UAAM,IAAI,MAAM,uDAAuD;AAAA,EACzE;AACA,EAAAD,EAAE,UAAU;AACd,GAAGqX,KAAK,CAACjY,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK,KAAKyB,IAAId,EAAE,OAAO,UAAUE,EAAE,GAAG,KAAK,IAAI,SAAS,cAAcA,EAAE,MAAMA,EAAE,KAAKA,EAAE;AACnG,EAAA0V,GAAE9U,GAAGd,GAAGa,CAAC;AACT,QAAM,IAAIb,EAAE,KAAK,IAAIX,CAAC;AACtB,IAAE,MAAMyB;AACV,GAAGyW,KAAK,CAAClY,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK;AACjB,EAAAuW,GAAE1V,EAAE,WAAWF,GAAGa,CAAC;AACnB,QAAMC,IAAId,EAAE,KAAK,IAAIX,CAAC;AACtB,EAAAyB,EAAE,MAAMZ,EAAE,WAAWD,EAAE,WAAW;AACpC,GAAGuX,KAAK,CAACnY,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK;AACjB,EAAAuW,GAAE1V,EAAE,WAAWF,GAAGa,CAAC;AACnB,QAAMC,IAAId,EAAE,KAAK,IAAIX,CAAC;AACtB,EAAAyB,EAAE,MAAMZ,EAAE;AACZ,GAAGuX,KAAK,CAACpY,GAAGW,GAAGC,GAAGY,MAAM;AACtB,QAAMX,IAAIb,EAAE,KAAK;AACjB,EAAAuW,GAAE1V,GAAGF,GAAGa,CAAC;AACT,QAAMC,IAAId,EAAE,KAAK,IAAIX,CAAC;AACtB,EAAAyB,EAAE,MAAMZ;AACV,GAAGwX,KAAqB,gBAAA3Q,EAAE,kBAAkB,CAAC1H,GAAGW,MAAM;AACpD,EAAAyO,GAAG,KAAKpP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC;AACD,SAAS4X,GAAGvY,GAAG;AACb,SAAuB,gBAAAqU,GAAGgE,IAAIrY,CAAC;AACjC;AACA,MAAMwY,KAAqB,gBAAA9Q,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACnD,EAAA0O,GAAG,KAAKrP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC;AACD,SAAS8X,GAAGzY,GAAG;AACb,SAAuB,gBAAAsU,GAAGkE,IAAIxY,CAAC;AACjC;AACA,MAAM0Y,KAAqB,gBAAAhR,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACnD,EAAA2O,GAAG,KAAKtP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC;AACD,SAASgY,GAAG3Y,GAAG;AACb,SAAuB,gBAAAuU,GAAGmE,IAAI1Y,CAAC;AACjC;AACA,MAAM4Y,KAAqB,gBAAAlR,EAAE,kBAAkB,CAAC1H,GAAGW,MAAM;AACvD,EAAA4O,GAAG,KAAKvP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC;AACD,SAASkY,GAAG7Y,GAAG;AACb,SAAuB,gBAAAwU,GAAGoE,IAAI5Y,CAAC;AACjC;AACA,MAAM8Y,KAAK,CAAC9Y,GAAGW,MAAM;AACnB,EAAAwJ,GAAG,KAAKnK,GAAGW,CAAC,GAAGX,EAAE,OAAO,YAAY,OAAO,iBAAiBA,GAAG;AAAA,IAC7D,QAAQ;AAAA,MACN,OAAO,CAACY,MAAM0J,GAAGtK,GAAGY,CAAC;AAAA;AAAA,IAE3B;AAAA,IACI,SAAS;AAAA,MACP,OAAO,CAACA,MAAMyJ,GAAGrK,GAAGY,CAAC;AAAA;AAAA,IAE3B;AAAA,IACI,UAAU;AAAA,MACR,OAAO,CAACA,MAAM;AACZ,QAAAZ,EAAE,OAAO,KAAKY,CAAC,GAAGZ,EAAE,UAAU,KAAK,UAAUA,EAAE,QAAQgI,IAAI,CAAC;AAAA,MAC9D;AAAA;AAAA,IAEN;AAAA,IACI,WAAW;AAAA,MACT,OAAO,CAACpH,MAAM;AACZ,QAAAZ,EAAE,OAAO,KAAK,GAAGY,CAAC,GAAGZ,EAAE,UAAU,KAAK,UAAUA,EAAE,QAAQgI,IAAI,CAAC;AAAA,MACjE;AAAA;AAAA,IAEN;AAAA,IACI,SAAS;AAAA,MACP,MAAM;AACJ,eAAOhI,EAAE,OAAO,WAAW;AAAA,MAC7B;AAAA;AAAA,IAEN;AAAA,EACA,CAAG;AACH,GAAG+Y,KAAKrR,EAAE,YAAYoR,IAAI;AAAA,EACxB,QAAQ;AACV,CAAC,GAAGE,KAAqB,gBAAAzO,GAAGwO,EAAE,GAAG1a,KAAqB,gBAAAmM,GAAGuO,EAAE,GAAGE,KAAqB,gBAAAxO,GAAGsO,EAAE,GAAGG,KAAqB,gBAAAvO,GAAGoO,EAAE,GAAGI,KAAqBtO,gBAAAA,GAAGkO,EAAE,GAAGK,KAAqB,gBAAAtO,GAAGiO,EAAE,GAAGM,KAAqB,gBAAAtO,GAAGgO,EAAE,GAAGO,KAAqB,gBAAAtO,GAAG+N,EAAE,GAAGQ,KAAqB,gBAAAtO,GAAG8N,EAAE,GAAGS,KAAqB,gBAAAtO,GAAG6N,EAAE,GAAGU,KAAqB,gBAAAtO,GAAG4N,EAAE,GAAGW,KAAqB,gBAAAtO,GAAG2N,EAAE,GAAGY,IAAoB,gBAAAjS,EAAE,WAAW,CAAC1H,GAAGW,OAAO2N,EAAE,KAAKtO,GAAGW,CAAC,GAAG,OAAO,OAAOX,EAAE,WAAW,GAAG;AAAA,EACtb,YAAY;AAAA,IACV,OAAO2W,GAAG3W,GAAG,OAAO;AAAA,IACpB,QAAQ2W,GAAG3W,GAAG,QAAQ;AAAA,EAC1B;AACA,CAAC,GAAGA,EAAE,eAAe4W,GAAG5W,GAAG,CAAA,CAAE,GAAGA,EAAE,MAAMW,GAAGX,EAAE,OAAOW,EAAE,MAAM,OAAO,eAAeX,GAAG,QAAQ,EAAE,OAAOW,EAAC,CAAE,GAAGX,EAAE,QAAQ,IAAIY,MAAMZ,EAAE,MAAMuI,GAAG5H,GAAG;AAAA,EAC5I,QAAQ;AAAA,IACN,GAAGA,EAAE,UAAU,CAAA;AAAA,IACf,GAAGC,EAAE,IAAI,CAACY,MAAM,OAAOA,KAAK,aAAa,EAAE,MAAM,EAAE,OAAOA,GAAG,KAAK,EAAE,OAAO,SAAQ,GAAI,UAAU,CAAA,EAAE,EAAE,IAAKA,CAAC;AAAA,EAC/G;AACA,CAAC,GAAG;AAAA,EACF,QAAQ;AACV,CAAC,GAAGxB,EAAE,OAAOA,EAAE,OAAOA,EAAE,QAAQ,CAACY,GAAGY,MAAMyH,GAAGjJ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,QAAQ,MAAMA,GAAGA,EAAE,YAAY,CAACY,GAAGY,OAAOZ,EAAE,IAAIZ,GAAGwB,CAAC,GAAGxB,KAAKA,EAAE,QAAQ,CAACY,GAAGY,MAAMwX,GAAGhZ,GAAGY,GAAGY,GAAG,EAAE,QAAQxB,EAAE,MAAK,CAAE,GAAGA,EAAE,YAAY,CAACY,GAAGY,MAAMyX,GAAGjZ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,aAAa,OAAOY,GAAGY,MAAMnD,GAAG2B,GAAGY,GAAGY,GAAG,EAAE,QAAQxB,EAAE,WAAU,CAAE,GAAGA,EAAE,iBAAiB,OAAOY,GAAGY,MAAM0X,GAAGlZ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,MAAMA,EAAE,gBAAgBA,EAAE,SAAS,CAACY,GAAGY,MAAM2X,GAAGnZ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,SAAS,CAACY,GAAGY,MAAM4X,GAAGpZ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,cAAc,OAAOY,GAAGY,MAAM6X,GAAGrZ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,cAAc,OAAOY,GAAGY,MAAM8X,GAAGtZ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,aAAa,CAACY,GAAGY,MAAM+X,GAAGvZ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,aAAa,CAACY,GAAGY,MAAMgY,GAAGxZ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,kBAAkB,OAAOY,GAAGY,MAAMiY,GAAGzZ,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,kBAAkB,OAAOY,GAAGY,MAAMkY,GAAG1Z,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,SAAS,CAACY,GAAGY,MAAMxB,EAAE,MAAM4Z,GAAGhZ,GAAGY,CAAC,CAAC,GAAGxB,EAAE,cAAc,CAACY,MAAMZ,EAAE,MAAM6Z,GAAGjZ,CAAC,CAAC,GAAGZ,EAAE,YAAY,CAACY,MAAMZ,EAAE,MAAsB,gBAAA4V,GAAGhV,CAAC,CAAC,GAAGZ,EAAE,WAAW,MAAM8Z,GAAG9Z,CAAC,GAAGA,EAAE,gBAAgB,MAAM+Z,GAAG/Z,CAAC,GAAGA,EAAE,WAAW,MAAMga,GAAGha,CAAC,GAAGA,EAAE,UAAU,MAAM8Z,GAAGE,GAAGha,CAAC,CAAC,GAAGA,EAAE,cAAc,CAACY,MAAMqZ,GAAGja,GAAGY,CAAC,GAAGZ,EAAE,QAAQ,MAAMka,GAAGla,CAAC,GAAGA,EAAE,KAAK,CAACY,MAAMuZ,GAAG,CAACna,GAAGY,CAAC,CAAC,GAAGZ,EAAE,MAAM,CAACY,MAAMwZ,GAAGpa,GAAGY,CAAC,GAAGZ,EAAE,YAAY,CAACY,MAAMyZ,GAAGra,GAAGsa,GAAG1Z,CAAC,CAAC,GAAGZ,EAAE,UAAU,CAACY,MAAM2Z,GAAGva,GAAGY,CAAC,GAAGZ,EAAE,WAAW,CAACY,MAAM4Z,GAAGxa,GAAGY,CAAC,GAAGZ,EAAE,QAAQ,CAACY,MAAM6Z,GAAGza,GAAGY,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMyZ,GAAGra,GAAGY,CAAC,GAAGZ,EAAE,WAAW,MAAM0a,GAAG1a,CAAC,GAAGA,EAAE,WAAW,CAACY,MAAM;AAC1sC,QAAMY,IAAIxB,EAAE,MAAK;AACjB,SAAO6S,GAAG,IAAIrR,GAAG,EAAE,aAAaZ,EAAC,CAAE,GAAGY;AACxC,GAAG,OAAO,eAAexB,GAAG,eAAe;AAAA,EACzC,MAAM;AACJ,WAAO6S,GAAG,IAAI7S,CAAC,GAAG;AAAA,EACpB;AAAA,EACA,cAAc;AAChB,CAAC,GAAGA,EAAE,OAAO,IAAIY,MAAM;AACrB,MAAIA,EAAE,WAAW;AACf,WAAOiS,GAAG,IAAI7S,CAAC;AACjB,QAAMwB,IAAIxB,EAAE,MAAK;AACjB,SAAO6S,GAAG,IAAIrR,GAAGZ,EAAE,CAAC,CAAC,GAAGY;AAC1B,GAAGxB,EAAE,aAAa,MAAMA,EAAE,UAAU,MAAM,EAAE,SAASA,EAAE,aAAa,MAAMA,EAAE,UAAU,IAAI,EAAE,SAASA,EAAE,QAAQ,CAACY,MAAMA,EAAEZ,CAAC,GAAGA,EAAE,GAAG2a,KAAqB,gBAAAjT,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AAC9K,EAAA4N,GAAG,KAAKvO,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACwB,GAAGX,GAAGY,MAAMqV,GAAG9W,GAAGwB,GAAGX,CAAC;AAC/E,QAAMD,IAAIZ,EAAE,KAAK;AACjB,EAAAA,EAAE,SAASY,EAAE,UAAU,MAAMZ,EAAE,YAAYY,EAAE,WAAW,MAAMZ,EAAE,YAAYY,EAAE,WAAW,MAAMZ,EAAE,QAAQ,IAAIwB,MAAMxB,EAAE,MAAsB,gBAAAsV,GAAG,GAAG9T,CAAC,CAAC,GAAGxB,EAAE,WAAW,IAAIwB,MAAMxB,EAAE,MAAsB,gBAAAyV,GAAG,GAAGjU,CAAC,CAAC,GAAGxB,EAAE,aAAa,IAAIwB,MAAMxB,EAAE,MAAsB,gBAAA0V,GAAG,GAAGlU,CAAC,CAAC,GAAGxB,EAAE,WAAW,IAAIwB,MAAMxB,EAAE,MAAsB,gBAAA2V,GAAG,GAAGnU,CAAC,CAAC,GAAGxB,EAAE,MAAM,IAAIwB,MAAMxB,EAAE,MAAsB,gBAAAoV,GAAG,GAAG5T,CAAC,CAAC,GAAGxB,EAAE,MAAM,IAAIwB,MAAMxB,EAAE,MAAsB,gBAAAmV,GAAG,GAAG3T,CAAC,CAAC,GAAGxB,EAAE,SAAS,IAAIwB,MAAMxB,EAAE,MAAsB,gBAAAqV,GAAG,GAAG7T,CAAC,CAAC,GAAGxB,EAAE,WAAW,IAAIwB,MAAMxB,EAAE,MAAsB,gBAAAoV,GAAG,GAAG,GAAG5T,CAAC,CAAC,GAAGxB,EAAE,YAAY,CAACwB,MAAMxB,EAAE,MAAsB,gBAAAuV,GAAG/T,CAAC,CAAC,GAAGxB,EAAE,YAAY,CAACwB,MAAMxB,EAAE,MAAsB,gBAAAwV,GAAGhU,CAAC,CAAC,GAAGxB,EAAE,OAAO,MAAMA,EAAE,MAAsB,gBAAA8V,GAAE,CAAE,GAAG9V,EAAE,YAAY,IAAIwB,MAAMxB,EAAE,MAAsB,gBAAA6V,GAAG,GAAGrU,CAAC,CAAC,GAAGxB,EAAE,cAAc,MAAMA,EAAE,MAAsB,gBAAA+V,GAAE,CAAE,GAAG/V,EAAE,cAAc,MAAMA,EAAE,MAAsB,gBAAAgW,GAAE,CAAE,GAAGhW,EAAE,UAAU,MAAMA,EAAE,MAAsB,gBAAAiW,IAAI;AACl5B,CAAC,GAAG2E,KAAqB,gBAAAlT,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAA4N,GAAG,KAAKvO,GAAGW,CAAC,GAAGga,GAAG,KAAK3a,GAAGW,CAAC,GAAGX,EAAE,QAAQ,CAACY,MAAMZ,EAAE,MAAsB,gBAAA+S,GAAG8H,IAAIja,CAAC,CAAC,GAAGZ,EAAE,MAAM,CAACY,MAAMZ,EAAE,MAAsB,gBAAAqT,GAAGyH,IAAIla,CAAC,CAAC,GAAGZ,EAAE,MAAM,CAACY,MAAMZ,EAAE,MAAsB,gBAAAoU,GAAG2G,IAAIna,CAAC,CAAC,GAAGZ,EAAE,QAAQ,CAACY,MAAMZ,EAAE,MAAsB,gBAAAsT,GAAG0H,IAAIpa,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAsB,gBAAAgT,GAAGiI,IAAIra,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAsB,gBAAAiT,GAAGiI,IAAIta,CAAC,CAAC,GAAGZ,EAAE,SAAS,CAACY,MAAMZ,EAAE,MAAsB,gBAAAkT,GAAGgI,IAAIta,CAAC,CAAC,GAAGZ,EAAE,SAAS,CAACY,MAAMZ,EAAE,MAAsB,gBAAAmT,GAAG+H,IAAIta,CAAC,CAAC,GAAGZ,EAAE,SAAS,CAACY,MAAMZ,EAAE,MAAsB,gBAAAoT,GAAG8H,IAAIta,CAAC,CAAC,GAAGZ,EAAE,SAAS,CAACY,MAAMZ,EAAE,MAAsB,gBAAAuT,GAAG4H,IAAIva,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAsB,gBAAAgT,GAAGiI,IAAIra,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAsB,gBAAAwT,GAAG4H,IAAIxa,CAAC,CAAC,GAAGZ,EAAE,QAAQ,CAACY,MAAMZ,EAAE,MAAsB,gBAAAyT,GAAG4H,IAAIza,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAsB,gBAAA0T,GAAG4H,IAAI1a,CAAC,CAAC,GAAGZ,EAAE,SAAS,CAACY,MAAMZ,EAAE,MAAsB,gBAAAiU,GAAGsH,IAAI3a,CAAC,CAAC,GAAGZ,EAAE,YAAY,CAACY,MAAMZ,EAAE,MAAsB,gBAAAkU,GAAGsH,IAAI5a,CAAC,CAAC,GAAGZ,EAAE,MAAM,CAACY,MAAMZ,EAAE,MAAsB,gBAAA2T,GAAG8H,IAAI7a,CAAC,CAAC,GAAGZ,EAAE,QAAQ,CAACY,MAAMZ,EAAE,MAAsB,gBAAA4T,GAAG8H,IAAI9a,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAsB,gBAAA6T,GAAG8H,IAAI/a,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAsB,gBAAA8T,GAAG8H,IAAIhb,CAAC,CAAC,GAAGZ,EAAE,SAAS,CAACY,MAAMZ,EAAE,MAAsB,gBAAA+T,GAAG8H,IAAIjb,CAAC,CAAC,GAAGZ,EAAE,SAAS,CAACY,MAAMZ,EAAE,MAAsB,gBAAAgU,GAAG8H,IAAIlb,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAsB,gBAAAmU,GAAG4H,IAAInb,CAAC,CAAC,GAAGZ,EAAE,WAAW,CAACY,MAAMZ,EAAE,MAAMuY,GAAG3X,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAMyY,GAAG7X,CAAC,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMZ,EAAE,MAAM2Y,GAAG/X,CAAC,CAAC,GAAGZ,EAAE,WAAW,CAACY,MAAMZ,EAAE,MAAM6Y,GAAGjY,CAAC,CAAC;AACr2C,CAAC;AACD,SAASob,EAAEhc,GAAG;AACZ,SAAuB,gBAAA8S,GAAG8H,IAAI5a,CAAC;AACjC;AACA,MAAMsY,KAAoB,gBAAA5Q,EAAE,mBAAmB,CAAC1H,GAAGW,MAAM;AACvD,EAAA6N,EAAE,KAAKxO,GAAGW,CAAC,GAAGga,GAAG,KAAK3a,GAAGW,CAAC;AAC5B,CAAC,GAAGka,KAAqB,gBAAAnT,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAgO,GAAG,KAAK3O,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGsa,KAAqB,gBAAAvT,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAC9C,EAAA8N,GAAG,KAAKzO,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGua,KAAqB,gBAAAxT,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAC9C,EAAA+N,GAAG,KAAK1O,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGma,KAAqB,gBAAApT,EAAE,UAAU,CAAC1H,GAAGW,MAAM;AAC7C,EAAAiO,GAAG,KAAK5O,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGqa,KAAqB,gBAAAtT,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAkO,GAAG,KAAK7O,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGwa,KAAqB,gBAAAzT,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAAmO,GAAG,KAAK9O,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGya,KAAqB,gBAAA1T,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAC9C,EAAAoO,GAAG,KAAK/O,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAG0a,KAAqB,gBAAA3T,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAqO,GAAG,KAAKhP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAG2a,KAAqB,gBAAA5T,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAC9C,EAAAsO,GAAG,KAAKjP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAG8a,KAAqB,gBAAA/T,EAAE,UAAU,CAAC1H,GAAGW,MAAM;AAC7C,EAAAuO,GAAG,KAAKlP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAG+a,KAAqB,gBAAAhU,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AAC/C,EAAAwO,GAAG,KAAKnP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGgb,KAAqB,gBAAAjU,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAC9C,EAAA6O,GAAG,KAAKxP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGib,KAAqB,gBAAAlU,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAC9C,EAAA8O,GAAG,KAAKzP,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGkb,KAAqB,gBAAAnU,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAA+O,GAAG,KAAK1P,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGmb,KAAqB,gBAAApU,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAAgP,GAAG,KAAK3P,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAG4a,KAAqB,gBAAA7T,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAAkP,GAAG,KAAK7P,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAG6a,KAAqB,gBAAA9T,EAAE,gBAAgB,CAAC1H,GAAGW,MAAM;AACnD,EAAAoP,GAAG,KAAK/P,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGob,KAAqB,gBAAArU,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAC9C,EAAAqP,GAAG,KAAKhQ,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGoa,KAAqB,gBAAArT,EAAE,UAAU,CAAC1H,GAAGW,MAAM;AAC7C,EAAAuP,GAAG,KAAKlQ,GAAGW,CAAC,GAAG2X,GAAE,KAAKtY,GAAGW,CAAC;AAC5B,CAAC,GAAGsb,KAAqB,gBAAAvU,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAChD,EAAAwP,GAAG,KAAKnQ,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACwB,GAAGX,GAAGY,MAAMsV,GAAG/W,GAAGwB,GAAGX,CAAC,GAAGb,EAAE,KAAK,CAACwB,GAAGX,MAAMb,EAAE,MAAsB,gBAAAgV,GAAGxT,GAAGX,CAAC,CAAC,GAAGb,EAAE,MAAM,CAACwB,GAAGX,MAAMb,EAAE,MAAsB,gBAAAiV,GAAGzT,GAAGX,CAAC,CAAC,GAAGb,EAAE,MAAM,CAACwB,GAAGX,MAAMb,EAAE,MAAsB,gBAAAiV,GAAGzT,GAAGX,CAAC,CAAC,GAAGb,EAAE,KAAK,CAACwB,GAAGX,MAAMb,EAAE,MAAsB,gBAAA8U,GAAGtT,GAAGX,CAAC,CAAC,GAAGb,EAAE,MAAM,CAACwB,GAAGX,MAAMb,EAAE,MAAsB,gBAAA+U,GAAGvT,GAAGX,CAAC,CAAC,GAAGb,EAAE,MAAM,CAACwB,GAAGX,MAAMb,EAAE,MAAsB,gBAAA+U,GAAGvT,GAAGX,CAAC,CAAC,GAAGb,EAAE,MAAM,CAACwB,MAAMxB,EAAE,MAAMkc,GAAG1a,CAAC,CAAC,GAAGxB,EAAE,OAAO,CAACwB,MAAMxB,EAAE,MAAMkc,GAAG1a,CAAC,CAAC,GAAGxB,EAAE,WAAW,CAACwB,MAAMxB,EAAE,MAAsB,gBAAAgV,GAAG,GAAGxT,CAAC,CAAC,GAAGxB,EAAE,cAAc,CAACwB,MAAMxB,EAAE,MAAsB,gBAAAiV,GAAG,GAAGzT,CAAC,CAAC,GAAGxB,EAAE,WAAW,CAACwB,MAAMxB,EAAE,MAAsB,gBAAA8U,GAAG,GAAGtT,CAAC,CAAC,GAAGxB,EAAE,cAAc,CAACwB,MAAMxB,EAAE,MAAsB,gBAAA+U,GAAG,GAAGvT,CAAC,CAAC,GAAGxB,EAAE,aAAa,CAACwB,GAAGX,MAAMb,EAAE,MAAsB,gBAAAkV,GAAG1T,GAAGX,CAAC,CAAC,GAAGb,EAAE,OAAO,CAACwB,GAAGX,MAAMb,EAAE,MAAsB,gBAAAkV,GAAG1T,GAAGX,CAAC,CAAC,GAAGb,EAAE,SAAS,MAAMA;AAClzB,QAAMY,IAAIZ,EAAE,KAAK;AACjB,EAAAA,EAAE,WAAW,KAAK,IAAIY,EAAE,WAAW,OAAO,mBAAmBA,EAAE,oBAAoB,OAAO,iBAAiB,KAAK,MAAMZ,EAAE,WAAW,KAAK,IAAIY,EAAE,WAAW,OAAO,mBAAmBA,EAAE,oBAAoB,OAAO,iBAAiB,KAAK,MAAMZ,EAAE,SAASY,EAAE,UAAU,IAAI,SAAS,KAAK,KAAK,OAAO,cAAcA,EAAE,cAAc,GAAG,GAAGZ,EAAE,WAAW,IAAIA,EAAE,SAASY,EAAE,UAAU;AAC/W,CAAC;AACD,SAASub,GAAGnc,GAAG;AACb,SAAuB,gBAAAyU,GAAGwH,IAAIjc,CAAC;AACjC;AACA,MAAMoc,KAAqB,gBAAA1U,EAAE,mBAAmB,CAAC1H,GAAGW,MAAM;AACxD,EAAAyP,GAAG,KAAKpQ,GAAGW,CAAC,GAAGsb,GAAG,KAAKjc,GAAGW,CAAC;AAC7B,CAAC;AACD,SAASub,GAAGlc,GAAG;AACb,SAAuB,gBAAA0U,GAAG0H,IAAIpc,CAAC;AACjC;AACA,MAAMqc,KAAqB,gBAAA3U,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACnD,EAAA0P,GAAG,KAAKrQ,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMmW,GAAGhX,GAAGY,GAAGY,CAAC;AACjF,CAAC;AACD,SAAS8a,GAAGtc,GAAG;AACb,SAAuB,gBAAA2U,GAAG0H,IAAIrc,CAAC;AACjC;AACA,MAAMuc,KAAqB,gBAAA7U,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACnD,EAAA2P,GAAG,KAAKtQ,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMqW,GAAE;AACzE,CAAC;AACD,SAASsF,KAAK;AACZ,SAAuB,gBAAA5H,GAAG2H,EAAE;AAC9B;AACA,MAAME,KAAqB,gBAAA/U,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AACjD,EAAA4P,GAAG,KAAKvQ,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMoW,GAAGjX,GAAGY,GAAGY,CAAC;AACjF,CAAC;AACD,SAASkb,GAAG1c,GAAG;AACb,SAAuB,gBAAA6U,GAAG4H,IAAIzc,CAAC;AACjC;AACA,MAAM2c,KAAqB,gBAAAjV,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AACjD,EAAA8P,GAAG,KAAKzQ,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAM0W,GAAGvX,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,UAAUW,EAAE,SAASX,EAAE,MAAM,CAACY,GAAGY,MAAMxB,EAAE,MAAsB,gBAAAoV,GAAGxU,GAAGY,CAAC,CAAC,GAAGxB,EAAE,WAAW,CAACY,MAAMZ,EAAE,MAAsB,gBAAAoV,GAAG,GAAGxU,CAAC,CAAC,GAAGZ,EAAE,MAAM,CAACY,GAAGY,MAAMxB,EAAE,MAAsB,gBAAAmV,GAAGvU,GAAGY,CAAC,CAAC,GAAGxB,EAAE,SAAS,CAACY,GAAGY,MAAMxB,EAAE,MAAsB,gBAAAqV,GAAGzU,GAAGY,CAAC,CAAC,GAAGxB,EAAE,SAAS,MAAMA,EAAE;AAC1V,CAAC;AACD,SAASka,GAAGla,GAAGW,GAAG;AAChB,SAAuB,gBAAAuV,GAAGyG,IAAI3c,GAAGW,CAAC;AACpC;AACA,MAAMic,KAAqB,gBAAAlV,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAClD,EAAAmQ,GAAG,KAAK9Q,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAM2W,GAAGxX,GAAGY,GAAGY,GAAGX,CAAC,GAAG,EAAEb,GAAG,SAAS,MAAMW,EAAE,KAAK,GAAGX,EAAE,QAAQ,MAAM6c,GAAG,OAAO,KAAK7c,EAAE,KAAK,IAAI,KAAK,CAAC,GAAGA,EAAE,WAAW,CAACY,MAAMZ,EAAE,MAAM,EAAE,GAAGA,EAAE,KAAK,KAAK,UAAUY,EAAC,CAAE,GAAGZ,EAAE,cAAc,MAAMA,EAAE,MAAM,EAAE,GAAGA,EAAE,KAAK,KAAK,UAAUwc,GAAE,EAAE,CAAE,GAAGxc,EAAE,QAAQ,MAAMA,EAAE,MAAM,EAAE,GAAGA,EAAE,KAAK,KAAK,UAAUwc,GAAE,EAAE,CAAE,GAAGxc,EAAE,SAAS,MAAMA,EAAE,MAAM,EAAE,GAAGA,EAAE,KAAK,KAAK,UAAU0c,GAAE,EAAE,CAAE,GAAG1c,EAAE,QAAQ,MAAMA,EAAE,MAAM,EAAE,GAAGA,EAAE,KAAK,KAAK,UAAU,OAAM,CAAE,GAAGA,EAAE,SAAS,CAACY,MAAM2I,GAAGvJ,GAAGY,CAAC,GAAGZ,EAAE,aAAa,CAACY,MAAM4I,GAAGxJ,GAAGY,CAAC,GAAGZ,EAAE,QAAQ,CAACY,MAAM6I,GAAGzJ,GAAGY,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAMyI,GAAGrJ,GAAGY,CAAC,GAAGZ,EAAE,OAAO,CAACY,MAAM0I,GAAGtJ,GAAGY,CAAC,GAAGZ,EAAE,UAAU,IAAIY,MAAM8I,GAAGoT,IAAI9c,GAAGY,EAAE,CAAC,CAAC,GAAGZ,EAAE,WAAW,IAAIY,MAAM+I,GAAGoT,IAAI/c,GAAGY,EAAE,CAAC,CAAC;AACrrB,CAAC;AACD,SAASoc,GAAGhd,GAAGW,GAAG;AAChB,QAAMC,IAAI;AAAA,IACR,MAAM;AAAA,IACN,OAAOZ,KAAK,CAAA;AAAA,IACZ,GAAGkJ,EAAEvI,CAAC;AAAA,EACV;AACE,SAAO,IAAIic,GAAGhc,CAAC;AACjB;AACA,SAASqc,GAAGjd,GAAGW,GAAG;AAChB,SAAO,IAAIic,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,OAAO5c;AAAA,IACP,UAAUwc,GAAE;AAAA,IACZ,GAAGtT,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AACA,MAAMuc,KAAqB,gBAAAxV,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AACjD,EAAAqQ,GAAG,KAAKhR,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAM4W,GAAGzX,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,UAAUW,EAAE;AACrG,CAAC;AACD,SAASwZ,GAAGna,GAAGW,GAAG;AAChB,SAAO,IAAIuc,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,SAASld;AAAA,IACT,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AACA,MAAMwc,KAAqB,gBAAAzV,EAAE,yBAAyB,CAAC1H,GAAGW,MAAM;AAC9D,EAAAuc,GAAG,KAAKld,GAAGW,CAAC,GAAGsQ,GAAG,KAAKjR,GAAGW,CAAC;AAC7B,CAAC;AACD,SAASyc,GAAGpd,GAAGW,GAAGC,GAAG;AACnB,SAAO,IAAIuc,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,SAASxc;AAAA,IACT,eAAeX;AAAA,IACf,GAAGkJ,EAAEtI,CAAC;AAAA,EACV,CAAG;AACH;AACA,MAAMyc,KAAqB,gBAAA3V,EAAE,mBAAmB,CAAC1H,GAAGW,MAAM;AACxD,EAAAuQ,GAAG,KAAKlR,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAM6W,GAAG1X,GAAGY,GAAGY,GAAGX,CAAC;AACpF,CAAC;AACD,SAASuZ,GAAGpa,GAAGW,GAAG;AAChB,SAAO,IAAI0c,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,MAAMrd;AAAA,IACN,OAAOW;AAAA,EACX,CAAG;AACH;AACA,MAAM2c,KAAqB,gBAAA5V,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAClD,EAAA0Q,GAAG,KAAKrR,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAM8W,GAAG3X,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,UAAUW,EAAE,SAASX,EAAE,YAAYW,EAAE;AAC9H,CAAC;AACD,SAAS4c,GAAGvd,GAAGW,GAAGC,GAAG;AACnB,SAAO,IAAI0c,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,SAAStd;AAAA,IACT,WAAWW;AAAA,IACX,GAAGuI,EAAEtI,CAAC;AAAA,EACV,CAAG;AACH;AACA,MAAM4c,KAAqB,gBAAA9V,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAChD,EAAA2Q,GAAG,KAAKtR,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACwB,GAAGX,GAAGY,MAAM0V,GAAGnX,GAAGwB,GAAGX,CAAC,GAAGb,EAAE,OAAOW,EAAE,SAASX,EAAE,UAAU,OAAO,OAAOW,EAAE,OAAO;AACzI,QAAMC,IAAI,IAAI,IAAI,OAAO,KAAKD,EAAE,OAAO,CAAC;AACxC,EAAAX,EAAE,UAAU,CAACwB,GAAGX,MAAM;AACpB,UAAMY,IAAI,CAAA;AACV,eAAW,KAAKD;AACd,UAAIZ,EAAE,IAAI,CAAC;AACT,QAAAa,EAAE,CAAC,IAAId,EAAE,QAAQ,CAAC;AAAA;AAElB,cAAM,IAAI,MAAM,OAAO,CAAC,oBAAoB;AAChD,WAAO,IAAI6c,GAAG;AAAA,MACZ,GAAG7c;AAAA,MACH,QAAQ,CAAA;AAAA,MACR,GAAGuI,EAAErI,CAAC;AAAA,MACN,SAASY;AAAA,IACf,CAAK;AAAA,EACH,GAAGzB,EAAE,UAAU,CAACwB,GAAGX,MAAM;AACvB,UAAMY,IAAI,EAAE,GAAGd,EAAE,QAAO;AACxB,eAAW,KAAKa;AACd,UAAIZ,EAAE,IAAI,CAAC;AACT,eAAOa,EAAE,CAAC;AAAA;AAEV,cAAM,IAAI,MAAM,OAAO,CAAC,oBAAoB;AAChD,WAAO,IAAI+b,GAAG;AAAA,MACZ,GAAG7c;AAAA,MACH,QAAQ,CAAA;AAAA,MACR,GAAGuI,EAAErI,CAAC;AAAA,MACN,SAASY;AAAA,IACf,CAAK;AAAA,EACH;AACF,CAAC;AACD,SAASob,GAAG7c,GAAGW,GAAG;AAChB,QAAMC,IAAI,MAAM,QAAQZ,CAAC,IAAI,OAAO,YAAYA,EAAE,IAAI,CAACwB,MAAM,CAACA,GAAGA,CAAC,CAAC,CAAC,IAAIxB;AACxE,SAAO,IAAIwd,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,SAAS5c;AAAA,IACT,GAAGsI,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AACA,MAAM8c,KAAqB,gBAAA/V,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACnD,EAAA4Q,GAAG,KAAKvR,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMuW,GAAGpX,GAAGY,GAAGY,CAAC,GAAGxB,EAAE,SAAS,IAAI,IAAIW,EAAE,MAAM,GAAG,OAAO,eAAeX,GAAG,SAAS;AAAA,IAChJ,MAAM;AACJ,UAAIW,EAAE,OAAO,SAAS;AACpB,cAAM,IAAI,MAAM,4EAA4E;AAC9F,aAAOA,EAAE,OAAO,CAAC;AAAA,IACnB;AAAA,EACJ,CAAG;AACH,CAAC;AACD,SAAS+c,GAAG1d,GAAGW,GAAG;AAChB,SAAO,IAAI8c,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,QAAQ,MAAM,QAAQzd,CAAC,IAAIA,IAAI,CAACA,CAAC;AAAA,IACjC,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AACA,MAAMgd,KAAqB,gBAAAjW,EAAE,gBAAgB,CAAC1H,GAAGW,MAAM;AACrD,EAAA6Q,GAAG,KAAKxR,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMyW,GAAGtX,GAAGY,CAAC,GAAGZ,EAAE,KAAK,QAAQ,CAACY,GAAGY,MAAM;AACtG,QAAIA,EAAE,cAAc;AAClB,YAAM,IAAIoG,GAAG5H,EAAE,YAAY,IAAI;AACjC,IAAAY,EAAE,WAAW,CAACa,MAAM;AAClB,UAAI,OAAOA,KAAK;AACd,QAAAb,EAAE,OAAO,KAAKqJ,GAAGxI,GAAGb,EAAE,OAAOD,CAAC,CAAC;AAAA,WAC5B;AACH,cAAM,IAAIc;AACV,UAAE,UAAU,EAAE,WAAW,KAAK,EAAE,SAAS,EAAE,OAAO,WAAW,EAAE,UAAU,EAAE,QAAQb,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAOZ,IAAIY,EAAE,OAAO,KAAKqJ,GAAG,CAAC,CAAC;AAAA,MAC1I;AAAA,IACF;AACA,UAAMpJ,IAAIF,EAAE,UAAUC,EAAE,OAAOA,CAAC;AAChC,WAAOC,aAAa,UAAUA,EAAE,KAAK,CAACY,OAAOb,EAAE,QAAQa,GAAGb,EAAE,KAAKA,EAAE,QAAQC,GAAGD;AAAA,EAChF;AACF,CAAC;AACD,SAAS0Z,GAAGta,GAAG;AACb,SAAO,IAAI2d,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,WAAW3d;AAAA,EACf,CAAG;AACH;AACA,MAAM8c,KAAqB,gBAAApV,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AACpD,EAAA+Q,GAAG,KAAK1R,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMsX,GAAGnY,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,SAAS,MAAMA,EAAE,KAAK,IAAI;AACnH,CAAC;AACD,SAAS8Z,GAAG9Z,GAAG;AACb,SAAO,IAAI8c,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,WAAW9c;AAAA,EACf,CAAG;AACH;AACA,MAAM4d,KAAqB,gBAAAlW,EAAE,oBAAoB,CAAC1H,GAAGW,MAAM;AACzD,EAAAgR,GAAG,KAAK3R,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMsX,GAAGnY,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,SAAS,MAAMA,EAAE,KAAK,IAAI;AACnH,CAAC;AACD,SAAS+Z,GAAG/Z,GAAG;AACb,SAAO,IAAI4d,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,WAAW5d;AAAA,EACf,CAAG;AACH;AACA,MAAM6d,KAAqB,gBAAAnW,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AACpD,EAAAiR,GAAG,KAAK5R,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAM+W,GAAG5X,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,SAAS,MAAMA,EAAE,KAAK,IAAI;AACnH,CAAC;AACD,SAASga,GAAGha,GAAG;AACb,SAAO,IAAI6d,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,WAAW7d;AAAA,EACf,CAAG;AACH;AACA,MAAM8d,KAAqB,gBAAApW,EAAE,cAAc,CAAC1H,GAAGW,MAAM;AACnD,EAAAkR,GAAG,KAAK7R,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMiX,GAAG9X,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,SAAS,MAAMA,EAAE,KAAK,IAAI,WAAWA,EAAE,gBAAgBA,EAAE;AAClJ,CAAC;AACD,SAASua,GAAGva,GAAGW,GAAG;AAChB,SAAO,IAAImd,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,WAAW9d;AAAA,IACX,IAAI,eAAe;AACjB,aAAO,OAAOW,KAAK,aAAaA,EAAC,IAAKmI,GAAGnI,CAAC;AAAA,IAC5C;AAAA,EACJ,CAAG;AACH;AACA,MAAMod,KAAqB,gBAAArW,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AACpD,EAAAoR,GAAG,KAAK/R,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMkX,GAAG/X,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,SAAS,MAAMA,EAAE,KAAK,IAAI;AACnH,CAAC;AACD,SAASwa,GAAGxa,GAAGW,GAAG;AAChB,SAAO,IAAIod,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,WAAW/d;AAAA,IACX,IAAI,eAAe;AACjB,aAAO,OAAOW,KAAK,aAAaA,EAAC,IAAKmI,GAAGnI,CAAC;AAAA,IAC5C;AAAA,EACJ,CAAG;AACH;AACA,MAAMoc,KAAqB,gBAAArV,EAAE,kBAAkB,CAAC1H,GAAGW,MAAM;AACvD,EAAAqR,GAAG,KAAKhS,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMgX,GAAG7X,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,SAAS,MAAMA,EAAE,KAAK,IAAI;AACnH,CAAC;AACD,SAASia,GAAGja,GAAGW,GAAG;AAChB,SAAO,IAAIoc,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,WAAW/c;AAAA,IACX,GAAGkJ,EAAEvI,CAAC;AAAA,EACV,CAAG;AACH;AACA,MAAMqd,KAAqB,gBAAAtW,EAAE,YAAY,CAAC1H,GAAGW,MAAM;AACjD,EAAAuR,GAAG,KAAKlS,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMmX,GAAGhY,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,SAAS,MAAMA,EAAE,KAAK,IAAI,WAAWA,EAAE,cAAcA,EAAE;AAChJ,CAAC;AACD,SAASya,GAAGza,GAAGW,GAAG;AAChB,SAAO,IAAIqd,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,WAAWhe;AAAA,IACX,YAAY,OAAOW,KAAK,aAAaA,IAAI,MAAMA;AAAA,EACnD,CAAG;AACH;AACA,MAAMsd,KAAqB,gBAAAvW,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAChD,EAAAwR,GAAG,KAAKnS,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMoX,GAAGjY,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,KAAKW,EAAE,IAAIX,EAAE,MAAMW,EAAE;AAC9G,CAAC;AACD,SAAS0Z,GAAGra,GAAGW,GAAG;AAChB,SAAO,IAAIsd,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,IAAIje;AAAA,IACJ,KAAKW;AAAA;AAAA,EAET,CAAG;AACH;AACA,MAAMud,KAAqB,gBAAAxW,EAAE,eAAe,CAAC1H,GAAGW,MAAM;AACpD,EAAA0R,GAAG,KAAKrS,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMqX,GAAGlY,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,SAAS,MAAMA,EAAE,KAAK,IAAI;AACnH,CAAC;AACD,SAAS0a,GAAG1a,GAAG;AACb,SAAO,IAAIke,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,WAAWle;AAAA,EACf,CAAG;AACH;AACA,MAAMme,KAAqB,gBAAAzW,EAAE,WAAW,CAAC1H,GAAGW,MAAM;AAChD,EAAA4R,GAAG,KAAKvS,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMuX,GAAGpY,GAAGY,GAAGY,GAAGX,CAAC,GAAGb,EAAE,SAAS,MAAMA,EAAE,KAAK,IAAI,OAAM;AACzH,CAAC;AACD,SAASoe,GAAGpe,GAAG;AACb,SAAO,IAAIme,GAAG;AAAA,IACZ,MAAM;AAAA,IACN,QAAQne;AAAA,EACZ,CAAG;AACH;AACA,MAAMqe,KAAqB,gBAAA3W,EAAE,aAAa,CAAC1H,GAAGW,MAAM;AAClD,EAAA6R,GAAG,KAAKxS,GAAGW,CAAC,GAAGgZ,EAAE,KAAK3Z,GAAGW,CAAC,GAAGX,EAAE,KAAK,oBAAoB,CAACY,GAAGY,GAAGX,MAAMwW,GAAGrX,GAAGY,CAAC;AAC9E,CAAC;AACD,SAASgZ,GAAG5Z,GAAGW,IAAI,IAAI;AACrB,SAAuB,gBAAAwV,GAAGkI,IAAIre,GAAGW,CAAC;AACpC;AACA,SAASkZ,GAAG7Z,GAAG;AACb,SAAuB,gBAAAoW,GAAGpW,CAAC;AAC7B;AACA,SAASse,GAAGte,GAAGW,GAAG;AAChB,SAAO0Z,GAAGC,GAAGta,CAAC,GAAGW,CAAC;AACpB;AACA,MAAM4d,KAAKvB,GAAG;AAAA;AAAA,EAEZ,MAAMH,GAAG,CAAC,QAAQ,aAAa,kBAAkB,QAAQ,SAAS,YAAY,CAAC,EAAE,SAAQ;AAAA;AAAA,EAEzF,WAAWP,GAAE,EAAG,SAAQ;AAAA;AAAA,EAExB,sBAAsBO,GAAG,CAAC,QAAQ,UAAU,MAAM,CAAC,EAAE,SAAQ;AAAA;AAAA,EAE7D,iBAAiBP,GAAE,EAAG,SAAQ;AAChC,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAAGkC,KAAKrE,GAAG;AAAA,EACVD,GAAG8B,EAAC,CAAE;AAAA;AAAA,EAENuB,GAAGvB,EAAC,GAAIQ,GAAE,CAAE;AAAA;AAEd,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAAGiC,KAAKxB,GAAG;AAAA;AAAA,EAEV,cAAcjB,EAAC;AACjB,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC;AACD,SAAS0C,GAAG1e,GAAG;AACb,MAAI,OAAOA,KAAK,YAAYA,MAAM,QAAQ,MAAM,QAAQA,CAAC,EAAG,QAAOA;AACnE,QAAMW,IAAIX;AACV,SAAO,UAAUW,IAAIX,IAAI,YAAYW,IAAI,EAAE,MAAM,YAAY,GAAGA,EAAC,IAAK,aAAaA,IAAI,EAAE,MAAM,SAAS,GAAGA,EAAC,IAAK,EAAE,MAAM,SAAS,GAAGA,EAAC;AACxI;AAOA,SAASge,KAAK;AACZ,QAAM3e,IAAIgd,GAAG;AAAA,IACX,MAAMU,GAAG,OAAO;AAAA,IAChB,WAAW1B,EAAC,EAAG,IAAI,CAAC;AAAA,IACpB,WAAWA,EAAC,EAAG,IAAI,CAAC;AAAA,IACpB,YAAYM,GAAE,EAAG,SAAQ;AAAA,IACzB,UAAUA,GAAE,EAAG,SAAQ;AAAA,IACvB,UAAUN,EAAC,EAAG,SAAQ;AAAA,IACtB,SAASA,EAAC,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA,IAC5B,OAAOA,EAAC,EAAG,SAAQ;AAAA,IACnB,OAAOA,EAAC,EAAG,SAAQ;AAAA,IACnB,OAAOa,GAAG,CAAC,QAAQ,UAAU,SAAS,SAAS,KAAK,CAAC,EAAE,SAAQ;AAAA,IAC/D,MAAMP,GAAE,EAAG,SAAQ;AAAA,IACnB,MAAMN,EAAC,EAAG,SAAQ;AAAA,IAClB,QAAQA,EAAC,EAAG,SAAQ;AAAA,IACpB,MAAMa,GAAG,CAAC,QAAQ,QAAQ,SAAS,CAAC,EAAE,SAAQ;AAAA,IAC9C,SAAS2B,GAAG,SAAQ;AAAA,IACpB,UAAUlC,GAAE,EAAG,SAAQ;AAAA,IACvB,UAAUA,GAAE,EAAG,SAAQ;AAAA,IACvB,QAAQA,GAAE,EAAG,SAAQ;AAAA,IACrB,SAASE,GAAE,EAAG,SAAQ;AAAA,IACtB,YAAYiC,GAAG,SAAQ;AAAA,IACvB,aAAa5B,GAAG,CAAC,aAAa,OAAO,cAAc,YAAY,CAAC,EAAE,SAAQ;AAAA,IAC1E,QAAQa,GAAG,cAAc,EAAE,SAAQ;AAAA,EACvC,CAAG,EAAE,KAAK,EAAE,OAAO,aAAY,CAAE,GAAG/c,IAAIqc,GAAG;AAAA,IACvC,MAAMU,GAAG,OAAO;AAAA,IAChB,WAAW1B,EAAC,EAAG,IAAI,CAAC;AAAA,IACpB,WAAWA,EAAC,EAAG,SAAQ;AAAA,IACvB,OAAOA,EAAC,EAAG,SAAQ;AAAA;AAAA,IAEnB,SAAS9B,GAAG8C,GAAG,EAAE,WAAWhB,IAAI,IAAI,CAAC,GAAG,EAAE,YAAW,CAAE;AAAA,IACvD,QAAQuC,GAAG,SAAQ;AAAA,IACnB,MAAM1B,GAAG,CAAC,QAAQ,QAAQ,SAAS,CAAC,EAAE,SAAQ;AAAA,EAClD,CAAG,EAAE,KAAK,EAAE,OAAO,aAAY,CAAE;AAC/B,MAAIjc,IAAI8b,GAAE;AACV,QAAMlb,IAAIwb,GAAG;AAAA,IACX,MAAMU,GAAG,UAAU;AAAA,IACnB,WAAW1B,EAAC,EAAG,IAAI,CAAC;AAAA,IACpB,WAAWA,EAAC,EAAG,SAAQ;AAAA,IACvB,OAAOA,EAAC,EAAG,SAAQ;AAAA,IACnB,aAAaM,GAAE,EAAG,SAAQ;AAAA,IAC1B,MAAMO,GAAG,CAAC,QAAQ,QAAQ,SAAS,CAAC,EAAE,SAAQ;AAAA,IAC9C,QAAQuB,GAAG,MAAMxd,EAAE,MAAK,CAAE;AAAA,EAC9B,CAAG,EAAE,KAAK,EAAE,OAAO,gBAAe,CAAE,GAAGC,IAAIuc,GAAG,QAAQ,CAACpd,GAAGwB,GAAGb,CAAC,CAAC;AAC7D,SAAOC,IAAI0d,GAAGI,IAAI7d,CAAC,GAAG,EAAE,kBAAkBb,GAAG,kBAAkBW,GAAG,qBAAqBa,GAAG,oBAAoBZ,EAAC;AACjH;AACA,MAAMge,KAAKD,GAAE,GAAIE,KAAKD,GAAG,oBAAoBE,KAAKjC,GAAG,CAAC,aAAa,OAAO,cAAc,YAAY,CAAC,EAAE,KAAK;AAAA,EAC1G,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAAGkC,KAAK/B,GAAG;AAAA;AAAA,EAEV,QAAQU,GAAG,MAAM;AAAA;AAAA,EAEjB,OAAOvB,GAAE,EAAG,IAAG,EAAG,SAAQ,EAAG,SAAQ;AACvC,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAAG6C,KAAKhC,GAAG;AAAA;AAAA,EAEV,QAAQU,GAAG,MAAM;AACnB,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAAGuB,KAAKjC,GAAG;AAAA;AAAA,EAEV,QAAQU,GAAG,QAAQ;AAAA;AAAA,EAEnB,SAAS1B,EAAC;AACZ,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAAGkD,KAAK9B,GAAG,UAAU,CAAC2B,IAAIC,IAAIC,EAAE,CAAC,EAAE,KAAK;AAAA,EACvC,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAAGE,KAAKnC,GAAG;AAAA;AAAA,EAEV,QAAQhB,EAAC,EAAG,IAAI,CAAC;AAAA;AAAA,EAEjB,aAAa8C;AAAA;AAAA,EAEb,UAAU9C,EAAC,EAAG,SAAQ;AAAA;AAAA,EAEtB,WAAWA,EAAC,EAAG,SAAQ;AAAA;AAAA,EAEvB,WAAWA,EAAC,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA;AAAA,EAE9B,OAAOkD,GAAG,SAAQ;AAAA;AAAA,EAElB,gBAAgB5C,GAAE,EAAG,SAAQ;AAC/B,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAAG8C,KAAKpC,GAAG;AAAA;AAAA,EAEV,OAAOhB,EAAC,EAAG,IAAI,CAAC;AAAA;AAAA,EAEhB,gBAAgB9B,GAAG8B,EAAC,CAAE,EAAE,SAAQ;AAAA;AAAA,EAEhC,eAAe9B,GAAG8B,EAAC,CAAE,EAAE,SAAQ;AAAA;AAAA,EAE/B,WAAWA,EAAC,EAAG,SAAQ;AAAA;AAAA,EAEvB,WAAWM,GAAE,EAAG,SAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQxB,gBAAgBA,GAAE,EAAG,SAAQ;AAAA;AAAA,EAE7B,eAAeN,EAAC,EAAG,SAAQ;AAC7B,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAAGqD,KAAKrC,GAAG;AAAA;AAAA,EAEV,OAAOhB,EAAC,EAAG,SAAQ;AAAA;AAAA,EAEnB,IAAI9B,GAAG8B,GAAG;AAAA;AAAA,EAEV,eAAeA,EAAC;AAClB,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC,GAKKsD,KAAK/B;AAAA,EACTvB,EAAC;AAAA,EACDgB,GAAG;AAAA,IACD,UAAUA,GAAG,EAAE,GAAGb,GAAE,GAAI,GAAGA,GAAE,GAAI,EAAE,SAAQ;AAAA,IAC3C,gBAAgBU,GAAG,CAAC,QAAQ,OAAO,SAAS,QAAQ,CAAC,EAAE,SAAQ;AAAA,IAC/D,gBAAgBA,GAAG,CAAC,QAAQ,OAAO,SAAS,QAAQ,CAAC,EAAE,SAAQ;AAAA,EACnE,CAAG;AACH,GAAG0C,KAAKvC,GAAG;AAAA;AAAA,EAET,QAAQ9C,GAAG8B,EAAC,CAAE,EAAE,SAAQ;AAAA;AAAA,EAExB,SAASuB,GAAGvB,EAAC,GAAIoD,EAAE,EAAE,SAAQ;AAAA;AAAA,EAE7B,UAAU7B,GAAGvB,EAAC,GAAIqD,EAAE,EAAE,SAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9B,QAAQC,GAAG,SAAQ;AACrB,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC;AACDtC,GAAG;AAAA;AAAA,EAED,MAAMhB,EAAC,EAAG,IAAI,CAAC;AAAA;AAAA,EAEf,MAAMA,EAAC,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA;AAAA,EAEzB,QAAQ9B,GAAG2E,EAAE;AAAA;AAAA,EAEb,OAAOtB,GAAGvB,EAAC,GAAImD,EAAE,EAAE,SAAQ;AAAA;AAAA,EAE3B,UAAUI,GAAG,SAAQ;AAAA;AAAA,EAErB,UAAUvD,EAAC,EAAG,SAAQ;AACxB,CAAC,EAAE,KAAK;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf,CAAC;AACD,MAAMwD,KAAK;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,OAAO;AAAA,EACP,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX,aAAa;AACf,GAIMC,KAAK;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AACV;AAOA;AAAA,EACE,GAAmB,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAKD,EAAE,GAAG,GAAG,OAAO,KAAKC,EAAE,CAAC,CAAC;AACrE,EAAE,SAAQ;AACV,IAAIC,KAAK;AACT,SAASC,GAAG3f,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAE0f,EAAE;AACN;AACA,IAAIE,KAAK;AACT,SAASC,EAAE7f,GAAG;AACZ,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAE4f,EAAE;AACN;AACA,SAASE,GAAG9f,GAAG;AACb,SAAO6f,EAAE7f,CAAC,KAAK2f,GAAG3f,CAAC;AACrB;AACA,IAAI+f,KAAK;AACT,SAASC,GAAGhgB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAE+f,EAAE;AACN;AACA,IAAIE,KAAK,SAAS,GAAG;AACnB,SAAOD,GAAG,CAAC,IAAI,IAAIE,GAAG,CAAC;AACzB,GAAGC,KAAsB,0BAASngB,GAAG;AACnC,WAASW,EAAEC,GAAG;AACZ,WAAOif,EAAEjf,CAAC,IAAIA,IAAIwf,GAAGxf,CAAC;AAAA,EACxB;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA;AAC7G,GAAGsf,EAAE,GAAGI,KAAsB,0BAASrgB,GAAG;AACxC,WAASW,EAAEC,GAAG;AACZ,WAAO+e,GAAG/e,CAAC,IAAIA,IAAI0f,GAAG1f,CAAC;AAAA,EACzB;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA;AAC7G,GAAGsf,EAAE,GAAGM,KAAsB,0BAASvgB,GAAG;AACxC,WAASW,EAAEC,GAAG;AACZ,WAAOof,GAAGpf,CAAC,KAAK,CAACkf,GAAGlf,CAAC,IAAIA,IAAI4f,GAAG5f,CAAC;AAAA,EACnC;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA;AAC7G,GAAGsf,EAAE;AACLA,GAAG,QAAQE;AACXF,GAAG,UAAUI;AACbJ,GAAG,MAAMM;AACT,IAAIE,KAAK,GAAGC,KAAK,GAAGC,KAAK,GAAGC,KAAK,OAAO,UAAU,cAAc,OAAO,UAAUC,KAAK,cAAcC,KAAKF,MAAMC,IAAIE,IAAI,SAAS,GAAG;AACjI,OAAK,OAAO;AACd;AACAA,EAAE,UAAU,WAAW,WAAW;AAChC,SAAO;AACT;AACAA,EAAE,OAAON;AACTM,EAAE,SAASL;AACXK,EAAE,UAAUJ;AACZI,EAAE,UAAU,UAAUA,EAAE,UAAU,WAAW,WAAW;AACtD,SAAO,KAAK,SAAQ;AACtB;AACAA,EAAE,UAAUD,EAAE,IAAI,WAAW;AAC3B,SAAO;AACT;AACA,SAASE,EAAEhhB,GAAGW,GAAGC,GAAGY,GAAG;AACrB,MAAIX,IAAIb,MAAMygB,KAAK9f,IAAIX,MAAM0gB,KAAK9f,IAAI,CAACD,GAAGC,CAAC;AAC3C,SAAOY,IAAIA,EAAE,QAAQX,IAAIW,IAAI;AAAA;AAAA,IAE3B,OAAOX;AAAA,IACP,MAAM;AAAA,EACV,GAAKW;AACL;AACA,SAASyf,KAAK;AACZ,SAAO,EAAE,OAAO,QAAQ,MAAM,GAAE;AAClC;AACA,SAASC,GAAGlhB,GAAG;AACb,SAAO,MAAM,QAAQA,CAAC,IAAI,KAAK,CAAC,CAACmhB,GAAGnhB,CAAC;AACvC;AACA,SAASohB,GAAGphB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACV,OAAOA,EAAE,QAAQ;AACnB;AACA,SAASqhB,GAAGrhB,GAAG;AACb,MAAIW,IAAIwgB,GAAGnhB,CAAC;AACZ,SAAOW,KAAKA,EAAE,KAAKX,CAAC;AACtB;AACA,SAASmhB,GAAGnhB,GAAG;AACb,MAAIW,IAAIX;AAAA,GACP4gB,MAAM5gB,EAAE4gB,EAAE;AAAA,EACX5gB,EAAE6gB,EAAE;AACJ,MAAI,OAAOlgB,KAAK;AACd,WAAOA;AACX;AACA,SAAS2gB,GAAGthB,GAAG;AACb,MAAIW,IAAIwgB,GAAGnhB,CAAC;AACZ,SAAOW,KAAKA,MAAMX,EAAE;AACtB;AACA,SAASuhB,GAAGvhB,GAAG;AACb,MAAIW,IAAIwgB,GAAGnhB,CAAC;AACZ,SAAOW,KAAKA,MAAMX,EAAE;AACtB;AACA,IAAIwhB,KAAK,UAAUC,IAAI,GAAGC,KAAK,KAAKD,GAAGE,KAAKD,KAAK,GAAGE,IAAI,CAAA;AACxD,SAASC,KAAK;AACZ,SAAO,EAAE,OAAO,GAAE;AACpB;AACA,SAASC,GAAG9hB,GAAG;AACb,EAAAA,MAAMA,EAAE,QAAQ;AAClB;AACA,SAAS+hB,KAAK;AACd;AACA,SAASC,GAAGhiB,GAAG;AACb,SAAOA,EAAE,SAAS,WAAWA,EAAE,OAAOA,EAAE,UAAUiiB,EAAE,IAAIjiB,EAAE;AAC5D;AACA,SAASkiB,GAAGliB,GAAGW,GAAG;AAChB,MAAI,OAAOA,KAAK,UAAU;AACxB,QAAIC,IAAID,MAAM;AACd,QAAI,KAAKC,MAAMD,KAAKC,MAAM;AACxB,aAAO;AACT,IAAAD,IAAIC;AAAA,EACN;AACA,SAAOD,IAAI,IAAIqhB,GAAGhiB,CAAC,IAAIW,IAAIA;AAC7B;AACA,SAASshB,KAAK;AACZ,SAAO;AACT;AACA,SAASE,GAAGniB,GAAGW,GAAGC,GAAG;AACnB,UAAQZ,MAAM,KAAK,CAACoiB,GAAGpiB,CAAC,KAAKY,MAAM,UAAUZ,KAAK,CAACY,OAAOD,MAAM,UAAUC,MAAM,UAAUD,KAAKC;AACjG;AACA,SAASyhB,GAAGriB,GAAGW,GAAG;AAChB,SAAO2hB,GAAGtiB,GAAGW,GAAG,CAAC;AACnB;AACA,SAAS4hB,GAAGviB,GAAGW,GAAG;AAChB,SAAO2hB,GAAGtiB,GAAGW,GAAGA,CAAC;AACnB;AACA,SAAS2hB,GAAGtiB,GAAGW,GAAGC,GAAG;AACnB,SAAOZ,MAAM,SAASY,IAAIwhB,GAAGpiB,CAAC,IAAIW,MAAM,QAAQA,IAAI,KAAK,IAAI,GAAGA,IAAIX,CAAC,IAAI,IAAIW,MAAM,UAAUA,MAAMX,IAAIA,IAAI,KAAK,IAAIW,GAAGX,CAAC,IAAI;AAC9H;AACA,SAASoiB,GAAGpiB,GAAG;AACb,SAAOA,IAAI,KAAKA,MAAM,KAAK,IAAIA,MAAM;AACvC;AACA,IAAIwiB,KAAK;AACT,SAASC,GAAGziB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAEwiB,EAAE;AACN;AACA,SAASE,GAAG1iB,GAAG;AACb,SAAOggB,GAAGhgB,CAAC,KAAKyiB,GAAGziB,CAAC;AACtB;AACA,IAAI2iB,KAAK;AACT,SAASC,GAAG5iB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAE2iB,EAAE;AACN;AACA,IAAIE,KAAK;AACT,SAASC,GAAG9iB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAE6iB,EAAE;AACN;AACA,IAAIE,KAAK,OAAO,UAAU;AAC1B,SAASC,GAAGhjB,GAAG;AACb,SAAO,MAAM,QAAQA,CAAC,KAAK,OAAOA,KAAK,WAAW,KAAKA,KAAK,OAAOA,KAAK;AAAA,EACxE,OAAO,UAAUA,EAAE,MAAM;AAAA,EACzBA,EAAE,UAAU;AAAA,GACXA,EAAE,WAAW;AAAA;AAAA,IAEZ,OAAO,KAAKA,CAAC,EAAE,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,IAK1BA,EAAE,eAAeA,EAAE,SAAS,CAAC;AAAA;AAEjC;AACA,IAAIkgB,KAAsB,0BAASlgB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,WAAOA,KAAK,OAAOqiB,GAAE,IAAKP,GAAG9hB,CAAC,IAAIA,EAAE,UAAUsiB,GAAGtiB,CAAC;AAAA,EACpD;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,QAAQ,WAAW;AACxI,WAAO;AAAA,EACT,GAAGA,EAAE,UAAU,WAAW,WAAW;AACnC,WAAO,KAAK,WAAW,SAAS,GAAG;AAAA,EACrC,GAAGA,EAAE,UAAU,cAAc,WAAW;AACtC,WAAO,CAAC,KAAK,UAAU,KAAK,sBAAsB,KAAK,SAAS,KAAK,SAAQ,EAAG,QAAO,GAAI,KAAK,OAAO,KAAK,OAAO,SAAS;AAAA,EAC9H,GAAGA,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,QAAI,IAAI,KAAK;AACb,QAAI,GAAG;AACL,eAASqF,IAAI,EAAE,QAAQC,IAAI,GAAGA,MAAMD,KAAK;AACvC,YAAIR,IAAI,EAAE7E,IAAIqF,IAAI,EAAEC,IAAIA,GAAG;AAC3B,YAAI,EAAET,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,IAAI,MAAM;AAC1B;AAAA,MACJ;AACA,aAAOS;AAAA,IACT;AACA,WAAO,KAAK,kBAAkB,GAAGtF,CAAC;AAAA,EACpC,GAAGF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,QAAI,IAAI,KAAK;AACb,QAAI,GAAG;AACL,UAAIqF,IAAI,EAAE,QAAQC,IAAI;AACtB,aAAO,IAAI4a,EAAE,WAAW;AACtB,YAAI5a,MAAMD;AACR,iBAAO+a,GAAE;AACX,YAAIvb,IAAI,EAAE7E,IAAIqF,IAAI,EAAEC,IAAIA,GAAG;AAC3B,eAAO6a,EAAE,GAAGtb,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC;AAAA,MACxB,CAAC;AAAA,IACH;AACA,WAAO,KAAK,mBAAmB,GAAG7E,CAAC;AAAA,EACrC,GAAGF;AACL,GAAGsf,EAAE,GAAGG,KAAsB,0BAASpgB,GAAG;AACxC,WAASW,EAAEC,GAAG;AACZ,WAAOA,KAAK,OAAOqiB,GAAE,EAAG,WAAU,IAAKjD,GAAGpf,CAAC,IAAIif,EAAEjf,CAAC,IAAIA,EAAE,MAAK,IAAKA,EAAE,aAAY,IAAK6hB,GAAG7hB,CAAC,IAAIA,EAAE,MAAK,IAAKuiB,GAAGviB,CAAC;AAAA,EAC/G;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,aAAa,WAAW;AAC7I,WAAO;AAAA,EACT,GAAGA;AACL,GAAGuf,EAAE,GAAGI,KAAsB,0BAAStgB,GAAG;AACxC,WAASW,EAAEC,GAAG;AACZ,WAAOA,KAAK,OAAOqiB,GAAE,IAAKjD,GAAGpf,CAAC,IAAIif,EAAEjf,CAAC,IAAIA,EAAE,SAAQ,IAAKA,EAAE,aAAY,IAAK6hB,GAAG7hB,CAAC,IAAIA,EAAE,MAAK,EAAG,SAAQ,IAAKwiB,GAAGxiB,CAAC;AAAA,EAChH;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,KAAK,WAAW;AAC3H,WAAOA,EAAE,SAAS;AAAA,EACpB,GAAGA,EAAE,UAAU,eAAe,WAAW;AACvC,WAAO;AAAA,EACT,GAAGA,EAAE,UAAU,WAAW,WAAW;AACnC,WAAO,KAAK,WAAW,SAAS,GAAG;AAAA,EACrC,GAAGA;AACL,GAAGuf,EAAE,GAAGM,KAAsB,0BAASxgB,GAAG;AACxC,WAASW,EAAEC,GAAG;AACZ,YAAQof,GAAGpf,CAAC,KAAK,CAACkf,GAAGlf,CAAC,IAAIA,IAAI0f,GAAG1f,CAAC,GAAG,SAAQ;AAAA,EAC/C;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,KAAK,WAAW;AAC3H,WAAOA,EAAE,SAAS;AAAA,EACpB,GAAGA,EAAE,UAAU,WAAW,WAAW;AACnC,WAAO;AAAA,EACT,GAAGA;AACL,GAAGuf,EAAE;AACLA,GAAG,QAAQ4C;AACX5C,GAAG,QAAQE;AACXF,GAAG,MAAMM;AACTN,GAAG,UAAUI;AACbJ,GAAG,UAAU2C,EAAE,IAAI;AACnB,IAAIQ,KAAsB,0BAASrjB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,SAAK,SAASA,GAAG,KAAK,OAAOA,EAAE;AAAA,EACjC;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAC1I,WAAO,KAAK,IAAI,CAAC,IAAI,KAAK,OAAOqhB,GAAG,MAAM,CAAC,CAAC,IAAIrhB;AAAA,EAClD,GAAGF,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,aAAS,IAAI,KAAK,QAAQqF,IAAI,EAAE,QAAQC,IAAI,GAAGA,MAAMD,KAAK;AACxD,UAAIR,IAAI7E,IAAIqF,IAAI,EAAEC,IAAIA;AACtB,UAAI,EAAE,EAAET,CAAC,GAAGA,GAAG,IAAI,MAAM;AACvB;AAAA,IACJ;AACA,WAAOS;AAAA,EACT,GAAGxF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,QAAI,IAAI,KAAK,QAAQqF,IAAI,EAAE,QAAQC,IAAI;AACvC,WAAO,IAAI4a,EAAE,WAAW;AACtB,UAAI5a,MAAMD;AACR,eAAO+a,GAAE;AACX,UAAIvb,IAAI7E,IAAIqF,IAAI,EAAEC,IAAIA;AACtB,aAAO6a,EAAE,GAAGtb,GAAG,EAAEA,CAAC,CAAC;AAAA,IACrB,CAAC;AAAA,EACH,GAAG/E;AACL,GAAG2f,EAAE,GAAGgD,KAAsB,0BAAStjB,GAAG;AACxC,WAASW,EAAEC,GAAG;AACZ,QAAIY,IAAI,OAAO,KAAKZ,CAAC,EAAE;AAAA,MACrB,OAAO,wBAAwB,OAAO,sBAAsBA,CAAC,IAAI,CAAA;AAAA,IACvE;AACI,SAAK,UAAUA,GAAG,KAAK,QAAQY,GAAG,KAAK,OAAOA,EAAE;AAAA,EAClD;AACA,SAAOxB,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAC1I,WAAOA,MAAM,UAAU,CAAC,KAAK,IAAI,CAAC,IAAIA,IAAI,KAAK,QAAQ,CAAC;AAAA,EAC1D,GAAGF,EAAE,UAAU,MAAM,SAAS,GAAG;AAC/B,WAAOoiB,GAAG,KAAK,KAAK,SAAS,CAAC;AAAA,EAChC,GAAGpiB,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,aAAS,IAAI,KAAK,SAASqF,IAAI,KAAK,OAAOC,IAAID,EAAE,QAAQR,IAAI,GAAGA,MAAMS,KAAK;AACzE,UAAIC,IAAIF,EAAErF,IAAIsF,IAAI,EAAET,IAAIA,GAAG;AAC3B,UAAI,EAAE,EAAEU,CAAC,GAAGA,GAAG,IAAI,MAAM;AACvB;AAAA,IACJ;AACA,WAAOV;AAAA,EACT,GAAG/E,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,QAAI,IAAI,KAAK,SAASqF,IAAI,KAAK,OAAOC,IAAID,EAAE,QAAQR,IAAI;AACxD,WAAO,IAAIqb,EAAE,WAAW;AACtB,UAAIrb,MAAMS;AACR,eAAO8a,GAAE;AACX,UAAI7a,IAAIF,EAAErF,IAAIsF,IAAI,EAAET,IAAIA,GAAG;AAC3B,aAAOsb,EAAE,GAAG5a,GAAG,EAAEA,CAAC,CAAC;AAAA,IACrB,CAAC;AAAA,EACH,GAAGzF;AACL,GAAGyf,EAAE;AACLkD,GAAG,UAAUX,EAAE,IAAI;AACnB,IAAIY,KAAsB,0BAASvjB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,SAAK,cAAcA,GAAG,KAAK,OAAOA,EAAE,UAAUA,EAAE;AAAA,EAClD;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,oBAAoB,SAAS,GAAGE,GAAG;AACxJ,QAAIA;AACF,aAAO,KAAK,YAAW,EAAG,UAAU,GAAGA,CAAC;AAC1C,QAAI,IAAI,KAAK,aAAaqF,IAAImb,GAAG,CAAC,GAAGlb,IAAI;AACzC,QAAIib,GAAGlb,CAAC;AACN,eAASR,GAAG,EAAEA,IAAIQ,EAAE,KAAI,GAAI,QAAQ,EAAER,EAAE,OAAOS,KAAK,IAAI,MAAM;AAC5D;AACJ,WAAOA;AAAA,EACT,GAAGxF,EAAE,UAAU,qBAAqB,SAAS,GAAGE,GAAG;AACjD,QAAIA;AACF,aAAO,KAAK,YAAW,EAAG,WAAW,GAAGA,CAAC;AAC3C,QAAI,IAAI,KAAK,aAAaqF,IAAImb,GAAG,CAAC;AAClC,QAAI,CAACD,GAAGlb,CAAC;AACP,aAAO,IAAI6a,EAAEE,EAAE;AACjB,QAAI9a,IAAI;AACR,WAAO,IAAI4a,EAAE,WAAW;AACtB,UAAIrb,IAAIQ,EAAE,KAAI;AACd,aAAOR,EAAE,OAAOA,IAAIsb,EAAE,GAAG7a,KAAKT,EAAE,KAAK;AAAA,IACvC,CAAC;AAAA,EACH,GAAG/E;AACL,GAAG2f,EAAE,GAAGkD;AACR,SAASP,KAAK;AACZ,SAAOO,OAAOA,KAAK,IAAIH,GAAG,CAAA,CAAE;AAC9B;AACA,SAASF,GAAGnjB,GAAG;AACb,MAAIW,IAAI8iB,GAAGzjB,CAAC;AACZ,MAAIW;AACF,WAAOA,EAAE,aAAY;AACvB,MAAI,OAAOX,KAAK;AACd,WAAO,IAAIsjB,GAAGtjB,CAAC;AACjB,QAAM,IAAI;AAAA,IACR,6EAA6EA;AAAA,EACjF;AACA;AACA,SAASojB,GAAGpjB,GAAG;AACb,MAAIW,IAAI8iB,GAAGzjB,CAAC;AACZ,MAAIW;AACF,WAAOA;AACT,QAAM,IAAI;AAAA,IACR,oDAAoDX;AAAA,EACxD;AACA;AACA,SAASkjB,GAAGljB,GAAG;AACb,MAAIW,IAAI8iB,GAAGzjB,CAAC;AACZ,MAAIW;AACF,WAAO2gB,GAAGthB,CAAC,IAAIW,EAAE,aAAY,IAAK4gB,GAAGvhB,CAAC,IAAIW,EAAE,SAAQ,IAAKA;AAC3D,MAAI,OAAOX,KAAK;AACd,WAAO,IAAIsjB,GAAGtjB,CAAC;AACjB,QAAM,IAAI;AAAA,IACR,qEAAqEA;AAAA,EACzE;AACA;AACA,SAASyjB,GAAGzjB,GAAG;AACb,SAAOgjB,GAAGhjB,CAAC,IAAI,IAAIqjB,GAAGrjB,CAAC,IAAIkhB,GAAGlhB,CAAC,IAAI,IAAIujB,GAAGvjB,CAAC,IAAI;AACjD;AACA,SAAS0jB,KAAK;AACZ,SAAO,KAAK,cAAa;AAC3B;AACA,SAASC,KAAK;AACZ,SAAO,KAAK,YAAY,OAAO,KAAK,cAAc,IAAI5B,IAAI;AAC5D;AACA,IAAI6B,KAAK,OAAO,KAAK,QAAQ,cAAc,KAAK,KAAK,YAAY,CAAC,MAAM,KAAK,KAAK,OAAO,SAAS,GAAGhjB,GAAG;AACtG,OAAK,GAAGA,KAAK;AACb,MAAI,IAAI,IAAI,OAAOC,IAAID,IAAI;AAC3B,SAAO,IAAIC,MAAM,MAAM,MAAMA,IAAI,KAAKD,MAAM,OAAO,OAAO,KAAK;AACjE;AACA,SAASijB,GAAG7jB,GAAG;AACb,SAAOA,MAAM,IAAI,aAAaA,IAAI;AACpC;AACA,IAAI8jB,KAAK,OAAO,UAAU;AAC1B,SAASC,GAAG/jB,GAAG;AACb,MAAIA,KAAK;AACP,WAAOgkB,GAAGhkB,CAAC;AACb,MAAI,OAAOA,EAAE,YAAY;AACvB,WAAO6jB,GAAG7jB,EAAE,SAASA,CAAC,CAAC;AACzB,MAAIW,IAAIsjB,GAAGjkB,CAAC;AACZ,MAAIW,KAAK;AACP,WAAOqjB,GAAGrjB,CAAC;AACb,UAAQ,OAAOA,GAAC;AAAA,IACd,KAAK;AACH,aAAOA,IAAI,aAAa;AAAA,IAC1B,KAAK;AACH,aAAOujB,GAAGvjB,CAAC;AAAA,IACb,KAAK;AACH,aAAOA,EAAE,SAASwjB,KAAKC,GAAGzjB,CAAC,IAAI0jB,GAAG1jB,CAAC;AAAA,IACrC,KAAK;AAAA,IACL,KAAK;AACH,aAAO2jB,GAAG3jB,CAAC;AAAA,IACb,KAAK;AACH,aAAO4jB,GAAG5jB,CAAC;AAAA,IACb;AACE,UAAI,OAAOA,EAAE,YAAY;AACvB,eAAO0jB,GAAG1jB,EAAE,UAAU;AACxB,YAAM,IAAI,MAAM,gBAAgB,OAAOA,IAAI,oBAAoB;AAAA,EACrE;AACA;AACA,SAASqjB,GAAGhkB,GAAG;AACb,SAAOA,MAAM,OAAO;AAAA;AAAA,IAElB;AAAA;AAEJ;AACA,SAASkkB,GAAGlkB,GAAG;AACb,MAAIA,MAAMA,KAAKA,MAAM;AACnB,WAAO;AACT,MAAIW,IAAIX,IAAI;AACZ,OAAKW,MAAMX,MAAMW,KAAKX,IAAI,aAAaA,IAAI;AACzC,IAAAA,KAAK,YAAYW,KAAKX;AACxB,SAAO6jB,GAAGljB,CAAC;AACb;AACA,SAASyjB,GAAGpkB,GAAG;AACb,MAAIW,IAAI6jB,GAAGxkB,CAAC;AACZ,SAAOW,MAAM,WAAWA,IAAI0jB,GAAGrkB,CAAC,GAAGykB,OAAOC,OAAOD,KAAK,GAAGD,KAAK,CAAA,IAAKC,MAAMD,GAAGxkB,CAAC,IAAIW,IAAIA;AACvF;AACA,SAAS0jB,GAAGrkB,GAAG;AACb,WAASW,IAAI,GAAGC,IAAI,GAAGA,IAAIZ,EAAE,QAAQY;AACnC,IAAAD,IAAI,KAAKA,IAAIX,EAAE,WAAWY,CAAC,IAAI;AACjC,SAAOijB,GAAGljB,CAAC;AACb;AACA,SAAS4jB,GAAGvkB,GAAG;AACb,MAAIW,IAAIgkB,GAAG3kB,CAAC;AACZ,SAAOW,MAAM,WAAWA,IAAIikB,GAAE,GAAID,GAAG3kB,CAAC,IAAIW,IAAIA;AAChD;AACA,SAAS2jB,GAAGtkB,GAAG;AACb,MAAIW;AACJ,MAAIkkB,OAAOlkB,IAAImkB,GAAG,IAAI9kB,CAAC,GAAGW,MAAM,YAAYA,IAAIX,EAAE+kB,EAAE,GAAGpkB,MAAM,WAAW,CAACqkB,OAAOrkB,IAAIX,EAAE,wBAAwBA,EAAE,qBAAqB+kB,EAAE,GAAGpkB,MAAM,WAAWA,IAAIskB,GAAGjlB,CAAC,GAAGW,MAAM;AAC1K,WAAOA;AACT,MAAIA,IAAIikB,GAAE,GAAIC;AACZ,IAAAC,GAAG,IAAI9kB,GAAGW,CAAC;AAAA,OACR;AACH,QAAIukB,OAAO,UAAUA,GAAGllB,CAAC,MAAM;AAC7B,YAAM,IAAI,MAAM,iDAAiD;AACnE,QAAIglB;AACF,aAAO,eAAehlB,GAAG+kB,IAAI;AAAA,QAC3B,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,UAAU;AAAA,QACV,OAAOpkB;AAAA,MACf,CAAO;AAAA,aACMX,EAAE,yBAAyB,UAAUA,EAAE,yBAAyBA,EAAE,YAAY,UAAU;AAC/F,MAAAA,EAAE,uBAAuB,WAAW;AAClC,eAAO,KAAK,YAAY,UAAU,qBAAqB;AAAA,UACrD;AAAA;AAAA,UAEA;AAAA,QACV;AAAA,MACM,GAAGA,EAAE,qBAAqB+kB,EAAE,IAAIpkB;AAAA,aACzBX,EAAE,aAAa;AACtB,MAAAA,EAAE+kB,EAAE,IAAIpkB;AAAA;AAER,YAAM,IAAI,MAAM,oDAAoD;AAAA,EACxE;AACA,SAAOA;AACT;AACA,IAAIukB,KAAK,OAAO,cAAcF,MAAM,WAAW;AAC7C,MAAI;AACF,WAAO,OAAO,eAAe,CAAA,GAAI,KAAK,CAAA,CAAE,GAAG;AAAA,EAC7C,QAAQ;AACN,WAAO;AAAA,EACT;AACF,GAAC;AACD,SAASC,GAAGjlB,GAAG;AACb,MAAIA,KAAKA,EAAE,WAAW;AACpB,YAAQA,EAAE,UAAQ;AAAA,MAChB,KAAK;AACH,eAAOA,EAAE;AAAA,MACX,KAAK;AACH,eAAOA,EAAE,mBAAmBA,EAAE,gBAAgB;AAAA,IACtD;AACA;AACA,SAASikB,GAAGjkB,GAAG;AACb,SAAOA,EAAE,YAAY8jB,MAAM,OAAO9jB,EAAE,WAAW;AAAA;AAAA,IAE7CA,EAAE,QAAQA,CAAC;AAAA,MACTA;AACN;AACA,SAAS4kB,KAAK;AACZ,MAAI5kB,IAAI,EAAEmlB;AACV,SAAOA,KAAK,eAAeA,KAAK,IAAInlB;AACtC;AACA,IAAI6kB,KAAK,OAAO,WAAW,YAAYC;AACvCD,OAAOC,KAAqB,oBAAI;AAChC,IAAIH,KAAqB,uBAAO,OAAO,IAAI,GAAGQ,KAAK,GAAGJ,KAAK;AAC3D,OAAO,UAAU,eAAeA,KAAK,OAAOA,EAAE;AAC9C,IAAIZ,KAAK,IAAIO,KAAK,KAAKD,KAAK,GAAGD,KAAK,CAAA,GAAIY,KAAsB,0BAASplB,GAAG;AACxE,WAASW,EAAEC,GAAGY,GAAG;AACf,SAAK,QAAQZ,GAAG,KAAK,WAAWY,GAAG,KAAK,OAAOZ,EAAE;AAAA,EACnD;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAC1I,WAAO,KAAK,MAAM,IAAI,GAAGA,CAAC;AAAA,EAC5B,GAAGF,EAAE,UAAU,MAAM,SAAS,GAAG;AAC/B,WAAO,KAAK,MAAM,IAAI,CAAC;AAAA,EACzB,GAAGA,EAAE,UAAU,WAAW,WAAW;AACnC,WAAO,KAAK,MAAM,SAAQ;AAAA,EAC5B,GAAGA,EAAE,UAAU,UAAU,WAAW;AAClC,QAAI,IAAI,MAAME,IAAIwkB,GAAG,MAAM,EAAE;AAC7B,WAAO,KAAK,aAAaxkB,EAAE,WAAW,WAAW;AAC/C,aAAO,EAAE,MAAM,MAAK,EAAG,QAAO;AAAA,IAChC,IAAIA;AAAA,EACN,GAAGF,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,QAAI,IAAI,MAAMqF,IAAIof,GAAG,MAAM,GAAGzkB,CAAC;AAC/B,WAAO,KAAK,aAAaqF,EAAE,WAAW,WAAW;AAC/C,aAAO,EAAE,MAAM,MAAK,EAAG,IAAI,GAAGrF,CAAC;AAAA,IACjC,IAAIqF;AAAA,EACN,GAAGvF,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,QAAI,IAAI;AACR,WAAO,KAAK,MAAM,UAAU,SAASqF,GAAGC,GAAG;AACzC,aAAO,EAAED,GAAGC,GAAG,CAAC;AAAA,IAClB,GAAGtF,CAAC;AAAA,EACN,GAAGF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,WAAO,KAAK,MAAM,WAAW,GAAGA,CAAC;AAAA,EACnC,GAAGF;AACL,GAAGyf,EAAE;AACLgF,GAAG,UAAUzC,EAAE,IAAI;AACnB,IAAI4C,KAAsB,0BAASvlB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,SAAK,QAAQA,GAAG,KAAK,OAAOA,EAAE;AAAA,EAChC;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,WAAW,SAAS,GAAG;AAC5I,WAAO,KAAK,MAAM,SAAS,CAAC;AAAA,EAC9B,GAAGA,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,QAAI,IAAI,MAAMqF,IAAI;AAClB,WAAOrF,KAAKmhB,GAAG,IAAI,GAAG,KAAK,MAAM;AAAA,MAC/B,SAAS7b,GAAG;AACV,eAAO,EAAEA,GAAGtF,IAAI,EAAE,OAAO,EAAEqF,IAAIA,KAAK,CAAC;AAAA,MACvC;AAAA,MACArF;AAAA,IACN;AAAA,EACE,GAAGF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,QAAI,IAAI,MAAMqF,IAAI,KAAK,MAAM,WAAWwa,IAAI7f,CAAC,GAAGsF,IAAI;AACpD,WAAOtF,KAAKmhB,GAAG,IAAI,GAAG,IAAIjB,EAAE,WAAW;AACrC,UAAIrb,IAAIQ,EAAE,KAAI;AACd,aAAOR,EAAE,OAAOA,IAAIsb;AAAA,QAClB;AAAA,QACAngB,IAAI,EAAE,OAAO,EAAEsF,IAAIA;AAAA,QACnBT,EAAE;AAAA,QACFA;AAAA,MACR;AAAA,IACI,CAAC;AAAA,EACH,GAAG/E;AACL,GAAG2f,EAAE,GAAGkF,KAAsB,0BAASxlB,GAAG;AACxC,WAASW,EAAEC,GAAG;AACZ,SAAK,QAAQA,GAAG,KAAK,OAAOA,EAAE;AAAA,EAChC;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAG;AACvI,WAAO,KAAK,MAAM,SAAS,CAAC;AAAA,EAC9B,GAAGA,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,QAAI,IAAI;AACR,WAAO,KAAK,MAAM,UAAU,SAASqF,GAAG;AACtC,aAAO,EAAEA,GAAGA,GAAG,CAAC;AAAA,IAClB,GAAGrF,CAAC;AAAA,EACN,GAAGF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,QAAI,IAAI,KAAK,MAAM,WAAW6f,IAAI7f,CAAC;AACnC,WAAO,IAAIkgB,EAAE,WAAW;AACtB,UAAI7a,IAAI,EAAE,KAAI;AACd,aAAOA,EAAE,OAAOA,IAAI8a,EAAE,GAAG9a,EAAE,OAAOA,EAAE,OAAOA,CAAC;AAAA,IAC9C,CAAC;AAAA,EACH,GAAGvF;AACL,GAAG6f,EAAE,GAAGiF,KAAsB,0BAASzlB,GAAG;AACxC,WAASW,EAAEC,GAAG;AACZ,SAAK,QAAQA,GAAG,KAAK,OAAOA,EAAE;AAAA,EAChC;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,WAAW,WAAW;AAC3I,WAAO,KAAK,MAAM,MAAK;AAAA,EACzB,GAAGA,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,QAAI,IAAI;AACR,WAAO,KAAK,MAAM,UAAU,SAASqF,GAAG;AACtC,UAAIA,GAAG;AACL,QAAAwf,GAAGxf,CAAC;AACJ,YAAIC,IAAI6Z,GAAG9Z,CAAC;AACZ,eAAO;AAAA,UACLC,IAAID,EAAE,IAAI,CAAC,IAAIA,EAAE,CAAC;AAAA,UAClBC,IAAID,EAAE,IAAI,CAAC,IAAIA,EAAE,CAAC;AAAA,UAClB;AAAA,QACV;AAAA,MACM;AAAA,IACF,GAAGrF,CAAC;AAAA,EACN,GAAGF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,QAAI,IAAI,KAAK,MAAM,WAAW6f,IAAI7f,CAAC;AACnC,WAAO,IAAIkgB,EAAE,WAAW;AACtB,iBAAW;AACT,YAAI7a,IAAI,EAAE,KAAI;AACd,YAAIA,EAAE;AACJ,iBAAOA;AACT,YAAIC,IAAID,EAAE;AACV,YAAIC,GAAG;AACL,UAAAuf,GAAGvf,CAAC;AACJ,cAAIT,IAAIsa,GAAG7Z,CAAC;AACZ,iBAAO6a;AAAA,YACL;AAAA,YACAtb,IAAIS,EAAE,IAAI,CAAC,IAAIA,EAAE,CAAC;AAAA,YAClBT,IAAIS,EAAE,IAAI,CAAC,IAAIA,EAAE,CAAC;AAAA,YAClBD;AAAA,UACZ;AAAA,QACQ;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,GAAGvF;AACL,GAAGyf,EAAE;AACLmF,GAAG,UAAU,cAAcH,GAAG,UAAU,cAAcI,GAAG,UAAU,cAAcC,GAAG,UAAU,cAAcE;AAC5G,SAASC,GAAG5lB,GAAG;AACb,MAAIW,IAAIklB,GAAG7lB,CAAC;AACZ,SAAOW,EAAE,QAAQX,GAAGW,EAAE,OAAOX,EAAE,MAAMW,EAAE,OAAO,WAAW;AACvD,WAAOX;AAAA,EACT,GAAGW,EAAE,UAAU,WAAW;AACxB,QAAIC,IAAIZ,EAAE,QAAQ,MAAM,IAAI;AAC5B,WAAOY,EAAE,OAAO,WAAW;AACzB,aAAOZ,EAAE,QAAO;AAAA,IAClB,GAAGY;AAAA,EACL,GAAGD,EAAE,MAAM,SAASC,GAAG;AACrB,WAAOZ,EAAE,SAASY,CAAC;AAAA,EACrB,GAAGD,EAAE,WAAW,SAASC,GAAG;AAC1B,WAAOZ,EAAE,IAAIY,CAAC;AAAA,EAChB,GAAGD,EAAE,cAAcglB,IAAIhlB,EAAE,oBAAoB,SAASC,GAAGY,GAAG;AAC1D,QAAIX,IAAI;AACR,WAAOb,EAAE,UAAU,SAASyB,GAAG,GAAG;AAChC,aAAOb,EAAE,GAAGa,GAAGZ,CAAC,MAAM;AAAA,IACxB,GAAGW,CAAC;AAAA,EACN,GAAGb,EAAE,qBAAqB,SAASC,GAAGY,GAAG;AACvC,QAAIZ,MAAM+f,IAAI;AACZ,UAAI9f,IAAIb,EAAE,WAAWY,GAAGY,CAAC;AACzB,aAAO,IAAIuf,EAAE,WAAW;AACtB,YAAItf,IAAIZ,EAAE,KAAI;AACd,YAAI,CAACY,EAAE,MAAM;AACX,cAAI,IAAIA,EAAE,MAAM,CAAC;AACjB,UAAAA,EAAE,MAAM,CAAC,IAAIA,EAAE,MAAM,CAAC,GAAGA,EAAE,MAAM,CAAC,IAAI;AAAA,QACxC;AACA,eAAOA;AAAA,MACT,CAAC;AAAA,IACH;AACA,WAAOzB,EAAE;AAAA,MACPY,MAAM8f,KAAKD,KAAKC;AAAA,MAChBlf;AAAA,IACN;AAAA,EACE,GAAGb;AACL;AACA,SAAS2kB,GAAGtlB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIqkB,GAAG7lB,CAAC;AACZ,SAAOwB,EAAE,OAAOxB,EAAE,MAAMwB,EAAE,MAAM,SAASX,GAAG;AAC1C,WAAOb,EAAE,IAAIa,CAAC;AAAA,EAChB,GAAGW,EAAE,MAAM,SAASX,GAAGY,GAAG;AACxB,QAAI,IAAIzB,EAAE,IAAIa,GAAG+gB,CAAC;AAClB,WAAO,MAAMA,IAAIngB,IAAId,EAAE,KAAKC,GAAG,GAAGC,GAAGb,CAAC;AAAA,EACxC,GAAGwB,EAAE,oBAAoB,SAASX,GAAGY,GAAG;AACtC,QAAI,IAAI;AACR,WAAOzB,EAAE;AAAA,MACP,SAAS,GAAG,GAAG,GAAG;AAChB,eAAOa,EAAEF,EAAE,KAAKC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM;AAAA,MACzC;AAAA,MACAa;AAAA,IACN;AAAA,EACE,GAAGD,EAAE,qBAAqB,SAASX,GAAGY,GAAG;AACvC,QAAI,IAAIzB,EAAE,WAAW2gB,IAAIlf,CAAC;AAC1B,WAAO,IAAIsf,EAAE,WAAW;AACtB,UAAI,IAAI,EAAE,KAAI;AACd,UAAI,EAAE;AACJ,eAAO;AACT,UAAI,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;AACxB,aAAOC;AAAA,QACLngB;AAAA,QACA;AAAA,QACAF,EAAE,KAAKC,GAAG,EAAE,CAAC,GAAG,GAAGZ,CAAC;AAAA,QACpB;AAAA,MACR;AAAA,IACI,CAAC;AAAA,EACH,GAAGwB;AACL;AACA,SAAS6jB,GAAGrlB,GAAGW,GAAG;AAChB,MAAIC,IAAI,MAAMY,IAAIqkB,GAAG7lB,CAAC;AACtB,SAAOwB,EAAE,QAAQxB,GAAGwB,EAAE,OAAOxB,EAAE,MAAMwB,EAAE,UAAU,WAAW;AAC1D,WAAOxB;AAAA,EACT,GAAGA,EAAE,SAASwB,EAAE,OAAO,WAAW;AAChC,QAAIX,IAAI+kB,GAAG5lB,CAAC;AACZ,WAAOa,EAAE,UAAU,WAAW;AAC5B,aAAOb,EAAE,KAAI;AAAA,IACf,GAAGa;AAAA,EACL,IAAIW,EAAE,MAAM,SAASX,GAAGY,GAAG;AACzB,WAAOzB,EAAE,IAAIW,IAAIE,IAAI,KAAKA,GAAGY,CAAC;AAAA,EAChC,GAAGD,EAAE,MAAM,SAASX,GAAG;AACrB,WAAOb,EAAE,IAAIW,IAAIE,IAAI,KAAKA,CAAC;AAAA,EAC7B,GAAGW,EAAE,WAAW,SAASX,GAAG;AAC1B,WAAOb,EAAE,SAASa,CAAC;AAAA,EACrB,GAAGW,EAAE,cAAcmkB,IAAInkB,EAAE,YAAY,SAASX,GAAGY,GAAG;AAClD,QAAI,IAAI,MAAM,IAAI;AAClB,WAAOA,KAAKugB,GAAGhiB,CAAC,GAAGA,EAAE;AAAA,MACnB,SAAS,GAAG,GAAG;AACb,eAAOa,EAAE,GAAGF,IAAI,IAAIc,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC;AAAA,MAC/C;AAAA,MACA,CAACA;AAAA,IACP;AAAA,EACE,GAAGD,EAAE,aAAa,SAASX,GAAGY,GAAG;AAC/B,QAAI,IAAI;AACR,IAAAA,KAAKugB,GAAGhiB,CAAC;AACT,QAAI,IAAIA,EAAE,WAAW2gB,IAAI,CAAClf,CAAC;AAC3B,WAAO,IAAIsf,EAAE,WAAW;AACtB,UAAI,IAAI,EAAE,KAAI;AACd,UAAI,EAAE;AACJ,eAAO;AACT,UAAI,IAAI,EAAE;AACV,aAAOC;AAAA,QACLngB;AAAA,QACAF,IAAI,EAAE,CAAC,IAAIc,IAAIb,EAAE,OAAO,EAAE,IAAI;AAAA,QAC9B,EAAE,CAAC;AAAA,QACH;AAAA,MACR;AAAA,IACI,CAAC;AAAA,EACH,GAAGY;AACL;AACA,SAASskB,GAAG9lB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAIX,IAAIglB,GAAG7lB,CAAC;AACZ,SAAOwB,MAAMX,EAAE,MAAM,SAASY,GAAG;AAC/B,QAAI,IAAIzB,EAAE,IAAIyB,GAAGmgB,CAAC;AAClB,WAAO,MAAMA,KAAK,CAAC,CAACjhB,EAAE,KAAKC,GAAG,GAAGa,GAAGzB,CAAC;AAAA,EACvC,GAAGa,EAAE,MAAM,SAASY,GAAG,GAAG;AACxB,QAAI,IAAIzB,EAAE,IAAIyB,GAAGmgB,CAAC;AAClB,WAAO,MAAMA,KAAKjhB,EAAE,KAAKC,GAAG,GAAGa,GAAGzB,CAAC,IAAI,IAAI;AAAA,EAC7C,IAAIa,EAAE,oBAAoB,SAASY,GAAG,GAAG;AACvC,QAAI,IAAI,MAAM,IAAI;AAClB,WAAOzB,EAAE,UAAU,SAAS,GAAG4C,GAAGC,GAAG;AACnC,UAAIlC,EAAE,KAAKC,GAAG,GAAGgC,GAAGC,CAAC;AACnB,eAAO,KAAKpB,EAAE,GAAGD,IAAIoB,IAAI,IAAI,GAAG,CAAC;AAAA,IACrC,GAAG,CAAC,GAAG;AAAA,EACT,GAAG/B,EAAE,qBAAqB,SAASY,GAAG,GAAG;AACvC,QAAI,IAAIzB,EAAE,WAAW2gB,IAAI,CAAC,GAAG,IAAI;AACjC,WAAO,IAAII,EAAE,WAAW;AACtB,iBAAW;AACT,YAAI,IAAI,EAAE,KAAI;AACd,YAAI,EAAE;AACJ,iBAAO;AACT,YAAIne,IAAI,EAAE,OAAOC,IAAID,EAAE,CAAC,GAAGE,IAAIF,EAAE,CAAC;AAClC,YAAIjC,EAAE,KAAKC,GAAGkC,GAAGD,GAAG7C,CAAC;AACnB,iBAAOghB,EAAEvf,GAAGD,IAAIqB,IAAI,KAAKC,GAAG,CAAC;AAAA,MACjC;AAAA,IACF,CAAC;AAAA,EACH,GAAGjC;AACL;AACA,SAASklB,GAAG/lB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIwkB,GAAE,EAAG,UAAS;AACtB,SAAOhmB,EAAE,UAAU,SAASa,GAAGY,GAAG;AAChC,IAAAD,EAAE,OAAOb,EAAE,KAAKC,GAAGC,GAAGY,GAAGzB,CAAC,GAAG,GAAG,SAAS,GAAG;AAC1C,aAAO,IAAI;AAAA,IACb,CAAC;AAAA,EACH,CAAC,GAAGwB,EAAE,YAAW;AACnB;AACA,SAASykB,GAAGjmB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIqe,EAAE7f,CAAC,GAAGa,KAAK+hB,GAAG5iB,CAAC,IAAIkmB,GAAE,IAAKF,GAAE,GAAI,UAAS;AACjD,EAAAhmB,EAAE,UAAU,SAAS,GAAG,GAAG;AACzB,IAAAa,EAAE;AAAA,MACAF,EAAE,KAAKC,GAAG,GAAG,GAAGZ,CAAC;AAAA,MACjB,SAAS,GAAG;AACV,eAAO,IAAI,KAAK,CAAA,GAAI,EAAE,KAAKwB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;AAAA,MAC9C;AAAA,IACN;AAAA,EACE,CAAC;AACD,MAAIC,IAAI0kB,GAAGnmB,CAAC;AACZ,SAAOa,EAAE,IAAI,SAAS,GAAG;AACvB,WAAOulB,EAAEpmB,GAAGyB,EAAE,CAAC,CAAC;AAAA,EAClB,CAAC,EAAE,YAAW;AAChB;AACA,SAAS4kB,GAAGrmB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIqe,EAAE7f,CAAC,GAAGa,IAAI,CAAC,CAAA,GAAI,EAAE;AACzB,EAAAb,EAAE,UAAU,SAAS,GAAG,GAAG;AACzB,IAAAa,EAAEF,EAAE,KAAKC,GAAG,GAAG,GAAGZ,CAAC,IAAI,IAAI,CAAC,EAAE;AAAA,MAC5BwB,IAAI,CAAC,GAAG,CAAC,IAAI;AAAA,IACnB;AAAA,EACE,CAAC;AACD,MAAIC,IAAI0kB,GAAGnmB,CAAC;AACZ,SAAOa,EAAE,IAAI,SAAS,GAAG;AACvB,WAAOulB,EAAEpmB,GAAGyB,EAAE,CAAC,CAAC;AAAA,EAClB,CAAC;AACH;AACA,SAAS6kB,GAAGtmB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAIX,IAAIb,EAAE;AACV,MAAImiB,GAAGxhB,GAAGC,GAAGC,CAAC;AACZ,WAAOb;AACT,MAAI,OAAOa,IAAI,QAAQF,IAAI,KAAKC,IAAI;AAClC,WAAO0lB,GAAGtmB,EAAE,MAAK,EAAG,YAAW,GAAIW,GAAGC,GAAGY,CAAC;AAC5C,MAAIC,IAAI4gB,GAAG1hB,GAAGE,CAAC,GAAG,IAAI0hB,GAAG3hB,GAAGC,CAAC,GAAG,IAAI,IAAIY,GAAG;AAC3C,QAAM,MAAM,IAAI,IAAI,IAAI,IAAI;AAC5B,MAAI,IAAIokB,GAAG7lB,CAAC;AACZ,SAAO,EAAE,OAAO,MAAM,IAAI,IAAIA,EAAE,QAAQ,KAAK,QAAQ,CAACwB,KAAKshB,GAAG9iB,CAAC,KAAK,KAAK,MAAM,EAAE,MAAM,SAAS4C,GAAGC,GAAG;AACpG,WAAOD,IAAIsf,GAAG,MAAMtf,CAAC,GAAGA,KAAK,KAAKA,IAAI,IAAI5C,EAAE,IAAI4C,IAAInB,GAAGoB,CAAC,IAAIA;AAAA,EAC9D,IAAI,EAAE,oBAAoB,SAASD,GAAGC,GAAG;AACvC,QAAIC,IAAI;AACR,QAAI,MAAM;AACR,aAAO;AACT,QAAID;AACF,aAAO,KAAK,YAAW,EAAG,UAAUD,GAAGC,CAAC;AAC1C,QAAIE,IAAI,GAAGU,IAAI,IAAI,IAAI;AACvB,WAAOzD,EAAE,UAAU,SAAS2D,GAAGC,GAAG;AAChC,UAAI,EAAEH,MAAMA,IAAIV,MAAMtB;AACpB,eAAO,KAAKmB,EAAEe,GAAGnC,IAAIoC,IAAI,IAAI,GAAGd,CAAC,MAAM,MAAM,MAAM;AAAA,IACvD,CAAC,GAAG;AAAA,EACN,GAAG,EAAE,qBAAqB,SAASF,GAAGC,GAAG;AACvC,QAAI,MAAM,KAAKA;AACb,aAAO,KAAK,YAAW,EAAG,WAAWD,GAAGC,CAAC;AAC3C,QAAI,MAAM;AACR,aAAO,IAAIke,EAAEE,EAAE;AACjB,QAAIne,IAAI9C,EAAE,WAAW4C,GAAGC,CAAC,GAAGE,IAAI,GAAGU,IAAI;AACvC,WAAO,IAAIsd,EAAE,WAAW;AACtB,aAAOhe,MAAMtB;AACX,QAAAqB,EAAE,KAAI;AACR,UAAI,EAAEW,IAAI;AACR,eAAOwd,GAAE;AACX,UAAI,IAAIne,EAAE,KAAI;AACd,aAAOtB,KAAKoB,MAAM8d,MAAM,EAAE,OAAO,IAAI9d,MAAM6d,KAAKO,EAAEpe,GAAGa,IAAI,GAAG,QAAQ,CAAC,IAAIud,EAAEpe,GAAGa,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;AAAA,IACpG,CAAC;AAAA,EACH,GAAG;AACL;AACA,SAAS8iB,GAAGvmB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIqkB,GAAG7lB,CAAC;AACZ,SAAOwB,EAAE,oBAAoB,SAASX,GAAGY,GAAG;AAC1C,QAAI,IAAI;AACR,QAAIA;AACF,aAAO,KAAK,YAAW,EAAG,UAAUZ,GAAGY,CAAC;AAC1C,QAAI,IAAI;AACR,WAAOzB,EAAE;AAAA,MACP,SAAS,GAAG,GAAG4C,GAAG;AAChB,eAAOjC,EAAE,KAAKC,GAAG,GAAG,GAAGgC,CAAC,KAAK,EAAE,KAAK/B,EAAE,GAAG,GAAG,CAAC;AAAA,MAC/C;AAAA,IACN,GAAO;AAAA,EACL,GAAGW,EAAE,qBAAqB,SAASX,GAAGY,GAAG;AACvC,QAAI,IAAI;AACR,QAAIA;AACF,aAAO,KAAK,YAAW,EAAG,WAAWZ,GAAGY,CAAC;AAC3C,QAAI,IAAIzB,EAAE,WAAW2gB,IAAIlf,CAAC,GAAG,IAAI;AACjC,WAAO,IAAIsf,EAAE,WAAW;AACtB,UAAI,CAAC;AACH,eAAOE,GAAE;AACX,UAAI,IAAI,EAAE,KAAI;AACd,UAAI,EAAE;AACJ,eAAO;AACT,UAAIre,IAAI,EAAE,OAAOC,IAAID,EAAE,CAAC,GAAGE,IAAIF,EAAE,CAAC;AAClC,aAAOjC,EAAE,KAAKC,GAAGkC,GAAGD,GAAG,CAAC,IAAIhC,MAAM8f,KAAK,IAAIK,EAAEngB,GAAGgC,GAAGC,GAAG,CAAC,KAAK,IAAI,IAAIme;IACtE,CAAC;AAAA,EACH,GAAGzf;AACL;AACA,SAASglB,GAAGxmB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAIX,IAAIglB,GAAG7lB,CAAC;AACZ,SAAOa,EAAE,oBAAoB,SAASY,GAAG,GAAG;AAC1C,QAAI,IAAI;AACR,QAAI;AACF,aAAO,KAAK,YAAW,EAAG,UAAUA,GAAG,CAAC;AAC1C,QAAI,IAAI,IAAI,IAAI;AAChB,WAAOzB,EAAE,UAAU,SAAS4C,GAAGC,GAAGC,GAAG;AACnC,UAAI,EAAE,MAAM,IAAInC,EAAE,KAAKC,GAAGgC,GAAGC,GAAGC,CAAC;AAC/B,eAAO,KAAKrB,EAAEmB,GAAGpB,IAAIqB,IAAI,IAAI,GAAG,CAAC;AAAA,IACrC,CAAC,GAAG;AAAA,EACN,GAAGhC,EAAE,qBAAqB,SAASY,GAAG,GAAG;AACvC,QAAI,IAAI;AACR,QAAI;AACF,aAAO,KAAK,YAAW,EAAG,WAAWA,GAAG,CAAC;AAC3C,QAAI,IAAIzB,EAAE,WAAW2gB,IAAI,CAAC,GAAG,IAAI,IAAI/d,IAAI;AACzC,WAAO,IAAIme,EAAE,WAAW;AACtB,UAAIle,GAAGC,GAAGC;AACV,SAAG;AACD,YAAIF,IAAI,EAAE,KAAI,GAAIA,EAAE;AAClB,iBAAOrB,KAAKC,MAAMif,KAAK7d,IAAIpB,MAAMgf,KAAKO,EAAEvf,GAAGmB,KAAK,QAAQC,CAAC,IAAIme,EAAEvf,GAAGmB,KAAKC,EAAE,MAAM,CAAC,GAAGA,CAAC;AACtF,YAAIY,IAAIZ,EAAE;AACV,QAAAC,IAAIW,EAAE,CAAC,GAAGV,IAAIU,EAAE,CAAC,GAAG,MAAM,IAAI9C,EAAE,KAAKC,GAAGmC,GAAGD,GAAG,CAAC;AAAA,MACjD,SAAS;AACT,aAAOrB,MAAMkf,KAAK9d,IAAIme,EAAEvf,GAAGqB,GAAGC,GAAGF,CAAC;AAAA,IACpC,CAAC;AAAA,EACH,GAAGhC;AACL;AACA,IAAI4lB,KAAsB,0BAASzmB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,SAAK,oBAAoBA,EAAE,QAAQ,SAASY,GAAG;AAC7C,aAAOA,EAAE,oBAAoBA,EAAE,oBAAoB,CAACA,CAAC;AAAA,IACvD,CAAC,GAAG,KAAK,OAAO,KAAK,kBAAkB,OAAO,SAASA,GAAGX,GAAG;AAC3D,UAAIW,MAAM,QAAQ;AAChB,YAAIC,IAAIZ,EAAE;AACV,YAAIY,MAAM;AACR,iBAAOD,IAAIC;AAAA,MACf;AAAA,IACF,GAAG,CAAC,GAAG,KAAKme,EAAE,IAAI,KAAK,kBAAkB,CAAC,EAAEA,EAAE,GAAG,KAAKF,EAAE,IAAI,KAAK,kBAAkB,CAAC,EAAEA,EAAE,GAAG,KAAKiD,EAAE,IAAI,KAAK,kBAAkB,CAAC,EAAEA,EAAE;AAAA,EACpI;AACA,SAAO3iB,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,oBAAoB,SAAS,GAAGE,GAAG;AACxJ,QAAI,KAAK,kBAAkB,WAAW,GAAG;AACvC,UAAIA;AACF,eAAO,KAAK,YAAW,EAAG,UAAU,GAAGA,CAAC;AAC1C,eAAS,IAAI,GAAGqF,IAAI2Z,EAAE,IAAI,GAAG1Z,IAAID,IAAIya,KAAKD,IAAIhb,IAAI,KAAK,kBAAkB,CAAC,EAAE;AAAA,QAC1ES;AAAA,QACAtF;AAAA,MACR,GAASuF,IAAI,IAAIxD,IAAI,GAAGwD,KAAK;AACrB,iBAAS,IAAIV,EAAE,KAAI,GAAI,EAAE,QAAQ;AAC/B,cAAI,KAAK,MAAM,KAAK,kBAAkB;AACpC,mBAAO9C;AACT,UAAA8C,IAAI,KAAK,kBAAkB,CAAC,EAAE;AAAA,YAC5BS;AAAA,YACAtF;AAAA,UACZ,GAAa,IAAI6E,EAAE,KAAI;AAAA,QACf;AACA,YAAI5C,IAAIoD,IAAI,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,OAAOtD,GAAG,IAAI;AAChE,QAAAwD,IAAItD,MAAM,IAAIF;AAAA,MAChB;AACA,aAAOA;AAAA,IACT;AAAA,EACF,GAAGjC,EAAE,UAAU,qBAAqB,SAAS,GAAGE,GAAG;AACjD,QAAI,IAAI;AACR,QAAI,KAAK,kBAAkB,WAAW;AACpC,aAAO,IAAIkgB,EAAEE,EAAE;AACjB,QAAIpgB;AACF,aAAO,KAAK,YAAW,EAAG,WAAW,GAAGA,CAAC;AAC3C,QAAIqF,IAAI,GAAGC,IAAI,KAAK,kBAAkBD,CAAC,EAAE;AAAA,MACvC;AAAA,MACArF;AAAA,IACN;AACI,WAAO,IAAIkgB,EAAE,WAAW;AACtB,eAASrb,IAAIS,EAAE,KAAI,GAAIT,EAAE,QAAQ;AAC/B,YAAIQ,KAAKA,MAAM,EAAE,kBAAkB;AACjC,iBAAOR;AACT,QAAAS,IAAI,EAAE,kBAAkBD,CAAC,EAAE;AAAA,UACzB;AAAA,UACArF;AAAA,QACV,GAAW6E,IAAIS,EAAE,KAAI;AAAA,MACf;AACA,aAAOT;AAAA,IACT,CAAC;AAAA,EACH,GAAG/E;AACL,GAAGuf,EAAE;AACL,SAASwG,GAAG1mB,GAAGW,GAAG;AAChB,MAAIC,IAAIif,EAAE7f,CAAC,GAAGwB,IAAI,CAACxB,CAAC,EAAE,OAAOW,CAAC,EAAE,IAAI,SAASc,GAAG;AAC9C,WAAOue,GAAGve,CAAC,IAAIb,MAAMa,IAAI0e,GAAG1e,CAAC,KAAKA,IAAIb,IAAIuiB,GAAG1hB,CAAC,IAAI2hB,GAAG,MAAM,QAAQ3hB,CAAC,IAAIA,IAAI,CAACA,CAAC,CAAC,GAAGA;AAAA,EACpF,CAAC,EAAE,OAAO,SAASA,GAAG;AACpB,WAAOA,EAAE,SAAS;AAAA,EACpB,CAAC;AACD,MAAID,EAAE,WAAW;AACf,WAAOxB;AACT,MAAIwB,EAAE,WAAW,GAAG;AAClB,QAAIX,IAAIW,EAAE,CAAC;AACX,QAAIX,MAAMb,KAAKY,KAAKif,EAAEhf,CAAC,KAAK8e,GAAG3f,CAAC,KAAK2f,GAAG9e,CAAC;AACvC,aAAOA;AAAA,EACX;AACA,SAAO,IAAI4lB,GAAGjlB,CAAC;AACjB;AACA,SAASmlB,GAAG3mB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIqkB,GAAG7lB,CAAC;AACZ,SAAOwB,EAAE,oBAAoB,SAASX,GAAGY,GAAG;AAC1C,QAAIA;AACF,aAAO,KAAK,YAAW,EAAG,UAAUZ,GAAGY,CAAC;AAC1C,QAAI,IAAI,GAAG,IAAI;AACf,aAAS,EAAE,GAAGmB,GAAG;AACf,QAAE,UAAU,SAASC,GAAGC,GAAG;AACzB,gBAAQ,CAACnC,KAAKiC,IAAIjC,MAAMqf,GAAGnd,CAAC,IAAI,EAAEA,GAAGD,IAAI,CAAC,KAAK,KAAK/B,EAAEgC,GAAGjC,IAAIkC,IAAI,IAAI,GAAGtB,CAAC,MAAM,OAAO,IAAI,MAAM,CAAC;AAAA,MACnG,GAAGC,CAAC;AAAA,IACN;AACA,WAAO,EAAEzB,GAAG,CAAC,GAAG;AAAA,EAClB,GAAGwB,EAAE,qBAAqB,SAASX,GAAGY,GAAG;AACvC,QAAIA;AACF,aAAO,KAAK,YAAW,EAAG,WAAWZ,GAAGY,CAAC;AAC3C,QAAI,IAAIzB,EAAE,WAAWa,GAAGY,CAAC,GAAG,IAAI,IAAI,IAAI;AACxC,WAAO,IAAIsf,EAAE,WAAW;AACtB,aAAO,KAAK;AACV,YAAI,IAAI,EAAE,KAAI;AACd,YAAI,EAAE,SAAS,IAAI;AACjB,cAAI,EAAE,IAAG;AACT;AAAA,QACF;AACA,YAAIne,IAAI,EAAE;AACV,YAAI/B,MAAM8f,OAAO/d,IAAIA,EAAE,CAAC,KAAK,CAACjC,KAAK,EAAE,SAASA,MAAMqf,GAAGpd,CAAC;AACtD,YAAE,KAAK,CAAC,GAAG,IAAIA,EAAE,WAAW/B,GAAGY,CAAC;AAAA;AAEhC,iBAAOb,IAAI,IAAIogB,EAAEngB,GAAG,KAAK+B,GAAG,CAAC;AAAA,MACjC;AACA,aAAOqe,GAAE;AAAA,IACX,CAAC;AAAA,EACH,GAAGzf;AACL;AACA,SAASolB,GAAG5mB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAI2kB,GAAGnmB,CAAC;AACZ,SAAOA,EAAE,MAAK,EAAG,IAAI,SAASa,GAAGY,GAAG;AAClC,WAAOD,EAAEb,EAAE,KAAKC,GAAGC,GAAGY,GAAGzB,CAAC,CAAC;AAAA,EAC7B,CAAC,EAAE,QAAQ,EAAE;AACf;AACA,SAAS6mB,GAAG7mB,GAAGW,GAAG;AAChB,MAAIC,IAAIilB,GAAG7lB,CAAC;AACZ,SAAOY,EAAE,OAAOZ,EAAE,QAAQA,EAAE,OAAO,IAAI,GAAGY,EAAE,oBAAoB,SAASY,GAAGX,GAAG;AAC7E,QAAIY,IAAI,MAAM,IAAI;AAClB,WAAOzB,EAAE;AAAA,MACP,SAAS,GAAG;AACV,gBAAQ,CAAC,KAAKwB,EAAEb,GAAG,KAAKc,CAAC,MAAM,OAAOD,EAAE,GAAG,KAAKC,CAAC,MAAM;AAAA,MACzD;AAAA,MACAZ;AAAA,IACN,GAAO;AAAA,EACL,GAAGD,EAAE,qBAAqB,SAASY,GAAGX,GAAG;AACvC,QAAIY,IAAIzB,EAAE,WAAW0gB,IAAI7f,CAAC,GAAG,IAAI,GAAG;AACpC,WAAO,IAAIkgB,EAAE,WAAW;AACtB,cAAQ,CAAC,KAAK,IAAI,OAAO,IAAItf,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,IAAIuf,EAAExf,GAAG,KAAKb,CAAC,IAAIqgB,EAAExf,GAAG,KAAK,EAAE,OAAO,CAAC;AAAA,IAClG,CAAC;AAAA,EACH,GAAGZ;AACL;AACA,SAASkmB,GAAG9mB,GAAGW,GAAGC,GAAG;AACnB,EAAAD,MAAMA,IAAIomB;AACV,MAAIvlB,IAAIqe,EAAE7f,CAAC,GAAGa,IAAI,GAAGY,IAAIzB,EAAE,MAAK,EAAG,IAAI,SAAS,GAAG,GAAG;AACpD,WAAO,CAAC,GAAG,GAAGa,KAAKD,IAAIA,EAAE,GAAG,GAAGZ,CAAC,IAAI,CAAC;AAAA,EACvC,CAAC,EAAE,SAAQ,EAAG,QAAO;AACrB,SAAOyB,EAAE,KAAK,SAAS,GAAG,GAAG;AAC3B,WAAOd,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,EACpC,CAAC,EAAE;AAAA,IACDa,IAAI,SAAS,GAAG,GAAG;AACjB,MAAAC,EAAE,CAAC,EAAE,SAAS;AAAA,IAChB,IAAI,SAAS,GAAG,GAAG;AACjB,MAAAA,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,IACZ;AAAA,EACJ,GAAKD,IAAI4e,GAAG3e,CAAC,IAAIke,GAAG3f,CAAC,IAAIsgB,GAAG7e,CAAC,IAAI+e,GAAG/e,CAAC;AACrC;AACA,SAASulB,GAAGhnB,GAAGW,GAAGC,GAAG;AACnB,MAAID,MAAMA,IAAIomB,KAAKnmB,GAAG;AACpB,QAAIY,IAAIxB,EAAE,MAAK,EAAG,IAAI,SAASa,GAAGY,GAAG;AACnC,aAAO,CAACZ,GAAGD,EAAEC,GAAGY,GAAGzB,CAAC,CAAC;AAAA,IACvB,CAAC,EAAE,OAAO,SAASa,GAAGY,GAAG;AACvB,aAAOwlB,GAAGtmB,GAAGE,EAAE,CAAC,GAAGY,EAAE,CAAC,CAAC,IAAIA,IAAIZ;AAAA,IACjC,CAAC;AACD,WAAOW,KAAKA,EAAE,CAAC;AAAA,EACjB;AACA,SAAOxB,EAAE,OAAO,SAASa,GAAGY,GAAG;AAC7B,WAAOwlB,GAAGtmB,GAAGE,GAAGY,CAAC,IAAIA,IAAIZ;AAAA,EAC3B,CAAC;AACH;AACA,SAASomB,GAAGjnB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIxB,EAAEY,GAAGD,CAAC;AACd,SAAOa,MAAM,KAAKZ,MAAMD,MAAMC,KAAK,QAAQA,MAAMA,MAAMY,IAAI;AAC7D;AACA,SAAS0lB,GAAGlnB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAIX,IAAIglB,GAAG7lB,CAAC,GAAGyB,IAAI,IAAI4hB,GAAGziB,CAAC,EAAE,IAAI,SAAS,GAAG;AAC3C,WAAO,EAAE;AAAA,EACX,CAAC;AACD,SAAOC,EAAE,OAAOW,IAAIC,EAAE,IAAG,IAAKA,EAAE,IAAG,GAAIZ,EAAE,YAAY,SAAS,GAAG,GAAG;AAClE,aAAS,IAAI,KAAK,WAAW6f,IAAI,CAAC,GAAG,GAAG9d,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,QAAQ,EAAE,EAAE,OAAOA,KAAK,IAAI,MAAM;AAC/F;AACF,WAAOA;AAAA,EACT,GAAG/B,EAAE,qBAAqB,SAAS,GAAG,GAAG;AACvC,QAAI,IAAID,EAAE;AAAA,MACR,SAASiC,GAAG;AACV,eAAOA,IAAIod,GAAGpd,CAAC,GAAGwe,GAAG,IAAIxe,EAAE,QAAO,IAAKA,CAAC;AAAA,MAC1C;AAAA,IACN,GAAO,IAAI,GAAGD,IAAI;AACd,WAAO,IAAIme,EAAE,WAAW;AACtB,UAAIle;AACJ,aAAOD,MAAMC,IAAI,EAAE,IAAI,SAASC,GAAG;AACjC,eAAOA,EAAE,KAAI;AAAA,MACf,CAAC,GAAGF,IAAIpB,IAAIqB,EAAE,MAAM,SAASC,GAAG;AAC9B,eAAOA,EAAE;AAAA,MACX,CAAC,IAAID,EAAE,KAAK,SAASC,GAAG;AACtB,eAAOA,EAAE;AAAA,MACX,CAAC,IAAIF,IAAIqe,GAAE,IAAKD;AAAA,QACd;AAAA,QACA;AAAA,QACArgB,EAAE;AAAA,UACA;AAAA,UACAkC,EAAE,IAAI,SAASC,GAAG;AAChB,mBAAOA,EAAE;AAAA,UACX,CAAC;AAAA,QACX;AAAA,MACA;AAAA,IACI,CAAC;AAAA,EACH,GAAGjC;AACL;AACA,SAASulB,EAAEpmB,GAAGW,GAAG;AACf,SAAOX,MAAMW,IAAIX,IAAI8iB,GAAG9iB,CAAC,IAAIW,IAAIX,EAAE,YAAYW,CAAC;AAClD;AACA,SAAS+kB,GAAG1lB,GAAG;AACb,MAAIA,MAAM,OAAOA,CAAC;AAChB,UAAM,IAAI,UAAU,4BAA4BA,CAAC;AACrD;AACA,SAASmmB,GAAGnmB,GAAG;AACb,SAAO6f,EAAE7f,CAAC,IAAImgB,KAAKR,GAAG3f,CAAC,IAAIqgB,KAAKE;AAClC;AACA,SAASsF,GAAG7lB,GAAG;AACb,SAAO,OAAO;AAAA,KACX6f,EAAE7f,CAAC,IAAIogB,KAAKT,GAAG3f,CAAC,IAAIsgB,KAAKE,IAAI;AAAA,EAClC;AACA;AACA,SAASmF,KAAK;AACZ,SAAO,KAAK,MAAM,eAAe,KAAK,MAAM,YAAW,GAAI,KAAK,OAAO,KAAK,MAAM,MAAM,QAAQzF,GAAG,UAAU,YAAY,KAAK,IAAI;AACpI;AACA,SAAS6G,GAAG/mB,GAAGW,GAAG;AAChB,SAAOX,MAAM,UAAUW,MAAM,SAAS,IAAIX,MAAM,SAAS,IAAIW,MAAM,SAAS,KAAKX,IAAIW,IAAI,IAAIX,IAAIW,IAAI,KAAK;AAC5G;AACA,SAASwmB,GAAGnnB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACV,OAAOA,EAAE,UAAU;AAAA,EACnB,OAAOA,EAAE,YAAY;AACvB;AACA,SAASonB,GAAGpnB,GAAGW,GAAG;AAChB,MAAIX,MAAMW,KAAKX,MAAMA,KAAKW,MAAMA;AAC9B,WAAO;AACT,MAAI,CAACX,KAAK,CAACW;AACT,WAAO;AACT,MAAI,OAAOX,EAAE,WAAW,cAAc,OAAOW,EAAE,WAAW,YAAY;AACpE,QAAIX,IAAIA,EAAE,QAAO,GAAIW,IAAIA,EAAE,QAAO,GAAIX,MAAMW,KAAKX,MAAMA,KAAKW,MAAMA;AAChE,aAAO;AACT,QAAI,CAACX,KAAK,CAACW;AACT,aAAO;AAAA,EACX;AACA,SAAO,CAAC,EAAEwmB,GAAGnnB,CAAC,KAAKmnB,GAAGxmB,CAAC,KAAKX,EAAE,OAAOW,CAAC;AACxC;AACA,SAAS0mB,GAAGrnB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,SAAO8lB;AAAA;AAAA,IAELtnB;AAAA,IACA,CAACW,CAAC;AAAA,IACFC;AAAA,IACAY;AAAA,EACJ;AACA;AACA,SAAS+lB,KAAK;AACZ,WAASvnB,IAAI,IAAIW,IAAI,UAAU,QAAQA,MAAO,CAAAX,EAAEW,CAAC,IAAI,UAAUA,CAAC;AAChE,SAAO6mB,GAAG,MAAMxnB,CAAC;AACnB;AACA,SAASynB,GAAGznB,GAAG;AACb,WAASW,IAAI,CAAA,GAAIC,IAAI,UAAU,SAAS,GAAGA,MAAM,IAAK,CAAAD,EAAEC,CAAC,IAAI,UAAUA,IAAI,CAAC;AAC5E,MAAI,OAAOZ,KAAK;AACd,UAAM,IAAI,UAAU,8BAA8BA,CAAC;AACrD,SAAOwnB,GAAG,MAAM7mB,GAAGX,CAAC;AACtB;AACA,SAASwnB,GAAGxnB,GAAGW,GAAGC,GAAG;AACnB,WAASY,IAAI,CAAA,GAAIX,IAAI,GAAGA,IAAIF,EAAE,QAAQE,KAAK;AACzC,QAAIY,IAAI0e,GAAGxf,EAAEE,CAAC,CAAC;AACf,IAAAY,EAAE,SAAS,KAAKD,EAAE,KAAKC,CAAC;AAAA,EAC1B;AACA,SAAOD,EAAE,WAAW,IAAIxB,IAAIA,EAAE,QAAQ,SAAS,KAAK,CAACA,EAAE,aAAawB,EAAE,WAAW,IAAIihB,GAAGziB,CAAC,IAAIA,IAAIA,EAAE,YAAYwB,EAAE,CAAC,CAAC,IAAIxB,EAAE,cAAc,SAAS,GAAG;AACjJ,aAAS,IAAIY,IAAI,SAAS,GAAGgC,GAAG;AAC9B,MAAAykB;AAAA,QACE;AAAA,QACAzkB;AAAA,QACAgf;AAAA,QACA,SAAS/e,GAAG;AACV,iBAAOA,MAAM+e,IAAI,IAAIhhB,EAAEiC,GAAG,GAAGD,CAAC;AAAA,QAChC;AAAA,MACR;AAAA,IACI,IAAI,SAAS,GAAGA,GAAG;AACjB,QAAE,IAAIA,GAAG,CAAC;AAAA,IACZ,GAAG,IAAI,GAAG,IAAIpB,EAAE,QAAQ;AACtB,MAAAA,EAAE,CAAC,EAAE,QAAQ,CAAC;AAAA,EAClB,CAAC;AACH;AACA,IAAIkmB,KAAK,OAAO,UAAU;AAC1B,SAASC,GAAG3nB,GAAG;AACb,MAAI,CAACA,KAAK,OAAOA,KAAK,YAAY0nB,GAAG,KAAK1nB,CAAC,MAAM;AAC/C,WAAO;AACT,MAAIW,IAAI,OAAO,eAAeX,CAAC;AAC/B,MAAIW,MAAM;AACR,WAAO;AACT,WAASC,IAAID,GAAGa,IAAI,OAAO,eAAeb,CAAC,GAAGa,MAAM;AAClD,IAAAZ,IAAIY,GAAGA,IAAI,OAAO,eAAeZ,CAAC;AACpC,SAAOA,MAAMD;AACf;AACA,SAASinB,GAAG5nB,GAAG;AACb,SAAO,OAAOA,KAAK,aAAa0iB,GAAG1iB,CAAC,KAAK,MAAM,QAAQA,CAAC,KAAK2nB,GAAG3nB,CAAC;AACnE;AACA,SAAS6nB,GAAG7nB,GAAGW,GAAG;AAChB,EAAAA,IAAIA,KAAK;AACT,WAASC,IAAI,KAAK,IAAI,GAAGZ,EAAE,SAASW,CAAC,GAAGa,IAAI,IAAI,MAAMZ,CAAC,GAAGC,IAAI,GAAGA,IAAID,GAAGC;AACtE,IAAAW,EAAEX,CAAC,IAAIb,EAAEa,IAAIF,CAAC;AAChB,SAAOa;AACT;AACA,SAASsmB,GAAG9nB,GAAG;AACb,MAAI,MAAM,QAAQA,CAAC;AACjB,WAAO6nB,GAAG7nB,CAAC;AACb,MAAIW,IAAI,CAAA;AACR,WAASC,KAAKZ;AACZ,IAAA+iB,GAAG,KAAK/iB,GAAGY,CAAC,MAAMD,EAAEC,CAAC,IAAIZ,EAAEY,CAAC;AAC9B,SAAOD;AACT;AACA,SAASonB,GAAG/nB,GAAGW,GAAGC,GAAG;AACnB,SAAOonB,GAAGhoB,GAAGW,GAAGsnB,GAAGrnB,CAAC,CAAC;AACvB;AACA,SAASonB,GAAGhoB,GAAGW,GAAGC,GAAG;AACnB,MAAI,CAACgnB,GAAG5nB,CAAC;AACP,UAAM,IAAI;AAAA,MACR,iDAAiDA;AAAA,IACvD;AACE,MAAI0iB,GAAG1iB,CAAC;AACN,WAAO,OAAOY,KAAK,cAAcZ,EAAE,YAAYA,EAAE,UAAU,MAAMA,GAAG,CAACY,CAAC,EAAE,OAAOD,CAAC,CAAC,IAAIX,EAAE,QAAQA,EAAE,MAAM,MAAMA,GAAGW,CAAC,IAAIX,EAAE,OAAO,MAAMA,GAAGW,CAAC;AAC1I,WAASa,IAAI,MAAM,QAAQxB,CAAC,GAAGa,IAAIb,GAAGyB,IAAID,IAAI6e,KAAKF,IAAI,IAAI3e,IAAI,SAAS,GAAG;AACzE,IAAAX,MAAMb,MAAMa,IAAIinB,GAAGjnB,CAAC,IAAIA,EAAE,KAAK,CAAC;AAAA,EAClC,IAAI,SAAS,GAAG,GAAG;AACjB,QAAI+B,IAAImgB,GAAG,KAAKliB,GAAG,CAAC,GAAGgC,IAAID,KAAKhC,IAAIA,EAAEC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI;AACpD,KAAC,CAAC+B,KAAKC,MAAMhC,EAAE,CAAC,OAAOA,MAAMb,MAAMa,IAAIinB,GAAGjnB,CAAC,IAAIA,EAAE,CAAC,IAAIgC;AAAA,EACxD,GAAG,IAAI,GAAG,IAAIlC,EAAE,QAAQ;AACtB,IAAAc,EAAEd,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC;AACnB,SAAOE;AACT;AACA,SAASonB,GAAGjoB,GAAG;AACb,WAASW,EAAEC,GAAGY,GAAGX,GAAG;AAClB,WAAO+mB,GAAGhnB,CAAC,KAAKgnB,GAAGpmB,CAAC,KAAK0mB,GAAGtnB,GAAGY,CAAC,IAAIwmB,GAAGpnB,GAAG,CAACY,CAAC,GAAGb,CAAC,IAAIX,IAAIA,EAAEY,GAAGY,GAAGX,CAAC,IAAIW;AAAA,EACvE;AACA,SAAOb;AACT;AACA,SAASunB,GAAGloB,GAAGW,GAAG;AAChB,MAAIC,IAAIsf,GAAGlgB,CAAC,GAAGwB,IAAI0e,GAAGvf,CAAC;AACvB,SAAOgf,GAAG/e,CAAC,MAAM+e,GAAGne,CAAC,KAAKqe,EAAEjf,CAAC,MAAMif,EAAEre,CAAC;AACxC;AACA,SAAS2mB,KAAK;AACZ,WAASnoB,IAAI,IAAIW,IAAI,UAAU,QAAQA,MAAO,CAAAX,EAAEW,CAAC,IAAI,UAAUA,CAAC;AAChE,SAAOonB,GAAG,MAAM/nB,CAAC;AACnB;AACA,SAASooB,GAAGpoB,GAAG;AACb,WAASW,IAAI,CAAA,GAAIC,IAAI,UAAU,SAAS,GAAGA,MAAM,IAAK,CAAAD,EAAEC,CAAC,IAAI,UAAUA,IAAI,CAAC;AAC5E,SAAOmnB,GAAG,MAAMpnB,GAAGX,CAAC;AACtB;AACA,SAASqoB,GAAGroB,GAAG;AACb,WAASW,IAAI,CAAA,GAAIC,IAAI,UAAU,SAAS,GAAGA,MAAM,IAAK,CAAAD,EAAEC,CAAC,IAAI,UAAUA,IAAI,CAAC;AAC5E,SAAO0mB;AAAA,IACL;AAAA,IACAtnB;AAAA,IACAsoB,GAAE;AAAA,IACF,SAAS9mB,GAAG;AACV,aAAOumB,GAAGvmB,GAAGb,CAAC;AAAA,IAChB;AAAA,EACJ;AACA;AACA,SAAS4nB,GAAGvoB,GAAG;AACb,WAASW,IAAI,CAAA,GAAIC,IAAI,UAAU,SAAS,GAAGA,MAAM,IAAK,CAAAD,EAAEC,CAAC,IAAI,UAAUA,IAAI,CAAC;AAC5E,SAAO0mB,GAAG,MAAMtnB,GAAGsoB,GAAE,GAAI,SAAS9mB,GAAG;AACnC,WAAOwmB,GAAGxmB,GAAGb,CAAC;AAAA,EAChB,CAAC;AACH;AACA,SAAS6nB,GAAGxoB,GAAGW,GAAGC,GAAG;AACnB,SAAO0mB,GAAGtnB,GAAGW,GAAGihB,GAAG,WAAW;AAC5B,WAAOhhB;AAAA,EACT,CAAC;AACH;AACA,SAAS6nB,GAAGzoB,GAAGW,GAAG;AAChB,SAAO6nB,GAAG,MAAMxoB,GAAGW,CAAC;AACtB;AACA,SAAS+nB,GAAG1oB,GAAGW,GAAGC,GAAG;AACnB,SAAO,UAAU,WAAW,IAAIZ,EAAE,IAAI,IAAIqnB,GAAG,MAAMrnB,GAAGW,GAAGC,CAAC;AAC5D;AACA,SAAS+nB,GAAG3oB,GAAGW,GAAGC,GAAG;AACnB,SAAO0mB,GAAG,MAAMtnB,GAAGW,GAAGC,CAAC;AACzB;AACA,SAASgoB,KAAK;AACZ,SAAO,KAAK;AACd;AACA,SAASC,GAAG7oB,GAAG;AACb,MAAIW,IAAI,KAAK,UAAS;AACtB,SAAOX,EAAEW,CAAC,GAAGA,EAAE,WAAU,IAAKA,EAAE,cAAc,KAAK,SAAS,IAAI;AAClE;AACA,IAAImoB,KAAK;AACT,SAASC,GAAG/oB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAE8oB,EAAE;AACN;AACA,SAASE,GAAGhpB,GAAGW,GAAG;AAChB,MAAI,CAACX;AACH,UAAM,IAAI,MAAMW,CAAC;AACrB;AACA,SAASsoB,GAAGjpB,GAAG;AACb,EAAAgpB,GAAGhpB,MAAM,OAAO,mDAAmD;AACrE;AACA,IAAIgmB,KAAsB,0BAAShmB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,WAAOA,KAAK,OAAO0nB,GAAE,IAAKS,GAAGnoB,CAAC,KAAK,CAACgiB,GAAGhiB,CAAC,IAAIA,IAAI0nB,GAAE,EAAG,cAAc,SAAS9mB,GAAG;AAC7E,UAAIX,IAAIb,EAAEY,CAAC;AACX,MAAAqoB,GAAGpoB,EAAE,IAAI,GAAGA,EAAE,QAAQ,SAASY,GAAG,GAAG;AACnC,eAAOD,EAAE,IAAI,GAAGC,CAAC;AAAA,MACnB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACA,SAAOzB,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,WAAW,WAAW;AAC3I,WAAO,KAAK,WAAW,SAAS,GAAG;AAAA,EACrC,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,WAAO,KAAK,QAAQ,KAAK,MAAM,IAAI,GAAG,QAAQ,GAAGA,CAAC,IAAIA;AAAA,EACxD,GAAGF,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,WAAOqoB,GAAG,MAAM,GAAGroB,CAAC;AAAA,EACtB,GAAGF,EAAE,UAAU,SAAS,SAAS,GAAG;AAClC,WAAOuoB,GAAG,MAAM,GAAGtH,CAAC;AAAA,EACtB,GAAGjhB,EAAE,UAAU,YAAY,SAAS,GAAG;AACrC,QAAIE,IAAIof,GAAG,CAAC;AACZ,WAAOpf,EAAE,SAAS,IAAI,OAAO,KAAK,cAAc,SAAS,GAAG;AAC1D,MAAAA,EAAE,QAAQ,SAASqF,GAAG;AACpB,eAAO,EAAE,OAAOA,CAAC;AAAA,MACnB,CAAC;AAAA,IACH,CAAC;AAAA,EACH,GAAGvF,EAAE,UAAU,QAAQ,WAAW;AAChC,WAAO,KAAK,SAAS,IAAI,OAAO,KAAK,aAAa,KAAK,OAAO,GAAG,KAAK,QAAQ,MAAM,KAAK,SAAS,QAAQ,KAAK,YAAY,IAAI,QAAQ2nB,GAAE;AAAA,EAC3I,GAAG3nB,EAAE,UAAU,OAAO,SAAS,GAAG;AAChC,WAAOulB,GAAGY,GAAG,MAAM,CAAC,CAAC;AAAA,EACvB,GAAGnmB,EAAE,UAAU,SAAS,SAAS,GAAGE,GAAG;AACrC,WAAOqlB,GAAGY,GAAG,MAAMjmB,GAAG,CAAC,CAAC;AAAA,EAC1B,GAAGF,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,QAAI,IAAI;AACR,WAAO,KAAK,cAAc,SAASqF,GAAG;AACpC,MAAAA,EAAE,QAAQ,SAASC,GAAGT,GAAG;AACvB,QAAAQ,EAAE,IAAIR,GAAG,EAAE,KAAK7E,GAAGsF,GAAGT,GAAG,CAAC,CAAC;AAAA,MAC7B,CAAC;AAAA,IACH,CAAC;AAAA,EACH,GAAG/E,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,WAAO,IAAIsoB,GAAG,MAAM,GAAGtoB,CAAC;AAAA,EAC1B,GAAGF,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,QAAI,IAAI,MAAMqF,IAAI;AAClB,WAAO,KAAK,SAAS,KAAK,MAAM,QAAQ,SAASC,GAAG;AAClD,aAAOD,KAAK,EAAEC,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,CAAC;AAAA,IAC7B,GAAGtF,CAAC,GAAGqF;AAAA,EACT,GAAGvF,EAAE,UAAU,gBAAgB,SAAS,GAAG;AACzC,WAAO,MAAM,KAAK,YAAY,OAAO,IAAIyoB,GAAG,KAAK,MAAM,KAAK,OAAO,GAAG,KAAK,MAAM,IAAI,KAAK,SAAS,IAAId,GAAE,KAAM,KAAK,YAAY,GAAG,KAAK,YAAY,IAAI;AAAA,EAC1J,GAAG3nB;AACL,GAAGwf,EAAE;AACL6F,GAAG,QAAQ+C;AACX,IAAIM,IAAIrD,GAAG;AACXqD,EAAEP,EAAE,IAAI;AACRO,EAAE7H,EAAE,IAAI6H,EAAE;AACVA,EAAE,YAAYA,EAAE;AAChBA,EAAE,QAAQZ;AACVY,EAAE,WAAWA,EAAE,WAAWC;AAC1BD,EAAE,SAASX;AACXW,EAAE,WAAWV;AACbU,EAAE,QAAQA,EAAE,SAAS9B;AACrB8B,EAAE,YAAY5B;AACd4B,EAAE,YAAYlB;AACdkB,EAAE,gBAAgBjB;AAClBiB,EAAE,UAAUd;AACZc,EAAE,cAAchB;AAChBgB,EAAE,gBAAgBR;AAClBQ,EAAE,aAAaT;AACfS,EAAE,cAAc3F;AAChB2F,EAAE,mBAAmB,IAAIA,EAAE,YAAY1F;AACvC0F,EAAE,mBAAmB,IAAI,SAASrpB,GAAGW,GAAG;AACtC,SAAOX,EAAE,IAAIW,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC;AACzB;AACA0oB,EAAE,qBAAqB,IAAI,SAASrpB,GAAG;AACrC,SAAOA,EAAE,YAAW;AACtB;AACA,IAAIupB,KAAK,SAAS,GAAG3oB,GAAG;AACtB,OAAK,UAAU,GAAG,KAAK,UAAUA;AACnC;AACA2oB,GAAG,UAAU,MAAM,SAAS,GAAG3oB,GAAG,GAAGC,GAAG;AACtC,WAAS,IAAI,KAAK,SAASqF,IAAI,GAAGC,IAAI,EAAE,QAAQD,IAAIC,GAAGD;AACrD,QAAIkhB,GAAG,GAAG,EAAElhB,CAAC,EAAE,CAAC,CAAC;AACf,aAAO,EAAEA,CAAC,EAAE,CAAC;AACjB,SAAOrF;AACT;AACA0oB,GAAG,UAAU,SAAS,SAAS,GAAG3oB,GAAG,GAAGC,GAAG,GAAGqF,GAAGC,GAAG;AAClD,WAAST,IAAI,MAAMkc,GAAGxb,IAAI,KAAK,SAASxD,IAAI,GAAG,IAAIwD,EAAE,QAAQxD,IAAI,KAAK,CAACwkB,GAAGvmB,GAAGuF,EAAExD,CAAC,EAAE,CAAC,CAAC,GAAGA;AACrF;AACF,MAAIE,IAAIF,IAAI;AACZ,MAAIE,IAAIsD,EAAExD,CAAC,EAAE,CAAC,MAAM,IAAI8C;AACtB,WAAO;AACT,MAAIoc,GAAG3b,CAAC,IAAIT,KAAK,CAAC5C,MAAMgf,GAAG5b,CAAC,GAAG,EAAER,KAAKU,EAAE,WAAW,IAAI;AACrD,QAAI,CAACtD,KAAK,CAAC4C,KAAKU,EAAE,UAAUojB;AAC1B,aAAOC,GAAG,GAAGrjB,GAAGvF,GAAG,CAAC;AACtB,QAAI,IAAI,KAAK,MAAM,KAAK,SAAS4C,IAAI,IAAI2C,IAAIyhB,GAAGzhB,CAAC;AACjD,WAAOtD,IAAI4C,IAAI9C,MAAM,IAAI,IAAIa,EAAE,IAAG,IAAKA,EAAEb,CAAC,IAAIa,EAAE,IAAG,IAAKA,EAAEb,CAAC,IAAI,CAAC/B,GAAG,CAAC,IAAI4C,EAAE,KAAK,CAAC5C,GAAG,CAAC,CAAC,GAAG,KAAK,KAAK,UAAU4C,GAAG,QAAQ,IAAI8lB,GAAG,GAAG9lB,CAAC;AAAA,EACpI;AACF;AACA,IAAIimB,KAAK,SAAS,GAAG9oB,GAAG,GAAG;AACzB,OAAK,UAAU,GAAG,KAAK,SAASA,GAAG,KAAK,QAAQ;AAClD;AACA8oB,GAAG,UAAU,MAAM,SAAS,GAAG9oB,GAAG,GAAGC,GAAG;AACtC,EAAAD,MAAM,WAAWA,IAAImjB,GAAG,CAAC;AACzB,MAAI,IAAI,OAAO,MAAM,IAAInjB,IAAIA,MAAM,KAAK+gB,KAAKzb,IAAI,KAAK;AACtD,UAAQA,IAAI,OAAO,IAAIrF,IAAI,KAAK,MAAM8oB,GAAGzjB,IAAI,IAAI,CAAC,CAAC,EAAE;AAAA,IACnD,IAAIub;AAAA,IACJ7gB;AAAA,IACA;AAAA,IACAC;AAAA,EACJ;AACA;AACA6oB,GAAG,UAAU,SAAS,SAAS,GAAG9oB,GAAG,GAAGC,GAAG,GAAGqF,GAAGC,GAAG;AAClD,QAAM,WAAW,IAAI4d,GAAGljB,CAAC;AACzB,MAAI6E,KAAK9E,MAAM,IAAI,IAAI,MAAMA,KAAK+gB,IAAIvb,IAAI,KAAKV,GAAG9C,IAAI,KAAK,QAAQ,KAAKA,IAAIwD,OAAO;AACnF,MAAI,CAAC,KAAK,MAAMwb;AACd,WAAO;AACT,MAAI9e,IAAI6mB,GAAG/mB,IAAIwD,IAAI,CAAC,GAAG,IAAI,KAAK,OAAO3C,IAAI,IAAI,EAAEX,CAAC,IAAI,QAAQuD,IAAIujB;AAAA,IAChEnmB;AAAA,IACA;AAAA,IACA7C,IAAI6gB;AAAA,IACJ;AAAA,IACA5gB;AAAA,IACA;AAAA,IACAqF;AAAA,IACAC;AAAA,EACJ;AACE,MAAIE,MAAM5C;AACR,WAAO;AACT,MAAI,CAAC,KAAK4C,KAAK,EAAE,UAAUwjB;AACzB,WAAOC,GAAG,GAAG,GAAGlnB,GAAG8C,GAAGW,CAAC;AACzB,MAAI,KAAK,CAACA,KAAK,EAAE,WAAW,KAAK0jB,GAAG,EAAEjnB,IAAI,CAAC,CAAC;AAC1C,WAAO,EAAEA,IAAI,CAAC;AAChB,MAAI,KAAKuD,KAAK,EAAE,WAAW,KAAK0jB,GAAG1jB,CAAC;AAClC,WAAOA;AACT,MAAI1C,IAAI,KAAK,MAAM,KAAK,SAASC,IAAI,IAAIyC,IAAIzD,IAAIA,IAAIwD,IAAIxD,IAAIwD,GAAGvC,IAAI,IAAIwC,IAAI2jB,GAAG,GAAGlnB,GAAGuD,GAAG1C,CAAC,IAAIsmB,GAAG,GAAGnnB,GAAGa,CAAC,IAAIumB,GAAG,GAAGpnB,GAAGuD,GAAG1C,CAAC;AACxH,SAAOA,KAAK,KAAK,SAASC,GAAG,KAAK,QAAQC,GAAG,QAAQ,IAAI6lB,GAAG,GAAG9lB,GAAGC,CAAC;AACrE;AACA,IAAIsmB,KAAK,SAAS,GAAGvpB,GAAG,GAAG;AACzB,OAAK,UAAU,GAAG,KAAK,QAAQA,GAAG,KAAK,QAAQ;AACjD;AACAupB,GAAG,UAAU,MAAM,SAAS,GAAGvpB,GAAG,GAAGC,GAAG;AACtC,EAAAD,MAAM,WAAWA,IAAImjB,GAAG,CAAC;AACzB,MAAI,KAAK,MAAM,IAAInjB,IAAIA,MAAM,KAAK+gB,IAAIzb,IAAI,KAAK,MAAM,CAAC;AACtD,SAAOA,IAAIA,EAAE,IAAI,IAAIub,GAAG7gB,GAAG,GAAGC,CAAC,IAAIA;AACrC;AACAspB,GAAG,UAAU,SAAS,SAAS,GAAGvpB,GAAG,GAAGC,GAAG,GAAGqF,GAAGC,GAAG;AAClD,QAAM,WAAW,IAAI4d,GAAGljB,CAAC;AACzB,MAAI6E,KAAK9E,MAAM,IAAI,IAAI,MAAMA,KAAK+gB,IAAIvb,IAAI,MAAMwb,GAAGhf,IAAI,KAAK,OAAO,IAAIA,EAAE8C,CAAC;AAC1E,MAAIU,KAAK,CAAC;AACR,WAAO;AACT,MAAItD,IAAI8mB;AAAA,IACN;AAAA,IACA;AAAA,IACAhpB,IAAI6gB;AAAA,IACJ;AAAA,IACA5gB;AAAA,IACA;AAAA,IACAqF;AAAA,IACAC;AAAA,EACJ;AACE,MAAIrD,MAAM;AACR,WAAO;AACT,MAAI,IAAI,KAAK;AACb,MAAI,CAAC;AACH;AAAA,WACO,CAACA,MAAM,KAAK,IAAIsnB;AACvB,WAAOC,GAAG,GAAGznB,GAAG,GAAG8C,CAAC;AACtB,MAAIjC,IAAI,KAAK,MAAM,KAAK,SAAS4C,IAAI2jB,GAAGpnB,GAAG8C,GAAG5C,GAAGW,CAAC;AAClD,SAAOA,KAAK,KAAK,QAAQ,GAAG,KAAK,QAAQ4C,GAAG,QAAQ,IAAI8jB,GAAG,GAAG,GAAG9jB,CAAC;AACpE;AACA,IAAIikB,KAAK,SAAS,GAAG1pB,GAAG,GAAG;AACzB,OAAK,UAAU,GAAG,KAAK,UAAUA,GAAG,KAAK,UAAU;AACrD;AACA0pB,GAAG,UAAU,MAAM,SAAS,GAAG1pB,GAAG,GAAGC,GAAG;AACtC,WAAS,IAAI,KAAK,SAASqF,IAAI,GAAGC,IAAI,EAAE,QAAQD,IAAIC,GAAGD;AACrD,QAAIkhB,GAAG,GAAG,EAAElhB,CAAC,EAAE,CAAC,CAAC;AACf,aAAO,EAAEA,CAAC,EAAE,CAAC;AACjB,SAAOrF;AACT;AACAypB,GAAG,UAAU,SAAS,SAAS,GAAG1pB,GAAG,GAAGC,GAAG,GAAGqF,GAAGC,GAAG;AAClD,QAAM,WAAW,IAAI4d,GAAGljB,CAAC;AACzB,MAAI6E,IAAI,MAAMkc;AACd,MAAI,MAAM,KAAK;AACb,WAAOlc,IAAI,QAAQoc,GAAG3b,CAAC,GAAG2b,GAAG5b,CAAC,GAAGqkB,GAAG,MAAM,GAAG3pB,GAAG,GAAG,CAACC,GAAG,CAAC,CAAC;AAC3D,WAASuF,IAAI,KAAK,SAASxD,IAAI,GAAG,IAAIwD,EAAE,QAAQxD,IAAI,KAAK,CAACwkB,GAAGvmB,GAAGuF,EAAExD,CAAC,EAAE,CAAC,CAAC,GAAGA;AACxE;AACF,MAAIE,IAAIF,IAAI;AACZ,MAAIE,IAAIsD,EAAExD,CAAC,EAAE,CAAC,MAAM,IAAI8C;AACtB,WAAO;AACT,MAAIoc,GAAG3b,CAAC,IAAIT,KAAK,CAAC5C,MAAMgf,GAAG5b,CAAC,GAAGR,KAAK,MAAM;AACxC,WAAO,IAAI8kB,GAAG,GAAG,KAAK,SAASpkB,EAAExD,IAAI,CAAC,CAAC;AACzC,MAAI,IAAI,KAAK,MAAM,KAAK,SAASa,IAAI,IAAI2C,IAAIyhB,GAAGzhB,CAAC;AACjD,SAAOtD,IAAI4C,IAAI9C,MAAM,IAAI,IAAIa,EAAE,IAAG,IAAKA,EAAEb,CAAC,IAAIa,EAAE,IAAG,IAAKA,EAAEb,CAAC,IAAI,CAAC/B,GAAG,CAAC,IAAI4C,EAAE,KAAK,CAAC5C,GAAG,CAAC,CAAC,GAAG,KAAK,KAAK,UAAU4C,GAAG,QAAQ,IAAI6mB,GAAG,GAAG,KAAK,SAAS7mB,CAAC;AAClJ;AACA,IAAI+mB,KAAK,SAAS,GAAG5pB,GAAG,GAAG;AACzB,OAAK,UAAU,GAAG,KAAK,UAAUA,GAAG,KAAK,QAAQ;AACnD;AACA4pB,GAAG,UAAU,MAAM,SAAS,GAAG5pB,GAAG,GAAGC,GAAG;AACtC,SAAOumB,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAIvmB;AAChD;AACA2pB,GAAG,UAAU,SAAS,SAAS,GAAG5pB,GAAG,GAAGC,GAAG,GAAGqF,GAAGC,GAAG;AAClD,MAAIT,IAAI,MAAMkc,GAAGxb,IAAIghB,GAAGvmB,GAAG,KAAK,MAAM,CAAC,CAAC;AACxC,MAAIuF,IAAI,MAAM,KAAK,MAAM,CAAC,IAAIV;AAC5B,WAAO;AACT,MAAIoc,GAAG3b,CAAC,GAAGT,GAAG;AACZoc,IAAAA,GAAG5b,CAAC;AACJ;AAAA,EACF;AACA,SAAOE,IAAI,KAAK,MAAM,KAAK,WAAW,KAAK,MAAM,CAAC,IAAI,GAAG,QAAQ,IAAIokB,GAAG,GAAG,KAAK,SAAS,CAAC3pB,GAAG,CAAC,CAAC,KAAKihB,GAAG5b,CAAC,GAAGqkB,GAAG,MAAM,GAAG3pB,GAAGmjB,GAAGljB,CAAC,GAAG,CAACA,GAAG,CAAC,CAAC;AACzI;AACA0oB,GAAG,UAAU,UAAUe,GAAG,UAAU,UAAU,SAAStqB,GAAGW,GAAG;AAC3D,WAASC,IAAI,KAAK,SAASY,IAAI,GAAGX,IAAID,EAAE,SAAS,GAAGY,KAAKX,GAAGW;AAC1D,QAAIxB,EAAEY,EAAED,IAAIE,IAAIW,IAAIA,CAAC,CAAC,MAAM;AAC1B,aAAO;AACb;AACAkoB,GAAG,UAAU,UAAUS,GAAG,UAAU,UAAU,SAASnqB,GAAGW,GAAG;AAC3D,WAASC,IAAI,KAAK,OAAOY,IAAI,GAAGX,IAAID,EAAE,SAAS,GAAGY,KAAKX,GAAGW,KAAK;AAC7D,QAAIC,IAAIb,EAAED,IAAIE,IAAIW,IAAIA,CAAC;AACvB,QAAIC,KAAKA,EAAE,QAAQzB,GAAGW,CAAC,MAAM;AAC3B,aAAO;AAAA,EACX;AACF;AACA6pB,GAAG,UAAU,UAAU,SAASxqB,GAAGW,GAAG;AACpC,SAAOX,EAAE,KAAK,KAAK;AACrB;AACA,IAAImpB,KAAsB,0BAASnpB,GAAG;AACpC,WAASW,EAAEC,GAAGY,GAAGX,GAAG;AAClB,SAAK,QAAQW,GAAG,KAAK,WAAWX,GAAG,KAAK,SAASD,EAAE,SAAS6pB,GAAG7pB,EAAE,KAAK;AAAA,EACxE;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,OAAO,WAAW;AACvI,aAAS,IAAI,KAAK,OAAOE,IAAI,KAAK,QAAQA,KAAK;AAC7C,UAAI,IAAIA,EAAE,MAAMqF,IAAIrF,EAAE,SAASsF,IAAI;AACnC,UAAI,EAAE;AACJ,YAAID,MAAM;AACR,iBAAOwkB,GAAG,GAAG,EAAE,KAAK;AAAA,iBACb,EAAE;AACX,YAAIvkB,IAAI,EAAE,QAAQ,SAAS,GAAGD,KAAKC;AACjC,iBAAOukB;AAAAA,YACL;AAAA,YACA,EAAE,QAAQ,KAAK,WAAWvkB,IAAID,IAAIA,CAAC;AAAA,UAC/C;AAAA,iBACiBC,IAAI,EAAE,MAAM,SAAS,GAAGD,KAAKC,GAAG;AACzC,YAAIT,IAAI,EAAE,MAAM,KAAK,WAAWS,IAAID,IAAIA,CAAC;AACzC,YAAIR,GAAG;AACL,cAAIA,EAAE;AACJ,mBAAOglB,GAAG,GAAGhlB,EAAE,KAAK;AACtB,UAAA7E,IAAI,KAAK,SAAS4pB,GAAG/kB,GAAG7E,CAAC;AAAA,QAC3B;AACA;AAAA,MACF;AACA,MAAAA,IAAI,KAAK,SAAS,KAAK,OAAO;AAAA,IAChC;AACA,WAAOogB,GAAE;AAAA,EACX,GAAGtgB;AACL,GAAGogB,CAAC;AACJ,SAAS2J,GAAG1qB,GAAGW,GAAG;AAChB,SAAOqgB,EAAEhhB,GAAGW,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC;AACxB;AACA,SAAS8pB,GAAGzqB,GAAGW,GAAG;AAChB,SAAO;AAAA,IACL,MAAMX;AAAA,IACN,OAAO;AAAA,IACP,QAAQW;AAAA,EACZ;AACA;AACA,SAASyoB,GAAGppB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAIX,IAAI,OAAO,OAAOwoB,CAAC;AACvB,SAAOxoB,EAAE,OAAOb,GAAGa,EAAE,QAAQF,GAAGE,EAAE,YAAYD,GAAGC,EAAE,SAASW,GAAGX,EAAE,YAAY,IAAIA;AACnF;AACA,IAAI8pB;AACJ,SAASrC,KAAK;AACZ,SAAOqC,OAAOA,KAAKvB,GAAG,CAAC;AACzB;AACA,SAASF,GAAGlpB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,GAAGX;AACP,MAAIb,EAAE,OAAO;AACX,QAAIyB,IAAIogB,MAAM,IAAIA,GAAE;AACpB,QAAIrgB,IAAIooB;AAAA,MACN5pB,EAAE;AAAA,MACFA,EAAE;AAAA,MACF;AAAA,MACA;AAAA,MACAW;AAAA,MACAC;AAAA,MACAa;AAAA,MACA;AAAA,IACN,GAAO,CAAC,EAAE;AACJ,aAAOzB;AACT,IAAAa,IAAIb,EAAE,QAAQyB,EAAE,QAAQb,MAAMghB,IAAI,KAAK,IAAI;AAAA,EAC7C,OAAO;AACL,QAAIhhB,MAAMghB;AACR,aAAO5hB;AACT,IAAAa,IAAI,GAAGW,IAAI,IAAI+nB,GAAGvpB,EAAE,WAAW,CAAC,CAACW,GAAGC,CAAC,CAAC,CAAC;AAAA,EACzC;AACA,SAAOZ,EAAE,aAAaA,EAAE,OAAOa,GAAGb,EAAE,QAAQwB,GAAGxB,EAAE,SAAS,QAAQA,EAAE,YAAY,IAAIA,KAAKwB,IAAI4nB,GAAGvoB,GAAGW,CAAC,IAAI8mB,GAAE;AAC5G;AACA,SAASsB,GAAG5pB,GAAGW,GAAGC,GAAGY,GAAGX,GAAGY,GAAG,GAAG,GAAG;AAClC,SAAOzB,IAAIA,EAAE;AAAA,IACXW;AAAA,IACAC;AAAA,IACAY;AAAA,IACAX;AAAA,IACAY;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAMA,MAAMmgB,IAAI5hB,KAAK8hB,GAAG,CAAC,GAAGA,GAAG,CAAC,GAAG,IAAI0I,GAAG7pB,GAAGa,GAAG,CAACX,GAAGY,CAAC,CAAC;AACtD;AACA,SAASsoB,GAAG/pB,GAAG;AACb,SAAOA,EAAE,gBAAgBwqB,MAAMxqB,EAAE,gBAAgBsqB;AACnD;AACA,SAASC,GAAGvqB,GAAGW,GAAGC,GAAGY,GAAGX,GAAG;AACzB,MAAIb,EAAE,YAAYwB;AAChB,WAAO,IAAI8oB,GAAG3pB,GAAGa,GAAG,CAACxB,EAAE,OAAOa,CAAC,CAAC;AAClC,MAAIY,KAAKb,MAAM,IAAIZ,EAAE,UAAUA,EAAE,YAAYY,KAAK+gB,IAAI,KAAK/gB,MAAM,IAAIY,IAAIA,MAAMZ,KAAK+gB,IAAI,GAAG,IAAIlgB,MAAM,IAAI,CAAC8oB,GAAGvqB,GAAGW,GAAGC,IAAI6gB,GAAGjgB,GAAGX,CAAC,CAAC,KAAK,IAAI,IAAI2pB,GAAG7pB,GAAGa,GAAGX,CAAC,GAAGY,IAAI,IAAI,CAACzB,GAAG,CAAC,IAAI,CAAC,GAAGA,CAAC;AAC/K,SAAO,IAAI0pB,GAAG/oB,GAAG,KAAKc,IAAI,KAAK,GAAG,CAAC;AACrC;AACA,SAASgoB,GAAGzpB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,EAAAxB,MAAMA,IAAI,IAAI+hB;AACd,WAASlhB,IAAI,IAAI2pB,GAAGxqB,GAAG+jB,GAAGnjB,CAAC,GAAG,CAACA,GAAGY,CAAC,CAAC,GAAGC,IAAI,GAAGA,IAAId,EAAE,QAAQc,KAAK;AAC/D,QAAI,IAAId,EAAEc,CAAC;AACX,IAAAZ,IAAIA,EAAE,OAAOb,GAAG,GAAG,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,EACvC;AACA,SAAOa;AACT;AACA,SAASwpB,GAAGrqB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,WAASX,IAAI,GAAGY,IAAI,GAAG,IAAI,IAAI,MAAMb,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAID,EAAE,QAAQ,IAAI,GAAG,KAAK,MAAM,GAAG;AACxF,QAAIiC,IAAIjC,EAAE,CAAC;AACX,IAAAiC,MAAM,UAAU,MAAMpB,MAAMX,KAAK,GAAG,EAAEY,GAAG,IAAImB;AAAA,EAC/C;AACA,SAAO,IAAI8mB,GAAG1pB,GAAGa,GAAG,CAAC;AACvB;AACA,SAASipB,GAAG9pB,GAAGW,GAAGC,GAAGY,GAAGX,GAAG;AACzB,WAASY,IAAI,GAAG,IAAI,IAAI,MAAMigB,EAAE,GAAG,IAAI,GAAG9gB,MAAM,GAAG,KAAKA,OAAO;AAC7D,MAAE,CAAC,IAAIA,IAAI,IAAID,EAAEc,GAAG,IAAI;AAC1B,SAAO,EAAED,CAAC,IAAIX,GAAG,IAAIspB,GAAGnqB,GAAGyB,IAAI,GAAG,CAAC;AACrC;AACA,SAASkoB,GAAG3pB,GAAG;AACb,SAAOA,KAAKA,KAAK,IAAI,YAAYA,KAAKA,IAAI,cAAcA,KAAK,IAAI,YAAYA,IAAIA,KAAKA,KAAK,KAAK,WAAWA,KAAKA,KAAK,GAAGA,KAAKA,KAAK,IAAIA,IAAI;AAC5I;AACA,SAASgqB,GAAGhqB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAIX,IAAIW,IAAIxB,IAAI6nB,GAAG7nB,CAAC;AACpB,SAAOa,EAAEF,CAAC,IAAIC,GAAGC;AACnB;AACA,SAASqpB,GAAGlqB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAIX,IAAIb,EAAE,SAAS;AACnB,MAAIwB,KAAKb,IAAI,MAAME;AACjB,WAAOb,EAAEW,CAAC,IAAIC,GAAGZ;AACnB,WAASyB,IAAI,IAAI,MAAMZ,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAIA,GAAG;AAC9C,UAAMF,KAAKc,EAAE,CAAC,IAAIb,GAAG,IAAI,MAAMa,EAAE,CAAC,IAAIzB,EAAE,IAAI,CAAC;AAC/C,SAAOyB;AACT;AACA,SAASwoB,GAAGjqB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIxB,EAAE,SAAS;AACnB,MAAIY,KAAKD,MAAMa;AACb,WAAOxB,EAAE,IAAG,GAAIA;AAClB,WAASa,IAAI,IAAI,MAAMW,CAAC,GAAGC,IAAI,GAAG,IAAI,GAAG,IAAID,GAAG;AAC9C,UAAMb,MAAMc,IAAI,IAAIZ,EAAE,CAAC,IAAIb,EAAE,IAAIyB,CAAC;AACpC,SAAOZ;AACT;AACA,IAAI2oB,KAAK9H,KAAK,GAAGmI,KAAKnI,KAAK,GAAG0I,KAAK1I,KAAK;AACxC,SAASkJ,GAAG5qB,GAAG;AACb,MAAIgjB,GAAGhjB,CAAC,KAAK,OAAOA,KAAK;AACvB,WAAOA;AACT,MAAI4iB,GAAG5iB,CAAC;AACN,WAAOA,EAAE,QAAO;AAClB,QAAM,IAAI,UAAU,4DAA4DA,CAAC;AACnF;AACA,SAAS6qB,GAAG7qB,GAAG;AACb,MAAI;AACF,WAAO,OAAOA,KAAK,WAAW,KAAK,UAAUA,CAAC,IAAI,OAAOA,CAAC;AAAA,EAC5D,QAAQ;AACN,WAAO,KAAK,UAAUA,CAAC;AAAA,EACzB;AACF;AACA,SAAS8qB,GAAG9qB,GAAGW,GAAG;AAChB,SAAO+hB,GAAG1iB,CAAC;AAAA;AAAA,IAETA,EAAE,IAAIW,CAAC;AAAA;AAAA;AAAA,IAGPinB,GAAG5nB,CAAC,KAAK+iB,GAAG,KAAK/iB,GAAGW,CAAC;AAAA;AAEzB;AACA,SAASoqB,GAAG/qB,GAAGW,GAAGC,GAAG;AACnB,SAAO8hB,GAAG1iB,CAAC,IAAIA,EAAE,IAAIW,GAAGC,CAAC,IAAIkqB,GAAG9qB,GAAGW,CAAC;AAAA;AAAA,IAElC,OAAOX,EAAE,OAAO;AAAA;AAAA,MAEdA,EAAE,IAAIW,CAAC;AAAA;AAAA;AAAA,MAGPX,EAAEW,CAAC;AAAA;AAAA,MAEHC;AACN;AACA,SAASoqB,GAAGhrB,GAAGW,GAAG;AAChB,MAAI,CAACinB,GAAG5nB,CAAC;AACP,UAAM,IAAI,UAAU,6CAA6CA,CAAC;AACpE,MAAI0iB,GAAG1iB,CAAC,GAAG;AACT,QAAI,CAACA,EAAE;AACL,YAAM,IAAI,UAAU,6DAA6DA,CAAC;AACpF,WAAOA,EAAE,OAAOW,CAAC;AAAA,EACnB;AACA,MAAI,CAACoiB,GAAG,KAAK/iB,GAAGW,CAAC;AACf,WAAOX;AACT,MAAIY,IAAIknB,GAAG9nB,CAAC;AACZ,SAAO,MAAM,QAAQY,CAAC,IAAIA,EAAE,OAAOD,GAAG,CAAC,IAAI,OAAOC,EAAED,CAAC,GAAGC;AAC1D;AACA,SAASqqB,GAAGjrB,GAAGW,GAAGC,GAAG;AACnB,MAAI,CAACgnB,GAAG5nB,CAAC;AACP,UAAM,IAAI,UAAU,6CAA6CA,CAAC;AACpE,MAAI0iB,GAAG1iB,CAAC,GAAG;AACT,QAAI,CAACA,EAAE;AACL,YAAM,IAAI,UAAU,0DAA0DA,CAAC;AACjF,WAAOA,EAAE,IAAIW,GAAGC,CAAC;AAAA,EACnB;AACA,MAAImiB,GAAG,KAAK/iB,GAAGW,CAAC,KAAKC,MAAMZ,EAAEW,CAAC;AAC5B,WAAOX;AACT,MAAIwB,IAAIsmB,GAAG9nB,CAAC;AACZ,SAAOwB,EAAEb,CAAC,IAAIC,GAAGY;AACnB;AACA,SAAS8lB,GAAGtnB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,EAAAA,MAAMA,IAAIZ,GAAGA,IAAI;AACjB,MAAIC,IAAIqqB;AAAA,IACNxI,GAAG1iB,CAAC;AAAA;AAAA,IAEJA;AAAA,IACA4qB,GAAGjqB,CAAC;AAAA,IACJ;AAAA,IACAC;AAAA,IACAY;AAAA,EACJ;AACE,SAAOX,MAAM+gB,IAAIhhB,IAAIC;AACvB;AACA,SAASqqB,GAAGlrB,GAAGW,GAAGC,GAAGY,GAAGX,GAAGY,GAAG;AAC5B,MAAI,IAAId,MAAMihB;AACd,MAAIpgB,MAAMZ,EAAE,QAAQ;AAClB,QAAI,IAAI,IAAIC,IAAIF,GAAG,IAAIc,EAAE,CAAC;AAC1B,WAAO,MAAM,IAAId,IAAI;AAAA,EACvB;AACA,MAAI,CAAC,KAAK,CAACinB,GAAGjnB,CAAC;AACb,UAAM,IAAI,UAAU,4DAA4D,MAAM,KAAKC,CAAC,EAAE,MAAM,GAAGY,CAAC,EAAE,IAAIqpB,EAAE,IAAI,QAAQlqB,CAAC;AAC/H,MAAI,IAAIC,EAAEY,CAAC,GAAGoB,IAAI,IAAIgf,IAAImJ,GAAGpqB,GAAG,GAAGihB,CAAC,GAAG/e,IAAIqoB;AAAA,IACzCtoB,MAAMgf,IAAI5hB,IAAI0iB,GAAG9f,CAAC;AAAA;AAAA,IAElBA;AAAA,IACAhC;AAAA,IACAY,IAAI;AAAA,IACJX;AAAA,IACAY;AAAA,EACJ;AACE,SAAOoB,MAAMD,IAAIjC,IAAIkC,MAAM+e,IAAIoJ,GAAGrqB,GAAG,CAAC,IAAIsqB,GAAG,IAAIjrB,IAAIsoB,GAAE,IAAK,CAAA,IAAK3nB,GAAG,GAAGkC,CAAC;AAC1E;AACA,SAASsoB,GAAGnrB,GAAGW,GAAG;AAChB,SAAO2mB,GAAGtnB,GAAGW,GAAG,WAAW;AACzB,WAAOihB;AAAA,EACT,CAAC;AACH;AACA,SAAS0H,GAAGtpB,GAAG;AACb,SAAOmrB,GAAG,MAAMnrB,CAAC;AACnB;AACA,IAAIorB,KAAK;AACT,SAASC,GAAGrrB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAEorB,EAAE;AACN;AACA,IAAIE,KAAsB,0BAAStrB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,QAAIY,IAAI+pB,GAAE;AACV,QAAI3qB,KAAK;AACP,aAAOY;AACT,QAAI6pB,GAAGzqB,CAAC;AACN,aAAOA;AACT,QAAIC,IAAIb,EAAEY,CAAC,GAAGa,IAAIZ,EAAE;AACpB,WAAOY,MAAM,IAAID,KAAKynB,GAAGxnB,CAAC,GAAGA,IAAI,KAAKA,IAAIigB,KAAK8J,GAAG,GAAG/pB,GAAGggB,GAAG,MAAM,IAAIgK,GAAG5qB,EAAE,QAAO,CAAE,CAAC,IAAIW,EAAE,cAAc,SAAS,GAAG;AAClH,QAAE,QAAQC,CAAC,GAAGZ,EAAE,QAAQ,SAAS,GAAG,GAAG;AACrC,eAAO,EAAE,IAAI,GAAG,CAAC;AAAA,MACnB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACA,SAAOb,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,KAAK,WAAW;AAC3H,WAAO,KAAK,SAAS;AAAA,EACvB,GAAGA,EAAE,UAAU,WAAW,WAAW;AACnC,WAAO,KAAK,WAAW,UAAU,GAAG;AAAA,EACtC,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,QAAI,IAAIqhB,GAAG,MAAM,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,MAAM;AAC5C,WAAK,KAAK;AACV,UAAI,IAAIwJ,GAAG,MAAM,CAAC;AAClB,aAAO,KAAK,EAAE,MAAM,IAAI/J,EAAE;AAAA,IAC5B;AACA,WAAO9gB;AAAA,EACT,GAAGF,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,WAAO8qB,GAAG,MAAM,GAAG9qB,CAAC;AAAA,EACtB,GAAGF,EAAE,UAAU,SAAS,SAAS,GAAG;AAClC,WAAO,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,KAAK,MAAK,IAAK,MAAM,KAAK,OAAO,IAAI,KAAK,IAAG,IAAK,KAAK,OAAO,GAAG,CAAC,IAAI;AAAA,EACvG,GAAGA,EAAE,UAAU,SAAS,SAAS,GAAGE,GAAG;AACrC,WAAO,KAAK,OAAO,GAAG,GAAGA,CAAC;AAAA,EAC5B,GAAGF,EAAE,UAAU,QAAQ,WAAW;AAChC,WAAO,KAAK,SAAS,IAAI,OAAO,KAAK,aAAa,KAAK,OAAO,KAAK,UAAU,KAAK,YAAY,GAAG,KAAK,SAAS8gB,GAAG,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,QAAQ,KAAK,YAAY,IAAI,QAAQ8J,GAAE;AAAA,EACnM,GAAG5qB,EAAE,UAAU,OAAO,WAAW;AAC/B,QAAI,IAAI,WAAWE,IAAI,KAAK;AAC5B,WAAO,KAAK,cAAc,SAAS,GAAG;AACpC,MAAA+qB,GAAG,GAAG,GAAG/qB,IAAI,EAAE,MAAM;AACrB,eAASqF,IAAI,GAAGA,IAAI,EAAE,QAAQA;AAC5B,UAAE,IAAIrF,IAAIqF,GAAG,EAAEA,CAAC,CAAC;AAAA,IACrB,CAAC;AAAA,EACH,GAAGvF,EAAE,UAAU,MAAM,WAAW;AAC9B,WAAOirB,GAAG,MAAM,GAAG,EAAE;AAAA,EACvB,GAAGjrB,EAAE,UAAU,UAAU,WAAW;AAClC,QAAI,IAAI;AACR,WAAO,KAAK,cAAc,SAASE,GAAG;AACpC,MAAA+qB,GAAG/qB,GAAG,CAAC,EAAE,MAAM;AACf,eAAS,IAAI,GAAG,IAAI,EAAE,QAAQ;AAC5B,QAAAA,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB,CAAC;AAAA,EACH,GAAGF,EAAE,UAAU,QAAQ,WAAW;AAChC,WAAOirB,GAAG,MAAM,CAAC;AAAA,EACnB,GAAGjrB,EAAE,UAAU,UAAU,SAAS,GAAG;AACnC,WAAO,MAAM,WAAW,IAAI,KAAK,SAAS,KAAK,cAAc,SAASE,GAAG;AACvE,eAAS,IAAIA,EAAE,MAAMqF,GAAGC,GAAG;AACzB,QAAAD,IAAI,KAAK,MAAM,EAAC,IAAK,GAAG,GAAGC,IAAItF,EAAE,IAAIqF,CAAC,GAAGrF,EAAE,IAAIqF,GAAGrF,EAAE,IAAI,CAAC,CAAC,GAAGA,EAAE,IAAI,GAAGsF,CAAC;AAAA,IAC3E,CAAC;AAAA,EACH,GAAGxF,EAAE,UAAU,SAAS,WAAW;AACjC,aAAS,IAAI,WAAWE,IAAI,CAAA,GAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAChE,UAAIqF,IAAI,EAAE,CAAC,GAAGC,IAAInG;AAAA,QAChB,OAAOkG,KAAK,YAAYgb,GAAGhb,CAAC,IAAIA,IAAI,CAACA,CAAC;AAAA,MAC9C;AACM,MAAAC,EAAE,SAAS,KAAKtF,EAAE,KAAKsF,CAAC;AAAA,IAC1B;AACA,WAAOtF,EAAE,WAAW,IAAI,OAAO,KAAK,SAAS,KAAK,CAAC,KAAK,aAAaA,EAAE,WAAW,IAAI,KAAK,YAAYA,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,SAAS6E,GAAG;AAC5I,MAAA7E,EAAE,QAAQ,SAASuF,GAAG;AACpB,eAAOA,EAAE,QAAQ,SAASxD,GAAG;AAC3B,iBAAO8C,EAAE,KAAK9C,CAAC;AAAA,QACjB,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH,GAAGjC,EAAE,UAAU,UAAU,SAAS,GAAG;AACnC,WAAOirB,GAAG,MAAM,GAAG,CAAC;AAAA,EACtB,GAAGjrB,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,QAAI,IAAI;AACR,WAAO,KAAK,cAAc,SAASqF,GAAG;AACpC,eAASC,IAAI,GAAGA,IAAI,EAAE,MAAMA;AAC1B,QAAAD,EAAE,IAAIC,GAAG,EAAE,KAAKtF,GAAGqF,EAAE,IAAIC,CAAC,GAAGA,GAAG,CAAC,CAAC;AAAA,IACtC,CAAC;AAAA,EACH,GAAGxF,EAAE,UAAU,QAAQ,SAAS,GAAGE,GAAG;AACpC,QAAI,IAAI,KAAK;AACb,WAAOshB,GAAG,GAAGthB,GAAG,CAAC,IAAI,OAAO+qB;AAAA,MAC1B;AAAA,MACAvJ,GAAG,GAAG,CAAC;AAAA,MACPE,GAAG1hB,GAAG,CAAC;AAAA,IACb;AAAA,EACE,GAAGF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,QAAI,IAAIA,IAAI,KAAK,OAAO,GAAGqF,IAAI2lB,GAAG,MAAMhrB,CAAC;AACzC,WAAO,IAAIkgB,EAAE,WAAW;AACtB,UAAI5a,IAAID,EAAC;AACT,aAAOC,MAAM2lB,KAAK7K,GAAE,IAAKD,EAAE,GAAGngB,IAAI,EAAE,IAAI,KAAKsF,CAAC;AAAA,IAChD,CAAC;AAAA,EACH,GAAGxF,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,aAAS,IAAIA,IAAI,KAAK,OAAO,GAAGqF,IAAI2lB,GAAG,MAAMhrB,CAAC,GAAGsF,IAAIA,IAAID,EAAC,OAAQ4lB,MAAM,EAAE3lB,GAAGtF,IAAI,EAAE,IAAI,KAAK,IAAI,MAAM;AACpG;AACF,WAAO;AAAA,EACT,GAAGF,EAAE,UAAU,gBAAgB,SAAS,GAAG;AACzC,WAAO,MAAM,KAAK,YAAY,OAAO,IAAI6qB;AAAA,MACvC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA,KAAK;AAAA,IACX,IAAQ,KAAK,SAAS,IAAID,GAAE,KAAM,KAAK,YAAY,GAAG,KAAK,YAAY,IAAI;AAAA,EACzE,GAAG5qB;AACL,GAAG0f,EAAE;AACLiL,GAAG,SAASD;AACZ,IAAIU,KAAIT,GAAG;AACXS,GAAEX,EAAE,IAAI;AACRW,GAAEvK,EAAE,IAAIuK,GAAE;AACVA,GAAE,QAAQA,GAAE;AACZA,GAAE,QAAQtD;AACVsD,GAAE,WAAWA,GAAE,WAAWzC;AAC1ByC,GAAE,SAASrD;AACXqD,GAAE,WAAWpD;AACboD,GAAE,UAAUxD;AACZwD,GAAE,cAAc1D;AAChB0D,GAAE,gBAAgBlD;AAClBkD,GAAE,aAAanD;AACfmD,GAAE,cAAcrI;AAChBqI,GAAE,mBAAmB,IAAIA,GAAE,YAAYpI;AACvCoI,GAAE,mBAAmB,IAAI,SAAS/rB,GAAGW,GAAG;AACtC,SAAOX,EAAE,KAAKW,CAAC;AACjB;AACAorB,GAAE,qBAAqB,IAAI,SAAS/rB,GAAG;AACrC,SAAOA,EAAE,YAAW;AACtB;AACA,IAAIyrB,KAAK,SAAS,GAAG7qB,GAAG;AACtB,OAAK,QAAQ,GAAG,KAAK,UAAUA;AACjC;AACA6qB,GAAG,UAAU,eAAe,SAAS,GAAG7qB,GAAG,GAAG;AAC5C,OAAK,KAAK,KAAKA,IAAI6gB,KAAK,OAAO,KAAK,KAAK,MAAM,WAAW;AACxD,WAAO;AACT,MAAI5gB,IAAI,MAAMD,IAAI+gB;AAClB,MAAI9gB,KAAK,KAAK,MAAM;AAClB,WAAO,IAAI4qB,GAAG,CAAA,GAAI,CAAC;AACrB,MAAI,IAAI5qB,MAAM,GAAGqF;AACjB,MAAItF,IAAI,GAAG;AACT,QAAIuF,IAAI,KAAK,MAAMtF,CAAC;AACpB,QAAIqF,IAAIC,KAAKA,EAAE,aAAa,GAAGvF,IAAI6gB,GAAG,CAAC,GAAGvb,MAAMC,KAAK;AACnD,aAAO;AAAA,EACX;AACA,MAAI,KAAK,CAACD;AACR,WAAO;AACT,MAAIR,IAAIsmB,GAAG,MAAM,CAAC;AAClB,MAAI,CAAC;AACH,aAAS5lB,IAAI,GAAGA,IAAIvF,GAAGuF;AACrB,MAAAV,EAAE,MAAMU,CAAC,IAAI;AACjB,SAAOF,MAAMR,EAAE,MAAM7E,CAAC,IAAIqF,IAAIR;AAChC;AACA+lB,GAAG,UAAU,cAAc,SAAS,GAAG7qB,GAAG,GAAG;AAC3C,MAAI,OAAOA,IAAI,KAAKA,IAAI6gB,IAAIC,OAAO,KAAK,MAAM,WAAW;AACvD,WAAO;AACT,MAAI7gB,IAAI,IAAI,MAAMD,IAAI+gB;AACtB,MAAI9gB,KAAK,KAAK,MAAM;AAClB,WAAO;AACT,MAAI;AACJ,MAAID,IAAI,GAAG;AACT,QAAIsF,IAAI,KAAK,MAAMrF,CAAC;AACpB,QAAI,IAAIqF,KAAKA,EAAE,YAAY,GAAGtF,IAAI6gB,GAAG,CAAC,GAAG,MAAMvb,KAAKrF,MAAM,KAAK,MAAM,SAAS;AAC5E,aAAO;AAAA,EACX;AACA,MAAIsF,IAAI6lB,GAAG,MAAM,CAAC;AAClB,SAAO7lB,EAAE,MAAM,OAAOtF,IAAI,CAAC,GAAG,MAAMsF,EAAE,MAAMtF,CAAC,IAAI,IAAIsF;AACvD;AACA,IAAI2lB,KAAK,CAAA;AACT,SAASD,GAAG7rB,GAAGW,GAAG;AAChB,MAAIC,IAAIZ,EAAE,SAASwB,IAAIxB,EAAE,WAAWa,IAAIorB,GAAGzqB,CAAC,GAAGC,IAAIzB,EAAE;AACrD,SAAO,EAAEA,EAAE,OAAOA,EAAE,QAAQ,CAAC;AAC7B,WAAS,EAAE,GAAG4C,GAAGC,GAAG;AAClB,WAAOD,MAAM,IAAI,EAAE,GAAGC,CAAC,IAAI,EAAE,GAAGD,GAAGC,CAAC;AAAA,EACtC;AACA,WAAS,EAAE,GAAGD,GAAG;AACf,QAAIC,IAAID,MAAM/B,IAAIY,KAAKA,EAAE,QAAQ,KAAK,EAAE,OAAOqB,IAAIF,IAAIhC,IAAI,IAAIA,IAAIgC,GAAGG,IAAIvB,IAAIoB;AAC9E,WAAOG,IAAI2e,OAAO3e,IAAI2e,KAAK,WAAW;AACpC,UAAI5e,MAAMC;AACR,eAAO+oB;AACT,UAAIroB,IAAI9C,IAAI,EAAEoC,IAAID;AAClB,aAAOD,KAAKA,EAAEY,CAAC;AAAA,IACjB;AAAA,EACF;AACA,WAAS,EAAE,GAAGb,GAAGC,GAAG;AAClB,QAAIC,GAAGC,IAAI,KAAK,EAAE,OAAOU,IAAIZ,IAAIjC,IAAI,IAAIA,IAAIiC,KAAKD,GAAG,KAAKpB,IAAIqB,KAAKD,KAAK;AACxE,WAAO,IAAI8e,OAAO,IAAIA,KAAK,WAAW;AACpC,iBAAW;AACT,YAAI5e,GAAG;AACL,cAAIa,IAAIb,EAAC;AACT,cAAIa,MAAMmoB;AACR,mBAAOnoB;AACT,UAAAb,IAAI;AAAA,QACN;AACA,YAAIW,MAAM;AACR,iBAAOqoB;AACT,YAAIloB,IAAIjD,IAAI,EAAE,IAAI8C;AAClB,QAAAX,IAAI;AAAA,UACFC,KAAKA,EAAEa,CAAC;AAAA,UACRhB,IAAI6e;AAAA,UACJ5e,KAAKe,KAAKhB;AAAA,QACpB;AAAA,MACM;AAAA,IACF;AAAA,EACF;AACF;AACA,SAAS4oB,GAAGxrB,GAAGW,GAAGC,GAAGY,GAAGX,GAAGY,GAAG,GAAG;AAC/B,MAAI,IAAI,OAAO,OAAOsqB,EAAC;AACvB,SAAO,EAAE,OAAOprB,IAAIX,GAAG,EAAE,UAAUA,GAAG,EAAE,YAAYW,GAAG,EAAE,SAASC,GAAG,EAAE,QAAQY,GAAG,EAAE,QAAQX,GAAG,EAAE,YAAYY,GAAG,EAAE,SAAS,GAAG,EAAE,YAAY,IAAI;AAClJ;AACA,SAAS8pB,KAAK;AACZ,SAAOC,GAAG,GAAG,GAAG/J,CAAC;AACnB;AACA,SAASkK,GAAG3rB,GAAGW,GAAGC,GAAG;AACnB,MAAID,IAAIuhB,GAAGliB,GAAGW,CAAC,GAAGA,MAAMA;AACtB,WAAOX;AACT,MAAIW,KAAKX,EAAE,QAAQW,IAAI;AACrB,WAAOX,EAAE,cAAc,SAAS,GAAG;AACjC,MAAAW,IAAI,IAAIirB,GAAG,GAAGjrB,CAAC,EAAE,IAAI,GAAGC,CAAC,IAAIgrB,GAAG,GAAG,GAAGjrB,IAAI,CAAC,EAAE,IAAIA,GAAGC,CAAC;AAAA,IACvD,CAAC;AACH,EAAAD,KAAKX,EAAE;AACP,MAAIwB,IAAIxB,EAAE,OAAOa,IAAIb,EAAE,OAAOyB,IAAIogB,GAAE;AACpC,SAAOlhB,KAAKsrB,GAAGjsB,EAAE,SAAS,IAAIwB,IAAI0qB,GAAG1qB,GAAGxB,EAAE,WAAW,GAAGW,GAAGC,GAAGa,CAAC,IAAIZ,IAAIqrB;AAAA,IACrErrB;AAAA,IACAb,EAAE;AAAA,IACFA,EAAE;AAAA,IACFW;AAAA,IACAC;AAAA,IACAa;AAAA,EACJ,GAAKA,EAAE,QAAQzB,EAAE,aAAaA,EAAE,QAAQa,GAAGb,EAAE,QAAQwB,GAAGxB,EAAE,SAAS,QAAQA,EAAE,YAAY,IAAIA,KAAKwrB,GAAGxrB,EAAE,SAASA,EAAE,WAAWA,EAAE,QAAQa,GAAGW,CAAC,IAAIxB;AAC/I;AACA,SAASksB,GAAGlsB,GAAGW,GAAGC,GAAGY,GAAGX,GAAGY,GAAG;AAC5B,MAAI,IAAID,MAAMZ,IAAI+gB,IAAI,IAAI3hB,KAAK,IAAIA,EAAE,MAAM;AAC3C,MAAI,CAAC,KAAKa,MAAM;AACd,WAAOb;AACT,MAAI;AACJ,MAAIY,IAAI,GAAG;AACT,QAAI,IAAIZ,KAAKA,EAAE,MAAM,CAAC,GAAG4C,IAAIspB;AAAA,MAC3B;AAAA,MACAvrB;AAAA,MACAC,IAAI6gB;AAAA,MACJjgB;AAAA,MACAX;AAAA,MACAY;AAAA,IACN;AACI,WAAOmB,MAAM,IAAI5C,KAAK,IAAIgsB,GAAGhsB,GAAGW,CAAC,GAAG,EAAE,MAAM,CAAC,IAAIiC,GAAG;AAAA,EACtD;AACA,SAAO,KAAK5C,EAAE,MAAM,CAAC,MAAMa,IAAIb,KAAKyB,KAAKqgB,GAAGrgB,CAAC,GAAG,IAAIuqB,GAAGhsB,GAAGW,CAAC,GAAGE,MAAM,UAAU,MAAM,EAAE,MAAM,SAAS,IAAI,EAAE,MAAM,IAAG,IAAK,EAAE,MAAM,CAAC,IAAIA,GAAG;AAC3I;AACA,SAASmrB,GAAGhsB,GAAGW,GAAG;AAChB,SAAOA,KAAKX,KAAKW,MAAMX,EAAE,UAAUA,IAAI,IAAIyrB,GAAGzrB,IAAIA,EAAE,MAAM,MAAK,IAAK,CAAA,GAAIW,CAAC;AAC3E;AACA,SAAS+qB,GAAG1rB,GAAGW,GAAG;AAChB,MAAIA,KAAKsrB,GAAGjsB,EAAE,SAAS;AACrB,WAAOA,EAAE;AACX,MAAIW,IAAI,KAAKX,EAAE,SAASyhB,GAAG;AACzB,aAAS7gB,IAAIZ,EAAE,OAAOwB,IAAIxB,EAAE,QAAQY,KAAKY,IAAI;AAC3C,MAAAZ,IAAIA,EAAE,MAAMD,MAAMa,IAAImgB,EAAE,GAAGngB,KAAKigB;AAClC,WAAO7gB;AAAA,EACT;AACF;AACA,SAASgrB,GAAG5rB,GAAGW,GAAGC,GAAG;AACnB,EAAAD,MAAM,WAAWA,KAAK,IAAIC,MAAM,WAAWA,KAAK;AAChD,MAAIY,IAAIxB,EAAE,aAAa,IAAI+hB,GAAE,GAAIlhB,IAAIb,EAAE,SAASyB,IAAIzB,EAAE,WAAW,IAAIa,IAAIF,GAAG,IAAIC,MAAM,SAASa,IAAIb,IAAI,IAAIa,IAAIb,IAAIC,IAAID;AACvH,MAAI,MAAMC,KAAK,MAAMY;AACnB,WAAOzB;AACT,MAAI,KAAK;AACP,WAAOA,EAAE,MAAK;AAChB,WAAS,IAAIA,EAAE,QAAQ,IAAIA,EAAE,OAAO4C,IAAI,GAAG,IAAIA,IAAI;AACjD,QAAI,IAAI6oB;AAAA,MACN,KAAK,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAA;AAAA,MACpCjqB;AAAA,IACN,GAAO,KAAKigB,GAAG7e,KAAK,KAAK;AACvB,EAAAA,MAAM,KAAKA,GAAG/B,KAAK+B,GAAG,KAAKA,GAAGnB,KAAKmB;AACnC,WAASC,IAAIopB,GAAGxqB,CAAC,GAAGqB,IAAImpB,GAAG,CAAC,GAAGnpB,KAAK,KAAK,IAAI2e;AAC3C,QAAI,IAAIgK;AAAA,MACN,KAAK,EAAE,MAAM,SAAS,CAAC,CAAC,IAAI,CAAA;AAAA,MAC5BjqB;AAAA,IACN,GAAO,KAAKigB;AACV,MAAI1e,IAAI/C,EAAE,OAAOyD,IAAIX,IAAID,IAAI6oB,GAAG1rB,GAAG,IAAI,CAAC,IAAI8C,IAAID,IAAI,IAAI4oB,GAAG,CAAA,GAAIjqB,CAAC,IAAIuB;AACpE,MAAIA,KAAKD,IAAID,KAAK,IAAIpB,KAAKsB,EAAE,MAAM,QAAQ;AACzC,QAAIipB,GAAG,GAAGxqB,CAAC;AACX,aAAS,IAAI,GAAGmC,IAAI,GAAGA,IAAI8d,GAAG9d,KAAK8d,GAAG;AACpC,UAAI7d,IAAIf,MAAMc,IAAIge;AAClB,UAAI,EAAE,MAAM/d,CAAC,IAAIooB,GAAG,EAAE,MAAMpoB,CAAC,GAAGpC,CAAC;AAAA,IACnC;AACA,MAAE,MAAMqB,MAAM4e,IAAIE,EAAE,IAAI5e;AAAA,EAC1B;AACA,MAAI,IAAItB,MAAMgC,IAAIA,KAAKA,EAAE,YAAYjC,GAAG,GAAG,CAAC,IAAI,KAAKsB;AACnD,SAAKA,GAAG,KAAKA,GAAG,IAAI2e,GAAG,IAAI,MAAMhe,IAAIA,KAAKA,EAAE,aAAajC,GAAG,GAAG,CAAC;AAAA,WACzD,IAAIX,KAAKiC,IAAID,GAAG;AACvB,SAAKD,IAAI,GAAG,KAAK;AACf,UAAIiB,IAAI,MAAM,IAAI8d;AAClB,UAAI9d,MAAMf,MAAM,IAAI6e;AAClB;AACF,MAAA9d,MAAMjB,MAAM,KAAK,KAAKiB,IAAI,KAAK4d,GAAG,IAAI,EAAE,MAAM5d,CAAC;AAAA,IACjD;AACA,SAAK,IAAIhD,MAAM,IAAI,EAAE,aAAaW,GAAG,GAAG,IAAIoB,CAAC,IAAI,KAAKE,IAAID,MAAM,IAAI,EAAE;AAAA,MACpErB;AAAA,MACA;AAAA,MACAsB,IAAIF;AAAA,IACV,IAAQA,MAAM,KAAKA,GAAG,KAAKA;AAAA,EACzB;AACA,SAAO5C,EAAE,aAAaA,EAAE,OAAO,IAAI,GAAGA,EAAE,UAAU,GAAGA,EAAE,YAAY,GAAGA,EAAE,SAAS,GAAGA,EAAE,QAAQ,GAAGA,EAAE,QAAQyD,GAAGzD,EAAE,SAAS,QAAQA,EAAE,YAAY,IAAIA,KAAKwrB,GAAG,GAAG,GAAG,GAAG,GAAG/nB,CAAC;AAC1K;AACA,SAASwoB,GAAGjsB,GAAG;AACb,SAAOA,IAAI0hB,KAAK,IAAI1hB,IAAI,MAAMyhB,KAAKA;AACrC;AACA,SAAS0K,GAAGnsB,GAAG;AACb,SAAO+oB,GAAG/oB,CAAC,KAAK4iB,GAAG5iB,CAAC;AACtB;AACA,IAAIkmB,KAAsB,0BAASlmB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,WAAOA,KAAK,OAAOwrB,GAAE,IAAKD,GAAGvrB,CAAC,IAAIA,IAAIwrB,GAAE,EAAG,cAAc,SAAS5qB,GAAG;AACnE,UAAIX,IAAIsf,GAAGvf,CAAC;AACZ,MAAAqoB,GAAGpoB,EAAE,IAAI,GAAGA,EAAE,QAAQ,SAASY,GAAG,GAAG;AACnC,eAAOD,EAAE,IAAI,GAAGC,CAAC;AAAA,MACnB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACA,SAAOzB,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,KAAK,WAAW;AAC3H,WAAO,KAAK,SAAS;AAAA,EACvB,GAAGA,EAAE,UAAU,WAAW,WAAW;AACnC,WAAO,KAAK,WAAW,gBAAgB,GAAG;AAAA,EAC5C,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,QAAI,IAAI,KAAK,KAAK,IAAI,CAAC;AACvB,WAAO,MAAM,SAAS,KAAK,MAAM,IAAI,CAAC,EAAE,CAAC,IAAIA;AAAA,EAC/C,GAAGF,EAAE,UAAU,QAAQ,WAAW;AAChC,WAAO,KAAK,SAAS,IAAI,OAAO,KAAK,aAAa,KAAK,OAAO,GAAG,KAAK,KAAK,MAAK,GAAI,KAAK,MAAM,MAAK,GAAI,KAAK,YAAY,IAAI,QAAQyrB,GAAE;AAAA,EACzI,GAAGzrB,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,WAAOwrB,GAAG,MAAM,GAAGxrB,CAAC;AAAA,EACtB,GAAGF,EAAE,UAAU,SAAS,SAAS,GAAG;AAClC,WAAO0rB,GAAG,MAAM,GAAGzK,CAAC;AAAA,EACtB,GAAGjhB,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,QAAI,IAAI;AACR,WAAO,KAAK,MAAM;AAAA,MAChB,SAASqF,GAAG;AACV,eAAOA,KAAK,EAAEA,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,CAAC;AAAA,MAC7B;AAAA,MACArF;AAAA,IACN;AAAA,EACE,GAAGF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,WAAO,KAAK,MAAM,aAAY,EAAG,WAAW,GAAGA,CAAC;AAAA,EAClD,GAAGF,EAAE,UAAU,gBAAgB,SAAS,GAAG;AACzC,QAAI,MAAM,KAAK;AACb,aAAO;AACT,QAAIE,IAAI,KAAK,KAAK,cAAc,CAAC,GAAG,IAAI,KAAK,MAAM,cAAc,CAAC;AAClE,WAAO,IAAIyrB,GAAGzrB,GAAG,GAAG,GAAG,KAAK,MAAM,IAAI,KAAK,SAAS,IAAIurB,GAAE,KAAM,KAAK,YAAY,GAAG,KAAK,YAAY,IAAI,KAAK,OAAOvrB,GAAG,KAAK,QAAQ,GAAG;AAAA,EAC1I,GAAGF;AACL,GAAGqlB,EAAE;AACLE,GAAG,eAAeiG;AAClBjG,GAAG,UAAUvD,EAAE,IAAI;AACnBuD,GAAG,UAAU1E,EAAE,IAAI0E,GAAG,UAAU;AAChC,SAASoG,GAAGtsB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAIX,IAAI,OAAO,OAAOqlB,GAAG,SAAS;AAClC,SAAOrlB,EAAE,OAAOb,IAAIA,EAAE,OAAO,GAAGa,EAAE,OAAOb,GAAGa,EAAE,QAAQF,GAAGE,EAAE,YAAYD,GAAGC,EAAE,SAASW,GAAGX,EAAE,YAAY,IAAIA;AAC5G;AACA,IAAI0rB;AACJ,SAASH,KAAK;AACZ,SAAOG,OAAOA,KAAKD,GAAGhE,GAAE,GAAIiD,GAAE,CAAE;AAClC;AACA,SAASc,GAAGrsB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAIxB,EAAE,MAAMa,IAAIb,EAAE,OAAOyB,IAAID,EAAE,IAAIb,CAAC,GAAG,IAAIc,MAAM,QAAQ,GAAG;AAChE,MAAIb,MAAMghB,GAAG;AACX,QAAI,CAAC;AACH,aAAO5hB;AACT,IAAAa,EAAE,QAAQ6gB,MAAM7gB,EAAE,QAAQW,EAAE,OAAO,KAAK,IAAIX,EAAE,OAAO,SAAS,GAAG+B,GAAG;AAClE,aAAO,MAAM,UAAUnB,MAAMmB;AAAA,IAC/B,CAAC,GAAG,IAAI,EAAE,WAAU,EAAG,IAAI,SAAS,GAAG;AACrC,aAAO,EAAE,CAAC;AAAA,IACZ,CAAC,EAAE,KAAI,EAAG,MAAK,GAAI5C,EAAE,cAAc,EAAE,YAAY,EAAE,YAAYA,EAAE,eAAe,IAAIwB,EAAE,OAAOb,CAAC,GAAG,IAAIc,MAAMZ,EAAE,OAAO,IAAIA,EAAE,IAAG,IAAKA,EAAE,IAAIY,GAAG,MAAM;AAAA,EACnJ,WAAW,GAAG;AACZ,QAAIb,MAAMC,EAAE,IAAIY,CAAC,EAAE,CAAC;AAClB,aAAOzB;AACT,QAAIwB,GAAG,IAAIX,EAAE,IAAIY,GAAG,CAACd,GAAGC,CAAC,CAAC;AAAA,EAC5B;AACE,QAAIY,EAAE,IAAIb,GAAGE,EAAE,IAAI,GAAG,IAAIA,EAAE,IAAIA,EAAE,MAAM,CAACF,GAAGC,CAAC,CAAC;AAChD,SAAOZ,EAAE,aAAaA,EAAE,OAAO,EAAE,MAAMA,EAAE,OAAO,GAAGA,EAAE,QAAQ,GAAGA,EAAE,SAAS,QAAQA,EAAE,YAAY,IAAIA,KAAKssB,GAAG,GAAG,CAAC;AACnH;AACA,IAAIE,KAAK;AACT,SAASC,GAAGzsB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAEwsB,EAAE;AACN;AACA,IAAIE,KAAsB,0BAAS1sB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,WAAOA,KAAK,OAAO+rB,GAAE,IAAKF,GAAG7rB,CAAC,IAAIA,IAAI+rB,KAAK,QAAQ/rB,CAAC;AAAA,EACtD;AACA,SAAOZ,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,KAAK,WAAW;AAC3H,WAAO,KAAK,SAAS;AAAA,EACvB,GAAGA,EAAE,UAAU,WAAW,WAAW;AACnC,WAAO,KAAK,WAAW,WAAW,GAAG;AAAA,EACvC,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,QAAI,IAAI,KAAK;AACb,SAAK,IAAIqhB,GAAG,MAAM,CAAC,GAAG,KAAK;AACzB,UAAI,EAAE;AACR,WAAO,IAAI,EAAE,QAAQrhB;AAAA,EACvB,GAAGF,EAAE,UAAU,OAAO,WAAW;AAC/B,WAAO,KAAK,SAAS,KAAK,MAAM;AAAA,EAClC,GAAGA,EAAE,UAAU,OAAO,WAAW;AAC/B,QAAI,IAAI;AACR,QAAI,UAAU,WAAW;AACvB,aAAO;AACT,aAASE,IAAI,KAAK,OAAO,UAAU,QAAQ,IAAI,KAAK,OAAOqF,IAAI,UAAU,SAAS,GAAGA,KAAK,GAAGA;AAC3F,UAAI;AAAA,QACF,OAAO,EAAEA,CAAC;AAAA,QACV,MAAM;AAAA,MACd;AACI,WAAO,KAAK,aAAa,KAAK,OAAOrF,GAAG,KAAK,QAAQ,GAAG,KAAK,SAAS,QAAQ,KAAK,YAAY,IAAI,QAAQ+rB,GAAG/rB,GAAG,CAAC;AAAA,EACpH,GAAGF,EAAE,UAAU,UAAU,SAAS,GAAG;AACnC,QAAI,IAAIX,EAAE,CAAC,GAAG,EAAE,SAAS;AACvB,aAAO;AACT,QAAI,KAAK,SAAS,KAAKysB,GAAG,CAAC;AACzB,aAAO;AACT,IAAAxD,GAAG,EAAE,IAAI;AACT,QAAIpoB,IAAI,KAAK,MAAM,IAAI,KAAK;AAC5B,WAAO,EAAE;AAAA,MACP,SAASqF,GAAG;AACV,QAAArF,KAAK,IAAI;AAAA,UACP,OAAOqF;AAAA,UACP,MAAM;AAAA,QAChB;AAAA,MACM;AAAA;AAAA,MAEA;AAAA,IACN,GAAO,KAAK,aAAa,KAAK,OAAOrF,GAAG,KAAK,QAAQ,GAAG,KAAK,SAAS,QAAQ,KAAK,YAAY,IAAI,QAAQ+rB,GAAG/rB,GAAG,CAAC;AAAA,EAChH,GAAGF,EAAE,UAAU,MAAM,WAAW;AAC9B,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB,GAAGA,EAAE,UAAU,QAAQ,WAAW;AAChC,WAAO,KAAK,SAAS,IAAI,OAAO,KAAK,aAAa,KAAK,OAAO,GAAG,KAAK,QAAQ,QAAQ,KAAK,SAAS,QAAQ,KAAK,YAAY,IAAI,QAAQgsB,GAAE;AAAA,EAC7I,GAAGhsB,EAAE,UAAU,QAAQ,SAAS,GAAGE,GAAG;AACpC,QAAIshB,GAAG,GAAGthB,GAAG,KAAK,IAAI;AACpB,aAAO;AACT,QAAI,IAAIwhB,GAAG,GAAG,KAAK,IAAI,GAAGnc,IAAIqc,GAAG1hB,GAAG,KAAK,IAAI;AAC7C,QAAIqF,MAAM,KAAK;AACb,aAAOlG,EAAE,UAAU,MAAM,KAAK,MAAM,GAAGa,CAAC;AAC1C,aAASsF,IAAI,KAAK,OAAO,GAAGT,IAAI,KAAK,OAAO;AAC1C,MAAAA,IAAIA,EAAE;AACR,WAAO,KAAK,aAAa,KAAK,OAAOS,GAAG,KAAK,QAAQT,GAAG,KAAK,SAAS,QAAQ,KAAK,YAAY,IAAI,QAAQknB,GAAGzmB,GAAGT,CAAC;AAAA,EACpH,GAAG/E,EAAE,UAAU,gBAAgB,SAAS,GAAG;AACzC,WAAO,MAAM,KAAK,YAAY,OAAO,IAAIisB,GAAG,KAAK,MAAM,KAAK,OAAO,GAAG,KAAK,MAAM,IAAI,KAAK,SAAS,IAAID,GAAE,KAAM,KAAK,YAAY,GAAG,KAAK,YAAY,IAAI;AAAA,EAC1J,GAAGhsB,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,QAAI,IAAI;AACR,QAAIA;AACF,aAAO,IAAIwiB,GAAG,KAAK,QAAO,CAAE,EAAE;AAAA,QAC5B,SAAS3d,GAAGU,GAAG;AACb,iBAAO,EAAEV,GAAGU,GAAG,CAAC;AAAA,QAClB;AAAA,QACAvF;AAAA,MACR;AACI,aAASqF,IAAI,GAAGC,IAAI,KAAK,OAAOA,KAAK,EAAEA,EAAE,OAAOD,KAAK,IAAI,MAAM;AAC7D,MAAAC,IAAIA,EAAE;AACR,WAAOD;AAAA,EACT,GAAGvF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,QAAIA;AACF,aAAO,IAAIwiB,GAAG,KAAK,QAAO,CAAE,EAAE,WAAW,GAAGxiB,CAAC;AAC/C,QAAI,IAAI,GAAGqF,IAAI,KAAK;AACpB,WAAO,IAAI6a,EAAE,WAAW;AACtB,UAAI7a,GAAG;AACL,YAAIC,IAAID,EAAE;AACV,eAAOA,IAAIA,EAAE,MAAM8a,EAAE,GAAG,KAAK7a,CAAC;AAAA,MAChC;AACA,aAAO8a,GAAE;AAAA,IACX,CAAC;AAAA,EACH,GAAGtgB;AACL,GAAG0f,EAAE;AACLqM,GAAG,UAAUD;AACb,IAAII,KAAKH,GAAG;AACZG,GAAGL,EAAE,IAAI;AACTK,GAAG,QAAQA,GAAG;AACdA,GAAG,UAAUA,GAAG;AAChBA,GAAG,aAAaA,GAAG;AACnBA,GAAG,gBAAgBhE;AACnBgE,GAAG,aAAajE;AAChBiE,GAAG,cAAcnJ;AACjBmJ,GAAG,mBAAmB,IAAIA,GAAG,YAAYlJ;AACzCkJ,GAAG,mBAAmB,IAAI,SAAS7sB,GAAGW,GAAG;AACvC,SAAOX,EAAE,QAAQW,CAAC;AACpB;AACAksB,GAAG,qBAAqB,IAAI,SAAS7sB,GAAG;AACtC,SAAOA,EAAE,YAAW;AACtB;AACA,SAAS4sB,GAAG5sB,GAAGW,GAAGC,GAAGY,GAAG;AACtB,MAAIX,IAAI,OAAO,OAAOgsB,EAAE;AACxB,SAAOhsB,EAAE,OAAOb,GAAGa,EAAE,QAAQF,GAAGE,EAAE,YAAYD,GAAGC,EAAE,SAASW,GAAGX,EAAE,YAAY,IAAIA;AACnF;AACA,IAAIisB;AACJ,SAASH,KAAK;AACZ,SAAOG,OAAOA,KAAKF,GAAG,CAAC;AACzB;AACA,SAASG,GAAG/sB,GAAGW,GAAGC,GAAGY,GAAGX,GAAGY,GAAG;AAC5B,SAAOwnB,GAAGjpB,EAAE,IAAI,GAAGA,EAAE,UAAU,SAAS,GAAG,GAAG,GAAG;AAC/C,IAAAa,KAAKA,IAAI,IAAID,IAAI,KAAKA,IAAID,EAAE,KAAKa,GAAGZ,GAAG,GAAG,GAAG,CAAC;AAAA,EAChD,GAAGa,CAAC,GAAGb;AACT;AACA,SAASosB,GAAGhtB,GAAGW,GAAG;AAChB,SAAOA;AACT;AACA,SAASssB,GAAGjtB,GAAGW,GAAG;AAChB,SAAO,CAACA,GAAGX,CAAC;AACd;AACA,SAASktB,GAAGltB,GAAG;AACb,SAAO,WAAW;AAChB,aAASW,IAAI,IAAIC,IAAI,UAAU,QAAQA,MAAO,CAAAD,EAAEC,CAAC,IAAI,UAAUA,CAAC;AAChE,WAAO,CAACZ,EAAE,MAAM,MAAMW,CAAC;AAAA,EACzB;AACF;AACA,SAASwsB,GAAGntB,GAAG;AACb,SAAO,WAAW;AAChB,aAASW,IAAI,IAAIC,IAAI,UAAU,QAAQA,MAAO,CAAAD,EAAEC,CAAC,IAAI,UAAUA,CAAC;AAChE,WAAO,CAACZ,EAAE,MAAM,MAAMW,CAAC;AAAA,EACzB;AACF;AACA,SAASysB,GAAGptB,GAAGW,GAAG;AAChB,SAAOX,IAAIW,IAAI,IAAIX,IAAIW,IAAI,KAAK;AAClC;AACA,SAAS0sB,GAAGrtB,GAAGW,GAAG;AAChB,MAAIX,MAAMW;AACR,WAAO;AACT,MAAI,CAACqf,GAAGrf,CAAC;AAAA,EACTX,EAAE,SAAS,UAAUW,EAAE,SAAS,UAAUX,EAAE,SAASW,EAAE;AAAA,EACvDX,EAAE,WAAW;AAAA,EACbW,EAAE,WAAW;AAAA,EACbX,EAAE,WAAWW,EAAE,UAAUkf,EAAE7f,CAAC,MAAM6f,EAAElf,CAAC,KAAKgf,GAAG3f,CAAC,MAAM2f,GAAGhf,CAAC;AAAA,EACxDiiB,GAAG5iB,CAAC,MAAM4iB,GAAGjiB,CAAC;AACZ,WAAO;AACT,MAAIX,EAAE,SAAS,KAAKW,EAAE,SAAS;AAC7B,WAAO;AACT,MAAIC,IAAI,CAACkf,GAAG9f,CAAC;AACb,MAAI4iB,GAAG5iB,CAAC,GAAG;AACT,QAAIwB,IAAIxB,EAAE,QAAO;AACjB,WAAOW,EAAE,MAAM,SAAS,GAAG,GAAG;AAC5B,UAAIiC,IAAIpB,EAAE,KAAI,EAAG;AACjB,aAAOoB,KAAKwkB,GAAGxkB,EAAE,CAAC,GAAG,CAAC,MAAMhC,KAAKwmB,GAAGxkB,EAAE,CAAC,GAAG,CAAC;AAAA,IAC7C,CAAC,KAAKpB,EAAE,KAAI,EAAG;AAAA,EACjB;AACA,MAAIX,IAAI;AACR,MAAIb,EAAE,SAAS;AACb,QAAIW,EAAE,SAAS;AACb,aAAOX,EAAE,eAAe,cAAcA,EAAE,YAAW;AAAA,SAChD;AACH,MAAAa,IAAI;AACJ,UAAIY,IAAIzB;AACR,MAAAA,IAAIW,GAAGA,IAAIc;AAAA,IACb;AACF,MAAI,IAAI,IAAI;AAAA;AAAA,IAEVd,EAAE,UAAU,SAAS,GAAG,GAAG;AACzB,UAAIC;AAAA;AAAA,QAEF,CAACZ,EAAE,IAAI,CAAC;AAAA,UACNa;AAAA;AAAA,QAEF,CAACumB,GAAG,GAAGpnB,EAAE,IAAI,GAAG4hB,CAAC,CAAC;AAAA;AAAA;AAAA,QAGlB,CAACwF,GAAGpnB,EAAE,IAAI,GAAG4hB,CAAC,GAAG,CAAC;AAAA;AAElB,eAAO,IAAI,IAAI;AAAA,IACnB,CAAC;AAAA;AAEH,SAAO;AAAA,EACP5hB,EAAE,SAAS;AACb;AACA,IAAIstB,KAAsB,0BAASttB,GAAG;AACpC,WAASW,EAAEC,GAAGY,GAAGX,GAAG;AAClB,QAAIA,MAAM,WAAWA,IAAI,IAAI,EAAE,gBAAgBF;AAC7C,aAAO,IAAIA,EAAEC,GAAGY,GAAGX,CAAC;AACtB,QAAImoB,GAAGnoB,MAAM,GAAG,0BAA0B,GAAGmoB;AAAA,MAC3CpoB,MAAM;AAAA,MACN;AAAA,IACN,GAAOooB;AAAA,MACDxnB,MAAM;AAAA,MACN;AAAA,IACN,GAAOX,IAAI,KAAK,IAAIA,CAAC,GAAGW,IAAIZ,MAAMC,IAAI,CAACA,IAAI,KAAK,SAASD,GAAG,KAAK,OAAOY,GAAG,KAAK,QAAQX,GAAG,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,MAAMW,IAAIZ,KAAKC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,GAAG;AAC/J,UAAI0sB;AACF,eAAOA;AACT,MAAAA,KAAK;AAAA,IACP;AAAA,EACF;AACA,SAAOvtB,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,UAAU,WAAW,WAAW;AAC3I,WAAO,KAAK,SAAS,IAAI,aAAa,aAAa,KAAK,SAAS,QAAQ,KAAK,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,MAAM;AAAA,EACvI,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,WAAO,KAAK,IAAI,CAAC,IAAI,KAAK,SAASqhB,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQrhB;AAAA,EAChE,GAAGF,EAAE,UAAU,WAAW,SAAS,GAAG;AACpC,QAAIE,KAAK,IAAI,KAAK,UAAU,KAAK;AACjC,WAAOA,KAAK,KAAKA,IAAI,KAAK,QAAQA,MAAM,KAAK,MAAMA,CAAC;AAAA,EACtD,GAAGF,EAAE,UAAU,QAAQ,SAAS,GAAGE,GAAG;AACpC,WAAOshB,GAAG,GAAGthB,GAAG,KAAK,IAAI,IAAI,QAAQ,IAAIwhB,GAAG,GAAG,KAAK,IAAI,GAAGxhB,IAAI0hB,GAAG1hB,GAAG,KAAK,IAAI,GAAGA,KAAK,IAAI,IAAIF,EAAE,GAAG,CAAC,IAAI,IAAIA;AAAA,MAC1G,KAAK,IAAI,GAAG,KAAK,IAAI;AAAA,MACrB,KAAK,IAAIE,GAAG,KAAK,IAAI;AAAA,MACrB,KAAK;AAAA,IACX;AAAA,EACE,GAAGF,EAAE,UAAU,UAAU,SAAS,GAAG;AACnC,QAAIE,IAAI,IAAI,KAAK;AACjB,QAAIA,IAAI,KAAK,UAAU,GAAG;AACxB,UAAI,IAAIA,IAAI,KAAK;AACjB,UAAI,KAAK,KAAK,IAAI,KAAK;AACrB,eAAO;AAAA,IACX;AACA,WAAO;AAAA,EACT,GAAGF,EAAE,UAAU,cAAc,SAAS,GAAG;AACvC,WAAO,KAAK,QAAQ,CAAC;AAAA,EACvB,GAAGA,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,aAAS,IAAI,KAAK,MAAMqF,IAAI,KAAK,OAAOC,IAAItF,IAAI,KAAK,UAAU,IAAI,KAAKqF,IAAI,KAAK,QAAQR,IAAI,GAAGA,MAAM,KAAK,EAAES,GAAGtF,IAAI,IAAI,EAAE6E,IAAIA,KAAK,IAAI,MAAM;AAC3I,MAAAS,KAAKtF,IAAI,CAACqF,IAAIA;AAChB,WAAOR;AAAA,EACT,GAAG/E,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,QAAI,IAAI,KAAK,MAAMqF,IAAI,KAAK,OAAOC,IAAItF,IAAI,KAAK,UAAU,IAAI,KAAKqF,IAAI,KAAK,QAAQR,IAAI;AACxF,WAAO,IAAIqb,EAAE,WAAW;AACtB,UAAIrb,MAAM;AACR,eAAOub,GAAE;AACX,UAAI7a,IAAID;AACR,aAAOA,KAAKtF,IAAI,CAACqF,IAAIA,GAAG8a,EAAE,GAAGngB,IAAI,IAAI,EAAE6E,IAAIA,KAAKU,CAAC;AAAA,IACnD,CAAC;AAAA,EACH,GAAGzF,EAAE,UAAU,SAAS,SAAS,GAAG;AAClC,WAAO,aAAaA,IAAI,KAAK,WAAW,EAAE,UAAU,KAAK,SAAS,EAAE,QAAQ,KAAK,UAAU,EAAE,QAAQ0sB,GAAG,MAAM,CAAC;AAAA,EACjH,GAAG1sB;AACL,GAAG2f,EAAE,GAAGiN,IAAIC,KAAK;AACjB,SAASC,GAAGztB,GAAG;AACb,SAAO,CAAC,EAAEA;AAAA,EACVA,EAAEwtB,EAAE;AACN;AACA,IAAIE,KAAsB,0BAAS1tB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,WAAOA,KAAK,OAAO+sB,GAAE,IAAKF,GAAG7sB,CAAC,KAAK,CAACgiB,GAAGhiB,CAAC,IAAIA,IAAI+sB,GAAE,EAAG,cAAc,SAASnsB,GAAG;AAC7E,UAAIX,IAAIb,EAAEY,CAAC;AACX,MAAAqoB,GAAGpoB,EAAE,IAAI,GAAGA,EAAE,QAAQ,SAASY,GAAG;AAChC,eAAOD,EAAE,IAAIC,CAAC;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACA,SAAOzB,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,KAAK,WAAW;AAC3H,WAAO,KAAK,SAAS;AAAA,EACvB,GAAGA,EAAE,WAAW,SAAS,GAAG;AAC1B,WAAO,KAAKwf,GAAG,CAAC,EAAE,OAAM,CAAE;AAAA,EAC5B,GAAGxf,EAAE,YAAY,SAAS,GAAG;AAC3B,WAAO,IAAIsf,GAAG,CAAC,EAAE,QAAO,GAAI,EAAE,SAAS2N,GAAG,UAAU,MAAMjtB,EAAE,EAAE,IAAG,CAAE,GAAG,CAAC,IAAIgtB,GAAE;AAAA,EAC/E,GAAGhtB,EAAE,QAAQ,SAAS,GAAG;AACvB,WAAO,IAAIsf,GAAG,CAAC,EAAE,QAAO,GAAI,EAAE,SAAS2N,GAAG,MAAM,MAAMjtB,EAAE,EAAE,IAAG,CAAE,GAAG,CAAC,IAAIgtB,GAAE;AAAA,EAC3E,GAAGhtB,EAAE,UAAU,WAAW,WAAW;AACnC,WAAO,KAAK,WAAW,SAAS,GAAG;AAAA,EACrC,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAG;AAC/B,WAAO,KAAK,KAAK,IAAI,CAAC;AAAA,EACxB,GAAGA,EAAE,UAAU,MAAM,SAAS,GAAG;AAC/B,WAAOktB,GAAG,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,CAAC;AAAA,EACrC,GAAGltB,EAAE,UAAU,SAAS,SAAS,GAAG;AAClC,WAAOktB,GAAG,MAAM,KAAK,KAAK,OAAO,CAAC,CAAC;AAAA,EACrC,GAAGltB,EAAE,UAAU,QAAQ,WAAW;AAChC,WAAOktB,GAAG,MAAM,KAAK,KAAK,MAAK,CAAE;AAAA,EACnC,GAAGltB,EAAE,UAAU,MAAM,SAAS,GAAGE,GAAG;AAClC,QAAI,IAAI,MAAMqF,IAAI,IAAIC,IAAI0nB;AAAA,MACxB;AAAA,MACA,KAAK,KAAK,WAAW,SAASnoB,GAAG;AAC/B,YAAIU,IAAIV,EAAE,CAAC,GAAG9C,IAAI,EAAE,KAAK/B,GAAGuF,GAAGA,GAAG,CAAC;AACnC,eAAOxD,MAAMwD,MAAMF,IAAI,KAAK,CAACtD,GAAGA,CAAC;AAAA,MACnC,GAAG/B,CAAC;AAAA,IACV;AACI,WAAOqF,IAAIC,IAAI;AAAA,EACjB,GAAGxF,EAAE,UAAU,QAAQ,WAAW;AAChC,aAAS,IAAI,IAAIE,IAAI,UAAU,QAAQA,MAAO,GAAEA,CAAC,IAAI,UAAUA,CAAC;AAChE,WAAO,IAAI,EAAE,OAAO,SAAS,GAAG;AAC9B,aAAO,EAAE,SAAS;AAAA,IACpB,CAAC,GAAG,EAAE,WAAW,IAAI,OAAO,KAAK,SAAS,KAAK,CAAC,KAAK,aAAa,EAAE,WAAW,IAAI,KAAK,YAAY,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,SAAS,GAAG;AACzI,eAASqF,IAAI,GAAGA,IAAI,EAAE,QAAQA;AAC5B,eAAO,EAAEA,CAAC,KAAK,WAAW,EAAE,IAAI,EAAEA,CAAC,CAAC,IAAIlG,EAAE,EAAEkG,CAAC,CAAC,EAAE,QAAQ,SAASC,GAAG;AAClE,iBAAO,EAAE,IAAIA,CAAC;AAAA,QAChB,CAAC;AAAA,IACL,CAAC;AAAA,EACH,GAAGxF,EAAE,UAAU,YAAY,WAAW;AACpC,aAAS,IAAI,IAAIE,IAAI,UAAU,QAAQA,MAAO,GAAEA,CAAC,IAAI,UAAUA,CAAC;AAChE,QAAI,EAAE,WAAW;AACf,aAAO;AACT,QAAI,EAAE,IAAI,SAASqF,GAAG;AACpB,aAAOlG,EAAEkG,CAAC;AAAA,IACZ,CAAC;AACD,QAAI,IAAI,CAAA;AACR,WAAO,KAAK,QAAQ,SAASA,GAAG;AAC9B,QAAE,MAAM,SAASC,GAAG;AAClB,eAAOA,EAAE,SAASD,CAAC;AAAA,MACrB,CAAC,KAAK,EAAE,KAAKA,CAAC;AAAA,IAChB,CAAC,GAAG,KAAK,cAAc,SAASA,GAAG;AACjC,QAAE,QAAQ,SAASC,GAAG;AACpB,QAAAD,EAAE,OAAOC,CAAC;AAAA,MACZ,CAAC;AAAA,IACH,CAAC;AAAA,EACH,GAAGxF,EAAE,UAAU,WAAW,WAAW;AACnC,aAAS,IAAI,IAAIE,IAAI,UAAU,QAAQA,MAAO,GAAEA,CAAC,IAAI,UAAUA,CAAC;AAChE,QAAI,EAAE,WAAW;AACf,aAAO;AACT,QAAI,EAAE,IAAI,SAASqF,GAAG;AACpB,aAAOlG,EAAEkG,CAAC;AAAA,IACZ,CAAC;AACD,QAAI,IAAI,CAAA;AACR,WAAO,KAAK,QAAQ,SAASA,GAAG;AAC9B,QAAE,KAAK,SAASC,GAAG;AACjB,eAAOA,EAAE,SAASD,CAAC;AAAA,MACrB,CAAC,KAAK,EAAE,KAAKA,CAAC;AAAA,IAChB,CAAC,GAAG,KAAK,cAAc,SAASA,GAAG;AACjC,QAAE,QAAQ,SAASC,GAAG;AACpB,QAAAD,EAAE,OAAOC,CAAC;AAAA,MACZ,CAAC;AAAA,IACH,CAAC;AAAA,EACH,GAAGxF,EAAE,UAAU,OAAO,SAAS,GAAG;AAChC,WAAOmtB,GAAGhH,GAAG,MAAM,CAAC,CAAC;AAAA,EACvB,GAAGnmB,EAAE,UAAU,SAAS,SAAS,GAAGE,GAAG;AACrC,WAAOitB,GAAGhH,GAAG,MAAMjmB,GAAG,CAAC,CAAC;AAAA,EAC1B,GAAGF,EAAE,UAAU,aAAa,WAAW;AACrC,WAAO,KAAK,KAAK,WAAU;AAAA,EAC7B,GAAGA,EAAE,UAAU,YAAY,SAAS,GAAGE,GAAG;AACxC,QAAI,IAAI;AACR,WAAO,KAAK,KAAK,UAAU,SAASqF,GAAG;AACrC,aAAO,EAAEA,GAAGA,GAAG,CAAC;AAAA,IAClB,GAAGrF,CAAC;AAAA,EACN,GAAGF,EAAE,UAAU,aAAa,SAAS,GAAGE,GAAG;AACzC,WAAO,KAAK,KAAK,WAAW,GAAGA,CAAC;AAAA,EAClC,GAAGF,EAAE,UAAU,gBAAgB,SAAS,GAAG;AACzC,QAAI,MAAM,KAAK;AACb,aAAO;AACT,QAAIE,IAAI,KAAK,KAAK,cAAc,CAAC;AACjC,WAAO,IAAI,KAAK,OAAOA,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,QAAO,KAAM,KAAK,YAAY,GAAG,KAAK,OAAOA,GAAG;AAAA,EACxG,GAAGF;AACL,GAAG4f,EAAE;AACLmN,GAAG,QAAQD;AACX,IAAIG,KAAKF,GAAG;AACZE,GAAGJ,EAAE,IAAI;AACTI,GAAGpM,EAAE,IAAIoM,GAAG;AACZA,GAAG,QAAQA,GAAG,SAASA,GAAG;AAC1BA,GAAG,gBAAgB/E;AACnB+E,GAAG,cAAclK;AACjBkK,GAAG,mBAAmB,IAAIA,GAAG,YAAYjK;AACzCiK,GAAG,mBAAmB,IAAI,SAAS5tB,GAAGW,GAAG;AACvC,SAAOX,EAAE,IAAIW,CAAC;AAChB;AACAitB,GAAG,qBAAqB,IAAI,SAAS5tB,GAAG;AACtC,SAAOA,EAAE,YAAW;AACtB;AACA4tB,GAAG,UAAUD;AACbC,GAAG,SAASG;AACZ,SAASF,GAAG7tB,GAAGW,GAAG;AAChB,SAAOX,EAAE,aAAaA,EAAE,OAAOW,EAAE,MAAMX,EAAE,OAAOW,GAAGX,KAAKW,MAAMX,EAAE,OAAOA,IAAIW,EAAE,SAAS,IAAIX,EAAE,QAAO,IAAKA,EAAE,OAAOW,CAAC;AACpH;AACA,SAASotB,GAAG/tB,GAAGW,GAAG;AAChB,MAAIC,IAAI,OAAO,OAAOgtB,EAAE;AACxB,SAAOhtB,EAAE,OAAOZ,IAAIA,EAAE,OAAO,GAAGY,EAAE,OAAOZ,GAAGY,EAAE,YAAYD,GAAGC;AAC/D;AACA,IAAIotB;AACJ,SAASL,KAAK;AACZ,SAAOK,OAAOA,KAAKD,GAAGzF,GAAE,CAAE;AAC5B;AACA,SAAS2F,GAAGjuB,GAAGW,GAAGC,GAAG;AACnB,WAASY,IAAIopB,GAAGjqB,CAAC,GAAGE,IAAI,GAAGA,MAAMW,EAAE;AACjC,QAAIxB,IAAI+qB,GAAG/qB,GAAGwB,EAAEX,GAAG,GAAG+gB,CAAC,GAAG5hB,MAAM4hB;AAC9B,aAAOhhB;AACX,SAAOZ;AACT;AACA,SAASkuB,GAAGluB,GAAGW,GAAG;AAChB,SAAOstB,GAAG,MAAMjuB,GAAGW,CAAC;AACtB;AACA,SAASwtB,GAAGnuB,GAAGW,GAAG;AAChB,SAAOstB,GAAGjuB,GAAGW,GAAGihB,CAAC,MAAMA;AACzB;AACA,SAASwM,GAAGpuB,GAAG;AACb,SAAOmuB,GAAG,MAAMnuB,CAAC;AACnB;AACA,SAASquB,KAAK;AACZ,EAAApF,GAAG,KAAK,IAAI;AACZ,MAAIjpB,IAAI,CAAA;AACR,SAAO,KAAK,UAAU,SAASW,GAAGC,GAAG;AACnC,IAAAZ,EAAEY,CAAC,IAAID;AAAA,EACT,CAAC,GAAGX;AACN;AACA,SAASsuB,GAAGtuB,GAAG;AACb,MAAI,CAACA,KAAK,OAAOA,KAAK;AACpB,WAAOA;AACT,MAAI,CAACggB,GAAGhgB,CAAC,GAAG;AACV,QAAI,CAAC4nB,GAAG5nB,CAAC;AACP,aAAOA;AACT,IAAAA,IAAIkgB,GAAGlgB,CAAC;AAAA,EACV;AACA,MAAI6f,EAAE7f,CAAC,GAAG;AACR,QAAIW,IAAI,CAAA;AACR,WAAOX,EAAE,UAAU,SAASwB,GAAGX,GAAG;AAChC,MAAAF,EAAEE,CAAC,IAAIytB,GAAG9sB,CAAC;AAAA,IACb,CAAC,GAAGb;AAAA,EACN;AACA,MAAIC,IAAI,CAAA;AACR,SAAOZ,EAAE,UAAU,SAASwB,GAAG;AAC7B,IAAAZ,EAAE,KAAK0tB,GAAG9sB,CAAC,CAAC;AAAA,EACd,CAAC,GAAGZ;AACN;AACA,SAAS2tB,GAAGvuB,GAAG;AACb,MAAIA,EAAE,SAAS;AACb,WAAO;AACT,MAAIW,IAAIiiB,GAAG5iB,CAAC,GAAGY,IAAIif,EAAE7f,CAAC,GAAGwB,IAAIb,IAAI,IAAI;AACrC,SAAOX,EAAE,UAAUY,IAAID,IAAI,SAASE,GAAGY,GAAG;AACxC,IAAAD,IAAI,KAAKA,IAAIgtB,GAAGzK,GAAGljB,CAAC,GAAGkjB,GAAGtiB,CAAC,CAAC,IAAI;AAAA,EAClC,IAAI,SAASZ,GAAGY,GAAG;AACjB,IAAAD,IAAIA,IAAIgtB,GAAGzK,GAAGljB,CAAC,GAAGkjB,GAAGtiB,CAAC,CAAC,IAAI;AAAA,EAC7B,IAAId,IAAI,SAASE,GAAG;AAClB,IAAAW,IAAI,KAAKA,IAAIuiB,GAAGljB,CAAC,IAAI;AAAA,EACvB,IAAI,SAASA,GAAG;AACd,IAAAW,IAAIA,IAAIuiB,GAAGljB,CAAC,IAAI;AAAA,EAClB,CAAC,GAAG4tB,GAAGzuB,EAAE,MAAMwB,CAAC;AAClB;AACA,SAASitB,GAAGzuB,GAAGW,GAAG;AAChB,SAAOA,IAAIijB,GAAGjjB,GAAG,UAAU,GAAGA,IAAIijB,GAAGjjB,KAAK,KAAKA,MAAM,KAAK,SAAS,GAAGA,IAAIijB,GAAGjjB,KAAK,KAAKA,MAAM,KAAK,CAAC,GAAGA,KAAKA,IAAI,aAAa,KAAKX,GAAGW,IAAIijB,GAAGjjB,IAAIA,MAAM,IAAI,UAAU,GAAGA,IAAIijB,GAAGjjB,IAAIA,MAAM,IAAI,UAAU,GAAGA,IAAIkjB,GAAGljB,IAAIA,MAAM,EAAE,GAAGA;AAChO;AACA,SAAS6tB,GAAGxuB,GAAGW,GAAG;AAChB,SAAOX,IAAIW,IAAI,cAAcX,KAAK,MAAMA,KAAK,KAAK;AACpD;AACA,SAAS0uB,GAAG1uB,GAAGW,GAAG;AAChB,MAAIC,IAAI,SAASY,GAAG;AAClB,IAAAxB,EAAE,UAAUwB,CAAC,IAAIb,EAAEa,CAAC;AAAA,EACtB;AACA,SAAO,OAAO,KAAKb,CAAC,EAAE,QAAQC,CAAC,GAAG,OAAO,yBAAyB,OAAO,sBAAsBD,CAAC,EAAE,QAAQC,CAAC,GAAGZ;AAChH;AACAigB,GAAG,WAAWc;AACd2N,GAAGzO,IAAI;AAAA;AAAA,EAEL,SAAS,WAAW;AAClB,IAAAgJ,GAAG,KAAK,IAAI;AACZ,QAAI,IAAI,IAAI,MAAM,KAAK,QAAQ,CAAC,GAAGroB,IAAIif,EAAE,IAAI,GAAG,IAAI;AACpD,WAAO,KAAK,UAAU,SAAShf,GAAG,GAAG;AACnC,QAAE,GAAG,IAAID,IAAI,CAAC,GAAGC,CAAC,IAAIA;AAAA,IACxB,CAAC,GAAG;AAAA,EACN;AAAA,EACA,cAAc,WAAW;AACvB,WAAO,IAAI0kB,GAAG,IAAI;AAAA,EACpB;AAAA,EACA,MAAM,WAAW;AACf,WAAO+I,GAAG,IAAI;AAAA,EAChB;AAAA,EACA,YAAY,WAAW;AACrB,WAAO,IAAIlJ,GAAG,MAAM,EAAE;AAAA,EACxB;AAAA,EACA,OAAO,WAAW;AAChB,WAAOY,GAAG,KAAK,YAAY;AAAA,EAC7B;AAAA,EACA,UAAUqI;AAAA,EACV,cAAc,WAAW;AACvB,WAAOnI,GAAG,KAAK,YAAY;AAAA,EAC7B;AAAA,EACA,cAAc,WAAW;AACvB,WAAO4H,GAAGjO,EAAE,IAAI,IAAI,KAAK,SAAQ,IAAK,IAAI;AAAA,EAC5C;AAAA,EACA,OAAO,WAAW;AAChB,WAAO6N,GAAG7N,EAAE,IAAI,IAAI,KAAK,SAAQ,IAAK,IAAI;AAAA,EAC5C;AAAA,EACA,UAAU,WAAW;AACnB,WAAO,IAAI2F,GAAG,IAAI;AAAA,EACpB;AAAA,EACA,OAAO,WAAW;AAChB,WAAO7F,GAAG,IAAI,IAAI,KAAK,aAAY,IAAKE,EAAE,IAAI,IAAI,KAAK,eAAe,KAAK,SAAQ;AAAA,EACrF;AAAA,EACA,SAAS,WAAW;AAClB,WAAO6M,GAAG7M,EAAE,IAAI,IAAI,KAAK,SAAQ,IAAK,IAAI;AAAA,EAC5C;AAAA,EACA,QAAQ,WAAW;AACjB,WAAOyL,GAAGzL,EAAE,IAAI,IAAI,KAAK,SAAQ,IAAK,IAAI;AAAA,EAC5C;AAAA;AAAA,EAEA,UAAU,WAAW;AACnB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,SAAS,GAAGjf,GAAG;AACzB,WAAO,KAAK,SAAS,IAAI,IAAIA,IAAI,IAAI,MAAM,KAAK,MAAK,EAAG,IAAI,KAAK,gBAAgB,EAAE,KAAK,IAAI,IAAI,MAAMA;AAAA,EACxG;AAAA;AAAA,EAEA,QAAQ,WAAW;AACjB,aAAS,IAAI,IAAIA,IAAI,UAAU,QAAQA,MAAO,GAAEA,CAAC,IAAI,UAAUA,CAAC;AAChE,WAAOwlB,EAAE,MAAMM,GAAG,MAAM,CAAC,CAAC;AAAA,EAC5B;AAAA,EACA,UAAU,SAAS,GAAG;AACpB,WAAO,KAAK,KAAK,SAAS9lB,GAAG;AAC3B,aAAOwmB,GAAGxmB,GAAG,CAAC;AAAA,IAChB,CAAC;AAAA,EACH;AAAA,EACA,SAAS,WAAW;AAClB,WAAO,KAAK,WAAW+f,EAAE;AAAA,EAC3B;AAAA,EACA,OAAO,SAAS,GAAG/f,GAAG;AACpB,IAAAqoB,GAAG,KAAK,IAAI;AACZ,QAAI,IAAI;AACR,WAAO,KAAK,UAAU,SAASpoB,GAAG,GAAGqF,GAAG;AACtC,UAAI,CAAC,EAAE,KAAKtF,GAAGC,GAAG,GAAGqF,CAAC;AACpB,eAAO,IAAI,IAAI;AAAA,IACnB,CAAC,GAAG;AAAA,EACN;AAAA,EACA,QAAQ,SAAS,GAAGtF,GAAG;AACrB,WAAOwlB,EAAE,MAAMN,GAAG,MAAM,GAAGllB,GAAG,EAAE,CAAC;AAAA,EACnC;AAAA,EACA,WAAW,SAAS,GAAGA,GAAG;AACxB,WAAOylB,GAAG,MAAM,GAAGzlB,CAAC;AAAA,EACtB;AAAA,EACA,MAAM,SAAS,GAAGA,GAAG,GAAG;AACtB,QAAIC,IAAI,KAAK,UAAU,GAAGD,CAAC;AAC3B,WAAOC,IAAIA,EAAE,CAAC,IAAI;AAAA,EACpB;AAAA,EACA,SAAS,SAAS,GAAGD,GAAG;AACtB,WAAOqoB,GAAG,KAAK,IAAI,GAAG,KAAK,UAAUroB,IAAI,EAAE,KAAKA,CAAC,IAAI,CAAC;AAAA,EACxD;AAAA,EACA,MAAM,SAAS,GAAG;AAChB,IAAAqoB,GAAG,KAAK,IAAI,GAAG,IAAI,MAAM,SAAS,KAAK,IAAI;AAC3C,QAAIroB,IAAI,IAAI,IAAI;AAChB,WAAO,KAAK,UAAU,SAASC,GAAG;AAChC,UAAI,IAAI,KAAKD,KAAK,GAAGA,KAAKC,KAAK,OAAOA,EAAE,SAAQ,IAAK;AAAA,IACvD,CAAC,GAAGD;AAAA,EACN;AAAA,EACA,MAAM,WAAW;AACf,WAAO,KAAK,WAAW6f,EAAE;AAAA,EAC3B;AAAA,EACA,KAAK,SAAS,GAAG7f,GAAG;AAClB,WAAOwlB,EAAE,MAAMd,GAAG,MAAM,GAAG1kB,CAAC,CAAC;AAAA,EAC/B;AAAA,EACA,QAAQ,SAAS,GAAGA,GAAG,GAAG;AACxB,WAAOmsB;AAAA,MACL;AAAA,MACA;AAAA,MACAnsB;AAAA,MACA;AAAA,MACA,UAAU,SAAS;AAAA,MACnB;AAAA,IACN;AAAA,EACE;AAAA,EACA,aAAa,SAAS,GAAGA,GAAG,GAAG;AAC7B,WAAOmsB;AAAA,MACL;AAAA,MACA;AAAA,MACAnsB;AAAA,MACA;AAAA,MACA,UAAU,SAAS;AAAA,MACnB;AAAA,IACN;AAAA,EACE;AAAA,EACA,SAAS,WAAW;AAClB,WAAOwlB,EAAE,MAAMf,GAAG,MAAM,EAAE,CAAC;AAAA,EAC7B;AAAA,EACA,OAAO,SAAS,GAAGzkB,GAAG;AACpB,WAAOwlB,EAAE,MAAME,GAAG,MAAM,GAAG1lB,GAAG,EAAE,CAAC;AAAA,EACnC;AAAA,EACA,MAAM,SAAS,GAAGA,GAAG;AACnB,IAAAqoB,GAAG,KAAK,IAAI;AACZ,QAAI,IAAI;AACR,WAAO,KAAK,UAAU,SAASpoB,GAAG,GAAGqF,GAAG;AACtC,UAAI,EAAE,KAAKtF,GAAGC,GAAG,GAAGqF,CAAC;AACnB,eAAO,IAAI,IAAI;AAAA,IACnB,CAAC,GAAG;AAAA,EACN;AAAA,EACA,MAAM,SAAS,GAAG;AAChB,WAAOkgB,EAAE,MAAMU,GAAG,MAAM,CAAC,CAAC;AAAA,EAC5B;AAAA,EACA,QAAQ,WAAW;AACjB,WAAO,KAAK,WAAWpG,EAAE;AAAA,EAC3B;AAAA;AAAA,EAEA,SAAS,WAAW;AAClB,WAAO,KAAK,MAAM,GAAG,EAAE;AAAA,EACzB;AAAA,EACA,SAAS,WAAW;AAClB,WAAO,KAAK,SAAS,SAAS,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,WAAW;AACpE,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EACA,OAAO,SAAS,GAAG9f,GAAG;AACpB,WAAOohB;AAAA,MACL,IAAI,KAAK,MAAK,EAAG,OAAO,GAAGphB,CAAC,IAAI;AAAA,IACtC;AAAA,EACE;AAAA,EACA,SAAS,SAAS,GAAGA,GAAG;AACtB,WAAOmlB,GAAG,MAAM,GAAGnlB,CAAC;AAAA,EACtB;AAAA,EACA,QAAQ,SAAS,GAAG;AAClB,WAAOysB,GAAG,MAAM,CAAC;AAAA,EACnB;AAAA,EACA,UAAU,WAAW;AACnB,QAAI,IAAI;AACR,QAAI,EAAE;AACJ,aAAO,IAAIhK,GAAG,EAAE,MAAM;AACxB,QAAIziB,IAAI,EAAE,MAAK,EAAG,IAAIqsB,EAAE,EAAE,aAAY;AACtC,WAAOrsB,EAAE,eAAe,WAAW;AACjC,aAAO,EAAE,MAAK;AAAA,IAChB,GAAGA;AAAA,EACL;AAAA,EACA,WAAW,SAAS,GAAGA,GAAG;AACxB,WAAO,KAAK,OAAOssB,GAAG,CAAC,GAAGtsB,CAAC;AAAA,EAC7B;AAAA,EACA,WAAW,SAAS,GAAGA,GAAG,GAAG;AAC3B,QAAIC,IAAI;AACR,WAAO,KAAK,UAAU,SAAS,GAAGqF,GAAGC,GAAG;AACtC,UAAI,EAAE,KAAKvF,GAAG,GAAGsF,GAAGC,CAAC;AACnB,eAAOtF,IAAI,CAACqF,GAAG,CAAC,GAAG;AAAA,IACvB,CAAC,GAAGrF;AAAA,EACN;AAAA,EACA,SAAS,SAAS,GAAGD,GAAG;AACtB,QAAI,IAAI,KAAK,UAAU,GAAGA,CAAC;AAC3B,WAAO,KAAK,EAAE,CAAC;AAAA,EACjB;AAAA,EACA,UAAU,SAAS,GAAGA,GAAG,GAAG;AAC1B,WAAO,KAAK,WAAU,EAAG,QAAO,EAAG,KAAK,GAAGA,GAAG,CAAC;AAAA,EACjD;AAAA,EACA,eAAe,SAAS,GAAGA,GAAG,GAAG;AAC/B,WAAO,KAAK,WAAU,EAAG,QAAO,EAAG,UAAU,GAAGA,GAAG,CAAC;AAAA,EACtD;AAAA,EACA,aAAa,SAAS,GAAGA,GAAG;AAC1B,WAAO,KAAK,aAAa,QAAO,EAAG,QAAQ,GAAGA,CAAC;AAAA,EACjD;AAAA,EACA,OAAO,SAAS,GAAG;AACjB,WAAO,KAAK,KAAKqhB,IAAI,MAAM,CAAC;AAAA,EAC9B;AAAA,EACA,SAAS,SAAS,GAAGrhB,GAAG;AACtB,WAAOwlB,EAAE,MAAMQ,GAAG,MAAM,GAAGhmB,CAAC,CAAC;AAAA,EAC/B;AAAA,EACA,SAAS,SAAS,GAAG;AACnB,WAAOwlB,EAAE,MAAMO,GAAG,MAAM,GAAG,EAAE,CAAC;AAAA,EAChC;AAAA,EACA,cAAc,WAAW;AACvB,WAAO,IAAIlB,GAAG,IAAI;AAAA,EACpB;AAAA,EACA,KAAK,SAAS,GAAG7kB,GAAG;AAClB,WAAO,KAAK,KAAK,SAAS,GAAGC,GAAG;AAC9B,aAAOumB,GAAGvmB,GAAG,CAAC;AAAA,IAChB,GAAG,QAAQD,CAAC;AAAA,EACd;AAAA,EACA,OAAOstB;AAAA,EACP,SAAS,SAAS,GAAGttB,GAAG;AACtB,WAAOqlB,GAAG,MAAM,GAAGrlB,CAAC;AAAA,EACtB;AAAA,EACA,KAAK,SAAS,GAAG;AACf,WAAO,KAAK,IAAI,GAAGghB,CAAC,MAAMA;AAAA,EAC5B;AAAA,EACA,OAAOwM;AAAA,EACP,UAAU,SAAS,GAAG;AACpB,WAAO,IAAI,OAAO,EAAE,YAAY,aAAa,IAAInO,GAAG,CAAC,GAAG,KAAK,MAAM,SAASrf,GAAG;AAC7E,aAAO,EAAE,SAASA,CAAC;AAAA,IACrB,CAAC;AAAA,EACH;AAAA,EACA,YAAY,SAAS,GAAG;AACtB,WAAO,IAAI,OAAO,EAAE,YAAY,aAAa,IAAIqf,GAAG,CAAC,GAAG,EAAE,SAAS,IAAI;AAAA,EACzE;AAAA,EACA,OAAO,SAAS,GAAG;AACjB,WAAO,KAAK,QAAQ,SAASrf,GAAG;AAC9B,aAAOwmB,GAAGxmB,GAAG,CAAC;AAAA,IAChB,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,WAAW;AACjB,WAAO,KAAK,MAAK,EAAG,IAAIosB,EAAE,EAAE,aAAY;AAAA,EAC1C;AAAA,EACA,MAAM,SAAS,GAAG;AAChB,WAAO,KAAK,MAAK,EAAG,QAAO,EAAG,MAAM,CAAC;AAAA,EACvC;AAAA,EACA,WAAW,SAAS,GAAG;AACrB,WAAO,KAAK,WAAU,EAAG,QAAO,EAAG,MAAM,CAAC;AAAA,EAC5C;AAAA,EACA,KAAK,SAAS,GAAG;AACf,WAAOhG,GAAG,MAAM,CAAC;AAAA,EACnB;AAAA,EACA,OAAO,SAAS,GAAGpmB,GAAG;AACpB,WAAOomB,GAAG,MAAMpmB,GAAG,CAAC;AAAA,EACtB;AAAA,EACA,KAAK,SAAS,GAAG;AACf,WAAOomB;AAAA,MACL;AAAA,MACA,IAAImG,GAAG,CAAC,IAAIC;AAAA,IAClB;AAAA,EACE;AAAA,EACA,OAAO,SAAS,GAAGxsB,GAAG;AACpB,WAAOomB;AAAA,MACL;AAAA,MACApmB,IAAIusB,GAAGvsB,CAAC,IAAIwsB;AAAA,MACZ;AAAA,IACN;AAAA,EACE;AAAA,EACA,MAAM,WAAW;AACf,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB;AAAA,EACA,MAAM,SAAS,GAAG;AAChB,WAAO,MAAM,IAAI,OAAO,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC;AAAA,EACnD;AAAA,EACA,UAAU,SAAS,GAAG;AACpB,WAAO,MAAM,IAAI,OAAO,KAAK,MAAM,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;AAAA,EACvD;AAAA,EACA,WAAW,SAAS,GAAGxsB,GAAG;AACxB,WAAOwlB,EAAE,MAAMI,GAAG,MAAM,GAAG5lB,GAAG,EAAE,CAAC;AAAA,EACnC;AAAA,EACA,WAAW,SAAS,GAAGA,GAAG;AACxB,WAAO,KAAK,UAAUssB,GAAG,CAAC,GAAGtsB,CAAC;AAAA,EAChC;AAAA,EACA,QAAQ,SAAS,GAAGA,GAAG;AACrB,WAAOwlB,EAAE,MAAMU,GAAG,MAAMlmB,GAAG,CAAC,CAAC;AAAA,EAC/B;AAAA,EACA,MAAM,SAAS,GAAG;AAChB,WAAO,KAAK,MAAM,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;AAAA,EACrC;AAAA,EACA,UAAU,SAAS,GAAG;AACpB,WAAO,KAAK,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;AAAA,EACnC;AAAA,EACA,WAAW,SAAS,GAAGA,GAAG;AACxB,WAAOwlB,EAAE,MAAMG,GAAG,MAAM,GAAG3lB,CAAC,CAAC;AAAA,EAC/B;AAAA,EACA,WAAW,SAAS,GAAGA,GAAG;AACxB,WAAO,KAAK,UAAUssB,GAAG,CAAC,GAAGtsB,CAAC;AAAA,EAChC;AAAA,EACA,QAAQ,SAAS,GAAG;AAClB,WAAO,EAAE,IAAI;AAAA,EACf;AAAA,EACA,UAAU,WAAW;AACnB,WAAO,KAAK,aAAY;AAAA,EAC1B;AAAA;AAAA,EAEA,UAAU,WAAW;AACnB,WAAO,KAAK,WAAW,KAAK,SAAS2tB,GAAG,IAAI;AAAA,EAC9C;AAAA;AAAA;AAAA;AAIF,CAAC;AACD,IAAII,KAAK1O,GAAG;AACZ0O,GAAG5O,EAAE,IAAI;AACT4O,GAAG7N,EAAE,IAAI6N,GAAG;AACZA,GAAG,SAASA,GAAG;AACfA,GAAG,mBAAmB9D;AACtB8D,GAAG,UAAUA,GAAG,WAAW,WAAW;AACpC,SAAO,KAAK,SAAQ;AACtB;AACAA,GAAG,QAAQA,GAAG;AACdA,GAAG,WAAWA,GAAG;AACjBD,GAAGvO,IAAI;AAAA;AAAA,EAEL,MAAM,WAAW;AACf,WAAOiG,EAAE,MAAMR,GAAG,IAAI,CAAC;AAAA,EACzB;AAAA,EACA,YAAY,SAAS,GAAGhlB,GAAG;AACzB,QAAI,IAAI,MAAMC,IAAI;AAClB,WAAOulB;AAAA,MACL;AAAA,MACA,KAAK,MAAK,EAAG,IAAI,SAAS,GAAGlgB,GAAG;AAC9B,eAAO,EAAE,KAAKtF,GAAG,CAACsF,GAAG,CAAC,GAAGrF,KAAK,CAAC;AAAA,MACjC,CAAC,EAAE,aAAY;AAAA,IACrB;AAAA,EACE;AAAA,EACA,SAAS,SAAS,GAAGD,GAAG;AACtB,QAAI,IAAI;AACR,WAAOwlB;AAAA,MACL;AAAA,MACA,KAAK,MAAK,EAAG,KAAI,EAAG,IAAI,SAASvlB,GAAG,GAAG;AACrC,eAAO,EAAE,KAAKD,GAAGC,GAAG,GAAG,CAAC;AAAA,MAC1B,CAAC,EAAE,KAAI;AAAA,IACb;AAAA,EACE;AACF,CAAC;AACD,IAAI+tB,KAAKzO,GAAG;AACZyO,GAAGhP,EAAE,IAAI;AACTgP,GAAG9N,EAAE,IAAI6N,GAAG;AACZC,GAAG,SAASP;AACZO,GAAG,mBAAmB,SAAS5uB,GAAGW,GAAG;AACnC,SAAOkqB,GAAGlqB,CAAC,IAAI,OAAOkqB,GAAG7qB,CAAC;AAC5B;AACA0uB,GAAGrO,IAAI;AAAA;AAAA,EAEL,YAAY,WAAW;AACrB,WAAO,IAAI+E,GAAG,MAAM,EAAE;AAAA,EACxB;AAAA;AAAA,EAEA,QAAQ,SAAS,GAAGxkB,GAAG;AACrB,WAAOwlB,EAAE,MAAMN,GAAG,MAAM,GAAGllB,GAAG,EAAE,CAAC;AAAA,EACnC;AAAA,EACA,WAAW,SAAS,GAAGA,GAAG;AACxB,QAAI,IAAI,KAAK,UAAU,GAAGA,CAAC;AAC3B,WAAO,IAAI,EAAE,CAAC,IAAI;AAAA,EACpB;AAAA,EACA,SAAS,SAAS,GAAG;AACnB,QAAIA,IAAI,KAAK,MAAM,CAAC;AACpB,WAAOA,MAAM,SAAS,KAAKA;AAAA,EAC7B;AAAA,EACA,aAAa,SAAS,GAAG;AACvB,QAAIA,IAAI,KAAK,UAAU,CAAC;AACxB,WAAOA,MAAM,SAAS,KAAKA;AAAA,EAC7B;AAAA,EACA,SAAS,WAAW;AAClB,WAAOwlB,EAAE,MAAMf,GAAG,MAAM,EAAE,CAAC;AAAA,EAC7B;AAAA,EACA,OAAO,SAAS,GAAGzkB,GAAG;AACpB,WAAOwlB,EAAE,MAAME,GAAG,MAAM,GAAG1lB,GAAG,EAAE,CAAC;AAAA,EACnC;AAAA,EACA,QAAQ,SAAS,GAAGA,GAAG;AACrB,QAAI,IAAI,UAAU;AAClB,QAAIA,IAAI,KAAK,IAAIA,KAAK,GAAG,CAAC,GAAG,MAAM,KAAK,MAAM,KAAK,CAACA;AAClD,aAAO;AACT,QAAIyhB,GAAG,GAAG,IAAI,IAAI,KAAK,MAAK,IAAK,KAAK,IAAI;AAC1C,QAAIxhB,IAAI,KAAK,MAAM,GAAG,CAAC;AACvB,WAAOulB;AAAA,MACL;AAAA,MACA,MAAM,IAAIvlB,IAAIA,EAAE,OAAOgnB,GAAG,WAAW,CAAC,GAAG,KAAK,MAAM,IAAIjnB,CAAC,CAAC;AAAA,IAChE;AAAA,EACE;AAAA;AAAA,EAEA,eAAe,SAAS,GAAGA,GAAG;AAC5B,QAAI,IAAI,KAAK,cAAc,GAAGA,CAAC;AAC/B,WAAO,IAAI,EAAE,CAAC,IAAI;AAAA,EACpB;AAAA,EACA,OAAO,SAAS,GAAG;AACjB,WAAO,KAAK,IAAI,GAAG,CAAC;AAAA,EACtB;AAAA,EACA,SAAS,SAAS,GAAG;AACnB,WAAOwlB,EAAE,MAAMO,GAAG,MAAM,GAAG,EAAE,CAAC;AAAA,EAChC;AAAA,EACA,KAAK,SAAS,GAAG/lB,GAAG;AAClB,WAAO,IAAIshB,GAAG,MAAM,CAAC,GAAG,IAAI,KAAK,KAAK,SAAS,SAAS,KAAK,SAAS,UAAU,IAAI,KAAK,OAAOthB,IAAI,KAAK,KAAK,SAAS,GAAGC,GAAG;AAC3H,aAAOA,MAAM;AAAA,IACf,GAAG,QAAQD,CAAC;AAAA,EACd;AAAA,EACA,KAAK,SAAS,GAAG;AACf,WAAO,IAAIshB,GAAG,MAAM,CAAC,GAAG,KAAK,MAAM,KAAK,SAAS,SAAS,KAAK,SAAS,SAAS,IAAI,KAAK,OAAO,KAAK,QAAQ,CAAC,MAAM;AAAA,EACvH;AAAA,EACA,WAAW,SAAS,GAAG;AACrB,WAAOkE,EAAE,MAAMS,GAAG,MAAM,CAAC,CAAC;AAAA,EAC5B;AAAA,EACA,YAAY,WAAW;AACrB,QAAI,IAAI,CAAC,IAAI,EAAE,OAAOgB,GAAG,SAAS,CAAC,GAAGjnB,IAAIsmB,GAAG,KAAK,MAAK,GAAI5G,GAAG,IAAI,CAAC,GAAG,IAAI1f,EAAE,QAAQ,EAAE;AACtF,WAAOA,EAAE,SAAS,EAAE,OAAOA,EAAE,OAAO,EAAE,SAASwlB,EAAE,MAAM,CAAC;AAAA,EAC1D;AAAA,EACA,QAAQ,WAAW;AACjB,WAAOkH,GAAG,GAAG,KAAK,IAAI;AAAA,EACxB;AAAA,EACA,MAAM,SAAS,GAAG;AAChB,WAAO,KAAK,IAAI,IAAI,CAAC;AAAA,EACvB;AAAA,EACA,WAAW,SAAS,GAAG1sB,GAAG;AACxB,WAAOwlB,EAAE,MAAMI,GAAG,MAAM,GAAG5lB,GAAG,EAAE,CAAC;AAAA,EACnC;AAAA,EACA,KAAK,WAAW;AACd,QAAI,IAAI,CAAC,IAAI,EAAE,OAAOinB,GAAG,SAAS,CAAC;AACnC,WAAOzB,EAAE,MAAMc,GAAG,MAAM2H,IAAI,CAAC,CAAC;AAAA,EAChC;AAAA,EACA,QAAQ,WAAW;AACjB,QAAI,IAAI,CAAC,IAAI,EAAE,OAAOhH,GAAG,SAAS,CAAC;AACnC,WAAOzB,EAAE,MAAMc,GAAG,MAAM2H,IAAI,GAAG,EAAE,CAAC;AAAA,EACpC;AAAA,EACA,SAAS,SAAS,GAAG;AACnB,QAAIjuB,IAAIinB,GAAG,SAAS;AACpB,WAAOjnB,EAAE,CAAC,IAAI,MAAMwlB,EAAE,MAAMc,GAAG,MAAM,GAAGtmB,CAAC,CAAC;AAAA,EAC5C;AACF,CAAC;AACD,IAAIkuB,KAAKzO,GAAG;AACZyO,GAAGpP,EAAE,IAAI;AACToP,GAAGnM,EAAE,IAAI;AACT+L,GAAGnO,IAAI;AAAA;AAAA,EAEL,KAAK,SAAS,GAAG3f,GAAG;AAClB,WAAO,KAAK,IAAI,CAAC,IAAI,IAAIA;AAAA,EAC3B;AAAA,EACA,UAAU,SAAS,GAAG;AACpB,WAAO,KAAK,IAAI,CAAC;AAAA,EACnB;AAAA;AAAA,EAEA,QAAQ,WAAW;AACjB,WAAO,KAAK,SAAQ;AAAA,EACtB;AACF,CAAC;AACD,IAAImuB,KAAKxO,GAAG;AACZwO,GAAG,MAAMJ,GAAG;AACZI,GAAG,WAAWA,GAAG;AACjBA,GAAG,OAAOA,GAAG;AACbL,GAAGtO,IAAIwO,EAAE;AACTF,GAAGpO,IAAIwO,EAAE;AACTJ,GAAGlO,IAAIuO,EAAE;AACT,SAASF,KAAK;AACZ,SAAOhH,GAAG,SAAS;AACrB;AACA,SAASmH,GAAGhvB,GAAG;AACb,SAAOytB,GAAGztB,CAAC,KAAK4iB,GAAG5iB,CAAC;AACtB;AACA,IAAI8tB,KAAsB,0BAAS9tB,GAAG;AACpC,WAASW,EAAEC,GAAG;AACZ,WAAOA,KAAK,OAAOquB,GAAE,IAAKD,GAAGpuB,CAAC,IAAIA,IAAIquB,GAAE,EAAG,cAAc,SAASztB,GAAG;AACnE,UAAIX,IAAI0f,GAAG3f,CAAC;AACZ,MAAAqoB,GAAGpoB,EAAE,IAAI,GAAGA,EAAE,QAAQ,SAASY,GAAG;AAChC,eAAOD,EAAE,IAAIC,CAAC;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACA,SAAOzB,MAAMW,EAAE,YAAYX,IAAIW,EAAE,YAAY,OAAO,OAAOX,KAAKA,EAAE,SAAS,GAAGW,EAAE,UAAU,cAAcA,GAAGA,EAAE,KAAK,WAAW;AAC3H,WAAO,KAAK,SAAS;AAAA,EACvB,GAAGA,EAAE,WAAW,SAAS,GAAG;AAC1B,WAAO,KAAKwf,GAAG,CAAC,EAAE,OAAM,CAAE;AAAA,EAC5B,GAAGxf,EAAE,UAAU,WAAW,WAAW;AACnC,WAAO,KAAK,WAAW,gBAAgB,GAAG;AAAA,EAC5C,GAAGA;AACL,GAAG+sB,EAAE;AACLI,GAAG,eAAekB;AAClB,IAAIE,KAAKpB,GAAG;AACZoB,GAAGvM,EAAE,IAAI;AACTuM,GAAG,MAAMJ,GAAG;AACZI,GAAG,UAAUJ,GAAG;AAChBI,GAAG,SAASJ,GAAG;AACfI,GAAG,UAAUD;AACbC,GAAG,SAASC;AACZ,SAASA,GAAGnvB,GAAGW,GAAG;AAChB,MAAIC,IAAI,OAAO,OAAOsuB,EAAE;AACxB,SAAOtuB,EAAE,OAAOZ,IAAIA,EAAE,OAAO,GAAGY,EAAE,OAAOZ,GAAGY,EAAE,YAAYD,GAAGC;AAC/D;AACA,IAAIwuB;AACJ,SAASH,KAAK;AACZ,SAAOG,OAAOA,KAAKD,GAAG/C,GAAE,CAAE;AAC5B;AACA,SAASiD,GAAGrvB,GAAG;AACb,MAAIyiB,GAAGziB,CAAC;AACN,UAAM,IAAI;AAAA,MACR;AAAA,IACN;AACE,MAAI0iB,GAAG1iB,CAAC;AACN,UAAM,IAAI;AAAA,MACR;AAAA,IACN;AACE,MAAIA,MAAM,QAAQ,OAAOA,KAAK;AAC5B,UAAM,IAAI;AAAA,MACR;AAAA,IACN;AACA;AACA,IAAIsvB,KAAK,SAAS,GAAG1uB,GAAG;AACtB,MAAI;AACJ,EAAAyuB,GAAG,CAAC;AACJ,MAAIxuB,IAAI,SAASsF,GAAG;AAClB,QAAIT,IAAI;AACR,QAAIS,aAAatF;AACf,aAAOsF;AACT,QAAI,EAAE,gBAAgBtF;AACpB,aAAO,IAAIA,EAAEsF,CAAC;AAChB,QAAI,CAAC,GAAG;AACN,UAAI;AACJ,UAAIC,IAAI,OAAO,KAAK,CAAC,GAAGxD,IAAI,EAAE,WAAW,CAAA;AACzC,QAAE,QAAQhC,GAAG,EAAE,QAAQwF,GAAG,EAAE,iBAAiB;AAC7C,eAASvD,IAAI,GAAGA,IAAIuD,EAAE,QAAQvD,KAAK;AACjC,YAAIC,IAAIsD,EAAEvD,CAAC;AACX,QAAAD,EAAEE,CAAC,IAAID,GAAG,EAAEC,CAAC,IAAI,OAAO,WAAW,YAAY,QAAQ,QAAQ,QAAQ;AAAA,UACrE,mBAAmBysB,GAAG,IAAI,IAAI,qBAAqBzsB,IAAI;AAAA,QACjE,IAAY0sB,GAAG,GAAG1sB,CAAC;AAAA,MACb;AAAA,IACF;AACA,WAAO,KAAK,YAAY,QAAQ,KAAK,UAAUwoB,GAAE,EAAG,cAAc,SAASvoB,GAAG;AAC5E,MAAAA,EAAE,QAAQ2C,EAAE,MAAM,MAAM,GAAGya,GAAGha,CAAC,EAAE,QAAQ,SAAS1C,GAAG4C,GAAG;AACtD,QAAAtD,EAAE,IAAI2C,EAAE,SAASW,CAAC,GAAG5C,MAAMiC,EAAE,eAAeW,CAAC,IAAI,SAAS5C,CAAC;AAAA,MAC7D,CAAC;AAAA,IACH,CAAC,GAAG;AAAA,EACN,GAAG,IAAI5C,EAAE,YAAY,OAAO,OAAO4uB,CAAC;AACpC,SAAO,EAAE,cAAc5uB,GAAGD,MAAMC,EAAE,cAAcD,IAAIC;AACtD;AACAyuB,GAAG,UAAU,WAAW,WAAW;AACjC,WAAS,IAAIC,GAAG,IAAI,IAAI,OAAO3uB,IAAI,KAAK,OAAO,GAAGC,IAAI,GAAG,IAAID,EAAE,QAAQC,MAAM,GAAGA;AAC9E,QAAID,EAAEC,CAAC,GAAG,MAAMA,IAAI,OAAO,MAAM,IAAI,OAAOgqB,GAAG,KAAK,IAAI,CAAC,CAAC;AAC5D,SAAO,IAAI;AACb;AACAyE,GAAG,UAAU,SAAS,SAAS,GAAG;AAChC,SAAO,SAAS,KAAK7M,GAAG,CAAC,KAAKiN,GAAG,IAAI,EAAE,OAAOA,GAAG,CAAC,CAAC;AACrD;AACAJ,GAAG,UAAU,WAAW,WAAW;AACjC,SAAOI,GAAG,IAAI,EAAE,SAAQ;AAC1B;AACAJ,GAAG,UAAU,MAAM,SAAS,GAAG;AAC7B,SAAO,KAAK,SAAS,eAAe,CAAC;AACvC;AACAA,GAAG,UAAU,MAAM,SAAS,GAAG1uB,GAAG;AAChC,MAAI,CAAC,KAAK,IAAI,CAAC;AACb,WAAOA;AACT,MAAI,IAAI,KAAK,SAAS,CAAC,GAAGC,IAAI,KAAK,QAAQ,IAAI,CAAC;AAChD,SAAOA,MAAM,SAAS,KAAK,eAAe,CAAC,IAAIA;AACjD;AACAyuB,GAAG,UAAU,MAAM,SAAS,GAAG1uB,GAAG;AAChC,MAAI,KAAK,IAAI,CAAC,GAAG;AACf,QAAI,IAAI,KAAK,QAAQ;AAAA,MACnB,KAAK,SAAS,CAAC;AAAA,MACfA,MAAM,KAAK,eAAe,CAAC,IAAI,SAASA;AAAA,IAC9C;AACI,QAAI,MAAM,KAAK,WAAW,CAAC,KAAK;AAC9B,aAAO+uB,GAAG,MAAM,CAAC;AAAA,EACrB;AACA,SAAO;AACT;AACAL,GAAG,UAAU,SAAS,SAAS,GAAG;AAChC,SAAO,KAAK,IAAI,CAAC;AACnB;AACAA,GAAG,UAAU,QAAQ,WAAW;AAC9B,MAAI,IAAI,KAAK,QAAQ,MAAK,EAAG,QAAQ,KAAK,MAAM,MAAM;AACtD,SAAO,KAAK,YAAY,OAAOK,GAAG,MAAM,CAAC;AAC3C;AACAL,GAAG,UAAU,aAAa,WAAW;AACnC,SAAO,KAAK,QAAQ,WAAU;AAChC;AACAA,GAAG,UAAU,QAAQ,WAAW;AAC9B,SAAOI,GAAG,IAAI;AAChB;AACAJ,GAAG,UAAU,OAAO,WAAW;AAC7B,SAAOhB,GAAG,IAAI;AAChB;AACAgB,GAAG,UAAU,UAAU,WAAW;AAChC,SAAO,KAAK,WAAW3O,EAAE;AAC3B;AACA2O,GAAG,UAAU,aAAa,SAAS,GAAG1uB,GAAG;AACvC,SAAO8uB,GAAG,IAAI,EAAE,WAAW,GAAG9uB,CAAC;AACjC;AACA0uB,GAAG,UAAU,YAAY,SAAS,GAAG1uB,GAAG;AACtC,SAAO8uB,GAAG,IAAI,EAAE,UAAU,GAAG9uB,CAAC;AAChC;AACA0uB,GAAG,UAAU,gBAAgB,SAAS,GAAG;AACvC,MAAI,MAAM,KAAK;AACb,WAAO;AACT,MAAI1uB,IAAI,KAAK,QAAQ,cAAc,CAAC;AACpC,SAAO,IAAI+uB,GAAG,MAAM/uB,GAAG,CAAC,KAAK,KAAK,YAAY,GAAG,KAAK,UAAUA,GAAG;AACrE;AACA0uB,GAAG,WAAW7M;AACd6M,GAAG,qBAAqBC;AACxB,IAAIE,IAAIH,GAAG;AACXG,EAAEjN,EAAE,IAAI;AACRiN,EAAEjO,EAAE,IAAIiO,EAAE;AACVA,EAAE,WAAWA,EAAE,WAAWnG;AAC1BmG,EAAE,QAAQvB;AACVuB,EAAE,QAAQd,GAAG;AACbc,EAAE,QAAQlI;AACVkI,EAAE,YAAYhI;AACdgI,EAAE,UAAUlH;AACZkH,EAAE,YAAYtH;AACdsH,EAAE,gBAAgBrH;AAClBqH,EAAE,cAAcpH;AAChBoH,EAAE,QAAQhH;AACVgH,EAAE,SAAS/G;AACX+G,EAAE,WAAW9G;AACb8G,EAAE,gBAAgB5G;AAClB4G,EAAE,YAAY9L;AACd8L,EAAE,cAAc/L;AAChB+L,EAAE3O,EAAE,IAAI2O,EAAE;AACVA,EAAE,SAASA,EAAE,WAAWd,GAAG;AAC3Bc,EAAE,UAAUA,EAAE,WAAW,WAAW;AAClC,SAAO,KAAK,SAAQ;AACtB;AACA,SAASE,GAAG3vB,GAAGW,GAAGC,GAAG;AACnB,MAAIY,IAAI,OAAO,OAAO,OAAO,eAAexB,CAAC,CAAC;AAC9C,SAAOwB,EAAE,UAAUb,GAAGa,EAAE,YAAYZ,GAAGY;AACzC;AACA,SAAS+tB,GAAGvvB,GAAG;AACb,SAAOA,EAAE,YAAY,eAAeA,EAAE,YAAY,QAAQ;AAC5D;AACA,SAAS0vB,GAAG1vB,GAAG;AACb,SAAOmjB,GAAGnjB,EAAE,MAAM,IAAI,SAASW,GAAG;AAChC,WAAO,CAACA,GAAGX,EAAE,IAAIW,CAAC,CAAC;AAAA,EACrB,CAAC,CAAC;AACJ;AACA,SAAS6uB,GAAGxvB,GAAGW,GAAG;AAChB,MAAI;AACF,WAAO,eAAeX,GAAGW,GAAG;AAAA,MAC1B,KAAK,WAAW;AACd,eAAO,KAAK,IAAIA,CAAC;AAAA,MACnB;AAAA,MACA,KAAK,SAASC,GAAG;AACf,QAAAooB,GAAG,KAAK,WAAW,oCAAoC,GAAG,KAAK,IAAIroB,GAAGC,CAAC;AAAA,MACzE;AAAA,IACN,CAAK;AAAA,EACH,QAAQ;AAAA,EACR;AACF;AA2iBK,MAsBFgvB,KAAK1qB,GAAG,wBAAwB,MAAM;AACvC,QAAMlF,IAAIsB,EAAE,CAAA,CAAE,GAAGX,IAAI+B,EAAG,MAAM1C,EAAE,MAAM,WAAW,CAAC,GAAGY,IAAI8B,EAAG,MAAM;AAChE,UAAME,IAAI,CAAA;AACV,eAAWC,KAAK7C,EAAE;AAChB,MAAA4C,EAAEC,EAAE,KAAK,MAAMD,EAAEC,EAAE,KAAK,IAAI,CAAA,IAAKD,EAAEC,EAAE,KAAK,EAAE,KAAKA,EAAE,OAAO;AAC5D,WAAOD;AAAA,EACT,CAAC;AACD,WAASpB,EAAEoB,GAAG;AACZ,WAAO5C,EAAE,MAAM,OAAO,CAAC6C,MAAMA,EAAE,UAAUD,CAAC,EAAE,IAAI,CAACC,MAAMA,EAAE,OAAO;AAAA,EAClE;AACA,WAAShC,EAAE+B,GAAGC,GAAGC,GAAG;AAClB,IAAA9C,EAAE,MAAM,KAAK,EAAE,SAAS4C,GAAG,OAAOC,GAAG,SAASC,GAAG;AAAA,EACnD;AACA,WAASrB,EAAEmB,GAAG;AACZ,IAAA5C,EAAE,QAAQA,EAAE,MAAM,OAAO,CAAC6C,MAAMA,EAAE,YAAYD,CAAC;AAAA,EACjD;AACA,WAAS,IAAI;AACX,IAAA5C,EAAE,QAAQ,CAAA;AAAA,EACZ;AACA,iBAAe,EAAE4C,GAAGC,GAAGC,GAAGC,GAAG;AAC3B,IAAAtB,EAAEmB,CAAC;AACH,UAAMa,IAAI,OAAO,OAAO,EAAE,GAAGX,EAAC,CAAE,GAAG,IAAI,CAACa,GAAGC,MAAM/C,EAAE+B,GAAGe,GAAGC,CAAC;AAC1D,QAAI;AACF,YAAMlD,GAAGmC,EAAE,eAAe,EAAE,QAAQY,GAAG,OAAOV,GAAG,UAAU,GAAG;AAAA,IAChE,SAASY,GAAG;AACV,aAAO,UAAU,OAAO,QAAQ;AAAA,QAC9B,uBAAuBf,CAAC;AAAA,QACxBe;AAAA,MACR;AAAA,IACI;AAAA,EACF;AACA,iBAAe,EAAEf,GAAGC,GAAGC,GAAG;AACxB,UAAMC,IAAI,CAAA;AACV,eAAW,CAACU,GAAG,CAAC,KAAK,OAAO,QAAQb,CAAC;AACnC,QAAE,GAAG,SAASC,CAAC,KAAKE,EAAE,KAAK,EAAEU,GAAG,GAAGX,GAAGA,EAAED,CAAC,CAAC,CAAC;AAC7C,UAAM,QAAQ,IAAIE,CAAC;AAAA,EACrB;AACA,iBAAe,EAAEH,GAAGC,GAAG;AACrB,UAAM,QAAQ,IAAI,OAAO,QAAQD,CAAC,EAAE,IAAI,CAAC,CAACE,GAAGC,CAAC,MAAM,EAAED,GAAGC,GAAGF,GAAG,MAAM,CAAC,CAAC;AAAA,EACzE;AACA,SAAO;AAAA,IACL,QAAQ7C;AAAA,IACR,SAASW;AAAA,IACT,eAAeC;AAAA,IACf,WAAWY;AAAA,IACX,UAAUX;AAAA,IACV,cAAcY;AAAA,IACd,UAAU;AAAA,IACV,eAAe;AAAA,IACf,gBAAgB;AAAA,EACpB;AACA,CAAC;AC74RD,OAAO,oBAAoB,OAAO,sBAAsB;AAmYxD,SAASkH,GAAG3I,GAAGW,GAAG;AAChB,SAAO2mB,GAAE,KAAMyH,GAAG/uB,GAAGW,CAAC,GAAG,MAAM;AACjC;AAEA,OAAO,oBAAoB,OAAO,sBAAsB;AACnD,MAAsGgf,KAAK,MAAM;AACtH;AACA,SAAS+I,MAAM1oB,GAAG;AAChB,MAAIA,EAAE,WAAW,EAAG,QAAO6F,GAAG,GAAG7F,CAAC;AAClC,QAAMW,IAAIX,EAAE,CAAC;AACb,SAAO,OAAOW,KAAK,aAAaqhB,GAAG/d,GAAG,OAAO;AAAA,IAC3C,KAAKtD;AAAA,IACL,KAAKgf;AAAA,EACT,EAAI,CAAC,IAAIkQ,EAAElvB,CAAC;AACZ;AA2WA,SAAS8B,GAAGzC,GAAG;AACb,SAAO,OAAO,SAAS,OAAOA,aAAa,SAASA,EAAE,SAAS,kBAAkB,OAAO,WAAW,OAAOA,aAAa,WAAWA,EAAE,kBAAkBA;AACxJ;AACA,MAAMyiB,KAAqB,oBAAI,QAAO;AACtC,SAASsG,GAAG/oB,GAAGW,IAAI,IAAI;AACrB,QAAMkC,IAAIgqB,GAAGlsB,CAAC;AACd,MAAIwF,IAAI;AACRzD,EAAAA,GAAGgmB,GAAG1oB,CAAC,GAAG,CAAC,MAAM;AACf,UAAM+C,IAAIN,GAAG6V,GAAE,CAAC,CAAC;AACjB,QAAIvV,GAAG;AACL,YAAMnC,IAAImC;AACV,UAAI0f,GAAG,IAAI7hB,CAAC,KAAK6hB,GAAG,IAAI7hB,GAAGA,EAAE,MAAM,QAAQ,GAAGA,EAAE,MAAM,aAAa,aAAauF,IAAIvF,EAAE,MAAM,WAAWA,EAAE,MAAM,aAAa,SAAU,QAAOiC,EAAE,QAAQ;AACvJ,UAAIA,EAAE,MAAO,QAAOjC,EAAE,MAAM,WAAW;AAAA,IACzC;AAAA,EACF,GAAG,EAAE,WAAW,IAAI;AACpB,QAAMY,IAAI,MAAM;AACd,UAAM,IAAIiB,GAAG6V,GAAEtY,CAAC,CAAC;AACjB,KAAC,KAAK6C,EAAE,UAAU,EAAE,MAAM,WAAW,UAAUA,EAAE,QAAQ;AAAA,EAC3D,GAAGpB,IAAI,MAAM;AACX,UAAM,IAAIgB,GAAG6V,GAAEtY,CAAC,CAAC;AACjB,KAAC,KAAK,CAAC6C,EAAE,UAAU,EAAE,MAAM,WAAWsD,GAAGsc,GAAG,OAAO,CAAC,GAAG5f,EAAE,QAAQ;AAAA,EACnE;AACA,SAAO8F,GAAGlH,CAAC,GAAGquB,EAAE;AAAA,IACd,MAAM;AACJ,aAAOjtB,EAAE;AAAA,IACX;AAAA,IACA,IAAI,GAAG;AACL,UAAIrB,EAAC,IAAKC,EAAC;AAAA,IACb;AAAA,EACJ,CAAG;AACH;AACA,MAAMipB,KAAK;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,OAAO;AAAA,EACP,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX,aAAa;AACf,GAIM+C,KAAK;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AACV;AACA;AAAA,EACE,GAAmB,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK/C,EAAE,GAAG,GAAG,OAAO,KAAK+C,EAAE,CAAC,CAAC;AACrE,EAAE,SAAQ;AA2kCV,SAASlS,KAAK;AACZ,MAAIvb,IAAI;AACR,QAAMW,IAAIksB,GAAG,EAAE;AACf,SAAO,CAAChqB,GAAGsD,MAAM;AACf,QAAIxF,EAAE,QAAQwF,EAAE,OAAOnG,EAAG;AAC1B,IAAAA,IAAI;AACJ,UAAMwB,IAAIunB,GAAGlmB,GAAGsD,EAAE,KAAK;AACvBzD,IAAAA,GAAG/B,GAAG,CAACc,MAAMD,EAAE,QAAQC,CAAC;AAAA,EAC1B;AACF;AACA8Z,GAAE;AAqnBG,MAiDDuG,KAAK,CAAC9hB,GAAGW,MAAM;AACjB,QAAMkC,IAAI7C,EAAE,aAAaA;AACzB,aAAW,CAACmG,GAAG3E,CAAC,KAAKb;AACnB,IAAAkC,EAAEsD,CAAC,IAAI3E;AACT,SAAOqB;AACT;AACA,SAASuO,GAAGpR,GAAGW,GAAG;AAChB,SAAO2mB,GAAE,KAAMyH,GAAG/uB,GAAGW,CAAC,GAAG,MAAM;AACjC;AAoBA,OAAO,oBAAoB,OAAO,sBAAsB;AACnD,MAA+E4E,KAAK,MAAM;AAC/F;AACA,SAAS+U,MAAMta,GAAG;AAChB,MAAIA,EAAE,WAAW,EAAG,QAAO6F,GAAG,GAAG7F,CAAC;AAClC,QAAMW,IAAIX,EAAE,CAAC;AACb,SAAO,OAAOW,KAAK,aAAaqhB,GAAG/d,GAAG,OAAO;AAAA,IAC3C,KAAKtD;AAAA,IACL,KAAK4E;AAAA,EACT,EAAI,CAAC,IAAIsqB,EAAElvB,CAAC;AACZ;AAqJA,SAAS2D,GAAGtE,GAAG;AACb,SAAO,OAAO,SAAS,OAAOA,aAAa,SAASA,EAAE,SAAS,kBAAkB,OAAO,WAAW,OAAOA,aAAa,WAAWA,EAAE,kBAAkBA;AACxJ;AACA,MAAMiH,KAAqB,oBAAI,QAAO;AACtC,SAASmW,GAAGpd,GAAGW,IAAI,IAAI;AACrB,QAAMkC,IAAIgqB,GAAGlsB,CAAC;AACd,MAAIwF,IAAI;AACRzD,EAAAA,GAAG4X,GAAGta,CAAC,GAAG,CAAC,MAAM;AACf,UAAM+C,IAAIuB,GAAGgU,GAAE,CAAC,CAAC;AACjB,QAAIvV,GAAG;AACL,YAAMnC,IAAImC;AACV,UAAIkE,GAAG,IAAIrG,CAAC,KAAKqG,GAAG,IAAIrG,GAAGA,EAAE,MAAM,QAAQ,GAAGA,EAAE,MAAM,aAAa,aAAauF,IAAIvF,EAAE,MAAM,WAAWA,EAAE,MAAM,aAAa,SAAU,QAAOiC,EAAE,QAAQ;AACvJ,UAAIA,EAAE,MAAO,QAAOjC,EAAE,MAAM,WAAW;AAAA,IACzC;AAAA,EACF,GAAG,EAAE,WAAW,IAAI;AACpB,QAAMY,IAAI,MAAM;AACd,UAAM,IAAI8C,GAAGgU,GAAEtY,CAAC,CAAC;AACjB,KAAC,KAAK6C,EAAE,UAAU,EAAE,MAAM,WAAW,UAAUA,EAAE,QAAQ;AAAA,EAC3D,GAAGpB,IAAI,MAAM;AACX,UAAM,IAAI6C,GAAGgU,GAAEtY,CAAC,CAAC;AACjB,KAAC,KAAK,CAAC6C,EAAE,UAAU,EAAE,MAAM,WAAWsD,GAAGc,GAAG,OAAO,CAAC,GAAGpE,EAAE,QAAQ;AAAA,EACnE;AACA,SAAOuO,GAAG3P,CAAC,GAAGquB,EAAE;AAAA,IACd,MAAM;AACJ,aAAOjtB,EAAE;AAAA,IACX;AAAA,IACA,IAAI,GAAG;AACL,UAAIrB,EAAC,IAAKC,EAAC;AAAA,IACb;AAAA,EACJ,CAAG;AACH;AAkfA,SAASsE,KAAK;AACZ,MAAI/F,IAAI;AACR,QAAMW,IAAIksB,GAAG,EAAE;AACf,SAAO,CAAChqB,GAAGsD,MAAM;AACf,QAAIxF,EAAE,QAAQwF,EAAE,OAAOnG,EAAG;AAC1B,IAAAA,IAAI;AACJ,UAAMwB,IAAI4b,GAAGva,GAAGsD,EAAE,KAAK;AACvBzD,IAAAA,GAAG/B,GAAG,CAACc,MAAMD,EAAE,QAAQC,CAAC;AAAA,EAC1B;AACF;AACAsE,GAAE;AACG,MA6QgE8E,KAAK,EAAE,OAAO,QAAO,GAAIjC,KAAK;AAAA,EACjG,KAAK;AAAA,EACL,OAAO;AACT,GAAGjE,KAAK;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AACT,GAAGgH,KAAqBiiB,gBAAAA,GAAG;AAAA,EACzB,QAAQ;AAAA,EACR,OAAuBtoB,gBAAAA,GAAG;AAAA,IACxB,QAAQ,CAAA;AAAA,IACR,MAAM,EAAE,SAAS,OAAM;AAAA,IACvB,QAAQ,CAAA;AAAA,EACZ,GAAK;AAAA,IACD,MAAM,EAAE,UAAU,GAAE;AAAA,IACpB,eAAe,CAAA;AAAA,EACnB,CAAG;AAAA,EACD,OAAuBA,gBAAAA,GAAG,CAAC,iBAAiB,aAAa,GAAG,CAAC,aAAa,CAAC;AAAA,EAC3E,MAAMtF,GAAG,EAAE,MAAMW,EAAC,GAAI;AACpB,UAAMkC,IAAIlC,GAAGwF,IAAIX,GAAGxF,GAAG,MAAM,GAAGwB,IAAI,CAACsC,OAAOA,EAAE,SAAS,UAAUA,EAAE,SAAS,eAAe,YAAYA,KAAK,MAAM,QAAQA,EAAE,MAAM,KAAKA,EAAE,OAAO,SAAS,GAAGrC,IAAIouB,EAAE,CAAA,CAAE;AACpKntB,IAAAA;AAAAA,MACE,MAAMyD,EAAE;AAAA,MACR,CAACrC,MAAM;AACL,SAAC9D,EAAE,UAAU,CAAC8D,KAAK9D,EAAE,OAAO,QAAQ,CAAC2D,MAAM;AACzC,UAAAnC,EAAEmC,CAAC,MAAMlC,EAAE,MAAMkC,EAAE,SAAS,IAAIG,EAAEH,EAAE,SAAS,KAAK,CAAA;AAAA,QACpD,CAAC;AAAA,MACH;AAAA,MACA,EAAE,WAAW,GAAE;AAAA,IACrB;AACI,UAAM,IAAI,CAACG,GAAGH,MAAM;AAClB,MAAAlC,EAAE,MAAMqC,CAAC,IAAIH,GAAGwC,EAAE,UAAUA,EAAE,MAAMrC,CAAC,IAAIH,GAAGd,EAAE,eAAe,EAAE,GAAGsD,EAAE,MAAK,CAAE;AAAA,IAC7E,GAAGpD,IAAI,CAACe,MAAM;AACZ,YAAMH,IAAI,CAAA;AACV,iBAAW,CAAC+D,GAAGhC,CAAC,KAAK,OAAO,QAAQ5B,CAAC;AACnC,SAAC,aAAa,cAAc,YAAY,YAAY,UAAU,QAAQ,OAAO,EAAE,SAAS4D,CAAC,MAAM/D,EAAE+D,CAAC,IAAIhC;AACxG,aAAO5B,EAAE,SAAS,YAAYH,EAAE,OAAOwC,EAAE,MAAMrC,EAAE,SAAS,KAAK,CAAA,IAAKH;AAAA,IACtE,GAAG/C,IAAI,CAACkD,MAAM;AACZ,UAAIA,EAAE,SAAS,QAAS,QAAO,CAAA;AAC/B,YAAMH,IAAIG,EAAE;AACZ,aAAOH,IAAI,EAAE,WAAWA,GAAG,OAAOA,EAAC,IAAK,CAAA;AAAA,IAC1C,GAAG9C,IAAIivB,EAAE,MAAM9vB,EAAE,QAAQ,MAAM;AAC/B,aAAS8C,EAAEgB,GAAG;AAEZ,aADUA,EAAE,QACAjD,EAAE;AAAA,IAChB;AACA,UAAM,IAAIgvB,EAAE,EAAE;AACdvE,IAAAA,GAAG,MAAM;AACP,MAAAtrB,EAAE,UAAU,EAAE,MAAM,WAAWA,EAAE,OAAO,WAAW,EAAE,QAAQA,EAAE,OAAO,IAAI,CAAC8D,GAAGH,MAAMmsB,EAAE;AAAA,QACpF,MAAM;AACJ,iBAAO3pB,EAAE,QAAQnG,EAAE,OAAO2D,CAAC,EAAE,SAAS;AAAA,QACxC;AAAA,QACA,KAAK,CAAC+D,MAAM;AACV,gBAAMhC,IAAI1F,EAAE,OAAO2D,CAAC,EAAE;AACtB,UAAA+B,KAAKS,EAAE,UAAUA,EAAE,MAAMT,CAAC,IAAIgC,GAAG7E,EAAE,eAAe,EAAE,GAAGsD,EAAE,OAAO,IAAItD,EAAE,iBAAiB7C,EAAE,MAAM;AAAA,QACjG;AAAA,MACR,CAAO,CAAC;AAAA,IACJ,CAAC;AACD,UAAMyvB,IAAIK,EAAE,MAAM,EAAE,KAAK;AACzB,WAAO,CAAChsB,GAAGH,OAAO0C,EAAC,GAAIrC,EAAE,QAAQ6G,IAAI;AAAA,OAClCxE,EAAE,EAAE,GAAGrC,EAAEqB,IAAG,MAAMqb,GAAG1gB,EAAE,QAAQ,CAAC0H,GAAGhC,OAAOW,KAAKrC,EAAEqB,IAAG,EAAE,KAAKK,KAAK;AAAA,QAC/DlE,EAAEkG,CAAC,KAAKrB,EAAC,GAAIrC,EAAE,OAAO4E,IAAI;AAAA,UACxBlB,EAAE,SAASA,EAAE,SAAS,cAAcrB,EAAC,GAAIrC,EAAE,MAAMW,IAAIqc,GAAEtZ,EAAE,KAAK,GAAG,CAAC,KAAK4G,GAAE,IAAI,EAAE;AAAA,WAC9EjI,EAAC,GAAIqb,GAAGkB,GAAGlb,EAAE,aAAa,OAAO,GAAG;AAAA,YACnC,MAAMjG,EAAE,MAAMiG,EAAE,SAAS;AAAA,YACzB,MAAM5E,EAAE4E,CAAC;AAAA,YACT,QAAQA,EAAE;AAAA,YACV,OAAOA,EAAE;AAAA,YACT,aAAaA,EAAE,SAAS,aAAaA,EAAE,cAAc;AAAA,YACrD,QAAQ1H,EAAE;AAAA,YACV,iBAAiB,CAACoG,MAAM,EAAEsB,EAAE,WAAWtB,CAAC;AAAA,UACpD,GAAa,MAAM,IAAI,CAAC,QAAQ,QAAQ,UAAU,SAAS,eAAe,UAAU,eAAe,CAAC;AAAA,QACpG,CAAS,KAAKsB,EAAE,SAAS4G,GAAE,IAAI,EAAE,KAAKjI,EAAC,GAAIqb,GAAGkB,GAAGlb,EAAE,SAAS,GAAGY,GAAG;AAAA,UACxD,KAAK;AAAA,UACL,YAAYmnB,EAAE,MAAM/pB,CAAC,EAAE;AAAA,UACvB,uBAAuB,CAACU,MAAMqpB,EAAE,MAAM/pB,CAAC,EAAE,QAAQU;AAAA,UACjD,OAAOxF,EAAE8G,CAAC;AAAA,UACV,QAAQA;AAAA,UACR,MAAMvB,EAAE,MAAMuB,EAAE,SAAS;AAAA,UACzB,MAAM5E,EAAE4E,CAAC;AAAA,UACT,QAAQ1H,EAAE,SAAS0H,EAAE,SAAS;AAAA,QACxC,GAAW,EAAE,SAAS,GAAE,GAAI3E,EAAE2E,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,uBAAuB,SAAS,UAAU,QAAQ,QAAQ,QAAQ,CAAC;AAAA,MAC/H,GAAS,EAAE,EAAE,GAAG,GAAG;AAAA,IACnB,CAAK;AAAA,EACH;AACF,CAAC,GAAGunB,KAAqB,gBAAAnN,GAAGnW,IAAI,CAAC,CAAC,aAAa,iBAAiB,CAAC,CAAC;;;;;;AC/iHlE,UAAMokB,IAAsB9yB,EAAI,EAAI,GAC9B+yB,IAAgB/yB,EAAI,EAAK,GACzBgzB,IAAahzB,EAAI,EAAE,GACnBsC,IAAWC,GAAiC,aAAa,GAEzD0wB,IAAoBxwB,EAAS,MAC3BqwB,EAAoB,QAAQ,cAAc,SACjD,GAEKI,IAAoB,MAAM;AAC/B,MAAAJ,EAAoB,QAAQ,CAACA,EAAoB;AAAA,IAClD,GAEMK,IAAe,YAAY;AAChC,MAAAJ,EAAc,QAAQ,CAACA,EAAc,OACrC,MAAMnwB,GAAS,MAAM;AACpB,QAAAN,EAAS,OAAO,MAAA;AAAA,MACjB,CAAC;AAAA,IACF,GAEM8wB,IAAoB,CAACC,MAA8B;AACxD,MAAAA,EAAM,eAAA,GACNA,EAAM,gBAAA;AAAA,IACP,GAEMC,IAAe,OAAOD,MAAsC;AACjE,MAAAA,EAAM,eAAA,GACNA,EAAM,gBAAA,GACN,MAAMF,EAAA;AAAA,IACP,GAEMI,IAAe,MAA6C;AAAA,IAElE;;;kBAhGC3yB,EAuDS,UAAA,MAAA;AAAA,QAtDRE,EAqDK,MArDLC,IAqDK;AAAA,UApDJD,EAEK,MAAA;AAAA,YAFD,OAAM;AAAA,YAAmB,SAAOoyB;AAAA,YAAoB,cAAeA,GAAiB,CAAA,OAAA,CAAA;AAAA,UAAA;YACvFpyB,EAA2D,KAA3DO,IAA2D;AAAA,cAA3CP,EAAuC,OAAA;AAAA,gBAAjC,UAAOmyB,EAAA,KAAiB;AAAA,cAAA,GAAE,KAAC,CAAA;AAAA,YAAA;;UAElDnyB,EAWK,MAAA;AAAA,YAVJ,OAAM;AAAA,YACL,qBAAkBgyB,EAAA,QAAmB,UAAA,QAAA;AAAA,YACrC,SAAOS;AAAA,YACP,cAAeA,GAAY,CAAA,OAAA,CAAA;AAAA,UAAA;YAC5BnwB,GAKcowB,GAAA;AAAA,cALD,IAAG;AAAA,cAAI,UAAS;AAAA,YAAA;0BAC5B,MAGM,CAAA,GAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAHN3yB,EAGM,OAAA;AAAA,kBAHD,OAAM;AAAA,kBAAO,cAAW;AAAA,kBAAO,SAAQ;AAAA,kBAAY,MAAK;AAAA,kBAAO,QAAO;AAAA,kBAAe,gBAAa;AAAA,gBAAA;kBACtGA,EAA0B,QAAA,EAApB,GAAE,iBAAe;AAAA,kBACvBA,EAAyB,QAAA,EAAnB,GAAE,gBAAc;AAAA,gBAAA;;;;;UAIzBA,EA8BK,MAAA;AAAA,YA7BH,2CAAwCiyB,EAAA,MAAA,CAAa,CAAA;AAAA,YACrD,qBAAkBD,EAAA,QAAmB,UAAA,QAAA;AAAA,UAAA;YACtChyB,EA0BI,KA1BJU,IA0BI;AAAA,uBAzBHZ,EAaM,OAAA;AAAA,gBAXL,OAAM;AAAA,gBACN,MAAK;AAAA,gBACL,cAAW;AAAA,gBACX,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,QAAO;AAAA,gBACP,gBAAa;AAAA,gBACZ,SAAOuyB;AAAA,gBACP,cAAeA,GAAY,CAAA,OAAA,CAAA;AAAA,cAAA;gBAC5BryB,EAAgC,UAAA;AAAA,kBAAxB,IAAG;AAAA,kBAAK,IAAG;AAAA,kBAAK,GAAE;AAAA,gBAAA;gBAC1BA,EAA8B,QAAA,EAAxB,GAAE,oBAAA,GAAmB,MAAA,EAAA;AAAA,cAAA;sBAXlBiyB,EAAA,KAAa;AAAA,cAAA;iBAavBjyB,EAUkC,SAAA;AAAA,gBARjC,KAAI;AAAA,8DACKkyB,EAAU,QAAA1xB;AAAA,gBACnB,MAAK;AAAA,gBACL,aAAY;AAAA,gBACX,4BAAD,MAAA;AAAA,gBAAA,GAAW,CAAA,MAAA,CAAA;AAAA,gBACV,SAAKmyB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAnyB,MAAE8xB,EAAkB9xB,CAAM;AAAA,gBAC/B,QAAImyB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAnyB,MAAEgyB,EAAahyB,CAAM;AAAA,gBACzB,WAAO;AAAA,kBAAQmyB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,GAAA,CAAApyB,MAAAgyB,EAAahyB,CAAM,GAAA,CAAA,OAAA,CAAA;AAAA,qBAClB6xB,GAAY,CAAA,QAAA,CAAA;AAAA,gBAAA;AAAA;qBATrBJ,EAAA,KAAa;AAAA,qBAEZC,EAAA,KAAU;AAAA,cAAA;;;kBAUtBpyB,EAKKK,IAAA,MAAAC,GAJiBC,EAAA,aAAW,CAAzBwyB,YADR/yB,EAKK,MAAA;AAAA,YAHH,KAAK+yB,EAAW;AAAA,YAChB,qBAAkBb,EAAA,QAAmB,UAAA,QAAA;AAAA,UAAA;YACtC1vB,GAAoFowB,GAAA;AAAA,cAAvE,UAAS;AAAA,cAAK,IAAIG,EAAW;AAAA,YAAA;0BAAK,MAAsB;AAAA,gBAAnBC,GAAAryB,GAAAoyB,EAAW,KAAK,GAAA,CAAA;AAAA,cAAA;;;;;;;;;;;;;;;;;;;;;;;;AC6BtE,UAAM9zB,IAAOC,GA2BP,EAAE,WAAA+zB,EAAA,IAAcC,GAAA;AAOtB,QAAIC,IAAgE;AACpE,QAAI;AACH,MAAAA,IAAkBC,GAAA;AAAA,IACnB,QAAQ;AACP,MAAAD,IAAkB;AAAA,IACnB;AAIA,UAAME,IAAcxxB;AAAA,MAAmC,MACtDyxB,EAAY,UAAU,WAAYH,GAAiB,iBAAiB,CAAA,IAAM,CAAA;AAAA,IAAC,GAItEI,IAAUn0B,EAAI,EAAK,GACnBo0B,IAAqBp0B,EAAI,EAAK,GAK9Bq0B,IAAkB5xB,EAA8B;AAAA,MACrD,MAAM;AAEL,YAAIyxB,EAAY,UAAU;AACzB,iBAAO;AAAA,YACN,gBACC/yB,qBAAmB,IAAI,CAAAmzB,OAAY;AAAA,cAClC,IAAIA;AAAA,cACJ,SAAAA;AAAA,cACA,cAAcC,GAAkBD,CAAO;AAAA,cACvC,cAAcE,GAAeF,CAAO;AAAA,cACpC,SAAS;AAAA,YAAA,EACR,KAAK,CAAA;AAAA,UAAC;AAKX,YAAIJ,EAAY,UAAU,WAAW;AACpC,gBAAMO,IAAUtzB,EAAA,iBAAiB;AACjC,iBAAO;AAAA,YACN,eAAeuzB,IAAa;AAAA,cAAI,CAAAC,MAC/B,OAAO,OAAO,CAAA,GAAIA,GAAQ;AAAA,gBACzB,IAAIA,EAAOF,CAAO,KAAKE,EAAO,MAAM;AAAA,gBACpC,SAAS;AAAA,cAAA,CACT;AAAA,YAAA;AAAA,UACF;AAAA,QAEF;AAGA,YAAI,CAACd,EAAU,SAAS,CAACe,EAAe,SAAS,CAACC,EAAgB;AACjE,iBAAO,CAAA;AAGR,YAAI;AAKH,gBAAMC,IAA4B,EAAE,GAJrBjB,EAAU,MAAM,cAAce,EAAe,OAAOC,EAAgB,KAAK,GAIzC,IAAI,EAAE,EAAA,GAK/CP,IAAUT,EAAU,MAAM,SAAS,SAASe,EAAe,KAAK;AACtE,cAAIN;AACH,uBAAWS,KAAST,EAAQ;AAC3B,kBAAIS,EAAM,SAAS,YAAY;AAC9B,sBAAMC,IAA8B,CAAA;AACpC,2BAAWC,KAASF,EAAM;AACzB,kBAAIE,EAAM,cAAWD,EAAOC,EAAM,SAAS,IAAIH,EAAKG,EAAM,SAAS;AAEpE,gBAAAH,EAAKC,EAAM,SAAS,IAAIC;AAAA,cACzB;AAAA;AAGF,iBAAOF;AAAA,QACR,QAAQ;AACP,iBAAO,CAAA;AAAA,QACR;AAAA,MACD;AAAA,MACA,IAAII,GAA8B;AAEjC,YAAIhB,EAAY,UAAU,YACtB,GAACL,EAAU,SAAS,CAACe,EAAe,SAAS,CAACC,EAAgB;AAIlE,cAAI;AAGH,kBAAMP,IAAUT,EAAU,MAAM,SAAS,SAASe,EAAe,KAAK,GAChEO,wBAAoB,IAAA;AAC1B,gBAAIb;AACH,yBAAWS,MAAST,EAAQ;AAC3B,gBAAIS,GAAM,SAAS,cAClBI,EAAc,IAAIJ,GAAM,SAAS;AASpC,kBAAMK,IAAgC,CAAA,GAChCC,IAAwC,CAAA;AAC9C,uBAAW,CAACC,IAAKC,EAAK,KAAK,OAAO,QAAQL,CAAO;AAChD,cAAIC,EAAc,IAAIG,EAAG,KAAKC,MAAS,OAAOA,MAAU,YAAY,CAAC,MAAM,QAAQA,EAAK,IACvFF,EAAe,KAAKE,EAAK,IAEzBH,EAASE,EAAG,IAAIC;AAGlB,uBAAWC,MAAeH;AACzB,qBAAO,OAAOD,GAAUI,EAAW;AAMpC,kBAAMC,IAAW5B,EAAU,MAAM,SAAA,GAC3B6B,KAA0B,CAAA;AAChC,uBAAW,CAACC,IAAWJ,EAAK,KAAK,OAAO,QAAQH,CAAQ,GAAG;AAC1D,kBAAIG,OAAU,OAAW;AACzB,oBAAMK,KAAY,GAAGhB,EAAe,KAAK,IAAIC,EAAgB,KAAK,IAAIc,EAAS;AAE/E,eADqBF,EAAS,IAAIG,EAAS,IAAIH,EAAS,IAAIG,EAAS,IAAI,YACpDL,OACpBE,EAAS,IAAIG,IAAWL,EAAK,GAC7BG,GAAc,KAAKC,EAAS;AAAA,YAE9B;AAIA,YAAID,GAAc,SAAS,KAC1BG,EAAqBH,EAAa;AAAA,UAEpC,SAASI,GAAO;AACf,oBAAQ,KAAK,sBAAsBA,CAAK;AAAA,UACzC;AAAA,MACD;AAAA,IAAA,CACA;AAKD,aAASD,EAAqBH,GAAyB;AACtD,UAAI,CAAC3B,KAAmB,CAACF,EAAU,SAAS,CAACe,EAAe,SAAS,CAACC,EAAgB,MAAO;AAG7F,YAAMkB,IADUlC,EAAU,MAAM,SAAS,WAAWe,EAAe,KAAK,GAC9C,YAAA;AAC1B,UAAI,CAACmB,KAAY,OAAO,KAAKA,CAAQ,EAAE,WAAW,EAAG;AAGrD,YAAMpB,IAAS,EAAE,GADJd,EAAU,MAAM,cAAce,EAAe,OAAOC,EAAgB,KAAK,GAC3D,IAAI,EAAE,EAAA;AAEjC,iBAAWE,KAASW;AACnB,QAAK3B,EAAgB,cAAcgC,GAAUhB,GAAOJ,CAAM;AAAA,IAE5D;AAIA,UAAMqB,IAAQvzB,EAAS,MAAOtB,EAAA,eAAe,OAAO80B,GAAMpC,EAAU,OAAO,SAAS,QAAQ,YAAY,CAAE,GACpGqC,IAASzzB,EAAS,MAAOtB,EAAA,eAAe,OAAO0yB,EAAU,OAAO,SAAS,MAAO,GAChFe,IAAiBnyB,EAAS,MAAM;AACrC,UAAItB,eAAc,QAAOA,EAAA,aAAa,kBAAA;AACtC,UAAI,CAAC60B,EAAM,MAAO,QAAO;AAGzB,UAAIA,EAAM,MAAM,MAAM;AACrB,eAAOA,EAAM,MAAM,KAAK;AAIzB,UAAIA,EAAM,MAAM,OAAO;AACtB,eAAOA,EAAM,MAAM,OAAO,QAAQ,SAAA;AAInC,YAAMG,IAAYH,EAAM,MAAM,OAAO;AACrC,aAAIG,KAAaA,EAAU,SAAS,IAC5BA,EAAU,CAAC,IAGZ;AAAA,IACR,CAAC,GAGKC,IAAe3zB,EAAS,MAAM;AACnC,UAAItB,eAAc,QAAOA,EAAA,aAAa,kBAAA;AACtC,UAAI,CAAC60B,EAAM,MAAO,QAAO;AAGzB,UAAIA,EAAM,MAAM,MAAM;AACrB,eAAOA,EAAM,MAAM,KAAK;AAIzB,UAAIA,EAAM,MAAM,OAAO;AACtB,eAAOA,EAAM,MAAM,OAAO,QAAQ,SAAA;AAInC,YAAMG,IAAYH,EAAM,MAAM,OAAO;AACrC,aAAIG,KAAaA,EAAU,SAAS,IAC5BA,EAAU,CAAC,IAGZ;AAAA,IACR,CAAC,GAEKtB,IAAkBpyB,EAAS,MAAM;AACtC,UAAItB,eAAc,QAAOA,eAAa,mBAAA;AACtC,UAAI,CAAC60B,EAAM,MAAO,QAAO;AAGzB,UAAIA,EAAM,MAAM,OAAO;AACtB,eAAOA,EAAM,MAAM,OAAO,SAAS,SAAA;AAIpC,YAAMG,IAAYH,EAAM,MAAM,OAAO;AACrC,aAAIG,KAAaA,EAAU,SAAS,IAC5BA,EAAU,CAAC,IAGZ;AAAA,IACR,CAAC,GACKE,IAAc5zB,EAAS,MAAMoyB,EAAgB,OAAO,WAAW,MAAM,CAAC,GAGtEX,IAAczxB,EAAS,MAAM;AAClC,UAAItB,EAAA,aAAc,QAAOA,EAAA,aAAa,eAAA;AAMtC,UALI,CAAC60B,EAAM,SAKPA,EAAM,MAAM,SAAS,UAAUA,EAAM,MAAM,SAAS;AACvD,eAAO;AAIR,UAAIA,EAAM,MAAM,QAAQA,EAAM,MAAM,SAAS,aAAa;AACzD,cAAMM,IAAYN,EAAM,MAAM;AAC9B,YAAIM,EAAU,SAAS,MAAM,KAAKN,EAAM,MAAM,OAAO;AACpD,iBAAO;AACR,YAAWM,EAAU,SAAS,MAAM,KAAKN,EAAM,MAAM,OAAO;AAC3D,iBAAO;AAAA,MAET;AAGA,YAAMG,IAAYH,EAAM,MAAM,OAAO;AACrC,aAAIG,KAAaA,EAAU,SAAS,IACtBA,EAAU,WAAW,IAAI,YAAY,WAI5C;AAAA,IACR,CAAC,GAMKI,IAA0B,MAAM;AACrC,UAAI,CAAC1C,EAAU,SAAS,CAACe,EAAe,SAAS,CAACC,EAAgB;AACjE,eAAO,CAAA;AAGR,UAAI;AACH,cAAMP,IAAUT,EAAU,MAAM,SAAS,WAAWe,EAAe,KAAK;AACxE,YAAI,CAACN,GAAS,SAAU,QAAO,CAAA;AAG/B,cAAMkC,IAAe3C,EAAU,MAAM,eAAee,EAAe,OAAOC,EAAgB,KAAK,GAGzF4B,IAAcnC,EAAQ,wBAAwBkC,CAAY,GAE1DE,IAAarC,EAAgB,SAAS,CAAA;AAI5C,eAAOoC,EAAY,IAAI,CAAC,EAAE,MAAAE,SAAY;AAAA;AAAA;AAAA,UAGrC,OAAOrC,EAAQ,cAAcqC,CAAI,GAAG,SAASA;AAAA,UAC7C,QAAQ,MAAM;AACb,YAAA92B,EAAK,UAAU;AAAA,cACd,MAAA82B;AAAA,cACA,SAAS/B,EAAe;AAAA,cACxB,UAAUC,EAAgB;AAAA,cAC1B,MAAM6B;AAAA,YAAA,CACN;AAAA,UACF;AAAA,QAAA,EACC;AAAA,MACH,SAASZ,GAAO;AACf,uBAAQ,KAAK,wCAAwCA,CAAK,GACnD,CAAA;AAAA,MACR;AAAA,IACD,GAKMc,IAAuB,MAAM;AAClC,UAAI,CAAC/C,EAAU,SAAS,CAACe,EAAe,SAAS,CAACC,EAAgB;AACjE,eAAO,CAAA;AAGR,UAAI;AACH,cAAMP,IAAUT,EAAU,MAAM,SAAS,WAAWe,EAAe,KAAK;AACxE,YAAI,CAACN,GAAS,SAAU,QAAO,CAAA;AAE/B,cAAMkC,IAAe3C,EAAU,MAAM,eAAee,EAAe,OAAOC,EAAgB,KAAK,GACzFgC,IAAWvC,EAAQ,qBAAqBkC,CAAY,GACpDE,IAAarC,EAAgB,SAAS,CAAA;AAE5C,eAAOwC,EAAS,IAAI,CAAC,EAAE,MAAAF,SAAY;AAAA,UAClC,OAAOrC,EAAQ,cAAcqC,CAAI,GAAG,SAASA;AAAA,UAC7C,QAAQ,MAAM;AACb,YAAA92B,EAAK,UAAU;AAAA,cACd,MAAA82B;AAAA,cACA,SAAS/B,EAAe;AAAA,cACxB,UAAUC,EAAgB;AAAA,cAC1B,MAAM6B;AAAA,YAAA,CACN;AAAA,UACF;AAAA,QAAA,EACC;AAAA,MACH,SAASZ,GAAO;AACf,uBAAQ,KAAK,qCAAqCA,CAAK,GAChD,CAAA;AAAA,MACR;AAAA,IACD,GAEMgB,IAAiBr0B,EAAS,MAAM;AACrC,YAAMs0B,IAA6B,CAAA;AAEnC,cAAQ7C,EAAY,OAAA;AAAA,QACnB,KAAK;AACJ,UAAA6C,EAAS,KAAK;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,YACP,QAAQ,MAAA;AAAM,cAAKC,GAAA;AAAA;AAAA,UAAgB,CACnC;AACD;AAAA,QACD,KAAK,UAAU;AAGd,gBAAMC,IAAgB,CAAC,GAAGV,KAA2B,GAAGK,GAAsB;AAC9E,UAAIK,EAAc,SAAS,KAC1BF,EAAS,KAAK;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,YACP,SAASE;AAAA,UAAA,CACT;AAEF;AAAA,QACD;AAAA,MAAA;AAGD,aAAOF;AAAA,IACR,CAAC,GAEKG,KAAwBz0B,EAAS,MAAM;AAC5C,YAAM00B,IAA+C,CAAA;AAErD,UAAIjD,EAAY,UAAU,aAAakC,EAAa;AACnD,QAAAe,EAAY;AAAA,UACX,EAAE,OAAO,QAAQ,IAAI,IAAA;AAAA,UACrB,EAAE,OAAO5C,GAAkB6B,EAAa,KAAK,GAAG,IAAI,IAAIA,EAAa,KAAK,GAAA;AAAA,QAAG;AAAA,eAEpElC,EAAY,UAAU,YAAYkC,EAAa,OAAO;AAChE,cAAMgB,IAAavC,EAAgB,QAChC,IAAIuB,EAAa,KAAK,IAAIvB,EAAgB,KAAK,KAC9CmB,EAAM,OAAO,YAAY;AAC7B,QAAAmB,EAAY;AAAA,UACX,EAAE,OAAO,QAAQ,IAAI,IAAA;AAAA,UACrB,EAAE,OAAO5C,GAAkB6B,EAAa,KAAK,GAAG,IAAI,IAAIA,EAAa,KAAK,GAAA;AAAA,UAC1E,EAAE,OAAOC,EAAY,QAAQ,eAAe,eAAe,IAAIe,EAAA;AAAA,QAAW;AAAA,MAE5E;AAEA,aAAOD;AAAA,IACR,CAAC,GASKE,KAAiB,CAACj1B,MAA6B;AACpD,YAAMy0B,IAAsB;AAAA,QAC3B;AAAA,UACC,OAAO;AAAA,UACP,aAAa;AAAA,UACb,QAAQ,MAAA;AAAM,YAAKS,GAAW,EAAE,MAAM,YAAY;AAAA;AAAA,QAAA;AAAA,QAEnD;AAAA,UACC,OAAO;AAAA,UACP,aAAa;AAAA,UACb,QAAQ,MAAOlD,EAAmB,QAAQ,CAACA,EAAmB;AAAA,QAAA;AAAA,MAC/D;AA4BD,aAxBIgC,EAAa,UAChBS,EAAS,KAAK;AAAA,QACb,OAAO,QAAQtC,GAAkB6B,EAAa,KAAK,CAAC;AAAA,QACpD,aAAa,eAAeA,EAAa,KAAK;AAAA,QAC9C,QAAQ,MAAA;AAAM,UAAKkB,GAAW,EAAE,MAAM,WAAW,SAASlB,EAAa,MAAA,CAAO;AAAA;AAAA,MAAA,CAC9E,GAEDS,EAAS,KAAK;AAAA,QACb,OAAO,cAActC,GAAkB6B,EAAa,KAAK,CAAC;AAAA,QAC1D,aAAa,gBAAgBA,EAAa,KAAK;AAAA,QAC/C,QAAQ,MAAA;AAAM,UAAKY,GAAA;AAAA;AAAA,MAAgB,CACnC,IAIF71B,EAAA,kBAAkB,QAAQ,CAAAmzB,MAAW;AACpC,QAAAuC,EAAS,KAAK;AAAA,UACb,OAAO,QAAQtC,GAAkBD,CAAO,CAAC;AAAA,UACzC,aAAa,eAAeA,CAAO;AAAA,UACnC,QAAQ,MAAA;AAAM,YAAKgD,GAAW,EAAE,MAAM,WAAW,SAAAhD,GAAS;AAAA;AAAA,QAAA,CAC1D;AAAA,MACF,CAAC,GAGIlyB,IAEEy0B,EAAS;AAAA,QACf,OACCU,EAAI,MAAM,YAAA,EAAc,SAASn1B,EAAM,YAAA,CAAa,KACpDm1B,EAAI,YAAY,YAAA,EAAc,SAASn1B,EAAM,aAAa;AAAA,MAAA,IALzCy0B;AAAA,IAOpB,GAEMW,KAAiB,CAACC,MAAqB;AAC5C,MAAAA,EAAQ,OAAA,GACRrD,EAAmB,QAAQ;AAAA,IAC5B,GAGMG,KAAoB,CAACD,MACnBA,EACL,MAAM,GAAG,EACT,IAAI,CAAAoD,MAAQA,EAAK,OAAO,CAAC,EAAE,YAAA,IAAgBA,EAAK,MAAM,CAAC,CAAC,EACxD,KAAK,GAAG,GAGLlD,KAAiB,CAACF,MAClBT,EAAU,QACGA,EAAU,MAAM,aAAaS,CAAO,EACrC,SAFY,GAOxBgD,KAAa,OAAOK,MAA6B;AACtD,MAAA93B,EAAK,YAAY83B,CAAM,GACnBx2B,EAAA,eACH,MAAMA,EAAA,aAAa,SAASw2B,CAAM,IAE9BA,EAAO,SAAS,aACnB,MAAMzB,EAAO,OAAO,KAAK,GAAG,IAClByB,EAAO,SAAS,aAAaA,EAAO,UAC9C,MAAMzB,EAAO,OAAO,KAAK,IAAIyB,EAAO,OAAO,EAAE,IACnCA,EAAO,SAAS,YAAYA,EAAO,WAAWA,EAAO,YAC/D,MAAMzB,EAAO,OAAO,KAAK,IAAIyB,EAAO,OAAO,IAAIA,EAAO,QAAQ,EAAE;AAAA,IAGnE,GAEMC,KAAoB,OAAOtD,MAAoB;AACpD,YAAMgD,GAAW,EAAE,MAAM,WAAW,SAAAhD,GAAS;AAAA,IAC9C,GAEMuD,KAAa,OAAOC,MAAqB;AAC9C,YAAMxD,IAAU8B,EAAa;AAC7B,MAAAv2B,EAAK,eAAe,EAAE,SAAAy0B,GAAS,UAAAwD,EAAA,CAAU,GACzC,MAAMR,GAAW,EAAE,MAAM,UAAU,SAAAhD,GAAS,UAAAwD,GAAU;AAAA,IACvD,GAEMd,KAAkB,YAAY;AACnC,YAAMe,IAAQ,OAAO,KAAK,IAAA,CAAK;AAC/B,YAAMT,GAAW,EAAE,MAAM,UAAU,SAASlB,EAAa,OAAO,UAAU2B,GAAO;AAAA,IAClF,GAKMC,KAAmB,CAACC,MAA6C;AACtE,YAAMh1B,IAA0B,CAAA;AAChC,iBAAW8xB,KAASkD;AACnB,QAAIlD,EAAM,SAAS,aAClB9xB,EAAO,KAAK,GAAG+0B,GAAiBjD,EAAM,MAAM,CAAC,IAE7C9xB,EAAO,KAAK8xB,CAAK;AAGnB,aAAO9xB;AAAA,IACR,GAGMi1B,IAAoB,MACpB/2B,EAAA,mBAAmB,SAEjB;AAAA,MACN;AAAA,QACC,MAAM;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA,QACX,OAAO;AAAA,QACP,QAAQ;AAAA,UACP;AAAA,YACC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,WAAW;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,OAAO;AAAA,UAAA;AAAA,UAER;AAAA,YACC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,WAAW;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,OAAO;AAAA,UAAA;AAAA,UAER;AAAA,YACC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,WAAW;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,OAAO;AAAA,UAAA;AAAA,UAER;AAAA,YACC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,WAAW;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,OAAO;AAAA,UAAA;AAAA,QACR;AAAA,QAED,QAAQ,EAAE,MAAM,QAAiB,WAAW,GAAA;AAAA,MAAK;AAAA,IAClD,IA3CsC,CAAA,GA+ClCg3B,IAAmB,MAAuB;AAC/C,UAAI,CAACvD,EAAe,MAAO,QAAO,CAAA;AAClC,UAAI,CAACf,EAAU,MAAO,QAAO,CAAA;AAE7B,YAAMuE,IAAWvE,EAAU,MAAM,UAC3BS,IAAU8D,EAAS,SAASxD,EAAe,KAAK;AAEtD,UAAI,CAACN,EAAS,QAAO,CAAA;AAErB,YAAM+D,IAASD,EAAS,cAAc9D,CAAO;AAG7C,aAAI+D,EAAO,WAAW,IAAU,CAAA,IAEzB;AAAA,QACN;AAAA,UACC,MAAM;AAAA,UACN,WAAW;AAAA,UACX,WAAW;AAAA,UACX,QAAQ;AAAA,YACP,GAAIL,GAAiBK,CAAM;AAAA,YAC3B,EAAE,WAAW,WAAW,OAAO,WAAW,WAAW,aAAA;AAAA,UAAa;AAAA,UAEnE,QAAQ,EAAE,MAAM,QAAiB,WAAW,GAAA;AAAA,QAAK;AAAA,MAClD;AAAA,IAEF,GAEMC,KAAsB,MAAuB;AAClD,UAAI,CAAC1D,EAAe,MAAO,QAAO,CAAA;AAClC,UAAI,CAACf,EAAU,MAAO,QAAO,CAAA;AAE7B,UAAI;AACH,cAAMuE,IAAWvE,EAAU,OAAO,UAC5BS,IAAU8D,GAAU,SAASxD,EAAe,KAAK;AAEvD,eAAKN,GAAS,SAKP8D,EAAS,cAAc9D,CAAO,IAH7B,CAAA;AAAA,MAIT,QAAQ;AACP,eAAO,CAAA;AAAA,MACR;AAAA,IACD,GAGMI,IAAa,MAAM;AACxB,UAAI,CAACb,EAAU,SAAS,CAACe,EAAe;AACvC,eAAO,CAAA;AAIR,YAAM2D,IADc1E,EAAU,MAAM,QAAQe,EAAe,KAAK,GAC/B,IAAI,EAAE;AAEvC,aAAI2D,KAAe,OAAOA,KAAgB,YAAY,CAAC,MAAM,QAAQA,CAAW,IACxE,OAAO,OAAOA,CAAkC,IAGjD,CAAA;AAAA,IACR,GAGMC,IAAoB/1B,EAAS,MAAM;AACxC,cAAQyxB,EAAY,OAAA;AAAA,QACnB,KAAK;AACJ,iBAAOgE,EAAA;AAAA,QACR,KAAK;AACJ,iBAAOC,EAAA;AAAA,QACR,KAAK;AACJ,iBAAOG,GAAA;AAAA,QACR;AACC,iBAAO,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,GAEKG,IAAoB,CAACC,GAAgBh4B,MAAqD;AAC/F,MAAIA,KACEA,EAAA;AAAA,IAEP,GAKMi4B,KAAe,OAAOb,MAAsB;AACjD,YAAMc,IAAiBd,KAAYjD,EAAgB;AACnD,UAAI,CAAC+D,EAAgB;AAMrB,OAJkBz3B,EAAA,YACf,MAAMA,EAAA,UAAU,8CAA8C,IAC9D,QAAQ,8CAA8C,MAGxDtB,EAAK,UAAU;AAAA,QACd,MAAM;AAAA,QACN,SAAS+0B,EAAe;AAAA,QACxB,UAAUgE;AAAA,QACV,MAAMvE,EAAgB,SAAS,CAAA;AAAA,MAAC,CAChC;AAAA,IAEH,GAGMwE,KAAqB,CAACC,MAAmD;AAC9E,YAAMC,IAAOD,EAAW,cAAc,mBAAmB;AACzD,UAAI,CAACC,EAAM,QAAO;AAElB,YAAMC,IAAeD,EAAK,aAAa,eAAe;AACtD,UAAIC,MAAiB,KAAM,QAAO;AAElC,YAAMC,IAAW,SAASD,GAAc,EAAE;AAC1C,UAAI,MAAMC,CAAQ,EAAG,QAAO;AAG5B,YAAMtE,IADUD,EAAA,EACOuE,CAAQ;AAC/B,UAAI,CAACtE,EAAQ,QAAO;AAEpB,YAAMF,KAAUtzB,EAAA,iBAAiB;AACjC,aAAOwzB,EAAOF,EAAO,KAAKE,EAAO,MAAM;AAAA,IACxC,GAEMl0B,KAAc,OAAO4yB,MAAiB;AAC3C,YAAMsE,IAAStE,EAAM;AAGrB,MAFesE,EAAO,aAAa,aAAa,MAEjC,YACd,MAAMX,GAAA;AAGP,YAAM+B,IAAOpB,EAAO,QAAQ,QAAQ;AACpC,UAAIoB,GAAM;AACT,cAAMG,IAAWH,EAAK,aAAa,KAAA,GAC7BI,IAAMJ,EAAK,QAAQ,IAAI;AAE7B,YAAIG,MAAa,kBAAkBC,GAAK;AAEvC,gBAAMC,KAAQD,EAAI,iBAAiB,IAAI;AACvC,cAAIC,GAAM,SAAS,GAAG;AAErB,kBAAM9E,KADc8E,GAAM,CAAC,EACC,aAAa,KAAA;AACzC,YAAI9E,MACH,MAAMsD,GAAkBtD,EAAO;AAAA,UAEjC;AAAA,QACD,WAAW4E,GAAU,SAAS,MAAM,KAAKC,GAAK;AAC7C,gBAAMrB,KAAWe,GAAmBM,CAAG;AACvC,UAAIrB,MACH,MAAMD,GAAWC,EAAQ;AAAA,QAE3B,WAAWoB,GAAU,SAAS,QAAQ,KAAKC,GAAK;AAC/C,gBAAMrB,KAAWe,GAAmBM,CAAG;AACvC,UAAIrB,MACH,MAAMa,GAAab,EAAQ;AAAA,QAE7B;AAAA,MACD;AAAA,IACD,GAEMuB,KAAiB,YAAY;AAClC,UAAI,GAACxF,EAAU,SAAS,CAACe,EAAe,SAASyB,EAAY,UAGzD,CAAAxC,EAAU,MAAM,cAAce,EAAe,OAAOC,EAAgB,KAAK,KAIzEhB,EAAU,MAAM,aAAa;AAChC,QAAAM,EAAQ,QAAQ;AAChB,YAAI;AACH,gBAAMN,EAAU,MAAM,UAAUe,EAAe,OAAOC,EAAgB,KAAK;AAAA,QAC5E,SAASiB,GAAO;AACf,kBAAQ,KAAK,0BAA0BA,CAAK;AAAA,QAC7C,UAAA;AACC,UAAA3B,EAAQ,QAAQ;AAAA,QACjB;AAAA,MACD;AAAA,IACD;AAGA,IAAAzxB;AAAA,MACC,CAACwxB,GAAaU,GAAgBC,CAAe;AAAA,MAC7C,MAAM;AACL,QAAIX,EAAY,UAAU,aAAaU,EAAe,QAErD/0B,EAAK,gBAAgB,EAAE,SAAS+0B,EAAe,OAAO,IAC5CV,EAAY,UAAU,YAAYU,EAAe,SAASC,EAAgB,UAEpFh1B,EAAK,eAAe,EAAE,SAAS+0B,EAAe,OAAO,UAAUC,EAAgB,OAAO,GACjFwE,GAAA;AAAA,MAEP;AAAA,MACA,EAAE,WAAW,GAAA;AAAA,IAAK,GAKnB32B,GAAM,CAACkyB,GAAgBC,CAAe,GAAG,MAAM;AAC9C,MAAAd,GAAiB,SAAA;AAAA,IAClB,CAAC,GAyBDuF,GAAQ,kBAnBe;AAAA,MACtB,mBAAA1B;AAAA,MACA,YAAAC;AAAA,MACA,iBAAAb;AAAA,MACA,cAAA2B;AAAA;AAAA;AAAA;AAAA;AAAA,MAKA,YAAY,CAAChC,GAAc4C,MAA+B;AACzD,QAAA15B,EAAK,UAAU;AAAA,UACd,MAAA82B;AAAA,UACA,SAAS/B,EAAe;AAAA,UACxB,UAAUC,EAAgB;AAAA,UAC1B,MAAM0E,KAAQlF,EAAgB,SAAS,CAAA;AAAA,QAAC,CACxC;AAAA,MACF;AAAA,IAAA,CAGuC,GAGxCiF,GAAQ,sBAAsB;AAAA,MAC7B,UAAU,CAAChF,GAAiBkF,MAAwB;AACnD,QAAKlC,GAAW,EAAE,MAAM,UAAU,SAAAhD,GAAS,UAAU,OAAOkF,CAAE,GAAG;AAAA,MAClE;AAAA,IAAA,CAC6B;AAE9B,aAASC,EAAgBC,GAA8D;AACtF,UAAI,CAACA,EAAK;AACV,YAAMC,IAAMD,EAAI,QAAQA,EAAI,SAASA,EAAI;AACzC,aAAO,OAAOC,KAAQ,YAAY,OAAOA,KAAQ,WAAW,OAAOA,CAAG,IAAI;AAAA,IAC3E;AAIA,IAAAL,GAAQ,qBAAqB,OAAOM,GAAqBJ,MAA4C;AACpG,UAAK3F,EAAU;AACf,YAAI;AACH,gBAAMgG,IAAShG,EAAU,MAAM,cAAc+F,GAAaJ,CAAE,GAAG,IAAI,EAAE,GAC/DM,IAAgBL,EAAgBI,CAAM;AAC5C,cAAIC,KAAiB,KAAM,QAAOA;AAClC,gBAAMjG,EAAU,MAAM,UAAU+F,GAAaJ,CAAE;AAC/C,gBAAMO,IAAUlG,EAAU,MAAM,cAAc+F,GAAaJ,CAAE,GAAG,IAAI,EAAE;AACtE,iBAAOC,EAAgBM,CAAO;AAAA,QAC/B,QAAQ;AACP;AAAA,QACD;AAAA,IACD,CAAC;AAED,UAAMj3B,IAAgB,CAACuwB,MAAyB;AAC/C,OAAKA,EAAM,WAAWA,EAAM,YAAYA,EAAM,QAAQ,QACrDA,EAAM,eAAA,GACNe,EAAmB,QAAQ,KAExBf,EAAM,QAAQ,YAAYe,EAAmB,UAChDA,EAAmB,QAAQ;AAAA,IAE7B;AAEA,WAAAj0B,GAAU,MAAM;AACf,eAAS,iBAAiB,WAAW2C,CAAa;AAAA,IACnD,CAAC,GAEDk3B,GAAY,MAAM;AACjB,eAAS,oBAAoB,WAAWl3B,CAAa;AAAA,IACtD,CAAC,mBAn7BAlC,EAgCM,OAAA;AAAA,MAhCD,OAAM;AAAA,MAAW,SAAOH;AAAA,IAAA;MAE5B2C,GAA0E62B,IAAA;AAAA,QAA9D,UAAUnD,EAAA;AAAA,QAAiB,eAAc2B;AAAA,MAAA;MAI9CD,EAAA,MAAkB,SAAM,UAD/Bt1B,GAIyBg3B,GAAAC,EAAA,GAAA;AAAA;QAFhB,MAAM9F,EAAA;AAAA,gDAAAA,EAAe,QAAA/yB;AAAA,QAC5B,QAAQk3B,EAAA;AAAA,QACR,QAAQvE,EAAA;AAAA,MAAA,6CACOiG,GAAArG,CAAA,KACjB7yB,KAAAJ,EAEM,OAFNS,IAEM;AAAA,QADLP,EAAwC,KAAA,MAArC,aAAQS,GAAG2yB,EAAA,KAAW,IAAG,YAAQ,CAAA;AAAA,MAAA,OAFrClzB,EAAA,GAAAJ,EAAkF,OAAlFG,IAAkF,CAAA,GAAA0yB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,QAAtC3yB,EAAgC,WAA7B,6BAAyB,EAAA;AAAA,MAAA;MAMxEsC,GAAiDg3B,IAAA,EAAtC,aAAalD,GAAA,MAAA,GAAqB,MAAA,GAAA,CAAA,aAAA,CAAA;AAAA,MAG7C9zB,GAYiBi3B,IAAA;AAAA,QAXf,WAASjG,EAAA;AAAA,QACT,QAAQiD;AAAA,QACT,aAAY;AAAA,QACX,UAAQG;AAAA,QACR,gCAAOpD,EAAA,QAAkB;AAAA,MAAA;QACf,OAAKkG,GACf,CAAkB,EADC,QAAAr3B,QAAM;AAAA,UACtB2wB,GAAAryB,GAAA0B,EAAO,KAAK,GAAA,CAAA;AAAA,QAAA;QAEL,SAAOq3B,GACjB,CAAwB,EADH,QAAAr3B,QAAM;AAAA,UACxB2wB,GAAAryB,GAAA0B,EAAO,WAAW,GAAA,CAAA;AAAA,QAAA;;;;;ICnBnBs3B,KAAiB;AAAA,EACtB,SAAS,CAACC,MAAa;AACtB,IAAAA,EAAI,UAAU,aAAaP,EAAS,GACpCO,EAAI,UAAU,kBAAkBH,EAAc,GAC9CG,EAAI,UAAU,WAAWC,EAAO,GAChCD,EAAI,UAAU,YAAYJ,EAAQ;AAAA,EACnC;AACD;"}
1
+ {"version":3,"file":"desktop.js","sources":["../src/components/ActionSet.vue","../src/components/CommandPalette.vue","../../stonecrop/dist/stonecrop.js","../../aform/dist/aform.js","../src/components/SheetNav.vue","../src/components/Desktop.vue","../src/plugins/index.ts"],"sourcesContent":["<template>\n\t<div :class=\"{ collapsed: !isOpen }\" class=\"action-set\">\n\t\t<div class=\"action-menu-icon\">\n\t\t\t<div id=\"cross\" :class=\"{ rotated: isOpen }\" @click=\"onClick\">×</div>\n\t\t</div>\n\t\t<div style=\"margin-right: 30px\"></div>\n\t\t<div v-for=\"(el, index) in elements\" :key=\"el.label\" class=\"action-element\">\n\t\t\t<div class=\"action-element-header\">\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"el.type == 'button'\"\n\t\t\t\t\t:disabled=\"el.disabled\"\n\t\t\t\t\tclass=\"button-default\"\n\t\t\t\t\t@click=\"handleClick(el.action, el.label)\">\n\t\t\t\t\t{{ el.label }}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div v-if=\"el.type == 'dropdown'\">\n\t\t\t\t<div class=\"dropdown-header\">\n\t\t\t\t\t<div class=\"cross\" :class=\"{ rotated: dropdownOpen[index] }\" @click=\"toggleDropdown(index)\">×</div>\n\t\t\t\t\t<button class=\"button-default dropdown-title\" @click=\"toggleDropdown(index)\">\n\t\t\t\t\t\t{{ el.label }}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<div v-show=\"dropdownStates[index]\" class=\"dropdown-container\">\n\t\t\t\t\t<div class=\"dropdown\">\n\t\t\t\t\t\t<div v-for=\"item in el.actions\" :key=\"item.label\">\n\t\t\t\t\t\t\t<button v-if=\"item.action != null\" class=\"dropdown-item\" @click=\"handleClick(item.action, item.label)\">\n\t\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<a v-else-if=\"item.link != null\" :href=\"item.link\"\n\t\t\t\t\t\t\t\t><button class=\"dropdown-item\">{{ item.label }}</button></a\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue'\n\nimport type { ActionElements } from '../types'\n\nconst { elements = [] } = defineProps<{ elements?: ActionElements[] }>()\nconst emit = defineEmits<{\n\tactionClick: [label: string, action: (() => void | Promise<void>) | undefined]\n}>()\n\n// Track dropdown open state separately (index -> boolean)\nconst dropdownStates = ref<Record<number, boolean>>({})\n\nconst isOpen = ref(true)\nconst dropdownOpen = ref<boolean[]>([])\n\nonMounted(() => {\n\tcloseDropdowns()\n})\n\nconst closeDropdowns = () => {\n\tdropdownStates.value = {}\n\tdropdownOpen.value = []\n}\n\nconst onClick = () => {\n\tisOpen.value = !isOpen.value\n}\n\nconst toggleDropdown = (index: number) => {\n\tconst showDropdown = !dropdownStates.value[index]\n\tcloseDropdowns()\n\tif (showDropdown) {\n\t\tdropdownStates.value[index] = true\n\t\tdropdownOpen.value[index] = true\n\t}\n}\n\nconst handleClick = (action: (() => void | Promise<void>) | undefined, label: string) => {\n\t// Emit event to parent - parent will handle execution\n\temit('actionClick', label, action)\n}\n</script>\n\n<style scoped>\n#cross {\n\tposition: relative;\n\ttransform: rotate(45deg);\n\tcursor: pointer;\n\ttransition: all 0.2s ease-in-out;\n\tuser-select: none;\n\tline-height: 1rem;\n}\n#cross.rotated,\n.cross.rotated {\n\ttransform: rotate(0deg);\n}\n#cross svg {\n\twidth: 1.5em;\n\theight: 1.5em;\n}\n\n.action-set {\n\tposition: fixed;\n\ttop: 300px;\n\tright: 10px;\n\tpadding: 10px;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-end;\n\tbackground: var(--sc-form-background);\n\tborder: 1px solid var(--sc-gray-20);\n\tborder-left: 4px solid var(--sc-gray-20);\n\tborder-radius: 0;\n\toverflow: hidden;\n\tz-index: 1001; /* Above SheetNav (100) and operation log button (999) */\n\t-webkit-transition: all 0.5s ease-in-out;\n\t-moz-transition: all 0.5s ease-in-out;\n\t-o-transition: all 0.5s ease-in-out;\n\ttransition: all 0.5s ease-in-out;\n}\n.action-menu-icon {\n\tposition: relative;\n\tfont-size: 2rem;\n\tdisplay: inline-block;\n\tcolor: var(--sc-gray-60, #666);\n\ttransition: all 0.2s ease-in-out;\n}\n.action-set.collapsed {\n\tmax-width: 46px;\n\tmax-height: 40px;\n\toverflow: hidden;\n}\n.action-set.collapsed .action-element {\n\topacity: 0;\n\t-webkit-transition: opacity 0.25s ease-in-out;\n\t-moz-transition: opacity 0.25s ease-in-out;\n\t-o-transition: opacity 0.25s ease-in-out;\n\ttransition: opacity 0.25s ease-in-out;\n}\n\n.action-element {\n\twidth: 100%;\n\ttext-align: right;\n\tborder: 1px solid var(--sc-gray-20);\n\tbackground: none;\n\tfont-size: 1.5rem;\n\tfont-family: var(--sc-font-family);\n\tfont-weight: 600;\n\tmargin-top: 10px;\n\tposition: relative; /* Make this the positioning context for absolute children */\n}\n.action-element-header {\n\tdisplay: flex;\n\tjustify-content: end;\n}\nbutton.button-default {\n\tbackground-color: transparent;\n\tpadding: 5px 12px;\n\tborder-radius: 0px;\n\tbox-shadow: none;\n\tborder: none;\n\tcursor: pointer;\n\twhite-space: nowrap;\n\tfont-weight: bold;\n\tfont-size: 1rem;\n\ttext-align: right;\n\tcolor: var(--sc-gray-80);\n\tpadding-left: 50px;\n\tfont-family: var(--sc-font-family);\n}\n.dropdown-header:hover button.button-default,\n.dropdown-header:hover,\n.action-element-header:hover {\n\tbackground-color: #f2f2f2;\n}\n\n.dropdown-title {\n\tposition: relative;\n}\n.dropdown-header {\n\tdisplay: flex;\n\talign-items: center;\n}\n.cross {\n\tpointer-events: all;\n\tmargin-left: 5px;\n\tfont-family: var(--sc-font-family);\n\tcolor: var(--sc-gray-60, #666);\n\tcursor: pointer;\n\ttransform: rotate(45deg);\n\tuser-select: none;\n\ttransition: all 0.2s ease-in-out;\n\tline-height: 1rem;\n}\n\nbutton.dropdown-item {\n\twidth: 100%;\n\tpadding: 5px 12px;\n\ttext-align: right;\n\tborder: none;\n\tbackground-color: #ffffff;\n\tcursor: pointer;\n\tborder-radius: 5px;\n\tfont-size: 1rem;\n}\n\nbutton.dropdown-item:hover {\n\tbackground-color: #f2f2f2;\n}\n</style>\n","<template>\n\t<Teleport to=\"body\">\n\t\t<Transition name=\"fade\">\n\t\t\t<div v-if=\"isOpen\" class=\"command-palette-overlay\" @click=\"closeModal\">\n\t\t\t\t<div class=\"command-palette\" @click.stop>\n\t\t\t\t\t<div class=\"command-palette-header\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref=\"input\"\n\t\t\t\t\t\t\tv-model=\"query\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclass=\"command-palette-input\"\n\t\t\t\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t\t\t\tautofocus\n\t\t\t\t\t\t\t@keydown=\"handleKeydown\" />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"results.length\" class=\"command-palette-results\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(result, index) in results\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\tclass=\"command-palette-result\"\n\t\t\t\t\t\t\t:class=\"{ selected: index === selectedIndex }\"\n\t\t\t\t\t\t\t@click=\"selectResult(result)\"\n\t\t\t\t\t\t\t@mouseover=\"selectedIndex = index\">\n\t\t\t\t\t\t\t<div class=\"result-title\">\n\t\t\t\t\t\t\t\t<slot name=\"title\" :result=\"result\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"result-content\">\n\t\t\t\t\t\t\t\t<slot name=\"content\" :result=\"result\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else-if=\"query && !results.length\" class=\"command-palette-no-results\">\n\t\t\t\t\t\t<slot name=\"empty\"> No results found for \"{{ query }}\" </slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Transition>\n\t</Teleport>\n</template>\n\n<script setup lang=\"ts\" generic=\"T\">\nimport { ref, computed, watch, nextTick, useTemplateRef } from 'vue'\n\ndefineSlots<{\n\ttitle?: { result: T }\n\tcontent?: { result: T }\n\tempty?: null\n}>()\n\nconst {\n\tsearch,\n\tisOpen = false,\n\tplaceholder = 'Type a command or search...',\n\tmaxResults = 10,\n} = defineProps<{\n\tsearch: (query: string) => T[]\n\tisOpen?: boolean\n\tplaceholder?: string\n\tmaxResults?: number\n}>()\n\nconst emit = defineEmits<{\n\tselect: [T]\n\tclose: []\n}>()\n\nconst query = ref('')\nconst selectedIndex = ref(0)\nconst inputRef = useTemplateRef('input')\n\nconst results = computed(() => {\n\tif (!query.value) return []\n\tconst searchResults = search(query.value)\n\treturn searchResults.slice(0, maxResults)\n})\n\n// reset search query when modal opens\nwatch(\n\t() => isOpen,\n\tasync open => {\n\t\tif (open) {\n\t\t\tquery.value = ''\n\t\t\tselectedIndex.value = 0\n\t\t\tawait nextTick()\n\t\t\t;(inputRef.value as HTMLInputElement)?.focus()\n\t\t}\n\t}\n)\n\n// reset selected index when results change\nwatch(results, () => {\n\tselectedIndex.value = 0\n})\n\nconst closeModal = () => {\n\temit('close')\n}\n\nconst handleKeydown = (e: KeyboardEvent) => {\n\tswitch (e.key) {\n\t\tcase 'Escape':\n\t\t\tcloseModal()\n\t\t\tbreak\n\t\tcase 'ArrowDown':\n\t\t\te.preventDefault()\n\t\t\tif (results.value.length) {\n\t\t\t\tselectedIndex.value = (selectedIndex.value + 1) % results.value.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'ArrowUp':\n\t\t\te.preventDefault()\n\t\t\tif (results.value.length) {\n\t\t\t\tselectedIndex.value = (selectedIndex.value - 1 + results.value.length) % results.value.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'Enter':\n\t\t\tif (results.value.length && selectedIndex.value >= 0) {\n\t\t\t\tselectResult(results.value[selectedIndex.value])\n\t\t\t}\n\t\t\tbreak\n\t}\n}\n\nconst selectResult = (result: T) => {\n\temit('select', result)\n\tcloseModal()\n}\n</script>\n\n<style>\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 0.2s ease;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.command-palette-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(0, 0, 0, 0.5);\n\tdisplay: flex;\n\talign-items: flex-start;\n\tjustify-content: center;\n\tz-index: 300;\n\tpadding-top: 100px;\n}\n\n.command-palette {\n\twidth: 600px;\n\tmax-width: 90%;\n\tbackground-color: white;\n\tborder-radius: 8px;\n\tbox-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n\toverflow: hidden;\n\tmax-height: 80vh;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.command-palette-header {\n\tdisplay: flex;\n\tborder-bottom: 1px solid #eaeaea;\n\tpadding: 12px;\n}\n\n.command-palette-input {\n\tflex: 1;\n\tborder: none;\n\toutline: none;\n\tfont-size: 16px;\n\tpadding: 8px 12px;\n\tbackground-color: transparent;\n}\n\n.command-palette-close {\n\tbackground: transparent;\n\tborder: none;\n\tfont-size: 24px;\n\tcursor: pointer;\n\tcolor: #666;\n\tpadding: 0 8px;\n}\n\n.command-palette-close:hover {\n\tcolor: #333;\n}\n\n.command-palette-results {\n\toverflow-y: auto;\n\tmax-height: 60vh;\n}\n\n.command-palette-result {\n\tpadding: 12px 16px;\n\tcursor: pointer;\n\tborder-bottom: 1px solid #f0f0f0;\n}\n\n.command-palette-result:hover,\n.command-palette-result.selected {\n\tbackground-color: #f5f5f5;\n}\n\n.command-palette-result.selected {\n\tbackground-color: rgba(132, 60, 3, 0.1);\n}\n\n.result-title {\n\tfont-weight: 500;\n\tmargin-bottom: 4px;\n\tcolor: #333;\n}\n\n.result-content {\n\tfont-size: 14px;\n\tcolor: #666;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.command-palette-no-results {\n\tpadding: 20px 16px;\n\ttext-align: center;\n\tcolor: #666;\n}\n</style>\n","import { watch as Je, onMounted as eo, nextTick as yn, readonly as to, getCurrentInstance as ro, toRef as Js, customRef as Vs, ref as K, reactive as nn, computed as te, toValue as Ue, shallowRef as no, unref as Ks, inject as kr, provide as ri } from \"vue\";\nimport { defineStore as io, storeToRefs as oo } from \"pinia\";\nconst Hs = Object.getPrototypeOf(async () => {\n}).constructor;\nasync function Ys(e, t = {}) {\n const r = Object.keys(t);\n return new Hs(...r, e)(...r.map((i) => t[i]));\n}\nconst Gs = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Xs = Object.prototype.toString, Qs = (e) => Xs.call(e) === \"[object Object]\", so = () => {\n};\nfunction ea(...e) {\n if (e.length !== 1) return Js(...e);\n const t = e[0];\n return typeof t == \"function\" ? to(Vs(() => ({\n get: t,\n set: so\n }))) : K(t);\n}\nfunction ta(e, t) {\n function r(...n) {\n return new Promise((i, o) => {\n Promise.resolve(e(() => t.apply(this, n), {\n fn: t,\n thisArg: this,\n args: n\n })).then(i).catch(o);\n });\n }\n return r;\n}\nconst ao = (e) => e();\nfunction ra(e = ao, t = {}) {\n const { initialState: r = \"active\" } = t, n = ea(r === \"active\");\n function i() {\n n.value = !1;\n }\n function o() {\n n.value = !0;\n }\n const s = (...a) => {\n n.value && e(...a);\n };\n return {\n isActive: to(n),\n pause: i,\n resume: o,\n eventFilter: s\n };\n}\nfunction Jr(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction na(e) {\n return ro();\n}\nfunction ia(e, t, r = {}) {\n const { eventFilter: n = ao, ...i } = r;\n return Je(e, ta(n, t), i);\n}\nfunction oa(e, t, r = {}) {\n const { eventFilter: n, initialState: i = \"active\", ...o } = r, { eventFilter: s, pause: a, resume: u, isActive: c } = ra(n, { initialState: i });\n return {\n stop: ia(e, t, {\n ...o,\n eventFilter: s\n }),\n pause: a,\n resume: u,\n isActive: c\n };\n}\nfunction sa(e, t = !0, r) {\n na() ? eo(e, r) : t ? e() : yn(e);\n}\nfunction aa(e, t, r) {\n return Je(e, t, {\n ...r,\n immediate: !0\n });\n}\nfunction Lt(e, t, r) {\n return Je(e, (i, o, s) => {\n i && t(i, o, s);\n }, {\n ...r,\n once: !1\n });\n}\nconst ot = Gs ? window : void 0;\nfunction ua(e) {\n var t;\n const r = Ue(e);\n return (t = r?.$el) !== null && t !== void 0 ? t : r;\n}\nfunction dt(...e) {\n const t = (n, i, o, s) => (n.addEventListener(i, o, s), () => n.removeEventListener(i, o, s)), r = te(() => {\n const n = Jr(Ue(e[0])).filter((i) => i != null);\n return n.every((i) => typeof i != \"string\") ? n : void 0;\n });\n return aa(() => {\n var n, i;\n return [\n (n = (i = r.value) === null || i === void 0 ? void 0 : i.map((o) => ua(o))) !== null && n !== void 0 ? n : [ot].filter((o) => o != null),\n Jr(Ue(r.value ? e[1] : e[0])),\n Jr(Ks(r.value ? e[2] : e[1])),\n Ue(r.value ? e[3] : e[2])\n ];\n }, ([n, i, o, s], a, u) => {\n if (!n?.length || !i?.length || !o?.length) return;\n const c = Qs(s) ? { ...s } : s, f = n.flatMap((l) => i.flatMap((h) => o.map((d) => t(l, h, d, c))));\n u(() => {\n f.forEach((l) => l());\n });\n }, { flush: \"post\" });\n}\nconst pr = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {}, dr = \"__vueuse_ssr_handlers__\", ca = /* @__PURE__ */ fa();\nfunction fa() {\n return dr in pr || (pr[dr] = pr[dr] || {}), pr[dr];\n}\nfunction la(e, t) {\n return ca[e] || t;\n}\nfunction ha(e) {\n return e == null ? \"any\" : e instanceof Set ? \"set\" : e instanceof Map ? \"map\" : e instanceof Date ? \"date\" : typeof e == \"boolean\" ? \"boolean\" : typeof e == \"string\" ? \"string\" : typeof e == \"object\" ? \"object\" : Number.isNaN(e) ? \"any\" : \"number\";\n}\nconst pa = {\n boolean: {\n read: (e) => e === \"true\",\n write: (e) => String(e)\n },\n object: {\n read: (e) => JSON.parse(e),\n write: (e) => JSON.stringify(e)\n },\n number: {\n read: (e) => Number.parseFloat(e),\n write: (e) => String(e)\n },\n any: {\n read: (e) => e,\n write: (e) => String(e)\n },\n string: {\n read: (e) => e,\n write: (e) => String(e)\n },\n map: {\n read: (e) => new Map(JSON.parse(e)),\n write: (e) => JSON.stringify(Array.from(e.entries()))\n },\n set: {\n read: (e) => new Set(JSON.parse(e)),\n write: (e) => JSON.stringify(Array.from(e))\n },\n date: {\n read: (e) => new Date(e),\n write: (e) => e.toISOString()\n }\n}, ni = \"vueuse-storage\";\nfunction da(e, t, r, n = {}) {\n var i;\n const { flush: o = \"pre\", deep: s = !0, listenToStorageChanges: a = !0, writeDefaults: u = !0, mergeDefaults: c = !1, shallow: f, window: l = ot, eventFilter: h, onError: d = (A) => {\n console.error(A);\n }, initOnMounted: _ } = n, g = (f ? no : K)(t), m = te(() => Ue(e));\n if (!r) try {\n r = la(\"getDefaultStorage\", () => ot?.localStorage)();\n } catch (A) {\n d(A);\n }\n if (!r) return g;\n const E = Ue(t), $ = ha(E), b = (i = n.serializer) !== null && i !== void 0 ? i : pa[$], { pause: N, resume: k } = oa(g, (A) => Ct(A), {\n flush: o,\n deep: s,\n eventFilter: h\n });\n Je(m, () => Ce(), { flush: o });\n let M = !1;\n const D = (A) => {\n _ && !M || Ce(A);\n }, ie = (A) => {\n _ && !M || ht(A);\n };\n l && a && (r instanceof Storage ? dt(l, \"storage\", D, { passive: !0 }) : dt(l, ni, ie)), _ ? sa(() => {\n M = !0, Ce();\n }) : Ce();\n function Re(A, Y) {\n if (l) {\n const ae = {\n key: m.value,\n oldValue: A,\n newValue: Y,\n storageArea: r\n };\n l.dispatchEvent(r instanceof Storage ? new StorageEvent(\"storage\", ae) : new CustomEvent(ni, { detail: ae }));\n }\n }\n function Ct(A) {\n try {\n const Y = r.getItem(m.value);\n if (A == null)\n Re(Y, null), r.removeItem(m.value);\n else {\n const ae = b.write(A);\n Y !== ae && (r.setItem(m.value, ae), Re(Y, ae));\n }\n } catch (Y) {\n d(Y);\n }\n }\n function jt(A) {\n const Y = A ? A.newValue : r.getItem(m.value);\n if (Y == null)\n return u && E != null && r.setItem(m.value, b.write(E)), E;\n if (!A && c) {\n const ae = b.read(Y);\n return typeof c == \"function\" ? c(ae, E) : $ === \"object\" && !Array.isArray(ae) ? {\n ...E,\n ...ae\n } : ae;\n } else return typeof Y != \"string\" ? Y : b.read(Y);\n }\n function Ce(A) {\n if (!(A && A.storageArea !== r)) {\n if (A && A.key == null) {\n g.value = E;\n return;\n }\n if (!(A && A.key !== m.value)) {\n N();\n try {\n const Y = b.write(g.value);\n (A === void 0 || A?.newValue !== Y) && (g.value = jt(A));\n } catch (Y) {\n d(Y);\n } finally {\n A ? yn(k) : k();\n }\n }\n }\n }\n function ht(A) {\n Ce(A.detail);\n }\n return g;\n}\nfunction _a(e, t, r = {}) {\n const { window: n = ot } = r;\n return da(e, t, n?.localStorage, r);\n}\nconst ga = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\nfunction ma(e = {}) {\n const { reactive: t = !1, target: r = ot, aliasMap: n = ga, passive: i = !0, onEventFired: o = so } = e, s = nn(/* @__PURE__ */ new Set()), a = {\n toJSON() {\n return {};\n },\n current: s\n }, u = t ? nn(a) : a, c = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Map([\n [\"Meta\", c],\n [\"Shift\", /* @__PURE__ */ new Set()],\n [\"Alt\", /* @__PURE__ */ new Set()]\n ]), l = /* @__PURE__ */ new Set();\n function h($, b) {\n $ in u && (t ? u[$] = b : u[$].value = b);\n }\n function d() {\n s.clear();\n for (const $ of l) h($, !1);\n }\n function _($, b, N) {\n if (!(!$ || typeof b.getModifierState != \"function\")) {\n for (const [k, M] of f) if (b.getModifierState(k)) {\n N.forEach((D) => M.add(D));\n break;\n }\n }\n }\n function g($, b) {\n if ($) return;\n const N = `${b[0].toUpperCase()}${b.slice(1)}`, k = f.get(N);\n if (![\"shift\", \"alt\"].includes(b) || !k) return;\n const M = Array.from(k), D = M.indexOf(b);\n M.forEach((ie, Re) => {\n Re >= D && (s.delete(ie), h(ie, !1));\n }), k.clear();\n }\n function m($, b) {\n var N, k;\n const M = (N = $.key) === null || N === void 0 ? void 0 : N.toLowerCase(), D = [(k = $.code) === null || k === void 0 ? void 0 : k.toLowerCase(), M].filter(Boolean);\n if (M) {\n M && (b ? s.add(M) : s.delete(M));\n for (const ie of D)\n l.add(ie), h(ie, b);\n _(b, $, [...s, ...D]), g(b, M), M === \"meta\" && !b && (c.forEach((ie) => {\n s.delete(ie), h(ie, !1);\n }), c.clear());\n }\n }\n dt(r, \"keydown\", ($) => (m($, !0), o($)), { passive: i }), dt(r, \"keyup\", ($) => (m($, !1), o($)), { passive: i }), dt(\"blur\", d, { passive: i }), dt(\"focus\", d, { passive: i });\n const E = new Proxy(u, { get($, b, N) {\n if (typeof b != \"string\") return Reflect.get($, b, N);\n if (b = b.toLowerCase(), b in n && (b = n[b]), !(b in u)) if (/[+_-]/.test(b)) {\n const M = b.split(/[+_-]/g).map((D) => D.trim());\n u[b] = te(() => M.map((D) => Ue(E[D])).every(Boolean));\n } else u[b] = no(!1);\n const k = Reflect.get($, b, N);\n return t ? Ue(k) : k;\n } });\n return E;\n}\nfunction Vr() {\n return typeof crypto < \"u\" && crypto.randomUUID ? crypto.randomUUID() : `${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;\n}\nfunction _r(e) {\n const t = {\n type: e.type,\n clientId: e.clientId,\n timestamp: e.timestamp.toISOString()\n };\n return e.operation && (t.operation = {\n ...e.operation,\n timestamp: e.operation.timestamp.toISOString()\n }), e.operations && (t.operations = e.operations.map((r) => ({\n ...r,\n timestamp: r.timestamp.toISOString()\n }))), t;\n}\nfunction va(e) {\n const t = {\n type: e.type,\n clientId: e.clientId,\n timestamp: new Date(e.timestamp)\n };\n return e.operation && (t.operation = {\n ...e.operation,\n timestamp: new Date(e.operation.timestamp)\n }), e.operations && (t.operations = e.operations.map((r) => ({\n ...r,\n timestamp: new Date(r.timestamp)\n }))), t;\n}\nfunction ii(e, t) {\n (e.type === \"set\" || e.type === \"delete\") && t && typeof t.set == \"function\" && t.set(e.path, e.beforeValue, \"undo\");\n}\nfunction oi(e, t) {\n (e.type === \"set\" || e.type === \"delete\") && t && typeof t.set == \"function\" && t.set(e.path, e.afterValue, \"redo\");\n}\nconst or = io(\"hst-operation-log\", () => {\n const e = K({\n maxOperations: 100,\n enableCrossTabSync: !0,\n enablePersistence: !1,\n persistenceKeyPrefix: \"stonecrop-ops\"\n }), t = K([]), r = K(-1), n = K(Vr()), i = K(!1), o = K([]), s = te(() => r.value < 0 ? !1 : t.value[r.value]?.reversible ?? !1), a = te(() => r.value < t.value.length - 1), u = te(() => {\n let w = 0;\n for (let S = r.value; S >= 0 && t.value[S]?.reversible; S--)\n w++;\n return w;\n }), c = te(() => t.value.length - 1 - r.value), f = te(() => ({\n canUndo: s.value,\n canRedo: a.value,\n undoCount: u.value,\n redoCount: c.value,\n currentIndex: r.value\n }));\n function l(w) {\n e.value = { ...e.value, ...w }, e.value.enablePersistence && (A(), ae()), e.value.enableCrossTabSync && ie();\n }\n function h(w, S = \"user\") {\n const v = {\n ...w,\n id: Vr(),\n timestamp: /* @__PURE__ */ new Date(),\n source: S,\n userId: e.value.userId\n };\n if (e.value.operationFilter && !e.value.operationFilter(v))\n return v.id;\n if (i.value && o.value.length > 0)\n return o.value[o.value.length - 1].operations.push(v), v.id;\n if (r.value < t.value.length - 1 && (t.value = t.value.slice(0, r.value + 1)), t.value.push(v), r.value++, e.value.maxOperations && t.value.length > e.value.maxOperations) {\n const X = t.value.length - e.value.maxOperations;\n t.value = t.value.slice(X), r.value -= X;\n }\n return e.value.enableCrossTabSync && Re(v), v.id;\n }\n function d() {\n i.value = !0, o.value.push({\n id: Vr(),\n operations: []\n });\n }\n function _(w) {\n if (!i.value || o.value.length === 0)\n return null;\n const S = o.value.pop(), v = S.operations;\n if (v.length === 0)\n return o.value.length === 0 && (i.value = !1), null;\n const X = S.id, be = v.every((je) => je.reversible), Te = {\n id: X,\n type: \"batch\",\n path: \"\",\n // Batch doesn't have a single path\n fieldname: \"\",\n beforeValue: null,\n afterValue: null,\n doctype: v[0]?.doctype || \"\",\n timestamp: /* @__PURE__ */ new Date(),\n source: \"user\",\n reversible: be,\n irreversibleReason: be ? void 0 : \"Contains irreversible operations\",\n descendantOperationIds: v.map((je) => je.id),\n metadata: { description: w }\n };\n return v.forEach((je) => {\n je.ancestorOperationId = X;\n }), o.value.length > 0 ? o.value[o.value.length - 1].operations.push(Te) : (t.value.push(...v, Te), r.value = t.value.length - 1), e.value.enableCrossTabSync && Ct(v, Te), o.value.length === 0 && (i.value = !1), X;\n }\n function g() {\n o.value = [], i.value = !1;\n }\n function m(w) {\n if (!s.value) return !1;\n const S = t.value[r.value];\n if (!S.reversible)\n return typeof console < \"u\" && S.irreversibleReason && console.warn(\"Cannot undo irreversible operation:\", S.irreversibleReason), !1;\n try {\n if (S.type === \"batch\" && S.descendantOperationIds)\n for (let v = S.descendantOperationIds.length - 1; v >= 0; v--) {\n const X = S.descendantOperationIds[v], be = t.value.find((Te) => Te.id === X);\n be && ii(be, w);\n }\n else\n ii(S, w);\n return r.value--, e.value.enableCrossTabSync && jt(S), !0;\n } catch (v) {\n return typeof console < \"u\" && console.error(\"Undo failed:\", v), !1;\n }\n }\n function E(w) {\n if (!a.value) return !1;\n const S = t.value[r.value + 1];\n try {\n if (S.type === \"batch\" && S.descendantOperationIds)\n for (const v of S.descendantOperationIds) {\n const X = t.value.find((be) => be.id === v);\n X && oi(X, w);\n }\n else\n oi(S, w);\n return r.value++, e.value.enableCrossTabSync && Ce(S), !0;\n } catch (v) {\n return typeof console < \"u\" && console.error(\"Redo failed:\", v), !1;\n }\n }\n function $() {\n const w = t.value.filter((v) => v.reversible).length, S = t.value.map((v) => v.timestamp);\n return {\n operations: [...t.value],\n currentIndex: r.value,\n totalOperations: t.value.length,\n reversibleOperations: w,\n irreversibleOperations: t.value.length - w,\n oldestOperation: S.length > 0 ? new Date(Math.min(...S.map((v) => v.getTime()))) : void 0,\n newestOperation: S.length > 0 ? new Date(Math.max(...S.map((v) => v.getTime()))) : void 0\n };\n }\n function b() {\n t.value = [], r.value = -1;\n }\n function N(w, S) {\n return t.value.filter((v) => v.doctype === w && (S === void 0 || v.recordId === S));\n }\n function k(w, S) {\n const v = t.value.find((X) => X.id === w);\n v && (v.reversible = !1, v.irreversibleReason = S);\n }\n function M(w, S, v, X = \"success\", be) {\n const Te = {\n type: \"action\",\n path: v && v.length > 0 ? `${w}.${v[0]}` : w,\n fieldname: \"\",\n beforeValue: null,\n afterValue: null,\n doctype: w,\n recordId: v && v.length > 0 ? v[0] : void 0,\n reversible: !1,\n // Actions are typically not reversible\n actionName: S,\n actionRecordIds: v,\n actionResult: X,\n actionError: be\n };\n return h(Te);\n }\n let D = null;\n function ie() {\n typeof window > \"u\" || !window.BroadcastChannel || (D = new BroadcastChannel(\"stonecrop-operation-log\"), D.addEventListener(\"message\", (w) => {\n const S = w.data;\n if (!S || typeof S != \"object\") return;\n const v = va(S);\n v.clientId !== n.value && (v.type === \"operation\" && v.operation ? (t.value.push({ ...v.operation, source: \"sync\" }), r.value = t.value.length - 1) : v.type === \"operation\" && v.operations && (t.value.push(\n ...v.operations.map((X) => Object.assign({}, X, { source: \"sync\" }))\n ), r.value = t.value.length - 1));\n }));\n }\n function Re(w) {\n if (!D) return;\n const S = {\n type: \"operation\",\n operation: w,\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n D.postMessage(_r(S));\n }\n function Ct(w, S) {\n if (!D) return;\n const v = {\n type: \"operation\",\n operations: [...w, S],\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n D.postMessage(_r(v));\n }\n function jt(w) {\n if (!D) return;\n const S = {\n type: \"undo\",\n operation: w,\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n D.postMessage(_r(S));\n }\n function Ce(w) {\n if (!D) return;\n const S = {\n type: \"redo\",\n operation: w,\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n D.postMessage(_r(S));\n }\n const ht = _a(\"stonecrop-operations\", null, {\n serializer: {\n read: (w) => {\n try {\n return JSON.parse(w);\n } catch {\n return null;\n }\n },\n write: (w) => w ? JSON.stringify(w) : \"\"\n }\n });\n function A() {\n if (!(typeof window > \"u\"))\n try {\n const w = ht.value;\n w && Array.isArray(w.operations) && (t.value = w.operations.map((S) => ({\n ...S,\n timestamp: new Date(S.timestamp)\n })), r.value = w.currentIndex ?? -1);\n } catch (w) {\n typeof console < \"u\" && console.error(\"Failed to load operations from persistence:\", w);\n }\n }\n function Y() {\n if (!(typeof window > \"u\"))\n try {\n ht.value = {\n operations: t.value.map((w) => ({\n ...w,\n timestamp: w.timestamp.toISOString()\n })),\n currentIndex: r.value\n };\n } catch (w) {\n typeof console < \"u\" && console.error(\"Failed to save operations to persistence:\", w);\n }\n }\n function ae() {\n Je(\n [t, r],\n () => {\n e.value.enablePersistence && Y();\n },\n { deep: !0 }\n );\n }\n return {\n // State\n operations: t,\n currentIndex: r,\n config: e,\n clientId: n,\n undoRedoState: f,\n // Computed\n canUndo: s,\n canRedo: a,\n undoCount: u,\n redoCount: c,\n // Methods\n configure: l,\n addOperation: h,\n startBatch: d,\n commitBatch: _,\n cancelBatch: g,\n undo: m,\n redo: E,\n clear: b,\n getOperationsFor: N,\n getSnapshot: $,\n markIrreversible: k,\n logAction: M\n };\n});\nclass Wt {\n /**\n * The root FieldTriggerEngine instance\n */\n static _root;\n options;\n doctypeActions = /* @__PURE__ */ new Map();\n // doctype -> action/field -> functions\n doctypeTransitions = /* @__PURE__ */ new Map();\n // doctype -> transition -> functions\n fieldRollbackConfig = /* @__PURE__ */ new Map();\n // doctype -> field -> rollback enabled\n globalActions = /* @__PURE__ */ new Map();\n // action name -> function\n globalTransitionActions = /* @__PURE__ */ new Map();\n // transition action name -> function\n /**\n * Creates a new FieldTriggerEngine instance (singleton pattern)\n * @param options - Configuration options for the field trigger engine\n */\n constructor(t = {}) {\n return Wt._root ? Wt._root : (Wt._root = this, this.options = {\n defaultTimeout: t.defaultTimeout ?? 5e3,\n debug: t.debug ?? !1,\n enableRollback: t.enableRollback ?? !0,\n errorHandler: t.errorHandler\n }, this);\n }\n /**\n * Register a global action function\n * @param name - The name of the action\n * @param fn - The action function\n */\n registerAction(t, r) {\n this.globalActions.set(t, r);\n }\n /**\n * Look up a registered action function by name.\n * Returns `undefined` if the action has not been registered.\n * @param name - The action name\n */\n getAction(t) {\n return this.globalActions.get(t);\n }\n /**\n * Register a global XState transition action function\n * @param name - The name of the transition action\n * @param fn - The transition action function\n */\n registerTransitionAction(t, r) {\n this.globalTransitionActions.set(t, r);\n }\n /**\n * Configure rollback behavior for a specific field trigger\n * @param doctype - The doctype name\n * @param fieldname - The field name\n * @param enableRollback - Whether to enable rollback\n */\n setFieldRollback(t, r, n) {\n this.fieldRollbackConfig.has(t) || this.fieldRollbackConfig.set(t, /* @__PURE__ */ new Map()), this.fieldRollbackConfig.get(t).set(r, n);\n }\n /**\n * Get rollback configuration for a specific field trigger\n */\n getFieldRollback(t, r) {\n return this.fieldRollbackConfig.get(t)?.get(r);\n }\n /**\n * Register actions from a doctype - both regular actions and field triggers\n * Separates XState transitions (uppercase) from field triggers (lowercase)\n * @param doctype - The doctype name\n * @param actions - The actions to register (supports Immutable Map, Map, or plain object)\n */\n registerDoctypeActions(t, r) {\n if (!r) return;\n const n = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), o = r;\n if (typeof o.entrySeq == \"function\")\n o.entrySeq().forEach(([s, a]) => {\n this.categorizeAction(s, a, n, i);\n });\n else if (r instanceof Map)\n for (const [s, a] of r)\n this.categorizeAction(s, a, n, i);\n else r && typeof r == \"object\" && Object.entries(r).forEach(([s, a]) => {\n this.categorizeAction(s, a, n, i);\n });\n this.doctypeActions.set(t, n), this.doctypeTransitions.set(t, i);\n }\n /**\n * Categorize an action as either a field trigger or XState transition\n * Uses uppercase convention: UPPERCASE = transition, lowercase/mixed = field trigger\n */\n categorizeAction(t, r, n, i) {\n this.isTransitionKey(t) ? i.set(t, r) : n.set(t, r);\n }\n /**\n * Determine if a key represents an XState transition\n * Transitions are identified by being all uppercase\n */\n isTransitionKey(t) {\n return /^[A-Z0-9_]+$/.test(t) && t.length > 0;\n }\n /**\n * Execute field triggers for a changed field\n * @param context - The field change context\n * @param options - Execution options (timeout and enableRollback)\n */\n async executeFieldTriggers(t, r = {}) {\n const { doctype: n, fieldname: i } = t, o = this.findFieldTriggers(n, i);\n if (o.length === 0)\n return {\n path: t.path,\n actionResults: [],\n totalExecutionTime: 0,\n allSucceeded: !0,\n stoppedOnError: !1,\n rolledBack: !1\n };\n const s = performance.now(), a = [];\n let u = !1, c = !1, f;\n const l = this.getFieldRollback(n, i), h = r.enableRollback ?? l ?? this.options.enableRollback;\n h && t.store && (f = this.captureSnapshot(t));\n for (const m of o)\n try {\n const E = await this.executeAction(m, t, r.timeout);\n if (a.push(E), !E.success) {\n u = !0;\n break;\n }\n } catch (E) {\n const b = {\n success: !1,\n error: E instanceof Error ? E : new Error(String(E)),\n executionTime: 0,\n action: m\n };\n a.push(b), u = !0;\n break;\n }\n if (h && u && f && t.store)\n try {\n this.restoreSnapshot(t, f), c = !0;\n } catch (m) {\n console.error(\"[FieldTriggers] Rollback failed:\", m);\n }\n const d = performance.now() - s, _ = a.filter((m) => !m.success && m.error != null);\n if (_.length > 0 && this.options.errorHandler)\n for (const m of _)\n try {\n m.error && this.options.errorHandler(m.error, t, m.action);\n } catch (E) {\n console.error(\"[FieldTriggers] Error in global error handler:\", E);\n }\n return {\n path: t.path,\n actionResults: a,\n totalExecutionTime: d,\n allSucceeded: a.every((m) => m.success),\n stoppedOnError: u,\n rolledBack: c,\n snapshot: this.options.debug && h ? f : void 0\n // Only include snapshot in debug mode if rollback is enabled\n };\n }\n /**\n * Execute XState transition actions\n * Similar to field triggers but specifically for FSM state transitions\n * @param context - The transition change context\n * @param options - Execution options (timeout)\n */\n async executeTransitionActions(t, r = {}) {\n const { doctype: n, transition: i } = t, o = this.findTransitionActions(n, i);\n if (o.length === 0)\n return [];\n const s = [];\n for (const u of o)\n try {\n const c = await this.executeTransitionAction(u, t, r.timeout);\n if (s.push(c), !c.success)\n break;\n } catch (c) {\n const l = {\n success: !1,\n error: c instanceof Error ? c : new Error(String(c)),\n executionTime: 0,\n action: u,\n transition: i\n };\n s.push(l);\n break;\n }\n const a = s.filter((u) => !u.success);\n if (a.length > 0 && this.options.errorHandler)\n for (const u of a)\n try {\n u.error && this.options.errorHandler(u.error, t, u.action);\n } catch (c) {\n console.error(\"[FieldTriggers] Error in global error handler:\", c);\n }\n return s;\n }\n /**\n * Find transition actions for a specific doctype and transition\n */\n findTransitionActions(t, r) {\n const n = this.doctypeTransitions.get(t);\n return n ? n.get(r) || [] : [];\n }\n /**\n * Execute a single transition action by name\n */\n async executeTransitionAction(t, r, n) {\n const i = performance.now(), o = n ?? this.options.defaultTimeout;\n try {\n let s = this.globalTransitionActions.get(t);\n if (!s) {\n const u = this.globalActions.get(t);\n u && (s = u);\n }\n if (!s)\n throw new Error(`Transition action \"${t}\" not found in registry`);\n return await this.executeWithTimeout(s, r, o), {\n success: !0,\n executionTime: performance.now() - i,\n action: t,\n transition: r.transition\n };\n } catch (s) {\n const a = performance.now() - i;\n return {\n success: !1,\n error: s instanceof Error ? s : new Error(String(s)),\n executionTime: a,\n action: t,\n transition: r.transition\n };\n }\n }\n /**\n * Find field triggers for a specific doctype and field\n * Field triggers are identified by keys that look like field paths (contain dots or match field names)\n */\n findFieldTriggers(t, r) {\n const n = this.doctypeActions.get(t);\n if (!n) return [];\n const i = [];\n for (const [o, s] of n)\n this.isFieldTriggerKey(o, r) && i.push(...s);\n return i;\n }\n /**\n * Determine if an action key represents a field trigger\n * Field triggers can be:\n * - Exact field name match: \"emailAddress\"\n * - Wildcard patterns: \"emailAddress.*\", \"*.is_primary\"\n * - Nested field paths: \"address.street\", \"contact.email\"\n */\n isFieldTriggerKey(t, r) {\n return t === r ? !0 : t.includes(\".\") ? this.matchFieldPattern(t, r) : t.includes(\"*\") ? this.matchFieldPattern(t, r) : !1;\n }\n /**\n * Match a field pattern against a field name\n * Supports wildcards (*) for dynamic segments\n */\n matchFieldPattern(t, r) {\n const n = t.split(\".\"), i = r.split(\".\");\n if (n.length !== i.length)\n return !1;\n for (let o = 0; o < n.length; o++) {\n const s = n[o], a = i[o];\n if (s !== \"*\" && s !== a)\n return !1;\n }\n return !0;\n }\n /**\n * Execute a single action by name\n */\n async executeAction(t, r, n) {\n const i = performance.now(), o = n ?? this.options.defaultTimeout;\n try {\n const s = this.globalActions.get(t);\n if (!s)\n throw new Error(`Action \"${t}\" not found in registry`);\n return await this.executeWithTimeout(s, r, o), {\n success: !0,\n executionTime: performance.now() - i,\n action: t\n };\n } catch (s) {\n const a = performance.now() - i;\n return {\n success: !1,\n error: s instanceof Error ? s : new Error(String(s)),\n executionTime: a,\n action: t\n };\n }\n }\n /**\n * Execute a function with timeout\n */\n async executeWithTimeout(t, r, n) {\n return new Promise((i, o) => {\n const s = setTimeout(() => {\n o(new Error(`Action timeout after ${n}ms`));\n }, n);\n Promise.resolve(t(r)).then((a) => (clearTimeout(s), i(a))).catch((a) => {\n clearTimeout(s), o(a instanceof Error ? a : new Error(String(a)));\n });\n });\n }\n /**\n * Capture a snapshot of the record state before executing actions\n * This creates a deep copy of the record data for potential rollback\n */\n captureSnapshot(t) {\n if (!(!t.store || !t.doctype || !t.recordId))\n try {\n const r = `${t.doctype}.${t.recordId}`, n = t.store.get(r);\n return !n || typeof n != \"object\" ? void 0 : JSON.parse(JSON.stringify(n));\n } catch (r) {\n this.options.debug && console.warn(\"[FieldTriggers] Failed to capture snapshot:\", r);\n return;\n }\n }\n /**\n * Restore a previously captured snapshot\n * This reverts the record to its state before actions were executed\n */\n restoreSnapshot(t, r) {\n if (!(!t.store || !t.doctype || !t.recordId || !r))\n try {\n const n = `${t.doctype}.${t.recordId}`;\n t.store.set(n, r), this.options.debug && console.log(`[FieldTriggers] Rolled back ${n} to previous state`);\n } catch (n) {\n throw console.error(\"[FieldTriggers] Failed to restore snapshot:\", n), n;\n }\n }\n}\nfunction Le(e) {\n return new Wt(e);\n}\nfunction zp(e, t) {\n Le().registerAction(e, t);\n}\nfunction kp(e, t) {\n Le().registerTransitionAction(e, t);\n}\nfunction Op(e, t, r) {\n Le().setFieldRollback(e, t, r);\n}\nasync function $p(e, t, r) {\n const n = Le(), i = {\n path: r?.path || (r?.recordId ? `${e}.${r.recordId}` : e),\n fieldname: \"\",\n beforeValue: void 0,\n afterValue: void 0,\n operation: \"set\",\n doctype: e,\n recordId: r?.recordId,\n timestamp: /* @__PURE__ */ new Date(),\n transition: t,\n currentState: r?.currentState,\n targetState: r?.targetState,\n fsmContext: r?.fsmContext\n };\n return await n.executeTransitionActions(i);\n}\nfunction Ep(e, t) {\n if (e)\n try {\n or().markIrreversible(e, t);\n } catch {\n }\n}\nfunction si() {\n try {\n return or();\n } catch {\n return null;\n }\n}\nclass _t {\n static instance;\n /**\n * Gets the singleton instance of HST\n * @returns The HST singleton instance\n */\n static getInstance() {\n return _t.instance || (_t.instance = new _t()), _t.instance;\n }\n /**\n * Gets the global registry instance\n * @returns The global registry object or undefined if not found\n */\n getRegistry() {\n if (typeof globalThis < \"u\") {\n const t = globalThis.Registry?._root;\n if (t)\n return t;\n }\n if (typeof window < \"u\") {\n const t = window.Registry?._root;\n if (t)\n return t;\n }\n if (typeof global < \"u\" && global) {\n const t = global.Registry?._root;\n if (t)\n return t;\n }\n }\n /**\n * Helper method to get doctype metadata from the registry\n * @param doctype - The name of the doctype to retrieve metadata for\n * @returns The doctype metadata object or undefined if not found\n */\n getDoctypeMeta(t) {\n const r = this.getRegistry();\n if (r && typeof r == \"object\" && \"registry\" in r)\n return r.registry[t];\n }\n}\nclass Or {\n target;\n ancestorPath;\n rootNode;\n doctype;\n hst;\n constructor(t, r, n = \"\", i = null) {\n return this.target = t, this.ancestorPath = n, this.rootNode = i || this, this.doctype = r, this.hst = _t.getInstance(), new Proxy(this, {\n get(o, s) {\n if (s in o) return Reflect.get(o, s);\n const a = String(s);\n return o.getNode(a);\n },\n set(o, s, a) {\n const u = String(s);\n return o.set(u, a), !0;\n }\n });\n }\n get(t) {\n return this.resolveValue(t);\n }\n // Method to get a tree-wrapped node for navigation\n getNode(t) {\n const r = this.resolvePath(t), n = this.resolveValue(t), i = r.split(\".\");\n let o = this.doctype;\n return this.doctype === \"StonecropStore\" && i.length >= 1 && (o = i[0]), typeof n == \"object\" && n !== null && !this.isPrimitive(n) ? new Or(n, o, r, this.rootNode) : new Or(n, o, r, this.rootNode);\n }\n set(t, r, n = \"user\") {\n const i = this.resolvePath(t);\n if (i === void 0) {\n console.warn(\"HST.set: resolved path is undefined, skipping operation\");\n return;\n }\n const o = this.has(t) ? this.get(t) : void 0;\n if (n !== \"undo\" && n !== \"redo\") {\n const s = si();\n if (s && typeof s.addOperation == \"function\") {\n const a = i.split(\".\"), u = this.doctype === \"StonecropStore\" && a.length >= 1 ? a[0] : this.doctype, c = a.length >= 2 ? a[1] : void 0, f = a.slice(2).join(\".\") || a[a.length - 1], h = r === void 0 && o !== void 0 ? \"delete\" : \"set\";\n s.addOperation(\n {\n type: h,\n path: i,\n fieldname: f,\n beforeValue: o,\n afterValue: r,\n doctype: u,\n recordId: c,\n reversible: !0\n // Default to reversible, can be changed by field triggers\n },\n n\n );\n }\n }\n this.updateValue(t, r), this.triggerFieldActions(i, o, r);\n }\n has(t) {\n try {\n if (t === \"\")\n return !0;\n const r = this.parsePath(t);\n let n = this.target;\n for (let i = 0; i < r.length; i++) {\n const o = r[i];\n if (n == null)\n return !1;\n if (i === r.length - 1)\n return this.isImmutable(n) ? n.has(o) : this.isPiniaStore(n) && n.$state && o in n.$state || o in n;\n n = this.getProperty(n, o);\n }\n return !1;\n } catch {\n return !1;\n }\n }\n // Tree navigation methods\n getAncestor() {\n if (!this.ancestorPath) return null;\n const r = this.ancestorPath.split(\".\").slice(0, -1).join(\".\");\n return r === \"\" ? this.rootNode : this.rootNode.getNode(r);\n }\n getRoot() {\n return this.rootNode;\n }\n getPath() {\n return this.ancestorPath;\n }\n getDepth() {\n return this.ancestorPath ? this.ancestorPath.split(\".\").length : 0;\n }\n getBreadcrumbs() {\n return this.ancestorPath ? this.ancestorPath.split(\".\") : [];\n }\n /**\n * Trigger an XState transition with optional context data\n */\n async triggerTransition(t, r) {\n const n = Le(), i = this.ancestorPath.split(\".\");\n let o = this.doctype, s;\n this.doctype === \"StonecropStore\" && i.length >= 1 && (o = i[0]), i.length >= 2 && (s = i[1]);\n const a = {\n path: this.ancestorPath,\n fieldname: \"\",\n // No specific field for transitions\n beforeValue: void 0,\n afterValue: void 0,\n operation: \"set\",\n doctype: o,\n recordId: s,\n timestamp: /* @__PURE__ */ new Date(),\n store: this.rootNode || void 0,\n transition: t,\n currentState: r?.currentState,\n targetState: r?.targetState,\n fsmContext: r?.fsmContext\n }, u = si();\n return u && typeof u.addOperation == \"function\" && u.addOperation(\n {\n type: \"transition\",\n path: this.ancestorPath,\n fieldname: t,\n beforeValue: r?.currentState,\n afterValue: r?.targetState,\n doctype: o,\n recordId: s,\n reversible: !1,\n // FSM transitions are generally not reversible\n metadata: {\n transition: t,\n currentState: r?.currentState,\n targetState: r?.targetState,\n fsmContext: r?.fsmContext\n }\n },\n \"user\"\n ), await n.executeTransitionActions(a);\n }\n // Private helper methods\n resolvePath(t) {\n return t === \"\" ? this.ancestorPath ?? \"\" : this.ancestorPath ? `${this.ancestorPath}.${t}` : t;\n }\n resolveValue(t) {\n if (t === \"\")\n return this.target;\n const r = this.parsePath(t);\n let n = this.target;\n for (const i of r) {\n if (n == null)\n return;\n n = this.getProperty(n, i);\n }\n return n;\n }\n updateValue(t, r) {\n if (t === \"\")\n throw new Error(\"Cannot set value on empty path\");\n const n = this.parsePath(t), i = n.pop();\n let o = this.target;\n for (const s of n)\n if (o = this.getProperty(o, s), o == null)\n throw new Error(`Cannot set property on null/undefined path: ${t}`);\n this.setProperty(o, i, r);\n }\n getProperty(t, r) {\n return this.isImmutable(t) ? t.get(r) : this.isVueReactive(t) ? t[r] : this.isPiniaStore(t) ? t.$state?.[r] ?? t[r] : t[r];\n }\n setProperty(t, r, n) {\n if (this.isImmutable(t))\n throw new Error(\"Cannot directly mutate immutable objects. Use immutable update methods instead.\");\n if (this.isPiniaStore(t)) {\n t.$patch ? t.$patch({ [r]: n }) : t[r] = n;\n return;\n }\n t[r] = n;\n }\n async triggerFieldActions(t, r, n) {\n try {\n if (!t || typeof t != \"string\" || Object.is(r, n))\n return;\n const i = t.split(\".\");\n if (i.length < 3)\n return;\n const o = Le(), s = i.slice(2).join(\".\") || i[i.length - 1];\n let a = this.doctype;\n this.doctype === \"StonecropStore\" && i.length >= 1 && (a = i[0]);\n let u;\n i.length >= 2 && (u = i[1]);\n const c = {\n path: t,\n fieldname: s,\n beforeValue: r,\n afterValue: n,\n operation: \"set\",\n doctype: a,\n recordId: u,\n timestamp: /* @__PURE__ */ new Date(),\n store: this.rootNode || void 0\n // Pass the root store for snapshot/rollback capabilities\n };\n await o.executeFieldTriggers(c);\n } catch (i) {\n i instanceof Error && console.warn(\"Field trigger error:\", i.message);\n }\n }\n isVueReactive(t) {\n return t && typeof t == \"object\" && \"__v_isReactive\" in t && t.__v_isReactive === !0;\n }\n isPiniaStore(t) {\n return t && typeof t == \"object\" && (\"$state\" in t || \"$patch\" in t || \"$id\" in t);\n }\n isImmutable(t) {\n if (!t || typeof t != \"object\")\n return !1;\n const r = \"get\" in t && typeof t.get == \"function\", n = \"set\" in t && typeof t.set == \"function\", i = \"has\" in t && typeof t.has == \"function\", o = \"__ownerID\" in t || \"_map\" in t || \"_list\" in t || \"_origin\" in t || \"_capacity\" in t || \"_defaultValues\" in t || \"_tail\" in t || \"_root\" in t || \"size\" in t && r && n;\n let s;\n try {\n if (\"constructor\" in t && t.constructor && typeof t.constructor == \"object\" && \"name\" in t.constructor) {\n const u = t.constructor.name;\n s = typeof u == \"string\" ? u : void 0;\n }\n } catch {\n s = void 0;\n }\n const a = s && (s.includes(\"Map\") || s.includes(\"List\") || s.includes(\"Set\") || s.includes(\"Stack\") || s.includes(\"Seq\")) && (r || n);\n return !!(r && n && i && o || r && n && a);\n }\n isPrimitive(t) {\n return t == null || typeof t == \"string\" || typeof t == \"number\" || typeof t == \"boolean\" || typeof t == \"function\" || typeof t == \"symbol\" || typeof t == \"bigint\";\n }\n /**\n * Parse a path string into segments, handling both dot notation and array bracket notation\n * @param path - The path string to parse (e.g., \"order.456.line_items[0].product\")\n * @returns Array of path segments (e.g., ['order', '456', 'line_items', '0', 'product'])\n */\n parsePath(t) {\n return t ? t.replace(/\\[(\\d+)\\]/g, \".$1\").split(\".\").filter((n) => n.length > 0) : [];\n }\n}\nfunction ya(e, t) {\n return new Or(e, t, \"\", null);\n}\nclass Be {\n /**\n * Singleton instance of Stonecrop. Only one Stonecrop instance can exist\n * per application, ensuring consistent HST state and registry access.\n * Subsequent constructor calls return this instance instead of creating new ones.\n * @internal\n */\n static _root;\n /** The HST store instance for reactive state management */\n hstStore;\n _operationLogStore;\n _operationLogConfig;\n _client;\n /** The registry instance containing all doctype definitions */\n registry;\n /**\n * Creates a new Stonecrop instance with HST integration (singleton pattern)\n * @param registry - The Registry instance containing doctype definitions\n * @param operationLogConfig - Optional configuration for the operation log\n * @param options - Options including the data client (can be set later via setClient)\n */\n constructor(t, r, n) {\n return Be._root ? Be._root : (Be._root = this, this.registry = t, this._operationLogConfig = r, this._client = n?.client, this.initializeHSTStore(), this.setupRegistrySync(), this);\n }\n /**\n * Set the data client for fetching doctype metadata and records.\n * Use this for deferred configuration in Nuxt/Vue plugin setups.\n *\n * @param client - DataClient implementation (e.g., StonecropClient from \\@stonecrop/graphql-client)\n *\n * @example\n * ```ts\n * const { setClient } = useStonecropRegistry()\n * const client = new StonecropClient({ endpoint: '/graphql' })\n * setClient(client)\n * ```\n */\n setClient(t) {\n this._client = t;\n }\n /**\n * Get the current data client\n * @returns The DataClient instance or undefined if not set\n */\n getClient() {\n return this._client;\n }\n /**\n * Get the operation log store (lazy initialization)\n * @internal\n */\n getOperationLogStore() {\n return this._operationLogStore || (this._operationLogStore = or(), this._operationLogConfig && this._operationLogStore.configure(this._operationLogConfig)), this._operationLogStore;\n }\n /**\n * Initialize the HST store structure\n */\n initializeHSTStore() {\n const t = {};\n Object.keys(this.registry.registry).forEach((r) => {\n t[r] = {};\n }), this.hstStore = ya(nn(t), \"StonecropStore\");\n }\n /**\n * Setup automatic sync with Registry when doctypes are added\n */\n setupRegistrySync() {\n const t = this.registry.addDoctype.bind(this.registry);\n this.registry.addDoctype = (r) => {\n t(r), this.hstStore.has(r.slug) || this.hstStore.set(r.slug, {});\n };\n }\n /**\n * Get records hash for a doctype\n * @param doctype - The doctype to get records for\n * @returns HST node containing records hash\n */\n records(t) {\n const r = typeof t == \"string\" ? t : t.slug;\n return this.ensureDoctypeExists(r), this.hstStore.getNode(r);\n }\n /**\n * Add a record to the store\n * @param doctype - The doctype\n * @param recordId - The record ID\n * @param recordData - The record data\n */\n addRecord(t, r, n) {\n const i = typeof t == \"string\" ? t : t.slug;\n this.ensureDoctypeExists(i), this.hstStore.set(`${i}.${r}`, n);\n }\n /**\n * Get a specific record\n * @param doctype - The doctype\n * @param recordId - The record ID\n * @returns HST node for the record or undefined\n */\n getRecordById(t, r) {\n const n = typeof t == \"string\" ? t : t.slug;\n if (this.ensureDoctypeExists(n), !(!this.hstStore.has(`${n}.${r}`) || this.hstStore.get(`${n}.${r}`) === void 0))\n return this.hstStore.getNode(`${n}.${r}`);\n }\n /**\n * Remove a record from the store\n * @param doctype - The doctype\n * @param recordId - The record ID\n */\n removeRecord(t, r) {\n const n = typeof t == \"string\" ? t : t.slug;\n this.ensureDoctypeExists(n), this.hstStore.has(`${n}.${r}`) && this.hstStore.set(`${n}.${r}`, void 0);\n }\n /**\n * Get all record IDs for a doctype\n * @param doctype - The doctype\n * @returns Array of record IDs\n */\n getRecordIds(t) {\n const r = typeof t == \"string\" ? t : t.slug;\n this.ensureDoctypeExists(r);\n const n = this.hstStore.get(r);\n return !n || typeof n != \"object\" ? [] : Object.keys(n).filter((i) => n[i] !== void 0);\n }\n /**\n * Clear all records for a doctype\n * @param doctype - The doctype\n */\n clearRecords(t) {\n const r = typeof t == \"string\" ? t : t.slug;\n this.ensureDoctypeExists(r), this.getRecordIds(r).forEach((i) => {\n this.hstStore.set(`${r}.${i}`, void 0);\n });\n }\n /**\n * Setup method for doctype initialization\n * @param doctype - The doctype to setup\n */\n setup(t) {\n this.ensureDoctypeExists(t.slug);\n }\n /**\n * Run action on doctype\n * Executes the action and logs it to the operation log for audit tracking\n * @param doctype - The doctype\n * @param action - The action to run\n * @param args - Action arguments (typically record IDs)\n */\n runAction(t, r, n) {\n const o = this.registry.registry[t.slug]?.actions?.get(r), s = Array.isArray(n) ? n.filter((h) => typeof h == \"string\") : void 0, a = s?.[0], u = a ? this.isWorkflowReady(t, a) : { ready: !0 };\n if (!u.ready)\n throw this.getOperationLogStore().logAction(\n t.doctype,\n r,\n s,\n \"failure\",\n `BLOCKED: missing data for links: ${u.blockedLinks?.join(\", \")}`\n ), new Error(`Workflow blocked: missing data for links: ${u.blockedLinks?.join(\", \")}`);\n const c = this.getOperationLogStore();\n let f = \"success\", l;\n try {\n if (o && o.length > 0) {\n const h = Le();\n o.forEach((d) => {\n try {\n const _ = h.getAction(d);\n if (!_) throw new Error(`Action \"${d}\" is not registered in FieldTriggerEngine`);\n const g = {\n path: `${t.slug}.${s?.[0] ?? \"\"}`,\n fieldname: r,\n beforeValue: void 0,\n afterValue: n,\n operation: \"set\",\n doctype: t.doctype,\n recordId: a,\n timestamp: /* @__PURE__ */ new Date()\n };\n _(g);\n } catch (_) {\n throw f = \"failure\", l = _ instanceof Error ? _.message : \"Unknown error\", _;\n }\n });\n }\n } catch {\n } finally {\n c.logAction(t.doctype, r, s, f, l);\n }\n }\n /**\n * Get the effective blockWorkflows value for a link.\n * Returns true if blockWorkflows is explicitly true, or if it's absent and fetch method is 'sync'.\n * @param link - The link declaration\n * @returns Whether workflows should be blocked until this link is loaded\n */\n getEffectiveBlockWorkflows(t) {\n return t.blockWorkflows !== void 0 ? t.blockWorkflows : t.fetch?.method === \"sync\";\n }\n /**\n * Check if workflow actions are ready to run (all required link data is loaded).\n * A link's data is considered loaded if it exists in HST at `slug.recordId.linkname`.\n * @param doctype - The doctype to check\n * @param recordId - The record ID\n * @returns Object with `ready: true` if all blocked links are loaded, or `ready: false` with `blockedLinks` array\n */\n isWorkflowReady(t, r) {\n if (r === \"new\")\n return { ready: !0 };\n const n = this.registry.getDescendantLinks(t.slug), i = [];\n for (const o of n)\n if (this.getEffectiveBlockWorkflows(o)) {\n const s = `${t.slug}.${r}.${o.fieldname}`;\n this.hstStore.has(s) || i.push(o.fieldname);\n }\n return i.length > 0 ? { ready: !1, blockedLinks: i } : { ready: !0 };\n }\n /**\n * Get records from server using the configured data client.\n * @param doctype - The doctype\n * @throws Error if no data client has been configured\n */\n async getRecords(t) {\n if (!this._client)\n throw new Error(\n \"No data client configured. Call setClient() with a DataClient implementation (e.g., StonecropClient from @stonecrop/graphql-client) before fetching records.\"\n );\n (await this._client.getRecords(t)).forEach((n) => {\n typeof n.id == \"string\" && n.id ? this.addRecord(t, n.id, n) : typeof n.id == \"number\" && this.addRecord(t, String(n.id), n);\n });\n }\n /**\n * Get single record from server using the configured data client.\n * @param doctype - The doctype slug string or Doctype object\n * @param recordId - The record ID\n * @throws Error if no data client has been configured\n * @throws Error if a slug string is given and no matching doctype is found in the registry\n */\n async getRecord(t, r) {\n if (!this._client)\n throw new Error(\n \"No data client configured. Call setClient() with a DataClient implementation (e.g., StonecropClient from @stonecrop/graphql-client) before fetching records.\"\n );\n const n = typeof t == \"string\" ? this.registry.getDoctype(t) : t;\n if (!n)\n throw new Error(`Doctype not found: ${typeof t == \"string\" ? t : t.slug}`);\n const i = await this._client.getRecord(n, r);\n i?.record && this.addRecord(n, r, i.record);\n }\n /**\n * Dispatch an action to the server via the configured data client.\n * All state changes flow through this single mutation endpoint.\n *\n * @param doctype - The doctype\n * @param action - Action name to execute (e.g., 'SUBMIT', 'APPROVE', 'save')\n * @param args - Action arguments (typically record ID and/or form data)\n * @returns Action result with success status, response data, and any error\n * @throws Error if no data client has been configured\n */\n async dispatchAction(t, r, n) {\n if (!this._client)\n throw new Error(\n \"No data client configured. Call setClient() with a DataClient implementation (e.g., StonecropClient from @stonecrop/graphql-client) before dispatching actions.\"\n );\n return this._client.runAction(t, r, n);\n }\n /**\n * Ensure doctype section exists in HST store\n * @param slug - The doctype slug\n */\n ensureDoctypeExists(t) {\n this.hstStore.has(t) || this.hstStore.set(t, {});\n }\n /**\n * Get doctype metadata from the registry\n * @param context - The route context\n * @returns The doctype metadata\n */\n async getMeta(t) {\n if (!this.registry.getMeta)\n throw new Error(\"No getMeta function provided to Registry\");\n return await this.registry.getMeta(t);\n }\n /**\n * Get the root HST store node for advanced usage\n * @returns Root HST node\n */\n getStore() {\n return this.hstStore;\n }\n /**\n * Determine the current workflow state for a record.\n *\n * Reads the record's `status` field from the HST store. If the field is absent or\n * empty the doctype's declared `workflow.initial` state is used as the fallback,\n * giving callers a reliable state name without having to duplicate that logic.\n *\n * @param doctype - The doctype slug or Doctype instance\n * @param recordId - The record identifier\n * @returns The current state name, or an empty string if the doctype has no workflow\n *\n * @public\n */\n getRecordState(t, r) {\n const n = typeof t == \"string\" ? t : t.slug, i = this.registry.getDoctype(n);\n if (!i?.workflow) return \"\";\n const s = this.getRecordById(n, r)?.get(\"status\"), a = i.workflow;\n let u;\n return Array.isArray(a.states) ? u = a.states[0] ?? \"\" : u = typeof a.initial == \"string\" ? a.initial : Object.keys(a.states ?? {})[0] ?? \"\", s || u;\n }\n /**\n * Collect a record payload with all nested doctype fields from HST\n * @param doctype - The doctype metadata\n * @param recordId - The record ID to collect\n * @returns The complete record payload ready for API submission\n * @public\n */\n collectRecordPayload(t, r) {\n const n = `${t.slug}.${r}`, o = { ...this.hstStore.get(n) || {} };\n if (t.links)\n for (const [s, a] of Object.entries(t.links)) {\n const u = `${n}.${s}`;\n if (a.cardinality === \"noneOrMany\" || a.cardinality === \"atLeastOne\") {\n const f = this.hstStore.get(u);\n Array.isArray(f) && (o[s] = f);\n } else {\n const f = this.registry.getDoctype(a.target);\n f?.links ? o[s] = this.collectNestedData(u, f) : o[s] = this.hstStore.get(u) || {};\n }\n }\n return o;\n }\n /**\n * Scaffold empty descendant records from defaults for all descendant links.\n *\n * Initializes all scalar and link fields at their HST paths with default values.\n * For new records, call this after setting up the doctype to ensure all paths exist.\n *\n * @param path - HST path (e.g., \"customer.new\")\n * @param doctype - The doctype to initialize\n * @public\n */\n initializeNestedData(t, r) {\n const n = r.slug;\n this.ensureDoctypeExists(n);\n const i = this.registry.resolveSchema(r), o = this.registry.initializeRecord(i);\n this.hstStore.get(t) || this.hstStore.set(t, {}, \"system\");\n for (const [a, u] of Object.entries(o))\n this.hstStore.set(`${t}.${a}`, u, \"system\");\n }\n /**\n * Fetch a record and its nested data from the server.\n *\n * Calls `_client.getRecord()` with nested sub-selections and stores each scalar field at its own HST path\n * (`slug.recordId.fieldname`), descendants at the link-level path (`slug.recordId.linkname`).\n *\n * @param path - HST path (e.g., \"recipe.r1\")\n * @param doctype - The doctype to fetch\n * @param recordId - Record ID to fetch\n * @param options - Query options (includeNested to control which links are fetched)\n * @throws Error with code `\"CLIENT_REQUIRED\"` if no data client is configured\n * @throws Error with code `\"RECORD_NOT_FOUND\"` if the server returns null\n * @public\n */\n async fetchNestedData(t, r, n, i) {\n if (!this._client)\n throw ai(\n \"No data client configured. Call setClient() with a DataClient implementation (e.g., StonecropClient from @stonecrop/graphql-client) before fetching records.\",\n \"CLIENT_REQUIRED\"\n );\n const o = await this._client.getRecord({ name: r.doctype }, n, {\n includeNested: i?.includeNested ?? !0\n });\n if (!o?.record)\n throw ai(`Record not found: ${r.doctype} ${n}`, \"RECORD_NOT_FOUND\");\n const s = r.slug;\n this.ensureDoctypeExists(s), this.hstStore.get(`${s}.${n}`) || this.hstStore.set(`${s}.${n}`, {}, \"system\");\n for (const [u, c] of Object.entries(o.record))\n this.hstStore.set(`${s}.${n}.${u}`, c, \"system\");\n }\n /**\n * Recursively collect nested data from HST\n * @param basePath - The base path in HST (e.g., \"customer.123.address\")\n * @param doctype - The doctype whose links drive the recursive traversal\n * @returns The collected data object\n */\n collectNestedData(t, r) {\n const i = { ...this.hstStore.get(t) || {} };\n if (!r.links) return i;\n for (const [o, s] of Object.entries(r.links)) {\n const a = `${t}.${o}`;\n if (s.cardinality === \"noneOrMany\" || s.cardinality === \"atLeastOne\") {\n const c = this.hstStore.get(a);\n Array.isArray(c) && (i[o] = c);\n } else {\n const c = this.registry.getDoctype(s.target);\n c?.links ? i[o] = this.collectNestedData(a, c) : i[o] = this.hstStore.get(a) || {};\n }\n }\n return i;\n }\n}\nfunction Ip() {\n return Be._root;\n}\nfunction ai(e, t) {\n const r = new Error(e);\n return r.code = t, r;\n}\nfunction Ap(e, t, r) {\n const n = kr(\"$stonecrop\") || Be._root;\n if (!n)\n throw new Error(\"Stonecrop instance not available. Ensure useStonecrop() has been called first.\");\n const i = K(!1), o = K(!1), s = K(null), a = n.getStore(), u = () => `${e.slug || e.doctype}.${t}.${r}`, c = () => e.links?.[r]?.fetch, f = async (_) => {\n try {\n return await new Function(\n \"stonecrop\",\n \"path\",\n \"hst\",\n `\n\t\t\t\treturn (${_})(stonecrop, path, hst)\n\t\t\t`\n )(n, u(), a);\n } catch (g) {\n throw new Error(`Custom handler failed: ${g instanceof Error ? g.message : String(g)}`, { cause: g });\n }\n }, l = async () => {\n const _ = c(), g = `${e.slug || e.doctype}.${t}`;\n if (_?.method === \"custom\") {\n a.has(g) || a.set(g, {}, \"system\");\n const m = await f(_.handler);\n a.set(u(), m, \"system\");\n } else\n await n.fetchNestedData(g, e, t, { includeNested: [r] });\n }, h = async () => {\n if (!i.value) {\n i.value = !0, s.value = null;\n try {\n await l(), o.value = !0;\n } catch (_) {\n throw s.value = _ instanceof Error ? _ : new Error(String(_)), _;\n } finally {\n i.value = !1;\n }\n }\n }, d = te(() => {\n if (o.value)\n return a.get(u());\n });\n return {\n // State\n loading: i,\n loaded: o,\n error: s,\n // Computed\n data: d,\n // Actions\n reload: h\n };\n}\nfunction Rp(e) {\n e || (e = {});\n const t = e.registry || kr(\"$registry\"), r = kr(\"$stonecrop\"), n = K(), i = K(), o = K({}), s = K(), a = K(), u = K([]), c = K(!1), f = K(null), l = K(), h = te(() => !n.value || !l.value || !e.recordId || e.recordId === \"new\" ? !0 : n.value.isWorkflowReady(l.value, e.recordId).ready), d = te(() => !n.value || !l.value || !e.recordId || e.recordId === \"new\" ? [] : n.value.isWorkflowReady(l.value, e.recordId).blockedLinks ?? []), _ = r || Be._root;\n _ && (n.value = _), e?.doctype && typeof e.doctype != \"string\" && (l.value = e.doctype);\n const g = K([]), m = K(-1), E = te(() => n.value?.getOperationLogStore().canUndo ?? !1), $ = te(() => n.value?.getOperationLogStore().canRedo ?? !1), b = te(() => n.value?.getOperationLogStore().undoCount ?? 0), N = te(() => n.value?.getOperationLogStore().redoCount ?? 0), k = te(\n () => n.value?.getOperationLogStore().undoRedoState ?? {\n canUndo: !1,\n canRedo: !1,\n undoCount: 0,\n redoCount: 0,\n currentIndex: -1\n }\n ), M = (z) => n.value?.getOperationLogStore().undo(z) ?? !1, D = (z) => n.value?.getOperationLogStore().redo(z) ?? !1, ie = () => {\n n.value?.getOperationLogStore().startBatch();\n }, Re = (z) => n.value?.getOperationLogStore().commitBatch(z) ?? null, Ct = () => {\n n.value?.getOperationLogStore().cancelBatch();\n }, jt = () => {\n n.value?.getOperationLogStore().clear();\n }, Ce = (z, R) => n.value?.getOperationLogStore().getOperationsFor(z, R) ?? [], ht = () => n.value?.getOperationLogStore().getSnapshot() ?? {\n operations: [],\n currentIndex: -1,\n totalOperations: 0,\n reversibleOperations: 0,\n irreversibleOperations: 0\n }, A = (z, R) => {\n n.value?.getOperationLogStore().markIrreversible(z, R);\n }, Y = (z, R, O, L = \"success\", F) => n.value?.getOperationLogStore().logAction(z, R, O, L, F) ?? \"\", ae = (z) => {\n n.value?.getOperationLogStore().configure(z);\n };\n if (t && n.value)\n try {\n const z = n.value.getOperationLogStore(), R = oo(z);\n g.value = R.operations.value, m.value = R.currentIndex.value, Je(\n () => R.operations.value,\n (O) => {\n g.value = O;\n }\n ), Je(\n () => R.currentIndex.value,\n (O) => {\n m.value = O;\n }\n );\n } catch {\n }\n e.doctype && typeof e.doctype != \"string\" && t && n.value && (i.value = n.value.getStore(), u.value = t.resolveSchema(e.doctype), (!e.recordId || e.recordId === \"new\") && (o.value = t.initializeRecord(u.value)), i.value && Kr(e.doctype, e.recordId || \"new\", o, i.value)), eo(async () => {\n if (!(!t || !n.value)) {\n if (!e.doctype && t.router) {\n const z = t.router.currentRoute.value;\n if (!z.path) return;\n const R = z.path.split(\"/\").filter((L) => L.length > 0), O = R[1]?.toLowerCase();\n if (R.length > 0) {\n const L = {\n path: z.path,\n segments: R\n }, F = await t.getMeta?.(L);\n if (F) {\n if (t.addDoctype(F), n.value.setup(F), s.value = F, a.value = O, i.value = n.value.getStore(), t && (u.value = t.resolveSchema(F)), O && O !== \"new\") {\n const nt = n.value.getRecordById(F, O);\n if (nt)\n o.value = nt.get(\"\") || {};\n else\n try {\n await n.value.getRecord(F, O);\n const pt = n.value.getRecordById(F, O);\n pt && (o.value = pt.get(\"\") || {});\n } catch {\n o.value = t.initializeRecord(u.value);\n }\n } else\n o.value = t.initializeRecord(u.value);\n i.value && Kr(F, O || \"new\", o, i.value), n.value.runAction(F, \"load\", O ? [O] : void 0);\n }\n }\n }\n if (e.doctype) {\n const z = e.recordId;\n if (typeof e.doctype == \"string\") {\n const R = e.doctype;\n i.value = n.value.getStore(), c.value = !0, f.value = null;\n let O;\n try {\n if (O = t.getDoctype(R), !O && t.getMeta) {\n const L = {\n path: `/${R}`,\n segments: [R]\n };\n O = await t.getMeta(L), O && t.addDoctype(O);\n }\n O || (f.value = new Error(`Doctype '${R}' not found in registry and getMeta returned no result`));\n } catch (L) {\n f.value = L instanceof Error ? L : new Error(String(L));\n } finally {\n c.value = !1;\n }\n if (l.value = O, !O) return;\n if (u.value = t.resolveSchema(O), z && z !== \"new\") {\n const L = n.value.getRecordById(O, z);\n if (L)\n o.value = L.get(\"\") || {};\n else\n try {\n await n.value.getRecord(O, z);\n const F = n.value.getRecordById(O, z);\n F && (o.value = F.get(\"\") || {});\n } catch {\n o.value = t.initializeRecord(u.value);\n }\n } else\n o.value = t.initializeRecord(u.value);\n i.value && Kr(O, z || \"new\", o, i.value);\n } else if (z && z !== \"new\") {\n const R = e.doctype, O = n.value.getRecordById(R, z);\n if (O)\n o.value = O.get(\"\") || {};\n else\n try {\n await n.value.getRecord(R, z);\n const L = n.value.getRecordById(R, z);\n L && (o.value = L.get(\"\") || {});\n } catch {\n o.value = t.initializeRecord(u.value);\n }\n }\n }\n }\n });\n const w = (z, R) => {\n const O = l.value || s.value;\n if (!O) return \"\";\n const L = R || e.recordId || a.value || \"new\";\n return `${O.slug}.${L}.${z}`;\n }, S = (z) => {\n const R = l.value || s.value;\n if (!(!i.value || !n.value || !R))\n try {\n const O = z.path.split(\".\");\n if (O.length >= 2) {\n const nt = O[0], pt = O[1];\n if (i.value.has(`${nt}.${pt}`) || n.value.addRecord(R, pt, { ...o.value }), O.length > 3) {\n const Us = `${nt}.${pt}`, Br = O.slice(2);\n let Wr = Us;\n for (let hr = 0; hr < Br.length - 1; hr++)\n if (Wr += `.${Br[hr]}`, !i.value.has(Wr)) {\n const Bs = Br[hr + 1], Ws = !isNaN(Number(Bs));\n i.value.set(Wr, Ws ? [] : {});\n }\n }\n }\n i.value.set(z.path, z.value);\n const L = z.fieldname.split(\".\"), F = { ...o.value };\n L.length === 1 ? F[L[0]] = z.value : wa(F, L, z.value), o.value = F;\n } catch {\n }\n };\n (e.doctype || t?.router) && (ri(\"hstPathProvider\", w), ri(\"hstChangeHandler\", S));\n const v = (z, R) => {\n if (!n.value)\n throw new Error(\"Stonecrop instance not available\");\n return n.value.initializeNestedData(z, R);\n }, X = async (z, R, O, L) => {\n if (!n.value)\n throw new Error(\"Stonecrop instance not available\");\n return n.value.fetchNestedData(z, R, O, L);\n }, be = (z, R) => {\n if (!n.value)\n throw new Error(\"Stonecrop instance not available\");\n return n.value.collectRecordPayload(z, R);\n }, Te = (z, R) => ({\n provideHSTPath: (F) => `${z}.${F}`,\n handleHSTChange: (F) => {\n const nt = F.path.startsWith(z) ? F.path : `${z}.${F.fieldname}`;\n S({\n ...F,\n path: nt\n });\n }\n }), je = {\n operations: g,\n currentIndex: m,\n undoRedoState: k,\n canUndo: E,\n canRedo: $,\n undoCount: b,\n redoCount: N,\n undo: M,\n redo: D,\n startBatch: ie,\n commitBatch: Re,\n cancelBatch: Ct,\n clear: jt,\n getOperationsFor: Ce,\n getSnapshot: ht,\n markIrreversible: A,\n logAction: Y,\n configure: ae\n };\n return e.doctype ? {\n stonecrop: n,\n operationLog: je,\n provideHSTPath: w,\n handleHSTChange: S,\n hstStore: i,\n formData: o,\n resolvedSchema: u,\n initializeNestedData: v,\n fetchNestedData: X,\n collectRecordPayload: be,\n createNestedContext: Te,\n isLoading: c,\n error: f,\n resolvedDoctype: l,\n isWorkflowReady: h,\n blockedLinks: d\n } : !e.doctype && t?.router ? {\n stonecrop: n,\n operationLog: je,\n provideHSTPath: w,\n handleHSTChange: S,\n hstStore: i,\n formData: o,\n resolvedSchema: u,\n initializeNestedData: v,\n fetchNestedData: X,\n collectRecordPayload: be,\n createNestedContext: Te,\n isLoading: c,\n error: f,\n resolvedDoctype: l,\n isWorkflowReady: h,\n blockedLinks: d\n } : {\n stonecrop: n,\n operationLog: je\n };\n}\nfunction Kr(e, t, r, n) {\n Je(\n r,\n (i) => {\n const o = `${e.slug}.${t}`;\n Object.keys(i).forEach((s) => {\n const a = `${o}.${s}`;\n try {\n n.set(a, i[s]);\n } catch {\n }\n });\n },\n { deep: !0 }\n );\n}\nfunction wa(e, t, r) {\n let n = e;\n for (let o = 0; o < t.length - 1; o++) {\n const s = t[o];\n (!(s in n) || typeof n[s] != \"object\") && (n[s] = isNaN(Number(t[o + 1])) ? {} : []), n = n[s];\n }\n const i = t[t.length - 1];\n n[i] = r;\n}\nfunction uo(e) {\n const r = (ro() ? kr(\"$operationLogStore\", void 0) : void 0) || or();\n e && r.configure(e);\n const { operations: n, currentIndex: i, undoRedoState: o, canUndo: s, canRedo: a, undoCount: u, redoCount: c } = oo(r);\n function f(k) {\n return r.undo(k);\n }\n function l(k) {\n return r.redo(k);\n }\n function h() {\n r.startBatch();\n }\n function d(k) {\n return r.commitBatch(k);\n }\n function _() {\n r.cancelBatch();\n }\n function g() {\n r.clear();\n }\n function m(k, M) {\n return r.getOperationsFor(k, M);\n }\n function E() {\n return r.getSnapshot();\n }\n function $(k, M) {\n r.markIrreversible(k, M);\n }\n function b(k, M, D, ie = \"success\", Re) {\n return r.logAction(k, M, D, ie, Re);\n }\n function N(k) {\n r.configure(k);\n }\n return {\n // State\n operations: n,\n currentIndex: i,\n undoRedoState: o,\n canUndo: s,\n canRedo: a,\n undoCount: u,\n redoCount: c,\n // Methods\n undo: f,\n redo: l,\n startBatch: h,\n commitBatch: d,\n cancelBatch: _,\n clear: g,\n getOperationsFor: m,\n getSnapshot: E,\n markIrreversible: $,\n logAction: b,\n configure: N\n };\n}\nfunction Tp(e, t = !0) {\n if (!t) return;\n const { undo: r, redo: n, canUndo: i, canRedo: o } = uo(), s = ma();\n Lt(s[\"Ctrl+Z\"], () => {\n i.value && r(e);\n }), Lt(s[\"Meta+Z\"], () => {\n i.value && r(e);\n }), Lt(s[\"Ctrl+Shift+Z\"], () => {\n o.value && n(e);\n }), Lt(s[\"Meta+Shift+Z\"], () => {\n o.value && n(e);\n }), Lt(s[\"Ctrl+Y\"], () => {\n o.value && n(e);\n });\n}\nasync function Pp(e, t) {\n const { startBatch: r, commitBatch: n, cancelBatch: i } = uo();\n r();\n try {\n return await e(), n(t);\n } catch (o) {\n throw i(), o;\n }\n}\nfunction p(e, t, r) {\n function n(a, u) {\n if (a._zod || Object.defineProperty(a, \"_zod\", {\n value: {\n def: u,\n constr: s,\n traits: /* @__PURE__ */ new Set()\n },\n enumerable: !1\n }), a._zod.traits.has(e))\n return;\n a._zod.traits.add(e), t(a, u);\n const c = s.prototype, f = Object.keys(c);\n for (let l = 0; l < f.length; l++) {\n const h = f[l];\n h in a || (a[h] = c[h].bind(a));\n }\n }\n const i = r?.Parent ?? Object;\n class o extends i {\n }\n Object.defineProperty(o, \"name\", { value: e });\n function s(a) {\n var u;\n const c = r?.Parent ? new o() : this;\n n(c, a), (u = c._zod).deferred ?? (u.deferred = []);\n for (const f of c._zod.deferred)\n f();\n return c;\n }\n return Object.defineProperty(s, \"init\", { value: n }), Object.defineProperty(s, Symbol.hasInstance, {\n value: (a) => r?.Parent && a instanceof r.Parent ? !0 : a?._zod?.traits?.has(e)\n }), Object.defineProperty(s, \"name\", { value: e }), s;\n}\nclass vt extends Error {\n constructor() {\n super(\"Encountered Promise during synchronous parse. Use .parseAsync() instead.\");\n }\n}\nclass co extends Error {\n constructor(t) {\n super(`Encountered unidirectional transform during encode: ${t}`), this.name = \"ZodEncodeError\";\n }\n}\nconst fo = {};\nfunction Ve(e) {\n return fo;\n}\nfunction lo(e) {\n const t = Object.values(e).filter((n) => typeof n == \"number\");\n return Object.entries(e).filter(([n, i]) => t.indexOf(+n) === -1).map(([n, i]) => i);\n}\nfunction on(e, t) {\n return typeof t == \"bigint\" ? t.toString() : t;\n}\nfunction Nr(e) {\n return {\n get value() {\n {\n const t = e();\n return Object.defineProperty(this, \"value\", { value: t }), t;\n }\n }\n };\n}\nfunction wn(e) {\n return e == null;\n}\nfunction Sn(e) {\n const t = e.startsWith(\"^\") ? 1 : 0, r = e.endsWith(\"$\") ? e.length - 1 : e.length;\n return e.slice(t, r);\n}\nfunction Sa(e, t) {\n const r = (e.toString().split(\".\")[1] || \"\").length, n = t.toString();\n let i = (n.split(\".\")[1] || \"\").length;\n if (i === 0 && /\\d?e-\\d?/.test(n)) {\n const u = n.match(/\\d?e-(\\d?)/);\n u?.[1] && (i = Number.parseInt(u[1]));\n }\n const o = r > i ? r : i, s = Number.parseInt(e.toFixed(o).replace(\".\", \"\")), a = Number.parseInt(t.toFixed(o).replace(\".\", \"\"));\n return s % a / 10 ** o;\n}\nconst ui = /* @__PURE__ */ Symbol(\"evaluating\");\nfunction T(e, t, r) {\n let n;\n Object.defineProperty(e, t, {\n get() {\n if (n !== ui)\n return n === void 0 && (n = ui, n = r()), n;\n },\n set(i) {\n Object.defineProperty(e, t, {\n value: i\n // configurable: true,\n });\n },\n configurable: !0\n });\n}\nfunction at(e, t, r) {\n Object.defineProperty(e, t, {\n value: r,\n writable: !0,\n enumerable: !0,\n configurable: !0\n });\n}\nfunction et(...e) {\n const t = {};\n for (const r of e) {\n const n = Object.getOwnPropertyDescriptors(r);\n Object.assign(t, n);\n }\n return Object.defineProperties({}, t);\n}\nfunction ci(e) {\n return JSON.stringify(e);\n}\nfunction ba(e) {\n return e.toLowerCase().trim().replace(/[^\\w\\s-]/g, \"\").replace(/[\\s_-]+/g, \"-\").replace(/^-+|-+$/g, \"\");\n}\nconst ho = \"captureStackTrace\" in Error ? Error.captureStackTrace : (...e) => {\n};\nfunction Ht(e) {\n return typeof e == \"object\" && e !== null && !Array.isArray(e);\n}\nconst za = Nr(() => {\n if (typeof navigator < \"u\" && navigator?.userAgent?.includes(\"Cloudflare\"))\n return !1;\n try {\n const e = Function;\n return new e(\"\"), !0;\n } catch {\n return !1;\n }\n});\nfunction yt(e) {\n if (Ht(e) === !1)\n return !1;\n const t = e.constructor;\n if (t === void 0 || typeof t != \"function\")\n return !0;\n const r = t.prototype;\n return !(Ht(r) === !1 || Object.prototype.hasOwnProperty.call(r, \"isPrototypeOf\") === !1);\n}\nfunction po(e) {\n return yt(e) ? { ...e } : Array.isArray(e) ? [...e] : e;\n}\nconst ka = /* @__PURE__ */ new Set([\"string\", \"number\", \"symbol\"]);\nfunction wt(e) {\n return e.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\nfunction tt(e, t, r) {\n const n = new e._zod.constr(t ?? e._zod.def);\n return (!t || r?.parent) && (n._zod.parent = e), n;\n}\nfunction y(e) {\n const t = e;\n if (!t)\n return {};\n if (typeof t == \"string\")\n return { error: () => t };\n if (t?.message !== void 0) {\n if (t?.error !== void 0)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n t.error = t.message;\n }\n return delete t.message, typeof t.error == \"string\" ? { ...t, error: () => t.error } : t;\n}\nfunction Oa(e) {\n return Object.keys(e).filter((t) => e[t]._zod.optin === \"optional\" && e[t]._zod.optout === \"optional\");\n}\nconst $a = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-34028234663852886e22, 34028234663852886e22],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE]\n};\nfunction Ea(e, t) {\n const r = e._zod.def, n = r.checks;\n if (n && n.length > 0)\n throw new Error(\".pick() cannot be used on object schemas containing refinements\");\n const o = et(e._zod.def, {\n get shape() {\n const s = {};\n for (const a in t) {\n if (!(a in r.shape))\n throw new Error(`Unrecognized key: \"${a}\"`);\n t[a] && (s[a] = r.shape[a]);\n }\n return at(this, \"shape\", s), s;\n },\n checks: []\n });\n return tt(e, o);\n}\nfunction Ia(e, t) {\n const r = e._zod.def, n = r.checks;\n if (n && n.length > 0)\n throw new Error(\".omit() cannot be used on object schemas containing refinements\");\n const o = et(e._zod.def, {\n get shape() {\n const s = { ...e._zod.def.shape };\n for (const a in t) {\n if (!(a in r.shape))\n throw new Error(`Unrecognized key: \"${a}\"`);\n t[a] && delete s[a];\n }\n return at(this, \"shape\", s), s;\n },\n checks: []\n });\n return tt(e, o);\n}\nfunction Aa(e, t) {\n if (!yt(t))\n throw new Error(\"Invalid input to extend: expected a plain object\");\n const r = e._zod.def.checks;\n if (r && r.length > 0) {\n const o = e._zod.def.shape;\n for (const s in t)\n if (Object.getOwnPropertyDescriptor(o, s) !== void 0)\n throw new Error(\"Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.\");\n }\n const i = et(e._zod.def, {\n get shape() {\n const o = { ...e._zod.def.shape, ...t };\n return at(this, \"shape\", o), o;\n }\n });\n return tt(e, i);\n}\nfunction Ra(e, t) {\n if (!yt(t))\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n const r = et(e._zod.def, {\n get shape() {\n const n = { ...e._zod.def.shape, ...t };\n return at(this, \"shape\", n), n;\n }\n });\n return tt(e, r);\n}\nfunction Ta(e, t) {\n const r = et(e._zod.def, {\n get shape() {\n const n = { ...e._zod.def.shape, ...t._zod.def.shape };\n return at(this, \"shape\", n), n;\n },\n get catchall() {\n return t._zod.def.catchall;\n },\n checks: []\n // delete existing checks\n });\n return tt(e, r);\n}\nfunction Pa(e, t, r) {\n const i = t._zod.def.checks;\n if (i && i.length > 0)\n throw new Error(\".partial() cannot be used on object schemas containing refinements\");\n const s = et(t._zod.def, {\n get shape() {\n const a = t._zod.def.shape, u = { ...a };\n if (r)\n for (const c in r) {\n if (!(c in a))\n throw new Error(`Unrecognized key: \"${c}\"`);\n r[c] && (u[c] = e ? new e({\n type: \"optional\",\n innerType: a[c]\n }) : a[c]);\n }\n else\n for (const c in a)\n u[c] = e ? new e({\n type: \"optional\",\n innerType: a[c]\n }) : a[c];\n return at(this, \"shape\", u), u;\n },\n checks: []\n });\n return tt(t, s);\n}\nfunction Na(e, t, r) {\n const n = et(t._zod.def, {\n get shape() {\n const i = t._zod.def.shape, o = { ...i };\n if (r)\n for (const s in r) {\n if (!(s in o))\n throw new Error(`Unrecognized key: \"${s}\"`);\n r[s] && (o[s] = new e({\n type: \"nonoptional\",\n innerType: i[s]\n }));\n }\n else\n for (const s in i)\n o[s] = new e({\n type: \"nonoptional\",\n innerType: i[s]\n });\n return at(this, \"shape\", o), o;\n }\n });\n return tt(t, n);\n}\nfunction gt(e, t = 0) {\n if (e.aborted === !0)\n return !0;\n for (let r = t; r < e.issues.length; r++)\n if (e.issues[r]?.continue !== !0)\n return !0;\n return !1;\n}\nfunction mt(e, t) {\n return t.map((r) => {\n var n;\n return (n = r).path ?? (n.path = []), r.path.unshift(e), r;\n });\n}\nfunction gr(e) {\n return typeof e == \"string\" ? e : e?.message;\n}\nfunction Ke(e, t, r) {\n const n = { ...e, path: e.path ?? [] };\n if (!e.message) {\n const i = gr(e.inst?._zod.def?.error?.(e)) ?? gr(t?.error?.(e)) ?? gr(r.customError?.(e)) ?? gr(r.localeError?.(e)) ?? \"Invalid input\";\n n.message = i;\n }\n return delete n.inst, delete n.continue, t?.reportInput || delete n.input, n;\n}\nfunction bn(e) {\n return Array.isArray(e) ? \"array\" : typeof e == \"string\" ? \"string\" : \"unknown\";\n}\nfunction Yt(...e) {\n const [t, r, n] = e;\n return typeof t == \"string\" ? {\n message: t,\n code: \"custom\",\n input: r,\n inst: n\n } : { ...t };\n}\nconst _o = (e, t) => {\n e.name = \"$ZodError\", Object.defineProperty(e, \"_zod\", {\n value: e._zod,\n enumerable: !1\n }), Object.defineProperty(e, \"issues\", {\n value: t,\n enumerable: !1\n }), e.message = JSON.stringify(t, on, 2), Object.defineProperty(e, \"toString\", {\n value: () => e.message,\n enumerable: !1\n });\n}, go = p(\"$ZodError\", _o), mo = p(\"$ZodError\", _o, { Parent: Error });\nfunction Za(e, t = (r) => r.message) {\n const r = {}, n = [];\n for (const i of e.issues)\n i.path.length > 0 ? (r[i.path[0]] = r[i.path[0]] || [], r[i.path[0]].push(t(i))) : n.push(t(i));\n return { formErrors: n, fieldErrors: r };\n}\nfunction Ma(e, t = (r) => r.message) {\n const r = { _errors: [] }, n = (i) => {\n for (const o of i.issues)\n if (o.code === \"invalid_union\" && o.errors.length)\n o.errors.map((s) => n({ issues: s }));\n else if (o.code === \"invalid_key\")\n n({ issues: o.issues });\n else if (o.code === \"invalid_element\")\n n({ issues: o.issues });\n else if (o.path.length === 0)\n r._errors.push(t(o));\n else {\n let s = r, a = 0;\n for (; a < o.path.length; ) {\n const u = o.path[a];\n a === o.path.length - 1 ? (s[u] = s[u] || { _errors: [] }, s[u]._errors.push(t(o))) : s[u] = s[u] || { _errors: [] }, s = s[u], a++;\n }\n }\n };\n return n(e), r;\n}\nconst zn = (e) => (t, r, n, i) => {\n const o = n ? Object.assign(n, { async: !1 }) : { async: !1 }, s = t._zod.run({ value: r, issues: [] }, o);\n if (s instanceof Promise)\n throw new vt();\n if (s.issues.length) {\n const a = new (i?.Err ?? e)(s.issues.map((u) => Ke(u, o, Ve())));\n throw ho(a, i?.callee), a;\n }\n return s.value;\n}, kn = (e) => async (t, r, n, i) => {\n const o = n ? Object.assign(n, { async: !0 }) : { async: !0 };\n let s = t._zod.run({ value: r, issues: [] }, o);\n if (s instanceof Promise && (s = await s), s.issues.length) {\n const a = new (i?.Err ?? e)(s.issues.map((u) => Ke(u, o, Ve())));\n throw ho(a, i?.callee), a;\n }\n return s.value;\n}, Zr = (e) => (t, r, n) => {\n const i = n ? { ...n, async: !1 } : { async: !1 }, o = t._zod.run({ value: r, issues: [] }, i);\n if (o instanceof Promise)\n throw new vt();\n return o.issues.length ? {\n success: !1,\n error: new (e ?? go)(o.issues.map((s) => Ke(s, i, Ve())))\n } : { success: !0, data: o.value };\n}, Da = /* @__PURE__ */ Zr(mo), Mr = (e) => async (t, r, n) => {\n const i = n ? Object.assign(n, { async: !0 }) : { async: !0 };\n let o = t._zod.run({ value: r, issues: [] }, i);\n return o instanceof Promise && (o = await o), o.issues.length ? {\n success: !1,\n error: new e(o.issues.map((s) => Ke(s, i, Ve())))\n } : { success: !0, data: o.value };\n}, Ca = /* @__PURE__ */ Mr(mo), ja = (e) => (t, r, n) => {\n const i = n ? Object.assign(n, { direction: \"backward\" }) : { direction: \"backward\" };\n return zn(e)(t, r, i);\n}, La = (e) => (t, r, n) => zn(e)(t, r, n), Fa = (e) => async (t, r, n) => {\n const i = n ? Object.assign(n, { direction: \"backward\" }) : { direction: \"backward\" };\n return kn(e)(t, r, i);\n}, xa = (e) => async (t, r, n) => kn(e)(t, r, n), qa = (e) => (t, r, n) => {\n const i = n ? Object.assign(n, { direction: \"backward\" }) : { direction: \"backward\" };\n return Zr(e)(t, r, i);\n}, Ua = (e) => (t, r, n) => Zr(e)(t, r, n), Ba = (e) => async (t, r, n) => {\n const i = n ? Object.assign(n, { direction: \"backward\" }) : { direction: \"backward\" };\n return Mr(e)(t, r, i);\n}, Wa = (e) => async (t, r, n) => Mr(e)(t, r, n), Ja = /^[cC][^\\s-]{8,}$/, Va = /^[0-9a-z]+$/, Ka = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/, Ha = /^[0-9a-vA-V]{20}$/, Ya = /^[A-Za-z0-9]{27}$/, Ga = /^[a-zA-Z0-9_-]{21}$/, Xa = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/, Qa = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/, fi = (e) => e ? new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`) : /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/, eu = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/, tu = \"^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$\";\nfunction ru() {\n return new RegExp(tu, \"u\");\n}\nconst nu = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, iu = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/, ou = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/, su = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, au = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/, vo = /^[A-Za-z0-9_-]*$/, uu = /^\\+[1-9]\\d{6,14}$/, yo = \"(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))\", cu = /* @__PURE__ */ new RegExp(`^${yo}$`);\nfunction wo(e) {\n const t = \"(?:[01]\\\\d|2[0-3]):[0-5]\\\\d\";\n return typeof e.precision == \"number\" ? e.precision === -1 ? `${t}` : e.precision === 0 ? `${t}:[0-5]\\\\d` : `${t}:[0-5]\\\\d\\\\.\\\\d{${e.precision}}` : `${t}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n}\nfunction fu(e) {\n return new RegExp(`^${wo(e)}$`);\n}\nfunction lu(e) {\n const t = wo({ precision: e.precision }), r = [\"Z\"];\n e.local && r.push(\"\"), e.offset && r.push(\"([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)\");\n const n = `${t}(?:${r.join(\"|\")})`;\n return new RegExp(`^${yo}T(?:${n})$`);\n}\nconst hu = (e) => {\n const t = e ? `[\\\\s\\\\S]{${e?.minimum ?? 0},${e?.maximum ?? \"\"}}` : \"[\\\\s\\\\S]*\";\n return new RegExp(`^${t}$`);\n}, pu = /^-?\\d+$/, So = /^-?\\d+(?:\\.\\d+)?$/, du = /^(?:true|false)$/i, _u = /^[^A-Z]*$/, gu = /^[^a-z]*$/, de = /* @__PURE__ */ p(\"$ZodCheck\", (e, t) => {\n var r;\n e._zod ?? (e._zod = {}), e._zod.def = t, (r = e._zod).onattach ?? (r.onattach = []);\n}), bo = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\"\n}, zo = /* @__PURE__ */ p(\"$ZodCheckLessThan\", (e, t) => {\n de.init(e, t);\n const r = bo[typeof t.value];\n e._zod.onattach.push((n) => {\n const i = n._zod.bag, o = (t.inclusive ? i.maximum : i.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n t.value < o && (t.inclusive ? i.maximum = t.value : i.exclusiveMaximum = t.value);\n }), e._zod.check = (n) => {\n (t.inclusive ? n.value <= t.value : n.value < t.value) || n.issues.push({\n origin: r,\n code: \"too_big\",\n maximum: typeof t.value == \"object\" ? t.value.getTime() : t.value,\n input: n.value,\n inclusive: t.inclusive,\n inst: e,\n continue: !t.abort\n });\n };\n}), ko = /* @__PURE__ */ p(\"$ZodCheckGreaterThan\", (e, t) => {\n de.init(e, t);\n const r = bo[typeof t.value];\n e._zod.onattach.push((n) => {\n const i = n._zod.bag, o = (t.inclusive ? i.minimum : i.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n t.value > o && (t.inclusive ? i.minimum = t.value : i.exclusiveMinimum = t.value);\n }), e._zod.check = (n) => {\n (t.inclusive ? n.value >= t.value : n.value > t.value) || n.issues.push({\n origin: r,\n code: \"too_small\",\n minimum: typeof t.value == \"object\" ? t.value.getTime() : t.value,\n input: n.value,\n inclusive: t.inclusive,\n inst: e,\n continue: !t.abort\n });\n };\n}), mu = /* @__PURE__ */ p(\"$ZodCheckMultipleOf\", (e, t) => {\n de.init(e, t), e._zod.onattach.push((r) => {\n var n;\n (n = r._zod.bag).multipleOf ?? (n.multipleOf = t.value);\n }), e._zod.check = (r) => {\n if (typeof r.value != typeof t.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n (typeof r.value == \"bigint\" ? r.value % t.value === BigInt(0) : Sa(r.value, t.value) === 0) || r.issues.push({\n origin: typeof r.value,\n code: \"not_multiple_of\",\n divisor: t.value,\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), vu = /* @__PURE__ */ p(\"$ZodCheckNumberFormat\", (e, t) => {\n de.init(e, t), t.format = t.format || \"float64\";\n const r = t.format?.includes(\"int\"), n = r ? \"int\" : \"number\", [i, o] = $a[t.format];\n e._zod.onattach.push((s) => {\n const a = s._zod.bag;\n a.format = t.format, a.minimum = i, a.maximum = o, r && (a.pattern = pu);\n }), e._zod.check = (s) => {\n const a = s.value;\n if (r) {\n if (!Number.isInteger(a)) {\n s.issues.push({\n expected: n,\n format: t.format,\n code: \"invalid_type\",\n continue: !1,\n input: a,\n inst: e\n });\n return;\n }\n if (!Number.isSafeInteger(a)) {\n a > 0 ? s.issues.push({\n input: a,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst: e,\n origin: n,\n inclusive: !0,\n continue: !t.abort\n }) : s.issues.push({\n input: a,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst: e,\n origin: n,\n inclusive: !0,\n continue: !t.abort\n });\n return;\n }\n }\n a < i && s.issues.push({\n origin: \"number\",\n input: a,\n code: \"too_small\",\n minimum: i,\n inclusive: !0,\n inst: e,\n continue: !t.abort\n }), a > o && s.issues.push({\n origin: \"number\",\n input: a,\n code: \"too_big\",\n maximum: o,\n inclusive: !0,\n inst: e,\n continue: !t.abort\n });\n };\n}), yu = /* @__PURE__ */ p(\"$ZodCheckMaxLength\", (e, t) => {\n var r;\n de.init(e, t), (r = e._zod.def).when ?? (r.when = (n) => {\n const i = n.value;\n return !wn(i) && i.length !== void 0;\n }), e._zod.onattach.push((n) => {\n const i = n._zod.bag.maximum ?? Number.POSITIVE_INFINITY;\n t.maximum < i && (n._zod.bag.maximum = t.maximum);\n }), e._zod.check = (n) => {\n const i = n.value;\n if (i.length <= t.maximum)\n return;\n const s = bn(i);\n n.issues.push({\n origin: s,\n code: \"too_big\",\n maximum: t.maximum,\n inclusive: !0,\n input: i,\n inst: e,\n continue: !t.abort\n });\n };\n}), wu = /* @__PURE__ */ p(\"$ZodCheckMinLength\", (e, t) => {\n var r;\n de.init(e, t), (r = e._zod.def).when ?? (r.when = (n) => {\n const i = n.value;\n return !wn(i) && i.length !== void 0;\n }), e._zod.onattach.push((n) => {\n const i = n._zod.bag.minimum ?? Number.NEGATIVE_INFINITY;\n t.minimum > i && (n._zod.bag.minimum = t.minimum);\n }), e._zod.check = (n) => {\n const i = n.value;\n if (i.length >= t.minimum)\n return;\n const s = bn(i);\n n.issues.push({\n origin: s,\n code: \"too_small\",\n minimum: t.minimum,\n inclusive: !0,\n input: i,\n inst: e,\n continue: !t.abort\n });\n };\n}), Su = /* @__PURE__ */ p(\"$ZodCheckLengthEquals\", (e, t) => {\n var r;\n de.init(e, t), (r = e._zod.def).when ?? (r.when = (n) => {\n const i = n.value;\n return !wn(i) && i.length !== void 0;\n }), e._zod.onattach.push((n) => {\n const i = n._zod.bag;\n i.minimum = t.length, i.maximum = t.length, i.length = t.length;\n }), e._zod.check = (n) => {\n const i = n.value, o = i.length;\n if (o === t.length)\n return;\n const s = bn(i), a = o > t.length;\n n.issues.push({\n origin: s,\n ...a ? { code: \"too_big\", maximum: t.length } : { code: \"too_small\", minimum: t.length },\n inclusive: !0,\n exact: !0,\n input: n.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), Dr = /* @__PURE__ */ p(\"$ZodCheckStringFormat\", (e, t) => {\n var r, n;\n de.init(e, t), e._zod.onattach.push((i) => {\n const o = i._zod.bag;\n o.format = t.format, t.pattern && (o.patterns ?? (o.patterns = /* @__PURE__ */ new Set()), o.patterns.add(t.pattern));\n }), t.pattern ? (r = e._zod).check ?? (r.check = (i) => {\n t.pattern.lastIndex = 0, !t.pattern.test(i.value) && i.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: t.format,\n input: i.value,\n ...t.pattern ? { pattern: t.pattern.toString() } : {},\n inst: e,\n continue: !t.abort\n });\n }) : (n = e._zod).check ?? (n.check = () => {\n });\n}), bu = /* @__PURE__ */ p(\"$ZodCheckRegex\", (e, t) => {\n Dr.init(e, t), e._zod.check = (r) => {\n t.pattern.lastIndex = 0, !t.pattern.test(r.value) && r.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: r.value,\n pattern: t.pattern.toString(),\n inst: e,\n continue: !t.abort\n });\n };\n}), zu = /* @__PURE__ */ p(\"$ZodCheckLowerCase\", (e, t) => {\n t.pattern ?? (t.pattern = _u), Dr.init(e, t);\n}), ku = /* @__PURE__ */ p(\"$ZodCheckUpperCase\", (e, t) => {\n t.pattern ?? (t.pattern = gu), Dr.init(e, t);\n}), Ou = /* @__PURE__ */ p(\"$ZodCheckIncludes\", (e, t) => {\n de.init(e, t);\n const r = wt(t.includes), n = new RegExp(typeof t.position == \"number\" ? `^.{${t.position}}${r}` : r);\n t.pattern = n, e._zod.onattach.push((i) => {\n const o = i._zod.bag;\n o.patterns ?? (o.patterns = /* @__PURE__ */ new Set()), o.patterns.add(n);\n }), e._zod.check = (i) => {\n i.value.includes(t.includes, t.position) || i.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: t.includes,\n input: i.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), $u = /* @__PURE__ */ p(\"$ZodCheckStartsWith\", (e, t) => {\n de.init(e, t);\n const r = new RegExp(`^${wt(t.prefix)}.*`);\n t.pattern ?? (t.pattern = r), e._zod.onattach.push((n) => {\n const i = n._zod.bag;\n i.patterns ?? (i.patterns = /* @__PURE__ */ new Set()), i.patterns.add(r);\n }), e._zod.check = (n) => {\n n.value.startsWith(t.prefix) || n.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: t.prefix,\n input: n.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), Eu = /* @__PURE__ */ p(\"$ZodCheckEndsWith\", (e, t) => {\n de.init(e, t);\n const r = new RegExp(`.*${wt(t.suffix)}$`);\n t.pattern ?? (t.pattern = r), e._zod.onattach.push((n) => {\n const i = n._zod.bag;\n i.patterns ?? (i.patterns = /* @__PURE__ */ new Set()), i.patterns.add(r);\n }), e._zod.check = (n) => {\n n.value.endsWith(t.suffix) || n.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: t.suffix,\n input: n.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), Iu = /* @__PURE__ */ p(\"$ZodCheckOverwrite\", (e, t) => {\n de.init(e, t), e._zod.check = (r) => {\n r.value = t.tx(r.value);\n };\n});\nclass Au {\n constructor(t = []) {\n this.content = [], this.indent = 0, this && (this.args = t);\n }\n indented(t) {\n this.indent += 1, t(this), this.indent -= 1;\n }\n write(t) {\n if (typeof t == \"function\") {\n t(this, { execution: \"sync\" }), t(this, { execution: \"async\" });\n return;\n }\n const n = t.split(`\n`).filter((s) => s), i = Math.min(...n.map((s) => s.length - s.trimStart().length)), o = n.map((s) => s.slice(i)).map((s) => \" \".repeat(this.indent * 2) + s);\n for (const s of o)\n this.content.push(s);\n }\n compile() {\n const t = Function, r = this?.args, i = [...(this?.content ?? [\"\"]).map((o) => ` ${o}`)];\n return new t(...r, i.join(`\n`));\n }\n}\nconst Ru = {\n major: 4,\n minor: 3,\n patch: 6\n}, W = /* @__PURE__ */ p(\"$ZodType\", (e, t) => {\n var r;\n e ?? (e = {}), e._zod.def = t, e._zod.bag = e._zod.bag || {}, e._zod.version = Ru;\n const n = [...e._zod.def.checks ?? []];\n e._zod.traits.has(\"$ZodCheck\") && n.unshift(e);\n for (const i of n)\n for (const o of i._zod.onattach)\n o(e);\n if (n.length === 0)\n (r = e._zod).deferred ?? (r.deferred = []), e._zod.deferred?.push(() => {\n e._zod.run = e._zod.parse;\n });\n else {\n const i = (s, a, u) => {\n let c = gt(s), f;\n for (const l of a) {\n if (l._zod.def.when) {\n if (!l._zod.def.when(s))\n continue;\n } else if (c)\n continue;\n const h = s.issues.length, d = l._zod.check(s);\n if (d instanceof Promise && u?.async === !1)\n throw new vt();\n if (f || d instanceof Promise)\n f = (f ?? Promise.resolve()).then(async () => {\n await d, s.issues.length !== h && (c || (c = gt(s, h)));\n });\n else {\n if (s.issues.length === h)\n continue;\n c || (c = gt(s, h));\n }\n }\n return f ? f.then(() => s) : s;\n }, o = (s, a, u) => {\n if (gt(s))\n return s.aborted = !0, s;\n const c = i(a, n, u);\n if (c instanceof Promise) {\n if (u.async === !1)\n throw new vt();\n return c.then((f) => e._zod.parse(f, u));\n }\n return e._zod.parse(c, u);\n };\n e._zod.run = (s, a) => {\n if (a.skipChecks)\n return e._zod.parse(s, a);\n if (a.direction === \"backward\") {\n const c = e._zod.parse({ value: s.value, issues: [] }, { ...a, skipChecks: !0 });\n return c instanceof Promise ? c.then((f) => o(f, s, a)) : o(c, s, a);\n }\n const u = e._zod.parse(s, a);\n if (u instanceof Promise) {\n if (a.async === !1)\n throw new vt();\n return u.then((c) => i(c, n, a));\n }\n return i(u, n, a);\n };\n }\n T(e, \"~standard\", () => ({\n validate: (i) => {\n try {\n const o = Da(e, i);\n return o.success ? { value: o.data } : { issues: o.error?.issues };\n } catch {\n return Ca(e, i).then((s) => s.success ? { value: s.data } : { issues: s.error?.issues });\n }\n },\n vendor: \"zod\",\n version: 1\n }));\n}), On = /* @__PURE__ */ p(\"$ZodString\", (e, t) => {\n W.init(e, t), e._zod.pattern = [...e?._zod.bag?.patterns ?? []].pop() ?? hu(e._zod.bag), e._zod.parse = (r, n) => {\n if (t.coerce)\n try {\n r.value = String(r.value);\n } catch {\n }\n return typeof r.value == \"string\" || r.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: r.value,\n inst: e\n }), r;\n };\n}), J = /* @__PURE__ */ p(\"$ZodStringFormat\", (e, t) => {\n Dr.init(e, t), On.init(e, t);\n}), Tu = /* @__PURE__ */ p(\"$ZodGUID\", (e, t) => {\n t.pattern ?? (t.pattern = Qa), J.init(e, t);\n}), Pu = /* @__PURE__ */ p(\"$ZodUUID\", (e, t) => {\n if (t.version) {\n const n = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8\n }[t.version];\n if (n === void 0)\n throw new Error(`Invalid UUID version: \"${t.version}\"`);\n t.pattern ?? (t.pattern = fi(n));\n } else\n t.pattern ?? (t.pattern = fi());\n J.init(e, t);\n}), Nu = /* @__PURE__ */ p(\"$ZodEmail\", (e, t) => {\n t.pattern ?? (t.pattern = eu), J.init(e, t);\n}), Zu = /* @__PURE__ */ p(\"$ZodURL\", (e, t) => {\n J.init(e, t), e._zod.check = (r) => {\n try {\n const n = r.value.trim(), i = new URL(n);\n t.hostname && (t.hostname.lastIndex = 0, t.hostname.test(i.hostname) || r.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: t.hostname.source,\n input: r.value,\n inst: e,\n continue: !t.abort\n })), t.protocol && (t.protocol.lastIndex = 0, t.protocol.test(i.protocol.endsWith(\":\") ? i.protocol.slice(0, -1) : i.protocol) || r.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: t.protocol.source,\n input: r.value,\n inst: e,\n continue: !t.abort\n })), t.normalize ? r.value = i.href : r.value = n;\n return;\n } catch {\n r.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n }\n };\n}), Mu = /* @__PURE__ */ p(\"$ZodEmoji\", (e, t) => {\n t.pattern ?? (t.pattern = ru()), J.init(e, t);\n}), Du = /* @__PURE__ */ p(\"$ZodNanoID\", (e, t) => {\n t.pattern ?? (t.pattern = Ga), J.init(e, t);\n}), Cu = /* @__PURE__ */ p(\"$ZodCUID\", (e, t) => {\n t.pattern ?? (t.pattern = Ja), J.init(e, t);\n}), ju = /* @__PURE__ */ p(\"$ZodCUID2\", (e, t) => {\n t.pattern ?? (t.pattern = Va), J.init(e, t);\n}), Lu = /* @__PURE__ */ p(\"$ZodULID\", (e, t) => {\n t.pattern ?? (t.pattern = Ka), J.init(e, t);\n}), Fu = /* @__PURE__ */ p(\"$ZodXID\", (e, t) => {\n t.pattern ?? (t.pattern = Ha), J.init(e, t);\n}), xu = /* @__PURE__ */ p(\"$ZodKSUID\", (e, t) => {\n t.pattern ?? (t.pattern = Ya), J.init(e, t);\n}), qu = /* @__PURE__ */ p(\"$ZodISODateTime\", (e, t) => {\n t.pattern ?? (t.pattern = lu(t)), J.init(e, t);\n}), Uu = /* @__PURE__ */ p(\"$ZodISODate\", (e, t) => {\n t.pattern ?? (t.pattern = cu), J.init(e, t);\n}), Bu = /* @__PURE__ */ p(\"$ZodISOTime\", (e, t) => {\n t.pattern ?? (t.pattern = fu(t)), J.init(e, t);\n}), Wu = /* @__PURE__ */ p(\"$ZodISODuration\", (e, t) => {\n t.pattern ?? (t.pattern = Xa), J.init(e, t);\n}), Ju = /* @__PURE__ */ p(\"$ZodIPv4\", (e, t) => {\n t.pattern ?? (t.pattern = nu), J.init(e, t), e._zod.bag.format = \"ipv4\";\n}), Vu = /* @__PURE__ */ p(\"$ZodIPv6\", (e, t) => {\n t.pattern ?? (t.pattern = iu), J.init(e, t), e._zod.bag.format = \"ipv6\", e._zod.check = (r) => {\n try {\n new URL(`http://[${r.value}]`);\n } catch {\n r.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n }\n };\n}), Ku = /* @__PURE__ */ p(\"$ZodCIDRv4\", (e, t) => {\n t.pattern ?? (t.pattern = ou), J.init(e, t);\n}), Hu = /* @__PURE__ */ p(\"$ZodCIDRv6\", (e, t) => {\n t.pattern ?? (t.pattern = su), J.init(e, t), e._zod.check = (r) => {\n const n = r.value.split(\"/\");\n try {\n if (n.length !== 2)\n throw new Error();\n const [i, o] = n;\n if (!o)\n throw new Error();\n const s = Number(o);\n if (`${s}` !== o)\n throw new Error();\n if (s < 0 || s > 128)\n throw new Error();\n new URL(`http://[${i}]`);\n } catch {\n r.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n }\n };\n});\nfunction Oo(e) {\n if (e === \"\")\n return !0;\n if (e.length % 4 !== 0)\n return !1;\n try {\n return atob(e), !0;\n } catch {\n return !1;\n }\n}\nconst Yu = /* @__PURE__ */ p(\"$ZodBase64\", (e, t) => {\n t.pattern ?? (t.pattern = au), J.init(e, t), e._zod.bag.contentEncoding = \"base64\", e._zod.check = (r) => {\n Oo(r.value) || r.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n };\n});\nfunction Gu(e) {\n if (!vo.test(e))\n return !1;\n const t = e.replace(/[-_]/g, (n) => n === \"-\" ? \"+\" : \"/\"), r = t.padEnd(Math.ceil(t.length / 4) * 4, \"=\");\n return Oo(r);\n}\nconst Xu = /* @__PURE__ */ p(\"$ZodBase64URL\", (e, t) => {\n t.pattern ?? (t.pattern = vo), J.init(e, t), e._zod.bag.contentEncoding = \"base64url\", e._zod.check = (r) => {\n Gu(r.value) || r.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), Qu = /* @__PURE__ */ p(\"$ZodE164\", (e, t) => {\n t.pattern ?? (t.pattern = uu), J.init(e, t);\n});\nfunction ec(e, t = null) {\n try {\n const r = e.split(\".\");\n if (r.length !== 3)\n return !1;\n const [n] = r;\n if (!n)\n return !1;\n const i = JSON.parse(atob(n));\n return !(\"typ\" in i && i?.typ !== \"JWT\" || !i.alg || t && (!(\"alg\" in i) || i.alg !== t));\n } catch {\n return !1;\n }\n}\nconst tc = /* @__PURE__ */ p(\"$ZodJWT\", (e, t) => {\n J.init(e, t), e._zod.check = (r) => {\n ec(r.value, t.alg) || r.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: r.value,\n inst: e,\n continue: !t.abort\n });\n };\n}), $o = /* @__PURE__ */ p(\"$ZodNumber\", (e, t) => {\n W.init(e, t), e._zod.pattern = e._zod.bag.pattern ?? So, e._zod.parse = (r, n) => {\n if (t.coerce)\n try {\n r.value = Number(r.value);\n } catch {\n }\n const i = r.value;\n if (typeof i == \"number\" && !Number.isNaN(i) && Number.isFinite(i))\n return r;\n const o = typeof i == \"number\" ? Number.isNaN(i) ? \"NaN\" : Number.isFinite(i) ? void 0 : \"Infinity\" : void 0;\n return r.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input: i,\n inst: e,\n ...o ? { received: o } : {}\n }), r;\n };\n}), rc = /* @__PURE__ */ p(\"$ZodNumberFormat\", (e, t) => {\n vu.init(e, t), $o.init(e, t);\n}), nc = /* @__PURE__ */ p(\"$ZodBoolean\", (e, t) => {\n W.init(e, t), e._zod.pattern = du, e._zod.parse = (r, n) => {\n if (t.coerce)\n try {\n r.value = !!r.value;\n } catch {\n }\n const i = r.value;\n return typeof i == \"boolean\" || r.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input: i,\n inst: e\n }), r;\n };\n}), ic = /* @__PURE__ */ p(\"$ZodUnknown\", (e, t) => {\n W.init(e, t), e._zod.parse = (r) => r;\n}), oc = /* @__PURE__ */ p(\"$ZodNever\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => (r.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: r.value,\n inst: e\n }), r);\n});\nfunction li(e, t, r) {\n e.issues.length && t.issues.push(...mt(r, e.issues)), t.value[r] = e.value;\n}\nconst sc = /* @__PURE__ */ p(\"$ZodArray\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => {\n const i = r.value;\n if (!Array.isArray(i))\n return r.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input: i,\n inst: e\n }), r;\n r.value = Array(i.length);\n const o = [];\n for (let s = 0; s < i.length; s++) {\n const a = i[s], u = t.element._zod.run({\n value: a,\n issues: []\n }, n);\n u instanceof Promise ? o.push(u.then((c) => li(c, r, s))) : li(u, r, s);\n }\n return o.length ? Promise.all(o).then(() => r) : r;\n };\n});\nfunction $r(e, t, r, n, i) {\n if (e.issues.length) {\n if (i && !(r in n))\n return;\n t.issues.push(...mt(r, e.issues));\n }\n e.value === void 0 ? r in n && (t.value[r] = void 0) : t.value[r] = e.value;\n}\nfunction Eo(e) {\n const t = Object.keys(e.shape);\n for (const n of t)\n if (!e.shape?.[n]?._zod?.traits?.has(\"$ZodType\"))\n throw new Error(`Invalid element at key \"${n}\": expected a Zod schema`);\n const r = Oa(e.shape);\n return {\n ...e,\n keys: t,\n keySet: new Set(t),\n numKeys: t.length,\n optionalKeys: new Set(r)\n };\n}\nfunction Io(e, t, r, n, i, o) {\n const s = [], a = i.keySet, u = i.catchall._zod, c = u.def.type, f = u.optout === \"optional\";\n for (const l in t) {\n if (a.has(l))\n continue;\n if (c === \"never\") {\n s.push(l);\n continue;\n }\n const h = u.run({ value: t[l], issues: [] }, n);\n h instanceof Promise ? e.push(h.then((d) => $r(d, r, l, t, f))) : $r(h, r, l, t, f);\n }\n return s.length && r.issues.push({\n code: \"unrecognized_keys\",\n keys: s,\n input: t,\n inst: o\n }), e.length ? Promise.all(e).then(() => r) : r;\n}\nconst ac = /* @__PURE__ */ p(\"$ZodObject\", (e, t) => {\n if (W.init(e, t), !Object.getOwnPropertyDescriptor(t, \"shape\")?.get) {\n const a = t.shape;\n Object.defineProperty(t, \"shape\", {\n get: () => {\n const u = { ...a };\n return Object.defineProperty(t, \"shape\", {\n value: u\n }), u;\n }\n });\n }\n const n = Nr(() => Eo(t));\n T(e._zod, \"propValues\", () => {\n const a = t.shape, u = {};\n for (const c in a) {\n const f = a[c]._zod;\n if (f.values) {\n u[c] ?? (u[c] = /* @__PURE__ */ new Set());\n for (const l of f.values)\n u[c].add(l);\n }\n }\n return u;\n });\n const i = Ht, o = t.catchall;\n let s;\n e._zod.parse = (a, u) => {\n s ?? (s = n.value);\n const c = a.value;\n if (!i(c))\n return a.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input: c,\n inst: e\n }), a;\n a.value = {};\n const f = [], l = s.shape;\n for (const h of s.keys) {\n const d = l[h], _ = d._zod.optout === \"optional\", g = d._zod.run({ value: c[h], issues: [] }, u);\n g instanceof Promise ? f.push(g.then((m) => $r(m, a, h, c, _))) : $r(g, a, h, c, _);\n }\n return o ? Io(f, c, a, u, n.value, e) : f.length ? Promise.all(f).then(() => a) : a;\n };\n}), uc = /* @__PURE__ */ p(\"$ZodObjectJIT\", (e, t) => {\n ac.init(e, t);\n const r = e._zod.parse, n = Nr(() => Eo(t)), i = (h) => {\n const d = new Au([\"shape\", \"payload\", \"ctx\"]), _ = n.value, g = (b) => {\n const N = ci(b);\n return `shape[${N}]._zod.run({ value: input[${N}], issues: [] }, ctx)`;\n };\n d.write(\"const input = payload.value;\");\n const m = /* @__PURE__ */ Object.create(null);\n let E = 0;\n for (const b of _.keys)\n m[b] = `key_${E++}`;\n d.write(\"const newResult = {};\");\n for (const b of _.keys) {\n const N = m[b], k = ci(b), D = h[b]?._zod?.optout === \"optional\";\n d.write(`const ${N} = ${g(b)};`), D ? d.write(`\n if (${N}.issues.length) {\n if (${k} in input) {\n payload.issues = payload.issues.concat(${N}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n }\n \n if (${N}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${N}.value;\n }\n \n `) : d.write(`\n if (${N}.issues.length) {\n payload.issues = payload.issues.concat(${N}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n if (${N}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${N}.value;\n }\n \n `);\n }\n d.write(\"payload.value = newResult;\"), d.write(\"return payload;\");\n const $ = d.compile();\n return (b, N) => $(h, b, N);\n };\n let o;\n const s = Ht, a = !fo.jitless, c = a && za.value, f = t.catchall;\n let l;\n e._zod.parse = (h, d) => {\n l ?? (l = n.value);\n const _ = h.value;\n return s(_) ? a && c && d?.async === !1 && d.jitless !== !0 ? (o || (o = i(t.shape)), h = o(h, d), f ? Io([], _, h, d, l, e) : h) : r(h, d) : (h.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input: _,\n inst: e\n }), h);\n };\n});\nfunction hi(e, t, r, n) {\n for (const o of e)\n if (o.issues.length === 0)\n return t.value = o.value, t;\n const i = e.filter((o) => !gt(o));\n return i.length === 1 ? (t.value = i[0].value, i[0]) : (t.issues.push({\n code: \"invalid_union\",\n input: t.value,\n inst: r,\n errors: e.map((o) => o.issues.map((s) => Ke(s, n, Ve())))\n }), t);\n}\nconst Ao = /* @__PURE__ */ p(\"$ZodUnion\", (e, t) => {\n W.init(e, t), T(e._zod, \"optin\", () => t.options.some((i) => i._zod.optin === \"optional\") ? \"optional\" : void 0), T(e._zod, \"optout\", () => t.options.some((i) => i._zod.optout === \"optional\") ? \"optional\" : void 0), T(e._zod, \"values\", () => {\n if (t.options.every((i) => i._zod.values))\n return new Set(t.options.flatMap((i) => Array.from(i._zod.values)));\n }), T(e._zod, \"pattern\", () => {\n if (t.options.every((i) => i._zod.pattern)) {\n const i = t.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${i.map((o) => Sn(o.source)).join(\"|\")})$`);\n }\n });\n const r = t.options.length === 1, n = t.options[0]._zod.run;\n e._zod.parse = (i, o) => {\n if (r)\n return n(i, o);\n let s = !1;\n const a = [];\n for (const u of t.options) {\n const c = u._zod.run({\n value: i.value,\n issues: []\n }, o);\n if (c instanceof Promise)\n a.push(c), s = !0;\n else {\n if (c.issues.length === 0)\n return c;\n a.push(c);\n }\n }\n return s ? Promise.all(a).then((u) => hi(u, i, e, o)) : hi(a, i, e, o);\n };\n}), cc = /* @__PURE__ */ p(\"$ZodDiscriminatedUnion\", (e, t) => {\n t.inclusive = !1, Ao.init(e, t);\n const r = e._zod.parse;\n T(e._zod, \"propValues\", () => {\n const i = {};\n for (const o of t.options) {\n const s = o._zod.propValues;\n if (!s || Object.keys(s).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${t.options.indexOf(o)}\"`);\n for (const [a, u] of Object.entries(s)) {\n i[a] || (i[a] = /* @__PURE__ */ new Set());\n for (const c of u)\n i[a].add(c);\n }\n }\n return i;\n });\n const n = Nr(() => {\n const i = t.options, o = /* @__PURE__ */ new Map();\n for (const s of i) {\n const a = s._zod.propValues?.[t.discriminator];\n if (!a || a.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${t.options.indexOf(s)}\"`);\n for (const u of a) {\n if (o.has(u))\n throw new Error(`Duplicate discriminator value \"${String(u)}\"`);\n o.set(u, s);\n }\n }\n return o;\n });\n e._zod.parse = (i, o) => {\n const s = i.value;\n if (!Ht(s))\n return i.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input: s,\n inst: e\n }), i;\n const a = n.value.get(s?.[t.discriminator]);\n return a ? a._zod.run(i, o) : t.unionFallback ? r(i, o) : (i.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: t.discriminator,\n input: s,\n path: [t.discriminator],\n inst: e\n }), i);\n };\n}), fc = /* @__PURE__ */ p(\"$ZodIntersection\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => {\n const i = r.value, o = t.left._zod.run({ value: i, issues: [] }, n), s = t.right._zod.run({ value: i, issues: [] }, n);\n return o instanceof Promise || s instanceof Promise ? Promise.all([o, s]).then(([u, c]) => pi(r, u, c)) : pi(r, o, s);\n };\n});\nfunction sn(e, t) {\n if (e === t)\n return { valid: !0, data: e };\n if (e instanceof Date && t instanceof Date && +e == +t)\n return { valid: !0, data: e };\n if (yt(e) && yt(t)) {\n const r = Object.keys(t), n = Object.keys(e).filter((o) => r.indexOf(o) !== -1), i = { ...e, ...t };\n for (const o of n) {\n const s = sn(e[o], t[o]);\n if (!s.valid)\n return {\n valid: !1,\n mergeErrorPath: [o, ...s.mergeErrorPath]\n };\n i[o] = s.data;\n }\n return { valid: !0, data: i };\n }\n if (Array.isArray(e) && Array.isArray(t)) {\n if (e.length !== t.length)\n return { valid: !1, mergeErrorPath: [] };\n const r = [];\n for (let n = 0; n < e.length; n++) {\n const i = e[n], o = t[n], s = sn(i, o);\n if (!s.valid)\n return {\n valid: !1,\n mergeErrorPath: [n, ...s.mergeErrorPath]\n };\n r.push(s.data);\n }\n return { valid: !0, data: r };\n }\n return { valid: !1, mergeErrorPath: [] };\n}\nfunction pi(e, t, r) {\n const n = /* @__PURE__ */ new Map();\n let i;\n for (const a of t.issues)\n if (a.code === \"unrecognized_keys\") {\n i ?? (i = a);\n for (const u of a.keys)\n n.has(u) || n.set(u, {}), n.get(u).l = !0;\n } else\n e.issues.push(a);\n for (const a of r.issues)\n if (a.code === \"unrecognized_keys\")\n for (const u of a.keys)\n n.has(u) || n.set(u, {}), n.get(u).r = !0;\n else\n e.issues.push(a);\n const o = [...n].filter(([, a]) => a.l && a.r).map(([a]) => a);\n if (o.length && i && e.issues.push({ ...i, keys: o }), gt(e))\n return e;\n const s = sn(t.value, r.value);\n if (!s.valid)\n throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);\n return e.value = s.data, e;\n}\nconst lc = /* @__PURE__ */ p(\"$ZodRecord\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => {\n const i = r.value;\n if (!yt(i))\n return r.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input: i,\n inst: e\n }), r;\n const o = [], s = t.keyType._zod.values;\n if (s) {\n r.value = {};\n const a = /* @__PURE__ */ new Set();\n for (const c of s)\n if (typeof c == \"string\" || typeof c == \"number\" || typeof c == \"symbol\") {\n a.add(typeof c == \"number\" ? c.toString() : c);\n const f = t.valueType._zod.run({ value: i[c], issues: [] }, n);\n f instanceof Promise ? o.push(f.then((l) => {\n l.issues.length && r.issues.push(...mt(c, l.issues)), r.value[c] = l.value;\n })) : (f.issues.length && r.issues.push(...mt(c, f.issues)), r.value[c] = f.value);\n }\n let u;\n for (const c in i)\n a.has(c) || (u = u ?? [], u.push(c));\n u && u.length > 0 && r.issues.push({\n code: \"unrecognized_keys\",\n input: i,\n inst: e,\n keys: u\n });\n } else {\n r.value = {};\n for (const a of Reflect.ownKeys(i)) {\n if (a === \"__proto__\")\n continue;\n let u = t.keyType._zod.run({ value: a, issues: [] }, n);\n if (u instanceof Promise)\n throw new Error(\"Async schemas not supported in object keys currently\");\n if (typeof a == \"string\" && So.test(a) && u.issues.length) {\n const l = t.keyType._zod.run({ value: Number(a), issues: [] }, n);\n if (l instanceof Promise)\n throw new Error(\"Async schemas not supported in object keys currently\");\n l.issues.length === 0 && (u = l);\n }\n if (u.issues.length) {\n t.mode === \"loose\" ? r.value[a] = i[a] : r.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: u.issues.map((l) => Ke(l, n, Ve())),\n input: a,\n path: [a],\n inst: e\n });\n continue;\n }\n const f = t.valueType._zod.run({ value: i[a], issues: [] }, n);\n f instanceof Promise ? o.push(f.then((l) => {\n l.issues.length && r.issues.push(...mt(a, l.issues)), r.value[u.value] = l.value;\n })) : (f.issues.length && r.issues.push(...mt(a, f.issues)), r.value[u.value] = f.value);\n }\n }\n return o.length ? Promise.all(o).then(() => r) : r;\n };\n}), hc = /* @__PURE__ */ p(\"$ZodEnum\", (e, t) => {\n W.init(e, t);\n const r = lo(t.entries), n = new Set(r);\n e._zod.values = n, e._zod.pattern = new RegExp(`^(${r.filter((i) => ka.has(typeof i)).map((i) => typeof i == \"string\" ? wt(i) : i.toString()).join(\"|\")})$`), e._zod.parse = (i, o) => {\n const s = i.value;\n return n.has(s) || i.issues.push({\n code: \"invalid_value\",\n values: r,\n input: s,\n inst: e\n }), i;\n };\n}), pc = /* @__PURE__ */ p(\"$ZodLiteral\", (e, t) => {\n if (W.init(e, t), t.values.length === 0)\n throw new Error(\"Cannot create literal schema with no valid values\");\n const r = new Set(t.values);\n e._zod.values = r, e._zod.pattern = new RegExp(`^(${t.values.map((n) => typeof n == \"string\" ? wt(n) : n ? wt(n.toString()) : String(n)).join(\"|\")})$`), e._zod.parse = (n, i) => {\n const o = n.value;\n return r.has(o) || n.issues.push({\n code: \"invalid_value\",\n values: t.values,\n input: o,\n inst: e\n }), n;\n };\n}), dc = /* @__PURE__ */ p(\"$ZodTransform\", (e, t) => {\n W.init(e, t), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n throw new co(e.constructor.name);\n const i = t.transform(r.value, r);\n if (n.async)\n return (i instanceof Promise ? i : Promise.resolve(i)).then((s) => (r.value = s, r));\n if (i instanceof Promise)\n throw new vt();\n return r.value = i, r;\n };\n});\nfunction di(e, t) {\n return e.issues.length && t === void 0 ? { issues: [], value: void 0 } : e;\n}\nconst Ro = /* @__PURE__ */ p(\"$ZodOptional\", (e, t) => {\n W.init(e, t), e._zod.optin = \"optional\", e._zod.optout = \"optional\", T(e._zod, \"values\", () => t.innerType._zod.values ? /* @__PURE__ */ new Set([...t.innerType._zod.values, void 0]) : void 0), T(e._zod, \"pattern\", () => {\n const r = t.innerType._zod.pattern;\n return r ? new RegExp(`^(${Sn(r.source)})?$`) : void 0;\n }), e._zod.parse = (r, n) => {\n if (t.innerType._zod.optin === \"optional\") {\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => di(o, r.value)) : di(i, r.value);\n }\n return r.value === void 0 ? r : t.innerType._zod.run(r, n);\n };\n}), _c = /* @__PURE__ */ p(\"$ZodExactOptional\", (e, t) => {\n Ro.init(e, t), T(e._zod, \"values\", () => t.innerType._zod.values), T(e._zod, \"pattern\", () => t.innerType._zod.pattern), e._zod.parse = (r, n) => t.innerType._zod.run(r, n);\n}), gc = /* @__PURE__ */ p(\"$ZodNullable\", (e, t) => {\n W.init(e, t), T(e._zod, \"optin\", () => t.innerType._zod.optin), T(e._zod, \"optout\", () => t.innerType._zod.optout), T(e._zod, \"pattern\", () => {\n const r = t.innerType._zod.pattern;\n return r ? new RegExp(`^(${Sn(r.source)}|null)$`) : void 0;\n }), T(e._zod, \"values\", () => t.innerType._zod.values ? /* @__PURE__ */ new Set([...t.innerType._zod.values, null]) : void 0), e._zod.parse = (r, n) => r.value === null ? r : t.innerType._zod.run(r, n);\n}), mc = /* @__PURE__ */ p(\"$ZodDefault\", (e, t) => {\n W.init(e, t), e._zod.optin = \"optional\", T(e._zod, \"values\", () => t.innerType._zod.values), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n return t.innerType._zod.run(r, n);\n if (r.value === void 0)\n return r.value = t.defaultValue, r;\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => _i(o, t)) : _i(i, t);\n };\n});\nfunction _i(e, t) {\n return e.value === void 0 && (e.value = t.defaultValue), e;\n}\nconst vc = /* @__PURE__ */ p(\"$ZodPrefault\", (e, t) => {\n W.init(e, t), e._zod.optin = \"optional\", T(e._zod, \"values\", () => t.innerType._zod.values), e._zod.parse = (r, n) => (n.direction === \"backward\" || r.value === void 0 && (r.value = t.defaultValue), t.innerType._zod.run(r, n));\n}), yc = /* @__PURE__ */ p(\"$ZodNonOptional\", (e, t) => {\n W.init(e, t), T(e._zod, \"values\", () => {\n const r = t.innerType._zod.values;\n return r ? new Set([...r].filter((n) => n !== void 0)) : void 0;\n }), e._zod.parse = (r, n) => {\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => gi(o, e)) : gi(i, e);\n };\n});\nfunction gi(e, t) {\n return !e.issues.length && e.value === void 0 && e.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: e.value,\n inst: t\n }), e;\n}\nconst wc = /* @__PURE__ */ p(\"$ZodCatch\", (e, t) => {\n W.init(e, t), T(e._zod, \"optin\", () => t.innerType._zod.optin), T(e._zod, \"optout\", () => t.innerType._zod.optout), T(e._zod, \"values\", () => t.innerType._zod.values), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n return t.innerType._zod.run(r, n);\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => (r.value = o.value, o.issues.length && (r.value = t.catchValue({\n ...r,\n error: {\n issues: o.issues.map((s) => Ke(s, n, Ve()))\n },\n input: r.value\n }), r.issues = []), r)) : (r.value = i.value, i.issues.length && (r.value = t.catchValue({\n ...r,\n error: {\n issues: i.issues.map((o) => Ke(o, n, Ve()))\n },\n input: r.value\n }), r.issues = []), r);\n };\n}), Sc = /* @__PURE__ */ p(\"$ZodPipe\", (e, t) => {\n W.init(e, t), T(e._zod, \"values\", () => t.in._zod.values), T(e._zod, \"optin\", () => t.in._zod.optin), T(e._zod, \"optout\", () => t.out._zod.optout), T(e._zod, \"propValues\", () => t.in._zod.propValues), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\") {\n const o = t.out._zod.run(r, n);\n return o instanceof Promise ? o.then((s) => mr(s, t.in, n)) : mr(o, t.in, n);\n }\n const i = t.in._zod.run(r, n);\n return i instanceof Promise ? i.then((o) => mr(o, t.out, n)) : mr(i, t.out, n);\n };\n});\nfunction mr(e, t, r) {\n return e.issues.length ? (e.aborted = !0, e) : t._zod.run({ value: e.value, issues: e.issues }, r);\n}\nconst bc = /* @__PURE__ */ p(\"$ZodReadonly\", (e, t) => {\n W.init(e, t), T(e._zod, \"propValues\", () => t.innerType._zod.propValues), T(e._zod, \"values\", () => t.innerType._zod.values), T(e._zod, \"optin\", () => t.innerType?._zod?.optin), T(e._zod, \"optout\", () => t.innerType?._zod?.optout), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n return t.innerType._zod.run(r, n);\n const i = t.innerType._zod.run(r, n);\n return i instanceof Promise ? i.then(mi) : mi(i);\n };\n});\nfunction mi(e) {\n return e.value = Object.freeze(e.value), e;\n}\nconst zc = /* @__PURE__ */ p(\"$ZodLazy\", (e, t) => {\n W.init(e, t), T(e._zod, \"innerType\", () => t.getter()), T(e._zod, \"pattern\", () => e._zod.innerType?._zod?.pattern), T(e._zod, \"propValues\", () => e._zod.innerType?._zod?.propValues), T(e._zod, \"optin\", () => e._zod.innerType?._zod?.optin ?? void 0), T(e._zod, \"optout\", () => e._zod.innerType?._zod?.optout ?? void 0), e._zod.parse = (r, n) => e._zod.innerType._zod.run(r, n);\n}), kc = /* @__PURE__ */ p(\"$ZodCustom\", (e, t) => {\n de.init(e, t), W.init(e, t), e._zod.parse = (r, n) => r, e._zod.check = (r) => {\n const n = r.value, i = t.fn(n);\n if (i instanceof Promise)\n return i.then((o) => vi(o, r, n, e));\n vi(i, r, n, e);\n };\n});\nfunction vi(e, t, r, n) {\n if (!e) {\n const i = {\n code: \"custom\",\n input: r,\n inst: n,\n // incorporates params.error into issue reporting\n path: [...n._zod.def.path ?? []],\n // incorporates params.error into issue reporting\n continue: !n._zod.def.abort\n // params: inst._zod.def.params,\n };\n n._zod.def.params && (i.params = n._zod.def.params), t.issues.push(Yt(i));\n }\n}\nvar yi;\nclass Oc {\n constructor() {\n this._map = /* @__PURE__ */ new WeakMap(), this._idmap = /* @__PURE__ */ new Map();\n }\n add(t, ...r) {\n const n = r[0];\n return this._map.set(t, n), n && typeof n == \"object\" && \"id\" in n && this._idmap.set(n.id, t), this;\n }\n clear() {\n return this._map = /* @__PURE__ */ new WeakMap(), this._idmap = /* @__PURE__ */ new Map(), this;\n }\n remove(t) {\n const r = this._map.get(t);\n return r && typeof r == \"object\" && \"id\" in r && this._idmap.delete(r.id), this._map.delete(t), this;\n }\n get(t) {\n const r = t._zod.parent;\n if (r) {\n const n = { ...this.get(r) ?? {} };\n delete n.id;\n const i = { ...n, ...this._map.get(t) };\n return Object.keys(i).length ? i : void 0;\n }\n return this._map.get(t);\n }\n has(t) {\n return this._map.has(t);\n }\n}\nfunction $c() {\n return new Oc();\n}\n(yi = globalThis).__zod_globalRegistry ?? (yi.__zod_globalRegistry = $c());\nconst xt = globalThis.__zod_globalRegistry;\n// @__NO_SIDE_EFFECTS__\nfunction Ec(e, t) {\n return new e({\n type: \"string\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Ic(e, t) {\n return new e({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction wi(e, t) {\n return new e({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Ac(e, t) {\n return new e({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Rc(e, t) {\n return new e({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: !1,\n version: \"v4\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Tc(e, t) {\n return new e({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: !1,\n version: \"v6\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Pc(e, t) {\n return new e({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: !1,\n version: \"v7\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Nc(e, t) {\n return new e({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Zc(e, t) {\n return new e({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Mc(e, t) {\n return new e({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Dc(e, t) {\n return new e({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Cc(e, t) {\n return new e({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction jc(e, t) {\n return new e({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Lc(e, t) {\n return new e({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Fc(e, t) {\n return new e({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction xc(e, t) {\n return new e({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction qc(e, t) {\n return new e({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Uc(e, t) {\n return new e({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Bc(e, t) {\n return new e({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Wc(e, t) {\n return new e({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Jc(e, t) {\n return new e({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Vc(e, t) {\n return new e({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Kc(e, t) {\n return new e({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: !1,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Hc(e, t) {\n return new e({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: !1,\n local: !1,\n precision: null,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Yc(e, t) {\n return new e({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Gc(e, t) {\n return new e({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Xc(e, t) {\n return new e({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Qc(e, t) {\n return new e({\n type: \"number\",\n checks: [],\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction ef(e, t) {\n return new e({\n type: \"number\",\n check: \"number_format\",\n abort: !1,\n format: \"safeint\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction tf(e, t) {\n return new e({\n type: \"boolean\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction rf(e) {\n return new e({\n type: \"unknown\"\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction nf(e, t) {\n return new e({\n type: \"never\",\n ...y(t)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Si(e, t) {\n return new zo({\n check: \"less_than\",\n ...y(t),\n value: e,\n inclusive: !1\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Hr(e, t) {\n return new zo({\n check: \"less_than\",\n ...y(t),\n value: e,\n inclusive: !0\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction bi(e, t) {\n return new ko({\n check: \"greater_than\",\n ...y(t),\n value: e,\n inclusive: !1\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Yr(e, t) {\n return new ko({\n check: \"greater_than\",\n ...y(t),\n value: e,\n inclusive: !0\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction zi(e, t) {\n return new mu({\n check: \"multiple_of\",\n ...y(t),\n value: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction To(e, t) {\n return new yu({\n check: \"max_length\",\n ...y(t),\n maximum: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Er(e, t) {\n return new wu({\n check: \"min_length\",\n ...y(t),\n minimum: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Po(e, t) {\n return new Su({\n check: \"length_equals\",\n ...y(t),\n length: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction of(e, t) {\n return new bu({\n check: \"string_format\",\n format: \"regex\",\n ...y(t),\n pattern: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction sf(e) {\n return new zu({\n check: \"string_format\",\n format: \"lowercase\",\n ...y(e)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction af(e) {\n return new ku({\n check: \"string_format\",\n format: \"uppercase\",\n ...y(e)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction uf(e, t) {\n return new Ou({\n check: \"string_format\",\n format: \"includes\",\n ...y(t),\n includes: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction cf(e, t) {\n return new $u({\n check: \"string_format\",\n format: \"starts_with\",\n ...y(t),\n prefix: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction ff(e, t) {\n return new Eu({\n check: \"string_format\",\n format: \"ends_with\",\n ...y(t),\n suffix: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Rt(e) {\n return new Iu({\n check: \"overwrite\",\n tx: e\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction lf(e) {\n return /* @__PURE__ */ Rt((t) => t.normalize(e));\n}\n// @__NO_SIDE_EFFECTS__\nfunction hf() {\n return /* @__PURE__ */ Rt((e) => e.trim());\n}\n// @__NO_SIDE_EFFECTS__\nfunction pf() {\n return /* @__PURE__ */ Rt((e) => e.toLowerCase());\n}\n// @__NO_SIDE_EFFECTS__\nfunction df() {\n return /* @__PURE__ */ Rt((e) => e.toUpperCase());\n}\n// @__NO_SIDE_EFFECTS__\nfunction _f() {\n return /* @__PURE__ */ Rt((e) => ba(e));\n}\n// @__NO_SIDE_EFFECTS__\nfunction gf(e, t, r) {\n return new e({\n type: \"array\",\n element: t,\n // get element() {\n // return element;\n // },\n ...y(r)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction mf(e, t, r) {\n return new e({\n type: \"custom\",\n check: \"custom\",\n fn: t,\n ...y(r)\n });\n}\n// @__NO_SIDE_EFFECTS__\nfunction vf(e) {\n const t = /* @__PURE__ */ yf((r) => (r.addIssue = (n) => {\n if (typeof n == \"string\")\n r.issues.push(Yt(n, r.value, t._zod.def));\n else {\n const i = n;\n i.fatal && (i.continue = !1), i.code ?? (i.code = \"custom\"), i.input ?? (i.input = r.value), i.inst ?? (i.inst = t), i.continue ?? (i.continue = !t._zod.def.abort), r.issues.push(Yt(i));\n }\n }, e(r.value, r)));\n return t;\n}\n// @__NO_SIDE_EFFECTS__\nfunction yf(e, t) {\n const r = new de({\n check: \"custom\",\n ...y(t)\n });\n return r._zod.check = e, r;\n}\nfunction No(e) {\n let t = e?.target ?? \"draft-2020-12\";\n return t === \"draft-4\" && (t = \"draft-04\"), t === \"draft-7\" && (t = \"draft-07\"), {\n processors: e.processors ?? {},\n metadataRegistry: e?.metadata ?? xt,\n target: t,\n unrepresentable: e?.unrepresentable ?? \"throw\",\n override: e?.override ?? (() => {\n }),\n io: e?.io ?? \"output\",\n counter: 0,\n seen: /* @__PURE__ */ new Map(),\n cycles: e?.cycles ?? \"ref\",\n reused: e?.reused ?? \"inline\",\n external: e?.external ?? void 0\n };\n}\nfunction G(e, t, r = { path: [], schemaPath: [] }) {\n var n;\n const i = e._zod.def, o = t.seen.get(e);\n if (o)\n return o.count++, r.schemaPath.includes(e) && (o.cycle = r.path), o.schema;\n const s = { schema: {}, count: 1, cycle: void 0, path: r.path };\n t.seen.set(e, s);\n const a = e._zod.toJSONSchema?.();\n if (a)\n s.schema = a;\n else {\n const f = {\n ...r,\n schemaPath: [...r.schemaPath, e],\n path: r.path\n };\n if (e._zod.processJSONSchema)\n e._zod.processJSONSchema(t, s.schema, f);\n else {\n const h = s.schema, d = t.processors[i.type];\n if (!d)\n throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);\n d(e, t, h, f);\n }\n const l = e._zod.parent;\n l && (s.ref || (s.ref = l), G(l, t, f), t.seen.get(l).isParent = !0);\n }\n const u = t.metadataRegistry.get(e);\n return u && Object.assign(s.schema, u), t.io === \"input\" && ue(e) && (delete s.schema.examples, delete s.schema.default), t.io === \"input\" && s.schema._prefault && ((n = s.schema).default ?? (n.default = s.schema._prefault)), delete s.schema._prefault, t.seen.get(e).schema;\n}\nfunction Zo(e, t) {\n const r = e.seen.get(t);\n if (!r)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n const n = /* @__PURE__ */ new Map();\n for (const s of e.seen.entries()) {\n const a = e.metadataRegistry.get(s[0])?.id;\n if (a) {\n const u = n.get(a);\n if (u && u !== s[0])\n throw new Error(`Duplicate schema id \"${a}\" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);\n n.set(a, s[0]);\n }\n }\n const i = (s) => {\n const a = e.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (e.external) {\n const l = e.external.registry.get(s[0])?.id, h = e.external.uri ?? ((_) => _);\n if (l)\n return { ref: h(l) };\n const d = s[1].defId ?? s[1].schema.id ?? `schema${e.counter++}`;\n return s[1].defId = d, { defId: d, ref: `${h(\"__shared\")}#/${a}/${d}` };\n }\n if (s[1] === r)\n return { ref: \"#\" };\n const c = `#/${a}/`, f = s[1].schema.id ?? `__schema${e.counter++}`;\n return { defId: f, ref: c + f };\n }, o = (s) => {\n if (s[1].schema.$ref)\n return;\n const a = s[1], { ref: u, defId: c } = i(s);\n a.def = { ...a.schema }, c && (a.defId = c);\n const f = a.schema;\n for (const l in f)\n delete f[l];\n f.$ref = u;\n };\n if (e.cycles === \"throw\")\n for (const s of e.seen.entries()) {\n const a = s[1];\n if (a.cycle)\n throw new Error(`Cycle detected: #/${a.cycle?.join(\"/\")}/<root>\n\nSet the \\`cycles\\` parameter to \\`\"ref\"\\` to resolve cyclical schemas with defs.`);\n }\n for (const s of e.seen.entries()) {\n const a = s[1];\n if (t === s[0]) {\n o(s);\n continue;\n }\n if (e.external) {\n const c = e.external.registry.get(s[0])?.id;\n if (t !== s[0] && c) {\n o(s);\n continue;\n }\n }\n if (e.metadataRegistry.get(s[0])?.id) {\n o(s);\n continue;\n }\n if (a.cycle) {\n o(s);\n continue;\n }\n if (a.count > 1 && e.reused === \"ref\") {\n o(s);\n continue;\n }\n }\n}\nfunction Mo(e, t) {\n const r = e.seen.get(t);\n if (!r)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n const n = (s) => {\n const a = e.seen.get(s);\n if (a.ref === null)\n return;\n const u = a.def ?? a.schema, c = { ...u }, f = a.ref;\n if (a.ref = null, f) {\n n(f);\n const h = e.seen.get(f), d = h.schema;\n if (d.$ref && (e.target === \"draft-07\" || e.target === \"draft-04\" || e.target === \"openapi-3.0\") ? (u.allOf = u.allOf ?? [], u.allOf.push(d)) : Object.assign(u, d), Object.assign(u, c), s._zod.parent === f)\n for (const g in u)\n g === \"$ref\" || g === \"allOf\" || g in c || delete u[g];\n if (d.$ref && h.def)\n for (const g in u)\n g === \"$ref\" || g === \"allOf\" || g in h.def && JSON.stringify(u[g]) === JSON.stringify(h.def[g]) && delete u[g];\n }\n const l = s._zod.parent;\n if (l && l !== f) {\n n(l);\n const h = e.seen.get(l);\n if (h?.schema.$ref && (u.$ref = h.schema.$ref, h.def))\n for (const d in u)\n d === \"$ref\" || d === \"allOf\" || d in h.def && JSON.stringify(u[d]) === JSON.stringify(h.def[d]) && delete u[d];\n }\n e.override({\n zodSchema: s,\n jsonSchema: u,\n path: a.path ?? []\n });\n };\n for (const s of [...e.seen.entries()].reverse())\n n(s[0]);\n const i = {};\n if (e.target === \"draft-2020-12\" ? i.$schema = \"https://json-schema.org/draft/2020-12/schema\" : e.target === \"draft-07\" ? i.$schema = \"http://json-schema.org/draft-07/schema#\" : e.target === \"draft-04\" ? i.$schema = \"http://json-schema.org/draft-04/schema#\" : e.target, e.external?.uri) {\n const s = e.external.registry.get(t)?.id;\n if (!s)\n throw new Error(\"Schema is missing an `id` property\");\n i.$id = e.external.uri(s);\n }\n Object.assign(i, r.def ?? r.schema);\n const o = e.external?.defs ?? {};\n for (const s of e.seen.entries()) {\n const a = s[1];\n a.def && a.defId && (o[a.defId] = a.def);\n }\n e.external || Object.keys(o).length > 0 && (e.target === \"draft-2020-12\" ? i.$defs = o : i.definitions = o);\n try {\n const s = JSON.parse(JSON.stringify(i));\n return Object.defineProperty(s, \"~standard\", {\n value: {\n ...t[\"~standard\"],\n jsonSchema: {\n input: Ir(t, \"input\", e.processors),\n output: Ir(t, \"output\", e.processors)\n }\n },\n enumerable: !1,\n writable: !1\n }), s;\n } catch {\n throw new Error(\"Error converting schema to JSON.\");\n }\n}\nfunction ue(e, t) {\n const r = t ?? { seen: /* @__PURE__ */ new Set() };\n if (r.seen.has(e))\n return !1;\n r.seen.add(e);\n const n = e._zod.def;\n if (n.type === \"transform\")\n return !0;\n if (n.type === \"array\")\n return ue(n.element, r);\n if (n.type === \"set\")\n return ue(n.valueType, r);\n if (n.type === \"lazy\")\n return ue(n.getter(), r);\n if (n.type === \"promise\" || n.type === \"optional\" || n.type === \"nonoptional\" || n.type === \"nullable\" || n.type === \"readonly\" || n.type === \"default\" || n.type === \"prefault\")\n return ue(n.innerType, r);\n if (n.type === \"intersection\")\n return ue(n.left, r) || ue(n.right, r);\n if (n.type === \"record\" || n.type === \"map\")\n return ue(n.keyType, r) || ue(n.valueType, r);\n if (n.type === \"pipe\")\n return ue(n.in, r) || ue(n.out, r);\n if (n.type === \"object\") {\n for (const i in n.shape)\n if (ue(n.shape[i], r))\n return !0;\n return !1;\n }\n if (n.type === \"union\") {\n for (const i of n.options)\n if (ue(i, r))\n return !0;\n return !1;\n }\n if (n.type === \"tuple\") {\n for (const i of n.items)\n if (ue(i, r))\n return !0;\n return !!(n.rest && ue(n.rest, r));\n }\n return !1;\n}\nconst wf = (e, t = {}) => (r) => {\n const n = No({ ...r, processors: t });\n return G(e, n), Zo(n, e), Mo(n, e);\n}, Ir = (e, t, r = {}) => (n) => {\n const { libraryOptions: i, target: o } = n ?? {}, s = No({ ...i ?? {}, target: o, io: t, processors: r });\n return G(e, s), Zo(s, e), Mo(s, e);\n}, Sf = {\n guid: \"uuid\",\n url: \"uri\",\n datetime: \"date-time\",\n json_string: \"json-string\",\n regex: \"\"\n // do not set\n}, bf = (e, t, r, n) => {\n const i = r;\n i.type = \"string\";\n const { minimum: o, maximum: s, format: a, patterns: u, contentEncoding: c } = e._zod.bag;\n if (typeof o == \"number\" && (i.minLength = o), typeof s == \"number\" && (i.maxLength = s), a && (i.format = Sf[a] ?? a, i.format === \"\" && delete i.format, a === \"time\" && delete i.format), c && (i.contentEncoding = c), u && u.size > 0) {\n const f = [...u];\n f.length === 1 ? i.pattern = f[0].source : f.length > 1 && (i.allOf = [\n ...f.map((l) => ({\n ...t.target === \"draft-07\" || t.target === \"draft-04\" || t.target === \"openapi-3.0\" ? { type: \"string\" } : {},\n pattern: l.source\n }))\n ]);\n }\n}, zf = (e, t, r, n) => {\n const i = r, { minimum: o, maximum: s, format: a, multipleOf: u, exclusiveMaximum: c, exclusiveMinimum: f } = e._zod.bag;\n typeof a == \"string\" && a.includes(\"int\") ? i.type = \"integer\" : i.type = \"number\", typeof f == \"number\" && (t.target === \"draft-04\" || t.target === \"openapi-3.0\" ? (i.minimum = f, i.exclusiveMinimum = !0) : i.exclusiveMinimum = f), typeof o == \"number\" && (i.minimum = o, typeof f == \"number\" && t.target !== \"draft-04\" && (f >= o ? delete i.minimum : delete i.exclusiveMinimum)), typeof c == \"number\" && (t.target === \"draft-04\" || t.target === \"openapi-3.0\" ? (i.maximum = c, i.exclusiveMaximum = !0) : i.exclusiveMaximum = c), typeof s == \"number\" && (i.maximum = s, typeof c == \"number\" && t.target !== \"draft-04\" && (c <= s ? delete i.maximum : delete i.exclusiveMaximum)), typeof u == \"number\" && (i.multipleOf = u);\n}, kf = (e, t, r, n) => {\n r.type = \"boolean\";\n}, Of = (e, t, r, n) => {\n r.not = {};\n}, $f = (e, t, r, n) => {\n}, Ef = (e, t, r, n) => {\n const i = e._zod.def, o = lo(i.entries);\n o.every((s) => typeof s == \"number\") && (r.type = \"number\"), o.every((s) => typeof s == \"string\") && (r.type = \"string\"), r.enum = o;\n}, If = (e, t, r, n) => {\n const i = e._zod.def, o = [];\n for (const s of i.values)\n if (s === void 0) {\n if (t.unrepresentable === \"throw\")\n throw new Error(\"Literal `undefined` cannot be represented in JSON Schema\");\n } else if (typeof s == \"bigint\") {\n if (t.unrepresentable === \"throw\")\n throw new Error(\"BigInt literals cannot be represented in JSON Schema\");\n o.push(Number(s));\n } else\n o.push(s);\n if (o.length !== 0) if (o.length === 1) {\n const s = o[0];\n r.type = s === null ? \"null\" : typeof s, t.target === \"draft-04\" || t.target === \"openapi-3.0\" ? r.enum = [s] : r.const = s;\n } else\n o.every((s) => typeof s == \"number\") && (r.type = \"number\"), o.every((s) => typeof s == \"string\") && (r.type = \"string\"), o.every((s) => typeof s == \"boolean\") && (r.type = \"boolean\"), o.every((s) => s === null) && (r.type = \"null\"), r.enum = o;\n}, Af = (e, t, r, n) => {\n if (t.unrepresentable === \"throw\")\n throw new Error(\"Custom types cannot be represented in JSON Schema\");\n}, Rf = (e, t, r, n) => {\n if (t.unrepresentable === \"throw\")\n throw new Error(\"Transforms cannot be represented in JSON Schema\");\n}, Tf = (e, t, r, n) => {\n const i = r, o = e._zod.def, { minimum: s, maximum: a } = e._zod.bag;\n typeof s == \"number\" && (i.minItems = s), typeof a == \"number\" && (i.maxItems = a), i.type = \"array\", i.items = G(o.element, t, { ...n, path: [...n.path, \"items\"] });\n}, Pf = (e, t, r, n) => {\n const i = r, o = e._zod.def;\n i.type = \"object\", i.properties = {};\n const s = o.shape;\n for (const c in s)\n i.properties[c] = G(s[c], t, {\n ...n,\n path: [...n.path, \"properties\", c]\n });\n const a = new Set(Object.keys(s)), u = new Set([...a].filter((c) => {\n const f = o.shape[c]._zod;\n return t.io === \"input\" ? f.optin === void 0 : f.optout === void 0;\n }));\n u.size > 0 && (i.required = Array.from(u)), o.catchall?._zod.def.type === \"never\" ? i.additionalProperties = !1 : o.catchall ? o.catchall && (i.additionalProperties = G(o.catchall, t, {\n ...n,\n path: [...n.path, \"additionalProperties\"]\n })) : t.io === \"output\" && (i.additionalProperties = !1);\n}, Nf = (e, t, r, n) => {\n const i = e._zod.def, o = i.inclusive === !1, s = i.options.map((a, u) => G(a, t, {\n ...n,\n path: [...n.path, o ? \"oneOf\" : \"anyOf\", u]\n }));\n o ? r.oneOf = s : r.anyOf = s;\n}, Zf = (e, t, r, n) => {\n const i = e._zod.def, o = G(i.left, t, {\n ...n,\n path: [...n.path, \"allOf\", 0]\n }), s = G(i.right, t, {\n ...n,\n path: [...n.path, \"allOf\", 1]\n }), a = (c) => \"allOf\" in c && Object.keys(c).length === 1, u = [\n ...a(o) ? o.allOf : [o],\n ...a(s) ? s.allOf : [s]\n ];\n r.allOf = u;\n}, Mf = (e, t, r, n) => {\n const i = r, o = e._zod.def;\n i.type = \"object\";\n const s = o.keyType, u = s._zod.bag?.patterns;\n if (o.mode === \"loose\" && u && u.size > 0) {\n const f = G(o.valueType, t, {\n ...n,\n path: [...n.path, \"patternProperties\", \"*\"]\n });\n i.patternProperties = {};\n for (const l of u)\n i.patternProperties[l.source] = f;\n } else\n (t.target === \"draft-07\" || t.target === \"draft-2020-12\") && (i.propertyNames = G(o.keyType, t, {\n ...n,\n path: [...n.path, \"propertyNames\"]\n })), i.additionalProperties = G(o.valueType, t, {\n ...n,\n path: [...n.path, \"additionalProperties\"]\n });\n const c = s._zod.values;\n if (c) {\n const f = [...c].filter((l) => typeof l == \"string\" || typeof l == \"number\");\n f.length > 0 && (i.required = f);\n }\n}, Df = (e, t, r, n) => {\n const i = e._zod.def, o = G(i.innerType, t, n), s = t.seen.get(e);\n t.target === \"openapi-3.0\" ? (s.ref = i.innerType, r.nullable = !0) : r.anyOf = [o, { type: \"null\" }];\n}, Cf = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType;\n}, jf = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType, r.default = JSON.parse(JSON.stringify(i.defaultValue));\n}, Lf = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType, t.io === \"input\" && (r._prefault = JSON.parse(JSON.stringify(i.defaultValue)));\n}, Ff = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType;\n let s;\n try {\n s = i.catchValue(void 0);\n } catch {\n throw new Error(\"Dynamic catch values are not supported in JSON Schema\");\n }\n r.default = s;\n}, xf = (e, t, r, n) => {\n const i = e._zod.def, o = t.io === \"input\" ? i.in._zod.def.type === \"transform\" ? i.out : i.in : i.out;\n G(o, t, n);\n const s = t.seen.get(e);\n s.ref = o;\n}, qf = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType, r.readOnly = !0;\n}, Do = (e, t, r, n) => {\n const i = e._zod.def;\n G(i.innerType, t, n);\n const o = t.seen.get(e);\n o.ref = i.innerType;\n}, Uf = (e, t, r, n) => {\n const i = e._zod.innerType;\n G(i, t, n);\n const o = t.seen.get(e);\n o.ref = i;\n}, Bf = /* @__PURE__ */ p(\"ZodISODateTime\", (e, t) => {\n qu.init(e, t), H.init(e, t);\n});\nfunction Wf(e) {\n return /* @__PURE__ */ Hc(Bf, e);\n}\nconst Jf = /* @__PURE__ */ p(\"ZodISODate\", (e, t) => {\n Uu.init(e, t), H.init(e, t);\n});\nfunction Vf(e) {\n return /* @__PURE__ */ Yc(Jf, e);\n}\nconst Kf = /* @__PURE__ */ p(\"ZodISOTime\", (e, t) => {\n Bu.init(e, t), H.init(e, t);\n});\nfunction Hf(e) {\n return /* @__PURE__ */ Gc(Kf, e);\n}\nconst Yf = /* @__PURE__ */ p(\"ZodISODuration\", (e, t) => {\n Wu.init(e, t), H.init(e, t);\n});\nfunction Gf(e) {\n return /* @__PURE__ */ Xc(Yf, e);\n}\nconst Xf = (e, t) => {\n go.init(e, t), e.name = \"ZodError\", Object.defineProperties(e, {\n format: {\n value: (r) => Ma(e, r)\n // enumerable: false,\n },\n flatten: {\n value: (r) => Za(e, r)\n // enumerable: false,\n },\n addIssue: {\n value: (r) => {\n e.issues.push(r), e.message = JSON.stringify(e.issues, on, 2);\n }\n // enumerable: false,\n },\n addIssues: {\n value: (r) => {\n e.issues.push(...r), e.message = JSON.stringify(e.issues, on, 2);\n }\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return e.issues.length === 0;\n }\n // enumerable: false,\n }\n });\n}, $e = p(\"ZodError\", Xf, {\n Parent: Error\n}), Qf = /* @__PURE__ */ zn($e), el = /* @__PURE__ */ kn($e), tl = /* @__PURE__ */ Zr($e), rl = /* @__PURE__ */ Mr($e), nl = /* @__PURE__ */ ja($e), il = /* @__PURE__ */ La($e), ol = /* @__PURE__ */ Fa($e), sl = /* @__PURE__ */ xa($e), al = /* @__PURE__ */ qa($e), ul = /* @__PURE__ */ Ua($e), cl = /* @__PURE__ */ Ba($e), fl = /* @__PURE__ */ Wa($e), V = /* @__PURE__ */ p(\"ZodType\", (e, t) => (W.init(e, t), Object.assign(e[\"~standard\"], {\n jsonSchema: {\n input: Ir(e, \"input\"),\n output: Ir(e, \"output\")\n }\n}), e.toJSONSchema = wf(e, {}), e.def = t, e.type = t.type, Object.defineProperty(e, \"_def\", { value: t }), e.check = (...r) => e.clone(et(t, {\n checks: [\n ...t.checks ?? [],\n ...r.map((n) => typeof n == \"function\" ? { _zod: { check: n, def: { check: \"custom\" }, onattach: [] } } : n)\n ]\n}), {\n parent: !0\n}), e.with = e.check, e.clone = (r, n) => tt(e, r, n), e.brand = () => e, e.register = ((r, n) => (r.add(e, n), e)), e.parse = (r, n) => Qf(e, r, n, { callee: e.parse }), e.safeParse = (r, n) => tl(e, r, n), e.parseAsync = async (r, n) => el(e, r, n, { callee: e.parseAsync }), e.safeParseAsync = async (r, n) => rl(e, r, n), e.spa = e.safeParseAsync, e.encode = (r, n) => nl(e, r, n), e.decode = (r, n) => il(e, r, n), e.encodeAsync = async (r, n) => ol(e, r, n), e.decodeAsync = async (r, n) => sl(e, r, n), e.safeEncode = (r, n) => al(e, r, n), e.safeDecode = (r, n) => ul(e, r, n), e.safeEncodeAsync = async (r, n) => cl(e, r, n), e.safeDecodeAsync = async (r, n) => fl(e, r, n), e.refine = (r, n) => e.check(nh(r, n)), e.superRefine = (r) => e.check(ih(r)), e.overwrite = (r) => e.check(/* @__PURE__ */ Rt(r)), e.optional = () => $i(e), e.exactOptional = () => ql(e), e.nullable = () => Ei(e), e.nullish = () => $i(Ei(e)), e.nonoptional = (r) => Kl(e, r), e.array = () => He(e), e.or = (r) => qo([e, r]), e.and = (r) => Cl(e, r), e.transform = (r) => cn(e, Bo(r)), e.default = (r) => Wl(e, r), e.prefault = (r) => Vl(e, r), e.catch = (r) => Yl(e, r), e.pipe = (r) => cn(e, r), e.readonly = () => Ql(e), e.describe = (r) => {\n const n = e.clone();\n return xt.add(n, { description: r }), n;\n}, Object.defineProperty(e, \"description\", {\n get() {\n return xt.get(e)?.description;\n },\n configurable: !0\n}), e.meta = (...r) => {\n if (r.length === 0)\n return xt.get(e);\n const n = e.clone();\n return xt.add(n, r[0]), n;\n}, e.isOptional = () => e.safeParse(void 0).success, e.isNullable = () => e.safeParse(null).success, e.apply = (r) => r(e), e)), Co = /* @__PURE__ */ p(\"_ZodString\", (e, t) => {\n On.init(e, t), V.init(e, t), e._zod.processJSONSchema = (n, i, o) => bf(e, n, i);\n const r = e._zod.bag;\n e.format = r.format ?? null, e.minLength = r.minimum ?? null, e.maxLength = r.maximum ?? null, e.regex = (...n) => e.check(/* @__PURE__ */ of(...n)), e.includes = (...n) => e.check(/* @__PURE__ */ uf(...n)), e.startsWith = (...n) => e.check(/* @__PURE__ */ cf(...n)), e.endsWith = (...n) => e.check(/* @__PURE__ */ ff(...n)), e.min = (...n) => e.check(/* @__PURE__ */ Er(...n)), e.max = (...n) => e.check(/* @__PURE__ */ To(...n)), e.length = (...n) => e.check(/* @__PURE__ */ Po(...n)), e.nonempty = (...n) => e.check(/* @__PURE__ */ Er(1, ...n)), e.lowercase = (n) => e.check(/* @__PURE__ */ sf(n)), e.uppercase = (n) => e.check(/* @__PURE__ */ af(n)), e.trim = () => e.check(/* @__PURE__ */ hf()), e.normalize = (...n) => e.check(/* @__PURE__ */ lf(...n)), e.toLowerCase = () => e.check(/* @__PURE__ */ pf()), e.toUpperCase = () => e.check(/* @__PURE__ */ df()), e.slugify = () => e.check(/* @__PURE__ */ _f());\n}), ll = /* @__PURE__ */ p(\"ZodString\", (e, t) => {\n On.init(e, t), Co.init(e, t), e.email = (r) => e.check(/* @__PURE__ */ Ic(hl, r)), e.url = (r) => e.check(/* @__PURE__ */ Nc(pl, r)), e.jwt = (r) => e.check(/* @__PURE__ */ Kc(Il, r)), e.emoji = (r) => e.check(/* @__PURE__ */ Zc(dl, r)), e.guid = (r) => e.check(/* @__PURE__ */ wi(ki, r)), e.uuid = (r) => e.check(/* @__PURE__ */ Ac(vr, r)), e.uuidv4 = (r) => e.check(/* @__PURE__ */ Rc(vr, r)), e.uuidv6 = (r) => e.check(/* @__PURE__ */ Tc(vr, r)), e.uuidv7 = (r) => e.check(/* @__PURE__ */ Pc(vr, r)), e.nanoid = (r) => e.check(/* @__PURE__ */ Mc(_l, r)), e.guid = (r) => e.check(/* @__PURE__ */ wi(ki, r)), e.cuid = (r) => e.check(/* @__PURE__ */ Dc(gl, r)), e.cuid2 = (r) => e.check(/* @__PURE__ */ Cc(ml, r)), e.ulid = (r) => e.check(/* @__PURE__ */ jc(vl, r)), e.base64 = (r) => e.check(/* @__PURE__ */ Wc(Ol, r)), e.base64url = (r) => e.check(/* @__PURE__ */ Jc($l, r)), e.xid = (r) => e.check(/* @__PURE__ */ Lc(yl, r)), e.ksuid = (r) => e.check(/* @__PURE__ */ Fc(wl, r)), e.ipv4 = (r) => e.check(/* @__PURE__ */ xc(Sl, r)), e.ipv6 = (r) => e.check(/* @__PURE__ */ qc(bl, r)), e.cidrv4 = (r) => e.check(/* @__PURE__ */ Uc(zl, r)), e.cidrv6 = (r) => e.check(/* @__PURE__ */ Bc(kl, r)), e.e164 = (r) => e.check(/* @__PURE__ */ Vc(El, r)), e.datetime = (r) => e.check(Wf(r)), e.date = (r) => e.check(Vf(r)), e.time = (r) => e.check(Hf(r)), e.duration = (r) => e.check(Gf(r));\n});\nfunction I(e) {\n return /* @__PURE__ */ Ec(ll, e);\n}\nconst H = /* @__PURE__ */ p(\"ZodStringFormat\", (e, t) => {\n J.init(e, t), Co.init(e, t);\n}), hl = /* @__PURE__ */ p(\"ZodEmail\", (e, t) => {\n Nu.init(e, t), H.init(e, t);\n}), ki = /* @__PURE__ */ p(\"ZodGUID\", (e, t) => {\n Tu.init(e, t), H.init(e, t);\n}), vr = /* @__PURE__ */ p(\"ZodUUID\", (e, t) => {\n Pu.init(e, t), H.init(e, t);\n}), pl = /* @__PURE__ */ p(\"ZodURL\", (e, t) => {\n Zu.init(e, t), H.init(e, t);\n}), dl = /* @__PURE__ */ p(\"ZodEmoji\", (e, t) => {\n Mu.init(e, t), H.init(e, t);\n}), _l = /* @__PURE__ */ p(\"ZodNanoID\", (e, t) => {\n Du.init(e, t), H.init(e, t);\n}), gl = /* @__PURE__ */ p(\"ZodCUID\", (e, t) => {\n Cu.init(e, t), H.init(e, t);\n}), ml = /* @__PURE__ */ p(\"ZodCUID2\", (e, t) => {\n ju.init(e, t), H.init(e, t);\n}), vl = /* @__PURE__ */ p(\"ZodULID\", (e, t) => {\n Lu.init(e, t), H.init(e, t);\n}), yl = /* @__PURE__ */ p(\"ZodXID\", (e, t) => {\n Fu.init(e, t), H.init(e, t);\n}), wl = /* @__PURE__ */ p(\"ZodKSUID\", (e, t) => {\n xu.init(e, t), H.init(e, t);\n}), Sl = /* @__PURE__ */ p(\"ZodIPv4\", (e, t) => {\n Ju.init(e, t), H.init(e, t);\n}), bl = /* @__PURE__ */ p(\"ZodIPv6\", (e, t) => {\n Vu.init(e, t), H.init(e, t);\n}), zl = /* @__PURE__ */ p(\"ZodCIDRv4\", (e, t) => {\n Ku.init(e, t), H.init(e, t);\n}), kl = /* @__PURE__ */ p(\"ZodCIDRv6\", (e, t) => {\n Hu.init(e, t), H.init(e, t);\n}), Ol = /* @__PURE__ */ p(\"ZodBase64\", (e, t) => {\n Yu.init(e, t), H.init(e, t);\n}), $l = /* @__PURE__ */ p(\"ZodBase64URL\", (e, t) => {\n Xu.init(e, t), H.init(e, t);\n}), El = /* @__PURE__ */ p(\"ZodE164\", (e, t) => {\n Qu.init(e, t), H.init(e, t);\n}), Il = /* @__PURE__ */ p(\"ZodJWT\", (e, t) => {\n tc.init(e, t), H.init(e, t);\n}), jo = /* @__PURE__ */ p(\"ZodNumber\", (e, t) => {\n $o.init(e, t), V.init(e, t), e._zod.processJSONSchema = (n, i, o) => zf(e, n, i), e.gt = (n, i) => e.check(/* @__PURE__ */ bi(n, i)), e.gte = (n, i) => e.check(/* @__PURE__ */ Yr(n, i)), e.min = (n, i) => e.check(/* @__PURE__ */ Yr(n, i)), e.lt = (n, i) => e.check(/* @__PURE__ */ Si(n, i)), e.lte = (n, i) => e.check(/* @__PURE__ */ Hr(n, i)), e.max = (n, i) => e.check(/* @__PURE__ */ Hr(n, i)), e.int = (n) => e.check(Oi(n)), e.safe = (n) => e.check(Oi(n)), e.positive = (n) => e.check(/* @__PURE__ */ bi(0, n)), e.nonnegative = (n) => e.check(/* @__PURE__ */ Yr(0, n)), e.negative = (n) => e.check(/* @__PURE__ */ Si(0, n)), e.nonpositive = (n) => e.check(/* @__PURE__ */ Hr(0, n)), e.multipleOf = (n, i) => e.check(/* @__PURE__ */ zi(n, i)), e.step = (n, i) => e.check(/* @__PURE__ */ zi(n, i)), e.finite = () => e;\n const r = e._zod.bag;\n e.minValue = Math.max(r.minimum ?? Number.NEGATIVE_INFINITY, r.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null, e.maxValue = Math.min(r.maximum ?? Number.POSITIVE_INFINITY, r.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null, e.isInt = (r.format ?? \"\").includes(\"int\") || Number.isSafeInteger(r.multipleOf ?? 0.5), e.isFinite = !0, e.format = r.format ?? null;\n});\nfunction an(e) {\n return /* @__PURE__ */ Qc(jo, e);\n}\nconst Al = /* @__PURE__ */ p(\"ZodNumberFormat\", (e, t) => {\n rc.init(e, t), jo.init(e, t);\n});\nfunction Oi(e) {\n return /* @__PURE__ */ ef(Al, e);\n}\nconst Rl = /* @__PURE__ */ p(\"ZodBoolean\", (e, t) => {\n nc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => kf(e, r, n);\n});\nfunction ze(e) {\n return /* @__PURE__ */ tf(Rl, e);\n}\nconst Tl = /* @__PURE__ */ p(\"ZodUnknown\", (e, t) => {\n ic.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => $f();\n});\nfunction Gt() {\n return /* @__PURE__ */ rf(Tl);\n}\nconst Pl = /* @__PURE__ */ p(\"ZodNever\", (e, t) => {\n oc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Of(e, r, n);\n});\nfunction Lo(e) {\n return /* @__PURE__ */ nf(Pl, e);\n}\nconst Nl = /* @__PURE__ */ p(\"ZodArray\", (e, t) => {\n sc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Tf(e, r, n, i), e.element = t.element, e.min = (r, n) => e.check(/* @__PURE__ */ Er(r, n)), e.nonempty = (r) => e.check(/* @__PURE__ */ Er(1, r)), e.max = (r, n) => e.check(/* @__PURE__ */ To(r, n)), e.length = (r, n) => e.check(/* @__PURE__ */ Po(r, n)), e.unwrap = () => e.element;\n});\nfunction He(e, t) {\n return /* @__PURE__ */ gf(Nl, e, t);\n}\nconst Fo = /* @__PURE__ */ p(\"ZodObject\", (e, t) => {\n uc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Pf(e, r, n, i), T(e, \"shape\", () => t.shape), e.keyof = () => Ie(Object.keys(e._zod.def.shape)), e.catchall = (r) => e.clone({ ...e._zod.def, catchall: r }), e.passthrough = () => e.clone({ ...e._zod.def, catchall: Gt() }), e.loose = () => e.clone({ ...e._zod.def, catchall: Gt() }), e.strict = () => e.clone({ ...e._zod.def, catchall: Lo() }), e.strip = () => e.clone({ ...e._zod.def, catchall: void 0 }), e.extend = (r) => Aa(e, r), e.safeExtend = (r) => Ra(e, r), e.merge = (r) => Ta(e, r), e.pick = (r) => Ea(e, r), e.omit = (r) => Ia(e, r), e.partial = (...r) => Pa(Wo, e, r[0]), e.required = (...r) => Na(Jo, e, r[0]);\n});\nfunction ce(e, t) {\n const r = {\n type: \"object\",\n shape: e ?? {},\n ...y(t)\n };\n return new Fo(r);\n}\nfunction Zl(e, t) {\n return new Fo({\n type: \"object\",\n shape: e,\n catchall: Gt(),\n ...y(t)\n });\n}\nconst xo = /* @__PURE__ */ p(\"ZodUnion\", (e, t) => {\n Ao.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Nf(e, r, n, i), e.options = t.options;\n});\nfunction qo(e, t) {\n return new xo({\n type: \"union\",\n options: e,\n ...y(t)\n });\n}\nconst Ml = /* @__PURE__ */ p(\"ZodDiscriminatedUnion\", (e, t) => {\n xo.init(e, t), cc.init(e, t);\n});\nfunction Uo(e, t, r) {\n return new Ml({\n type: \"union\",\n options: t,\n discriminator: e,\n ...y(r)\n });\n}\nconst Dl = /* @__PURE__ */ p(\"ZodIntersection\", (e, t) => {\n fc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Zf(e, r, n, i);\n});\nfunction Cl(e, t) {\n return new Dl({\n type: \"intersection\",\n left: e,\n right: t\n });\n}\nconst jl = /* @__PURE__ */ p(\"ZodRecord\", (e, t) => {\n lc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Mf(e, r, n, i), e.keyType = t.keyType, e.valueType = t.valueType;\n});\nfunction Xt(e, t, r) {\n return new jl({\n type: \"record\",\n keyType: e,\n valueType: t,\n ...y(r)\n });\n}\nconst un = /* @__PURE__ */ p(\"ZodEnum\", (e, t) => {\n hc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (n, i, o) => Ef(e, n, i), e.enum = t.entries, e.options = Object.values(t.entries);\n const r = new Set(Object.keys(t.entries));\n e.extract = (n, i) => {\n const o = {};\n for (const s of n)\n if (r.has(s))\n o[s] = t.entries[s];\n else\n throw new Error(`Key ${s} not found in enum`);\n return new un({\n ...t,\n checks: [],\n ...y(i),\n entries: o\n });\n }, e.exclude = (n, i) => {\n const o = { ...t.entries };\n for (const s of n)\n if (r.has(s))\n delete o[s];\n else\n throw new Error(`Key ${s} not found in enum`);\n return new un({\n ...t,\n checks: [],\n ...y(i),\n entries: o\n });\n };\n});\nfunction Ie(e, t) {\n const r = Array.isArray(e) ? Object.fromEntries(e.map((n) => [n, n])) : e;\n return new un({\n type: \"enum\",\n entries: r,\n ...y(t)\n });\n}\nconst Ll = /* @__PURE__ */ p(\"ZodLiteral\", (e, t) => {\n pc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => If(e, r, n), e.values = new Set(t.values), Object.defineProperty(e, \"value\", {\n get() {\n if (t.values.length > 1)\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n return t.values[0];\n }\n });\n});\nfunction st(e, t) {\n return new Ll({\n type: \"literal\",\n values: Array.isArray(e) ? e : [e],\n ...y(t)\n });\n}\nconst Fl = /* @__PURE__ */ p(\"ZodTransform\", (e, t) => {\n dc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Rf(e, r), e._zod.parse = (r, n) => {\n if (n.direction === \"backward\")\n throw new co(e.constructor.name);\n r.addIssue = (o) => {\n if (typeof o == \"string\")\n r.issues.push(Yt(o, r.value, t));\n else {\n const s = o;\n s.fatal && (s.continue = !1), s.code ?? (s.code = \"custom\"), s.input ?? (s.input = r.value), s.inst ?? (s.inst = e), r.issues.push(Yt(s));\n }\n };\n const i = t.transform(r.value, r);\n return i instanceof Promise ? i.then((o) => (r.value = o, r)) : (r.value = i, r);\n };\n});\nfunction Bo(e) {\n return new Fl({\n type: \"transform\",\n transform: e\n });\n}\nconst Wo = /* @__PURE__ */ p(\"ZodOptional\", (e, t) => {\n Ro.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Do(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction $i(e) {\n return new Wo({\n type: \"optional\",\n innerType: e\n });\n}\nconst xl = /* @__PURE__ */ p(\"ZodExactOptional\", (e, t) => {\n _c.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Do(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction ql(e) {\n return new xl({\n type: \"optional\",\n innerType: e\n });\n}\nconst Ul = /* @__PURE__ */ p(\"ZodNullable\", (e, t) => {\n gc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Df(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction Ei(e) {\n return new Ul({\n type: \"nullable\",\n innerType: e\n });\n}\nconst Bl = /* @__PURE__ */ p(\"ZodDefault\", (e, t) => {\n mc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => jf(e, r, n, i), e.unwrap = () => e._zod.def.innerType, e.removeDefault = e.unwrap;\n});\nfunction Wl(e, t) {\n return new Bl({\n type: \"default\",\n innerType: e,\n get defaultValue() {\n return typeof t == \"function\" ? t() : po(t);\n }\n });\n}\nconst Jl = /* @__PURE__ */ p(\"ZodPrefault\", (e, t) => {\n vc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Lf(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction Vl(e, t) {\n return new Jl({\n type: \"prefault\",\n innerType: e,\n get defaultValue() {\n return typeof t == \"function\" ? t() : po(t);\n }\n });\n}\nconst Jo = /* @__PURE__ */ p(\"ZodNonOptional\", (e, t) => {\n yc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Cf(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction Kl(e, t) {\n return new Jo({\n type: \"nonoptional\",\n innerType: e,\n ...y(t)\n });\n}\nconst Hl = /* @__PURE__ */ p(\"ZodCatch\", (e, t) => {\n wc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Ff(e, r, n, i), e.unwrap = () => e._zod.def.innerType, e.removeCatch = e.unwrap;\n});\nfunction Yl(e, t) {\n return new Hl({\n type: \"catch\",\n innerType: e,\n catchValue: typeof t == \"function\" ? t : () => t\n });\n}\nconst Gl = /* @__PURE__ */ p(\"ZodPipe\", (e, t) => {\n Sc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => xf(e, r, n, i), e.in = t.in, e.out = t.out;\n});\nfunction cn(e, t) {\n return new Gl({\n type: \"pipe\",\n in: e,\n out: t\n // ...util.normalizeParams(params),\n });\n}\nconst Xl = /* @__PURE__ */ p(\"ZodReadonly\", (e, t) => {\n bc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => qf(e, r, n, i), e.unwrap = () => e._zod.def.innerType;\n});\nfunction Ql(e) {\n return new Xl({\n type: \"readonly\",\n innerType: e\n });\n}\nconst eh = /* @__PURE__ */ p(\"ZodLazy\", (e, t) => {\n zc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Uf(e, r, n, i), e.unwrap = () => e._zod.def.getter();\n});\nfunction th(e) {\n return new eh({\n type: \"lazy\",\n getter: e\n });\n}\nconst rh = /* @__PURE__ */ p(\"ZodCustom\", (e, t) => {\n kc.init(e, t), V.init(e, t), e._zod.processJSONSchema = (r, n, i) => Af(e, r);\n});\nfunction nh(e, t = {}) {\n return /* @__PURE__ */ mf(rh, e, t);\n}\nfunction ih(e) {\n return /* @__PURE__ */ vf(e);\n}\nfunction oh(e, t) {\n return cn(Bo(e), t);\n}\nconst sh = ce({\n /** The table view type */\n view: Ie([\"list\", \"uncounted\", \"list-expansion\", \"tree\", \"gantt\", \"tree-gantt\"]).optional(),\n /** Allow the table to use the full width of its container */\n fullWidth: ze().optional(),\n /** Default expansion state for tree views */\n defaultTreeExpansion: Ie([\"root\", \"branch\", \"leaf\"]).optional(),\n /** Enable dependency graph connections for Gantt views */\n dependencyGraph: ze().optional()\n}).meta({\n title: \"TableViewConfig\",\n description: \"JSON-safe view configuration for table fields in doctype authoring\"\n}), ah = qo([\n He(I()),\n // Select choices: [\"A\", \"B\", \"C\"]\n Xt(I(), Gt())\n // Config: \\{ precision: 10, scale: 2 \\}\n]).meta({\n title: \"FieldOptions\",\n description: \"Field options - flexible bag for type-specific configuration\"\n}), uh = Zl({\n /** Error message to display when validation fails */\n errorMessage: I()\n}).meta({\n title: \"FieldValidation\",\n description: \"Validation configuration for form fields\"\n});\nfunction Vo(e) {\n if (typeof e != \"object\" || e === null || Array.isArray(e)) return e;\n const t = e;\n return \"kind\" in t ? e : \"schema\" in t ? { kind: \"fieldset\", ...t } : \"columns\" in t ? { kind: \"table\", ...t } : { kind: \"field\", ...t };\n}\nfunction Ko(e) {\n const t = Vo(e);\n if (typeof t != \"object\" || t === null) return t;\n const r = t;\n return r.kind === \"fieldset\" && Array.isArray(r.schema) ? { ...r, schema: r.schema.map(Ko) } : t;\n}\nfunction ch() {\n const e = ce({\n kind: st(\"field\"),\n fieldname: I().min(1),\n component: I().min(1),\n primaryKey: ze().optional(),\n computed: ze().optional(),\n language: I().optional(),\n doctype: I().min(1).optional(),\n label: I().optional(),\n width: I().optional(),\n align: Ie([\"left\", \"center\", \"right\", \"start\", \"end\"]).optional(),\n edit: ze().optional(),\n mask: I().optional(),\n format: I().optional(),\n mode: Ie([\"edit\", \"read\", \"display\"]).optional(),\n options: ah.optional(),\n required: ze().optional(),\n readOnly: ze().optional(),\n hidden: ze().optional(),\n default: Gt().optional(),\n validation: uh.optional(),\n cardinality: Ie([\"atMostOne\", \"one\", \"noneOrMany\", \"atLeastOne\"]).optional(),\n source: st(\"introspected\").optional()\n }).meta({ title: \"ValueField\" }), t = ce({\n kind: st(\"table\"),\n fieldname: I().min(1),\n component: I().optional(),\n label: I().optional(),\n // Validates that each column has fieldname; allows all other ColumnSchema properties\n columns: He(ce({ fieldname: I().min(1) }).passthrough()),\n config: sh.optional(),\n mode: Ie([\"edit\", \"read\", \"display\"]).optional()\n }).meta({ title: \"TableField\" });\n let r = Lo();\n const n = ce({\n kind: st(\"fieldset\"),\n fieldname: I().min(1),\n component: I().optional(),\n label: I().optional(),\n collapsible: ze().optional(),\n mode: Ie([\"edit\", \"read\", \"display\"]).optional(),\n schema: th(() => r.array())\n }).meta({ title: \"FieldsetField\" }), i = Uo(\"kind\", [e, n, t]);\n return r = oh(Vo, i), { ValueFieldSchema: e, TableFieldSchema: t, FieldsetFieldSchema: n, DoctypeFieldSchema: r };\n}\nconst fh = ch(), lh = fh.DoctypeFieldSchema, hh = Ie([\"atMostOne\", \"one\", \"noneOrMany\", \"atLeastOne\"]).meta({\n title: \"Cardinality\",\n description: \"Cardinality for relationship links between doctypes\"\n}), ph = ce({\n /** Fetch method type */\n method: st(\"sync\"),\n /** Optional limit on number of records to fetch */\n limit: an().int().positive().optional()\n}).meta({\n title: \"SyncFetch\",\n description: \"Sync fetch strategy - data is fetched in the initial query\"\n}), dh = ce({\n /** Fetch method type */\n method: st(\"lazy\")\n}).meta({\n title: \"LazyFetch\",\n description: \"Lazy fetch strategy - data is fetched on demand in a separate query\"\n}), _h = ce({\n /** Fetch method type */\n method: st(\"custom\"),\n /** Serialized handler function to invoke */\n handler: I()\n}).meta({\n title: \"CustomFetch\",\n description: \"Custom fetch strategy - uses a custom handler function\"\n}), gh = Uo(\"method\", [ph, dh, _h]).meta({\n title: \"FetchStrategy\",\n description: \"Fetch strategy for link data loading\"\n}), mh = ce({\n /** Target doctype slug */\n target: I().min(1),\n /** Cardinality of the relationship */\n cardinality: hh,\n /** Backlink fieldname on the target doctype that points back to this link */\n backlink: I().optional(),\n /** Override default rendering component (AForm for 1:1, ATable for 1:many) */\n component: I().optional(),\n /** Fieldname of the corresponding Link field in the fields array */\n fieldname: I().min(1).optional(),\n /** Fetch strategy for loading nested data */\n fetch: gh.optional(),\n /** Whether to block workflow actions until nested data is loaded (default: true) */\n blockWorkflows: ze().optional()\n}).meta({\n title: \"LinkDeclaration\",\n description: \"Declares a relationship from one doctype to another\"\n}), vh = ce({\n /** Display label for the action */\n label: I().min(1),\n /** Fields that must have values before action can execute */\n requiredFields: He(I()).optional(),\n /** Workflow states where this action is available */\n allowedStates: He(I()).optional(),\n /** The state the record transitions to after this action executes */\n nextState: I().optional(),\n /** True for stateless command actions with no workflow effect at all (print, email, etc.) */\n stateless: ze().optional(),\n /**\n * True for an internal self-transition: the action runs within the current state without\n * advancing the workflow (e.g. `save`, which mutates record data but stays put). Scoped by\n * `allowedStates`, rendered as a self-loop in the graph, and has no `nextState`. Distinct from\n * `stateless` (which has no workflow presence at all): a self-transition is graph-owned and,\n * unlike a stateless command, persists record data on dispatch.\n */\n selfTransition: ze().optional(),\n /** JS function body stored as a string; executed client-side via AsyncFunction with injected API surface */\n clientHandler: I().optional()\n}).meta({\n title: \"ActionDefinition\",\n description: \"Action definition within a workflow\"\n}), yh = ce({\n /** Optional display label; the map key is the trigger's identity */\n label: I().optional(),\n /** Fieldnames whose edits fire this trigger (fires when any listed field changes) */\n on: He(I()),\n /** JS function body stored as a string; run client-side with `{ record, value, setError }`. Advisory. */\n clientHandler: I()\n}).meta({\n title: \"TriggerDefinition\",\n description: \"Reactive field-validation trigger — advisory client-side\"\n});\nfunction Ii(e, t) {\n const r = e.allowedStates;\n return !r || r.length === 0 ? !0 : r.includes(t);\n}\nconst wh = Xt(\n I(),\n ce({\n position: ce({ x: an(), y: an() }).optional(),\n targetPosition: Ie([\"left\", \"top\", \"right\", \"bottom\"]).optional(),\n sourcePosition: Ie([\"left\", \"top\", \"right\", \"bottom\"]).optional()\n })\n), Sh = ce({\n /** List of workflow states */\n states: He(I()).optional(),\n /** Actions available in this workflow */\n actions: Xt(I(), vh).optional(),\n /** Reactive field-validation triggers (advisory, client-side), keyed by trigger name */\n triggers: Xt(I(), yh).optional(),\n /**\n * DocBuilder node positions keyed by state name — authoring view-state. Persisted here so a\n * doctype author's manual graph arrangement survives reloads; like `triggers`, it is client-only\n * and never enters the runtime GraphQL SDL. See {@link (WorkflowLayout:variable)}.\n */\n layout: wh.optional()\n}).meta({\n title: \"WorkflowMeta\",\n description: \"Workflow metadata - states and actions for a doctype\"\n});\nce({\n /** Display name of the doctype */\n name: I().min(1),\n /** URL-friendly slug (kebab-case) */\n slug: I().min(1).optional(),\n /** Field definitions (a link field is one carrying `doctype`) */\n fields: He(lh),\n /** Relationship links to other doctypes */\n links: Xt(I(), mh).optional(),\n /** Workflow configuration */\n workflow: Sh.optional(),\n /** Parent doctype for inheritance */\n inherits: I().optional()\n}).meta({\n title: \"DoctypeMeta\",\n description: \"Doctype metadata - complete definition of a doctype\"\n});\nconst Ho = {\n ATextInput: \"text\",\n ATextarea: \"text\",\n ANumericInput: \"number\",\n ACheckbox: \"boolean\",\n ADate: \"date\",\n ADatePicker: \"date\",\n ADateSelection: \"date\",\n ADateTime: \"datetime\",\n ADuration: \"text\",\n ADateRange: \"date\",\n ADropdown: \"select\",\n ACodeEditor: \"code\",\n AFormLink: \"link\",\n AFileAttach: \"attach\",\n AQuantityInput: \"quantity\"\n};\nfunction bh(e) {\n return e ? Ho[e] : void 0;\n}\nconst Yo = {\n AFormLink: \"inline\",\n AForm: \"expand\",\n ATable: \"expand\"\n};\nfunction $n(e) {\n return e ? Yo[e] : void 0;\n}\nfunction Ai(e, t) {\n return $n(e.component ?? t) === \"inline\" ? \"inline\" : e.cardinality === \"noneOrMany\" || e.cardinality === \"atLeastOne\" ? \"table\" : \"record\";\n}\n[\n .../* @__PURE__ */ new Set([...Object.keys(Ho), ...Object.keys(Yo)])\n].toSorted();\nvar Ar = \"@@__IMMUTABLE_INDEXED__@@\";\nfunction Oe(e) {\n return !!(e && // @ts-expect-error: maybeIndexed is typed as `{}`, need to change in 6.0 to `maybeIndexed && typeof maybeIndexed === 'object' && IS_INDEXED_SYMBOL in maybeIndexed`\n e[Ar]);\n}\nvar Rr = \"@@__IMMUTABLE_KEYED__@@\";\nfunction U(e) {\n return !!(e && // @ts-expect-error: maybeKeyed is typed as `{}`, need to change in 6.0 to `maybeKeyed && typeof maybeKeyed === 'object' && IS_KEYED_SYMBOL in maybeKeyed`\n e[Rr]);\n}\nfunction En(e) {\n return U(e) || Oe(e);\n}\nvar Go = \"@@__IMMUTABLE_ITERABLE__@@\";\nfunction ye(e) {\n return !!(e && // @ts-expect-error: maybeCollection is typed as `{}`, need to change in 6.0 to `maybeCollection && typeof maybeCollection === 'object' && IS_COLLECTION_SYMBOL in maybeCollection`\n e[Go]);\n}\nvar oe = function(t) {\n return ye(t) ? t : pe(t);\n}, Ee = /* @__PURE__ */ (function(e) {\n function t(r) {\n return U(r) ? r : rt(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t;\n})(oe), ut = /* @__PURE__ */ (function(e) {\n function t(r) {\n return Oe(r) ? r : Ae(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t;\n})(oe), Tt = /* @__PURE__ */ (function(e) {\n function t(r) {\n return ye(r) && !En(r) ? r : Zt(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t;\n})(oe);\noe.Keyed = Ee;\noe.Indexed = ut;\noe.Set = Tt;\nvar Pt = 0, we = 1, Se = 2, fn = typeof Symbol == \"function\" && Symbol.iterator, Xo = \"@@iterator\", Cr = fn || Xo, Z = function(t) {\n this.next = t;\n};\nZ.prototype.toString = function() {\n return \"[Iterator]\";\n};\nZ.KEYS = Pt;\nZ.VALUES = we;\nZ.ENTRIES = Se;\nZ.prototype.inspect = Z.prototype.toSource = function() {\n return this.toString();\n};\nZ.prototype[Cr] = function() {\n return this;\n};\nfunction B(e, t, r, n) {\n var i = e === Pt ? t : e === we ? r : [t, r];\n return n ? n.value = i : n = {\n // @ts-expect-error ensure value is not undefined\n value: i,\n done: !1\n }, n;\n}\nfunction le() {\n return { value: void 0, done: !0 };\n}\nfunction Qo(e) {\n return Array.isArray(e) ? !0 : !!jr(e);\n}\nfunction Ri(e) {\n return !!(e && // @ts-expect-error: maybeIterator is typed as `{}`\n typeof e.next == \"function\");\n}\nfunction ln(e) {\n var t = jr(e);\n return t && t.call(e);\n}\nfunction jr(e) {\n var t = e && // @ts-expect-error: maybeIterator is typed as `{}`\n (fn && e[fn] || // @ts-expect-error: maybeIterator is typed as `{}`\n e[Xo]);\n if (typeof t == \"function\")\n return t;\n}\nfunction zh(e) {\n var t = jr(e);\n return t && t === e.entries;\n}\nfunction kh(e) {\n var t = jr(e);\n return t && t === e.keys;\n}\nvar sr = \"delete\", j = 5, me = 1 << j, fe = me - 1, P = {};\nfunction hn() {\n return { value: !1 };\n}\nfunction ke(e) {\n e && (e.value = !0);\n}\nfunction In() {\n}\nfunction St(e) {\n return e.size === void 0 && (e.size = e.__iterate(es)), e.size;\n}\nfunction Ye(e, t) {\n if (typeof t != \"number\") {\n var r = t >>> 0;\n if (\"\" + r !== t || r === 4294967295)\n return NaN;\n t = r;\n }\n return t < 0 ? St(e) + t : t;\n}\nfunction es() {\n return !0;\n}\nfunction Lr(e, t, r) {\n return (e === 0 && !rs(e) || r !== void 0 && e <= -r) && (t === void 0 || r !== void 0 && t >= r);\n}\nfunction ar(e, t) {\n return ts(e, t, 0);\n}\nfunction Fr(e, t) {\n return ts(e, t, t);\n}\nfunction ts(e, t, r) {\n return e === void 0 ? r : rs(e) ? t === 1 / 0 ? t : Math.max(0, t + e) | 0 : t === void 0 || t === e ? e : Math.min(t, e) | 0;\n}\nfunction rs(e) {\n return e < 0 || e === 0 && 1 / e === -1 / 0;\n}\nvar ns = \"@@__IMMUTABLE_RECORD__@@\";\nfunction ct(e) {\n return !!(e && // @ts-expect-error: maybeRecord is typed as `{}`, need to change in 6.0 to `maybeRecord && typeof maybeRecord === 'object' && IS_RECORD_SYMBOL in maybeRecord`\n e[ns]);\n}\nfunction Me(e) {\n return ye(e) || ct(e);\n}\nvar Ge = \"@@__IMMUTABLE_ORDERED__@@\";\nfunction Ze(e) {\n return !!(e && // @ts-expect-error: maybeOrdered is typed as `{}`, need to change in 6.0 to `maybeOrdered && typeof maybeOrdered === 'object' && IS_ORDERED_SYMBOL in maybeOrdered`\n e[Ge]);\n}\nvar is = \"@@__IMMUTABLE_SEQ__@@\";\nfunction An(e) {\n return !!(e && // @ts-expect-error: maybeSeq is typed as `{}`, need to change in 6.0 to `maybeSeq && typeof maybeSeq === 'object' && MAYBE_SEQ_SYMBOL in maybeSeq`\n e[is]);\n}\nvar Nt = Object.prototype.hasOwnProperty;\nfunction os(e) {\n return Array.isArray(e) || typeof e == \"string\" ? !0 : e && typeof e == \"object\" && // @ts-expect-error check that `'length' in value &&`\n Number.isInteger(e.length) && // @ts-expect-error check that `'length' in value &&`\n e.length >= 0 && // @ts-expect-error check that `'length' in value &&`\n (e.length === 0 ? (\n // Only {length: 0} is considered Array-like.\n Object.keys(e).length === 1\n ) : (\n // An object is only Array-like if it has a property where the last value\n // in the array-like may be found (which could be undefined).\n // @ts-expect-error check that `'length' in value &&`\n e.hasOwnProperty(e.length - 1)\n ));\n}\nvar pe = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Tn() : Me(r) ? r.toSeq() : $h(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.toSeq = function() {\n return this;\n }, t.prototype.toString = function() {\n return this.__toString(\"Seq {\", \"}\");\n }, t.prototype.cacheResult = function() {\n return !this._cache && this.__iterateUncached && (this._cache = this.entrySeq().toArray(), this.size = this._cache.length), this;\n }, t.prototype.__iterate = function(n, i) {\n var o = this._cache;\n if (o) {\n for (var s = o.length, a = 0; a !== s; ) {\n var u = o[i ? s - ++a : a++];\n if (n(u[1], u[0], this) === !1)\n break;\n }\n return a;\n }\n return this.__iterateUncached(n, i);\n }, t.prototype.__iterator = function(n, i) {\n var o = this._cache;\n if (o) {\n var s = o.length, a = 0;\n return new Z(function() {\n if (a === s)\n return le();\n var u = o[i ? s - ++a : a++];\n return B(n, u[0], u[1]);\n });\n }\n return this.__iteratorUncached(n, i);\n }, t;\n})(oe), rt = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Tn().toKeyedSeq() : ye(r) ? U(r) ? r.toSeq() : r.fromEntrySeq() : ct(r) ? r.toSeq() : Pn(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.toKeyedSeq = function() {\n return this;\n }, t;\n})(pe), Ae = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Tn() : ye(r) ? U(r) ? r.entrySeq() : r.toIndexedSeq() : ct(r) ? r.toSeq().entrySeq() : ss(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return t(arguments);\n }, t.prototype.toIndexedSeq = function() {\n return this;\n }, t.prototype.toString = function() {\n return this.__toString(\"Seq [\", \"]\");\n }, t;\n})(pe), Zt = /* @__PURE__ */ (function(e) {\n function t(r) {\n return (ye(r) && !En(r) ? r : Ae(r)).toSetSeq();\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return t(arguments);\n }, t.prototype.toSetSeq = function() {\n return this;\n }, t;\n})(pe);\npe.isSeq = An;\npe.Keyed = rt;\npe.Set = Zt;\npe.Indexed = Ae;\npe.prototype[is] = !0;\nvar bt = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._array = r, this.size = r.length;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.get = function(n, i) {\n return this.has(n) ? this._array[Ye(this, n)] : i;\n }, t.prototype.__iterate = function(n, i) {\n for (var o = this._array, s = o.length, a = 0; a !== s; ) {\n var u = i ? s - ++a : a++;\n if (n(o[u], u, this) === !1)\n break;\n }\n return a;\n }, t.prototype.__iterator = function(n, i) {\n var o = this._array, s = o.length, a = 0;\n return new Z(function() {\n if (a === s)\n return le();\n var u = i ? s - ++a : a++;\n return B(n, u, o[u]);\n });\n }, t;\n})(Ae), Rn = /* @__PURE__ */ (function(e) {\n function t(r) {\n var n = Object.keys(r).concat(\n Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(r) : []\n );\n this._object = r, this._keys = n, this.size = n.length;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.get = function(n, i) {\n return i !== void 0 && !this.has(n) ? i : this._object[n];\n }, t.prototype.has = function(n) {\n return Nt.call(this._object, n);\n }, t.prototype.__iterate = function(n, i) {\n for (var o = this._object, s = this._keys, a = s.length, u = 0; u !== a; ) {\n var c = s[i ? a - ++u : u++];\n if (n(o[c], c, this) === !1)\n break;\n }\n return u;\n }, t.prototype.__iterator = function(n, i) {\n var o = this._object, s = this._keys, a = s.length, u = 0;\n return new Z(function() {\n if (u === a)\n return le();\n var c = s[i ? a - ++u : u++];\n return B(n, c, o[c]);\n });\n }, t;\n})(rt);\nRn.prototype[Ge] = !0;\nvar Oh = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._collection = r, this.size = r.length || r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.__iterateUncached = function(n, i) {\n if (i)\n return this.cacheResult().__iterate(n, i);\n var o = this._collection, s = ln(o), a = 0;\n if (Ri(s))\n for (var u; !(u = s.next()).done && n(u.value, a++, this) !== !1; )\n ;\n return a;\n }, t.prototype.__iteratorUncached = function(n, i) {\n if (i)\n return this.cacheResult().__iterator(n, i);\n var o = this._collection, s = ln(o);\n if (!Ri(s))\n return new Z(le);\n var a = 0;\n return new Z(function() {\n var u = s.next();\n return u.done ? u : B(n, a++, u.value);\n });\n }, t;\n})(Ae), Ti;\nfunction Tn() {\n return Ti || (Ti = new bt([]));\n}\nfunction Pn(e) {\n var t = Nn(e);\n if (t)\n return t.fromEntrySeq();\n if (typeof e == \"object\")\n return new Rn(e);\n throw new TypeError(\n \"Expected Array or collection object of [k, v] entries, or keyed object: \" + e\n );\n}\nfunction ss(e) {\n var t = Nn(e);\n if (t)\n return t;\n throw new TypeError(\n \"Expected Array or collection object of values: \" + e\n );\n}\nfunction $h(e) {\n var t = Nn(e);\n if (t)\n return zh(e) ? t.fromEntrySeq() : kh(e) ? t.toSetSeq() : t;\n if (typeof e == \"object\")\n return new Rn(e);\n throw new TypeError(\n \"Expected Array or collection object of values, or keyed object: \" + e\n );\n}\nfunction Nn(e) {\n return os(e) ? new bt(e) : Qo(e) ? new Oh(e) : void 0;\n}\nfunction ur() {\n return this.__ensureOwner();\n}\nfunction cr() {\n return this.__ownerID ? this : this.__ensureOwner(new In());\n}\nvar Ft = typeof Math.imul == \"function\" && Math.imul(4294967295, 2) === -2 ? Math.imul : function(t, r) {\n t |= 0, r |= 0;\n var n = t & 65535, i = r & 65535;\n return n * i + ((t >>> 16) * i + n * (r >>> 16) << 16 >>> 0) | 0;\n};\nfunction xr(e) {\n return e >>> 1 & 1073741824 | e & 3221225471;\n}\nvar Eh = Object.prototype.valueOf;\nfunction _e(e) {\n if (e == null)\n return Pi(e);\n if (typeof e.hashCode == \"function\")\n return xr(e.hashCode(e));\n var t = Nh(e);\n if (t == null)\n return Pi(t);\n switch (typeof t) {\n case \"boolean\":\n return t ? 1108378657 : 1108378656;\n case \"number\":\n return Ih(t);\n case \"string\":\n return t.length > Zh ? Ah(t) : pn(t);\n case \"object\":\n case \"function\":\n return Th(t);\n case \"symbol\":\n return Rh(t);\n default:\n if (typeof t.toString == \"function\")\n return pn(t.toString());\n throw new Error(\"Value type \" + typeof t + \" cannot be hashed.\");\n }\n}\nfunction Pi(e) {\n return e === null ? 1108378658 : (\n /* undefined */\n 1108378659\n );\n}\nfunction Ih(e) {\n if (e !== e || e === 1 / 0)\n return 0;\n var t = e | 0;\n for (t !== e && (t ^= e * 4294967295); e > 4294967295; )\n e /= 4294967295, t ^= e;\n return xr(t);\n}\nfunction Ah(e) {\n var t = Qr[e];\n return t === void 0 && (t = pn(e), Xr === Mh && (Xr = 0, Qr = {}), Xr++, Qr[e] = t), t;\n}\nfunction pn(e) {\n for (var t = 0, r = 0; r < e.length; r++)\n t = 31 * t + e.charCodeAt(r) | 0;\n return xr(t);\n}\nfunction Rh(e) {\n var t = Mi[e];\n return t !== void 0 || (t = as(), Mi[e] = t), t;\n}\nfunction Th(e) {\n var t;\n if (dn && (t = _n.get(e), t !== void 0) || (t = e[it], t !== void 0) || !Zi && (t = e.propertyIsEnumerable && e.propertyIsEnumerable[it], t !== void 0 || (t = Ph(e), t !== void 0)))\n return t;\n if (t = as(), dn)\n _n.set(e, t);\n else {\n if (Ni !== void 0 && Ni(e) === !1)\n throw new Error(\"Non-extensible objects are not allowed as keys.\");\n if (Zi)\n Object.defineProperty(e, it, {\n enumerable: !1,\n configurable: !1,\n writable: !1,\n value: t\n });\n else if (e.propertyIsEnumerable !== void 0 && e.propertyIsEnumerable === e.constructor.prototype.propertyIsEnumerable)\n e.propertyIsEnumerable = function() {\n return this.constructor.prototype.propertyIsEnumerable.apply(\n this,\n // eslint-disable-next-line prefer-rest-params\n arguments\n );\n }, e.propertyIsEnumerable[it] = t;\n else if (e.nodeType !== void 0)\n e[it] = t;\n else\n throw new Error(\"Unable to set a non-enumerable property on object.\");\n }\n return t;\n}\nvar Ni = Object.isExtensible, Zi = (function() {\n try {\n return Object.defineProperty({}, \"@\", {}), !0;\n } catch {\n return !1;\n }\n})();\nfunction Ph(e) {\n if (e && e.nodeType > 0)\n switch (e.nodeType) {\n case 1:\n return e.uniqueID;\n case 9:\n return e.documentElement && e.documentElement.uniqueID;\n }\n}\nfunction Nh(e) {\n return e.valueOf !== Eh && typeof e.valueOf == \"function\" ? (\n // @ts-expect-error weird the \"obj\" parameter as `valueOf` should not have a parameter\n e.valueOf(e)\n ) : e;\n}\nfunction as() {\n var e = ++Gr;\n return Gr & 1073741824 && (Gr = 0), e;\n}\nvar dn = typeof WeakMap == \"function\", _n;\ndn && (_n = /* @__PURE__ */ new WeakMap());\nvar Mi = /* @__PURE__ */ Object.create(null), Gr = 0, it = \"__immutablehash__\";\ntypeof Symbol == \"function\" && (it = Symbol(it));\nvar Zh = 16, Mh = 255, Xr = 0, Qr = {}, qr = /* @__PURE__ */ (function(e) {\n function t(r, n) {\n this._iter = r, this._useKeys = n, this.size = r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.get = function(n, i) {\n return this._iter.get(n, i);\n }, t.prototype.has = function(n) {\n return this._iter.has(n);\n }, t.prototype.valueSeq = function() {\n return this._iter.valueSeq();\n }, t.prototype.reverse = function() {\n var n = this, i = Zn(this, !0);\n return this._useKeys || (i.valueSeq = function() {\n return n._iter.toSeq().reverse();\n }), i;\n }, t.prototype.map = function(n, i) {\n var o = this, s = hs(this, n, i);\n return this._useKeys || (s.valueSeq = function() {\n return o._iter.toSeq().map(n, i);\n }), s;\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._iter.__iterate(function(s, a) {\n return n(s, a, o);\n }, i);\n }, t.prototype.__iterator = function(n, i) {\n return this._iter.__iterator(n, i);\n }, t;\n})(rt);\nqr.prototype[Ge] = !0;\nvar us = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._iter = r, this.size = r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.includes = function(n) {\n return this._iter.includes(n);\n }, t.prototype.__iterate = function(n, i) {\n var o = this, s = 0;\n return i && St(this), this._iter.__iterate(\n function(a) {\n return n(a, i ? o.size - ++s : s++, o);\n },\n i\n );\n }, t.prototype.__iterator = function(n, i) {\n var o = this, s = this._iter.__iterator(we, i), a = 0;\n return i && St(this), new Z(function() {\n var u = s.next();\n return u.done ? u : B(\n n,\n i ? o.size - ++a : a++,\n u.value,\n u\n );\n });\n }, t;\n})(Ae), cs = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._iter = r, this.size = r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.has = function(n) {\n return this._iter.includes(n);\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._iter.__iterate(function(s) {\n return n(s, s, o);\n }, i);\n }, t.prototype.__iterator = function(n, i) {\n var o = this._iter.__iterator(we, i);\n return new Z(function() {\n var s = o.next();\n return s.done ? s : B(n, s.value, s.value, s);\n });\n }, t;\n})(Zt), fs = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._iter = r, this.size = r.size;\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.entrySeq = function() {\n return this._iter.toSeq();\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._iter.__iterate(function(s) {\n if (s) {\n Ci(s);\n var a = ye(s);\n return n(\n a ? s.get(1) : s[1],\n a ? s.get(0) : s[0],\n o\n );\n }\n }, i);\n }, t.prototype.__iterator = function(n, i) {\n var o = this._iter.__iterator(we, i);\n return new Z(function() {\n for (; ; ) {\n var s = o.next();\n if (s.done)\n return s;\n var a = s.value;\n if (a) {\n Ci(a);\n var u = ye(a);\n return B(\n n,\n u ? a.get(0) : a[0],\n u ? a.get(1) : a[1],\n s\n );\n }\n }\n });\n }, t;\n})(rt);\nus.prototype.cacheResult = qr.prototype.cacheResult = cs.prototype.cacheResult = fs.prototype.cacheResult = Cn;\nfunction ls(e) {\n var t = De(e);\n return t._iter = e, t.size = e.size, t.flip = function() {\n return e;\n }, t.reverse = function() {\n var r = e.reverse.apply(this);\n return r.flip = function() {\n return e.reverse();\n }, r;\n }, t.has = function(r) {\n return e.includes(r);\n }, t.includes = function(r) {\n return e.has(r);\n }, t.cacheResult = Cn, t.__iterateUncached = function(r, n) {\n var i = this;\n return e.__iterate(function(o, s) {\n return r(s, o, i) !== !1;\n }, n);\n }, t.__iteratorUncached = function(r, n) {\n if (r === Se) {\n var i = e.__iterator(r, n);\n return new Z(function() {\n var o = i.next();\n if (!o.done) {\n var s = o.value[0];\n o.value[0] = o.value[1], o.value[1] = s;\n }\n return o;\n });\n }\n return e.__iterator(\n r === we ? Pt : we,\n n\n );\n }, t;\n}\nfunction hs(e, t, r) {\n var n = De(e);\n return n.size = e.size, n.has = function(i) {\n return e.has(i);\n }, n.get = function(i, o) {\n var s = e.get(i, P);\n return s === P ? o : t.call(r, s, i, e);\n }, n.__iterateUncached = function(i, o) {\n var s = this;\n return e.__iterate(\n function(a, u, c) {\n return i(t.call(r, a, u, c), u, s) !== !1;\n },\n o\n );\n }, n.__iteratorUncached = function(i, o) {\n var s = e.__iterator(Se, o);\n return new Z(function() {\n var a = s.next();\n if (a.done)\n return a;\n var u = a.value, c = u[0];\n return B(\n i,\n c,\n t.call(r, u[1], c, e),\n a\n );\n });\n }, n;\n}\nfunction Zn(e, t) {\n var r = this, n = De(e);\n return n._iter = e, n.size = e.size, n.reverse = function() {\n return e;\n }, e.flip && (n.flip = function() {\n var i = ls(e);\n return i.reverse = function() {\n return e.flip();\n }, i;\n }), n.get = function(i, o) {\n return e.get(t ? i : -1 - i, o);\n }, n.has = function(i) {\n return e.has(t ? i : -1 - i);\n }, n.includes = function(i) {\n return e.includes(i);\n }, n.cacheResult = Cn, n.__iterate = function(i, o) {\n var s = this, a = 0;\n return o && St(e), e.__iterate(\n function(u, c) {\n return i(u, t ? c : o ? s.size - ++a : a++, s);\n },\n !o\n );\n }, n.__iterator = function(i, o) {\n var s = 0;\n o && St(e);\n var a = e.__iterator(Se, !o);\n return new Z(function() {\n var u = a.next();\n if (u.done)\n return u;\n var c = u.value;\n return B(\n i,\n t ? c[0] : o ? r.size - ++s : s++,\n c[1],\n u\n );\n });\n }, n;\n}\nfunction ps(e, t, r, n) {\n var i = De(e);\n return n && (i.has = function(o) {\n var s = e.get(o, P);\n return s !== P && !!t.call(r, s, o, e);\n }, i.get = function(o, s) {\n var a = e.get(o, P);\n return a !== P && t.call(r, a, o, e) ? a : s;\n }), i.__iterateUncached = function(o, s) {\n var a = this, u = 0;\n return e.__iterate(function(c, f, l) {\n if (t.call(r, c, f, l))\n return u++, o(c, n ? f : u - 1, a);\n }, s), u;\n }, i.__iteratorUncached = function(o, s) {\n var a = e.__iterator(Se, s), u = 0;\n return new Z(function() {\n for (; ; ) {\n var c = a.next();\n if (c.done)\n return c;\n var f = c.value, l = f[0], h = f[1];\n if (t.call(r, h, l, e))\n return B(o, n ? l : u++, h, c);\n }\n });\n }, i;\n}\nfunction Dh(e, t, r) {\n var n = Qe().asMutable();\n return e.__iterate(function(i, o) {\n n.update(t.call(r, i, o, e), 0, function(s) {\n return s + 1;\n });\n }), n.asImmutable();\n}\nfunction Ch(e, t, r) {\n var n = U(e), i = (Ze(e) ? xe() : Qe()).asMutable();\n e.__iterate(function(s, a) {\n i.update(\n t.call(r, s, a, e),\n function(u) {\n return u = u || [], u.push(n ? [a, s] : s), u;\n }\n );\n });\n var o = Dn(e);\n return i.map(function(s) {\n return C(e, o(s));\n }).asImmutable();\n}\nfunction jh(e, t, r) {\n var n = U(e), i = [[], []];\n e.__iterate(function(s, a) {\n i[t.call(r, s, a, e) ? 1 : 0].push(\n n ? [a, s] : s\n );\n });\n var o = Dn(e);\n return i.map(function(s) {\n return C(e, o(s));\n });\n}\nfunction Mn(e, t, r, n) {\n var i = e.size;\n if (Lr(t, r, i))\n return e;\n if (typeof i > \"u\" && (t < 0 || r < 0))\n return Mn(e.toSeq().cacheResult(), t, r, n);\n var o = ar(t, i), s = Fr(r, i), a = s - o, u;\n a === a && (u = a < 0 ? 0 : a);\n var c = De(e);\n return c.size = u === 0 ? u : e.size && u || void 0, !n && An(e) && u >= 0 && (c.get = function(f, l) {\n return f = Ye(this, f), f >= 0 && f < u ? e.get(f + o, l) : l;\n }), c.__iterateUncached = function(f, l) {\n var h = this;\n if (u === 0)\n return 0;\n if (l)\n return this.cacheResult().__iterate(f, l);\n var d = 0, _ = !0, g = 0;\n return e.__iterate(function(m, E) {\n if (!(_ && (_ = d++ < o)))\n return g++, f(m, n ? E : g - 1, h) !== !1 && g !== u;\n }), g;\n }, c.__iteratorUncached = function(f, l) {\n if (u !== 0 && l)\n return this.cacheResult().__iterator(f, l);\n if (u === 0)\n return new Z(le);\n var h = e.__iterator(f, l), d = 0, _ = 0;\n return new Z(function() {\n for (; d++ < o; )\n h.next();\n if (++_ > u)\n return le();\n var g = h.next();\n return n || f === we || g.done ? g : f === Pt ? B(f, _ - 1, void 0, g) : B(f, _ - 1, g.value[1], g);\n });\n }, c;\n}\nfunction Lh(e, t, r) {\n var n = De(e);\n return n.__iterateUncached = function(i, o) {\n var s = this;\n if (o)\n return this.cacheResult().__iterate(i, o);\n var a = 0;\n return e.__iterate(\n function(u, c, f) {\n return t.call(r, u, c, f) && ++a && i(u, c, s);\n }\n ), a;\n }, n.__iteratorUncached = function(i, o) {\n var s = this;\n if (o)\n return this.cacheResult().__iterator(i, o);\n var a = e.__iterator(Se, o), u = !0;\n return new Z(function() {\n if (!u)\n return le();\n var c = a.next();\n if (c.done)\n return c;\n var f = c.value, l = f[0], h = f[1];\n return t.call(r, h, l, s) ? i === Se ? c : B(i, l, h, c) : (u = !1, le());\n });\n }, n;\n}\nfunction ds(e, t, r, n) {\n var i = De(e);\n return i.__iterateUncached = function(o, s) {\n var a = this;\n if (s)\n return this.cacheResult().__iterate(o, s);\n var u = !0, c = 0;\n return e.__iterate(function(f, l, h) {\n if (!(u && (u = t.call(r, f, l, h))))\n return c++, o(f, n ? l : c - 1, a);\n }), c;\n }, i.__iteratorUncached = function(o, s) {\n var a = this;\n if (s)\n return this.cacheResult().__iterator(o, s);\n var u = e.__iterator(Se, s), c = !0, f = 0;\n return new Z(function() {\n var l, h, d;\n do {\n if (l = u.next(), l.done)\n return n || o === we ? l : o === Pt ? B(o, f++, void 0, l) : B(o, f++, l.value[1], l);\n var _ = l.value;\n h = _[0], d = _[1], c && (c = t.call(r, d, h, a));\n } while (c);\n return o === Se ? l : B(o, h, d, l);\n });\n }, i;\n}\nvar Fh = /* @__PURE__ */ (function(e) {\n function t(r) {\n this._wrappedIterables = r.flatMap(function(n) {\n return n._wrappedIterables ? n._wrappedIterables : [n];\n }), this.size = this._wrappedIterables.reduce(function(n, i) {\n if (n !== void 0) {\n var o = i.size;\n if (o !== void 0)\n return n + o;\n }\n }, 0), this[Rr] = this._wrappedIterables[0][Rr], this[Ar] = this._wrappedIterables[0][Ar], this[Ge] = this._wrappedIterables[0][Ge];\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.__iterateUncached = function(n, i) {\n if (this._wrappedIterables.length !== 0) {\n if (i)\n return this.cacheResult().__iterate(n, i);\n for (var o = 0, s = U(this), a = s ? Se : we, u = this._wrappedIterables[o].__iterator(\n a,\n i\n ), c = !0, f = 0; c; ) {\n for (var l = u.next(); l.done; ) {\n if (o++, o === this._wrappedIterables.length)\n return f;\n u = this._wrappedIterables[o].__iterator(\n a,\n i\n ), l = u.next();\n }\n var h = s ? n(l.value[1], l.value[0], this) : n(l.value, f, this);\n c = h !== !1, f++;\n }\n return f;\n }\n }, t.prototype.__iteratorUncached = function(n, i) {\n var o = this;\n if (this._wrappedIterables.length === 0)\n return new Z(le);\n if (i)\n return this.cacheResult().__iterator(n, i);\n var s = 0, a = this._wrappedIterables[s].__iterator(\n n,\n i\n );\n return new Z(function() {\n for (var u = a.next(); u.done; ) {\n if (s++, s === o._wrappedIterables.length)\n return u;\n a = o._wrappedIterables[s].__iterator(\n n,\n i\n ), u = a.next();\n }\n return u;\n });\n }, t;\n})(pe);\nfunction xh(e, t) {\n var r = U(e), n = [e].concat(t).map(function(o) {\n return ye(o) ? r && (o = Ee(o)) : o = r ? Pn(o) : ss(Array.isArray(o) ? o : [o]), o;\n }).filter(function(o) {\n return o.size !== 0;\n });\n if (n.length === 0)\n return e;\n if (n.length === 1) {\n var i = n[0];\n if (i === e || r && U(i) || Oe(e) && Oe(i))\n return i;\n }\n return new Fh(n);\n}\nfunction _s(e, t, r) {\n var n = De(e);\n return n.__iterateUncached = function(i, o) {\n if (o)\n return this.cacheResult().__iterate(i, o);\n var s = 0, a = !1;\n function u(c, f) {\n c.__iterate(function(l, h) {\n return (!t || f < t) && ye(l) ? u(l, f + 1) : (s++, i(l, r ? h : s - 1, n) === !1 && (a = !0)), !a;\n }, o);\n }\n return u(e, 0), s;\n }, n.__iteratorUncached = function(i, o) {\n if (o)\n return this.cacheResult().__iterator(i, o);\n var s = e.__iterator(i, o), a = [], u = 0;\n return new Z(function() {\n for (; s; ) {\n var c = s.next();\n if (c.done !== !1) {\n s = a.pop();\n continue;\n }\n var f = c.value;\n if (i === Se && (f = f[1]), (!t || a.length < t) && ye(f))\n a.push(s), s = f.__iterator(i, o);\n else\n return r ? c : B(i, u++, f, c);\n }\n return le();\n });\n }, n;\n}\nfunction qh(e, t, r) {\n var n = Dn(e);\n return e.toSeq().map(function(i, o) {\n return n(t.call(r, i, o, e));\n }).flatten(!0);\n}\nfunction Uh(e, t) {\n var r = De(e);\n return r.size = e.size && e.size * 2 - 1, r.__iterateUncached = function(n, i) {\n var o = this, s = 0;\n return e.__iterate(\n function(a) {\n return (!s || n(t, s++, o) !== !1) && n(a, s++, o) !== !1;\n },\n i\n ), s;\n }, r.__iteratorUncached = function(n, i) {\n var o = e.__iterator(we, i), s = 0, a;\n return new Z(function() {\n return (!a || s % 2) && (a = o.next(), a.done) ? a : s % 2 ? B(n, s++, t) : B(n, s++, a.value, a);\n });\n }, r;\n}\nfunction zt(e, t, r) {\n t || (t = gs);\n var n = U(e), i = 0, o = e.toSeq().map(function(s, a) {\n return [a, s, i++, r ? r(s, a, e) : s];\n }).valueSeq().toArray();\n return o.sort(function(s, a) {\n return t(s[3], a[3]) || s[2] - a[2];\n }).forEach(\n n ? function(s, a) {\n o[a].length = 2;\n } : function(s, a) {\n o[a] = s[1];\n }\n ), n ? rt(o) : Oe(e) ? Ae(o) : Zt(o);\n}\nfunction yr(e, t, r) {\n if (t || (t = gs), r) {\n var n = e.toSeq().map(function(i, o) {\n return [i, r(i, o, e)];\n }).reduce(function(i, o) {\n return Di(t, i[1], o[1]) ? o : i;\n });\n return n && n[0];\n }\n return e.reduce(function(i, o) {\n return Di(t, i, o) ? o : i;\n });\n}\nfunction Di(e, t, r) {\n var n = e(r, t);\n return n === 0 && r !== t && (r == null || r !== r) || n > 0;\n}\nfunction wr(e, t, r, n) {\n var i = De(e), o = new bt(r).map(function(s) {\n return s.size;\n });\n return i.size = n ? o.max() : o.min(), i.__iterate = function(s, a) {\n for (var u = this.__iterator(we, a), c, f = 0; !(c = u.next()).done && s(c.value, f++, this) !== !1; )\n ;\n return f;\n }, i.__iteratorUncached = function(s, a) {\n var u = r.map(\n function(l) {\n return l = oe(l), ln(a ? l.reverse() : l);\n }\n ), c = 0, f = !1;\n return new Z(function() {\n var l;\n return f || (l = u.map(function(h) {\n return h.next();\n }), f = n ? l.every(function(h) {\n return h.done;\n }) : l.some(function(h) {\n return h.done;\n })), f ? le() : B(\n s,\n c++,\n t.apply(\n null,\n l.map(function(h) {\n return h.value;\n })\n )\n );\n });\n }, i;\n}\nfunction C(e, t) {\n return e === t ? e : An(e) ? t : e.constructor(t);\n}\nfunction Ci(e) {\n if (e !== Object(e))\n throw new TypeError(\"Expected [K, V] tuple: \" + e);\n}\nfunction Dn(e) {\n return U(e) ? Ee : Oe(e) ? ut : Tt;\n}\nfunction De(e) {\n return Object.create(\n (U(e) ? rt : Oe(e) ? Ae : Zt).prototype\n );\n}\nfunction Cn() {\n return this._iter.cacheResult ? (this._iter.cacheResult(), this.size = this._iter.size, this) : pe.prototype.cacheResult.call(this);\n}\nfunction gs(e, t) {\n return e === void 0 && t === void 0 ? 0 : e === void 0 ? 1 : t === void 0 ? -1 : e > t ? 1 : e < t ? -1 : 0;\n}\nfunction ji(e) {\n return !!(e && // @ts-expect-error: maybeValue is typed as `{}`\n typeof e.equals == \"function\" && // @ts-expect-error: maybeValue is typed as `{}`\n typeof e.hashCode == \"function\");\n}\nfunction ve(e, t) {\n if (e === t || e !== e && t !== t)\n return !0;\n if (!e || !t)\n return !1;\n if (typeof e.valueOf == \"function\" && typeof t.valueOf == \"function\") {\n if (e = e.valueOf(), t = t.valueOf(), e === t || e !== e && t !== t)\n return !0;\n if (!e || !t)\n return !1;\n }\n return !!(ji(e) && ji(t) && e.equals(t));\n}\nfunction ms(e, t, r, n) {\n return Mt(\n // @ts-expect-error Index signature for type string is missing in type V[]\n e,\n [t],\n r,\n n\n );\n}\nfunction vs() {\n for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t];\n return ws(this, e);\n}\nfunction ys(e) {\n for (var t = [], r = arguments.length - 1; r-- > 0; ) t[r] = arguments[r + 1];\n if (typeof e != \"function\")\n throw new TypeError(\"Invalid merger function: \" + e);\n return ws(this, t, e);\n}\nfunction ws(e, t, r) {\n for (var n = [], i = 0; i < t.length; i++) {\n var o = Ee(t[i]);\n o.size !== 0 && n.push(o);\n }\n return n.length === 0 ? e : e.toSeq().size === 0 && !e.__ownerID && n.length === 1 ? ct(e) ? e : e.constructor(n[0]) : e.withMutations(function(s) {\n for (var a = r ? function(c, f) {\n ms(\n s,\n f,\n P,\n function(l) {\n return l === P ? c : r(l, c, f);\n }\n );\n } : function(c, f) {\n s.set(f, c);\n }, u = 0; u < n.length; u++)\n n[u].forEach(a);\n });\n}\nvar Bh = Object.prototype.toString;\nfunction Wh(e) {\n if (!e || typeof e != \"object\" || Bh.call(e) !== \"[object Object]\")\n return !1;\n var t = Object.getPrototypeOf(e);\n if (t === null)\n return !0;\n for (var r = t, n = Object.getPrototypeOf(t); n !== null; )\n r = n, n = Object.getPrototypeOf(r);\n return r === t;\n}\nfunction Xe(e) {\n return typeof e == \"object\" && (Me(e) || Array.isArray(e) || Wh(e));\n}\nfunction Pe(e, t) {\n t = t || 0;\n for (var r = Math.max(0, e.length - t), n = new Array(r), i = 0; i < r; i++)\n n[i] = e[i + t];\n return n;\n}\nfunction Tr(e) {\n if (Array.isArray(e))\n return Pe(e);\n var t = {};\n for (var r in e)\n Nt.call(e, r) && (t[r] = e[r]);\n return t;\n}\nfunction jn(e, t, r) {\n return Ln(e, t, Jh(r));\n}\nfunction Ln(e, t, r) {\n if (!Xe(e))\n throw new TypeError(\n \"Cannot merge into non-data-structure value: \" + e\n );\n if (Me(e))\n return typeof r == \"function\" && e.mergeWith ? e.mergeWith.apply(e, [r].concat(t)) : e.merge ? e.merge.apply(e, t) : e.concat.apply(e, t);\n for (var n = Array.isArray(e), i = e, o = n ? ut : Ee, s = n ? function(u) {\n i === e && (i = Tr(i)), i.push(u);\n } : function(u, c) {\n var f = Nt.call(i, c), l = f && r ? r(i[c], u, c) : u;\n (!f || l !== i[c]) && (i === e && (i = Tr(i)), i[c] = l);\n }, a = 0; a < t.length; a++)\n o(t[a]).forEach(s);\n return i;\n}\nfunction Jh(e) {\n function t(r, n, i) {\n return Xe(r) && Xe(n) && Vh(r, n) ? Ln(r, [n], t) : e ? e(r, n, i) : n;\n }\n return t;\n}\nfunction Vh(e, t) {\n var r = pe(e), n = pe(t);\n return Oe(r) === Oe(n) && U(r) === U(n);\n}\nfunction Ss() {\n for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t];\n return jn(this, e);\n}\nfunction bs(e) {\n for (var t = [], r = arguments.length - 1; r-- > 0; ) t[r] = arguments[r + 1];\n return jn(this, t, e);\n}\nfunction Fn(e) {\n for (var t = [], r = arguments.length - 1; r-- > 0; ) t[r] = arguments[r + 1];\n return Mt(\n this,\n e,\n Ne(),\n function(n) {\n return jn(n, t);\n }\n );\n}\nfunction xn(e) {\n for (var t = [], r = arguments.length - 1; r-- > 0; ) t[r] = arguments[r + 1];\n return Mt(this, e, Ne(), function(n) {\n return Ln(n, t);\n });\n}\nfunction Kh(e, t, r) {\n return Mt(e, t, P, function() {\n return r;\n });\n}\nfunction qn(e, t) {\n return Kh(this, e, t);\n}\nfunction Un(e, t, r) {\n return arguments.length === 1 ? e(this) : ms(this, e, t, r);\n}\nfunction Bn(e, t, r) {\n return Mt(this, e, t, r);\n}\nfunction Wn() {\n return this.__altered;\n}\nfunction fr(e) {\n var t = this.asMutable();\n return e(t), t.wasAltered() ? t.__ensureOwner(this.__ownerID) : this;\n}\nvar zs = \"@@__IMMUTABLE_MAP__@@\";\nfunction Jn(e) {\n return !!(e && // @ts-expect-error: maybeMap is typed as `{}`, need to change in 6.0 to `maybeMap && typeof maybeMap === 'object' && IS_MAP_SYMBOL in maybeMap`\n e[zs]);\n}\nfunction Jt(e, t) {\n if (!e)\n throw new Error(t);\n}\nfunction ge(e) {\n Jt(e !== 1 / 0, \"Cannot perform this action with an infinite size.\");\n}\nvar Qe = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Ne() : Jn(r) && !Ze(r) ? r : Ne().withMutations(function(n) {\n var i = e(r);\n ge(i.size), i.forEach(function(o, s) {\n return n.set(s, o);\n });\n });\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.toString = function() {\n return this.__toString(\"Map {\", \"}\");\n }, t.prototype.get = function(n, i) {\n return this._root ? this._root.get(0, void 0, n, i) : i;\n }, t.prototype.set = function(n, i) {\n return xi(this, n, i);\n }, t.prototype.remove = function(n) {\n return xi(this, n, P);\n }, t.prototype.deleteAll = function(n) {\n var i = oe(n);\n return i.size === 0 ? this : this.withMutations(function(o) {\n i.forEach(function(s) {\n return o.remove(s);\n });\n });\n }, t.prototype.clear = function() {\n return this.size === 0 ? this : this.__ownerID ? (this.size = 0, this._root = null, this.__hash = void 0, this.__altered = !0, this) : Ne();\n }, t.prototype.sort = function(n) {\n return xe(zt(this, n));\n }, t.prototype.sortBy = function(n, i) {\n return xe(zt(this, i, n));\n }, t.prototype.map = function(n, i) {\n var o = this;\n return this.withMutations(function(s) {\n s.forEach(function(a, u) {\n s.set(u, n.call(i, a, u, o));\n });\n });\n }, t.prototype.__iterator = function(n, i) {\n return new Hh(this, n, i);\n }, t.prototype.__iterate = function(n, i) {\n var o = this, s = 0;\n return this._root && this._root.iterate(function(a) {\n return s++, n(a[1], a[0], o);\n }, i), s;\n }, t.prototype.__ensureOwner = function(n) {\n return n === this.__ownerID ? this : n ? Vn(this.size, this._root, n, this.__hash) : this.size === 0 ? Ne() : (this.__ownerID = n, this.__altered = !1, this);\n }, t;\n})(Ee);\nQe.isMap = Jn;\nvar q = Qe.prototype;\nq[zs] = !0;\nq[sr] = q.remove;\nq.removeAll = q.deleteAll;\nq.setIn = qn;\nq.removeIn = q.deleteIn = Yn;\nq.update = Un;\nq.updateIn = Bn;\nq.merge = q.concat = vs;\nq.mergeWith = ys;\nq.mergeDeep = Ss;\nq.mergeDeepWith = bs;\nq.mergeIn = xn;\nq.mergeDeepIn = Fn;\nq.withMutations = fr;\nq.wasAltered = Wn;\nq.asImmutable = ur;\nq[\"@@transducer/init\"] = q.asMutable = cr;\nq[\"@@transducer/step\"] = function(e, t) {\n return e.set(t[0], t[1]);\n};\nq[\"@@transducer/result\"] = function(e) {\n return e.asImmutable();\n};\nvar Qt = function(t, r) {\n this.ownerID = t, this.entries = r;\n};\nQt.prototype.get = function(t, r, n, i) {\n for (var o = this.entries, s = 0, a = o.length; s < a; s++)\n if (ve(n, o[s][0]))\n return o[s][1];\n return i;\n};\nQt.prototype.update = function(t, r, n, i, o, s, a) {\n for (var u = o === P, c = this.entries, f = 0, l = c.length; f < l && !ve(i, c[f][0]); f++)\n ;\n var h = f < l;\n if (h ? c[f][1] === o : u)\n return this;\n if (ke(a), (u || !h) && ke(s), !(u && c.length === 1)) {\n if (!h && !u && c.length >= tp)\n return Yh(t, c, i, o);\n var d = t && t === this.ownerID, _ = d ? c : Pe(c);\n return h ? u ? f === l - 1 ? _.pop() : _[f] = _.pop() : _[f] = [i, o] : _.push([i, o]), d ? (this.entries = _, this) : new Qt(t, _);\n }\n};\nvar kt = function(t, r, n) {\n this.ownerID = t, this.bitmap = r, this.nodes = n;\n};\nkt.prototype.get = function(t, r, n, i) {\n r === void 0 && (r = _e(n));\n var o = 1 << ((t === 0 ? r : r >>> t) & fe), s = this.bitmap;\n return (s & o) === 0 ? i : this.nodes[ks(s & o - 1)].get(\n t + j,\n r,\n n,\n i\n );\n};\nkt.prototype.update = function(t, r, n, i, o, s, a) {\n n === void 0 && (n = _e(i));\n var u = (r === 0 ? n : n >>> r) & fe, c = 1 << u, f = this.bitmap, l = (f & c) !== 0;\n if (!l && o === P)\n return this;\n var h = ks(f & c - 1), d = this.nodes, _ = l ? d[h] : void 0, g = Kn(\n _,\n t,\n r + j,\n n,\n i,\n o,\n s,\n a\n );\n if (g === _)\n return this;\n if (!l && g && d.length >= rp)\n return Xh(t, d, f, u, g);\n if (l && !g && d.length === 2 && qi(d[h ^ 1]))\n return d[h ^ 1];\n if (l && g && d.length === 1 && qi(g))\n return g;\n var m = t && t === this.ownerID, E = l ? g ? f : f ^ c : f | c, $ = l ? g ? Os(d, h, g, m) : ep(d, h, m) : Qh(d, h, g, m);\n return m ? (this.bitmap = E, this.nodes = $, this) : new kt(t, E, $);\n};\nvar er = function(t, r, n) {\n this.ownerID = t, this.count = r, this.nodes = n;\n};\ner.prototype.get = function(t, r, n, i) {\n r === void 0 && (r = _e(n));\n var o = (t === 0 ? r : r >>> t) & fe, s = this.nodes[o];\n return s ? s.get(t + j, r, n, i) : i;\n};\ner.prototype.update = function(t, r, n, i, o, s, a) {\n n === void 0 && (n = _e(i));\n var u = (r === 0 ? n : n >>> r) & fe, c = o === P, f = this.nodes, l = f[u];\n if (c && !l)\n return this;\n var h = Kn(\n l,\n t,\n r + j,\n n,\n i,\n o,\n s,\n a\n );\n if (h === l)\n return this;\n var d = this.count;\n if (!l)\n d++;\n else if (!h && (d--, d < np))\n return Gh(t, f, d, u);\n var _ = t && t === this.ownerID, g = Os(f, u, h, _);\n return _ ? (this.count = d, this.nodes = g, this) : new er(t, d, g);\n};\nvar Ot = function(t, r, n) {\n this.ownerID = t, this.keyHash = r, this.entries = n;\n};\nOt.prototype.get = function(t, r, n, i) {\n for (var o = this.entries, s = 0, a = o.length; s < a; s++)\n if (ve(n, o[s][0]))\n return o[s][1];\n return i;\n};\nOt.prototype.update = function(t, r, n, i, o, s, a) {\n n === void 0 && (n = _e(i));\n var u = o === P;\n if (n !== this.keyHash)\n return u ? this : (ke(a), ke(s), Hn(this, t, r, n, [i, o]));\n for (var c = this.entries, f = 0, l = c.length; f < l && !ve(i, c[f][0]); f++)\n ;\n var h = f < l;\n if (h ? c[f][1] === o : u)\n return this;\n if (ke(a), (u || !h) && ke(s), u && l === 2)\n return new Fe(t, this.keyHash, c[f ^ 1]);\n var d = t && t === this.ownerID, _ = d ? c : Pe(c);\n return h ? u ? f === l - 1 ? _.pop() : _[f] = _.pop() : _[f] = [i, o] : _.push([i, o]), d ? (this.entries = _, this) : new Ot(t, this.keyHash, _);\n};\nvar Fe = function(t, r, n) {\n this.ownerID = t, this.keyHash = r, this.entry = n;\n};\nFe.prototype.get = function(t, r, n, i) {\n return ve(n, this.entry[0]) ? this.entry[1] : i;\n};\nFe.prototype.update = function(t, r, n, i, o, s, a) {\n var u = o === P, c = ve(i, this.entry[0]);\n if (c ? o === this.entry[1] : u)\n return this;\n if (ke(a), u) {\n ke(s);\n return;\n }\n return c ? t && t === this.ownerID ? (this.entry[1] = o, this) : new Fe(t, this.keyHash, [i, o]) : (ke(s), Hn(this, t, r, _e(i), [i, o]));\n};\nQt.prototype.iterate = Ot.prototype.iterate = function(e, t) {\n for (var r = this.entries, n = 0, i = r.length - 1; n <= i; n++)\n if (e(r[t ? i - n : n]) === !1)\n return !1;\n};\nkt.prototype.iterate = er.prototype.iterate = function(e, t) {\n for (var r = this.nodes, n = 0, i = r.length - 1; n <= i; n++) {\n var o = r[t ? i - n : n];\n if (o && o.iterate(e, t) === !1)\n return !1;\n }\n};\nFe.prototype.iterate = function(e, t) {\n return e(this.entry);\n};\nvar Hh = /* @__PURE__ */ (function(e) {\n function t(r, n, i) {\n this._type = n, this._reverse = i, this._stack = r._root && Li(r._root);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.next = function() {\n for (var n = this._type, i = this._stack; i; ) {\n var o = i.node, s = i.index++, a = void 0;\n if (o.entry) {\n if (s === 0)\n return en(n, o.entry);\n } else if (o.entries) {\n if (a = o.entries.length - 1, s <= a)\n return en(\n n,\n o.entries[this._reverse ? a - s : s]\n );\n } else if (a = o.nodes.length - 1, s <= a) {\n var u = o.nodes[this._reverse ? a - s : s];\n if (u) {\n if (u.entry)\n return en(n, u.entry);\n i = this._stack = Li(u, i);\n }\n continue;\n }\n i = this._stack = this._stack.__prev;\n }\n return le();\n }, t;\n})(Z);\nfunction en(e, t) {\n return B(e, t[0], t[1]);\n}\nfunction Li(e, t) {\n return {\n node: e,\n index: 0,\n __prev: t\n };\n}\nfunction Vn(e, t, r, n) {\n var i = Object.create(q);\n return i.size = e, i._root = t, i.__ownerID = r, i.__hash = n, i.__altered = !1, i;\n}\nvar Fi;\nfunction Ne() {\n return Fi || (Fi = Vn(0));\n}\nfunction xi(e, t, r) {\n var n, i;\n if (e._root) {\n var o = hn(), s = hn();\n if (n = Kn(\n e._root,\n e.__ownerID,\n 0,\n void 0,\n t,\n r,\n o,\n s\n ), !s.value)\n return e;\n i = e.size + (o.value ? r === P ? -1 : 1 : 0);\n } else {\n if (r === P)\n return e;\n i = 1, n = new Qt(e.__ownerID, [[t, r]]);\n }\n return e.__ownerID ? (e.size = i, e._root = n, e.__hash = void 0, e.__altered = !0, e) : n ? Vn(i, n) : Ne();\n}\nfunction Kn(e, t, r, n, i, o, s, a) {\n return e ? e.update(\n t,\n r,\n n,\n i,\n o,\n s,\n a\n ) : o === P ? e : (ke(a), ke(s), new Fe(t, n, [i, o]));\n}\nfunction qi(e) {\n return e.constructor === Fe || e.constructor === Ot;\n}\nfunction Hn(e, t, r, n, i) {\n if (e.keyHash === n)\n return new Ot(t, n, [e.entry, i]);\n var o = (r === 0 ? e.keyHash : e.keyHash >>> r) & fe, s = (r === 0 ? n : n >>> r) & fe, a, u = o === s ? [Hn(e, t, r + j, n, i)] : (a = new Fe(t, n, i), o < s ? [e, a] : [a, e]);\n return new kt(t, 1 << o | 1 << s, u);\n}\nfunction Yh(e, t, r, n) {\n e || (e = new In());\n for (var i = new Fe(e, _e(r), [r, n]), o = 0; o < t.length; o++) {\n var s = t[o];\n i = i.update(e, 0, void 0, s[0], s[1]);\n }\n return i;\n}\nfunction Gh(e, t, r, n) {\n for (var i = 0, o = 0, s = new Array(r), a = 0, u = 1, c = t.length; a < c; a++, u <<= 1) {\n var f = t[a];\n f !== void 0 && a !== n && (i |= u, s[o++] = f);\n }\n return new kt(e, i, s);\n}\nfunction Xh(e, t, r, n, i) {\n for (var o = 0, s = new Array(me), a = 0; r !== 0; a++, r >>>= 1)\n s[a] = r & 1 ? t[o++] : void 0;\n return s[n] = i, new er(e, o + 1, s);\n}\nfunction ks(e) {\n return e -= e >> 1 & 1431655765, e = (e & 858993459) + (e >> 2 & 858993459), e = e + (e >> 4) & 252645135, e += e >> 8, e += e >> 16, e & 127;\n}\nfunction Os(e, t, r, n) {\n var i = n ? e : Pe(e);\n return i[t] = r, i;\n}\nfunction Qh(e, t, r, n) {\n var i = e.length + 1;\n if (n && t + 1 === i)\n return e[t] = r, e;\n for (var o = new Array(i), s = 0, a = 0; a < i; a++)\n a === t ? (o[a] = r, s = -1) : o[a] = e[a + s];\n return o;\n}\nfunction ep(e, t, r) {\n var n = e.length - 1;\n if (r && t === n)\n return e.pop(), e;\n for (var i = new Array(n), o = 0, s = 0; s < n; s++)\n s === t && (o = 1), i[s] = e[s + o];\n return i;\n}\nvar tp = me / 4, rp = me / 2, np = me / 4;\nfunction $s(e) {\n if (os(e) && typeof e != \"string\")\n return e;\n if (Ze(e))\n return e.toArray();\n throw new TypeError(\"Invalid keyPath: expected Ordered Collection or Array: \" + e);\n}\nfunction tr(e) {\n try {\n return typeof e == \"string\" ? JSON.stringify(e) : String(e);\n } catch {\n return JSON.stringify(e);\n }\n}\nfunction ip(e, t) {\n return Me(e) ? (\n // @ts-expect-error key might be a number or symbol, which is not handled be Record key type\n e.has(t)\n ) : (\n // @ts-expect-error key might be anything else than PropertyKey, and will return false in that case but runtime is OK\n Xe(e) && Nt.call(e, t)\n );\n}\nfunction Es(e, t, r) {\n return Me(e) ? e.get(t, r) : ip(e, t) ? (\n // @ts-expect-error weird \"get\" here,\n typeof e.get == \"function\" ? (\n // @ts-expect-error weird \"get\" here,\n e.get(t)\n ) : (\n // @ts-expect-error key is unknown here,\n e[t]\n )\n ) : r;\n}\nfunction op(e, t) {\n if (!Xe(e))\n throw new TypeError(\"Cannot update non-data-structure value: \" + e);\n if (Me(e)) {\n if (!e.remove)\n throw new TypeError(\"Cannot update immutable value without .remove() method: \" + e);\n return e.remove(t);\n }\n if (!Nt.call(e, t))\n return e;\n var r = Tr(e);\n return Array.isArray(r) ? r.splice(t, 1) : delete r[t], r;\n}\nfunction sp(e, t, r) {\n if (!Xe(e))\n throw new TypeError(\"Cannot update non-data-structure value: \" + e);\n if (Me(e)) {\n if (!e.set)\n throw new TypeError(\"Cannot update immutable value without .set() method: \" + e);\n return e.set(t, r);\n }\n if (Nt.call(e, t) && r === e[t])\n return e;\n var n = Tr(e);\n return n[t] = r, n;\n}\nfunction Mt(e, t, r, n) {\n n || (n = r, r = void 0);\n var i = Is(\n Me(e),\n // @ts-expect-error type issues with Record and mixed types\n e,\n $s(t),\n 0,\n r,\n n\n );\n return i === P ? r : i;\n}\nfunction Is(e, t, r, n, i, o) {\n var s = t === P;\n if (n === r.length) {\n var a = s ? i : t, u = o(a);\n return u === a ? t : u;\n }\n if (!s && !Xe(t))\n throw new TypeError(\"Cannot update within non-data-structure value in path [\" + Array.from(r).slice(0, n).map(tr) + \"]: \" + t);\n var c = r[n], f = s ? P : Es(t, c, P), l = Is(\n f === P ? e : Me(f),\n // @ts-expect-error mixed type\n f,\n r,\n n + 1,\n i,\n o\n );\n return l === f ? t : l === P ? op(t, c) : sp(s ? e ? Ne() : {} : t, c, l);\n}\nfunction ap(e, t) {\n return Mt(e, t, function() {\n return P;\n });\n}\nfunction Yn(e) {\n return ap(this, e);\n}\nvar As = \"@@__IMMUTABLE_LIST__@@\";\nfunction Rs(e) {\n return !!(e && // @ts-expect-error: maybeList is typed as `{}`, need to change in 6.0 to `maybeList && typeof maybeList === 'object' && IS_LIST_SYMBOL in maybeList`\n e[As]);\n}\nvar $t = /* @__PURE__ */ (function(e) {\n function t(r) {\n var n = zr();\n if (r == null)\n return n;\n if (Rs(r))\n return r;\n var i = e(r), o = i.size;\n return o === 0 ? n : (ge(o), o > 0 && o < me ? rr(0, o, j, null, new We(i.toArray())) : n.withMutations(function(s) {\n s.setSize(o), i.forEach(function(a, u) {\n return s.set(u, a);\n });\n }));\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.prototype.toString = function() {\n return this.__toString(\"List [\", \"]\");\n }, t.prototype.get = function(n, i) {\n if (n = Ye(this, n), n >= 0 && n < this.size) {\n n += this._origin;\n var o = Ts(this, n);\n return o && o.array[n & fe];\n }\n return i;\n }, t.prototype.set = function(n, i) {\n return up(this, n, i);\n }, t.prototype.remove = function(n) {\n return this.has(n) ? n === 0 ? this.shift() : n === this.size - 1 ? this.pop() : this.splice(n, 1) : this;\n }, t.prototype.insert = function(n, i) {\n return this.splice(n, 0, i);\n }, t.prototype.clear = function() {\n return this.size === 0 ? this : this.__ownerID ? (this.size = this._origin = this._capacity = 0, this._level = j, this._root = this._tail = this.__hash = void 0, this.__altered = !0, this) : zr();\n }, t.prototype.push = function() {\n var n = arguments, i = this.size;\n return this.withMutations(function(o) {\n qe(o, 0, i + n.length);\n for (var s = 0; s < n.length; s++)\n o.set(i + s, n[s]);\n });\n }, t.prototype.pop = function() {\n return qe(this, 0, -1);\n }, t.prototype.unshift = function() {\n var n = arguments;\n return this.withMutations(function(i) {\n qe(i, -n.length);\n for (var o = 0; o < n.length; o++)\n i.set(o, n[o]);\n });\n }, t.prototype.shift = function() {\n return qe(this, 1);\n }, t.prototype.shuffle = function(n) {\n return n === void 0 && (n = Math.random), this.withMutations(function(i) {\n for (var o = i.size, s, a; o; )\n s = Math.floor(n() * o--), a = i.get(s), i.set(s, i.get(o)), i.set(o, a);\n });\n }, t.prototype.concat = function() {\n for (var n = arguments, i = [], o = 0; o < arguments.length; o++) {\n var s = n[o], a = e(\n typeof s != \"string\" && Qo(s) ? s : [s]\n );\n a.size !== 0 && i.push(a);\n }\n return i.length === 0 ? this : this.size === 0 && !this.__ownerID && i.length === 1 ? this.constructor(i[0]) : this.withMutations(function(u) {\n i.forEach(function(c) {\n return c.forEach(function(f) {\n return u.push(f);\n });\n });\n });\n }, t.prototype.setSize = function(n) {\n return qe(this, 0, n);\n }, t.prototype.map = function(n, i) {\n var o = this;\n return this.withMutations(function(s) {\n for (var a = 0; a < o.size; a++)\n s.set(a, n.call(i, s.get(a), a, o));\n });\n }, t.prototype.slice = function(n, i) {\n var o = this.size;\n return Lr(n, i, o) ? this : qe(\n this,\n ar(n, o),\n Fr(i, o)\n );\n }, t.prototype.__iterator = function(n, i) {\n var o = i ? this.size : 0, s = Ui(this, i);\n return new Z(function() {\n var a = s();\n return a === Vt ? le() : B(n, i ? --o : o++, a);\n });\n }, t.prototype.__iterate = function(n, i) {\n for (var o = i ? this.size : 0, s = Ui(this, i), a; (a = s()) !== Vt && n(a, i ? --o : o++, this) !== !1; )\n ;\n return o;\n }, t.prototype.__ensureOwner = function(n) {\n return n === this.__ownerID ? this : n ? rr(\n this._origin,\n this._capacity,\n this._level,\n this._root,\n this._tail,\n n,\n this.__hash\n ) : this.size === 0 ? zr() : (this.__ownerID = n, this.__altered = !1, this);\n }, t;\n})(ut);\n$t.isList = Rs;\nvar Q = $t.prototype;\nQ[As] = !0;\nQ[sr] = Q.remove;\nQ.merge = Q.concat;\nQ.setIn = qn;\nQ.deleteIn = Q.removeIn = Yn;\nQ.update = Un;\nQ.updateIn = Bn;\nQ.mergeIn = xn;\nQ.mergeDeepIn = Fn;\nQ.withMutations = fr;\nQ.wasAltered = Wn;\nQ.asImmutable = ur;\nQ[\"@@transducer/init\"] = Q.asMutable = cr;\nQ[\"@@transducer/step\"] = function(e, t) {\n return e.push(t);\n};\nQ[\"@@transducer/result\"] = function(e) {\n return e.asImmutable();\n};\nvar We = function(t, r) {\n this.array = t, this.ownerID = r;\n};\nWe.prototype.removeBefore = function(t, r, n) {\n if ((n & (1 << r + j) - 1) === 0 || this.array.length === 0)\n return this;\n var i = n >>> r & fe;\n if (i >= this.array.length)\n return new We([], t);\n var o = i === 0, s;\n if (r > 0) {\n var a = this.array[i];\n if (s = a && a.removeBefore(t, r - j, n), s === a && o)\n return this;\n }\n if (o && !s)\n return this;\n var u = Et(this, t);\n if (!o)\n for (var c = 0; c < i; c++)\n u.array[c] = void 0;\n return s && (u.array[i] = s), u;\n};\nWe.prototype.removeAfter = function(t, r, n) {\n if (n === (r ? 1 << r + j : me) || this.array.length === 0)\n return this;\n var i = n - 1 >>> r & fe;\n if (i >= this.array.length)\n return this;\n var o;\n if (r > 0) {\n var s = this.array[i];\n if (o = s && s.removeAfter(t, r - j, n), o === s && i === this.array.length - 1)\n return this;\n }\n var a = Et(this, t);\n return a.array.splice(i + 1), o && (a.array[i] = o), a;\n};\nvar Vt = {};\nfunction Ui(e, t) {\n var r = e._origin, n = e._capacity, i = nr(n), o = e._tail;\n return s(e._root, e._level, 0);\n function s(c, f, l) {\n return f === 0 ? a(c, l) : u(c, f, l);\n }\n function a(c, f) {\n var l = f === i ? o && o.array : c && c.array, h = f > r ? 0 : r - f, d = n - f;\n return d > me && (d = me), function() {\n if (h === d)\n return Vt;\n var _ = t ? --d : h++;\n return l && l[_];\n };\n }\n function u(c, f, l) {\n var h, d = c && c.array, _ = l > r ? 0 : r - l >> f, g = (n - l >> f) + 1;\n return g > me && (g = me), function() {\n for (; ; ) {\n if (h) {\n var m = h();\n if (m !== Vt)\n return m;\n h = null;\n }\n if (_ === g)\n return Vt;\n var E = t ? --g : _++;\n h = s(\n d && d[E],\n f - j,\n l + (E << f)\n );\n }\n };\n }\n}\nfunction rr(e, t, r, n, i, o, s) {\n var a = Object.create(Q);\n return a.size = t - e, a._origin = e, a._capacity = t, a._level = r, a._root = n, a._tail = i, a.__ownerID = o, a.__hash = s, a.__altered = !1, a;\n}\nfunction zr() {\n return rr(0, 0, j);\n}\nfunction up(e, t, r) {\n if (t = Ye(e, t), t !== t)\n return e;\n if (t >= e.size || t < 0)\n return e.withMutations(function(s) {\n t < 0 ? qe(s, t).set(0, r) : qe(s, 0, t + 1).set(t, r);\n });\n t += e._origin;\n var n = e._tail, i = e._root, o = hn();\n return t >= nr(e._capacity) ? n = gn(n, e.__ownerID, 0, t, r, o) : i = gn(\n i,\n e.__ownerID,\n e._level,\n t,\n r,\n o\n ), o.value ? e.__ownerID ? (e._root = i, e._tail = n, e.__hash = void 0, e.__altered = !0, e) : rr(e._origin, e._capacity, e._level, i, n) : e;\n}\nfunction gn(e, t, r, n, i, o) {\n var s = n >>> r & fe, a = e && s < e.array.length;\n if (!a && i === void 0)\n return e;\n var u;\n if (r > 0) {\n var c = e && e.array[s], f = gn(\n c,\n t,\n r - j,\n n,\n i,\n o\n );\n return f === c ? e : (u = Et(e, t), u.array[s] = f, u);\n }\n return a && e.array[s] === i ? e : (o && ke(o), u = Et(e, t), i === void 0 && s === u.array.length - 1 ? u.array.pop() : u.array[s] = i, u);\n}\nfunction Et(e, t) {\n return t && e && t === e.ownerID ? e : new We(e ? e.array.slice() : [], t);\n}\nfunction Ts(e, t) {\n if (t >= nr(e._capacity))\n return e._tail;\n if (t < 1 << e._level + j) {\n for (var r = e._root, n = e._level; r && n > 0; )\n r = r.array[t >>> n & fe], n -= j;\n return r;\n }\n}\nfunction qe(e, t, r) {\n t !== void 0 && (t |= 0), r !== void 0 && (r |= 0);\n var n = e.__ownerID || new In(), i = e._origin, o = e._capacity, s = i + t, a = r === void 0 ? o : r < 0 ? o + r : i + r;\n if (s === i && a === o)\n return e;\n if (s >= a)\n return e.clear();\n for (var u = e._level, c = e._root, f = 0; s + f < 0; )\n c = new We(\n c && c.array.length ? [void 0, c] : [],\n n\n ), u += j, f += 1 << u;\n f && (s += f, i += f, a += f, o += f);\n for (var l = nr(o), h = nr(a); h >= 1 << u + j; )\n c = new We(\n c && c.array.length ? [c] : [],\n n\n ), u += j;\n var d = e._tail, _ = h < l ? Ts(e, a - 1) : h > l ? new We([], n) : d;\n if (d && h > l && s < o && d.array.length) {\n c = Et(c, n);\n for (var g = c, m = u; m > j; m -= j) {\n var E = l >>> m & fe;\n g = g.array[E] = Et(g.array[E], n);\n }\n g.array[l >>> j & fe] = d;\n }\n if (a < o && (_ = _ && _.removeAfter(n, 0, a)), s >= h)\n s -= h, a -= h, u = j, c = null, _ = _ && _.removeBefore(n, 0, s);\n else if (s > i || h < l) {\n for (f = 0; c; ) {\n var $ = s >>> u & fe;\n if ($ !== h >>> u & fe)\n break;\n $ && (f += (1 << u) * $), u -= j, c = c.array[$];\n }\n c && s > i && (c = c.removeBefore(n, u, s - f)), c && h < l && (c = c.removeAfter(\n n,\n u,\n h - f\n )), f && (s -= f, a -= f);\n }\n return e.__ownerID ? (e.size = a - s, e._origin = s, e._capacity = a, e._level = u, e._root = c, e._tail = _, e.__hash = void 0, e.__altered = !0, e) : rr(s, a, u, c, _);\n}\nfunction nr(e) {\n return e < me ? 0 : e - 1 >>> j << j;\n}\nfunction Ps(e) {\n return Jn(e) && Ze(e);\n}\nvar xe = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? qt() : Ps(r) ? r : qt().withMutations(function(n) {\n var i = Ee(r);\n ge(i.size), i.forEach(function(o, s) {\n return n.set(s, o);\n });\n });\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.prototype.toString = function() {\n return this.__toString(\"OrderedMap {\", \"}\");\n }, t.prototype.get = function(n, i) {\n var o = this._map.get(n);\n return o !== void 0 ? this._list.get(o)[1] : i;\n }, t.prototype.clear = function() {\n return this.size === 0 ? this : this.__ownerID ? (this.size = 0, this._map.clear(), this._list.clear(), this.__altered = !0, this) : qt();\n }, t.prototype.set = function(n, i) {\n return Wi(this, n, i);\n }, t.prototype.remove = function(n) {\n return Wi(this, n, P);\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._list.__iterate(\n function(s) {\n return s && n(s[1], s[0], o);\n },\n i\n );\n }, t.prototype.__iterator = function(n, i) {\n return this._list.fromEntrySeq().__iterator(n, i);\n }, t.prototype.__ensureOwner = function(n) {\n if (n === this.__ownerID)\n return this;\n var i = this._map.__ensureOwner(n), o = this._list.__ensureOwner(n);\n return n ? Gn(i, o, n, this.__hash) : this.size === 0 ? qt() : (this.__ownerID = n, this.__altered = !1, this._map = i, this._list = o, this);\n }, t;\n})(Qe);\nxe.isOrderedMap = Ps;\nxe.prototype[Ge] = !0;\nxe.prototype[sr] = xe.prototype.remove;\nfunction Gn(e, t, r, n) {\n var i = Object.create(xe.prototype);\n return i.size = e ? e.size : 0, i._map = e, i._list = t, i.__ownerID = r, i.__hash = n, i.__altered = !1, i;\n}\nvar Bi;\nfunction qt() {\n return Bi || (Bi = Gn(Ne(), zr()));\n}\nfunction Wi(e, t, r) {\n var n = e._map, i = e._list, o = n.get(t), s = o !== void 0, a, u;\n if (r === P) {\n if (!s)\n return e;\n i.size >= me && i.size >= n.size * 2 ? (u = i.filter(function(c, f) {\n return c !== void 0 && o !== f;\n }), a = u.toKeyedSeq().map(function(c) {\n return c[0];\n }).flip().toMap(), e.__ownerID && (a.__ownerID = u.__ownerID = e.__ownerID)) : (a = n.remove(t), u = o === i.size - 1 ? i.pop() : i.set(o, void 0));\n } else if (s) {\n if (r === i.get(o)[1])\n return e;\n a = n, u = i.set(o, [t, r]);\n } else\n a = n.set(t, i.size), u = i.set(i.size, [t, r]);\n return e.__ownerID ? (e.size = a.size, e._map = a, e._list = u, e.__hash = void 0, e.__altered = !0, e) : Gn(a, u);\n}\nvar Ns = \"@@__IMMUTABLE_STACK__@@\";\nfunction mn(e) {\n return !!(e && // @ts-expect-error: maybeStack is typed as `{}`, need to change in 6.0 to `maybeStack && typeof maybeStack === 'object' && MAYBE_STACK_SYMBOL in maybeStack`\n e[Ns]);\n}\nvar Xn = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Sr() : mn(r) ? r : Sr().pushAll(r);\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.prototype.toString = function() {\n return this.__toString(\"Stack [\", \"]\");\n }, t.prototype.get = function(n, i) {\n var o = this._head;\n for (n = Ye(this, n); o && n--; )\n o = o.next;\n return o ? o.value : i;\n }, t.prototype.peek = function() {\n return this._head && this._head.value;\n }, t.prototype.push = function() {\n var n = arguments;\n if (arguments.length === 0)\n return this;\n for (var i = this.size + arguments.length, o = this._head, s = arguments.length - 1; s >= 0; s--)\n o = {\n value: n[s],\n next: o\n };\n return this.__ownerID ? (this.size = i, this._head = o, this.__hash = void 0, this.__altered = !0, this) : Ut(i, o);\n }, t.prototype.pushAll = function(n) {\n if (n = e(n), n.size === 0)\n return this;\n if (this.size === 0 && mn(n))\n return n;\n ge(n.size);\n var i = this.size, o = this._head;\n return n.__iterate(\n function(s) {\n i++, o = {\n value: s,\n next: o\n };\n },\n /* reverse */\n !0\n ), this.__ownerID ? (this.size = i, this._head = o, this.__hash = void 0, this.__altered = !0, this) : Ut(i, o);\n }, t.prototype.pop = function() {\n return this.slice(1);\n }, t.prototype.clear = function() {\n return this.size === 0 ? this : this.__ownerID ? (this.size = 0, this._head = void 0, this.__hash = void 0, this.__altered = !0, this) : Sr();\n }, t.prototype.slice = function(n, i) {\n if (Lr(n, i, this.size))\n return this;\n var o = ar(n, this.size), s = Fr(i, this.size);\n if (s !== this.size)\n return e.prototype.slice.call(this, n, i);\n for (var a = this.size - o, u = this._head; o--; )\n u = u.next;\n return this.__ownerID ? (this.size = a, this._head = u, this.__hash = void 0, this.__altered = !0, this) : Ut(a, u);\n }, t.prototype.__ensureOwner = function(n) {\n return n === this.__ownerID ? this : n ? Ut(this.size, this._head, n, this.__hash) : this.size === 0 ? Sr() : (this.__ownerID = n, this.__altered = !1, this);\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n if (i)\n return new bt(this.toArray()).__iterate(\n function(u, c) {\n return n(u, c, o);\n },\n i\n );\n for (var s = 0, a = this._head; a && n(a.value, s++, this) !== !1; )\n a = a.next;\n return s;\n }, t.prototype.__iterator = function(n, i) {\n if (i)\n return new bt(this.toArray()).__iterator(n, i);\n var o = 0, s = this._head;\n return new Z(function() {\n if (s) {\n var a = s.value;\n return s = s.next, B(n, o++, a);\n }\n return le();\n });\n }, t;\n})(ut);\nXn.isStack = mn;\nvar he = Xn.prototype;\nhe[Ns] = !0;\nhe.shift = he.pop;\nhe.unshift = he.push;\nhe.unshiftAll = he.pushAll;\nhe.withMutations = fr;\nhe.wasAltered = Wn;\nhe.asImmutable = ur;\nhe[\"@@transducer/init\"] = he.asMutable = cr;\nhe[\"@@transducer/step\"] = function(e, t) {\n return e.unshift(t);\n};\nhe[\"@@transducer/result\"] = function(e) {\n return e.asImmutable();\n};\nfunction Ut(e, t, r, n) {\n var i = Object.create(he);\n return i.size = e, i._head = t, i.__ownerID = r, i.__hash = n, i.__altered = !1, i;\n}\nvar Ji;\nfunction Sr() {\n return Ji || (Ji = Ut(0));\n}\nfunction Vi(e, t, r, n, i, o) {\n return ge(e.size), e.__iterate(function(s, a, u) {\n i ? (i = !1, r = s) : r = t.call(n, r, s, a, u);\n }, o), r;\n}\nfunction cp(e, t) {\n return t;\n}\nfunction fp(e, t) {\n return [t, e];\n}\nfunction tn(e) {\n return function() {\n for (var t = [], r = arguments.length; r--; ) t[r] = arguments[r];\n return !e.apply(this, t);\n };\n}\nfunction Ki(e) {\n return function() {\n for (var t = [], r = arguments.length; r--; ) t[r] = arguments[r];\n return -e.apply(this, t);\n };\n}\nfunction Hi(e, t) {\n return e < t ? 1 : e > t ? -1 : 0;\n}\nfunction Zs(e, t) {\n if (e === t)\n return !0;\n if (!ye(t) || // @ts-expect-error size should exists on Collection\n e.size !== void 0 && t.size !== void 0 && e.size !== t.size || // @ts-expect-error __hash exists on Collection\n e.__hash !== void 0 && // @ts-expect-error __hash exists on Collection\n t.__hash !== void 0 && // @ts-expect-error __hash exists on Collection\n e.__hash !== t.__hash || U(e) !== U(t) || Oe(e) !== Oe(t) || // @ts-expect-error Range extends Collection, which implements [Symbol.iterator], so it is valid\n Ze(e) !== Ze(t))\n return !1;\n if (e.size === 0 && t.size === 0)\n return !0;\n var r = !En(e);\n if (Ze(e)) {\n var n = e.entries();\n return t.every(function(u, c) {\n var f = n.next().value;\n return f && ve(f[1], u) && (r || ve(f[0], c));\n }) && n.next().done;\n }\n var i = !1;\n if (e.size === void 0)\n if (t.size === void 0)\n typeof e.cacheResult == \"function\" && e.cacheResult();\n else {\n i = !0;\n var o = e;\n e = t, t = o;\n }\n var s = !0, a = (\n // @ts-expect-error b is Range | Repeat | Collection<unknown, unknown> as it may have been flipped, and __iterate is valid\n t.__iterate(function(u, c) {\n if (r ? (\n // @ts-expect-error has exists on Collection\n !e.has(u)\n ) : i ? (\n // @ts-expect-error type of `get` does not \"catch\" the version with `notSetValue`\n !ve(u, e.get(c, P))\n ) : (\n // @ts-expect-error type of `get` does not \"catch\" the version with `notSetValue`\n !ve(e.get(c, P), u)\n ))\n return s = !1, !1;\n })\n );\n return s && // @ts-expect-error size should exists on Collection\n e.size === a;\n}\nvar lp = /* @__PURE__ */ (function(e) {\n function t(r, n, i) {\n if (i === void 0 && (i = 1), !(this instanceof t))\n return new t(r, n, i);\n if (Jt(i !== 0, \"Cannot step a Range by 0\"), Jt(\n r !== void 0,\n \"You must define a start value when using Range\"\n ), Jt(\n n !== void 0,\n \"You must define an end value when using Range\"\n ), i = Math.abs(i), n < r && (i = -i), this._start = r, this._end = n, this._step = i, this.size = Math.max(0, Math.ceil((n - r) / i - 1) + 1), this.size === 0) {\n if (rn)\n return rn;\n rn = this;\n }\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.prototype.toString = function() {\n return this.size === 0 ? \"Range []\" : \"Range [ \" + this._start + \"...\" + this._end + (this._step !== 1 ? \" by \" + this._step : \"\") + \" ]\";\n }, t.prototype.get = function(n, i) {\n return this.has(n) ? this._start + Ye(this, n) * this._step : i;\n }, t.prototype.includes = function(n) {\n var i = (n - this._start) / this._step;\n return i >= 0 && i < this.size && i === Math.floor(i);\n }, t.prototype.slice = function(n, i) {\n return Lr(n, i, this.size) ? this : (n = ar(n, this.size), i = Fr(i, this.size), i <= n ? new t(0, 0) : new t(\n this.get(n, this._end),\n this.get(i, this._end),\n this._step\n ));\n }, t.prototype.indexOf = function(n) {\n var i = n - this._start;\n if (i % this._step === 0) {\n var o = i / this._step;\n if (o >= 0 && o < this.size)\n return o;\n }\n return -1;\n }, t.prototype.lastIndexOf = function(n) {\n return this.indexOf(n);\n }, t.prototype.__iterate = function(n, i) {\n for (var o = this.size, s = this._step, a = i ? this._start + (o - 1) * s : this._start, u = 0; u !== o && n(a, i ? o - ++u : u++, this) !== !1; )\n a += i ? -s : s;\n return u;\n }, t.prototype.__iterator = function(n, i) {\n var o = this.size, s = this._step, a = i ? this._start + (o - 1) * s : this._start, u = 0;\n return new Z(function() {\n if (u === o)\n return le();\n var c = a;\n return a += i ? -s : s, B(n, i ? o - ++u : u++, c);\n });\n }, t.prototype.equals = function(n) {\n return n instanceof t ? this._start === n._start && this._end === n._end && this._step === n._step : Zs(this, n);\n }, t;\n})(Ae), rn, Ms = \"@@__IMMUTABLE_SET__@@\";\nfunction Qn(e) {\n return !!(e && // @ts-expect-error: maybeSet is typed as `{}`, need to change in 6.0 to `maybeSeq && typeof maybeSet === 'object' && MAYBE_SET_SYMBOL in maybeSet`\n e[Ms]);\n}\nvar Ur = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? Bt() : Qn(r) && !Ze(r) ? r : Bt().withMutations(function(n) {\n var i = e(r);\n ge(i.size), i.forEach(function(o) {\n return n.add(o);\n });\n });\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.fromKeys = function(n) {\n return this(Ee(n).keySeq());\n }, t.intersect = function(n) {\n return n = oe(n).toArray(), n.length ? ne.intersect.apply(t(n.pop()), n) : Bt();\n }, t.union = function(n) {\n return n = oe(n).toArray(), n.length ? ne.union.apply(t(n.pop()), n) : Bt();\n }, t.prototype.toString = function() {\n return this.__toString(\"Set {\", \"}\");\n }, t.prototype.has = function(n) {\n return this._map.has(n);\n }, t.prototype.add = function(n) {\n return br(this, this._map.set(n, n));\n }, t.prototype.remove = function(n) {\n return br(this, this._map.remove(n));\n }, t.prototype.clear = function() {\n return br(this, this._map.clear());\n }, t.prototype.map = function(n, i) {\n var o = this, s = !1, a = br(\n this,\n this._map.mapEntries(function(u) {\n var c = u[1], f = n.call(i, c, c, o);\n return f !== c && (s = !0), [f, f];\n }, i)\n );\n return s ? a : this;\n }, t.prototype.union = function() {\n for (var n = [], i = arguments.length; i--; ) n[i] = arguments[i];\n return n = n.filter(function(o) {\n return o.size !== 0;\n }), n.length === 0 ? this : this.size === 0 && !this.__ownerID && n.length === 1 ? this.constructor(n[0]) : this.withMutations(function(o) {\n for (var s = 0; s < n.length; s++)\n typeof n[s] == \"string\" ? o.add(n[s]) : e(n[s]).forEach(function(a) {\n return o.add(a);\n });\n });\n }, t.prototype.intersect = function() {\n for (var n = [], i = arguments.length; i--; ) n[i] = arguments[i];\n if (n.length === 0)\n return this;\n n = n.map(function(s) {\n return e(s);\n });\n var o = [];\n return this.forEach(function(s) {\n n.every(function(a) {\n return a.includes(s);\n }) || o.push(s);\n }), this.withMutations(function(s) {\n o.forEach(function(a) {\n s.remove(a);\n });\n });\n }, t.prototype.subtract = function() {\n for (var n = [], i = arguments.length; i--; ) n[i] = arguments[i];\n if (n.length === 0)\n return this;\n n = n.map(function(s) {\n return e(s);\n });\n var o = [];\n return this.forEach(function(s) {\n n.some(function(a) {\n return a.includes(s);\n }) && o.push(s);\n }), this.withMutations(function(s) {\n o.forEach(function(a) {\n s.remove(a);\n });\n });\n }, t.prototype.sort = function(n) {\n return ir(zt(this, n));\n }, t.prototype.sortBy = function(n, i) {\n return ir(zt(this, i, n));\n }, t.prototype.wasAltered = function() {\n return this._map.wasAltered();\n }, t.prototype.__iterate = function(n, i) {\n var o = this;\n return this._map.__iterate(function(s) {\n return n(s, s, o);\n }, i);\n }, t.prototype.__iterator = function(n, i) {\n return this._map.__iterator(n, i);\n }, t.prototype.__ensureOwner = function(n) {\n if (n === this.__ownerID)\n return this;\n var i = this._map.__ensureOwner(n);\n return n ? this.__make(i, n) : this.size === 0 ? this.__empty() : (this.__ownerID = n, this._map = i, this);\n }, t;\n})(Tt);\nUr.isSet = Qn;\nvar ne = Ur.prototype;\nne[Ms] = !0;\nne[sr] = ne.remove;\nne.merge = ne.concat = ne.union;\nne.withMutations = fr;\nne.asImmutable = ur;\nne[\"@@transducer/init\"] = ne.asMutable = cr;\nne[\"@@transducer/step\"] = function(e, t) {\n return e.add(t);\n};\nne[\"@@transducer/result\"] = function(e) {\n return e.asImmutable();\n};\nne.__empty = Bt;\nne.__make = Ds;\nfunction br(e, t) {\n return e.__ownerID ? (e.size = t.size, e._map = t, e) : t === e._map ? e : t.size === 0 ? e.__empty() : e.__make(t);\n}\nfunction Ds(e, t) {\n var r = Object.create(ne);\n return r.size = e ? e.size : 0, r._map = e, r.__ownerID = t, r;\n}\nvar Yi;\nfunction Bt() {\n return Yi || (Yi = Ds(Ne()));\n}\nfunction Cs(e, t, r) {\n for (var n = $s(t), i = 0; i !== n.length; )\n if (e = Es(e, n[i++], P), e === P)\n return r;\n return e;\n}\nfunction js(e, t) {\n return Cs(this, e, t);\n}\nfunction hp(e, t) {\n return Cs(e, t, P) !== P;\n}\nfunction pp(e) {\n return hp(this, e);\n}\nfunction Ls() {\n ge(this.size);\n var e = {};\n return this.__iterate(function(t, r) {\n e[r] = t;\n }), e;\n}\nfunction Pr(e) {\n if (!e || typeof e != \"object\")\n return e;\n if (!ye(e)) {\n if (!Xe(e))\n return e;\n e = pe(e);\n }\n if (U(e)) {\n var t = {};\n return e.__iterate(function(n, i) {\n t[i] = Pr(n);\n }), t;\n }\n var r = [];\n return e.__iterate(function(n) {\n r.push(Pr(n));\n }), r;\n}\nfunction dp(e) {\n if (e.size === 1 / 0)\n return 0;\n var t = Ze(e), r = U(e), n = t ? 1 : 0;\n return e.__iterate(r ? t ? function(i, o) {\n n = 31 * n + Gi(_e(i), _e(o)) | 0;\n } : function(i, o) {\n n = n + Gi(_e(i), _e(o)) | 0;\n } : t ? function(i) {\n n = 31 * n + _e(i) | 0;\n } : function(i) {\n n = n + _e(i) | 0;\n }), _p(e.size, n);\n}\nfunction _p(e, t) {\n return t = Ft(t, 3432918353), t = Ft(t << 15 | t >>> -15, 461845907), t = Ft(t << 13 | t >>> -13, 5), t = (t + 3864292196 | 0) ^ e, t = Ft(t ^ t >>> 16, 2246822507), t = Ft(t ^ t >>> 13, 3266489909), t = xr(t ^ t >>> 16), t;\n}\nfunction Gi(e, t) {\n return e ^ t + 2654435769 + (e << 6) + (e >> 2) | 0;\n}\nfunction ft(e, t) {\n var r = function(n) {\n e.prototype[n] = t[n];\n };\n return Object.keys(t).forEach(r), Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(t).forEach(r), e;\n}\noe.Iterator = Z;\nft(oe, {\n // ### Conversion to other types\n toArray: function() {\n ge(this.size);\n var t = new Array(this.size || 0), r = U(this), n = 0;\n return this.__iterate(function(i, o) {\n t[n++] = r ? [o, i] : i;\n }), t;\n },\n toIndexedSeq: function() {\n return new us(this);\n },\n toJS: function() {\n return Pr(this);\n },\n toKeyedSeq: function() {\n return new qr(this, !0);\n },\n toMap: function() {\n return Qe(this.toKeyedSeq());\n },\n toObject: Ls,\n toOrderedMap: function() {\n return xe(this.toKeyedSeq());\n },\n toOrderedSet: function() {\n return ir(U(this) ? this.valueSeq() : this);\n },\n toSet: function() {\n return Ur(U(this) ? this.valueSeq() : this);\n },\n toSetSeq: function() {\n return new cs(this);\n },\n toSeq: function() {\n return Oe(this) ? this.toIndexedSeq() : U(this) ? this.toKeyedSeq() : this.toSetSeq();\n },\n toStack: function() {\n return Xn(U(this) ? this.valueSeq() : this);\n },\n toList: function() {\n return $t(U(this) ? this.valueSeq() : this);\n },\n // ### Common JavaScript methods and properties\n toString: function() {\n return \"[Collection]\";\n },\n __toString: function(t, r) {\n return this.size === 0 ? t + r : t + \" \" + this.toSeq().map(this.__toStringMapper).join(\", \") + \" \" + r;\n },\n // ### ES6 Collection methods (ES6 Array and Map)\n concat: function() {\n for (var t = [], r = arguments.length; r--; ) t[r] = arguments[r];\n return C(this, xh(this, t));\n },\n includes: function(t) {\n return this.some(function(r) {\n return ve(r, t);\n });\n },\n entries: function() {\n return this.__iterator(Se);\n },\n every: function(t, r) {\n ge(this.size);\n var n = !0;\n return this.__iterate(function(i, o, s) {\n if (!t.call(r, i, o, s))\n return n = !1, !1;\n }), n;\n },\n filter: function(t, r) {\n return C(this, ps(this, t, r, !0));\n },\n partition: function(t, r) {\n return jh(this, t, r);\n },\n find: function(t, r, n) {\n var i = this.findEntry(t, r);\n return i ? i[1] : n;\n },\n forEach: function(t, r) {\n return ge(this.size), this.__iterate(r ? t.bind(r) : t);\n },\n join: function(t) {\n ge(this.size), t = t !== void 0 ? \"\" + t : \",\";\n var r = \"\", n = !0;\n return this.__iterate(function(i) {\n n ? n = !1 : r += t, r += i != null ? i.toString() : \"\";\n }), r;\n },\n keys: function() {\n return this.__iterator(Pt);\n },\n map: function(t, r) {\n return C(this, hs(this, t, r));\n },\n reduce: function(t, r, n) {\n return Vi(\n this,\n t,\n r,\n n,\n arguments.length < 2,\n !1\n );\n },\n reduceRight: function(t, r, n) {\n return Vi(\n this,\n t,\n r,\n n,\n arguments.length < 2,\n !0\n );\n },\n reverse: function() {\n return C(this, Zn(this, !0));\n },\n slice: function(t, r) {\n return C(this, Mn(this, t, r, !0));\n },\n some: function(t, r) {\n ge(this.size);\n var n = !1;\n return this.__iterate(function(i, o, s) {\n if (t.call(r, i, o, s))\n return n = !0, !1;\n }), n;\n },\n sort: function(t) {\n return C(this, zt(this, t));\n },\n values: function() {\n return this.__iterator(we);\n },\n // ### More sequential methods\n butLast: function() {\n return this.slice(0, -1);\n },\n isEmpty: function() {\n return this.size !== void 0 ? this.size === 0 : !this.some(function() {\n return !0;\n });\n },\n count: function(t, r) {\n return St(\n t ? this.toSeq().filter(t, r) : this\n );\n },\n countBy: function(t, r) {\n return Dh(this, t, r);\n },\n equals: function(t) {\n return Zs(this, t);\n },\n entrySeq: function() {\n var t = this;\n if (t._cache)\n return new bt(t._cache);\n var r = t.toSeq().map(fp).toIndexedSeq();\n return r.fromEntrySeq = function() {\n return t.toSeq();\n }, r;\n },\n filterNot: function(t, r) {\n return this.filter(tn(t), r);\n },\n findEntry: function(t, r, n) {\n var i = n;\n return this.__iterate(function(o, s, a) {\n if (t.call(r, o, s, a))\n return i = [s, o], !1;\n }), i;\n },\n findKey: function(t, r) {\n var n = this.findEntry(t, r);\n return n && n[0];\n },\n findLast: function(t, r, n) {\n return this.toKeyedSeq().reverse().find(t, r, n);\n },\n findLastEntry: function(t, r, n) {\n return this.toKeyedSeq().reverse().findEntry(t, r, n);\n },\n findLastKey: function(t, r) {\n return this.toKeyedSeq().reverse().findKey(t, r);\n },\n first: function(t) {\n return this.find(es, null, t);\n },\n flatMap: function(t, r) {\n return C(this, qh(this, t, r));\n },\n flatten: function(t) {\n return C(this, _s(this, t, !0));\n },\n fromEntrySeq: function() {\n return new fs(this);\n },\n get: function(t, r) {\n return this.find(function(n, i) {\n return ve(i, t);\n }, void 0, r);\n },\n getIn: js,\n groupBy: function(t, r) {\n return Ch(this, t, r);\n },\n has: function(t) {\n return this.get(t, P) !== P;\n },\n hasIn: pp,\n isSubset: function(t) {\n return t = typeof t.includes == \"function\" ? t : oe(t), this.every(function(r) {\n return t.includes(r);\n });\n },\n isSuperset: function(t) {\n return t = typeof t.isSubset == \"function\" ? t : oe(t), t.isSubset(this);\n },\n keyOf: function(t) {\n return this.findKey(function(r) {\n return ve(r, t);\n });\n },\n keySeq: function() {\n return this.toSeq().map(cp).toIndexedSeq();\n },\n last: function(t) {\n return this.toSeq().reverse().first(t);\n },\n lastKeyOf: function(t) {\n return this.toKeyedSeq().reverse().keyOf(t);\n },\n max: function(t) {\n return yr(this, t);\n },\n maxBy: function(t, r) {\n return yr(this, r, t);\n },\n min: function(t) {\n return yr(\n this,\n t ? Ki(t) : Hi\n );\n },\n minBy: function(t, r) {\n return yr(\n this,\n r ? Ki(r) : Hi,\n t\n );\n },\n rest: function() {\n return this.slice(1);\n },\n skip: function(t) {\n return t === 0 ? this : this.slice(Math.max(0, t));\n },\n skipLast: function(t) {\n return t === 0 ? this : this.slice(0, -Math.max(0, t));\n },\n skipWhile: function(t, r) {\n return C(this, ds(this, t, r, !0));\n },\n skipUntil: function(t, r) {\n return this.skipWhile(tn(t), r);\n },\n sortBy: function(t, r) {\n return C(this, zt(this, r, t));\n },\n take: function(t) {\n return this.slice(0, Math.max(0, t));\n },\n takeLast: function(t) {\n return this.slice(-Math.max(0, t));\n },\n takeWhile: function(t, r) {\n return C(this, Lh(this, t, r));\n },\n takeUntil: function(t, r) {\n return this.takeWhile(tn(t), r);\n },\n update: function(t) {\n return t(this);\n },\n valueSeq: function() {\n return this.toIndexedSeq();\n },\n // ### Hashable Object\n hashCode: function() {\n return this.__hash || (this.__hash = dp(this));\n }\n // ### Internal\n // abstract __iterate(fn, reverse)\n // abstract __iterator(type, reverse)\n});\nvar se = oe.prototype;\nse[Go] = !0;\nse[Cr] = se.values;\nse.toJSON = se.toArray;\nse.__toStringMapper = tr;\nse.inspect = se.toSource = function() {\n return this.toString();\n};\nse.chain = se.flatMap;\nse.contains = se.includes;\nft(Ee, {\n // ### More sequential methods\n flip: function() {\n return C(this, ls(this));\n },\n mapEntries: function(t, r) {\n var n = this, i = 0;\n return C(\n this,\n this.toSeq().map(function(o, s) {\n return t.call(r, [s, o], i++, n);\n }).fromEntrySeq()\n );\n },\n mapKeys: function(t, r) {\n var n = this;\n return C(\n this,\n this.toSeq().flip().map(function(i, o) {\n return t.call(r, i, o, n);\n }).flip()\n );\n }\n});\nvar lr = Ee.prototype;\nlr[Rr] = !0;\nlr[Cr] = se.entries;\nlr.toJSON = Ls;\nlr.__toStringMapper = function(e, t) {\n return tr(t) + \": \" + tr(e);\n};\nft(ut, {\n // ### Conversion to other types\n toKeyedSeq: function() {\n return new qr(this, !1);\n },\n // ### ES6 Collection methods (ES6 Array and Map)\n filter: function(t, r) {\n return C(this, ps(this, t, r, !1));\n },\n findIndex: function(t, r) {\n var n = this.findEntry(t, r);\n return n ? n[0] : -1;\n },\n indexOf: function(t) {\n var r = this.keyOf(t);\n return r === void 0 ? -1 : r;\n },\n lastIndexOf: function(t) {\n var r = this.lastKeyOf(t);\n return r === void 0 ? -1 : r;\n },\n reverse: function() {\n return C(this, Zn(this, !1));\n },\n slice: function(t, r) {\n return C(this, Mn(this, t, r, !1));\n },\n splice: function(t, r) {\n var n = arguments.length;\n if (r = Math.max(r || 0, 0), n === 0 || n === 2 && !r)\n return this;\n t = ar(t, t < 0 ? this.count() : this.size);\n var i = this.slice(0, t);\n return C(\n this,\n n === 1 ? i : i.concat(Pe(arguments, 2), this.slice(t + r))\n );\n },\n // ### More collection methods\n findLastIndex: function(t, r) {\n var n = this.findLastEntry(t, r);\n return n ? n[0] : -1;\n },\n first: function(t) {\n return this.get(0, t);\n },\n flatten: function(t) {\n return C(this, _s(this, t, !1));\n },\n get: function(t, r) {\n return t = Ye(this, t), t < 0 || this.size === 1 / 0 || this.size !== void 0 && t > this.size ? r : this.find(function(n, i) {\n return i === t;\n }, void 0, r);\n },\n has: function(t) {\n return t = Ye(this, t), t >= 0 && (this.size !== void 0 ? this.size === 1 / 0 || t < this.size : this.indexOf(t) !== -1);\n },\n interpose: function(t) {\n return C(this, Uh(this, t));\n },\n interleave: function() {\n var t = [this].concat(Pe(arguments)), r = wr(this.toSeq(), Ae.of, t), n = r.flatten(!0);\n return r.size && (n.size = r.size * t.length), C(this, n);\n },\n keySeq: function() {\n return lp(0, this.size);\n },\n last: function(t) {\n return this.get(-1, t);\n },\n skipWhile: function(t, r) {\n return C(this, ds(this, t, r, !1));\n },\n zip: function() {\n var t = [this].concat(Pe(arguments));\n return C(this, wr(this, Xi, t));\n },\n zipAll: function() {\n var t = [this].concat(Pe(arguments));\n return C(this, wr(this, Xi, t, !0));\n },\n zipWith: function(t) {\n var r = Pe(arguments);\n return r[0] = this, C(this, wr(this, t, r));\n }\n});\nvar Dt = ut.prototype;\nDt[Ar] = !0;\nDt[Ge] = !0;\nft(Tt, {\n // ### ES6 Collection methods (ES6 Array and Map)\n get: function(t, r) {\n return this.has(t) ? t : r;\n },\n includes: function(t) {\n return this.has(t);\n },\n // ### More sequential methods\n keySeq: function() {\n return this.valueSeq();\n }\n});\nvar It = Tt.prototype;\nIt.has = se.includes;\nIt.contains = It.includes;\nIt.keys = It.values;\nft(rt, lr);\nft(Ae, Dt);\nft(Zt, It);\nfunction Xi() {\n return Pe(arguments);\n}\nfunction Fs(e) {\n return Qn(e) && Ze(e);\n}\nvar ir = /* @__PURE__ */ (function(e) {\n function t(r) {\n return r == null ? vn() : Fs(r) ? r : vn().withMutations(function(n) {\n var i = Tt(r);\n ge(i.size), i.forEach(function(o) {\n return n.add(o);\n });\n });\n }\n return e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t, t.of = function() {\n return this(arguments);\n }, t.fromKeys = function(n) {\n return this(Ee(n).keySeq());\n }, t.prototype.toString = function() {\n return this.__toString(\"OrderedSet {\", \"}\");\n }, t;\n})(Ur);\nir.isOrderedSet = Fs;\nvar lt = ir.prototype;\nlt[Ge] = !0;\nlt.zip = Dt.zip;\nlt.zipWith = Dt.zipWith;\nlt.zipAll = Dt.zipAll;\nlt.__empty = vn;\nlt.__make = xs;\nfunction xs(e, t) {\n var r = Object.create(lt);\n return r.size = e ? e.size : 0, r._map = e, r.__ownerID = t, r;\n}\nvar Qi;\nfunction vn() {\n return Qi || (Qi = xs(qt()));\n}\nfunction gp(e) {\n if (ct(e))\n throw new Error(\n \"Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.\"\n );\n if (Me(e))\n throw new Error(\n \"Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.\"\n );\n if (e === null || typeof e != \"object\")\n throw new Error(\n \"Can not call `Record` with a non-object as default values. Use a plain javascript object instead.\"\n );\n}\nvar re = function(t, r) {\n var n;\n gp(t);\n var i = function(a) {\n var u = this;\n if (a instanceof i)\n return a;\n if (!(this instanceof i))\n return new i(a);\n if (!n) {\n n = !0;\n var c = Object.keys(t), f = o._indices = {};\n o._name = r, o._keys = c, o._defaultValues = t;\n for (var l = 0; l < c.length; l++) {\n var h = c[l];\n f[h] = l, o[h] ? typeof console == \"object\" && console.warn && console.warn(\n \"Cannot define \" + ti(this) + ' with property \"' + h + '\" since that property name is part of the Record API.'\n ) : mp(o, h);\n }\n }\n return this.__ownerID = void 0, this._values = $t().withMutations(function(d) {\n d.setSize(u._keys.length), Ee(a).forEach(function(_, g) {\n d.set(u._indices[g], _ === u._defaultValues[g] ? void 0 : _);\n });\n }), this;\n }, o = i.prototype = Object.create(x);\n return o.constructor = i, r && (i.displayName = r), i;\n};\nre.prototype.toString = function() {\n for (var t = ti(this) + \" { \", r = this._keys, n, i = 0, o = r.length; i !== o; i++)\n n = r[i], t += (i ? \", \" : \"\") + n + \": \" + tr(this.get(n));\n return t + \" }\";\n};\nre.prototype.equals = function(t) {\n return this === t || ct(t) && At(this).equals(At(t));\n};\nre.prototype.hashCode = function() {\n return At(this).hashCode();\n};\nre.prototype.has = function(t) {\n return this._indices.hasOwnProperty(t);\n};\nre.prototype.get = function(t, r) {\n if (!this.has(t))\n return r;\n var n = this._indices[t], i = this._values.get(n);\n return i === void 0 ? this._defaultValues[t] : i;\n};\nre.prototype.set = function(t, r) {\n if (this.has(t)) {\n var n = this._values.set(\n this._indices[t],\n r === this._defaultValues[t] ? void 0 : r\n );\n if (n !== this._values && !this.__ownerID)\n return ei(this, n);\n }\n return this;\n};\nre.prototype.remove = function(t) {\n return this.set(t);\n};\nre.prototype.clear = function() {\n var t = this._values.clear().setSize(this._keys.length);\n return this.__ownerID ? this : ei(this, t);\n};\nre.prototype.wasAltered = function() {\n return this._values.wasAltered();\n};\nre.prototype.toSeq = function() {\n return At(this);\n};\nre.prototype.toJS = function() {\n return Pr(this);\n};\nre.prototype.entries = function() {\n return this.__iterator(Se);\n};\nre.prototype.__iterator = function(t, r) {\n return At(this).__iterator(t, r);\n};\nre.prototype.__iterate = function(t, r) {\n return At(this).__iterate(t, r);\n};\nre.prototype.__ensureOwner = function(t) {\n if (t === this.__ownerID)\n return this;\n var r = this._values.__ensureOwner(t);\n return t ? ei(this, r, t) : (this.__ownerID = t, this._values = r, this);\n};\nre.isRecord = ct;\nre.getDescriptiveName = ti;\nvar x = re.prototype;\nx[ns] = !0;\nx[sr] = x.remove;\nx.deleteIn = x.removeIn = Yn;\nx.getIn = js;\nx.hasIn = se.hasIn;\nx.merge = vs;\nx.mergeWith = ys;\nx.mergeIn = xn;\nx.mergeDeep = Ss;\nx.mergeDeepWith = bs;\nx.mergeDeepIn = Fn;\nx.setIn = qn;\nx.update = Un;\nx.updateIn = Bn;\nx.withMutations = fr;\nx.asMutable = cr;\nx.asImmutable = ur;\nx[Cr] = x.entries;\nx.toJSON = x.toObject = se.toObject;\nx.inspect = x.toSource = function() {\n return this.toString();\n};\nfunction ei(e, t, r) {\n var n = Object.create(Object.getPrototypeOf(e));\n return n._values = t, n.__ownerID = r, n;\n}\nfunction ti(e) {\n return e.constructor.displayName || e.constructor.name || \"Record\";\n}\nfunction At(e) {\n return Pn(e._keys.map(function(t) {\n return [t, e.get(t)];\n }));\n}\nfunction mp(e, t) {\n try {\n Object.defineProperty(e, t, {\n get: function() {\n return this.get(t);\n },\n set: function(r) {\n Jt(this.__ownerID, \"Cannot set on an immutable record.\"), this.set(t, r);\n }\n });\n } catch {\n }\n}\nclass qs {\n /**\n * The doctype name\n * @public\n * @readonly\n */\n doctype;\n /**\n * Alias for doctype (for DoctypeLike interface compatibility)\n * @public\n * @readonly\n */\n get name() {\n return this.doctype;\n }\n /**\n * The doctype schema\n * @public\n * @readonly\n */\n schema;\n /**\n * The doctype workflow\n * @public\n * @readonly\n */\n workflow;\n /**\n * The doctype actions and field triggers\n * @public\n * @readonly\n */\n actions;\n /**\n * The doctype component\n * @public\n * @readonly\n */\n component;\n /**\n * Relationship links to other doctypes\n * @public\n * @readonly\n */\n links;\n /**\n * Creates a new Doctype instance\n * @param doctype - The doctype name\n * @param schema - The doctype schema definition\n * @param workflow - The doctype workflow configuration (XState machine)\n * @param actions - The doctype actions and field triggers\n * @param component - Optional Vue component for rendering the doctype\n * @param links - Optional relationship links to other doctypes\n */\n constructor(t, r, n, i, o, s) {\n this.doctype = t, this.schema = r, this.workflow = n, this.actions = i, this.component = o, this.links = s;\n }\n /**\n * Creates a Doctype instance from a plain configuration object.\n * Handles conversion of arrays to Immutable.js collections internally.\n *\n * This is the recommended way to create a Doctype from API responses\n * or configuration files, as it encapsulates the Immutable.js construction\n * that the framework uses internally.\n *\n * @param config - Plain object with doctype configuration (typically from API response)\n * @returns A new Doctype instance with Immutable.js collections\n *\n * @example\n * ```ts\n * // From an API response\n * const response = await client.getMeta({ doctype: 'plan' })\n * const doctype = Doctype.fromObject(response)\n * registry.addDoctype(doctype)\n * ```\n *\n * @example\n * ```ts\n * // From a configuration object\n * const planDoctype = Doctype.fromObject({\n * name: 'Plan',\n * fields: [\n * { fieldname: 'title', label: 'Title', component: 'ATextInput' },\n * { fieldname: 'status', label: 'Status', component: 'ATextInput' },\n * ],\n * workflow: {\n * id: 'plan',\n * initial: 'draft',\n * states: { draft: {}, submitted: {} }\n * }\n * })\n * ```\n *\n * @public\n */\n static fromObject(t) {\n const r = t.fields?.map(Ko), n = r ? $t(r) : $t(), i = t.actions ? Qe(t.actions) : Qe();\n return new qs(t.name, n, t.workflow, i, void 0, t.links);\n }\n /**\n * Returns the raw authoring schema as a plain array.\n * For the resolved schema suitable for AForm, use `registry.resolveSchema(doctype)`.\n *\n * @returns Array of raw DoctypeField authoring definitions\n *\n * @example\n * ```ts\n * const fields = doctype.getSchemaArray()\n * // Pass to resolveSchema for AForm-ready output:\n * const resolved = registry.resolveSchema(doctype)\n * ```\n *\n * @public\n */\n getSchemaArray() {\n return this.schema ? this.schema.toArray() : [];\n }\n /**\n * Returns the actions as a plain object for use with components that expect\n * plain JavaScript objects.\n *\n * @returns Object mapping action names to field trigger arrays\n *\n * @public\n */\n getActionsObject() {\n return this.actions ? this.actions.toObject() : {};\n }\n /**\n * Returns the transitions available from a given workflow state, derived from the\n * doctype's workflow configuration. Supports both XState format and WorkflowMeta format.\n *\n * @param currentState - The state name to read transitions from\n * @returns Array of transition descriptors with `name` and `targetState`\n *\n * @example\n * ```ts\n * const transitions = doctype.getAvailableTransitions('draft')\n * // [{ name: 'SUBMIT', targetState: 'submitted' }]\n * ```\n *\n * @public\n */\n getAvailableTransitions(t) {\n const r = this.workflow;\n if (!r) return [];\n if (Array.isArray(r.states)) {\n if (!r.states.includes(t)) return [];\n const s = r.actions;\n return s ? Object.entries(s).filter(([, a]) => !a.stateless && Ii(a, t)).map(([a, u]) => ({\n name: a,\n targetState: u.nextState ?? t\n })) : [];\n }\n const n = r.states;\n if (!n) return [];\n const i = n[t];\n return i?.on ? Object.entries(i.on).map(([o, s]) => ({\n name: o,\n targetState: typeof s == \"string\" ? s : \"unknown\"\n })) : [];\n }\n /**\n * Returns the stateless **Commands** available in a given workflow state — side-effect\n * actions (save/print/email…) that do not change workflow state. Unlike transitions,\n * Commands may exist on a workflow that declares no `states` (a commands-only doctype),\n * and a Command with no `allowedStates` is available in every state.\n *\n * Only meaningful for WorkflowMeta format; XState workflows have no Commands.\n *\n * @param currentState - The record's current state, used to honor a Command's `allowedStates`\n * @returns Array of command descriptors with `name`\n *\n * @example\n * ```ts\n * const commands = doctype.getAvailableCommands('Draft')\n * // [{ name: 'Print' }]\n * ```\n *\n * @public\n */\n getAvailableCommands(t) {\n const r = this.workflow;\n if (!r) return [];\n const n = r.actions;\n return n ? Object.entries(n).filter(([, i]) => i.stateless === !0 && Ii(i, t ?? \"\")).map(([i]) => ({ name: i })) : [];\n }\n /**\n * Returns the field-validation **triggers** declared on this doctype's workflow (advisory,\n * client-side). Keyed by trigger name. Returns undefined when the workflow is absent, is an\n * XState machine (no triggers), or simply declares none.\n *\n * @returns The `workflow.triggers` map, or undefined\n *\n * @example\n * ```ts\n * const triggers = doctype.getTriggers()\n * // { dateOrder: { on: ['start_date', 'end_date'], clientHandler: '…' } }\n * ```\n *\n * @public\n */\n getTriggers() {\n const t = this.workflow;\n if (t)\n return t.triggers;\n }\n /**\n * Returns metadata for a specific action, if available.\n * Only works with WorkflowMeta format; returns undefined for XState format.\n *\n * @param actionName - The action name to get metadata for\n * @returns Action metadata or undefined\n *\n * @example\n * ```ts\n * const actionMeta = doctype.getActionMeta('submit')\n * // { label: 'Submit', allowedStates: ['draft'] }\n * ```\n *\n * @public\n */\n getActionMeta(t) {\n const r = this.workflow;\n return r ? r.actions?.[t] : void 0;\n }\n /**\n * Converts the registered doctype string to a slug (kebab-case). The following conversions are made:\n * - It replaces camelCase and PascalCase with kebab-case strings\n * - It replaces spaces and underscores with hyphens\n * - It converts the string to lowercase\n *\n * @returns The slugified doctype string\n *\n * @example\n * ```ts\n * const doctype = new Doctype('TaskItem', schema, workflow, actions)\n * console.log(doctype.slug) // 'task-item'\n * ```\n *\n * @public\n */\n get slug() {\n return this.doctype.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\n }\n}\nclass Kt {\n /**\n * The root Registry instance\n */\n static _root;\n /**\n * The name of the Registry instance\n *\n * @defaultValue 'Registry'\n */\n name = \"Registry\";\n /**\n * The registry property contains a collection of doctypes\n *\n * @defaultValue `{}`\n * @see {@link Doctype}\n */\n registry = {};\n /**\n * Reverse index: backlink fieldname → list of \\{ doctype slug, link fieldname \\}.\n * Multiple doctypes can declare a link with the same backlink name, so each key\n * maps to an array. Built at schema load time for O(1) ancestor lookups.\n *\n * @defaultValue `new Map()`\n * @internal\n */\n _ancestorIndex = /* @__PURE__ */ new Map();\n /**\n * Whether the ancestor index needs rebuilding\n *\n * @defaultValue `true`\n * @internal\n */\n _ancestorIndexDirty = !0;\n /**\n * The Vue router instance\n * @see {@link https://router.vuejs.org/}\n */\n router;\n /**\n * Creates a new Registry instance (singleton pattern)\n * @param router - Optional Vue router instance for route management\n * @param getMeta - Optional function to fetch doctype metadata from an API\n */\n constructor(t, r) {\n return Kt._root ? Kt._root : (Kt._root = this, this.router = t, this.getMeta = r, this);\n }\n /**\n * The getMeta function fetches doctype metadata from an API based on route context\n * @see {@link Doctype}\n */\n getMeta;\n /**\n * Get doctype metadata\n * @param doctype - The doctype to fetch metadata for\n * @returns The doctype metadata\n * @see {@link Doctype}\n */\n addDoctype(t) {\n t.slug in this.registry || (this.registry[t.slug] = t, this._ancestorIndexDirty = !0);\n const r = Le();\n r.registerDoctypeActions(t.doctype, t.actions), t.slug !== t.doctype && r.registerDoctypeActions(t.slug, t.actions), t.component && this.router && !this.router.hasRoute(t.doctype) && this.router.addRoute({\n path: `/${t.slug}`,\n name: t.slug,\n component: t.component\n });\n }\n /**\n * Resolve a Doctype's authoring schema into a rendered schema array suitable for AForm.\n *\n * Transforms `DoctypeField[]` (authoring space) → `ResolvedField[]` (rendering space):\n * - `kind: 'field'` (not Link) → `ResolvedScalar`\n * - `kind: 'field'` (Link, no declaration) → `ResolvedScalar` with `component: 'AFormLink'`\n * - `kind: 'field'` (Link, `noneOrMany`/`atLeastOne`) → `ResolvedTable`\n * - `kind: 'field'` (Link, `one`/`atMostOne`) → `ResolvedLink`\n * - `kind: 'fieldset'` → `ResolvedFieldset` (children resolved recursively)\n * - `kind: 'table'` → `ResolvedTable` (columns as `ColumnSchema[]`)\n *\n * Circular references are protected against via the `visited` set.\n *\n * @param doctype - The doctype to resolve\n * @param visited - Internal — set of already-visited doctype slugs for cycle detection\n * @returns A resolved schema array ready for AForm\n *\n * @public\n */\n resolveSchema(t, r) {\n const n = r ?? /* @__PURE__ */ new Set(), i = t.slug;\n if (n.has(i))\n return (t.schema ? t.schema.toArray() : []).filter((c) => c.kind === \"field\").map(({ cardinality: c, ...f }) => f);\n n.add(i);\n const o = t.schema ? t.schema.toArray() : [], s = /* @__PURE__ */ new Map();\n if (t.links)\n for (const [u, c] of Object.entries(t.links))\n s.set(c.fieldname ?? u, c);\n const a = this.resolveFields(o, s, n);\n return n.delete(i), a;\n }\n /**\n * Recursively resolve a `DoctypeField[]` using the provided link context.\n * Called by `resolveSchema` and recursively for fieldset children.\n * @internal\n */\n resolveFields(t, r, n) {\n const i = [];\n for (const o of t) {\n const s = o.kind === \"field\" ? r.get(o.fieldname) : void 0;\n if (o.kind === \"field\" && (s || o.doctype)) {\n const a = s, u = a?.target ?? o.doctype;\n if (!a || Ai(a, o.component) === \"inline\") {\n const { cardinality: g, ...m } = o;\n i.push({\n ...m,\n component: m.component || \"AFormLink\",\n ...u !== void 0 ? { doctype: u } : {}\n });\n continue;\n }\n const c = this.registry[a.target];\n if (!c) {\n const { cardinality: g, ...m } = o;\n i.push({ ...m });\n continue;\n }\n const f = this.resolveSchema(c, new Set(n)), { options: l, cardinality: h, kind: d, ..._ } = o;\n if (Ai(a, o.component) === \"table\")\n i.push(this.buildTableConfig(o, f, a.component));\n else {\n const g = {\n ..._,\n kind: \"link\",\n label: _.label || o.fieldname,\n component: a.component || _.component || \"AForm\",\n schema: f\n };\n i.push(g);\n }\n } else if (o.kind === \"fieldset\") {\n const a = this.resolveFields(o.schema, r, n), { schema: u, ...c } = o, f = {\n ...c,\n schema: a\n };\n i.push(f);\n } else if (o.kind === \"table\") {\n const { columns: a, config: u, ...c } = o, f = {\n ...c,\n kind: \"table\",\n component: c.component || \"ATable\",\n schema: a,\n config: u ?? { view: \"list\" }\n };\n i.push(f);\n } else {\n o.kind === \"field\" && $n(o.component) && console.warn(\n `[Stonecrop] Field \"${o.fieldname}\" renders with \"${o.component}\", which is a link component, but the field is not a link: it has no \\`doctype\\` and no \\`links\\` declaration. It will render as a plain field. Add \\`\"doctype\": \"<doctype-slug>\"\\` to the field definition.`\n );\n const { cardinality: a, ...u } = o;\n i.push({ ...u });\n }\n }\n return i;\n }\n /**\n * Build a `ResolvedTable` from a resolved Link field with many cardinality.\n * Extracts scalar column definitions from the child schema.\n * @internal\n */\n buildTableConfig(t, r, n) {\n const i = r.filter((c) => c.kind === \"field\").map(({ kind: c, ...f }) => f), o = t.config ?? { view: \"list\" }, { options: s, cardinality: a, ...u } = t;\n return {\n ...u,\n kind: \"table\",\n label: u.label || t.fieldname,\n component: n || u.component || \"ATable\",\n schema: i,\n config: o\n };\n }\n /**\n * Initialize a new record with default values based on a resolved schema.\n * Narrows by `kind` discriminator for precise branch selection.\n *\n * - `kind: 'table'` or `kind: 'link'` → `[]` or `{}`\n * - `kind: 'fieldset'` → recursively initializes children as `{}`\n * - `kind: 'field'` → derives the default from the component's category; falls back to `null`\n *\n * @param schema - The resolved schema array to derive defaults from\n * @returns A plain object with default values for each field\n * @public\n */\n initializeRecord(t) {\n const r = {};\n for (const n of t)\n if (n.kind === \"table\")\n r[n.fieldname] = [];\n else if (n.kind === \"link\")\n r[n.fieldname] = this.initializeRecord(n.schema);\n else if (n.kind === \"fieldset\")\n r[n.fieldname] = this.initializeRecord(n.schema);\n else {\n const i = n.default;\n if (i !== void 0)\n r[n.fieldname] = i;\n else {\n const o = bh(n.component);\n o === \"text\" ? r[n.fieldname] = \"\" : o === \"number\" ? r[n.fieldname] = 0 : o === \"boolean\" ? r[n.fieldname] = !1 : o === \"code\" && n.language ? r[n.fieldname] = n.language === \"json\" ? {} : \"\" : r[n.fieldname] = null;\n }\n }\n return r;\n }\n /**\n * Get a registered doctype by slug\n * @param slug - The doctype slug to look up\n * @returns The Doctype instance if found, or undefined\n * @public\n */\n getDoctype(t) {\n return this.registry[t];\n }\n /**\n * Get all links declared on a doctype.\n *\n * @param doctypeSlug - The doctype slug to get links for\n * @returns Array of link declarations with fieldname, or empty array if none\n *\n * @example\n * ```ts\n * const links = registry.getDescendantLinks('recipe')\n * // [{ fieldname: 'tasks', target: 'recipe-task', cardinality: 'noneOrMany', backlink: 'recipe' }]\n * ```\n *\n * @public\n */\n getDescendantLinks(t) {\n const r = this.registry[t];\n return r?.links ? Object.entries(r.links).map(\n ([n, i]) => Object.assign({}, i, {\n fieldname: n\n })\n ) : [];\n }\n /**\n * Get links on other doctypes that target the given doctype.\n *\n * @param doctypeSlug - The doctype slug to find ancestor links for\n * @returns Array of link declarations with fieldname and declaring doctype slug, or empty array\n *\n * @example\n * ```ts\n * const ancestors = registry.getAncestorLinks('recipe-task')\n * // [{ fieldname: 'tasks', target: 'recipe-task', cardinality: 'noneOrMany', backlink: 'recipe', doctype: 'recipe' }]\n * ```\n *\n * @public\n */\n getAncestorLinks(t) {\n this._ensureAncestorIndex();\n const r = [];\n for (const [n, i] of this._ancestorIndex)\n for (const { slug: o, fieldname: s } of i) {\n const a = this.registry[o];\n if (!a?.links) continue;\n const u = a.links[s];\n u?.target === t && r.push({\n ...u,\n fieldname: s,\n doctype: o\n });\n }\n return r;\n }\n /**\n * Ensure the ancestor index is up to date\n * @internal\n */\n _ensureAncestorIndex() {\n if (this._ancestorIndexDirty) {\n this._ancestorIndexDirty = !1, this._ancestorIndex.clear();\n for (const [t, r] of Object.entries(this.registry))\n if (r.links) {\n for (const [n, i] of Object.entries(r.links))\n if (i.backlink) {\n const o = this._ancestorIndex.get(i.backlink);\n o ? o.push({ slug: t, fieldname: n }) : this._ancestorIndex.set(i.backlink, [{ slug: t, fieldname: n }]);\n }\n }\n }\n }\n // TODO: should we allow clearing the registry at all?\n // clear() {\n // \tthis.registry = {}\n // \tif (this.router) {\n // \t\tconst routes = this.router.getRoutes()\n // \t\tfor (const route of routes) {\n // \t\t\tif (route.name) {\n // \t\t\t\tthis.router.removeRoute(route.name)\n // \t\t\t}\n // \t\t}\n // \t}\n // }\n}\nasync function vp(e, t, r) {\n await yn();\n try {\n await r(e, t);\n } catch {\n }\n}\nconst Np = {\n install: (e, t) => {\n const r = e.config.globalProperties.$router, n = t?.router, i = r || n;\n !r && n && e.use(n);\n const o = new Kt(i, t?.getMeta);\n e.provide(\"$registry\", o), e.config.globalProperties.$registry = o;\n const s = new Be(o);\n t?.client && s.setClient(t.client), e.provide(\"$stonecrop\", s), e.config.globalProperties.$stonecrop = s;\n try {\n const a = e.config.globalProperties.$pinia;\n if (a) {\n const u = or(a);\n e.provide(\"$operationLogStore\", u), e.config.globalProperties.$operationLogStore = u;\n }\n } catch (a) {\n console.warn(\"Pinia not available - operation log features will be disabled:\", a);\n }\n if (t?.components)\n for (const [a, u] of Object.entries(t.components))\n e.component(a, u);\n t?.autoInitializeRouter && t.onRouterInitialized && vp(o, s, t.onRouterInitialized);\n }\n}, Zp = io(\"stonecrop-validation\", () => {\n const e = K([]), t = te(() => e.value.length === 0), r = te(() => {\n const f = {};\n for (const l of e.value)\n f[l.field] || (f[l.field] = []), f[l.field].push(l.message);\n return f;\n });\n function n(f) {\n return e.value.filter((l) => l.field === f).map((l) => l.message);\n }\n function i(f, l, h) {\n e.value.push({ trigger: f, field: l, message: h });\n }\n function o(f) {\n e.value = e.value.filter((l) => l.trigger !== f);\n }\n function s() {\n e.value = [];\n }\n async function a(f, l, h, d) {\n o(f);\n const _ = Object.freeze({ ...h }), g = (m, E) => i(f, m, E);\n try {\n await Ys(l.clientHandler, { record: _, value: d, setError: g });\n } catch (m) {\n typeof console < \"u\" && console.error(\n `Validation trigger \"${f}\" threw and was ignored (advisory — save is not blocked). Fix its clientHandler:`,\n m\n );\n }\n }\n async function u(f, l, h) {\n const d = [];\n for (const [_, g] of Object.entries(f))\n g.on.includes(l) && d.push(a(_, g, h, h[l]));\n await Promise.all(d);\n }\n async function c(f, l) {\n await Promise.all(Object.entries(f).map(([h, d]) => a(h, d, l, void 0)));\n }\n return {\n errors: e,\n isValid: t,\n errorsByField: r,\n errorsFor: n,\n setError: i,\n clearTrigger: o,\n clearAll: s,\n validateField: u,\n validateRecord: c\n };\n});\nvar ee = /* @__PURE__ */ ((e) => (e.ERROR = \"error\", e.WARNING = \"warning\", e.INFO = \"info\", e))(ee || {});\nclass yp {\n options;\n /**\n * Creates a new SchemaValidator instance\n * @param options - Validator configuration options\n */\n constructor(t = {}) {\n this.options = {\n registry: t.registry || null,\n validateLinkTargets: t.validateLinkTargets ?? !0,\n validateLinks: t.validateLinks ?? !0,\n validateActions: t.validateActions ?? !0,\n validateWorkflows: t.validateWorkflows ?? !0,\n validateRequiredProperties: t.validateRequiredProperties ?? !0\n };\n }\n /**\n * Validates a complete doctype schema\n * @param doctype - Doctype name\n * @param schema - Schema fields (List or Array)\n * @param workflow - Optional workflow configuration\n * @param actions - Optional actions map\n * @param links - Optional links object\n * @returns Validation result\n */\n validate(t, r, n, i, o) {\n const s = [], a = r ? Array.isArray(r) ? r : r.toArray() : [];\n if (this.options.validateRequiredProperties && s.push(...this.validateRequiredProperties(t, a, o)), this.options.validateLinkTargets && this.options.registry && s.push(...this.validateLinkFields(t, a, this.options.registry)), this.options.validateLinks && this.options.registry && o && s.push(...this.validateLinkDeclarations(t, o, a, this.options.registry)), this.options.validateWorkflows && n && s.push(...this.validateWorkflow(t, n)), this.options.validateActions && i) {\n const l = i instanceof Map ? i : i.toObject();\n s.push(...this.validateActionRegistration(t, l));\n }\n const u = s.filter((l) => l.severity === ee.ERROR).length, c = s.filter((l) => l.severity === ee.WARNING).length, f = s.filter((l) => l.severity === ee.INFO).length;\n return {\n valid: u === 0,\n issues: s,\n errorCount: u,\n warningCount: c,\n infoCount: f\n };\n }\n /**\n * Validates that required schema properties are present\n * @internal\n */\n validateRequiredProperties(t, r, n) {\n const i = [];\n for (const o of r) {\n if (!o.fieldname) {\n i.push({\n severity: ee.ERROR,\n rule: \"required-fieldname\",\n message: \"Field is missing required property: fieldname\",\n doctype: t,\n context: { field: o }\n });\n continue;\n }\n o.kind === \"field\" && !o.component && i.push({\n severity: ee.ERROR,\n rule: \"required-component\",\n message: `Field \"${o.fieldname}\" must have a component property`,\n doctype: t,\n fieldname: o.fieldname\n }), o.kind === \"field\" && $n(o.component) && !o.doctype && !n?.[o.fieldname] && i.push({\n severity: ee.ERROR,\n rule: \"link-component-without-doctype\",\n message: `Field \"${o.fieldname}\" renders with \"${o.component}\", which is a link component, but has no \\`doctype\\` to name its target`,\n doctype: t,\n fieldname: o.fieldname\n }), o.kind === \"fieldset\" && i.push(...this.validateRequiredProperties(t, o.schema, n));\n }\n return i;\n }\n /**\n * Validates Link field targets exist in registry\n * @internal\n */\n validateLinkFields(t, r, n) {\n const i = [];\n for (const o of r) {\n if (o.kind === \"field\" && o.doctype) {\n const s = o.doctype;\n n.registry[s] || n.registry[s.toLowerCase()] || i.push({\n severity: ee.ERROR,\n rule: \"link-invalid-target\",\n message: `Link field \"${o.fieldname}\" references non-existent doctype: \"${s}\"`,\n doctype: t,\n fieldname: o.fieldname,\n context: { targetDoctype: s }\n });\n }\n o.kind === \"fieldset\" && i.push(...this.validateLinkFields(t, o.schema, n));\n }\n return i;\n }\n /**\n * Validates link declarations: target resolution, backlink consistency, Link field correspondence\n * @internal\n */\n validateLinkDeclarations(t, r, n, i) {\n const o = [], s = /* @__PURE__ */ new Map();\n for (const a of n)\n a.kind === \"field\" && a.doctype && s.set(a.fieldname, a);\n for (const [a, u] of Object.entries(r)) {\n const c = i.registry[u.target];\n if (!c) {\n o.push({\n severity: ee.ERROR,\n rule: \"link-invalid-target\",\n message: `Link \"${a}\" references non-existent doctype: \"${u.target}\"`,\n doctype: t,\n fieldname: a,\n context: { target: u.target }\n });\n continue;\n }\n if (u.target === t && o.push({\n severity: ee.WARNING,\n rule: \"link-self-referential\",\n message: `Link \"${a}\" is self-referential (target: \"${u.target}\")`,\n doctype: t,\n fieldname: a,\n context: { target: u.target }\n }), u.backlink && c.links) {\n const f = c.links[u.backlink];\n f ? f.target !== t && o.push({\n severity: ee.WARNING,\n rule: \"link-backlink-mismatch\",\n message: `Backlink \"${u.backlink}\" on \"${u.target}\" points to \"${f.target}\" instead of \"${t}\"`,\n doctype: t,\n fieldname: a,\n context: { backlink: u.backlink, target: u.target, actualTarget: f.target }\n }) : o.push({\n severity: ee.ERROR,\n rule: \"link-backlink-missing\",\n message: `Backlink \"${u.backlink}\" not found on target doctype \"${u.target}\"`,\n doctype: t,\n fieldname: a,\n context: { backlink: u.backlink, target: u.target }\n });\n }\n if (u.fieldname) {\n const f = s.get(u.fieldname);\n if (f && f.kind === \"field\") {\n const l = f.doctype;\n l && l !== u.target && o.push({\n severity: ee.ERROR,\n rule: \"link-field-target-mismatch\",\n message: `Link field \"${u.fieldname}\" targets \"${l}\" but link declaration targets \"${u.target}\"`,\n doctype: t,\n fieldname: u.fieldname,\n context: { linkFieldTarget: l, linkTarget: u.target }\n });\n }\n }\n }\n return o;\n }\n /**\n * Validates workflow state machine configuration\n * @internal\n */\n validateWorkflow(t, r) {\n const n = [];\n if (!r.initial && !r.type && n.push({\n severity: ee.WARNING,\n rule: \"workflow-missing-initial\",\n message: \"Workflow is missing initial state property\",\n doctype: t\n }), !r.states || Object.keys(r.states).length === 0)\n return n.push({\n severity: ee.WARNING,\n rule: \"workflow-no-states\",\n message: \"Workflow has no states defined\",\n doctype: t\n }), n;\n r.initial && typeof r.initial == \"string\" && !r.states[r.initial] && n.push({\n severity: ee.ERROR,\n rule: \"workflow-invalid-initial\",\n message: `Workflow initial state \"${r.initial}\" does not exist in states`,\n doctype: t,\n context: { initialState: r.initial }\n });\n const i = Object.keys(r.states), o = /* @__PURE__ */ new Set();\n r.initial && typeof r.initial == \"string\" && o.add(r.initial);\n for (const [s, a] of Object.entries(r.states)) {\n const u = a;\n if (u.on) {\n for (const [c, f] of Object.entries(u.on))\n if (typeof f == \"string\")\n o.add(f);\n else if (f && typeof f == \"object\") {\n const l = \"target\" in f ? f.target : void 0;\n typeof l == \"string\" ? o.add(l) : Array.isArray(l) && l.forEach((h) => {\n typeof h == \"string\" && o.add(h);\n });\n }\n }\n }\n for (const s of i)\n o.has(s) || n.push({\n severity: ee.WARNING,\n rule: \"workflow-unreachable-state\",\n message: `Workflow state \"${s}\" may not be reachable`,\n doctype: t,\n context: { stateName: s }\n });\n return n;\n }\n /**\n * Validates that actions are registered in the FieldTriggerEngine\n * @internal\n */\n validateActionRegistration(t, r) {\n const n = [], i = Le();\n for (const [o, s] of Object.entries(r)) {\n if (!Array.isArray(s)) {\n n.push({\n severity: ee.ERROR,\n rule: \"action-invalid-format\",\n message: `Action configuration for \"${o}\" must be an array`,\n doctype: t,\n context: { triggerName: o, actionNames: s }\n });\n continue;\n }\n for (const a of s) {\n const u = i;\n u.globalActions?.has(a) || u.globalTransitionActions?.has(a) || n.push({\n severity: ee.WARNING,\n rule: \"action-not-registered\",\n message: `Action \"${a}\" referenced in \"${o}\" is not registered in FieldTriggerEngine`,\n doctype: t,\n context: { triggerName: o, actionName: a }\n });\n }\n }\n return n;\n }\n}\nfunction wp(e, t) {\n return new yp({\n registry: e,\n ...t\n });\n}\nfunction Mp(e, t, r, n, i) {\n return wp(r).validate(e, t, n, i);\n}\nexport {\n qs as Doctype,\n Wt as FieldTriggerEngine,\n _t as HST,\n Kt as Registry,\n yp as SchemaValidator,\n Be as Stonecrop,\n ee as ValidationSeverity,\n ya as createHST,\n wp as createValidator,\n Np as default,\n Ys as executeClientHandler,\n Le as getGlobalTriggerEngine,\n Ip as getStonecrop,\n Ep as markOperationIrreversible,\n zp as registerGlobalAction,\n kp as registerTransitionAction,\n Op as setFieldRollback,\n $p as triggerTransition,\n Ap as useLazyLink,\n uo as useOperationLog,\n or as useOperationLogStore,\n Rp as useStonecrop,\n Tp as useUndoRedoShortcuts,\n Zp as useValidationStore,\n Mp as validateSchema,\n Pp as withBatch\n};\n//# sourceMappingURL=stonecrop.js.map\n","import { defineComponent as ne, useTemplateRef as we, ref as L, computed as D, onMounted as Le, openBlock as y, createElementBlock as k, unref as P, normalizeClass as ie, normalizeStyle as Ce, createBlock as me, resolveDynamicComponent as Ne, mergeProps as at, toDisplayString as H, createElementVNode as h, withModifiers as te, withDirectives as j, Fragment as z, renderList as ge, vShow as pe, createCommentVNode as Z, renderSlot as Te, createTextVNode as It, watch as oe, onBeforeUnmount as hn, nextTick as st, toValue as V, shallowRef as ye, getCurrentScope as Tt, onScopeDispose as $t, reactive as rt, vModelText as he, vModelCheckbox as Kt, vModelSelect as Xt, getCurrentInstance as Dt, watchEffect as Ct, useCssVars as pn, onUnmounted as gn, useModel as Me, inject as wt, createVNode as je, withCtx as qt, mergeModels as be, isRef as yn, toRefs as wn, customRef as At, toRef as Yt, readonly as St, withKeys as se, provide as bn } from \"vue\";\nimport { defineStore as xn } from \"pinia\";\nimport './assets/index.css';function bt(e) {\n return Function(`\"use strict\"; return (${e})`)();\n}\nfunction Qt(e, t) {\n return Tt() ? ($t(e, t), !0) : !1;\n}\nconst kn = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Mn = (e) => e != null, In = Object.prototype.toString, Tn = (e) => In.call(e) === \"[object Object]\", $n = () => {\n};\nfunction Je(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction Dn(e, t, o) {\n return oe(e, t, {\n ...o,\n immediate: !0\n });\n}\nconst Ge = kn ? window : void 0;\nfunction Ze(e) {\n var t;\n const o = V(e);\n return (t = o?.$el) !== null && t !== void 0 ? t : o;\n}\nfunction ze(...e) {\n const t = (a, n, l, s) => (a.addEventListener(n, l, s), () => a.removeEventListener(n, l, s)), o = D(() => {\n const a = Je(V(e[0])).filter((n) => n != null);\n return a.every((n) => typeof n != \"string\") ? a : void 0;\n });\n return Dn(() => {\n var a, n;\n return [\n (a = (n = o.value) === null || n === void 0 ? void 0 : n.map((l) => Ze(l))) !== null && a !== void 0 ? a : [Ge].filter((l) => l != null),\n Je(V(o.value ? e[1] : e[0])),\n Je(P(o.value ? e[2] : e[1])),\n V(o.value ? e[3] : e[2])\n ];\n }, ([a, n, l, s], d, r) => {\n if (!a?.length || !n?.length || !l?.length) return;\n const i = Tn(s) ? { ...s } : s, p = a.flatMap((v) => n.flatMap((b) => l.map((x) => t(v, b, x, i))));\n r(() => {\n p.forEach((v) => v());\n });\n }, { flush: \"post\" });\n}\n// @__NO_SIDE_EFFECTS__\nfunction Cn() {\n const e = ye(!1), t = Dt();\n return t && Le(() => {\n e.value = !0;\n }, t), e;\n}\n// @__NO_SIDE_EFFECTS__\nfunction An(e) {\n const t = /* @__PURE__ */ Cn();\n return D(() => (t.value, !!e()));\n}\nfunction Sn(e, t, o = {}) {\n const { window: a = Ge, ...n } = o;\n let l;\n const s = /* @__PURE__ */ An(() => a && \"MutationObserver\" in a), d = () => {\n l && (l.disconnect(), l = void 0);\n }, r = oe(D(() => {\n const v = Je(V(e)).map(Ze).filter(Mn);\n return new Set(v);\n }), (v) => {\n d(), s.value && v.size && (l = new MutationObserver(t), v.forEach((b) => l.observe(b, n)));\n }, {\n immediate: !0,\n flush: \"post\"\n }), i = () => l?.takeRecords(), p = () => {\n r(), d();\n };\n return Qt(p), {\n isSupported: s,\n stop: p,\n takeRecords: i\n };\n}\nfunction Ln(e, t, o = {}) {\n const { window: a = Ge, document: n = a?.document, flush: l = \"sync\" } = o;\n if (!a || !n) return $n;\n let s;\n const d = (p) => {\n s?.(), s = p;\n }, r = Ct(() => {\n const p = Ze(e);\n if (p) {\n const { stop: v } = Sn(n, (b) => {\n b.map((x) => [...x.removedNodes]).flat().some((x) => x === p || x.contains(p)) && t(b);\n }, {\n window: a,\n childList: !0,\n subtree: !0\n });\n d(v);\n }\n }, { flush: l }), i = () => {\n r(), d();\n };\n return Qt(i), i;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Rn(e = {}) {\n var t;\n const { window: o = Ge, deep: a = !0, triggerOnRemoval: n = !1 } = e, l = (t = e.document) !== null && t !== void 0 ? t : o?.document, s = () => {\n let i = l?.activeElement;\n if (a)\n for (var p; i?.shadowRoot; ) i = i == null || (p = i.shadowRoot) === null || p === void 0 ? void 0 : p.activeElement;\n return i;\n }, d = ye(), r = () => {\n d.value = s();\n };\n if (o) {\n const i = {\n capture: !0,\n passive: !0\n };\n ze(o, \"blur\", (p) => {\n p.relatedTarget === null && r();\n }, i), ze(o, \"focus\", r, i);\n }\n return n && Ln(d, r, { document: l }), r(), d;\n}\nconst En = \"focusin\", Hn = \"focusout\", Bn = \":focus-within\";\nfunction Vn(e, t = {}) {\n const { window: o = Ge } = t, a = D(() => Ze(e)), n = ye(!1), l = D(() => n.value);\n if (!o || !(/* @__PURE__ */ Rn(t)).value) return { focused: l };\n const s = { passive: !0 };\n return ze(a, En, () => n.value = !0, s), ze(a, Hn, () => {\n var d, r, i;\n return n.value = (d = (r = a.value) === null || r === void 0 || (i = r.matches) === null || i === void 0 ? void 0 : i.call(r, Bn)) !== null && d !== void 0 ? d : !1;\n }, s), { focused: l };\n}\nfunction Fn(e, { window: t = Ge, scrollTarget: o } = {}) {\n const a = L(!1), n = () => {\n if (!t) return;\n const l = t.document, s = Ze(e);\n if (!s)\n a.value = !1;\n else {\n const d = s.getBoundingClientRect();\n a.value = d.top <= (t.innerHeight || l.documentElement.clientHeight) && d.left <= (t.innerWidth || l.documentElement.clientWidth) && d.bottom >= 0 && d.right >= 0;\n }\n };\n return oe(\n () => Ze(e),\n () => n(),\n { immediate: !0, flush: \"post\" }\n ), t && ze(o || t, \"scroll\", n, {\n capture: !1,\n passive: !0\n }), a;\n}\nconst Re = (e) => {\n let t = Fn(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, Ee = (e) => e.tabIndex >= 0, Nt = (e) => {\n if (e.target instanceof HTMLElement)\n return Lt(e.target);\n}, Lt = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const o = e.parentElement?.previousElementSibling;\n if (o instanceof HTMLTableRowElement) {\n const a = Array.from(o.children)[e.cellIndex];\n a instanceof HTMLElement && (t = a);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.previousElementSibling;\n o instanceof HTMLTableRowElement && (t = o);\n }\n return t && (!Ee(t) || !Re(t)) ? Lt(t) : t;\n}, Pn = (e) => {\n if (!(e.target instanceof HTMLElement)) return;\n const t = e.target;\n let o;\n if (t instanceof HTMLTableCellElement) {\n const a = t.parentElement?.parentElement;\n if (a) {\n const n = a.firstElementChild?.children[t.cellIndex];\n n instanceof HTMLElement && (o = n);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const a = t.parentElement;\n if (a) {\n const n = a.firstElementChild;\n n instanceof HTMLTableRowElement && (o = n);\n }\n }\n return o && (!Ee(o) || !Re(o)) ? Rt(o) : o;\n}, Ot = (e) => {\n if (e.target instanceof HTMLElement)\n return Rt(e.target);\n}, Rt = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const o = e.parentElement?.nextElementSibling;\n if (o) {\n const a = Array.from(o.children)[e.cellIndex];\n a instanceof HTMLElement && (t = a);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.nextElementSibling;\n o instanceof HTMLTableRowElement && (t = o);\n }\n return t && (!Ee(t) || !Re(t)) ? Rt(t) : t;\n}, _n = (e) => {\n if (!(e.target instanceof HTMLElement)) return;\n const t = e.target;\n let o;\n if (t instanceof HTMLTableCellElement) {\n const a = t.parentElement?.parentElement;\n if (a) {\n const n = a.lastElementChild?.children[t.cellIndex];\n n instanceof HTMLElement && (o = n);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const a = t.parentElement;\n if (a) {\n const n = a.lastElementChild;\n n instanceof HTMLTableRowElement && (o = n);\n }\n }\n return o && (!Ee(o) || !Re(o)) ? Lt(o) : o;\n}, Ut = (e) => {\n if (e.target instanceof HTMLElement)\n return Et(e.target);\n}, Et = (e) => {\n let t;\n const o = e.previousElementSibling;\n if (o instanceof HTMLElement)\n t = o;\n else {\n const a = e.parentElement?.previousElementSibling?.lastElementChild;\n a instanceof HTMLElement && (t = a);\n }\n return t && (!Ee(t) || !Re(t)) ? Et(t) : t;\n}, Zt = (e) => {\n if (e.target instanceof HTMLElement)\n return Ht(e.target);\n}, Ht = (e) => {\n let t;\n const o = e.nextElementSibling;\n if (o instanceof HTMLElement)\n t = o;\n else {\n const a = e.parentElement?.nextElementSibling?.firstElementChild;\n a instanceof HTMLElement && (t = a);\n }\n return t && (!Ee(t) || !Re(t)) ? Ht(t) : t;\n}, Gt = (e) => {\n if (!(e.target instanceof HTMLElement)) return;\n const t = e.target.parentElement?.firstElementChild, o = t instanceof HTMLElement ? t : null;\n return o && (!Ee(o) || !Re(o)) ? Ht(o) : o;\n}, Wt = (e) => {\n if (!(e.target instanceof HTMLElement)) return;\n const t = e.target.parentElement?.lastElementChild, o = t instanceof HTMLElement ? t : null;\n return o && (!Ee(o) || !Re(o)) ? Et(o) : o;\n}, Xe = [\"alt\", \"control\", \"shift\", \"meta\"], qn = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, nt = {\n \"keydown.up\": (e) => {\n const t = Nt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = Ot(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = Ut(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = Zt(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = Pn(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = _n(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = Gt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = Wt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = Wt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.enter\": (e) => {\n if (e.target instanceof HTMLElement && e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = Ot(e);\n t && t.focus();\n }\n },\n \"keydown.shift.enter\": (e) => {\n if (e.target instanceof HTMLElement && e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = Nt(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = Gt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = Zt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = Ut(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction ut(e) {\n let t = null;\n return e.parent && (typeof e.parent == \"string\" ? t = document.querySelector(e.parent) : e.parent instanceof HTMLElement ? t = e.parent : t = e.parent.value), t;\n}\nfunction Jt(e) {\n const t = (l) => {\n const s = ut(l);\n let d = [];\n if (typeof l.selectors == \"string\")\n d = Array.from(s ? s.querySelectorAll(l.selectors) : document.querySelectorAll(l.selectors));\n else if (Array.isArray(l.selectors))\n for (const r of l.selectors)\n r instanceof HTMLElement ? d.push(r) : d.push(r.$el);\n else if (l.selectors instanceof HTMLElement)\n d.push(l.selectors);\n else if (l.selectors?.value)\n if (Array.isArray(l.selectors.value))\n for (const r of l.selectors.value)\n r instanceof HTMLElement ? d.push(r) : d.push(r.$el);\n else\n d.push(l.selectors.value);\n return d;\n }, o = (l) => {\n const s = ut(l);\n let d = [];\n return l.selectors ? d = t(l) : s && (d = Array.from(s.children).filter((r) => r instanceof HTMLElement).filter((r) => Ee(r) && Re(r))), d;\n }, a = (l) => (s) => {\n const d = qn[s.key] || s.key.toLowerCase();\n if (Xe.includes(d)) return;\n const r = l.handlers || nt;\n for (const i of Object.keys(r)) {\n const [p, ...v] = i.split(\".\");\n if (p === \"keydown\" && v.includes(d)) {\n const b = r[i], x = v.filter((g) => Xe.includes(g)), m = Xe.some((g) => {\n const u = g.charAt(0).toUpperCase() + g.slice(1);\n return s.getModifierState(u);\n });\n if (x.length > 0) {\n if (m) {\n for (const g of Xe)\n if (v.includes(g)) {\n const u = g.charAt(0).toUpperCase() + g.slice(1);\n s.getModifierState(u) && b(s);\n }\n }\n } else\n m || b(s);\n }\n }\n }, n = [];\n Le(() => {\n for (const l of e) {\n const s = ut(l), d = o(l), r = a(l), i = s ? [s] : d;\n for (const p of i) {\n const { focused: v } = Vn(L(p)), b = oe(v, (x) => {\n x ? p.addEventListener(\"keydown\", r) : p.removeEventListener(\"keydown\", r);\n });\n n.push(b);\n }\n }\n }), hn(() => {\n for (const l of n)\n l();\n });\n}\nfunction Bt(e, t) {\n return Tt() ? ($t(e, t), !0) : !1;\n}\nconst en = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Nn = (e) => e != null, On = Object.prototype.toString, Un = (e) => On.call(e) === \"[object Object]\", qe = () => {\n};\nfunction Zn(...e) {\n if (e.length !== 1) return Yt(...e);\n const t = e[0];\n return typeof t == \"function\" ? St(At(() => ({\n get: t,\n set: qe\n }))) : L(t);\n}\nfunction Gn(e, t) {\n function o(...a) {\n return new Promise((n, l) => {\n Promise.resolve(e(() => t.apply(this, a), {\n fn: t,\n thisArg: this,\n args: a\n })).then(n).catch(l);\n });\n }\n return o;\n}\nfunction Wn(e, t = {}) {\n let o, a, n = qe;\n const l = (d) => {\n clearTimeout(d), n(), n = qe;\n };\n let s;\n return (d) => {\n const r = V(e), i = V(t.maxWait);\n return o && l(o), r <= 0 || i !== void 0 && i <= 0 ? (a && (l(a), a = void 0), Promise.resolve(d())) : new Promise((p, v) => {\n n = t.rejectOnCancel ? v : p, s = d, i && !a && (a = setTimeout(() => {\n o && l(o), a = void 0, p(s());\n }, i)), o = setTimeout(() => {\n a && l(a), a = void 0, p(d());\n }, r);\n });\n };\n}\nfunction et(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction jn(e) {\n return Dt();\n}\n// @__NO_SIDE_EFFECTS__\nfunction zn(e, t = 200, o = {}) {\n return Gn(Wn(t, o), e);\n}\nfunction Kn(e, t = {}) {\n if (!yn(e)) return wn(e);\n const o = Array.isArray(e.value) ? Array.from({ length: e.value.length }) : {};\n for (const a in e.value) o[a] = At(() => ({\n get() {\n return e.value[a];\n },\n set(n) {\n var l;\n if (!((l = V(t.replaceRef)) !== null && l !== void 0) || l) if (Array.isArray(e.value)) {\n const s = [...e.value];\n s[a] = n, e.value = s;\n } else {\n const s = {\n ...e.value,\n [a]: n\n };\n Object.setPrototypeOf(s, Object.getPrototypeOf(e.value)), e.value = s;\n }\n else e.value[a] = n;\n }\n }));\n return o;\n}\nfunction Xn(e, t = !0, o) {\n jn() ? Le(e, o) : t ? e() : st(e);\n}\nfunction Yn(e, t, o) {\n return oe(e, t, {\n ...o,\n immediate: !0\n });\n}\nconst Ke = en ? window : void 0;\nfunction De(e) {\n var t;\n const o = V(e);\n return (t = o?.$el) !== null && t !== void 0 ? t : o;\n}\nfunction Fe(...e) {\n const t = (a, n, l, s) => (a.addEventListener(n, l, s), () => a.removeEventListener(n, l, s)), o = D(() => {\n const a = et(V(e[0])).filter((n) => n != null);\n return a.every((n) => typeof n != \"string\") ? a : void 0;\n });\n return Yn(() => {\n var a, n;\n return [\n (a = (n = o.value) === null || n === void 0 ? void 0 : n.map((l) => De(l))) !== null && a !== void 0 ? a : [Ke].filter((l) => l != null),\n et(V(o.value ? e[1] : e[0])),\n et(P(o.value ? e[2] : e[1])),\n V(o.value ? e[3] : e[2])\n ];\n }, ([a, n, l, s], d, r) => {\n if (!a?.length || !n?.length || !l?.length) return;\n const i = Un(s) ? { ...s } : s, p = a.flatMap((v) => n.flatMap((b) => l.map((x) => t(v, b, x, i))));\n r(() => {\n p.forEach((v) => v());\n });\n }, { flush: \"post\" });\n}\nfunction xt(e, t, o = {}) {\n const { window: a = Ke, ignore: n = [], capture: l = !0, detectIframe: s = !1, controls: d = !1 } = o;\n if (!a) return d ? {\n stop: qe,\n cancel: qe,\n trigger: qe\n } : qe;\n let r = !0;\n const i = (u) => V(n).some((c) => {\n if (typeof c == \"string\") return Array.from(a.document.querySelectorAll(c)).some((T) => T === u.target || u.composedPath().includes(T));\n {\n const T = De(c);\n return T && (u.target === T || u.composedPath().includes(T));\n }\n });\n function p(u) {\n const c = V(u);\n return c && c.$.subTree.shapeFlag === 16;\n }\n function v(u, c) {\n const T = V(u), C = T.$.subTree && T.$.subTree.children;\n return C == null || !Array.isArray(C) ? !1 : C.some((I) => I.el === c.target || c.composedPath().includes(I.el));\n }\n const b = (u) => {\n const c = De(e);\n if (u.target != null && !(!(c instanceof Element) && p(e) && v(e, u)) && !(!c || c === u.target || u.composedPath().includes(c))) {\n if (\"detail\" in u && u.detail === 0 && (r = !i(u)), !r) {\n r = !0;\n return;\n }\n t(u);\n }\n };\n let x = !1;\n const m = [\n Fe(a, \"click\", (u) => {\n x || (x = !0, setTimeout(() => {\n x = !1;\n }, 0), b(u));\n }, {\n passive: !0,\n capture: l\n }),\n Fe(a, \"pointerdown\", (u) => {\n const c = De(e);\n r = !i(u) && !!(c && !u.composedPath().includes(c));\n }, { passive: !0 }),\n s && Fe(a, \"blur\", (u) => {\n setTimeout(() => {\n var c;\n const T = De(e);\n ((c = a.document.activeElement) === null || c === void 0 ? void 0 : c.tagName) === \"IFRAME\" && !T?.contains(a.document.activeElement) && t(u);\n }, 0);\n }, { passive: !0 })\n ].filter(Boolean), g = () => m.forEach((u) => u());\n return d ? {\n stop: g,\n cancel: () => {\n r = !1;\n },\n trigger: (u) => {\n r = !0, b(u), r = !1;\n }\n } : g;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Qn() {\n const e = ye(!1), t = Dt();\n return t && Le(() => {\n e.value = !0;\n }, t), e;\n}\n// @__NO_SIDE_EFFECTS__\nfunction tn(e) {\n const t = /* @__PURE__ */ Qn();\n return D(() => (t.value, !!e()));\n}\nfunction nn(e, t, o = {}) {\n const { window: a = Ke, ...n } = o;\n let l;\n const s = /* @__PURE__ */ tn(() => a && \"MutationObserver\" in a), d = () => {\n l && (l.disconnect(), l = void 0);\n }, r = oe(D(() => {\n const v = et(V(e)).map(De).filter(Nn);\n return new Set(v);\n }), (v) => {\n d(), s.value && v.size && (l = new MutationObserver(t), v.forEach((b) => l.observe(b, n)));\n }, {\n immediate: !0,\n flush: \"post\"\n }), i = () => l?.takeRecords(), p = () => {\n r(), d();\n };\n return Bt(p), {\n isSupported: s,\n stop: p,\n takeRecords: i\n };\n}\nconst Ye = {\n speed: 2,\n margin: 30,\n direction: \"both\"\n};\nfunction Jn(e) {\n e.scrollLeft > e.scrollWidth - e.clientWidth && (e.scrollLeft = Math.max(0, e.scrollWidth - e.clientWidth)), e.scrollTop > e.scrollHeight - e.clientHeight && (e.scrollTop = Math.max(0, e.scrollHeight - e.clientHeight));\n}\nfunction dt(e, t = {}) {\n var o, a, n, l;\n const { pointerTypes: s, preventDefault: d, stopPropagation: r, exact: i, onMove: p, onEnd: v, onStart: b, initialValue: x, axis: m = \"both\", draggingElement: g = Ke, containerElement: u, handle: c = e, buttons: T = [0], restrictInView: C, autoScroll: I = !1 } = t, M = L((o = V(x)) !== null && o !== void 0 ? o : {\n x: 0,\n y: 0\n }), S = L(), _ = (B) => s ? s.includes(B.pointerType) : !0, E = (B) => {\n V(d) && B.preventDefault(), V(r) && B.stopPropagation();\n }, F = V(I), X = typeof F == \"object\" ? {\n speed: (a = V(F.speed)) !== null && a !== void 0 ? a : Ye.speed,\n margin: (n = V(F.margin)) !== null && n !== void 0 ? n : Ye.margin,\n direction: (l = F.direction) !== null && l !== void 0 ? l : Ye.direction\n } : Ye, Q = (B) => typeof B == \"number\" ? [B, B] : [B.x, B.y], le = (B, $, R) => {\n const { clientWidth: U, clientHeight: q, scrollLeft: re, scrollTop: Se, scrollWidth: Ve, scrollHeight: O } = B, [G, Y] = Q(X.margin), [ae, ce] = Q(X.speed);\n let de = 0, ve = 0;\n (X.direction === \"x\" || X.direction === \"both\") && (R.x < G && re > 0 ? de = -ae : R.x + $.width > U - G && re < Ve - U && (de = ae)), (X.direction === \"y\" || X.direction === \"both\") && (R.y < Y && Se > 0 ? ve = -ce : R.y + $.height > q - Y && Se < O - q && (ve = ce)), (de || ve) && B.scrollBy({\n left: de,\n top: ve,\n behavior: \"auto\"\n });\n };\n let ue = null;\n const $e = () => {\n const B = V(u);\n B && !ue && (ue = setInterval(() => {\n const $ = V(e).getBoundingClientRect(), { x: R, y: U } = M.value, q = {\n x: R - B.scrollLeft,\n y: U - B.scrollTop\n };\n q.x >= 0 && q.y >= 0 && (le(B, $, q), q.x += B.scrollLeft, q.y += B.scrollTop, M.value = q);\n }, 1e3 / 60));\n }, Ie = () => {\n ue && (clearInterval(ue), ue = null);\n }, He = (B, $, R, U) => {\n const [q, re] = typeof R == \"number\" ? [R, R] : [R.x, R.y], { clientWidth: Se, clientHeight: Ve } = $;\n return B.x < q || B.x + U.width > Se - q || B.y < re || B.y + U.height > Ve - re;\n }, Be = () => {\n if (V(t.disabled) || !S.value) return;\n const B = V(u);\n if (!B) return;\n const $ = V(e).getBoundingClientRect(), { x: R, y: U } = M.value;\n He({\n x: R - B.scrollLeft,\n y: U - B.scrollTop\n }, B, X.margin, $) ? $e() : Ie();\n };\n V(I) && oe(M, Be);\n const Pe = (B) => {\n var $;\n if (!V(T).includes(B.button) || V(t.disabled) || !_(B) || V(i) && B.target !== V(e)) return;\n const R = V(u), U = R == null || ($ = R.getBoundingClientRect) === null || $ === void 0 ? void 0 : $.call(R), q = V(e).getBoundingClientRect(), re = {\n x: B.clientX - (R ? q.left - U.left + (I ? 0 : R.scrollLeft) : q.left),\n y: B.clientY - (R ? q.top - U.top + (I ? 0 : R.scrollTop) : q.top)\n };\n b?.(re, B) !== !1 && (S.value = re, E(B));\n }, fe = (B) => {\n if (V(t.disabled) || !_(B) || !S.value) return;\n const $ = V(u);\n $ instanceof HTMLElement && Jn($);\n const R = V(e).getBoundingClientRect();\n let { x: U, y: q } = M.value;\n if ((m === \"x\" || m === \"both\") && (U = B.clientX - S.value.x, $ && (U = Math.min(Math.max(0, U), $.scrollWidth - R.width))), (m === \"y\" || m === \"both\") && (q = B.clientY - S.value.y, $ && (q = Math.min(Math.max(0, q), $.scrollHeight - R.height))), V(I) && $ && (ue === null && le($, R, {\n x: U,\n y: q\n }), U += $.scrollLeft, q += $.scrollTop), $ && (C || I)) {\n if (m !== \"y\") {\n const re = U - $.scrollLeft;\n re < 0 ? U = $.scrollLeft : re > $.clientWidth - R.width && (U = $.clientWidth - R.width + $.scrollLeft);\n }\n if (m !== \"x\") {\n const re = q - $.scrollTop;\n re < 0 ? q = $.scrollTop : re > $.clientHeight - R.height && (q = $.clientHeight - R.height + $.scrollTop);\n }\n }\n M.value = {\n x: U,\n y: q\n }, p?.(M.value, B), E(B);\n }, Ae = (B) => {\n V(t.disabled) || !_(B) || S.value && (S.value = void 0, I && Ie(), v?.(M.value, B), E(B));\n };\n if (en) {\n const B = () => {\n var $;\n return {\n capture: ($ = t.capture) !== null && $ !== void 0 ? $ : !0,\n passive: !V(d)\n };\n };\n Fe(c, \"pointerdown\", Pe, B), Fe(g, \"pointermove\", fe, B), Fe(g, \"pointerup\", Ae, B);\n }\n return {\n ...Kn(M),\n position: M,\n isDragging: D(() => !!S.value),\n style: D(() => `\n left: ${M.value.x}px;\n top: ${M.value.y}px;\n ${I ? \"text-wrap: nowrap;\" : \"\"}\n `)\n };\n}\nfunction ot(e, t, o = {}) {\n const { window: a = Ke, ...n } = o;\n let l;\n const s = /* @__PURE__ */ tn(() => a && \"ResizeObserver\" in a), d = () => {\n l && (l.disconnect(), l = void 0);\n }, r = oe(D(() => {\n const p = V(e);\n return Array.isArray(p) ? p.map((v) => De(v)) : [De(p)];\n }), (p) => {\n if (d(), s.value && a) {\n l = new ResizeObserver(t);\n for (const v of p) v && l.observe(v, n);\n }\n }, {\n immediate: !0,\n flush: \"post\"\n }), i = () => {\n d(), r();\n };\n return Bt(i), {\n isSupported: s,\n stop: i\n };\n}\nfunction _e(e, t = {}) {\n const { reset: o = !0, windowResize: a = !0, windowScroll: n = !0, immediate: l = !0, updateTiming: s = \"sync\" } = t, d = ye(0), r = ye(0), i = ye(0), p = ye(0), v = ye(0), b = ye(0), x = ye(0), m = ye(0);\n function g() {\n const c = De(e);\n if (!c) {\n o && (d.value = 0, r.value = 0, i.value = 0, p.value = 0, v.value = 0, b.value = 0, x.value = 0, m.value = 0);\n return;\n }\n const T = c.getBoundingClientRect();\n d.value = T.height, r.value = T.bottom, i.value = T.left, p.value = T.right, v.value = T.top, b.value = T.width, x.value = T.x, m.value = T.y;\n }\n function u() {\n s === \"sync\" ? g() : s === \"next-frame\" && requestAnimationFrame(() => g());\n }\n return ot(e, u), oe(() => De(e), (c) => !c && u()), nn(e, u, { attributeFilter: [\"style\", \"class\"] }), n && Fe(\"scroll\", u, {\n capture: !0,\n passive: !0\n }), a && Fe(\"resize\", u, { passive: !0 }), Xn(() => {\n l && u();\n }), {\n height: d,\n bottom: r,\n left: i,\n right: p,\n top: v,\n width: b,\n x,\n y: m,\n update: u\n };\n}\nfunction ct(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nconst vt = /* @__PURE__ */ new WeakMap();\nfunction eo(e, t = !1) {\n const o = ye(t);\n let a = \"\";\n oe(Zn(e), (s) => {\n const d = ct(V(s));\n if (d) {\n const r = d;\n if (vt.get(r) || vt.set(r, r.style.overflow), r.style.overflow !== \"hidden\" && (a = r.style.overflow), r.style.overflow === \"hidden\") return o.value = !0;\n if (o.value) return r.style.overflow = \"hidden\";\n }\n }, { immediate: !0 });\n const n = () => {\n const s = ct(V(e));\n !s || o.value || (s.style.overflow = \"hidden\", o.value = !0);\n }, l = () => {\n const s = ct(V(e));\n !s || !o.value || (s.style.overflow = a, vt.delete(s), o.value = !1);\n };\n return Bt(l), D({\n get() {\n return o.value;\n },\n set(s) {\n s ? n() : l();\n }\n });\n}\nconst on = {\n ATextInput: \"text\",\n ATextarea: \"text\",\n ANumericInput: \"number\",\n ACheckbox: \"boolean\",\n ADate: \"date\",\n ADatePicker: \"date\",\n ADateSelection: \"date\",\n ADateTime: \"datetime\",\n ADuration: \"text\",\n ADateRange: \"date\",\n ADropdown: \"select\",\n ACodeEditor: \"code\",\n AFormLink: \"link\",\n AFileAttach: \"attach\",\n AQuantityInput: \"quantity\"\n};\nfunction Vt(e) {\n return e ? on[e] : void 0;\n}\nconst to = {\n AFormLink: \"inline\",\n AForm: \"expand\",\n ATable: \"expand\"\n};\n[\n .../* @__PURE__ */ new Set([...Object.keys(on), ...Object.keys(to)])\n].toSorted();\nconst no = (e) => {\n const t = new DOMParser().parseFromString(e, \"text/html\");\n return Array.from(t.body.childNodes).some((o) => o.nodeType === 1);\n}, oo = (e = 8) => Array.from({ length: e }, () => Math.floor(Math.random() * 16).toString(16)).join(\"\"), ln = (e) => {\n if (e == null) return \"\";\n if (typeof e == \"object\") {\n const t = e.qty ?? \"\", o = e.uom ?? \"\";\n return o ? `${t} ${o}`.trim() : String(t);\n }\n return String(e);\n};\nfunction kt(e) {\n return e !== null && typeof e == \"object\" && \"qty\" in e ? Number(e.qty) : Number(e);\n}\nfunction an(e, t) {\n const o = t[e];\n if (o.isRoot || o.parent === null || o.parent === void 0)\n return !0;\n const a = o.parent;\n return a < 0 || a >= t.length ? !1 : (t[a].childrenOpen || !1) && an(a, t);\n}\nfunction lo(e, t, o) {\n const a = o.filterType || \"text\", n = t.value;\n if (!n && a !== \"dateRange\" && a !== \"checkbox\") return !0;\n switch (a) {\n case \"text\":\n return (typeof e == \"object\" && e !== null ? Object.values(e).join(\" \") : String(e || \"\")).toLowerCase().includes(String(n).toLowerCase());\n case \"number\": {\n const l = kt(e), s = Number(n);\n return !isNaN(l) && !isNaN(s) && l === s;\n }\n case \"select\":\n return e === n;\n case \"checkbox\":\n return n === !0 ? !!e : !0;\n case \"date\": {\n let l;\n if (typeof e == \"number\") {\n const d = new Date(e), r = (/* @__PURE__ */ new Date()).getFullYear();\n l = new Date(r, d.getMonth(), d.getDate());\n } else\n l = new Date(String(e));\n const s = new Date(String(n));\n return l.toDateString() === s.toDateString();\n }\n case \"dateRange\": {\n const l = t.startValue, s = t.endValue;\n if (!l && !s) return !0;\n let d;\n if (typeof e == \"number\") {\n const r = new Date(e), i = (/* @__PURE__ */ new Date()).getFullYear();\n d = new Date(i, r.getMonth(), r.getDate());\n } else\n d = new Date(String(e));\n return !(l && d < new Date(String(l)) || s && d > new Date(String(s)));\n }\n default:\n return !0;\n }\n}\nfunction ao(e, t) {\n return t && e === 0 && t > 0 ? `${t}ch` : \"inherit\";\n}\nconst so = (e) => {\n const t = e.id || oo(), o = e.linkResolver ?? null;\n return xn(`table-${t}`, () => {\n const a = () => {\n const f = [Object.assign({}, { rowModified: !1 })], w = /* @__PURE__ */ new Set();\n for (let W = 0; W < l.value.length; W++) {\n const N = l.value[W];\n N.parent !== null && N.parent !== void 0 && w.add(N.parent);\n }\n const A = (W) => l.value[W]?.gantt !== void 0, K = (W) => {\n for (let N = 0; N < l.value.length; N++)\n if (l.value[N].parent === W && (A(N) || K(N)))\n return !0;\n return !1;\n }, J = (W) => {\n const N = s.value, ee = N.view === \"tree\" || N.view === \"tree-gantt\" ? N.defaultTreeExpansion : void 0;\n if (!ee) return !0;\n switch (ee) {\n case \"root\":\n return !1;\n // Only root nodes are visible, all children start collapsed\n case \"branch\":\n return K(W);\n case \"leaf\":\n return !0;\n // All nodes should be expanded\n default:\n return !0;\n }\n };\n for (let W = 0; W < l.value.length; W++) {\n const N = l.value[W], ee = N.parent === null || N.parent === void 0, ke = w.has(W);\n f[W] = {\n childrenOpen: J(W),\n expanded: !1,\n indent: N.indent || 0,\n isParent: ke,\n isRoot: ee,\n rowModified: !1,\n open: ee,\n // This will be recalculated later for non-root nodes\n parent: N.parent\n };\n }\n return f;\n }, n = L(e.columns), l = L(e.rows), s = L(e.config || {}), d = L({}), r = L({}), i = D(() => {\n const f = {};\n for (const [w, A] of n.value.entries())\n for (const [K, J] of l.value.entries())\n f[`${w}:${K}`] = J[A.name];\n return f;\n }), p = D({\n get: () => {\n const f = a();\n for (let w = 0; w < f.length; w++)\n d.value[w] && (f[w].rowModified = d.value[w]), r.value[w] && (r.value[w].childrenOpen !== void 0 && (f[w].childrenOpen = r.value[w].childrenOpen), r.value[w].expanded !== void 0 && (f[w].expanded = r.value[w].expanded));\n if (I.value)\n for (let w = 0; w < f.length; w++)\n f[w].isRoot || (f[w].open = an(w, f));\n return f;\n },\n set: (f) => {\n JSON.stringify(f) !== JSON.stringify(p.value) && (p.value = f);\n }\n }), v = L(e.modal || { visible: !1 }), b = L({}), x = L([]), m = L([]), g = L([]), u = L({\n column: null,\n direction: null\n }), c = L({}), T = D(() => n.value.some((f) => f.pinned)), C = D(() => s.value.view === \"gantt\" || s.value.view === \"tree-gantt\"), I = D(() => s.value.view === \"tree\" || s.value.view === \"tree-gantt\"), M = D(() => {\n const f = s.value;\n return f.view === \"gantt\" || f.view === \"tree-gantt\" ? f.dependencyGraph !== !1 : !0;\n }), S = D(() => `${Math.ceil(l.value.length / 100 + 1)}ch`), _ = D(\n () => s.value.view ? [\"list\", \"tree\", \"tree-gantt\", \"list-expansion\"].includes(s.value.view) : !1\n ), E = D(() => {\n let f = l.value.map((w, A) => ({\n ...w,\n originalIndex: A\n }));\n if (Object.entries(c.value).forEach(([w, A]) => {\n const K = parseInt(w), J = n.value[K];\n !J || !(A.value || A.startValue || A.endValue || J.filterType === \"checkbox\" && A.value !== void 0) || (f = f.filter((W) => {\n const N = W[J.name];\n return lo(N, A, J);\n }));\n }), u.value.column !== null && u.value.direction) {\n const w = n.value[u.value.column], A = u.value.direction;\n f.sort((K, J) => {\n let W = K[w.name], N = J[w.name];\n W == null && (W = \"\"), N == null && (N = \"\");\n const ee = kt(W), ke = kt(N);\n if (!isNaN(ee) && !isNaN(ke) && W !== \"\" && N !== \"\")\n return A === \"asc\" ? ee - ke : ke - ee;\n {\n const Pt = String(W).toLowerCase(), _t = String(N).toLowerCase();\n return A === \"asc\" ? Pt.localeCompare(_t) : _t.localeCompare(Pt);\n }\n });\n }\n return f;\n }), F = (f, w) => i.value[`${f}:${w}`], X = (f, w, A) => {\n const K = `${f}:${w}`, J = n.value[f];\n i.value[K] !== A && (d.value[w] = !0), i.value[K] = A, l.value[w] = {\n ...l.value[w],\n [J.name]: A\n };\n }, Q = (f) => {\n l.value = f;\n }, le = (f, w, A) => {\n const K = `${f}:${w}`;\n i.value[K] !== A && (d.value[w] = !0, b.value[K] = A);\n }, ue = (f) => {\n const w = n.value.indexOf(f) === n.value.length - 1, A = s.value.fullWidth ? f.resizable && !w : f.resizable;\n return {\n width: f.width || \"40ch\",\n textAlign: f.align || \"center\",\n ...A && {\n resize: \"horizontal\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\"\n }\n };\n }, $e = (f, w) => {\n if (f < 0 || f >= n.value.length) return;\n const A = Math.max(w, 40);\n n.value[f] = {\n ...n.value[f],\n width: `${A}px`\n };\n }, Ie = (f) => {\n const w = l.value[f];\n return C.value && w.gantt !== void 0;\n }, He = (f) => !I.value || p.value[f].isRoot || p.value[f].open, Be = (f) => !I.value && s.value.view !== \"list-expansion\" ? \"\" : I.value && (p.value[f].isRoot || p.value[f].isParent) ? p.value[f].childrenOpen ? \"▼\" : \"►\" : s.value.view === \"list-expansion\" ? p.value[f].expanded ? \"▼\" : \"►\" : \"\", Pe = (f) => {\n if (I.value) {\n const w = r.value[f] || {}, A = !(w.childrenOpen ?? p.value[f].childrenOpen);\n r.value[f] = {\n ...w,\n childrenOpen: A\n }, A || fe(f);\n } else if (s.value.view === \"list-expansion\") {\n const w = r.value[f] || {}, A = w.expanded ?? p.value[f].expanded;\n r.value[f] = {\n ...w,\n expanded: !A\n };\n }\n }, fe = (f) => {\n for (let w = 0; w < l.value.length; w++)\n if (p.value[w].parent === f) {\n const A = r.value[w] || {};\n r.value[w] = {\n ...A,\n childrenOpen: !1\n }, fe(w);\n }\n }, Ae = (f, w) => {\n const A = F(f, w);\n return B(f, w, A);\n }, B = (f, w, A) => {\n const K = n.value[f], J = l.value[w], W = K.format;\n if (!W) {\n const N = Vt(K.component);\n return N === \"boolean\" ? A ? \"✓\" : \"✗\" : N === \"date\" ? A != null ? new Date(String(A)).toLocaleDateString() : A : N === \"datetime\" ? A != null ? new Date(String(A)).toLocaleString() : A : N === \"quantity\" ? ln(A) : A;\n }\n return typeof W == \"function\" ? W(A, { table: i.value, row: J, column: K }) : typeof W == \"string\" ? Function(`\"use strict\";return (${W})`)()(A, { table: i.value, row: J, column: K }) : A;\n }, $ = (f) => {\n f.target instanceof Node && v.value.parent?.contains(f.target) || v.value.visible && (v.value.visible = !1);\n }, R = (f) => {\n const w = l.value[f.rowIndex]?.gantt;\n w && (f.type === \"resize\" ? f.edge === \"start\" ? (w.startIndex = f.newStart, w.endIndex = f.end, w.colspan = w.endIndex - w.startIndex) : f.edge === \"end\" && (w.startIndex = f.start, w.endIndex = f.newEnd, w.colspan = w.endIndex - w.startIndex) : f.type === \"bar\" && (w.startIndex = f.newStart, w.endIndex = f.newEnd, w.colspan = w.endIndex - w.startIndex));\n }, U = (f) => {\n const w = x.value.findIndex((A) => A.id === f.id);\n w >= 0 ? x.value[w] = f : x.value.push(f);\n }, q = (f) => {\n const w = x.value.findIndex((A) => A.id === f);\n w >= 0 && x.value.splice(w, 1);\n }, re = (f) => {\n const w = m.value.findIndex((A) => A.id === f.id);\n w >= 0 ? m.value[w] = f : m.value.push(f);\n }, Se = (f) => {\n const w = m.value.findIndex((A) => A.id === f);\n w >= 0 && m.value.splice(w, 1);\n }, Ve = (f, w, A) => {\n const K = m.value.find((N) => N.id === f), J = m.value.find((N) => N.id === w);\n if (!K || !J)\n return console.warn(\"Cannot create connection: handle not found\"), null;\n const W = {\n id: `connection-${f}-${w}`,\n from: {\n barId: K.barId,\n side: K.side\n },\n to: {\n barId: J.barId,\n side: J.side\n },\n style: A?.style,\n label: A?.label\n };\n return g.value.push(W), W;\n }, O = (f) => {\n const w = g.value.findIndex((A) => A.id === f);\n return w >= 0 ? (g.value.splice(w, 1), !0) : !1;\n }, G = (f) => g.value.filter((w) => w.from.barId === f || w.to.barId === f), Y = (f) => m.value.filter((w) => w.barId === f), ae = (f) => {\n if (n.value[f].sortable === !1) return;\n let w;\n u.value.column === f && u.value.direction === \"asc\" ? w = \"desc\" : w = \"asc\", u.value.column = f, u.value.direction = w;\n }, ce = (f, w) => {\n !w.value && !w.startValue && !w.endValue ? delete c.value[f] : c.value[f] = w;\n }, de = (f) => {\n delete c.value[f];\n }, ve = (f, w = \"end\") => {\n const A = {};\n for (const J of n.value)\n A[J.name] = \"\";\n f && Object.assign(A, f);\n let K;\n return w === \"start\" ? (K = 0, l.value.unshift(A)) : w === \"end\" ? (K = l.value.length, l.value.push(A)) : (K = Math.max(0, Math.min(w, l.value.length)), l.value.splice(K, 0, A)), K;\n };\n return {\n // state\n columns: n,\n config: s,\n connectionHandles: m,\n connectionPaths: g,\n display: p,\n filterState: c,\n ganttBars: x,\n modal: v,\n rows: l,\n sortState: u,\n table: i,\n updates: b,\n // getters\n filteredRows: E,\n hasPinnedColumns: T,\n isGanttView: C,\n isTreeView: I,\n isDependencyGraphEnabled: M,\n numberedRowWidth: S,\n zeroColumn: _,\n // resolver\n linkResolver: o,\n // actions\n addRow: ve,\n clearFilter: de,\n closeModal: $,\n createConnection: Ve,\n deleteConnection: O,\n deleteRow: (f) => {\n if (f < 0 || f >= l.value.length)\n return null;\n const [w] = l.value.splice(f, 1);\n delete d.value[f], delete r.value[f];\n const A = {}, K = {};\n for (const [J, W] of Object.entries(d.value)) {\n const N = parseInt(J);\n N > f ? A[N - 1] = W : A[N] = W;\n }\n for (const [J, W] of Object.entries(r.value)) {\n const N = parseInt(J);\n N > f ? K[N - 1] = W : K[N] = W;\n }\n return d.value = A, r.value = K, w;\n },\n duplicateRow: (f) => {\n if (f < 0 || f >= l.value.length)\n return -1;\n const w = l.value[f], A = JSON.parse(JSON.stringify(w)), K = f + 1;\n return l.value.splice(K, 0, A), K;\n },\n getCellData: F,\n getCellDisplayValue: Ae,\n getConnectionsForBar: G,\n getFormattedValue: B,\n getHandlesForBar: Y,\n getHeaderCellStyle: ue,\n getRowExpandSymbol: Be,\n insertRowAbove: (f, w) => {\n const A = Math.max(0, f);\n return ve(w, A);\n },\n insertRowBelow: (f, w) => {\n const A = Math.min(f + 1, l.value.length);\n return ve(w, A);\n },\n isRowGantt: Ie,\n isRowVisible: He,\n moveRow: (f, w) => {\n if (f < 0 || f >= l.value.length || w < 0 || w >= l.value.length || f === w)\n return !1;\n const [A] = l.value.splice(f, 1);\n l.value.splice(w, 0, A);\n const K = {}, J = {};\n for (const [W, N] of Object.entries(d.value)) {\n const ee = parseInt(W);\n let ke = ee;\n ee === f ? ke = w : f < w ? ee > f && ee <= w && (ke = ee - 1) : ee >= w && ee < f && (ke = ee + 1), K[ke] = N;\n }\n for (const [W, N] of Object.entries(r.value)) {\n const ee = parseInt(W);\n let ke = ee;\n ee === f ? ke = w : f < w ? ee > f && ee <= w && (ke = ee - 1) : ee >= w && ee < f && (ke = ee + 1), J[ke] = N;\n }\n return d.value = K, r.value = J, !0;\n },\n registerConnectionHandle: re,\n registerGanttBar: U,\n resizeColumn: $e,\n setCellData: X,\n setCellText: le,\n setFilter: ce,\n sortByColumn: ae,\n toggleRowExpand: Pe,\n unregisterConnectionHandle: Se,\n unregisterGanttBar: q,\n updateGanttBar: R,\n updateRows: Q\n };\n })();\n}, ro = [\"data-colindex\", \"data-rowindex\", \"data-editable\", \"contenteditable\", \"tabindex\"], io = [\"innerHTML\"], uo = { key: 2 }, co = /* @__PURE__ */ ne({\n __name: \"ACell\",\n props: {\n colIndex: {},\n rowIndex: {},\n store: {},\n addNavigation: { type: [Boolean, Object], default: !0 },\n tabIndex: { default: 0 },\n pinned: { type: Boolean, default: !1 },\n debounce: { default: 300 }\n },\n setup(e, { expose: t }) {\n const o = we(\"cell\"), a = e.store.getCellData(e.colIndex, e.rowIndex), n = L(\"\"), l = L(!1), s = e.store.columns[e.colIndex], d = e.store.rows[e.rowIndex], r = s.align || \"center\", i = s.width || \"40ch\", p = D(() => e.store.getCellDisplayValue(e.colIndex, e.rowIndex)), v = L(null);\n Le(() => {\n if (!s.linkDoctype) return;\n const E = e.store.getCellData(e.colIndex, e.rowIndex);\n if (E != null && typeof E == \"object\") {\n const X = E, Q = X.displayText ?? X.id;\n (typeof Q == \"string\" || typeof Q == \"number\") && (v.value = String(Q));\n return;\n }\n const F = e.store.linkResolver;\n !F || typeof E != \"string\" || E === \"\" || F(s.linkDoctype, E).then((X) => (X != null && (v.value = X), X));\n });\n const b = D(() => v.value ?? p.value), x = D(() => typeof b.value == \"string\" ? no(b.value) : !1), m = D(() => ({\n textAlign: r,\n width: i,\n fontWeight: l.value ? \"bold\" : \"inherit\",\n paddingLeft: ao(e.colIndex, e.store.display[e.rowIndex]?.indent)\n })), g = D(() => ({\n \"sticky-column\": e.pinned,\n \"cell-modified\": l.value\n })), u = () => {\n T(), c();\n }, c = () => {\n const { left: E, bottom: F, width: X, height: Q } = _e(o);\n s.mask, s.modalComponent && e.store.$patch((le) => {\n le.modal.visible = !0, le.modal.colIndex = e.colIndex, le.modal.rowIndex = e.rowIndex, le.modal.left = E.value, le.modal.bottom = F.value, le.modal.width = X.value, le.modal.height = Q.value, le.modal.cell = o.value, typeof s.modalComponent == \"function\" ? le.modal.component = s.modalComponent({ table: e.store.table, row: d, column: s }) : le.modal.component = s.modalComponent, le.modal.componentProps = s.modalComponentExtraProps;\n });\n };\n if (e.addNavigation) {\n let E = {\n ...nt,\n \"keydown.f2\": c,\n \"keydown.alt.up\": c,\n \"keydown.alt.down\": c,\n \"keydown.alt.left\": c,\n \"keydown.alt.right\": c\n };\n typeof e.addNavigation == \"object\" && (E = {\n ...E,\n ...e.addNavigation\n }), Jt([\n {\n selectors: o,\n handlers: E\n }\n ]);\n }\n const T = () => {\n if (o.value && s.edit) {\n const E = window.getSelection();\n if (E)\n try {\n const F = document.createRange();\n F.selectNodeContents && (F.selectNodeContents(o.value), E.removeAllRanges(), E.addRange(F));\n } catch {\n }\n }\n }, C = () => {\n o.value && (n.value = o.value.textContent, T());\n }, I = () => {\n try {\n const E = window.getSelection();\n if (E && E.rangeCount > 0 && o.value) {\n const F = E.getRangeAt(0), X = F.cloneRange();\n if (X.selectNodeContents && X.setEnd)\n return X.selectNodeContents(o.value), X.setEnd(F.endContainer, F.endOffset), X.toString().length;\n }\n } catch {\n }\n return 0;\n }, M = (E) => {\n if (o.value)\n try {\n const F = window.getSelection();\n if (!F) return;\n let X = 0;\n const Q = document.createTreeWalker ? document.createTreeWalker(o.value, NodeFilter.SHOW_TEXT, null) : null;\n if (!Q) return;\n let le, ue = null;\n for (; le = Q.nextNode(); ) {\n const $e = le, Ie = X + $e.textContent.length;\n if (E <= Ie && (ue = document.createRange(), ue.setStart && ue.setEnd)) {\n ue.setStart($e, E - X), ue.setEnd($e, E - X);\n break;\n }\n X = Ie;\n }\n ue && F.removeAllRanges && F.addRange && (F.removeAllRanges(), F.addRange(ue));\n } catch {\n }\n }, S = (E) => {\n if (!s.edit) return;\n const F = E.target;\n if (F.textContent === n.value)\n return;\n const X = I();\n n.value = F.textContent, s.format ? (l.value = F.textContent !== e.store.getFormattedValue(e.colIndex, e.rowIndex, a), e.store.setCellText(e.colIndex, e.rowIndex, F.textContent)) : (l.value = F.textContent !== a, e.store.setCellData(e.colIndex, e.rowIndex, F.textContent)), st().then(() => M(X));\n }, _ = /* @__PURE__ */ zn(S, e.debounce);\n return t({\n currentData: n\n }), (E, F) => (y(), k(\"td\", {\n ref: \"cell\",\n \"data-colindex\": e.colIndex,\n \"data-rowindex\": e.rowIndex,\n \"data-editable\": P(s).edit,\n contenteditable: P(s).edit,\n tabindex: e.tabIndex,\n spellcheck: !1,\n style: Ce(m.value),\n class: ie([\"atable-cell\", g.value]),\n onFocus: C,\n onPaste: S,\n onInput: F[0] || (F[0] = //@ts-ignore\n (...X) => P(_) && P(_)(...X)),\n onClick: u\n }, [\n P(s).cellComponent ? (y(), me(Ne(P(s).cellComponent), at({\n key: 0,\n value: b.value\n }, P(s).cellComponentProps), null, 16, [\"value\"])) : x.value ? (y(), k(\"span\", {\n key: 1,\n innerHTML: b.value\n }, null, 8, io)) : (y(), k(\"span\", uo, H(b.value), 1))\n ], 46, ro));\n }\n}), vo = [\"colspan\"], fo = {\n ref: \"container\",\n class: \"gantt-container\"\n}, mo = [\"data-rowindex\", \"data-colindex\"], ho = {\n key: 2,\n class: \"gantt-label\"\n}, po = [\"x1\", \"y1\", \"x2\", \"y2\"], go = /* @__PURE__ */ ne({\n __name: \"AGanttCell\",\n props: {\n store: {},\n columnsCount: {},\n rowIndex: {},\n colIndex: {},\n start: { default: 0 },\n end: { default: 0 },\n colspan: { default: 1 },\n label: { default: \"\" },\n color: { default: \"#cccccc\" }\n },\n emits: [\"connection:create\"],\n setup(e, { expose: t, emit: o }) {\n pn((O) => ({\n v564d6da1: n.value,\n v4f540c19: O.colspan\n }));\n const a = o, n = L(e.color.length >= 6 ? e.color : \"#cccccc\"), l = `gantt-bar-row-${e.rowIndex}-col-${e.colIndex}`, s = we(\"container\"), d = we(\"bar\"), r = we(\"leftResizeHandle\"), i = we(\"rightResizeHandle\"), p = we(\"leftConnectionHandle\"), v = we(\"rightConnectionHandle\"), { width: b } = _e(s), { left: x, right: m } = _e(d), g = L(e.start), u = L(e.end || g.value + e.colspan), c = L(!1), T = L(!1), C = L(!1), I = L(!1), M = L(!1), S = L({ startX: 0, startY: 0, endX: 0, endY: 0 }), _ = D(() => $e.value || le.value || ue.value), E = D(() => e.colspan > 0 ? b.value / e.colspan : 0), F = D(() => {\n const O = g.value / e.colspan * 100, G = u.value / e.colspan * 100;\n return {\n left: `${O}%`,\n width: `${G - O}%`,\n backgroundColor: n.value\n };\n }), X = D(() => ({\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100vw\",\n height: \"100vh\",\n pointerEvents: \"none\",\n zIndex: 1e3\n })), Q = L({ startX: 0, startPos: 0 }), { isDragging: le } = dt(r, {\n axis: \"x\",\n onStart: () => Ie(x.value, g.value),\n onMove: ({ x: O }) => He(O),\n onEnd: ({ x: O }) => Be(O)\n }), { isDragging: ue } = dt(i, {\n axis: \"x\",\n onStart: () => Ie(m.value, u.value),\n onMove: ({ x: O }) => Pe(O),\n onEnd: ({ x: O }) => fe(O)\n }), { isDragging: $e } = dt(d, {\n exact: !0,\n axis: \"x\",\n onStart: () => Ie(x.value, g.value),\n onMove: ({ x: O }) => Ae(O),\n onEnd: ({ x: O }) => B(O)\n });\n Le(() => {\n $();\n }), gn(() => {\n R();\n });\n function Ie(O, G) {\n d.value && (d.value.style.transition = \"none\"), Q.value = { startX: O, startPos: G };\n }\n function He(O) {\n if (!le.value || !d.value) return;\n const G = (O - Q.value.startX) / E.value, Y = Math.max(0, Math.min(u.value - 1, Q.value.startPos + G));\n d.value.style.left = `${Y / e.colspan * 100}%`, d.value.style.width = `${(u.value - Y) / e.colspan * 100}%`;\n }\n function Be(O) {\n if (!d.value) return;\n const G = O - Q.value.startX, Y = Math.round(G / E.value), ae = g.value, ce = Math.max(0, Math.min(u.value - 1, Q.value.startPos + Y));\n g.value = ce, e.store.updateGanttBar({\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n type: \"resize\",\n edge: \"start\",\n oldStart: ae,\n newStart: ce,\n end: u.value,\n delta: Y,\n oldColspan: u.value - ae,\n newColspan: u.value - ce\n });\n }\n function Pe(O) {\n if (!ue.value || !d.value) return;\n const G = (O - Q.value.startX) / E.value, Y = Math.max(g.value + 1, Math.min(e.columnsCount, Q.value.startPos + G));\n d.value.style.width = `${(Y - g.value) / e.colspan * 100}%`;\n }\n function fe(O) {\n if (!d.value) return;\n const G = O - Q.value.startX, Y = Math.round(G / E.value), ae = u.value, ce = Math.max(g.value + 1, Math.min(e.columnsCount, Q.value.startPos + Y));\n u.value = ce, e.store.updateGanttBar({\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n type: \"resize\",\n edge: \"end\",\n oldEnd: ae,\n newEnd: ce,\n start: g.value,\n delta: Y,\n oldColspan: ae - g.value,\n newColspan: ce - g.value\n });\n }\n function Ae(O) {\n if (!$e.value || !d.value) return;\n const G = (O - Q.value.startX) / E.value, Y = u.value - g.value, ae = Math.max(0, Math.min(Q.value.startPos + G, e.columnsCount - Y));\n d.value.style.left = `${ae / e.colspan * 100}%`;\n }\n function B(O) {\n if (!d.value) return;\n const G = O - Q.value.startX, Y = Math.round(G / E.value), ae = u.value - g.value, ce = g.value, de = u.value;\n let ve = Q.value.startPos + Y, f = ve + ae;\n ve < 0 ? (ve = 0, f = ae) : f > e.columnsCount && (f = e.columnsCount, ve = f - ae), g.value = ve, u.value = f, e.store.updateGanttBar({\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n type: \"bar\",\n oldStart: ce,\n oldEnd: de,\n newStart: ve,\n newEnd: f,\n delta: Y,\n colspan: f - ve\n });\n }\n function $() {\n const { x: O, y: G } = _e(d), { x: Y, y: ae } = _e(p), { x: ce, y: de } = _e(v);\n e.store.registerGanttBar({\n id: l,\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n startIndex: g,\n endIndex: u,\n color: n,\n label: e.label,\n position: { x: O, y: G }\n }), e.store.isDependencyGraphEnabled && (e.store.registerConnectionHandle({\n id: `${l}-connection-left`,\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n side: \"left\",\n position: { x: Y, y: ae },\n visible: c,\n barId: l\n }), e.store.registerConnectionHandle({\n id: `${l}-connection-right`,\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n side: \"right\",\n position: { x: ce, y: de },\n visible: T,\n barId: l\n }));\n }\n function R() {\n e.store.unregisterGanttBar(l), e.store.isDependencyGraphEnabled && (e.store.unregisterConnectionHandle(`${l}-connection-left`), e.store.unregisterConnectionHandle(`${l}-connection-right`));\n }\n function U() {\n e.store.isDependencyGraphEnabled && (c.value = !0, T.value = !0);\n }\n function q() {\n !C.value && !I.value && (c.value = !1, T.value = !1);\n }\n function re(O, G) {\n G.preventDefault(), G.stopPropagation(), M.value = !0, O === \"left\" ? C.value = !0 : I.value = !0;\n const Y = O === \"left\" ? p.value : v.value;\n if (Y) {\n const de = Y.getBoundingClientRect(), ve = de.left + de.width / 2, f = de.top + de.height / 2;\n S.value = { startX: ve, startY: f, endX: ve, endY: f };\n }\n const ae = (de) => {\n S.value.endX = de.clientX, S.value.endY = de.clientY;\n }, ce = (de) => {\n Se(de, O), Ve(ae, ce);\n };\n document.addEventListener(\"mousemove\", ae), document.addEventListener(\"mouseup\", ce);\n }\n function Se(O, G) {\n const Y = document.elementFromPoint(O.clientX, O.clientY)?.closest(\".connection-handle\");\n if (Y && Y !== (G === \"left\" ? p.value : v.value)) {\n const ae = Y.closest(\".gantt-bar\");\n if (ae) {\n const ce = parseInt(ae.getAttribute(\"data-rowindex\") || \"0\"), de = parseInt(ae.getAttribute(\"data-colindex\") || \"0\"), ve = Y.classList.contains(\"left-connection-handle\") ? \"left\" : \"right\", f = `gantt-bar-row-${ce}-col-${de}`, w = e.store.createConnection(\n `${l}-connection-${G}`,\n `${f}-connection-${ve}`\n );\n w && a(\"connection:create\", w);\n }\n }\n }\n function Ve(O, G) {\n M.value = !1, C.value = !1, I.value = !1, document.removeEventListener(\"mousemove\", O), document.removeEventListener(\"mouseup\", G), d.value?.matches(\":hover\") || q();\n }\n return t({\n barStyle: F,\n cleanupConnectionDrag: Ve,\n currentEnd: u,\n handleConnectionDrop: Se,\n isLeftConnectionDragging: C,\n isLeftConnectionVisible: c,\n isRightConnectionDragging: I,\n isRightConnectionVisible: T,\n showDragPreview: M\n }), (O, G) => (y(), k(\"td\", {\n class: \"aganttcell\",\n colspan: e.colspan\n }, [\n h(\"div\", fo, [\n h(\"div\", {\n ref: \"bar\",\n \"data-rowindex\": e.rowIndex,\n \"data-colindex\": e.colIndex,\n class: ie([\"gantt-bar\", { \"is-dragging\": _.value }]),\n style: Ce(F.value),\n onMouseenter: U,\n onMouseleave: q\n }, [\n e.store.isDependencyGraphEnabled ? (y(), k(\"div\", {\n key: 0,\n ref: \"leftConnectionHandle\",\n class: ie([\"connection-handle left-connection-handle\", { visible: c.value, \"is-dragging\": C.value }]),\n onMousedown: G[0] || (G[0] = te((Y) => re(\"left\", Y), [\"stop\"]))\n }, [...G[2] || (G[2] = [\n h(\"div\", { class: \"connection-dot\" }, null, -1)\n ])], 34)) : Z(\"\", !0),\n e.store.isDependencyGraphEnabled ? (y(), k(\"div\", {\n key: 1,\n ref: \"rightConnectionHandle\",\n class: ie([\"connection-handle right-connection-handle\", { visible: T.value, \"is-dragging\": I.value }]),\n onMousedown: G[1] || (G[1] = te((Y) => re(\"right\", Y), [\"stop\"]))\n }, [...G[3] || (G[3] = [\n h(\"div\", { class: \"connection-dot\" }, null, -1)\n ])], 34)) : Z(\"\", !0),\n h(\"div\", {\n ref: \"leftResizeHandle\",\n class: ie([\"resize-handle left-resize-handle\", { \"is-dragging\": P(le) }])\n }, [...G[4] || (G[4] = [\n h(\"div\", { class: \"handle-grip\" }, null, -1),\n h(\"div\", { class: \"vertical-indicator left-indicator\" }, null, -1)\n ])], 2),\n e.label ? (y(), k(\"label\", ho, H(e.label), 1)) : Z(\"\", !0),\n h(\"div\", {\n ref: \"rightResizeHandle\",\n class: ie([\"resize-handle right-resize-handle\", { \"is-dragging\": P(ue) }])\n }, [...G[5] || (G[5] = [\n h(\"div\", { class: \"handle-grip\" }, null, -1),\n h(\"div\", { class: \"vertical-indicator right-indicator\" }, null, -1)\n ])], 2)\n ], 46, mo)\n ], 512),\n e.store.isDependencyGraphEnabled && M.value ? (y(), k(\"svg\", {\n key: 0,\n style: Ce(X.value)\n }, [\n h(\"line\", {\n x1: S.value.startX,\n y1: S.value.startY,\n x2: S.value.endX,\n y2: S.value.endY,\n stroke: \"#2196f3\",\n \"stroke-width\": \"2\",\n \"stroke-dasharray\": \"5,5\"\n }, null, 8, po)\n ], 4)) : Z(\"\", !0)\n ], 8, vo));\n }\n}), Oe = (e, t) => {\n const o = e.__vccOpts || e;\n for (const [a, n] of t)\n o[a] = n;\n return o;\n}, yo = /* @__PURE__ */ Oe(go, [[\"__scopeId\", \"data-v-032ef6d9\"]]), wo = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\">\n <path d=\"M32,64C14.35,64,0,49.65,0,32S14.35,0,32,0s32,14.35,32,32-14.35,32-32,32ZM32,4c-15.44,0-28,12.56-28,28s12.56,28,28,28,28-12.56,28-28S47.44,4,32,4Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n <polygon points=\"34 18 30 18 30 30 18 30 18 34 30 34 30 46 34 46 34 34 46 34 46 30 34 30 34 18\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>\n`, bo = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\">\n <path d=\"M32,64C14.35,64,0,49.65,0,32S14.35,0,32,0s32,14.35,32,32-14.35,32-32,32ZM32,4c-15.44,0-28,12.56-28,28s12.56,28,28,28,28-12.56,28-28S47.44,4,32,4Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n <polygon points=\"46.84 19.99 44.01 17.16 32 29.17 19.99 17.16 17.16 19.99 29.17 32 17.16 44.01 19.99 46.84 32 34.83 44.01 46.84 46.84 44.01 34.83 32 46.84 19.99\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>`, xo = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 70.67 70.67\">\n <path d=\"M68.67,16.67h-14.67V2c0-1.1-.9-2-2-2H2C.9,0,0,.9,0,2v50c0,1.1.9,2,2,2h14.67v14.67c0,1.1.9,2,2,2h50c1.1,0,2-.9,2-2V18.67c0-1.1-.9-2-2-2ZM4,4h46v46H4V4ZM66.67,66.67H20.67v-12.67h31.33c1.1,0,2-.9,2-2v-31.33h12.67v46Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n <polygon points=\"41 25 29 25 29 13 25 13 25 25 13 25 13 29 25 29 25 41 29 41 29 29 41 29 41 25\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>`, ko = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 70.6 61.5\">\n <path d=\"M68.6,45.8v13.7H2v-13.7h66.6M70.6,43.8H0v17.7h70.6v-17.7h0Z\"/>\n <path d=\"M68.6,24.2v13.7H2v-13.7h66.6M70.6,22.2H0v17.7h70.6v-17.7h0Z\"/>\n <g>\n <polygon points=\"70.6 2.5 68.6 2.5 68.6 2 68.1 2 68.1 0 70.6 0 70.6 2.5\"/>\n <path d=\"M65.3,2h-2.9V0h2.9v2ZM59.6,2h-2.9V0h2.9v2ZM53.9,2h-2.9V0h2.9v2ZM48.2,2h-2.9V0h2.9v2ZM42.4,2h-2.9V0h2.9v2ZM36.7,2h-2.9V0h2.9v2ZM31,2h-2.9V0h2.9v2ZM25.3,2h-2.9V0h2.9v2ZM19.6,2h-2.9V0h2.9v2ZM13.9,2h-2.9V0h2.9v2ZM8.2,2h-2.9V0h2.9v2Z\"/>\n <polygon points=\"2 2.5 0 2.5 0 0 2.5 0 2.5 2 2 2 2 2.5\"/>\n <path d=\"M2,13.4H0v-2.7h2v2.7ZM2,8H0v-2.7h2v2.7Z\"/>\n <polygon points=\"2.5 18.7 0 18.7 0 16.2 2 16.2 2 16.7 2.5 16.7 2.5 18.7\"/>\n <path d=\"M65.3,18.7h-2.9v-2h2.9v2ZM59.6,18.7h-2.9v-2h2.9v2ZM53.9,18.7h-2.9v-2h2.9v2ZM48.2,18.7h-2.9v-2h2.9v2ZM42.4,18.7h-2.9v-2h2.9v2ZM36.7,18.7h-2.9v-2h2.9v2ZM31,18.7h-2.9v-2h2.9v2ZM25.3,18.7h-2.9v-2h2.9v2ZM19.6,18.7h-2.9v-2h2.9v2ZM13.9,18.7h-2.9v-2h2.9v2ZM8.2,18.7h-2.9v-2h2.9v2Z\"/>\n <polygon points=\"70.6 18.7 68.1 18.7 68.1 16.7 68.6 16.7 68.6 16.2 70.6 16.2 70.6 18.7\"/>\n <path d=\"M70.6,13.4h-2v-2.7h2v2.7ZM70.6,8h-2v-2.7h2v2.7Z\"/>\n </g>\n</svg>`, Mo = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 70.6 61.5\">\n <g>\n <polygon points=\"70.6 45.3 68.6 45.3 68.6 44.8 68.1 44.8 68.1 42.8 70.6 42.8 70.6 45.3\"/>\n <path d=\"M65.3,44.8h-2.9v-2h2.9v2ZM59.6,44.8h-2.9v-2h2.9v2ZM53.9,44.8h-2.9v-2h2.9v2ZM48.2,44.8h-2.9v-2h2.9v2ZM42.4,44.8h-2.9v-2h2.9v2ZM36.7,44.8h-2.9v-2h2.9v2ZM31,44.8h-2.9v-2h2.9v2ZM25.3,44.8h-2.9v-2h2.9v2ZM19.6,44.8h-2.9v-2h2.9v2ZM13.9,44.8h-2.9v-2h2.9v2ZM8.2,44.8h-2.9v-2h2.9v2Z\"/>\n <polygon points=\"2 45.3 0 45.3 0 42.8 2.5 42.8 2.5 44.8 2 44.8 2 45.3\"/>\n <path d=\"M2,56.3H0v-2.7h2v2.7ZM2,50.8H0v-2.7h2v2.7Z\"/>\n <polygon points=\"2.5 61.5 0 61.5 0 59 2 59 2 59.5 2.5 59.5 2.5 61.5\"/>\n <path d=\"M65.3,61.5h-2.9v-2h2.9v2ZM59.6,61.5h-2.9v-2h2.9v2ZM53.9,61.5h-2.9v-2h2.9v2ZM48.2,61.5h-2.9v-2h2.9v2ZM42.4,61.5h-2.9v-2h2.9v2ZM36.7,61.5h-2.9v-2h2.9v2ZM31,61.5h-2.9v-2h2.9v2ZM25.3,61.5h-2.9v-2h2.9v2ZM19.6,61.5h-2.9v-2h2.9v2ZM13.9,61.5h-2.9v-2h2.9v2ZM8.2,61.5h-2.9v-2h2.9v2Z\"/>\n <polygon points=\"70.6 61.5 68.1 61.5 68.1 59.5 68.6 59.5 68.6 59 70.6 59 70.6 61.5\"/>\n <path d=\"M70.6,56.3h-2v-2.7h2v2.7ZM70.6,50.8h-2v-2.7h2v2.7Z\"/>\n </g>\n <path d=\"M68.6,23.7v13.7H2v-13.7h66.6M70.6,21.7H0v17.7h70.6v-17.7h0Z\"/>\n <path d=\"M68.6,2v13.7H2V2h66.6M70.6,0H0v17.7h70.6V0h0Z\"/>\n</svg>`, Io = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 70.67 70.64\">\n <path d=\"M70.08,33.9l-9.75-9.75-2.83,2.83,6.33,6.33h-26.51V6.81l6.33,6.33,2.83-2.83L36.75.56c-.75-.75-2.08-.75-2.83,0l-9.75,9.75,2.83,2.83,6.33-6.33v26.5H6.83l6.33-6.33-2.83-2.83L.59,33.9c-.38.38-.59.88-.59,1.41s.21,1.04.59,1.41l9.75,9.75,2.83-2.83-6.33-6.33h26.5v26.51l-6.33-6.33-2.83,2.83,9.75,9.75c.38.38.88.59,1.41.59s1.04-.21,1.41-.59l9.75-9.75-2.83-2.83-6.33,6.33v-26.51h26.51l-6.33,6.33,2.83,2.83,9.75-9.75c.38-.38.59-.88.59-1.41s-.21-1.04-.59-1.41Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>`, To = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\">\n <path d=\"M32,64C14.35,64,0,49.65,0,32S14.35,0,32,0s32,14.35,32,32-14.35,32-32,32ZM32,4c-15.44,0-28,12.56-28,28s12.56,28,28,28,28-12.56,28-28S47.44,4,32,4Z\" style=\"fill: #000; stroke-width: 0px;\"/>\n <polygon points=\"18,20 18,44 46,32\" style=\"fill: #000; stroke-width: 0px;\"/>\n</svg>\n`, $o = '<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M8 13V3.5M4.5 7 8 3.5 11.5 7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>', Do = '<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M8 3v9.5M4.5 9 8 12.5 11.5 9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>', Co = {\n add: wo,\n delete: bo,\n duplicate: xo,\n insertAbove: ko,\n insertBelow: Mo,\n move: Io,\n moveUp: $o,\n moveDown: Do,\n open: To\n}, Ao = {\n key: 0,\n class: \"row-actions-dropdown\"\n}, So = [\"aria-expanded\"], Lo = [\"disabled\", \"onClick\"], Ro = [\"innerHTML\"], Eo = { class: \"action-label\" }, Ho = {\n key: 1,\n class: \"row-actions-icons\"\n}, Bo = [\"title\", \"aria-label\", \"disabled\", \"onClick\"], Vo = [\"innerHTML\"], tt = /* @__PURE__ */ ne({\n __name: \"ARowActions\",\n props: {\n rowIndex: {},\n store: {},\n config: {},\n position: {}\n },\n emits: [\"action\"],\n setup(e, { emit: t }) {\n const o = e, a = t, n = we(\"actionsCell\"), l = we(\"toggleButton\"), s = L(0), d = L(!1), r = L(!1), i = L({ top: 0, left: 0 }), p = {\n add: \"Add Record\",\n delete: \"Delete Record\",\n duplicate: \"Duplicate Record\",\n insertAbove: \"Insert Above\",\n insertBelow: \"Insert Below\",\n move: \"Move Record\",\n moveUp: \"Move Up\",\n moveDown: \"Move Down\",\n open: \"Open Record\"\n }, v = D(() => {\n const c = [], T = o.config.actions || {}, C = [\n \"open\",\n \"moveUp\",\n \"moveDown\",\n \"duplicate\",\n \"insertAbove\",\n \"insertBelow\",\n \"add\",\n \"delete\",\n \"move\"\n ];\n for (const I of C) {\n const M = T[I];\n if (M === !1 || M === void 0) continue;\n let S = !0, _ = p[I], E = Co[I], F = !1;\n typeof M == \"object\" && (S = M.enabled !== !1, _ = M.label || _, E = M.icon || E, M.disabled && (F = M.disabled(o.rowIndex, o.store))), S && c.push({ type: I, label: _, icon: E, disabled: F });\n }\n return c;\n }), b = D(() => {\n if (o.config.forceDropdown) return !0;\n const c = o.config.dropdownThreshold ?? 150;\n return c === 0 ? !1 : s.value > 0 && s.value < c;\n }), x = D(() => d.value ? r.value ? {\n position: \"fixed\",\n bottom: `${window.innerHeight - i.value.top}px`,\n left: `${i.value.left}px`,\n top: \"auto\"\n } : {\n position: \"fixed\",\n top: `${i.value.top}px`,\n left: `${i.value.left}px`\n } : {});\n ot(n, (c) => {\n const T = c[0];\n T && (s.value = T.contentRect.width);\n });\n const m = () => {\n d.value || g(), d.value = !d.value;\n }, g = () => {\n if (!l.value) return;\n const c = l.value.getBoundingClientRect(), T = window.innerHeight, C = window.innerWidth, I = v.value.length * 40 + 16, M = 160, S = T - c.bottom, _ = c.top;\n r.value = S < I && _ > I;\n let E = c.left;\n E + M > C && (E = Math.max(0, c.right - M)), i.value = {\n top: r.value ? c.top : c.bottom,\n left: E\n };\n };\n xt(n, () => {\n d.value = !1;\n });\n const u = (c, T) => {\n d.value = !1;\n const C = o.config.actions?.[c];\n typeof C == \"object\" && C.handler && C.handler(o.rowIndex, o.store) === !1 || a(\"action\", c, o.rowIndex, T);\n };\n return (c, T) => (y(), k(\"td\", {\n ref: \"actionsCell\",\n class: ie([\"atable-row-actions\", { \"sticky-column\": e.position === \"before-index\", \"dropdown-active\": d.value }])\n }, [\n b.value ? (y(), k(\"div\", Ao, [\n h(\"button\", {\n ref: \"toggleButton\",\n type: \"button\",\n class: \"row-actions-toggle\",\n \"aria-expanded\": d.value,\n \"aria-haspopup\": \"true\",\n onClick: te(m, [\"stop\"])\n }, [...T[0] || (T[0] = [\n h(\"span\", { class: \"dropdown-icon\" }, \"⋮\", -1)\n ])], 8, So),\n j(h(\"div\", {\n class: ie([\"row-actions-menu\", { \"menu-flipped\": r.value }]),\n style: Ce(x.value),\n role: \"menu\"\n }, [\n (y(!0), k(z, null, ge(v.value, (C) => (y(), k(\"button\", {\n key: C.type,\n type: \"button\",\n class: \"row-action-menu-item\",\n role: \"menuitem\",\n disabled: C.disabled,\n onClick: te((I) => u(C.type, I), [\"stop\"])\n }, [\n h(\"span\", {\n class: \"action-icon\",\n innerHTML: C.icon\n }, null, 8, Ro),\n h(\"span\", Eo, H(C.label), 1)\n ], 8, Lo))), 128))\n ], 6), [\n [pe, d.value]\n ])\n ])) : (y(), k(\"div\", Ho, [\n (y(!0), k(z, null, ge(v.value, (C) => (y(), k(\"button\", {\n key: C.type,\n type: \"button\",\n class: \"row-action-btn\",\n title: C.label,\n \"aria-label\": C.label,\n disabled: C.disabled,\n onClick: te((I) => u(C.type, I), [\"stop\"])\n }, [\n h(\"span\", {\n class: \"action-icon\",\n innerHTML: C.icon\n }, null, 8, Vo)\n ], 8, Bo))), 128))\n ]))\n ], 2));\n }\n}), Fo = [\"tabindex\"], Po = [\"tabindex\"], _o = [\"colspan\"], qo = /* @__PURE__ */ ne({\n __name: \"ARow\",\n props: {\n rowIndex: {},\n store: {},\n tabIndex: { default: () => -1 },\n addNavigation: { type: [Boolean, Object], default: !1 }\n },\n emits: [\"row:action\", \"row:click\"],\n setup(e, { emit: t }) {\n const o = t, a = we(\"rowEl\"), n = D(() => e.store.isRowVisible(e.rowIndex)), l = D(() => e.store.getRowExpandSymbol(e.rowIndex)), s = D(() => e.store.config.clickable ?? !1), d = D(() => e.store.config.rowActions || { enabled: !1 }), r = D(() => d.value.enabled), i = D(() => d.value.position || \"before-index\"), p = D(() => e.store.config.view === \"list-expansion\" && !!e.store.display[e.rowIndex]?.expanded), v = D(() => {\n const g = e.store.config.view === \"uncounted\" ? 0 : 1, u = r.value ? 1 : 0;\n return e.store.columns.length + g + u;\n }), b = (g, u, c) => {\n o(\"row:action\", g, u, c);\n }, x = (g) => {\n const u = g.target;\n u.closest(\".atable-row-actions\") || u.closest(\".tree-index\") || u.closest(\".expansion-index\") || o(\"row:click\", e.rowIndex, g);\n }, m = e.store.config.view === \"list-expansion\";\n if (e.addNavigation || m) {\n let g = {};\n e.addNavigation === !0 ? g = { ...nt } : typeof e.addNavigation == \"object\" && (g = { ...nt, ...e.addNavigation }), m && !g[\"keydown.control.g\"] && (g[\"keydown.control.g\"] = (u) => {\n u.stopPropagation(), u.preventDefault(), e.store.toggleRowExpand(e.rowIndex);\n }), Jt([\n {\n selectors: a,\n handlers: g\n }\n ]);\n }\n return (g, u) => (y(), k(z, null, [\n j(h(\"tr\", at(g.$attrs, {\n ref: \"rowEl\",\n tabindex: e.tabIndex,\n class: [\"atable-row\", { \"atable-row-clickable\": s.value }],\n onClick: x\n }), [\n r.value && i.value === \"before-index\" ? (y(), me(tt, {\n key: 0,\n \"row-index\": e.rowIndex,\n store: e.store,\n config: d.value,\n position: i.value,\n onAction: b\n }, null, 8, [\"row-index\", \"store\", \"config\", \"position\"])) : Z(\"\", !0),\n e.store.config.view !== \"uncounted\" ? Te(g.$slots, \"index\", { key: 1 }, () => [\n e.store.config.view === \"list\" ? (y(), k(\"td\", {\n key: 0,\n tabIndex: -1,\n class: ie([\"list-index\", e.store.hasPinnedColumns ? \"sticky-index\" : \"\"])\n }, H(e.rowIndex + 1), 3)) : e.store.isTreeView ? (y(), k(\"td\", {\n key: 1,\n tabIndex: -1,\n class: ie([\"tree-index\", e.store.hasPinnedColumns ? \"sticky-index\" : \"\"]),\n onClick: u[0] || (u[0] = (c) => e.store.toggleRowExpand(e.rowIndex))\n }, H(l.value), 3)) : e.store.config.view === \"list-expansion\" ? (y(), k(\"td\", {\n key: 2,\n tabIndex: -1,\n class: ie([\"expansion-index\", e.store.hasPinnedColumns ? \"sticky-index\" : \"\"]),\n onClick: u[1] || (u[1] = (c) => e.store.toggleRowExpand(e.rowIndex))\n }, H(l.value), 3)) : Z(\"\", !0)\n ], !0) : Z(\"\", !0),\n r.value && i.value === \"after-index\" ? (y(), me(tt, {\n key: 2,\n \"row-index\": e.rowIndex,\n store: e.store,\n config: d.value,\n position: i.value,\n onAction: b\n }, null, 8, [\"row-index\", \"store\", \"config\", \"position\"])) : Z(\"\", !0),\n Te(g.$slots, \"default\", {}, void 0, !0),\n r.value && i.value === \"end\" ? (y(), me(tt, {\n key: 3,\n \"row-index\": e.rowIndex,\n store: e.store,\n config: d.value,\n position: i.value,\n onAction: b\n }, null, 8, [\"row-index\", \"store\", \"config\", \"position\"])) : Z(\"\", !0)\n ], 16, Fo), [\n [pe, n.value]\n ]),\n p.value ? (y(), k(\"tr\", {\n key: 0,\n tabindex: e.tabIndex,\n class: \"atable-expanded-row\"\n }, [\n h(\"td\", {\n tabIndex: -1,\n colspan: v.value,\n class: \"atable-expanded-content\"\n }, [\n Te(g.$slots, \"content\", {\n row: e.store.rows[e.rowIndex],\n rowIndex: e.rowIndex,\n store: e.store\n }, void 0, !0)\n ], 8, _o)\n ], 8, Po)) : Z(\"\", !0)\n ], 64));\n }\n}), sn = /* @__PURE__ */ Oe(qo, [[\"__scopeId\", \"data-v-4dd47763\"]]), ft = /* @__PURE__ */ new WeakMap(), No = {\n mounted(e, t) {\n const o = !t.modifiers.bubble;\n let a;\n if (typeof t.value == \"function\") a = xt(e, t.value, { capture: o });\n else {\n const [n, l] = t.value;\n a = xt(e, n, Object.assign({ capture: o }, l));\n }\n ft.set(e, a);\n },\n unmounted(e) {\n const t = ft.get(e);\n t && typeof t == \"function\" ? t() : t?.stop(), ft.delete(e);\n }\n}, Oo = { mounted(e, t) {\n typeof t.value == \"function\" ? ot(e, t.value) : ot(e, ...t.value);\n} };\nfunction Uo() {\n let e = !1;\n const t = ye(!1);\n return (o, a) => {\n if (t.value = a.value, e) return;\n e = !0;\n const n = eo(o, a.value);\n oe(t, (l) => n.value = l);\n };\n}\nUo();\nconst Zo = { class: \"gantt-connection-overlay\" }, Go = {\n class: \"connection-svg\",\n style: {\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n pointerEvents: \"none\",\n zIndex: 1\n }\n}, Wo = [\"d\", \"stroke-width\", \"onDblclick\"], jo = [\"id\", \"d\", \"stroke\", \"stroke-width\", \"onDblclick\"], zo = 0.25, Qe = 16, Ko = /* @__PURE__ */ ne({\n __name: \"AGanttConnection\",\n props: {\n store: {}\n },\n emits: [\"connection:delete\"],\n setup(e, { emit: t }) {\n const o = t, a = D(() => e.store.connectionPaths.filter((s) => {\n const d = e.store.ganttBars.find((i) => i.id === s.from.barId), r = e.store.ganttBars.find((i) => i.id === s.to.barId);\n return d && r;\n })), n = (s) => {\n const d = e.store.connectionHandles.find(\n (_) => _.barId === s.from.barId && _.side === s.from.side\n ), r = e.store.connectionHandles.find(\n (_) => _.barId === s.to.barId && _.side === s.to.side\n );\n if (!d || !r) return \"\";\n const i = d.position.x + Qe / 2, p = d.position.y + Qe / 2, v = r.position.x + Qe / 2, b = r.position.y + Qe / 2, x = Math.abs(v - i), m = Math.max(x * zo, 50), g = i + (s.from.side === \"left\" ? -m : m), u = v + (s.to.side === \"left\" ? -m : m), c = { x: 0.5 * i + 0.5 * g, y: 0.5 * p + 0.5 * p }, T = { x: 0.5 * g + 0.5 * u, y: 0.5 * p + 0.5 * b }, C = { x: 0.5 * u + 0.5 * v, y: 0.5 * b + 0.5 * b }, I = { x: 0.5 * c.x + 0.5 * T.x, y: 0.5 * c.y + 0.5 * T.y }, M = { x: 0.5 * T.x + 0.5 * C.x, y: 0.5 * T.y + 0.5 * C.y }, S = { x: 0.5 * I.x + 0.5 * M.x, y: 0.5 * I.y + 0.5 * M.y };\n return `M ${i} ${p} Q ${g} ${p}, ${S.x} ${S.y} Q ${u} ${b}, ${v} ${b}`;\n }, l = (s) => {\n e.store.deleteConnection(s.id) && o(\"connection:delete\", s);\n };\n return (s, d) => (y(), k(\"div\", Zo, [\n (y(), k(\"svg\", Go, [\n d[0] || (d[0] = h(\"defs\", null, [\n h(\"path\", {\n id: \"arrowhead\",\n d: \"M 0 -7 L 20 0 L 0 7Z\",\n stroke: \"black\",\n \"stroke-width\": \"1\",\n fill: \"currentColor\"\n }),\n h(\"marker\", {\n id: \"arrowhead-marker\",\n markerWidth: \"10\",\n markerHeight: \"7\",\n refX: \"5\",\n refY: \"3.5\",\n orient: \"auto\",\n markerUnits: \"strokeWidth\"\n }, [\n h(\"polygon\", {\n points: \"0 0, 10 3.5, 0 7\",\n fill: \"currentColor\"\n })\n ])\n ], -1)),\n (y(!0), k(z, null, ge(a.value, (r) => (y(), k(\"path\", {\n key: `${r.id}-hitbox`,\n d: n(r),\n stroke: \"transparent\",\n \"stroke-width\": (r.style?.width || 2) + 10,\n fill: \"none\",\n class: \"connection-hitbox\",\n onDblclick: (i) => l(r)\n }, null, 40, Wo))), 128)),\n (y(!0), k(z, null, ge(a.value, (r) => (y(), k(\"path\", {\n id: r.id,\n key: r.id,\n d: n(r),\n stroke: r.style?.color || \"#666\",\n \"stroke-width\": r.style?.width || 2,\n fill: \"none\",\n \"marker-mid\": \"url(#arrowhead-marker)\",\n class: \"connection-path animated-path\",\n onDblclick: (i) => l(r)\n }, null, 40, jo))), 128))\n ]))\n ]));\n }\n}), Xo = /* @__PURE__ */ Oe(Ko, [[\"__scopeId\", \"data-v-d5929c98\"]]), Yo = { class: \"column-filter\" }, Qo = {\n key: 2,\n class: \"checkbox-filter\"\n}, Jo = [\"value\"], el = {\n key: 5,\n class: \"date-range-filter\"\n}, tl = /* @__PURE__ */ ne({\n __name: \"ATableColumnFilter\",\n props: {\n column: {},\n colIndex: {},\n store: {}\n },\n setup(e) {\n const t = {\n text: \"text\",\n number: \"number\",\n boolean: \"checkbox\",\n date: \"date\",\n datetime: \"dateRange\",\n select: \"select\",\n code: \"text\",\n link: \"text\",\n attach: \"text\",\n quantity: \"number\"\n }, o = L(\"\"), a = rt({\n startValue: \"\",\n endValue: \"\"\n }), n = D(() => {\n if (e.column.filterType) return e.column.filterType;\n const p = Vt(e.column.component);\n return p ? t[p] : \"text\";\n }), l = (p) => {\n if (p.filterOptions) return p.filterOptions;\n const v = /* @__PURE__ */ new Set();\n return e.store.rows.forEach((b) => {\n const x = b[p.name];\n x != null && x !== \"\" && v.add(x);\n }), Array.from(v).map((b) => ({\n value: b,\n label: String(b)\n }));\n }, s = D(() => !!(o.value || a.startValue || a.endValue)), d = (p) => {\n !p && n.value !== \"checkbox\" ? (e.store.clearFilter(e.colIndex), o.value = \"\") : (o.value = p, e.store.setFilter(e.colIndex, { value: p }));\n }, r = (p, v) => {\n p === \"start\" ? a.startValue = v : a.endValue = v, !a.startValue && !a.endValue ? e.store.clearFilter(e.colIndex) : e.store.setFilter(e.colIndex, {\n value: null,\n startValue: a.startValue,\n endValue: a.endValue\n });\n }, i = () => {\n o.value = \"\", a.startValue = \"\", a.endValue = \"\", e.store.clearFilter(e.colIndex);\n };\n return (p, v) => (y(), k(\"div\", Yo, [\n n.value === \"text\" ? j((y(), k(\"input\", {\n key: 0,\n \"onUpdate:modelValue\": v[0] || (v[0] = (b) => o.value = b),\n type: \"text\",\n class: \"filter-input\",\n onInput: v[1] || (v[1] = (b) => d(o.value))\n }, null, 544)), [\n [he, o.value]\n ]) : n.value === \"number\" ? j((y(), k(\"input\", {\n key: 1,\n \"onUpdate:modelValue\": v[2] || (v[2] = (b) => o.value = b),\n type: \"number\",\n class: \"filter-input\",\n onInput: v[3] || (v[3] = (b) => d(o.value))\n }, null, 544)), [\n [he, o.value]\n ]) : n.value === \"checkbox\" ? (y(), k(\"label\", Qo, [\n j(h(\"input\", {\n \"onUpdate:modelValue\": v[4] || (v[4] = (b) => o.value = b),\n type: \"checkbox\",\n class: \"filter-checkbox\",\n onChange: v[5] || (v[5] = (b) => d(o.value))\n }, null, 544), [\n [Kt, o.value]\n ]),\n h(\"span\", null, H(e.column.label), 1)\n ])) : n.value === \"select\" ? j((y(), k(\"select\", {\n key: 3,\n \"onUpdate:modelValue\": v[6] || (v[6] = (b) => o.value = b),\n class: \"filter-select\",\n onChange: v[7] || (v[7] = (b) => d(o.value))\n }, [\n v[15] || (v[15] = h(\"option\", { value: \"\" }, \"All\", -1)),\n (y(!0), k(z, null, ge(l(e.column), (b) => (y(), k(\"option\", {\n key: b.value || b,\n value: b.value || b\n }, H(b.label || b), 9, Jo))), 128))\n ], 544)), [\n [Xt, o.value]\n ]) : n.value === \"date\" ? j((y(), k(\"input\", {\n key: 4,\n \"onUpdate:modelValue\": v[8] || (v[8] = (b) => o.value = b),\n type: \"date\",\n class: \"filter-input\",\n onChange: v[9] || (v[9] = (b) => d(o.value))\n }, null, 544)), [\n [he, o.value]\n ]) : n.value === \"dateRange\" ? (y(), k(\"div\", el, [\n j(h(\"input\", {\n \"onUpdate:modelValue\": v[10] || (v[10] = (b) => a.startValue = b),\n type: \"date\",\n class: \"filter-input\",\n onChange: v[11] || (v[11] = (b) => r(\"start\", a.startValue))\n }, null, 544), [\n [he, a.startValue]\n ]),\n v[16] || (v[16] = h(\"span\", { class: \"date-separator\" }, \"-\", -1)),\n j(h(\"input\", {\n \"onUpdate:modelValue\": v[12] || (v[12] = (b) => a.endValue = b),\n type: \"date\",\n class: \"filter-input\",\n onChange: v[13] || (v[13] = (b) => r(\"end\", a.endValue))\n }, null, 544), [\n [he, a.endValue]\n ])\n ])) : n.value === \"component\" && e.column.filterComponent ? (y(), me(Ne(e.column.filterComponent), {\n key: 6,\n value: o.value,\n column: e.column,\n \"col-index\": e.colIndex,\n store: e.store,\n \"onUpdate:value\": v[14] || (v[14] = (b) => d(b))\n }, null, 40, [\"value\", \"column\", \"col-index\", \"store\"])) : Z(\"\", !0),\n s.value ? (y(), k(\"button\", {\n key: 7,\n class: \"clear-btn\",\n title: \"Clear\",\n onClick: i\n }, \"×\")) : Z(\"\", !0)\n ]));\n }\n}), nl = /* @__PURE__ */ Oe(tl, [[\"__scopeId\", \"data-v-3257dbbe\"]]), ol = { key: 0 }, ll = {\n class: \"atable-header-row\",\n tabindex: \"-1\"\n}, al = {\n key: 2,\n class: \"row-actions-header\"\n}, sl = [\"data-colindex\", \"onClick\"], rl = {\n key: 3,\n class: \"row-actions-header\"\n}, il = {\n key: 0,\n class: \"atable-filters-row\"\n}, ul = {\n key: 2,\n class: \"row-actions-header\"\n}, dl = {\n key: 3,\n class: \"row-actions-header\"\n}, rn = /* @__PURE__ */ ne({\n __name: \"ATableHeader\",\n props: {\n columns: {},\n store: {}\n },\n setup(e) {\n const t = D(() => e.columns.filter((s) => s.filterable)), o = D(() => e.store.config.rowActions?.enabled ?? !1), a = D(() => e.store.config.rowActions?.position ?? \"before-index\"), n = (s) => e.store.sortByColumn(s), l = (s) => {\n for (const d of s) {\n if (d.borderBoxSize.length === 0) continue;\n const r = d.borderBoxSize[0].inlineSize, i = Number(d.target.dataset.colindex), p = e.store.columns[i]?.width;\n typeof p == \"number\" && p !== r && e.store.resizeColumn(i, r);\n }\n };\n return (s, d) => e.columns.length ? (y(), k(\"thead\", ol, [\n h(\"tr\", ll, [\n o.value && a.value === \"before-index\" ? (y(), k(\"th\", {\n key: 0,\n class: ie([\"row-actions-header\", { \"sticky-column\": a.value === \"before-index\" }])\n }, null, 2)) : Z(\"\", !0),\n e.store.zeroColumn ? (y(), k(\"th\", {\n key: 1,\n id: \"header-index\",\n class: ie([[\n e.store.hasPinnedColumns ? \"sticky-index\" : \"\",\n e.store.isTreeView ? \"tree-index\" : \"\",\n e.store.config.view === \"list-expansion\" ? \"list-expansion-index\" : \"\"\n ], \"list-index\"])\n }, null, 2)) : Z(\"\", !0),\n o.value && a.value === \"after-index\" ? (y(), k(\"th\", al)) : Z(\"\", !0),\n (y(!0), k(z, null, ge(e.columns, (r, i) => j((y(), k(\"th\", {\n key: r.name,\n \"data-colindex\": i,\n tabindex: \"-1\",\n style: Ce(e.store.getHeaderCellStyle(r)),\n class: ie(`${r.pinned ? \"sticky-column\" : \"\"} ${r.sortable === !1 ? \"\" : \"cursor-pointer\"}`),\n onClick: (p) => r.sortable !== !1 ? n(i) : void 0\n }, [\n Te(s.$slots, \"default\", {}, () => [\n It(H(r.label || String.fromCharCode(i + 97).toUpperCase()), 1)\n ])\n ], 14, sl)), [\n [P(Oo), l]\n ])), 128)),\n o.value && a.value === \"end\" ? (y(), k(\"th\", rl)) : Z(\"\", !0)\n ]),\n t.value.length > 0 ? (y(), k(\"tr\", il, [\n o.value && a.value === \"before-index\" ? (y(), k(\"th\", {\n key: 0,\n class: ie([\"row-actions-header\", { \"sticky-column\": a.value === \"before-index\" }])\n }, null, 2)) : Z(\"\", !0),\n e.store.zeroColumn ? (y(), k(\"th\", {\n key: 1,\n class: ie([[\n e.store.hasPinnedColumns ? \"sticky-index\" : \"\",\n e.store.isTreeView ? \"tree-index\" : \"\",\n e.store.config.view === \"list-expansion\" ? \"list-expansion-index\" : \"\"\n ], \"list-index\"])\n }, null, 2)) : Z(\"\", !0),\n o.value && a.value === \"after-index\" ? (y(), k(\"th\", ul)) : Z(\"\", !0),\n (y(!0), k(z, null, ge(e.columns, (r, i) => (y(), k(\"th\", {\n key: `filter-${r.name}`,\n class: ie(`${r.pinned ? \"sticky-column\" : \"\"}`),\n style: Ce(e.store.getHeaderCellStyle(r))\n }, [\n r.filterable ? (y(), me(nl, {\n key: 0,\n column: r,\n \"col-index\": i,\n store: e.store\n }, null, 8, [\"column\", \"col-index\", \"store\"])) : Z(\"\", !0)\n ], 6))), 128)),\n o.value && a.value === \"end\" ? (y(), k(\"th\", dl)) : Z(\"\", !0)\n ])) : Z(\"\", !0)\n ])) : Z(\"\", !0);\n }\n}), un = /* @__PURE__ */ ne({\n __name: \"ATableModal\",\n props: {\n store: {}\n },\n setup(e) {\n const t = we(\"amodal\"), { width: o, height: a } = _e(t), n = D(() => {\n if (!(e.store.modal.height && e.store.modal.width && e.store.modal.left && e.store.modal.bottom)) return {};\n const l = e.store.modal.cell?.closest(\"table\");\n if (!l) return {};\n const s = l.offsetHeight || 0, d = l.offsetWidth || 0;\n let r = e.store.modal.cell?.offsetTop || 0;\n const i = l.querySelector(\"thead\")?.offsetHeight || 0;\n r += i, r = r + a.value < s ? r : r - (a.value + e.store.modal.height);\n let p = e.store.modal.cell?.offsetLeft || 0;\n return p = p + o.value <= d ? p : p - (o.value - e.store.modal.width), {\n left: `${p}px`,\n top: `${r}px`\n };\n });\n return (l, s) => (y(), k(\"div\", {\n ref: \"amodal\",\n class: \"amodal\",\n tabindex: \"-1\",\n style: Ce(n.value),\n onClick: s[0] || (s[0] = te(() => {\n }, [\"stop\"])),\n onInput: s[1] || (s[1] = te(() => {\n }, [\"stop\"]))\n }, [\n Te(l.$slots, \"default\")\n ], 36));\n }\n});\nfunction cl(e) {\n return e.filter((t) => !t.hidden && t.component).map(({ fieldname: t, hidden: o, ...a }) => {\n const n = Object.assign({ name: t }, a);\n return a.doctype && !a.cellComponent && (n.linkDoctype = a.doctype, a.format || (n.format = (l) => {\n if (l == null) return \"\";\n if (typeof l == \"object\") {\n const s = l.displayText ?? l.id ?? \"\";\n return typeof s == \"string\" || typeof s == \"number\" ? String(s) : \"\";\n }\n return String(l);\n })), Vt(a.component) === \"quantity\" && !a.format && (n.format = ln), n;\n });\n}\nconst vl = {\n class: \"atable-container\",\n style: { position: \"relative\" }\n}, fl = /* @__PURE__ */ ne({\n __name: \"ATable\",\n props: /* @__PURE__ */ be({\n id: { default: \"\" },\n config: { default: () => new Object() },\n schema: { default: () => [] },\n linkResolver: { type: Function, default: void 0 }\n }, {\n rows: { required: !0 },\n rowsModifiers: {},\n columns: {},\n columnsModifiers: {}\n }),\n emits: /* @__PURE__ */ be([\"cellUpdate\", \"gantt:drag\", \"connection:event\", \"columns:update\", \"row:add\", \"row:click\", \"row:delete\", \"row:duplicate\", \"row:insert-above\", \"row:insert-below\", \"row:move\", \"row:open\"], [\"update:rows\", \"update:columns\"]),\n setup(e, { expose: t, emit: o }) {\n const a = Me(e, \"rows\"), n = Me(e, \"columns\"), l = o, s = we(\"table\"), d = n.value?.length ? n.value : cl(e.schema ?? []), r = wt(\"aformLinkResolver\", null), i = so({\n columns: d,\n rows: a.value,\n id: e.id,\n config: e.config,\n linkResolver: e.linkResolver ?? r\n });\n i.$onAction(({ name: c, store: T, args: C, after: I }) => {\n if (c === \"setCellData\" || c === \"setCellText\") {\n const [M, S, _] = C, E = T.getCellData(M, S);\n I(() => {\n a.value = [...i.rows], l(\"cellUpdate\", { colIndex: M, rowIndex: S, newValue: _, oldValue: E });\n });\n } else if (c === \"updateGanttBar\") {\n const [M] = C;\n let S = !1;\n M.type === \"resize\" ? S = M.oldColspan !== M.newColspan : M.type === \"bar\" && (S = M.oldStart !== M.newStart || M.oldEnd !== M.newEnd), S && I(() => {\n l(\"gantt:drag\", M);\n });\n } else c === \"resizeColumn\" && I(() => {\n n.value = [...i.columns], l(\"columns:update\", [...i.columns]);\n });\n }), oe(\n () => a.value,\n (c) => {\n JSON.stringify(c) !== JSON.stringify(i.rows) && (i.rows = [...c]);\n },\n { deep: !0 }\n ), oe(\n n,\n (c) => {\n c && JSON.stringify(c) !== JSON.stringify(i.columns) && (i.columns = [...c], l(\"columns:update\", [...c]));\n },\n { deep: !0 }\n ), Le(() => {\n n.value?.some((c) => c.pinned) && (v(), i.isTreeView && nn(s, v, { childList: !0, subtree: !0 }));\n });\n const p = D(() => i.columns.filter((c) => c.pinned).length), v = () => {\n const c = s.value, T = c?.rows[0], C = c?.rows[1], I = T ? Array.from(T.cells) : [];\n for (const [M, S] of I.entries()) {\n const _ = C?.cells[M];\n _ && (S.style.width = `${_.offsetWidth}px`);\n }\n for (const M of c?.rows || []) {\n let S = 0;\n const _ = [];\n for (const E of M.cells)\n (E.classList.contains(\"sticky-column\") || E.classList.contains(\"sticky-index\")) && (E.style.left = `${S}px`, S += E.offsetWidth, _.push(E));\n _.length > 0 && _[_.length - 1].classList.add(\"sticky-column-edge\");\n }\n };\n window.addEventListener(\"keydown\", (c) => {\n if (c.key === \"Escape\" && i.modal.visible) {\n i.modal.visible = !1;\n const T = i.modal.parent;\n T && st().then(() => T.focus());\n }\n });\n const b = (c) => {\n if (!c.gantt || p.value === 0)\n return i.columns;\n const T = [];\n for (let C = 0; C < p.value; C++) {\n const I = { ...i.columns[C] };\n I.originalIndex = C, T.push(I);\n }\n return T.push({\n ...i.columns[p.value],\n isGantt: !0,\n colspan: c.gantt?.colspan || i.columns.length - p.value,\n originalIndex: p.value,\n width: \"auto\"\n // TODO: refactor to API that can detect when data exists in a cell. Might have be custom and not generalizable\n }), T;\n }, x = (c) => {\n l(\"connection:event\", { type: \"create\", connection: c });\n }, m = (c) => {\n l(\"connection:event\", { type: \"delete\", connection: c });\n }, g = (c, T) => {\n const C = i.rows[c];\n l(\"row:click\", { row: C, rowIndex: c, event: T });\n }, u = (c, T, C) => {\n switch (c) {\n case \"add\": {\n const I = i.addRow({}, T + 1), M = i.rows[I];\n a.value = [...i.rows], l(\"row:add\", { rowIndex: I, row: M });\n break;\n }\n case \"delete\": {\n const I = i.deleteRow(T);\n I && (a.value = [...i.rows], l(\"row:delete\", { rowIndex: T, row: I }));\n break;\n }\n case \"duplicate\": {\n const I = i.duplicateRow(T);\n if (I >= 0) {\n const M = i.rows[I];\n a.value = [...i.rows], l(\"row:duplicate\", { sourceIndex: T, newIndex: I, row: M });\n }\n break;\n }\n case \"insertAbove\": {\n const I = i.insertRowAbove(T), M = i.rows[I];\n a.value = [...i.rows], l(\"row:insert-above\", { targetIndex: T, newIndex: I, row: M });\n break;\n }\n case \"insertBelow\": {\n const I = i.insertRowBelow(T), M = i.rows[I];\n a.value = [...i.rows], l(\"row:insert-below\", { targetIndex: T, newIndex: I, row: M });\n break;\n }\n case \"move\": {\n l(\"row:move\", { fromIndex: T, toIndex: -1 });\n break;\n }\n case \"moveUp\": {\n T > 0 && i.moveRow(T, T - 1) && (a.value = [...i.rows], l(\"row:move\", { fromIndex: T, toIndex: T - 1 }));\n break;\n }\n case \"moveDown\": {\n T < i.rows.length - 1 && i.moveRow(T, T + 1) && (a.value = [...i.rows], l(\"row:move\", { fromIndex: T, toIndex: T + 1 }));\n break;\n }\n case \"open\": {\n const I = i.rows[T];\n l(\"row:open\", { row: I, rowIndex: T, event: C });\n break;\n }\n }\n };\n return t({\n store: i,\n createConnection: i.createConnection,\n deleteConnection: i.deleteConnection,\n getConnectionsForBar: i.getConnectionsForBar,\n getHandlesForBar: i.getHandlesForBar,\n // Row action methods\n addRow: i.addRow,\n deleteRow: i.deleteRow,\n duplicateRow: i.duplicateRow,\n insertRowAbove: i.insertRowAbove,\n insertRowBelow: i.insertRowBelow,\n moveRow: i.moveRow\n }), (c, T) => (y(), k(\"div\", vl, [\n j((y(), k(\"table\", {\n ref: \"table\",\n class: \"atable\",\n style: Ce({\n width: P(i).config.fullWidth ? \"100%\" : \"auto\"\n })\n }, [\n Te(c.$slots, \"header\", { data: P(i) }, () => [\n je(rn, {\n columns: P(i).columns,\n store: P(i)\n }, null, 8, [\"columns\", \"store\"])\n ], !0),\n h(\"tbody\", null, [\n Te(c.$slots, \"body\", { data: P(i) }, () => [\n (y(!0), k(z, null, ge(P(i).filteredRows, (C, I) => (y(), me(sn, {\n key: `${C.originalIndex}-${I}`,\n row: C,\n \"row-index\": C.originalIndex,\n store: P(i),\n \"onRow:action\": u,\n \"onRow:click\": g\n }, {\n default: qt(() => [\n (y(!0), k(z, null, ge(b(C), (M, S) => (y(), k(z, {\n key: M.name\n }, [\n M.isGantt ? (y(), me(Ne(M.ganttComponent || \"AGanttCell\"), {\n key: 0,\n store: P(i),\n \"columns-count\": P(i).columns.length - p.value,\n color: C.gantt?.color,\n start: C.gantt?.startIndex,\n end: C.gantt?.endIndex,\n colspan: M.colspan,\n pinned: M.pinned,\n \"row-index\": C.originalIndex,\n \"col-index\": M.originalIndex ?? S,\n style: Ce({\n textAlign: M?.align || \"center\",\n minWidth: M?.width || \"40ch\",\n width: P(i).config.fullWidth ? \"auto\" : null\n }),\n \"onConnection:create\": x\n }, null, 40, [\"store\", \"columns-count\", \"color\", \"start\", \"end\", \"colspan\", \"pinned\", \"row-index\", \"col-index\", \"style\"])) : (y(), me(Ne(M.cellComponent || \"ACell\"), {\n key: 1,\n store: P(i),\n pinned: M.pinned,\n \"row-index\": C.originalIndex,\n \"col-index\": S,\n style: Ce({\n textAlign: M?.align || \"center\",\n width: P(i).config.fullWidth ? \"auto\" : null\n }),\n spellcheck: \"false\"\n }, null, 8, [\"store\", \"pinned\", \"row-index\", \"col-index\", \"style\"]))\n ], 64))), 128))\n ]),\n _: 2\n }, 1032, [\"row\", \"row-index\", \"store\"]))), 128))\n ], !0)\n ]),\n Te(c.$slots, \"footer\", { data: P(i) }, void 0, !0),\n Te(c.$slots, \"modal\", { data: P(i) }, () => [\n j(je(un, { store: P(i) }, {\n default: qt(() => [\n (y(), me(Ne(P(i).modal.component), at({\n key: `${P(i).modal.rowIndex}:${P(i).modal.colIndex}`,\n \"col-index\": P(i).modal.colIndex,\n \"row-index\": P(i).modal.rowIndex,\n store: P(i)\n }, P(i).modal.componentProps), null, 16, [\"col-index\", \"row-index\", \"store\"]))\n ]),\n _: 1\n }, 8, [\"store\"]), [\n [pe, P(i).modal.visible]\n ])\n ], !0)\n ], 4)), [\n [P(No), P(i).closeModal]\n ]),\n P(i).isGanttView && P(i).isDependencyGraphEnabled ? (y(), me(Xo, {\n key: 0,\n store: P(i),\n \"onConnection:delete\": m\n }, null, 8, [\"store\"])) : Z(\"\", !0)\n ]));\n }\n}), ml = /* @__PURE__ */ Oe(fl, [[\"__scopeId\", \"data-v-4bfbbeab\"]]), hl = {}, pl = { class: \"aloading\" }, gl = { class: \"aloading-header\" };\nfunction yl(e, t) {\n return y(), k(\"div\", pl, [\n h(\"h2\", gl, [\n Te(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = h(\"div\", { class: \"aloading-bar\" }, null, -1))\n ]);\n}\nconst wl = /* @__PURE__ */ Oe(hl, [[\"render\", yl], [\"__scopeId\", \"data-v-a930a25b\"]]), bl = {}, xl = { class: \"aloading\" }, kl = { class: \"aloading-header\" };\nfunction Ml(e, t) {\n return y(), k(\"div\", xl, [\n h(\"h2\", kl, [\n Te(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = h(\"div\", { class: \"aloading-bar\" }, null, -1))\n ]);\n}\nconst Il = /* @__PURE__ */ Oe(bl, [[\"render\", Ml], [\"__scopeId\", \"data-v-e1165876\"]]);\nfunction Tl(e) {\n e.component(\"ACell\", co), e.component(\"AGanttCell\", yo), e.component(\"ARow\", sn), e.component(\"ARowActions\", tt), e.component(\"ATable\", ml), e.component(\"ATableHeader\", rn), e.component(\"ATableLoading\", wl), e.component(\"ATableLoadingBar\", Il), e.component(\"ATableModal\", un);\n}\nconst $l = { class: \"aform_form-element\" }, Dl = { class: \"aform_field-label\" }, Cl = { class: \"aform_display-value\" }, Al = [\"for\"], Sl = { class: \"aform_checkbox-container aform_input-field\" }, Ll = [\"id\", \"disabled\", \"required\"], Rl = [\"innerHTML\"], El = /* @__PURE__ */ ne({\n __name: \"ACheckbox\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: { type: [Boolean, String, Array, Set] },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = D(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), o = Me(e, \"modelValue\");\n return (a, n) => (y(), k(\"div\", $l, [\n e.mode === \"display\" ? (y(), k(z, { key: 0 }, [\n h(\"label\", Dl, H(e.label), 1),\n h(\"span\", Cl, H(o.value ? \"✓\" : \"✗\"), 1)\n ], 64)) : (y(), k(z, { key: 1 }, [\n h(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, H(e.label), 9, Al),\n h(\"span\", Sl, [\n j(h(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": n[0] || (n[0] = (l) => o.value = l),\n type: \"checkbox\",\n class: \"aform_checkbox\",\n disabled: e.mode === \"read\",\n required: e.required\n }, null, 8, Ll), [\n [Kt, o.value]\n ])\n ]),\n j(h(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, Rl), [\n [pe, t.value]\n ])\n ], 64))\n ]));\n }\n}), xe = (e, t) => {\n const o = e.__vccOpts || e;\n for (const [a, n] of t)\n o[a] = n;\n return o;\n}, Hl = /* @__PURE__ */ xe(El, [[\"__scopeId\", \"data-v-ca06741d\"]]);\nfunction dn(e, t) {\n return Tt() ? ($t(e, t), !0) : !1;\n}\n// @__NO_SIDE_EFFECTS__\nfunction jt() {\n const e = /* @__PURE__ */ new Set(), t = (l) => {\n e.delete(l);\n };\n return {\n on: (l) => {\n e.add(l);\n const s = () => t(l);\n return dn(s), { off: s };\n },\n off: t,\n trigger: (...l) => Promise.all(Array.from(e).map((s) => s(...l))),\n clear: () => {\n e.clear();\n }\n };\n}\nconst cn = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Bl = Object.prototype.toString, Vl = (e) => Bl.call(e) === \"[object Object]\", We = () => {\n}, Fl = (e, t) => Object.prototype.hasOwnProperty.call(e, t);\nfunction Pl(...e) {\n if (e.length !== 1) return Yt(...e);\n const t = e[0];\n return typeof t == \"function\" ? St(At(() => ({\n get: t,\n set: We\n }))) : L(t);\n}\nfunction mt(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction _l(e, t, o) {\n return oe(e, t, {\n ...o,\n immediate: !0\n });\n}\nconst vn = cn ? window : void 0, ql = cn ? window.document : void 0;\nfunction Ue(e) {\n var t;\n const o = V(e);\n return (t = o?.$el) !== null && t !== void 0 ? t : o;\n}\nfunction ht(...e) {\n const t = (a, n, l, s) => (a.addEventListener(n, l, s), () => a.removeEventListener(n, l, s)), o = D(() => {\n const a = mt(V(e[0])).filter((n) => n != null);\n return a.every((n) => typeof n != \"string\") ? a : void 0;\n });\n return _l(() => {\n var a, n;\n return [\n (a = (n = o.value) === null || n === void 0 ? void 0 : n.map((l) => Ue(l))) !== null && a !== void 0 ? a : [vn].filter((l) => l != null),\n mt(V(o.value ? e[1] : e[0])),\n mt(P(o.value ? e[2] : e[1])),\n V(o.value ? e[3] : e[2])\n ];\n }, ([a, n, l, s], d, r) => {\n if (!a?.length || !n?.length || !l?.length) return;\n const i = Vl(s) ? { ...s } : s, p = a.flatMap((v) => n.flatMap((b) => l.map((x) => t(v, b, x, i))));\n r(() => {\n p.forEach((v) => v());\n });\n }, { flush: \"post\" });\n}\nfunction lt(e, t, o = {}) {\n const { window: a = vn, ignore: n = [], capture: l = !0, detectIframe: s = !1, controls: d = !1 } = o;\n if (!a) return d ? {\n stop: We,\n cancel: We,\n trigger: We\n } : We;\n let r = !0;\n const i = (u) => V(n).some((c) => {\n if (typeof c == \"string\") return Array.from(a.document.querySelectorAll(c)).some((T) => T === u.target || u.composedPath().includes(T));\n {\n const T = Ue(c);\n return T && (u.target === T || u.composedPath().includes(T));\n }\n });\n function p(u) {\n const c = V(u);\n return c && c.$.subTree.shapeFlag === 16;\n }\n function v(u, c) {\n const T = V(u), C = T.$.subTree && T.$.subTree.children;\n return C == null || !Array.isArray(C) ? !1 : C.some((I) => I.el === c.target || c.composedPath().includes(I.el));\n }\n const b = (u) => {\n const c = Ue(e);\n if (u.target != null && !(!(c instanceof Element) && p(e) && v(e, u)) && !(!c || c === u.target || u.composedPath().includes(c))) {\n if (\"detail\" in u && u.detail === 0 && (r = !i(u)), !r) {\n r = !0;\n return;\n }\n t(u);\n }\n };\n let x = !1;\n const m = [\n ht(a, \"click\", (u) => {\n x || (x = !0, setTimeout(() => {\n x = !1;\n }, 0), b(u));\n }, {\n passive: !0,\n capture: l\n }),\n ht(a, \"pointerdown\", (u) => {\n const c = Ue(e);\n r = !i(u) && !!(c && !u.composedPath().includes(c));\n }, { passive: !0 }),\n s && ht(a, \"blur\", (u) => {\n setTimeout(() => {\n var c;\n const T = Ue(e);\n ((c = a.document.activeElement) === null || c === void 0 ? void 0 : c.tagName) === \"IFRAME\" && !T?.contains(a.document.activeElement) && t(u);\n }, 0);\n }, { passive: !0 })\n ].filter(Boolean), g = () => m.forEach((u) => u());\n return d ? {\n stop: g,\n cancel: () => {\n r = !1;\n },\n trigger: (u) => {\n r = !0, b(u), r = !1;\n }\n } : g;\n}\nconst Nl = {\n multiple: !0,\n accept: \"*\",\n reset: !1,\n directory: !1\n};\nfunction Ol(e) {\n if (!e) return null;\n if (e instanceof FileList) return e;\n const t = new DataTransfer();\n for (const o of e) t.items.add(o);\n return t.files;\n}\nfunction Ul(e = {}) {\n const { document: t = ql } = e, o = L(Ol(e.initialFiles)), { on: a, trigger: n } = /* @__PURE__ */ jt(), { on: l, trigger: s } = /* @__PURE__ */ jt(), d = D(() => {\n var v;\n const b = (v = Ue(e.input)) !== null && v !== void 0 ? v : t ? t.createElement(\"input\") : void 0;\n return b && (b.type = \"file\", b.onchange = (x) => {\n o.value = x.target.files, n(o.value);\n }, b.oncancel = () => {\n s();\n }), b;\n }), r = () => {\n o.value = null, d.value && d.value.value && (d.value.value = \"\", n(null));\n }, i = (v) => {\n const b = d.value;\n b && (b.multiple = V(v.multiple), b.accept = V(v.accept), b.webkitdirectory = V(v.directory), Fl(v, \"capture\") && (b.capture = V(v.capture)));\n }, p = (v) => {\n const b = d.value;\n if (!b) return;\n const x = {\n ...Nl,\n ...e,\n ...v\n };\n i(x), V(x.reset) && r(), b.click();\n };\n return Ct(() => {\n i(e);\n }), {\n files: St(o),\n open: p,\n reset: r,\n onCancel: l,\n onChange: a\n };\n}\nfunction pt(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nconst gt = /* @__PURE__ */ new WeakMap();\nfunction Zl(e, t = !1) {\n const o = ye(t);\n let a = \"\";\n oe(Pl(e), (s) => {\n const d = pt(V(s));\n if (d) {\n const r = d;\n if (gt.get(r) || gt.set(r, r.style.overflow), r.style.overflow !== \"hidden\" && (a = r.style.overflow), r.style.overflow === \"hidden\") return o.value = !0;\n if (o.value) return r.style.overflow = \"hidden\";\n }\n }, { immediate: !0 });\n const n = () => {\n const s = pt(V(e));\n !s || o.value || (s.style.overflow = \"hidden\", o.value = !0);\n }, l = () => {\n const s = pt(V(e));\n !s || !o.value || (s.style.overflow = a, gt.delete(s), o.value = !1);\n };\n return dn(l), D({\n get() {\n return o.value;\n },\n set(s) {\n s ? n() : l();\n }\n });\n}\nconst Gl = { class: \"aform_display-value\" }, Wl = { key: 0 }, jl = [\"innerHTML\"], zl = {\n ref: \"datepicker\",\n class: \"adatepicker\",\n tabindex: \"0\"\n}, Kl = {\n colspan: \"5\",\n tabindex: -1\n}, Xl = { key: 0 }, Yl = { colspan: \"7\" }, Ql = { class: \"date-input\" }, Jl = [\"value\"], ea = [\"value\"], ta = [\"onClick\", \"onKeydown\", \"onMouseover\"], na = [\"innerHTML\"], oa = 6, zt = 7, la = /* @__PURE__ */ ne({\n __name: \"ADatePicker\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean, default: !1 },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: { default: /* @__PURE__ */ new Date() },\n modelModifiers: {}\n }),\n emits: /* @__PURE__ */ be([\"get-date\"], [\"update:modelValue\"]),\n setup(e, { expose: t, emit: o }) {\n const a = D(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), n = Me(e, \"modelValue\"), l = L(new Date(n.value)), s = L(l.value.getMonth()), d = L(l.value.getFullYear()), r = L([]), i = L(new Date(n.value)), p = L(null), v = L(null), b = we(\"start-date-input\"), x = we(\"end-date-input\"), m = o, g = D(() => new Date(d.value, s.value, 1).toLocaleDateString(void 0, {\n year: \"numeric\",\n month: \"long\"\n })), u = D(() => p.value != null ? T(p.value) : \"\"), c = D(() => v.value != null ? T(v.value) : \"\"), T = ($) => fe($) ? $.getMonth() + 1 + \"/\" + $.getDate() + \"/\" + $.getFullYear() : \"\", C = ($) => {\n const R = /* @__PURE__ */ new Date();\n return s.value !== R.getMonth() ? !1 : R.toDateString() === new Date($).toDateString();\n }, I = ($) => new Date($).toDateString() === new Date(l.value).toDateString(), M = ($) => {\n const R = p.value;\n return fe(R) ? new Date($).toDateString() === R.toDateString() : !1;\n }, S = ($) => {\n const R = v.value;\n return fe(R) ? new Date($).toDateString() === R.toDateString() : !1;\n }, _ = ($, R) => ($ - 1) * zt + R, E = ($) => {\n const R = p.value;\n if (!fe(R)) return !1;\n const U = new Date($), q = v.value, re = fe(q) ? q : new Date(i.value);\n return U.getTime() > R.getTime() && U.getTime() < re.getTime();\n }, F = ($, R) => r.value[_($, R)], X = ($) => {\n i.value = new Date(r.value[$]);\n }, Q = () => {\n r.value = [];\n const $ = new Date(d.value, s.value, 1), R = $.getDay(), U = $.setDate($.getDate() - R);\n for (const q of Array(43).keys())\n r.value.push(U + q * 864e5);\n }, le = () => d.value -= 1, ue = () => d.value += 1, $e = () => {\n s.value == 0 ? (s.value = 11, le()) : s.value -= 1;\n }, Ie = () => {\n s.value == 11 ? (s.value = 0, ue()) : s.value += 1;\n }, He = ($) => {\n $.key === \"Enter\" && Ae();\n }, Be = ($) => {\n if (n.value = l.value = new Date(r.value[$]), e.selectRange) {\n const R = p.value;\n R == null || v.value != null ? (p.value = n.value, v.value = null) : fe(R) && l.value.getTime() < R.getTime() ? (v.value = null, p.value = n.value) : v.value = n.value, b.value && (b.value.value = T(p.value) ?? \"\"), x.value && (x.value.value = T(v.value) ?? \"\");\n }\n B();\n }, Pe = () => {\n const $ = p.value, R = v.value;\n fe(R) && fe($) && R.getTime() < $.getTime() && ([p.value, v.value] = [R, $]);\n }, fe = ($) => $ instanceof Date && !isNaN($.getTime()), Ae = () => {\n if (b.value?.value == \"\")\n p.value = null;\n else if (b.value) {\n const $ = new Date(b.value.value);\n p.value = fe($) ? $ : null;\n }\n if (x.value?.value == \"\")\n v.value = null;\n else if (x.value) {\n const $ = new Date(x.value.value);\n v.value = fe($) ? $ : null;\n }\n fe(p.value) && (fe(v.value) && Pe(), l.value = p.value), B();\n }, B = () => {\n m(\"get-date\", {\n start: e.selectRange ? p.value : null,\n end: e.selectRange ? v.value : null,\n selected: l.value\n });\n };\n return Le(async () => {\n Q(), await st();\n const $ = document.getElementsByClassName(\"selectedDate\");\n if ($.length > 0)\n $[0].focus();\n else {\n const R = document.getElementsByClassName(\"todaysDate\");\n R.length > 0 && R[0].focus();\n }\n }), oe([s, d], Q), t({ currentMonth: s, currentYear: d, selectedDate: l }), ($, R) => e.mode === \"display\" || e.mode === \"read\" ? (y(), k(z, { key: 0 }, [\n h(\"span\", Gl, H(n.value ? new Date(n.value).toLocaleDateString() : \"\"), 1),\n e.label ? (y(), k(\"label\", Wl, H(e.label), 1)) : Z(\"\", !0),\n j(h(\"p\", {\n class: \"aform_error\",\n innerHTML: a.value\n }, null, 8, jl), [\n [pe, a.value]\n ])\n ], 64)) : (y(), k(z, { key: 1 }, [\n h(\"div\", zl, [\n h(\"table\", null, [\n h(\"tbody\", null, [\n h(\"tr\", null, [\n h(\"td\", {\n id: \"previous-month-btn\",\n tabindex: -1,\n onClick: $e\n }, \"<\"),\n h(\"th\", Kl, H(g.value), 1),\n h(\"td\", {\n id: \"next-month-btn\",\n tabindex: -1,\n onClick: Ie\n }, \">\")\n ]),\n e.selectRange ? (y(), k(\"tr\", Xl, [\n h(\"td\", Yl, [\n h(\"div\", Ql, [\n h(\"input\", {\n ref: \"start-date-input\",\n value: u.value,\n class: \"date-input-start aform_input-field\",\n type: \"text\",\n placeholder: \"start date\",\n onBlur: R[0] || (R[0] = (U) => Ae()),\n onKeydown: He\n }, null, 40, Jl),\n R[2] || (R[2] = h(\"div\", null, \"-\", -1)),\n h(\"input\", {\n ref: \"end-date-input\",\n value: c.value,\n class: \"date-input-end aform_input-field\",\n type: \"text\",\n placeholder: \"end date\",\n onBlur: R[1] || (R[1] = (U) => Ae()),\n onKeydown: He\n }, null, 40, ea)\n ])\n ])\n ])) : Z(\"\", !0),\n R[3] || (R[3] = h(\"tr\", { class: \"days-header\" }, [\n h(\"td\", null, \"M\"),\n h(\"td\", null, \"T\"),\n h(\"td\", null, \"W\"),\n h(\"td\", null, \"T\"),\n h(\"td\", null, \"F\"),\n h(\"td\", null, \"S\"),\n h(\"td\", null, \"S\")\n ], -1)),\n (y(), k(z, null, ge(oa, (U) => h(\"tr\", { key: U }, [\n (y(), k(z, null, ge(zt, (q) => h(\"td\", {\n ref_for: !0,\n ref: \"celldate\",\n key: _(U, q),\n class: ie([\"date-cell\", {\n todaysDate: C(F(U, q)),\n selectedDate: I(F(U, q)),\n withinRange: e.selectRange ? E(F(U, q)) : !1,\n startDate: e.selectRange ? M(F(U, q)) : !1,\n endDate: e.selectRange ? S(F(U, q)) : !1\n }]),\n contenteditable: !1,\n spellcheck: !1,\n tabindex: 0,\n onClick: te((re) => Be(_(U, q)), [\"prevent\", \"stop\"]),\n onKeydown: se((re) => Be(_(U, q)), [\"enter\"]),\n onMouseover: (re) => X(_(U, q))\n }, H(new Date(F(U, q)).getDate()), 43, ta)), 64))\n ])), 64))\n ])\n ])\n ], 512),\n j(h(\"p\", {\n class: \"aform_error\",\n innerHTML: a.value\n }, null, 8, na), [\n [pe, a.value]\n ])\n ], 64));\n }\n}), fn = /* @__PURE__ */ xe(la, [[\"__scopeId\", \"data-v-51c0c73a\"]]), aa = { class: \"adate_time\" }, sa = { class: \"adate_time_fields\" }, ra = [\"onKeydown\"], ia = [\"onKeydown\"], ua = {\n key: 0,\n class: \"colon\"\n}, da = [\"onKeydown\"], ca = /* @__PURE__ */ ne({\n __name: \"ADateTime\",\n props: {\n allowMilitaryTime: { type: Boolean, default: !1 },\n defaultHours: { default: 12 },\n defaultMinutes: { default: 0 },\n defaultSeconds: { default: 0 },\n defaultMeridiem: { default: \"AM\" },\n useSeconds: { type: Boolean, default: !0 }\n },\n emits: [\"get-time\"],\n setup(e, { emit: t }) {\n const o = t, a = we(\"meridiem-selector\"), n = rt({\n hours: String(e.defaultHours).padStart(2, \"0\"),\n minutes: String(e.defaultMinutes).padStart(2, \"0\"),\n seconds: String(e.defaultSeconds).padStart(2, \"0\")\n }), l = L(e.defaultMeridiem == \"AM\" ? \"AM\" : \"PM\");\n Le(() => {\n d();\n });\n const s = () => {\n const x = e.allowMilitaryTime ? 23 : 12, m = e.allowMilitaryTime ? 0 : 1;\n let g = Number(n.hours), u = Number(n.minutes), c = Number(n.seconds);\n (isNaN(g) || n.hours === \"\" || g > x) && (g = x), !e.allowMilitaryTime && g < m && (g = m), (isNaN(u) || n.minutes === \"\" || u > 59) && (u = 59), (isNaN(c) || n.seconds === \"\" || c > 59) && (c = 59), n.hours = String(g).padStart(2, \"0\"), n.minutes = String(u).padStart(2, \"0\"), n.seconds = String(c).padStart(2, \"0\"), d();\n }, d = () => {\n const x = Number(n.hours), m = Number(n.minutes), g = Number(n.seconds);\n o(\"get-time\", {\n hours: x,\n minutes: m,\n seconds: g,\n meridiem: l.value,\n militaryTime: e.allowMilitaryTime ? x : l.value === \"PM\" ? x === 12 ? 12 : x + 12 : x % 12\n });\n }, r = (x) => {\n const m = x.target;\n m instanceof HTMLInputElement && m.select();\n }, i = (x, m = 1) => {\n const g = e.allowMilitaryTime ? 23 : 12, u = e.allowMilitaryTime ? 0 : 1;\n if (x == \"hours\") {\n const C = Number(n.hours);\n n.hours = String(C + m), (C == 11 && Number(n.hours) == 12 || C == 12 && Number(n.hours) == 11) && v();\n } else x == \"minutes\" ? n.minutes = String(Number(n.minutes) + m) : x == \"seconds\" && (n.seconds = String(Number(n.seconds) + m));\n const c = Number(n.hours);\n Number(n.seconds) < 0 ? n.minutes = String(Number(n.minutes) - 1) : Number(n.seconds) > 59 && (n.minutes = String(Number(n.minutes) + 1)), Number(n.minutes) < 0 ? n.hours = String(c - 1) : Number(n.minutes) > 59 && (n.hours = String(c + 1));\n const T = Number(n.hours);\n !e.allowMilitaryTime && T !== c && (c === 11 && T === 12 || c === 12 && T === 11) && v(), n.hours = String(p(Number(n.hours), u, g)).padStart(2, \"0\"), n.minutes = String(p(Number(n.minutes), 0, 59)).padStart(2, \"0\"), n.seconds = String(p(Number(n.seconds), 0, 59)).padStart(2, \"0\");\n };\n oe(\n () => n.hours,\n (x, m) => {\n n.hours = Number(x) > 99 ? m : x;\n }\n ), oe(\n () => n.minutes,\n (x, m) => {\n n.minutes = Number(x) > 99 ? m : x;\n }\n ), oe(\n () => n.seconds,\n (x, m) => {\n n.seconds = Number(x) > 99 ? m : x;\n }\n );\n const p = (x, m, g) => x > g ? m : x < m ? g : x, v = () => {\n l.value = l.value == \"PM\" ? \"AM\" : \"PM\", d();\n }, b = (x, m = !1) => {\n x.stopPropagation(), x.preventDefault();\n const g = x.clipboardData;\n if (!g) return;\n let u = g.getData(\"Text\");\n if (u = u.replace(/[^0-9]/g, \"\"), m) {\n u.length % 2 != 0 && (u = \"0\" + u), u.length < 3 && (u += \"00\"), u.length < 5 && (u += \"00\");\n const c = u.match(/(..?)/g);\n if (!c || c.length < 3) return;\n n.seconds = c[2], n.minutes = c[1], n.hours = c[0], s(), e.allowMilitaryTime || a.value?.focus();\n } else {\n u.length > 2 && (u = u.slice(0, 2));\n const c = x.target;\n c instanceof HTMLInputElement && (c.value = u, c.dispatchEvent(new Event(\"input\")));\n }\n };\n return (x, m) => (y(), k(\"div\", aa, [\n h(\"div\", sa, [\n j(h(\"input\", {\n \"onUpdate:modelValue\": m[0] || (m[0] = (g) => n.hours = g),\n type: \"text\",\n inputmode: \"numeric\",\n onPaste: m[1] || (m[1] = (g) => b(g, !0)),\n onFocus: r,\n onBlur: s,\n onKeydown: [\n se(te(s, [\"prevent\"]), [\"enter\"]),\n m[2] || (m[2] = se(te((g) => i(\"hours\"), [\"prevent\"]), [\"up\"])),\n m[3] || (m[3] = se(te((g) => i(\"hours\", -1), [\"prevent\"]), [\"down\"]))\n ]\n }, null, 40, ra), [\n [he, n.hours]\n ]),\n m[12] || (m[12] = h(\"span\", { class: \"colon\" }, \":\", -1)),\n j(h(\"input\", {\n \"onUpdate:modelValue\": m[4] || (m[4] = (g) => n.minutes = g),\n type: \"text\",\n inputmode: \"numeric\",\n onPaste: b,\n onFocus: r,\n onBlur: s,\n onKeydown: [\n se(te(s, [\"prevent\"]), [\"enter\"]),\n m[5] || (m[5] = se(te((g) => i(\"minutes\"), [\"prevent\"]), [\"up\"])),\n m[6] || (m[6] = se(te((g) => i(\"minutes\", -1), [\"prevent\"]), [\"down\"]))\n ]\n }, null, 40, ia), [\n [he, n.minutes]\n ]),\n e.useSeconds ? (y(), k(\"span\", ua, \":\")) : Z(\"\", !0),\n e.useSeconds ? j((y(), k(\"input\", {\n key: 1,\n \"onUpdate:modelValue\": m[7] || (m[7] = (g) => n.seconds = g),\n type: \"text\",\n inputmode: \"numeric\",\n onPaste: b,\n onFocus: r,\n onBlur: s,\n onKeydown: [\n se(te(s, [\"prevent\"]), [\"enter\"]),\n m[8] || (m[8] = se(te((g) => i(\"seconds\"), [\"prevent\"]), [\"up\"])),\n m[9] || (m[9] = se(te((g) => i(\"seconds\", -1), [\"prevent\"]), [\"down\"]))\n ]\n }, null, 40, da)), [\n [he, n.seconds]\n ]) : Z(\"\", !0),\n e.allowMilitaryTime ? Z(\"\", !0) : j((y(), k(\"select\", {\n key: 2,\n ref: \"meridiem-selector\",\n \"onUpdate:modelValue\": m[10] || (m[10] = (g) => l.value = g),\n class: \"aform-select meridiem-selector\",\n onChange: s\n }, [...m[11] || (m[11] = [\n h(\"option\", { value: \"AM\" }, \"AM\", -1),\n h(\"option\", { value: \"PM\" }, \"PM\", -1)\n ])], 544)), [\n [Xt, l.value]\n ])\n ])\n ]));\n }\n}), Mt = /* @__PURE__ */ xe(ca, [[\"__scopeId\", \"data-v-959a3e41\"]]), va = { class: \"adate-selection\" }, fa = {\n key: 3,\n class: \"empty\"\n}, ma = /* @__PURE__ */ ne({\n __name: \"ADateSelection\",\n props: {\n showDate: { type: Boolean, default: !0 },\n showTime: { type: Boolean, default: !0 },\n selectRange: { type: Boolean, default: !0 },\n showEndTime: { type: Boolean, default: !1 },\n allowMilitaryTime: { type: Boolean, default: !1 },\n defaultHours: { default: 12 },\n defaultMinutes: { default: 0 },\n defaultSeconds: { default: 0 },\n defaultMeridiem: { default: \"AM\" },\n useSeconds: { type: Boolean, default: !0 }\n },\n emits: [\"get-date\", \"get-time\", \"get-range\"],\n setup(e, { emit: t }) {\n const o = t;\n bn(\"select-range\", e.selectRange);\n const a = /* @__PURE__ */ new Date(), n = L(a), l = L(a), s = L(0), d = L(0), r = (m, g) => {\n const u = new Date(m);\n return u.setHours(0, 0, 0, 0), new Date(u.getTime() + g);\n }, i = (m) => {\n let g;\n if (m.militaryTime !== void 0)\n g = m.militaryTime;\n else {\n const u = m.hours % 12;\n g = m.meridiem === \"PM\" ? u + 12 : u;\n }\n return (g * 3600 + m.minutes * 60 + (m.seconds ?? 0)) * 1e3;\n }, p = () => {\n !e.selectRange || !e.showTime || !e.showEndTime || o(\"get-range\", {\n start: r(n.value, s.value),\n end: r(l.value, d.value)\n });\n }, v = (m) => {\n o(\"get-date\", m), e.selectRange && (n.value = m.start ?? m.selected, l.value = m.end ?? m.selected, p());\n }, b = (m) => {\n s.value = i(m), e.showEndTime ? p() : o(\"get-time\", m);\n }, x = (m) => {\n d.value = i(m), p();\n };\n return (m, g) => (y(), k(\"div\", va, [\n e.showDate ? (y(), me(fn, {\n key: 0,\n \"select-range\": e.selectRange,\n onGetDate: v\n }, null, 8, [\"select-range\"])) : Z(\"\", !0),\n e.showTime ? (y(), me(Mt, {\n key: 1,\n \"allow-military-time\": e.allowMilitaryTime,\n \"default-hours\": e.defaultHours,\n \"default-minutes\": e.defaultMinutes,\n \"default-seconds\": e.defaultSeconds,\n \"default-meridiem\": e.defaultMeridiem,\n \"use-seconds\": e.useSeconds,\n onGetTime: b\n }, null, 8, [\"allow-military-time\", \"default-hours\", \"default-minutes\", \"default-seconds\", \"default-meridiem\", \"use-seconds\"])) : Z(\"\", !0),\n e.selectRange && e.showTime && e.showEndTime ? (y(), k(z, { key: 2 }, [\n g[0] || (g[0] = h(\"div\", { class: \"adate-selection__end-label\" }, \"End time\", -1)),\n je(Mt, {\n \"allow-military-time\": e.allowMilitaryTime,\n \"default-hours\": e.defaultHours,\n \"default-minutes\": e.defaultMinutes,\n \"default-seconds\": e.defaultSeconds,\n \"default-meridiem\": e.defaultMeridiem,\n \"use-seconds\": e.useSeconds,\n onGetTime: x\n }, null, 8, [\"allow-military-time\", \"default-hours\", \"default-minutes\", \"default-seconds\", \"default-meridiem\", \"use-seconds\"])\n ], 64)) : Z(\"\", !0),\n !e.showTime && !e.showDate ? (y(), k(\"p\", fa, \"empty\")) : Z(\"\", !0)\n ]));\n }\n}), it = /* @__PURE__ */ xe(ma, [[\"__scopeId\", \"data-v-eeadb3e2\"]]), ha = { class: \"aform_display-value\" }, pa = [\"id\", \"value\", \"disabled\", \"required\"], ga = [\"for\"], ya = [\"innerHTML\"], wa = /* @__PURE__ */ ne({\n __name: \"ADate\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: { default: \"Date\" },\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = D(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), o = Me(e, \"modelValue\"), a = L(o.value ? new Date(o.value) : /* @__PURE__ */ new Date()), n = D({\n get: () => a.value.toISOString().split(\"T\")[0],\n set: (r) => {\n a.value = new Date(r), o.value = r;\n }\n }), l = we(\"picker\"), s = L(!1);\n lt(l, () => s.value = !1), oe(\n () => o.value,\n (r) => {\n r && (a.value = new Date(r));\n }\n );\n const d = (r) => {\n a.value = r.selected, o.value = n.value;\n };\n return (r, i) => (y(), k(\"div\", null, [\n e.mode === \"display\" ? (y(), k(z, { key: 0 }, [\n h(\"span\", ha, H(o.value ? new Date(n.value).toLocaleDateString() : \"\"), 1),\n h(\"label\", null, H(e.label), 1)\n ], 64)) : (y(), k(z, { key: 1 }, [\n j(h(\"input\", {\n id: e.uuid,\n ref: \"date\",\n \"onUpdate:modelValue\": i[0] || (i[0] = (p) => n.value = p),\n class: \"adate-input\",\n value: n.value,\n type: \"date\",\n disabled: e.mode === \"read\",\n required: e.required,\n onClick: i[1] || (i[1] = te(\n () => {\n s.value = !s.value;\n },\n [\"prevent\"]\n ))\n }, null, 8, pa), [\n [he, n.value]\n ]),\n h(\"label\", { for: e.uuid }, H(e.label), 9, ga),\n j(h(\"p\", { innerHTML: t.value }, null, 8, ya), [\n [pe, t.value]\n ]),\n s.value ? (y(), me(it, {\n key: 0,\n ref: \"picker\",\n class: \"picker\",\n \"select-range\": !1,\n \"show-time\": !1,\n onGetDate: d\n }, null, 512)) : Z(\"\", !0)\n ], 64))\n ]));\n }\n}), ba = /* @__PURE__ */ xe(wa, [[\"__scopeId\", \"data-v-a73c275b\"]]), yt = /* @__PURE__ */ new WeakMap(), Ft = {\n mounted(e, t) {\n const o = !t.modifiers.bubble;\n let a;\n if (typeof t.value == \"function\") a = lt(e, t.value, { capture: o });\n else {\n const [n, l] = t.value;\n a = lt(e, n, Object.assign({ capture: o }, l));\n }\n yt.set(e, a);\n },\n unmounted(e) {\n const t = yt.get(e);\n t && typeof t == \"function\" ? t() : t?.stop(), yt.delete(e);\n }\n};\nfunction xa() {\n let e = !1;\n const t = ye(!1);\n return (o, a) => {\n if (t.value = a.value, e) return;\n e = !0;\n const n = Zl(o, a.value);\n oe(t, (l) => n.value = l);\n };\n}\nxa();\nconst ka = {\n key: 0,\n class: \"input-wrapper\"\n}, Ma = { class: \"aform_display-value\" }, Ia = [\"innerHTML\"], Ta = { class: \"input-wrapper\" }, $a = [\"disabled\"], Da = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}, Ca = {\n key: 0,\n class: \"loading autocomplete-result\"\n}, Aa = [\"onClick\"], Sa = [\"innerHTML\"], La = /* @__PURE__ */ ne({\n __name: \"ADropdown\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {},\n options: { default: () => [] },\n isAsync: { type: Boolean, default: !1 },\n filterFunction: { type: Function, default: void 0 }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = D(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), o = Me(e, \"modelValue\"), a = L(o.value ?? \"\"), n = rt({\n activeItemIndex: null,\n open: !1,\n loading: !1,\n results: e.options\n }), l = () => i(), s = async () => {\n if (n.open = !0, n.activeItemIndex = null, e.filterFunction) {\n e.isAsync && (n.loading = !0);\n try {\n const m = await e.filterFunction(o.value || \"\");\n n.results = m || [];\n } catch {\n n.results = [];\n } finally {\n e.isAsync && (n.loading = !1);\n }\n } else\n p();\n }, d = (m) => {\n o.value = m, a.value = m, i(m);\n }, r = () => {\n const m = e.options?.indexOf(o.value ?? \"\") ?? -1;\n n.activeItemIndex = e.isAsync ? null : m >= 0 ? m : null, n.open = !0, n.results = e.isAsync ? [] : e.options;\n }, i = (m) => {\n n.activeItemIndex = null, n.open = !1, e.options?.includes(m || o.value || \"\") || (o.value = a.value);\n }, p = () => {\n o.value ? n.results = e.options?.filter((m) => m.toLowerCase().includes((o.value ?? \"\").toLowerCase())) : n.results = e.options;\n }, v = () => {\n const m = n.results?.length || 0;\n if (n.activeItemIndex != null) {\n const g = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n n.activeItemIndex = (g + 1) % m;\n } else\n n.activeItemIndex = 0;\n }, b = () => {\n const m = n.results?.length || 0;\n if (n.activeItemIndex != null) {\n const g = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n g === 0 ? n.activeItemIndex = null : n.activeItemIndex = g - 1;\n } else\n n.activeItemIndex = m - 1;\n }, x = () => {\n if (n.results) {\n const m = n.activeItemIndex || 0, g = n.results[m];\n d(g);\n }\n n.activeItemIndex = 0;\n };\n return (m, g) => e.mode === \"display\" ? (y(), k(\"div\", ka, [\n h(\"span\", Ma, H(o.value ?? \"\"), 1),\n h(\"label\", null, H(e.label), 1),\n j(h(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, Ia), [\n [pe, t.value]\n ])\n ])) : j((y(), k(\"div\", {\n key: 1,\n class: ie([\"autocomplete\", { isOpen: n.open }])\n }, [\n h(\"div\", Ta, [\n j(h(\"input\", {\n \"onUpdate:modelValue\": g[0] || (g[0] = (u) => o.value = u),\n type: \"text\",\n disabled: e.mode === \"read\",\n onInput: s,\n onFocus: r,\n onKeydown: [\n se(v, [\"down\"]),\n se(b, [\"up\"]),\n se(x, [\"enter\"]),\n se(l, [\"esc\"]),\n se(l, [\"tab\"])\n ]\n }, null, 40, $a), [\n [he, o.value]\n ]),\n j(h(\"ul\", Da, [\n n.loading ? (y(), k(\"li\", Ca, \"Loading results...\")) : (y(!0), k(z, { key: 1 }, ge(n.results, (u, c) => (y(), k(\"li\", {\n key: u,\n class: ie([\"autocomplete-result\", { \"is-active\": c === n.activeItemIndex }]),\n onClick: te((T) => d(u), [\"stop\"])\n }, H(u), 11, Aa))), 128))\n ], 512), [\n [pe, n.open]\n ]),\n h(\"label\", null, H(e.label), 1)\n ]),\n j(h(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, Sa), [\n [pe, t.value]\n ])\n ], 2)), [\n [P(Ft), l]\n ]);\n }\n}), Ra = /* @__PURE__ */ xe(La, [[\"__scopeId\", \"data-v-0f2bf458\"]]), Ea = { class: \"aduration\" }, Ha = { class: \"aform_display-value\" }, Ba = { class: \"aduration__footer\" }, Va = {\n key: 0,\n class: \"aduration__summary\"\n}, Fa = { class: \"aduration__value\" }, Pa = { class: \"aduration__ms\" }, _a = /* @__PURE__ */ ne({\n __name: \"ADuration\",\n props: /* @__PURE__ */ be({\n label: { default: \"Duration\" },\n mode: { default: \"edit\" },\n allowMilitaryTime: { type: Boolean, default: !1 },\n useSeconds: { type: Boolean, default: !1 }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = Me(e, \"modelValue\"), o = L(null), a = L(null), n = D(() => {\n if (!o.value || !a.value) return 0;\n const r = a.value.getTime() - o.value.getTime();\n return r > 0 ? r : 0;\n });\n oe(n, (r) => {\n t.value = r;\n });\n const l = (r) => {\n o.value = r.start, a.value = r.end, t.value = n.value;\n }, s = D(() => {\n const r = n.value;\n if (r === 0) return \"0s\";\n const i = Math.floor(r / 1e3) % 60, p = Math.floor(r / 6e4) % 60, v = Math.floor(r / 36e5) % 24, b = Math.floor(r / 864e5);\n return [b && `${b}d`, v && `${v}h`, p && `${p}m`, i && `${i}s`].filter(Boolean).join(\" \") || \"0s\";\n }), d = D(() => {\n const r = t.value;\n if (!r) return \"—\";\n const i = Math.floor(r / 1e3) % 60, p = Math.floor(r / 6e4) % 60, v = Math.floor(r / 36e5) % 24, b = Math.floor(r / 864e5);\n return [b && `${b}d`, v && `${v}h`, p && `${p}m`, i && `${i}s`].filter(Boolean).join(\" \") || \"0s\";\n });\n return (r, i) => (y(), k(\"div\", Ea, [\n e.mode === \"display\" || e.mode === \"read\" ? (y(), k(z, { key: 0 }, [\n h(\"span\", Ha, H(d.value), 1),\n h(\"label\", null, H(e.label), 1)\n ], 64)) : (y(), k(z, { key: 1 }, [\n je(it, {\n ref: \"selectionRef\",\n \"select-range\": !0,\n \"show-time\": !0,\n \"show-end-time\": !0,\n \"allow-military-time\": e.allowMilitaryTime,\n \"use-seconds\": e.useSeconds,\n onGetRange: l\n }, null, 8, [\"allow-military-time\", \"use-seconds\"]),\n h(\"div\", Ba, [\n h(\"label\", null, H(e.label), 1),\n o.value && a.value ? (y(), k(\"div\", Va, [\n i[0] || (i[0] = h(\"span\", { class: \"aduration__label\" }, \"Duration:\", -1)),\n h(\"span\", Fa, H(s.value), 1),\n h(\"span\", Pa, \"(\" + H(t.value ?? 0) + \" ms)\", 1)\n ])) : Z(\"\", !0)\n ])\n ], 64))\n ]));\n }\n}), qa = /* @__PURE__ */ xe(_a, [[\"__scopeId\", \"data-v-22611dd6\"]]), Na = { class: \"adaterange\" }, Oa = { class: \"aform_display-value\" }, Ua = [\"id\", \"value\", \"disabled\"], Za = [\"for\"], Ga = [\"innerHTML\"], Wa = /* @__PURE__ */ ne({\n __name: \"ADateRange\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: { default: \"Date Range\" },\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {\n default: () => ({ start_date: null, end_date: null })\n },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = (u) => new Date(u).toLocaleDateString(), o = D(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), a = Me(e, \"modelValue\"), n = L(a.value.start_date ? new Date(a.value.start_date) : null), l = L(a.value.end_date ? new Date(a.value.end_date) : null), s = L(!1), d = L(null);\n lt(d, () => s.value = !1);\n const r = () => {\n e.mode !== \"read\" && (s.value = !0);\n }, i = (u) => u ? `${u.getMonth() + 1}/${u.getDate()}/${u.getFullYear()}` : \"\", p = D(() => {\n const u = i(n.value), c = i(l.value);\n return u && c ? `${u} — ${c}` : u ? `${u} — ...` : \"\";\n }), v = D(() => {\n const u = a.value.start_date, c = a.value.end_date;\n return !u && !c ? \"\" : u && c ? `${t(u)} — ${t(c)}` : u ? `From ${t(u)}` : `Until ${t(c)}`;\n }), b = () => {\n const u = n.value, c = l.value;\n u && c && c.getTime() < u.getTime() && ([n.value, l.value] = [c, u]);\n }, x = (u) => u ? u.toISOString().split(\"T\")[0] : null, m = () => {\n a.value = {\n start_date: x(n.value),\n end_date: x(l.value)\n };\n }, g = (u) => {\n u.start && (n.value = u.start), u.end && (l.value = u.end, b(), s.value = !1), m();\n };\n return oe(\n () => a.value,\n (u) => {\n n.value = u.start_date ? new Date(u.start_date) : null, l.value = u.end_date ? new Date(u.end_date) : null;\n },\n { deep: !0 }\n ), (u, c) => (y(), k(\"div\", Na, [\n e.mode === \"display\" ? (y(), k(z, { key: 0 }, [\n h(\"span\", Oa, H(v.value), 1),\n h(\"label\", null, H(e.label), 1)\n ], 64)) : (y(), k(z, { key: 1 }, [\n h(\"input\", {\n id: e.uuid,\n class: \"adate-input aform_input-field\",\n type: \"text\",\n value: p.value,\n placeholder: \"Select date range\",\n disabled: e.mode === \"read\",\n readonly: \"\",\n onClick: r\n }, null, 8, Ua),\n h(\"label\", { for: e.uuid }, H(e.label), 9, Za),\n j(h(\"p\", { innerHTML: o.value }, null, 8, Ga), [\n [pe, o.value]\n ]),\n s.value ? (y(), me(it, {\n key: 0,\n ref_key: \"pickerRef\",\n ref: d,\n class: \"picker\",\n \"select-range\": !0,\n \"show-time\": !1,\n onGetDate: g\n }, null, 512)) : Z(\"\", !0)\n ], 64))\n ]));\n }\n}), ja = /* @__PURE__ */ xe(Wa, [[\"__scopeId\", \"data-v-b5838478\"]]), za = { class: \"aform\" }, Ka = {\n key: 0,\n class: \"aform-nested-section\"\n}, Xa = {\n key: 0,\n class: \"aform-nested-label\"\n}, Ya = /* @__PURE__ */ ne({\n __name: \"AForm\",\n props: /* @__PURE__ */ be({\n schema: {},\n mode: { default: \"edit\" },\n errors: {}\n }, {\n data: { required: !0 },\n dataModifiers: {}\n }),\n emits: /* @__PURE__ */ be([\"update:schema\", \"update:data\"], [\"update:data\"]),\n setup(e, { emit: t }) {\n const o = t, a = Me(e, \"data\"), n = (x) => (x.kind === \"link\" || x.kind === \"fieldset\") && \"schema\" in x && Array.isArray(x.schema) && x.schema.length > 0, l = L({});\n oe(\n () => a.value,\n (x) => {\n !e.schema || !x || e.schema.forEach((m) => {\n n(m) && (l.value[m.fieldname] = x[m.fieldname] ?? {});\n });\n },\n { immediate: !0 }\n );\n const s = (x, m) => {\n l.value[x] = m, a.value && (a.value[x] = m, o(\"update:data\", { ...a.value }));\n }, d = (x) => {\n const m = {};\n for (const [g, u] of Object.entries(x))\n [\"component\", \"primaryKey\", \"computed\", \"language\", \"hidden\", \"mode\", \"width\"].includes(g) || (m[g] = u);\n return x.kind === \"table\" && (m.rows = a.value[x.fieldname] || []), m;\n }, r = (x) => {\n if (x.kind !== \"field\") return {};\n const m = x.width;\n return m ? { flexBasis: m, width: m } : {};\n }, i = D(() => e.mode ?? \"edit\");\n function p(x) {\n const m = x.mode;\n return m || i.value;\n }\n const v = L([]);\n Ct(() => {\n e.schema && v.value.length !== e.schema.length && (v.value = e.schema.map((x, m) => D({\n get() {\n return a.value?.[e.schema[m].fieldname];\n },\n set: (g) => {\n const u = e.schema[m].fieldname;\n u && a.value && (a.value[u] = g, o(\"update:data\", { ...a.value })), o(\"update:schema\", e.schema);\n }\n })));\n });\n const b = D(() => v.value);\n return (x, m) => (y(), k(\"form\", za, [\n (y(!0), k(z, null, ge(e.schema, (g, u) => (y(), k(z, { key: u }, [\n n(g) ? (y(), k(\"div\", Ka, [\n g.label && g.kind !== \"fieldset\" ? (y(), k(\"h4\", Xa, H(g.label), 1)) : Z(\"\", !0),\n (y(), me(Ne(g.component ?? \"AForm\"), {\n data: l.value[g.fieldname],\n mode: p(g),\n schema: g.schema,\n label: g.label,\n collapsible: g.kind === \"fieldset\" ? g.collapsible : void 0,\n errors: e.errors,\n \"onUpdate:data\": (c) => s(g.fieldname, c)\n }, null, 40, [\"data\", \"mode\", \"schema\", \"label\", \"collapsible\", \"errors\", \"onUpdate:data\"]))\n ])) : g.hidden ? Z(\"\", !0) : (y(), me(Ne(g.component), at({\n key: 1,\n modelValue: b.value[u].value,\n \"onUpdate:modelValue\": (c) => b.value[u].value = c,\n style: r(g),\n schema: g,\n data: a.value[g.fieldname],\n mode: p(g),\n errors: e.errors?.[g.fieldname]\n }, { ref_for: !0 }, d(g)), null, 16, [\"modelValue\", \"onUpdate:modelValue\", \"style\", \"schema\", \"data\", \"mode\", \"errors\"]))\n ], 64))), 128))\n ]));\n }\n}), mn = /* @__PURE__ */ xe(Ya, [[\"__scopeId\", \"data-v-039be29e\"]]), Qa = /* @__PURE__ */ ne({\n __name: \"CollapseButton\",\n props: {\n collapsed: { type: Boolean }\n },\n setup(e) {\n return (t, o) => (y(), k(\"button\", {\n class: ie([\"collapse-button\", e.collapsed ? \"rotated\" : \"unrotated\"])\n }, \"×\", 2));\n }\n}), Ja = /* @__PURE__ */ xe(Qa, [[\"__scopeId\", \"data-v-6f1c1b45\"]]), es = /* @__PURE__ */ ne({\n __name: \"AFieldset\",\n props: {\n schema: {},\n label: { default: () => {\n } },\n collapsible: { type: Boolean },\n data: { default: () => ({}) },\n mode: { default: \"edit\" }\n },\n setup(e, { expose: t }) {\n const o = L(!1), a = L(e.data || []), n = L(e.schema), l = (s) => {\n s.preventDefault(), e.collapsible && (o.value = !o.value);\n };\n return t({ collapsed: o }), (s, d) => (y(), k(\"fieldset\", null, [\n e.label || e.collapsible ? (y(), k(\"legend\", {\n key: 0,\n onClick: l,\n onSubmit: l\n }, [\n It(H(e.label) + \" \", 1),\n e.collapsible ? (y(), me(Ja, {\n key: 0,\n collapsed: o.value\n }, null, 8, [\"collapsed\"])) : Z(\"\", !0)\n ], 32)) : Z(\"\", !0),\n Te(s.$slots, \"default\", { collapsed: o.value }, () => [\n j(je(mn, {\n data: a.value,\n \"onUpdate:data\": d[0] || (d[0] = (r) => a.value = r),\n schema: n.value,\n mode: e.mode\n }, null, 8, [\"data\", \"schema\", \"mode\"]), [\n [pe, !o.value]\n ])\n ], !0)\n ]));\n }\n}), ts = /* @__PURE__ */ xe(es, [[\"__scopeId\", \"data-v-162e7317\"]]), ns = { class: \"aform_form-element aform_file-attach aform__grid--full\" }, os = {\n key: 0,\n class: \"aform_file-attach-feedback\"\n}, ls = {\n key: 1,\n class: \"aform_display-value\"\n}, as = {\n key: 0,\n class: \"aform_file-attach-feedback\"\n}, ss = [\"disabled\"], rs = [\"disabled\"], is = /* @__PURE__ */ ne({\n __name: \"AFileAttach\",\n props: {\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: {},\n errors: {}\n },\n setup(e) {\n const { files: t, open: o, reset: a, onChange: n } = Ul(), l = D(() => {\n const s = t.value?.length ?? 0;\n return `${s} ${s === 1 ? \"file\" : \"files\"}`;\n });\n return n((s) => s), (s, d) => (y(), k(\"div\", ns, [\n e.mode === \"display\" ? (y(), k(z, { key: 0 }, [\n P(t) ? (y(), k(\"div\", os, [\n h(\"p\", null, [\n h(\"b\", null, H(l.value), 1)\n ]),\n (y(!0), k(z, null, ge(P(t), (r) => (y(), k(\"li\", {\n key: r.name\n }, H(r.name), 1))), 128))\n ])) : (y(), k(\"span\", ls, \"No file selected\"))\n ], 64)) : (y(), k(z, { key: 1 }, [\n P(t) ? (y(), k(\"div\", as, [\n h(\"p\", null, [\n d[2] || (d[2] = It(\" You have selected: \", -1)),\n h(\"b\", null, H(l.value), 1)\n ]),\n (y(!0), k(z, null, ge(P(t), (r) => (y(), k(\"li\", {\n key: r.name\n }, H(r.name), 1))), 128))\n ])) : Z(\"\", !0),\n h(\"button\", {\n type: \"button\",\n class: \"aform_form-btn\",\n disabled: e.mode === \"read\",\n onClick: d[0] || (d[0] = (r) => P(o)())\n }, H(e.label), 9, ss),\n h(\"button\", {\n type: \"button\",\n disabled: !P(t) || e.mode === \"read\",\n class: \"aform_form-btn\",\n onClick: d[1] || (d[1] = (r) => P(a)())\n }, \"Reset\", 8, rs)\n ], 64))\n ]));\n }\n}), us = /* @__PURE__ */ xe(is, [[\"__scopeId\", \"data-v-8eefd179\"]]), ds = { class: \"aform_form-element\" }, cs = {\n key: 0,\n class: \"aform_display-value\"\n}, vs = { class: \"aform_form-link-wrapper\" }, fs = { class: \"input-group\" }, ms = [\"disabled\", \"onKeydown\"], hs = [\"onKeydown\"], ps = {\n key: 0,\n class: \"autocomplete-results\"\n}, gs = {\n key: 0,\n class: \"autocomplete-result loading\"\n}, ys = [\"onMousedown\"], ws = {\n key: 0,\n class: \"aform_field-label\"\n}, bs = /* @__PURE__ */ ne({\n __name: \"AFormLink\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: {},\n errors: {},\n doctype: { default: () => {\n } },\n formatter: { type: Function, default: void 0 },\n icon: { default: \"arrow-right\" },\n disabled: { type: Boolean, default: !1 },\n filterFunction: { type: [String, Function], default: void 0 },\n isAsync: { type: Boolean, default: !1 }\n }, {\n modelValue: { default: { id: \"\", displayText: \"\" } },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = Me(e, \"modelValue\"), o = D(() => {\n const M = t.value?.id;\n return M != null && M !== \"\";\n }), a = D(() => o.value ? e.formatter ? e.formatter(t.value) : t.value.displayText ?? String(t.value.id) : \"—\"), n = L(o.value ? a.value : \"\"), l = L(!1), s = L(!1), d = L([]), r = L(null), i = wt(\"aformLinkNavigator\", null), p = wt(\"aformLinkResolver\", null);\n oe(\n () => t.value,\n (M) => {\n M != null && (typeof M == \"string\" || typeof M == \"number\") && (t.value = { id: M });\n },\n { immediate: !0 }\n ), oe(\n () => t.value?.id,\n async (M) => {\n if (!(!M || t.value.displayText))\n try {\n let S;\n e.filterFunction ? (S = (await (typeof e.filterFunction == \"string\" ? bt(e.filterFunction) : e.filterFunction)(String(M))).find((F) => String(F.id) === String(M))?.displayText, S === void 0 && console.warn(\n `[AFormLink] filterFunction returned no matching result for id \"${M}\". The function must return an item whose \\`id\\` exactly matches the search string.`\n )) : p && e.doctype && (S = await p(e.doctype, M.toString()) ?? void 0), S && (n.value = S, t.value = { ...t.value, displayText: S });\n } catch {\n }\n },\n { immediate: !0 }\n );\n const v = () => {\n i && e.doctype ? i.navigate(e.doctype, t.value.id) : i && !e.doctype && console.warn(\n \"[AFormLink] Navigation requested but `doctype` prop is missing. Add `options` (or `doctype`) to the Link field definition to enable navigation.\"\n );\n }, b = async (M) => {\n if (!(!e.filterFunction || e.mode === \"read\")) {\n r.value = null, l.value = !0, e.isAsync && (s.value = !0);\n try {\n const S = typeof e.filterFunction == \"string\" ? bt(e.filterFunction) : e.filterFunction;\n d.value = await S(M) ?? [];\n } catch {\n d.value = [];\n } finally {\n s.value = !1;\n }\n }\n }, x = () => {\n l.value = !1, r.value = null, n.value = o.value ? a.value : \"\";\n }, m = () => {\n l.value && x();\n }, g = () => b(n.value), u = () => b(n.value), c = (M) => {\n t.value = M, n.value = M.displayText ?? String(M.id), l.value = !1, r.value = null;\n }, T = () => {\n const M = d.value.length;\n M && (r.value = r.value === null ? 0 : (r.value + 1) % M);\n }, C = () => {\n d.value.length && (r.value === null || r.value === 0 ? r.value = null : r.value -= 1);\n }, I = () => {\n r.value !== null && d.value[r.value] && c(d.value[r.value]);\n };\n return (M, S) => (y(), k(\"div\", ds, [\n e.mode === \"display\" ? (y(), k(\"span\", cs, H(a.value), 1)) : (y(), k(z, { key: 1 }, [\n j((y(), k(\"div\", vs, [\n h(\"div\", fs, [\n j(h(\"input\", {\n \"onUpdate:modelValue\": S[0] || (S[0] = (_) => n.value = _),\n type: \"text\",\n class: \"aform_input-field\",\n disabled: e.disabled || e.mode === \"read\",\n onInput: u,\n onFocus: g,\n onKeydown: [\n se(te(T, [\"prevent\"]), [\"down\"]),\n se(te(C, [\"prevent\"]), [\"up\"]),\n se(te(I, [\"prevent\"]), [\"enter\"]),\n se(x, [\"esc\"]),\n se(x, [\"tab\"])\n ]\n }, null, 40, ms), [\n [he, n.value]\n ]),\n o.value && !e.disabled ? (y(), k(\"button\", {\n key: 0,\n type: \"button\",\n class: \"aform_form-btn\",\n onClick: v,\n onKeydown: se(te(v, [\"prevent\"]), [\"enter\"])\n }, [\n h(\"span\", null, H(e.icon === \"chevron-right\" ? \"›\" : \"→\"), 1)\n ], 40, hs)) : Z(\"\", !0)\n ]),\n l.value ? (y(), k(\"ul\", ps, [\n s.value ? (y(), k(\"li\", gs, \"Loading…\")) : (y(!0), k(z, { key: 1 }, ge(d.value, (_, E) => (y(), k(\"li\", {\n key: String(_.id),\n class: ie([\"autocomplete-result\", { \"is-active\": E === r.value }]),\n onMousedown: te((F) => c(_), [\"prevent\"])\n }, H(_.displayText ?? String(_.id)), 43, ys))), 128))\n ])) : Z(\"\", !0)\n ])), [\n [P(Ft), m]\n ]),\n e.label ? (y(), k(\"label\", ws, H(e.label), 1)) : Z(\"\", !0)\n ], 64))\n ]));\n }\n}), xs = /* @__PURE__ */ xe(bs, [[\"__scopeId\", \"data-v-4b68886b\"]]), ks = { class: \"aform_form-element\" }, Ms = { class: \"aform_display-value\" }, Is = { class: \"aform_field-label\" }, Ts = [\"id\", \"disabled\", \"required\"], $s = [\"for\"], Ds = [\"innerHTML\"], Cs = /* @__PURE__ */ ne({\n __name: \"ANumericInput\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = D(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), o = Me(e, \"modelValue\");\n return (a, n) => (y(), k(\"div\", ks, [\n e.mode === \"display\" ? (y(), k(z, { key: 0 }, [\n h(\"span\", Ms, H(o.value ?? \"\"), 1),\n h(\"label\", Is, H(e.label), 1)\n ], 64)) : (y(), k(z, { key: 1 }, [\n j(h(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": n[0] || (n[0] = (l) => o.value = l),\n class: \"aform_input-field\",\n type: \"number\",\n disabled: e.mode === \"read\",\n required: e.required\n }, null, 8, Ts), [\n [he, o.value]\n ]),\n h(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, H(e.label), 9, $s),\n j(h(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, Ds), [\n [pe, t.value]\n ])\n ], 64))\n ]));\n }\n}), As = { class: \"aform_form-element aquantity\" }, Ss = { class: \"aform_display-value\" }, Ls = { class: \"aform_field-label\" }, Rs = { class: \"aquantity__row\" }, Es = { class: \"aquantity__field aquantity__field--qty\" }, Hs = { class: \"aquantity__group\" }, Bs = [\"id\", \"disabled\", \"required\"], Vs = { class: \"aquantity__uom\" }, Fs = [\"id\", \"disabled\", \"aria-expanded\", \"aria-activedescendant\", \"onKeydown\"], Ps = { class: \"aquantity__uom-value\" }, _s = [\"aria-label\"], qs = [\"id\", \"aria-selected\", \"onMouseenter\", \"onClick\"], Ns = [\"for\"], Os = { class: \"aquantity__row aquantity__row--stock\" }, Us = { class: \"aquantity__field aquantity__field--stock-uom\" }, Zs = [\"value\"], Gs = { class: \"aform_field-label\" }, Ws = { class: \"aquantity__field aquantity__field--stock-qty\" }, js = [\"value\"], zs = { class: \"aform_field-label\" }, Ks = { class: \"aquantity__field aquantity__field--conversion\" }, Xs = [\"value\"], Ys = { class: \"aform_field-label\" }, Qs = [\"innerHTML\"], Js = /* @__PURE__ */ ne({\n __name: \"AQuantityInput\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"&nbsp;\" }) },\n errors: {},\n options: { default: () => ({}) },\n uomLabel: { default: \"UOM\" },\n stockUomLabel: { default: \"Stock UOM\" },\n stockQtyLabel: { default: \"Stock Qty\" },\n conversionFactorLabel: { default: \"Conversion Factor\" }\n }, {\n modelValue: {\n default: { qty: 0, uom: \"\", stockQty: 0, stockUom: \"\", conversionFactor: 1 }\n },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = Me(e, \"modelValue\"), o = D(() => e.options.uoms ?? []), a = (I) => Number(I.toFixed(6)), n = (I) => {\n const M = e.options.stockUom ?? t.value.stockUom;\n if (!I || I === M) return 1;\n const S = e.options.conversionFactors?.[I];\n return S !== void 0 ? S : I === t.value.uom ? t.value.conversionFactor ?? 1 : 1;\n }, l = (I, M) => {\n const S = n(M);\n t.value = {\n qty: I,\n uom: M,\n conversionFactor: S,\n stockUom: e.options.stockUom ?? t.value.stockUom,\n stockQty: a(I * S)\n };\n }, s = D({\n get: () => t.value?.qty ?? 0,\n set: (I) => l(I, t.value?.uom ?? \"\")\n }), d = D({\n get: () => t.value?.uom ?? \"\",\n set: (I) => l(t.value?.qty ?? 0, I)\n }), r = [\n \"Backspace\",\n \"Delete\",\n \"Tab\",\n \"Escape\",\n \"Enter\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\"\n ], i = (I) => {\n if (I.ctrlKey || I.metaKey || I.altKey || r.includes(I.key) || /^[0-9]$/.test(I.key)) return;\n const M = I.target;\n I.key === \".\" && !M.value.includes(\".\") || I.preventDefault();\n }, p = (I) => {\n const M = I.clipboardData?.getData(\"text\") ?? \"\";\n /^\\d*\\.?\\d*$/.test(M) || I.preventDefault();\n }, v = rt({ open: !1, activeIndex: -1 }), b = () => {\n v.activeIndex = Math.max(o.value.indexOf(d.value), 0), v.open = !0;\n }, x = () => {\n v.open = !1;\n }, m = () => {\n v.open ? x() : b();\n }, g = (I) => {\n d.value = I, x();\n }, u = (I) => {\n if (!v.open) {\n b();\n return;\n }\n const M = o.value.length;\n M && (v.activeIndex = (v.activeIndex + I + M) % M);\n }, c = () => {\n if (!v.open) {\n b();\n return;\n }\n const I = o.value[v.activeIndex];\n I !== void 0 && g(I);\n }, T = D(() => {\n const I = t.value;\n return !!I?.stockUom && (I.uom !== I.stockUom || I.qty !== I.stockQty);\n }), C = D(() => {\n const I = t.value;\n if (!I || !I.uom) return \"—\";\n const M = `${I.qty} ${I.uom}`;\n return T.value ? `${M} (${I.stockQty} ${I.stockUom})` : M;\n });\n return (I, M) => (y(), k(\"div\", As, [\n e.mode === \"display\" ? (y(), k(z, { key: 0 }, [\n h(\"span\", Ss, H(C.value), 1),\n h(\"label\", Ls, H(e.label), 1)\n ], 64)) : (y(), k(z, { key: 1 }, [\n h(\"div\", Rs, [\n h(\"div\", Es, [\n h(\"div\", Hs, [\n j(h(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": M[0] || (M[0] = (S) => s.value = S),\n class: \"aquantity__qty\",\n type: \"number\",\n disabled: e.mode === \"read\",\n required: e.required,\n onKeydown: i,\n onPaste: p\n }, null, 40, Bs), [\n [\n he,\n s.value,\n void 0,\n { number: !0 }\n ]\n ]),\n j((y(), k(\"div\", Vs, [\n h(\"button\", {\n id: `${e.uuid}-uom`,\n type: \"button\",\n class: \"aquantity__uom-toggle\",\n disabled: e.mode === \"read\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": v.open,\n \"aria-activedescendant\": v.open && v.activeIndex >= 0 ? `${e.uuid}-uom-opt-${v.activeIndex}` : void 0,\n onClick: m,\n onKeydown: [\n M[1] || (M[1] = se(te((S) => u(1), [\"prevent\"]), [\"down\"])),\n M[2] || (M[2] = se(te((S) => u(-1), [\"prevent\"]), [\"up\"])),\n se(te(c, [\"prevent\"]), [\"enter\"]),\n se(x, [\"esc\"])\n ]\n }, [\n h(\"span\", Ps, H(d.value || e.uomLabel), 1),\n M[3] || (M[3] = h(\"span\", {\n class: \"aquantity__caret\",\n \"aria-hidden\": \"true\"\n }, null, -1))\n ], 40, Fs),\n j(h(\"ul\", {\n class: \"aquantity__uom-menu\",\n role: \"listbox\",\n \"aria-label\": e.uomLabel\n }, [\n (y(!0), k(z, null, ge(o.value, (S, _) => (y(), k(\"li\", {\n id: `${e.uuid}-uom-opt-${_}`,\n key: S,\n role: \"option\",\n \"aria-selected\": S === d.value,\n class: ie([\"aquantity__uom-option\", { \"is-active\": _ === v.activeIndex }]),\n onMouseenter: (E) => v.activeIndex = _,\n onClick: (E) => g(S)\n }, H(S), 43, qs))), 128))\n ], 8, _s), [\n [pe, v.open]\n ])\n ])), [\n [P(Ft), x]\n ])\n ]),\n h(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, H(e.label), 9, Ns)\n ])\n ]),\n h(\"div\", Os, [\n h(\"div\", Us, [\n h(\"input\", {\n value: t.value.stockUom,\n class: \"aform_input-field aquantity__stock-field\",\n type: \"text\",\n disabled: \"\"\n }, null, 8, Zs),\n h(\"label\", Gs, H(e.stockUomLabel), 1)\n ]),\n h(\"div\", Ws, [\n h(\"input\", {\n value: t.value.stockQty,\n class: \"aform_input-field aquantity__stock-field\",\n type: \"number\",\n disabled: \"\"\n }, null, 8, js),\n h(\"label\", zs, H(e.stockQtyLabel), 1)\n ]),\n h(\"div\", Ks, [\n h(\"input\", {\n value: t.value.conversionFactor,\n class: \"aform_input-field aquantity__stock-field\",\n type: \"number\",\n disabled: \"\"\n }, null, 8, Xs),\n h(\"label\", Ys, H(e.conversionFactorLabel), 1)\n ])\n ]),\n j(h(\"p\", {\n class: \"aform_error\",\n innerHTML: e.validation.errorMessage\n }, null, 8, Qs), [\n [pe, e.validation.errorMessage]\n ])\n ], 64))\n ]));\n }\n}), er = /* @__PURE__ */ xe(Js, [[\"__scopeId\", \"data-v-75e7ebee\"]]);\nfunction tr(e) {\n try {\n return bt(e);\n } catch {\n return;\n }\n}\nfunction nr(e) {\n const t = e.value;\n if (!t) return;\n const o = tr(t);\n if (o) {\n const n = e.instance?.locale;\n return o(n);\n }\n return t;\n}\nfunction or(e, t) {\n let o = e;\n const a = [t, \"/\", \"-\", \"(\", \")\", \" \"];\n for (const n of a)\n o = o.replaceAll(n, \"\");\n return o;\n}\nfunction lr(e, t, o) {\n let a = t;\n for (const n of e) {\n const l = a.indexOf(o);\n if (l !== -1) {\n const s = a.substring(0, l), d = a.substring(l + 1);\n a = s + n + d;\n }\n }\n return a.slice(0, t.length);\n}\nfunction ar(e, t) {\n const o = nr(t);\n if (!o) return;\n const a = \"#\", n = e.value, l = or(n, a);\n if (l) {\n const s = lr(l, o, a), d = t.instance;\n d?.maskFilled && (d.maskFilled = !s.includes(a)), e.value = s;\n } else\n e.value = o;\n}\nconst sr = { class: \"aform_form-element\" }, rr = { class: \"aform_display-value\" }, ir = { class: \"aform_field-label\" }, ur = [\"id\", \"disabled\", \"maxlength\", \"required\"], dr = [\"for\"], cr = [\"innerHTML\"], vr = /* @__PURE__ */ ne({\n __name: \"ATextInput\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = D(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), o = L(!0), a = Me(e, \"modelValue\");\n return (n, l) => (y(), k(\"div\", sr, [\n e.mode === \"display\" ? (y(), k(z, { key: 0 }, [\n h(\"span\", rr, H(a.value ?? \"\"), 1),\n h(\"label\", ir, H(e.label), 1)\n ], 64)) : (y(), k(z, { key: 1 }, [\n j(h(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": l[0] || (l[0] = (s) => a.value = s),\n class: \"aform_input-field\",\n disabled: e.mode === \"read\",\n maxlength: e.mask && o.value ? e.mask.length : void 0,\n required: e.required\n }, null, 8, ur), [\n [he, a.value],\n [P(ar), e.mask]\n ]),\n h(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, H(e.label), 9, dr),\n j(h(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, cr), [\n [pe, t.value]\n ])\n ], 64))\n ]));\n }\n}), fr = { class: \"aform_form-element\" }, mr = { class: \"aform_display-value\" }, hr = { class: \"aform_field-label\" }, pr = [\"id\", \"disabled\", \"required\"], gr = [\"for\"], yr = [\"innerHTML\"], wr = /* @__PURE__ */ ne({\n __name: \"ATextarea\",\n props: /* @__PURE__ */ be({\n schema: {},\n label: {},\n selectRange: { type: Boolean },\n mask: {},\n required: { type: Boolean },\n mode: {},\n uuid: {},\n validation: { default: () => ({ errorMessage: \"\" }) },\n errors: {}\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = D(() => e.errors?.length ? e.errors.join(\"; \") : e.validation.errorMessage ?? \"\"), o = Me(e, \"modelValue\");\n return (a, n) => (y(), k(\"div\", fr, [\n e.mode === \"display\" ? (y(), k(z, { key: 0 }, [\n h(\"span\", mr, H(o.value ?? \"\"), 1),\n h(\"label\", hr, H(e.label), 1)\n ], 64)) : (y(), k(z, { key: 1 }, [\n j(h(\"textarea\", {\n id: e.uuid,\n \"onUpdate:modelValue\": n[0] || (n[0] = (l) => o.value = l),\n class: \"aform_input-field aform_textarea\",\n disabled: e.mode === \"read\",\n required: e.required\n }, null, 8, pr), [\n [he, o.value]\n ]),\n h(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, H(e.label), 9, gr),\n j(h(\"p\", {\n class: \"aform_error\",\n innerHTML: t.value\n }, null, 8, yr), [\n [pe, t.value]\n ])\n ], 64))\n ]));\n }\n}), br = { class: \"login-container\" }, xr = { class: \"account-container\" }, kr = { class: \"account-header\" }, Mr = { id: \"account-title\" }, Ir = { id: \"account-subtitle\" }, Tr = { class: \"login-form-container\" }, $r = { class: \"login-form-email aform_form-element\" }, Dr = [\"disabled\"], Cr = { class: \"login-form-password aform_form-element\" }, Ar = [\"disabled\"], Sr = [\"disabled\"], Lr = {\n key: 0,\n class: \"material-symbols-outlined loading-icon\"\n}, Rr = /* @__PURE__ */ ne({\n __name: \"Login\",\n props: {\n headerTitle: { default: \"Login\" },\n headerSubtitle: { default: \"Enter your email and password to login\" }\n },\n emits: [\"loginFailed\", \"loginSuccess\"],\n setup(e, { emit: t }) {\n const o = t, a = L(\"\"), n = L(\"\"), l = L(!1), s = L(!1);\n function d(r) {\n if (r.preventDefault(), l.value = !0, s.value) {\n l.value = !1, o(\"loginFailed\");\n return;\n }\n l.value = !1, o(\"loginSuccess\");\n }\n return (r, i) => (y(), k(\"div\", br, [\n h(\"div\", null, [\n h(\"div\", xr, [\n h(\"div\", kr, [\n h(\"h1\", Mr, H(e.headerTitle), 1),\n h(\"p\", Ir, H(e.headerSubtitle), 1)\n ]),\n h(\"form\", { onSubmit: d }, [\n h(\"div\", Tr, [\n h(\"div\", $r, [\n i[2] || (i[2] = h(\"label\", {\n id: \"login-email\",\n for: \"email\",\n class: \"aform_field-label\"\n }, \"Email\", -1)),\n j(h(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": i[0] || (i[0] = (p) => a.value = p),\n class: \"aform_input-field\",\n name: \"email\",\n placeholder: \"name@example.com\",\n type: \"email\",\n \"auto-capitalize\": \"none\",\n \"auto-complete\": \"email\",\n \"auto-correct\": \"off\",\n disabled: l.value\n }, null, 8, Dr), [\n [he, a.value]\n ])\n ]),\n h(\"div\", Cr, [\n i[3] || (i[3] = h(\"label\", {\n id: \"login-password\",\n for: \"password\",\n class: \"aform_field-label\"\n }, \"Password\", -1)),\n j(h(\"input\", {\n id: \"password\",\n \"onUpdate:modelValue\": i[1] || (i[1] = (p) => n.value = p),\n class: \"aform_input-field\",\n name: \"password\",\n type: \"password\",\n disabled: l.value\n }, null, 8, Ar), [\n [he, n.value]\n ])\n ]),\n h(\"button\", {\n class: \"btn\",\n disabled: l.value || !a.value || !n.value,\n onClick: d\n }, [\n l.value ? (y(), k(\"span\", Lr, \"progress_activity\")) : Z(\"\", !0),\n i[4] || (i[4] = h(\"span\", { id: \"login-form-button\" }, \"Login\", -1))\n ], 8, Sr)\n ])\n ], 32),\n i[5] || (i[5] = h(\"button\", { class: \"btn\" }, [\n h(\"span\", { id: \"forgot-password-button\" }, \"Forgot password?\")\n ], -1))\n ])\n ])\n ]));\n }\n}), qr = /* @__PURE__ */ xe(Rr, [[\"__scopeId\", \"data-v-2c0f0634\"]]), Er = {}, Hr = { class: \"aform-loading\" }, Br = { class: \"aform-loading__label\" };\nfunction Vr(e, t) {\n return y(), k(\"div\", Hr, [\n h(\"div\", Br, [\n Te(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = h(\"div\", { class: \"aform-loading__bar\" }, null, -1))\n ]);\n}\nconst Fr = /* @__PURE__ */ xe(Er, [[\"render\", Vr], [\"__scopeId\", \"data-v-274f5ba3\"]]);\nfunction Nr(e) {\n e.use(Tl), e.component(\"ACheckbox\", Hl), e.component(\"ADate\", ba), e.component(\"ADropdown\", Ra), e.component(\"ADatePicker\", fn), e.component(\"ADateTime\", Mt), e.component(\"ADateRange\", ja), e.component(\"ADateSelection\", it), e.component(\"AFieldset\", ts), e.component(\"AFileAttach\", us), e.component(\"AForm\", mn), e.component(\"AFormLink\", xs), e.component(\"ANumericInput\", Cs), e.component(\"AQuantityInput\", er), e.component(\"ATextInput\", vr), e.component(\"ATextarea\", wr), e.component(\"ADuration\", qa), e.component(\"AFormLoading\", Fr);\n}\nexport {\n Hl as ACheckbox,\n ba as ADate,\n fn as ADatePicker,\n ja as ADateRange,\n it as ADateSelection,\n Mt as ADateTime,\n Ra as ADropdown,\n qa as ADuration,\n ts as AFieldset,\n us as AFileAttach,\n mn as AForm,\n xs as AFormLink,\n Fr as AFormLoading,\n Cs as ANumericInput,\n er as AQuantityInput,\n vr as ATextInput,\n wr as ATextarea,\n qr as Login,\n bt as deserializeFunction,\n Nr as install\n};\n//# sourceMappingURL=aform.js.map\n","<template>\n\t<footer>\n\t\t<ul class=\"tabs\">\n\t\t\t<li class=\"hidebreadcrumbs\" @click=\"toggleBreadcrumbs\" @keydown.enter=\"toggleBreadcrumbs\">\n\t\t\t\t<a tabindex=\"0\"><div :class=\"rotateHideTabIcon\">×</div></a>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tclass=\"hometab\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\"\n\t\t\t\t@click=\"navigateHome\"\n\t\t\t\t@keydown.enter=\"navigateHome\">\n\t\t\t\t<router-link to=\"/\" tabindex=\"0\">\n\t\t\t\t\t<svg class=\"icon\" aria-label=\"Home\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n\t\t\t\t\t\t<path d=\"M3 12l9-9 9 9\" />\n\t\t\t\t\t\t<path d=\"M9 21V12h6v9\" />\n\t\t\t\t\t</svg>\n\t\t\t\t</router-link>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\t:class=\"['searchtab', { 'search-active': searchVisible }]\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\n\t\t\t\t<a tabindex=\"0\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tv-show=\"!searchVisible\"\n\t\t\t\t\t\tclass=\"icon search-icon\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-label=\"Search\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t@click=\"toggleSearch\"\n\t\t\t\t\t\t@keydown.enter=\"toggleSearch\">\n\t\t\t\t\t\t<circle cx=\"11\" cy=\"11\" r=\"7\" />\n\t\t\t\t\t\t<path d=\"M21 21l-4.35-4.35\" />\n\t\t\t\t\t</svg>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-show=\"searchVisible\"\n\t\t\t\t\t\tref=\"searchinput\"\n\t\t\t\t\t\tv-model=\"searchText\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t@click.stop\n\t\t\t\t\t\t@input=\"handleSearchInput($event)\"\n\t\t\t\t\t\t@blur=\"handleSearch($event)\"\n\t\t\t\t\t\t@keydown.enter=\"handleSearch($event)\"\n\t\t\t\t\t\t@keydown.escape=\"toggleSearch\" />\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tv-for=\"breadcrumb in breadcrumbs\"\n\t\t\t\t:key=\"breadcrumb.title\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\n\t\t\t\t<router-link tabindex=\"0\" :to=\"breadcrumb.to\"> {{ breadcrumb.title }} </router-link>\n\t\t\t</li>\n\t\t</ul>\n\t</footer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, useTemplateRef } from 'vue'\n\nconst { breadcrumbs = [] } = defineProps<{ breadcrumbs?: { title: string; to: string }[] }>()\n\nconst breadcrumbsVisibile = ref(true)\nconst searchVisible = ref(false)\nconst searchText = ref('')\nconst inputRef = useTemplateRef<HTMLInputElement>('searchinput')\n\nconst rotateHideTabIcon = computed(() => {\n\treturn breadcrumbsVisibile.value ? 'unrotated' : 'rotated'\n})\n\nconst toggleBreadcrumbs = () => {\n\tbreadcrumbsVisibile.value = !breadcrumbsVisibile.value\n}\n\nconst toggleSearch = async () => {\n\tsearchVisible.value = !searchVisible.value\n\tawait nextTick(() => {\n\t\tinputRef.value?.focus()\n\t})\n}\n\nconst handleSearchInput = (event: Event | MouseEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n}\n\nconst handleSearch = async (event: FocusEvent | KeyboardEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n\tawait toggleSearch()\n}\n\nconst navigateHome = (/* event: MouseEvent | KeyboardEvent */) => {\n\t// navigate home\n}\n</script>\n\n<style scoped>\nfooter {\n\tposition: fixed;\n\tbottom: 0px;\n\twidth: 100%;\n\tbackground-color: transparent;\n\theight: auto;\n\tmin-height: 2.4rem;\n\tz-index: 100;\n\ttext-align: left;\n\tfont-size: 100%;\n\tdisplay: flex;\n\tjustify-content: right;\n\tpadding: 0 0.75rem 0 0;\n\tbox-sizing: border-box;\n}\nul {\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\n.tabs li {\n\tfloat: left;\n\tlist-style-type: none;\n\tposition: relative;\n\tmargin-left: -1px;\n}\n\n/* Base tab styling */\n.tabs a {\n\tfloat: left;\n\tpadding: 0.5rem 1rem;\n\theight: 2.4rem;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttext-decoration: none;\n\tcolor: var(--sc-gray-60, #666);\n\tbackground: var(--sc-btn-color, #ffffff);\n\tborder: 1px solid var(--sc-btn-border, #ccc);\n\tfont-size: 0.85rem;\n\tfont-family: var(--sc-font-family, system-ui, sans-serif);\n\ttransition: all 0.15s ease;\n\n\t/* Minimal ornamentation - subtle top radius only */\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n}\n\n.tabs a:hover {\n\tbackground: var(--sc-btn-hover, #f2f2f2);\n}\n\n.tabs .router-link-active {\n\tz-index: 3;\n\tbackground: var(--sc-primary-color, #827553) !important;\n\tborder-color: var(--sc-primary-color, #827553) !important;\n\tcolor: var(--sc-primary-text-color, #fff) !important;\n}\n\n/* Pseudo-elements removed - minimal ornamentation style */\n\n/* Hide breadcrumbs tab */\n.hidebreadcrumbs a {\n\tmin-width: 2.4rem;\n\twidth: 2.4rem;\n\theight: 2.4rem;\n\tpadding: 0.5rem;\n\tbackground: var(--sc-btn-color, #ffffff);\n\tborder: 1px solid var(--sc-btn-border, #ccc);\n\tcolor: var(--sc-gray-60, #666);\n}\n\n.hidebreadcrumbs a div {\n\tfont-size: 1.2rem;\n}\n\n.rotated {\n\ttransform: rotate(45deg);\n\t-webkit-transform: rotate(45deg);\n\t-moz-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\t-o-transform: rotate(45deg);\n\ttransition: transform 250ms ease;\n}\n.unrotated {\n\ttransform: rotate(0deg);\n\t-webkit-transform: rotate(0deg);\n\t-moz-transform: rotate(0deg);\n\t-ms-transform: rotate(0deg);\n\t-o-transform: rotate(0deg);\n\ttransition: transform 250ms ease;\n}\n\nli:active,\nli:hover,\nli:focus,\nli > a:active,\nli > a:hover,\nli > a:focus {\n\tz-index: 3;\n}\n\na:active,\na:hover,\na:focus {\n\toutline: 2px solid var(--sc-input-active-border-color, black);\n\tz-index: 3;\n}\n\n/* Home tab */\n.hometab a {\n\tmin-width: 2.4rem;\n\twidth: 2.4rem;\n\theight: 2.4rem;\n\tpadding: 0.5rem;\n\tbackground: var(--sc-btn-color, #ffffff);\n\tborder: 1px solid var(--sc-btn-border, #ccc);\n\tcolor: var(--sc-gray-60, #666);\n}\n\n/* SVG icon styling */\n.icon {\n\twidth: 1rem;\n\theight: 1rem;\n\tstroke: currentColor;\n\tflex-shrink: 0;\n}\n\n/* Search tab with animation */\n.searchtab {\n\toverflow: hidden;\n}\n\n.searchtab a {\n\tmin-width: 2.4rem;\n\theight: 2.4rem;\n\tpadding: 0.5rem;\n\tbackground: var(--sc-btn-color, #ffffff);\n\tborder: 1px solid var(--sc-btn-border, #ccc);\n\tcolor: var(--sc-gray-60, #666);\n\toverflow: hidden;\n\t/* Animation for smooth expand/collapse */\n\tmax-width: 2.4rem;\n\ttransition:\n\t\tmax-width 0.35s ease-in-out,\n\t\tpadding 0.35s ease-in-out,\n\t\tbackground 0.2s ease;\n}\n\n.searchtab .search-icon {\n\tcursor: pointer;\n}\n\n.searchtab input {\n\toutline: none;\n\tborder: 1px solid var(--sc-input-border-color, #ccc);\n\tborder-radius: 0.25rem;\n\tbackground-color: var(--sc-form-background, #ffffff);\n\tcolor: var(--sc-gray-80, #333);\n\ttext-align: left;\n\tfont-size: 0.875rem;\n\tpadding: 0.25rem 0.5rem;\n\twidth: 180px;\n\theight: 1.5rem;\n\tflex-shrink: 0;\n\topacity: 0;\n\ttransition: opacity 0.2s ease-in-out;\n\ttransition-delay: 0s;\n}\n\n.searchtab input:focus {\n\tborder-color: var(--sc-input-active-border-color, #4f46e5);\n\toutline: none;\n}\n\n.searchtab input::placeholder {\n\tcolor: var(--sc-input-label-color, #999);\n}\n\n/* Search active state - expanded with animation */\n.searchtab.search-active a {\n\tmax-width: 200px;\n\tmin-width: auto;\n\twidth: auto;\n\tpadding: 0.5rem 0.75rem;\n}\n\n.searchtab.search-active input {\n\topacity: 1;\n\ttransition-delay: 0.15s;\n}\n</style>\n","<template>\n\t<div class=\"desktop\" @click=\"handleClick\">\n\t\t<!-- Action Set -->\n\t\t<ActionSet :elements=\"actionElements\" @action-click=\"handleActionClick\" />\n\n\t\t<!-- Main content using AForm -->\n\t\t<AForm\n\t\t\tv-if=\"currentViewSchema.length > 0\"\n\t\t\tv-model:data=\"currentViewData\"\n\t\t\t:schema=\"currentViewSchema\"\n\t\t\t:errors=\"fieldErrors\" />\n\t\t<div v-else-if=\"!stonecrop\" class=\"loading\"><p>Initializing Stonecrop...</p></div>\n\t\t<div v-else class=\"loading\">\n\t\t\t<p>Loading {{ currentView }} data...</p>\n\t\t</div>\n\n\t\t<!-- Sheet Navigation -->\n\t\t<SheetNav :breadcrumbs=\"navigationBreadcrumbs\" />\n\n\t\t<!-- Command Palette -->\n\t\t<CommandPalette\n\t\t\t:is-open=\"commandPaletteOpen\"\n\t\t\t:search=\"searchCommands\"\n\t\t\tplaceholder=\"Type a command or search...\"\n\t\t\t@select=\"executeCommand\"\n\t\t\t@close=\"commandPaletteOpen = false\">\n\t\t\t<template #title=\"{ result }\">\n\t\t\t\t{{ result.title }}\n\t\t\t</template>\n\t\t\t<template #content=\"{ result }\">\n\t\t\t\t{{ result.description }}\n\t\t\t</template>\n\t\t</CommandPalette>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useStonecrop, useValidationStore } from '@stonecrop/stonecrop'\nimport { AForm, type AFormLinkNavigator, type ResolvedField, type ResolvedTable } from '@stonecrop/aform'\nimport type { ColumnSchema } from '@stonecrop/schema'\nimport { computed, onMounted, onUnmounted, provide, ref, unref, watch } from 'vue'\n\nimport ActionSet from './ActionSet.vue'\nimport SheetNav from './SheetNav.vue'\nimport CommandPalette from './CommandPalette.vue'\nimport type {\n\tActionElements,\n\tRouteAdapter,\n\tNavigationTarget,\n\tActionEventPayload,\n\tRecordOpenEventPayload,\n\tLoadRecordsEventPayload,\n\tLoadRecordEventPayload,\n} from '../types'\n\nconst {\n\tavailableDoctypes = [],\n\trouteAdapter,\n\tconfirmFn,\n\trecordIdField,\n} = defineProps<{\n\tavailableDoctypes?: string[]\n\t/**\n\t * Pluggable router adapter. When provided, Desktop uses these functions for all\n\t * routing instead of reaching into the registry's internal Vue Router instance.\n\t * Nuxt hosts (or any host with custom route conventions) should supply this.\n\t */\n\trouteAdapter?: RouteAdapter\n\t/**\n\t * Replacement for the native `confirm()` dialog. Desktop calls this before\n\t * performing a destructive action. Return `true` to proceed.\n\t * Defaults to the native `window.confirm` if omitted.\n\t */\n\tconfirmFn?: (message: string) => boolean | Promise<boolean>\n\t/**\n\t * The field name that holds the canonical record ID (e.g., 'rowId' for UUID).\n\t * Used for navigation and table row identification.\n\t * Defaults to 'id' if not specified.\n\t */\n\trecordIdField?: string\n}>()\n\nconst emit = defineEmits<{\n\t/**\n\t * Fired when the user triggers an FSM transition (action button click).\n\t * The host app is responsible for calling the server, persisting state, etc.\n\t */\n\taction: [payload: ActionEventPayload]\n\t/**\n\t * Fired when Desktop wants to navigate to a different view.\n\t * Also calls routeAdapter.navigate() if an adapter is provided.\n\t */\n\tnavigate: [target: NavigationTarget]\n\t/**\n\t * Fired when the user opens a specific record.\n\t */\n\t'record:open': [payload: RecordOpenEventPayload]\n\t/**\n\t * Fired when Desktop needs records for a list view.\n\t * The host app should fetch and populate HST.\n\t */\n\t'load-records': [payload: LoadRecordsEventPayload]\n\t/**\n\t * Fired when Desktop needs a single record for a form view.\n\t * The host app should fetch and populate HST.\n\t */\n\t'load-record': [payload: LoadRecordEventPayload]\n}>()\n\nconst { stonecrop } = useStonecrop()\n\n// Field-validation store (advisory, client-side). Pinia is a declared peerDependency, kept external\n// in this package's build (rollupOptions), so `useValidationStore()` resolves the host app's single\n// active Pinia directly — the old `getCurrentInstance().$pinia` workaround for the bundled-Pinia bug\n// is no longer needed. Still guarded: validation is optional and Desktop predates it, so a host that\n// mounts Desktop without Pinia disables validation gracefully instead of crashing on mount.\nlet validationStore: ReturnType<typeof useValidationStore> | null = null\ntry {\n\tvalidationStore = useValidationStore()\n} catch {\n\tvalidationStore = null\n}\n\n// Inline field errors handed to AForm. Only surfaced in the record form view (currentView is\n// defined below); empty elsewhere so a previous record's errors never bleed into a list view.\nconst fieldErrors = computed<Record<string, string[]>>(() =>\n\tcurrentView.value === 'record' ? (validationStore?.errorsByField ?? {}) : {}\n)\n\n// State\nconst loading = ref(false)\nconst commandPaletteOpen = ref(false)\n\n// Form/list data management — each view produces a different data shape.\n// List views (doctypes, records) return table row data keyed by fieldname.\n// Record view returns HST record fields for two-way binding.\nconst currentViewData = computed<Record<string, any>>({\n\tget() {\n\t\t// Doctypes list — rows come from availableDoctypes prop (reactive via availableDoctypes)\n\t\tif (currentView.value === 'doctypes') {\n\t\t\treturn {\n\t\t\t\tdoctypes_table:\n\t\t\t\t\tavailableDoctypes?.map(doctype => ({\n\t\t\t\t\t\tid: doctype,\n\t\t\t\t\t\tdoctype,\n\t\t\t\t\t\tdisplay_name: formatDoctypeName(doctype),\n\t\t\t\t\t\trecord_count: getRecordCount(doctype),\n\t\t\t\t\t\tactions: 'View Records',\n\t\t\t\t\t})) ?? [],\n\t\t\t}\n\t\t}\n\n\t\t// Records list — rows come from HST store (reactive because HST is Vue reactive())\n\t\tif (currentView.value === 'records') {\n\t\t\tconst idField = recordIdField || 'id'\n\t\t\treturn {\n\t\t\t\trecords_table: getRecords().map(record =>\n\t\t\t\t\tObject.assign({}, record, {\n\t\t\t\t\t\tid: record[idField] || record.id || '',\n\t\t\t\t\t\tactions: 'Edit | Delete',\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t}\n\t\t}\n\n\t\t// Record form — read single record from HST\n\t\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\t\treturn {}\n\t\t}\n\n\t\ttry {\n\t\t\tconst record = stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)\n\t\t\t// Return a plain shallow copy so AForm mutations don't propagate directly into\n\t\t\t// the HST reactive object, which would bypass field-trigger diffing and cause\n\t\t\t// setupDeepReactivity to fire triggers for all fields on every keystroke.\n\t\t\tconst flat: Record<string, any> = { ...record?.get('') }\n\n\t\t\t// AFieldset receives data[fieldsetFieldname] as its data prop, so the fieldset's\n\t\t\t// children must be grouped under the fieldset key. The server returns flat SQL rows,\n\t\t\t// so we nest fieldset children here before AForm renders them.\n\t\t\tconst doctype = stonecrop.value.registry.registry[currentDoctype.value]\n\t\t\tif (doctype) {\n\t\t\t\tfor (const field of doctype.getSchemaArray()) {\n\t\t\t\t\tif (field.kind === 'fieldset') {\n\t\t\t\t\t\tconst nested: Record<string, any> = {}\n\t\t\t\t\t\tfor (const child of field.schema) {\n\t\t\t\t\t\t\tif (child.fieldname) nested[child.fieldname] = flat[child.fieldname]\n\t\t\t\t\t\t}\n\t\t\t\t\t\tflat[field.fieldname] = nested\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn flat\n\t\t} catch {\n\t\t\treturn {}\n\t\t}\n\t},\n\tset(newData: Record<string, any>) {\n\t\t// List views are read-only from AForm's perspective — HST writes only apply to record form\n\t\tif (currentView.value !== 'record') return\n\t\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\t\treturn\n\t\t}\n\n\t\ttry {\n\t\t\t// AForm emits nested data for fieldsets: { fieldsetKey: { childA: val } }.\n\t\t\t// HST and the server both expect flat rows, so flatten fieldset values back before writing.\n\t\t\tconst doctype = stonecrop.value.registry.registry[currentDoctype.value]\n\t\t\tconst fieldsetNames = new Set<string>()\n\t\t\tif (doctype) {\n\t\t\t\tfor (const field of doctype.getSchemaArray()) {\n\t\t\t\t\tif (field.kind === 'fieldset') {\n\t\t\t\t\t\tfieldsetNames.add(field.fieldname)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Two-pass flatten: non-fieldset keys first, then fieldset children.\n\t\t\t// Fieldset children must be applied last — AForm may emit stale flat copies\n\t\t\t// of fieldset children alongside the updated nested value, and the nested\n\t\t\t// value must win regardless of key insertion order.\n\t\t\tconst flatData: Record<string, any> = {}\n\t\t\tconst fieldsetValues: Record<string, any>[] = []\n\t\t\tfor (const [key, value] of Object.entries(newData)) {\n\t\t\t\tif (fieldsetNames.has(key) && value && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t\t\tfieldsetValues.push(value)\n\t\t\t\t} else {\n\t\t\t\t\tflatData[key] = value\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (const nestedValue of fieldsetValues) {\n\t\t\t\tObject.assign(flatData, nestedValue)\n\t\t\t}\n\n\t\t\t// Only update fields that actually changed. Never write undefined — AForm may emit\n\t\t\t// schema fields absent from the record as undefined; writing them would silently\n\t\t\t// clear values that exist in HST. Explicit null is allowed (intentional clear).\n\t\t\tconst hstStore = stonecrop.value.getStore()\n\t\t\tconst changedFields: string[] = []\n\t\t\tfor (const [fieldname, value] of Object.entries(flatData)) {\n\t\t\t\tif (value === undefined) continue\n\t\t\t\tconst fieldPath = `${currentDoctype.value}.${currentRecordId.value}.${fieldname}`\n\t\t\t\tconst currentValue = hstStore.has(fieldPath) ? hstStore.get(fieldPath) : undefined\n\t\t\t\tif (currentValue !== value) {\n\t\t\t\t\thstStore.set(fieldPath, value)\n\t\t\t\t\tchangedFields.push(fieldname)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Advisory field-validation runs on the fields that actually changed (honors each\n\t\t\t// trigger's `on` set). Driven here, after the HST writes, so HST stays value-only.\n\t\t\tif (changedFields.length > 0) {\n\t\t\t\tdriveFieldValidation(changedFields)\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.warn('HST update failed:', error)\n\t\t}\n\t},\n})\n\n// Advisory field-validation: run the doctype's triggers for the fields that changed on this edit.\n// Snapshots the post-edit record as a plain, flat object so validators read siblings read-only\n// (the core store freezes it). Fire-and-forget — the reactive error store repaints AForm on resolve.\nfunction driveFieldValidation(changedFields: string[]) {\n\tif (!validationStore || !stonecrop.value || !currentDoctype.value || !currentRecordId.value) return\n\n\tconst doctype = stonecrop.value.registry.getDoctype(currentDoctype.value)\n\tconst triggers = doctype?.getTriggers()\n\tif (!triggers || Object.keys(triggers).length === 0) return\n\n\tconst node = stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)\n\tconst record = { ...(node?.get('') as Record<string, unknown>) }\n\n\tfor (const field of changedFields) {\n\t\tvoid validationStore.validateField(triggers, field, record)\n\t}\n}\n\n// Computed properties for current route context.\n// When a routeAdapter is provided it takes full precedence over the registry's internal router.\nconst route = computed(() => (routeAdapter ? null : unref(stonecrop.value?.registry.router?.currentRoute)))\nconst router = computed(() => (routeAdapter ? null : stonecrop.value?.registry.router))\nconst currentDoctype = computed(() => {\n\tif (routeAdapter) return routeAdapter.getCurrentDoctype()\n\tif (!route.value) return ''\n\n\t// First check if we have actualDoctype in meta (from registered routes)\n\tif (route.value.meta?.actualDoctype) {\n\t\treturn route.value.meta.actualDoctype as string\n\t}\n\n\t// For named routes, use params.doctype\n\tif (route.value.params.doctype) {\n\t\treturn route.value.params.doctype.toString()\n\t}\n\n\t// For catch-all routes that haven't been registered yet, extract from path\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 0) {\n\t\treturn pathMatch[0]\n\t}\n\n\treturn ''\n})\n\n// The route doctype for display and navigation (e.g., 'todo')\nconst routeDoctype = computed(() => {\n\tif (routeAdapter) return routeAdapter.getCurrentDoctype()\n\tif (!route.value) return ''\n\n\t// Check route meta first\n\tif (route.value.meta?.doctype) {\n\t\treturn route.value.meta.doctype as string\n\t}\n\n\t// For named routes, use params.doctype\n\tif (route.value.params.doctype) {\n\t\treturn route.value.params.doctype.toString()\n\t}\n\n\t// For catch-all routes, extract from path\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 0) {\n\t\treturn pathMatch[0]\n\t}\n\n\treturn ''\n})\n\nconst currentRecordId = computed(() => {\n\tif (routeAdapter) return routeAdapter.getCurrentRecordId()\n\tif (!route.value) return ''\n\n\t// For named routes, use params.recordId\n\tif (route.value.params.recordId) {\n\t\treturn route.value.params.recordId.toString()\n\t}\n\n\t// For catch-all routes that haven't been registered yet, extract from path\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 1) {\n\t\treturn pathMatch[1]\n\t}\n\n\treturn ''\n})\nconst isNewRecord = computed(() => currentRecordId.value?.startsWith('new-'))\n\n// Determine current view based on route\nconst currentView = computed(() => {\n\tif (routeAdapter) return routeAdapter.getCurrentView()\n\tif (!route.value) {\n\t\treturn 'doctypes'\n\t}\n\n\t// Home route\n\tif (route.value.name === 'home' || route.value.path === '/') {\n\t\treturn 'doctypes'\n\t}\n\n\t// Named routes from registered doctypes\n\tif (route.value.name && route.value.name !== 'catch-all') {\n\t\tconst routeName = route.value.name as string\n\t\tif (routeName.includes('form') || route.value.params.recordId) {\n\t\t\treturn 'record'\n\t\t} else if (routeName.includes('list') || route.value.params.doctype) {\n\t\t\treturn 'records'\n\t\t}\n\t}\n\n\t// Catch-all route - determine from path structure\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 0) {\n\t\tconst view = pathMatch.length === 1 ? 'records' : 'record'\n\t\treturn view\n\t}\n\n\treturn 'doctypes'\n})\n\n// Computed properties (now that all helper functions are defined)\n// Helper function to get available transitions for current record.\n// Reads the actual FSM state from the record's `status` field (or falls back to the\n// workflow initial state) so the available action buttons always reflect reality.\nconst getAvailableTransitions = () => {\n\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\treturn []\n\t}\n\n\ttry {\n\t\tconst doctype = stonecrop.value.registry.getDoctype(currentDoctype.value)\n\t\tif (!doctype?.workflow) return []\n\n\t\t// Delegate state resolution to Stonecrop — reads record 'status', falls back to workflow.initial\n\t\tconst currentState = stonecrop.value.getRecordState(currentDoctype.value, currentRecordId.value)\n\n\t\t// Delegate transition lookup to Doctype — no more manual workflow introspection\n\t\tconst transitions = doctype.getAvailableTransitions(currentState)\n\n\t\tconst recordData = currentViewData.value || {}\n\n\t\t// Each transition emits an 'action' event. The host app decides what to do\n\t\t// (call the server, trigger an FSM actor, update HST, etc.).\n\t\treturn transitions.map(({ name }) => ({\n\t\t\t// Prefer the workflow action's human-readable label (WorkflowMeta format);\n\t\t\t// fall back to the raw transition name for XState workflows with no action meta.\n\t\t\tlabel: doctype.getActionMeta(name)?.label ?? name,\n\t\t\taction: () => {\n\t\t\t\temit('action', {\n\t\t\t\t\tname,\n\t\t\t\t\tdoctype: currentDoctype.value,\n\t\t\t\t\trecordId: currentRecordId.value,\n\t\t\t\t\tdata: recordData,\n\t\t\t\t})\n\t\t\t},\n\t\t}))\n\t} catch (error) {\n\t\tconsole.warn('Error getting available transitions:', error)\n\t\treturn []\n\t}\n}\n\n// Helper: stateless Commands available for the current record — side-effect actions that\n// change no workflow state. Surfaced in the same Actions dropdown as transitions; each emits\n// the same 'action' event, so the host's handler runs a Command's clientHandler identically.\nconst getAvailableCommands = () => {\n\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\treturn []\n\t}\n\n\ttry {\n\t\tconst doctype = stonecrop.value.registry.getDoctype(currentDoctype.value)\n\t\tif (!doctype?.workflow) return []\n\n\t\tconst currentState = stonecrop.value.getRecordState(currentDoctype.value, currentRecordId.value)\n\t\tconst commands = doctype.getAvailableCommands(currentState)\n\t\tconst recordData = currentViewData.value || {}\n\n\t\treturn commands.map(({ name }) => ({\n\t\t\tlabel: doctype.getActionMeta(name)?.label ?? name,\n\t\t\taction: () => {\n\t\t\t\temit('action', {\n\t\t\t\t\tname,\n\t\t\t\t\tdoctype: currentDoctype.value,\n\t\t\t\t\trecordId: currentRecordId.value,\n\t\t\t\t\tdata: recordData,\n\t\t\t\t})\n\t\t\t},\n\t\t}))\n\t} catch (error) {\n\t\tconsole.warn('Error getting available commands:', error)\n\t\treturn []\n\t}\n}\n\nconst actionElements = computed(() => {\n\tconst elements: ActionElements[] = []\n\n\tswitch (currentView.value) {\n\t\tcase 'records':\n\t\t\telements.push({\n\t\t\t\ttype: 'button',\n\t\t\t\tlabel: 'New Record',\n\t\t\t\taction: () => void createNewRecord(),\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'record': {\n\t\t\t// Populate the Actions dropdown with every FSM transition AND stateless Command\n\t\t\t// available in the record's current state. Clicking either emits 'action'.\n\t\t\tconst recordActions = [...getAvailableTransitions(), ...getAvailableCommands()]\n\t\t\tif (recordActions.length > 0) {\n\t\t\t\telements.push({\n\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\tlabel: 'Actions',\n\t\t\t\t\tactions: recordActions,\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn elements\n})\n\nconst navigationBreadcrumbs = computed(() => {\n\tconst breadcrumbs: { title: string; to: string }[] = []\n\n\tif (currentView.value === 'records' && routeDoctype.value) {\n\t\tbreadcrumbs.push(\n\t\t\t{ title: 'Home', to: '/' },\n\t\t\t{ title: formatDoctypeName(routeDoctype.value), to: `/${routeDoctype.value}` }\n\t\t)\n\t} else if (currentView.value === 'record' && routeDoctype.value) {\n\t\tconst recordPath = currentRecordId.value\n\t\t\t? `/${routeDoctype.value}/${currentRecordId.value}`\n\t\t\t: (route.value?.fullPath ?? '')\n\t\tbreadcrumbs.push(\n\t\t\t{ title: 'Home', to: '/' },\n\t\t\t{ title: formatDoctypeName(routeDoctype.value), to: `/${routeDoctype.value}` },\n\t\t\t{ title: isNewRecord.value ? 'New Record' : 'Edit Record', to: recordPath }\n\t\t)\n\t}\n\n\treturn breadcrumbs\n})\n\n// Command palette functionality\ntype Command = {\n\ttitle: string\n\tdescription: string\n\taction: () => void\n}\n\nconst searchCommands = (query: string): Command[] => {\n\tconst commands: Command[] = [\n\t\t{\n\t\t\ttitle: 'Go Home',\n\t\t\tdescription: 'Navigate to the home page',\n\t\t\taction: () => void doNavigate({ view: 'doctypes' }),\n\t\t},\n\t\t{\n\t\t\ttitle: 'Toggle Command Palette',\n\t\t\tdescription: 'Open/close the command palette',\n\t\t\taction: () => (commandPaletteOpen.value = !commandPaletteOpen.value),\n\t\t},\n\t]\n\n\t// Add doctype-specific commands\n\tif (routeDoctype.value) {\n\t\tcommands.push({\n\t\t\ttitle: `View ${formatDoctypeName(routeDoctype.value)} Records`,\n\t\t\tdescription: `Navigate to ${routeDoctype.value} list`,\n\t\t\taction: () => void doNavigate({ view: 'records', doctype: routeDoctype.value }),\n\t\t})\n\n\t\tcommands.push({\n\t\t\ttitle: `Create New ${formatDoctypeName(routeDoctype.value)}`,\n\t\t\tdescription: `Create a new ${routeDoctype.value} record`,\n\t\t\taction: () => void createNewRecord(),\n\t\t})\n\t}\n\n\t// Add available doctypes as commands\n\tavailableDoctypes.forEach(doctype => {\n\t\tcommands.push({\n\t\t\ttitle: `View ${formatDoctypeName(doctype)}`,\n\t\t\tdescription: `Navigate to ${doctype} list`,\n\t\t\taction: () => void doNavigate({ view: 'records', doctype }),\n\t\t})\n\t})\n\n\t// Filter commands based on query\n\tif (!query) return commands\n\n\treturn commands.filter(\n\t\tcmd =>\n\t\t\tcmd.title.toLowerCase().includes(query.toLowerCase()) ||\n\t\t\tcmd.description.toLowerCase().includes(query.toLowerCase())\n\t)\n}\n\nconst executeCommand = (command: Command) => {\n\tcommand.action()\n\tcommandPaletteOpen.value = false\n}\n\n// Helper functions - moved here to avoid \"before initialization\" errors\nconst formatDoctypeName = (doctype: string): string => {\n\treturn doctype\n\t\t.split('-')\n\t\t.map(word => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join(' ')\n}\n\nconst getRecordCount = (doctype: string): number => {\n\tif (!stonecrop.value) return 0\n\tconst recordIds = stonecrop.value.getRecordIds(doctype)\n\treturn recordIds.length\n}\n\n// Internal navigation helper: emits 'navigate', then calls the adapter (if any)\n// or falls back to the registry's Vue Router instance.\nconst doNavigate = async (target: NavigationTarget) => {\n\temit('navigate', target)\n\tif (routeAdapter) {\n\t\tawait routeAdapter.navigate(target)\n\t} else {\n\t\tif (target.view === 'doctypes') {\n\t\t\tawait router.value?.push('/')\n\t\t} else if (target.view === 'records' && target.doctype) {\n\t\t\tawait router.value?.push(`/${target.doctype}`)\n\t\t} else if (target.view === 'record' && target.doctype && target.recordId) {\n\t\t\tawait router.value?.push(`/${target.doctype}/${target.recordId}`)\n\t\t}\n\t}\n}\n\nconst navigateToDoctype = async (doctype: string) => {\n\tawait doNavigate({ view: 'records', doctype })\n}\n\nconst openRecord = async (recordId: string) => {\n\tconst doctype = routeDoctype.value\n\temit('record:open', { doctype, recordId })\n\tawait doNavigate({ view: 'record', doctype, recordId })\n}\n\nconst createNewRecord = async () => {\n\tconst newId = `new-${Date.now()}`\n\tawait doNavigate({ view: 'record', doctype: routeDoctype.value, recordId: newId })\n}\n\n// Flatten Fieldset containers into individual columns for list/table views.\n// A Fieldset groups form fields visually but has no DB column; its children are the\n// actual data fields and should appear as flat columns in a list view.\nconst flattenFieldsets = (fields: ResolvedField[]): ResolvedField[] => {\n\tconst result: ResolvedField[] = []\n\tfor (const field of fields) {\n\t\tif (field.kind === 'fieldset') {\n\t\t\tresult.push(...flattenFieldsets(field.schema))\n\t\t} else {\n\t\t\tresult.push(field)\n\t\t}\n\t}\n\treturn result\n}\n\n// Schema generator functions - moved here to be available to computed properties\nconst getDoctypesSchema = (): ResolvedField[] => {\n\tif (!availableDoctypes?.length) return []\n\n\treturn [\n\t\t{\n\t\t\tkind: 'table' as const,\n\t\t\tfieldname: 'doctypes_table',\n\t\t\tcomponent: 'ATable',\n\t\t\tlabel: 'Doctypes',\n\t\t\tschema: [\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'doctype',\n\t\t\t\t\tlabel: 'Doctype',\n\t\t\t\t\tcomponent: 'ATextInput',\n\t\t\t\t\talign: 'left' as const,\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '20ch',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'display_name',\n\t\t\t\t\tlabel: 'Name',\n\t\t\t\t\tcomponent: 'ATextInput',\n\t\t\t\t\talign: 'left' as const,\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '30ch',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'record_count',\n\t\t\t\t\tlabel: 'Records',\n\t\t\t\t\tcomponent: 'ANumericInput',\n\t\t\t\t\talign: 'center' as const,\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '15ch',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'actions',\n\t\t\t\t\tlabel: 'Actions',\n\t\t\t\t\tcomponent: 'ATextInput',\n\t\t\t\t\talign: 'center' as const,\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '20ch',\n\t\t\t\t},\n\t\t\t],\n\t\t\tconfig: { view: 'list' as const, fullWidth: true },\n\t\t} satisfies ResolvedTable,\n\t]\n}\n\nconst getRecordsSchema = (): ResolvedField[] => {\n\tif (!currentDoctype.value) return []\n\tif (!stonecrop.value) return []\n\n\tconst registry = stonecrop.value.registry\n\tconst doctype = registry.registry[currentDoctype.value]\n\n\tif (!doctype) return []\n\n\tconst schema = registry.resolveSchema(doctype)\n\n\t// If no schema is available, let the template fallback handle the loading state\n\tif (schema.length === 0) return []\n\n\treturn [\n\t\t{\n\t\t\tkind: 'table' as const,\n\t\t\tfieldname: 'records_table',\n\t\t\tcomponent: 'ATable',\n\t\t\tschema: [\n\t\t\t\t...(flattenFieldsets(schema) as ColumnSchema[]),\n\t\t\t\t{ fieldname: 'actions', label: 'Actions', component: 'ATextInput' },\n\t\t\t],\n\t\t\tconfig: { view: 'list' as const, fullWidth: true },\n\t\t} satisfies ResolvedTable,\n\t]\n}\n\nconst getRecordFormSchema = (): ResolvedField[] => {\n\tif (!currentDoctype.value) return []\n\tif (!stonecrop.value) return []\n\n\ttry {\n\t\tconst registry = stonecrop.value?.registry\n\t\tconst doctype = registry?.registry[currentDoctype.value]\n\n\t\tif (!doctype?.schema) {\n\t\t\t// Let the template fallback handle the loading state\n\t\t\treturn []\n\t\t}\n\n\t\treturn registry.resolveSchema(doctype)\n\t} catch {\n\t\treturn []\n\t}\n}\n\n// Additional data helper functions\nconst getRecords = () => {\n\tif (!stonecrop.value || !currentDoctype.value) {\n\t\treturn []\n\t}\n\n\tconst recordsNode = stonecrop.value.records(currentDoctype.value)\n\tconst recordsData = recordsNode?.get('')\n\n\tif (recordsData && typeof recordsData === 'object' && !Array.isArray(recordsData)) {\n\t\treturn Object.values(recordsData as Record<string, any>)\n\t}\n\n\treturn []\n}\n\n// Schema for different views - defined here after all helper functions are available\nconst currentViewSchema = computed(() => {\n\tswitch (currentView.value) {\n\t\tcase 'doctypes':\n\t\t\treturn getDoctypesSchema()\n\t\tcase 'records':\n\t\t\treturn getRecordsSchema()\n\t\tcase 'record':\n\t\t\treturn getRecordFormSchema()\n\t\tdefault:\n\t\t\treturn []\n\t}\n})\n\nconst handleActionClick = (_label: string, action: (() => void | Promise<void>) | undefined) => {\n\tif (action) {\n\t\tvoid action()\n\t}\n}\n\n// Desktop does NOT own the delete lifecycle — it asks for confirmation, then emits\n// an 'action' event. The host app is responsible for removing the record from HST\n// and calling the server.\nconst handleDelete = async (recordId?: string) => {\n\tconst targetRecordId = recordId || currentRecordId.value\n\tif (!targetRecordId) return\n\n\tconst confirmed = confirmFn\n\t\t? await confirmFn('Are you sure you want to delete this record?')\n\t\t: confirm('Are you sure you want to delete this record?')\n\n\tif (confirmed) {\n\t\temit('action', {\n\t\t\tname: 'DELETE',\n\t\t\tdoctype: currentDoctype.value,\n\t\t\trecordId: targetRecordId,\n\t\t\tdata: currentViewData.value || {},\n\t\t})\n\t}\n}\n\n// Event handlers\nconst getRecordIdFromRow = (rowElement: HTMLTableRowElement): string | null => {\n\tconst cell = rowElement.querySelector('td[data-rowindex]')\n\tif (!cell) return null\n\n\tconst rowIndexAttr = cell.getAttribute('data-rowindex')\n\tif (rowIndexAttr === null) return null\n\n\tconst rowIndex = parseInt(rowIndexAttr, 10)\n\tif (isNaN(rowIndex)) return null\n\n\tconst records = getRecords()\n\tconst record = records[rowIndex]\n\tif (!record) return null\n\n\tconst idField = recordIdField || 'id'\n\treturn record[idField] || record.id || null\n}\n\nconst handleClick = async (event: Event) => {\n\tconst target = event.target as HTMLElement\n\tconst action = target.getAttribute('data-action')\n\n\tif (action === 'create') {\n\t\tawait createNewRecord()\n\t}\n\n\tconst cell = target.closest('td, th')\n\tif (cell) {\n\t\tconst cellText = cell.textContent?.trim()\n\t\tconst row = cell.closest('tr')\n\n\t\tif (cellText === 'View Records' && row) {\n\t\t\t// Get the doctype from the row data\n\t\t\tconst cells = row.querySelectorAll('td')\n\t\t\tif (cells.length > 0) {\n\t\t\t\tconst doctypeCell = cells[1] // Assuming doctype is in second column (first column is index)\n\t\t\t\tconst doctype = doctypeCell.textContent?.trim()\n\t\t\t\tif (doctype) {\n\t\t\t\t\tawait navigateToDoctype(doctype)\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (cellText?.includes('Edit') && row) {\n\t\t\tconst recordId = getRecordIdFromRow(row)\n\t\t\tif (recordId) {\n\t\t\t\tawait openRecord(recordId)\n\t\t\t}\n\t\t} else if (cellText?.includes('Delete') && row) {\n\t\t\tconst recordId = getRecordIdFromRow(row)\n\t\t\tif (recordId) {\n\t\t\t\tawait handleDelete(recordId)\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst loadRecordData = async () => {\n\tif (!stonecrop.value || !currentDoctype.value || isNewRecord.value) return\n\n\t// Record already in HST — nothing to fetch.\n\tif (stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)) return\n\n\t// Record absent and a client is configured — fetch directly so the form\n\t// populates even when the list view was never visited (direct URL navigation).\n\tif (stonecrop.value.getClient()) {\n\t\tloading.value = true\n\t\ttry {\n\t\t\tawait stonecrop.value.getRecord(currentDoctype.value, currentRecordId.value)\n\t\t} catch (error) {\n\t\t\tconsole.warn('Error fetching record:', error)\n\t\t} finally {\n\t\t\tloading.value = false\n\t\t}\n\t}\n}\n\n// Watch for route changes to load appropriate data\nwatch(\n\t[currentView, currentDoctype, currentRecordId],\n\t() => {\n\t\tif (currentView.value === 'records' && currentDoctype.value) {\n\t\t\t// Emit load-records event so host app can populate HST\n\t\t\temit('load-records', { doctype: currentDoctype.value })\n\t\t} else if (currentView.value === 'record' && currentDoctype.value && currentRecordId.value) {\n\t\t\t// Emit load-record event so host app can fetch and populate HST\n\t\t\temit('load-record', { doctype: currentDoctype.value, recordId: currentRecordId.value })\n\t\t\tvoid loadRecordData()\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\n// Clear advisory validation errors when the target record changes, so errors from a previously\n// edited record never bleed into a newly opened one.\nwatch([currentDoctype, currentRecordId], () => {\n\tvalidationStore?.clearAll()\n})\n\n// Stonecrop reactive computed properties update automatically when the instance\n// becomes available — no manual watcher needed.\n\n// Provide navigation helpers and an emitAction convenience function to child components.\nconst desktopMethods = {\n\tnavigateToDoctype,\n\topenRecord,\n\tcreateNewRecord,\n\thandleDelete,\n\t/**\n\t * Convenience wrapper so child components (e.g. slot content) can emit\n\t * an action event without needing a direct reference to the emit function.\n\t */\n\temitAction: (name: string, data?: Record<string, any>) => {\n\t\temit('action', {\n\t\t\tname,\n\t\t\tdoctype: currentDoctype.value,\n\t\t\trecordId: currentRecordId.value,\n\t\t\tdata: data ?? currentViewData.value ?? {},\n\t\t})\n\t},\n}\n\nprovide('desktopMethods', desktopMethods)\n\n// Provide a navigator for AFormLink so the arrow button navigates to the linked record.\nprovide('aformLinkNavigator', {\n\tnavigate: (doctype: string, id: string | number) => {\n\t\tvoid doNavigate({ view: 'record', doctype, recordId: String(id) })\n\t},\n} satisfies AFormLinkNavigator)\n\nfunction toDisplayString(rec: Record<string, unknown> | undefined): string | undefined {\n\tif (!rec) return undefined\n\tconst val = rec.name ?? rec.title ?? rec.displayText\n\treturn typeof val === 'string' || typeof val === 'number' ? String(val) : undefined\n}\n\n// Provide a resolver for AFormLink to look up display text by doctype + id.\n// Checks HST first (sync); falls back to an async client fetch if not cached.\nprovide('aformLinkResolver', async (doctypeSlug: string, id: string): Promise<string | undefined> => {\n\tif (!stonecrop.value) return undefined\n\ttry {\n\t\tconst cached = stonecrop.value.getRecordById(doctypeSlug, id)?.get('') as Record<string, unknown> | undefined\n\t\tconst cachedDisplay = toDisplayString(cached)\n\t\tif (cachedDisplay != null) return cachedDisplay\n\t\tawait stonecrop.value.getRecord(doctypeSlug, id)\n\t\tconst fetched = stonecrop.value.getRecordById(doctypeSlug, id)?.get('') as Record<string, unknown> | undefined\n\t\treturn toDisplayString(fetched)\n\t} catch {\n\t\treturn undefined\n\t}\n})\n\nconst handleKeydown = (event: KeyboardEvent) => {\n\tif ((event.ctrlKey || event.metaKey) && event.key === 'k') {\n\t\tevent.preventDefault()\n\t\tcommandPaletteOpen.value = true\n\t}\n\tif (event.key === 'Escape' && commandPaletteOpen.value) {\n\t\tcommandPaletteOpen.value = false\n\t}\n}\n\nonMounted(() => {\n\tdocument.addEventListener('keydown', handleKeydown)\n})\n\nonUnmounted(() => {\n\tdocument.removeEventListener('keydown', handleKeydown)\n})\n</script>\n","import { App, type Plugin } from 'vue'\n\nimport ActionSet from '../components/ActionSet.vue'\nimport CommandPalette from '../components/CommandPalette.vue'\nimport Desktop from '../components/Desktop.vue'\nimport SheetNav from '../components/SheetNav.vue'\n\n/**\n * This is the main plugin that will be used to register all the desktop components.\n * @public\n */\nconst plugin: Plugin = {\n\tinstall: (app: App) => {\n\t\tapp.component('ActionSet', ActionSet)\n\t\tapp.component('CommandPalette', CommandPalette)\n\t\tapp.component('Desktop', Desktop)\n\t\tapp.component('SheetNav', SheetNav)\n\t},\n}\n\nexport default plugin\n"],"names":["emit","__emit","dropdownStates","ref","isOpen","dropdownOpen","onMounted","closeDropdowns","onClick","toggleDropdown","index","showDropdown","handleClick","action","label","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_1","_openBlock","_Fragment","_renderList","__props","el","_hoisted_2","$event","_toDisplayString","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_withDirectives","_hoisted_8","_hoisted_9","item","_hoisted_10","_hoisted_12","_vShow","query","selectedIndex","inputRef","useTemplateRef","results","computed","watch","open","nextTick","closeModal","handleKeydown","e","selectResult","result","_createBlock","_Teleport","_createVNode","_Transition","_renderSlot","_ctx","Hs","Ys","t","r","i","Gs","Xs","Qs","so","ea","Js","to","Vs","K","ta","n","o","ao","ra","Jr","na","ro","ia","Je","oa","sa","eo","yn","aa","ot","ua","Ue","dt","te","Ks","f","l","h","d","pr","dr","ca","fa","la","ha","pa","ni","da","_","g","no","m","E","$","b","N","k","Ct","Ce","M","D","ie","ht","Re","Y","ae","jt","_a","Vr","_r","va","ii","oi","or","io","w","v","X","be","je","Te","Wt","u","Le","si","_t","Or","ya","Be","nn","s","a","c","ai","Rp","kr","z","R","O","L","F","oo","Kr","nt","pt","Us","Br","Wr","hr","Bs","Ws","wa","ri","p","co","fo","Ve","lo","on","Nr","wn","Sn","Sa","ui","at","et","ci","ba","ho","Ht","za","yt","po","ka","wt","tt","y","Oa","$a","Ea","Ia","Aa","Ra","Ta","Pa","Na","gt","mt","gr","Ke","bn","Yt","_o","go","mo","Za","Ma","zn","vt","kn","Zr","Da","Mr","Ca","ja","La","Fa","xa","qa","Ua","Ba","Wa","Ja","Va","Ka","Ha","Ya","Ga","Xa","Qa","fi","eu","tu","ru","nu","iu","ou","su","au","vo","uu","yo","cu","wo","fu","lu","hu","pu","So","du","_u","gu","de","bo","zo","ko","mu","vu","yu","wu","Su","Dr","bu","zu","ku","Ou","$u","Eu","Iu","Au","Ru","W","On","J","Tu","Pu","Nu","Zu","Mu","Du","Cu","ju","Lu","Fu","xu","qu","Uu","Bu","Wu","Ju","Vu","Ku","Hu","Oo","Yu","Gu","Xu","Qu","ec","tc","$o","rc","nc","ic","oc","li","sc","$r","Eo","Io","ac","uc","hi","Ao","cc","fc","pi","sn","lc","hc","pc","dc","di","Ro","_c","gc","mc","_i","vc","yc","gi","wc","Sc","mr","bc","mi","zc","kc","vi","yi","Oc","$c","xt","Ec","Ic","wi","Ac","Rc","Tc","Pc","Nc","Zc","Mc","Dc","Cc","jc","Lc","Fc","xc","qc","Uc","Bc","Wc","Jc","Vc","Kc","Hc","Yc","Gc","Xc","Qc","ef","tf","rf","nf","Si","Hr","bi","Yr","zi","To","Er","Po","of","sf","af","uf","cf","ff","Rt","lf","hf","pf","df","_f","gf","mf","vf","yf","No","G","ue","Zo","Mo","Ir","wf","Sf","bf","zf","kf","Of","$f","Ef","If","Af","Rf","Tf","Pf","Nf","Zf","Mf","Df","Cf","jf","Lf","Ff","xf","qf","Do","Uf","Bf","H","Wf","Jf","Vf","Kf","Hf","Yf","Gf","Xf","$e","Qf","tl","rl","nl","il","ol","sl","al","ul","cl","fl","V","nh","ih","$i","ql","Ei","Kl","He","qo","Cl","cn","Bo","Wl","Vl","Yl","Ql","Co","ll","hl","pl","Il","dl","ki","vr","_l","gl","ml","vl","Ol","$l","yl","wl","Sl","bl","zl","kl","El","I","jo","Oi","an","Al","Rl","ze","Tl","Gt","Pl","Lo","Nl","Fo","Ie","Wo","Jo","ce","Zl","xo","Ml","Uo","Dl","jl","Xt","un","Ll","st","Fl","xl","Ul","Bl","Jl","Hl","Gl","Xl","eh","th","rh","oh","sh","ah","uh","Vo","ch","fh","lh","hh","ph","dh","_h","gh","mh","vh","yh","wh","Sh","Ho","Yo","Ar","Oe","Rr","U","En","Go","ye","oe","pe","Ee","rt","ut","Ae","Tt","Zt","Pt","we","Se","fn","Xo","Cr","Z","B","le","Qo","jr","Ri","ln","zh","kh","sr","j","me","fe","P","hn","ke","In","St","es","Ye","Lr","rs","ar","ts","Fr","ns","ct","Me","Ge","Ze","is","An","Nt","os","Tn","$h","Pn","ss","bt","Rn","Oh","Ti","Nn","ur","cr","Ft","xr","Eh","_e","Pi","Nh","Ih","Zh","Ah","pn","Th","Rh","Qr","Xr","Mh","Mi","as","dn","_n","it","Zi","Ph","Ni","Gr","qr","Zn","hs","us","cs","fs","Ci","Cn","ls","De","ps","Dh","Qe","Ch","xe","Dn","C","jh","Mn","Lh","ds","Fh","xh","_s","qh","Uh","zt","gs","yr","Di","wr","ji","ve","ms","Mt","vs","ws","ys","Bh","Wh","Xe","Pe","Tr","jn","Ln","Jh","Vh","Ss","bs","Fn","Ne","xn","Kh","qn","Un","Bn","Wn","fr","zs","Jn","Jt","ge","xi","Hh","Vn","q","Yn","Qt","tp","Yh","kt","ks","Kn","rp","Xh","qi","Os","ep","Qh","er","np","Gh","Ot","Hn","Fe","Li","en","Fi","$s","tr","ip","Es","op","sp","Is","ap","As","Rs","$t","zr","rr","We","Ts","up","qe","Ui","Vt","Q","Et","nr","gn","Ps","qt","Wi","Gn","Bi","Ns","mn","Xn","Sr","Ut","he","Ji","Vi","cp","fp","tn","Ki","Hi","Zs","lp","rn","Ms","Qn","Ur","Bt","ne","br","ir","Ds","Yi","Cs","js","hp","pp","Ls","Pr","dp","Gi","_p","ft","se","lr","Xi","Dt","It","Fs","vn","lt","xs","Qi","gp","re","ti","mp","x","At","ei","Zp","breadcrumbsVisibile","searchVisible","searchText","rotateHideTabIcon","toggleBreadcrumbs","toggleSearch","handleSearchInput","event","handleSearch","navigateHome","_component_router_link","_cache","_withKeys","breadcrumb","_createTextVNode","stonecrop","useStonecrop","validationStore","useValidationStore","fieldErrors","currentView","loading","commandPaletteOpen","currentViewData","doctype","formatDoctypeName","getRecordCount","idField","getRecords","record","currentDoctype","currentRecordId","flat","field","nested","child","newData","fieldsetNames","flatData","fieldsetValues","key","value","nestedValue","hstStore","changedFields","fieldname","fieldPath","driveFieldValidation","error","triggers","route","unref","router","pathMatch","routeDoctype","isNewRecord","routeName","getAvailableTransitions","currentState","transitions","recordData","name","getAvailableCommands","commands","actionElements","elements","createNewRecord","recordActions","navigationBreadcrumbs","breadcrumbs","recordPath","searchCommands","doNavigate","cmd","executeCommand","command","word","target","navigateToDoctype","openRecord","recordId","newId","flattenFieldsets","fields","getDoctypesSchema","getRecordsSchema","registry","schema","getRecordFormSchema","recordsData","currentViewSchema","handleActionClick","_label","handleDelete","targetRecordId","getRecordIdFromRow","rowElement","cell","rowIndexAttr","rowIndex","cellText","row","cells","loadRecordData","provide","data","id","toDisplayString","rec","val","doctypeSlug","cached","cachedDisplay","fetched","onUnmounted","ActionSet","_unref","AForm","SheetNav","CommandPalette","_withCtx","plugin","app","Desktop"],"mappings":"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"}