@absolutejs/absolute 0.19.0-beta.757 → 0.19.0-beta.758

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.
@@ -28,13 +28,13 @@
28
28
  "type AbsoluteSlotWindow = Window & {\n\t__ABS_SLOT_ENQUEUE__?: (id: string, payload: unknown) => void;\n\t__ABS_SLOT_FLUSH__?: () => void;\n\t__ABS_SLOT_CONSUMERS__?: Record<\n\t\tstring,\n\t\t((payload: unknown) => boolean | void) | undefined\n\t>;\n\t__ABS_SLOT_HYDRATION_PENDING__?: boolean;\n\t__ABS_SLOT_PENDING__?: Record<string, unknown>;\n\t__ABS_SLOT_RUNTIME__?: boolean;\n};\n\nconst streamSwapRuntime = () => {\n\tconst absoluteWindow: AbsoluteSlotWindow = window;\n\tconst SLOT_PATCH_EVENT = 'absolutejs:slot-patch';\n\tif (absoluteWindow.__ABS_SLOT_RUNTIME__ === true) return;\n\tabsoluteWindow.__ABS_SLOT_RUNTIME__ = true;\n\tabsoluteWindow.__ABS_SLOT_CONSUMERS__ =\n\t\tabsoluteWindow.__ABS_SLOT_CONSUMERS__ ?? {};\n\tabsoluteWindow.__ABS_SLOT_PENDING__ =\n\t\tabsoluteWindow.__ABS_SLOT_PENDING__ ?? {};\n\tconst consumers = absoluteWindow.__ABS_SLOT_CONSUMERS__;\n\tconst pending = absoluteWindow.__ABS_SLOT_PENDING__;\n\tconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\t\tBoolean(value) && typeof value === 'object';\n\tconst isPatchedPendingEntry = (\n\t\tvalue: unknown\n\t): value is {\n\t\tdomPatched: true;\n\t\tpayload: unknown;\n\t} => {\n\t\tif (!isObjectRecord(value)) return false;\n\n\t\treturn value.domPatched === true && 'payload' in value;\n\t};\n\tconst unwrapPendingPayload = (value: unknown) =>\n\t\tisPatchedPendingEntry(value) ? value.payload : value;\n\tconst canApplyImmediately = () =>\n\t\tabsoluteWindow.__ABS_SLOT_HYDRATION_PENDING__ !== true;\n\tconst isAngularDeferPayload = (payload: unknown) => {\n\t\tif (!isObjectRecord(payload)) return false;\n\n\t\treturn payload.kind === 'angular-defer';\n\t};\n\tconst isVueSuspensePayload = (payload: unknown) => {\n\t\tif (!isObjectRecord(payload)) return false;\n\n\t\treturn payload.kind === 'vue-suspense';\n\t};\n\tconst resolveHtml = (payload: unknown) => {\n\t\tif (!isObjectRecord(payload)) {\n\t\t\treturn typeof payload === 'string' ? payload : '';\n\t\t}\n\t\tif (typeof payload.html === 'string') {\n\t\t\treturn payload.html;\n\t\t}\n\n\t\treturn '';\n\t};\n\n\tconst apply = (id: string, pendingEntry: unknown) => {\n\t\tconst payload = unwrapPendingPayload(pendingEntry);\n\t\tif (!canApplyImmediately()) {\n\t\t\tpending[id] = payload;\n\n\t\t\treturn;\n\t\t}\n\t\tconst consumer = consumers[id];\n\t\tif (typeof consumer !== 'function') {\n\t\t\tapplyToDom(id, payload, pendingEntry);\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst handled = consumer(payload);\n\t\tif (handled !== false) {\n\t\t\tdelete pending[id];\n\n\t\t\treturn;\n\t\t}\n\n\t\tapplyToDom(id, payload, pendingEntry);\n\t};\n\tconst applyToDom = (\n\t\tid: string,\n\t\tpayload: unknown,\n\t\tpendingEntry: unknown\n\t) => {\n\t\tif (isAngularDeferPayload(payload)) {\n\t\t\tpending[id] = payload;\n\n\t\t\treturn;\n\t\t}\n\t\tconst node = document.getElementById(id);\n\t\tif (!node) {\n\t\t\tpending[id] = payload;\n\n\t\t\treturn;\n\t\t}\n\t\tconst html = resolveHtml(payload);\n\t\tif (\n\t\t\tisVueSuspensePayload(payload) &&\n\t\t\tisPatchedPendingEntry(pendingEntry)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnode.innerHTML = html;\n\t\tnode.setAttribute('data-absolute-slot-state', 'resolved');\n\t\twindow.dispatchEvent(\n\t\t\tnew CustomEvent(SLOT_PATCH_EVENT, {\n\t\t\t\tdetail: { html, id, payload }\n\t\t\t})\n\t\t);\n\t\tif (isVueSuspensePayload(payload)) {\n\t\t\tpending[id] = { domPatched: true, payload };\n\n\t\t\treturn;\n\t\t}\n\t\tdelete pending[id];\n\t};\n\n\tconst flush = () => {\n\t\tfor (const id in pending) {\n\t\t\tif (!Object.prototype.hasOwnProperty.call(pending, id)) continue;\n\t\t\tapply(id, pending[id] ?? '');\n\t\t}\n\t};\n\n\tabsoluteWindow.__ABS_SLOT_FLUSH__ = flush;\n\tabsoluteWindow.__ABS_SLOT_ENQUEUE__ = (id: string, payload: unknown) => {\n\t\tapply(id, payload);\n\t};\n\n\tif (typeof MutationObserver === 'function') {\n\t\tconst observer = new MutationObserver(flush);\n\t\tconst root = document.documentElement ?? document.body ?? document;\n\t\tobserver.observe(root, { childList: true, subtree: true });\n\t}\n\n\tif (document.readyState === 'loading') {\n\t\tdocument.addEventListener('DOMContentLoaded', flush, { once: true });\n\t}\n\tflush();\n};\n\nconst stripFunctionWrapper = (value: string) => {\n\tconst start = value.indexOf('{');\n\tconst end = value.lastIndexOf('}');\n\tif (start < 0 || end <= start) return '';\n\n\treturn value.slice(start + 1, end);\n};\n\nexport const getStreamSwapRuntimeScript = () =>\n\t`(function(){${stripFunctionWrapper(streamSwapRuntime.toString())}})();`;\n",
29
29
  "const ESCAPE_LOOKUP: Record<string, string> = {\n\t'\\u2028': '\\\\u2028',\n\t'\\u2029': '\\\\u2029',\n\t'<': '\\\\u003C'\n};\n\nconst ESCAPE_REGEX = /[<\\u2028\\u2029]/g;\n\nexport const escapeScriptContent = (content: string) =>\n\tcontent.replace(ESCAPE_REGEX, (char) => {\n\t\tconst escaped = ESCAPE_LOOKUP[char];\n\n\t\treturn escaped !== undefined ? escaped : char;\n\t});\n",
30
30
  "import { getStreamSwapRuntimeScript } from '../client/streamSwap';\nimport { BASE_36_RADIX, RANDOM_ID_END_INDEX } from '../constants';\nimport { escapeScriptContent } from './escapeScriptContent';\n\nconst SLOT_ID_PREFIX = 'abs-slot-';\nconst CLOSING_BODY_TAG = '</body>';\nconst CLOSING_HEAD_TAG = '</head>';\nconst CLOSING_BODY_TAG_LENGTH = CLOSING_BODY_TAG.length;\nconst CLOSING_HEAD_TAG_LENGTH = CLOSING_HEAD_TAG.length;\nconst CLOSING_PAGE_TAG_REGEX = /<\\/body>\\s*<\\/html>\\s*$/i;\nconst STREAMING_RUNTIME_GLOBAL = '__ABS_SLOT_ENQUEUE__';\nconst STREAMING_PENDING_GLOBAL = '__ABS_SLOT_PENDING__';\nconst STREAM_TAIL_LOOKBEHIND = 128;\nconst STREAMING_SLOT_TIMEOUT_MS = 5_000;\nconst STREAMING_SLOT_MAX_PER_RESPONSE = 128;\nconst STREAMING_SLOT_MAX_HTML_BYTES = 64_000;\n\ntype SlotResolver = () => Promise<unknown> | unknown;\ntype SlotErrorHandler = (error: unknown, slot: StreamingSlot) => void;\ntype StreamReader = ReadableStreamDefaultReader<string | Uint8Array>;\ntype StreamReadPromise = ReturnType<StreamReader['read']>;\nexport type StreamingSlotMetricType =\n\t| 'prepared'\n\t| 'dropped'\n\t| 'resolved'\n\t| 'patched'\n\t| 'timeout'\n\t| 'size_exceeded'\n\t| 'error';\nexport type StreamingSlotMetric = {\n\ttype: StreamingSlotMetricType;\n\tslotId: string;\n\tdurationMs?: number;\n\tbytes?: number;\n\treason?: string;\n\terror?: unknown;\n};\nexport type StreamingSlotMetricHandler = (metric: StreamingSlotMetric) => void;\n\nexport type StreamingSlotPolicy = {\n\ttimeoutMs?: number;\n\tfallbackHtml?: unknown;\n\terrorHtml?: unknown;\n\tmaxSlotsPerResponse?: number;\n\tmaxSlotHtmlSizeBytes?: number;\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n};\n\ntype StreamingSlotPolicyValue = {\n\ttimeoutMs: number;\n\tfallbackHtml: string;\n\terrorHtml?: string;\n\tmaxSlotsPerResponse: number;\n\tmaxSlotHtmlSizeBytes: number;\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n};\n\nexport type StreamingSlot = {\n\terrorHtml?: unknown;\n\tfallbackHtml?: unknown;\n\tid: string;\n\ttimeoutMs?: number;\n\tresolve: SlotResolver;\n};\n\nexport type StreamingSlotPatchPayload =\n\t| string\n\t| {\n\t\t\t[key: string]: unknown;\n\t\t\thtml: string;\n\t };\n\ntype DeferredStreamingSlot = Omit<StreamingSlot, 'id'> & { id?: string };\n\nexport type AppendStreamingSlotsOptions = {\n\tinjectRuntime?: boolean;\n\tnonce?: string;\n\truntimePreludeScript?: string;\n\tpolicy?: StreamingSlotPolicy;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n\tonError?: (error: unknown, slot: StreamingSlot) => void;\n\truntimePlacement?: 'body' | 'head';\n};\n\nexport type StreamOutOfOrderSlotsOptions = {\n\tfooterHtml?: string;\n\theaderHtml?: string;\n\tnonce?: string;\n\tpolicy?: StreamingSlotPolicy;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n\tonError?: (error: unknown, slot: StreamingSlot) => void;\n\tslots: DeferredStreamingSlot[];\n};\n\nconst createSlotPatchStatement = (\n\tid: string,\n\tpayload: StreamingSlotPatchPayload\n) =>\n\t`(window.${STREAMING_RUNTIME_GLOBAL}||function(i,p){window.${STREAMING_PENDING_GLOBAL}=window.${STREAMING_PENDING_GLOBAL}||{};window.${STREAMING_PENDING_GLOBAL}[i]=p;})(${JSON.stringify(id)},${JSON.stringify(payload)});`;\n\nconst createNonceAttr = (nonce?: string) => (nonce ? ` nonce=\"${nonce}\"` : '');\n\nexport const createStreamingSlotId = () =>\n\t`${SLOT_ID_PREFIX}${Math.random().toString(BASE_36_RADIX).slice(2, RANDOM_ID_END_INDEX)}`;\nexport const getStreamingSlotsRuntimeScript = () =>\n\tgetStreamSwapRuntimeScript();\nexport const injectHtmlIntoBody = (html: string, injection: string) => {\n\tconst closingBodyIndex = html.indexOf(CLOSING_BODY_TAG);\n\tif (closingBodyIndex >= 0) {\n\t\treturn `${html.slice(0, closingBodyIndex)}${injection}${html.slice(closingBodyIndex)}`;\n\t}\n\n\treturn `${html}${injection}`;\n};\nexport const injectHtmlIntoHead = (html: string, injection: string) => {\n\tconst closingHeadIndex = html.indexOf(CLOSING_HEAD_TAG);\n\tif (closingHeadIndex >= 0) {\n\t\treturn `${html.slice(0, closingHeadIndex)}${injection}${html.slice(closingHeadIndex)}`;\n\t}\n\n\treturn `${html}${injection}`;\n};\nexport const renderStreamingSlotPatchTag = (\n\tid: string,\n\tpayload: StreamingSlotPatchPayload,\n\tnonce?: string\n) =>\n\t`<script${createNonceAttr(nonce)}>${escapeScriptContent(\n\t\tcreateSlotPatchStatement(id, payload)\n\t)}</script>`;\nexport const renderStreamingSlotPlaceholder = (id: string, fallbackHtml = '') =>\n\t`<div id=\"${id}\" data-absolute-slot=\"true\" data-absolute-slot-state=\"fallback\">${fallbackHtml}</div>`;\nexport const renderStreamingSlotsRuntimeTag = (\n\tnonce?: string,\n\truntimePreludeScript?: string\n) => {\n\tconst runtimeBody = [\n\t\truntimePreludeScript?.trim() ? runtimePreludeScript.trim() : '',\n\t\tgetStreamingSlotsRuntimeScript()\n\t]\n\t\t.filter(Boolean)\n\t\t.join(';');\n\n\treturn `<script${createNonceAttr(nonce)}>${escapeScriptContent(runtimeBody)}</script>`;\n};\n\nconst toUint8 = (value: string, encoder: TextEncoder) => encoder.encode(value);\n\ntype SafeHtmlLike = {\n\tchangingThisBreaksApplicationSecurity: string;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isSafeHtmlLike = (value: unknown): value is SafeHtmlLike =>\n\tisRecord(value) &&\n\ttypeof value.changingThisBreaksApplicationSecurity === 'string';\n\nconst normalizeSafeHtml = (value: unknown) => {\n\tif (isSafeHtmlLike(value)) {\n\t\treturn value.changingThisBreaksApplicationSecurity;\n\t}\n\n\treturn value;\n};\n\nlet currentStreamingSlotPolicy: StreamingSlotPolicyValue = {\n\terrorHtml: undefined,\n\tfallbackHtml: '',\n\tmaxSlotHtmlSizeBytes: STREAMING_SLOT_MAX_HTML_BYTES,\n\tmaxSlotsPerResponse: STREAMING_SLOT_MAX_PER_RESPONSE,\n\ttimeoutMs: STREAMING_SLOT_TIMEOUT_MS\n};\n\nconst clonePolicy = (\n\tpolicy: StreamingSlotPolicyValue\n): StreamingSlotPolicyValue => ({\n\t...policy\n});\n\nconst normalizeSlotBytes = (value: unknown, fallback: number) => {\n\tif (typeof value === 'number' && Number.isFinite(value) && value >= 0) {\n\t\treturn Math.floor(value);\n\t}\n\n\treturn fallback;\n};\n\nconst normalizeSlotText = (value: unknown, fallback: string) => {\n\tconst normalizedValue = normalizeSafeHtml(value);\n\n\treturn typeof normalizedValue === 'string' ? normalizedValue : fallback;\n};\nconst normalizeSlotError = (\n\tvalue: unknown,\n\tfallback: string | undefined = undefined\n) => {\n\tconst safeValue = normalizeSafeHtml(value);\n\tif (typeof safeValue === 'string') return safeValue;\n\n\treturn fallback;\n};\nconst hasPolicyValue = (\n\tpolicy: StreamingSlotPolicy,\n\tkey: keyof StreamingSlotPolicy\n) => Object.prototype.hasOwnProperty.call(policy, key);\n\nconst applyStreamingSlotPolicyOverrides = (\n\tbase: StreamingSlotPolicyValue,\n\toverridePolicy: StreamingSlotPolicy = {}\n) => ({\n\terrorHtml: hasPolicyValue(overridePolicy, 'errorHtml')\n\t\t? normalizeSlotError(overridePolicy.errorHtml)\n\t\t: base.errorHtml,\n\tfallbackHtml: hasPolicyValue(overridePolicy, 'fallbackHtml')\n\t\t? normalizeSlotText(overridePolicy.fallbackHtml, '')\n\t\t: base.fallbackHtml,\n\tmaxSlotHtmlSizeBytes: hasPolicyValue(overridePolicy, 'maxSlotHtmlSizeBytes')\n\t\t? normalizeSlotBytes(\n\t\t\t\toverridePolicy.maxSlotHtmlSizeBytes,\n\t\t\t\tbase.maxSlotHtmlSizeBytes\n\t\t\t)\n\t\t: base.maxSlotHtmlSizeBytes,\n\tmaxSlotsPerResponse: hasPolicyValue(overridePolicy, 'maxSlotsPerResponse')\n\t\t? normalizeSlotBytes(\n\t\t\t\toverridePolicy.maxSlotsPerResponse,\n\t\t\t\tbase.maxSlotsPerResponse\n\t\t\t)\n\t\t: base.maxSlotsPerResponse,\n\tonError: hasPolicyValue(overridePolicy, 'onError')\n\t\t? overridePolicy.onError\n\t\t: base.onError,\n\tonSlotMetric: hasPolicyValue(overridePolicy, 'onSlotMetric')\n\t\t? overridePolicy.onSlotMetric\n\t\t: base.onSlotMetric,\n\ttimeoutMs: hasPolicyValue(overridePolicy, 'timeoutMs')\n\t\t? normalizeSlotBytes(overridePolicy.timeoutMs, base.timeoutMs)\n\t\t: base.timeoutMs\n});\n\nconst createCombinedSlotErrorHandler = (\n\tpolicyOnError?: SlotErrorHandler,\n\tenhancerOnError?: SlotErrorHandler\n) => {\n\tif (!policyOnError && !enhancerOnError) return undefined;\n\n\treturn (error: unknown, slot: StreamingSlot) => {\n\t\tpolicyOnError?.(error, slot);\n\t\tenhancerOnError?.(error, slot);\n\t};\n};\n\nconst createCombinedSlotMetricHandler = (\n\tpolicyOnSlotMetric?: StreamingSlotMetricHandler,\n\tcallOnSlotMetric?: StreamingSlotMetricHandler\n) => {\n\tif (!policyOnSlotMetric && !callOnSlotMetric) return undefined;\n\n\treturn (metric: StreamingSlotMetric) => {\n\t\tpolicyOnSlotMetric?.(metric);\n\t\tcallOnSlotMetric?.(metric);\n\t};\n};\n\nconst resolveStreamingSlotPolicy = (\n\toverridePolicy: StreamingSlotPolicy = {}\n) => {\n\tconst base = getStreamingSlotPolicy();\n\n\treturn applyStreamingSlotPolicyOverrides(base, overridePolicy);\n};\n\nexport const getStreamingSlotPolicy = () =>\n\tclonePolicy(currentStreamingSlotPolicy);\n\nexport const setStreamingSlotPolicy = (policy: StreamingSlotPolicy = {}) => {\n\tconst base = getStreamingSlotPolicy();\n\n\tcurrentStreamingSlotPolicy = applyStreamingSlotPolicyOverrides(\n\t\tbase,\n\t\tpolicy\n\t);\n};\n\nexport const withStreamingSlotPolicy = async <T>(\n\tpolicy: StreamingSlotPolicy,\n\tcallback: () => Promise<T> | T\n) => {\n\tconst previous = getStreamingSlotPolicy();\n\n\tsetStreamingSlotPolicy(policy);\n\ttry {\n\t\treturn await callback();\n\t} finally {\n\t\tcurrentStreamingSlotPolicy = previous;\n\t}\n};\n\nconst emitSlotMetric = (\n\tmetric: StreamingSlotMetric,\n\tonSlotMetric?: StreamingSlotMetricHandler\n) => {\n\tonSlotMetric?.(metric);\n};\n\nconst createTimeoutError = (slot: StreamingSlot, timeoutMs: number) => {\n\tconst error = Object.assign(\n\t\tnew Error(`Streaming slot \"${slot.id}\" timed out after ${timeoutMs}ms`),\n\t\t{ __absTimeout: true }\n\t);\n\n\treturn error;\n};\n\nconst isSlotPatchPayloadObject = (\n\tvalue: unknown\n): value is Record<string, unknown> & { html: unknown } =>\n\tisRecord(value) && 'html' in value;\n\nconst isTimeoutError = (\n\terror: unknown\n): error is Error & { __absTimeout: true } =>\n\tisRecord(error) && error.__absTimeout === true;\n\nconst toStreamingSlot = (\n\tslot: DeferredStreamingSlot,\n\tpolicy: StreamingSlotPolicyValue\n): StreamingSlot => ({\n\terrorHtml: slot.errorHtml === undefined ? policy.errorHtml : slot.errorHtml,\n\tfallbackHtml: normalizeSlotText(slot.fallbackHtml, policy.fallbackHtml),\n\tid: slot.id ?? createStreamingSlotId(),\n\tresolve: slot.resolve,\n\ttimeoutMs: normalizeSlotBytes(slot.timeoutMs, policy.timeoutMs)\n});\n\nconst prepareSlots = ({\n\tpolicy,\n\tslots,\n\tonError,\n\tonSlotMetric\n}: {\n\tpolicy: StreamingSlotPolicyValue;\n\tslots: DeferredStreamingSlot[];\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n}) => {\n\tconst preparedSlots = slots.map((slot) => toStreamingSlot(slot, policy));\n\tconst emitPreparedSlotMetric = (slot: StreamingSlot) => {\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: 'prepared'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\t};\n\tconst dropPreparedSlot = (slot: StreamingSlot, reason: string) => {\n\t\tonError?.(new Error(reason), slot);\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\treason,\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: 'dropped'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\t};\n\n\tconst { maxSlotsPerResponse } = policy;\n\tif (maxSlotsPerResponse === 0) {\n\t\tpreparedSlots.forEach((slot) =>\n\t\t\tdropPreparedSlot(slot, 'maxSlotsPerResponse is 0')\n\t\t);\n\n\t\treturn [];\n\t}\n\n\tif (preparedSlots.length <= maxSlotsPerResponse) {\n\t\tpreparedSlots.forEach(emitPreparedSlotMetric);\n\n\t\treturn preparedSlots;\n\t}\n\n\tconst keptSlots = preparedSlots.slice(0, maxSlotsPerResponse);\n\tconst droppedSlots = preparedSlots.slice(maxSlotsPerResponse);\n\tdroppedSlots.forEach((slot) => {\n\t\tdropPreparedSlot(\n\t\t\tslot,\n\t\t\t`Streaming slot \"${slot.id}\" dropped because ${maxSlotsPerResponse} slots is the configured maximum`\n\t\t);\n\t});\n\tkeptSlots.forEach(emitPreparedSlotMetric);\n\n\treturn keptSlots;\n};\n\nconst htmlByteLength = (value: string, encoder: TextEncoder) =>\n\tencoder.encode(value).length;\n\ntype ResolvedStreamingSlot = {\n\tpayload: StreamingSlotPatchPayload | null;\n\tid: string;\n\tdurationMs: number;\n\tbytes: number;\n};\n\nconst normalizeSlotPatchPayload = (value: unknown) => {\n\tconst safeValue = normalizeSafeHtml(value);\n\tif (\n\t\tisSlotPatchPayloadObject(safeValue) &&\n\t\ttypeof safeValue.html === 'string'\n\t) {\n\t\treturn {\n\t\t\t...safeValue,\n\t\t\thtml: normalizeSlotText(safeValue.html, '')\n\t\t};\n\t}\n\n\treturn typeof safeValue === 'string' ? safeValue : `${safeValue}`;\n};\n\nconst getPayloadHtml = (payload: StreamingSlotPatchPayload) =>\n\ttypeof payload === 'string' ? payload : payload.html;\n\nconst enqueueEncodedText = (\n\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\tencoder: TextEncoder,\n\tvalue: string\n) => {\n\tif (value.length === 0) {\n\t\treturn;\n\t}\n\n\tcontroller.enqueue(encoder.encode(value));\n};\n\nconst readStreamingRuntimeChunk = async (\n\treader: ReadableStreamDefaultReader<string | Uint8Array>\n) => {\n\tconst { done, value } = await reader.read();\n\tif (done || !value) {\n\t\treturn { done, value: undefined };\n\t}\n\n\treturn { done, value };\n};\n\nconst applyBaseWinnerState = (\n\tstate: {\n\t\tbaseDone: boolean;\n\t\tbaseRead: StreamReadPromise;\n\t\tfooter: string;\n\t\thandled: boolean;\n\t\ttail: string;\n\t},\n\twinner:\n\t\t| {\n\t\t\t\tdone: boolean;\n\t\t\t\tkind: 'base';\n\t\t\t\tvalue?: string | Uint8Array;\n\t\t }\n\t\t| {\n\t\t\t\tkind: 'slot';\n\t\t\t\toriginal: Promise<{\n\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\tid: string;\n\t\t\t\t\tdurationMs: number;\n\t\t\t\t\tbytes: number;\n\t\t\t\t}>;\n\t\t\t\tresult: {\n\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\tid: string;\n\t\t\t\t\tdurationMs: number;\n\t\t\t\t\tbytes: number;\n\t\t\t\t};\n\t\t },\n\thandleResolved: (winner: {\n\t\tkind: 'slot';\n\t\toriginal: Promise<{\n\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\tid: string;\n\t\t\tdurationMs: number;\n\t\t\tbytes: number;\n\t\t}>;\n\t\tresult: {\n\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\tid: string;\n\t\t\tdurationMs: number;\n\t\t\tbytes: number;\n\t\t};\n\t}) => void\n) => {\n\tif (!state.handled && winner.kind === 'slot') {\n\t\thandleResolved(winner);\n\t}\n\n\treturn state;\n};\n\nconst resolveOversizedSlotPayload = (input: {\n\tencoder: TextEncoder;\n\thtml: string;\n\tmaxSlotHtmlSizeBytes: number;\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n\tslot: StreamingSlot;\n\tstart: number;\n}) => {\n\tconst {\n\t\tencoder,\n\t\thtml,\n\t\tmaxSlotHtmlSizeBytes,\n\t\tonError,\n\t\tonSlotMetric,\n\t\tslot,\n\t\tstart\n\t} = input;\n\tconst bytes = htmlByteLength(html, encoder);\n\tif (bytes <= maxSlotHtmlSizeBytes) {\n\t\treturn null;\n\t}\n\n\tconst error = new Error(\n\t\t`Streaming slot \"${slot.id}\" exceeded max payload size of ${maxSlotHtmlSizeBytes} bytes`\n\t);\n\tconst durationMs = Date.now() - start;\n\tonError?.(error, slot);\n\temitSlotMetric(\n\t\t{\n\t\t\tbytes,\n\t\t\tdurationMs,\n\t\t\terror,\n\t\t\tslotId: slot.id,\n\t\t\ttype: 'size_exceeded'\n\t\t},\n\t\tonSlotMetric\n\t);\n\n\tconst fallbackHtml = normalizeSlotError(slot.errorHtml, undefined);\n\n\treturn {\n\t\tbytes:\n\t\t\tfallbackHtml === undefined\n\t\t\t\t? 0\n\t\t\t\t: htmlByteLength(fallbackHtml, encoder),\n\t\tdurationMs,\n\t\tid: slot.id,\n\t\tpayload: fallbackHtml === undefined ? null : fallbackHtml\n\t};\n};\n\nconst raceWithTimeout = (promise: Promise<unknown>, slot: StreamingSlot) => {\n\tconst { timeoutMs } = slot;\n\tif (typeof timeoutMs !== 'number' || timeoutMs <= 0) {\n\t\treturn promise;\n\t}\n\n\tconst { promise: timeoutPromise, reject } =\n\t\tPromise.withResolvers<StreamingSlotPatchPayload>();\n\n\tsetTimeout(() => {\n\t\treject(createTimeoutError(slot, timeoutMs));\n\t}, timeoutMs);\n\n\treturn Promise.race([promise, timeoutPromise]);\n};\n\nconst resolveSlot = async (\n\tslot: StreamingSlot,\n\tonError?: SlotErrorHandler,\n\tpolicy?: StreamingSlotPolicyValue,\n\tonSlotMetric?: StreamingSlotMetricHandler\n) => {\n\tconst safePolicy = policy ?? getStreamingSlotPolicy();\n\tconst encoder = new TextEncoder();\n\tconst start = Date.now();\n\ttry {\n\t\tconst maybeAsyncValue = Promise.resolve(slot.resolve());\n\t\tconst resolved = await raceWithTimeout(maybeAsyncValue, slot);\n\t\tconst payload = normalizeSlotPatchPayload(resolved);\n\t\tconst html = getPayloadHtml(payload);\n\t\tconst oversizedResult =\n\t\t\tsafePolicy.maxSlotHtmlSizeBytes > 0\n\t\t\t\t? resolveOversizedSlotPayload({\n\t\t\t\t\t\tencoder,\n\t\t\t\t\t\thtml,\n\t\t\t\t\t\tmaxSlotHtmlSizeBytes: safePolicy.maxSlotHtmlSizeBytes,\n\t\t\t\t\t\tonError,\n\t\t\t\t\t\tonSlotMetric,\n\t\t\t\t\t\tslot,\n\t\t\t\t\t\tstart\n\t\t\t\t\t})\n\t\t\t\t: null;\n\t\tif (oversizedResult) {\n\t\t\treturn oversizedResult;\n\t\t}\n\t\tconst durationMs = Date.now() - start;\n\t\tconst bytes = htmlByteLength(html, encoder);\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tbytes,\n\t\t\t\tdurationMs,\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: 'resolved'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\n\t\treturn {\n\t\t\tbytes,\n\t\t\tdurationMs,\n\t\t\tid: slot.id,\n\t\t\tpayload\n\t\t};\n\t} catch (error) {\n\t\tconst durationMs = Date.now() - start;\n\t\tonError?.(error, slot);\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tdurationMs,\n\t\t\t\terror,\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: isTimeoutError(error) ? 'timeout' : 'error'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\t\tconst html = normalizeSlotError(slot.errorHtml, undefined);\n\t\tif (html) {\n\t\t\treturn {\n\t\t\t\tbytes: htmlByteLength(html, encoder),\n\t\t\t\tdurationMs,\n\t\t\t\tid: slot.id,\n\t\t\t\tpayload: html\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tbytes: 0,\n\t\t\tdurationMs,\n\t\t\tid: slot.id,\n\t\t\tpayload: null\n\t\t};\n\t}\n};\n\nconst nextResolvedSlot = async (\n\tpending: Array<Promise<ResolvedStreamingSlot>>\n) => {\n\tconst wrapped = pending.map((promise) =>\n\t\tpromise.then((result) => ({\n\t\t\toriginal: promise,\n\t\t\tresult\n\t\t}))\n\t);\n\n\treturn Promise.race(wrapped);\n};\n\nconst streamChunkToString = (\n\tvalue: string | Uint8Array,\n\tdecoder: TextDecoder\n) =>\n\ttypeof value === 'string' ? value : decoder.decode(value, { stream: true });\n\nexport const appendStreamingSlotPatchesToStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tslots: DeferredStreamingSlot[] = [],\n\t{\n\t\tinjectRuntime = true,\n\t\tnonce,\n\t\tonError,\n\t\tonSlotMetric,\n\t\tpolicy,\n\t\truntimePreludeScript,\n\t\truntimePlacement = 'head'\n\t}: AppendStreamingSlotsOptions = {}\n) => {\n\tconst resolvedPolicy = resolveStreamingSlotPolicy(policy);\n\tconst combinedOnError = createCombinedSlotErrorHandler(\n\t\tresolvedPolicy.onError,\n\t\tonError\n\t);\n\tconst combinedOnSlotMetric = createCombinedSlotMetricHandler(\n\t\tresolvedPolicy.onSlotMetric,\n\t\tonSlotMetric\n\t);\n\tconst effectivePolicy: StreamingSlotPolicyValue = {\n\t\t...resolvedPolicy,\n\t\tonSlotMetric: combinedOnSlotMetric\n\t};\n\tconst preparedSlots = prepareSlots({\n\t\tonError: combinedOnError,\n\t\tonSlotMetric: combinedOnSlotMetric,\n\t\tpolicy: effectivePolicy,\n\t\tslots\n\t});\n\tif (preparedSlots.length === 0) return stream;\n\n\tconst source = injectRuntime\n\t\t? injectStreamingRuntimeIntoStream(\n\t\t\t\tstream,\n\t\t\t\tnonce,\n\t\t\t\truntimePlacement,\n\t\t\t\truntimePreludeScript\n\t\t\t)\n\t\t: stream;\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst reader = source.getReader();\n\tconst pending: Array<Promise<ResolvedStreamingSlot>> = preparedSlots.map(\n\t\t(slot) =>\n\t\t\tresolveSlot(\n\t\t\t\tslot,\n\t\t\t\tcombinedOnError,\n\t\t\t\teffectivePolicy,\n\t\t\t\tcombinedOnSlotMetric\n\t\t\t)\n\t);\n\tconst createRaceCandidates = (\n\t\tbaseDone: boolean,\n\t\tbaseRead: StreamReadPromise\n\t) => {\n\t\tconst racers: Array<\n\t\t\tPromise<\n\t\t\t\t| {\n\t\t\t\t\t\tdone: boolean;\n\t\t\t\t\t\tkind: 'base';\n\t\t\t\t\t\tvalue?: string | Uint8Array;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\tkind: 'slot';\n\t\t\t\t\t\toriginal: Promise<{\n\t\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\t\tid: string;\n\t\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t\t}>;\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\t\tid: string;\n\t\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t\t};\n\t\t\t\t }\n\t\t\t>\n\t\t> = [];\n\n\t\tif (!baseDone) {\n\t\t\tracers.push(\n\t\t\t\tbaseRead.then(({ done, value }) => ({\n\t\t\t\t\tdone,\n\t\t\t\t\tkind: 'base' as const,\n\t\t\t\t\tvalue\n\t\t\t\t}))\n\t\t\t);\n\t\t}\n\t\tif (pending.length > 0) {\n\t\t\tracers.push(\n\t\t\t\tnextResolvedSlot(pending).then((resolved) => ({\n\t\t\t\t\tkind: 'slot' as const,\n\t\t\t\t\t...resolved\n\t\t\t\t}))\n\t\t\t);\n\t\t}\n\n\t\treturn racers;\n\t};\n\tconst flushTailLookbehind = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\ttail: string\n\t) => {\n\t\tif (tail.length <= STREAM_TAIL_LOOKBEHIND) {\n\t\t\treturn tail;\n\t\t}\n\n\t\tconst content = tail.slice(0, tail.length - STREAM_TAIL_LOOKBEHIND);\n\t\tcontroller.enqueue(encoder.encode(content));\n\n\t\treturn tail.slice(-STREAM_TAIL_LOOKBEHIND);\n\t};\n\tconst finalizeCompletedBaseWinner = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tdecodedTail: string,\n\t\tbaseRead: StreamReadPromise\n\t) => {\n\t\tconst footerStart = decodedTail.search(CLOSING_PAGE_TAG_REGEX);\n\t\tif (footerStart < 0) {\n\t\t\tenqueueEncodedText(controller, encoder, decodedTail);\n\n\t\t\treturn {\n\t\t\t\tbaseDone: true,\n\t\t\t\tbaseRead,\n\t\t\t\tfooter: '',\n\t\t\t\thandled: true,\n\t\t\t\ttail: ''\n\t\t\t};\n\t\t}\n\n\t\tconst content = decodedTail.slice(0, footerStart);\n\t\tconst nextFooter = decodedTail.slice(footerStart);\n\t\tenqueueEncodedText(controller, encoder, content);\n\n\t\treturn {\n\t\t\tbaseDone: true,\n\t\t\tbaseRead,\n\t\t\tfooter: nextFooter,\n\t\t\thandled: true,\n\t\t\ttail: ''\n\t\t};\n\t};\n\tconst handleBaseWinner = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\twinner:\n\t\t\t| {\n\t\t\t\t\tdone: boolean;\n\t\t\t\t\tkind: 'base';\n\t\t\t\t\tvalue?: string | Uint8Array;\n\t\t\t }\n\t\t\t| {\n\t\t\t\t\tkind: 'slot';\n\t\t\t\t\toriginal: Promise<{\n\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\tid: string;\n\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t}>;\n\t\t\t\t\tresult: {\n\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\tid: string;\n\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t};\n\t\t\t },\n\t\tbaseRead: StreamReadPromise,\n\t\ttail: string,\n\t\tfooter: string\n\t) => {\n\t\tif (winner.kind !== 'base') {\n\t\t\treturn { baseDone: false, baseRead, footer, handled: false, tail };\n\t\t}\n\n\t\tif (winner.done) {\n\t\t\treturn finalizeCompletedBaseWinner(\n\t\t\t\tcontroller,\n\t\t\t\ttail + decoder.decode(),\n\t\t\t\tbaseRead\n\t\t\t);\n\t\t}\n\n\t\tif (!winner.value) {\n\t\t\treturn { baseDone: false, baseRead, footer, handled: true, tail };\n\t\t}\n\n\t\tconst nextTail = flushTailLookbehind(\n\t\t\tcontroller,\n\t\t\ttail + streamChunkToString(winner.value, decoder)\n\t\t);\n\n\t\treturn {\n\t\t\tbaseDone: false,\n\t\t\tbaseRead: reader.read(),\n\t\t\tfooter,\n\t\t\thandled: true,\n\t\t\ttail: nextTail\n\t\t};\n\t};\n\tconst handleResolvedSlot = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\twinner: {\n\t\t\tkind: 'slot';\n\t\t\toriginal: Promise<{\n\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\tid: string;\n\t\t\t\tdurationMs: number;\n\t\t\t\tbytes: number;\n\t\t\t}>;\n\t\t\tresult: {\n\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\tid: string;\n\t\t\t\tdurationMs: number;\n\t\t\t\tbytes: number;\n\t\t\t};\n\t\t}\n\t) => {\n\t\tconst index = pending.indexOf(winner.original);\n\t\tif (index >= 0) pending.splice(index, 1);\n\t\tif (winner.result.payload === null) {\n\t\t\treturn;\n\t\t}\n\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tbytes: winner.result.bytes,\n\t\t\t\tdurationMs: winner.result.durationMs,\n\t\t\t\tslotId: winner.result.id,\n\t\t\t\ttype: 'patched'\n\t\t\t},\n\t\t\tcombinedOnSlotMetric\n\t\t);\n\n\t\tcontroller.enqueue(\n\t\t\tencoder.encode(\n\t\t\t\trenderStreamingSlotPatchTag(\n\t\t\t\t\twinner.result.id,\n\t\t\t\t\twinner.result.payload,\n\t\t\t\t\tnonce\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t};\n\n\tconst runPatchedStreamLoop = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) => {\n\t\tlet baseDone = false;\n\t\tlet baseRead = reader.read();\n\t\tlet tail = '';\n\t\tlet footer = '';\n\t\tconst readNextRaceWinner = async () => {\n\t\t\tconst racers = createRaceCandidates(baseDone, baseRead);\n\t\t\tif (racers.length === 0) {\n\t\t\t\treturn footer;\n\t\t\t}\n\n\t\t\tconst winner = await Promise.race(racers);\n\t\t\tconst baseWinnerState = applyBaseWinnerState(\n\t\t\t\thandleBaseWinner(controller, winner, baseRead, tail, footer),\n\t\t\t\twinner,\n\t\t\t\t(slotWinner) => {\n\t\t\t\t\thandleResolvedSlot(controller, slotWinner);\n\t\t\t\t}\n\t\t\t);\n\t\t\t({ baseDone, baseRead, footer, tail } = baseWinnerState);\n\t\t\tif (baseDone && pending.length === 0) {\n\t\t\t\treturn footer;\n\t\t\t}\n\n\t\t\treturn readNextRaceWinner();\n\t\t};\n\n\t\treturn readNextRaceWinner();\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\ttry {\n\t\t\t\tconst footer = await runPatchedStreamLoop(controller);\n\t\t\t\tenqueueEncodedText(controller, encoder, footer);\n\t\t\t\tcontroller.close();\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\nexport const injectStreamingRuntimeIntoStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tnonce?: string,\n\truntimePlacement: 'body' | 'head' = 'head',\n\truntimePreludeScript?: string\n) => {\n\tconst runtimeTag = renderStreamingSlotsRuntimeTag(\n\t\tnonce,\n\t\truntimePreludeScript\n\t);\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst closingTag =\n\t\truntimePlacement === 'body' ? CLOSING_BODY_TAG : CLOSING_HEAD_TAG;\n\tconst lookbehind =\n\t\t(runtimePlacement === 'body'\n\t\t\t? CLOSING_BODY_TAG_LENGTH\n\t\t\t: CLOSING_HEAD_TAG_LENGTH) - 1;\n\tconst flushRuntimeLookbehind = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string\n\t) => {\n\t\tif (pending.length <= lookbehind) {\n\t\t\treturn pending;\n\t\t}\n\n\t\tconst safeText = pending.slice(0, pending.length - lookbehind);\n\t\tcontroller.enqueue(encoder.encode(safeText));\n\n\t\treturn pending.slice(-lookbehind);\n\t};\n\tconst injectRuntimeIntoPending = (pending: string) =>\n\t\truntimePlacement === 'body'\n\t\t\t? injectHtmlIntoBody(pending, runtimeTag)\n\t\t\t: injectHtmlIntoHead(pending, runtimeTag);\n\tconst processRuntimePending = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tif (injected) {\n\t\t\tcontroller.enqueue(encoder.encode(pending));\n\n\t\t\treturn { injected, pending: '' };\n\t\t}\n\n\t\tconst closingTagIndex = pending.indexOf(closingTag);\n\t\tif (closingTagIndex >= 0) {\n\t\t\tconst withRuntime = `${pending.slice(0, closingTagIndex)}${runtimeTag}${pending.slice(closingTagIndex)}`;\n\t\t\tcontroller.enqueue(encoder.encode(withRuntime));\n\n\t\t\treturn { injected: true, pending: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tinjected,\n\t\t\tpending: flushRuntimeLookbehind(controller, pending)\n\t\t};\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\t\t\tlet injected = false;\n\t\t\tlet pending = '';\n\t\t\tconst enqueuePending = () =>\n\t\t\t\tenqueueEncodedText(controller, encoder, pending);\n\t\t\tconst consumeRuntimeChunk = async () => {\n\t\t\t\tconst { done, value } = await readStreamingRuntimeChunk(reader);\n\t\t\t\tif (done || !value) {\n\t\t\t\t\treturn done;\n\t\t\t\t}\n\n\t\t\t\tpending += streamChunkToString(value, decoder);\n\t\t\t\t({ injected, pending } = processRuntimePending(\n\t\t\t\t\tcontroller,\n\t\t\t\t\tpending,\n\t\t\t\t\tinjected\n\t\t\t\t));\n\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\tconst runRuntimeInjectionLoop = async () => {\n\t\t\t\tconst done = await consumeRuntimeChunk();\n\t\t\t\tif (done) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tawait runRuntimeInjectionLoop();\n\t\t\t};\n\n\t\t\ttry {\n\t\t\t\tawait runRuntimeInjectionLoop();\n\n\t\t\t\tpending += decoder.decode();\n\t\t\t\tpending = injected\n\t\t\t\t\t? pending\n\t\t\t\t\t: injectRuntimeIntoPending(pending);\n\t\t\t\tenqueuePending();\n\t\t\t\tcontroller.close();\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\nexport const streamOutOfOrderSlots = ({\n\tfooterHtml = '',\n\theaderHtml = '',\n\tnonce,\n\tpolicy,\n\tonSlotMetric,\n\tonError,\n\tslots\n}: StreamOutOfOrderSlotsOptions) => {\n\tconst resolvedPolicy = resolveStreamingSlotPolicy(policy);\n\tconst combinedOnError = createCombinedSlotErrorHandler(\n\t\tresolvedPolicy.onError,\n\t\tonError\n\t);\n\tconst combinedOnSlotMetric = createCombinedSlotMetricHandler(\n\t\tresolvedPolicy.onSlotMetric,\n\t\tonSlotMetric\n\t);\n\tconst effectivePolicy: StreamingSlotPolicyValue = {\n\t\t...resolvedPolicy,\n\t\tonSlotMetric: combinedOnSlotMetric\n\t};\n\tconst preparedSlots = prepareSlots({\n\t\tonError: combinedOnError,\n\t\tonSlotMetric: combinedOnSlotMetric,\n\t\tpolicy: effectivePolicy,\n\t\tslots\n\t});\n\tconst encoder = new TextEncoder();\n\tconst createPendingSlots = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) =>\n\t\tpreparedSlots.map((slot) => {\n\t\t\tconst fallback = renderStreamingSlotPlaceholder(\n\t\t\t\tslot.id,\n\t\t\t\tnormalizeSlotText(slot.fallbackHtml, '')\n\t\t\t);\n\t\t\tcontroller.enqueue(toUint8(fallback, encoder));\n\n\t\t\treturn resolveSlot(\n\t\t\t\tslot,\n\t\t\t\tcombinedOnError,\n\t\t\t\teffectivePolicy,\n\t\t\t\tcombinedOnSlotMetric\n\t\t\t);\n\t\t});\n\tconst handleResolvedPreparedSlot = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: Array<\n\t\t\tPromise<{\n\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\tid: string;\n\t\t\t\tdurationMs: number;\n\t\t\t\tbytes: number;\n\t\t\t}>\n\t\t>\n\t) => {\n\t\tconst { original, result } = await nextResolvedSlot(pending);\n\t\tconst index = pending.indexOf(original);\n\t\tif (index >= 0) pending.splice(index, 1);\n\t\tif (result.payload === null) {\n\t\t\treturn;\n\t\t}\n\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tbytes: result.bytes,\n\t\t\t\tdurationMs: result.durationMs,\n\t\t\t\tslotId: result.id,\n\t\t\t\ttype: 'patched'\n\t\t\t},\n\t\t\tcombinedOnSlotMetric\n\t\t);\n\t\tcontroller.enqueue(\n\t\t\ttoUint8(\n\t\t\t\trenderStreamingSlotPatchTag(result.id, result.payload, nonce),\n\t\t\t\tencoder\n\t\t\t)\n\t\t);\n\t};\n\n\tconst streamPreparedSlots = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) => {\n\t\tconst pending = createPendingSlots(controller);\n\t\tconst streamNextPreparedSlot = async () => {\n\t\t\tif (pending.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait handleResolvedPreparedSlot(controller, pending);\n\n\t\t\tawait streamNextPreparedSlot();\n\t\t};\n\n\t\tawait streamNextPreparedSlot();\n\t};\n\tconst resolveHeaderHtml = () => {\n\t\tconst needsRuntimeTag =\n\t\t\tpreparedSlots.length > 0 &&\n\t\t\t!headerHtml.includes(STREAMING_RUNTIME_GLOBAL);\n\t\tif (!needsRuntimeTag) {\n\t\t\treturn headerHtml;\n\t\t}\n\n\t\treturn injectHtmlIntoHead(\n\t\t\theaderHtml,\n\t\t\trenderStreamingSlotsRuntimeTag(nonce)\n\t\t);\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\ttry {\n\t\t\t\tconst header = resolveHeaderHtml();\n\t\t\t\tcontroller.enqueue(toUint8(header, encoder));\n\t\t\t\tawait streamPreparedSlots(controller);\n\n\t\t\t\tenqueueEncodedText(controller, encoder, footerHtml);\n\t\t\t\tcontroller.close();\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n",
31
- "import {\n\tMILLISECONDS_IN_A_SECOND,\n\tTIME_PRECISION,\n\tMILLISECONDS_IN_A_MINUTE\n} from '../constants';\n\nexport const getDurationString = (duration: number) => {\n\tlet durationString;\n\n\tif (duration < MILLISECONDS_IN_A_SECOND) {\n\t\tdurationString = `${duration.toFixed(TIME_PRECISION)}ms`;\n\t} else if (duration < MILLISECONDS_IN_A_MINUTE) {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_SECOND).toFixed(TIME_PRECISION)}s`;\n\t} else {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_MINUTE).toFixed(TIME_PRECISION)}m`;\n\t}\n\n\treturn durationString;\n};\n",
31
+ "import {\n\tMILLISECONDS_IN_A_SECOND,\n\tTIME_PRECISION,\n\tMILLISECONDS_IN_A_MINUTE\n} from '../constants';\n\nexport const getDurationString = (duration: number) => {\n\tlet durationString;\n\n\tif (duration < MILLISECONDS_IN_A_SECOND) {\n\t\tdurationString = `${duration.toFixed(TIME_PRECISION)}ms`;\n\t} else if (duration < MILLISECONDS_IN_A_MINUTE) {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_SECOND).toFixed(TIME_PRECISION)}s`;\n\t} else {\n\t\tconst totalSeconds = Math.round(duration / MILLISECONDS_IN_A_SECOND);\n\t\tconst minutes = Math.floor(totalSeconds / 60);\n\t\tconst seconds = totalSeconds % 60;\n\t\tdurationString =\n\t\t\tseconds === 0 ? `${minutes}m` : `${minutes}m ${seconds}s`;\n\t}\n\n\treturn durationString;\n};\n",
32
32
  "import { HOURS_IN_HALF_DAY } from '../constants';\nimport { getDurationString } from './getDurationString';\n\nconst colors = {\n\tbold: '\\x1b[1m',\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\treset: '\\x1b[0m'\n} as const;\n\nconst MONTHS = [\n\t'Jan',\n\t'Feb',\n\t'Mar',\n\t'Apr',\n\t'May',\n\t'Jun',\n\t'Jul',\n\t'Aug',\n\t'Sep',\n\t'Oct',\n\t'Nov',\n\t'Dec'\n] as const;\n\nexport const formatTimestamp = () => {\n\tconst now = new Date();\n\tconst month = MONTHS[now.getMonth()];\n\tconst day = now.getDate().toString().padStart(2, '0');\n\tlet hours = now.getHours();\n\tconst minutes = now.getMinutes().toString().padStart(2, '0');\n\tconst seconds = now.getSeconds().toString().padStart(2, '0');\n\tconst ampm = hours >= HOURS_IN_HALF_DAY ? 'PM' : 'AM';\n\thours = hours % HOURS_IN_HALF_DAY || HOURS_IN_HALF_DAY;\n\n\treturn `${month} ${day} ${hours}:${minutes}:${seconds} ${ampm}`;\n};\n\nexport const startupBanner = (options: {\n\tversion: string;\n\treadyDuration: number;\n\tbuildDuration?: number;\n\tport: string | number;\n\thost: string;\n\tnetworkUrl?: string;\n\tprotocol?: string;\n}) => {\n\tconst {\n\t\tversion,\n\t\treadyDuration,\n\t\tbuildDuration,\n\t\tport,\n\t\thost,\n\t\tnetworkUrl,\n\t\tprotocol = 'http'\n\t} = options;\n\tconst name = `${colors.cyan}${colors.bold}ABSOLUTEJS${colors.reset}`;\n\tconst ver = `${colors.dim}v${version}${colors.reset}`;\n\tconst time = `${colors.dim}ready in${colors.reset} ${colors.bold}${getDurationString(readyDuration)}${colors.reset}`;\n\tconst build =\n\t\ttypeof buildDuration === 'number' && Number.isFinite(buildDuration)\n\t\t\t? ` ${colors.dim}(build ${getDurationString(buildDuration)})${colors.reset}`\n\t\t\t: '';\n\tconsole.log('');\n\tconsole.log(` ${name} ${ver} ${time}${build}`);\n\tconsole.log('');\n\tconsole.log(\n\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Local:${colors.reset} ${protocol}://${host === '0.0.0.0' ? 'localhost' : host}:${port}/`\n\t);\n\tif (networkUrl) {\n\t\tconsole.log(\n\t\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Network:${colors.reset} ${networkUrl}`\n\t\t);\n\t}\n\tconsole.log('');\n};\n",
33
33
  "/**\n * Centralized logger utility for AbsoluteJS\n * Provides formatted output with ANSI colors and timestamps\n */\n\nimport { formatTimestamp, startupBanner } from './startupBanner';\n\nexport { formatTimestamp };\n\n// ANSI color codes\nconst colors = {\n\tblue: '\\x1b[34m',\n\tbold: '\\x1b[1m',\n\t// Core colors\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\tmagenta: '\\x1b[35m',\n\tred: '\\x1b[31m',\n\treset: '\\x1b[0m',\n\twhite: '\\x1b[37m',\n\tyellow: '\\x1b[33m'\n} as const;\n\n// Framework color mapping\nconst frameworkColors: Record<string, string> = {\n\tangular: colors.magenta,\n\tassets: colors.dim,\n\tcss: colors.cyan,\n\thtml: colors.white,\n\thtmx: colors.white,\n\treact: colors.blue,\n\tsvelte: colors.yellow,\n\tvue: colors.green\n};\n\n/**\n * Format a file path for display (relative, clean)\n */\nconst formatPath = (filePath: string) => {\n\tconst cwd = process.cwd();\n\tlet relative = filePath.startsWith(cwd)\n\t\t? filePath.slice(cwd.length + 1)\n\t\t: filePath;\n\t// Normalize slashes\n\trelative = relative.replace(/\\\\/g, '/');\n\t// Ensure it starts with /\n\tif (!relative.startsWith('/')) {\n\t\trelative = `/${relative}`;\n\t}\n\n\treturn relative;\n};\n\n/**\n * Get color for a framework\n */\nconst getFrameworkColor = (framework: string) =>\n\tframeworkColors[framework] || colors.white;\n\n/**\n * Core logging function\n */\nconst log = (\n\taction: string,\n\toptions?: {\n\t\tframework?: string;\n\t\tduration?: number;\n\t\tpath?: string;\n\t\tcolor?: string;\n\t}\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.cyan}[hmr]${colors.reset}`;\n\n\tlet message = action;\n\n\t// Apply framework color to path if present\n\tif (options?.path) {\n\t\tconst pathColor = options.framework\n\t\t\t? getFrameworkColor(options.framework)\n\t\t\t: colors.white;\n\t\tmessage += ` ${pathColor}${formatPath(options.path)}${colors.reset}`;\n\t}\n\n\t// Add duration if present\n\tif (options?.duration !== undefined) {\n\t\tmessage += ` ${colors.dim}(${options.duration}ms)${colors.reset}`;\n\t}\n\n\tconsole.log(`${timestamp} ${tag} ${message}`);\n};\n\n/**\n * Startup banner\n */\nexport const logReady = startupBanner;\n\n/**\n * CSS update message\n * Format: \"10:30:45 AM [hmr] css update /styles/main.css (125ms)\"\n */\nexport const logCssUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('css update', { duration, framework: framework ?? 'css', path });\n};\n\n/**\n * Build error\n * Format: \"10:30:45 AM [hmr] error Build failed: ...\"\n */\nexport const logError = (message: string, error?: Error | string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.red}[hmr]${colors.reset}`;\n\tconst errorMsg = error instanceof Error ? error.message : error;\n\tconst fullMessage = `${colors.red}error${colors.reset} ${message}${errorMsg ? `: ${errorMsg}` : ''}`;\n\tconsole.error(`${timestamp} ${tag} ${fullMessage}`);\n};\n\n/**\n * HMR update message\n * Format: \"10:30:45 AM [hmr] hmr update /pages/App.tsx\"\n */\nexport const logHmrUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('hmr update', { duration, framework, path });\n};\n\n/**\n * Generic info message\n */\nexport const logInfo = (message: string) => {\n\tlog(message);\n};\n\n/**\n * Page reload message\n * Format: \"10:30:45 AM [hmr] page reload /src/App.tsx (125ms)\"\n */\nexport const logPageReload = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('page reload', { duration, framework, path });\n};\n\n/**\n * Script update message\n * Format: \"10:30:45 AM [hmr] script update /scripts/counter.ts (125ms)\"\n */\nexport const logScriptUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('script update', { duration, framework, path });\n};\n\n/**\n * Server module reloaded (Bun --hot triggered a server-side change)\n */\nexport const logServerReload = () => {\n\tlog(`${colors.cyan}server module reloaded${colors.reset}`);\n};\n\n/**\n * Warning message\n * Format: \"10:30:45 AM [hmr] warning ...\"\n */\nexport const logWarn = (message: string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.yellow}[hmr]${colors.reset}`;\n\tconsole.log(\n\t\t`${timestamp} ${tag} ${colors.yellow}warning ${message}${colors.reset}`\n\t);\n};\n",
34
34
  "import type { IslandFramework } from '../../types/island';\n\nconst dirtyFrameworks = new Set<IslandFramework>();\n\nexport const isSsrCacheDirty = (framework: IslandFramework) =>\n\tdirtyFrameworks.has(framework);\nexport const markSsrCacheDirty = (framework: IslandFramework) => {\n\tdirtyFrameworks.add(framework);\n};\n",
35
35
  "import type { IslandFramework, IslandHydrate } from '../../types/island';\n\nexport type PageIslandUsage = {\n\tcomponent: string;\n\tframework: IslandFramework;\n\thydrate?: IslandHydrate;\n\tsource?: string;\n};\n\nconst islandFrameworks: IslandFramework[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular'\n];\n\nconst islandHydrationModes: IslandHydrate[] = [\n\t'load',\n\t'idle',\n\t'visible',\n\t'none'\n];\n\nconst isIslandFramework = (value: string): value is IslandFramework =>\n\tislandFrameworks.some((framework) => framework === value);\n\nconst isIslandHydrate = (value: string): value is IslandHydrate =>\n\tislandHydrationModes.some((hydrate) => hydrate === value);\n\nconst parseIslandTagAttributes = (attributeString: string) => {\n\tconst frameworkMatch = attributeString.match(\n\t\t/\\bframework\\s*=\\s*[\"']([^\"']+)[\"']/\n\t);\n\tconst componentMatch = attributeString.match(\n\t\t/\\bcomponent\\s*=\\s*[\"']([^\"']+)[\"']/\n\t);\n\tconst hydrateMatch = attributeString.match(\n\t\t/\\bhydrate\\s*=\\s*[\"']([^\"']+)[\"']/\n\t);\n\tconst framework = frameworkMatch?.[1];\n\tconst component = componentMatch?.[1];\n\tif (!framework || !component) {\n\t\treturn null;\n\t}\n\tif (!isIslandFramework(framework)) {\n\t\treturn null;\n\t}\n\n\tconst hydrateCandidate = hydrateMatch?.[1];\n\n\treturn {\n\t\tcomponent,\n\t\tframework,\n\t\thydrate:\n\t\t\thydrateCandidate && isIslandHydrate(hydrateCandidate)\n\t\t\t\t? hydrateCandidate\n\t\t\t\t: undefined\n\t} satisfies PageIslandUsage;\n};\n\nconst normalizeUsage = (usage: PageIslandUsage) =>\n\t`${usage.framework}:${usage.component}:${usage.hydrate ?? ''}`;\n\nconst addUsage = (\n\tusageMap: Map<string, PageIslandUsage>,\n\tusage: PageIslandUsage | null\n) => {\n\tif (!usage) return;\n\tusageMap.set(normalizeUsage(usage), usage);\n};\n\nconst addRenderCallUsage = (\n\tusageMap: Map<string, PageIslandUsage>,\n\tmatch: RegExpExecArray\n) => {\n\tconst [, framework, component, hydrate] = match;\n\tif (!framework || !component || !isIslandFramework(framework)) {\n\t\treturn;\n\t}\n\n\taddUsage(usageMap, {\n\t\tcomponent,\n\t\tframework,\n\t\thydrate: hydrate && isIslandHydrate(hydrate) ? hydrate : undefined\n\t});\n};\n\nexport const buildIslandMetadataExports = (source: string) => {\n\tconst usages = extractIslandUsagesFromSource(source);\n\tconst serialized = JSON.stringify(usages);\n\n\treturn `\\nexport const __ABSOLUTE_PAGE_ISLANDS__ = ${serialized};\\nexport const __ABSOLUTE_PAGE_HAS_ISLANDS__ = ${usages.length > 0};\\n`;\n};\nexport const extractIslandUsagesFromSource = (source: string) => {\n\tconst usageMap = new Map<string, PageIslandUsage>();\n\n\tconst islandTagRegex =\n\t\t/<Island\\b([\\s\\S]*?)(?:\\/>|>(?:[\\s\\S]*?)<\\/Island>)/g;\n\tlet islandTagMatch = islandTagRegex.exec(source);\n\twhile (islandTagMatch) {\n\t\taddUsage(usageMap, parseIslandTagAttributes(islandTagMatch[1] ?? ''));\n\t\tislandTagMatch = islandTagRegex.exec(source);\n\t}\n\n\tconst absoluteIslandTagRegex =\n\t\t/<absolute-island\\b([\\s\\S]*?)(?:\\/>|>(?:[\\s\\S]*?)<\\/absolute-island>)/g;\n\tlet absoluteIslandMatch = absoluteIslandTagRegex.exec(source);\n\twhile (absoluteIslandMatch) {\n\t\taddUsage(\n\t\t\tusageMap,\n\t\t\tparseIslandTagAttributes(absoluteIslandMatch[1] ?? '')\n\t\t);\n\t\tabsoluteIslandMatch = absoluteIslandTagRegex.exec(source);\n\t}\n\n\tconst staticRenderCallRegex =\n\t\t/renderIsland\\s*\\(\\s*\\{[\\s\\S]*?\\bframework\\s*:\\s*['\"]([^'\"]+)['\"][\\s\\S]*?\\bcomponent\\s*:\\s*['\"]([^'\"]+)['\"](?:[\\s\\S]*?\\bhydrate\\s*:\\s*['\"]([^'\"]+)['\"])?[\\s\\S]*?\\}\\s*\\)/g;\n\tlet renderMatch = staticRenderCallRegex.exec(source);\n\twhile (renderMatch) {\n\t\taddRenderCallUsage(usageMap, renderMatch);\n\t\trenderMatch = staticRenderCallRegex.exec(source);\n\t}\n\n\treturn [...usageMap.values()];\n};\nexport const hasIslandUsageInSource = (source: string) =>\n\textractIslandUsagesFromSource(source).length > 0;\n",
36
36
  "import { BASE_36_RADIX, MILLISECONDS_IN_A_SECOND } from '../constants';\n\nexport type LoweredAngularDeferSlot = {\n\tdelayMs: number;\n\terrorHtml: string | null;\n\tfallbackHtml: string;\n\tid: string;\n\tresolvedBindings: Array<{\n\t\texpression: string;\n\t\tkey: string;\n\t}>;\n\tresolvedHtml: string;\n\tresolvedTemplate: string;\n};\n\nexport type LoweredAngularDeferResult = {\n\tslots: LoweredAngularDeferSlot[];\n\ttemplate: string;\n\ttransformed: boolean;\n};\n\nconst isInterpolatedExpressionStart = (value: string, index: number) =>\n\tvalue[index] === '{' && value[index + 1] === '{';\n\nconst skipInterpolatedExpression = (value: string, start: number) => {\n\tconst cursor = start + 2;\n\twhile (cursor < value.length - 1) {\n\t\tconst end = value.indexOf('}}', cursor);\n\t\tif (end < 0) {\n\t\t\treturn value.length;\n\t\t}\n\n\t\treturn end + 2;\n\t}\n\n\treturn value.length;\n};\n\nconst updateBlockDepth = (char: string, depth: number) => {\n\tif (char === '{') {\n\t\treturn depth + 1;\n\t}\n\n\tif (char === '}') {\n\t\treturn depth - 1;\n\t}\n\n\treturn depth;\n};\n\nconst updateParenthesisDepth = (char: string, depth: number) => {\n\tif (char === '(') {\n\t\treturn depth + 1;\n\t}\n\n\tif (char === ')') {\n\t\treturn depth - 1;\n\t}\n\n\treturn depth;\n};\n\nconst appendResolvedChunk = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number,\n\tinterpolationStart: number\n) => {\n\tconst nextTemplate = template + value.slice(cursor, interpolationStart);\n\tconst nextCursor = skipInterpolatedExpression(value, interpolationStart);\n\tif (nextCursor > value.length) {\n\t\treturn {\n\t\t\tbindings: undefined,\n\t\t\tcursor: value.length,\n\t\t\tdone: true,\n\t\t\ttemplate: nextTemplate + value.slice(interpolationStart)\n\t\t};\n\t}\n\n\tconst expression = value\n\t\t.slice(interpolationStart + 2, nextCursor - 2)\n\t\t.trim();\n\n\treturn {\n\t\tbindings: expression,\n\t\tcursor: nextCursor,\n\t\tdone: false,\n\t\ttemplate: nextTemplate\n\t};\n};\n\nconst appendTrailingTemplate = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number\n) => template + value.slice(cursor);\n\nconst consumeDeferredAuxiliaryBlock = (input: {\n\tcursorAfterResolved: number;\n\tkeyword: '@error' | '@placeholder';\n\ttemplate: string;\n}) => {\n\tconst parsedBlock = parseDeferredAuxiliaryBlock(\n\t\tinput.template,\n\t\tinput.cursorAfterResolved,\n\t\tinput.keyword\n\t);\n\tif (!parsedBlock) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tcontent: parsedBlock.content.trim(),\n\t\tnextIndex:\n\t\t\tinput.keyword === '@placeholder'\n\t\t\t\t? skipWhitespace(input.template, parsedBlock.nextIndex)\n\t\t\t\t: parsedBlock.nextIndex\n\t};\n};\n\nconst resolveDeferSlotStart = (\n\ttemplate: string,\n\tdeferIndex: number,\n\tmarkerCursor: number\n) => {\n\tconst nextMarkerCursor = skipWhitespace(template, markerCursor);\n\tif (template[nextMarkerCursor] === '{') {\n\t\treturn {\n\t\t\tchanged: false,\n\t\t\tcursor: deferIndex,\n\t\t\tmarkerCursor: nextMarkerCursor,\n\t\t\ttemplatePrefix: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: deferIndex + '@defer'.length,\n\t\tmarkerCursor: nextMarkerCursor,\n\t\ttemplatePrefix: '&#64;defer'\n\t};\n};\n\nconst consumeBlockCursor = (\n\tvalue: string,\n\tstart: number,\n\tcursor: number,\n\tdepth: number\n) => {\n\tif (isInterpolatedExpressionStart(value, cursor)) {\n\t\treturn {\n\t\t\tcursor: skipInterpolatedExpression(value, cursor),\n\t\t\tdepth,\n\t\t\tresult: null\n\t\t};\n\t}\n\n\tconst char = value[cursor] ?? '';\n\tconst nextDepth = updateBlockDepth(char, depth);\n\tif (char === '}' && nextDepth === 0) {\n\t\treturn {\n\t\t\tcursor,\n\t\t\tdepth,\n\t\t\tresult: {\n\t\t\t\tcontent: value.slice(start + 1, cursor),\n\t\t\t\tnextIndex: cursor + 1\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {\n\t\tcursor: cursor + 1,\n\t\tdepth: nextDepth,\n\t\tresult: null\n\t};\n};\n\nconst consumeResolvedTemplateChunk = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number,\n\tbindingsLength: number\n) => {\n\tconst interpolationStart = value.indexOf('{{', cursor);\n\tif (interpolationStart < 0) {\n\t\treturn {\n\t\t\tbinding: null,\n\t\t\tcursor,\n\t\t\tdone: true,\n\t\t\ttemplate: appendTrailingTemplate(value, template, cursor)\n\t\t};\n\t}\n\n\tconst nextChunk = appendResolvedChunk(\n\t\tvalue,\n\t\ttemplate,\n\t\tcursor,\n\t\tinterpolationStart\n\t);\n\tif (nextChunk.done || nextChunk.bindings === undefined) {\n\t\treturn {\n\t\t\tbinding: null,\n\t\t\tcursor,\n\t\t\tdone: true,\n\t\t\ttemplate: nextChunk.template\n\t\t};\n\t}\n\n\tconst key = `e${bindingsLength.toString(BASE_36_RADIX)}`;\n\n\treturn {\n\t\tbinding: {\n\t\t\texpression: nextChunk.bindings,\n\t\t\tkey\n\t\t},\n\t\tcursor: nextChunk.cursor,\n\t\tdone: false,\n\t\ttemplate: `${nextChunk.template}{{ slotData[\"${key}\"] }}`\n\t};\n};\n\nconst readNextDeferBlock = (template: string, cursor: number) => {\n\tconst deferIndex = template.indexOf('@defer', cursor);\n\tif (deferIndex < 0) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tdeferIndex,\n\t\tprefix: template.slice(cursor, deferIndex)\n\t};\n};\n\nconst buildDeferredSlot = (input: {\n\tcursorAfterResolved: number;\n\terrorHtml: string | null;\n\tplaceholderHtml: string;\n\tresolvedBlock: { content: string; nextIndex: number };\n\tslotIndex: number;\n\ttriggerExpression: string | undefined;\n}) => {\n\tconst {\n\t\tcursorAfterResolved,\n\t\terrorHtml,\n\t\tplaceholderHtml,\n\t\tresolvedBlock,\n\t\tslotIndex,\n\t\ttriggerExpression\n\t} = input;\n\tconst resolvedHtml = resolvedBlock.content.trim();\n\tconst transformedResolved = transformResolvedTemplate(resolvedHtml);\n\tconst id = `absolute-angular-defer-${slotIndex.toString(BASE_36_RADIX)}`;\n\tconst slot: LoweredAngularDeferSlot = {\n\t\tdelayMs: parseDelayMs(triggerExpression),\n\t\terrorHtml,\n\t\tfallbackHtml: placeholderHtml,\n\t\tid,\n\t\tresolvedBindings: transformedResolved.bindings,\n\t\tresolvedHtml,\n\t\tresolvedTemplate: transformedResolved.template\n\t};\n\n\treturn {\n\t\tcursorAfterResolved,\n\t\tmarkup: `<abs-defer-slot [id]=\"'${id}'\" [resolve]=\"__absoluteDeferResolvePayload${slotIndex}\">${buildSlotTemplates(slot)}</abs-defer-slot>`,\n\t\tslot\n\t};\n};\n\nconst applyConsumedResolvedTemplateChunk = (\n\tbindings: Array<{ expression: string; key: string }>,\n\tnextChunk: {\n\t\tbinding: { expression: string; key: string } | null;\n\t\tcursor: number;\n\t\tdone: boolean;\n\t\ttemplate: string;\n\t}\n) => {\n\tif (nextChunk.binding) {\n\t\tbindings.push(nextChunk.binding);\n\t}\n\n\treturn {\n\t\tcursor: nextChunk.done ? Number.POSITIVE_INFINITY : nextChunk.cursor,\n\t\tdone: nextChunk.done,\n\t\ttemplate: nextChunk.template\n\t};\n};\n\nconst applyConsumedDeferredBlock = (\n\tcontent: string | null,\n\tparsedBlock: { content: string; nextIndex: number } | null,\n\tcursorAfterResolved: number\n) => {\n\tif (!parsedBlock) {\n\t\treturn {\n\t\t\tcontent,\n\t\t\tcursorAfterResolved\n\t\t};\n\t}\n\n\treturn {\n\t\tcontent: parsedBlock.content || null,\n\t\tcursorAfterResolved: parsedBlock.nextIndex\n\t};\n};\n\nconst applyConsumedPlaceholderBlock = (\n\tplaceholderHtml: string,\n\tparsedBlock: { content: string; nextIndex: number } | null,\n\tcursorAfterResolved: number\n) => {\n\tconst nextState = applyConsumedDeferredBlock(\n\t\tplaceholderHtml,\n\t\tparsedBlock,\n\t\tcursorAfterResolved\n\t);\n\n\treturn {\n\t\tcursorAfterResolved: nextState.cursorAfterResolved,\n\t\tplaceholderHtml: nextState.content ?? ''\n\t};\n};\n\nconst applyConsumedErrorBlock = (\n\terrorHtml: string | null,\n\tparsedBlock: { content: string; nextIndex: number } | null,\n\tcursorAfterResolved: number\n) => {\n\tconst nextState = applyConsumedDeferredBlock(\n\t\terrorHtml,\n\t\tparsedBlock,\n\t\tcursorAfterResolved\n\t);\n\n\treturn {\n\t\tcursorAfterResolved: nextState.cursorAfterResolved,\n\t\terrorHtml: nextState.content\n\t};\n};\n\nconst resolveNextLoweredTemplateChunk = (template: string, cursor: number) => {\n\tconst nextDeferBlock = readNextDeferBlock(template, cursor);\n\tif (nextDeferBlock) {\n\t\treturn nextDeferBlock;\n\t}\n\n\treturn {\n\t\tdeferIndex: -1,\n\t\tprefix: template.slice(cursor)\n\t};\n};\n\nconst applyInvalidDeferSlotStart = (\n\tloweredTemplate: string,\n\tslotStart: {\n\t\tchanged: boolean;\n\t\tcursor: number;\n\t\tmarkerCursor: number;\n\t\ttemplatePrefix: string;\n\t}\n) => {\n\tif (!slotStart.changed) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: slotStart.cursor,\n\t\ttemplate: loweredTemplate + slotStart.templatePrefix\n\t};\n};\n\nconst applyEmptyResolvedBlock = (\n\tloweredTemplate: string,\n\ttemplate: string,\n\tdeferIndex: number,\n\tresolvedBlock: { content: string; nextIndex: number }\n) => {\n\tif (resolvedBlock.content.trim()) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tcursor: resolvedBlock.nextIndex,\n\t\ttemplate:\n\t\t\tloweredTemplate +\n\t\t\ttemplate.slice(deferIndex, resolvedBlock.nextIndex)\n\t};\n};\n\nconst applyNextLoweredTemplateChunk = (\n\tloweredTemplate: string,\n\tnextDeferBlock: { deferIndex: number; prefix: string }\n) => ({\n\tdeferIndex: nextDeferBlock.deferIndex,\n\tdone: nextDeferBlock.deferIndex < 0,\n\ttemplate: loweredTemplate + nextDeferBlock.prefix\n});\n\nconst applyParsedSlotStart = (\n\tchanged: boolean,\n\tcursor: number,\n\tloweredTemplate: string,\n\tslotStart: {\n\t\tchanged: boolean;\n\t\tcursor: number;\n\t\tmarkerCursor: number;\n\t\ttemplatePrefix: string;\n\t}\n) => {\n\tconst invalidSlotStart = applyInvalidDeferSlotStart(\n\t\tloweredTemplate,\n\t\tslotStart\n\t);\n\tif (!invalidSlotStart) {\n\t\treturn {\n\t\t\tchanged,\n\t\t\tcursor,\n\t\t\ttemplate: loweredTemplate\n\t\t};\n\t}\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: invalidSlotStart.cursor,\n\t\ttemplate: invalidSlotStart.template\n\t};\n};\n\nconst applyResolvedBlockState = (\n\tcursor: number,\n\tloweredTemplate: string,\n\ttemplate: string,\n\tdeferIndex: number,\n\tresolvedBlock: { content: string; nextIndex: number }\n) => {\n\tconst emptyResolvedBlock = applyEmptyResolvedBlock(\n\t\tloweredTemplate,\n\t\ttemplate,\n\t\tdeferIndex,\n\t\tresolvedBlock\n\t);\n\tif (!emptyResolvedBlock) {\n\t\treturn {\n\t\t\tcursor,\n\t\t\ttemplate: loweredTemplate\n\t\t};\n\t}\n\n\treturn emptyResolvedBlock;\n};\n\nconst consumeResolvedTemplateStep = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number,\n\tbindings: Array<{ expression: string; key: string }>\n) => {\n\tconst nextChunk = consumeResolvedTemplateChunk(\n\t\tvalue,\n\t\ttemplate,\n\t\tcursor,\n\t\tbindings.length\n\t);\n\n\treturn applyConsumedResolvedTemplateChunk(bindings, nextChunk);\n};\n\nconst consumeLoweredDeferStep = (input: {\n\tchanged: boolean;\n\tcursor: number;\n\tloweredTemplate: string;\n\tslotIndex: number;\n\tslots: LoweredAngularDeferSlot[];\n\ttemplate: string;\n}) => {\n\tconst { changed, cursor, loweredTemplate, slotIndex, slots, template } =\n\t\tinput;\n\tconst nextDeferBlock = resolveNextLoweredTemplateChunk(template, cursor);\n\tconst nextLoweredChunk = applyNextLoweredTemplateChunk(\n\t\tloweredTemplate,\n\t\tnextDeferBlock\n\t);\n\tif (nextLoweredChunk.done) {\n\t\treturn null;\n\t}\n\n\tconst { deferIndex } = nextLoweredChunk;\n\tlet markerCursor = deferIndex + '@defer'.length;\n\tconst triggerInfo = parseOptionalTriggerExpression(template, markerCursor);\n\tconst { triggerExpression } = triggerInfo;\n\t({ markerCursor } = triggerInfo);\n\tconst slotStart = resolveDeferSlotStart(template, deferIndex, markerCursor);\n\t({ markerCursor } = slotStart);\n\tconst slotStartState = applyParsedSlotStart(\n\t\tchanged,\n\t\tcursor,\n\t\tnextLoweredChunk.template,\n\t\tslotStart\n\t);\n\tif (slotStartState.changed !== changed) {\n\t\treturn {\n\t\t\tchanged: slotStartState.changed,\n\t\t\tcursor: slotStartState.cursor,\n\t\t\tslotIndex,\n\t\t\ttemplate: slotStartState.template\n\t\t};\n\t}\n\n\tconst resolvedBlock = skipMatchingBlock(template, markerCursor);\n\tconst resolvedBlockState = applyResolvedBlockState(\n\t\tcursor,\n\t\tnextLoweredChunk.template,\n\t\ttemplate,\n\t\tdeferIndex,\n\t\tresolvedBlock\n\t);\n\tif (resolvedBlockState.cursor !== cursor) {\n\t\treturn {\n\t\t\tchanged,\n\t\t\tcursor: resolvedBlockState.cursor,\n\t\t\tslotIndex,\n\t\t\ttemplate: resolvedBlockState.template\n\t\t};\n\t}\n\n\tconst blockContent = parsePlaceholderAndErrorBlocks(\n\t\ttemplate,\n\t\tskipWhitespace(template, resolvedBlock.nextIndex)\n\t);\n\tconst builtSlot = buildDeferredSlot({\n\t\tcursorAfterResolved: blockContent.cursorAfterResolved,\n\t\terrorHtml: blockContent.errorHtml,\n\t\tplaceholderHtml: blockContent.placeholderHtml,\n\t\tresolvedBlock,\n\t\tslotIndex,\n\t\ttriggerExpression\n\t});\n\tslots.push(builtSlot.slot);\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: builtSlot.cursorAfterResolved,\n\t\tslotIndex: slotIndex + 1,\n\t\ttemplate: nextLoweredChunk.template + builtSlot.markup\n\t};\n};\n\nconst skipMatchingBlock = (\n\tvalue: string,\n\tstart: number\n): { content: string; nextIndex: number } => {\n\tif (value[start] !== '{') {\n\t\treturn { content: '', nextIndex: start };\n\t}\n\n\tlet cursor = start + 1;\n\tlet depth = 1;\n\n\twhile (cursor < value.length) {\n\t\tconst consumed = consumeBlockCursor(value, start, cursor, depth);\n\t\tif (consumed.result) {\n\t\t\treturn consumed.result;\n\t\t}\n\n\t\t({ cursor, depth } = consumed);\n\t}\n\n\treturn { content: value.slice(start + 1), nextIndex: value.length };\n};\n\nconst skipWhitespace = (value: string, index: number) => {\n\tlet cursor = index;\n\twhile (cursor < value.length && /\\s/.test(value[cursor] ?? '')) {\n\t\tcursor += 1;\n\t}\n\n\treturn cursor;\n};\n\nconst parseOptionalParenthesizedBlock = (\n\tvalue: string,\n\tindex: number\n): { expression: string; nextIndex: number } | null => {\n\tlet cursor = skipWhitespace(value, index);\n\tif (value[cursor] !== '(') {\n\t\treturn null;\n\t}\n\n\tcursor += 1;\n\tlet depth = 1;\n\tconst start = cursor;\n\n\twhile (cursor < value.length) {\n\t\tconst char = value[cursor] ?? '';\n\t\tconst nextDepth = updateParenthesisDepth(char, depth);\n\t\tif (char === ')' && nextDepth === 0) {\n\t\t\treturn {\n\t\t\t\texpression: value.slice(start, cursor),\n\t\t\t\tnextIndex: cursor + 1\n\t\t\t};\n\t\t}\n\n\t\tdepth = nextDepth;\n\t\tcursor += 1;\n\t}\n\n\treturn { expression: value.slice(start), nextIndex: value.length };\n};\n\nconst parseDelayMs = (triggerExpression: string | undefined) => {\n\tif (!triggerExpression) return 0;\n\tconst timerMsMatch = triggerExpression.match(/timer\\(\\s*(\\d+)\\s*ms\\s*\\)/i);\n\tif (timerMsMatch?.[1]) return Number.parseInt(timerMsMatch[1], 10);\n\tconst timerSecondsMatch = triggerExpression.match(\n\t\t/timer\\(\\s*(\\d+)\\s*s\\s*\\)/i\n\t);\n\tif (timerSecondsMatch?.[1]) {\n\t\treturn (\n\t\t\tNumber.parseInt(timerSecondsMatch[1], 10) * MILLISECONDS_IN_A_SECOND\n\t\t);\n\t}\n\n\tif (/\\bon\\s+immediate\\b/i.test(triggerExpression)) return 0;\n\tif (/\\bon\\s+idle\\b/i.test(triggerExpression)) return 1;\n\n\treturn 0;\n};\n\nconst transformResolvedTemplate = (value: string) => {\n\tconst bindings: Array<{ expression: string; key: string }> = [];\n\tlet template = '';\n\tlet cursor = 0;\n\n\twhile (cursor < value.length) {\n\t\tconst appliedChunk = consumeResolvedTemplateStep(\n\t\t\tvalue,\n\t\t\ttemplate,\n\t\t\tcursor,\n\t\t\tbindings\n\t\t);\n\t\t({ cursor, template } = appliedChunk);\n\t}\n\n\treturn {\n\t\tbindings,\n\t\ttemplate\n\t};\n};\n\nconst parseOptionalTriggerExpression = (\n\ttemplate: string,\n\tmarkerCursor: number\n) => {\n\tconst parsedTrigger = parseOptionalParenthesizedBlock(\n\t\ttemplate,\n\t\tmarkerCursor\n\t);\n\tif (!parsedTrigger) {\n\t\treturn {\n\t\t\tmarkerCursor,\n\t\t\ttriggerExpression: undefined\n\t\t};\n\t}\n\n\treturn {\n\t\tmarkerCursor: parsedTrigger.nextIndex,\n\t\ttriggerExpression: parsedTrigger.expression.trim()\n\t};\n};\n\nconst parseDeferredAuxiliaryBlock = (\n\ttemplate: string,\n\tcursorAfterResolved: number,\n\tkeyword: '@error' | '@placeholder'\n) => {\n\tif (!template.startsWith(keyword, cursorAfterResolved)) {\n\t\treturn null;\n\t}\n\n\tconst blockKeywordCursor = cursorAfterResolved + keyword.length;\n\tconst blockStart = skipWhitespace(template, blockKeywordCursor);\n\tif (template[blockStart] !== '{') {\n\t\treturn null;\n\t}\n\n\treturn skipMatchingBlock(template, blockStart);\n};\n\nconst parsePlaceholderAndErrorBlocks = (\n\ttemplate: string,\n\tstartCursor: number\n) => {\n\tlet cursorAfterResolved = startCursor;\n\tlet placeholderHtml = '';\n\tlet errorHtml: string | null = null;\n\n\tconst parsedPlaceholder = consumeDeferredAuxiliaryBlock({\n\t\tcursorAfterResolved,\n\t\tkeyword: '@placeholder',\n\t\ttemplate\n\t});\n\t({ placeholderHtml, cursorAfterResolved } = applyConsumedPlaceholderBlock(\n\t\tplaceholderHtml,\n\t\tparsedPlaceholder,\n\t\tcursorAfterResolved\n\t));\n\n\tconst parsedError = consumeDeferredAuxiliaryBlock({\n\t\tcursorAfterResolved,\n\t\tkeyword: '@error',\n\t\ttemplate\n\t});\n\t({ errorHtml, cursorAfterResolved } = applyConsumedErrorBlock(\n\t\terrorHtml,\n\t\tparsedError,\n\t\tcursorAfterResolved\n\t));\n\n\treturn {\n\t\tcursorAfterResolved,\n\t\terrorHtml,\n\t\tplaceholderHtml\n\t};\n};\n\nconst buildSlotTemplates = (slot: LoweredAngularDeferSlot) => {\n\tconst templates = [\n\t\t`<ng-template absDeferResolved let-slotData>${slot.resolvedTemplate}</ng-template>`\n\t];\n\n\tif (slot.fallbackHtml.length > 0) {\n\t\ttemplates.push(\n\t\t\t`<ng-template absDeferFallback>${slot.fallbackHtml}</ng-template>`\n\t\t);\n\t}\n\tif (slot.errorHtml) {\n\t\ttemplates.push(\n\t\t\t`<ng-template absDeferError>${slot.errorHtml}</ng-template>`\n\t\t);\n\t}\n\n\treturn templates.join('');\n};\n\nexport const lowerAngularDeferSyntax = (\n\ttemplate: string\n): LoweredAngularDeferResult => {\n\tif (!template.includes('@defer')) {\n\t\treturn {\n\t\t\tslots: [],\n\t\t\ttemplate,\n\t\t\ttransformed: false\n\t\t};\n\t}\n\n\tlet cursor = 0;\n\tlet slotIndex = 0;\n\tconst slots: LoweredAngularDeferSlot[] = [];\n\tlet loweredTemplate = '';\n\tlet changed = false;\n\tlet nextState = consumeLoweredDeferStep({\n\t\tchanged,\n\t\tcursor,\n\t\tloweredTemplate,\n\t\tslotIndex,\n\t\tslots,\n\t\ttemplate\n\t});\n\twhile (nextState) {\n\t\t({ changed, cursor, slotIndex, template: loweredTemplate } = nextState);\n\t\tnextState = consumeLoweredDeferStep({\n\t\t\tchanged,\n\t\t\tcursor,\n\t\t\tloweredTemplate,\n\t\t\tslotIndex,\n\t\t\tslots,\n\t\t\ttemplate\n\t\t});\n\t}\n\n\tconst transformedTemplate =\n\t\tslots.length > 0\n\t\t\t? loweredTemplate + template.slice(cursor)\n\t\t\t: template.replaceAll('@defer', '&#64;defer');\n\n\treturn {\n\t\tslots,\n\t\ttemplate: transformedTemplate,\n\t\ttransformed: slots.length > 0\n\t};\n};\n",
37
- "import { existsSync, readFileSync, promises as fs } from 'fs';\nimport { join, basename, sep, dirname, resolve, relative } from 'path';\nimport type { CompilerOptions } from '@angular/compiler-cli';\nimport ts from 'typescript';\nimport { BASE_36_RADIX } from '../constants';\nimport { toPascal } from '../utils/stringModifiers';\nimport { buildIslandMetadataExports } from '../islands/sourceMetadata';\nimport {\n\tlowerAngularDeferSyntax,\n\ttype LoweredAngularDeferSlot\n} from '../angular/lowerDeferSyntax';\nimport {\n\tcompileStyleFileIfNeeded,\n\tcompileStyleFileIfNeededSync\n} from './stylePreprocessor';\nimport type { StylePreprocessorConfig } from '../../types/build';\n\ntype SyncReadFile = (fileName: string) => string | undefined;\n\ntype TsconfigPathAlias = {\n\tpattern: string;\n\treplacements: string[];\n};\n\nconst readTsconfigPathAliases = () => {\n\ttry {\n\t\tconst configPath = resolve(process.cwd(), 'tsconfig.json');\n\t\tconst config = ts.readConfigFile(configPath, ts.sys.readFile).config as\n\t\t\t| {\n\t\t\t\t\tcompilerOptions?: {\n\t\t\t\t\t\tbaseUrl?: string;\n\t\t\t\t\t\tpaths?: Record<string, string[]>;\n\t\t\t\t\t};\n\t\t\t }\n\t\t\t| undefined;\n\t\tconst compilerOptions = config?.compilerOptions ?? {};\n\t\tconst baseUrl = resolve(process.cwd(), compilerOptions.baseUrl ?? '.');\n\t\tconst aliases: TsconfigPathAlias[] = Object.entries(\n\t\t\tcompilerOptions.paths ?? {}\n\t\t).map(([pattern, replacements]) => ({ pattern, replacements }));\n\n\t\treturn { aliases, baseUrl };\n\t} catch {\n\t\treturn { aliases: [] as TsconfigPathAlias[], baseUrl: process.cwd() };\n\t}\n};\n\nconst matchTsconfigAlias = (\n\tspecifier: string,\n\taliases: TsconfigPathAlias[],\n\tbaseUrl: string,\n\tresolveSourceFile: (candidate: string) => string | undefined\n) => {\n\tfor (const alias of aliases) {\n\t\tconst wildcardIndex = alias.pattern.indexOf('*');\n\t\tconst exactMatch = wildcardIndex === -1;\n\t\tif (exactMatch && specifier !== alias.pattern) continue;\n\n\t\tconst prefix = exactMatch\n\t\t\t? alias.pattern\n\t\t\t: alias.pattern.slice(0, wildcardIndex);\n\t\tconst suffix = exactMatch ? '' : alias.pattern.slice(wildcardIndex + 1);\n\t\tif (\n\t\t\t!exactMatch &&\n\t\t\t(!specifier.startsWith(prefix) || !specifier.endsWith(suffix))\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst wildcardValue = exactMatch\n\t\t\t? ''\n\t\t\t: specifier.slice(prefix.length, specifier.length - suffix.length);\n\t\tfor (const replacement of alias.replacements) {\n\t\t\tconst candidate = replacement.replace('*', wildcardValue);\n\t\t\tconst resolved = resolveSourceFile(resolve(baseUrl, candidate));\n\t\t\tif (resolved) return resolved;\n\t\t}\n\t}\n\n\treturn undefined;\n};\n\nconst resolveSourceFile = (candidate: string) => {\n\tconst candidates = candidate.match(/\\.[cm]?[tj]sx?$/)\n\t\t? [candidate]\n\t\t: [\n\t\t\t\t`${candidate}.ts`,\n\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t`${candidate}.js`,\n\t\t\t\t`${candidate}.jsx`,\n\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t];\n\n\treturn candidates.find((file) => existsSync(file));\n};\n\nconst sourceTreeUsesLegacyAngularAnimations = async (\n\tentryPath: string,\n\trootDir: string\n) => {\n\tconst baseDir = resolve(rootDir);\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\tconst transpiler = new Bun.Transpiler({ loader: 'tsx' });\n\tconst visited = new Set<string>();\n\n\tconst resolveLocalImport = (specifier: string, fromDir: string) => {\n\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\treturn resolveSourceFile(resolve(fromDir, specifier));\n\t\t}\n\n\t\tconst aliased = matchTsconfigAlias(\n\t\t\tspecifier,\n\t\t\ttsconfigAliases.aliases,\n\t\t\ttsconfigAliases.baseUrl,\n\t\t\tresolveSourceFile\n\t\t);\n\t\tif (aliased) return aliased;\n\n\t\ttry {\n\t\t\tconst resolved = Bun.resolveSync(specifier, fromDir);\n\t\t\tif (resolved.includes('/node_modules/')) return undefined;\n\t\t\tconst absolute = resolve(resolved);\n\t\t\tif (!absolute.startsWith(baseDir)) return undefined;\n\n\t\t\treturn resolveSourceFile(absolute);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t};\n\n\tconst visit = async (filePath: string): Promise<boolean> => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) return false;\n\t\tconst resolved = resolve(actualPath);\n\t\tif (visited.has(resolved)) return false;\n\t\tvisited.add(resolved);\n\n\t\tlet sourceCode: string;\n\t\ttry {\n\t\t\tsourceCode = await fs.readFile(resolved, 'utf-8');\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet imports;\n\t\ttry {\n\t\t\timports = transpiler.scanImports(sourceCode);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (const imp of imports) {\n\t\t\tif (imp.path === '@angular/animations') return true;\n\t\t}\n\n\t\tfor (const imp of imports) {\n\t\t\tconst importedPath = resolveLocalImport(\n\t\t\t\timp.path,\n\t\t\t\tdirname(resolved)\n\t\t\t);\n\t\t\tif (importedPath && (await visit(importedPath))) return true;\n\t\t}\n\n\t\treturn false;\n\t};\n\n\treturn visit(entryPath);\n};\n\nconst resolveDevClientDir = () => {\n\tconst projectRoot = process.cwd();\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\n\tif (existsSync(fromSource) && fromSource.startsWith(projectRoot)) {\n\t\treturn fromSource;\n\t}\n\n\tconst fromNodeModules = resolve(\n\t\tprojectRoot,\n\t\t'node_modules/@absolutejs/absolute/dist/dev/client'\n\t);\n\tif (existsSync(fromNodeModules)) return fromNodeModules;\n\n\treturn resolve(import.meta.dir, './dev/client');\n};\n\nconst devClientDir = resolveDevClientDir();\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\n// Angular HMR Runtime Layer (Level 3) — Path to runtime module\nconst hmrRuntimePath = join(\n\tdevClientDir,\n\t'handlers',\n\t'angularRuntime.ts'\n).replace(/\\\\/g, '/');\n\n/** Angular HMR Runtime Layer (Level 3) — Inject HMR registration calls into compiled component JS.\n * Detects exported Angular component classes and appends register() calls.\n * Only active when hmr=true (dev mode). */\nconst injectHMRRegistration = (content: string, sourceId: string) => {\n\t// Find exported component classes: `export class XxxComponent` or `class XxxComponent`\n\tconst componentClassRegex = /(?:export\\s+)?class\\s+(\\w+Component)\\s/g;\n\tconst componentNames: string[] = [];\n\tlet match;\n\twhile ((match = componentClassRegex.exec(content)) !== null) {\n\t\tif (match[1]) componentNames.push(match[1]);\n\t}\n\n\tif (componentNames.length === 0) return content;\n\n\t// Build registration code block\n\tconst registrations = componentNames\n\t\t.map(\n\t\t\t(name) =>\n\t\t\t\t` if (typeof ${name} === 'function') window.__ANGULAR_HMR__.register('${sourceId}#${name}', ${name});`\n\t\t)\n\t\t.join('\\n');\n\n\tconst hmrBlock = `\\n// Angular HMR Runtime Layer (Level 3) — Auto-registration\\nif (typeof window !== 'undefined' && window.__ANGULAR_HMR__) {\\n${registrations}\\n}\\n`;\n\n\treturn content + hmrBlock;\n};\n\nconst formatDiagnosticMessage = (diagnostic: ts.Diagnostic) => {\n\ttry {\n\t\treturn ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n');\n\t} catch {\n\t\treturn String(diagnostic.messageText || 'Unknown error');\n\t}\n};\n\nconst throwOnCompilationErrors = (\n\tdiagnostics: readonly ts.Diagnostic[] | undefined\n) => {\n\tif (!diagnostics?.length) return;\n\n\tconst errors = diagnostics.filter(\n\t\t(diag) => diag.category === ts.DiagnosticCategory.Error\n\t);\n\tif (!errors.length) return;\n\n\tconst fullMessage = errors.map(formatDiagnosticMessage).join('\\n');\n\tconsole.error('Angular compilation errors:', fullMessage);\n\tthrow new Error(fullMessage);\n};\n\nconst resolveRelativePath = (\n\tfileName: string,\n\tresolvedOutDir: string,\n\toutDir: string\n) => {\n\tif (fileName.startsWith(resolvedOutDir))\n\t\treturn fileName.substring(resolvedOutDir.length + 1);\n\tif (fileName.startsWith(outDir))\n\t\treturn fileName.substring(outDir.length + 1);\n\n\treturn fileName;\n};\n\nconst hasJsLikeExtension = (path: string) => /\\.(js|ts|mjs|cjs)$/.test(path);\n\nconst rewriteRelativeJsSpecifier = (\n\timporterOutputPath: string,\n\tspecifier: string,\n\toutputFiles?: Set<string>\n) => {\n\tif (specifier.endsWith('.ts')) return specifier.replace(/\\.ts$/, '.js');\n\tif (hasJsLikeExtension(specifier)) return specifier;\n\n\tconst importerDir = dirname(importerOutputPath);\n\tconst fileCandidate = resolve(importerDir, `${specifier}.js`);\n\tif (outputFiles?.has(fileCandidate) || existsSync(fileCandidate)) {\n\t\treturn `${specifier}.js`;\n\t}\n\n\tconst indexCandidate = resolve(importerDir, specifier, 'index.js');\n\tif (outputFiles?.has(indexCandidate) || existsSync(indexCandidate)) {\n\t\treturn `${specifier}/index.js`;\n\t}\n\n\treturn `${specifier}.js`;\n};\n\nconst isRelativeModuleSpecifier = (specifier: string) =>\n\tspecifier.startsWith('./') || specifier.startsWith('../');\n\nconst extractLocalImportSpecifiers = (source: string, fileName: string) => {\n\tconst sourceFile = ts.createSourceFile(\n\t\tfileName,\n\t\tsource,\n\t\tts.ScriptTarget.Latest,\n\t\ttrue,\n\t\tts.ScriptKind.TS\n\t);\n\tconst specifiers: string[] = [];\n\tconst addSpecifier = (node: ts.Node | undefined) => {\n\t\tif (!node || !ts.isStringLiteralLike(node)) return;\n\t\tconst specifier = node.text;\n\t\tif (isRelativeModuleSpecifier(specifier)) specifiers.push(specifier);\n\t};\n\n\tconst visit = (node: ts.Node) => {\n\t\tif (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {\n\t\t\taddSpecifier(node.moduleSpecifier);\n\t\t} else if (\n\t\t\tts.isCallExpression(node) &&\n\t\t\tnode.expression.kind === ts.SyntaxKind.ImportKeyword\n\t\t) {\n\t\t\taddSpecifier(node.arguments[0]);\n\t\t}\n\t\tts.forEachChild(node, visit);\n\t};\n\tvisit(sourceFile);\n\n\treturn specifiers;\n};\n\nconst resolveLocalTsImport = (fromFile: string, specifier: string) => {\n\tif (!isRelativeModuleSpecifier(specifier)) return null;\n\tconst basePath = resolve(dirname(fromFile), specifier);\n\tconst candidates = /\\.[cm]?[tj]sx?$/.test(basePath)\n\t\t? [basePath]\n\t\t: [\n\t\t\t\t`${basePath}.ts`,\n\t\t\t\t`${basePath}.tsx`,\n\t\t\t\t`${basePath}.mts`,\n\t\t\t\t`${basePath}.cts`,\n\t\t\t\tjoin(basePath, 'index.ts'),\n\t\t\t\tjoin(basePath, 'index.tsx'),\n\t\t\t\tjoin(basePath, 'index.mts'),\n\t\t\t\tjoin(basePath, 'index.cts')\n\t\t\t];\n\n\treturn (\n\t\tcandidates\n\t\t\t.map((candidate) => resolve(candidate))\n\t\t\t.find(\n\t\t\t\t(candidate) =>\n\t\t\t\t\texistsSync(candidate) && !candidate.endsWith('.d.ts')\n\t\t\t) ?? null\n\t);\n};\n\nconst readFileForAotTransform = async (\n\tfileName: string,\n\treadFile: SyncReadFile | undefined\n) => {\n\tconst hostSource = readFile?.(fileName);\n\tif (typeof hostSource === 'string') return hostSource;\n\n\treturn fs.readFile(fileName, 'utf-8');\n};\n\nconst precomputeAotResourceTransforms = async (\n\tinputPath: string,\n\treadFile: SyncReadFile | undefined,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst transformedSources = new Map<string, string>();\n\tconst visited = new Set<string>();\n\n\tconst transformFile = async (filePath: string) => {\n\t\tconst resolvedPath = resolve(filePath);\n\t\tif (visited.has(resolvedPath)) return;\n\t\tvisited.add(resolvedPath);\n\t\tif (!existsSync(resolvedPath) || resolvedPath.endsWith('.d.ts')) return;\n\n\t\tconst source = await readFileForAotTransform(resolvedPath, readFile);\n\t\tconst transformed = await inlineResources(\n\t\t\tsource,\n\t\t\tdirname(resolvedPath),\n\t\t\tstylePreprocessors\n\t\t);\n\t\ttransformedSources.set(resolvedPath, transformed.source);\n\n\t\tconst imports = extractLocalImportSpecifiers(source, resolvedPath);\n\t\tawait Promise.all(\n\t\t\timports.map(async (specifier) => {\n\t\t\t\tconst resolvedImport = resolveLocalTsImport(\n\t\t\t\t\tresolvedPath,\n\t\t\t\t\tspecifier\n\t\t\t\t);\n\t\t\t\tif (resolvedImport) await transformFile(resolvedImport);\n\t\t\t})\n\t\t);\n\t};\n\n\tawait transformFile(inputPath);\n\n\treturn transformedSources;\n};\n\nexport const compileAngularFile = async (\n\tinputPath: string,\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst islandMetadataExports = buildIslandMetadataExports(\n\t\treadFileSync(inputPath, 'utf-8')\n\t);\n\tconst { readConfiguration, performCompilation, EmitFlags } = await import(\n\t\t'@angular/compiler-cli'\n\t);\n\n\t// Resolve TypeScript lib directory dynamically (prevents hardcoded paths)\n\tconst tsPath = require.resolve('typescript');\n\tconst tsRootDir = dirname(tsPath);\n\tconst tsLibDir = tsRootDir.endsWith('lib')\n\t\t? tsRootDir\n\t\t: resolve(tsRootDir, 'lib');\n\n\t// Read configuration from tsconfig.json to get angularCompilerOptions\n\tconst config = readConfiguration('./tsconfig.json');\n\n\t// Build options object with newLine FIRST, then spread config.\n\t// IMPORTANT: target MUST be ES2022 (not ESNext) to avoid hardcoded lib.esnext.full.d.ts path.\n\tconst options: CompilerOptions = {\n\t\temitDecoratorMetadata: true,\n\t\tesModuleInterop: true,\n\t\texperimentalDecorators: true,\n\t\tmodule: ts.ModuleKind.ESNext,\n\t\tmoduleResolution: ts.ModuleResolutionKind.Bundler,\n\t\tnewLine: ts.NewLineKind.LineFeed, // Set FIRST - critical for createCompilerHost\n\t\tnoLib: false,\n\t\toutDir,\n\t\tskipLibCheck: true,\n\t\ttarget: ts.ScriptTarget.ES2022, // Use ES2022 instead of ESNext to avoid hardcoded lib paths\n\t\t...config.options // Spread AFTER to add Angular options\n\t};\n\n\t// CRITICAL: Force target to ES2022 AFTER spread to ensure it's not overwritten.\n\t// ESNext target causes hardcoded lib.esnext.full.d.ts path issues.\n\toptions.target = ts.ScriptTarget.ES2022;\n\n\t// Force TypeScript legacy decorators required by Angular 21's DI system.\n\toptions.experimentalDecorators = true;\n\toptions.emitDecoratorMetadata = true;\n\n\t// Force newLine again after spread to ensure it's not overwritten.\n\toptions.newLine = ts.NewLineKind.LineFeed;\n\n\t// Force outDir after spread — config.options may contain an absolute \"dist\" path\n\t// that overwrites our outDir, causing deeply nested compiled output.\n\toptions.outDir = outDir;\n\n\t// Production examples commonly use noEmit=true for editor/typecheck flows.\n\t// AOT compilation must override that or Angular silently produces no JS.\n\toptions.noEmit = false;\n\n\t// AOT compiles each entry independently, often in parallel. Reusing the\n\t// project's incremental tsbuildinfo can make TypeScript skip emit for a\n\t// generated directory that was cleaned earlier in this same build.\n\toptions.incremental = false;\n\toptions.tsBuildInfoFile = undefined;\n\n\t// Explicit rootDir prevents TypeScript from computing it from the single entry file,\n\t// which would cause imports from other directories to get absolute-path-based output.\n\toptions.rootDir = process.cwd();\n\n\t// Use TypeScript's createCompilerHost directly. Keep this host local to the\n\t// current entry: compileAngular() runs entries in parallel, and the host\n\t// below mutates writeFile/readFile/getSourceFile for each entry.\n\tconst host = ts.createCompilerHost(options);\n\n\t// Override lib resolution to use dynamic paths.\n\tconst originalGetDefaultLibLocation = host.getDefaultLibLocation;\n\thost.getDefaultLibLocation = () =>\n\t\ttsLibDir ||\n\t\t(originalGetDefaultLibLocation\n\t\t\t? originalGetDefaultLibLocation()\n\t\t\t: '');\n\n\tconst originalGetDefaultLibFileName = host.getDefaultLibFileName;\n\thost.getDefaultLibFileName = (opts: ts.CompilerOptions) => {\n\t\tconst fileName = originalGetDefaultLibFileName\n\t\t\t? originalGetDefaultLibFileName(opts)\n\t\t\t: 'lib.d.ts';\n\n\t\treturn basename(fileName);\n\t};\n\n\tconst originalGetSourceFile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tif (\n\t\t\tfileName.startsWith('lib.') &&\n\t\t\tfileName.endsWith('.d.ts') &&\n\t\t\ttsLibDir\n\t\t) {\n\t\t\tconst resolvedPath = join(tsLibDir, fileName);\n\n\t\t\treturn originalGetSourceFile?.call(\n\t\t\t\thost,\n\t\t\t\tresolvedPath,\n\t\t\t\tlanguageVersion,\n\t\t\t\tonError\n\t\t\t);\n\t\t}\n\n\t\treturn originalGetSourceFile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\n\t\t);\n\t};\n\n\tconst emitted: Record<string, string> = {};\n\tconst resolvedOutDir = resolve(outDir);\n\thost.writeFile = (fileName, text) => {\n\t\tconst relativePath = resolveRelativePath(\n\t\t\tfileName,\n\t\t\tresolvedOutDir,\n\t\t\toutDir\n\t\t);\n\t\temitted[relativePath] = text;\n\t};\n\tconst originalReadFile = host.readFile;\n\tconst aotTransformedSources = await precomputeAotResourceTransforms(\n\t\tinputPath,\n\t\toriginalReadFile?.bind(host),\n\t\tstylePreprocessors\n\t);\n\thost.readFile = (fileName: string) => {\n\t\tconst source = originalReadFile\n\t\t\t? originalReadFile.call(host, fileName)\n\t\t\t: undefined;\n\t\tif (typeof source !== 'string') return source;\n\t\tif (!fileName.endsWith('.ts') || fileName.endsWith('.d.ts')) {\n\t\t\treturn source;\n\t\t}\n\t\tconst resolvedPath = resolve(fileName);\n\n\t\treturn aotTransformedSources.get(resolvedPath) ?? source;\n\t};\n\tconst originalGetSourceFileForCompile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tconst source = host.readFile(fileName);\n\t\tif (typeof source === 'string') {\n\t\t\treturn ts.createSourceFile(fileName, source, languageVersion, true);\n\t\t}\n\n\t\treturn originalGetSourceFileForCompile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\n\t\t);\n\t};\n\n\tlet diagnostics: readonly ts.Diagnostic[] | undefined;\n\ttry {\n\t\t({ diagnostics } = performCompilation({\n\t\t\temitFlags: EmitFlags.Default,\n\t\t\thost,\n\t\t\toptions,\n\t\t\trootNames: [inputPath]\n\t\t}));\n\t} finally {\n\t\thost.readFile = originalReadFile;\n\t\thost.getSourceFile = originalGetSourceFileForCompile;\n\t}\n\n\tthrowOnCompilationErrors(diagnostics);\n\n\tconst rawEntries = Object.entries(emitted)\n\t\t.filter(([fileName]) => fileName.endsWith('.js'))\n\t\t.map(([fileName, content]) => ({\n\t\t\tcontent,\n\t\t\ttarget: join(outDir, fileName)\n\t\t}));\n\tconst outputFiles = new Set(rawEntries.map(({ target }) => resolve(target)));\n\tconst entries = rawEntries.map(({ content, target }) => {\n\n\t\t\t// Post-process the compiled output:\n\t\t\t// 1. Add .js extensions to imports\n\t\t\tlet processedContent = content.replace(\n\t\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t\t(match, quote, path) => {\n\t\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(\n\t\t\t\t\t\ttarget,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\toutputFiles\n\t\t\t\t\t);\n\t\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn match;\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// 2. Fix Angular ɵɵdom* functions to standard ɵɵ* functions\n\t\t\tprocessedContent = processedContent\n\t\t\t\t.replace(/ɵɵdomElementStart/g, 'ɵɵelementStart')\n\t\t\t\t.replace(/ɵɵdomElementEnd/g, 'ɵɵelementEnd')\n\t\t\t\t.replace(/ɵɵdomElement\\(/g, 'ɵɵelement(')\n\t\t\t\t.replace(/ɵɵdomProperty/g, 'ɵɵproperty')\n\t\t\t\t.replace(/ɵɵdomListener/g, 'ɵɵlistener');\n\n\t\t\t// 3. Fix InjectFlags -> InternalInjectFlags (Angular 21+ compatibility)\n\t\t\t// Replace in import statements\n\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t/import\\s*{\\s*([^}]*)\\bInjectFlags\\b([^}]*)\\s*}\\s*from\\s*['\"]@angular\\/core['\"]/g,\n\t\t\t\t(match, before, after) => {\n\t\t\t\t\tconst cleaned = (before + after)\n\t\t\t\t\t\t.replace(/,\\s*,/g, ',')\n\t\t\t\t\t\t.replace(/^\\s*,\\s*/, '')\n\t\t\t\t\t\t.replace(/,\\s*$/, '');\n\n\t\t\t\t\treturn cleaned\n\t\t\t\t\t\t? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'`\n\t\t\t\t\t\t: `import { InternalInjectFlags } from '@angular/core'`;\n\t\t\t\t}\n\t\t\t);\n\t\t\t// Replace usage of InjectFlags\n\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t/\\b(?<!Internal)InjectFlags\\b/g,\n\t\t\t\t'InternalInjectFlags'\n\t\t\t);\n\t\t\tprocessedContent += islandMetadataExports;\n\n\t\t\treturn { content: processedContent, target };\n\t\t});\n\n\tawait Promise.all(\n\t\tentries.map(({ target }) =>\n\t\t\tfs.mkdir(dirname(target), { recursive: true })\n\t\t)\n\t);\n\tawait Promise.all(\n\t\tentries.map(({ target, content }) =>\n\t\t\tfs.writeFile(target, content, 'utf-8')\n\t\t)\n\t);\n\n\treturn entries.map(({ target }) => target);\n};\n\n// Module-level cache: source content hash → compiled output path.\n// Skips re-transpilation of unchanged files during HMR, preventing\n// bun --hot from re-evaluating the growing module graph on each change.\nconst jitContentCache = new Map<string, string>();\n\n// Angular HMR Optimization — Cache the wrapper output (server file content\n// + index file content) so we can skip re-reading, rewriting, and index\n// generation when only transpilation changed but the wrapper output is identical.\nconst wrapperOutputCache = new Map<\n\tstring,\n\t{ serverHash: string; indexHash: string }\n>();\n\nconst escapeTemplateContent = (content: string) =>\n\tcontent\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/`/g, '\\\\`')\n\t\t.replace(/\\$\\{/g, '\\\\${');\n\n/** Find the next templateUrl/styleUrl/styleUrls property reference in `source`\n * whose line is not commented out with a leading `//`. Returns the match data\n * in the same shape RegExp.exec produces, or null if none. Catches the most\n * common case where users prefix the line with `//` to disable inlining\n * (otherwise our regex-based replacement would inline the template inside the\n * comment and the rest of the HTML would leak into source). */\nconst findUncommentedMatch = (source: string, pattern: RegExp) => {\n\tconst re = new RegExp(\n\t\tpattern.source,\n\t\tpattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g'\n\t);\n\tlet match: RegExpExecArray | null;\n\twhile ((match = re.exec(source)) !== null) {\n\t\tconst lineStart = source.lastIndexOf('\\n', match.index - 1) + 1;\n\t\tconst beforeMatch = source.slice(lineStart, match.index);\n\t\tif (!/^\\s*\\/\\//.test(beforeMatch)) return match;\n\t}\n\n\treturn null;\n};\n\nconst resolveAngularDeferImportSpecifier = () => {\n\tconst sourceEntry = resolve(\n\t\timport.meta.dir,\n\t\t'../angular/components/index.ts'\n\t);\n\tif (existsSync(sourceEntry)) {\n\t\treturn sourceEntry.replace(/\\\\/g, '/');\n\t}\n\n\treturn '@absolutejs/absolute/angular/components';\n};\n\nconst ensureDeferSlotImport = (\n\tsource: string,\n\timportSpecifier = '@absolutejs/absolute/angular/components'\n) => {\n\tif (source.includes('DeferSlotComponent')) return source;\n\tconst resolvedImportSpecifier = JSON.stringify(importSpecifier);\n\tconst importLine = `import { DeferErrorTemplateDirective, DeferFallbackTemplateDirective, DeferResolvedTemplateDirective, DeferSlotComponent } from ${resolvedImportSpecifier};\\n`;\n\tconst lastImportMatch = [...source.matchAll(/^import[\\s\\S]*?;$/gm)].pop();\n\tif (!lastImportMatch || lastImportMatch.index === undefined) {\n\t\treturn importLine + source;\n\t}\n\tconst insertAt = lastImportMatch.index + lastImportMatch[0].length;\n\n\treturn `${source.slice(0, insertAt)}\\n${importLine}${source.slice(insertAt)}`;\n};\n\nconst ensureComponentImportsHasDeferSlot = (source: string) => {\n\tconst importListMatch = source.match(/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/);\n\tif (importListMatch) {\n\t\tif (\n\t\t\t/\\bDeferSlotComponent\\b/.test(importListMatch[1] ?? '') &&\n\t\t\t/\\bDeferResolvedTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferFallbackTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferErrorTemplateDirective\\b/.test(importListMatch[1] ?? '')\n\t\t) {\n\t\t\treturn source;\n\t\t}\n\n\t\treturn source.replace(\n\t\t\t/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/,\n\t\t\t(match, importsContent: string) => {\n\t\t\t\tconst trimmed = importsContent.trim();\n\t\t\t\tconst entries = trimmed\n\t\t\t\t\t.split(',')\n\t\t\t\t\t.map((entry) => entry.trim())\n\t\t\t\t\t.filter(Boolean);\n\t\t\t\tfor (const requiredImport of [\n\t\t\t\t\t'DeferSlotComponent',\n\t\t\t\t\t'DeferResolvedTemplateDirective',\n\t\t\t\t\t'DeferFallbackTemplateDirective',\n\t\t\t\t\t'DeferErrorTemplateDirective'\n\t\t\t\t]) {\n\t\t\t\t\tif (!entries.includes(requiredImport)) {\n\t\t\t\t\t\tentries.push(requiredImport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst nextContent = entries.join(', ');\n\n\t\t\t\treturn `imports: [${nextContent}]`;\n\t\t\t}\n\t\t);\n\t}\n\n\treturn source.replace(\n\t\t/@Component\\(\\s*{/,\n\t\t'@Component({\\n\\timports: [DeferSlotComponent, DeferResolvedTemplateDirective, DeferFallbackTemplateDirective, DeferErrorTemplateDirective],'\n\t);\n};\n\nconst escapeTemplateLiteralValue = (value: string) =>\n\tvalue.replace(/\\\\/g, '\\\\\\\\').replace(/`/g, '\\\\`').replace(/\\$\\{/g, '\\\\${');\n\nconst skipInterpolatedExpression = (value: string, start: number) => {\n\tconst cursor = start + 2;\n\twhile (cursor < value.length - 1) {\n\t\tconst end = value.indexOf('}}', cursor);\n\t\tif (end < 0) {\n\t\t\treturn value.length;\n\t\t}\n\n\t\treturn end + 2;\n\t}\n\n\treturn value.length;\n};\n\nconst buildResolverTemplateLiteral = (value: string) => {\n\tconst parts: string[] = [];\n\tlet cursor = 0;\n\n\twhile (cursor < value.length) {\n\t\tconst interpolationStart = value.indexOf('{{', cursor);\n\t\tif (interpolationStart < 0) {\n\t\t\tparts.push(escapeTemplateLiteralValue(value.slice(cursor)));\n\n\t\t\tbreak;\n\t\t}\n\n\t\tparts.push(\n\t\t\tescapeTemplateLiteralValue(value.slice(cursor, interpolationStart))\n\t\t);\n\n\t\tconst nextCursor = skipInterpolatedExpression(\n\t\t\tvalue,\n\t\t\tinterpolationStart\n\t\t);\n\t\tif (nextCursor >= value.length) {\n\t\t\tparts.push(\n\t\t\t\tescapeTemplateLiteralValue(value.slice(interpolationStart))\n\t\t\t);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tconst rawExpression = value\n\t\t\t.slice(interpolationStart + 2, nextCursor - 2)\n\t\t\t.trim();\n\t\tconst expression = rawExpression.length === 0 ? \"''\" : rawExpression;\n\t\tconst expressionLiteral = JSON.stringify(expression);\n\n\t\tparts.push(\n\t\t\t`\\${this.__absoluteDeferResolveTemplateExpression(${expressionLiteral})}`\n\t\t);\n\t\tcursor = nextCursor;\n\t}\n\n\treturn parts.join('');\n};\n\nconst buildDeferSlotTemplateResolver = () =>\n\t'\\t__absoluteDeferTemplateExpressionCache = new Map<string, string>();\\n' +\n\t'\\t__absoluteDeferResolveTemplateExpression(expression: string) {\\n' +\n\t'\\t\\tconst cached = this.__absoluteDeferTemplateExpressionCache.get(expression);\\n' +\n\t'\\t\\tif (cached !== undefined) return cached;\\n' +\n\t'\\n' +\n\t'\\t\\tconst scope = new Proxy(this, {\\n' +\n\t'\\t\\t\\tget: (_target, property) => {\\n' +\n\t'\\t\\t\\t\\tconst value = (this as Record<PropertyKey, unknown>)[property];\\n' +\n\t'\\t\\t\\t\\treturn typeof value === \"function\" ? value.bind(this) : value;\\n' +\n\t'\\t\\t\\t}\\n' +\n\t'\\t\\t});\\n' +\n\t\"\\t\\tlet value = '';\\n\" +\n\t'\\t\\ttry {\\n' +\n\t'\\t\\t\\tconst evaluate = new Function(\\n' +\n\t\"\\t\\t\\t\\t'scope',\\n\" +\n\t'\\t\\t\\t\\t\"with (scope) { return (\" + expression + \"); }\"\\n' +\n\t'\\t\\t\\t);\\n' +\n\t'\\n' +\n\t'\\t\\t\\tconst resolvedValue = evaluate(scope);\\n' +\n\t\"\\t\\t\\tvalue = resolvedValue == null ? '' : String(resolvedValue);\\n\" +\n\t'\\t\\t} catch (_error) {\\n' +\n\t\"\\t\\t\\tvalue = '';\\n\" +\n\t'\\t\\t}\\n' +\n\t'\\t\\tthis.__absoluteDeferTemplateExpressionCache.set(expression, value);\\n' +\n\t'\\t\\treturn value;\\n' +\n\t'\\t}\\n\\n';\n\nconst buildDeferSlotFields = (slots: LoweredAngularDeferSlot[]) =>\n\t[\n\t\tbuildDeferSlotTemplateResolver(),\n\t\t...slots.map((slot, index) => {\n\t\t\tconst htmlField = `\\t__absoluteDeferHtml${index} = () => \\`${buildResolverTemplateLiteral(slot.resolvedHtml)}\\`;\\n`;\n\t\t\tconst dataField =\n\t\t\t\tslot.resolvedBindings.length > 0\n\t\t\t\t\t? `\\t__absoluteDeferData${index} = () => ({\\n${slot.resolvedBindings\n\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t(binding) =>\n\t\t\t\t\t\t\t\t\t`\\t\\t\"${binding.key}\": this.__absoluteDeferResolveTemplateExpression(${JSON.stringify(binding.expression)})`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(',\\n')}\\n\\t});\\n`\n\t\t\t\t\t: `\\t__absoluteDeferData${index} = () => ({});\\n`;\n\n\t\t\treturn (\n\t\t\t\t`${\n\t\t\t\t\thtmlField + dataField\n\t\t\t\t}\\t__absoluteDeferResolvePayload${index} = () => new Promise<any>((resolve) => {\\n` +\n\t\t\t\t`\\t\\tsetTimeout(() => resolve({ kind: 'angular-defer', state: 'resolved', html: this.__absoluteDeferHtml${index}(), data: this.__absoluteDeferData${index}() }), ${slot.delayMs});\\n` +\n\t\t\t\t`\\t});\\n`\n\t\t\t);\n\t\t})\n\t].join('\\n');\n\nconst injectDeferSlotFields = (\n\tsource: string,\n\tslots: LoweredAngularDeferSlot[],\n\timportSpecifier = '@absolutejs/absolute/angular'\n) => {\n\tif (slots.length === 0) return source;\n\tlet rewritten = ensureDeferSlotImport(source, importSpecifier);\n\trewritten = ensureComponentImportsHasDeferSlot(rewritten);\n\tconst fields = buildDeferSlotFields(slots);\n\n\treturn rewritten.replace(\n\t\t/export(?:\\s+default)?\\s+class\\s+([A-Za-z_$][\\w$]*)\\s*{/,\n\t\t(match) => `${match}\\n${fields}\\n`\n\t);\n};\n\nconst readAndEscapeFile = async (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = await compileStyleFileIfNeeded(\n\t\tfilePath,\n\t\tstylePreprocessors\n\t);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineTemplateAndLowerDefer = async (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = await fs.readFile(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst inlineTemplateAndLowerDeferSync = (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = readFileSync(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst readAndEscapeFileSync = (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = compileStyleFileIfNeededSync(filePath, stylePreprocessors);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineStyleUrlsSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst inlinedStyles = urlMatches\n\t\t.map((urlMatch) => {\n\t\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\t\treturn readAndEscapeFileSync(\n\t\t\t\tjoin(fileDir, styleUrl),\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t})\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrlSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = readAndEscapeFileSync(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\nconst inlineResourcesSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = inlineTemplateAndLowerDeferSync(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = inlineStyleUrlsSync(result, fileDir, stylePreprocessors);\n\tresult = inlineSingleStyleUrlSync(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\nconst inlineStyleUrls = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst stylePromises = urlMatches.map((urlMatch) => {\n\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\treturn readAndEscapeFile(join(fileDir, styleUrl), stylePreprocessors);\n\t});\n\tconst results = await Promise.all(stylePromises);\n\tconst inlinedStyles = results\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrl = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = await readAndEscapeFile(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\n/** Inline templateUrl and styleUrls/styleUrl from external files */\nconst inlineResources = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = await inlineTemplateAndLowerDefer(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = await inlineStyleUrls(result, fileDir, stylePreprocessors);\n\tresult = await inlineSingleStyleUrl(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\n/** Angular HMR Runtime Layer (Level 3) — JIT-mode compilation for dev/HMR builds.\n * Uses ts.transpileModule() instead of Angular AOT performCompilation().\n * Inlines templateUrl → template and styleUrls → styles from disk.\n * Recursively transpiles all local imports so Bun's bundler can resolve them.\n * ~50-100ms for a tree of ~10 files vs ~500-700ms for AOT. */\nexport const compileAngularFileJIT = async (\n\tinputPath: string,\n\toutDir: string,\n\trootDir?: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst entryPath = resolve(inputPath);\n\tconst allOutputs: string[] = [];\n\tconst visited = new Set<string>();\n\tconst baseDir = resolve(rootDir ?? process.cwd());\n\tlet usesLegacyAnimations = false;\n\n\tconst angularTranspiler = new Bun.Transpiler({\n\t\tloader: 'ts',\n\t\ttsconfig: JSON.stringify({\n\t\t\tcompilerOptions: {\n\t\t\t\temitDecoratorMetadata: true,\n\t\t\t\texperimentalDecorators: true\n\t\t\t}\n\t\t})\n\t});\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\n\tconst resolveSourceFile = (candidate: string) => {\n\t\tconst candidates = candidate.match(/\\.[cm]?[tj]sx?$/)\n\t\t\t? [candidate]\n\t\t\t: [\n\t\t\t\t\t`${candidate}.ts`,\n\t\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t\t`${candidate}.js`,\n\t\t\t\t\t`${candidate}.jsx`,\n\t\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t\t];\n\n\t\treturn candidates.find((file) => existsSync(file));\n\t};\n\n\tconst resolveLocalImport = (specifier: string, fromDir: string) => {\n\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\treturn resolveSourceFile(resolve(fromDir, specifier));\n\t\t}\n\n\t\tconst aliased = matchTsconfigAlias(\n\t\t\tspecifier,\n\t\t\ttsconfigAliases.aliases,\n\t\t\ttsconfigAliases.baseUrl,\n\t\t\tresolveSourceFile\n\t\t);\n\t\tif (aliased) return aliased;\n\n\t\ttry {\n\t\t\tconst resolved = Bun.resolveSync(specifier, fromDir);\n\t\t\tif (resolved.includes('/node_modules/')) return undefined;\n\t\t\tconst absolute = resolve(resolved);\n\t\t\tif (!absolute.startsWith(baseDir)) return undefined;\n\n\t\t\treturn resolveSourceFile(absolute);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t};\n\n\tconst toOutputPath = (sourcePath: string) => {\n\t\tconst inputDir = dirname(sourcePath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\tconst fileBase = basename(sourcePath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\n\t\treturn join(outDir, relativeDir, fileBase);\n\t};\n\n\tconst transpileAndRewrite = (\n\t\tsourceCode: string,\n\t\trelativeDir: string,\n\t\tactualPath: string,\n\t\timportRewrites: Map<string, string>\n\t) => {\n\t\tlet processedContent = angularTranspiler.transformSync(sourceCode);\n\t\tconst outputPath = toOutputPath(actualPath);\n\t\tconst rewriteBareImport = (\n\t\t\tprefix: string,\n\t\t\tspecifier: string,\n\t\t\tsuffix: string\n\t\t) => {\n\t\t\tconst rewritten = importRewrites.get(specifier);\n\t\t\tif (rewritten) {\n\t\t\t\treturn `${prefix}${rewritten}${suffix}`;\n\t\t\t}\n\t\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t\t}\n\n\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t};\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\(\\s*['\"])([^'\"]+)(['\"]\\s*\\))/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t(match, quote, path) => {\n\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(outputPath, path);\n\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t}\n\n\t\t\t\treturn match;\n\t\t\t}\n\t\t);\n\n\t\tconst relDepth =\n\t\t\trelativeDir === '' || relativeDir === '.'\n\t\t\t\t? 0\n\t\t\t\t: relativeDir.split('/').length;\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])(\\.\\.\\/(?:\\.\\.\\/)*)/g,\n\t\t\t(_, prefix, dots) => {\n\t\t\t\tconst upCount = dots.split('/').length - 1;\n\t\t\t\tif (upCount <= relDepth) return `${prefix}${dots}`;\n\n\t\t\t\treturn `${prefix}../${dots}`;\n\t\t\t}\n\t\t);\n\t\tif (resolve(actualPath) === entryPath) {\n\t\t\tprocessedContent += buildIslandMetadataExports(sourceCode);\n\t\t}\n\n\t\treturn processedContent;\n\t};\n\n\t/** Transpile a single .ts file and recursively process its local imports */\n\tconst transpileFile = async (filePath: string) => {\n\t\tconst resolved = resolve(filePath);\n\t\tif (visited.has(resolved)) return;\n\t\tvisited.add(resolved);\n\n\t\t// Only transpile .ts files that exist\n\t\tlet actualPath = resolved;\n\t\tif (!actualPath.endsWith('.ts')) actualPath += '.ts';\n\t\tif (!existsSync(actualPath)) return;\n\n\t\tlet sourceCode = await fs.readFile(actualPath, 'utf-8');\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Inline templateUrl and styleUrls\n\t\t// This resolves external resources at transpile time so Angular JIT\n\t\t// doesn't try to fetch them via HTTP (which fails on the server)\n\t\tconst inlined = await inlineResources(\n\t\t\tsourceCode,\n\t\t\tdirname(actualPath),\n\t\t\tstylePreprocessors\n\t\t);\n\t\tsourceCode = inlineTemplateAndLowerDeferSync(\n\t\t\tinlined.source,\n\t\t\tdirname(actualPath)\n\t\t).source;\n\n\t\t// Compute output path preserving directory structure\n\t\tconst inputDir = dirname(actualPath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\tconst fileBase = basename(actualPath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\t\tconst targetDir = join(outDir, relativeDir);\n\t\tconst targetPath = toOutputPath(actualPath);\n\n\t\t// Find all relative imports to process recursively (needed\n\t\t// even when skipping transpilation for cache-hit files).\n\t\t// Catches: import/export ... from './x', export * from './x',\n\t\t// import './x' (side-effect), and dynamic import('./x').\n\t\tconst localImports: string[] = [];\n\t\tconst importRewrites = new Map<string, string>();\n\t\tconst fromRegex =\n\t\t\t/(?:from|import)\\s+['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]/g;\n\t\tconst dynamicImportRegex =\n\t\t\t/import\\(\\s*['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]\\s*\\)/g;\n\t\tlet importMatch;\n\t\twhile ((importMatch = fromRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\twhile ((importMatch = dynamicImportRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\tif (localImports.includes('@angular/animations')) {\n\t\t\tusesLegacyAnimations = true;\n\t\t}\n\t\tconst localImportPaths = localImports\n\t\t\t.map((specifier) => {\n\t\t\t\tconst resolved = resolveLocalImport(specifier, inputDir);\n\t\t\t\tif (!resolved) return null;\n\t\t\t\tconst relativeImport = relative(\n\t\t\t\t\ttargetDir,\n\t\t\t\t\ttoOutputPath(resolved)\n\t\t\t\t)\n\t\t\t\t\t.replace(/\\\\/g, '/')\n\t\t\t\t\t.replace(/\\.js$/, '');\n\t\t\t\timportRewrites.set(\n\t\t\t\t\tspecifier,\n\t\t\t\t\trelativeImport.startsWith('.')\n\t\t\t\t\t\t? relativeImport\n\t\t\t\t\t\t: `./${relativeImport}`\n\t\t\t\t);\n\n\t\t\t\treturn resolved;\n\t\t\t})\n\t\t\t.filter((path): path is string => Boolean(path));\n\n\t\t// Skip transpilation if source content hasn't changed — the\n\t\t// compiled output on disk is already up-to-date. This avoids\n\t\t// unnecessary disk writes that trigger bun --hot re-evaluation\n\t\t// and cause progressively slower compile times.\n\t\tconst contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);\n\t\tconst cacheKey = actualPath;\n\t\tif (\n\t\t\tjitContentCache.get(cacheKey) === contentHash &&\n\t\t\texistsSync(targetPath)\n\t\t) {\n\t\t\tallOutputs.push(targetPath);\n\t\t} else {\n\t\t\tconst processedContent = transpileAndRewrite(\n\t\t\t\tsourceCode,\n\t\t\t\trelativeDir,\n\t\t\t\tactualPath,\n\t\t\t\timportRewrites\n\t\t\t);\n\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.writeFile(targetPath, processedContent, 'utf-8');\n\t\t\tallOutputs.push(targetPath);\n\t\t\tjitContentCache.set(cacheKey, contentHash);\n\t\t}\n\n\t\t// Recursively transpile local imports\n\t\tawait Promise.all(\n\t\t\tlocalImportPaths.map((importPath) => transpileFile(importPath))\n\t\t);\n\t};\n\n\tawait transpileFile(inputPath);\n\n\tconst entryOutputPath = toOutputPath(entryPath);\n\tif (existsSync(entryOutputPath)) {\n\t\tconst entryOutput = await fs.readFile(entryOutputPath, 'utf-8');\n\t\tconst withoutLegacyFlag = entryOutput.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tconst nextEntryOutput = usesLegacyAnimations\n\t\t\t? `${withoutLegacyFlag}\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n`\n\t\t\t: withoutLegacyFlag;\n\t\tif (nextEntryOutput !== entryOutput) {\n\t\t\tawait fs.writeFile(entryOutputPath, nextEntryOutput, 'utf-8');\n\t\t}\n\t}\n\n\treturn allOutputs;\n};\n\nexport const compileAngular = async (\n\tentryPoints: string[],\n\toutRoot: string,\n\thmr = false,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst compiledParent = join(outRoot, 'generated');\n\n\tif (entryPoints.length === 0) {\n\t\tconst emptyPaths: string[] = [];\n\n\t\treturn { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };\n\t}\n\n\t// Compile to .absolutejs/generated/angular/. Server files are bundled by\n\t// Bun's server pass (same as Svelte/Vue) and cleanup() removes generated/\n\t// after bundling. In dev/HMR, a fixed path avoids duplicate Angular\n\t// module instances (different file paths → different ESM cache entries),\n\t// preventing NG0201/NG0203 token identity mismatches.\n\tconst compiledRoot = compiledParent;\n\tconst indexesDir = join(compiledParent, 'indexes');\n\n\tawait fs.mkdir(indexesDir, { recursive: true });\n\n\tconst compileTasks = entryPoints.map(async (entry) => {\n\t\tconst resolvedEntry = resolve(entry);\n\t\tconst relativeEntry = relative(outRoot, resolvedEntry).replace(\n\t\t\t/\\.[tj]s$/,\n\t\t\t'.js'\n\t\t);\n\t\tconst compileEntry = () =>\n\t\t\thmr\n\t\t\t\t? compileAngularFileJIT(\n\t\t\t\t\t\tresolvedEntry,\n\t\t\t\t\t\tcompiledRoot,\n\t\t\t\t\t\toutRoot,\n\t\t\t\t\t\tstylePreprocessors\n\t\t\t\t\t)\n\t\t\t\t: compileAngularFile(\n\t\t\t\t\t\tresolvedEntry,\n\t\t\t\t\t\tcompiledRoot,\n\t\t\t\t\t\tstylePreprocessors\n\t\t\t\t\t);\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Use JIT compilation for dev/HMR builds.\n\t\t// JIT uses ts.transpileModule() with template/style inlining (~50-100ms)\n\t\t// instead of AOT performCompilation() (~500-700ms).\n\t\tlet outputs = await compileEntry();\n\t\tconst fileBase = basename(resolvedEntry).replace(/\\.[tj]s$/, '');\n\t\tconst jsName = `${fileBase}.js`;\n\t\tconst compiledFallbackPaths = [\n\t\t\tjoin(compiledRoot, relativeEntry),\n\t\t\tjoin(compiledRoot, 'pages', jsName),\n\t\t\tjoin(compiledRoot, jsName)\n\t\t].map((file) => resolve(file));\n\t\tconst resolveRawServerFile = (candidatePaths: string[]) => {\n\t\t\tconst normalizedCandidates = [\n\t\t\t\t...candidatePaths.map((file) => resolve(file)),\n\t\t\t\t...compiledFallbackPaths\n\t\t\t];\n\t\t\tlet candidate = normalizedCandidates.find(\n\t\t\t\t(file) =>\n\t\t\t\t\texistsSync(file) &&\n\t\t\t\t\tfile.endsWith(`${sep}pages${sep}${jsName}`)\n\t\t\t);\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find(\n\t\t\t\t\t(file) =>\n\t\t\t\t\t\texistsSync(file) && file.endsWith(`${sep}${jsName}`)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find((file) =>\n\t\t\t\t\texistsSync(file)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn candidate;\n\t\t};\n\n\t\tlet rawServerFile = resolveRawServerFile(outputs);\n\t\tif (!rawServerFile) {\n\t\t\trawServerFile = resolveRawServerFile([]);\n\t\t}\n\t\tif (rawServerFile && !existsSync(rawServerFile)) {\n\t\t\toutputs = await compileEntry();\n\t\t\trawServerFile = resolveRawServerFile(outputs);\n\t\t}\n\n\t\tif (!rawServerFile || !existsSync(rawServerFile)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Compiled output not found for ${entry}. Looking for: ${jsName}. Available: ${[\n\t\t\t\t\t...outputs,\n\t\t\t\t\t...compiledFallbackPaths\n\t\t\t\t].join(', ')}`\n\t\t\t);\n\t\t}\n\n\t\tconst original = await fs.readFile(rawServerFile, 'utf-8');\n\n\t\t// Detect the actual exported class so the generated `export default`\n\t\t// (and the client-bundle wrappers below) reference a real symbol.\n\t\t// Without this, files whose class name doesn't follow the\n\t\t// `<Pascal(filename)>Component` convention (e.g. resources.ts\n\t\t// exporting `ContentComponent`, admin-debug.ts exporting\n\t\t// `AdminLogsComponent`) get a dangling `export default\n\t\t// ResourcesComponent` appended, which throws\n\t\t// `ReferenceError: <X> is not defined` at module-evaluation time.\n\t\t//\n\t\t// In Bun ≤1.3.13 this fails only on the first request — sequential\n\t\t// `import()` after an evaluation throw silently returns a\n\t\t// partially-initialized module instead of re-throwing. Fixed on\n\t\t// Bun main in PR oven-sh/bun#29393, awaiting 1.3.14. Tracked as\n\t\t// oven-sh/bun#29791; see UPSTREAM_ISSUES.md.\n\t\tconst detectExportedComponentClass = (\n\t\t\tsource: string,\n\t\t\tfallback: string\n\t\t): string => {\n\t\t\tconst defaultMatch = source.match(\n\t\t\t\t/export\\s+default\\s+([A-Za-z_$][\\w$]*)\\s*;/\n\t\t\t);\n\t\t\tif (defaultMatch) return defaultMatch[1]!;\n\t\t\tconst exportClassMatch = source.match(\n\t\t\t\t/export\\s+(?:default\\s+)?class\\s+([A-Za-z_$][\\w$]*)/\n\t\t\t);\n\t\t\tif (exportClassMatch) return exportClassMatch[1]!;\n\t\t\treturn fallback;\n\t\t};\n\t\tconst componentClassName = detectExportedComponentClass(\n\t\t\toriginal,\n\t\t\t`${toPascal(fileBase)}Component`\n\t\t);\n\t\tconst usesLegacyAnimations =\n\t\t\tawait sourceTreeUsesLegacyAngularAnimations(resolvedEntry, outRoot);\n\n\t\t// Angular HMR Optimization — Hash the compiled server file content.\n\t\t// If it hasn't changed since last HMR cycle, skip all the rewriting,\n\t\t// HMR registration injection, SSR deps writing, and index regeneration.\n\t\t// This eliminates ~100-500ms of wrapper overhead on cache hits.\n\t\tconst serverContentHash = Bun.hash(original).toString(BASE_36_RADIX);\n\t\tconst cachedWrapper = wrapperOutputCache.get(resolvedEntry);\n\t\tconst clientFile = join(indexesDir, jsName);\n\t\tif (\n\t\t\thmr &&\n\t\t\tcachedWrapper &&\n\t\t\tcachedWrapper.serverHash === serverContentHash &&\n\t\t\texistsSync(clientFile) &&\n\t\t\t(usesLegacyAnimations ||\n\t\t\t\t!original.includes(\n\t\t\t\t\t'__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'\n\t\t\t\t)) &&\n\t\t\t(!usesLegacyAnimations ||\n\t\t\t\toriginal.includes('__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'))\n\t\t) {\n\t\t\treturn {\n\t\t\t\tclientPath: clientFile,\n\t\t\t\tindexUnchanged: true,\n\t\t\t\tserverPath: rawServerFile\n\t\t\t};\n\t\t}\n\n\t\t// Ensure the JIT compiler side effect runs before any Angular package\n\t\t// imports in generated page modules. Consumer pages usually import\n\t\t// @angular/common first, which otherwise trips partial-compile JIT mode.\n\t\tlet rewritten = original;\n\t\trewritten = rewritten.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tif (!rewritten.includes(`import '@angular/compiler';`)) {\n\t\t\trewritten = `import '@angular/compiler';\\n${rewritten}`;\n\t\t}\n\n\t\t// Replace templateUrl if it exists\n\t\trewritten = rewritten.replace(\n\t\t\tnew RegExp(`templateUrl:\\\\s*['\"]\\\\.\\\\/${fileBase}\\\\.html['\"]`),\n\t\t\t`templateUrl: '../../pages/${fileBase}.html'`\n\t\t);\n\n\t\t// Only add default export if one doesn't already exist\n\t\tif (!rewritten.includes('export default')) {\n\t\t\trewritten += `\\nexport default ${componentClassName};\\n`;\n\t\t}\n\t\tif (usesLegacyAnimations) {\n\t\t\trewritten +=\n\t\t\t\t'\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n';\n\t\t}\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Inject HMR registration in dev mode\n\t\tif (hmr) {\n\t\t\trewritten = injectHMRRegistration(rewritten, resolvedEntry);\n\n\t\t\t// Write Angular dependency re-exports to a SEPARATE file so\n\t\t\t// they don't leak into the client bundle (require() doesn't\n\t\t\t// work in browsers). handleAngularPageRequest imports this\n\t\t\t// sibling file for identity-safe SSR rendering.\n\t\t\tconst ssrDepsFile = rawServerFile.replace(/\\.js$/, '.ssr-deps.js');\n\t\t\tconst ssrDepsContent = [\n\t\t\t\t'// HMR SSR: re-export Angular deps for identity-safe SSR rendering.',\n\t\t\t\t'// Separate file to avoid bundling require() calls into client code.',\n\t\t\t\t'export const __angularCore = require(\"@angular/core\");',\n\t\t\t\t'export const __angularPlatformServer = require(\"@angular/platform-server\");',\n\t\t\t\t'export const __angularPlatformBrowser = require(\"@angular/platform-browser\");',\n\t\t\t\t'export const __angularCommon = require(\"@angular/common\");',\n\t\t\t\t''\n\t\t\t].join('\\n');\n\t\t\tawait fs.writeFile(ssrDepsFile, ssrDepsContent, 'utf-8');\n\t\t}\n\n\t\tawait fs.writeFile(rawServerFile, rewritten, 'utf-8');\n\n\t\t// Calculate relative path from indexes directory to the server file\n\t\t// This handles deeply nested paths that Angular compiler may create\n\t\tconst relativePath = relative(indexesDir, rawServerFile).replace(\n\t\t\t/\\\\/g,\n\t\t\t'/'\n\t\t);\n\t\t// Ensure it starts with ./ or ../ for relative imports\n\t\tconst normalizedImportPath = relativePath.startsWith('.')\n\t\t\t? relativePath\n\t\t\t: `./${relativePath}`;\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Import runtime before HMR client\n\t\tconst hmrPreamble = hmr\n\t\t\t? `window.__HMR_FRAMEWORK__ = \"angular\";\\nimport \"${hmrRuntimePath}\";\\nimport \"${hmrClientPath}\";\\n`\n\t\t\t: '';\n\t\tconst hydration = hmr\n\t\t\t? `${hmrPreamble}\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { withHttpTransferCacheOptions } from '@angular/platform-browser';\nimport { provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\n// Re-export the page module so HMR fast-patch (in handlers/angular.ts) can\n// dynamically import this chunk and discover the freshly-built component\n// classes without needing a separate build artifact.\nexport * from '${normalizedImportPath}';\n\n// Record this evaluation's \\`routes\\` and \\`providers\\` exports for the\n// HMR fast-patch to compare against on the next reload. If they change\n// (a new route was added, a provider was edited), fast-patch falls back\n// to a full re-bootstrap because those values are consumed once at\n// bootstrap and won't propagate to the running router/injector via an\n// in-place component patch.\nif (typeof window !== 'undefined' && window.__ANGULAR_HMR__ && typeof window.__ANGULAR_HMR__.recordPageExports === 'function') {\n var __abs_hmr_routes = Reflect.get(pageModule, 'routes');\n window.__ANGULAR_HMR__.recordPageExports('${resolvedEntry}', __abs_hmr_routes, maybePageProviders);\n}\n\n// Re-Bootstrap HMR with View Transitions API.\n// Skipped during fast-patch: the HMR client sets\n// window.__ANGULAR_HMR_FAST_PATCH__ = true before \\`import()\\`-ing this\n// chunk so it can read the new component classes via \\`export *\\` above\n// without destroying the running app.\nif (!window.__ANGULAR_HMR_FAST_PATCH__) {\n if (window.__ANGULAR_APP__) {\n try { window.__ANGULAR_APP__.destroy(); } catch (_err) { /* ignore */ }\n window.__ANGULAR_APP__ = null;\n }\n\n // Ensure root element exists after destroy (Angular removes it)\n var _sel = ${componentClassName}.ɵcmp?.selectors?.[0]?.[0] || 'ng-app';\n if (!document.querySelector(_sel)) {\n (document.getElementById('root') || document.body).appendChild(document.createElement(_sel));\n }\n\n var providers = [provideZonelessChangeDetection()];\n if (!window.__HMR_SKIP_HYDRATION__ && !pageHasIslands) {\n providers.push(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\n }\n delete window.__HMR_SKIP_HYDRATION__;\n providers.push.apply(providers, pageProviders);\n providers.push.apply(providers, propProviders);\n window.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\n if (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n } else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n }\n}\n`.trim()\n\t\t\t: `\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { withHttpTransferCacheOptions } from '@angular/platform-browser';\nimport { enableProdMode, provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\nenableProdMode();\n\nvar providers = [provideZonelessChangeDetection()].concat(pageProviders).concat(propProviders);\nif (!pageHasIslands) {\n providers.unshift(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\n}\nwindow.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\nif (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n} else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n}\n`.trim();\n\n\t\t// Angular HMR Optimization — Hash index content to detect if bundling\n\t\t// can be skipped (index content is deterministic for a given import path).\n\t\tconst indexHash = Bun.hash(hydration).toString(BASE_36_RADIX);\n\t\tconst indexUnchanged = cachedWrapper?.indexHash === indexHash;\n\n\t\tawait fs.writeFile(clientFile, hydration, 'utf-8');\n\n\t\t// Update wrapper cache\n\t\twrapperOutputCache.set(resolvedEntry, {\n\t\t\tindexHash,\n\t\t\tserverHash: serverContentHash\n\t\t});\n\n\t\treturn {\n\t\t\tclientPath: clientFile,\n\t\t\tindexUnchanged,\n\t\t\tserverPath: rawServerFile\n\t\t};\n\t});\n\n\tconst results = await Promise.all(compileTasks);\n\tconst serverPaths = results.map((r) => r.serverPath);\n\tconst clientPaths = results.map((r) => r.clientPath);\n\n\treturn {\n\t\t// Angular HMR Optimization — Signal to rebuildTrigger that bundling\n\t\t// can be skipped when all index files are unchanged.\n\t\tallIndexesUnchanged: hmr && results.every((r) => r.indexUnchanged),\n\t\tclientPaths,\n\t\tserverPaths\n\t};\n};\n",
37
+ "import { existsSync, readFileSync, promises as fs } from 'fs';\nimport { join, basename, sep, dirname, resolve, relative } from 'path';\nimport type { CompilerOptions } from '@angular/compiler-cli';\nimport ts from 'typescript';\nimport { BASE_36_RADIX } from '../constants';\nimport { toPascal } from '../utils/stringModifiers';\nimport { buildIslandMetadataExports } from '../islands/sourceMetadata';\nimport {\n\tlowerAngularDeferSyntax,\n\ttype LoweredAngularDeferSlot\n} from '../angular/lowerDeferSyntax';\nimport {\n\tcompileStyleFileIfNeeded,\n\tcompileStyleFileIfNeededSync\n} from './stylePreprocessor';\nimport type { StylePreprocessorConfig } from '../../types/build';\n\ntype SyncReadFile = (fileName: string) => string | undefined;\n\ntype TsconfigPathAlias = {\n\tpattern: string;\n\treplacements: string[];\n};\n\nconst readTsconfigPathAliases = () => {\n\ttry {\n\t\tconst configPath = resolve(process.cwd(), 'tsconfig.json');\n\t\tconst config = ts.readConfigFile(configPath, ts.sys.readFile).config as\n\t\t\t| {\n\t\t\t\t\tcompilerOptions?: {\n\t\t\t\t\t\tbaseUrl?: string;\n\t\t\t\t\t\tpaths?: Record<string, string[]>;\n\t\t\t\t\t};\n\t\t\t }\n\t\t\t| undefined;\n\t\tconst compilerOptions = config?.compilerOptions ?? {};\n\t\tconst baseUrl = resolve(process.cwd(), compilerOptions.baseUrl ?? '.');\n\t\tconst aliases: TsconfigPathAlias[] = Object.entries(\n\t\t\tcompilerOptions.paths ?? {}\n\t\t).map(([pattern, replacements]) => ({ pattern, replacements }));\n\n\t\treturn { aliases, baseUrl };\n\t} catch {\n\t\treturn { aliases: [] as TsconfigPathAlias[], baseUrl: process.cwd() };\n\t}\n};\n\nconst matchTsconfigAlias = (\n\tspecifier: string,\n\taliases: TsconfigPathAlias[],\n\tbaseUrl: string,\n\tresolveSourceFile: (candidate: string) => string | undefined\n) => {\n\tfor (const alias of aliases) {\n\t\tconst wildcardIndex = alias.pattern.indexOf('*');\n\t\tconst exactMatch = wildcardIndex === -1;\n\t\tif (exactMatch && specifier !== alias.pattern) continue;\n\n\t\tconst prefix = exactMatch\n\t\t\t? alias.pattern\n\t\t\t: alias.pattern.slice(0, wildcardIndex);\n\t\tconst suffix = exactMatch ? '' : alias.pattern.slice(wildcardIndex + 1);\n\t\tif (\n\t\t\t!exactMatch &&\n\t\t\t(!specifier.startsWith(prefix) || !specifier.endsWith(suffix))\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst wildcardValue = exactMatch\n\t\t\t? ''\n\t\t\t: specifier.slice(prefix.length, specifier.length - suffix.length);\n\t\tfor (const replacement of alias.replacements) {\n\t\t\tconst candidate = replacement.replace('*', wildcardValue);\n\t\t\tconst resolved = resolveSourceFile(resolve(baseUrl, candidate));\n\t\t\tif (resolved) return resolved;\n\t\t}\n\t}\n\n\treturn undefined;\n};\n\nconst resolveSourceFile = (candidate: string) => {\n\tconst candidates = candidate.match(/\\.[cm]?[tj]sx?$/)\n\t\t? [candidate]\n\t\t: [\n\t\t\t\t`${candidate}.ts`,\n\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t`${candidate}.js`,\n\t\t\t\t`${candidate}.jsx`,\n\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t];\n\n\treturn candidates.find((file) => existsSync(file));\n};\n\nconst sourceTreeUsesLegacyAngularAnimations = async (\n\tentryPath: string,\n\trootDir: string\n) => {\n\tconst baseDir = resolve(rootDir);\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\tconst transpiler = new Bun.Transpiler({ loader: 'tsx' });\n\tconst visited = new Set<string>();\n\n\tconst resolveLocalImport = (specifier: string, fromDir: string) => {\n\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\treturn resolveSourceFile(resolve(fromDir, specifier));\n\t\t}\n\n\t\tconst aliased = matchTsconfigAlias(\n\t\t\tspecifier,\n\t\t\ttsconfigAliases.aliases,\n\t\t\ttsconfigAliases.baseUrl,\n\t\t\tresolveSourceFile\n\t\t);\n\t\tif (aliased) return aliased;\n\n\t\ttry {\n\t\t\tconst resolved = Bun.resolveSync(specifier, fromDir);\n\t\t\tif (resolved.includes('/node_modules/')) return undefined;\n\t\t\tconst absolute = resolve(resolved);\n\t\t\tif (!absolute.startsWith(baseDir)) return undefined;\n\n\t\t\treturn resolveSourceFile(absolute);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t};\n\n\tconst visit = async (filePath: string): Promise<boolean> => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) return false;\n\t\tconst resolved = resolve(actualPath);\n\t\tif (visited.has(resolved)) return false;\n\t\tvisited.add(resolved);\n\n\t\tlet sourceCode: string;\n\t\ttry {\n\t\t\tsourceCode = await fs.readFile(resolved, 'utf-8');\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet imports;\n\t\ttry {\n\t\t\timports = transpiler.scanImports(sourceCode);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (const imp of imports) {\n\t\t\tif (imp.path === '@angular/animations') return true;\n\t\t}\n\n\t\tfor (const imp of imports) {\n\t\t\tconst importedPath = resolveLocalImport(\n\t\t\t\timp.path,\n\t\t\t\tdirname(resolved)\n\t\t\t);\n\t\t\tif (importedPath && (await visit(importedPath))) return true;\n\t\t}\n\n\t\treturn false;\n\t};\n\n\treturn visit(entryPath);\n};\n\nconst resolveDevClientDir = () => {\n\tconst projectRoot = process.cwd();\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\n\tif (existsSync(fromSource) && fromSource.startsWith(projectRoot)) {\n\t\treturn fromSource;\n\t}\n\n\tconst fromNodeModules = resolve(\n\t\tprojectRoot,\n\t\t'node_modules/@absolutejs/absolute/dist/dev/client'\n\t);\n\tif (existsSync(fromNodeModules)) return fromNodeModules;\n\n\treturn resolve(import.meta.dir, './dev/client');\n};\n\nconst devClientDir = resolveDevClientDir();\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\n// Angular HMR Runtime Layer (Level 3) — Path to runtime module\nconst hmrRuntimePath = join(\n\tdevClientDir,\n\t'handlers',\n\t'angularRuntime.ts'\n).replace(/\\\\/g, '/');\n\n/** Angular HMR Runtime Layer (Level 3) — Inject HMR registration calls into compiled component JS.\n * Detects exported Angular component classes and appends register() calls.\n * Only active when hmr=true (dev mode). */\nconst injectHMRRegistration = (content: string, sourceId: string) => {\n\t// Find exported component classes: `export class XxxComponent` or `class XxxComponent`\n\tconst componentClassRegex = /(?:export\\s+)?class\\s+(\\w+Component)\\s/g;\n\tconst componentNames: string[] = [];\n\tlet match;\n\twhile ((match = componentClassRegex.exec(content)) !== null) {\n\t\tif (match[1]) componentNames.push(match[1]);\n\t}\n\n\tif (componentNames.length === 0) return content;\n\n\t// Build registration code block\n\tconst registrations = componentNames\n\t\t.map(\n\t\t\t(name) =>\n\t\t\t\t` if (typeof ${name} === 'function') window.__ANGULAR_HMR__.register('${sourceId}#${name}', ${name});`\n\t\t)\n\t\t.join('\\n');\n\n\tconst hmrBlock = `\\n// Angular HMR Runtime Layer (Level 3) — Auto-registration\\nif (typeof window !== 'undefined' && window.__ANGULAR_HMR__) {\\n${registrations}\\n}\\n`;\n\n\treturn content + hmrBlock;\n};\n\nconst formatDiagnosticMessage = (diagnostic: ts.Diagnostic) => {\n\ttry {\n\t\treturn ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n');\n\t} catch {\n\t\treturn String(diagnostic.messageText || 'Unknown error');\n\t}\n};\n\nconst throwOnCompilationErrors = (\n\tdiagnostics: readonly ts.Diagnostic[] | undefined\n) => {\n\tif (!diagnostics?.length) return;\n\n\tconst errors = diagnostics.filter(\n\t\t(diag) => diag.category === ts.DiagnosticCategory.Error\n\t);\n\tif (!errors.length) return;\n\n\tconst fullMessage = errors.map(formatDiagnosticMessage).join('\\n');\n\tconsole.error('Angular compilation errors:', fullMessage);\n\tthrow new Error(fullMessage);\n};\n\nconst resolveRelativePath = (\n\tfileName: string,\n\tresolvedOutDir: string,\n\toutDir: string\n) => {\n\tif (fileName.startsWith(resolvedOutDir))\n\t\treturn fileName.substring(resolvedOutDir.length + 1);\n\tif (fileName.startsWith(outDir))\n\t\treturn fileName.substring(outDir.length + 1);\n\n\treturn fileName;\n};\n\nconst hasJsLikeExtension = (path: string) => /\\.(js|ts|mjs|cjs)$/.test(path);\n\nconst rewriteRelativeJsSpecifier = (\n\timporterOutputPath: string,\n\tspecifier: string,\n\toutputFiles?: Set<string>\n) => {\n\tif (specifier.endsWith('.ts')) return specifier.replace(/\\.ts$/, '.js');\n\tif (hasJsLikeExtension(specifier)) return specifier;\n\n\tconst importerDir = dirname(importerOutputPath);\n\tconst fileCandidate = resolve(importerDir, `${specifier}.js`);\n\tif (outputFiles?.has(fileCandidate) || existsSync(fileCandidate)) {\n\t\treturn `${specifier}.js`;\n\t}\n\n\tconst indexCandidate = resolve(importerDir, specifier, 'index.js');\n\tif (outputFiles?.has(indexCandidate) || existsSync(indexCandidate)) {\n\t\treturn `${specifier}/index.js`;\n\t}\n\n\treturn `${specifier}.js`;\n};\n\nconst isRelativeModuleSpecifier = (specifier: string) =>\n\tspecifier.startsWith('./') || specifier.startsWith('../');\n\nconst extractLocalImportSpecifiers = (source: string, fileName: string) => {\n\tconst sourceFile = ts.createSourceFile(\n\t\tfileName,\n\t\tsource,\n\t\tts.ScriptTarget.Latest,\n\t\ttrue,\n\t\tts.ScriptKind.TS\n\t);\n\tconst specifiers: string[] = [];\n\tconst addSpecifier = (node: ts.Node | undefined) => {\n\t\tif (!node || !ts.isStringLiteralLike(node)) return;\n\t\tconst specifier = node.text;\n\t\tif (isRelativeModuleSpecifier(specifier)) specifiers.push(specifier);\n\t};\n\n\tconst visit = (node: ts.Node) => {\n\t\tif (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {\n\t\t\taddSpecifier(node.moduleSpecifier);\n\t\t} else if (\n\t\t\tts.isCallExpression(node) &&\n\t\t\tnode.expression.kind === ts.SyntaxKind.ImportKeyword\n\t\t) {\n\t\t\taddSpecifier(node.arguments[0]);\n\t\t}\n\t\tts.forEachChild(node, visit);\n\t};\n\tvisit(sourceFile);\n\n\treturn specifiers;\n};\n\nconst resolveLocalTsImport = (fromFile: string, specifier: string) => {\n\tif (!isRelativeModuleSpecifier(specifier)) return null;\n\tconst basePath = resolve(dirname(fromFile), specifier);\n\tconst candidates = /\\.[cm]?[tj]sx?$/.test(basePath)\n\t\t? [basePath]\n\t\t: [\n\t\t\t\t`${basePath}.ts`,\n\t\t\t\t`${basePath}.tsx`,\n\t\t\t\t`${basePath}.mts`,\n\t\t\t\t`${basePath}.cts`,\n\t\t\t\tjoin(basePath, 'index.ts'),\n\t\t\t\tjoin(basePath, 'index.tsx'),\n\t\t\t\tjoin(basePath, 'index.mts'),\n\t\t\t\tjoin(basePath, 'index.cts')\n\t\t\t];\n\n\treturn (\n\t\tcandidates\n\t\t\t.map((candidate) => resolve(candidate))\n\t\t\t.find(\n\t\t\t\t(candidate) =>\n\t\t\t\t\texistsSync(candidate) && !candidate.endsWith('.d.ts')\n\t\t\t) ?? null\n\t);\n};\n\nconst readFileForAotTransform = async (\n\tfileName: string,\n\treadFile: SyncReadFile | undefined\n) => {\n\tconst hostSource = readFile?.(fileName);\n\tif (typeof hostSource === 'string') return hostSource;\n\n\treturn fs.readFile(fileName, 'utf-8');\n};\n\nconst precomputeAotResourceTransforms = async (\n\tinputPaths: string[],\n\treadFile: SyncReadFile | undefined,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst transformedSources = new Map<string, string>();\n\tconst visited = new Set<string>();\n\n\tconst transformFile = async (filePath: string) => {\n\t\tconst resolvedPath = resolve(filePath);\n\t\tif (visited.has(resolvedPath)) return;\n\t\tvisited.add(resolvedPath);\n\t\tif (!existsSync(resolvedPath) || resolvedPath.endsWith('.d.ts')) return;\n\n\t\tconst source = await readFileForAotTransform(resolvedPath, readFile);\n\t\tconst transformed = await inlineResources(\n\t\t\tsource,\n\t\t\tdirname(resolvedPath),\n\t\t\tstylePreprocessors\n\t\t);\n\t\ttransformedSources.set(resolvedPath, transformed.source);\n\n\t\tconst imports = extractLocalImportSpecifiers(source, resolvedPath);\n\t\tawait Promise.all(\n\t\t\timports.map(async (specifier) => {\n\t\t\t\tconst resolvedImport = resolveLocalTsImport(\n\t\t\t\t\tresolvedPath,\n\t\t\t\t\tspecifier\n\t\t\t\t);\n\t\t\t\tif (resolvedImport) await transformFile(resolvedImport);\n\t\t\t})\n\t\t);\n\t};\n\n\tawait Promise.all(inputPaths.map((inputPath) => transformFile(inputPath)));\n\n\treturn transformedSources;\n};\n\nexport const compileAngularFiles = async (\n\tinputPaths: string[],\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst islandMetadataByOutputPath = new Map(\n\t\tinputPaths.map((inputPath) => {\n\t\t\tconst outputPath = resolve(\n\t\t\t\tjoin(\n\t\t\t\t\toutDir,\n\t\t\t\t\trelative(process.cwd(), resolve(inputPath)).replace(\n\t\t\t\t\t\t/\\.[cm]?[tj]sx?$/,\n\t\t\t\t\t\t'.js'\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\n\t\t\treturn [\n\t\t\t\toutputPath,\n\t\t\t\tbuildIslandMetadataExports(readFileSync(inputPath, 'utf-8'))\n\t\t\t] as const;\n\t\t})\n\t);\n\tconst { readConfiguration, performCompilation, EmitFlags } = await import(\n\t\t'@angular/compiler-cli'\n\t);\n\n\t// Resolve TypeScript lib directory dynamically (prevents hardcoded paths)\n\tconst tsPath = require.resolve('typescript');\n\tconst tsRootDir = dirname(tsPath);\n\tconst tsLibDir = tsRootDir.endsWith('lib')\n\t\t? tsRootDir\n\t\t: resolve(tsRootDir, 'lib');\n\n\t// Read configuration from tsconfig.json to get angularCompilerOptions\n\tconst config = readConfiguration('./tsconfig.json');\n\n\t// Build options object with newLine FIRST, then spread config.\n\t// IMPORTANT: target MUST be ES2022 (not ESNext) to avoid hardcoded lib.esnext.full.d.ts path.\n\tconst options: CompilerOptions = {\n\t\temitDecoratorMetadata: true,\n\t\tesModuleInterop: true,\n\t\texperimentalDecorators: true,\n\t\tmodule: ts.ModuleKind.ESNext,\n\t\tmoduleResolution: ts.ModuleResolutionKind.Bundler,\n\t\tnewLine: ts.NewLineKind.LineFeed, // Set FIRST - critical for createCompilerHost\n\t\tnoLib: false,\n\t\toutDir,\n\t\tskipLibCheck: true,\n\t\ttarget: ts.ScriptTarget.ES2022, // Use ES2022 instead of ESNext to avoid hardcoded lib paths\n\t\t...config.options // Spread AFTER to add Angular options\n\t};\n\n\t// CRITICAL: Force target to ES2022 AFTER spread to ensure it's not overwritten.\n\t// ESNext target causes hardcoded lib.esnext.full.d.ts path issues.\n\toptions.target = ts.ScriptTarget.ES2022;\n\n\t// Force TypeScript legacy decorators required by Angular 21's DI system.\n\toptions.experimentalDecorators = true;\n\toptions.emitDecoratorMetadata = true;\n\n\t// Force newLine again after spread to ensure it's not overwritten.\n\toptions.newLine = ts.NewLineKind.LineFeed;\n\n\t// Force outDir after spread — config.options may contain an absolute \"dist\" path\n\t// that overwrites our outDir, causing deeply nested compiled output.\n\toptions.outDir = outDir;\n\n\t// Production examples commonly use noEmit=true for editor/typecheck flows.\n\t// AOT compilation must override that or Angular silently produces no JS.\n\toptions.noEmit = false;\n\n\t// AOT emits into a generated directory that may be cleaned between builds.\n\t// Reusing the project's incremental tsbuildinfo can make TypeScript skip\n\t// files that need to be emitted again.\n\toptions.incremental = false;\n\toptions.tsBuildInfoFile = undefined;\n\n\t// Explicit rootDir prevents TypeScript from computing it from the single entry file,\n\t// which would cause imports from other directories to get absolute-path-based output.\n\toptions.rootDir = process.cwd();\n\n\t// Use TypeScript's createCompilerHost directly. Keep this host local to the\n\t// current AOT pass because the overrides below mutate host methods.\n\tconst host = ts.createCompilerHost(options);\n\n\t// Override lib resolution to use dynamic paths.\n\tconst originalGetDefaultLibLocation = host.getDefaultLibLocation;\n\thost.getDefaultLibLocation = () =>\n\t\ttsLibDir ||\n\t\t(originalGetDefaultLibLocation ? originalGetDefaultLibLocation() : '');\n\n\tconst originalGetDefaultLibFileName = host.getDefaultLibFileName;\n\thost.getDefaultLibFileName = (opts: ts.CompilerOptions) => {\n\t\tconst fileName = originalGetDefaultLibFileName\n\t\t\t? originalGetDefaultLibFileName(opts)\n\t\t\t: 'lib.d.ts';\n\n\t\treturn basename(fileName);\n\t};\n\n\tconst originalGetSourceFile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tif (\n\t\t\tfileName.startsWith('lib.') &&\n\t\t\tfileName.endsWith('.d.ts') &&\n\t\t\ttsLibDir\n\t\t) {\n\t\t\tconst resolvedPath = join(tsLibDir, fileName);\n\n\t\t\treturn originalGetSourceFile?.call(\n\t\t\t\thost,\n\t\t\t\tresolvedPath,\n\t\t\t\tlanguageVersion,\n\t\t\t\tonError\n\t\t\t);\n\t\t}\n\n\t\treturn originalGetSourceFile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\n\t\t);\n\t};\n\n\tconst emitted: Record<string, string> = {};\n\tconst resolvedOutDir = resolve(outDir);\n\thost.writeFile = (fileName, text) => {\n\t\tconst relativePath = resolveRelativePath(\n\t\t\tfileName,\n\t\t\tresolvedOutDir,\n\t\t\toutDir\n\t\t);\n\t\temitted[relativePath] = text;\n\t};\n\tconst originalReadFile = host.readFile;\n\tconst aotTransformedSources = await precomputeAotResourceTransforms(\n\t\tinputPaths,\n\t\toriginalReadFile?.bind(host),\n\t\tstylePreprocessors\n\t);\n\thost.readFile = (fileName: string) => {\n\t\tconst source = originalReadFile\n\t\t\t? originalReadFile.call(host, fileName)\n\t\t\t: undefined;\n\t\tif (typeof source !== 'string') return source;\n\t\tif (!fileName.endsWith('.ts') || fileName.endsWith('.d.ts')) {\n\t\t\treturn source;\n\t\t}\n\t\tconst resolvedPath = resolve(fileName);\n\n\t\treturn aotTransformedSources.get(resolvedPath) ?? source;\n\t};\n\tconst originalGetSourceFileForCompile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tconst source = host.readFile(fileName);\n\t\tif (typeof source === 'string') {\n\t\t\treturn ts.createSourceFile(fileName, source, languageVersion, true);\n\t\t}\n\n\t\treturn originalGetSourceFileForCompile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\n\t\t);\n\t};\n\n\tlet diagnostics: readonly ts.Diagnostic[] | undefined;\n\ttry {\n\t\t({ diagnostics } = performCompilation({\n\t\t\temitFlags: EmitFlags.Default,\n\t\t\thost,\n\t\t\toptions,\n\t\t\trootNames: inputPaths\n\t\t}));\n\t} finally {\n\t\thost.readFile = originalReadFile;\n\t\thost.getSourceFile = originalGetSourceFileForCompile;\n\t}\n\n\tthrowOnCompilationErrors(diagnostics);\n\n\tconst rawEntries = Object.entries(emitted)\n\t\t.filter(([fileName]) => fileName.endsWith('.js'))\n\t\t.map(([fileName, content]) => ({\n\t\t\tcontent,\n\t\t\ttarget: join(outDir, fileName)\n\t\t}));\n\tconst outputFiles = new Set(\n\t\trawEntries.map(({ target }) => resolve(target))\n\t);\n\tconst entries = rawEntries.map(({ content, target }) => {\n\t\t// Post-process the compiled output:\n\t\t// 1. Add .js extensions to imports\n\t\tlet processedContent = content.replace(\n\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t(match, quote, path) => {\n\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(\n\t\t\t\t\ttarget,\n\t\t\t\t\tpath,\n\t\t\t\t\toutputFiles\n\t\t\t\t);\n\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t}\n\n\t\t\t\treturn match;\n\t\t\t}\n\t\t);\n\n\t\t// 2. Fix Angular ɵɵdom* functions to standard ɵɵ* functions\n\t\tprocessedContent = processedContent\n\t\t\t.replace(/ɵɵdomElementStart/g, 'ɵɵelementStart')\n\t\t\t.replace(/ɵɵdomElementEnd/g, 'ɵɵelementEnd')\n\t\t\t.replace(/ɵɵdomElement\\(/g, 'ɵɵelement(')\n\t\t\t.replace(/ɵɵdomProperty/g, 'ɵɵproperty')\n\t\t\t.replace(/ɵɵdomListener/g, 'ɵɵlistener');\n\n\t\t// 3. Fix InjectFlags -> InternalInjectFlags (Angular 21+ compatibility)\n\t\t// Replace in import statements\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/import\\s*{\\s*([^}]*)\\bInjectFlags\\b([^}]*)\\s*}\\s*from\\s*['\"]@angular\\/core['\"]/g,\n\t\t\t(match, before, after) => {\n\t\t\t\tconst cleaned = (before + after)\n\t\t\t\t\t.replace(/,\\s*,/g, ',')\n\t\t\t\t\t.replace(/^\\s*,\\s*/, '')\n\t\t\t\t\t.replace(/,\\s*$/, '');\n\n\t\t\t\treturn cleaned\n\t\t\t\t\t? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'`\n\t\t\t\t\t: `import { InternalInjectFlags } from '@angular/core'`;\n\t\t\t}\n\t\t);\n\t\t// Replace usage of InjectFlags\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/\\b(?<!Internal)InjectFlags\\b/g,\n\t\t\t'InternalInjectFlags'\n\t\t);\n\t\tprocessedContent +=\n\t\t\tislandMetadataByOutputPath.get(resolve(target)) ?? '';\n\n\t\treturn { content: processedContent, target };\n\t});\n\n\tawait Promise.all(\n\t\tentries.map(({ target }) =>\n\t\t\tfs.mkdir(dirname(target), { recursive: true })\n\t\t)\n\t);\n\tawait Promise.all(\n\t\tentries.map(({ target, content }) =>\n\t\t\tfs.writeFile(target, content, 'utf-8')\n\t\t)\n\t);\n\n\treturn entries.map(({ target }) => target);\n};\n\nexport const compileAngularFile = async (\n\tinputPath: string,\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => compileAngularFiles([inputPath], outDir, stylePreprocessors);\n\n// Module-level cache: source content hash → compiled output path.\n// Skips re-transpilation of unchanged files during HMR, preventing\n// bun --hot from re-evaluating the growing module graph on each change.\nconst jitContentCache = new Map<string, string>();\n\n// Angular HMR Optimization — Cache the wrapper output (server file content\n// + index file content) so we can skip re-reading, rewriting, and index\n// generation when only transpilation changed but the wrapper output is identical.\nconst wrapperOutputCache = new Map<\n\tstring,\n\t{ serverHash: string; indexHash: string }\n>();\n\nconst escapeTemplateContent = (content: string) =>\n\tcontent\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/`/g, '\\\\`')\n\t\t.replace(/\\$\\{/g, '\\\\${');\n\n/** Find the next templateUrl/styleUrl/styleUrls property reference in `source`\n * whose line is not commented out with a leading `//`. Returns the match data\n * in the same shape RegExp.exec produces, or null if none. Catches the most\n * common case where users prefix the line with `//` to disable inlining\n * (otherwise our regex-based replacement would inline the template inside the\n * comment and the rest of the HTML would leak into source). */\nconst findUncommentedMatch = (source: string, pattern: RegExp) => {\n\tconst re = new RegExp(\n\t\tpattern.source,\n\t\tpattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g'\n\t);\n\tlet match: RegExpExecArray | null;\n\twhile ((match = re.exec(source)) !== null) {\n\t\tconst lineStart = source.lastIndexOf('\\n', match.index - 1) + 1;\n\t\tconst beforeMatch = source.slice(lineStart, match.index);\n\t\tif (!/^\\s*\\/\\//.test(beforeMatch)) return match;\n\t}\n\n\treturn null;\n};\n\nconst resolveAngularDeferImportSpecifier = () => {\n\tconst sourceEntry = resolve(\n\t\timport.meta.dir,\n\t\t'../angular/components/index.ts'\n\t);\n\tif (existsSync(sourceEntry)) {\n\t\treturn sourceEntry.replace(/\\\\/g, '/');\n\t}\n\n\treturn '@absolutejs/absolute/angular/components';\n};\n\nconst ensureDeferSlotImport = (\n\tsource: string,\n\timportSpecifier = '@absolutejs/absolute/angular/components'\n) => {\n\tif (source.includes('DeferSlotComponent')) return source;\n\tconst resolvedImportSpecifier = JSON.stringify(importSpecifier);\n\tconst importLine = `import { DeferErrorTemplateDirective, DeferFallbackTemplateDirective, DeferResolvedTemplateDirective, DeferSlotComponent } from ${resolvedImportSpecifier};\\n`;\n\tconst lastImportMatch = [...source.matchAll(/^import[\\s\\S]*?;$/gm)].pop();\n\tif (!lastImportMatch || lastImportMatch.index === undefined) {\n\t\treturn importLine + source;\n\t}\n\tconst insertAt = lastImportMatch.index + lastImportMatch[0].length;\n\n\treturn `${source.slice(0, insertAt)}\\n${importLine}${source.slice(insertAt)}`;\n};\n\nconst ensureComponentImportsHasDeferSlot = (source: string) => {\n\tconst importListMatch = source.match(/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/);\n\tif (importListMatch) {\n\t\tif (\n\t\t\t/\\bDeferSlotComponent\\b/.test(importListMatch[1] ?? '') &&\n\t\t\t/\\bDeferResolvedTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferFallbackTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferErrorTemplateDirective\\b/.test(importListMatch[1] ?? '')\n\t\t) {\n\t\t\treturn source;\n\t\t}\n\n\t\treturn source.replace(\n\t\t\t/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/,\n\t\t\t(match, importsContent: string) => {\n\t\t\t\tconst trimmed = importsContent.trim();\n\t\t\t\tconst entries = trimmed\n\t\t\t\t\t.split(',')\n\t\t\t\t\t.map((entry) => entry.trim())\n\t\t\t\t\t.filter(Boolean);\n\t\t\t\tfor (const requiredImport of [\n\t\t\t\t\t'DeferSlotComponent',\n\t\t\t\t\t'DeferResolvedTemplateDirective',\n\t\t\t\t\t'DeferFallbackTemplateDirective',\n\t\t\t\t\t'DeferErrorTemplateDirective'\n\t\t\t\t]) {\n\t\t\t\t\tif (!entries.includes(requiredImport)) {\n\t\t\t\t\t\tentries.push(requiredImport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst nextContent = entries.join(', ');\n\n\t\t\t\treturn `imports: [${nextContent}]`;\n\t\t\t}\n\t\t);\n\t}\n\n\treturn source.replace(\n\t\t/@Component\\(\\s*{/,\n\t\t'@Component({\\n\\timports: [DeferSlotComponent, DeferResolvedTemplateDirective, DeferFallbackTemplateDirective, DeferErrorTemplateDirective],'\n\t);\n};\n\nconst escapeTemplateLiteralValue = (value: string) =>\n\tvalue.replace(/\\\\/g, '\\\\\\\\').replace(/`/g, '\\\\`').replace(/\\$\\{/g, '\\\\${');\n\nconst skipInterpolatedExpression = (value: string, start: number) => {\n\tconst cursor = start + 2;\n\twhile (cursor < value.length - 1) {\n\t\tconst end = value.indexOf('}}', cursor);\n\t\tif (end < 0) {\n\t\t\treturn value.length;\n\t\t}\n\n\t\treturn end + 2;\n\t}\n\n\treturn value.length;\n};\n\nconst buildResolverTemplateLiteral = (value: string) => {\n\tconst parts: string[] = [];\n\tlet cursor = 0;\n\n\twhile (cursor < value.length) {\n\t\tconst interpolationStart = value.indexOf('{{', cursor);\n\t\tif (interpolationStart < 0) {\n\t\t\tparts.push(escapeTemplateLiteralValue(value.slice(cursor)));\n\n\t\t\tbreak;\n\t\t}\n\n\t\tparts.push(\n\t\t\tescapeTemplateLiteralValue(value.slice(cursor, interpolationStart))\n\t\t);\n\n\t\tconst nextCursor = skipInterpolatedExpression(\n\t\t\tvalue,\n\t\t\tinterpolationStart\n\t\t);\n\t\tif (nextCursor >= value.length) {\n\t\t\tparts.push(\n\t\t\t\tescapeTemplateLiteralValue(value.slice(interpolationStart))\n\t\t\t);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tconst rawExpression = value\n\t\t\t.slice(interpolationStart + 2, nextCursor - 2)\n\t\t\t.trim();\n\t\tconst expression = rawExpression.length === 0 ? \"''\" : rawExpression;\n\t\tconst expressionLiteral = JSON.stringify(expression);\n\n\t\tparts.push(\n\t\t\t`\\${this.__absoluteDeferResolveTemplateExpression(${expressionLiteral})}`\n\t\t);\n\t\tcursor = nextCursor;\n\t}\n\n\treturn parts.join('');\n};\n\nconst buildDeferSlotTemplateResolver = () =>\n\t'\\t__absoluteDeferTemplateExpressionCache = new Map<string, string>();\\n' +\n\t'\\t__absoluteDeferResolveTemplateExpression(expression: string) {\\n' +\n\t'\\t\\tconst cached = this.__absoluteDeferTemplateExpressionCache.get(expression);\\n' +\n\t'\\t\\tif (cached !== undefined) return cached;\\n' +\n\t'\\n' +\n\t'\\t\\tconst scope = new Proxy(this, {\\n' +\n\t'\\t\\t\\tget: (_target, property) => {\\n' +\n\t'\\t\\t\\t\\tconst value = (this as Record<PropertyKey, unknown>)[property];\\n' +\n\t'\\t\\t\\t\\treturn typeof value === \"function\" ? value.bind(this) : value;\\n' +\n\t'\\t\\t\\t}\\n' +\n\t'\\t\\t});\\n' +\n\t\"\\t\\tlet value = '';\\n\" +\n\t'\\t\\ttry {\\n' +\n\t'\\t\\t\\tconst evaluate = new Function(\\n' +\n\t\"\\t\\t\\t\\t'scope',\\n\" +\n\t'\\t\\t\\t\\t\"with (scope) { return (\" + expression + \"); }\"\\n' +\n\t'\\t\\t\\t);\\n' +\n\t'\\n' +\n\t'\\t\\t\\tconst resolvedValue = evaluate(scope);\\n' +\n\t\"\\t\\t\\tvalue = resolvedValue == null ? '' : String(resolvedValue);\\n\" +\n\t'\\t\\t} catch (_error) {\\n' +\n\t\"\\t\\t\\tvalue = '';\\n\" +\n\t'\\t\\t}\\n' +\n\t'\\t\\tthis.__absoluteDeferTemplateExpressionCache.set(expression, value);\\n' +\n\t'\\t\\treturn value;\\n' +\n\t'\\t}\\n\\n';\n\nconst buildDeferSlotFields = (slots: LoweredAngularDeferSlot[]) =>\n\t[\n\t\tbuildDeferSlotTemplateResolver(),\n\t\t...slots.map((slot, index) => {\n\t\t\tconst htmlField = `\\t__absoluteDeferHtml${index} = () => \\`${buildResolverTemplateLiteral(slot.resolvedHtml)}\\`;\\n`;\n\t\t\tconst dataField =\n\t\t\t\tslot.resolvedBindings.length > 0\n\t\t\t\t\t? `\\t__absoluteDeferData${index} = () => ({\\n${slot.resolvedBindings\n\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t(binding) =>\n\t\t\t\t\t\t\t\t\t`\\t\\t\"${binding.key}\": this.__absoluteDeferResolveTemplateExpression(${JSON.stringify(binding.expression)})`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(',\\n')}\\n\\t});\\n`\n\t\t\t\t\t: `\\t__absoluteDeferData${index} = () => ({});\\n`;\n\n\t\t\treturn (\n\t\t\t\t`${\n\t\t\t\t\thtmlField + dataField\n\t\t\t\t}\\t__absoluteDeferResolvePayload${index} = () => new Promise<any>((resolve) => {\\n` +\n\t\t\t\t`\\t\\tsetTimeout(() => resolve({ kind: 'angular-defer', state: 'resolved', html: this.__absoluteDeferHtml${index}(), data: this.__absoluteDeferData${index}() }), ${slot.delayMs});\\n` +\n\t\t\t\t`\\t});\\n`\n\t\t\t);\n\t\t})\n\t].join('\\n');\n\nconst injectDeferSlotFields = (\n\tsource: string,\n\tslots: LoweredAngularDeferSlot[],\n\timportSpecifier = '@absolutejs/absolute/angular'\n) => {\n\tif (slots.length === 0) return source;\n\tlet rewritten = ensureDeferSlotImport(source, importSpecifier);\n\trewritten = ensureComponentImportsHasDeferSlot(rewritten);\n\tconst fields = buildDeferSlotFields(slots);\n\n\treturn rewritten.replace(\n\t\t/export(?:\\s+default)?\\s+class\\s+([A-Za-z_$][\\w$]*)\\s*{/,\n\t\t(match) => `${match}\\n${fields}\\n`\n\t);\n};\n\nconst readAndEscapeFile = async (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = await compileStyleFileIfNeeded(\n\t\tfilePath,\n\t\tstylePreprocessors\n\t);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineTemplateAndLowerDefer = async (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = await fs.readFile(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst inlineTemplateAndLowerDeferSync = (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = readFileSync(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst readAndEscapeFileSync = (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = compileStyleFileIfNeededSync(filePath, stylePreprocessors);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineStyleUrlsSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst inlinedStyles = urlMatches\n\t\t.map((urlMatch) => {\n\t\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\t\treturn readAndEscapeFileSync(\n\t\t\t\tjoin(fileDir, styleUrl),\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t})\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrlSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = readAndEscapeFileSync(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\nconst inlineResourcesSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = inlineTemplateAndLowerDeferSync(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = inlineStyleUrlsSync(result, fileDir, stylePreprocessors);\n\tresult = inlineSingleStyleUrlSync(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\nconst inlineStyleUrls = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst stylePromises = urlMatches.map((urlMatch) => {\n\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\treturn readAndEscapeFile(join(fileDir, styleUrl), stylePreprocessors);\n\t});\n\tconst results = await Promise.all(stylePromises);\n\tconst inlinedStyles = results\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrl = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = await readAndEscapeFile(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\n/** Inline templateUrl and styleUrls/styleUrl from external files */\nconst inlineResources = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = await inlineTemplateAndLowerDefer(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = await inlineStyleUrls(result, fileDir, stylePreprocessors);\n\tresult = await inlineSingleStyleUrl(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\n/** Angular HMR Runtime Layer (Level 3) — JIT-mode compilation for dev/HMR builds.\n * Uses ts.transpileModule() instead of Angular AOT performCompilation().\n * Inlines templateUrl → template and styleUrls → styles from disk.\n * Recursively transpiles all local imports so Bun's bundler can resolve them.\n * ~50-100ms for a tree of ~10 files vs ~500-700ms for AOT. */\nexport const compileAngularFileJIT = async (\n\tinputPath: string,\n\toutDir: string,\n\trootDir?: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst entryPath = resolve(inputPath);\n\tconst allOutputs: string[] = [];\n\tconst visited = new Set<string>();\n\tconst baseDir = resolve(rootDir ?? process.cwd());\n\tlet usesLegacyAnimations = false;\n\n\tconst angularTranspiler = new Bun.Transpiler({\n\t\tloader: 'ts',\n\t\ttsconfig: JSON.stringify({\n\t\t\tcompilerOptions: {\n\t\t\t\temitDecoratorMetadata: true,\n\t\t\t\texperimentalDecorators: true\n\t\t\t}\n\t\t})\n\t});\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\n\tconst resolveSourceFile = (candidate: string) => {\n\t\tconst candidates = candidate.match(/\\.[cm]?[tj]sx?$/)\n\t\t\t? [candidate]\n\t\t\t: [\n\t\t\t\t\t`${candidate}.ts`,\n\t\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t\t`${candidate}.js`,\n\t\t\t\t\t`${candidate}.jsx`,\n\t\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t\t];\n\n\t\treturn candidates.find((file) => existsSync(file));\n\t};\n\n\tconst resolveLocalImport = (specifier: string, fromDir: string) => {\n\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\treturn resolveSourceFile(resolve(fromDir, specifier));\n\t\t}\n\n\t\tconst aliased = matchTsconfigAlias(\n\t\t\tspecifier,\n\t\t\ttsconfigAliases.aliases,\n\t\t\ttsconfigAliases.baseUrl,\n\t\t\tresolveSourceFile\n\t\t);\n\t\tif (aliased) return aliased;\n\n\t\ttry {\n\t\t\tconst resolved = Bun.resolveSync(specifier, fromDir);\n\t\t\tif (resolved.includes('/node_modules/')) return undefined;\n\t\t\tconst absolute = resolve(resolved);\n\t\t\tif (!absolute.startsWith(baseDir)) return undefined;\n\n\t\t\treturn resolveSourceFile(absolute);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t};\n\n\tconst toOutputPath = (sourcePath: string) => {\n\t\tconst inputDir = dirname(sourcePath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\tconst fileBase = basename(sourcePath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\n\t\treturn join(outDir, relativeDir, fileBase);\n\t};\n\n\tconst transpileAndRewrite = (\n\t\tsourceCode: string,\n\t\trelativeDir: string,\n\t\tactualPath: string,\n\t\timportRewrites: Map<string, string>\n\t) => {\n\t\tlet processedContent = angularTranspiler.transformSync(sourceCode);\n\t\tconst outputPath = toOutputPath(actualPath);\n\t\tconst rewriteBareImport = (\n\t\t\tprefix: string,\n\t\t\tspecifier: string,\n\t\t\tsuffix: string\n\t\t) => {\n\t\t\tconst rewritten = importRewrites.get(specifier);\n\t\t\tif (rewritten) {\n\t\t\t\treturn `${prefix}${rewritten}${suffix}`;\n\t\t\t}\n\t\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t\t}\n\n\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t};\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\(\\s*['\"])([^'\"]+)(['\"]\\s*\\))/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t(match, quote, path) => {\n\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(outputPath, path);\n\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t}\n\n\t\t\t\treturn match;\n\t\t\t}\n\t\t);\n\n\t\tconst relDepth =\n\t\t\trelativeDir === '' || relativeDir === '.'\n\t\t\t\t? 0\n\t\t\t\t: relativeDir.split('/').length;\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])(\\.\\.\\/(?:\\.\\.\\/)*)/g,\n\t\t\t(_, prefix, dots) => {\n\t\t\t\tconst upCount = dots.split('/').length - 1;\n\t\t\t\tif (upCount <= relDepth) return `${prefix}${dots}`;\n\n\t\t\t\treturn `${prefix}../${dots}`;\n\t\t\t}\n\t\t);\n\t\tif (resolve(actualPath) === entryPath) {\n\t\t\tprocessedContent += buildIslandMetadataExports(sourceCode);\n\t\t}\n\n\t\treturn processedContent;\n\t};\n\n\t/** Transpile a single .ts file and recursively process its local imports */\n\tconst transpileFile = async (filePath: string) => {\n\t\tconst resolved = resolve(filePath);\n\t\tif (visited.has(resolved)) return;\n\t\tvisited.add(resolved);\n\n\t\t// Only transpile .ts files that exist\n\t\tlet actualPath = resolved;\n\t\tif (!actualPath.endsWith('.ts')) actualPath += '.ts';\n\t\tif (!existsSync(actualPath)) return;\n\n\t\tlet sourceCode = await fs.readFile(actualPath, 'utf-8');\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Inline templateUrl and styleUrls\n\t\t// This resolves external resources at transpile time so Angular JIT\n\t\t// doesn't try to fetch them via HTTP (which fails on the server)\n\t\tconst inlined = await inlineResources(\n\t\t\tsourceCode,\n\t\t\tdirname(actualPath),\n\t\t\tstylePreprocessors\n\t\t);\n\t\tsourceCode = inlineTemplateAndLowerDeferSync(\n\t\t\tinlined.source,\n\t\t\tdirname(actualPath)\n\t\t).source;\n\n\t\t// Compute output path preserving directory structure\n\t\tconst inputDir = dirname(actualPath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\tconst fileBase = basename(actualPath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\t\tconst targetDir = join(outDir, relativeDir);\n\t\tconst targetPath = toOutputPath(actualPath);\n\n\t\t// Find all relative imports to process recursively (needed\n\t\t// even when skipping transpilation for cache-hit files).\n\t\t// Catches: import/export ... from './x', export * from './x',\n\t\t// import './x' (side-effect), and dynamic import('./x').\n\t\tconst localImports: string[] = [];\n\t\tconst importRewrites = new Map<string, string>();\n\t\tconst fromRegex =\n\t\t\t/(?:from|import)\\s+['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]/g;\n\t\tconst dynamicImportRegex =\n\t\t\t/import\\(\\s*['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]\\s*\\)/g;\n\t\tlet importMatch;\n\t\twhile ((importMatch = fromRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\twhile ((importMatch = dynamicImportRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\tif (localImports.includes('@angular/animations')) {\n\t\t\tusesLegacyAnimations = true;\n\t\t}\n\t\tconst localImportPaths = localImports\n\t\t\t.map((specifier) => {\n\t\t\t\tconst resolved = resolveLocalImport(specifier, inputDir);\n\t\t\t\tif (!resolved) return null;\n\t\t\t\tconst relativeImport = relative(\n\t\t\t\t\ttargetDir,\n\t\t\t\t\ttoOutputPath(resolved)\n\t\t\t\t)\n\t\t\t\t\t.replace(/\\\\/g, '/')\n\t\t\t\t\t.replace(/\\.js$/, '');\n\t\t\t\timportRewrites.set(\n\t\t\t\t\tspecifier,\n\t\t\t\t\trelativeImport.startsWith('.')\n\t\t\t\t\t\t? relativeImport\n\t\t\t\t\t\t: `./${relativeImport}`\n\t\t\t\t);\n\n\t\t\t\treturn resolved;\n\t\t\t})\n\t\t\t.filter((path): path is string => Boolean(path));\n\n\t\t// Skip transpilation if source content hasn't changed — the\n\t\t// compiled output on disk is already up-to-date. This avoids\n\t\t// unnecessary disk writes that trigger bun --hot re-evaluation\n\t\t// and cause progressively slower compile times.\n\t\tconst contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);\n\t\tconst cacheKey = actualPath;\n\t\tif (\n\t\t\tjitContentCache.get(cacheKey) === contentHash &&\n\t\t\texistsSync(targetPath)\n\t\t) {\n\t\t\tallOutputs.push(targetPath);\n\t\t} else {\n\t\t\tconst processedContent = transpileAndRewrite(\n\t\t\t\tsourceCode,\n\t\t\t\trelativeDir,\n\t\t\t\tactualPath,\n\t\t\t\timportRewrites\n\t\t\t);\n\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.writeFile(targetPath, processedContent, 'utf-8');\n\t\t\tallOutputs.push(targetPath);\n\t\t\tjitContentCache.set(cacheKey, contentHash);\n\t\t}\n\n\t\t// Recursively transpile local imports\n\t\tawait Promise.all(\n\t\t\tlocalImportPaths.map((importPath) => transpileFile(importPath))\n\t\t);\n\t};\n\n\tawait transpileFile(inputPath);\n\n\tconst entryOutputPath = toOutputPath(entryPath);\n\tif (existsSync(entryOutputPath)) {\n\t\tconst entryOutput = await fs.readFile(entryOutputPath, 'utf-8');\n\t\tconst withoutLegacyFlag = entryOutput.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tconst nextEntryOutput = usesLegacyAnimations\n\t\t\t? `${withoutLegacyFlag}\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n`\n\t\t\t: withoutLegacyFlag;\n\t\tif (nextEntryOutput !== entryOutput) {\n\t\t\tawait fs.writeFile(entryOutputPath, nextEntryOutput, 'utf-8');\n\t\t}\n\t}\n\n\treturn allOutputs;\n};\n\nexport const compileAngular = async (\n\tentryPoints: string[],\n\toutRoot: string,\n\thmr = false,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst compiledParent = join(outRoot, 'generated');\n\n\tif (entryPoints.length === 0) {\n\t\tconst emptyPaths: string[] = [];\n\n\t\treturn { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };\n\t}\n\n\t// Compile to .absolutejs/generated/angular/. Server files are bundled by\n\t// Bun's server pass (same as Svelte/Vue) and cleanup() removes generated/\n\t// after bundling. In dev/HMR, a fixed path avoids duplicate Angular\n\t// module instances (different file paths → different ESM cache entries),\n\t// preventing NG0201/NG0203 token identity mismatches.\n\tconst compiledRoot = compiledParent;\n\tconst indexesDir = join(compiledParent, 'indexes');\n\n\tawait fs.mkdir(indexesDir, { recursive: true });\n\n\tconst aotOutputs = hmr\n\t\t? []\n\t\t: await compileAngularFiles(\n\t\t\t\tentryPoints.map((entry) => resolve(entry)),\n\t\t\t\tcompiledRoot,\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\n\tconst compileTasks = entryPoints.map(async (entry) => {\n\t\tconst resolvedEntry = resolve(entry);\n\t\tconst relativeEntry = relative(outRoot, resolvedEntry).replace(\n\t\t\t/\\.[tj]s$/,\n\t\t\t'.js'\n\t\t);\n\t\tconst compileEntry = () =>\n\t\t\tcompileAngularFileJIT(\n\t\t\t\tresolvedEntry,\n\t\t\t\tcompiledRoot,\n\t\t\t\toutRoot,\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Use JIT compilation for dev/HMR builds.\n\t\t// JIT uses ts.transpileModule() with template/style inlining (~50-100ms)\n\t\t// instead of AOT performCompilation() (~500-700ms).\n\t\tlet outputs = hmr ? await compileEntry() : aotOutputs;\n\t\tconst fileBase = basename(resolvedEntry).replace(/\\.[tj]s$/, '');\n\t\tconst jsName = `${fileBase}.js`;\n\t\tconst compiledFallbackPaths = [\n\t\t\tjoin(compiledRoot, relativeEntry),\n\t\t\tjoin(compiledRoot, 'pages', jsName),\n\t\t\tjoin(compiledRoot, jsName)\n\t\t].map((file) => resolve(file));\n\t\tconst resolveRawServerFile = (candidatePaths: string[]) => {\n\t\t\tconst normalizedCandidates = [\n\t\t\t\t...candidatePaths.map((file) => resolve(file)),\n\t\t\t\t...compiledFallbackPaths\n\t\t\t];\n\t\t\tlet candidate = normalizedCandidates.find(\n\t\t\t\t(file) =>\n\t\t\t\t\texistsSync(file) &&\n\t\t\t\t\tfile.endsWith(`${sep}pages${sep}${jsName}`)\n\t\t\t);\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find(\n\t\t\t\t\t(file) =>\n\t\t\t\t\t\texistsSync(file) && file.endsWith(`${sep}${jsName}`)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find((file) =>\n\t\t\t\t\texistsSync(file)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn candidate;\n\t\t};\n\n\t\tlet rawServerFile = resolveRawServerFile(outputs);\n\t\tif (!rawServerFile) {\n\t\t\trawServerFile = resolveRawServerFile([]);\n\t\t}\n\t\tif (rawServerFile && !existsSync(rawServerFile)) {\n\t\t\toutputs = hmr ? await compileEntry() : aotOutputs;\n\t\t\trawServerFile = resolveRawServerFile(outputs);\n\t\t}\n\n\t\tif (!rawServerFile || !existsSync(rawServerFile)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Compiled output not found for ${entry}. Looking for: ${jsName}. Available: ${[\n\t\t\t\t\t...outputs,\n\t\t\t\t\t...compiledFallbackPaths\n\t\t\t\t].join(', ')}`\n\t\t\t);\n\t\t}\n\n\t\tconst original = await fs.readFile(rawServerFile, 'utf-8');\n\n\t\t// Detect the actual exported class so the generated `export default`\n\t\t// (and the client-bundle wrappers below) reference a real symbol.\n\t\t// Without this, files whose class name doesn't follow the\n\t\t// `<Pascal(filename)>Component` convention (e.g. resources.ts\n\t\t// exporting `ContentComponent`, admin-debug.ts exporting\n\t\t// `AdminLogsComponent`) get a dangling `export default\n\t\t// ResourcesComponent` appended, which throws\n\t\t// `ReferenceError: <X> is not defined` at module-evaluation time.\n\t\t//\n\t\t// In Bun ≤1.3.13 this fails only on the first request — sequential\n\t\t// `import()` after an evaluation throw silently returns a\n\t\t// partially-initialized module instead of re-throwing. Fixed on\n\t\t// Bun main in PR oven-sh/bun#29393, awaiting 1.3.14. Tracked as\n\t\t// oven-sh/bun#29791; see UPSTREAM_ISSUES.md.\n\t\tconst detectExportedComponentClass = (\n\t\t\tsource: string,\n\t\t\tfallback: string\n\t\t): string => {\n\t\t\tconst defaultMatch = source.match(\n\t\t\t\t/export\\s+default\\s+([A-Za-z_$][\\w$]*)\\s*;/\n\t\t\t);\n\t\t\tif (defaultMatch) return defaultMatch[1]!;\n\t\t\tconst exportClassMatch = source.match(\n\t\t\t\t/export\\s+(?:default\\s+)?class\\s+([A-Za-z_$][\\w$]*)/\n\t\t\t);\n\t\t\tif (exportClassMatch) return exportClassMatch[1]!;\n\t\t\treturn fallback;\n\t\t};\n\t\tconst componentClassName = detectExportedComponentClass(\n\t\t\toriginal,\n\t\t\t`${toPascal(fileBase)}Component`\n\t\t);\n\t\tconst usesLegacyAnimations =\n\t\t\tawait sourceTreeUsesLegacyAngularAnimations(resolvedEntry, outRoot);\n\n\t\t// Angular HMR Optimization — Hash the compiled server file content.\n\t\t// If it hasn't changed since last HMR cycle, skip all the rewriting,\n\t\t// HMR registration injection, SSR deps writing, and index regeneration.\n\t\t// This eliminates ~100-500ms of wrapper overhead on cache hits.\n\t\tconst serverContentHash = Bun.hash(original).toString(BASE_36_RADIX);\n\t\tconst cachedWrapper = wrapperOutputCache.get(resolvedEntry);\n\t\tconst clientFile = join(indexesDir, jsName);\n\t\tif (\n\t\t\thmr &&\n\t\t\tcachedWrapper &&\n\t\t\tcachedWrapper.serverHash === serverContentHash &&\n\t\t\texistsSync(clientFile) &&\n\t\t\t(usesLegacyAnimations ||\n\t\t\t\t!original.includes(\n\t\t\t\t\t'__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'\n\t\t\t\t)) &&\n\t\t\t(!usesLegacyAnimations ||\n\t\t\t\toriginal.includes('__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'))\n\t\t) {\n\t\t\treturn {\n\t\t\t\tclientPath: clientFile,\n\t\t\t\tindexUnchanged: true,\n\t\t\t\tserverPath: rawServerFile\n\t\t\t};\n\t\t}\n\n\t\t// Ensure the JIT compiler side effect runs before any Angular package\n\t\t// imports in generated page modules. Consumer pages usually import\n\t\t// @angular/common first, which otherwise trips partial-compile JIT mode.\n\t\tlet rewritten = original;\n\t\trewritten = rewritten.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tif (!rewritten.includes(`import '@angular/compiler';`)) {\n\t\t\trewritten = `import '@angular/compiler';\\n${rewritten}`;\n\t\t}\n\n\t\t// Replace templateUrl if it exists\n\t\trewritten = rewritten.replace(\n\t\t\tnew RegExp(`templateUrl:\\\\s*['\"]\\\\.\\\\/${fileBase}\\\\.html['\"]`),\n\t\t\t`templateUrl: '../../pages/${fileBase}.html'`\n\t\t);\n\n\t\t// Only add default export if one doesn't already exist\n\t\tif (!rewritten.includes('export default')) {\n\t\t\trewritten += `\\nexport default ${componentClassName};\\n`;\n\t\t}\n\t\tif (usesLegacyAnimations) {\n\t\t\trewritten +=\n\t\t\t\t'\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n';\n\t\t}\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Inject HMR registration in dev mode\n\t\tif (hmr) {\n\t\t\trewritten = injectHMRRegistration(rewritten, resolvedEntry);\n\n\t\t\t// Write Angular dependency re-exports to a SEPARATE file so\n\t\t\t// they don't leak into the client bundle (require() doesn't\n\t\t\t// work in browsers). handleAngularPageRequest imports this\n\t\t\t// sibling file for identity-safe SSR rendering.\n\t\t\tconst ssrDepsFile = rawServerFile.replace(/\\.js$/, '.ssr-deps.js');\n\t\t\tconst ssrDepsContent = [\n\t\t\t\t'// HMR SSR: re-export Angular deps for identity-safe SSR rendering.',\n\t\t\t\t'// Separate file to avoid bundling require() calls into client code.',\n\t\t\t\t'export const __angularCore = require(\"@angular/core\");',\n\t\t\t\t'export const __angularPlatformServer = require(\"@angular/platform-server\");',\n\t\t\t\t'export const __angularPlatformBrowser = require(\"@angular/platform-browser\");',\n\t\t\t\t'export const __angularCommon = require(\"@angular/common\");',\n\t\t\t\t''\n\t\t\t].join('\\n');\n\t\t\tawait fs.writeFile(ssrDepsFile, ssrDepsContent, 'utf-8');\n\t\t}\n\n\t\tawait fs.writeFile(rawServerFile, rewritten, 'utf-8');\n\n\t\t// Calculate relative path from indexes directory to the server file\n\t\t// This handles deeply nested paths that Angular compiler may create\n\t\tconst relativePath = relative(indexesDir, rawServerFile).replace(\n\t\t\t/\\\\/g,\n\t\t\t'/'\n\t\t);\n\t\t// Ensure it starts with ./ or ../ for relative imports\n\t\tconst normalizedImportPath = relativePath.startsWith('.')\n\t\t\t? relativePath\n\t\t\t: `./${relativePath}`;\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Import runtime before HMR client\n\t\tconst hmrPreamble = hmr\n\t\t\t? `window.__HMR_FRAMEWORK__ = \"angular\";\\nimport \"${hmrRuntimePath}\";\\nimport \"${hmrClientPath}\";\\n`\n\t\t\t: '';\n\t\tconst hydration = hmr\n\t\t\t? `${hmrPreamble}\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { withHttpTransferCacheOptions } from '@angular/platform-browser';\nimport { provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\n// Re-export the page module so HMR fast-patch (in handlers/angular.ts) can\n// dynamically import this chunk and discover the freshly-built component\n// classes without needing a separate build artifact.\nexport * from '${normalizedImportPath}';\n\n// Record this evaluation's \\`routes\\` and \\`providers\\` exports for the\n// HMR fast-patch to compare against on the next reload. If they change\n// (a new route was added, a provider was edited), fast-patch falls back\n// to a full re-bootstrap because those values are consumed once at\n// bootstrap and won't propagate to the running router/injector via an\n// in-place component patch.\nif (typeof window !== 'undefined' && window.__ANGULAR_HMR__ && typeof window.__ANGULAR_HMR__.recordPageExports === 'function') {\n var __abs_hmr_routes = Reflect.get(pageModule, 'routes');\n window.__ANGULAR_HMR__.recordPageExports('${resolvedEntry}', __abs_hmr_routes, maybePageProviders);\n}\n\n// Re-Bootstrap HMR with View Transitions API.\n// Skipped during fast-patch: the HMR client sets\n// window.__ANGULAR_HMR_FAST_PATCH__ = true before \\`import()\\`-ing this\n// chunk so it can read the new component classes via \\`export *\\` above\n// without destroying the running app.\nif (!window.__ANGULAR_HMR_FAST_PATCH__) {\n if (window.__ANGULAR_APP__) {\n try { window.__ANGULAR_APP__.destroy(); } catch (_err) { /* ignore */ }\n window.__ANGULAR_APP__ = null;\n }\n\n // Ensure root element exists after destroy (Angular removes it)\n var _sel = ${componentClassName}.ɵcmp?.selectors?.[0]?.[0] || 'ng-app';\n if (!document.querySelector(_sel)) {\n (document.getElementById('root') || document.body).appendChild(document.createElement(_sel));\n }\n\n var providers = [provideZonelessChangeDetection()];\n if (!window.__HMR_SKIP_HYDRATION__ && !pageHasIslands) {\n providers.push(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\n }\n delete window.__HMR_SKIP_HYDRATION__;\n providers.push.apply(providers, pageProviders);\n providers.push.apply(providers, propProviders);\n window.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\n if (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n } else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n }\n}\n`.trim()\n\t\t\t: `\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { withHttpTransferCacheOptions } from '@angular/platform-browser';\nimport { enableProdMode, provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\nenableProdMode();\n\nvar providers = [provideZonelessChangeDetection()].concat(pageProviders).concat(propProviders);\nif (!pageHasIslands) {\n providers.unshift(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\n}\nwindow.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\nif (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n} else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n}\n`.trim();\n\n\t\t// Angular HMR Optimization — Hash index content to detect if bundling\n\t\t// can be skipped (index content is deterministic for a given import path).\n\t\tconst indexHash = Bun.hash(hydration).toString(BASE_36_RADIX);\n\t\tconst indexUnchanged = cachedWrapper?.indexHash === indexHash;\n\n\t\tawait fs.writeFile(clientFile, hydration, 'utf-8');\n\n\t\t// Update wrapper cache\n\t\twrapperOutputCache.set(resolvedEntry, {\n\t\t\tindexHash,\n\t\t\tserverHash: serverContentHash\n\t\t});\n\n\t\treturn {\n\t\t\tclientPath: clientFile,\n\t\t\tindexUnchanged,\n\t\t\tserverPath: rawServerFile\n\t\t};\n\t});\n\n\tconst results = await Promise.all(compileTasks);\n\tconst serverPaths = results.map((r) => r.serverPath);\n\tconst clientPaths = results.map((r) => r.clientPath);\n\n\treturn {\n\t\t// Angular HMR Optimization — Signal to rebuildTrigger that bundling\n\t\t// can be skipped when all index files are unchanged.\n\t\tallIndexesUnchanged: hmr && results.every((r) => r.indexUnchanged),\n\t\tclientPaths,\n\t\tserverPaths\n\t};\n};\n",
38
38
  "import type { StreamingSlot } from '../utils/streamingSlots';\n\ntype StreamingSlotRegistrar = (slot: StreamingSlot) => void;\ntype StreamingSlotWarningController = {\n\tmaybeWarn(primitiveName: string): void;\n};\ntype StreamingSlotCollectionController = {\n\tisCollecting(): boolean;\n};\n\nconst STREAMING_SLOT_REGISTRAR_KEY = Symbol.for(\n\t'absolutejs.streamingSlotRegistrar'\n);\nconst STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotWarningController'\n);\nconst STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotCollectionController'\n);\n\nconst getRegisteredStreamingSlotRegistrar = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_REGISTRAR_KEY);\n\tif (typeof value === 'function' || value === null) {\n\t\treturn value;\n\t}\n\n\treturn undefined;\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isStreamingSlotWarningController = (\n\tvalue: unknown\n): value is StreamingSlotWarningController =>\n\tisObjectRecord(value) &&\n\t'maybeWarn' in value &&\n\ttypeof value.maybeWarn === 'function';\n\nconst isStreamingSlotCollectionController = (\n\tvalue: unknown\n): value is StreamingSlotCollectionController =>\n\tisObjectRecord(value) &&\n\t'isCollecting' in value &&\n\ttypeof value.isCollecting === 'function';\n\nconst getWarningController = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotWarningController(value) ? value : undefined;\n};\n\nconst getCollectionController = () => {\n\tconst value = Reflect.get(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_COLLECTION_STORAGE_KEY\n\t);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotCollectionController(value) ? value : undefined;\n};\n\nexport const hasRegisteredStreamingSlotRegistrar = () =>\n\ttypeof getRegisteredStreamingSlotRegistrar() === 'function';\nexport const isStreamingSlotCollectionActive = () =>\n\tgetCollectionController()?.isCollecting() === true;\nexport const registerStreamingSlot = (slot: StreamingSlot) => {\n\tgetRegisteredStreamingSlotRegistrar()?.(slot);\n};\nexport const setStreamingSlotCollectionController = (\n\tcontroller: StreamingSlotCollectionController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY, controller);\n};\nexport const setStreamingSlotRegistrar = (\n\tnextRegistrar: StreamingSlotRegistrar | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_REGISTRAR_KEY, nextRegistrar);\n};\nexport const setStreamingSlotWarningController = (\n\tcontroller: StreamingSlotWarningController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, controller);\n};\nexport const warnMissingStreamingSlotCollector = (primitiveName: string) => {\n\tif (\n\t\tprocess.env.NODE_ENV === 'production' ||\n\t\tisStreamingSlotCollectionActive()\n\t) {\n\t\treturn;\n\t}\n\n\tgetWarningController()?.maybeWarn(primitiveName);\n};\n",
39
39
  "import type { StreamingSlot } from '../utils/streamingSlots';\nimport {\n\tsetStreamingSlotCollectionController,\n\tsetStreamingSlotRegistrar\n} from './streamingSlotRegistrar';\n\ntype SlotStore = Map<string, StreamingSlot>;\ntype AsyncLocalStorageType =\n\timport('node:async_hooks').AsyncLocalStorage<SlotStore>;\n\nconst STREAMING_SLOT_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotAsyncLocalStorage'\n);\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is AsyncLocalStorageType =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getStorageGlobal = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn value;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst isServerRuntime = () =>\n\ttypeof process !== 'undefined' &&\n\ttypeof process.versions?.node === 'string';\n\nconst ensureAsyncLocalStorage = async () => {\n\tconst storage = getStorageGlobal();\n\tif (typeof storage !== 'undefined') {\n\t\treturn storage;\n\t}\n\tif (!isServerRuntime()) {\n\t\tReflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, null);\n\n\t\treturn getStorageGlobal();\n\t}\n\n\tconst mod = await import('node:async_hooks');\n\tReflect.set(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_STORAGE_KEY,\n\t\tnew mod.AsyncLocalStorage<SlotStore>()\n\t);\n\n\treturn getStorageGlobal();\n};\n\nconst getActiveSlotStore = () => {\n\tconst storage = getStorageGlobal();\n\tif (!storage) return undefined;\n\n\treturn storage.getStore();\n};\n\nconst registerStreamingSlot = (slot: StreamingSlot) => {\n\tconst store = getActiveSlotStore();\n\tif (!store) return;\n\tstore.set(slot.id, slot);\n};\n\nsetStreamingSlotRegistrar(registerStreamingSlot);\nsetStreamingSlotCollectionController({\n\tisCollecting: () => getActiveSlotStore() !== undefined\n});\n\nexport const hasActiveStreamingSlotRegistry = () =>\n\tgetActiveSlotStore() !== undefined;\n\nexport const runWithStreamingSlotRegistry = async <T>(\n\ttask: () => Promise<T> | T\n) => {\n\tconst storage = await ensureAsyncLocalStorage();\n\tif (!storage) {\n\t\tconst slots: StreamingSlot[] = [];\n\n\t\treturn {\n\t\t\tresult: await task(),\n\t\t\tslots\n\t\t};\n\t}\n\n\treturn storage.run(new Map<string, StreamingSlot>(), async () => {\n\t\tconst result = await task();\n\t\tconst store = storage.getStore();\n\n\t\treturn {\n\t\t\tresult,\n\t\t\tslots: store ? [...store.values()] : []\n\t\t};\n\t});\n};\n",
40
40
  "import { InjectionToken } from '@angular/core';\n\nconst DEFAULT_DETERMINISTIC_SEED = 'absolute-angular';\nconst DEFAULT_DETERMINISTIC_NOW = 0;\nconst HASH_MULTIPLIER = 31;\nconst FNV_OFFSET_BASIS = 2166136261;\nconst FNV_PRIME = 16777619;\nconst XORSHIFT_LEFT_1 = 13;\nconst XORSHIFT_LEFT_2 = 5;\nconst XORSHIFT_RIGHT = 17;\nconst UINT32_MAX = 0x100000000;\n\nexport type DeterministicRandom = () => number;\n\nexport type DeterministicEnvOptions = {\n\tnow?: Date | number | string;\n\tseed?: number | string;\n};\n\nexport const DETERMINISTIC_NOW = new InjectionToken<number>(\n\t'DETERMINISTIC_NOW'\n);\nexport const DETERMINISTIC_RANDOM = new InjectionToken<DeterministicRandom>(\n\t'DETERMINISTIC_RANDOM'\n);\nexport const DETERMINISTIC_SEED = new InjectionToken<string>(\n\t'DETERMINISTIC_SEED'\n);\n\nconst hashSeed = (seed: number | string) => {\n\tconst seedText = String(seed);\n\tlet hash = FNV_OFFSET_BASIS;\n\n\tfor (const char of seedText) {\n\t\thash = Math.imul(hash ^ char.charCodeAt(0), FNV_PRIME);\n\t}\n\n\treturn hash >>> 0 || HASH_MULTIPLIER;\n};\n\nexport const createDeterministicRandom = (\n\tseed: number | string = DEFAULT_DETERMINISTIC_SEED\n) => {\n\tlet state = hashSeed(seed);\n\n\treturn () => {\n\t\tstate ^= state << XORSHIFT_LEFT_1;\n\t\tstate ^= state >>> XORSHIFT_RIGHT;\n\t\tstate ^= state << XORSHIFT_LEFT_2;\n\n\t\treturn (state >>> 0) / UINT32_MAX;\n\t};\n};\n\nconst normalizeNow = (now: Date | number | string | undefined) => {\n\tif (now instanceof Date) return now.getTime();\n\tif (typeof now === 'string') return new Date(now).getTime();\n\tif (typeof now === 'number') return now;\n\n\treturn DEFAULT_DETERMINISTIC_NOW;\n};\n\nexport const provideDeterministicEnv = (\n\toptions: DeterministicEnvOptions = {}\n) => {\n\tconst seed = String(options.seed ?? DEFAULT_DETERMINISTIC_SEED);\n\tconst now = normalizeNow(options.now);\n\n\treturn [\n\t\t{ provide: DETERMINISTIC_SEED, useValue: seed },\n\t\t{ provide: DETERMINISTIC_NOW, useValue: now },\n\t\t{\n\t\t\tdeps: [DETERMINISTIC_SEED],\n\t\t\tprovide: DETERMINISTIC_RANDOM,\n\t\t\tuseFactory: createDeterministicRandom\n\t\t}\n\t];\n};\n",
@@ -52,7 +52,7 @@
52
52
  "import { inject, PendingTasks } from '@angular/core';\n\nexport const withPendingTask = async <Value>(work: () => Promise<Value>) => {\n\tconst removeTask = inject(PendingTasks).add();\n\n\ttry {\n\t\treturn await work();\n\t} finally {\n\t\tremoveTask();\n\t}\n};\n",
53
53
  "export type {\n\tAngularPageDefinition,\n\tAngularPagePropsOf\n} from '../../types/angular';\nexport {\n\tABSOLUTE_HTTP_TRANSFER_CACHE_SKIP_HEADER,\n\tbuildAbsoluteHttpTransferCacheOptions\n} from './httpTransferCache';\nexport {\n\tcreateDeterministicRandom,\n\tDETERMINISTIC_NOW,\n\tDETERMINISTIC_RANDOM,\n\tDETERMINISTIC_SEED,\n\tprovideDeterministicEnv\n} from './deterministicEnv';\nexport { handleAngularPageRequest } from './pageHandler';\nexport { defineAngularPage } from './page';\nexport { withPendingTask } from './pendingTask';\nexport { REQUEST, REQUEST_CONTEXT, RESPONSE_INIT } from './requestProviders';\n"
54
54
  ],
55
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEa,2CAA2C,yBAU3C,wCAAwC,CACpD,UAA4C,CAAC,MACzC;AAAA,EACJ;AAAA,IACC,QAAQ;AAAA,IACR,aAAa;AAAA,OACV;AAAA,MACA;AAAA,EAEJ,OAAO;AAAA,IACN,qBAAqB;AAAA,IACrB,gCAAgC;AAAA,OAC7B;AAAA,IACH,QAAQ,CAAC,YACR,CAAC,QAAQ,QAAQ,IAAI,UAAU,MAAM,aAAa,OAAO,KAAK;AAAA,EAChE;AAAA;;;IC3BY,0BAA0B,KAC1B,mBAAmB,IACnB,qBAAqB,GACrB,cAAc,IACd,gBAAgB,IAChB,gCACZ,8CACY,oBAAoB,MACpB,qBAAqB,MACrB,kBAAkB,GAClB,6BAA6B,IAC7B,yBAAyB,IACzB,2BAA2B,KAC3B,6BAA6B,KAC7B,qBAAqB,OACrB,sBAAsB,IACtB,eAAe,MACf,iCAAiC,KACjC,sBAAsB,IACtB,8BAA8B,GAC9B,yBAAyB,GACzB,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,MACxB,wBAAwB,IACxB,sBAAsB,IACtB,iBAAiB,KACjB,0BAA0B,KAC1B,wBAAwB,KACxB,eAAe,IACf,oBAAoB,IACpB,4BAGA,2BACA,wBAAwB,IACxB,2BAA2B,GAC3B,mBAAmB,KACnB,yBAAyB,IACzB,2BAA2B,MAC3B,qBAAqB,IACrB,sBAAsB,IACtB,0BAEA,uBAKA,2BAA2B,KAC3B,mBAAmB,OACnB,kBAAkB,GAClB,sBAAsB,IACtB,yBAAyB,IACzB,0BAA0B,KAC1B,6BAA6B,KAC7B,6BAA6B,KAC7B,kCAAkC,GAClC,kCAAkC,IAClC,mBAAmB,KACnB,oBAAoB,KACpB,6BAA6B,KAC7B,iBAAiB,GACjB,YACA,gBAAgB,IAChB,2BAA2B,MAC3B,gCAAgC,GAChC,oCAAoC,IACpC,qCAAqC,IACrC,qCAAqC,MACrC,oCAAoC,KACpC,6BAA6B,OAC7B,gCAAgC,KAChC,+BAA+B,IAC/B,8BAA8B,KAC9B,2CAA2C,IAC3C,kCAAkC,GAClC,+BAA+B,GAC/B,uCAAuC,GACvC,iCAAiC,GACjC,+BAA+B,IAC/B,qCAAqC,GACrC,iCAAiC,IACjC,mCAAmC,IACnC,6BAA6B,IAC7B,qCAAqC,GACrC,iCAAiC;AAAA;AAAA,EAvDjC,6BAA6B;AAAA,IACzC;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAM;AAAA,IAAM;AAAA,IAAM;AAAA,IAAM;AAAA,EACxC;AAAA,EACa,4BAA4B,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG;AAAA,EAQ9D,2BACZ,2BAA2B;AAAA,EACf,wBACZ,2BACA,sBACA,qBACA;AAAA,EAeY,aAAa,IAAI;AAAA;;;IC/DxB,gBAAgB,CAAC,QACtB,IACE,KAAK,EACL,QAAQ,QAAQ,GAAG,EACnB,QAAQ,qBAAqB,EAAE,EAC/B,QAAQ,aAAa,GAAG,GAEd,UAAU,CAAC,QACvB,cAAc,GAAG,EACf,QAAQ,sBAAsB,OAAO,EACrC,YAAY,GACF,WAAW,CAAC,QAAgB;AAAA,EACxC,IAAI,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG;AAAA,IAC7C,OAAO,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,MAAM,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,cAAc,GAAG,EACtB,MAAM,MAAM,EACZ,OAAO,OAAO,EACd,IACA,CAAC,YACA,QAAQ,OAAO,CAAC,EAAE,YAAY,IAAI,QAAQ,MAAM,CAAC,EAAE,YAAY,CACjE,EACC,KAAK,EAAE;AAAA,GAEG,mBAAmB,CAAC,QAChC,IAAI,QAAQ,sBAAsB,OAAO,EAAE,YAAY;;;ICAlD,gBAGF,iBAAiB,GACf,eAAe,MAAM,OAAO,KAAK,IAAI,KAAK,EAAE,kBAG9C,mBAAsD,MAC7C,kBAAkB,MAC9B,mBAAmB,KACnB,OAAO,yBAAyB,YAAY,wBAAwB,GACjE,OACS,uBAAuB,CACnC,QACA,cACI;AAAA,EAEJ,MAAM,KAAK,aAAa,gBAAgB,KAAK,aAAa;AAAA,EAE1D,IAAI,CAAC,eAAe,IAAI,EAAE,GAAG;AAAA,IAC5B,eAAe,IAAI,IAAI,IAAI,GAAK;AAAA,EACjC;AAAA,EAEA,eAAe,IAAI,EAAE,GAAG,IAAI,MAAM;AAAA,EAElC,OAAO;AAAA,GAEK,sBAAsB,CAAC,WAAqC;AAAA,EACxE,mBAAmB;AAAA,GAgBP,wBAAwB,MAAM;AAAA,EAC1C,eAAe,MAAM;AAAA,GAET,2BAA2B,CAAC,YAA4B;AAAA,EACpE,IAAI,QAAQ,WAAW,GAAG;AAAA,IACzB,OAAO;AAAA,EACR;AAAA,EAGA,MAAM,aAAa,QACjB,IAAI,CAAC,QAAQ,UAAU;AAAA,IAEvB,MAAM,aAAa,OAAO,SAAS;AAAA,IAGnC,MAAM,YAAY,WAAW,MAAM,eAAe;AAAA,IAClD,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI;AAAA,MAChC,OAAO;AAAA,IACR;AAAA,IAEA,MAAM,OAAO,UAAU,GAAG,KAAK;AAAA,IAG/B,OAAO;AAAA;AAAA;AAAA,2BAGiB;AAAA;AAAA;AAAA,KAGtB;AAAA;AAAA;AAAA;AAAA,mBAIc;AAAA;AAAA,iEAE8C;AAAA;AAAA;AAAA;AAAA;AAAA,mBAK9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBASA;AAAA;AAAA;AAAA;AAAA,GAIhB,EACA,KAAK;AAAA,CAAI;AAAA,EAEX,OAAO;AAAA;AAAA,EAEN;AAAA;AAAA;AAAA,GAIW,2BAA2B,CAAC,cAAuB;AAAA,EAC/D,MAAM,KAAK,aAAa,mBAAmB;AAAA,EAC3C,IAAI,CAAC;AAAA,IAAI,OAAO,CAAC;AAAA,EAEjB,MAAM,UAAU,eAAe,IAAI,EAAE;AAAA,EACrC,IAAI,CAAC,SAAS;AAAA,IACb,OAAO,CAAC;AAAA,EACT;AAAA,EAEA,MAAM,cAAc,MAAM,KAAK,OAAO;AAAA,EACtC,eAAe,OAAO,EAAE;AAAA,EAExB,OAAO;AAAA;AAAA;AAAA,EAtHF,iBAAiB,IAAI;AAAA,EAiC3B,IAAI,OAAO,eAAe,aAAa;AAAA,IACtC,OAAO,OAAO,YAAY,EAAE,qBAAqB,CAAC;AAAA,EACnD;AAAA;;;AC7DA;AACA;AAAA,IAUM,qBAAqB,CAAC,WAAmB,YAAoB;AAAA,EAClE,IAAI,QAAQ,SAAS,uCAAuC,GAAG;AAAA,IAC9D;AAAA,EACD;AAAA,EAEA,MAAM,WAAW;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,EAAE,KAAK;AAAA,CAAI;AAAA,EAEX,MAAM,cAAc;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,EAAE,KAAK;AAAA,CAAI;AAAA,EAEX,MAAM,UAAU,QAAQ,QAAQ,UAAU,WAAW;AAAA,EAErD,IAAI,YAAY,SAAS;AAAA,IACxB;AAAA,EACD;AAAA,EAEA,cAAc,WAAW,SAAS,OAAO;AAAA,GAGpC,wBAAwB,MAAM;AAAA,EACnC,MAAM,cAAc,QAAQ,QAAQ,IAAI,GAAG,4BAA4B;AAAA,EAEvE,IAAI,WAAW,KAAK,aAAa,cAAc,CAAC,GAAG;AAAA,IAClD,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,uDAAqD;AAAA,GAGhD,gCAAgC,MAAM;AAAA,EAClD,IAAI;AAAA,IACH,MAAM,UAAU,sBAAsB;AAAA,IACtC,MAAM,YAAY,KAAK,SAAS,YAAY,sBAAsB;AAAA,IAClE,MAAM,UAAU,aAAa,WAAW,OAAO;AAAA,IAC/C,mBAAmB,WAAW,OAAO;AAAA,IACpC,MAAM;AAAA;AAAA;AAAA,EAOT,8BAA8B;AAAA;;;ACzE9B,uBAAS;AACT,oBAAS;AAAA,IAQI,wBAAwB,CAAC,cAAsB;AAAA,EAC3D,MAAM,cAAc,SAAQ,QAAQ,IAAI,GAAG,gBAAgB,SAAS;AAAA,EAEpE,IAAI,YAAW,WAAW,GAAG;AAAA,IAC5B,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAAA;;;;;;;ICZF,aAAa,CAAC,QAAkB;AAAA,EACrC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,iBAAiB;AAAA,IAC7C;AAAA,EACD;AAAA,EAEA,MAAM,OAAO,IAAI,cAAc,MAAM;AAAA,EACrC,IAAI,gBAAgB,aAAa,MAAM,IAAI,gBAAgB,UAAU;AAAA,GAOhE,iBAaF,qBAAqB,OACnB,wBAAwB,CAAC,aAA4B;AAAA,EAC1D,MAAM,SAAmB,CAAC;AAAA,EAC1B,IAAI,UAAyB,WAC1B,OAAO,eAAe,QAAQ,IAC9B;AAAA,EACH,OAAO,WAAW,YAAY,OAAO,WAAW;AAAA,IAC/C,OAAO,KAAK,OAAO;AAAA,IACnB,UAAU,OAAO,eAAe,OAAO;AAAA,EACxC;AAAA,EAEA,OAAO;AAAA,GAGF,qBAAqB,CAAC,QAAkB;AAAA,EAC7C,IAAI,sBAAsB,CAAC,KAAK;AAAA,IAC/B;AAAA,EACD;AAAA,EACA,IAAI;AAAA,EACJ,IAAI;AAAA,IACH,UAAU,IAAI,cAAc,KAAK;AAAA,IAChC,MAAM;AAAA,IACP;AAAA;AAAA,EAMD,MAAM,SAAS,sBAAsB,OAAO;AAAA,EAC5C,IAAI,OAAO,WAAW;AAAA,IAAG;AAAA,EAEzB,MAAM,iBAAiB,CAAC,UAAkC,KAAK,KAAK;AAAA,EACpE,MAAM,mBAAmB,MAAM,eAAe,eAAe;AAAA,EAC7D,MAAM,iBAAiB,MAAM,CAAC;AAAA,EAC9B,MAAM,OAAO,MAAG;AAAA,IAAG;AAAA;AAAA,EACnB,MAAM,eAAe;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EAEA,WAAW,SAAS,QAAQ;AAAA,IAC3B,MAAM,SAAS,CAAC,MAAc,UAAmB;AAAA,MAChD,MAAM,aAAa,OAAO,yBAAyB,OAAO,IAAI;AAAA,MAC9D,IAAI,OAAO,YAAY,UAAU;AAAA,QAAY;AAAA,MAE7C,OAAO,eAAe,OAAO,MAAM;AAAA,QAClC,cAAc;AAAA,QACd;AAAA,QACA,UAAU;AAAA,MACX,CAAC;AAAA;AAAA,IAGF,OAAO,yBAAyB,gBAAgB;AAAA,IAChD,OAAO,kBAAkB,cAAc;AAAA,IACvC,OAAO,YAAY,IAAI;AAAA,IACvB,OAAO,YAAY,IAAI;AAAA,IACvB,OAAO,kBAAkB,IAAI;AAAA,IAC7B,OAAO,SAAS,IAAI;AAAA,IACpB,OAAO,QAAQ,IAAI;AAAA,IAEnB,WAAW,QAAQ,cAAc;AAAA,MAChC,MAAM,OAAO,OAAO,yBAAyB,OAAO,IAAI;AAAA,MACxD,IAAI;AAAA,QAAM;AAAA,MACV,OAAO,eAAe,OAAO,MAAM;AAAA,QAClC,cAAc;AAAA,QACd,KAAK,MAAM;AAAA,MACZ,CAAC;AAAA,IACF;AAAA,EACD;AAAA,EAEA,qBAAqB;AAAA,GAGT,eAAe,YAAY;AAAA,EACvC,QAAQ,yBAAkB,MACzB,6BAAsB,0BAA0B;AAAA,EAEjD,IAAI,CAAC,sBAAe,WAAW;AAAA,IAC9B,QAAQ,KACP,iEACD;AAAA,IAEA,OAAO;AAAA,EACR;AAAA,EAMA,IAAI;AAAA,IACH,MAAM,UAAU,IAAI;AAAA,IACpB,MAAM,UACL,OAAO,QAAQ,uBAAuB,aACnC,QAAQ,mBAAmB,IAC3B,OAAO,QAAQ,uBAAuB,aACrC,QAAQ,mBAAmB,IAC3B;AAAA,IACL,IAAI,SAAS;AAAA,MACZ,mBAAmB,OAAO;AAAA,MAC1B,MAAM,QAAQ,QAAQ,cAAc,KAAK;AAAA,MAGzC,IAAI,OAAO,MAAM,0BAA0B,YAAY;AAAA,QACtD,QAAQ,KACP,4EACD;AAAA,MACD;AAAA,IACD;AAAA,IACC,OAAO,OAAO;AAAA,IACf,QAAQ,KACP,+DACA,KACD;AAAA;AAAA,EAGD,MAAM,QAAQ,qBAAc;AAAA,EAE5B,MAAM,kBAAkB,MAAM;AAAA,EAC9B,MAAM,cAAc,QAAS,CAAC,KAAe;AAAA,IAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,OAAO,IAAI,KAAK,aAAa,aAAa;AAAA,MAClE,OAAO;AAAA,IACR;AAAA,IAEA,OAAO,gBAAgB,KAAK,MAAM,GAAG;AAAA;AAAA,EAGtC,MAAM,yBAAyB,MAAM;AAAA,EACrC,MAAM,qBAAqB,QAAS,GAAG;AAAA,IACtC,MAAM,MAAM,uBAAuB,KAAK,IAAI;AAAA,IAC5C,WAAW,GAAG;AAAA,IACd,mBAAmB,GAAG;AAAA,IAEtB,OAAO;AAAA;AAAA,EAGR,MAAM,yBAAyB,MAAM;AAAA,EACrC,MAAM,qBAAqB,QAAS,GAAG;AAAA,IACtC,MAAM,MAAM,uBAAuB,KAAK,IAAI;AAAA,IAC5C,WAAW,GAAG;AAAA,IACd,mBAAmB,GAAG;AAAA,IAEtB,OAAO;AAAA;AAAA,EAGR,OAAO;AAAA;AAAA;AAAA,EAxLR;AAAA,EAiBM,kBAAkB,OAAO,OAAO;AAAA,IACrC,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,OAAO;AAAA,IACP,GAAG;AAAA,IACH,GAAG;AAAA,IACH,MAAM,GAAG;AAAA,MACR,OAAO;AAAA;AAAA,EAET,CAAC;AAAA;;;ICzBK,oBAAoB,CAAC,mBAAoD;AAAA,EAC9E,IAAI;AAAA,IACH,MAAM,gBACL,eAAe;AAAA,IAChB,eAAe,cAAc;AAAA,IAC5B,OAAO,KAAK;AAAA,IACb,QAAQ,MAAM,uCAAuC,GAAG;AAAA;AAAA,GAIpD,kBAAkB,YAAY;AAAA,EAInC,8BAA8B;AAAA,EAM9B,MAAa,6BAAsB,mBAAmB;AAAA,EAItD,QAAQ,gCAAiB;AAAA,EACzB,MAAM,cAAa;AAAA,EAGnB,OAAO,iBAAiB,gBAAgB,QAAQ,QAAQ,MAAM,QAAQ,IAAI;AAAA,IAClE,6BAAsB,2BAA2B;AAAA,IACjD,6BAAsB,0BAA0B;AAAA,IAChD,6BAAsB,iBAAiB;AAAA,IACvC,6BAAsB,eAAe;AAAA,EAC7C,CAAC;AAAA,EAED,IAAI,OAAwC,CAE5C;AAAA,EAEA,kBAAkB,cAAc;AAAA,EAEhC,OAAO;AAAA,IACN,eAAe,OAAO;AAAA,IACtB,sBAAsB,gBAAgB;AAAA,IACtC,cAAc,gBAAgB;AAAA,IAC9B,yBAAyB,KAAK;AAAA,IAC9B,QAAQ,KAAK;AAAA,IACb,wBAAwB,gBAAgB;AAAA,IACxC,wBAAwB,eAAe;AAAA,IACvC,gCAAgC,KAAK;AAAA,IACrC,sBAAsB,KAAK;AAAA,IAC3B,mBAAmB,eAAe;AAAA,IAClC,SAAS,KAAK;AAAA,IACd,iBAAiB,KAAK;AAAA,IACtB,eAAe,KAAK;AAAA,IACpB,WAAW,KAAK;AAAA,IAChB,iBAAiB,KAAK;AAAA,IACtB,8BACC,gBAAgB;AAAA,EAClB;AAAA,GAGG,cAA2C,MAElC,iBAAiB,MAAM;AAAA,EACnC,IAAI,CAAC,aAAa;AAAA,IACjB,cAAc,gBAAgB;AAAA,EAC/B;AAAA,EAEA,OAAO;AAAA;AAAA;AAAA,EAxER;AAAA,EACA;AAAA;;;ICMa,+BAA+B,MAAM;AAAA,EACjD,MAAM,WAAW,WAAW;AAAA,EAC5B,IAAI,CAAC,UAAU;AAAA,IACd,MAAM,IAAI,MACT,+GACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAEK,2BAA2B,CACvC,aACI;AAAA,EACJ,WAAW,2BAA2B;AAAA;;;ACnBvC;AAAA,IAEa,wBAAwB,CACpC,MACA,SACA,gBACA,iBACI;AAAA,EACJ,EAAE,SAAS,KAAK,SAAS,UAAU,WAAW,KAAK;AAAA,EACnD,EAAE,SAAS,KAAK,iBAAiB,UAAU,kBAAkB,KAAK;AAAA,EAClE,EAAE,SAAS,KAAK,eAAe,UAAU,gBAAgB,KAAK;AAC/D;AAAA;;;ICMM,iBAEO,iBAAiB,CAAC,UAAkB,SAA0B;AAAA,EAC1E,MAAM,WAAW,SAAS,MAAM,GAAG,EAAE,MAAM;AAAA,EAC3C,gBAAgB,IAAI,UAAU,IAAI;AAAA,GAEtB,qBAAqB,CAAC,aAClC,gBAAgB,IAAI,QAAQ,GAIvB,eAEO,YAAY,CACxB,WACA,aACI;AAAA,EACJ,IAAI,CAAC,WAAW,MAAM;AAAA,IACrB,OAAO;AAAA,EACR;AAAA,EAEA,QAAQ,QAAQ,MAAM,iBAAiB,mBAAmB;AAAA,EAE1D,OAAO;AAAA,IACN,eAAe,QAAQ,iBAAiB,SAAS;AAAA,IACjD,sBACC,iBAAiB,wBACjB,SAAS;AAAA,IACV,cAAc,iBAAiB,gBAAgB,SAAS;AAAA,IACxD,yBACC,KAAK,2BAA2B,SAAS;AAAA,IAC1C,QAAQ,KAAK,UAAU,SAAS;AAAA,IAChC,wBACC,iBAAiB,0BACjB,SAAS;AAAA,IACV,wBACC,gBAAgB,0BAChB,SAAS;AAAA,IACV,gCAAgC,KAAK;AAAA,IACrC,sBAAsB,KAAK;AAAA,IAC3B,mBACC,gBAAgB,qBAAqB,SAAS;AAAA,IAC/C,SAAS,KAAK,WAAW,SAAS;AAAA,IAClC,iBAAiB,KAAK,mBAAmB,SAAS;AAAA,IAClD,eAAe,KAAK,iBAAiB,SAAS;AAAA,IAC9C,WAAW,KAAK;AAAA,IAChB,iBAAiB,KAAK;AAAA,IACtB,8BACC,iBAAiB,gCACjB,SAAS;AAAA,EACX;AAAA,GAEY,iBAAiB,CAC7B,MACA,WACA,YACA,UACA,SACA,gBACA,cACA,gBAAgE,CAAC,MAC7D;AAAA,EACJ,MAAM,YAAiD;AAAA,IACtD,KAAK,uBAAuB;AAAA,IAC5B,KAAK,uBACJ,KAAK,6BACJ,sCAAsC,CACvC,CACD;AAAA,IACA,KAAK,+BAA+B;AAAA,IACpC,EAAE,SAAS,KAAK,eAAe,UAAU,IAAI;AAAA,IAC7C;AAAA,MACC,SAAS,KAAK;AAAA,MACd,UAAU;AAAA,IACX;AAAA,IACA,EAAE,SAAS,KAAK,WAAW,UAAU,UAAU;AAAA,IAC/C,GAAG,sBAAsB,MAAM,SAAS,gBAAgB,YAAY;AAAA,IACpE,GAAG;AAAA,EACJ;AAAA,EAEA,IAAI,CAAC,YAAY;AAAA,IAChB,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,gBAAgB,OAAO,QAAQ,UAAU,EAC7C,IAAI,EAAE,UAAU,gBAAgB;AAAA,IAChC,OAAO,SAAS,IAAI,iBAAiB,QAAQ,CAAC;AAAA,IAC9C,OAAO;AAAA,EACR,EAAE,EACD,OAAO,CAAC,UAAU,MAAM,KAAK,EAC7B,IAAI,CAAC,WAAW,EAAE,SAAS,MAAM,OAAO,UAAU,MAAM,MAAM,EAAE;AAAA,EAElE,OAAO,CAAC,GAAG,WAAW,GAAG,aAAa;AAAA,GAE1B,qBAAqB,MAAM,cAAc,MAAM,GAEtD,mBAAmB,CAAC,UAAmB;AAAA,EAC5C,IAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AAAA,IACxC,OAAO;AAAA,EACR;AAAA,EAEA,OACC,oBAAoB,SAAS,MAAM,mBAAmB;AAAA,GAI3C,iBAAiB,CAAC,eAC9B,IAAI,IACH,OAAO,QAAQ,UAAU,EAAE,OAAO,IAAI,WACrC,iBAAiB,KAAK,CACvB,CACD,GACY,cAAc,OAAO,aAAqB;AAAA,EACtD,MAAM,eAAe,SAAS,MAAM,GAAG,EAAE,MAAM,UAAU,QACxD,SACA,cACD;AAAA,EAEA,IAAI;AAAA,IACH,MAAM,UAAU,MAAa;AAAA,IAE7B,MAAM,SAAwB;AAAA,MAC7B,QAAQ,QAAQ;AAAA,MAChB,MAAM,QAAQ;AAAA,MACd,iBAAiB,QAAQ;AAAA,MACzB,gBAAgB,QAAQ;AAAA,IACzB;AAAA,IAEA,OAAO;AAAA,IACN,MAAM;AAAA,IACP,OAAO;AAAA;AAAA,GAGI,kBAAkB,CAC9B,MACA,UACA,kBACI;AAAA,EACJ,MAAM,SAAS,cAAc,IAAI,QAAQ;AAAA,EACzC,IAAI,QAAQ;AAAA,IACX,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,WACL,KAAK,qBAAqB,aAAa,GAAG,YAAY;AAAA,EACvD,cAAc,IAAI,UAAU,QAAQ;AAAA,EAEpC,OAAO;AAAA,GAKF,oBAAoB,CAAC,MAAc,YAAoB;AAAA,EAC5D,IAAI,KAAK,SAAS,SAAS,GAAG;AAAA,IAC7B,OAAO,KAAK,QAAQ,WAAW,GAAG,gBAAgB;AAAA,EACnD;AAAA,EACA,IAAI,KAAK,SAAS,SAAS,GAAG;AAAA,IAC7B,OAAO,KAAK,QAAQ,WAAW,GAAG,gBAAgB;AAAA,EACnD;AAAA,EAEA,OAAO,OAAO;AAAA,GAKF,mBAAmB,CAC/B,MACA,WACA,WACA,UACI;AAAA,EACJ,IAAI,SAAS;AAAA,EAEb,MAAM,oBAAoB,yBAAyB,SAAS;AAAA,EAC5D,IAAI,kBAAkB,SAAS,GAAG;AAAA,IACjC,SAAS,kBACR,QACA,yBAAyB,iBAAiB,CAC3C;AAAA,EACD;AAAA,EAEA,IAAI,OAAO;AAAA,IACV,SAAS,kBACR,QACA,+CAA+C,KAAK,UAAU,KAAK,aACpE;AAAA,EACD;AAAA,EAEA,IAAI,WAAW;AAAA,IACd,MAAM,mBAAmB,KAAK,UAAU,SAAS;AAAA,IACjD,SAAS,kBACR,QACA,kBAAkB,6BACnB;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAEK,mBAAmB,OAC/B,MACA,eACA,WACA,WACA,MAAc,QACV;AAAA,EACJ,MAAM,YAAY,CAAC,YAClB,KAAK,qBAAqB,eAAe,EAAE,UAAU,GAAG,OAAO;AAAA,EAEhE,OAAO,6BAA6B,MACnC,KAAK,kBAAkB,WAAW;AAAA,IACjC;AAAA,IACA,mBAAmB,CAAC;AAAA,IACpB;AAAA,EACD,CAAC,CACF;AAAA,GAEY,+BAA+B,OAC3C,WACI;AAAA,EACJ,MAAM,UAAU,QAAQ;AAAA,EACxB,QAAQ,MAAM,IAAI,SAAoB;AAAA,IACrC,IACC,OAAO,KAAK,OAAO,YACnB,KAAK,GAAG,SAAS,kBAAkB,GAClC;AAAA,MACD;AAAA,IACD;AAAA,IACA,QAAQ,MAAM,SAAS,IAAI;AAAA;AAAA,EAG5B,IAAI;AAAA,IACH,OAAO,MAAM,OAAO;AAAA,YACnB;AAAA,IACD,QAAQ,MAAM;AAAA;AAAA;AAAA;AAAA,EApPhB;AAAA,EAKA;AAAA,EAMM,kBAAkB,IAAI;AAAA,EAWtB,gBAAgB,IAAI;AAAA;;;;;;;;;IC1BpB,wBAAwB,sBAEjB,2BAA2B,CAAC,cACxC,uBAEK,gCAAgC,CAAC,gBAA6B;AAAA,EACnE,MAAM,aAAa,YAAY;AAAA,EAC/B,IAAI,EAAE,sBAAsB,cAAc;AAAA,IACzC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,WAAW,WAAW,QAAQ,YAAY;AAAA,EAEhD,OAAO,SAAS,SAAS,IAAI,WAAW;AAAA,GAGnC,oCAAoC,CACzC,cACI;AAAA,EACJ,MAAM,WAAW,QAAQ,IAAI,WAAW,WAAK;AAAA,EAC7C,IAAI,OAAO,aAAa,YAAY,aAAa,MAAM;AAAA,IACtD,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,iBAAiB,QAAQ,IAAI,UAAU,WAAW;AAAA,EACxD,IAAI,CAAC,MAAM,QAAQ,cAAc,GAAG;AAAA,IACnC,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,sBAAsB;AAAA,EAC7B,IAAI,CAAC,MAAM,QAAQ,kBAAkB,GAAG;AAAA,IACvC,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,YAAY;AAAA,EAEnB,OAAO,OAAO,aAAa,YAAY,SAAS,SAAS,IACtD,WACA;AAAA,GAGE,yBAAyB,YAAY;AAAA,EAC1C,QAAQ,qBAAqB,mCAC5B,MAAa;AAAA,EACd,QAAQ,sBAAsB,MAAa;AAAA,EAC3C,MAAM,MAAM,MAAM,kBAAkB;AAAA,IACnC,WAAW,CAAC,+BAA+B,CAAC;AAAA,EAC7C,CAAC;AAAA,EACD,MAAM,sBAAsB,IAAI,SAAS,IAAI,mBAAmB;AAAA,EAEhE,OAAO,EAAE,KAAK,oBAAoB;AAAA,GAG/B,0BAGQ,MAEN,sBAAsB,YAAY;AAAA,EACvC,IAAI,CAAC,yBAAyB;AAAA,IAC7B,0BAA0B,uBAAuB;AAAA,EAClD;AAAA,EAEA,OAAO;AAAA,GAUF,sBAIA,oBAEA,wBAAwB,MAAM;AAAA,EACnC,MAAM,YAAY,gBAAgB;AAAA,EAClC,IAAI,CAAC,WAAW;AAAA,IACf,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,SAAS,mBAAmB,IAAI,SAAS;AAAA,EAC/C,IAAI,QAAQ;AAAA,IACX,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,cAAc,IAAI;AAAA,EACxB,mBAAmB,IAAI,WAAW,WAAW;AAAA,EAE7C,OAAO;AAAA,GAGF,6BAA6B,CAClC,WACA,cACI;AAAA,EACJ,MAAM,gBACL,OAAO,UAAU,SAAS,YAAY,UAAU,KAAK,SAAS,IAC3D,UAAU,OACV;AAAA,EAEJ,OAAO,GAAG,iBAAiB;AAAA,GAGtB,0BAA0B,CAC/B,WACA,UACI;AAAA,EACJ,MAAM,gBACL,OAAO,UAAU,SAAS,YAAY,UAAU,KAAK,SAAS,IAC3D,UAAU,OACV;AAAA,EAEJ,OAAO,GAAG,iBAAiB,KAAK,UAAU,KAAK;AAAA,GAG1C,oCAAoC,OACzC,WACA,UACA,eACI;AAAA,EACJ,QAAQ,WAAW,iCAAgB,WAAW,MAAa;AAAA,EAC3D,QAAQ,sBAAsB,MAAa;AAAA,EAC3C,MAAM,OAAO,MAAM,eAAe;AAAA,EAClC,MAAM,WAAW,yBAAyB,QAAQ;AAAA,EAClD,MAAM,aAAa,IAAI,gBACtB,GAAG,kBACJ;AAAA;AAAA,EAEA,MAAM,8BAA8B;AAAA,IACnC,YAAY;AAAA,IACZ,QAAQ,OAAO,UAAU;AAAA,EAC1B;AAAA,EAEA,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB,UAAU;AAAA,MAC3B,SAAS,CAAC,mBAAmB,SAAS;AAAA,MACtC;AAAA,MACA,YAAY;AAAA,MACZ,UACC;AAAA,IACF,CAAC,EAAE,6BAA6B;AAAA,EACjC;AAAA,GAGK,6BAA6B,OAClC,WACA,aACI;AAAA,EACJ,MAAM,aAAa,2BAA2B,WAAW,QAAQ;AAAA,EACjE,MAAM,SAAS,qBAAqB,IAAI,UAAU;AAAA,EAClD,IAAI,QAAQ;AAAA,IACX,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,kBAAkB,kCACvB,WACA,UACA,UACD;AAAA,EAEA,qBAAqB,IAAI,YAAY,eAAe;AAAA,EAEpD,OAAO;AAAA,GAGF,2BAA2B,CAAC,MAAc,aAAqB;AAAA,EACpE,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,QAAQ,KAAK,QAAQ,OAAO;AAAA,EAClC,IAAI,QAAQ,GAAG;AAAA,IACd,MAAM,IAAI,MAAM,uCAAuC,YAAY;AAAA,EACpE;AAAA,EAEA,MAAM,SAAS,KAAK;AAAA,EACpB,MAAM,MAAM,KAAK,QAAQ,QAAQ,KAAK;AAAA,EACtC,IAAI,MAAM,GAAG;AAAA,IACZ,MAAM,IAAI,MAAM,wCAAwC,YAAY;AAAA,EACrE;AAAA,EAEA,OAAO,KAAK,MAAM,OAAO,MAAM,OAAO,MAAM;AAAA,GAGhC,qBAAqB,OACjC,WACA,SACA,OACA,aACI;AAAA,EACJ,MAAa;AAAA,EACb,QAAQ,iBAAiB,iBAAiB,MAAa;AAAA,EACvD,MAAM,WAAW,yBAAyB,QAAQ;AAAA,EAClD,QAAQ,KAAK,wBAAwB,MAAM,oBAAoB;AAAA,EAE/D,IAAI,cAAc,QAAQ,cAAc,QAAQ;AAAA,EAChD,IAAI,EAAE,uBAAuB,cAAc;AAAA,IAC1C,QAAQ,YAAY,IAAI,cAAc;AAAA,IACtC,cAAc,QAAQ,cAAc,QAAQ;AAAA,EAC7C;AAAA,EACA,IAAI,EAAE,uBAAuB;AAAA,IAAc,OAAO;AAAA,EAElD,MAAM,oBACL,kCAAkC,SAAS,KAC3C,8BAA8B,WAAW;AAAA,EAC1C,IAAI,CAAC;AAAA,IAAmB,OAAO;AAAA,EAE/B,YAAY,YAAY,IAAI,uBAAuB;AAAA,EACnD,MAAM,cAAc,YAAY,cAAc,iBAAiB;AAAA,EAC/D,IAAI,EAAE,uBAAuB;AAAA,IAAc,OAAO;AAAA,EAElD,MAAM,WAAW,OAAO,QAAQ,KAAK,EAAE,IAAI,EAAE,KAAK,WACjD,aAAa,KAAK,MAAM,KAAK,CAC9B;AAAA,EACA,MAAM,eAAe,gBAAgB,WAAW;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EACD,IAAI,WAAW,aAAa,QAAQ;AAAA,EACpC,aAAa,kBAAkB,cAAc;AAAA,EAC7C,OAAO,gCAAgC,CAAC;AAAA,EACxC,OAAO,4BAA4B,KAAK,GAAG;AAAA,EAE3C,OAAO;AAAA,GAEK,4BAA4B,OAGxC,WACA,OACA,aACI;AAAA,EACJ,MAAM,eAAe,sBAAsB;AAAA,EAC3C,MAAM,iBAAiB,wBAAwB,WAAW,KAAK;AAAA,EAC/D,MAAM,aAAa,cAAc,IAAI,cAAc;AAAA,EACnD,IAAI,YAAY;AAAA,IACf,OAAO;AAAA,EACR;AAAA,EAEA,QAAQ,MAAM,YAAY,UAAU,qBACnC,MAAM,2BAA2B,WAAW,QAAQ;AAAA,EAErD,MAAM,YAGA;AAAA,IACL,KAAK,uBAAuB;AAAA,IAC5B,KAAK,+BAA+B;AAAA,IACpC,EAAE,SAAS,KAAK,eAAe,UAAU,IAAI;AAAA,IAC7C,EAAE,SAAS,YAAY,UAAU,MAAM;AAAA,EACxC;AAAA,EACA,MAAM,YAAW,+BAA+B,cAAc;AAAA,EAC9D,MAAM,OAAO,MAAM,6BAA6B,MAC/C,KAAK,kBACJ,CAAC,YACA,KAAK,qBACJ,kBACA,EAAE,UAAU,GACZ,OACD,GACD;AAAA,IACC;AAAA,IACA,mBAAmB,CAAC;AAAA,IACpB,KAAK;AAAA,EACN,CACD,CACD;AAAA,EACA,MAAM,aAAa,yBAAyB,MAAM,QAAQ;AAAA,EAC1D,cAAc,IAAI,gBAAgB,UAAU;AAAA,EAE5C,OAAO;AAAA;AAAA;AAAA,EAxRR;AAAA,EACA;AAAA,EACA;AAAA,EA2EM,uBAAuB,IAAI;AAAA,EAI3B,qBAAqB,IAAI;AAAA;;;IC9EzB,oCAAoC,OACzC,WACA,OACA,aACI;AAAA,EACJ,QAAQ,0DAA8B;AAAA,EAEtC,OAAO,2BAA0B,WAAW,OAAO,QAAQ;AAAA,GAE/C,4BACA,0BAA0B,CACtC,WACA,UAEO,gBAAS,KAAK,GAAG,oBAChB,2BAAoB,KAAK,GAAG,2BAClC,qBAAqB,cAAc,WAAW,KAAK,CAAC,CACrD,CACD,GACY,2BAA2B,CACvC,WACA,UAEO,wBAAiB,KAAK,GAAG,aAAa;AAAA,EAC5C,QAAQ,SAAS,OAAO,WAAW,EAAE,MAAM,CAAC;AAAA,EAE5C,OAAO;AAAA,CACP,GACW,wBAAwB,CACpC,WACA,UAEO,cAAO,KAAK,GAAG,cAAc,GAAG,qBAAqB;AAAA,EAC3D,MAAM,MAAM,aAAa;AAAA,IACxB,QAAQ,MAAM,eAAe,WAAW,KAAK;AAAA,EAC9C,CAAC;AAAA,EAED,OAAc,8BAAuB,KAAK,GAAG,qBAC5C,eAAe,GAAG,CACnB;AAAA,CACA;AAAA;AAAA,EA/BW,6BAA4B;AAAA;;;ACZzC,oBAAS,kBAAS;AAClB,uBAAS,6BAAY;AAAA,IAUf,oBAAoB,CACzB,OACA,eACI;AAAA,EACJ,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EACtC,IAAI,CAAC,SAAS,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EAEhD,WAAW,aAAa,YAAY;AAAA,IACnC,MAAM,SAAS,QAAQ,IAAI,OAAO,SAAS;AAAA,IAC3C,IAAI,OAAO,WAAW,UAAU;AAAA,MAC/B,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGK,uBAAuB,CACnC,WACA,aAAiC,CAAC,QAAQ,MACtC;AAAA,EAEJ,IAAI,UAAU,WAAW,GAAG,KAAK,UAAU,WAAW,GAAG;AAAA,IAAG,OAAO;AAAA,EAGnE,MAAM,QAAQ,UAAU,MAAM,GAAG;AAAA,EACjC,MAAM,WAAW,UAAU,WAAW,GAAG;AAAA,EACzC,MAAM,cAAc,WAAW,GAAG,MAAM,MAAM,MAAM,OAAO,MAAM;AAAA,EACjE,MAAM,UAAU,WAAW,MAAM,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,MAAM,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EAC7E,MAAM,YAAY,UAAU,KAAK,YAAY;AAAA,EAE7C,MAAM,yBAAyB,SAAQ,QAAQ,IAAI,GAAG,cAAc;AAAA,EACpE,MAAM,qBAAqB,YAAW,sBAAsB,IACzD,KAAK,MAAM,cAAa,wBAAwB,OAAO,CAAC,IACxD;AAAA,EACH,MAAM,oBACL,oBAAoB,SAAS,cAAc,QAAQ,IAAI,IAAI;AAAA,EAC5D,MAAM,aACL,qBAAqB,SAAQ,QAAQ,IAAI,GAAG,gBAAgB,eAAe,EAAE;AAAA,EAC9E,MAAM,kBAAkB,MAAK,YAAY,cAAc;AAAA,EAEvD,IAAI,CAAC,YAAW,eAAe;AAAA,IAAG,OAAO;AAAA,EAEzC,IAAI;AAAA,IACH,MAAM,cACL,qBAAqB,qBAClB,qBACA,KAAK,MAAM,cAAa,iBAAiB,OAAO,CAAC;AAAA,IACrD,QAAO,YAAW;AAAA,IAElB,IAAI,CAAC;AAAA,MAAS,OAAO;AAAA,IAGrB,MAAM,QAAQ,QAAQ;AAAA,IAEtB,IAAI,CAAC;AAAA,MAAO,OAAO;AAAA,IAEnB,MAAM,aAAa,kBAAkB,OAAO,UAAU;AAAA,IAEtD,IAAI,CAAC;AAAA,MAAY,OAAO;AAAA,IAExB,IAAI,qBAAqB,WAAW,WAAW,SAAS,GAAG;AAAA,MAC1D,MAAM,kBAAkB,SACvB,YACA,WAAW,QAAQ,eAAe,QAAQ,CAC3C;AAAA,MACA,IAAI,YAAW,eAAe,GAAG;AAAA,QAChC,OAAO;AAAA,MACR;AAAA,IACD;AAAA,IAEA,MAAM,WAAW,SAAQ,YAAY,UAAU;AAAA,IAE/C,OAAO,YAAW,QAAQ,IAAI,WAAW;AAAA,IACxC,MAAM;AAAA,IACP,OAAO;AAAA;AAAA;AAAA;;;ICpFH,eAEA,0BAA0B,CAAC,MAAc,eAAuB;AAAA,EACrE,IAAI,QAAQ;AAAA,EACZ,SAAS,QAAQ,WAAY,QAAQ,KAAK,QAAQ,SAAS,GAAG;AAAA,IAC7D,MAAM,OAAO,KAAK;AAAA,IAClB,IAAI,SAAS;AAAA,MAAK,SAAS;AAAA,IAC3B,IAAI,SAAS;AAAA,MAAK,SAAS;AAAA,IAC3B,IAAI,UAAU,GAAG;AAAA,MAChB,OAAO,KAAK,MAAM,aAAa,GAAG,KAAK,EAAE,KAAK;AAAA,IAC/C;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGF,yBAAyB,CAAC,iBAAyB,SAAiB;AAAA,EACzE,MAAM,cAAc,gBAAgB,MACnC,IAAI,OAAO,MAAM,+BAA+B,CACjD;AAAA,EACA,IAAI,cAAc,IAAI;AAAA,IACrB,OAAO,EAAE,YAAY,KAAK,UAAU,YAAY,EAAE,GAAG,OAAO,KAAK;AAAA,EAClE;AAAA,EAEA,MAAM,iBAAiB,gBAAgB,OACtC,IAAI,OAAO,MAAM,kBAAkB,CACpC;AAAA,EACA,IAAI,iBAAiB,GAAG;AAAA,IACvB,OAAO,EAAE,YAAY,IAAI,OAAO,MAAM;AAAA,EACvC;AAAA,EAEA,MAAM,aAAa,gBAAgB,QAAQ,KAAK,cAAc;AAAA,EAC9D,IAAI,aAAa,GAAG;AAAA,IACnB,OAAO,EAAE,YAAY,IAAI,OAAO,MAAM;AAAA,EACvC;AAAA,EAEA,MAAM,aAAa,wBAAwB,iBAAiB,UAAU;AAAA,EACtE,IAAI,eAAe,MAAM;AAAA,IACxB,OAAO,EAAE,YAAY,IAAI,OAAO,MAAM;AAAA,EACvC;AAAA,EAEA,OAAO,EAAE,YAAY,OAAO,KAAK;AAAA,GAGrB,0BAA0B,CACtC,QACA,QAA6B,aACzB;AAAA,EACJ,IAAI,CAAC,OAAO,SAAS,SAAS,GAAG;AAAA,IAChC,OAAO,EAAE,MAAM,QAAQ,aAAa,MAAM;AAAA,EAC3C;AAAA,EAEA,IAAI,cAAc;AAAA,EAClB,MAAM,oBAAoB,OAAO,QAChC,eACA,CAAC,WAAW,oBAA4B;AAAA,IACvC,MAAM,YAAY,uBACjB,iBACA,WACD;AAAA,IACA,MAAM,YAAY,uBACjB,iBACA,WACD;AAAA,IACA,IAAI,CAAC,UAAU,SAAS,CAAC,UAAU,OAAO;AAAA,MACzC,OAAO;AAAA,IACR;AAAA,IAEA,MAAM,UAAU,uBAAuB,iBAAiB,SAAS;AAAA,IACjE,MAAM,QAAQ,uBAAuB,iBAAiB,OAAO;AAAA,IAC7D,MAAM,SAAS,0BAA0B,YAAY,SAAS,aAAa;AAAA,IAC3E,eAAe;AAAA,IAEf,MAAM,oBAAoB,qCAAqC,KAAK,UACnE,MACD,mBAAmB,UAAU,0BAA0B,UAAU,wBAChE,QAAQ,QAAQ,QAAQ,aAAa,KAAK,UAAU,MAAM,aAC/C,MAAM,QAAQ,MAAM,aAAa;AAAA,IAE7C,OAAO,mCAAmC,4CAA4C;AAAA,GAExF;AAAA,EAEA,MAAM,aACL;AAAA,EAED,IAAI,kBAAkB,SAAS,SAAS,GAAG;AAAA,IAC1C,OAAO;AAAA,MACN,MAAM,kBAAkB,QACvB,sBACA,CAAC,UAAU,GAAG;AAAA,EAAU;AAAA,CACzB;AAAA,MACA,aAAa;AAAA,IACd;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,MAAM;AAAA,EAAuB;AAAA;AAAA,EAA0B;AAAA,IACvD,aAAa;AAAA,EACd;AAAA;AAAA;AAAA,EArGD;AAAA,EAEM,gBAAgB;AAAA;;;ICAhB,gBAGA,wBAAwB,CAAC,UAC9B,MACE,WAAW,MAAM,MAAM,EACvB,WAAW,KAAK,KAAK,EACrB,WAAW,MAAM,MAAM,GAEpB,0BAA0B,CAAC,WAAmB;AAAA,EACnD,MAAM,UAAU,sBAAsB,OAAO,KAAK,CAAC;AAAA,EACnD,MAAM,kBAAkB,QAAQ,QAC/B,iBACA,CAAC,GAAG,eAAe,MAAM,OAAO,UAAU,EAAE,KAAK,IAClD;AAAA,EAEA,OAAO,KAAK;AAAA,GAGA,6BAA6B,CAAC,WAAmB;AAAA,EAC7D,IAAI,CAAC,OAAO,SAAS,SAAS,GAAG;AAAA,IAChC,OAAO,EAAE,MAAM,QAAQ,aAAa,MAAM;AAAA,EAC3C;AAAA,EAEA,IAAI,aAAa;AAAA,EACjB,IAAI,cAAc;AAAA,EAClB,MAAM,UAAU,OAAO,QACtB,gBACA,CACC,WACA,iBACA,eACA,gBACA,YACA,iBACA,gBACI;AAAA,IACJ,MAAM,yBAAyB,gBAAgB,KAAK;AAAA,IACpD,IAAI,CAAC,wBAAwB;AAAA,MAC5B,OAAO;AAAA,IACR;AAAA,IAEA,MAAM,SAAS,yBAAyB,WAAW,SAAS,aAAa;AAAA,IACzE,cAAc;AAAA,IACd,cAAc;AAAA,IAEd,MAAM,sBACL,gBAAgB,KAAK,KAAK;AAAA,IAC3B,MAAM,uBACL,iBAAiB,KAAK,KAAK;AAAA,IAC5B,MAAM,eAAe,wBAAwB,aAAa;AAAA,IAC1D,MAAM,eAAe,wBAAwB,UAAU;AAAA,IACvD,MAAM,eACL,OAAO,gBAAgB,WACpB,wBAAwB,WAAW,IACnC;AAAA,IACJ,MAAM,cAAc,eACjB,UAAU,kCAAkC,oBAC5C;AAAA,IAEH,OAAO,0BAA0B,yBAAyB,oDAAoD,gCAAgC,mCAAmC,mBAAmB;AAAA,GAEtM;AAAA,EAEA,IAAI,CAAC,aAAa;AAAA,IACjB,OAAO,EAAE,MAAM,QAAQ,aAAa,MAAM;AAAA,EAC3C;AAAA,EAEA,MAAM,aACL;AAAA,EAED,IAAI,QAAQ,SAAS,SAAS,GAAG;AAAA,IAChC,OAAO;AAAA,MACN,MAAM,QAAQ,QACb,sBACA,CAAC,UAAU,GAAG;AAAA,EAAU;AAAA,CACzB;AAAA,MACA,aAAa;AAAA,IACd;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,MAAM;AAAA,EAAuB;AAAA;AAAA,EAA0B;AAAA,IACvD,aAAa;AAAA,EACd;AAAA;AAAA;AAAA,EAtFD;AAAA,EAEM,iBACL;AAAA;;;;;;;;;;;;;;;;;;ACHD,uBAAS,6BAAY;AACrB;AACA;AACA,oBAAS,uCAA8B,4BAAgB;AACvD;AAAA,IAUM,uBACA,yBACA,gCACA,wBACA,oBAIA,qBAIA,gBAEO,4BAA4B,CAAC,aACzC,wBAAwB,KAAK,QAAQ,GAEzB,oBAAoB,CAAC,aACjC,+BAA+B,KAAK,QAAQ,GAEhC,cAAc,CAAC,aAC3B,qCAAqC,KAAK,QAAQ,GAEtC,mBAAmB,CAAC,aAChC,SAAS,QAAQ,sCAAsC,EAAE,GAEpD,mBAAmB,CAAC,uBAA+B;AAAA,EACxD,MAAM,aAAa,mBAAmB,YAAY;AAAA,EAClD,IAAI,eAAe,UAAU,WAAW,SAAS,OAAO;AAAA,IAAG,OAAO;AAAA,EAClE,IAAI,eAAe,UAAU,WAAW,SAAS,OAAO;AAAA,IAAG,OAAO;AAAA,EAClE,IAAI,eAAe,UAAU,WAAW,SAAS,OAAO;AAAA,IAAG,OAAO;AAAA,EAClE,IACC,eAAe,UACf,eAAe,YACf,WAAW,SAAS,OAAO,KAC3B,WAAW,SAAS,SAAS;AAAA,IAE7B,OAAO;AAAA,EAER,OAAO;AAAA,GAGF,yBAAyB,CAAC,MAAc,aAC7C,IAAI,MACH,qBAAqB,0CAA0C,4CAChE,GAEK,0BAA0B,CAAI,cAAsB;AAAA,EACzD,IAAI;AAAA,IACH,OAAO,eAAe,SAAS;AAAA,IAC9B,MAAM;AAAA,IACP,OAAO,oBAAuB,SAAS;AAAA;AAAA,GAInC,qBAAqB,CAAC,UAAkB,QAAkB,CAAC,MAAM;AAAA,EACtE,SAAQ,QAAQ;AAAA,EAChB,QAAQ,IAAI;AAAA,EACZ,GAAG,MAAM,IAAI,CAAC,SAAS,SAAQ,QAAQ,IAAI,GAAG,IAAI,CAAC;AACpD,GASI,oBAIE,oBAAoB,CAAC,WAC1B,OACE,QAAQ,qBAAqB,EAAE,EAC/B,QAAQ,qBAAqB,IAAI,GAE9B,wBAAwB,CAC7B,YAEA,OAAO,QAAQ,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,YAAY;AAAA,EACxD;AAAA,EACA,cAAc,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AACpD,EAAE,GAEG,sBAAsB,MAAM;AAAA,EACjC,MAAM,MAAM,QAAQ,IAAI;AAAA,EACxB,IAAI,oBAAoB,QAAQ;AAAA,IAAK,OAAO;AAAA,EAE5C,MAAM,eAAe,SAAQ,KAAK,eAAe;AAAA,EACjD,MAAM,QAAQ,EAAE,SAAS,CAAC,GAAG,SAAS,KAAK,IAAI;AAAA,EAC/C,IAAI,CAAC,YAAW,YAAY,GAAG;AAAA,IAC9B,qBAAqB;AAAA,IACrB,OAAO;AAAA,EACR;AAAA,EAEA,IAAI;AAAA,IACH,MAAM,SAAS,KAAK,MAAM,kBAAkB,cAAa,cAAc,OAAO,CAAC,CAAC;AAAA,IAChF,MAAM,kBAAkB,OAAO,mBAAmB,CAAC;AAAA,IACnD,MAAM,UAAU,SAAQ,KAAK,gBAAgB,WAAW,GAAG;AAAA,IAC3D,qBAAqB;AAAA,MACpB,SAAS,sBAAsB,gBAAgB,KAAK;AAAA,MACpD;AAAA,MACA;AAAA,IACD;AAAA,IACC,MAAM;AAAA,IACP,qBAAqB;AAAA;AAAA,EAGtB,OAAO;AAAA,GAGF,kBAAkB,CAAC,WAAgD;AAAA,EACxE,MAAM,WAAW,oBAAoB;AAAA,EACrC,OAAO;AAAA,IACN,SAAS,CAAC,GAAG,sBAAsB,QAAQ,OAAO,GAAG,GAAG,SAAS,OAAO;AAAA,IACxE,SAAS,SAAS;AAAA,EACnB;AAAA,GAGK,uBAAuB,CAAC,YAC7B,IAAI,OACH,IAAI,QACF,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,QAAQ,uBAAuB,MAAM,CAAC,EACzD,KAAK,MAAM,IACd,GAEK,sBAAsB,CAC3B,WACA,WACI;AAAA,EACJ,QAAQ,SAAS,YAAY,gBAAgB,MAAM;AAAA,EACnD,MAAM,UAAoB,CAAC;AAAA,EAE3B,WAAW,SAAS,SAAS;AAAA,IAC5B,MAAM,QAAQ,UAAU,MAAM,qBAAqB,MAAM,OAAO,CAAC;AAAA,IACjE,IAAI,CAAC;AAAA,MAAO;AAAA,IACZ,MAAM,WAAW,MAAM,MAAM;AAAA,IAC7B,WAAW,eAAe,MAAM,cAAc;AAAA,MAC7C,QAAQ,KAAK,SAAQ,SAAS,YAAY,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAAA,IAClE;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGF,wBAAwB,CAAC,aAA4B;AAAA,EAC1D,IAAI,aAAa;AAAA,IAAQ,OAAO,CAAC,SAAS,MAAM;AAAA,EAChD,IAAI,aAAa;AAAA,IAAU,OAAO,CAAC,SAAS,WAAW,MAAM;AAAA,EAC7D,OAAO,CAAC,SAAS,SAAS,MAAM;AAAA,GAG3B,oBAAoB,CAAC,UAAkB,aAA4B;AAAA,EACxE,MAAM,MAAM,QAAQ,QAAQ;AAAA,EAC5B,MAAM,QAAQ,MACX,CAAC,QAAQ,IACT,sBAAsB,QAAQ,EAAE,QAAQ,CAAC,cAAc;AAAA,IACvD,GAAG,WAAW;AAAA,IACd,MAAK,UAAU,QAAQ,WAAW;AAAA,EACnC,CAAC;AAAA,EAEH,IAAI,aAAa,UAAU,aAAa,QAAQ;AAAA,IAC/C,OAAO,MAAM,QAAQ,CAAC,SAAS;AAAA,MAC9B,MAAM,MAAM,SAAQ,IAAI;AAAA,MACxB,MAAM,OAAO,KAAK,MAAM,IAAI,SAAS,CAAC;AAAA,MACtC,OAAO,CAAC,MAAM,MAAK,KAAK,IAAI,MAAM,CAAC;AAAA,KACnC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,GAGF,oBAAoB,CACzB,WACA,eACA,WACA,UACA,WACI;AAAA,EACJ,MAAM,gBAAgB;AAAA,IACrB,GAAG,oBAAoB,WAAW,MAAM;AAAA,IACxC,WAAW,SAAS,IAAI,YAAY,SAAQ,eAAe,SAAS;AAAA,IACpE,GAAG,UAAU,IAAI,CAAC,SAAS,SAAQ,MAAM,SAAS,CAAC;AAAA,EACpD;AAAA,EAEA,WAAW,aAAa,cAAc,QAAQ,CAAC,SAC9C,kBAAkB,MAAM,QAAQ,CACjC,GAAG;AAAA,IACF,IAAI,YAAW,SAAS;AAAA,MAAG,OAAO;AAAA,EACnC;AAAA,EAEA,OAAO;AAAA,GAGF,mBAAmB,CAAC,QACzB,qCAAqC,KAAK,GAAG,GAExC,cAAc,CAAC,QAAgB;AAAA,EACpC,MAAM,cAAc,IAAI,OAAO,MAAM;AAAA,EACrC,IAAI,gBAAgB;AAAA,IAAI,OAAO,EAAE,QAAQ,IAAI,MAAM,IAAI;AAAA,EACvD,OAAO;AAAA,IACN,QAAQ,IAAI,MAAM,WAAW;AAAA,IAC7B,MAAM,IAAI,MAAM,GAAG,WAAW;AAAA,EAC/B;AAAA,GAGK,gBAAgB,CACrB,UACA,YACA,cACI;AAAA,EACJ,MAAM,YAAY,SAAQ,UAAU;AAAA,EACpC,MAAM,WAAW,SAAQ,SAAS;AAAA,EAClC,IAAI,cAAc;AAAA,IAAU,OAAO;AAAA,EAEnC,OAAO,SAAS,QACf,qCACA,CAAC,OAAO,OAAe,WAAmB;AAAA,IACzC,MAAM,aAAa,OAAO,KAAK;AAAA,IAC/B,IAAI,CAAC,cAAc,iBAAiB,UAAU;AAAA,MAAG,OAAO;AAAA,IACxD,QAAQ,QAAQ,SAAS,YAAY,UAAU;AAAA,IAC/C,MAAM,UAAU,SACf,UACA,SAAQ,WAAW,IAAI,CACxB,EAAE,QAAQ,OAAO,GAAG;AAAA,IACpB,MAAM,aAAa,QAAQ,WAAW,GAAG,IAAI,UAAU,KAAK;AAAA,IAC5D,MAAM,YAAY,SAAS;AAAA,IAC3B,OAAO,OAAO,YAAY,aAAa,SAAS;AAAA,GAElD;AAAA,GAGK,6BAA6B,CAClC,UACA,YACA,WACA,UACA,WAEA,SAAS,QACR,yDACA,CAAC,OAAO,QAAgB,OAAe,cAAsB;AAAA,EAC5D,IACC,UAAU,WAAW,GAAG,KACxB,WAAW,SAAS,KACpB,iBAAiB,SAAS;AAAA,IAE1B,OAAO;AAAA,EAER,MAAM,WAAW,kBAChB,WACA,SAAQ,UAAU,GAClB,WACA,UACA,MACD;AAAA,EACA,OAAO,WAAW,GAAG,SAAS,QAAQ,WAAW,UAAU;AAAA,CAE7D,GAEK,wBAAwB,CAC7B,UACA,YACA,WACA,YAAsB,CAAC,GACvB,UACA,WACI;AAAA,EACJ,MAAM,UAAU,cAAc,UAAU,YAAY,SAAS;AAAA,EAC7D,OAAO,WACJ,2BACA,SACA,YACA,WACA,UACA,MACD,IACC;AAAA,GAGE,0BAA0B,CAAC,QAAgB;AAAA,EAChD,MAAM,UAAkC,CAAC;AAAA,EACzC,MAAM,UAAU,IAAI,QAAQ,0BAA0B,CAAC,GAAG,SAAiB;AAAA,IAC1E,WAAW,eAAe,KAAK,MAAM,GAAG,GAAG;AAAA,MAC1C,MAAM,YAAY,YAAY,QAAQ,GAAG;AAAA,MACzC,IAAI,cAAc;AAAA,QAAI;AAAA,MACtB,MAAM,MAAM,YAAY,MAAM,GAAG,SAAS,EAAE,KAAK;AAAA,MACjD,MAAM,QAAQ,YAAY,MAAM,YAAY,CAAC,EAAE,KAAK;AAAA,MACpD,IAAI,OAAO;AAAA,QAAO,QAAQ,OAAO;AAAA,IAClC;AAAA,IACA,OAAO;AAAA,GACP;AAAA,EAED,OAAO,EAAE,KAAK,SAAS,QAAQ;AAAA,GAG1B,iBAAiB,CACtB,QACA,cAC8B;AAAA,KAC1B,QAAQ,QAAQ,CAAC;AAAA,KACjB,aAAa,SAAU,QAAQ,QAAQ,CAAC,IAAK,CAAC;AACnD,IAEM,iBAAiB,CACtB,WAC6B,QAAQ,QAAQ,CAAC,GAEzC,mBAAmB,CACxB,WAC+B,QAAQ,UAAU,CAAC,GAEtC,6BAA6B,CACzC,oBACA,YAEA,YAAY,YACT,qBACA,KAAM,sBAAsB,CAAC,GAAI,QAAQ,GAEvC,qBAAqB,CAC1B,UACA,mBACK,iBAAiB,GAAG;AAAA,EAAmB,aAAa,UAOpD,yBAAyB,CAAC,QAAiB;AAAA,EAChD,IAAI,OAAO,OAAO,QAAQ,YAAY,aAAa,KAAK;AAAA,IACvD,OAAQ,IAA8B,WAAW;AAAA,EAClD;AAAA,EAEA,OAAO;AAAA,GAGF,wBAAwB,OAC7B,eACmC;AAAA,EACnC,MAAM,WAAW,SAAQ,QAAQ,IAAI,GAAG,UAAU;AAAA,EAClD,MAAM,SAAS,SAAS,SAAS,MAAM,KAAK,SAAS,SAAS,MAAM,IACjE,wBAAiC,QAAQ,IACzC,MAAM,mBACN,GAAG,IAAI,IAAI,UAAU,UAAU,EAAE,UAAU,KAAK,IAAI,GACrD;AAAA,EACF,MAAM,SAAS,uBAAuB,MAAM;AAAA,EAC5C,MAAM,QACL,OAAO,WAAW,aACf,MAAO,OAGQ;AAAA,IACf,KAAK,QAAQ,IAAI;AAAA,IACjB,KAAK;AAAA,EACN,CAAC,IACA;AAAA,EAEJ,OAAQ,uBAAuB,KAAK,KAAK,CAAC;AAAA,GAGrC,0BAA0B,CAAC,YAA6D;AAAA,EAC7F,IAAI,CAAC;AAAA,IAAS,OAAO,CAAC;AAAA,EACtB,IAAI,MAAM,QAAQ,OAAO;AAAA,IAAG,OAAO,QAAQ,OAAO,OAAO;AAAA,EAEzD,MAAM,WAAsB,CAAC;AAAA,EAC7B,YAAY,WAAW,YAAY,OAAO,QAAQ,OAAO,GAAG;AAAA,IAC3D,IAAI,YAAY;AAAA,MAAO;AAAA,IACvB,MAAM,MAAM,uBAAuB,wBAAiC,SAAS,CAAC;AAAA,IAC9E,MAAM,SACL,OAAO,QAAQ,aACX,IACD,YAAY,OAAO,YAAY,OAChC,IACC;AAAA,IACJ,IAAI;AAAA,MAAQ,SAAS,KAAK,MAAM;AAAA,EACjC;AAAA,EAEA,OAAO;AAAA,GAGF,uBAAuB,OAC5B,WACI;AAAA,EACJ,MAAM,eAAe,QAAQ;AAAA,EAC7B,IAAI,CAAC;AAAA,IAAc,OAAO;AAAA,EAE1B,MAAM,aAAa,aAAa,SAC7B,MAAM,sBAAsB,aAAa,MAAM,IAC/C,CAAC;AAAA,EACJ,MAAM,UAAU;AAAA,IACf,GAAG,wBAAwB,WAAW,OAAO;AAAA,IAC7C,GAAG,wBAAwB,aAAa,OAAO;AAAA,EAChD;AAAA,EAEA,IAAI,QAAQ,WAAW;AAAA,IAAG,OAAO;AAAA,EAEjC,OAAO;AAAA,IACN,SAAS;AAAA,SACJ,WAAW,WAAW,CAAC;AAAA,SACvB,aAAa,WAAW,CAAC;AAAA,IAC9B;AAAA,IACA;AAAA,EACD;AAAA,GAGK,aAAa,OAClB,KACA,UACA,WACI;AAAA,EACJ,MAAM,gBAAgB,MAAM,qBAAqB,MAAM;AAAA,EACvD,IAAI,CAAC;AAAA,IAAe,OAAO;AAAA,EAE3B,IAAI;AAAA,EAGJ,IAAI;AAAA,IACH,gBAAgB,MAAM,mBAAyC,SAAS;AAAA,IACvE,MAAM;AAAA,IACP,MAAM,uBAAuB,WAAW,QAAQ;AAAA;AAAA,EAEjD,MAAM,UAAU,cAAc,WAAW;AAAA,EACzC,MAAM,SAAS,MAAM,QACpB,cAAc,OACf,EAAE,QAAQ,KAAK;AAAA,IACd,MAAM;AAAA,IACN,KAAK;AAAA,OACF,cAAc;AAAA,EAClB,CAAC;AAAA,EAED,OAAO,OAAO;AAAA,GAGT,qBAAqB,CAC1B,WACA,WACA,UACA,YACK;AAAA,EACL,YAAY,CAAC,WAAmB,SAAyC;AAAA,IACxE,MAAM,gBAAgB,QAAQ,gBAC3B,SAAQ,cAAc,QAAQ,aAAa,CAAC,IAC5C,SAAQ,SAAS;AAAA,IACpB,MAAM,WAAW,kBAChB,WACA,eACA,WACA,UACA,MACD;AAAA,IACA,OAAO,WAAW,IAAI,IAAI,UAAU,UAAU,IAAI;AAAA;AAAA,EAEnD,IAAI,CAAC,cAAmB;AAAA,IACvB,MAAM,WAAW,cAAc,YAAY;AAAA,IAC3C,MAAM,eAAe,iBAAiB,QAAQ;AAAA,IAC9C,IACC,iBAAiB,UACjB,iBAAiB,UACjB,iBAAiB;AAAA,MAEjB,OAAO;AAAA,IAER,OAAO;AAAA,MACN,UAAU,sBACT,cAAa,UAAU,OAAO,GAC9B,UACA,WACA,WACA,UACA,MACD;AAAA,MACA,QAAQ,SAAS,SAAS,OAAO,IAC7B,aACA;AAAA,IACL;AAAA;AAEF,IAEM,wBAAwB,CAC7B,WACA,WACA,YACK;AAAA,EACL,OAAO,CAAC,MAA0D,eAA2D;AAAA,IAC5H,MAAM,cAAc,IAAI,KAAK;AAAA,IAC7B,MAAM,UAAU,OAAO,OAAO,WAAW;AAAA,IACzC,QAAQ,WAAW,CAAC,UAAkB,qBACrC,QACC,kBACC,UACA,SAAQ,gBAAgB,GACxB,WACA,QACA,MACD,CACD;AAAA,IACD,QAAQ,WAAW,OAAO,UAAkB,qBAA6B;AAAA,MACxE,MAAM,WAAW,kBAChB,UACA,SAAQ,gBAAgB,GACxB,WACA,QACA,MACD;AAAA,MACA,IAAI,CAAC,UAAU;AAAA,QACd,MAAM,IAAI,MAAM,kCAAkC,WAAW;AAAA,MAC9D;AAAA,MAEA,OAAO;AAAA,QACN,UAAU,sBACT,MAAM,SAAS,UAAU,OAAO,GAChC,UACA,WACA,WACA,QACA,MACD;AAAA,QACA,UAAU;AAAA,MACX;AAAA;AAAA,IAED,cAAc,eAAe,OAAO;AAAA;AAEtC,IAEM,eAAe,OACpB,UACA,UACA,WACA,YACI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,IACH,MAAM,eAAe,MAAM,mBAEzB,QAAQ;AAAA,IACV,SAAS,aAAa,WAAW;AAAA,IAChC,MAAM;AAAA,IACP,MAAM,uBAAuB,UAAU,QAAQ;AAAA;AAAA,EAGhD,OAAO,IAAI,QAAgB,CAAC,YAAY,WAAW;AAAA,IAClD,MAAM,WAAW,OAAO,QAAQ;AAAA,IAChC,SAAS,IAAI,YAAY,QAAQ;AAAA,IACjC,YAAY,KAAK,UAAU,OAAO,QAAQ,QAAQ,WAAW,CAAC,CAAC,GAAG;AAAA,MACjE,SAAS,IAAI,KAAK,KAAK;AAAA,IACxB;AAAA,IACA,WAAW,QAAQ;AAAA,MAAW,SAAS,QAAQ,IAAI;AAAA,IACnD,SAAS,OAAO,CAAC,OAAO,QAAQ;AAAA,MAC/B,IAAI;AAAA,QAAO,OAAO,KAAK;AAAA,MAClB;AAAA,mBAAW,OAAO,EAAE;AAAA,KACzB;AAAA,GACD;AAAA,GAGW,qBAAqB,OACjC,UACA,QACA,cACA,WACI;AAAA,EACJ,MAAM,WAAW,iBAAiB,gBAAgB,QAAQ;AAAA,EAC1D,MAAM,cAAc,UAAW,MAAM,SAAS,UAAU,OAAO;AAAA,EAE/D,IAAI,aAAa,UAAU,aAAa,QAAQ;AAAA,IAC/C,MAAM,UAAU,eAAe,QAAQ,QAAQ;AAAA,IAC/C,MAAM,cAAc,QAAQ,kBAAkB;AAAA,IAC9C,IAAI;AAAA,IACJ,IAAI;AAAA,MACH,OACC,MAAM,mBAA0C,WAAW;AAAA,MAC3D,MAAM;AAAA,MACP,MAAM,uBAAuB,aAAa,QAAQ;AAAA;AAAA,IAGnD,MAAM,WAAW,mBAChB,aACA,QAAQ,cACT;AAAA,IACA,MAAM,YAAY,mBAAmB,UAAU,QAAQ,SAAS;AAAA,IAChE,MAAM,SAAS,KAAK,cAAc,UAAU;AAAA,MAC3C,WAAW;AAAA,QACV,mBAAmB,UAAU,WAAW,UAAU,MAAM;AAAA,MACzD;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,QAAQ,aAAa,SAAS,aAAa;AAAA,MAC3C,KAAK,IAAI,IAAI,UAAU,UAAU;AAAA,IAClC,CAAC;AAAA,IAED,OAAO,WAAW,OAAO,KAAK,UAAU,MAAM;AAAA,EAC/C;AAAA,EAEA,IAAI,aAAa,QAAQ;AAAA,IACxB,MAAM,UAAU,eAAe,MAAM;AAAA,IAErC,IAAI;AAAA,IAIJ,IAAI;AAAA,MACH,aAAa,MAAM,mBAAsC,MAAM;AAAA,MAC9D,MAAM;AAAA,MACP,MAAM,uBAAuB,QAAQ,QAAQ;AAAA;AAAA,IAE9C,MAAM,OAAO,WAAW,SAAS,aAAa,WAAW;AAAA,IACzD,MAAM,SAAS,MAAM;AAAA,IACrB,IAAI,CAAC;AAAA,MAAQ,MAAM,uBAAuB,QAAQ,QAAQ;AAAA,IAE1D,MAAM,WAAW,mBAChB,aACA,QAAQ,cACT;AAAA,IACA,MAAM,YAAY,mBAAmB,UAAU,QAAQ,KAAK;AAAA,IAC5D,MAAM,SAAS,MAAM,OAAO,UAAU;AAAA,SACjC,QAAQ,WAAW,CAAC;AAAA,MACxB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,SAAS;AAAA,QACR,GAAK,QAAQ,SAAS,WAAyB,CAAC;AAAA,QAChD,sBAAsB,UAAU,WAAW,MAAM;AAAA,MAClD;AAAA,IACD,CAAC;AAAA,IAED,OAAO,WAAW,OAAO,KAAK,UAAU,MAAM;AAAA,EAC/C;AAAA,EAEA,IAAI,aAAa,UAAU;AAAA,IAC1B,MAAM,UAAU,iBAAiB,MAAM;AAAA,IACvC,MAAM,YAAY,mBAAmB,UAAU,QAAQ,KAAK;AAAA,IAC5D,MAAM,WAAW,mBAChB,sBACC,aACA,UACA,UACA,WACA,UACA,MACD,GACA,QAAQ,cACT;AAAA,IAEA,OAAO,WACN,MAAM,aAAa,UAAU,UAAU,WAAW,OAAO,GACzD,UACA,MACD;AAAA,EACD;AAAA,EAEA,OAAO,WAAW,aAAa,UAAU,MAAM;AAAA,GAGnC,gCAAgC,CAC5C,YACgB;AAAA,EAChB,MAAM;AAAA,EACN,KAAK,CAAC,OAAO;AAAA,IACZ,MAAM,mBAAmB,IAAI;AAAA,IAK7B,MAAM,UAAU,EAAE,QAAQ,0BAA0B,GAAG,GAAG,YAAY;AAAA,MACrE,WAAW;AAAA,MACX,MAAM,KAAK,MAAM,yBAAyB,MAAM;AAAA,IACjD,EAAE;AAAA,IAEF,MAAM,OACL,EAAE,QAAQ,mBAAmB,WAAW,wBAAwB,GAChE,SAAS,WAAW;AAAA,MACnB,MAAM,SAAS,iBAAiB,IAAI,IAAI;AAAA,MACxC,IAAI,CAAC,QAAQ;AAAA,QACZ,MAAM,IAAI,MACT,2CAA2C,MAC5C;AAAA,MACD;AAAA,MAEA,OAAO;AAAA,QACN,UAAU,OAAO;AAAA,QACjB,QAAQ;AAAA,MACT;AAAA,KAEF;AAAA,IAEA,MAAM,OAAO,EAAE,QAAQ,wBAAwB,GAAG,SAAS,WAAW;AAAA,MACrE,IAAI,kBAAkB,IAAI,GAAG;AAAA,QAC5B,MAAM,gBAAgB,KAAK,QAC1B,yBACA,MACD;AAAA,QACA,MAAM,WAAW,MAAM,mBACtB,MACA,WACA,WACA,MACD;AAAA,QACA,QAAQ,KAAK,YAAY,wBAAwB,QAAQ;AAAA,QACzD,iBAAiB,IAAI,eAAe,EAAE,KAAK,QAAQ,CAAC;AAAA,QACpD,MAAM,eACL,OAAO,KAAK,OAAO,EAAE,SAAS,IAC3B,sBAAsB,KAAK,UAAU,yBAAyB,eAAe,+CAA+C,KAAK,UAAU,OAAO,QAClJ,2BAA2B,KAAK,UAAU,yBAAyB,eAAe;AAAA,QAEtF,OAAO;AAAA,UACN,UAAU;AAAA,UACV,QAAQ;AAAA,QACT;AAAA,MACD;AAAA,MAEA,OAAO;AAAA,QACN,UAAU,MAAM,mBACf,MACA,WACA,WACA,MACD;AAAA,QACA,QAAQ;AAAA,MACT;AAAA,KACA;AAAA,IAED,MAAM,OAAO,EAAE,QAAQ,sBAAsB,GAAG,SAAS,YAAY;AAAA,MACpE,UAAU,MAAM,mBACf,MACA,WACA,WACA,MACD;AAAA,MACA,QAAQ;AAAA,IACT,EAAE;AAAA;AAEJ,IAEa,yBAEA,gCAAgC,CAC5C,YACK;AAAA,EACL,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,QAKK;AAAA,IACL,MAAM,WACL,OAAO,WAAW,SAAS,WACxB,WAAW,OACX,OAAO,WAAW,SAAS,WAC1B,WAAW,KAAK,QAAQ,WAAW,EAAE,IACrC;AAAA,IACL,IAAI,CAAC,YAAY,CAAC,uBAAuB,KAAK,QAAQ;AAAA,MAAG;AAAA,IAEzD,MAAM,OAAO,YAAY,SAAS;AAAA,IAElC,OAAO;AAAA,MACN,MAAM,MAAM,mBAAmB,MAAM,SAAS,UAAU,MAAM;AAAA,IAC/D;AAAA;AAEF,IAEa,2BAA2B,OACvC,UACA,WACI;AAAA,EACJ,IAAI,CAAC,0BAA0B,QAAQ,GAAG;AAAA,IACzC,OAAO,WAAW,MAAM,SAAS,UAAU,OAAO,GAAG,UAAU,MAAM;AAAA,EACtE;AAAA,EAEA,OAAO,mBAAmB,UAAU,WAAW,WAAW,MAAM;AAAA,GAGpD,+BAA+B,CAC3C,UACA,WACI;AAAA,EACJ,MAAM,cAAc,cAAa,UAAU,OAAO;AAAA,EAClD,MAAM,WAAW,iBAAiB,QAAQ;AAAA,EAC1C,IAAI,QAAQ,SAAS;AAAA,IACpB,MAAM,IAAI,MACT,qBAAqB,gDACtB;AAAA,EACD;AAAA,EACA,IAAI,aAAa,UAAU,aAAa,QAAQ;AAAA,IAC/C,MAAM,UAAU,eAAe,QAAQ,QAAQ;AAAA,IAC/C,MAAM,cAAc,QAAQ,kBAAkB;AAAA,IAC9C,IAAI;AAAA,IACJ,IAAI;AAAA,MACH,OACC,wBAA+C,WAAW;AAAA,MAC1D,MAAM;AAAA,MACP,MAAM,uBAAuB,aAAa,QAAQ;AAAA;AAAA,IAGnD,MAAM,WAAW,mBAChB,aACA,QAAQ,cACT;AAAA,IACA,MAAM,YAAY,mBAAmB,UAAU,QAAQ,SAAS;AAAA,IAChE,OAAO,KAAK,cAAc,UAAU;AAAA,MACnC,WAAW;AAAA,QACV,mBAAmB,UAAU,WAAW,UAAU,MAAM;AAAA,MACzD;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,QAAQ,aAAa,SAAS,aAAa;AAAA,MAC3C,KAAK,IAAI,IAAI,UAAU,UAAU;AAAA,IAClC,CAAC,EAAE;AAAA,EACJ;AAAA,EACA,IAAI,aAAa,QAAQ;AAAA,IACxB,MAAM,IAAI,MACT,qBAAqB,2IACtB;AAAA,EACD;AAAA,EACA,IAAI,aAAa,UAAU;AAAA,IAC1B,MAAM,IAAI,MACT,qBAAqB,+IACtB;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGK,wBAAwB,CAAC,aACrC,0BAA0B,QAAQ,IAAI,SAAS,QAAQ,QAAQ;AAAA;AAAA,EA3zB1D,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,iCAAiC;AAAA,EACjC,yBAAyB;AAAA,EACzB,qBAAqB,IAAI,SAC9B,aACA,0BACD;AAAA,EACM,sBAAsB,IAAI,SAC/B,aACA,2BACD;AAAA,EACM,iBAAiB,cAAc,MAAK,QAAQ,IAAI,GAAG,cAAc,CAAC;AAAA,EAktB3D,0BAA0B,8BAA8B;AAAA;;;AC3uBrE;AACA,qBAAS,sBAAU,qBAAS,kBAAS,mBAAM,sBAAU;AAAA,IAM/C,iBAEA,qBACA,yBAEA,YAKA,2BAA2B,CAAC,MAAc,WAAmB;AAAA,EAClE,MAAM,aAAa,UAAS,SAAQ,IAAI,GAAG,MAAM,EAAE,QAAQ,OAAO,GAAG;AAAA,EAErE,OAAO,WAAW,WAAW,GAAG,IAAI,aAAa,KAAK;AAAA,GAGjD,0BAA0B,CAC/B,SACA,KACA,gBACA,UACI;AAAA,EACJ,WAAW,SAAS,SAAS;AAAA,IAC5B,MAAM,YAAY,MAAK,KAAK,MAAM,IAAI;AAAA,IACtC,IAAI,MAAM,YAAY;AAAA,MAAG,MAAM,KAAK,SAAS;AAAA,IAE7C,IAAI,MAAM,OAAO,KAAK,MAAM,SAAS,gBAAgB;AAAA,MACpD,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGF,uBAAuB,OAAO,MAAgB,mBAA2B;AAAA,EAC9E,IAAI,KAAK,WAAW;AAAA,IAAG,OAAO;AAAA,EAE9B,MAAM,YAAsB,CAAC;AAAA,EAC7B,MAAM,aAAa,MAAM,QAAQ,IAChC,KAAK,IAAI,OAAO,SAAS;AAAA,IACxB;AAAA,IACA,SAAS,MAAM,QAAQ,KAAK;AAAA,MAC3B,UAAU;AAAA,MACV,eAAe;AAAA,IAChB,CAAC;AAAA,EACF,EAAE,CACH;AAAA,EAEA,aAAa,KAAK,aAAa,YAAY;AAAA,IAC1C,MAAM,QAAQ,wBACb,SACA,KACA,gBACA,SACD;AAAA,IACA,IAAI;AAAA,MAAO,OAAO;AAAA,EACnB;AAAA,EAEA,OAAO,qBAAqB,WAAW,cAAc;AAAA,GAGhD,2BAA2B,OAChC,YACA,mBACI,qBAAqB,CAAC,UAAU,GAAG,cAAc,GAEhD,+BAA+B,CAAC,eACrC,UAAS,UAAU,EAAE,QAAQ,+BAA+B,EAAE,GAEzD,4BAA4B,OAAO,eAAuB;AAAA,EAC/D,MAAM,aAAa,wBAAwB,IAAI,UAAU;AAAA,EACzD,IAAI,eAAe,WAAW;AAAA,IAC7B,OAAO;AAAA,EACR;AAAA,EAEA,IACC,CAAC,WAAW,SACX,GAAG,MAAK,QAAQ,IAAI,GAAG,OAAO,IAAI,QAAQ,aAAa,UAAU,KAAK,KACvE,KACA,CAAC,WAAW,SAAS,SAAS,GAC7B;AAAA,IACD,wBAAwB,IAAI,YAAY,UAAU;AAAA,IAElD,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,qBAAqB,MAAM,yBAChC,MAAK,QAAQ,IAAI,GAAG,KAAK,GACzB,6BAA6B,UAAU,CACxC;AAAA,EACA,MAAM,WAAW,sBAAsB;AAAA,EACvC,wBAAwB,IAAI,YAAY,QAAQ;AAAA,EAEhD,OAAO;AAAA,GAGF,wBAAwB,OAAO,MAAc,SAAiB;AAAA,EACnE,IAAI,CAAC,KAAK,WAAW,GAAG,GAAG;AAAA,IAC1B,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,WAAW,SAAQ,SAAQ,IAAI,GAAG,IAAI;AAAA,EAC5C,MAAM,aAAa;AAAA,IAClB;AAAA,IACA,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,MAAK,UAAU,UAAU;AAAA,IACzB,MAAK,UAAU,UAAU;AAAA,IACzB,MAAK,UAAU,WAAW;AAAA,IAC1B,MAAK,UAAU,WAAW;AAAA,IAC1B,MAAK,UAAU,YAAY;AAAA,EAC5B;AAAA,EAEA,MAAM,eAAe,MAAM,QAAQ,IAClC,WAAW,IAAI,CAAC,cAAc,IAAI,KAAK,SAAS,EAAE,OAAO,CAAC,CAC3D;AAAA,EACA,MAAM,aAAa,aAAa,QAAQ,IAAI;AAAA,EAE5C,OAAO,cAAc,IAAK,WAAW,eAAe,OAAQ;AAAA,GAGvD,sBAAsB,CAAC,eAAuB;AAAA,EACnD,MAAM,qBAAqB,UAAS,QAAQ,IAAI,GAAG,UAAU,EAAE,QAC9D,OACA,GACD;AAAA,EACA,MAAM,uBAAuB,mBAAmB,WAAW,IAAI,IAC5D,WAAW,QAAQ,WAAW,GAAG,IACjC;AAAA,EAEH,OAAO,MAAK,iBAAiB,GAAG,gCAAgC;AAAA,GAG3D,sBAAsB,OAAO,MAAc,SAAiB;AAAA,EACjE,IAAI,CAAC,KAAK,WAAW,GAAG,KAAK,CAAC,KAAK,WAAW,GAAG,GAAG;AAAA,IACnD,MAAM,WAAW,qBAAqB,IAAI;AAAA,IAE1C,OAAO,YAAY,SAAS,SAAS,SAAS,IAAI,WAAW;AAAA,EAC9D;AAAA,EAEA,IAAI,KAAK,WAAW,GAAG,GAAG;AAAA,IACzB,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,CAAC,KAAK,WAAW,GAAG,GAAG;AAAA,IAC1B,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,eAAe,SAAQ,SAAQ,IAAI,GAAG,IAAI;AAAA,EAChD,IAAI,SAAQ,YAAY,MAAM,WAAW;AAAA,IACxC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,YAAY,GAAG;AAAA,EACrB,IAAK,MAAM,IAAI,KAAK,SAAS,EAAE,OAAO,MAAO,MAAM;AAAA,IAClD,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA,GAGF,iBAAiB,OAAO,MAAc,YAAoB;AAAA,EAC/D,MAAM,aAAa,IAAI,KAAK,IAAI;AAAA,EAChC,MAAM,SAAS,MAAM,WAAW,OAAO;AAAA,EACvC,IAAI,QAAQ;AAAA,IACX,MAAM,iBAAiB,MAAM,WAAW,KAAK;AAAA,IAC7C,IAAI,mBAAmB,SAAS;AAAA,MAC/B;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,IAAI,MAAM,MAAM,OAAO;AAAA,GAGjB,4BAA4B,OAAO,eAAuB;AAAA,EACtE,MAAM,mBAAmB,oBAAoB,IAAI,UAAU;AAAA,EAC3D,IAAI,kBAAkB;AAAA,IACrB,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,uBAAuB,MAAM,0BAA0B,UAAU;AAAA,EACvE,MAAM,SAAS,MAAM,IAAI,KAAK,UAAU,EAAE,KAAK;AAAA,EAC/C,QAAQ,SAAS,eAAe,MAAa;AAAA,EAC7C,MAAM,qBAAqB,2BAA2B,MAAM;AAAA,EAC5D,MAAM,gBAAgB,wBACrB,mBAAmB,MACnB,QACD;AAAA,EACA,MAAM,eAAe,MAAM,WAC1B,cAAc,MACd,8BAA8B,CAC/B;AAAA,EACA,IAAI,aACH,WAAW,SAAS,KAAK,KAAK,WAAW,SAAS,YAAY,IAC3D,WAAW,cAAc,aAAa,IAAI,IAC1C,aAAa;AAAA,EACjB,MAAM,mBAAmB,MAAM,KAC9B,WAAW,SAAS,0BAA0B,CAC/C,EACE,IAAI,CAAC,UAAU,MAAM,EAAE,EACvB,OAAO,CAAC,UAA2B,UAAU,SAAS;AAAA,EACxD,MAAM,uBAAuB,MAAM,QAAQ,IAC1C,iBAAiB,IAAI,CAAC,SACrB,oBAAoB,MAAM,oBAAoB,CAC/C,CACD;AAAA,EACA,MAAM,wBAAwB,MAAM,QAAQ,IAC3C,iBAAiB,IAAI,CAAC,SACrB,sBAAsB,MAAM,oBAAoB,CACjD,CACD;AAAA,EACA,MAAM,mBAAmB,IAAI;AAAA,EAC7B,MAAM,uBAAuB,IAAI;AAAA,EAEjC,MAAM,mBAAmB,MAAM,QAAQ,IACtC,iBAAiB,IAAI,OAAO,MAAM,UAAU;AAAA,IAC3C,MAAM,gBAAgB,qBAAqB;AAAA,IAC3C,IAAI,CAAC,QAAQ,CAAC;AAAA,MAAe,OAAO;AAAA,IAEpC,OAAO;AAAA,MACN,cAAc,MAAM,0BAA0B,aAAa;AAAA,MAC3D;AAAA,MACA;AAAA,IACD;AAAA,GACA,CACF;AAAA,EAEA,WAAW,UAAU,kBAAkB;AAAA,IACtC,IAAI,CAAC;AAAA,MAAQ;AAAA,IACb,iBAAiB,IAAI,OAAO,MAAM,OAAO,YAAY;AAAA,IACrD,iBAAiB,IAAI,OAAO,eAAe,OAAO,YAAY;AAAA,EAC/D;AAAA,EAEA,SAAS,QAAQ,EAAG,QAAQ,iBAAiB,QAAQ,SAAS,GAAG;AAAA,IAChE,MAAM,OAAO,iBAAiB;AAAA,IAC9B,MAAM,uBAAuB,sBAAsB;AAAA,IACnD,IAAI,CAAC,QAAQ,CAAC;AAAA,MAAsB;AAAA,IACpC,IAAI,qBAAqB;AAAA,MAAQ;AAAA,IAEjC,qBAAqB,IACpB,MACA,yBACC,oBAAoB,UAAU,GAC9B,oBACD,CACD;AAAA,EACD;AAAA,EAEA,YAAY,MAAM,yBAAyB,sBAAsB;AAAA,IAChE,aAAa,WAAW,WAAW,MAAM,oBAAoB;AAAA,EAC9D;AAAA,EAEA,IAAI,eAAe,QAAQ,YAAY;AAAA,IACtC,KAAK;AAAA,IACL,cAAc;AAAA,MACb,OAAO,mBAAmB,eAAe,cAAc;AAAA,IACxD;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,EACX,CAAC,EAAE,GAAG;AAAA,EAEN,YAAY,MAAM,sBAAsB,kBAAkB;AAAA,IACzD,eAAe,aAAa,WAC3B,MACA,yBACC,oBAAoB,UAAU,GAC9B,iBACD,CACD;AAAA,EACD;AAAA,EAEA,YAAY,MAAM,yBAAyB,sBAAsB;AAAA,IAChE,eAAe,aAAa,WAAW,MAAM,oBAAoB;AAAA,EAClE;AAAA,EAEA,MAAM,qBAAqB,oBAAoB,UAAU;AAAA,EACzD,MAAM,MAAM,SAAQ,kBAAkB,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EAC5D,MAAM,eAAe,oBAAoB,YAAY;AAAA,EACrD,oBAAoB,IAAI,YAAY,kBAAkB;AAAA,EAEtD,OAAO;AAAA;AAAA;AAAA,EAhSR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEM,kBAAkB,MAAK,QAAQ,IAAI,GAAG,eAAe,WAAW,QAAQ;AAAA,EAExE,sBAAsB,IAAI;AAAA,EAC1B,0BAA0B,IAAI;AAAA,EAE9B,aAAa,IAAI,IAAI,WAAW;AAAA,IACrC,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT,CAAC;AAAA;;;ICdK,2BAA2B,CAAC,cACjC,UAAU,IAAI,YAAY,IAAI,UAAU,MAAM,CAAC,GAE1C,0BAA0B,CAC/B,UACA,WACI;AAAA,EACJ,MAAM,UAAkC,CAAC;AAAA,EACzC,IAAI,QAAQ;AAAA,EAEZ,YAAY,KAAK,UAAU,OAAO,QAAQ,QAAQ,GAAG;AAAA,IACpD,IAAI,CAAC,IAAI,WAAW,MAAM;AAAA,MAAG;AAAA,IAE7B,MAAM,YAAY,IAAI,MAAM,OAAO,MAAM;AAAA,IACzC,IAAI,CAAC;AAAA,MAAW;AAAA,IAEhB,QAAQ,aAAa;AAAA,IACrB,QAAQ;AAAA,EACT;AAAA,EAEA,OAAO,QAAQ,UAAU;AAAA,GAGb,2BAA2B,CAAC,aAAqC;AAAA,EAC7E,MAAM,UACL,CAAC;AAAA,EACF,MAAM,aAAgC,CAAC,SAAS,UAAU,OAAO,SAAS;AAAA,EAE1E,WAAW,aAAa,YAAY;AAAA,IACnC,MAAM,SAAS,SAAS,yBAAyB,SAAS;AAAA,IAC1D,MAAM,UAAU,wBAAwB,UAAU,MAAM;AAAA,IACxD,IAAI;AAAA,MAAS,QAAQ,aAAa;AAAA,EACnC;AAAA,EAEA,OAAO;AAAA,GAEK,uBAAuB,CACnC,WACA,cACI,SAAS,yBAAyB,SAAS,IAAI;;;ACK7C,SAAS,kBAA6B,CAC5C,WACC;AAAA,EACD,IAAI,4BAA4B,SAAS,GAAG;AAAA,IAC3C,OAAO,UAAU;AAAA,EAClB;AAAA,EAEA,OAAO;AAAA;AAAA,IA/CK,wBAAwB,CACpC,WACA,aAI2C;AAAA,EAC3C;AAAA,EACA,QAAQ,QAAQ;AAAA,EAChB,QAAQ,QAAQ;AACjB,IACa,uBAAuB,CACnC,aACI,UAEC,WAAW,CAAC,UACjB,OAAO,UAAU,YAAY,UAAU,MAE3B,0BAA0B,CACtC,cACI;AAAA,EACJ,IAAI,CAAC,4BAA4B,SAAS;AAAA,IAAG,OAAO;AAAA,EAEpD,OAAO;AAAA,IACN,QAAQ,UAAU;AAAA,IAClB,QAAQ,UAAU;AAAA,EACnB;AAAA,GAEY,8BAA8B,CAC1C,UAEA,SAAS,KAAK,MACd,eAAe,WACf,YAAY,UACZ,OAAO,MAAM,WAAW,UAeZ,mBAAmB,CAAC,aAA4B;AAAA,EAC5D,IAAI,CAAC;AAAA,IAAU,OAAO,CAAC;AAAA,EAEvB,OAAO,KAAK,MAAM,QAAQ;AAAA,GAEd,uBAAuB,CAAC,UACpC,KAAK,UAAU,SAAS,CAAC,CAAC;AAAA;;;ICjDd,4BAA4B,CACxC,OACA,cAC6B;AAAA,EAC7B,kBAAkB,MAAM;AAAA,EACxB,kBAAkB,MAAM;AAAA,EACxB,gBAAgB,MAAM,WAAW;AAAA,EACjC,eAAe;AAAA,KACX,WAAW,EAAE,kBAAkB,SAAS,IAAI,CAAC;AAAA,EACjD,cAAc,qBAAqB,MAAM,KAAK;AAC/C,IAEM,sBAAsB,CAAC,UAC5B,MACE,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,QAAQ,EACxB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM,GAEZ,4BAA4B,CAAC,eACzC,OAAO,QAAQ,UAAU,EACvB,IAAI,EAAE,KAAK,WAAW,GAAG,QAAQ,oBAAoB,KAAK,IAAI,EAC9D,KAAK,GAAG;AAAA;AAAA,EAjCX;AAAA;;;ICiBI,iBAAiB,GACf,8BACA,mCAEA,eAAe,MAAM;AAAA,EAC1B,kBAAkB;AAAA,EAElB,OAAO,UAAU;AAAA,GAaZ,YAAW,CAAC,UACjB,OAAO,UAAU,YAAY,UAAU,MAElC,+BAA+B,CACpC,UACyC,OAAO,UAAU,YAErD,gCAAgC,CACrC,UAC0C,OAAO,UAAU,YAEtD,6BAA6B,CAClC,UAEA,OAAO,UAAU,cAAc,UAAS,KAAK,GAExC,iCAAiC,CACtC,UAC2C,OAAO,UAAU,YAEvD,4BAA4B,CAAC,QAAgB,iBAAyB;AAAA,EAC3E,IAAI,OAAO,WAAW,SAAS;AAAA,IAAG,OAAO,IAAI,IAAI,MAAM,EAAE;AAAA,EACzD,IAAI,OAAO,WAAW,GAAG;AAAA,IAAG,OAAO,IAAI,IAAI,QAAQ,YAAY,EAAE;AAAA,EAEjE,OAAO;AAAA,GAGF,qCAAqC,OAC1C,uBACI;AAAA,EACJ,MAAM,qBACL,MAAM,0BAA0B,kBAAkB;AAAA,EACnD,MAAM,eAAe,MAAa;AAAA,EAElC,OAAO,aAAa,eAAe,aAAa,UAAU;AAAA,GAGrD,2BAA2B,OAAO,uBAA+B;AAAA,EACtE,MAAM,uBACL,kCAAkC,IAAI,kBAAkB;AAAA,EACzD,IAAI,sBAAsB;AAAA,IACzB,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,cAAc,mCAAmC,kBAAkB;AAAA,EACzE,kCAAkC,IAAI,oBAAoB,WAAW;AAAA,EAErE,OAAO;AAAA,GAGF,4BAA4B,OACjC,mBACA,eACI;AAAA,EACJ,MAAM,qBAAqB,kBAAkB,WAAW,GAAG,IACxD,IAAI,IAAI,mBAAmB,YAAY,GAAG,EAAE,WAC5C;AAAA,EACH,MAAM,eAAe,mBAAmB,SAAS,SAAS,IACvD,MAAM,0BAA0B,kBAAkB,IAClD;AAAA,EACH,MAAM,eAAe,MAAa;AAAA,EAElC,IAAI,cAAc,eAAe,aAAa,cAAc,cAAc;AAAA,IACzE,OAAO,aAAa;AAAA,EACrB;AAAA,EAEA,OAAO,aAAa,eAAe,aAAa,UAAU;AAAA,GAGrD,yBAAyB,OAAO,cAAuB;AAAA,EAC5D,MAAM,iBAAiB,wBAAwB,SAAS;AAAA,EACxD,MAAM,qBAAqB,gBAAgB,SACxC,0BAA0B,eAAe,QAAQ,YAAY,GAAG,IAChE;AAAA,EACH,IAAI,oBAAoB,SAAS,SAAS,GAAG;AAAA,IAC5C,OAAO,yBAAyB,kBAAkB;AAAA,EACnD;AAAA,EACA,IAAI,oBAAoB;AAAA,IACvB,OAAO,0BACN,oBACA,gBAAgB,MACjB;AAAA,EACD;AAAA,EAEA,MAAM,oBAAoB,mBAAmB,SAAS;AAAA,EACtD,IAAI,OAAO,sBAAsB,UAAU;AAAA,IAC1C,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,0BAA0B,iBAAiB;AAAA,GAG7C,+BAA+B,OAAO,cAAuB;AAAA,EAClE,MAAM,0BAA0B,6BAA6B,IAAI,SAAS;AAAA,EAC1E,IAAI,yBAAyB;AAAA,IAC5B,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,oBAAoB,uBAAuB,SAAS;AAAA,EAE1D,6BAA6B,IAAI,WAAW,iBAAiB;AAAA,EAE7D,OAAO;AAAA,GAGF,oCAAoC,OAAO,cAAuB;AAAA,EACvE,MAAM,oBAAoB,MAAM,6BAA6B,SAAS;AAAA,EACtE,IAAI,CAAC,6BAA6B,iBAAiB,GAAG;AAAA,IACrD,MAAM,IAAI,MACT,uDACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGF,qCAAqC,OAAO,cAAuB;AAAA,EACxE,MAAM,oBAAoB,MAAM,6BAA6B,SAAS;AAAA,EACtE,IAAI,CAAC,8BAA8B,iBAAiB,GAAG;AAAA,IACtD,MAAM,IAAI,MACT,yDACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGF,kCAAkC,OAAO,cAAuB;AAAA,EACrE,MAAM,oBAAoB,MAAM,6BAA6B,SAAS;AAAA,EACtE,IAAI,CAAC,2BAA2B,iBAAiB,GAAG;AAAA,IACnD,MAAM,IAAI,MAAM,mDAAmD;AAAA,EACpE;AAAA,EAEA,OAAO;AAAA,GAGF,sCAAsC,OAAO,cAAuB;AAAA,EACzE,MAAM,oBAAoB,MAAM,6BAA6B,SAAS;AAAA,EACtE,IAAI,CAAC,+BAA+B,iBAAiB,GAAG;AAAA,IACvD,MAAM,IAAI,MACT,2DACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGK,qBAAqB,OACjC,UACA,UACI;AAAA,EACJ,MAAM,SAAS,MAAM,mBAAmB,UAAU,KAAK;AAAA,EAEvD,OAAO,QAAQ,0BAA0B,OAAO,UAAU,KAAK,OAAO;AAAA,GAE1D,qBAAqB,OACjC,UACA,UACI;AAAA,EACJ,MAAM,WAAW,aAAa;AAAA,EAC9B,MAAM,aAAa,0BAA0B,KAAK;AAAA,EAElD,IAAI,MAAM,cAAc,SAAS;AAAA,IAChC,MAAM,QAAQ,SAAS,QAAQ,MAAM;AAAA,IACrC,IAAI,CAAC,OAAO;AAAA,MACX,MAAM,IAAI,MACT,qBAAqB,MAAM,qDAC5B;AAAA,IACD;AAAA,IACA,MAAM,YAAY,MAAM,kCAAkC,KAAK;AAAA,IAC/D,MAAM,OAAO,MAAM,wBAAwB,WAAW,MAAM,KAAK;AAAA,IAEjE,OAAO,EAAE,YAAY,KAAK;AAAA,EAC3B;AAAA,EAEA,IAAI,MAAM,cAAc,UAAU;AAAA,IACjC,MAAM,QAAQ,SAAS,SAAS,MAAM;AAAA,IACtC,IAAI,CAAC,OAAO;AAAA,MACX,MAAM,IAAI,MACT,qBAAqB,MAAM,sDAC5B;AAAA,IACD;AAAA,IACA,MAAM,YAAY,MAAM,mCAAmC,KAAK;AAAA,IAChE,MAAM,OAAO,MAAM,yBAAyB,WAAW,MAAM,KAAK;AAAA,IAElE,OAAO,EAAE,YAAY,KAAK;AAAA,EAC3B;AAAA,EAEA,IAAI,MAAM,cAAc,OAAO;AAAA,IAC9B,MAAM,QAAQ,SAAS,MAAM,MAAM;AAAA,IACnC,IAAI,CAAC,OAAO;AAAA,MACX,MAAM,IAAI,MACT,qBAAqB,MAAM,mDAC5B;AAAA,IACD;AAAA,IACA,MAAM,YAAY,MAAM,gCAAgC,KAAK;AAAA,IAC7D,MAAM,OAAO,MAAM,sBAAsB,WAAW,MAAM,KAAK;AAAA,IAE/D,OAAO,EAAE,YAAY,KAAK;AAAA,EAC3B;AAAA,EAEA,IAAI,MAAM,cAAc,WAAW;AAAA,IAClC,MAAM,QAAQ,SAAS,UAAU,MAAM;AAAA,IACvC,IAAI,CAAC,OAAO;AAAA,MACX,MAAM,IAAI,MACT,qBAAqB,MAAM,uDAC5B;AAAA,IACD;AAAA,IACA,MAAM,YAAY,MAAM,oCAAoC,KAAK;AAAA,IACjE,MAAM,OAAO,MAAM,2BAClB,WACA,MAAM,OACN,QACD;AAAA,IAEA,OAAO;AAAA,MACN,YAAY;AAAA,WACR,0BAA0B,OAAO,QAAQ;AAAA,MAC7C;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,IAAI,MACT,cAAc,MAAM,kDACrB;AAAA;AAAA;AAAA,EAlQD;AAAA,EAMA;AAAA,EACA;AAAA,EAIA;AAAA,EAGM,+BAA+B,IAAI;AAAA,EACnC,oCAAoC,IAAI;AAAA;;;;;;;;ACpB9C;AACA;AAAA,IAMM,4BAGA,4BAIA,oBAWA,kBAAiB,CAAC,UACvB,QAAQ,KAAK,KAAK,OAAO,UAAU,UAE9B,uBAAsB,CAAC,UAC5B,gBAAe,KAAK,MACpB,cAAc,UACd,OAAO,MAAM,aAAa,eAC1B,SAAS,UACT,OAAO,MAAM,QAAQ,YAEhB,gBAAgB,CAAC,UACtB,OAAO,UAAU,YAEZ,0BAA0B,MAAM;AAAA,EACrC,MAAM,QAAQ,QAAQ,IAAI,YAAY,0BAA0B;AAAA,EAChE,IAAI,UAAU,QAAQ,OAAO,UAAU,aAAa;AAAA,IACnD;AAAA,EACD;AAAA,EAEA,OAAO,qBAAoB,KAAK,IAAI,QAAQ;AAAA,GAGvC,6BAA6B,MAAM;AAAA,EACxC,MAAM,WAAW,wBAAwB;AAAA,EACzC,IAAI,UAAU;AAAA,IACb,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,UAAU,IAAI;AAAA,EACpB,QAAQ,IAAI,YAAY,4BAA4B,OAAO;AAAA,EAE3D,OAAO;AAAA,GAGF,wBAAwB,CAAC,UAC9B,MACE,QAAQ,GAAG,QAAQ,IAAI,MAAM,EAAE,EAC/B,QAAQ,QAAQ,IAAI,GAAG,EAAE,EACzB,QAAQ,UAAU,EAAE,GAEjB,iCAAiC,CAAC,UACvC,MAAM,SAAS,gBAAgB,KAC/B,MAAM,SAAS,QAAQ,KACvB,MAAM,SAAS,yCAAyC,GAEnD,2BAA2B,CAAC,UACjC,MAAM,MAAM,wBAAwB,IAAI,MACxC,MAAM,MAAM,uBAAuB,IAAI,IAElC,mCAAmC,CAAC,UAAkB;AAAA,EAC3D,MAAM,WAAW,MACf,MAAM;AAAA,CAAI,EACV,MAAM,CAAC,EACP,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,CAAC,UAAU,CAAC,+BAA+B,KAAK,CAAC,EACxD,IAAI,CAAC,UAAU,yBAAyB,KAAK,CAAC,EAC9C,KAAK,CAAC,kBAAkB,kBAAkB,SAAS;AAAA,EAErD,OAAO,WAAW,sBAAsB,QAAQ,IAAI;AAAA,GAG/C,mCAAmC,MAAM;AAAA,EAC9C,QAAQ,UAAU,IAAI;AAAA,EACtB,IAAI,CAAC,OAAO;AAAA,IACX;AAAA,EACD;AAAA,EAEA,OAAO,iCAAiC,KAAK;AAAA,GAGxC,+BAA+B,CAAC,SAAkB,aAAsB;AAAA,EAC7E,IAAI,OAAO,YAAY,cAAc,CAAC,UAAU;AAAA,IAC/C,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,UAAU,2BAA2B;AAAA,EAC3C,MAAM,eAAe;AAAA,EAErB,OAAO,SAAS,mBAAmB,IAAmB,MAAiB;AAAA,IACtE,OAAO,QAAQ,IAAI,EAAE,SAAS,GAAG,MAChC,QAAQ,MAAM,cAAc,MAAM,IAAI,CACvC;AAAA;AAAA,GAII,2BAA2B,CAAC,mBACjC,SAAS,kBAAkB,CAE1B,MACA,YACG,MACF;AAAA,EACD,MAAM,WAAW,iCAAiC;AAAA,EAElD,OAAO,QAAQ,MAAM,gBAAgB,MAAM;AAAA,IAC1C;AAAA,IACA,6BAA6B,SAAS,QAAQ;AAAA,IAC9C,GAAG;AAAA,EACJ,CAAC;AAAA,GAGU,sCAAsC,MAClD,wBAAwB,GAAG,SAAS,GAAG,UAC3B,wCAAwC,MAAM;AAAA,EAC1D,IAAI,OAAuC,CAE3C;AAAA,EAEA,IAAI,QAAQ,IAAI,YAAY,0BAA0B,MAAM,MAAM;AAAA,IACjE;AAAA,EACD;AAAA,EAEA,QAAQ,cAAc;AAAA,EACtB,mBAAmB,QAAQ,CAAC,eAAe;AAAA,IAC1C,MAAM,iBAAiB,QAAQ,IAAI,WAAW,UAAU;AAAA,IACxD,IAAI,CAAC,cAAc,cAAc;AAAA,MAAG;AAAA,IACpC,QAAQ,IACP,WACA,YACA,yBAAyB,cAAc,CACxC;AAAA,GACA;AAAA,EAED,QAAQ,IAAI,YAAY,4BAA4B,IAAI;AAAA;AAAA;AAAA,EA7InD,6BAA6B,OAAO,IACzC,gDACD;AAAA,EACM,6BAA6B,OAAO,IACzC,gDACD;AAAA,EAEM,qBAAqB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;ICXM,oBAAoB,MAAM;AAAA,EAC/B,MAAM,iBAAqC;AAAA,EAC3C,MAAM,mBAAmB;AAAA,EACzB,IAAI,eAAe,yBAAyB;AAAA,IAAM;AAAA,EAClD,eAAe,uBAAuB;AAAA,EACtC,eAAe,yBACd,eAAe,0BAA0B,CAAC;AAAA,EAC3C,eAAe,uBACd,eAAe,wBAAwB,CAAC;AAAA,EACzC,MAAM,YAAY,eAAe;AAAA,EACjC,MAAM,UAAU,eAAe;AAAA,EAC/B,MAAM,kBAAiB,CAAC,UACvB,QAAQ,KAAK,KAAK,OAAO,UAAU;AAAA,EACpC,MAAM,wBAAwB,CAC7B,UAII;AAAA,IACJ,IAAI,CAAC,gBAAe,KAAK;AAAA,MAAG,OAAO;AAAA,IAEnC,OAAO,MAAM,eAAe,QAAQ,aAAa;AAAA;AAAA,EAElD,MAAM,uBAAuB,CAAC,UAC7B,sBAAsB,KAAK,IAAI,MAAM,UAAU;AAAA,EAChD,MAAM,sBAAsB,MAC3B,eAAe,mCAAmC;AAAA,EACnD,MAAM,wBAAwB,CAAC,YAAqB;AAAA,IACnD,IAAI,CAAC,gBAAe,OAAO;AAAA,MAAG,OAAO;AAAA,IAErC,OAAO,QAAQ,SAAS;AAAA;AAAA,EAEzB,MAAM,uBAAuB,CAAC,YAAqB;AAAA,IAClD,IAAI,CAAC,gBAAe,OAAO;AAAA,MAAG,OAAO;AAAA,IAErC,OAAO,QAAQ,SAAS;AAAA;AAAA,EAEzB,MAAM,cAAc,CAAC,YAAqB;AAAA,IACzC,IAAI,CAAC,gBAAe,OAAO,GAAG;AAAA,MAC7B,OAAO,OAAO,YAAY,WAAW,UAAU;AAAA,IAChD;AAAA,IACA,IAAI,OAAO,QAAQ,SAAS,UAAU;AAAA,MACrC,OAAO,QAAQ;AAAA,IAChB;AAAA,IAEA,OAAO;AAAA;AAAA,EAGR,MAAM,QAAQ,CAAC,IAAY,iBAA0B;AAAA,IACpD,MAAM,UAAU,qBAAqB,YAAY;AAAA,IACjD,IAAI,CAAC,oBAAoB,GAAG;AAAA,MAC3B,QAAQ,MAAM;AAAA,MAEd;AAAA,IACD;AAAA,IACA,MAAM,WAAW,UAAU;AAAA,IAC3B,IAAI,OAAO,aAAa,YAAY;AAAA,MACnC,WAAW,IAAI,SAAS,YAAY;AAAA,MAEpC;AAAA,IACD;AAAA,IAEA,MAAM,UAAU,SAAS,OAAO;AAAA,IAChC,IAAI,YAAY,OAAO;AAAA,MACtB,OAAO,QAAQ;AAAA,MAEf;AAAA,IACD;AAAA,IAEA,WAAW,IAAI,SAAS,YAAY;AAAA;AAAA,EAErC,MAAM,aAAa,CAClB,IACA,SACA,iBACI;AAAA,IACJ,IAAI,sBAAsB,OAAO,GAAG;AAAA,MACnC,QAAQ,MAAM;AAAA,MAEd;AAAA,IACD;AAAA,IACA,MAAM,OAAO,SAAS,eAAe,EAAE;AAAA,IACvC,IAAI,CAAC,MAAM;AAAA,MACV,QAAQ,MAAM;AAAA,MAEd;AAAA,IACD;AAAA,IACA,MAAM,OAAO,YAAY,OAAO;AAAA,IAChC,IACC,qBAAqB,OAAO,KAC5B,sBAAsB,YAAY,GACjC;AAAA,MACD;AAAA,IACD;AAAA,IACA,KAAK,YAAY;AAAA,IACjB,KAAK,aAAa,4BAA4B,UAAU;AAAA,IACxD,OAAO,cACN,IAAI,YAAY,kBAAkB;AAAA,MACjC,QAAQ,EAAE,MAAM,IAAI,QAAQ;AAAA,IAC7B,CAAC,CACF;AAAA,IACA,IAAI,qBAAqB,OAAO,GAAG;AAAA,MAClC,QAAQ,MAAM,EAAE,YAAY,MAAM,QAAQ;AAAA,MAE1C;AAAA,IACD;AAAA,IACA,OAAO,QAAQ;AAAA;AAAA,EAGhB,MAAM,QAAQ,MAAM;AAAA,IACnB,WAAW,MAAM,SAAS;AAAA,MACzB,IAAI,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE;AAAA,QAAG;AAAA,MACxD,MAAM,IAAI,QAAQ,OAAO,EAAE;AAAA,IAC5B;AAAA;AAAA,EAGD,eAAe,qBAAqB;AAAA,EACpC,eAAe,uBAAuB,CAAC,IAAY,YAAqB;AAAA,IACvE,MAAM,IAAI,OAAO;AAAA;AAAA,EAGlB,IAAI,OAAO,qBAAqB,YAAY;AAAA,IAC3C,MAAM,WAAW,IAAI,iBAAiB,KAAK;AAAA,IAC3C,MAAM,OAAO,SAAS,mBAAmB,SAAS,QAAQ;AAAA,IAC1D,SAAS,QAAQ,MAAM,EAAE,WAAW,MAAM,SAAS,KAAK,CAAC;AAAA,EAC1D;AAAA,EAEA,IAAI,SAAS,eAAe,WAAW;AAAA,IACtC,SAAS,iBAAiB,oBAAoB,OAAO,EAAE,MAAM,KAAK,CAAC;AAAA,EACpE;AAAA,EACA,MAAM;AAAA,GAGD,uBAAuB,CAAC,UAAkB;AAAA,EAC/C,MAAM,QAAQ,MAAM,QAAQ,GAAG;AAAA,EAC/B,MAAM,MAAM,MAAM,YAAY,GAAG;AAAA,EACjC,IAAI,QAAQ,KAAK,OAAO;AAAA,IAAO,OAAO;AAAA,EAEtC,OAAO,MAAM,MAAM,QAAQ,GAAG,GAAG;AAAA,GAGrB,6BAA6B,MACzC,eAAe,qBAAqB,kBAAkB,SAAS,CAAC;;;IC1J3D,eAMA,cAEO,sBAAsB,CAAC,YACnC,QAAQ,QAAQ,cAAc,CAAC,SAAS;AAAA,EACvC,MAAM,UAAU,cAAc;AAAA,EAE9B,OAAO,YAAY,YAAY,UAAU;AAAA,CACzC;AAAA;AAAA,EAbI,gBAAwC;AAAA,IAC7C,UAAU;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,EACN;AAAA,EAEM,eAAe;AAAA;;;ICFf,iBAAiB,aACjB,mBAAmB,WACnB,oBAAmB,WACnB,yBACA,yBACA,wBACA,2BAA2B,wBAC3B,2BAA2B,wBAC3B,yBAAyB,KACzB,4BAA4B,MAC5B,kCAAkC,KAClC,gCAAgC,OAiFhC,2BAA2B,CAChC,IACA,YAEA,WAAW,kDAAkD,mCAAmC,uCAAuC,oCAAoC,KAAK,UAAU,EAAE,KAAK,KAAK,UAAU,OAAO,OAElN,kBAAkB,CAAC,UAAoB,QAAQ,WAAW,WAAW,IAE9D,wBAAwB,MACpC,GAAG,iBAAiB,KAAK,OAAO,EAAE,SAAS,aAAa,EAAE,MAAM,GAAG,mBAAmB,KAC1E,iCAAiC,MAC7C,2BAA2B,GACf,qBAAqB,CAAC,MAAc,cAAsB;AAAA,EACtE,MAAM,mBAAmB,KAAK,QAAQ,gBAAgB;AAAA,EACtD,IAAI,oBAAoB,GAAG;AAAA,IAC1B,OAAO,GAAG,KAAK,MAAM,GAAG,gBAAgB,IAAI,YAAY,KAAK,MAAM,gBAAgB;AAAA,EACpF;AAAA,EAEA,OAAO,GAAG,OAAO;AAAA,GAEL,qBAAqB,CAAC,MAAc,cAAsB;AAAA,EACtE,MAAM,mBAAmB,KAAK,QAAQ,iBAAgB;AAAA,EACtD,IAAI,oBAAoB,GAAG;AAAA,IAC1B,OAAO,GAAG,KAAK,MAAM,GAAG,gBAAgB,IAAI,YAAY,KAAK,MAAM,gBAAgB;AAAA,EACpF;AAAA,EAEA,OAAO,GAAG,OAAO;AAAA,GAEL,8BAA8B,CAC1C,IACA,SACA,UAEA,UAAU,gBAAgB,KAAK,KAAK,oBACnC,yBAAyB,IAAI,OAAO,CACrC,cACY,iCAAiC,CAAC,IAAY,eAAe,OACzE,YAAY,qEAAqE,sBACrE,iCAAiC,CAC7C,OACA,yBACI;AAAA,EACJ,MAAM,cAAc;AAAA,IACnB,sBAAsB,KAAK,IAAI,qBAAqB,KAAK,IAAI;AAAA,IAC7D,+BAA+B;AAAA,EAChC,EACE,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,EAEV,OAAO,UAAU,gBAAgB,KAAK,KAAK,oBAAoB,WAAW;AAAA,GAGrE,UAAU,CAAC,OAAe,YAAyB,QAAQ,OAAO,KAAK,GAMvE,YAAW,CAAC,UACjB,QAAQ,KAAK,KAAK,OAAO,UAAU,UAE9B,iBAAiB,CAAC,UACvB,UAAS,KAAK,KACd,OAAO,MAAM,0CAA0C,UAElD,oBAAoB,CAAC,UAAmB;AAAA,EAC7C,IAAI,eAAe,KAAK,GAAG;AAAA,IAC1B,OAAO,MAAM;AAAA,EACd;AAAA,EAEA,OAAO;AAAA,GAGJ,4BAQE,cAAc,CACnB,YAC+B;AAAA,KAC5B;AACJ,IAEM,qBAAqB,CAAC,OAAgB,aAAqB;AAAA,EAChE,IAAI,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,KAAK,SAAS,GAAG;AAAA,IACtE,OAAO,KAAK,MAAM,KAAK;AAAA,EACxB;AAAA,EAEA,OAAO;AAAA,GAGF,oBAAoB,CAAC,OAAgB,aAAqB;AAAA,EAC/D,MAAM,kBAAkB,kBAAkB,KAAK;AAAA,EAE/C,OAAO,OAAO,oBAAoB,WAAW,kBAAkB;AAAA,GAE1D,qBAAqB,CAC1B,OACA,WAA+B,cAC3B;AAAA,EACJ,MAAM,YAAY,kBAAkB,KAAK;AAAA,EACzC,IAAI,OAAO,cAAc;AAAA,IAAU,OAAO;AAAA,EAE1C,OAAO;AAAA,GAEF,iBAAiB,CACtB,QACA,QACI,OAAO,UAAU,eAAe,KAAK,QAAQ,GAAG,GAE/C,oCAAoC,CACzC,MACA,iBAAsC,CAAC,OAClC;AAAA,EACL,WAAW,eAAe,gBAAgB,WAAW,IAClD,mBAAmB,eAAe,SAAS,IAC3C,KAAK;AAAA,EACR,cAAc,eAAe,gBAAgB,cAAc,IACxD,kBAAkB,eAAe,cAAc,EAAE,IACjD,KAAK;AAAA,EACR,sBAAsB,eAAe,gBAAgB,sBAAsB,IACxE,mBACA,eAAe,sBACf,KAAK,oBACN,IACC,KAAK;AAAA,EACR,qBAAqB,eAAe,gBAAgB,qBAAqB,IACtE,mBACA,eAAe,qBACf,KAAK,mBACN,IACC,KAAK;AAAA,EACR,SAAS,eAAe,gBAAgB,SAAS,IAC9C,eAAe,UACf,KAAK;AAAA,EACR,cAAc,eAAe,gBAAgB,cAAc,IACxD,eAAe,eACf,KAAK;AAAA,EACR,WAAW,eAAe,gBAAgB,WAAW,IAClD,mBAAmB,eAAe,WAAW,KAAK,SAAS,IAC3D,KAAK;AACT,IAEM,iCAAiC,CACtC,eACA,oBACI;AAAA,EACJ,IAAI,CAAC,iBAAiB,CAAC;AAAA,IAAiB;AAAA,EAExC,OAAO,CAAC,OAAgB,SAAwB;AAAA,IAC/C,gBAAgB,OAAO,IAAI;AAAA,IAC3B,kBAAkB,OAAO,IAAI;AAAA;AAAA,GAIzB,kCAAkC,CACvC,oBACA,qBACI;AAAA,EACJ,IAAI,CAAC,sBAAsB,CAAC;AAAA,IAAkB;AAAA,EAE9C,OAAO,CAAC,WAAgC;AAAA,IACvC,qBAAqB,MAAM;AAAA,IAC3B,mBAAmB,MAAM;AAAA;AAAA,GAIrB,6BAA6B,CAClC,iBAAsC,CAAC,MACnC;AAAA,EACJ,MAAM,OAAO,uBAAuB;AAAA,EAEpC,OAAO,kCAAkC,MAAM,cAAc;AAAA,GAGjD,yBAAyB,MACrC,YAAY,0BAA0B,GAE1B,yBAAyB,CAAC,SAA8B,CAAC,MAAM;AAAA,EAC3E,MAAM,OAAO,uBAAuB;AAAA,EAEpC,6BAA6B,kCAC5B,MACA,MACD;AAAA,GAGY,0BAA0B,OACtC,QACA,aACI;AAAA,EACJ,MAAM,WAAW,uBAAuB;AAAA,EAExC,uBAAuB,MAAM;AAAA,EAC7B,IAAI;AAAA,IACH,OAAO,MAAM,SAAS;AAAA,YACrB;AAAA,IACD,6BAA6B;AAAA;AAAA,GAIzB,iBAAiB,CACtB,QACA,iBACI;AAAA,EACJ,eAAe,MAAM;AAAA,GAGhB,qBAAqB,CAAC,MAAqB,cAAsB;AAAA,EACtE,MAAM,QAAQ,OAAO,OACpB,IAAI,MAAM,mBAAmB,KAAK,uBAAuB,aAAa,GACtE,EAAE,cAAc,KAAK,CACtB;AAAA,EAEA,OAAO;AAAA,GAGF,2BAA2B,CAChC,UAEA,UAAS,KAAK,MAAK,UAAU,QAExB,iBAAiB,CACtB,UAEA,UAAS,KAAK,KAAK,MAAM,iBAAiB,MAErC,kBAAkB,CACvB,MACA,YACoB;AAAA,EACpB,WAAW,KAAK,cAAc,YAAY,OAAO,YAAY,KAAK;AAAA,EAClE,cAAc,kBAAkB,KAAK,cAAc,OAAO,YAAY;AAAA,EACtE,IAAI,KAAK,MAAM,sBAAsB;AAAA,EACrC,SAAS,KAAK;AAAA,EACd,WAAW,mBAAmB,KAAK,WAAW,OAAO,SAAS;AAC/D,IAEM,eAAe;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAMK;AAAA,EACL,MAAM,gBAAgB,MAAM,IAAI,CAAC,SAAS,gBAAgB,MAAM,MAAM,CAAC;AAAA,EACvE,MAAM,yBAAyB,CAAC,SAAwB;AAAA,IACvD,eACC;AAAA,MACC,QAAQ,KAAK;AAAA,MACb,MAAM;AAAA,IACP,GACA,YACD;AAAA;AAAA,EAED,MAAM,mBAAmB,CAAC,MAAqB,WAAmB;AAAA,IACjE,UAAU,IAAI,MAAM,MAAM,GAAG,IAAI;AAAA,IACjC,eACC;AAAA,MACC;AAAA,MACA,QAAQ,KAAK;AAAA,MACb,MAAM;AAAA,IACP,GACA,YACD;AAAA;AAAA,EAGD,QAAQ,wBAAwB;AAAA,EAChC,IAAI,wBAAwB,GAAG;AAAA,IAC9B,cAAc,QAAQ,CAAC,SACtB,iBAAiB,MAAM,0BAA0B,CAClD;AAAA,IAEA,OAAO,CAAC;AAAA,EACT;AAAA,EAEA,IAAI,cAAc,UAAU,qBAAqB;AAAA,IAChD,cAAc,QAAQ,sBAAsB;AAAA,IAE5C,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,YAAY,cAAc,MAAM,GAAG,mBAAmB;AAAA,EAC5D,MAAM,eAAe,cAAc,MAAM,mBAAmB;AAAA,EAC5D,aAAa,QAAQ,CAAC,SAAS;AAAA,IAC9B,iBACC,MACA,mBAAmB,KAAK,uBAAuB,qDAChD;AAAA,GACA;AAAA,EACD,UAAU,QAAQ,sBAAsB;AAAA,EAExC,OAAO;AAAA,GAGF,iBAAiB,CAAC,OAAe,YACtC,QAAQ,OAAO,KAAK,EAAE,QASjB,4BAA4B,CAAC,UAAmB;AAAA,EACrD,MAAM,YAAY,kBAAkB,KAAK;AAAA,EACzC,IACC,yBAAyB,SAAS,KAClC,OAAO,UAAU,SAAS,UACzB;AAAA,IACD,OAAO;AAAA,SACH;AAAA,MACH,MAAM,kBAAkB,UAAU,MAAM,EAAE;AAAA,IAC3C;AAAA,EACD;AAAA,EAEA,OAAO,OAAO,cAAc,WAAW,YAAY,GAAG;AAAA,GAGjD,iBAAiB,CAAC,YACvB,OAAO,YAAY,WAAW,UAAU,QAAQ,MAE3C,qBAAqB,CAC1B,YACA,SACA,UACI;AAAA,EACJ,IAAI,MAAM,WAAW,GAAG;AAAA,IACvB;AAAA,EACD;AAAA,EAEA,WAAW,QAAQ,QAAQ,OAAO,KAAK,CAAC;AAAA,GAGnC,4BAA4B,OACjC,WACI;AAAA,EACJ,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,EAC1C,IAAI,QAAQ,CAAC,OAAO;AAAA,IACnB,OAAO,EAAE,MAAM,OAAO,UAAU;AAAA,EACjC;AAAA,EAEA,OAAO,EAAE,MAAM,MAAM;AAAA,GAGhB,uBAAuB,CAC5B,OAOA,QAqBA,mBAeI;AAAA,EACJ,IAAI,CAAC,MAAM,WAAW,OAAO,SAAS,QAAQ;AAAA,IAC7C,eAAe,MAAM;AAAA,EACtB;AAAA,EAEA,OAAO;AAAA,GAGF,8BAA8B,CAAC,UAQ/B;AAAA,EACL;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG;AAAA,EACJ,MAAM,QAAQ,eAAe,MAAM,OAAO;AAAA,EAC1C,IAAI,SAAS,sBAAsB;AAAA,IAClC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,QAAQ,IAAI,MACjB,mBAAmB,KAAK,oCAAoC,4BAC7D;AAAA,EACA,MAAM,aAAa,KAAK,IAAI,IAAI;AAAA,EAChC,UAAU,OAAO,IAAI;AAAA,EACrB,eACC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ,KAAK;AAAA,IACb,MAAM;AAAA,EACP,GACA,YACD;AAAA,EAEA,MAAM,eAAe,mBAAmB,KAAK,WAAW,SAAS;AAAA,EAEjE,OAAO;AAAA,IACN,OACC,iBAAiB,YACd,IACA,eAAe,cAAc,OAAO;AAAA,IACxC;AAAA,IACA,IAAI,KAAK;AAAA,IACT,SAAS,iBAAiB,YAAY,OAAO;AAAA,EAC9C;AAAA,GAGK,kBAAkB,CAAC,SAA2B,SAAwB;AAAA,EAC3E,QAAQ,cAAc;AAAA,EACtB,IAAI,OAAO,cAAc,YAAY,aAAa,GAAG;AAAA,IACpD,OAAO;AAAA,EACR;AAAA,EAEA,QAAQ,SAAS,gBAAgB,WAChC,QAAQ,cAAyC;AAAA,EAElD,WAAW,MAAM;AAAA,IAChB,OAAO,mBAAmB,MAAM,SAAS,CAAC;AAAA,KACxC,SAAS;AAAA,EAEZ,OAAO,QAAQ,KAAK,CAAC,SAAS,cAAc,CAAC;AAAA,GAGxC,cAAc,OACnB,MACA,SACA,QACA,iBACI;AAAA,EACJ,MAAM,aAAa,UAAU,uBAAuB;AAAA,EACpD,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,QAAQ,KAAK,IAAI;AAAA,EACvB,IAAI;AAAA,IACH,MAAM,kBAAkB,QAAQ,QAAQ,KAAK,QAAQ,CAAC;AAAA,IACtD,MAAM,WAAW,MAAM,gBAAgB,iBAAiB,IAAI;AAAA,IAC5D,MAAM,UAAU,0BAA0B,QAAQ;AAAA,IAClD,MAAM,OAAO,eAAe,OAAO;AAAA,IACnC,MAAM,kBACL,WAAW,uBAAuB,IAC/B,4BAA4B;AAAA,MAC5B;AAAA,MACA;AAAA,MACA,sBAAsB,WAAW;AAAA,MACjC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC,IACA;AAAA,IACJ,IAAI,iBAAiB;AAAA,MACpB,OAAO;AAAA,IACR;AAAA,IACA,MAAM,aAAa,KAAK,IAAI,IAAI;AAAA,IAChC,MAAM,QAAQ,eAAe,MAAM,OAAO;AAAA,IAC1C,eACC;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,KAAK;AAAA,MACb,MAAM;AAAA,IACP,GACA,YACD;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,IAAI,KAAK;AAAA,MACT;AAAA,IACD;AAAA,IACC,OAAO,OAAO;AAAA,IACf,MAAM,aAAa,KAAK,IAAI,IAAI;AAAA,IAChC,UAAU,OAAO,IAAI;AAAA,IACrB,eACC;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,KAAK;AAAA,MACb,MAAM,eAAe,KAAK,IAAI,YAAY;AAAA,IAC3C,GACA,YACD;AAAA,IACA,MAAM,OAAO,mBAAmB,KAAK,WAAW,SAAS;AAAA,IACzD,IAAI,MAAM;AAAA,MACT,OAAO;AAAA,QACN,OAAO,eAAe,MAAM,OAAO;AAAA,QACnC;AAAA,QACA,IAAI,KAAK;AAAA,QACT,SAAS;AAAA,MACV;AAAA,IACD;AAAA,IAEA,OAAO;AAAA,MACN,OAAO;AAAA,MACP;AAAA,MACA,IAAI,KAAK;AAAA,MACT,SAAS;AAAA,IACV;AAAA;AAAA,GAII,mBAAmB,OACxB,YACI;AAAA,EACJ,MAAM,UAAU,QAAQ,IAAI,CAAC,YAC5B,QAAQ,KAAK,CAAC,YAAY;AAAA,IACzB,UAAU;AAAA,IACV;AAAA,EACD,EAAE,CACH;AAAA,EAEA,OAAO,QAAQ,KAAK,OAAO;AAAA,GAGtB,uBAAsB,CAC3B,OACA,YAEA,OAAO,UAAU,WAAW,QAAQ,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC,GAE9D,qCAAqC,CACjD,QACA,QAAiC,CAAC;AAAA,EAEjC,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,IACa,CAAC,MAC9B;AAAA,EACJ,MAAM,iBAAiB,2BAA2B,MAAM;AAAA,EACxD,MAAM,kBAAkB,+BACvB,eAAe,SACf,OACD;AAAA,EACA,MAAM,uBAAuB,gCAC5B,eAAe,cACf,YACD;AAAA,EACA,MAAM,kBAA4C;AAAA,OAC9C;AAAA,IACH,cAAc;AAAA,EACf;AAAA,EACA,MAAM,gBAAgB,aAAa;AAAA,IAClC,SAAS;AAAA,IACT,cAAc;AAAA,IACd,QAAQ;AAAA,IACR;AAAA,EACD,CAAC;AAAA,EACD,IAAI,cAAc,WAAW;AAAA,IAAG,OAAO;AAAA,EAEvC,MAAM,SAAS,gBACZ,iCACA,QACA,OACA,kBACA,oBACD,IACC;AAAA,EACH,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,SAAS,OAAO,UAAU;AAAA,EAChC,MAAM,UAAiD,cAAc,IACpE,CAAC,SACA,YACC,MACA,iBACA,iBACA,oBACD,CACF;AAAA,EACA,MAAM,uBAAuB,CAC5B,UACA,aACI;AAAA,IACJ,MAAM,SAuBF,CAAC;AAAA,IAEL,IAAI,CAAC,UAAU;AAAA,MACd,OAAO,KACN,SAAS,KAAK,GAAG,MAAM,aAAa;AAAA,QACnC;AAAA,QACA,MAAM;AAAA,QACN;AAAA,MACD,EAAE,CACH;AAAA,IACD;AAAA,IACA,IAAI,QAAQ,SAAS,GAAG;AAAA,MACvB,OAAO,KACN,iBAAiB,OAAO,EAAE,KAAK,CAAC,cAAc;AAAA,QAC7C,MAAM;AAAA,WACH;AAAA,MACJ,EAAE,CACH;AAAA,IACD;AAAA,IAEA,OAAO;AAAA;AAAA,EAER,MAAM,sBAAsB,CAC3B,YACA,SACI;AAAA,IACJ,IAAI,KAAK,UAAU,wBAAwB;AAAA,MAC1C,OAAO;AAAA,IACR;AAAA,IAEA,MAAM,UAAU,KAAK,MAAM,GAAG,KAAK,SAAS,sBAAsB;AAAA,IAClE,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,IAE1C,OAAO,KAAK,MAAM,CAAC,sBAAsB;AAAA;AAAA,EAE1C,MAAM,8BAA8B,CACnC,YACA,aACA,aACI;AAAA,IACJ,MAAM,cAAc,YAAY,OAAO,sBAAsB;AAAA,IAC7D,IAAI,cAAc,GAAG;AAAA,MACpB,mBAAmB,YAAY,SAAS,WAAW;AAAA,MAEnD,OAAO;AAAA,QACN,UAAU;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,MACP;AAAA,IACD;AAAA,IAEA,MAAM,UAAU,YAAY,MAAM,GAAG,WAAW;AAAA,IAChD,MAAM,aAAa,YAAY,MAAM,WAAW;AAAA,IAChD,mBAAmB,YAAY,SAAS,OAAO;AAAA,IAE/C,OAAO;AAAA,MACN,UAAU;AAAA,MACV;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM;AAAA,IACP;AAAA;AAAA,EAED,MAAM,mBAAmB,CACxB,YACA,QAqBA,UACA,MACA,WACI;AAAA,IACJ,IAAI,OAAO,SAAS,QAAQ;AAAA,MAC3B,OAAO,EAAE,UAAU,OAAO,UAAU,QAAQ,SAAS,OAAO,KAAK;AAAA,IAClE;AAAA,IAEA,IAAI,OAAO,MAAM;AAAA,MAChB,OAAO,4BACN,YACA,OAAO,QAAQ,OAAO,GACtB,QACD;AAAA,IACD;AAAA,IAEA,IAAI,CAAC,OAAO,OAAO;AAAA,MAClB,OAAO,EAAE,UAAU,OAAO,UAAU,QAAQ,SAAS,MAAM,KAAK;AAAA,IACjE;AAAA,IAEA,MAAM,WAAW,oBAChB,YACA,OAAO,qBAAoB,OAAO,OAAO,OAAO,CACjD;AAAA,IAEA,OAAO;AAAA,MACN,UAAU;AAAA,MACV,UAAU,OAAO,KAAK;AAAA,MACtB;AAAA,MACA,SAAS;AAAA,MACT,MAAM;AAAA,IACP;AAAA;AAAA,EAED,MAAM,qBAAqB,CAC1B,YACA,WAeI;AAAA,IACJ,MAAM,QAAQ,QAAQ,QAAQ,OAAO,QAAQ;AAAA,IAC7C,IAAI,SAAS;AAAA,MAAG,QAAQ,OAAO,OAAO,CAAC;AAAA,IACvC,IAAI,OAAO,OAAO,YAAY,MAAM;AAAA,MACnC;AAAA,IACD;AAAA,IAEA,eACC;AAAA,MACC,OAAO,OAAO,OAAO;AAAA,MACrB,YAAY,OAAO,OAAO;AAAA,MAC1B,QAAQ,OAAO,OAAO;AAAA,MACtB,MAAM;AAAA,IACP,GACA,oBACD;AAAA,IAEA,WAAW,QACV,QAAQ,OACP,4BACC,OAAO,OAAO,IACd,OAAO,OAAO,SACd,KACD,CACD,CACD;AAAA;AAAA,EAGD,MAAM,uBAAuB,OAC5B,eACI;AAAA,IACJ,IAAI,WAAW;AAAA,IACf,IAAI,WAAW,OAAO,KAAK;AAAA,IAC3B,IAAI,OAAO;AAAA,IACX,IAAI,SAAS;AAAA,IACb,MAAM,qBAAqB,YAAY;AAAA,MACtC,MAAM,SAAS,qBAAqB,UAAU,QAAQ;AAAA,MACtD,IAAI,OAAO,WAAW,GAAG;AAAA,QACxB,OAAO;AAAA,MACR;AAAA,MAEA,MAAM,SAAS,MAAM,QAAQ,KAAK,MAAM;AAAA,MACxC,MAAM,kBAAkB,qBACvB,iBAAiB,YAAY,QAAQ,UAAU,MAAM,MAAM,GAC3D,QACA,CAAC,eAAe;AAAA,QACf,mBAAmB,YAAY,UAAU;AAAA,OAE3C;AAAA,OACC,EAAE,UAAU,UAAU,QAAQ,KAAK,IAAI;AAAA,MACxC,IAAI,YAAY,QAAQ,WAAW,GAAG;AAAA,QACrC,OAAO;AAAA,MACR;AAAA,MAEA,OAAO,mBAAmB;AAAA;AAAA,IAG3B,OAAO,mBAAmB;AAAA;AAAA,EAG3B,OAAO,IAAI,eAA2B;AAAA,SAC/B,MAAK,CAAC,YAAY;AAAA,MACvB,IAAI;AAAA,QACH,MAAM,SAAS,MAAM,qBAAqB,UAAU;AAAA,QACpD,mBAAmB,YAAY,SAAS,MAAM;AAAA,QAC9C,WAAW,MAAM;AAAA,QAChB,OAAO,OAAO;AAAA,QACf,WAAW,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA,GAEW,mCAAmC,CAC/C,QACA,OACA,mBAAoC,QACpC,yBACI;AAAA,EACJ,MAAM,aAAa,+BAClB,OACA,oBACD;AAAA,EACA,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,aACL,qBAAqB,SAAS,mBAAmB;AAAA,EAClD,MAAM,cACJ,qBAAqB,SACnB,0BACA,2BAA2B;AAAA,EAC/B,MAAM,yBAAyB,CAC9B,YACA,YACI;AAAA,IACJ,IAAI,QAAQ,UAAU,YAAY;AAAA,MACjC,OAAO;AAAA,IACR;AAAA,IAEA,MAAM,WAAW,QAAQ,MAAM,GAAG,QAAQ,SAAS,UAAU;AAAA,IAC7D,WAAW,QAAQ,QAAQ,OAAO,QAAQ,CAAC;AAAA,IAE3C,OAAO,QAAQ,MAAM,CAAC,UAAU;AAAA;AAAA,EAEjC,MAAM,2BAA2B,CAAC,YACjC,qBAAqB,SAClB,mBAAmB,SAAS,UAAU,IACtC,mBAAmB,SAAS,UAAU;AAAA,EAC1C,MAAM,wBAAwB,CAC7B,YACA,SACA,aACI;AAAA,IACJ,IAAI,UAAU;AAAA,MACb,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,MAE1C,OAAO,EAAE,UAAU,SAAS,GAAG;AAAA,IAChC;AAAA,IAEA,MAAM,kBAAkB,QAAQ,QAAQ,UAAU;AAAA,IAClD,IAAI,mBAAmB,GAAG;AAAA,MACzB,MAAM,cAAc,GAAG,QAAQ,MAAM,GAAG,eAAe,IAAI,aAAa,QAAQ,MAAM,eAAe;AAAA,MACrG,WAAW,QAAQ,QAAQ,OAAO,WAAW,CAAC;AAAA,MAE9C,OAAO,EAAE,UAAU,MAAM,SAAS,GAAG;AAAA,IACtC;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA,SAAS,uBAAuB,YAAY,OAAO;AAAA,IACpD;AAAA;AAAA,EAGD,OAAO,IAAI,eAA2B;AAAA,SAC/B,MAAK,CAAC,YAAY;AAAA,MACvB,MAAM,SAAS,OAAO,UAAU;AAAA,MAChC,IAAI,WAAW;AAAA,MACf,IAAI,UAAU;AAAA,MACd,MAAM,iBAAiB,MACtB,mBAAmB,YAAY,SAAS,OAAO;AAAA,MAChD,MAAM,sBAAsB,YAAY;AAAA,QACvC,QAAQ,MAAM,UAAU,MAAM,0BAA0B,MAAM;AAAA,QAC9D,IAAI,QAAQ,CAAC,OAAO;AAAA,UACnB,OAAO;AAAA,QACR;AAAA,QAEA,WAAW,qBAAoB,OAAO,OAAO;AAAA,SAC5C,EAAE,UAAU,QAAQ,IAAI,sBACxB,YACA,SACA,QACD;AAAA,QAEA,OAAO;AAAA;AAAA,MAGR,MAAM,0BAA0B,YAAY;AAAA,QAC3C,MAAM,OAAO,MAAM,oBAAoB;AAAA,QACvC,IAAI,MAAM;AAAA,UACT;AAAA,QACD;AAAA,QAEA,MAAM,wBAAwB;AAAA;AAAA,MAG/B,IAAI;AAAA,QACH,MAAM,wBAAwB;AAAA,QAE9B,WAAW,QAAQ,OAAO;AAAA,QAC1B,UAAU,WACP,UACA,yBAAyB,OAAO;AAAA,QACnC,eAAe;AAAA,QACf,WAAW,MAAM;AAAA,QAChB,OAAO,OAAO;AAAA,QACf,WAAW,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA,GAEW,wBAAwB;AAAA,EACpC,aAAa;AAAA,EACb,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACmC;AAAA,EACnC,MAAM,iBAAiB,2BAA2B,MAAM;AAAA,EACxD,MAAM,kBAAkB,+BACvB,eAAe,SACf,OACD;AAAA,EACA,MAAM,uBAAuB,gCAC5B,eAAe,cACf,YACD;AAAA,EACA,MAAM,kBAA4C;AAAA,OAC9C;AAAA,IACH,cAAc;AAAA,EACf;AAAA,EACA,MAAM,gBAAgB,aAAa;AAAA,IAClC,SAAS;AAAA,IACT,cAAc;AAAA,IACd,QAAQ;AAAA,IACR;AAAA,EACD,CAAC;AAAA,EACD,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,qBAAqB,CAC1B,eAEA,cAAc,IAAI,CAAC,SAAS;AAAA,IAC3B,MAAM,WAAW,+BAChB,KAAK,IACL,kBAAkB,KAAK,cAAc,EAAE,CACxC;AAAA,IACA,WAAW,QAAQ,QAAQ,UAAU,OAAO,CAAC;AAAA,IAE7C,OAAO,YACN,MACA,iBACA,iBACA,oBACD;AAAA,GACA;AAAA,EACF,MAAM,6BAA6B,OAClC,YACA,YAQI;AAAA,IACJ,QAAQ,UAAU,WAAW,MAAM,iBAAiB,OAAO;AAAA,IAC3D,MAAM,QAAQ,QAAQ,QAAQ,QAAQ;AAAA,IACtC,IAAI,SAAS;AAAA,MAAG,QAAQ,OAAO,OAAO,CAAC;AAAA,IACvC,IAAI,OAAO,YAAY,MAAM;AAAA,MAC5B;AAAA,IACD;AAAA,IAEA,eACC;AAAA,MACC,OAAO,OAAO;AAAA,MACd,YAAY,OAAO;AAAA,MACnB,QAAQ,OAAO;AAAA,MACf,MAAM;AAAA,IACP,GACA,oBACD;AAAA,IACA,WAAW,QACV,QACC,4BAA4B,OAAO,IAAI,OAAO,SAAS,KAAK,GAC5D,OACD,CACD;AAAA;AAAA,EAGD,MAAM,sBAAsB,OAC3B,eACI;AAAA,IACJ,MAAM,UAAU,mBAAmB,UAAU;AAAA,IAC7C,MAAM,yBAAyB,YAAY;AAAA,MAC1C,IAAI,QAAQ,WAAW,GAAG;AAAA,QACzB;AAAA,MACD;AAAA,MAEA,MAAM,2BAA2B,YAAY,OAAO;AAAA,MAEpD,MAAM,uBAAuB;AAAA;AAAA,IAG9B,MAAM,uBAAuB;AAAA;AAAA,EAE9B,MAAM,oBAAoB,MAAM;AAAA,IAC/B,MAAM,kBACL,cAAc,SAAS,KACvB,CAAC,WAAW,SAAS,wBAAwB;AAAA,IAC9C,IAAI,CAAC,iBAAiB;AAAA,MACrB,OAAO;AAAA,IACR;AAAA,IAEA,OAAO,mBACN,YACA,+BAA+B,KAAK,CACrC;AAAA;AAAA,EAGD,OAAO,IAAI,eAA2B;AAAA,SAC/B,MAAK,CAAC,YAAY;AAAA,MACvB,IAAI;AAAA,QACH,MAAM,SAAS,kBAAkB;AAAA,QACjC,WAAW,QAAQ,QAAQ,QAAQ,OAAO,CAAC;AAAA,QAC3C,MAAM,oBAAoB,UAAU;AAAA,QAEpC,mBAAmB,YAAY,SAAS,UAAU;AAAA,QAClD,WAAW,MAAM;AAAA,QAChB,OAAO,OAAO;AAAA,QACf,WAAW,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA;AAAA;AAAA,EApqCF;AAAA,EACA;AAAA,EAKM,0BAA0B,iBAAiB;AAAA,EAC3C,0BAA0B,kBAAiB;AAAA,EAC3C,yBAAyB;AAAA,EAgK3B,6BAAuD;AAAA,IAC1D,WAAW;AAAA,IACX,cAAc;AAAA,IACd,sBAAsB;AAAA,IACtB,qBAAqB;AAAA,IACrB,WAAW;AAAA,EACZ;AAAA;;;ICzKa,oBAAoB,CAAC,aAAqB;AAAA,EACtD,IAAI;AAAA,EAEJ,IAAI,WAAW,0BAA0B;AAAA,IACxC,iBAAiB,GAAG,SAAS,QAAQ,cAAc;AAAA,EACpD,EAAO,SAAI,WAAW,0BAA0B;AAAA,IAC/C,iBAAiB,IAAI,WAAW,0BAA0B,QAAQ,cAAc;AAAA,EACjF,EAAO;AAAA,IACN,iBAAiB,IAAI,WAAW,0BAA0B,QAAQ,cAAc;AAAA;AAAA,EAGjF,OAAO;AAAA;AAAA;AAAA,EAjBR;AAAA;;;ICGM,QAQA,QAeO,kBAAkB,MAAM;AAAA,EACpC,MAAM,MAAM,IAAI;AAAA,EAChB,MAAM,QAAQ,OAAO,IAAI,SAAS;AAAA,EAClC,MAAM,MAAM,IAAI,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EACpD,IAAI,QAAQ,IAAI,SAAS;AAAA,EACzB,MAAM,UAAU,IAAI,WAAW,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EAC3D,MAAM,UAAU,IAAI,WAAW,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EAC3D,MAAM,OAAO,SAAS,oBAAoB,OAAO;AAAA,EACjD,QAAQ,QAAQ,qBAAqB;AAAA,EAErC,OAAO,GAAG,SAAS,OAAO,SAAS,WAAW,WAAW;AAAA,GAG7C,gBAAgB,CAAC,YAQxB;AAAA,EACL;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACR;AAAA,EACJ,MAAM,OAAO,GAAG,OAAO,OAAO,OAAO,iBAAiB,OAAO;AAAA,EAC7D,MAAM,MAAM,GAAG,OAAO,OAAO,UAAU,OAAO;AAAA,EAC9C,MAAM,OAAO,GAAG,OAAO,cAAc,OAAO,SAAS,OAAO,OAAO,kBAAkB,aAAa,IAAI,OAAO;AAAA,EAC7G,MAAM,QACL,OAAO,kBAAkB,YAAY,OAAO,SAAS,aAAa,IAC/D,IAAI,OAAO,aAAa,kBAAkB,aAAa,KAAK,OAAO,UACnE;AAAA,EACJ,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IAAI,KAAK,QAAQ,QAAQ,OAAO,OAAO;AAAA,EAC/C,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IACP,KAAK,OAAO,cAAQ,OAAO,UAAU,OAAO,aAAa,OAAO,WAAW,cAAc,SAAS,YAAY,cAAc,QAAQ,OACrI;AAAA,EACA,IAAI,YAAY;AAAA,IACf,QAAQ,IACP,KAAK,OAAO,cAAQ,OAAO,UAAU,OAAO,eAAe,OAAO,SAAS,YAC5E;AAAA,EACD;AAAA,EACA,QAAQ,IAAI,EAAE;AAAA;AAAA;AAAA,EA3Ef;AAAA,EACA;AAAA,EAEM,SAAS;AAAA,IACd,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AAAA,EAEM,SAAS;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;ICdM,SAeA,iBAcA,aAAa,CAAC,aAAqB;AAAA,EACxC,MAAM,MAAM,QAAQ,IAAI;AAAA,EACxB,IAAI,YAAW,SAAS,WAAW,GAAG,IACnC,SAAS,MAAM,IAAI,SAAS,CAAC,IAC7B;AAAA,EAEH,YAAW,UAAS,QAAQ,OAAO,GAAG;AAAA,EAEtC,IAAI,CAAC,UAAS,WAAW,GAAG,GAAG;AAAA,IAC9B,YAAW,IAAI;AAAA,EAChB;AAAA,EAEA,OAAO;AAAA,GAMF,oBAAoB,CAAC,cAC1B,gBAAgB,cAAc,QAAO,OAKhC,MAAM,CACX,QACA,YAMI;AAAA,EACJ,MAAM,YAAY,GAAG,QAAO,MAAM,gBAAgB,IAAI,QAAO;AAAA,EAC7D,MAAM,MAAM,GAAG,QAAO,YAAY,QAAO;AAAA,EAEzC,IAAI,UAAU;AAAA,EAGd,IAAI,SAAS,MAAM;AAAA,IAClB,MAAM,YAAY,QAAQ,YACvB,kBAAkB,QAAQ,SAAS,IACnC,QAAO;AAAA,IACV,WAAW,IAAI,YAAY,WAAW,QAAQ,IAAI,IAAI,QAAO;AAAA,EAC9D;AAAA,EAGA,IAAI,SAAS,aAAa,WAAW;AAAA,IACpC,WAAW,IAAI,QAAO,OAAO,QAAQ,cAAc,QAAO;AAAA,EAC3D;AAAA,EAEA,QAAQ,IAAI,GAAG,aAAa,OAAO,SAAS;AAAA,GAYhC,eAAe,CAC3B,MACA,WACA,aACI;AAAA,EACJ,IAAI,cAAc,EAAE,UAAU,WAAW,aAAa,OAAO,KAAK,CAAC;AAAA,GAOvD,WAAW,CAAC,SAAiB,UAA2B;AAAA,EACpE,MAAM,YAAY,GAAG,QAAO,MAAM,gBAAgB,IAAI,QAAO;AAAA,EAC7D,MAAM,MAAM,GAAG,QAAO,WAAW,QAAO;AAAA,EACxC,MAAM,WAAW,iBAAiB,QAAQ,MAAM,UAAU;AAAA,EAC1D,MAAM,cAAc,GAAG,QAAO,WAAW,QAAO,SAAS,UAAU,WAAW,KAAK,aAAa;AAAA,EAChG,QAAQ,MAAM,GAAG,aAAa,OAAO,aAAa;AAAA,GAOtC,eAAe,CAC3B,MACA,WACA,aACI;AAAA,EACJ,IAAI,cAAc,EAAE,UAAU,WAAW,KAAK,CAAC;AAAA,GA0BnC,kBAAkB,CAC9B,MACA,WACA,aACI;AAAA,EACJ,IAAI,iBAAiB,EAAE,UAAU,WAAW,KAAK,CAAC;AAAA,GAMtC,kBAAkB,MAAM;AAAA,EACpC,IAAI,GAAG,QAAO,6BAA6B,QAAO,OAAO;AAAA,GAO7C,UAAU,CAAC,YAAoB;AAAA,EAC3C,MAAM,YAAY,GAAG,QAAO,MAAM,gBAAgB,IAAI,QAAO;AAAA,EAC7D,MAAM,MAAM,GAAG,QAAO,cAAc,QAAO;AAAA,EAC3C,QAAQ,IACP,GAAG,aAAa,OAAO,QAAO,iBAAiB,UAAU,QAAO,OACjE;AAAA;AAAA;AAAA,EAhLD;AAAA,EAKM,UAAS;AAAA,IACd,MAAM;AAAA,IACN,MAAM;AAAA,IAEN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,OAAO;AAAA,IACP,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,EACT;AAAA,EAGM,kBAA0C;AAAA,IAC/C,SAAS,QAAO;AAAA,IAChB,QAAQ,QAAO;AAAA,IACf,KAAK,QAAO;AAAA,IACZ,MAAM,QAAO;AAAA,IACb,MAAM,QAAO;AAAA,IACb,OAAO,QAAO;AAAA,IACd,QAAQ,QAAO;AAAA,IACf,KAAK,QAAO;AAAA,EACb;AAAA;;;IChCM,iBAEO,kBAAkB,CAAC,cAC/B,gBAAgB,IAAI,SAAS,GACjB,oBAAoB,CAAC,cAA+B;AAAA,EAChE,gBAAgB,IAAI,SAAS;AAAA;AAAA;AAAA,EALxB,kBAAkB,IAAI;AAAA;;;ICOtB,mBAOA,uBAOA,qBAAoB,CAAC,UAC1B,kBAAiB,KAAK,CAAC,cAAc,cAAc,KAAK,GAEnD,mBAAkB,CAAC,UACxB,sBAAqB,KAAK,CAAC,YAAY,YAAY,KAAK,GAEnD,2BAA2B,CAAC,oBAA4B;AAAA,EAC7D,MAAM,iBAAiB,gBAAgB,MACtC,oCACD;AAAA,EACA,MAAM,iBAAiB,gBAAgB,MACtC,oCACD;AAAA,EACA,MAAM,eAAe,gBAAgB,MACpC,kCACD;AAAA,EACA,MAAM,YAAY,iBAAiB;AAAA,EACnC,MAAM,YAAY,iBAAiB;AAAA,EACnC,IAAI,CAAC,aAAa,CAAC,WAAW;AAAA,IAC7B,OAAO;AAAA,EACR;AAAA,EACA,IAAI,CAAC,mBAAkB,SAAS,GAAG;AAAA,IAClC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,mBAAmB,eAAe;AAAA,EAExC,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,SACC,oBAAoB,iBAAgB,gBAAgB,IACjD,mBACA;AAAA,EACL;AAAA,GAGK,iBAAiB,CAAC,UACvB,GAAG,MAAM,aAAa,MAAM,aAAa,MAAM,WAAW,MAErD,WAAW,CAChB,UACA,UACI;AAAA,EACJ,IAAI,CAAC;AAAA,IAAO;AAAA,EACZ,SAAS,IAAI,eAAe,KAAK,GAAG,KAAK;AAAA,GAGpC,qBAAqB,CAC1B,UACA,UACI;AAAA,EACJ,SAAS,WAAW,WAAW,WAAW;AAAA,EAC1C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAkB,SAAS,GAAG;AAAA,IAC9D;AAAA,EACD;AAAA,EAEA,SAAS,UAAU;AAAA,IAClB;AAAA,IACA;AAAA,IACA,SAAS,WAAW,iBAAgB,OAAO,IAAI,UAAU;AAAA,EAC1D,CAAC;AAAA,GAGW,6BAA6B,CAAC,WAAmB;AAAA,EAC7D,MAAM,SAAS,8BAA8B,MAAM;AAAA,EACnD,MAAM,aAAa,KAAK,UAAU,MAAM;AAAA,EAExC,OAAO;AAAA,2CAA8C;AAAA,+CAA6D,OAAO,SAAS;AAAA;AAAA,GAEtH,gCAAgC,CAAC,WAAmB;AAAA,EAChE,MAAM,WAAW,IAAI;AAAA,EAErB,MAAM,iBACL;AAAA,EACD,IAAI,iBAAiB,eAAe,KAAK,MAAM;AAAA,EAC/C,OAAO,gBAAgB;AAAA,IACtB,SAAS,UAAU,yBAAyB,eAAe,MAAM,EAAE,CAAC;AAAA,IACpE,iBAAiB,eAAe,KAAK,MAAM;AAAA,EAC5C;AAAA,EAEA,MAAM,yBACL;AAAA,EACD,IAAI,sBAAsB,uBAAuB,KAAK,MAAM;AAAA,EAC5D,OAAO,qBAAqB;AAAA,IAC3B,SACC,UACA,yBAAyB,oBAAoB,MAAM,EAAE,CACtD;AAAA,IACA,sBAAsB,uBAAuB,KAAK,MAAM;AAAA,EACzD;AAAA,EAEA,MAAM,wBACL;AAAA,EACD,IAAI,cAAc,sBAAsB,KAAK,MAAM;AAAA,EACnD,OAAO,aAAa;AAAA,IACnB,mBAAmB,UAAU,WAAW;AAAA,IACxC,cAAc,sBAAsB,KAAK,MAAM;AAAA,EAChD;AAAA,EAEA,OAAO,CAAC,GAAG,SAAS,OAAO,CAAC;AAAA;AAAA;AAAA,EAlHvB,oBAAsC;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EAEM,wBAAwC;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;ICAM,gCAAgC,CAAC,OAAe,UACrD,MAAM,WAAW,OAAO,MAAM,QAAQ,OAAO,KAExC,6BAA6B,CAAC,OAAe,UAAkB;AAAA,EACpE,MAAM,SAAS,QAAQ;AAAA,EACvB,OAAO,SAAS,MAAM,SAAS,GAAG;AAAA,IACjC,MAAM,MAAM,MAAM,QAAQ,MAAM,MAAM;AAAA,IACtC,IAAI,MAAM,GAAG;AAAA,MACZ,OAAO,MAAM;AAAA,IACd;AAAA,IAEA,OAAO,MAAM;AAAA,EACd;AAAA,EAEA,OAAO,MAAM;AAAA,GAGR,mBAAmB,CAAC,MAAc,UAAkB;AAAA,EACzD,IAAI,SAAS,KAAK;AAAA,IACjB,OAAO,QAAQ;AAAA,EAChB;AAAA,EAEA,IAAI,SAAS,KAAK;AAAA,IACjB,OAAO,QAAQ;AAAA,EAChB;AAAA,EAEA,OAAO;AAAA,GAGF,yBAAyB,CAAC,MAAc,UAAkB;AAAA,EAC/D,IAAI,SAAS,KAAK;AAAA,IACjB,OAAO,QAAQ;AAAA,EAChB;AAAA,EAEA,IAAI,SAAS,KAAK;AAAA,IACjB,OAAO,QAAQ;AAAA,EAChB;AAAA,EAEA,OAAO;AAAA,GAGF,sBAAsB,CAC3B,OACA,UACA,QACA,uBACI;AAAA,EACJ,MAAM,eAAe,WAAW,MAAM,MAAM,QAAQ,kBAAkB;AAAA,EACtE,MAAM,aAAa,2BAA2B,OAAO,kBAAkB;AAAA,EACvE,IAAI,aAAa,MAAM,QAAQ;AAAA,IAC9B,OAAO;AAAA,MACN,UAAU;AAAA,MACV,QAAQ,MAAM;AAAA,MACd,MAAM;AAAA,MACN,UAAU,eAAe,MAAM,MAAM,kBAAkB;AAAA,IACxD;AAAA,EACD;AAAA,EAEA,MAAM,aAAa,MACjB,MAAM,qBAAqB,GAAG,aAAa,CAAC,EAC5C,KAAK;AAAA,EAEP,OAAO;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,UAAU;AAAA,EACX;AAAA,GAGK,yBAAyB,CAC9B,OACA,UACA,WACI,WAAW,MAAM,MAAM,MAAM,GAE5B,gCAAgC,CAAC,UAIjC;AAAA,EACL,MAAM,cAAc,4BACnB,MAAM,UACN,MAAM,qBACN,MAAM,OACP;AAAA,EACA,IAAI,CAAC,aAAa;AAAA,IACjB,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA,IACN,SAAS,YAAY,QAAQ,KAAK;AAAA,IAClC,WACC,MAAM,YAAY,iBACf,eAAe,MAAM,UAAU,YAAY,SAAS,IACpD,YAAY;AAAA,EACjB;AAAA,GAGK,wBAAwB,CAC7B,UACA,YACA,iBACI;AAAA,EACJ,MAAM,mBAAmB,eAAe,UAAU,YAAY;AAAA,EAC9D,IAAI,SAAS,sBAAsB,KAAK;AAAA,IACvC,OAAO;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,gBAAgB;AAAA,IACjB;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,SAAS;AAAA,IACT,QAAQ,aAAa,SAAS;AAAA,IAC9B,cAAc;AAAA,IACd,gBAAgB;AAAA,EACjB;AAAA,GAGK,qBAAqB,CAC1B,OACA,OACA,QACA,UACI;AAAA,EACJ,IAAI,8BAA8B,OAAO,MAAM,GAAG;AAAA,IACjD,OAAO;AAAA,MACN,QAAQ,2BAA2B,OAAO,MAAM;AAAA,MAChD;AAAA,MACA,QAAQ;AAAA,IACT;AAAA,EACD;AAAA,EAEA,MAAM,OAAO,MAAM,WAAW;AAAA,EAC9B,MAAM,YAAY,iBAAiB,MAAM,KAAK;AAAA,EAC9C,IAAI,SAAS,OAAO,cAAc,GAAG;AAAA,IACpC,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,QACP,SAAS,MAAM,MAAM,QAAQ,GAAG,MAAM;AAAA,QACtC,WAAW,SAAS;AAAA,MACrB;AAAA,IACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,QAAQ,SAAS;AAAA,IACjB,OAAO;AAAA,IACP,QAAQ;AAAA,EACT;AAAA,GAGK,+BAA+B,CACpC,OACA,UACA,QACA,mBACI;AAAA,EACJ,MAAM,qBAAqB,MAAM,QAAQ,MAAM,MAAM;AAAA,EACrD,IAAI,qBAAqB,GAAG;AAAA,IAC3B,OAAO;AAAA,MACN,SAAS;AAAA,MACT;AAAA,MACA,MAAM;AAAA,MACN,UAAU,uBAAuB,OAAO,UAAU,MAAM;AAAA,IACzD;AAAA,EACD;AAAA,EAEA,MAAM,YAAY,oBACjB,OACA,UACA,QACA,kBACD;AAAA,EACA,IAAI,UAAU,QAAQ,UAAU,aAAa,WAAW;AAAA,IACvD,OAAO;AAAA,MACN,SAAS;AAAA,MACT;AAAA,MACA,MAAM;AAAA,MACN,UAAU,UAAU;AAAA,IACrB;AAAA,EACD;AAAA,EAEA,MAAM,MAAM,IAAI,eAAe,SAAS,aAAa;AAAA,EAErD,OAAO;AAAA,IACN,SAAS;AAAA,MACR,YAAY,UAAU;AAAA,MACtB;AAAA,IACD;AAAA,IACA,QAAQ,UAAU;AAAA,IAClB,MAAM;AAAA,IACN,UAAU,GAAG,UAAU,wBAAwB;AAAA,EAChD;AAAA,GAGK,qBAAqB,CAAC,UAAkB,WAAmB;AAAA,EAChE,MAAM,aAAa,SAAS,QAAQ,UAAU,MAAM;AAAA,EACpD,IAAI,aAAa,GAAG;AAAA,IACnB,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA,IACN;AAAA,IACA,QAAQ,SAAS,MAAM,QAAQ,UAAU;AAAA,EAC1C;AAAA,GAGK,oBAAoB,CAAC,UAOrB;AAAA,EACL;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG;AAAA,EACJ,MAAM,eAAe,cAAc,QAAQ,KAAK;AAAA,EAChD,MAAM,sBAAsB,0BAA0B,YAAY;AAAA,EAClE,MAAM,KAAK,0BAA0B,UAAU,SAAS,aAAa;AAAA,EACrE,MAAM,OAAgC;AAAA,IACrC,SAAS,aAAa,iBAAiB;AAAA,IACvC;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA,kBAAkB,oBAAoB;AAAA,IACtC;AAAA,IACA,kBAAkB,oBAAoB;AAAA,EACvC;AAAA,EAEA,OAAO;AAAA,IACN;AAAA,IACA,QAAQ,0BAA0B,gDAAgD,cAAc,mBAAmB,IAAI;AAAA,IACvH;AAAA,EACD;AAAA,GAGK,qCAAqC,CAC1C,UACA,cAMI;AAAA,EACJ,IAAI,UAAU,SAAS;AAAA,IACtB,SAAS,KAAK,UAAU,OAAO;AAAA,EAChC;AAAA,EAEA,OAAO;AAAA,IACN,QAAQ,UAAU,OAAO,OAAO,oBAAoB,UAAU;AAAA,IAC9D,MAAM,UAAU;AAAA,IAChB,UAAU,UAAU;AAAA,EACrB;AAAA,GAGK,6BAA6B,CAClC,SACA,aACA,wBACI;AAAA,EACJ,IAAI,CAAC,aAAa;AAAA,IACjB,OAAO;AAAA,MACN;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,SAAS,YAAY,WAAW;AAAA,IAChC,qBAAqB,YAAY;AAAA,EAClC;AAAA,GAGK,gCAAgC,CACrC,iBACA,aACA,wBACI;AAAA,EACJ,MAAM,YAAY,2BACjB,iBACA,aACA,mBACD;AAAA,EAEA,OAAO;AAAA,IACN,qBAAqB,UAAU;AAAA,IAC/B,iBAAiB,UAAU,WAAW;AAAA,EACvC;AAAA,GAGK,0BAA0B,CAC/B,WACA,aACA,wBACI;AAAA,EACJ,MAAM,YAAY,2BACjB,WACA,aACA,mBACD;AAAA,EAEA,OAAO;AAAA,IACN,qBAAqB,UAAU;AAAA,IAC/B,WAAW,UAAU;AAAA,EACtB;AAAA,GAGK,kCAAkC,CAAC,UAAkB,WAAmB;AAAA,EAC7E,MAAM,iBAAiB,mBAAmB,UAAU,MAAM;AAAA,EAC1D,IAAI,gBAAgB;AAAA,IACnB,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA,IACN,YAAY;AAAA,IACZ,QAAQ,SAAS,MAAM,MAAM;AAAA,EAC9B;AAAA,GAGK,6BAA6B,CAClC,iBACA,cAMI;AAAA,EACJ,IAAI,CAAC,UAAU,SAAS;AAAA,IACvB,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA,IACN,SAAS;AAAA,IACT,QAAQ,UAAU;AAAA,IAClB,UAAU,kBAAkB,UAAU;AAAA,EACvC;AAAA,GAGK,0BAA0B,CAC/B,iBACA,UACA,YACA,kBACI;AAAA,EACJ,IAAI,cAAc,QAAQ,KAAK,GAAG;AAAA,IACjC,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA,IACN,QAAQ,cAAc;AAAA,IACtB,UACC,kBACA,SAAS,MAAM,YAAY,cAAc,SAAS;AAAA,EACpD;AAAA,GAGK,gCAAgC,CACrC,iBACA,oBACK;AAAA,EACL,YAAY,eAAe;AAAA,EAC3B,MAAM,eAAe,aAAa;AAAA,EAClC,UAAU,kBAAkB,eAAe;AAC5C,IAEM,uBAAuB,CAC5B,SACA,QACA,iBACA,cAMI;AAAA,EACJ,MAAM,mBAAmB,2BACxB,iBACA,SACD;AAAA,EACA,IAAI,CAAC,kBAAkB;AAAA,IACtB,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,UAAU;AAAA,IACX;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,SAAS;AAAA,IACT,QAAQ,iBAAiB;AAAA,IACzB,UAAU,iBAAiB;AAAA,EAC5B;AAAA,GAGK,0BAA0B,CAC/B,QACA,iBACA,UACA,YACA,kBACI;AAAA,EACJ,MAAM,qBAAqB,wBAC1B,iBACA,UACA,YACA,aACD;AAAA,EACA,IAAI,CAAC,oBAAoB;AAAA,IACxB,OAAO;AAAA,MACN;AAAA,MACA,UAAU;AAAA,IACX;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGF,8BAA8B,CACnC,OACA,UACA,QACA,aACI;AAAA,EACJ,MAAM,YAAY,6BACjB,OACA,UACA,QACA,SAAS,MACV;AAAA,EAEA,OAAO,mCAAmC,UAAU,SAAS;AAAA,GAGxD,0BAA0B,CAAC,UAO3B;AAAA,EACL,QAAQ,SAAS,QAAQ,iBAAiB,WAAW,OAAO,aAC3D;AAAA,EACD,MAAM,iBAAiB,gCAAgC,UAAU,MAAM;AAAA,EACvE,MAAM,mBAAmB,8BACxB,iBACA,cACD;AAAA,EACA,IAAI,iBAAiB,MAAM;AAAA,IAC1B,OAAO;AAAA,EACR;AAAA,EAEA,QAAQ,eAAe;AAAA,EACvB,IAAI,eAAe,aAAa,SAAS;AAAA,EACzC,MAAM,cAAc,+BAA+B,UAAU,YAAY;AAAA,EACzE,QAAQ,sBAAsB;AAAA,GAC7B,EAAE,aAAa,IAAI;AAAA,EACpB,MAAM,YAAY,sBAAsB,UAAU,YAAY,YAAY;AAAA,GACzE,EAAE,aAAa,IAAI;AAAA,EACpB,MAAM,iBAAiB,qBACtB,SACA,QACA,iBAAiB,UACjB,SACD;AAAA,EACA,IAAI,eAAe,YAAY,SAAS;AAAA,IACvC,OAAO;AAAA,MACN,SAAS,eAAe;AAAA,MACxB,QAAQ,eAAe;AAAA,MACvB;AAAA,MACA,UAAU,eAAe;AAAA,IAC1B;AAAA,EACD;AAAA,EAEA,MAAM,gBAAgB,kBAAkB,UAAU,YAAY;AAAA,EAC9D,MAAM,qBAAqB,wBAC1B,QACA,iBAAiB,UACjB,UACA,YACA,aACD;AAAA,EACA,IAAI,mBAAmB,WAAW,QAAQ;AAAA,IACzC,OAAO;AAAA,MACN;AAAA,MACA,QAAQ,mBAAmB;AAAA,MAC3B;AAAA,MACA,UAAU,mBAAmB;AAAA,IAC9B;AAAA,EACD;AAAA,EAEA,MAAM,eAAe,+BACpB,UACA,eAAe,UAAU,cAAc,SAAS,CACjD;AAAA,EACA,MAAM,YAAY,kBAAkB;AAAA,IACnC,qBAAqB,aAAa;AAAA,IAClC,WAAW,aAAa;AAAA,IACxB,iBAAiB,aAAa;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EACD,MAAM,KAAK,UAAU,IAAI;AAAA,EAEzB,OAAO;AAAA,IACN,SAAS;AAAA,IACT,QAAQ,UAAU;AAAA,IAClB,WAAW,YAAY;AAAA,IACvB,UAAU,iBAAiB,WAAW,UAAU;AAAA,EACjD;AAAA,GAGK,oBAAoB,CACzB,OACA,UAC4C;AAAA,EAC5C,IAAI,MAAM,WAAW,KAAK;AAAA,IACzB,OAAO,EAAE,SAAS,IAAI,WAAW,MAAM;AAAA,EACxC;AAAA,EAEA,IAAI,SAAS,QAAQ;AAAA,EACrB,IAAI,QAAQ;AAAA,EAEZ,OAAO,SAAS,MAAM,QAAQ;AAAA,IAC7B,MAAM,WAAW,mBAAmB,OAAO,OAAO,QAAQ,KAAK;AAAA,IAC/D,IAAI,SAAS,QAAQ;AAAA,MACpB,OAAO,SAAS;AAAA,IACjB;AAAA,KAEC,EAAE,QAAQ,MAAM,IAAI;AAAA,EACtB;AAAA,EAEA,OAAO,EAAE,SAAS,MAAM,MAAM,QAAQ,CAAC,GAAG,WAAW,MAAM,OAAO;AAAA,GAG7D,iBAAiB,CAAC,OAAe,UAAkB;AAAA,EACxD,IAAI,SAAS;AAAA,EACb,OAAO,SAAS,MAAM,UAAU,KAAK,KAAK,MAAM,WAAW,EAAE,GAAG;AAAA,IAC/D,UAAU;AAAA,EACX;AAAA,EAEA,OAAO;AAAA,GAGF,kCAAkC,CACvC,OACA,UACsD;AAAA,EACtD,IAAI,SAAS,eAAe,OAAO,KAAK;AAAA,EACxC,IAAI,MAAM,YAAY,KAAK;AAAA,IAC1B,OAAO;AAAA,EACR;AAAA,EAEA,UAAU;AAAA,EACV,IAAI,QAAQ;AAAA,EACZ,MAAM,QAAQ;AAAA,EAEd,OAAO,SAAS,MAAM,QAAQ;AAAA,IAC7B,MAAM,OAAO,MAAM,WAAW;AAAA,IAC9B,MAAM,YAAY,uBAAuB,MAAM,KAAK;AAAA,IACpD,IAAI,SAAS,OAAO,cAAc,GAAG;AAAA,MACpC,OAAO;AAAA,QACN,YAAY,MAAM,MAAM,OAAO,MAAM;AAAA,QACrC,WAAW,SAAS;AAAA,MACrB;AAAA,IACD;AAAA,IAEA,QAAQ;AAAA,IACR,UAAU;AAAA,EACX;AAAA,EAEA,OAAO,EAAE,YAAY,MAAM,MAAM,KAAK,GAAG,WAAW,MAAM,OAAO;AAAA,GAG5D,eAAe,CAAC,sBAA0C;AAAA,EAC/D,IAAI,CAAC;AAAA,IAAmB,OAAO;AAAA,EAC/B,MAAM,eAAe,kBAAkB,MAAM,4BAA4B;AAAA,EACzE,IAAI,eAAe;AAAA,IAAI,OAAO,OAAO,SAAS,aAAa,IAAI,EAAE;AAAA,EACjE,MAAM,oBAAoB,kBAAkB,MAC3C,2BACD;AAAA,EACA,IAAI,oBAAoB,IAAI;AAAA,IAC3B,OACC,OAAO,SAAS,kBAAkB,IAAI,EAAE,IAAI;AAAA,EAE9C;AAAA,EAEA,IAAI,sBAAsB,KAAK,iBAAiB;AAAA,IAAG,OAAO;AAAA,EAC1D,IAAI,iBAAiB,KAAK,iBAAiB;AAAA,IAAG,OAAO;AAAA,EAErD,OAAO;AAAA,GAGF,4BAA4B,CAAC,UAAkB;AAAA,EACpD,MAAM,WAAuD,CAAC;AAAA,EAC9D,IAAI,WAAW;AAAA,EACf,IAAI,SAAS;AAAA,EAEb,OAAO,SAAS,MAAM,QAAQ;AAAA,IAC7B,MAAM,eAAe,4BACpB,OACA,UACA,QACA,QACD;AAAA,KACC,EAAE,QAAQ,SAAS,IAAI;AAAA,EACzB;AAAA,EAEA,OAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AAAA,GAGK,iCAAiC,CACtC,UACA,iBACI;AAAA,EACJ,MAAM,gBAAgB,gCACrB,UACA,YACD;AAAA,EACA,IAAI,CAAC,eAAe;AAAA,IACnB,OAAO;AAAA,MACN;AAAA,MACA,mBAAmB;AAAA,IACpB;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,cAAc,cAAc;AAAA,IAC5B,mBAAmB,cAAc,WAAW,KAAK;AAAA,EAClD;AAAA,GAGK,8BAA8B,CACnC,UACA,qBACA,YACI;AAAA,EACJ,IAAI,CAAC,SAAS,WAAW,SAAS,mBAAmB,GAAG;AAAA,IACvD,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,qBAAqB,sBAAsB,QAAQ;AAAA,EACzD,MAAM,aAAa,eAAe,UAAU,kBAAkB;AAAA,EAC9D,IAAI,SAAS,gBAAgB,KAAK;AAAA,IACjC,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,kBAAkB,UAAU,UAAU;AAAA,GAGxC,iCAAiC,CACtC,UACA,gBACI;AAAA,EACJ,IAAI,sBAAsB;AAAA,EAC1B,IAAI,kBAAkB;AAAA,EACtB,IAAI,YAA2B;AAAA,EAE/B,MAAM,oBAAoB,8BAA8B;AAAA,IACvD;AAAA,IACA,SAAS;AAAA,IACT;AAAA,EACD,CAAC;AAAA,GACA,EAAE,iBAAiB,oBAAoB,IAAI,8BAC3C,iBACA,mBACA,mBACD;AAAA,EAEA,MAAM,cAAc,8BAA8B;AAAA,IACjD;AAAA,IACA,SAAS;AAAA,IACT;AAAA,EACD,CAAC;AAAA,GACA,EAAE,WAAW,oBAAoB,IAAI,wBACrC,WACA,aACA,mBACD;AAAA,EAEA,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,GAGK,qBAAqB,CAAC,SAAkC;AAAA,EAC7D,MAAM,YAAY;AAAA,IACjB,8CAA8C,KAAK;AAAA,EACpD;AAAA,EAEA,IAAI,KAAK,aAAa,SAAS,GAAG;AAAA,IACjC,UAAU,KACT,iCAAiC,KAAK,4BACvC;AAAA,EACD;AAAA,EACA,IAAI,KAAK,WAAW;AAAA,IACnB,UAAU,KACT,8BAA8B,KAAK,yBACpC;AAAA,EACD;AAAA,EAEA,OAAO,UAAU,KAAK,EAAE;AAAA,GAGZ,0BAA0B,CACtC,aAC+B;AAAA,EAC/B,IAAI,CAAC,SAAS,SAAS,QAAQ,GAAG;AAAA,IACjC,OAAO;AAAA,MACN,OAAO,CAAC;AAAA,MACR;AAAA,MACA,aAAa;AAAA,IACd;AAAA,EACD;AAAA,EAEA,IAAI,SAAS;AAAA,EACb,IAAI,YAAY;AAAA,EAChB,MAAM,QAAmC,CAAC;AAAA,EAC1C,IAAI,kBAAkB;AAAA,EACtB,IAAI,UAAU;AAAA,EACd,IAAI,YAAY,wBAAwB;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EACD,OAAO,WAAW;AAAA,KAChB,EAAE,SAAS,QAAQ,WAAW,UAAU,gBAAgB,IAAI;AAAA,IAC7D,YAAY,wBAAwB;AAAA,MACnC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAAA,EACF;AAAA,EAEA,MAAM,sBACL,MAAM,SAAS,IACZ,kBAAkB,SAAS,MAAM,MAAM,IACvC,SAAS,WAAW,UAAU,YAAY;AAAA,EAE9C,OAAO;AAAA,IACN;AAAA,IACA,UAAU;AAAA,IACV,aAAa,MAAM,SAAS;AAAA,EAC7B;AAAA;AAAA;AAAA,EAvxBD;AAAA;;;;;;;;;ACAA,uBAAS,6BAAY,2BAAc;AACnC,iBAAS,mBAAM,2BAAe,qBAAS,sBAAS;AAEhD;AAAA,IAqBM,0BAA0B,MAAM;AAAA,EACrC,IAAI;AAAA,IACH,MAAM,aAAa,SAAQ,QAAQ,IAAI,GAAG,eAAe;AAAA,IACzD,MAAM,SAAS,GAAG,eAAe,YAAY,GAAG,IAAI,QAAQ,EAAE;AAAA,IAQ9D,MAAM,kBAAkB,QAAQ,mBAAmB,CAAC;AAAA,IACpD,MAAM,UAAU,SAAQ,QAAQ,IAAI,GAAG,gBAAgB,WAAW,GAAG;AAAA,IACrE,MAAM,UAA+B,OAAO,QAC3C,gBAAgB,SAAS,CAAC,CAC3B,EAAE,IAAI,EAAE,SAAS,mBAAmB,EAAE,SAAS,aAAa,EAAE;AAAA,IAE9D,OAAO,EAAE,SAAS,QAAQ;AAAA,IACzB,MAAM;AAAA,IACP,OAAO,EAAE,SAAS,CAAC,GAA0B,SAAS,QAAQ,IAAI,EAAE;AAAA;AAAA,GAIhE,qBAAqB,CAC1B,WACA,SACA,SACA,sBACI;AAAA,EACJ,WAAW,SAAS,SAAS;AAAA,IAC5B,MAAM,gBAAgB,MAAM,QAAQ,QAAQ,GAAG;AAAA,IAC/C,MAAM,aAAa,kBAAkB;AAAA,IACrC,IAAI,cAAc,cAAc,MAAM;AAAA,MAAS;AAAA,IAE/C,MAAM,SAAS,aACZ,MAAM,UACN,MAAM,QAAQ,MAAM,GAAG,aAAa;AAAA,IACvC,MAAM,SAAS,aAAa,KAAK,MAAM,QAAQ,MAAM,gBAAgB,CAAC;AAAA,IACtE,IACC,CAAC,eACA,CAAC,UAAU,WAAW,MAAM,KAAK,CAAC,UAAU,SAAS,MAAM,IAC3D;AAAA,MACD;AAAA,IACD;AAAA,IAEA,MAAM,gBAAgB,aACnB,KACA,UAAU,MAAM,OAAO,QAAQ,UAAU,SAAS,OAAO,MAAM;AAAA,IAClE,WAAW,eAAe,MAAM,cAAc;AAAA,MAC7C,MAAM,YAAY,YAAY,QAAQ,KAAK,aAAa;AAAA,MACxD,MAAM,WAAW,kBAAkB,SAAQ,SAAS,SAAS,CAAC;AAAA,MAC9D,IAAI;AAAA,QAAU,OAAO;AAAA,IACtB;AAAA,EACD;AAAA,EAEA;AAAA,GAGK,oBAAoB,CAAC,cAAsB;AAAA,EAChD,MAAM,aAAa,UAAU,MAAM,iBAAiB,IACjD,CAAC,SAAS,IACV;AAAA,IACA,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,MAAK,WAAW,UAAU;AAAA,IAC1B,MAAK,WAAW,WAAW;AAAA,IAC3B,MAAK,WAAW,UAAU;AAAA,IAC1B,MAAK,WAAW,WAAW;AAAA,EAC5B;AAAA,EAEF,OAAO,WAAW,KAAK,CAAC,SAAS,YAAW,IAAI,CAAC;AAAA,GAG5C,wCAAwC,OAC7C,WACA,YACI;AAAA,EACJ,MAAM,UAAU,SAAQ,OAAO;AAAA,EAC/B,MAAM,kBAAkB,wBAAwB;AAAA,EAChD,MAAM,cAAa,IAAI,IAAI,WAAW,EAAE,QAAQ,MAAM,CAAC;AAAA,EACvD,MAAM,UAAU,IAAI;AAAA,EAEpB,MAAM,qBAAqB,CAAC,WAAmB,YAAoB;AAAA,IAClE,IAAI,UAAU,WAAW,GAAG,KAAK,UAAU,WAAW,GAAG,GAAG;AAAA,MAC3D,OAAO,kBAAkB,SAAQ,SAAS,SAAS,CAAC;AAAA,IACrD;AAAA,IAEA,MAAM,UAAU,mBACf,WACA,gBAAgB,SAChB,gBAAgB,SAChB,iBACD;AAAA,IACA,IAAI;AAAA,MAAS,OAAO;AAAA,IAEpB,IAAI;AAAA,MACH,MAAM,WAAW,IAAI,YAAY,WAAW,OAAO;AAAA,MACnD,IAAI,SAAS,SAAS,gBAAgB;AAAA,QAAG;AAAA,MACzC,MAAM,WAAW,SAAQ,QAAQ;AAAA,MACjC,IAAI,CAAC,SAAS,WAAW,OAAO;AAAA,QAAG;AAAA,MAEnC,OAAO,kBAAkB,QAAQ;AAAA,MAChC,MAAM;AAAA,MACP;AAAA;AAAA;AAAA,EAIF,MAAM,QAAQ,OAAO,aAAuC;AAAA,IAC3D,MAAM,aAAa,kBAAkB,QAAQ;AAAA,IAC7C,IAAI,CAAC;AAAA,MAAY,OAAO;AAAA,IACxB,MAAM,WAAW,SAAQ,UAAU;AAAA,IACnC,IAAI,QAAQ,IAAI,QAAQ;AAAA,MAAG,OAAO;AAAA,IAClC,QAAQ,IAAI,QAAQ;AAAA,IAEpB,IAAI;AAAA,IACJ,IAAI;AAAA,MACH,aAAa,MAAM,GAAG,SAAS,UAAU,OAAO;AAAA,MAC/C,MAAM;AAAA,MACP,OAAO;AAAA;AAAA,IAGR,IAAI;AAAA,IACJ,IAAI;AAAA,MACH,UAAU,YAAW,YAAY,UAAU;AAAA,MAC1C,MAAM;AAAA,MACP,OAAO;AAAA;AAAA,IAGR,WAAW,OAAO,SAAS;AAAA,MAC1B,IAAI,IAAI,SAAS;AAAA,QAAuB,OAAO;AAAA,IAChD;AAAA,IAEA,WAAW,OAAO,SAAS;AAAA,MAC1B,MAAM,eAAe,mBACpB,IAAI,MACJ,SAAQ,QAAQ,CACjB;AAAA,MACA,IAAI,gBAAiB,MAAM,MAAM,YAAY;AAAA,QAAI,OAAO;AAAA,IACzD;AAAA,IAEA,OAAO;AAAA;AAAA,EAGR,OAAO,MAAM,SAAS;AAAA,GAGjB,sBAAsB,MAAM;AAAA,EACjC,MAAM,cAAc,QAAQ,IAAI;AAAA,EAChC,MAAM,aAAa,SAAQ,YAAY,KAAK,eAAe;AAAA,EAE3D,IAAI,YAAW,UAAU,KAAK,WAAW,WAAW,WAAW,GAAG;AAAA,IACjE,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,kBAAkB,SACvB,aACA,mDACD;AAAA,EACA,IAAI,YAAW,eAAe;AAAA,IAAG,OAAO;AAAA,EAExC,OAAO,SAAQ,YAAY,KAAK,cAAc;AAAA,GAGzC,cAEA,eAGA,gBASA,wBAAwB,CAAC,SAAiB,aAAqB;AAAA,EAEpE,MAAM,sBAAsB;AAAA,EAC5B,MAAM,iBAA2B,CAAC;AAAA,EAClC,IAAI;AAAA,EACJ,QAAQ,QAAQ,oBAAoB,KAAK,OAAO,OAAO,MAAM;AAAA,IAC5D,IAAI,MAAM;AAAA,MAAI,eAAe,KAAK,MAAM,EAAE;AAAA,EAC3C;AAAA,EAEA,IAAI,eAAe,WAAW;AAAA,IAAG,OAAO;AAAA,EAGxC,MAAM,gBAAgB,eACpB,IACA,CAAC,SACA,gBAAgB,yDAAyD,YAAY,UAAU,QACjG,EACC,KAAK;AAAA,CAAI;AAAA,EAEX,MAAM,WAAW;AAAA;AAAA;AAAA,EAAgI;AAAA;AAAA;AAAA,EAEjJ,OAAO,UAAU;AAAA,GAGZ,0BAA0B,CAAC,eAA8B;AAAA,EAC9D,IAAI;AAAA,IACH,OAAO,GAAG,6BAA6B,WAAW,aAAa;AAAA,CAAI;AAAA,IAClE,MAAM;AAAA,IACP,OAAO,OAAO,WAAW,eAAe,eAAe;AAAA;AAAA,GAInD,2BAA2B,CAChC,gBACI;AAAA,EACJ,IAAI,CAAC,aAAa;AAAA,IAAQ;AAAA,EAE1B,MAAM,SAAS,YAAY,OAC1B,CAAC,SAAS,KAAK,aAAa,GAAG,mBAAmB,KACnD;AAAA,EACA,IAAI,CAAC,OAAO;AAAA,IAAQ;AAAA,EAEpB,MAAM,cAAc,OAAO,IAAI,uBAAuB,EAAE,KAAK;AAAA,CAAI;AAAA,EACjE,QAAQ,MAAM,+BAA+B,WAAW;AAAA,EACxD,MAAM,IAAI,MAAM,WAAW;AAAA,GAGtB,sBAAsB,CAC3B,UACA,gBACA,WACI;AAAA,EACJ,IAAI,SAAS,WAAW,cAAc;AAAA,IACrC,OAAO,SAAS,UAAU,eAAe,SAAS,CAAC;AAAA,EACpD,IAAI,SAAS,WAAW,MAAM;AAAA,IAC7B,OAAO,SAAS,UAAU,OAAO,SAAS,CAAC;AAAA,EAE5C,OAAO;AAAA,GAGF,qBAAqB,CAAC,SAAiB,qBAAqB,KAAK,IAAI,GAErE,6BAA6B,CAClC,oBACA,WACA,gBACI;AAAA,EACJ,IAAI,UAAU,SAAS,KAAK;AAAA,IAAG,OAAO,UAAU,QAAQ,SAAS,KAAK;AAAA,EACtE,IAAI,mBAAmB,SAAS;AAAA,IAAG,OAAO;AAAA,EAE1C,MAAM,cAAc,SAAQ,kBAAkB;AAAA,EAC9C,MAAM,gBAAgB,SAAQ,aAAa,GAAG,cAAc;AAAA,EAC5D,IAAI,aAAa,IAAI,aAAa,KAAK,YAAW,aAAa,GAAG;AAAA,IACjE,OAAO,GAAG;AAAA,EACX;AAAA,EAEA,MAAM,iBAAiB,SAAQ,aAAa,WAAW,UAAU;AAAA,EACjE,IAAI,aAAa,IAAI,cAAc,KAAK,YAAW,cAAc,GAAG;AAAA,IACnE,OAAO,GAAG;AAAA,EACX;AAAA,EAEA,OAAO,GAAG;AAAA,GAGL,4BAA4B,CAAC,cAClC,UAAU,WAAW,IAAI,KAAK,UAAU,WAAW,KAAK,GAEnD,+BAA+B,CAAC,QAAgB,aAAqB;AAAA,EAC1E,MAAM,aAAa,GAAG,iBACrB,UACA,QACA,GAAG,aAAa,QAChB,MACA,GAAG,WAAW,EACf;AAAA,EACA,MAAM,aAAuB,CAAC;AAAA,EAC9B,MAAM,eAAe,CAAC,SAA8B;AAAA,IACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,oBAAoB,IAAI;AAAA,MAAG;AAAA,IAC5C,MAAM,YAAY,KAAK;AAAA,IACvB,IAAI,0BAA0B,SAAS;AAAA,MAAG,WAAW,KAAK,SAAS;AAAA;AAAA,EAGpE,MAAM,QAAQ,CAAC,SAAkB;AAAA,IAChC,IAAI,GAAG,oBAAoB,IAAI,KAAK,GAAG,oBAAoB,IAAI,GAAG;AAAA,MACjE,aAAa,KAAK,eAAe;AAAA,IAClC,EAAO,SACN,GAAG,iBAAiB,IAAI,KACxB,KAAK,WAAW,SAAS,GAAG,WAAW,eACtC;AAAA,MACD,aAAa,KAAK,UAAU,EAAE;AAAA,IAC/B;AAAA,IACA,GAAG,aAAa,MAAM,KAAK;AAAA;AAAA,EAE5B,MAAM,UAAU;AAAA,EAEhB,OAAO;AAAA,GAGF,uBAAuB,CAAC,UAAkB,cAAsB;AAAA,EACrE,IAAI,CAAC,0BAA0B,SAAS;AAAA,IAAG,OAAO;AAAA,EAClD,MAAM,WAAW,SAAQ,SAAQ,QAAQ,GAAG,SAAS;AAAA,EACrD,MAAM,aAAa,kBAAkB,KAAK,QAAQ,IAC/C,CAAC,QAAQ,IACT;AAAA,IACA,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,MAAK,UAAU,UAAU;AAAA,IACzB,MAAK,UAAU,WAAW;AAAA,IAC1B,MAAK,UAAU,WAAW;AAAA,IAC1B,MAAK,UAAU,WAAW;AAAA,EAC3B;AAAA,EAEF,OACC,WACE,IAAI,CAAC,cAAc,SAAQ,SAAS,CAAC,EACrC,KACA,CAAC,cACA,YAAW,SAAS,KAAK,CAAC,UAAU,SAAS,OAAO,CACtD,KAAK;AAAA,GAIF,0BAA0B,OAC/B,UACA,cACI;AAAA,EACJ,MAAM,aAAa,YAAW,QAAQ;AAAA,EACtC,IAAI,OAAO,eAAe;AAAA,IAAU,OAAO;AAAA,EAE3C,OAAO,GAAG,SAAS,UAAU,OAAO;AAAA,GAG/B,kCAAkC,OACvC,WACA,WACA,uBACI;AAAA,EACJ,MAAM,qBAAqB,IAAI;AAAA,EAC/B,MAAM,UAAU,IAAI;AAAA,EAEpB,MAAM,gBAAgB,OAAO,aAAqB;AAAA,IACjD,MAAM,eAAe,SAAQ,QAAQ;AAAA,IACrC,IAAI,QAAQ,IAAI,YAAY;AAAA,MAAG;AAAA,IAC/B,QAAQ,IAAI,YAAY;AAAA,IACxB,IAAI,CAAC,YAAW,YAAY,KAAK,aAAa,SAAS,OAAO;AAAA,MAAG;AAAA,IAEjE,MAAM,SAAS,MAAM,wBAAwB,cAAc,SAAQ;AAAA,IACnE,MAAM,cAAc,MAAM,gBACzB,QACA,SAAQ,YAAY,GACpB,kBACD;AAAA,IACA,mBAAmB,IAAI,cAAc,YAAY,MAAM;AAAA,IAEvD,MAAM,UAAU,6BAA6B,QAAQ,YAAY;AAAA,IACjE,MAAM,QAAQ,IACb,QAAQ,IAAI,OAAO,cAAc;AAAA,MAChC,MAAM,iBAAiB,qBACtB,cACA,SACD;AAAA,MACA,IAAI;AAAA,QAAgB,MAAM,cAAc,cAAc;AAAA,KACtD,CACF;AAAA;AAAA,EAGD,MAAM,cAAc,SAAS;AAAA,EAE7B,OAAO;AAAA,GAGK,qBAAqB,OACjC,WACA,QACA,uBACI;AAAA,EACJ,MAAM,wBAAwB,2BAC7B,cAAa,WAAW,OAAO,CAChC;AAAA,EACA,QAAQ,mBAAmB,oBAAoB,cAAc,MAC5D;AAAA,EAID,MAAM;AAAA,EACN,MAAM,YAAY,SAAQ,MAAM;AAAA,EAChC,MAAM,WAAW,UAAU,SAAS,KAAK,IACtC,YACA,SAAQ,WAAW,KAAK;AAAA,EAG3B,MAAM,SAAS,kBAAkB,iBAAiB;AAAA,EAIlD,MAAM,UAA2B;AAAA,IAChC,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IACjB,wBAAwB;AAAA,IACxB,QAAQ,GAAG,WAAW;AAAA,IACtB,kBAAkB,GAAG,qBAAqB;AAAA,IAC1C,SAAS,GAAG,YAAY;AAAA,IACxB,OAAO;AAAA,IACP;AAAA,IACA,cAAc;AAAA,IACd,QAAQ,GAAG,aAAa;AAAA,OACrB,OAAO;AAAA,EACX;AAAA,EAIA,QAAQ,SAAS,GAAG,aAAa;AAAA,EAGjC,QAAQ,yBAAyB;AAAA,EACjC,QAAQ,wBAAwB;AAAA,EAGhC,QAAQ,UAAU,GAAG,YAAY;AAAA,EAIjC,QAAQ,SAAS;AAAA,EAIjB,QAAQ,SAAS;AAAA,EAKjB,QAAQ,cAAc;AAAA,EACtB,QAAQ,kBAAkB;AAAA,EAI1B,QAAQ,UAAU,QAAQ,IAAI;AAAA,EAK9B,MAAM,OAAO,GAAG,mBAAmB,OAAO;AAAA,EAG1C,MAAM,gCAAgC,KAAK;AAAA,EAC3C,KAAK,wBAAwB,MAC5B,aACC,gCACE,8BAA8B,IAC9B;AAAA,EAEJ,MAAM,gCAAgC,KAAK;AAAA,EAC3C,KAAK,wBAAwB,CAAC,SAA6B;AAAA,IAC1D,MAAM,WAAW,gCACd,8BAA8B,IAAI,IAClC;AAAA,IAEH,OAAO,UAAS,QAAQ;AAAA;AAAA,EAGzB,MAAM,wBAAwB,KAAK;AAAA,EACnC,KAAK,gBAAgB,CACpB,UACA,iBACA,YACI;AAAA,IACJ,IACC,SAAS,WAAW,MAAM,KAC1B,SAAS,SAAS,OAAO,KACzB,UACC;AAAA,MACD,MAAM,eAAe,MAAK,UAAU,QAAQ;AAAA,MAE5C,OAAO,uBAAuB,KAC7B,MACA,cACA,iBACA,OACD;AAAA,IACD;AAAA,IAEA,OAAO,uBAAuB,KAC7B,MACA,UACA,iBACA,OACD;AAAA;AAAA,EAGD,MAAM,UAAkC,CAAC;AAAA,EACzC,MAAM,iBAAiB,SAAQ,MAAM;AAAA,EACrC,KAAK,YAAY,CAAC,UAAU,SAAS;AAAA,IACpC,MAAM,eAAe,oBACpB,UACA,gBACA,MACD;AAAA,IACA,QAAQ,gBAAgB;AAAA;AAAA,EAEzB,MAAM,mBAAmB,KAAK;AAAA,EAC9B,MAAM,wBAAwB,MAAM,gCACnC,WACA,kBAAkB,KAAK,IAAI,GAC3B,kBACD;AAAA,EACA,KAAK,WAAW,CAAC,aAAqB;AAAA,IACrC,MAAM,SAAS,mBACZ,iBAAiB,KAAK,MAAM,QAAQ,IACpC;AAAA,IACH,IAAI,OAAO,WAAW;AAAA,MAAU,OAAO;AAAA,IACvC,IAAI,CAAC,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,OAAO,GAAG;AAAA,MAC5D,OAAO;AAAA,IACR;AAAA,IACA,MAAM,eAAe,SAAQ,QAAQ;AAAA,IAErC,OAAO,sBAAsB,IAAI,YAAY,KAAK;AAAA;AAAA,EAEnD,MAAM,kCAAkC,KAAK;AAAA,EAC7C,KAAK,gBAAgB,CACpB,UACA,iBACA,YACI;AAAA,IACJ,MAAM,SAAS,KAAK,SAAS,QAAQ;AAAA,IACrC,IAAI,OAAO,WAAW,UAAU;AAAA,MAC/B,OAAO,GAAG,iBAAiB,UAAU,QAAQ,iBAAiB,IAAI;AAAA,IACnE;AAAA,IAEA,OAAO,iCAAiC,KACvC,MACA,UACA,iBACA,OACD;AAAA;AAAA,EAGD,IAAI;AAAA,EACJ,IAAI;AAAA,KACF,EAAE,YAAY,IAAI,mBAAmB;AAAA,MACrC,WAAW,UAAU;AAAA,MACrB;AAAA,MACA;AAAA,MACA,WAAW,CAAC,SAAS;AAAA,IACtB,CAAC;AAAA,YACA;AAAA,IACD,KAAK,WAAW;AAAA,IAChB,KAAK,gBAAgB;AAAA;AAAA,EAGtB,yBAAyB,WAAW;AAAA,EAEpC,MAAM,aAAa,OAAO,QAAQ,OAAO,EACvC,OAAO,EAAE,cAAc,SAAS,SAAS,KAAK,CAAC,EAC/C,IAAI,EAAE,UAAU,cAAc;AAAA,IAC9B;AAAA,IACA,QAAQ,MAAK,QAAQ,QAAQ;AAAA,EAC9B,EAAE;AAAA,EACH,MAAM,cAAc,IAAI,IAAI,WAAW,IAAI,GAAG,aAAa,SAAQ,MAAM,CAAC,CAAC;AAAA,EAC3E,MAAM,UAAU,WAAW,IAAI,GAAG,SAAS,aAAa;AAAA,IAItD,IAAI,mBAAmB,QAAQ,QAC9B,qCACA,CAAC,OAAO,OAAO,SAAS;AAAA,MACvB,MAAM,YAAY,2BACjB,QACA,MACA,WACD;AAAA,MACA,IAAI,cAAc,MAAM;AAAA,QACvB,OAAO,QAAQ,QAAQ,YAAY;AAAA,MACpC;AAAA,MAEA,OAAO;AAAA,KAET;AAAA,IAGA,mBAAmB,iBACjB,QAAQ,gCAAqB,0BAAgB,EAC7C,QAAQ,8BAAmB,wBAAc,EACzC,QAAQ,6BAAkB,sBAAY,EACtC,QAAQ,4BAAiB,sBAAY,EACrC,QAAQ,4BAAiB,sBAAY;AAAA,IAIvC,mBAAmB,iBAAiB,QACnC,mFACA,CAAC,OAAO,QAAQ,UAAU;AAAA,MACzB,MAAM,WAAW,SAAS,OACxB,QAAQ,UAAU,GAAG,EACrB,QAAQ,YAAY,EAAE,EACtB,QAAQ,SAAS,EAAE;AAAA,MAErB,OAAO,UACJ,YAAY,wDACZ;AAAA,KAEL;AAAA,IAEA,mBAAmB,iBAAiB,QACnC,iCACA,qBACD;AAAA,IACA,oBAAoB;AAAA,IAEpB,OAAO,EAAE,SAAS,kBAAkB,OAAO;AAAA,GAC3C;AAAA,EAEF,MAAM,QAAQ,IACb,QAAQ,IAAI,GAAG,aACd,GAAG,MAAM,SAAQ,MAAM,GAAG,EAAE,WAAW,KAAK,CAAC,CAC9C,CACD;AAAA,EACA,MAAM,QAAQ,IACb,QAAQ,IAAI,GAAG,QAAQ,cACtB,GAAG,UAAU,QAAQ,SAAS,OAAO,CACtC,CACD;AAAA,EAEA,OAAO,QAAQ,IAAI,GAAG,aAAa,MAAM;AAAA,GAMpC,iBAKA,oBAKA,wBAAwB,CAAC,YAC9B,QACE,QAAQ,OAAO,MAAM,EACrB,QAAQ,MAAM,KAAK,EACnB,QAAQ,SAAS,MAAM,GAQpB,uBAAuB,CAAC,QAAgB,YAAoB;AAAA,EACjE,MAAM,KAAK,IAAI,OACd,QAAQ,QACR,QAAQ,MAAM,SAAS,GAAG,IAAI,QAAQ,QAAQ,QAAQ,QAAQ,GAC/D;AAAA,EACA,IAAI;AAAA,EACJ,QAAQ,QAAQ,GAAG,KAAK,MAAM,OAAO,MAAM;AAAA,IAC1C,MAAM,YAAY,OAAO,YAAY;AAAA,GAAM,MAAM,QAAQ,CAAC,IAAI;AAAA,IAC9D,MAAM,cAAc,OAAO,MAAM,WAAW,MAAM,KAAK;AAAA,IACvD,IAAI,CAAC,WAAW,KAAK,WAAW;AAAA,MAAG,OAAO;AAAA,EAC3C;AAAA,EAEA,OAAO;AAAA,GAGF,qCAAqC,MAAM;AAAA,EAChD,MAAM,cAAc,SACnB,YAAY,KACZ,gCACD;AAAA,EACA,IAAI,YAAW,WAAW,GAAG;AAAA,IAC5B,OAAO,YAAY,QAAQ,OAAO,GAAG;AAAA,EACtC;AAAA,EAEA,OAAO;AAAA,GAGF,wBAAwB,CAC7B,QACA,kBAAkB,8CACd;AAAA,EACJ,IAAI,OAAO,SAAS,oBAAoB;AAAA,IAAG,OAAO;AAAA,EAClD,MAAM,0BAA0B,KAAK,UAAU,eAAe;AAAA,EAC9D,MAAM,aAAa,mIAAmI;AAAA;AAAA,EACtJ,MAAM,kBAAkB,CAAC,GAAG,OAAO,SAAS,qBAAqB,CAAC,EAAE,IAAI;AAAA,EACxE,IAAI,CAAC,mBAAmB,gBAAgB,UAAU,WAAW;AAAA,IAC5D,OAAO,aAAa;AAAA,EACrB;AAAA,EACA,MAAM,WAAW,gBAAgB,QAAQ,gBAAgB,GAAG;AAAA,EAE5D,OAAO,GAAG,OAAO,MAAM,GAAG,QAAQ;AAAA,EAAM,aAAa,OAAO,MAAM,QAAQ;AAAA,GAGrE,qCAAqC,CAAC,WAAmB;AAAA,EAC9D,MAAM,kBAAkB,OAAO,MAAM,8BAA8B;AAAA,EACnE,IAAI,iBAAiB;AAAA,IACpB,IACC,yBAAyB,KAAK,gBAAgB,MAAM,EAAE,KACtD,qCAAqC,KACpC,gBAAgB,MAAM,EACvB,KACA,qCAAqC,KACpC,gBAAgB,MAAM,EACvB,KACA,kCAAkC,KAAK,gBAAgB,MAAM,EAAE,GAC9D;AAAA,MACD,OAAO;AAAA,IACR;AAAA,IAEA,OAAO,OAAO,QACb,gCACA,CAAC,OAAO,mBAA2B;AAAA,MAClC,MAAM,UAAU,eAAe,KAAK;AAAA,MACpC,MAAM,UAAU,QACd,MAAM,GAAG,EACT,IAAI,CAAC,UAAU,MAAM,KAAK,CAAC,EAC3B,OAAO,OAAO;AAAA,MAChB,WAAW,kBAAkB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,GAAG;AAAA,QACF,IAAI,CAAC,QAAQ,SAAS,cAAc,GAAG;AAAA,UACtC,QAAQ,KAAK,cAAc;AAAA,QAC5B;AAAA,MACD;AAAA,MACA,MAAM,cAAc,QAAQ,KAAK,IAAI;AAAA,MAErC,OAAO,aAAa;AAAA,KAEtB;AAAA,EACD;AAAA,EAEA,OAAO,OAAO,QACb,oBACA;AAAA,6HACD;AAAA,GAGK,6BAA6B,CAAC,UACnC,MAAM,QAAQ,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAK,EAAE,QAAQ,SAAS,MAAM,GAEpE,8BAA6B,CAAC,OAAe,UAAkB;AAAA,EACpE,MAAM,SAAS,QAAQ;AAAA,EACvB,OAAO,SAAS,MAAM,SAAS,GAAG;AAAA,IACjC,MAAM,MAAM,MAAM,QAAQ,MAAM,MAAM;AAAA,IACtC,IAAI,MAAM,GAAG;AAAA,MACZ,OAAO,MAAM;AAAA,IACd;AAAA,IAEA,OAAO,MAAM;AAAA,EACd;AAAA,EAEA,OAAO,MAAM;AAAA,GAGR,+BAA+B,CAAC,UAAkB;AAAA,EACvD,MAAM,QAAkB,CAAC;AAAA,EACzB,IAAI,SAAS;AAAA,EAEb,OAAO,SAAS,MAAM,QAAQ;AAAA,IAC7B,MAAM,qBAAqB,MAAM,QAAQ,MAAM,MAAM;AAAA,IACrD,IAAI,qBAAqB,GAAG;AAAA,MAC3B,MAAM,KAAK,2BAA2B,MAAM,MAAM,MAAM,CAAC,CAAC;AAAA,MAE1D;AAAA,IACD;AAAA,IAEA,MAAM,KACL,2BAA2B,MAAM,MAAM,QAAQ,kBAAkB,CAAC,CACnE;AAAA,IAEA,MAAM,aAAa,4BAClB,OACA,kBACD;AAAA,IACA,IAAI,cAAc,MAAM,QAAQ;AAAA,MAC/B,MAAM,KACL,2BAA2B,MAAM,MAAM,kBAAkB,CAAC,CAC3D;AAAA,MAEA;AAAA,IACD;AAAA,IAEA,MAAM,gBAAgB,MACpB,MAAM,qBAAqB,GAAG,aAAa,CAAC,EAC5C,KAAK;AAAA,IACP,MAAM,aAAa,cAAc,WAAW,IAAI,OAAO;AAAA,IACvD,MAAM,oBAAoB,KAAK,UAAU,UAAU;AAAA,IAEnD,MAAM,KACL,oDAAoD,qBACrD;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EAEA,OAAO,MAAM,KAAK,EAAE;AAAA,GAGf,iCAAiC,MACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA2BK,uBAAuB,CAAC,UAC7B;AAAA,EACC,+BAA+B;AAAA,EAC/B,GAAG,MAAM,IAAI,CAAC,MAAM,UAAU;AAAA,IAC7B,MAAM,YAAY,uBAAwB,mBAAmB,6BAA6B,KAAK,YAAY;AAAA;AAAA,IAC3G,MAAM,YACL,KAAK,iBAAiB,SAAS,IAC5B,uBAAwB;AAAA,EAAqB,KAAK,iBACjD,IACA,CAAC,YACA,MAAQ,QAAQ,uDAAuD,KAAK,UAAU,QAAQ,UAAU,IAC1G,EACC,KAAK;AAAA,CAAK;AAAA;AAAA,IACX,uBAAwB;AAAA;AAAA,IAE5B,OACC,GACC,YAAY,0CACqB;AAAA,uGACwE,0CAA0C,eAAe,KAAK;AAAA;AAAA;AAAA,GAGzK;AACF,EAAE,KAAK;AAAA,CAAI,GAEN,wBAAwB,CAC7B,QACA,OACA,kBAAkB,mCACd;AAAA,EACJ,IAAI,MAAM,WAAW;AAAA,IAAG,OAAO;AAAA,EAC/B,IAAI,YAAY,sBAAsB,QAAQ,eAAe;AAAA,EAC7D,YAAY,mCAAmC,SAAS;AAAA,EACxD,MAAM,SAAS,qBAAqB,KAAK;AAAA,EAEzC,OAAO,UAAU,QAChB,0DACA,CAAC,UAAU,GAAG;AAAA,EAAU;AAAA,CACzB;AAAA,GAGK,oBAAoB,OACzB,UACA,uBACI;AAAA,EACJ,IAAI,CAAC,YAAW,QAAQ,GAAG;AAAA,IAC1B,MAAM,IAAI,MACT,8DAA8D,UAC/D;AAAA,EACD;AAAA,EACA,MAAM,UAAU,MAAM,yBACrB,UACA,kBACD;AAAA,EAEA,OAAO,sBAAsB,OAAO;AAAA,GAG/B,8BAA8B,OAAO,QAAgB,YAAoB;AAAA,EAC9E,MAAM,mBAAmB,qBACxB,QACA,oCACD;AAAA,EACA,IAAI,mBAAmB,IAAI;AAAA,IAC1B,MAAM,eAAe,MAAK,SAAS,iBAAiB,EAAE;AAAA,IACtD,IAAI,CAAC,YAAW,YAAY,GAAG;AAAA,MAC9B,MAAM,IAAI,MACT,yCAAyC,iBAAiB,0BAA0B,cACrF;AAAA,IACD;AAAA,IACA,MAAM,eAAc,MAAM,GAAG,SAAS,cAAc,OAAO;AAAA,IAC3D,MAAM,WAAU,wBAAwB,YAAW;AAAA,IACnD,MAAM,WAAU,sBAAsB,SAAQ,QAAQ;AAAA,IACtD,MAAM,kBACL,OAAO,MAAM,GAAG,iBAAiB,KAAK,IACtC,eAAe,eACf,OAAO,MAAM,iBAAiB,QAAQ,iBAAiB,GAAG,MAAM;AAAA,IAEjE,OAAO;AAAA,MACN,YAAY,SAAQ;AAAA,MACpB,QAAQ,sBACP,iBACA,SAAQ,OACR,mCAAmC,CACpC;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,sBAAsB,qBAC3B,QACA,mDACD;AAAA,EACA,IAAI,CAAC,qBAAqB;AAAA,IACzB,OAAO,EAAE,YAAY,CAAC,GAAgC,OAAO;AAAA,EAC9D;AAAA,EACA,MAAM,cACL,oBAAoB,MACpB,oBAAoB,MACpB,oBAAoB,MACpB;AAAA,EACD,MAAM,UAAU,wBAAwB,WAAW;AAAA,EACnD,IAAI,QAAQ,MAAM,WAAW,KAAK,QAAQ,aAAa,aAAa;AAAA,IACnE,OAAO,EAAE,YAAY,QAAQ,OAAO,OAAO;AAAA,EAC5C;AAAA,EACA,MAAM,UAAU,sBAAsB,QAAQ,QAAQ;AAAA,EACtD,MAAM,iBACL,OAAO,MAAM,GAAG,oBAAoB,KAAK,IACzC,eAAe,cACf,OAAO,MAAM,oBAAoB,QAAQ,oBAAoB,GAAG,MAAM;AAAA,EAEvE,OAAO;AAAA,IACN,YAAY,QAAQ;AAAA,IACpB,QAAQ,sBACP,gBACA,QAAQ,OACR,mCAAmC,CACpC;AAAA,EACD;AAAA,GAGK,kCAAkC,CAAC,QAAgB,YAAoB;AAAA,EAC5E,MAAM,mBAAmB,qBACxB,QACA,oCACD;AAAA,EACA,IAAI,mBAAmB,IAAI;AAAA,IAC1B,MAAM,eAAe,MAAK,SAAS,iBAAiB,EAAE;AAAA,IACtD,IAAI,CAAC,YAAW,YAAY,GAAG;AAAA,MAC9B,MAAM,IAAI,MACT,yCAAyC,iBAAiB,0BAA0B,cACrF;AAAA,IACD;AAAA,IACA,MAAM,eAAc,cAAa,cAAc,OAAO;AAAA,IACtD,MAAM,WAAU,wBAAwB,YAAW;AAAA,IACnD,MAAM,WAAU,sBAAsB,SAAQ,QAAQ;AAAA,IACtD,MAAM,kBACL,OAAO,MAAM,GAAG,iBAAiB,KAAK,IACtC,eAAe,eACf,OAAO,MAAM,iBAAiB,QAAQ,iBAAiB,GAAG,MAAM;AAAA,IAEjE,OAAO;AAAA,MACN,YAAY,SAAQ;AAAA,MACpB,QAAQ,sBACP,iBACA,SAAQ,OACR,mCAAmC,CACpC;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,sBAAsB,qBAC3B,QACA,mDACD;AAAA,EACA,IAAI,CAAC,qBAAqB;AAAA,IACzB,OAAO,EAAE,YAAY,CAAC,GAAgC,OAAO;AAAA,EAC9D;AAAA,EACA,MAAM,cACL,oBAAoB,MACpB,oBAAoB,MACpB,oBAAoB,MACpB;AAAA,EACD,MAAM,UAAU,wBAAwB,WAAW;AAAA,EACnD,IAAI,QAAQ,MAAM,WAAW,KAAK,QAAQ,aAAa,aAAa;AAAA,IACnE,OAAO,EAAE,YAAY,QAAQ,OAAO,OAAO;AAAA,EAC5C;AAAA,EACA,MAAM,UAAU,sBAAsB,QAAQ,QAAQ;AAAA,EACtD,MAAM,iBACL,OAAO,MAAM,GAAG,oBAAoB,KAAK,IACzC,eAAe,cACf,OAAO,MAAM,oBAAoB,QAAQ,oBAAoB,GAAG,MAAM;AAAA,EAEvE,OAAO;AAAA,IACN,YAAY,QAAQ;AAAA,IACpB,QAAQ,sBACP,gBACA,QAAQ,OACR,mCAAmC,CACpC;AAAA,EACD;AAAA,GA2FK,kBAAkB,OACvB,QACA,SACA,uBACI;AAAA,EACJ,MAAM,iBAAiB,qBACtB,QACA,8BACD;AAAA,EACA,IAAI,CAAC,iBAAiB;AAAA,IAAI,OAAO;AAAA,EAEjC,MAAM,aAAa,eAAe,GAAG,MAAM,mBAAmB;AAAA,EAC9D,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,MAAM,gBAAgB,WAAW,IAAI,CAAC,aAAa;AAAA,IAClD,MAAM,WAAW,SAAS,QAAQ,SAAS,EAAE;AAAA,IAE7C,OAAO,kBAAkB,MAAK,SAAS,QAAQ,GAAG,kBAAkB;AAAA,GACpE;AAAA,EACD,MAAM,UAAU,MAAM,QAAQ,IAAI,aAAa;AAAA,EAC/C,MAAM,gBAAgB,QACpB,OAAO,OAAO,EACd,IAAI,CAAC,YAAY,KAAK,WAAW;AAAA,EACnC,IAAI,cAAc,WAAW;AAAA,IAAG,OAAO;AAAA,EAEvC,OACC,OAAO,MAAM,GAAG,eAAe,KAAK,IACpC,YAAY,cAAc,KAAK,IAAI,OACnC,OAAO,MAAM,eAAe,QAAQ,eAAe,GAAG,MAAM;AAAA,GAIxD,uBAAuB,OAC5B,QACA,SACA,uBACI;AAAA,EACJ,MAAM,gBAAgB,qBACrB,QACA,iCACD;AAAA,EACA,IAAI,CAAC,gBAAgB;AAAA,IAAI,OAAO;AAAA,EAEhC,MAAM,UAAU,MAAM,kBACrB,MAAK,SAAS,cAAc,EAAE,GAC9B,kBACD;AAAA,EACA,IAAI,CAAC;AAAA,IAAS,OAAO;AAAA,EAErB,OACC,OAAO,MAAM,GAAG,cAAc,KAAK,IACnC,cAAc,eACd,OAAO,MAAM,cAAc,QAAQ,cAAc,GAAG,MAAM;AAAA,GAKtD,kBAAkB,OACvB,QACA,SACA,uBACI;AAAA,EACJ,MAAM,kBAAkB,MAAM,4BAA4B,QAAQ,OAAO;AAAA,EACzE,IAAI,SAAS,gBAAgB;AAAA,EAC7B,SAAS,MAAM,gBAAgB,QAAQ,SAAS,kBAAkB;AAAA,EAClE,SAAS,MAAM,qBAAqB,QAAQ,SAAS,kBAAkB;AAAA,EAEvE,OAAO;AAAA,IACN,YAAY,gBAAgB;AAAA,IAC5B,QAAQ;AAAA,EACT;AAAA,GAQY,wBAAwB,OACpC,WACA,QACA,SACA,uBACI;AAAA,EACJ,MAAM,YAAY,SAAQ,SAAS;AAAA,EACnC,MAAM,aAAuB,CAAC;AAAA,EAC9B,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,UAAU,SAAQ,WAAW,QAAQ,IAAI,CAAC;AAAA,EAChD,IAAI,uBAAuB;AAAA,EAE3B,MAAM,oBAAoB,IAAI,IAAI,WAAW;AAAA,IAC5C,QAAQ;AAAA,IACR,UAAU,KAAK,UAAU;AAAA,MACxB,iBAAiB;AAAA,QAChB,uBAAuB;AAAA,QACvB,wBAAwB;AAAA,MACzB;AAAA,IACD,CAAC;AAAA,EACF,CAAC;AAAA,EACD,MAAM,kBAAkB,wBAAwB;AAAA,EAEhD,MAAM,qBAAoB,CAAC,cAAsB;AAAA,IAChD,MAAM,aAAa,UAAU,MAAM,iBAAiB,IACjD,CAAC,SAAS,IACV;AAAA,MACA,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,MAAK,WAAW,UAAU;AAAA,MAC1B,MAAK,WAAW,WAAW;AAAA,MAC3B,MAAK,WAAW,UAAU;AAAA,MAC1B,MAAK,WAAW,WAAW;AAAA,IAC5B;AAAA,IAEF,OAAO,WAAW,KAAK,CAAC,SAAS,YAAW,IAAI,CAAC;AAAA;AAAA,EAGlD,MAAM,qBAAqB,CAAC,WAAmB,YAAoB;AAAA,IAClE,IAAI,UAAU,WAAW,GAAG,KAAK,UAAU,WAAW,GAAG,GAAG;AAAA,MAC3D,OAAO,mBAAkB,SAAQ,SAAS,SAAS,CAAC;AAAA,IACrD;AAAA,IAEA,MAAM,UAAU,mBACf,WACA,gBAAgB,SAChB,gBAAgB,SAChB,kBACD;AAAA,IACA,IAAI;AAAA,MAAS,OAAO;AAAA,IAEpB,IAAI;AAAA,MACH,MAAM,WAAW,IAAI,YAAY,WAAW,OAAO;AAAA,MACnD,IAAI,SAAS,SAAS,gBAAgB;AAAA,QAAG;AAAA,MACzC,MAAM,WAAW,SAAQ,QAAQ;AAAA,MACjC,IAAI,CAAC,SAAS,WAAW,OAAO;AAAA,QAAG;AAAA,MAEnC,OAAO,mBAAkB,QAAQ;AAAA,MAChC,MAAM;AAAA,MACP;AAAA;AAAA;AAAA,EAIF,MAAM,eAAe,CAAC,eAAuB;AAAA,IAC5C,MAAM,WAAW,SAAQ,UAAU;AAAA,IACnC,MAAM,cAAc,SAAS,WAAW,OAAO,IAC5C,SAAS,UAAU,QAAQ,SAAS,CAAC,IACrC;AAAA,IACH,MAAM,WAAW,UAAS,UAAU,EAAE,QAAQ,mBAAmB,KAAK;AAAA,IAEtE,OAAO,MAAK,QAAQ,aAAa,QAAQ;AAAA;AAAA,EAG1C,MAAM,sBAAsB,CAC3B,YACA,aACA,YACA,mBACI;AAAA,IACJ,IAAI,mBAAmB,kBAAkB,cAAc,UAAU;AAAA,IACjE,MAAM,aAAa,aAAa,UAAU;AAAA,IAC1C,MAAM,oBAAoB,CACzB,QACA,WACA,WACI;AAAA,MACJ,MAAM,YAAY,eAAe,IAAI,SAAS;AAAA,MAC9C,IAAI,WAAW;AAAA,QACd,OAAO,GAAG,SAAS,YAAY;AAAA,MAChC;AAAA,MACA,IAAI,UAAU,WAAW,GAAG,KAAK,UAAU,WAAW,GAAG,GAAG;AAAA,QAC3D,OAAO,GAAG,SAAS,YAAY;AAAA,MAChC;AAAA,MAEA,OAAO,GAAG,SAAS,YAAY;AAAA;AAAA,IAGhC,mBAAmB,iBAAiB,QACnC,gCACA,CAAC,GAAG,QAAQ,WAAW,WACtB,kBAAkB,QAAQ,WAAW,MAAM,CAC7C;AAAA,IACA,mBAAmB,iBAAiB,QACnC,kCACA,CAAC,GAAG,QAAQ,WAAW,WACtB,kBAAkB,QAAQ,WAAW,MAAM,CAC7C;AAAA,IACA,mBAAmB,iBAAiB,QACnC,yCACA,CAAC,GAAG,QAAQ,WAAW,WACtB,kBAAkB,QAAQ,WAAW,MAAM,CAC7C;AAAA,IAEA,mBAAmB,iBAAiB,QACnC,qCACA,CAAC,OAAO,OAAO,SAAS;AAAA,MACvB,MAAM,YAAY,2BAA2B,YAAY,IAAI;AAAA,MAC7D,IAAI,cAAc,MAAM;AAAA,QACvB,OAAO,QAAQ,QAAQ,YAAY;AAAA,MACpC;AAAA,MAEA,OAAO;AAAA,KAET;AAAA,IAEA,MAAM,WACL,gBAAgB,MAAM,gBAAgB,MACnC,IACA,YAAY,MAAM,GAAG,EAAE;AAAA,IAC3B,mBAAmB,iBAAiB,QACnC,qCACA,CAAC,GAAG,QAAQ,SAAS;AAAA,MACpB,MAAM,UAAU,KAAK,MAAM,GAAG,EAAE,SAAS;AAAA,MACzC,IAAI,WAAW;AAAA,QAAU,OAAO,GAAG,SAAS;AAAA,MAE5C,OAAO,GAAG,YAAY;AAAA,KAExB;AAAA,IACA,IAAI,SAAQ,UAAU,MAAM,WAAW;AAAA,MACtC,oBAAoB,2BAA2B,UAAU;AAAA,IAC1D;AAAA,IAEA,OAAO;AAAA;AAAA,EAIR,MAAM,gBAAgB,OAAO,aAAqB;AAAA,IACjD,MAAM,WAAW,SAAQ,QAAQ;AAAA,IACjC,IAAI,QAAQ,IAAI,QAAQ;AAAA,MAAG;AAAA,IAC3B,QAAQ,IAAI,QAAQ;AAAA,IAGpB,IAAI,aAAa;AAAA,IACjB,IAAI,CAAC,WAAW,SAAS,KAAK;AAAA,MAAG,cAAc;AAAA,IAC/C,IAAI,CAAC,YAAW,UAAU;AAAA,MAAG;AAAA,IAE7B,IAAI,aAAa,MAAM,GAAG,SAAS,YAAY,OAAO;AAAA,IAKtD,MAAM,UAAU,MAAM,gBACrB,YACA,SAAQ,UAAU,GAClB,kBACD;AAAA,IACA,aAAa,gCACZ,QAAQ,QACR,SAAQ,UAAU,CACnB,EAAE;AAAA,IAGF,MAAM,WAAW,SAAQ,UAAU;AAAA,IACnC,MAAM,cAAc,SAAS,WAAW,OAAO,IAC5C,SAAS,UAAU,QAAQ,SAAS,CAAC,IACrC;AAAA,IACH,MAAM,WAAW,UAAS,UAAU,EAAE,QAAQ,mBAAmB,KAAK;AAAA,IACtE,MAAM,YAAY,MAAK,QAAQ,WAAW;AAAA,IAC1C,MAAM,aAAa,aAAa,UAAU;AAAA,IAM1C,MAAM,eAAyB,CAAC;AAAA,IAChC,MAAM,iBAAiB,IAAI;AAAA,IAC3B,MAAM,YACL;AAAA,IACD,MAAM,qBACL;AAAA,IACD,IAAI;AAAA,IACJ,QAAQ,cAAc,UAAU,KAAK,UAAU,OAAO,MAAM;AAAA,MAC3D,IAAI,YAAY;AAAA,QAAI,aAAa,KAAK,YAAY,EAAE;AAAA,IACrD;AAAA,IACA,QAAQ,cAAc,mBAAmB,KAAK,UAAU,OAAO,MAAM;AAAA,MACpE,IAAI,YAAY;AAAA,QAAI,aAAa,KAAK,YAAY,EAAE;AAAA,IACrD;AAAA,IACA,IAAI,aAAa,SAAS,qBAAqB,GAAG;AAAA,MACjD,uBAAuB;AAAA,IACxB;AAAA,IACA,MAAM,mBAAmB,aACvB,IAAI,CAAC,cAAc;AAAA,MACnB,MAAM,YAAW,mBAAmB,WAAW,QAAQ;AAAA,MACvD,IAAI,CAAC;AAAA,QAAU,OAAO;AAAA,MACtB,MAAM,iBAAiB,UACtB,WACA,aAAa,SAAQ,CACtB,EACE,QAAQ,OAAO,GAAG,EAClB,QAAQ,SAAS,EAAE;AAAA,MACrB,eAAe,IACd,WACA,eAAe,WAAW,GAAG,IAC1B,iBACA,KAAK,gBACT;AAAA,MAEA,OAAO;AAAA,KACP,EACA,OAAO,CAAC,SAAyB,QAAQ,IAAI,CAAC;AAAA,IAMhD,MAAM,cAAc,IAAI,KAAK,UAAU,EAAE,SAAS,aAAa;AAAA,IAC/D,MAAM,WAAW;AAAA,IACjB,IACC,gBAAgB,IAAI,QAAQ,MAAM,eAClC,YAAW,UAAU,GACpB;AAAA,MACD,WAAW,KAAK,UAAU;AAAA,IAC3B,EAAO;AAAA,MACN,MAAM,mBAAmB,oBACxB,YACA,aACA,YACA,cACD;AAAA,MAEA,MAAM,GAAG,MAAM,WAAW,EAAE,WAAW,KAAK,CAAC;AAAA,MAC7C,MAAM,GAAG,UAAU,YAAY,kBAAkB,OAAO;AAAA,MACxD,WAAW,KAAK,UAAU;AAAA,MAC1B,gBAAgB,IAAI,UAAU,WAAW;AAAA;AAAA,IAI1C,MAAM,QAAQ,IACb,iBAAiB,IAAI,CAAC,eAAe,cAAc,UAAU,CAAC,CAC/D;AAAA;AAAA,EAGD,MAAM,cAAc,SAAS;AAAA,EAE7B,MAAM,kBAAkB,aAAa,SAAS;AAAA,EAC9C,IAAI,YAAW,eAAe,GAAG;AAAA,IAChC,MAAM,cAAc,MAAM,GAAG,SAAS,iBAAiB,OAAO;AAAA,IAC9D,MAAM,oBAAoB,YAAY,QACrC,uEACA;AAAA,CACD;AAAA,IACA,MAAM,kBAAkB,uBACrB,GAAG;AAAA;AAAA,IACH;AAAA,IACH,IAAI,oBAAoB,aAAa;AAAA,MACpC,MAAM,GAAG,UAAU,iBAAiB,iBAAiB,OAAO;AAAA,IAC7D;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,GAGK,iBAAiB,OAC7B,aACA,SACA,MAAM,OACN,uBACI;AAAA,EACJ,MAAM,iBAAiB,MAAK,SAAS,WAAW;AAAA,EAEhD,IAAI,YAAY,WAAW,GAAG;AAAA,IAC7B,MAAM,aAAuB,CAAC;AAAA,IAE9B,OAAO,EAAE,aAAa,CAAC,GAAG,UAAU,GAAG,aAAa,CAAC,GAAG,UAAU,EAAE;AAAA,EACrE;AAAA,EAOA,MAAM,eAAe;AAAA,EACrB,MAAM,aAAa,MAAK,gBAAgB,SAAS;AAAA,EAEjD,MAAM,GAAG,MAAM,YAAY,EAAE,WAAW,KAAK,CAAC;AAAA,EAE9C,MAAM,eAAe,YAAY,IAAI,OAAO,UAAU;AAAA,IACrD,MAAM,gBAAgB,SAAQ,KAAK;AAAA,IACnC,MAAM,gBAAgB,UAAS,SAAS,aAAa,EAAE,QACtD,YACA,KACD;AAAA,IACA,MAAM,eAAe,MACpB,MACG,sBACA,eACA,cACA,SACA,kBACD,IACC,mBACA,eACA,cACA,kBACD;AAAA,IAKH,IAAI,UAAU,MAAM,aAAa;AAAA,IACjC,MAAM,WAAW,UAAS,aAAa,EAAE,QAAQ,YAAY,EAAE;AAAA,IAC/D,MAAM,SAAS,GAAG;AAAA,IAClB,MAAM,wBAAwB;AAAA,MAC7B,MAAK,cAAc,aAAa;AAAA,MAChC,MAAK,cAAc,SAAS,MAAM;AAAA,MAClC,MAAK,cAAc,MAAM;AAAA,IAC1B,EAAE,IAAI,CAAC,SAAS,SAAQ,IAAI,CAAC;AAAA,IAC7B,MAAM,uBAAuB,CAAC,mBAA6B;AAAA,MAC1D,MAAM,uBAAuB;AAAA,QAC5B,GAAG,eAAe,IAAI,CAAC,SAAS,SAAQ,IAAI,CAAC;AAAA,QAC7C,GAAG;AAAA,MACJ;AAAA,MACA,IAAI,YAAY,qBAAqB,KACpC,CAAC,SACA,YAAW,IAAI,KACf,KAAK,SAAS,GAAG,WAAW,MAAM,QAAQ,CAC5C;AAAA,MACA,IAAI,CAAC,WAAW;AAAA,QACf,YAAY,qBAAqB,KAChC,CAAC,SACA,YAAW,IAAI,KAAK,KAAK,SAAS,GAAG,MAAM,QAAQ,CACrD;AAAA,MACD;AAAA,MACA,IAAI,CAAC,WAAW;AAAA,QACf,YAAY,qBAAqB,KAAK,CAAC,SACtC,YAAW,IAAI,CAChB;AAAA,MACD;AAAA,MAEA,OAAO;AAAA;AAAA,IAGR,IAAI,gBAAgB,qBAAqB,OAAO;AAAA,IAChD,IAAI,CAAC,eAAe;AAAA,MACnB,gBAAgB,qBAAqB,CAAC,CAAC;AAAA,IACxC;AAAA,IACA,IAAI,iBAAiB,CAAC,YAAW,aAAa,GAAG;AAAA,MAChD,UAAU,MAAM,aAAa;AAAA,MAC7B,gBAAgB,qBAAqB,OAAO;AAAA,IAC7C;AAAA,IAEA,IAAI,CAAC,iBAAiB,CAAC,YAAW,aAAa,GAAG;AAAA,MACjD,MAAM,IAAI,MACT,iCAAiC,uBAAuB,sBAAsB;AAAA,QAC7E,GAAG;AAAA,QACH,GAAG;AAAA,MACJ,EAAE,KAAK,IAAI,GACZ;AAAA,IACD;AAAA,IAEA,MAAM,WAAW,MAAM,GAAG,SAAS,eAAe,OAAO;AAAA,IAgBzD,MAAM,+BAA+B,CACpC,QACA,aACY;AAAA,MACZ,MAAM,eAAe,OAAO,MAC3B,2CACD;AAAA,MACA,IAAI;AAAA,QAAc,OAAO,aAAa;AAAA,MACtC,MAAM,mBAAmB,OAAO,MAC/B,oDACD;AAAA,MACA,IAAI;AAAA,QAAkB,OAAO,iBAAiB;AAAA,MAC9C,OAAO;AAAA;AAAA,IAER,MAAM,qBAAqB,6BAC1B,UACA,GAAG,SAAS,QAAQ,YACrB;AAAA,IACA,MAAM,uBACL,MAAM,sCAAsC,eAAe,OAAO;AAAA,IAMnE,MAAM,oBAAoB,IAAI,KAAK,QAAQ,EAAE,SAAS,aAAa;AAAA,IACnE,MAAM,gBAAgB,mBAAmB,IAAI,aAAa;AAAA,IAC1D,MAAM,aAAa,MAAK,YAAY,MAAM;AAAA,IAC1C,IACC,OACA,iBACA,cAAc,eAAe,qBAC7B,YAAW,UAAU,MACpB,wBACA,CAAC,SAAS,SACT,0CACD,OACA,CAAC,wBACD,SAAS,SAAS,0CAA0C,IAC5D;AAAA,MACD,OAAO;AAAA,QACN,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACb;AAAA,IACD;AAAA,IAKA,IAAI,YAAY;AAAA,IAChB,YAAY,UAAU,QACrB,uEACA;AAAA,CACD;AAAA,IACA,IAAI,CAAC,UAAU,SAAS,6BAA6B,GAAG;AAAA,MACvD,YAAY;AAAA,EAAgC;AAAA,IAC7C;AAAA,IAGA,YAAY,UAAU,QACrB,IAAI,OAAO,6BAA6B,qBAAqB,GAC7D,6BAA6B,gBAC9B;AAAA,IAGA,IAAI,CAAC,UAAU,SAAS,gBAAgB,GAAG;AAAA,MAC1C,aAAa;AAAA,iBAAoB;AAAA;AAAA,IAClC;AAAA,IACA,IAAI,sBAAsB;AAAA,MACzB,aACC;AAAA;AAAA;AAAA,IACF;AAAA,IAGA,IAAI,KAAK;AAAA,MACR,YAAY,sBAAsB,WAAW,aAAa;AAAA,MAM1D,MAAM,cAAc,cAAc,QAAQ,SAAS,cAAc;AAAA,MACjE,MAAM,iBAAiB;AAAA,QACtB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,EAAE,KAAK;AAAA,CAAI;AAAA,MACX,MAAM,GAAG,UAAU,aAAa,gBAAgB,OAAO;AAAA,IACxD;AAAA,IAEA,MAAM,GAAG,UAAU,eAAe,WAAW,OAAO;AAAA,IAIpD,MAAM,eAAe,UAAS,YAAY,aAAa,EAAE,QACxD,OACA,GACD;AAAA,IAEA,MAAM,uBAAuB,aAAa,WAAW,GAAG,IACrD,eACA,KAAK;AAAA,IAGR,MAAM,cAAc,MACjB;AAAA,UAAkD;AAAA,UAA6B;AAAA,IAC/E;AAAA,IACH,MAAM,YAAY,MACf,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAMuB;AAAA;AAAA,MAEzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAkCW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gDAU+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAe/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAsBc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAa7B,KAAK,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAM0B;AAAA;AAAA,MAEzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BA+CqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYzB,KAAK;AAAA,IAIL,MAAM,YAAY,IAAI,KAAK,SAAS,EAAE,SAAS,aAAa;AAAA,IAC5D,MAAM,iBAAiB,eAAe,cAAc;AAAA,IAEpD,MAAM,GAAG,UAAU,YAAY,WAAW,OAAO;AAAA,IAGjD,mBAAmB,IAAI,eAAe;AAAA,MACrC;AAAA,MACA,YAAY;AAAA,IACb,CAAC;AAAA,IAED,OAAO;AAAA,MACN,YAAY;AAAA,MACZ;AAAA,MACA,YAAY;AAAA,IACb;AAAA,GACA;AAAA,EAED,MAAM,UAAU,MAAM,QAAQ,IAAI,YAAY;AAAA,EAC9C,MAAM,cAAc,QAAQ,IAAI,CAAC,MAAM,EAAE,UAAU;AAAA,EACnD,MAAM,cAAc,QAAQ,IAAI,CAAC,MAAM,EAAE,UAAU;AAAA,EAEnD,OAAO;AAAA,IAGN,qBAAqB,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,cAAc;AAAA,IACjE;AAAA,IACA;AAAA,EACD;AAAA;AAAA;AAAA,EA52DD;AAAA,EAEA;AAAA,EACA;AAAA,EAIA;AAAA,EAkLM,eAAe,oBAAoB;AAAA,EAEnC,gBAAgB,MAAK,cAAc,cAAc,EAAE,QAAQ,OAAO,GAAG;AAAA,EAGrE,iBAAiB,MACtB,cACA,YACA,mBACD,EAAE,QAAQ,OAAO,GAAG;AAAA,EAucd,kBAAkB,IAAI;AAAA,EAKtB,qBAAqB,IAAI;AAAA;;;ACxoB/B,IAAM,+BAA+B,OAAO,IAC3C,mCACD;AACA,IAAM,qCAAqC,OAAO,IACjD,2CACD;AACA,IAAM,wCAAwC,OAAO,IACpD,8CACD;AAEA,IAAM,sCAAsC,MAAM;AAAA,EACjD,MAAM,QAAQ,QAAQ,IAAI,YAAY,4BAA4B;AAAA,EAClE,IAAI,OAAO,UAAU,cAAc,UAAU,MAAM;AAAA,IAClD,OAAO;AAAA,EACR;AAAA,EAEA;AAAA;AAGD,IAAM,iBAAiB,CAAC,UACvB,QAAQ,KAAK,KAAK,OAAO,UAAU;AAEpC,IAAM,mCAAmC,CACxC,UAEA,eAAe,KAAK,MACpB,eAAe,UACf,OAAO,MAAM,cAAc;AAE5B,IAAM,sCAAsC,CAC3C,UAEA,eAAe,KAAK,MACpB,kBAAkB,UAClB,OAAO,MAAM,iBAAiB;AAE/B,IAAM,uBAAuB,MAAM;AAAA,EAClC,MAAM,QAAQ,QAAQ,IAAI,YAAY,kCAAkC;AAAA,EACxE,IAAI,UAAU,QAAQ,OAAO,UAAU;AAAA,IAAa;AAAA,EAEpD,OAAO,iCAAiC,KAAK,IAAI,QAAQ;AAAA;AAG1D,IAAM,0BAA0B,MAAM;AAAA,EACrC,MAAM,QAAQ,QAAQ,IACrB,YACA,qCACD;AAAA,EACA,IAAI,UAAU,QAAQ,OAAO,UAAU;AAAA,IAAa;AAAA,EAEpD,OAAO,oCAAoC,KAAK,IAAI,QAAQ;AAAA;AAGtD,IAAM,sCAAsC,MAClD,OAAO,oCAAoC,MAAM;AAC3C,IAAM,kCAAkC,MAC9C,wBAAwB,GAAG,aAAa,MAAM;AACxC,IAAM,wBAAwB,CAAC,SAAwB;AAAA,EAC7D,oCAAoC,IAAI,IAAI;AAAA;AAEtC,IAAM,uCAAuC,CACnD,eACI;AAAA,EACJ,QAAQ,IAAI,YAAY,uCAAuC,UAAU;AAAA;AAEnE,IAAM,4BAA4B,CACxC,kBACI;AAAA,EACJ,QAAQ,IAAI,YAAY,8BAA8B,aAAa;AAAA;AAE7D,IAAM,oCAAoC,CAChD,eACI;AAAA,EACJ,QAAQ,IAAI,YAAY,oCAAoC,UAAU;AAAA;AAEhE,IAAM,oCAAoC,CAAC,kBAA0B;AAAA,EAC3E,IAEC,gCAAgC,GAC/B;AAAA,IACD;AAAA,EACD;AAAA,EAEA,qBAAqB,GAAG,UAAU,aAAa;AAAA;;;ACnFhD,IAAM,6BAA6B,OAAO,IACzC,2CACD;AAEA,IAAM,kBAAiB,CAAC,UACvB,QAAQ,KAAK,KAAK,OAAO,UAAU;AAEpC,IAAM,sBAAsB,CAAC,UAC5B,gBAAe,KAAK,MACpB,cAAc,UACd,OAAO,MAAM,aAAa,eAC1B,SAAS,UACT,OAAO,MAAM,QAAQ;AAEtB,IAAM,mBAAmB,MAAM;AAAA,EAC9B,MAAM,QAAQ,QAAQ,IAAI,YAAY,0BAA0B;AAAA,EAChE,IAAI,UAAU,QAAQ,OAAO,UAAU,aAAa;AAAA,IACnD,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,oBAAoB,KAAK,IAAI,QAAQ;AAAA;AAG7C,IAAM,kBAAkB,MACvB,OAAO,YAAY,eACnB,OAAO,QAAQ,UAAU,SAAS;AAEnC,IAAM,0BAA0B,YAAY;AAAA,EAC3C,MAAM,UAAU,iBAAiB;AAAA,EACjC,IAAI,OAAO,YAAY,aAAa;AAAA,IACnC,OAAO;AAAA,EACR;AAAA,EACA,IAAI,CAAC,gBAAgB,GAAG;AAAA,IACvB,QAAQ,IAAI,YAAY,4BAA4B,IAAI;AAAA,IAExD,OAAO,iBAAiB;AAAA,EACzB;AAAA,EAEA,MAAM,MAAM,MAAa;AAAA,EACzB,QAAQ,IACP,YACA,4BACA,IAAI,IAAI,iBACT;AAAA,EAEA,OAAO,iBAAiB;AAAA;AAGzB,IAAM,qBAAqB,MAAM;AAAA,EAChC,MAAM,UAAU,iBAAiB;AAAA,EACjC,IAAI,CAAC;AAAA,IAAS;AAAA,EAEd,OAAO,QAAQ,SAAS;AAAA;AAGzB,IAAM,yBAAwB,CAAC,SAAwB;AAAA,EACtD,MAAM,QAAQ,mBAAmB;AAAA,EACjC,IAAI,CAAC;AAAA,IAAO;AAAA,EACZ,MAAM,IAAI,KAAK,IAAI,IAAI;AAAA;AAGxB,0BAA0B,sBAAqB;AAC/C,qCAAqC;AAAA,EACpC,cAAc,MAAM,mBAAmB,MAAM;AAC9C,CAAC;AAEM,IAAM,iCAAiC,MAC7C,mBAAmB,MAAM;AAEnB,IAAM,+BAA+B,OAC3C,SACI;AAAA,EACJ,MAAM,UAAU,MAAM,wBAAwB;AAAA,EAC9C,IAAI,CAAC,SAAS;AAAA,IACb,MAAM,QAAyB,CAAC;AAAA,IAEhC,OAAO;AAAA,MACN,QAAQ,MAAM,KAAK;AAAA,MACnB;AAAA,IACD;AAAA,EACD;AAAA,EAEA,OAAO,QAAQ,IAAI,IAAI,KAA8B,YAAY;AAAA,IAChE,MAAM,SAAS,MAAM,KAAK;AAAA,IAC1B,MAAM,QAAQ,QAAQ,SAAS;AAAA,IAE/B,OAAO;AAAA,MACN;AAAA,MACA,OAAO,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;AAAA,IACvC;AAAA,GACA;AAAA;;ACpGF;AAEA,IAAM,6BAA6B;AACnC,IAAM,4BAA4B;AAClC,IAAM,kBAAkB;AACxB,IAAM,mBAAmB;AACzB,IAAM,YAAY;AAClB,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;AACvB,IAAM,aAAa;AASZ,IAAM,oBAAoB,IAAI,eACpC,mBACD;AACO,IAAM,uBAAuB,IAAI,eACvC,sBACD;AACO,IAAM,qBAAqB,IAAI,eACrC,oBACD;AAEA,IAAM,WAAW,CAAC,SAA0B;AAAA,EAC3C,MAAM,WAAW,OAAO,IAAI;AAAA,EAC5B,IAAI,OAAO;AAAA,EAEX,WAAW,QAAQ,UAAU;AAAA,IAC5B,OAAO,KAAK,KAAK,OAAO,KAAK,WAAW,CAAC,GAAG,SAAS;AAAA,EACtD;AAAA,EAEA,OAAO,SAAS,KAAK;AAAA;AAGf,IAAM,4BAA4B,CACxC,OAAwB,+BACpB;AAAA,EACJ,IAAI,QAAQ,SAAS,IAAI;AAAA,EAEzB,OAAO,MAAM;AAAA,IACZ,SAAS,SAAS;AAAA,IAClB,SAAS,UAAU;AAAA,IACnB,SAAS,SAAS;AAAA,IAElB,QAAQ,UAAU,KAAK;AAAA;AAAA;AAIzB,IAAM,eAAe,CAAC,QAA4C;AAAA,EACjE,IAAI,eAAe;AAAA,IAAM,OAAO,IAAI,QAAQ;AAAA,EAC5C,IAAI,OAAO,QAAQ;AAAA,IAAU,OAAO,IAAI,KAAK,GAAG,EAAE,QAAQ;AAAA,EAC1D,IAAI,OAAO,QAAQ;AAAA,IAAU,OAAO;AAAA,EAEpC,OAAO;AAAA;AAGD,IAAM,0BAA0B,CACtC,UAAmC,CAAC,MAChC;AAAA,EACJ,MAAM,OAAO,OAAO,QAAQ,QAAQ,0BAA0B;AAAA,EAC9D,MAAM,MAAM,aAAa,QAAQ,GAAG;AAAA,EAEpC,OAAO;AAAA,IACN,EAAE,SAAS,oBAAoB,UAAU,KAAK;AAAA,IAC9C,EAAE,SAAS,mBAAmB,UAAU,IAAI;AAAA,IAC5C;AAAA,MACC,MAAM,CAAC,kBAAkB;AAAA,MACzB,SAAS;AAAA,MACT,YAAY;AAAA,IACb;AAAA,EACD;AAAA;;ACnED;AATA,8BAAS;AACT,kBAAS;AACT;AACA,qBAAS,sBAAU,kBAAS,kBAAM;;;ACHlC;AAEA,IAAM,yBAAyB;AAC/B,IAAM,gBAAgB;AACtB,IAAM,kBAAkB;AACxB,IAAM,sBAAsB;AAC5B,IAAM,mBAAmB;AASzB,IAAM,yBAAyB,CAAC,aAAqC;AAAA,EACpE,MAAM,iBAAiB,0CAA0C,KAAK,UAAU,QAAQ;AAAA,EACxF,MAAM,oBAAoB,yCAAyC,KAAK,UAAU,WAAW,wBAAwB,CAAC,CAAC;AAAA,EACvH,MAAM,gBAAgB,SAAS;AAAA,EAC/B,MAAM,kBAAkB,gBACrB,8BAA8B,6BAC9B;AAAA,EAEH,OAAO,GAAG,iBAAiB,oBAAoB;AAAA;AAGhD,IAAM,mBAAmB,CAAC,MAAc,WAAmB;AAAA,EAC1D,MAAM,mBAAmB,KAAK,QAAQ,SAAS;AAAA,EAC/C,IAAI,oBAAoB,GAAG;AAAA,IAC1B,OAAO,GAAG,KAAK,MAAM,GAAG,gBAAgB,IAAI,SAAS,KAAK,MAAM,gBAAgB;AAAA,EACjF;AAAA,EAEA,MAAM,mBAAmB,KAAK,QAAQ,OAAO;AAAA,EAC7C,IAAI,oBAAoB,GAAG;AAAA,IAC1B,MAAM,YAAY,KAAK,QAAQ,KAAK,gBAAgB;AAAA,IACpD,IAAI,aAAa,GAAG;AAAA,MACnB,OAAO,GAAG,KAAK,MAAM,GAAG,gBAAgB,UAAU,gBAAgB,KAAK,MAAM,gBAAgB;AAAA,IAC9F;AAAA,EACD;AAAA,EAEA,OAAO,8BAA8B,sBAAsB;AAAA;AAG5D,IAAM,sBAAsB,CAC3B,OACA,YAEA,OAAO,UAAU,WAAW,QAAQ,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;AAE3E,IAAM,uBAAuB,CAC5B,YACA,SACA,SACA,eACI;AAAA,EACJ,IAAI,QAAQ,UAAU,YAAY;AAAA,IACjC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,WAAW,QAAQ,MAAM,GAAG,QAAQ,SAAS,UAAU;AAAA,EAC7D,WAAW,QAAQ,QAAQ,OAAO,QAAQ,CAAC;AAAA,EAE3C,OAAO,QAAQ,MAAM,CAAC,UAAU;AAAA;AAGjC,IAAM,sBAAsB,CAC3B,UACA,UACA,YACI;AAAA,EACJ,IAAI,SAAS,MAAM;AAAA,IAClB,OAAO,EAAE,MAAM,MAAM,UAAU,QAAQ;AAAA,EACxC;AAAA,EAEA,OAAO;AAAA,IACN,MAAM;AAAA,IACN,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,EACnB;AAAA;AAGD,IAAM,kBAAkB,OACvB,WACI;AAAA,EACJ,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,EAC1C,IAAI,QAAQ,CAAC,OAAO;AAAA,IACnB,OAAO,EAAE,MAAM,OAAO,UAAU;AAAA,EACjC;AAAA,EAEA,OAAO,EAAE,MAAM,MAAM;AAAA;AAGtB,IAAM,8BAA8B,CACnC,QACA,WACI;AAAA,EACJ,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,aAAa,iBAAiB,SAAS;AAAA,EAC7C,MAAM,iBAAiB,CACtB,YACA,SACA,aACI;AAAA,IACJ,IAAI,UAAU;AAAA,MACb,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,MAE1C,OAAO,EAAE,UAAU,SAAS,GAAG;AAAA,IAChC;AAAA,IAEA,MAAM,YAAY,QAAQ,QAAQ,gBAAgB;AAAA,IAClD,IAAI,aAAa,GAAG;AAAA,MACnB,MAAM,OAAO,GAAG,QAAQ,MAAM,GAAG,SAAS,IAAI,SAAS,QAAQ,MAAM,SAAS;AAAA,MAC9E,WAAW,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,MAEvC,OAAO,EAAE,UAAU,MAAM,SAAS,GAAG;AAAA,IACtC;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA,SAAS,qBACR,YACA,SACA,SACA,UACD;AAAA,IACD;AAAA;AAAA,EAED,MAAM,4BAA4B,CACjC,YACA,SACA,aACI;AAAA,IACJ,IAAI,eAAe,UAAU,QAAQ,OAAO;AAAA,IAC5C,IAAI,CAAC,UAAU;AAAA,MACd,eAAe,iBAAiB,cAAc,MAAM;AAAA,IACrD;AAAA,IACA,IAAI,aAAa,SAAS,GAAG;AAAA,MAC5B,WAAW,QAAQ,QAAQ,OAAO,YAAY,CAAC;AAAA,IAChD;AAAA,IACA,WAAW,MAAM;AAAA;AAAA,EAElB,MAAM,mBAAmB,OACxB,YACA,QACA,SACA,aACI;AAAA,IACJ,QAAQ,MAAM,UAAU,MAAM,gBAAgB,MAAM;AAAA,IACpD,IAAI,QAAQ,CAAC,OAAO;AAAA,MACnB,OAAO,EAAE,MAAM,UAAU,QAAQ;AAAA,IAClC;AAAA,IAEA,MAAM,YAAY,eACjB,YACA,UAAU,oBAAoB,OAAO,OAAO,GAC5C,QACD;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA,UAAU,UAAU;AAAA,MACpB,SAAS,UAAU;AAAA,IACpB;AAAA;AAAA,EAED,MAAM,uBAAuB,OAC5B,YACA,WACI;AAAA,IACJ,MAAM,uBAAuB,OAC5B,UACA,YACI;AAAA,MACJ,MAAM,WAAW,MAAM,iBACtB,YACA,QACA,SACA,QACD;AAAA,MACA,MAAM,YAAY,oBAAoB,UAAU,UAAU,OAAO;AAAA,MACjE,IAAI,UAAU,MAAM;AAAA,QACnB,OAAO,EAAE,UAAU,QAAQ;AAAA,MAC5B;AAAA,MAEA,OAAO,qBAAqB,UAAU,UAAU,UAAU,OAAO;AAAA;AAAA,IAGlE,OAAO,qBAAqB,OAAO,EAAE;AAAA;AAAA,EAGtC,OAAO,IAAI,eAA2B;AAAA,SAC/B,MAAK,CAAC,YAAY;AAAA,MACvB,MAAM,SAAS,OAAO,UAAU;AAAA,MAEhC,IAAI;AAAA,QACH,QAAQ,UAAU,YAAY,MAAM,qBACnC,YACA,MACD;AAAA,QACA,0BAA0B,YAAY,SAAS,QAAQ;AAAA,QACtD,OAAO,OAAO;AAAA,QACf,WAAW,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA;AAGF,IAAM,sCAAsC,CAC3C,QACA,WACI;AAAA,EACJ,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,UAAU,IAAI;AAAA,EAEpB,MAAM,aAAa,KAAK,IAAI,cAAc,QAAQ,kBAAkB;AAAA,EACpE,MAAM,iBAAiB,CACtB,YACA,SACA,aACI;AAAA,IACJ,IAAI,UAAU;AAAA,MACb,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,MAE1C,OAAO,EAAE,UAAU,SAAS,GAAG;AAAA,IAChC;AAAA,IAEA,MAAM,cAAc,QAAQ,QAAQ,aAAa;AAAA,IACjD,IAAI,eAAe,GAAG;AAAA,MACrB,MAAM,WAAW,QAAQ,YAAY,KAAK,WAAW;AAAA,MACrD,MAAM,WAAW,YAAY,IAAI,WAAW;AAAA,MAC5C,MAAM,OAAO,GAAG,QAAQ,MAAM,GAAG,QAAQ,IAAI,SAAS,QAAQ,MAAM,QAAQ;AAAA,MAC5E,WAAW,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,MAEvC,OAAO,EAAE,UAAU,MAAM,SAAS,GAAG;AAAA,IACtC;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA,SAAS,qBACR,YACA,SACA,SACA,UACD;AAAA,IACD;AAAA;AAAA,EAED,MAAM,2BAA2B,CAChC,YACA,YACI;AAAA,IACJ,MAAM,eAAe,UAAU,QAAQ,OAAO;AAAA,IAC9C,IAAI,aAAa,SAAS,GAAG;AAAA,MAC5B,WAAW,QAAQ,QAAQ,OAAO,YAAY,CAAC;AAAA,IAChD;AAAA,IACA,WAAW,MAAM;AAAA;AAAA,EAElB,MAAM,qBAAqB,OAC1B,YACA,QACA,SACA,aACI;AAAA,IACJ,QAAQ,MAAM,UAAU,MAAM,gBAAgB,MAAM;AAAA,IACpD,IAAI,QAAQ,CAAC,OAAO;AAAA,MACnB,OAAO,EAAE,MAAM,UAAU,QAAQ;AAAA,IAClC;AAAA,IAEA,MAAM,YAAY,eACjB,YACA,UAAU,oBAAoB,OAAO,OAAO,GAC5C,QACD;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA,UAAU,UAAU;AAAA,MACpB,SAAS,UAAU;AAAA,IACpB;AAAA;AAAA,EAED,MAAM,sBAAsB,OAC3B,YACA,WACI;AAAA,IACJ,MAAM,yBAAyB,OAC9B,UACA,YACI;AAAA,MACJ,MAAM,WAAW,MAAM,mBACtB,YACA,QACA,SACA,QACD;AAAA,MACA,MAAM,YAAY,oBAAoB,UAAU,UAAU,OAAO;AAAA,MACjE,IAAI,UAAU,MAAM;AAAA,QACnB,OAAO,EAAE,UAAU,QAAQ;AAAA,MAC5B;AAAA,MAEA,OAAO,uBACN,UAAU,UACV,UAAU,OACX;AAAA;AAAA,IAGD,OAAO,uBAAuB,OAAO,EAAE;AAAA;AAAA,EAGxC,OAAO,IAAI,eAA2B;AAAA,SAC/B,MAAK,CAAC,YAAY;AAAA,MACvB,MAAM,SAAS,OAAO,UAAU;AAAA,MAEhC,IAAI;AAAA,QACH,QAAQ,YAAY,MAAM,oBACzB,YACA,MACD;AAAA,QACA,yBAAyB,YAAY,OAAO;AAAA,QAC3C,OAAO,OAAO;AAAA,QACf,WAAW,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA;AAGK,IAAM,sBAAsB,CAAC,SACnC,KAAK,SAAS,aAAa;AACrB,IAAM,0BAA0B,CACtC,MACA,YACI;AAAA,EACJ,MAAM,WAAW,WAAW;AAAA,EAC5B,MAAM,aAAa,SAAS,cAAc,oBAAoB,IAAI;AAAA,EAClE,IAAI,CAAC,YAAY,CAAC,YAAY;AAAA,IAC7B,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,KAAK,SAAS,eAAe,KAAK,KAAK,SAAS,mBAAmB,GAAG;AAAA,IACzE,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,iBAAiB,MAAM,uBAAuB,QAAQ,CAAC;AAAA;AAGxD,IAAM,gCAAgC,CAC5C,QACA,YACI;AAAA,EACJ,MAAM,WAAW,WAAW;AAAA,EAC5B,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EACtB,MAAM,SAAS,uBAAuB,QAAQ;AAAA,EAE9C,IAAI,SAAS,eAAe,MAAM;AAAA,IACjC,OAAO,4BAA4B,QAAQ,MAAM;AAAA,EAClD;AAAA,EACA,IAAI,SAAS,eAAe,OAAO;AAAA,IAClC,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,oCAAoC,QAAQ,MAAM;AAAA;AAEnD,IAAM,2BAA2B,CAAC,aAAqC;AAAA,EAC7E,WAAW,qBAAqB;AAAA;;;ACzW1B,IAAM,eAAe,CAAC,WAAmB,UAAmB;AAAA,EAClE,MAAM,kBAA0C;AAAA,IAC/C,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,KAAK;AAAA,EACN;AAAA,EAEA,MAAM,SAAS,gBAAgB,cAAc;AAAA,EAC7C,MAAM,QAAQ,UAAU,OAAO,CAAC,EAAE,YAAY,IAAI,UAAU,MAAM,CAAC;AAAA,EACnE,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,EAErE,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sFAY8E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAahE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAMC,QAAQ,QAAQ,MAAM,OAAO,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC7ChG;AAOA,IAAM,kBAAkB;AAExB,IAAM,mBAAmB,CAAC,UACzB,QAAQ,KAAK,KAAK,OAAO,UAAU;AAEpC,IAAM,SAAS,MAAM;AAAA,EACpB,MAAM,QAAiB,QAAQ,IAAI,YAAY,eAAe;AAAA,EAC9D,IAAI,iBAAiB,KAAK;AAAA,IAAG,OAAO;AAAA,EAEpC,MAAM,QAAwB,CAAC;AAAA,EAE/B,OAAO;AAAA;AAGD,IAAM,iBAAiB,CAAC,aAAqB;AAAA,EACnD,MAAM,OAAO,SAAS,QAAQ;AAAA,EAE9B,MAAM,WAAW,KAAK,QAAQ,GAAG;AAAA,EACjC,MAAM,OAAO,WAAW,IAAI,KAAK,MAAM,GAAG,QAAQ,IAAI;AAAA,EAEtD,OAAO,SAAS,IAAI;AAAA;AAGd,IAAM,6BAA6B,CACzC,WACA,aACI;AAAA,EACJ,MAAM,cAAc,OAAO,EAAE;AAAA,EAC7B,IAAI,CAAC;AAAA,IAAa;AAAA,EAElB,OAAO,YAAY,QAAQ,WAAW,SAAS,YAAY,UAAU;AAAA;AAE/D,IAAM,gCAAgC,CAC5C,cACI,OAAO,EAAE,YAAY,UAAU;AAC7B,IAAM,iBAAiB,CAAC,QAAwB;AAAA,EACtD,QAAQ,IAAI,YAAY,iBAAiB,GAAG;AAAA;AAG7C,IAAM,QAAQ,MAAM;AAEpB,IAAM,kBAAkB,CAAC,UAAmB;AAAA,EAC3C,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,EACrE,MAAM,QAAQ,MAAM,KAAK,iBAAiB,QAAQ,MAAM,QAAQ;AAAA,EAEhE,OAAO,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE;AAAA;AAGpC,IAAM,mBAAmB,OACxB,gBACA,eACI;AAAA,EACJ,QAAQ,kBAAkB,MAAa;AAAA,EACvC,QAAQ,2BAA2B,MAAa;AAAA,EAChD,MAAM,MAAM,MAAa;AAAA,EACzB,OAAO,YAAY,OAAO,KAAK,GAAG;AAAA,EAClC,MAAM,iBACL,IAAI,YAAY,WAAW,IAAI,YAAY;AAAA,EAC5C,MAAM,UAAU,cAAc,gBAAgB,UAAU;AAAA,EACxD,MAAM,SAAS,MAAM,uBAAuB,OAAO;AAAA,EAEnD,OAAO,IAAI,SAAS,QAAQ;AAAA,IAC3B,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,oBAAoB,OACzB,gBACA,eACI;AAAA,EACJ,QAAQ,WAAW,MAAa;AAAA,EAChC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,iBAAiB,IAAI;AAAA,EAC3B,QAAQ,MAAM,SAAS,OAAO,gBAAgB;AAAA,IAC7C,OAAO;AAAA,EACR,CAAC;AAAA,EACD,MAAM,OAAO,8BAA8B,oBAAoB;AAAA,EAE/D,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,oBAAoB,CAAC,YAAoB;AAAA,EAC9C,IAAI,SAAS;AAAA,EACb,MAAM,OAAO,QAAQ,QACpB,+BACA,CAAC,GAAG,QAAgB;AAAA,IACnB,UAAU,UAAU,IAClB,QAAQ,WAAW,GAAG,EACtB,QAAQ,UAAU,GAAG,EACrB,QAAQ,SAAS,GAAG,EACpB,QAAQ,SAAS,GAAG;AAAA,IAEtB,OAAO;AAAA,GAET;AAAA,EAEA,OAAO,EAAE,MAAM,OAAO;AAAA;AAGvB,IAAM,iBAAiB,OACtB,gBACA,eACI;AAAA,EACJ,QAAQ,cAAc,MAAM,MAAa;AAAA,EACzC,QAAQ,mBAAmB,MAAa;AAAA,EACxC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,iBAAiB,IAAI;AAAA,EAC3B,MAAM,MAAM,aAAa;AAAA,IACxB,QAAQ,MAAM,EAAE,gBAAgB,UAAU;AAAA,EAC3C,CAAC;AAAA,EACD,MAAM,UAAU,MAAM,eAAe,GAAG;AAAA,EAIxC,QAAQ,QAAQ,SAAS,kBAAkB,OAAO;AAAA,EAClD,MAAM,OAAO,8BAA8B,qCAAqC;AAAA,EAEhF,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,qBAAqB,OAC1B,gBACA,eACI;AAAA,EAGJ,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,cAAc,IAAI,WAAW,IAAI;AAAA,EACvC,IAAI,OAAO,gBAAgB;AAAA,IAAY,OAAO;AAAA,EAE9C,MAAM,OAAO,YAAY,UAAU;AAAA,EAEnC,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,2BAA2B,CAChC,WACA,OACA,gBACI;AAAA,EACJ,MAAM,UAAU,uBAAuB,QAAQ,YAAY,UAAU;AAAA,EACrE,IACC,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,qBAAqB,KACtC,QAAQ,SAAS,qBAAqB,GACrC;AAAA,IACD,QAAQ,MACP,oBAAoB,kBAAkB,2DACvB,gDAAgD,cAAc,UAAU,oBAAoB,aAC5G;AAAA,IAEA;AAAA,EACD;AAAA,EAEA,QAAQ,MACP,0BAA0B,wBAAwB,eAClD,WACD;AAAA;AAGD,IAAM,kBAMF;AAAA,EACH,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AACN;AAEO,IAAM,wBAAwB,OACpC,WACA,UACA,UACI;AAAA,EACJ,MAAM,iBAAiB,2BAA2B,WAAW,QAAQ;AAAA,EACrE,IAAI,CAAC;AAAA,IAAgB,OAAO;AAAA,EAE5B,MAAM,aAAa,gBAAgB,KAAK;AAAA,EACxC,MAAM,WAAW,gBAAgB;AAAA,EACjC,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EAEtB,IAAI;AAAA,IACH,OAAO,MAAM,SAAS,gBAAgB,UAAU;AAAA,IAC/C,OAAO,aAAa;AAAA,IACrB,yBAAyB,WAAW,SAAS,WAAW;AAAA;AAAA,EAGzD,OAAO;AAAA;AAGR,IAAM,sBAAsB,OAAO,mBAA2B;AAAA,EAC7D,QAAQ,kBAAkB,MAAa;AAAA,EACvC,QAAQ,2BAA2B,MAAa;AAAA,EAChD,MAAM,MAAM,MAAa;AAAA,EACzB,OAAO,SAAS,OAAO,KAAK,GAAG;AAAA,EAC/B,MAAM,oBAAoB,IAAI,YAAY,QAAQ,IAAI,SAAS;AAAA,EAC/D,MAAM,UAAU,cAAc,iBAAiB;AAAA,EAC/C,MAAM,SAAS,MAAM,uBAAuB,OAAO;AAAA,EAEnD,OAAO,IAAI,SAAS,QAAQ;AAAA,IAC3B,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,uBAAuB,OAAO,mBAA2B;AAAA,EAC9D,QAAQ,WAAW,MAAa;AAAA,EAChC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,oBAAoB,IAAI;AAAA,EAC9B,QAAQ,MAAM,SAAS,OAAO,iBAAiB;AAAA,EAC/C,MAAM,OAAO,8BAA8B,oBAAoB;AAAA,EAE/D,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,oBAAoB,OAAO,mBAA2B;AAAA,EAC3D,QAAQ,cAAc,MAAM,MAAa;AAAA,EACzC,QAAQ,mBAAmB,MAAa;AAAA,EACxC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,oBAAoB,IAAI;AAAA,EAC9B,MAAM,MAAM,aAAa;AAAA,IACxB,QAAQ,MAAM,EAAE,iBAAiB;AAAA,EAClC,CAAC;AAAA,EACD,MAAM,UAAU,MAAM,eAAe,GAAG;AAAA,EAExC,QAAQ,QAAQ,SAAS,kBAAkB,OAAO;AAAA,EAClD,MAAM,OAAO,8BAA8B,qCAAqC;AAAA,EAEhF,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,wBAAwB,OAAO,mBAA2B;AAAA,EAC/D,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,iBAAiB,IAAI,WAAW,IAAI;AAAA,EAC1C,IAAI,OAAO,mBAAmB;AAAA,IAAY,OAAO;AAAA,EAEjD,MAAM,OAAO,eAAe;AAAA,EAE5B,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,sBAGF;AAAA,EACH,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AACN;AAEO,IAAM,2BAA2B,OACvC,cACI;AAAA,EACJ,MAAM,iBAAiB,8BAA8B,SAAS;AAAA,EAC9D,IAAI,CAAC;AAAA,IAAgB,OAAO;AAAA,EAE5B,MAAM,WAAW,oBAAoB;AAAA,EACrC,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EAEtB,IAAI;AAAA,IACH,OAAO,MAAM,SAAS,cAAc;AAAA,IACnC,OAAO,aAAa;AAAA,IACrB,yBAAyB,WAAW,aAAa,WAAW;AAAA;AAAA,EAG7D,OAAO;AAAA;AAGR,IAAM,qBAA+C;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,sBAAsB,YAAY;AAAA,EAC9C,MAAM,aAAa,OAAO,eAAyC;AAAA,IAClE,OAAO,cAAc,aAAa;AAAA,IAClC,IAAI,CAAC,WAAW;AAAA,MACf,OAAO;AAAA,IACR;AAAA,IACA,IAAI,CAAC,OAAO,EAAE,YAAY,UAAU,UAAU;AAAA,MAC7C,OAAO,WAAW,SAAS;AAAA,IAC5B;AAAA,IAEA,MAAM,WAAW,MAAM,yBAAyB,SAAS;AAAA,IACzD,IAAI,UAAU;AAAA,MACb,OAAO;AAAA,IACR;AAAA,IAEA,OAAO,WAAW,SAAS;AAAA;AAAA,EAG5B,OAAO,WAAW,kBAAkB;AAAA;;;AHpTrC;AACA;;;AIhBA;AAEA,IAAI,gCAEO;AAEX,IAAM,6BAA6B,YAAY;AAAA,EAC9C,MAAM,aAAa,MAClB,6BAAsB,sCAAsC;AAAA,EAG7D,OAAO,WAAW,sBAAsB;AAAA;AAGlC,IAAM,gCAAgC,CAC5C,yBACI;AAAA,EACJ,IAAI,CAAC;AAAA,IAAsB,OAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,EAEpD,kCAAkC,2BAA2B;AAAA,EAE7D,OAAO;AAAA;;;ACpBR;AAIA,IAAM,0BAA0B;AAChC,IAAM,iBAAiB;AAEvB,IAAM,yBAAyB,CAC9B,OACA,iBAEA,iBAAiB,aAAa,oBAC9B,MAAM,SAAS,aAAa,2BAA2B;AAExD,IAAM,wBAAwB,CAC7B,OACA,iBACI;AAAA,EACJ,IAAI,EAAE,iBAAiB,aAAa;AAAA,IAAkB,OAAO;AAAA,EAE7D,OAAO,MAAM;AAAA;AAGd,IAAM,wBAAwB,CAC7B,cACA,aACI;AAAA,EACJ,IAAI,CAAC;AAAA,IAAc;AAAA,EAEnB,MAAM,UAAU,IAAI,QAAQ,aAAa,OAAO;AAAA,EAChD,QAAQ,IAAI,YAAY,QAAQ;AAAA,EAChC,aAAa,UAAU;AAAA,EAEvB,IACC,OAAO,aAAa,WAAW,eAC/B,aAAa,WAAW,gBACvB;AAAA,IACD,aAAa,SAAS;AAAA,EACvB;AAAA;AAGD,IAAM,4BAA4B,CACjC,cACA,iBACI;AAAA,EACJ,IAAI,2BAA2B;AAAA,EAE/B,OAAO,CAAC,UAAmB;AAAA,IAC1B,IAAI,uBAAuB,OAAO,YAAY,GAAG;AAAA,MAChD,2BAA2B;AAAA,MAE3B;AAAA,IACD;AAAA,IAEA,IAAI,CAAC;AAAA,MAA0B;AAAA,IAE/B,MAAM,cAAc,sBAAsB,OAAO,YAAY;AAAA,IAC7D,IAAI,CAAC;AAAA,MAAa;AAAA,IAElB,sBAAsB,cAAc,WAAW;AAAA,IAC/C,2BAA2B;AAAA;AAAA;AAItB,IAAM,+BAA+B,OAC3C,MACA,iBACI;AAAA,EACJ,IAAI;AAAA,EAEJ,IAAI;AAAA,IACH,eAAe,MAAa,6BAAsB,iBAAiB;AAAA,IAClE,MAAM;AAAA,IACP,OAAO,CAAC;AAAA;AAAA,EAGT,OAAO;AAAA,IACN;AAAA,MACC,OAAO;AAAA,MACP,SAAS,KAAK;AAAA,MACd,UAAU,MAAM;AAAA,QACf,MAAM,SAAS,KAAK,OAAO,aAAa,QAAQ;AAAA,UAC/C,UAAU;AAAA,QACX,CAAC;AAAA,QACD,IAAI,CAAC;AAAA,UAAQ;AAAA,QAEb,OAAO,OAAO,UACb,0BAA0B,cAAc,YAAY,CACrD;AAAA;AAAA,IAEF;AAAA,EACD;AAAA;;;ACvFD;AAEA,IAAM,wBACL;AACD,IAAM,eACL;AAED,IAAM,mBAAsC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAM,uBAAwC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAM,sBAAsB,CAAC,UAC5B,MACE,WAAW,UAAU,GAAG,EACxB,WAAW,SAAS,GAAG,EACvB,WAAW,UAAU,GAAG,EACxB,WAAW,SAAS,GAAG,EACvB,WAAW,SAAS,GAAG,EACvB,WAAW,QAAQ,GAAG,EACtB,WAAW,QAAQ,GAAG;AAEzB,IAAM,YAAW,CAAC,UACjB,OAAO,UAAU,YAAY,UAAU;AAExC,IAAM,oBAAoB,CAAC,UAC1B,iBAAiB,KAAK,CAAC,cAAc,cAAc,KAAK;AAEzD,IAAM,kBAAkB,CAAC,UACxB,qBAAqB,KAAK,CAAC,SAAS,SAAS,KAAK;AAEnD,IAAM,kBAAkB,CAAC,oBAA4B;AAAA,EACpD,MAAM,aAAa,IAAI;AAAA,EACvB,IAAI,QAAQ,aAAa,KAAK,eAAe;AAAA,EAE7C,OAAO,OAAO;AAAA,IACb,SAAS,KAAK,mBAAmB,qBAAqB;AAAA,IACtD,QAAQ,aAAa,KAAK,eAAe;AAAA,IACzC,IAAI,CAAC;AAAA,MAAK;AAAA,IAEV,WAAW,IACV,KACA,oBAAoB,qBAAqB,qBAAqB,EAAE,CACjE;AAAA,EACD;AAAA,EAEA,aAAa,YAAY;AAAA,EAEzB,OAAO;AAAA;AAGR,IAAM,0BAA0B,CAC/B,oBACqC;AAAA,EACrC,MAAM,aAAa,gBAAgB,eAAe;AAAA,EAClD,MAAM,YAAY,WAAW,IAAI,WAAW;AAAA,EAC5C,MAAM,YAAY,WAAW,IAAI,WAAW;AAAA,EAC5C,MAAM,UAAU,WAAW,IAAI,SAAS,KAAK;AAAA,EAC7C,MAAM,kBAAkB,WAAW,IAAI,gBAAgB,KAAK;AAAA,EAE5D,IAAI,CAAC,aAAa,CAAC,WAAW;AAAA,IAC7B,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,CAAC,kBAAkB,SAAS,KAAK,CAAC,gBAAgB,OAAO,GAAG;AAAA,IAC/D,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,cAAuC,CAAC;AAAA,EAC5C,IAAI;AAAA,IACH,MAAM,YAAqB,KAAK,MAAM,eAAe;AAAA,IACrD,cAAc,UAAS,SAAS,IAAI,YAAY,CAAC;AAAA,IAChD,MAAM;AAAA,EAIR,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACR;AAAA;AAGM,IAAM,4BAA4B,OAAO,SAAiB;AAAA,EAChE,IAAI,CAAC,sBAAsB,KAAK,IAAI,GAAG;AAAA,IACtC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,WAAW,6BAA6B;AAAA,EAC9C,sBAAsB,YAAY;AAAA,EAElC,MAAM,WAIA,CAAC;AAAA,EACP,IAAI,YAAY;AAAA,EAChB,IAAI,QAAQ,sBAAsB,KAAK,IAAI;AAAA,EAE3C,OAAO,OAAO;AAAA,IACb,OAAO,WAAW,sBAAsB;AAAA,IACxC,MAAM,kBAAkB,sBAAsB;AAAA,IAC9C,SAAS,KAAK;AAAA,MACb,QAAQ,KAAK,MAAM,WAAW,MAAM,KAAK;AAAA,MACzC;AAAA,MACA,OAAO,wBAAwB,eAAe;AAAA,IAC/C,CAAC;AAAA,IACD,YAAY,MAAM,QAAQ,UAAU;AAAA,IACpC,QAAQ,sBAAsB,KAAK,IAAI;AAAA,EACxC;AAAA,EAEA,sBAAsB,YAAY;AAAA,EAElC,MAAM,mBAAmB,MAAM,QAAQ,IACtC,SAAS,IACR,OAAO,YACN,QAAQ,UACP,QAAQ,QACN,MAAM,mBAAmB,UAAU,QAAQ,KAAK,IAChD,QAAQ,UACb,CACD;AAAA,EAEA,OAAO,iBAAiB,KAAK,EAAE,IAAI,KAAK,MAAM,SAAS;AAAA;;;ANtHxD;;;AOjBA,IAAM,aAAa,CAAC,QACnB,OAAO,GAAG,EACR,QAAQ,MAAM,OAAO,EACrB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,QAAQ;AAEzB,IAAM,cAAc,CAAC,WAA8B;AAAA,EAClD,uCAAuC;AACxC;AAKA,IAAI,eAAiE;AAE9D,IAAM,kBAAkB,CAAC,SAAsB;AAAA,EACrD,IAAI;AAAA,IAAc,OAAO;AAAA,EAEzB,MAAM,oBAAoB,cAAc,KAAK,aAAa;AAAA,IACzD,QAAQ,CAAC,KAAsB,OAAkC;AAAA,MAChE,IAAI,UAAU;AAAA,QAAM,OAAO;AAAA,MAC3B,IAAI;AAAA,MACJ,IAAI,gBAAgB;AAAA,MACpB,IAAI,OAAO,UAAU,UAAU;AAAA,QAC9B,WAAW;AAAA,MACZ,EAAO,SACN,OAAO,UAAU,YACjB,2CAA2C,OAC1C;AAAA,QACD,WAAW,OAAO,MAAM,qCAAqC;AAAA,QAC7D,gBAAgB;AAAA,MACjB,EAAO;AAAA,QACN,WAAW,OAAO,KAAK;AAAA;AAAA,MAGxB,IAAI,QAAQ,KAAK,gBAAgB,MAAM;AAAA,QACtC,IAAI,eAAe;AAAA,UAClB,OAAO;AAAA,QACR;AAAA,QAEA,OAAO,WAAW,QAAQ;AAAA,MAC3B;AAAA,MAEA,OAAO;AAAA;AAAA,IAER,uBAAuB,CAAC,OAAe;AAAA,MACtC,OAAO,YAAY,KAAK;AAAA;AAAA,IAEzB,wBAAwB,CAAC,OAAe;AAAA,MACvC,OAAO,YAAY,KAAK;AAAA;AAAA,IAEzB,yBAAyB,CAAC,OAAe;AAAA,MACxC,OAAO,YAAY,KAAK;AAAA;AAAA,IAEzB,sBAAsB,CAAC,OAAe;AAAA,MACrC,OAAO,YAAY,KAAK;AAAA;AAAA,IAEzB,8BAA8B,CAAC,OAAe;AAAA,MAC7C,OAAO,YAAY,KAAK;AAAA;AAAA,EAE1B;AAAA,EAEA,eAAe,IAAI;AAAA,EAEnB,OAAO;AAAA;AAED,IAAM,oBAAoB,MAAM;AAAA,EACtC,eAAe;AAAA;;;ACxEhB;AAkBA,IAAM,aAAa,OAAO,iBAA+B;AAEzD,IAAM,eAAe,CAAC,aAAuB;AAAA,EAC5C,MAAM,UAAU,IAAI,QAAQ,SAAS,OAAO;AAAA,EAE5C,OAAO;AAAA;AAGD,IAAM,wCAAwC,CACpD;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB,CAAC;AAAA,EAClB;AAAA,IACiC,CAAC,MAC/B;AAAA,EACJ,IAAI,CAAC,SAAS,QAAQ,eAAe,WAAW,GAAG;AAAA,IAClD,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,OAAO,mCACZ,SAAS,MACT,gBACA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CACD;AAAA,EAEA,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,aAAa,QAAQ;AAAA,IAC9B,QAAQ,SAAS;AAAA,IACjB,YAAY,SAAS;AAAA,EACtB,CAAC;AAAA;AAGK,IAAM,qBAAqB,OACjC,cACA,UAAwC,CAAC,MAEzC,sCACC,MAAM,WAAW,YAAY,GAC7B,OACD;AAED,IAAM,sBAAsB,CAC3B,YACA,aACI;AAAA,EACJ,MAAM,SAAS,IAAI;AAAA,EACnB,WAAW,QAAQ;AAAA,IAAY,OAAO,IAAI,KAAK,IAAI,IAAI;AAAA,EACvD,WAAW,QAAQ;AAAA,IAAU,OAAO,IAAI,KAAK,IAAI,IAAI;AAAA,EAErD,OAAO,CAAC,GAAG,OAAO,OAAO,CAAC;AAAA;AAGpB,IAAM,+BAA+B,OAC3C,gBACA,UAAwC,CAAC,MACrC;AAAA,EACJ,QAAQ,QAAQ,UACf,MAAM,6BAA6B,cAAc;AAAA,EAClD,MAAM,WAAW,QAAQ,kBAAkB,CAAC;AAAA,EAE5C,OAAO,mBAAmB,QAAQ;AAAA,OAC9B;AAAA,IACH,gBAAgB,oBAAoB,OAAO,QAAQ;AAAA,EACpD,CAAC;AAAA;;;AC1FF;AADA,8BAAS;AAWT,IAAM,sCAAqC,OAAO,IACjD,kDACD;AAEA,IAAM,kBAAiB,CAAC,UACvB,QAAQ,KAAK,KAAK,OAAO,UAAU;AAEpC,IAAM,uBAAsB,CAAC,UAC5B,gBAAe,KAAK,MACpB,cAAc,UACd,OAAO,MAAM,aAAa,eAC1B,SAAS,UACT,OAAO,MAAM,QAAQ;AAEtB,IAAM,oBAAoB,MAAM;AAAA,EAC/B,MAAM,QAAQ,QAAQ,IAAI,YAAY,mCAAkC;AAAA,EACxE,IAAI,UAAU,QAAQ,OAAO,UAAU,aAAa;AAAA,IACnD;AAAA,EACD;AAAA,EAEA,OAAO,qBAAoB,KAAK,IAAI,QAAQ;AAAA;AAG7C,IAAM,uBAAuB,MAAM;AAAA,EAClC,MAAM,WAAW,kBAAkB;AAAA,EACnC,IAAI,UAAU;AAAA,IACb,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,UAAU,IAAI;AAAA,EACpB,QAAQ,IAAI,YAAY,qCAAoC,OAAO;AAAA,EAEnE,OAAO;AAAA;AAGR,IAAM,yBAAwB,CAAC,UAC9B,MACE,QAAQ,GAAG,QAAQ,IAAI,MAAM,EAAE,EAC/B,QAAQ,QAAQ,IAAI,GAAG,EAAE,EACzB,QAAQ,UAAU,EAAE;AAEvB,IAAM,wBAAwB,CAAC,aAAqB;AAAA,EACnD,MAAM,QAAQ,SAAS,MAAM,mBAAmB;AAAA,EAChD,IAAI,CAAC,OAAO;AAAA,IACX,OAAO,WAAW;AAAA,EACnB;AAAA,EAEA,OAAO,WAAW,MAAM,aAAa,MAAM;AAAA;AAG5C,IAAM,2BAA2B,CAAC,UACjC,MAAM,SAAS,gBAAgB,KAC/B,MAAM,SAAS,QAAQ,KACvB,MAAM,SAAS,yBAAyB,KACxC,MAAM,SAAS,uBAAuB,KACtC,MAAM,SAAS,0BAA0B,KACzC,MAAM,SAAS,2BAA2B,KAC1C,MAAM,SAAS,sCAAsC;AAEtD,IAAM,qBAAqB,CAAC,UAC3B,MAAM,MAAM,wBAAwB,IAAI,MACxC,MAAM,MAAM,uBAAuB,IAAI;AAExC,IAAM,2BAA2B,CAAC,UAAkB;AAAA,EACnD,MAAM,WAAW,MACf,MAAM;AAAA,CAAI,EACV,MAAM,CAAC,EACP,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,CAAC,UAAU,CAAC,yBAAyB,KAAK,CAAC,EAClD,IAAI,CAAC,UAAU,mBAAmB,KAAK,CAAC,EACxC,KAAK,CAAC,kBAAkB,kBAAkB,SAAS;AAAA,EAErD,OAAO,WAAW,uBAAsB,QAAQ,IAAI;AAAA;AAGrD,IAAM,+BAA+B,CACpC,eACA,oBAEA,GAAG,yLAAyL,kBAAkB,WAAW,sBAAsB,eAAe,OAAO;AAEtQ,kCAAkC;AAAA,EACjC,WAAW,CAAC,kBAA0B;AAAA,IACrC,MAAM,QAAQ,kBAAkB,GAAG,SAAS;AAAA,IAC5C,IAAI,CAAC,SAAS,MAAM,WAAW;AAAA,MAC9B;AAAA,IACD;AAAA,IAEA,MAAM,YAAY;AAAA,IAClB,QACC,6BAA6B,eAAe,MAAM,eAAe,CAClE;AAAA;AAEF,CAAC;AAEM,IAAM,sCAAsC,MAAM;AAAA,EACxD,IAAI,OAAuC,CAE3C;AAAA,EAEA,QAAQ,UAAU,IAAI;AAAA,EACtB,IAAI,CAAC,OAAO;AAAA,IACX;AAAA,EACD;AAAA,EAEA,OAAO,yBAAyB,KAAK;AAAA;AAG/B,IAAM,mCAAmC,CAC/C,MACA,aAIA,qBAAqB,EAAE,IACtB,EAAE,iBAAiB,UAAU,iBAAiB,WAAW,MAAM,GAC/D,IACD;;;ATjGD;AACA;AAYA,IAAI,eAAe;AAgCnB,IAAM,YAAW,CAAC,UACjB,OAAO,UAAU,YAAY,UAAU;AAExC,IAAM,qBAAqB,CAAC,UAC3B,OAAO,UAAU;AAElB,IAAM,0BAA0B,CAC/B,UAEA,UAAS,KAAK,KAAK,mBAAmB,MAAM,SAAS;AAEtD,IAAM,uBAAuB,CAAC,eAAwC;AAAA,EACrE,MAAM,OAAO,QAAQ,IAAI,YAAY,MAAM;AAAA,EAC3C,IAAI,wBAAwB,IAAI,GAAG;AAAA,IAClC,OAAO,KAAK;AAAA,EACb;AAAA,EAEA,MAAM,gBAAgB,WAAW;AAAA,EACjC,IAAI,wBAAwB,aAAa,GAAG;AAAA,IAC3C,OAAO,cAAc;AAAA,EACtB;AAAA,EAEA,IAAI,mBAAmB,aAAa,GAAG;AAAA,IACtC,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,OAAO,OAAO,UAAU,EAAE,KAAK,CAAC,UAAU,mBAAmB,KAAK,CAAC;AAAA;AAG3E,IAAI,wBAAiD;AACrD,IAAM,wBAAwB,MAAM;AAAA,EACnC,IAAI,CAAC,uBAAuB;AAAA,IAC3B,wBAA+B;AAAA,EAChC;AAAA,EAEA,OAAO;AAAA;AAGR,IAAM,wBAAwB,CAAC,UAC9B,UAAS,KAAK,IAAI,QAAQ;AAE3B,IAAM,0BAA0B,MAC/B,QAAQ,IAAI,+BACZ,MAAK,OAAO,GAAG,cAAc,aAAa,aAAa;AAExD,IAAM,8BAA8B,OAAO,WAAmB;AAAA,EAC7D,MAAM,UAAU,SAAQ,SAAQ,SAAQ,MAAM,CAAC,CAAC;AAAA,EAChD,MAAM,kBAAkB,MAAK,SAAS,cAAc;AAAA,EACpD,IAAI,QAAQ,IAAI,6BAA6B;AAAA,IAC5C;AAAA,EACD;AAAA,EACA,IAAI,oBAAoB,SAAQ,QAAQ,IAAI,GAAG,cAAc,GAAG;AAAA,IAC/D;AAAA,EACD;AAAA,EACA,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,OAAO,GAAG;AAAA,IAC7C;AAAA,EACD;AAAA,EAEA,MAAM,OAAM,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,EACxC,IAAI;AAAA,IACH,MAAM,QACL,SAAQ,QAAQ,IAAI,GAAG,cAAc,GACrC,iBACA,KACD;AAAA,IACC,OAAO,OAAO;AAAA,IACf,IACC,EAAE,iBAAiB,UACnB,EAAE,UAAU,UACZ,MAAM,SAAS,UACd;AAAA,MACD,MAAM;AAAA,IACP;AAAA;AAAA;AAIF,IAAM,kCAAkC,OAAO,aAAqB;AAAA,EACnE,IAAI,CAAC,SAAS,SAAS,KAAK,GAAG;AAAA,IAC9B,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,SAAS,wBAAwB;AAAA,EACvC,MAAM,4BAA4B,MAAM;AAAA,EACxC,QAAQ,kDAA0B;AAAA,EAClC,MAAM,UAAU,MAAM,uBACrB,UACA,QACA,QAAQ,IAAI,CACb;AAAA,EACA,MAAM,mBAAmB,UAAS,QAAQ,EAAE,QAAQ,SAAS,KAAK;AAAA,EAElE,OACC,QAAQ,KAAK,CAAC,WAAW,OAAO,SAAS,IAAI,kBAAkB,CAAC,KAChE,QAAQ,KAAK,CAAC,WAAW,OAAO,SAAS,KAAK,kBAAkB,CAAC,KACjE,QAAQ,MACR;AAAA;AAIF,IAAM,sBAAsB,CAAC,eAA6B,CAAC,MAAM;AAAA,EAChE,MAAM,UAAU,IAAI,QAAQ,aAAa,OAAO;AAAA,EAChD,IAAI,CAAC,QAAQ,IAAI,cAAc,GAAG;AAAA,IACjC,QAAQ,IAAI,gBAAgB,WAAW;AAAA,EACxC;AAAA,EAEA,OAAO,KAAK,cAAc,QAAQ;AAAA;AAGnC,IAAM,0BAA0B,CAAC,YAAiC;AAAA,EACjE,IAAI,CAAC;AAAA,IAAS,OAAO;AAAA,EAErB,IAAI;AAAA,IACH,MAAM,SAAS,IAAI,IAAI,QAAQ,GAAG;AAAA,IAElC,OAAO,GAAG,OAAO,WAAW,OAAO;AAAA,IAClC,MAAM;AAAA,IACP,OAAO;AAAA;AAAA;AAIT,IAAM,2BAA2B,CAAC,UAAmC;AAAA,EACpE,IAAI,EAAE,eAAe;AAAA,IAAQ;AAAA,EAE7B,MAAM,IAAI,MACT,4JACD;AAAA;AAQD,IAAM,oBAAoB,IAAI;AAC9B,oBAAoB,MAAM,kBAAkB,SAAS,CAAC;AAE/C,IAAM,2BAA2B,OAGvC,UACI;AAAA,EACJ,MAAM,YAAY,WAAW,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,SAAS,aAAa,EAAE,UAAU,GAAG,mBAAmB;AAAA,EAEjH,OAAO,kBAAkB,IAAI,WAAW,YAAY;AAAA,IACnD,MAAM,sBAAsB;AAAA,IAE5B,MAAM,kBAAkB,MAAM,WAAW;AAAA,IACzC,MAAM,oBAAoB,MAAM;AAAA,IAChC,MAAM,UAAU;AAAA,IAChB,MAAM,mBAAmB,MAAM;AAAA,IAC/B,MAAM,aAAa,MAAM;AAAA,IACzB,MAAM,eAAe,MAAM,gBAAgB,CAAC;AAAA,IAC5C,MAAM,cAAc,wBAAwB,MAAM,OAAO;AAAA,IAIzD,eAAe,kBAAkB;AAAA,MAChC,SAAS;AAAA,MACT,OAAO;AAAA,IACR,CAAC;AAAA,IAED,IAAI,gBAAgB,SAAS,GAAG;AAAA,MAC/B,mBAAmB;AAAA,MACnB,MAAM,SAAS,oBACZ,kBAAkB,KAAK,UAAU,iBAAiB,iBAClD;AAAA,MACH,MAAM,OAAO,wBAAwB,yBAAyB,kBAAkB,gBAAgB;AAAA,MAEhG,OAAO,IAAI,SAAS,MAAM;AAAA,QACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,MACxC,CAAC;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACH,yBAAyB,KAAK;AAAA,MAE9B,MAAM,kBACL,SAAS,0BAA0B,OAChC,YACC,oCAAoC,KACtC,oCAAoC;AAAA,MACvC,MAAM,qBAAqB,YAAY;AAAA,QACtC,MAAM,WAAW,MAAM,eAAe;AAAA,QACtC,MAAM,kBACL,MAAM,gCAAgC,gBAAgB;AAAA,QACvD,MAAM,qBAA8B,MACnC;AAAA,QAED,MAAM,aAAa,sBAAsB,kBAAkB;AAAA,QAC3D,IAAI,CAAC,YAAY;AAAA,UAChB,MAAM,IAAI,MACT,gCAAgC,kBACjC;AAAA,QACD;AAAA,QACA,MAAM,gBAAgB,qBAAqB,UAAU;AAAA,QACrD,IAAI,CAAC,mBAAmB,aAAa,GAAG;AAAA,UACvC,MAAM,IAAI,MACT,yDAAyD,kBAC1D;AAAA,QACD;AAAA,QACA,MAAM,aACL,OAAO,WAAW,kCAClB,YACG,WAAW,gCACX;AAAA,QACJ,MAAM,uBACL,WAAW,6CACX;AAAA,QAED,MAAM,YAAY,MAAM,YAAY,eAAe;AAAA,QACnD,MAAM,OAAO,UAAU,WAAW,QAAQ;AAAA,QAE1C,MAAM,WAAW,eAAe,UAAU;AAAA,QAC1C,MAAM,WAAW,gBAChB,MACA,kBACA,aACD;AAAA,QACA,eAAe;AAAA,QAEf,MAAM,aAAa,wBAAwB,yBAAyB,cAAc;AAAA,QAElF,IAAI,WAAW;AAAA,UAAM,kBAAkB;AAAA,QACvC,MAAM,YAAY,gBAAgB,IAAI;AAAA,QAMtC,MAAM,sBAAsB,QAAQ,IACnC,YACA,WACD;AAAA,QACA,MAAM,gBAEF,MAAM,QAAQ,mBAAmB,IAClC,sBACA,CAAC;AAAA,QACJ,MAAM,oBAAoB;AAAA,UACzB,GAAI,MAAM,6BAA6B,MAAM,YAAY;AAAA,UACzD,GAAG;AAAA,UACH,GAAI,MAAM,8BACT,oBACD;AAAA,QACD;AAAA,QACA,MAAM,YAAY,eACjB,MACA,WACA,YACA,UACA,MAAM,SACN,MAAM,gBACN,cACA,iBACD;AAAA,QAEA,MAAM,UAAkB,MAAM,iBAC7B,MACA,eACA,WACA,YACA,WACD;AAAA,QACA,MAAM,uBACL,cAAc,QAAQ,SAAS,kBAAkB;AAAA,QAClD,MAAM,yBAAyB,uBAC5B,MAAM,0BAA0B,OAAO,IACvC;AAAA,QAEH,MAAM,OAAO,wBACZ,iBACC,wBACA,WACA,mBACA,UACD,GACA,EAAE,YAAY,qBAAqB,CACpC;AAAA,QAEA,OAAO,IAAI,SAAS,MAAM,oBAAoB,YAAY,CAAC;AAAA;AAAA,MAG5D,OAAO,iCACN,MACC,SAAS,0BAA0B,OAChC,6BACA,oBACA,OACD,IACC,mBAAmB,GACvB,EAAE,gBAAgB,CACnB;AAAA,MACC,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,+BAA+B,KAAK;AAAA,MAElD,MAAM,WAAW,eAAe,gBAAgB;AAAA,MAChD,MAAM,qBAAqB,MAAM,sBAChC,WACA,UACA,KACD;AAAA,MACA,IAAI;AAAA,QAAoB,OAAO;AAAA,MAE/B,OAAO,IAAI,SAAS,aAAa,WAAW,KAAK,GAAG;AAAA,QACnD,SAAS,EAAE,gBAAgB,YAAY;AAAA,QACvC,QAAQ;AAAA,MACT,CAAC;AAAA;AAAA,GAEF;AAAA;;AU7XK,IAAM,oBAAoB,CAE/B,eAEI;;ACPN;AAEO,IAAM,kBAAkB,OAAc,SAA+B;AAAA,EAC3E,MAAM,aAAa,OAAO,YAAY,EAAE,IAAI;AAAA,EAE5C,IAAI;AAAA,IACH,OAAO,MAAM,KAAK;AAAA,YACjB;AAAA,IACD,WAAW;AAAA;AAAA;;;ACUb;",
56
- "debugId": "8446B69153146B1264756E2164756E21",
55
+ "mappings": "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",
56
+ "debugId": "E05F6DFD53809BC964756E2164756E21",
57
57
  "names": []
58
58
  }