@tea-agent/loop-agent 0.43.0-next.17 → 0.43.0-next.3
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.
- package/CHANGELOG.md +9 -140
- package/dist/application/task-lifecycle/advance.js +4 -17
- package/dist/application/task-lifecycle/observe.js +29 -43
- package/dist/application/task-lifecycle/plan-transitions.js +4 -5
- package/dist/build-stamp.json +3 -3
- package/dist/commands/client-recovery.js +55 -20
- package/dist/commands/new-task.js +5 -0
- package/dist/commands/status.js +57 -0
- package/dist/commands/task-contract.js +269 -0
- package/dist/executors/dag-pi-executor.js +230 -269
- package/dist/executors/pi-executor.js +0 -2
- package/dist/executors/pi-sdk-executor.js +39 -77
- package/dist/executors/shell-executor.js +2 -3
- package/dist/executors/shell-write-guard.js +32 -27
- package/dist/shared/pi-context-pressure/extension.js +16 -26
- package/dist/shared/pi-retry-settings.js +0 -40
- package/dist/shared/prompts.js +26 -0
- package/dist/task/config.js +2 -0
- package/dist/task/contract/validate-draft.js +106 -0
- package/dist/task/goal.js +3 -0
- package/dist/task/index.js +12 -0
- package/dist/task/lifecycle.js +1 -0
- package/dist/task/operator/capabilities.js +6 -0
- package/dist/task/operator/envelope.js +2 -0
- package/dist/task/operator/index.js +5 -0
- package/dist/task/operator/registry.js +2 -0
- package/dist/task/operator/types.js +1 -0
- package/dist/task/paths.js +1 -0
- package/dist/task/source-prepare/source-fidelity-pi.js +2 -2
- package/dist/task/source-references.js +23 -48
- package/dist/task/source-state.js +1 -0
- package/dist/task/subagent-guidance.js +1 -0
- package/dist/worker/console/chat/assistant-content.js +2 -23
- package/dist/worker/console/chat/explore-tools.js +0 -13
- package/dist/worker/console/chat/pi-runtime.js +1182 -221
- package/dist/worker/console/chat/routes.js +71 -213
- package/dist/worker/console/chat/sdd-data-alignment.js +9 -65
- package/dist/worker/console/chat/session-catalog.js +0 -32
- package/dist/worker/console/chat/session-store.js +6 -22
- package/dist/worker/console/chat/shortcuts.js +0 -6
- package/dist/worker/console/chat/sift-bridge.js +1 -0
- package/dist/worker/console/chat/tool-preview.js +0 -11
- package/dist/worker/console/chat/tools.js +0 -6
- package/dist/worker/console/console-update-and-init.js +19 -1
- package/dist/worker/console/console-update-runtime.js +20 -5
- package/dist/worker/console/index.js +20 -0
- package/dist/worker/console/operator-actions.js +1 -13
- package/dist/worker/console/routes.js +0 -8
- package/dist/worker/console/server.js +29 -11
- package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-C4NXyedy.js → abnfDiagram-N423BO3Z-hUmM_GRf.js} +1 -1
- package/dist/worker/console/static/assets/{arc-NZ3qXvBI.js → arc-Bt-xuieW.js} +1 -1
- package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-COZSRvml.js → architectureDiagram-T3A2C74G-DTqkL4DJ.js} +1 -1
- package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-Ck0Gxi9C.js → blockDiagram-VBNYF7ZC-Cy0MNnzV.js} +1 -1
- package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-BX5HQ4Ox.js → c4Diagram-5PPSVZJV-DDdlT0Pd.js} +1 -1
- package/dist/worker/console/static/assets/channel-BpzRnZmU.js +1 -0
- package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-CoviemSL.js → chunk-2GRJ4B5K-3JawwNZ6.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-DbOdOkbZ.js → chunk-2Q5K7J3B-DoTp7Cri.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5RXB4S5H-BsG2pmdQ.js → chunk-5RXB4S5H-CcirhZaS.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5VM5RSS4-DGdvrNm8.js → chunk-5VM5RSS4-VrG21gnP.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-BAy7Yd6y.js → chunk-6Q2QTUOP-DDOgIS70.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-GF5L2VYU-D9UA7hUb.js → chunk-GF5L2VYU-CBjmgvJ_.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-JWPE2WC7-DPz7SZ8V.js → chunk-JWPE2WC7-CCQSht8M.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-KBJHAD2P-BmuEOIh7.js → chunk-KBJHAD2P-BpGMkUUV.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-RYQCIY6F-CIhBWnd8.js → chunk-RYQCIY6F-DNDT41QL.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-XXDRQBXY-CScR6mDD.js → chunk-XXDRQBXY-euXnDFbn.js} +1 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-BhlMVqCc.js +1 -0
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-BhlMVqCc.js +1 -0
- package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-BjpfWaUr.js → cose-bilkent-JH36ORCC-BJ6NAeql.js} +1 -1
- package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-BFQohJgT.js → cynefin-VYW2F7L2-F5JKIvIq.js} +1 -1
- package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-D3gzRJnS.js → cynefinDiagram-MW4NZA55-Cwmkl_Gi.js} +1 -1
- package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-5eojkhoA.js → dagre-VZM6K2ZE-BmCZ8815.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-7IWD3JNH-CpD8LWu_.js → diagram-7IWD3JNH-zWA3hUnX.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-B8_4qJ2a.js → diagram-B4RE2ZJO-BzA-888F.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-LBJQPF4R-HOsXf0eu.js → diagram-LBJQPF4R-tPNheoch.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-Q27KOJAE-BqwRwiWP.js → diagram-Q27KOJAE-Cdi7Fyqp.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-UB23O5K3-BRVCNZe1.js → diagram-UB23O5K3-DFK9VBf1.js} +1 -1
- package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR-Cvb1TgGh.js → ebnfDiagram-BXEA7PRR-xCUr1kpg.js} +1 -1
- package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-DS0O0qG9.js → erDiagram-JOGREHBK-BANQHY_A.js} +1 -1
- package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-BHIRvRr3.js → flowDiagram-UKHOOZJN-VHJYEMkP.js} +1 -1
- package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-DcCJ1JWx.js → ganttDiagram-PKOTCBZU-DiyZQ0C6.js} +1 -1
- package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-B9ia5ony.js → gitGraphDiagram-DS77QQ5N-CZtIeBBa.js} +1 -1
- package/dist/worker/console/static/assets/index-BlN6ytLr.css +1 -0
- package/dist/worker/console/static/assets/index-CA-jfWlE.js +449 -0
- package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-3ogpgegn.js → infoDiagram-6WML65LV-BuSspC0X.js} +1 -1
- package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-4tgpQ5SL.js → ishikawaDiagram-WSZJBQD7-DRJZyPFy.js} +1 -1
- package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-DNfgHqFx.js → journeyDiagram-NVQOT4AX-DIfXIVuE.js} +1 -1
- package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-Dz7ngC8z.js → kanban-definition-27J2QSJJ-CT10_7Lt.js} +1 -1
- package/dist/worker/console/static/assets/{linear-DI7Jv62E.js → linear-ufemj74H.js} +1 -1
- package/dist/worker/console/static/assets/{mermaid.core-CQA4Nzmo.js → mermaid.core-DEQe8-_m.js} +5 -5
- package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-CtsMc8Mf.js → mindmap-definition-FAOFIHXS-BRLUrbrC.js} +1 -1
- package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-ByppE9yH.js → pegDiagram-VL7TDLO6-BgibKtiF.js} +1 -1
- package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-B5PtgFgt.js → pieDiagram-7S7Q4E2Y-D3eyfdV9.js} +1 -1
- package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-Cq4p0k2K.js → quadrantDiagram-CIZ2JOQS-DXeTk5Px.js} +1 -1
- package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-DjfkyljN.js → railroadDiagram-AXF67PYL-BgXdFEe7.js} +1 -1
- package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-DzynNRSl.js → requirementDiagram-LRYGKXZP-CseC2A7R.js} +1 -1
- package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-Cj7TCpTJ.js → sankeyDiagram-W5VNT64P-D80PFzfJ.js} +1 -1
- package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-C73C6ykA.js → sequenceDiagram-SI44F4Z6-BWzHW7LS.js} +1 -1
- package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-BiNLgN2x.js → sizeCapture-X5ZJPWSS-xWQYTLAn.js} +1 -1
- package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-UwvjS64-.js → stateDiagram-OKZ733FA-CLxtpZeL.js} +1 -1
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-CiVoq4G-.js +1 -0
- package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-CC7DH98r.js → swimlanes-SLNWSIFB-DwugtmWV.js} +2 -2
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-BkdgdpfR.js +8 -0
- package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-LSBXTR70.js → timeline-definition-Z64GVDOM-DHEOwHIe.js} +1 -1
- package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-BAuxWwGP.js → vennDiagram-T6HMQDX7-pmbZKlBK.js} +1 -1
- package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y--E5_gjZx.js → wardleyDiagram-T6FBY63Y-CivHoM5q.js} +1 -1
- package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M-dJWNmyzF.js → xychartDiagram-ELKLHX3M-BfHIE7o6.js} +1 -1
- package/dist/worker/console/static/index.html +2 -2
- package/dist/worker/console/static-src/operator-chat/chat-sse-events.js +10 -122
- package/dist/worker/console/static-src/operator-chat/compaction-message.js +0 -7
- package/dist/worker/console/static-src/operator-chat/pending-user-message.js +15 -35
- package/dist/worker/console/static-src/operator-chat/useChatSessions.js +62 -136
- package/dist/worker/console/static-src/operator-chat/useChatStream.js +68 -159
- package/dist/worker/console/static-src/operator-chat/useChatThread.js +56 -75
- package/dist/worker/console/static-src/operator-chat/useComposer.js +78 -206
- package/dist/worker/console/workspace-context.js +1 -21
- package/dist/worker/observe/static/router.js +1 -1
- package/dist/worker/observe/static/styles.css +4 -7
- package/dist/worker/observe/static/views/dag-inspector.js +19 -12
- package/dist/worker/observe/static/views/dag.js +2 -2
- package/dist/worker/scheduler/index.js +25 -0
- package/dist/workflows/dag/facts.js +4 -0
- package/dist/workflows/dag/frontend-closeout.js +1 -1
- package/dist/workflows/dag/frontend-design-policy.js +1 -2
- package/dist/workflows/dag/frontend-implementation-contract.js +4 -8
- package/dist/workflows/dag/frontend-prewrite-gate.js +3 -3
- package/dist/workflows/dag/frontend-repair.js +76 -55
- package/dist/workflows/dag/frontend-review-context.js +1 -2
- package/dist/workflows/dag/frontend-review-scopes.js +12 -34
- package/dist/workflows/dag/frontend-shape-facts.js +2 -12
- package/dist/workflows/dag/frontend-verification-trace.js +42 -8
- package/dist/workflows/dag/index.js +6 -0
- package/dist/workflows/dag/init-hybrid.js +160 -97
- package/dist/workflows/dynamic/index.js +7 -0
- package/docs/architecture/runtime-boundaries.md +3 -3
- package/docs/templates/frontend-implementation-dag.json +8 -9
- package/package.json +3 -7
- package/skills/frontend-bounded-implement/SKILL.md +3 -4
- package/skills/frontend-bounded-implement/references/code-standards.md +3 -3
- package/skills/frontend-contract/references/contract-protocol.md +1 -3
- package/skills/frontend-design-review/SKILL.md +7 -12
- package/skills/frontend-design-review/references/review-checklist.md +7 -7
- package/skills/frontend-plan/SKILL.md +0 -19
- package/skills/frontend-plan/references/decision-contract.md +19 -26
- package/skills/frontend-review/SKILL.md +18 -12
- package/skills/frontend-review/references/review-findings.md +43 -24
- package/dist/shared/pi-provider-recovery.js +0 -182
- package/dist/worker/console/chat/browser-automation.js +0 -363
- package/dist/worker/console/chat/browser-policy.js +0 -113
- package/dist/worker/console/chat/browser-routes.js +0 -162
- package/dist/worker/console/chat/pi-runtime/custom-tools/ask-user-question.js +0 -44
- package/dist/worker/console/chat/pi-runtime/custom-tools/browser-tools.js +0 -89
- package/dist/worker/console/chat/pi-runtime/custom-tools/explore-tools.js +0 -202
- package/dist/worker/console/chat/pi-runtime/custom-tools/goal-tools.js +0 -79
- package/dist/worker/console/chat/pi-runtime/custom-tools/operator-tools.js +0 -86
- package/dist/worker/console/chat/pi-runtime/custom-tools/todo-write.js +0 -38
- package/dist/worker/console/chat/pi-runtime/inspection-types.js +0 -28
- package/dist/worker/console/chat/pi-runtime/inspection.js +0 -439
- package/dist/worker/console/chat/pi-runtime/sdk-bindings.js +0 -153
- package/dist/worker/console/chat/pi-runtime/sdk-session.js +0 -5
- package/dist/worker/console/chat/scm-routes.js +0 -217
- package/dist/worker/console/chat/scm-service.js +0 -283
- package/dist/worker/console/chat/scm-tools.js +0 -111
- package/dist/worker/console/chat/session-mode-view.js +0 -49
- package/dist/worker/console/chat/session-mode.js +0 -220
- package/dist/worker/console/chat/terminal-routes.js +0 -216
- package/dist/worker/console/chat/terminal-sessions.js +0 -348
- package/dist/worker/console/chat/terminal-tools.js +0 -211
- package/dist/worker/console/static/assets/channel-BxdTlb_5.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-_ByA1Nf8.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-_ByA1Nf8.js +0 -1
- package/dist/worker/console/static/assets/index-B9goN3S5.css +0 -1
- package/dist/worker/console/static/assets/index-wXlQohNs.js +0 -469
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-nLgMZ0D3.js +0 -1
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-BcYqTady.js +0 -8
- package/dist/worker/console/static-src/operator-chat/active-turn-tail.js +0 -10
- package/dist/worker/console/static-src/operator-chat/chat-link.js +0 -94
- package/dist/worker/console/static-src/operator-chat/chat-scroll-position.js +0 -24
- package/dist/worker/console/static-src/operator-chat/composer-session-ledger.js +0 -192
- package/dist/worker/console/static-src/operator-chat/process-label.js +0 -41
- package/dist/worker/console/static-src/operator-chat/turn-group-equality.js +0 -13
- package/dist/worker/console/static-src/operator-chat/turn-process-disclosure.js +0 -10
- package/dist/worker/console/static-src/operator-chat/use-searchable-hidden.js +0 -51
- package/dist/worker/console/static-src/operator-chat/user-turn-anchor-equality.js +0 -21
- package/dist/worker/console/workspace-initialization.js +0 -209
- package/dist/workflows/dag/frontend-capacity.js +0 -9
- package/dist/workflows/dag/frontend-plan-completeness.js +0 -186
- package/dist/workflows/dag/frontend-plan-recovery-policy.js +0 -18
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const c of o.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&a(c)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function Od(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var im={exports:{}},Ml={};var O2;function Qw(){if(O2)return Ml;O2=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(a,s,o){var c=null;if(o!==void 0&&(c=""+o),s.key!==void 0&&(c=""+s.key),"key"in s){o={};for(var d in s)d!=="key"&&(o[d]=s[d])}else o=s;return s=o.ref,{$$typeof:e,type:a,key:c,ref:s!==void 0?s:null,props:o}}return Ml.Fragment=t,Ml.jsx=n,Ml.jsxs=n,Ml}var D2;function Jw(){return D2||(D2=1,im.exports=Qw()),im.exports}var u=Jw(),sm={exports:{}},Rt={};var j2;function e9(){if(j2)return Rt;j2=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),c=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),x=Symbol.iterator;function y(U){return U===null||typeof U!="object"?null:(U=x&&U[x]||U["@@iterator"],typeof U=="function"?U:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,R={};function N(U,ee,O){this.props=U,this.context=ee,this.refs=R,this.updater=O||S}N.prototype.isReactComponent={},N.prototype.setState=function(U,ee){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,ee,"setState")},N.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function _(){}_.prototype=N.prototype;function I(U,ee,O){this.props=U,this.context=ee,this.refs=R,this.updater=O||S}var P=I.prototype=new _;P.constructor=I,E(P,N.prototype),P.isPureReactComponent=!0;var F=Array.isArray;function M(){}var A={H:null,A:null,T:null,S:null},z=Object.prototype.hasOwnProperty;function G(U,ee,O){var ge=O.ref;return{$$typeof:e,type:U,key:ee,ref:ge!==void 0?ge:null,props:O}}function D(U,ee){return G(U.type,ee,U.props)}function K(U){return typeof U=="object"&&U!==null&&U.$$typeof===e}function q(U){var ee={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(O){return ee[O]})}var Q=/\/+/g;function V(U,ee){return typeof U=="object"&&U!==null&&U.key!=null?q(""+U.key):ee.toString(36)}function X(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(M,M):(U.status="pending",U.then(function(ee){U.status==="pending"&&(U.status="fulfilled",U.value=ee)},function(ee){U.status==="pending"&&(U.status="rejected",U.reason=ee)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function W(U,ee,O,ge,Z){var le=typeof U;(le==="undefined"||le==="boolean")&&(U=null);var ce=!1;if(U===null)ce=!0;else switch(le){case"bigint":case"string":case"number":ce=!0;break;case"object":switch(U.$$typeof){case e:case t:ce=!0;break;case p:return ce=U._init,W(ce(U._payload),ee,O,ge,Z)}}if(ce)return Z=Z(U),ce=ge===""?"."+V(U,0):ge,F(Z)?(O="",ce!=null&&(O=ce.replace(Q,"$&/")+"/"),W(Z,ee,O,"",function(J){return J})):Z!=null&&(K(Z)&&(Z=D(Z,O+(Z.key==null||U&&U.key===Z.key?"":(""+Z.key).replace(Q,"$&/")+"/")+ce)),ee.push(Z)),1;ce=0;var pe=ge===""?".":ge+":";if(F(U))for(var ue=0;ue<U.length;ue++)ge=U[ue],le=pe+V(ge,ue),ce+=W(ge,ee,O,le,Z);else if(ue=y(U),typeof ue=="function")for(U=ue.call(U),ue=0;!(ge=U.next()).done;)ge=ge.value,le=pe+V(ge,ue++),ce+=W(ge,ee,O,le,Z);else if(le==="object"){if(typeof U.then=="function")return W(X(U),ee,O,ge,Z);throw ee=String(U),Error("Objects are not valid as a React child (found: "+(ee==="[object Object]"?"object with keys {"+Object.keys(U).join(", ")+"}":ee)+"). If you meant to render a collection of children, use an array instead.")}return ce}function B(U,ee,O){if(U==null)return U;var ge=[],Z=0;return W(U,ge,"","",function(le){return ee.call(O,le,Z++)}),ge}function Y(U){if(U._status===-1){var ee=U._result;ee=ee(),ee.then(function(O){(U._status===0||U._status===-1)&&(U._status=1,U._result=O)},function(O){(U._status===0||U._status===-1)&&(U._status=2,U._result=O)}),U._status===-1&&(U._status=0,U._result=ee)}if(U._status===1)return U._result.default;throw U._result}var me=typeof reportError=="function"?reportError:function(U){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var ee=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof U=="object"&&U!==null&&typeof U.message=="string"?String(U.message):String(U),error:U});if(!window.dispatchEvent(ee))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",U);return}console.error(U)},j={map:B,forEach:function(U,ee,O){B(U,function(){ee.apply(this,arguments)},O)},count:function(U){var ee=0;return B(U,function(){ee++}),ee},toArray:function(U){return B(U,function(ee){return ee})||[]},only:function(U){if(!K(U))throw Error("React.Children.only expected to receive a single React element child.");return U}};return Rt.Activity=g,Rt.Children=j,Rt.Component=N,Rt.Fragment=n,Rt.Profiler=s,Rt.PureComponent=I,Rt.StrictMode=a,Rt.Suspense=m,Rt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=A,Rt.__COMPILER_RUNTIME={__proto__:null,c:function(U){return A.H.useMemoCache(U)}},Rt.cache=function(U){return function(){return U.apply(null,arguments)}},Rt.cacheSignal=function(){return null},Rt.cloneElement=function(U,ee,O){if(U==null)throw Error("The argument must be a React element, but you passed "+U+".");var ge=E({},U.props),Z=U.key;if(ee!=null)for(le in ee.key!==void 0&&(Z=""+ee.key),ee)!z.call(ee,le)||le==="key"||le==="__self"||le==="__source"||le==="ref"&&ee.ref===void 0||(ge[le]=ee[le]);var le=arguments.length-2;if(le===1)ge.children=O;else if(1<le){for(var ce=Array(le),pe=0;pe<le;pe++)ce[pe]=arguments[pe+2];ge.children=ce}return G(U.type,Z,ge)},Rt.createContext=function(U){return U={$$typeof:c,_currentValue:U,_currentValue2:U,_threadCount:0,Provider:null,Consumer:null},U.Provider=U,U.Consumer={$$typeof:o,_context:U},U},Rt.createElement=function(U,ee,O){var ge,Z={},le=null;if(ee!=null)for(ge in ee.key!==void 0&&(le=""+ee.key),ee)z.call(ee,ge)&&ge!=="key"&&ge!=="__self"&&ge!=="__source"&&(Z[ge]=ee[ge]);var ce=arguments.length-2;if(ce===1)Z.children=O;else if(1<ce){for(var pe=Array(ce),ue=0;ue<ce;ue++)pe[ue]=arguments[ue+2];Z.children=pe}if(U&&U.defaultProps)for(ge in ce=U.defaultProps,ce)Z[ge]===void 0&&(Z[ge]=ce[ge]);return G(U,le,Z)},Rt.createRef=function(){return{current:null}},Rt.forwardRef=function(U){return{$$typeof:d,render:U}},Rt.isValidElement=K,Rt.lazy=function(U){return{$$typeof:p,_payload:{_status:-1,_result:U},_init:Y}},Rt.memo=function(U,ee){return{$$typeof:h,type:U,compare:ee===void 0?null:ee}},Rt.startTransition=function(U){var ee=A.T,O={};A.T=O;try{var ge=U(),Z=A.S;Z!==null&&Z(O,ge),typeof ge=="object"&&ge!==null&&typeof ge.then=="function"&&ge.then(M,me)}catch(le){me(le)}finally{ee!==null&&O.types!==null&&(ee.types=O.types),A.T=ee}},Rt.unstable_useCacheRefresh=function(){return A.H.useCacheRefresh()},Rt.use=function(U){return A.H.use(U)},Rt.useActionState=function(U,ee,O){return A.H.useActionState(U,ee,O)},Rt.useCallback=function(U,ee){return A.H.useCallback(U,ee)},Rt.useContext=function(U){return A.H.useContext(U)},Rt.useDebugValue=function(){},Rt.useDeferredValue=function(U,ee){return A.H.useDeferredValue(U,ee)},Rt.useEffect=function(U,ee){return A.H.useEffect(U,ee)},Rt.useEffectEvent=function(U){return A.H.useEffectEvent(U)},Rt.useId=function(){return A.H.useId()},Rt.useImperativeHandle=function(U,ee,O){return A.H.useImperativeHandle(U,ee,O)},Rt.useInsertionEffect=function(U,ee){return A.H.useInsertionEffect(U,ee)},Rt.useLayoutEffect=function(U,ee){return A.H.useLayoutEffect(U,ee)},Rt.useMemo=function(U,ee){return A.H.useMemo(U,ee)},Rt.useOptimistic=function(U,ee){return A.H.useOptimistic(U,ee)},Rt.useReducer=function(U,ee,O){return A.H.useReducer(U,ee,O)},Rt.useRef=function(U){return A.H.useRef(U)},Rt.useState=function(U){return A.H.useState(U)},Rt.useSyncExternalStore=function(U,ee,O){return A.H.useSyncExternalStore(U,ee,O)},Rt.useTransition=function(){return A.H.useTransition()},Rt.version="19.2.8",Rt}var L2;function n1(){return L2||(L2=1,sm.exports=e9()),sm.exports}var w=n1();const ot=Od(w);var om={exports:{}},Ol={},lm={exports:{}},cm={};var z2;function t9(){return z2||(z2=1,(function(e){function t(W,B){var Y=W.length;W.push(B);e:for(;0<Y;){var me=Y-1>>>1,j=W[me];if(0<s(j,B))W[me]=B,W[Y]=j,Y=me;else break e}}function n(W){return W.length===0?null:W[0]}function a(W){if(W.length===0)return null;var B=W[0],Y=W.pop();if(Y!==B){W[0]=Y;e:for(var me=0,j=W.length,U=j>>>1;me<U;){var ee=2*(me+1)-1,O=W[ee],ge=ee+1,Z=W[ge];if(0>s(O,Y))ge<j&&0>s(Z,O)?(W[me]=Z,W[ge]=Y,me=ge):(W[me]=O,W[ee]=Y,me=ee);else if(ge<j&&0>s(Z,Y))W[me]=Z,W[ge]=Y,me=ge;else break e}}return B}function s(W,B){var Y=W.sortIndex-B.sortIndex;return Y!==0?Y:W.id-B.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var c=Date,d=c.now();e.unstable_now=function(){return c.now()-d}}var m=[],h=[],p=1,g=null,x=3,y=!1,S=!1,E=!1,R=!1,N=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,I=typeof setImmediate<"u"?setImmediate:null;function P(W){for(var B=n(h);B!==null;){if(B.callback===null)a(h);else if(B.startTime<=W)a(h),B.sortIndex=B.expirationTime,t(m,B);else break;B=n(h)}}function F(W){if(E=!1,P(W),!S)if(n(m)!==null)S=!0,M||(M=!0,q());else{var B=n(h);B!==null&&X(F,B.startTime-W)}}var M=!1,A=-1,z=5,G=-1;function D(){return R?!0:!(e.unstable_now()-G<z)}function K(){if(R=!1,M){var W=e.unstable_now();G=W;var B=!0;try{e:{S=!1,E&&(E=!1,_(A),A=-1),y=!0;var Y=x;try{t:{for(P(W),g=n(m);g!==null&&!(g.expirationTime>W&&D());){var me=g.callback;if(typeof me=="function"){g.callback=null,x=g.priorityLevel;var j=me(g.expirationTime<=W);if(W=e.unstable_now(),typeof j=="function"){g.callback=j,P(W),B=!0;break t}g===n(m)&&a(m),P(W)}else a(m);g=n(m)}if(g!==null)B=!0;else{var U=n(h);U!==null&&X(F,U.startTime-W),B=!1}}break e}finally{g=null,x=Y,y=!1}B=void 0}}finally{B?q():M=!1}}}var q;if(typeof I=="function")q=function(){I(K)};else if(typeof MessageChannel<"u"){var Q=new MessageChannel,V=Q.port2;Q.port1.onmessage=K,q=function(){V.postMessage(null)}}else q=function(){N(K,0)};function X(W,B){A=N(function(){W(e.unstable_now())},B)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(W){W.callback=null},e.unstable_forceFrameRate=function(W){0>W||125<W?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):z=0<W?Math.floor(1e3/W):5},e.unstable_getCurrentPriorityLevel=function(){return x},e.unstable_next=function(W){switch(x){case 1:case 2:case 3:var B=3;break;default:B=x}var Y=x;x=B;try{return W()}finally{x=Y}},e.unstable_requestPaint=function(){R=!0},e.unstable_runWithPriority=function(W,B){switch(W){case 1:case 2:case 3:case 4:case 5:break;default:W=3}var Y=x;x=W;try{return B()}finally{x=Y}},e.unstable_scheduleCallback=function(W,B,Y){var me=e.unstable_now();switch(typeof Y=="object"&&Y!==null?(Y=Y.delay,Y=typeof Y=="number"&&0<Y?me+Y:me):Y=me,W){case 1:var j=-1;break;case 2:j=250;break;case 5:j=1073741823;break;case 4:j=1e4;break;default:j=5e3}return j=Y+j,W={id:p++,callback:B,priorityLevel:W,startTime:Y,expirationTime:j,sortIndex:-1},Y>me?(W.sortIndex=Y,t(h,W),n(m)===null&&W===n(h)&&(E?(_(A),A=-1):E=!0,X(F,Y-me))):(W.sortIndex=j,t(m,W),S||y||(S=!0,M||(M=!0,q()))),W},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(W){var B=x;return function(){var Y=x;x=B;try{return W.apply(this,arguments)}finally{x=Y}}}})(cm)),cm}var B2;function n9(){return B2||(B2=1,lm.exports=t9()),lm.exports}var um={exports:{}},ur={};var q2;function r9(){if(q2)return ur;q2=1;var e=n1();function t(m){var h="https://react.dev/errors/"+m;if(1<arguments.length){h+="?args[]="+encodeURIComponent(arguments[1]);for(var p=2;p<arguments.length;p++)h+="&args[]="+encodeURIComponent(arguments[p])}return"Minified React error #"+m+"; visit "+h+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var a={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},s=Symbol.for("react.portal");function o(m,h,p){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:g==null?null:""+g,children:m,containerInfo:h,implementation:p}}var c=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function d(m,h){if(m==="font")return"";if(typeof h=="string")return h==="use-credentials"?h:""}return ur.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,ur.createPortal=function(m,h){var p=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!h||h.nodeType!==1&&h.nodeType!==9&&h.nodeType!==11)throw Error(t(299));return o(m,h,null,p)},ur.flushSync=function(m){var h=c.T,p=a.p;try{if(c.T=null,a.p=2,m)return m()}finally{c.T=h,a.p=p,a.d.f()}},ur.preconnect=function(m,h){typeof m=="string"&&(h?(h=h.crossOrigin,h=typeof h=="string"?h==="use-credentials"?h:"":void 0):h=null,a.d.C(m,h))},ur.prefetchDNS=function(m){typeof m=="string"&&a.d.D(m)},ur.preinit=function(m,h){if(typeof m=="string"&&h&&typeof h.as=="string"){var p=h.as,g=d(p,h.crossOrigin),x=typeof h.integrity=="string"?h.integrity:void 0,y=typeof h.fetchPriority=="string"?h.fetchPriority:void 0;p==="style"?a.d.S(m,typeof h.precedence=="string"?h.precedence:void 0,{crossOrigin:g,integrity:x,fetchPriority:y}):p==="script"&&a.d.X(m,{crossOrigin:g,integrity:x,fetchPriority:y,nonce:typeof h.nonce=="string"?h.nonce:void 0})}},ur.preinitModule=function(m,h){if(typeof m=="string")if(typeof h=="object"&&h!==null){if(h.as==null||h.as==="script"){var p=d(h.as,h.crossOrigin);a.d.M(m,{crossOrigin:p,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0})}}else h==null&&a.d.M(m)},ur.preload=function(m,h){if(typeof m=="string"&&typeof h=="object"&&h!==null&&typeof h.as=="string"){var p=h.as,g=d(p,h.crossOrigin);a.d.L(m,p,{crossOrigin:g,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0,type:typeof h.type=="string"?h.type:void 0,fetchPriority:typeof h.fetchPriority=="string"?h.fetchPriority:void 0,referrerPolicy:typeof h.referrerPolicy=="string"?h.referrerPolicy:void 0,imageSrcSet:typeof h.imageSrcSet=="string"?h.imageSrcSet:void 0,imageSizes:typeof h.imageSizes=="string"?h.imageSizes:void 0,media:typeof h.media=="string"?h.media:void 0})}},ur.preloadModule=function(m,h){if(typeof m=="string")if(h){var p=d(h.as,h.crossOrigin);a.d.m(m,{as:typeof h.as=="string"&&h.as!=="script"?h.as:void 0,crossOrigin:p,integrity:typeof h.integrity=="string"?h.integrity:void 0})}else a.d.m(m)},ur.requestFormReset=function(m){a.d.r(m)},ur.unstable_batchedUpdates=function(m,h){return m(h)},ur.useFormState=function(m,h,p){return c.H.useFormState(m,h,p)},ur.useFormStatus=function(){return c.H.useHostTransitionStatus()},ur.version="19.2.8",ur}var U2;function k5(){if(U2)return um.exports;U2=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),um.exports=r9(),um.exports}var H2;function a9(){if(H2)return Ol;H2=1;var e=n9(),t=n1(),n=k5();function a(r){var i="https://react.dev/errors/"+r;if(1<arguments.length){i+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)i+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+r+"; visit "+i+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(r){return!(!r||r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11)}function o(r){var i=r,l=r;if(r.alternate)for(;i.return;)i=i.return;else{r=i;do i=r,(i.flags&4098)!==0&&(l=i.return),r=i.return;while(r)}return i.tag===3?l:null}function c(r){if(r.tag===13){var i=r.memoizedState;if(i===null&&(r=r.alternate,r!==null&&(i=r.memoizedState)),i!==null)return i.dehydrated}return null}function d(r){if(r.tag===31){var i=r.memoizedState;if(i===null&&(r=r.alternate,r!==null&&(i=r.memoizedState)),i!==null)return i.dehydrated}return null}function m(r){if(o(r)!==r)throw Error(a(188))}function h(r){var i=r.alternate;if(!i){if(i=o(r),i===null)throw Error(a(188));return i!==r?null:r}for(var l=r,f=i;;){var v=l.return;if(v===null)break;var b=v.alternate;if(b===null){if(f=v.return,f!==null){l=f;continue}break}if(v.child===b.child){for(b=v.child;b;){if(b===l)return m(v),r;if(b===f)return m(v),i;b=b.sibling}throw Error(a(188))}if(l.return!==f.return)l=v,f=b;else{for(var C=!1,H=v.child;H;){if(H===l){C=!0,l=v,f=b;break}if(H===f){C=!0,f=v,l=b;break}H=H.sibling}if(!C){for(H=b.child;H;){if(H===l){C=!0,l=b,f=v;break}if(H===f){C=!0,f=b,l=v;break}H=H.sibling}if(!C)throw Error(a(189))}}if(l.alternate!==f)throw Error(a(190))}if(l.tag!==3)throw Error(a(188));return l.stateNode.current===l?r:i}function p(r){var i=r.tag;if(i===5||i===26||i===27||i===6)return r;for(r=r.child;r!==null;){if(i=p(r),i!==null)return i;r=r.sibling}return null}var g=Object.assign,x=Symbol.for("react.element"),y=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),R=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),_=Symbol.for("react.consumer"),I=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),F=Symbol.for("react.suspense"),M=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),G=Symbol.for("react.activity"),D=Symbol.for("react.memo_cache_sentinel"),K=Symbol.iterator;function q(r){return r===null||typeof r!="object"?null:(r=K&&r[K]||r["@@iterator"],typeof r=="function"?r:null)}var Q=Symbol.for("react.client.reference");function V(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===Q?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case E:return"Fragment";case N:return"Profiler";case R:return"StrictMode";case F:return"Suspense";case M:return"SuspenseList";case G:return"Activity"}if(typeof r=="object")switch(r.$$typeof){case S:return"Portal";case I:return r.displayName||"Context";case _:return(r._context.displayName||"Context")+".Consumer";case P:var i=r.render;return r=r.displayName,r||(r=i.displayName||i.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case A:return i=r.displayName||null,i!==null?i:V(r.type)||"Memo";case z:i=r._payload,r=r._init;try{return V(r(i))}catch{}}return null}var X=Array.isArray,W=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y={pending:!1,data:null,method:null,action:null},me=[],j=-1;function U(r){return{current:r}}function ee(r){0>j||(r.current=me[j],me[j]=null,j--)}function O(r,i){j++,me[j]=r.current,r.current=i}var ge=U(null),Z=U(null),le=U(null),ce=U(null);function pe(r,i){switch(O(le,i),O(Z,r),O(ge,null),i.nodeType){case 9:case 11:r=(r=i.documentElement)&&(r=r.namespaceURI)?n2(r):0;break;default:if(r=i.tagName,i=i.namespaceURI)i=n2(i),r=r2(i,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}ee(ge),O(ge,r)}function ue(){ee(ge),ee(Z),ee(le)}function J(r){r.memoizedState!==null&&O(ce,r);var i=ge.current,l=r2(i,r.type);i!==l&&(O(Z,r),O(ge,l))}function oe(r){Z.current===r&&(ee(ge),ee(Z)),ce.current===r&&(ee(ce),Rl._currentValue=Y)}var ie,we;function Se(r){if(ie===void 0)try{throw Error()}catch(l){var i=l.stack.trim().match(/\n( *(at )?)/);ie=i&&i[1]||"",we=-1<l.stack.indexOf(`
|
|
2
|
+
at`)?" (<anonymous>)":-1<l.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
+
`+ie+r+we}var Re=!1;function Ze(r,i){if(!r||Re)return"";Re=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var f={DetermineComponentFrameRoot:function(){try{if(i){var Ae=function(){throw Error()};if(Object.defineProperty(Ae.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Ae,[])}catch(Te){var ke=Te}Reflect.construct(r,[],Ae)}else{try{Ae.call()}catch(Te){ke=Te}r.call(Ae.prototype)}}else{try{throw Error()}catch(Te){ke=Te}(Ae=r())&&typeof Ae.catch=="function"&&Ae.catch(function(){})}}catch(Te){if(Te&&ke&&typeof Te.stack=="string")return[Te.stack,ke.stack]}return[null,null]}};f.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var v=Object.getOwnPropertyDescriptor(f.DetermineComponentFrameRoot,"name");v&&v.configurable&&Object.defineProperty(f.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var b=f.DetermineComponentFrameRoot(),C=b[0],H=b[1];if(C&&H){var se=C.split(`
|
|
4
|
+
`),ye=H.split(`
|
|
5
|
+
`);for(v=f=0;f<se.length&&!se[f].includes("DetermineComponentFrameRoot");)f++;for(;v<ye.length&&!ye[v].includes("DetermineComponentFrameRoot");)v++;if(f===se.length||v===ye.length)for(f=se.length-1,v=ye.length-1;1<=f&&0<=v&&se[f]!==ye[v];)v--;for(;1<=f&&0<=v;f--,v--)if(se[f]!==ye[v]){if(f!==1||v!==1)do if(f--,v--,0>v||se[f]!==ye[v]){var Ne=`
|
|
6
|
+
`+se[f].replace(" at new "," at ");return r.displayName&&Ne.includes("<anonymous>")&&(Ne=Ne.replace("<anonymous>",r.displayName)),Ne}while(1<=f&&0<=v);break}}}finally{Re=!1,Error.prepareStackTrace=l}return(l=r?r.displayName||r.name:"")?Se(l):""}function it(r,i){switch(r.tag){case 26:case 27:case 5:return Se(r.type);case 16:return Se("Lazy");case 13:return r.child!==i&&i!==null?Se("Suspense Fallback"):Se("Suspense");case 19:return Se("SuspenseList");case 0:case 15:return Ze(r.type,!1);case 11:return Ze(r.type.render,!1);case 1:return Ze(r.type,!0);case 31:return Se("Activity");default:return""}}function rt(r){try{var i="",l=null;do i+=it(r,l),l=r,r=r.return;while(r);return i}catch(f){return`
|
|
7
|
+
Error generating stack: `+f.message+`
|
|
8
|
+
`+f.stack}}var Pt=Object.prototype.hasOwnProperty,gt=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,Lt=e.unstable_shouldYield,vt=e.unstable_requestPaint,Ke=e.unstable_now,bt=e.unstable_getCurrentPriorityLevel,xe=e.unstable_ImmediatePriority,_e=e.unstable_UserBlockingPriority,qe=e.unstable_NormalPriority,De=e.unstable_LowPriority,We=e.unstable_IdlePriority,Tt=e.log,Wt=e.unstable_setDisableYieldValue,Qt=null,At=null;function Pe(r){if(typeof Tt=="function"&&Wt(r),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(Qt,r)}catch{}}var Oe=Math.clz32?Math.clz32:Qe,Ye=Math.log,Je=Math.LN2;function Qe(r){return r>>>=0,r===0?32:31-(Ye(r)/Je|0)|0}var ve=256,st=262144,Fe=4194304;function mt(r){var i=r&42;if(i!==0)return i;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return r&261888;case 262144:case 524288:case 1048576:case 2097152:return r&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function ne(r,i,l){var f=r.pendingLanes;if(f===0)return 0;var v=0,b=r.suspendedLanes,C=r.pingedLanes;r=r.warmLanes;var H=f&134217727;return H!==0?(f=H&~b,f!==0?v=mt(f):(C&=H,C!==0?v=mt(C):l||(l=H&~r,l!==0&&(v=mt(l))))):(H=f&~b,H!==0?v=mt(H):C!==0?v=mt(C):l||(l=f&~r,l!==0&&(v=mt(l)))),v===0?0:i!==0&&i!==v&&(i&b)===0&&(b=v&-v,l=i&-i,b>=l||b===32&&(l&4194048)!==0)?i:v}function Ee(r,i){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&i)===0}function je(r,i){switch(r){case 1:case 2:case 4:case 8:case 64:return i+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ct(){var r=Fe;return Fe<<=1,(Fe&62914560)===0&&(Fe=4194304),r}function ht(r){for(var i=[],l=0;31>l;l++)i.push(r);return i}function Bt(r,i){r.pendingLanes|=i,i!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function nt(r,i,l,f,v,b){var C=r.pendingLanes;r.pendingLanes=l,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=l,r.entangledLanes&=l,r.errorRecoveryDisabledLanes&=l,r.shellSuspendCounter=0;var H=r.entanglements,se=r.expirationTimes,ye=r.hiddenUpdates;for(l=C&~l;0<l;){var Ne=31-Oe(l),Ae=1<<Ne;H[Ne]=0,se[Ne]=-1;var ke=ye[Ne];if(ke!==null)for(ye[Ne]=null,Ne=0;Ne<ke.length;Ne++){var Te=ke[Ne];Te!==null&&(Te.lane&=-536870913)}l&=~Ae}f!==0&&et(r,f,0),b!==0&&v===0&&r.tag!==0&&(r.suspendedLanes|=b&~(C&~i))}function et(r,i,l){r.pendingLanes|=i,r.suspendedLanes&=~i;var f=31-Oe(i);r.entangledLanes|=i,r.entanglements[f]=r.entanglements[f]|1073741824|l&261930}function wt(r,i){var l=r.entangledLanes|=i;for(r=r.entanglements;l;){var f=31-Oe(l),v=1<<f;v&i|r[f]&i&&(r[f]|=i),l&=~v}}function St(r,i){var l=i&-i;return l=(l&42)!==0?1:dn(l),(l&(r.suspendedLanes|i))!==0?0:l}function dn(r){switch(r){case 2:r=1;break;case 8:r=4;break;case 32:r=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:r=128;break;case 268435456:r=134217728;break;default:r=0}return r}function ma(r){return r&=-r,2<r?8<r?(r&134217727)!==0?32:268435456:8:2}function Br(){var r=B.p;return r!==0?r:(r=window.event,r===void 0?32:C2(r.type))}function qt(r,i){var l=B.p;try{return B.p=r,i()}finally{B.p=l}}var hr=Math.random().toString(36).slice(2),Sn="__reactFiber$"+hr,Qn="__reactProps$"+hr,wa="__reactContainer$"+hr,ss="__reactEvents$"+hr,xi="__reactListeners$"+hr,Tr="__reactHandles$"+hr,Ha="__reactResources$"+hr,nr="__reactMarker$"+hr;function rr(r){delete r[Sn],delete r[Qn],delete r[ss],delete r[xi],delete r[Tr]}function qn(r){var i=r[Sn];if(i)return i;for(var l=r.parentNode;l;){if(i=l[wa]||l[Sn]){if(l=i.alternate,i.child!==null||l!==null&&l.child!==null)for(r=u2(r);r!==null;){if(l=r[Sn])return l;r=u2(r)}return i}r=l,l=r.parentNode}return null}function ha(r){if(r=r[Sn]||r[wa]){var i=r.tag;if(i===5||i===6||i===13||i===31||i===26||i===27||i===3)return r}return null}function pr(r){var i=r.tag;if(i===5||i===26||i===27||i===6)return r.stateNode;throw Error(a(33))}function ka(r){var i=r[Ha];return i||(i=r[Ha]={hoistableStyles:new Map,hoistableScripts:new Map}),i}function gn(r){r[nr]=!0}var os=new Set,pa={};function qr(r,i){ze(r,i),ze(r+"Capture",i)}function ze(r,i){for(pa[r]=i,r=0;r<i.length;r++)os.add(i[r])}var dt=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),jt={},Zt={};function En(r){return Pt.call(Zt,r)?!0:Pt.call(jt,r)?!1:dt.test(r)?Zt[r]=!0:(jt[r]=!0,!1)}function Jn(r,i,l){if(En(i))if(l===null)r.removeAttribute(i);else{switch(typeof l){case"undefined":case"function":case"symbol":r.removeAttribute(i);return;case"boolean":var f=i.toLowerCase().slice(0,5);if(f!=="data-"&&f!=="aria-"){r.removeAttribute(i);return}}r.setAttribute(i,""+l)}}function gr(r,i,l){if(l===null)r.removeAttribute(i);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(i);return}r.setAttribute(i,""+l)}}function ar(r,i,l,f){if(f===null)r.removeAttribute(l);else{switch(typeof f){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(l);return}r.setAttributeNS(i,l,""+f)}}function an(r){switch(typeof r){case"bigint":case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function vr(r){var i=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function Sa(r,i,l){var f=Object.getOwnPropertyDescriptor(r.constructor.prototype,i);if(!r.hasOwnProperty(i)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var v=f.get,b=f.set;return Object.defineProperty(r,i,{configurable:!0,get:function(){return v.call(this)},set:function(C){l=""+C,b.call(this,C)}}),Object.defineProperty(r,i,{enumerable:f.enumerable}),{getValue:function(){return l},setValue:function(C){l=""+C},stopTracking:function(){r._valueTracker=null,delete r[i]}}}}function $a(r){if(!r._valueTracker){var i=vr(r)?"checked":"value";r._valueTracker=Sa(r,i,""+r[i])}}function wi(r){if(!r)return!1;var i=r._valueTracker;if(!i)return!0;var l=i.getValue(),f="";return r&&(f=vr(r)?r.checked?"true":"false":r.value),r=f,r!==l?(i.setValue(r),!0):!1}function Pa(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var $s=/[\n"\\]/g;function ir(r){return r.replace($s,function(i){return"\\"+i.charCodeAt(0).toString(16)+" "})}function Fa(r,i,l,f,v,b,C,H){r.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?r.type=C:r.removeAttribute("type"),i!=null?C==="number"?(i===0&&r.value===""||r.value!=i)&&(r.value=""+an(i)):r.value!==""+an(i)&&(r.value=""+an(i)):C!=="submit"&&C!=="reset"||r.removeAttribute("value"),i!=null?Ga(r,C,an(i)):l!=null?Ga(r,C,an(l)):f!=null&&r.removeAttribute("value"),v==null&&b!=null&&(r.defaultChecked=!!b),v!=null&&(r.checked=v&&typeof v!="function"&&typeof v!="symbol"),H!=null&&typeof H!="function"&&typeof H!="symbol"&&typeof H!="boolean"?r.name=""+an(H):r.removeAttribute("name")}function Ea(r,i,l,f,v,b,C,H){if(b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"&&(r.type=b),i!=null||l!=null){if(!(b!=="submit"&&b!=="reset"||i!=null)){$a(r);return}l=l!=null?""+an(l):"",i=i!=null?""+an(i):l,H||i===r.value||(r.value=i),r.defaultValue=i}f=f??v,f=typeof f!="function"&&typeof f!="symbol"&&!!f,r.checked=H?r.checked:!!f,r.defaultChecked=!!f,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(r.name=C),$a(r)}function Ga(r,i,l){i==="number"&&Pa(r.ownerDocument)===r||r.defaultValue===""+l||(r.defaultValue=""+l)}function Un(r,i,l,f){if(r=r.options,i){i={};for(var v=0;v<l.length;v++)i["$"+l[v]]=!0;for(l=0;l<r.length;l++)v=i.hasOwnProperty("$"+r[l].value),r[l].selected!==v&&(r[l].selected=v),v&&f&&(r[l].defaultSelected=!0)}else{for(l=""+an(l),i=null,v=0;v<r.length;v++){if(r[v].value===l){r[v].selected=!0,f&&(r[v].defaultSelected=!0);return}i!==null||r[v].disabled||(i=r[v])}i!==null&&(i.selected=!0)}}function te(r,i,l){if(i!=null&&(i=""+an(i),i!==r.value&&(r.value=i),l==null)){r.defaultValue!==i&&(r.defaultValue=i);return}r.defaultValue=l!=null?""+an(l):""}function Ce(r,i,l,f){if(i==null){if(f!=null){if(l!=null)throw Error(a(92));if(X(f)){if(1<f.length)throw Error(a(93));f=f[0]}l=f}l==null&&(l=""),i=l}l=an(i),r.defaultValue=l,f=r.textContent,f===l&&f!==""&&f!==null&&(r.value=f),$a(r)}function Ue(r,i){if(i){var l=r.firstChild;if(l&&l===r.lastChild&&l.nodeType===3){l.nodeValue=i;return}}r.textContent=i}var Ft=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Xt(r,i,l){var f=i.indexOf("--")===0;l==null||typeof l=="boolean"||l===""?f?r.setProperty(i,""):i==="float"?r.cssFloat="":r[i]="":f?r.setProperty(i,l):typeof l!="number"||l===0||Ft.has(i)?i==="float"?r.cssFloat=l:r[i]=(""+l).trim():r[i]=l+"px"}function yt(r,i,l){if(i!=null&&typeof i!="object")throw Error(a(62));if(r=r.style,l!=null){for(var f in l)!l.hasOwnProperty(f)||i!=null&&i.hasOwnProperty(f)||(f.indexOf("--")===0?r.setProperty(f,""):f==="float"?r.cssFloat="":r[f]="");for(var v in i)f=i[v],i.hasOwnProperty(v)&&l[v]!==f&&Xt(r,v,f)}else for(var b in i)i.hasOwnProperty(b)&&Xt(r,b,i[b])}function yn(r){if(r.indexOf("-")===-1)return!1;switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var An=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),er=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Dn(r){return er.test(""+r)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":r}function Ge(){}var lt=null;function It(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var Gt=null,Tn=null;function Jr(r){var i=ha(r);if(i&&(r=i.stateNode)){var l=r[Qn]||null;e:switch(r=i.stateNode,i.type){case"input":if(Fa(r,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name),i=l.name,l.type==="radio"&&i!=null){for(l=r;l.parentNode;)l=l.parentNode;for(l=l.querySelectorAll('input[name="'+ir(""+i)+'"][type="radio"]'),i=0;i<l.length;i++){var f=l[i];if(f!==r&&f.form===r.form){var v=f[Qn]||null;if(!v)throw Error(a(90));Fa(f,v.value,v.defaultValue,v.defaultValue,v.checked,v.defaultChecked,v.type,v.name)}}for(i=0;i<l.length;i++)f=l[i],f.form===r.form&&wi(f)}break e;case"textarea":te(r,l.value,l.defaultValue);break e;case"select":i=l.value,i!=null&&Un(r,!!l.multiple,i,!1)}}}var Fo=!1;function gc(r,i,l){if(Fo)return r(i,l);Fo=!0;try{var f=r(i);return f}finally{if(Fo=!1,(Gt!==null||Tn!==null)&&(ru(),Gt&&(i=Gt,r=Tn,Tn=Gt=null,Jr(i),r)))for(i=0;i<r.length;i++)Jr(r[i])}}function Go(r,i){var l=r.stateNode;if(l===null)return null;var f=l[Qn]||null;if(f===null)return null;l=f[i];e:switch(i){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(f=!f.disabled)||(r=r.type,f=!(r==="button"||r==="input"||r==="select"||r==="textarea")),r=!f;break e;default:r=!1}if(r)return null;if(l&&typeof l!="function")throw Error(a(231,i,typeof l));return l}var Va=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),a0=!1;if(Va)try{var Vo={};Object.defineProperty(Vo,"passive",{get:function(){a0=!0}}),window.addEventListener("test",Vo,Vo),window.removeEventListener("test",Vo,Vo)}catch{a0=!1}var ki=null,i0=null,vc=null;function rg(){if(vc)return vc;var r,i=i0,l=i.length,f,v="value"in ki?ki.value:ki.textContent,b=v.length;for(r=0;r<l&&i[r]===v[r];r++);var C=l-r;for(f=1;f<=C&&i[l-f]===v[b-f];f++);return vc=v.slice(r,1<f?1-f:void 0)}function bc(r){var i=r.keyCode;return"charCode"in r?(r=r.charCode,r===0&&i===13&&(r=13)):r=i,r===10&&(r=13),32<=r||r===13?r:0}function yc(){return!0}function ag(){return!1}function Cr(r){function i(l,f,v,b,C){this._reactName=l,this._targetInst=v,this.type=f,this.nativeEvent=b,this.target=C,this.currentTarget=null;for(var H in r)r.hasOwnProperty(H)&&(l=r[H],this[H]=l?l(b):b[H]);return this.isDefaultPrevented=(b.defaultPrevented!=null?b.defaultPrevented:b.returnValue===!1)?yc:ag,this.isPropagationStopped=ag,this}return g(i.prototype,{preventDefault:function(){this.defaultPrevented=!0;var l=this.nativeEvent;l&&(l.preventDefault?l.preventDefault():typeof l.returnValue!="unknown"&&(l.returnValue=!1),this.isDefaultPrevented=yc)},stopPropagation:function(){var l=this.nativeEvent;l&&(l.stopPropagation?l.stopPropagation():typeof l.cancelBubble!="unknown"&&(l.cancelBubble=!0),this.isPropagationStopped=yc)},persist:function(){},isPersistent:yc}),i}var ls={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(r){return r.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},xc=Cr(ls),Ko=g({},ls,{view:0,detail:0}),Z7=Cr(Ko),s0,o0,Wo,wc=g({},Ko,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:c0,button:0,buttons:0,relatedTarget:function(r){return r.relatedTarget===void 0?r.fromElement===r.srcElement?r.toElement:r.fromElement:r.relatedTarget},movementX:function(r){return"movementX"in r?r.movementX:(r!==Wo&&(Wo&&r.type==="mousemove"?(s0=r.screenX-Wo.screenX,o0=r.screenY-Wo.screenY):o0=s0=0,Wo=r),s0)},movementY:function(r){return"movementY"in r?r.movementY:o0}}),ig=Cr(wc),X7=g({},wc,{dataTransfer:0}),Q7=Cr(X7),J7=g({},Ko,{relatedTarget:0}),l0=Cr(J7),e8=g({},ls,{animationName:0,elapsedTime:0,pseudoElement:0}),t8=Cr(e8),n8=g({},ls,{clipboardData:function(r){return"clipboardData"in r?r.clipboardData:window.clipboardData}}),r8=Cr(n8),a8=g({},ls,{data:0}),sg=Cr(a8),i8={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},s8={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},o8={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function l8(r){var i=this.nativeEvent;return i.getModifierState?i.getModifierState(r):(r=o8[r])?!!i[r]:!1}function c0(){return l8}var c8=g({},Ko,{key:function(r){if(r.key){var i=i8[r.key]||r.key;if(i!=="Unidentified")return i}return r.type==="keypress"?(r=bc(r),r===13?"Enter":String.fromCharCode(r)):r.type==="keydown"||r.type==="keyup"?s8[r.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:c0,charCode:function(r){return r.type==="keypress"?bc(r):0},keyCode:function(r){return r.type==="keydown"||r.type==="keyup"?r.keyCode:0},which:function(r){return r.type==="keypress"?bc(r):r.type==="keydown"||r.type==="keyup"?r.keyCode:0}}),u8=Cr(c8),d8=g({},wc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),og=Cr(d8),f8=g({},Ko,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:c0}),m8=Cr(f8),h8=g({},ls,{propertyName:0,elapsedTime:0,pseudoElement:0}),p8=Cr(h8),g8=g({},wc,{deltaX:function(r){return"deltaX"in r?r.deltaX:"wheelDeltaX"in r?-r.wheelDeltaX:0},deltaY:function(r){return"deltaY"in r?r.deltaY:"wheelDeltaY"in r?-r.wheelDeltaY:"wheelDelta"in r?-r.wheelDelta:0},deltaZ:0,deltaMode:0}),v8=Cr(g8),b8=g({},ls,{newState:0,oldState:0}),y8=Cr(b8),x8=[9,13,27,32],u0=Va&&"CompositionEvent"in window,Yo=null;Va&&"documentMode"in document&&(Yo=document.documentMode);var w8=Va&&"TextEvent"in window&&!Yo,lg=Va&&(!u0||Yo&&8<Yo&&11>=Yo),cg=" ",ug=!1;function dg(r,i){switch(r){case"keyup":return x8.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function fg(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Ps=!1;function k8(r,i){switch(r){case"compositionend":return fg(i);case"keypress":return i.which!==32?null:(ug=!0,cg);case"textInput":return r=i.data,r===cg&&ug?null:r;default:return null}}function S8(r,i){if(Ps)return r==="compositionend"||!u0&&dg(r,i)?(r=rg(),vc=i0=ki=null,Ps=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1<i.char.length)return i.char;if(i.which)return String.fromCharCode(i.which)}return null;case"compositionend":return lg&&i.locale!=="ko"?null:i.data;default:return null}}var E8={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function mg(r){var i=r&&r.nodeName&&r.nodeName.toLowerCase();return i==="input"?!!E8[r.type]:i==="textarea"}function hg(r,i,l,f){Gt?Tn?Tn.push(f):Tn=[f]:Gt=f,i=uu(i,"onChange"),0<i.length&&(l=new xc("onChange","change",null,l,f),r.push({event:l,listeners:i}))}var Zo=null,Xo=null;function T8(r){Zb(r,0)}function kc(r){var i=pr(r);if(wi(i))return r}function pg(r,i){if(r==="change")return i}var gg=!1;if(Va){var d0;if(Va){var f0="oninput"in document;if(!f0){var vg=document.createElement("div");vg.setAttribute("oninput","return;"),f0=typeof vg.oninput=="function"}d0=f0}else d0=!1;gg=d0&&(!document.documentMode||9<document.documentMode)}function bg(){Zo&&(Zo.detachEvent("onpropertychange",yg),Xo=Zo=null)}function yg(r){if(r.propertyName==="value"&&kc(Xo)){var i=[];hg(i,Xo,r,It(r)),gc(T8,i)}}function C8(r,i,l){r==="focusin"?(bg(),Zo=i,Xo=l,Zo.attachEvent("onpropertychange",yg)):r==="focusout"&&bg()}function N8(r){if(r==="selectionchange"||r==="keyup"||r==="keydown")return kc(Xo)}function R8(r,i){if(r==="click")return kc(i)}function I8(r,i){if(r==="input"||r==="change")return kc(i)}function A8(r,i){return r===i&&(r!==0||1/r===1/i)||r!==r&&i!==i}var Ur=typeof Object.is=="function"?Object.is:A8;function Qo(r,i){if(Ur(r,i))return!0;if(typeof r!="object"||r===null||typeof i!="object"||i===null)return!1;var l=Object.keys(r),f=Object.keys(i);if(l.length!==f.length)return!1;for(f=0;f<l.length;f++){var v=l[f];if(!Pt.call(i,v)||!Ur(r[v],i[v]))return!1}return!0}function xg(r){for(;r&&r.firstChild;)r=r.firstChild;return r}function wg(r,i){var l=xg(r);r=0;for(var f;l;){if(l.nodeType===3){if(f=r+l.textContent.length,r<=i&&f>=i)return{node:l,offset:i-r};r=f}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=xg(l)}}function kg(r,i){return r&&i?r===i?!0:r&&r.nodeType===3?!1:i&&i.nodeType===3?kg(r,i.parentNode):"contains"in r?r.contains(i):r.compareDocumentPosition?!!(r.compareDocumentPosition(i)&16):!1:!1}function Sg(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var i=Pa(r.document);i instanceof r.HTMLIFrameElement;){try{var l=typeof i.contentWindow.location.href=="string"}catch{l=!1}if(l)r=i.contentWindow;else break;i=Pa(r.document)}return i}function m0(r){var i=r&&r.nodeName&&r.nodeName.toLowerCase();return i&&(i==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||i==="textarea"||r.contentEditable==="true")}var _8=Va&&"documentMode"in document&&11>=document.documentMode,Fs=null,h0=null,Jo=null,p0=!1;function Eg(r,i,l){var f=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;p0||Fs==null||Fs!==Pa(f)||(f=Fs,"selectionStart"in f&&m0(f)?f={start:f.selectionStart,end:f.selectionEnd}:(f=(f.ownerDocument&&f.ownerDocument.defaultView||window).getSelection(),f={anchorNode:f.anchorNode,anchorOffset:f.anchorOffset,focusNode:f.focusNode,focusOffset:f.focusOffset}),Jo&&Qo(Jo,f)||(Jo=f,f=uu(h0,"onSelect"),0<f.length&&(i=new xc("onSelect","select",null,i,l),r.push({event:i,listeners:f}),i.target=Fs)))}function cs(r,i){var l={};return l[r.toLowerCase()]=i.toLowerCase(),l["Webkit"+r]="webkit"+i,l["Moz"+r]="moz"+i,l}var Gs={animationend:cs("Animation","AnimationEnd"),animationiteration:cs("Animation","AnimationIteration"),animationstart:cs("Animation","AnimationStart"),transitionrun:cs("Transition","TransitionRun"),transitionstart:cs("Transition","TransitionStart"),transitioncancel:cs("Transition","TransitionCancel"),transitionend:cs("Transition","TransitionEnd")},g0={},Tg={};Va&&(Tg=document.createElement("div").style,"AnimationEvent"in window||(delete Gs.animationend.animation,delete Gs.animationiteration.animation,delete Gs.animationstart.animation),"TransitionEvent"in window||delete Gs.transitionend.transition);function us(r){if(g0[r])return g0[r];if(!Gs[r])return r;var i=Gs[r],l;for(l in i)if(i.hasOwnProperty(l)&&l in Tg)return g0[r]=i[l];return r}var Cg=us("animationend"),Ng=us("animationiteration"),Rg=us("animationstart"),M8=us("transitionrun"),O8=us("transitionstart"),D8=us("transitioncancel"),Ig=us("transitionend"),Ag=new Map,v0="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");v0.push("scrollEnd");function ga(r,i){Ag.set(r,i),qr(i,[r])}var Sc=typeof reportError=="function"?reportError:function(r){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var i=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof r=="object"&&r!==null&&typeof r.message=="string"?String(r.message):String(r),error:r});if(!window.dispatchEvent(i))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",r);return}console.error(r)},ea=[],Vs=0,b0=0;function Ec(){for(var r=Vs,i=b0=Vs=0;i<r;){var l=ea[i];ea[i++]=null;var f=ea[i];ea[i++]=null;var v=ea[i];ea[i++]=null;var b=ea[i];if(ea[i++]=null,f!==null&&v!==null){var C=f.pending;C===null?v.next=v:(v.next=C.next,C.next=v),f.pending=v}b!==0&&_g(l,v,b)}}function Tc(r,i,l,f){ea[Vs++]=r,ea[Vs++]=i,ea[Vs++]=l,ea[Vs++]=f,b0|=f,r.lanes|=f,r=r.alternate,r!==null&&(r.lanes|=f)}function y0(r,i,l,f){return Tc(r,i,l,f),Cc(r)}function ds(r,i){return Tc(r,null,null,i),Cc(r)}function _g(r,i,l){r.lanes|=l;var f=r.alternate;f!==null&&(f.lanes|=l);for(var v=!1,b=r.return;b!==null;)b.childLanes|=l,f=b.alternate,f!==null&&(f.childLanes|=l),b.tag===22&&(r=b.stateNode,r===null||r._visibility&1||(v=!0)),r=b,b=b.return;return r.tag===3?(b=r.stateNode,v&&i!==null&&(v=31-Oe(l),r=b.hiddenUpdates,f=r[v],f===null?r[v]=[i]:f.push(i),i.lane=l|536870912),b):null}function Cc(r){if(50<wl)throw wl=0,If=null,Error(a(185));for(var i=r.return;i!==null;)r=i,i=r.return;return r.tag===3?r.stateNode:null}var Ks={};function j8(r,i,l,f){this.tag=r,this.key=l,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=f,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Hr(r,i,l,f){return new j8(r,i,l,f)}function x0(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Ka(r,i){var l=r.alternate;return l===null?(l=Hr(r.tag,i,r.key,r.mode),l.elementType=r.elementType,l.type=r.type,l.stateNode=r.stateNode,l.alternate=r,r.alternate=l):(l.pendingProps=i,l.type=r.type,l.flags=0,l.subtreeFlags=0,l.deletions=null),l.flags=r.flags&65011712,l.childLanes=r.childLanes,l.lanes=r.lanes,l.child=r.child,l.memoizedProps=r.memoizedProps,l.memoizedState=r.memoizedState,l.updateQueue=r.updateQueue,i=r.dependencies,l.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},l.sibling=r.sibling,l.index=r.index,l.ref=r.ref,l.refCleanup=r.refCleanup,l}function Mg(r,i){r.flags&=65011714;var l=r.alternate;return l===null?(r.childLanes=0,r.lanes=i,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=l.childLanes,r.lanes=l.lanes,r.child=l.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=l.memoizedProps,r.memoizedState=l.memoizedState,r.updateQueue=l.updateQueue,r.type=l.type,i=l.dependencies,r.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext}),r}function Nc(r,i,l,f,v,b){var C=0;if(f=r,typeof r=="function")x0(r)&&(C=1);else if(typeof r=="string")C=Uw(r,l,ge.current)?26:r==="html"||r==="head"||r==="body"?27:5;else e:switch(r){case G:return r=Hr(31,l,i,v),r.elementType=G,r.lanes=b,r;case E:return fs(l.children,v,b,i);case R:C=8,v|=24;break;case N:return r=Hr(12,l,i,v|2),r.elementType=N,r.lanes=b,r;case F:return r=Hr(13,l,i,v),r.elementType=F,r.lanes=b,r;case M:return r=Hr(19,l,i,v),r.elementType=M,r.lanes=b,r;default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case I:C=10;break e;case _:C=9;break e;case P:C=11;break e;case A:C=14;break e;case z:C=16,f=null;break e}C=29,l=Error(a(130,r===null?"null":typeof r,"")),f=null}return i=Hr(C,l,i,v),i.elementType=r,i.type=f,i.lanes=b,i}function fs(r,i,l,f){return r=Hr(7,r,f,i),r.lanes=l,r}function w0(r,i,l){return r=Hr(6,r,null,i),r.lanes=l,r}function Og(r){var i=Hr(18,null,null,0);return i.stateNode=r,i}function k0(r,i,l){return i=Hr(4,r.children!==null?r.children:[],r.key,i),i.lanes=l,i.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},i}var Dg=new WeakMap;function ta(r,i){if(typeof r=="object"&&r!==null){var l=Dg.get(r);return l!==void 0?l:(i={value:r,source:i,stack:rt(i)},Dg.set(r,i),i)}return{value:r,source:i,stack:rt(i)}}var Ws=[],Ys=0,Rc=null,el=0,na=[],ra=0,Si=null,Ta=1,Ca="";function Wa(r,i){Ws[Ys++]=el,Ws[Ys++]=Rc,Rc=r,el=i}function jg(r,i,l){na[ra++]=Ta,na[ra++]=Ca,na[ra++]=Si,Si=r;var f=Ta;r=Ca;var v=32-Oe(f)-1;f&=~(1<<v),l+=1;var b=32-Oe(i)+v;if(30<b){var C=v-v%5;b=(f&(1<<C)-1).toString(32),f>>=C,v-=C,Ta=1<<32-Oe(i)+v|l<<v|f,Ca=b+r}else Ta=1<<b|l<<v|f,Ca=r}function S0(r){r.return!==null&&(Wa(r,1),jg(r,1,0))}function E0(r){for(;r===Rc;)Rc=Ws[--Ys],Ws[Ys]=null,el=Ws[--Ys],Ws[Ys]=null;for(;r===Si;)Si=na[--ra],na[ra]=null,Ca=na[--ra],na[ra]=null,Ta=na[--ra],na[ra]=null}function Lg(r,i){na[ra++]=Ta,na[ra++]=Ca,na[ra++]=Si,Ta=i.id,Ca=i.overflow,Si=r}var sr=null,vn=null,Yt=!1,Ei=null,aa=!1,T0=Error(a(519));function Ti(r){var i=Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw tl(ta(i,r)),T0}function zg(r){var i=r.stateNode,l=r.type,f=r.memoizedProps;switch(i[Sn]=r,i[Qn]=f,l){case"dialog":Ht("cancel",i),Ht("close",i);break;case"iframe":case"object":case"embed":Ht("load",i);break;case"video":case"audio":for(l=0;l<Sl.length;l++)Ht(Sl[l],i);break;case"source":Ht("error",i);break;case"img":case"image":case"link":Ht("error",i),Ht("load",i);break;case"details":Ht("toggle",i);break;case"input":Ht("invalid",i),Ea(i,f.value,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name,!0);break;case"select":Ht("invalid",i);break;case"textarea":Ht("invalid",i),Ce(i,f.value,f.defaultValue,f.children)}l=f.children,typeof l!="string"&&typeof l!="number"&&typeof l!="bigint"||i.textContent===""+l||f.suppressHydrationWarning===!0||e2(i.textContent,l)?(f.popover!=null&&(Ht("beforetoggle",i),Ht("toggle",i)),f.onScroll!=null&&Ht("scroll",i),f.onScrollEnd!=null&&Ht("scrollend",i),f.onClick!=null&&(i.onclick=Ge),i=!0):i=!1,i||Ti(r,!0)}function Bg(r){for(sr=r.return;sr;)switch(sr.tag){case 5:case 31:case 13:aa=!1;return;case 27:case 3:aa=!0;return;default:sr=sr.return}}function Zs(r){if(r!==sr)return!1;if(!Yt)return Bg(r),Yt=!0,!1;var i=r.tag,l;if((l=i!==3&&i!==27)&&((l=i===5)&&(l=r.type,l=!(l!=="form"&&l!=="button")||Ff(r.type,r.memoizedProps)),l=!l),l&&vn&&Ti(r),Bg(r),i===13){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(a(317));vn=c2(r)}else if(i===31){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(a(317));vn=c2(r)}else i===27?(i=vn,qi(r.type)?(r=Yf,Yf=null,vn=r):vn=i):vn=sr?sa(r.stateNode.nextSibling):null;return!0}function ms(){vn=sr=null,Yt=!1}function C0(){var r=Ei;return r!==null&&(Ar===null?Ar=r:Ar.push.apply(Ar,r),Ei=null),r}function tl(r){Ei===null?Ei=[r]:Ei.push(r)}var N0=U(null),hs=null,Ya=null;function Ci(r,i,l){O(N0,i._currentValue),i._currentValue=l}function Za(r){r._currentValue=N0.current,ee(N0)}function R0(r,i,l){for(;r!==null;){var f=r.alternate;if((r.childLanes&i)!==i?(r.childLanes|=i,f!==null&&(f.childLanes|=i)):f!==null&&(f.childLanes&i)!==i&&(f.childLanes|=i),r===l)break;r=r.return}}function I0(r,i,l,f){var v=r.child;for(v!==null&&(v.return=r);v!==null;){var b=v.dependencies;if(b!==null){var C=v.child;b=b.firstContext;e:for(;b!==null;){var H=b;b=v;for(var se=0;se<i.length;se++)if(H.context===i[se]){b.lanes|=l,H=b.alternate,H!==null&&(H.lanes|=l),R0(b.return,l,r),f||(C=null);break e}b=H.next}}else if(v.tag===18){if(C=v.return,C===null)throw Error(a(341));C.lanes|=l,b=C.alternate,b!==null&&(b.lanes|=l),R0(C,l,r),C=null}else C=v.child;if(C!==null)C.return=v;else for(C=v;C!==null;){if(C===r){C=null;break}if(v=C.sibling,v!==null){v.return=C.return,C=v;break}C=C.return}v=C}}function Xs(r,i,l,f){r=null;for(var v=i,b=!1;v!==null;){if(!b){if((v.flags&524288)!==0)b=!0;else if((v.flags&262144)!==0)break}if(v.tag===10){var C=v.alternate;if(C===null)throw Error(a(387));if(C=C.memoizedProps,C!==null){var H=v.type;Ur(v.pendingProps.value,C.value)||(r!==null?r.push(H):r=[H])}}else if(v===ce.current){if(C=v.alternate,C===null)throw Error(a(387));C.memoizedState.memoizedState!==v.memoizedState.memoizedState&&(r!==null?r.push(Rl):r=[Rl])}v=v.return}r!==null&&I0(i,r,l,f),i.flags|=262144}function Ic(r){for(r=r.firstContext;r!==null;){if(!Ur(r.context._currentValue,r.memoizedValue))return!0;r=r.next}return!1}function ps(r){hs=r,Ya=null,r=r.dependencies,r!==null&&(r.firstContext=null)}function or(r){return qg(hs,r)}function Ac(r,i){return hs===null&&ps(r),qg(r,i)}function qg(r,i){var l=i._currentValue;if(i={context:i,memoizedValue:l,next:null},Ya===null){if(r===null)throw Error(a(308));Ya=i,r.dependencies={lanes:0,firstContext:i},r.flags|=524288}else Ya=Ya.next=i;return l}var L8=typeof AbortController<"u"?AbortController:function(){var r=[],i=this.signal={aborted:!1,addEventListener:function(l,f){r.push(f)}};this.abort=function(){i.aborted=!0,r.forEach(function(l){return l()})}},z8=e.unstable_scheduleCallback,B8=e.unstable_NormalPriority,Hn={$$typeof:I,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function A0(){return{controller:new L8,data:new Map,refCount:0}}function nl(r){r.refCount--,r.refCount===0&&z8(B8,function(){r.controller.abort()})}var rl=null,_0=0,Qs=0,Js=null;function q8(r,i){if(rl===null){var l=rl=[];_0=0,Qs=jf(),Js={status:"pending",value:void 0,then:function(f){l.push(f)}}}return _0++,i.then(Ug,Ug),i}function Ug(){if(--_0===0&&rl!==null){Js!==null&&(Js.status="fulfilled");var r=rl;rl=null,Qs=0,Js=null;for(var i=0;i<r.length;i++)(0,r[i])()}}function U8(r,i){var l=[],f={status:"pending",value:null,reason:null,then:function(v){l.push(v)}};return r.then(function(){f.status="fulfilled",f.value=i;for(var v=0;v<l.length;v++)(0,l[v])(i)},function(v){for(f.status="rejected",f.reason=v,v=0;v<l.length;v++)(0,l[v])(void 0)}),f}var Hg=W.S;W.S=function(r,i){Eb=Ke(),typeof i=="object"&&i!==null&&typeof i.then=="function"&&q8(r,i),Hg!==null&&Hg(r,i)};var gs=U(null);function M0(){var r=gs.current;return r!==null?r:fn.pooledCache}function _c(r,i){i===null?O(gs,gs.current):O(gs,i.pool)}function $g(){var r=M0();return r===null?null:{parent:Hn._currentValue,pool:r}}var eo=Error(a(460)),O0=Error(a(474)),Mc=Error(a(542)),Oc={then:function(){}};function Pg(r){return r=r.status,r==="fulfilled"||r==="rejected"}function Fg(r,i,l){switch(l=r[l],l===void 0?r.push(i):l!==i&&(i.then(Ge,Ge),i=l),i.status){case"fulfilled":return i.value;case"rejected":throw r=i.reason,Vg(r),r;default:if(typeof i.status=="string")i.then(Ge,Ge);else{if(r=fn,r!==null&&100<r.shellSuspendCounter)throw Error(a(482));r=i,r.status="pending",r.then(function(f){if(i.status==="pending"){var v=i;v.status="fulfilled",v.value=f}},function(f){if(i.status==="pending"){var v=i;v.status="rejected",v.reason=f}})}switch(i.status){case"fulfilled":return i.value;case"rejected":throw r=i.reason,Vg(r),r}throw bs=i,eo}}function vs(r){try{var i=r._init;return i(r._payload)}catch(l){throw l!==null&&typeof l=="object"&&typeof l.then=="function"?(bs=l,eo):l}}var bs=null;function Gg(){if(bs===null)throw Error(a(459));var r=bs;return bs=null,r}function Vg(r){if(r===eo||r===Mc)throw Error(a(483))}var to=null,al=0;function Dc(r){var i=al;return al+=1,to===null&&(to=[]),Fg(to,r,i)}function il(r,i){i=i.props.ref,r.ref=i!==void 0?i:null}function jc(r,i){throw i.$$typeof===x?Error(a(525)):(r=Object.prototype.toString.call(i),Error(a(31,r==="[object Object]"?"object with keys {"+Object.keys(i).join(", ")+"}":r)))}function Kg(r){function i(he,de){if(r){var be=he.deletions;be===null?(he.deletions=[de],he.flags|=16):be.push(de)}}function l(he,de){if(!r)return null;for(;de!==null;)i(he,de),de=de.sibling;return null}function f(he){for(var de=new Map;he!==null;)he.key!==null?de.set(he.key,he):de.set(he.index,he),he=he.sibling;return de}function v(he,de){return he=Ka(he,de),he.index=0,he.sibling=null,he}function b(he,de,be){return he.index=be,r?(be=he.alternate,be!==null?(be=be.index,be<de?(he.flags|=67108866,de):be):(he.flags|=67108866,de)):(he.flags|=1048576,de)}function C(he){return r&&he.alternate===null&&(he.flags|=67108866),he}function H(he,de,be,Ie){return de===null||de.tag!==6?(de=w0(be,he.mode,Ie),de.return=he,de):(de=v(de,be),de.return=he,de)}function se(he,de,be,Ie){var pt=be.type;return pt===E?Ne(he,de,be.props.children,Ie,be.key):de!==null&&(de.elementType===pt||typeof pt=="object"&&pt!==null&&pt.$$typeof===z&&vs(pt)===de.type)?(de=v(de,be.props),il(de,be),de.return=he,de):(de=Nc(be.type,be.key,be.props,null,he.mode,Ie),il(de,be),de.return=he,de)}function ye(he,de,be,Ie){return de===null||de.tag!==4||de.stateNode.containerInfo!==be.containerInfo||de.stateNode.implementation!==be.implementation?(de=k0(be,he.mode,Ie),de.return=he,de):(de=v(de,be.children||[]),de.return=he,de)}function Ne(he,de,be,Ie,pt){return de===null||de.tag!==7?(de=fs(be,he.mode,Ie,pt),de.return=he,de):(de=v(de,be),de.return=he,de)}function Ae(he,de,be){if(typeof de=="string"&&de!==""||typeof de=="number"||typeof de=="bigint")return de=w0(""+de,he.mode,be),de.return=he,de;if(typeof de=="object"&&de!==null){switch(de.$$typeof){case y:return be=Nc(de.type,de.key,de.props,null,he.mode,be),il(be,de),be.return=he,be;case S:return de=k0(de,he.mode,be),de.return=he,de;case z:return de=vs(de),Ae(he,de,be)}if(X(de)||q(de))return de=fs(de,he.mode,be,null),de.return=he,de;if(typeof de.then=="function")return Ae(he,Dc(de),be);if(de.$$typeof===I)return Ae(he,Ac(he,de),be);jc(he,de)}return null}function ke(he,de,be,Ie){var pt=de!==null?de.key:null;if(typeof be=="string"&&be!==""||typeof be=="number"||typeof be=="bigint")return pt!==null?null:H(he,de,""+be,Ie);if(typeof be=="object"&&be!==null){switch(be.$$typeof){case y:return be.key===pt?se(he,de,be,Ie):null;case S:return be.key===pt?ye(he,de,be,Ie):null;case z:return be=vs(be),ke(he,de,be,Ie)}if(X(be)||q(be))return pt!==null?null:Ne(he,de,be,Ie,null);if(typeof be.then=="function")return ke(he,de,Dc(be),Ie);if(be.$$typeof===I)return ke(he,de,Ac(he,be),Ie);jc(he,be)}return null}function Te(he,de,be,Ie,pt){if(typeof Ie=="string"&&Ie!==""||typeof Ie=="number"||typeof Ie=="bigint")return he=he.get(be)||null,H(de,he,""+Ie,pt);if(typeof Ie=="object"&&Ie!==null){switch(Ie.$$typeof){case y:return he=he.get(Ie.key===null?be:Ie.key)||null,se(de,he,Ie,pt);case S:return he=he.get(Ie.key===null?be:Ie.key)||null,ye(de,he,Ie,pt);case z:return Ie=vs(Ie),Te(he,de,be,Ie,pt)}if(X(Ie)||q(Ie))return he=he.get(be)||null,Ne(de,he,Ie,pt,null);if(typeof Ie.then=="function")return Te(he,de,be,Dc(Ie),pt);if(Ie.$$typeof===I)return Te(he,de,be,Ac(de,Ie),pt);jc(de,Ie)}return null}function at(he,de,be,Ie){for(var pt=null,Jt=null,ut=de,Mt=de=0,Kt=null;ut!==null&&Mt<be.length;Mt++){ut.index>Mt?(Kt=ut,ut=null):Kt=ut.sibling;var en=ke(he,ut,be[Mt],Ie);if(en===null){ut===null&&(ut=Kt);break}r&&ut&&en.alternate===null&&i(he,ut),de=b(en,de,Mt),Jt===null?pt=en:Jt.sibling=en,Jt=en,ut=Kt}if(Mt===be.length)return l(he,ut),Yt&&Wa(he,Mt),pt;if(ut===null){for(;Mt<be.length;Mt++)ut=Ae(he,be[Mt],Ie),ut!==null&&(de=b(ut,de,Mt),Jt===null?pt=ut:Jt.sibling=ut,Jt=ut);return Yt&&Wa(he,Mt),pt}for(ut=f(ut);Mt<be.length;Mt++)Kt=Te(ut,he,Mt,be[Mt],Ie),Kt!==null&&(r&&Kt.alternate!==null&&ut.delete(Kt.key===null?Mt:Kt.key),de=b(Kt,de,Mt),Jt===null?pt=Kt:Jt.sibling=Kt,Jt=Kt);return r&&ut.forEach(function(Fi){return i(he,Fi)}),Yt&&Wa(he,Mt),pt}function kt(he,de,be,Ie){if(be==null)throw Error(a(151));for(var pt=null,Jt=null,ut=de,Mt=de=0,Kt=null,en=be.next();ut!==null&&!en.done;Mt++,en=be.next()){ut.index>Mt?(Kt=ut,ut=null):Kt=ut.sibling;var Fi=ke(he,ut,en.value,Ie);if(Fi===null){ut===null&&(ut=Kt);break}r&&ut&&Fi.alternate===null&&i(he,ut),de=b(Fi,de,Mt),Jt===null?pt=Fi:Jt.sibling=Fi,Jt=Fi,ut=Kt}if(en.done)return l(he,ut),Yt&&Wa(he,Mt),pt;if(ut===null){for(;!en.done;Mt++,en=be.next())en=Ae(he,en.value,Ie),en!==null&&(de=b(en,de,Mt),Jt===null?pt=en:Jt.sibling=en,Jt=en);return Yt&&Wa(he,Mt),pt}for(ut=f(ut);!en.done;Mt++,en=be.next())en=Te(ut,he,Mt,en.value,Ie),en!==null&&(r&&en.alternate!==null&&ut.delete(en.key===null?Mt:en.key),de=b(en,de,Mt),Jt===null?pt=en:Jt.sibling=en,Jt=en);return r&&ut.forEach(function(Xw){return i(he,Xw)}),Yt&&Wa(he,Mt),pt}function un(he,de,be,Ie){if(typeof be=="object"&&be!==null&&be.type===E&&be.key===null&&(be=be.props.children),typeof be=="object"&&be!==null){switch(be.$$typeof){case y:e:{for(var pt=be.key;de!==null;){if(de.key===pt){if(pt=be.type,pt===E){if(de.tag===7){l(he,de.sibling),Ie=v(de,be.props.children),Ie.return=he,he=Ie;break e}}else if(de.elementType===pt||typeof pt=="object"&&pt!==null&&pt.$$typeof===z&&vs(pt)===de.type){l(he,de.sibling),Ie=v(de,be.props),il(Ie,be),Ie.return=he,he=Ie;break e}l(he,de);break}else i(he,de);de=de.sibling}be.type===E?(Ie=fs(be.props.children,he.mode,Ie,be.key),Ie.return=he,he=Ie):(Ie=Nc(be.type,be.key,be.props,null,he.mode,Ie),il(Ie,be),Ie.return=he,he=Ie)}return C(he);case S:e:{for(pt=be.key;de!==null;){if(de.key===pt)if(de.tag===4&&de.stateNode.containerInfo===be.containerInfo&&de.stateNode.implementation===be.implementation){l(he,de.sibling),Ie=v(de,be.children||[]),Ie.return=he,he=Ie;break e}else{l(he,de);break}else i(he,de);de=de.sibling}Ie=k0(be,he.mode,Ie),Ie.return=he,he=Ie}return C(he);case z:return be=vs(be),un(he,de,be,Ie)}if(X(be))return at(he,de,be,Ie);if(q(be)){if(pt=q(be),typeof pt!="function")throw Error(a(150));return be=pt.call(be),kt(he,de,be,Ie)}if(typeof be.then=="function")return un(he,de,Dc(be),Ie);if(be.$$typeof===I)return un(he,de,Ac(he,be),Ie);jc(he,be)}return typeof be=="string"&&be!==""||typeof be=="number"||typeof be=="bigint"?(be=""+be,de!==null&&de.tag===6?(l(he,de.sibling),Ie=v(de,be),Ie.return=he,he=Ie):(l(he,de),Ie=w0(be,he.mode,Ie),Ie.return=he,he=Ie),C(he)):l(he,de)}return function(he,de,be,Ie){try{al=0;var pt=un(he,de,be,Ie);return to=null,pt}catch(ut){if(ut===eo||ut===Mc)throw ut;var Jt=Hr(29,ut,null,he.mode);return Jt.lanes=Ie,Jt.return=he,Jt}}}var ys=Kg(!0),Wg=Kg(!1),Ni=!1;function D0(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function j0(r,i){r=r.updateQueue,i.updateQueue===r&&(i.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,callbacks:null})}function Ri(r){return{lane:r,tag:0,payload:null,callback:null,next:null}}function Ii(r,i,l){var f=r.updateQueue;if(f===null)return null;if(f=f.shared,(tn&2)!==0){var v=f.pending;return v===null?i.next=i:(i.next=v.next,v.next=i),f.pending=i,i=Cc(r),_g(r,null,l),i}return Tc(r,f,i,l),Cc(r)}function sl(r,i,l){if(i=i.updateQueue,i!==null&&(i=i.shared,(l&4194048)!==0)){var f=i.lanes;f&=r.pendingLanes,l|=f,i.lanes=l,wt(r,l)}}function L0(r,i){var l=r.updateQueue,f=r.alternate;if(f!==null&&(f=f.updateQueue,l===f)){var v=null,b=null;if(l=l.firstBaseUpdate,l!==null){do{var C={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};b===null?v=b=C:b=b.next=C,l=l.next}while(l!==null);b===null?v=b=i:b=b.next=i}else v=b=i;l={baseState:f.baseState,firstBaseUpdate:v,lastBaseUpdate:b,shared:f.shared,callbacks:f.callbacks},r.updateQueue=l;return}r=l.lastBaseUpdate,r===null?l.firstBaseUpdate=i:r.next=i,l.lastBaseUpdate=i}var z0=!1;function ol(){if(z0){var r=Js;if(r!==null)throw r}}function ll(r,i,l,f){z0=!1;var v=r.updateQueue;Ni=!1;var b=v.firstBaseUpdate,C=v.lastBaseUpdate,H=v.shared.pending;if(H!==null){v.shared.pending=null;var se=H,ye=se.next;se.next=null,C===null?b=ye:C.next=ye,C=se;var Ne=r.alternate;Ne!==null&&(Ne=Ne.updateQueue,H=Ne.lastBaseUpdate,H!==C&&(H===null?Ne.firstBaseUpdate=ye:H.next=ye,Ne.lastBaseUpdate=se))}if(b!==null){var Ae=v.baseState;C=0,Ne=ye=se=null,H=b;do{var ke=H.lane&-536870913,Te=ke!==H.lane;if(Te?(Vt&ke)===ke:(f&ke)===ke){ke!==0&&ke===Qs&&(z0=!0),Ne!==null&&(Ne=Ne.next={lane:0,tag:H.tag,payload:H.payload,callback:null,next:null});e:{var at=r,kt=H;ke=i;var un=l;switch(kt.tag){case 1:if(at=kt.payload,typeof at=="function"){Ae=at.call(un,Ae,ke);break e}Ae=at;break e;case 3:at.flags=at.flags&-65537|128;case 0:if(at=kt.payload,ke=typeof at=="function"?at.call(un,Ae,ke):at,ke==null)break e;Ae=g({},Ae,ke);break e;case 2:Ni=!0}}ke=H.callback,ke!==null&&(r.flags|=64,Te&&(r.flags|=8192),Te=v.callbacks,Te===null?v.callbacks=[ke]:Te.push(ke))}else Te={lane:ke,tag:H.tag,payload:H.payload,callback:H.callback,next:null},Ne===null?(ye=Ne=Te,se=Ae):Ne=Ne.next=Te,C|=ke;if(H=H.next,H===null){if(H=v.shared.pending,H===null)break;Te=H,H=Te.next,Te.next=null,v.lastBaseUpdate=Te,v.shared.pending=null}}while(!0);Ne===null&&(se=Ae),v.baseState=se,v.firstBaseUpdate=ye,v.lastBaseUpdate=Ne,b===null&&(v.shared.lanes=0),Di|=C,r.lanes=C,r.memoizedState=Ae}}function Yg(r,i){if(typeof r!="function")throw Error(a(191,r));r.call(i)}function Zg(r,i){var l=r.callbacks;if(l!==null)for(r.callbacks=null,r=0;r<l.length;r++)Yg(l[r],i)}var no=U(null),Lc=U(0);function Xg(r,i){r=ii,O(Lc,r),O(no,i),ii=r|i.baseLanes}function B0(){O(Lc,ii),O(no,no.current)}function q0(){ii=Lc.current,ee(no),ee(Lc)}var $r=U(null),ia=null;function Ai(r){var i=r.alternate;O(jn,jn.current&1),O($r,r),ia===null&&(i===null||no.current!==null||i.memoizedState!==null)&&(ia=r)}function U0(r){O(jn,jn.current),O($r,r),ia===null&&(ia=r)}function Qg(r){r.tag===22?(O(jn,jn.current),O($r,r),ia===null&&(ia=r)):_i()}function _i(){O(jn,jn.current),O($r,$r.current)}function Pr(r){ee($r),ia===r&&(ia=null),ee(jn)}var jn=U(0);function zc(r){for(var i=r;i!==null;){if(i.tag===13){var l=i.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||Kf(l)||Wf(l)))return i}else if(i.tag===19&&(i.memoizedProps.revealOrder==="forwards"||i.memoizedProps.revealOrder==="backwards"||i.memoizedProps.revealOrder==="unstable_legacy-backwards"||i.memoizedProps.revealOrder==="together")){if((i.flags&128)!==0)return i}else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===r)break;for(;i.sibling===null;){if(i.return===null||i.return===r)return null;i=i.return}i.sibling.return=i.return,i=i.sibling}return null}var Xa=0,_t=null,ln=null,$n=null,Bc=!1,ro=!1,xs=!1,qc=0,cl=0,ao=null,H8=0;function _n(){throw Error(a(321))}function H0(r,i){if(i===null)return!1;for(var l=0;l<i.length&&l<r.length;l++)if(!Ur(r[l],i[l]))return!1;return!0}function $0(r,i,l,f,v,b){return Xa=b,_t=i,i.memoizedState=null,i.updateQueue=null,i.lanes=0,W.H=r===null||r.memoizedState===null?jv:rf,xs=!1,b=l(f,v),xs=!1,ro&&(b=ev(i,l,f,v)),Jg(r),b}function Jg(r){W.H=fl;var i=ln!==null&&ln.next!==null;if(Xa=0,$n=ln=_t=null,Bc=!1,cl=0,ao=null,i)throw Error(a(300));r===null||Pn||(r=r.dependencies,r!==null&&Ic(r)&&(Pn=!0))}function ev(r,i,l,f){_t=r;var v=0;do{if(ro&&(ao=null),cl=0,ro=!1,25<=v)throw Error(a(301));if(v+=1,$n=ln=null,r.updateQueue!=null){var b=r.updateQueue;b.lastEffect=null,b.events=null,b.stores=null,b.memoCache!=null&&(b.memoCache.index=0)}W.H=Lv,b=i(l,f)}while(ro);return b}function $8(){var r=W.H,i=r.useState()[0];return i=typeof i.then=="function"?ul(i):i,r=r.useState()[0],(ln!==null?ln.memoizedState:null)!==r&&(_t.flags|=1024),i}function P0(){var r=qc!==0;return qc=0,r}function F0(r,i,l){i.updateQueue=r.updateQueue,i.flags&=-2053,r.lanes&=~l}function G0(r){if(Bc){for(r=r.memoizedState;r!==null;){var i=r.queue;i!==null&&(i.pending=null),r=r.next}Bc=!1}Xa=0,$n=ln=_t=null,ro=!1,cl=qc=0,ao=null}function br(){var r={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return $n===null?_t.memoizedState=$n=r:$n=$n.next=r,$n}function Ln(){if(ln===null){var r=_t.alternate;r=r!==null?r.memoizedState:null}else r=ln.next;var i=$n===null?_t.memoizedState:$n.next;if(i!==null)$n=i,ln=r;else{if(r===null)throw _t.alternate===null?Error(a(467)):Error(a(310));ln=r,r={memoizedState:ln.memoizedState,baseState:ln.baseState,baseQueue:ln.baseQueue,queue:ln.queue,next:null},$n===null?_t.memoizedState=$n=r:$n=$n.next=r}return $n}function Uc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ul(r){var i=cl;return cl+=1,ao===null&&(ao=[]),r=Fg(ao,r,i),i=_t,($n===null?i.memoizedState:$n.next)===null&&(i=i.alternate,W.H=i===null||i.memoizedState===null?jv:rf),r}function Hc(r){if(r!==null&&typeof r=="object"){if(typeof r.then=="function")return ul(r);if(r.$$typeof===I)return or(r)}throw Error(a(438,String(r)))}function V0(r){var i=null,l=_t.updateQueue;if(l!==null&&(i=l.memoCache),i==null){var f=_t.alternate;f!==null&&(f=f.updateQueue,f!==null&&(f=f.memoCache,f!=null&&(i={data:f.data.map(function(v){return v.slice()}),index:0})))}if(i==null&&(i={data:[],index:0}),l===null&&(l=Uc(),_t.updateQueue=l),l.memoCache=i,l=i.data[i.index],l===void 0)for(l=i.data[i.index]=Array(r),f=0;f<r;f++)l[f]=D;return i.index++,l}function Qa(r,i){return typeof i=="function"?i(r):i}function $c(r){var i=Ln();return K0(i,ln,r)}function K0(r,i,l){var f=r.queue;if(f===null)throw Error(a(311));f.lastRenderedReducer=l;var v=r.baseQueue,b=f.pending;if(b!==null){if(v!==null){var C=v.next;v.next=b.next,b.next=C}i.baseQueue=v=b,f.pending=null}if(b=r.baseState,v===null)r.memoizedState=b;else{i=v.next;var H=C=null,se=null,ye=i,Ne=!1;do{var Ae=ye.lane&-536870913;if(Ae!==ye.lane?(Vt&Ae)===Ae:(Xa&Ae)===Ae){var ke=ye.revertLane;if(ke===0)se!==null&&(se=se.next={lane:0,revertLane:0,gesture:null,action:ye.action,hasEagerState:ye.hasEagerState,eagerState:ye.eagerState,next:null}),Ae===Qs&&(Ne=!0);else if((Xa&ke)===ke){ye=ye.next,ke===Qs&&(Ne=!0);continue}else Ae={lane:0,revertLane:ye.revertLane,gesture:null,action:ye.action,hasEagerState:ye.hasEagerState,eagerState:ye.eagerState,next:null},se===null?(H=se=Ae,C=b):se=se.next=Ae,_t.lanes|=ke,Di|=ke;Ae=ye.action,xs&&l(b,Ae),b=ye.hasEagerState?ye.eagerState:l(b,Ae)}else ke={lane:Ae,revertLane:ye.revertLane,gesture:ye.gesture,action:ye.action,hasEagerState:ye.hasEagerState,eagerState:ye.eagerState,next:null},se===null?(H=se=ke,C=b):se=se.next=ke,_t.lanes|=Ae,Di|=Ae;ye=ye.next}while(ye!==null&&ye!==i);if(se===null?C=b:se.next=H,!Ur(b,r.memoizedState)&&(Pn=!0,Ne&&(l=Js,l!==null)))throw l;r.memoizedState=b,r.baseState=C,r.baseQueue=se,f.lastRenderedState=b}return v===null&&(f.lanes=0),[r.memoizedState,f.dispatch]}function W0(r){var i=Ln(),l=i.queue;if(l===null)throw Error(a(311));l.lastRenderedReducer=r;var f=l.dispatch,v=l.pending,b=i.memoizedState;if(v!==null){l.pending=null;var C=v=v.next;do b=r(b,C.action),C=C.next;while(C!==v);Ur(b,i.memoizedState)||(Pn=!0),i.memoizedState=b,i.baseQueue===null&&(i.baseState=b),l.lastRenderedState=b}return[b,f]}function tv(r,i,l){var f=_t,v=Ln(),b=Yt;if(b){if(l===void 0)throw Error(a(407));l=l()}else l=i();var C=!Ur((ln||v).memoizedState,l);if(C&&(v.memoizedState=l,Pn=!0),v=v.queue,X0(av.bind(null,f,v,r),[r]),v.getSnapshot!==i||C||$n!==null&&$n.memoizedState.tag&1){if(f.flags|=2048,io(9,{destroy:void 0},rv.bind(null,f,v,l,i),null),fn===null)throw Error(a(349));b||(Xa&127)!==0||nv(f,i,l)}return l}function nv(r,i,l){r.flags|=16384,r={getSnapshot:i,value:l},i=_t.updateQueue,i===null?(i=Uc(),_t.updateQueue=i,i.stores=[r]):(l=i.stores,l===null?i.stores=[r]:l.push(r))}function rv(r,i,l,f){i.value=l,i.getSnapshot=f,iv(i)&&sv(r)}function av(r,i,l){return l(function(){iv(i)&&sv(r)})}function iv(r){var i=r.getSnapshot;r=r.value;try{var l=i();return!Ur(r,l)}catch{return!0}}function sv(r){var i=ds(r,2);i!==null&&_r(i,r,2)}function Y0(r){var i=br();if(typeof r=="function"){var l=r;if(r=l(),xs){Pe(!0);try{l()}finally{Pe(!1)}}}return i.memoizedState=i.baseState=r,i.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qa,lastRenderedState:r},i}function ov(r,i,l,f){return r.baseState=l,K0(r,ln,typeof f=="function"?f:Qa)}function P8(r,i,l,f,v){if(Gc(r))throw Error(a(485));if(r=i.action,r!==null){var b={payload:v,action:r,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(C){b.listeners.push(C)}};W.T!==null?l(!0):b.isTransition=!1,f(b),l=i.pending,l===null?(b.next=i.pending=b,lv(i,b)):(b.next=l.next,i.pending=l.next=b)}}function lv(r,i){var l=i.action,f=i.payload,v=r.state;if(i.isTransition){var b=W.T,C={};W.T=C;try{var H=l(v,f),se=W.S;se!==null&&se(C,H),cv(r,i,H)}catch(ye){Z0(r,i,ye)}finally{b!==null&&C.types!==null&&(b.types=C.types),W.T=b}}else try{b=l(v,f),cv(r,i,b)}catch(ye){Z0(r,i,ye)}}function cv(r,i,l){l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(function(f){uv(r,i,f)},function(f){return Z0(r,i,f)}):uv(r,i,l)}function uv(r,i,l){i.status="fulfilled",i.value=l,dv(i),r.state=l,i=r.pending,i!==null&&(l=i.next,l===i?r.pending=null:(l=l.next,i.next=l,lv(r,l)))}function Z0(r,i,l){var f=r.pending;if(r.pending=null,f!==null){f=f.next;do i.status="rejected",i.reason=l,dv(i),i=i.next;while(i!==f)}r.action=null}function dv(r){r=r.listeners;for(var i=0;i<r.length;i++)(0,r[i])()}function fv(r,i){return i}function mv(r,i){if(Yt){var l=fn.formState;if(l!==null){e:{var f=_t;if(Yt){if(vn){t:{for(var v=vn,b=aa;v.nodeType!==8;){if(!b){v=null;break t}if(v=sa(v.nextSibling),v===null){v=null;break t}}b=v.data,v=b==="F!"||b==="F"?v:null}if(v){vn=sa(v.nextSibling),f=v.data==="F!";break e}}Ti(f)}f=!1}f&&(i=l[0])}}return l=br(),l.memoizedState=l.baseState=i,f={pending:null,lanes:0,dispatch:null,lastRenderedReducer:fv,lastRenderedState:i},l.queue=f,l=Mv.bind(null,_t,f),f.dispatch=l,f=Y0(!1),b=nf.bind(null,_t,!1,f.queue),f=br(),v={state:i,dispatch:null,action:r,pending:null},f.queue=v,l=P8.bind(null,_t,v,b,l),v.dispatch=l,f.memoizedState=r,[i,l,!1]}function hv(r){var i=Ln();return pv(i,ln,r)}function pv(r,i,l){if(i=K0(r,i,fv)[0],r=$c(Qa)[0],typeof i=="object"&&i!==null&&typeof i.then=="function")try{var f=ul(i)}catch(C){throw C===eo?Mc:C}else f=i;i=Ln();var v=i.queue,b=v.dispatch;return l!==i.memoizedState&&(_t.flags|=2048,io(9,{destroy:void 0},F8.bind(null,v,l),null)),[f,b,r]}function F8(r,i){r.action=i}function gv(r){var i=Ln(),l=ln;if(l!==null)return pv(i,l,r);Ln(),i=i.memoizedState,l=Ln();var f=l.queue.dispatch;return l.memoizedState=r,[i,f,!1]}function io(r,i,l,f){return r={tag:r,create:l,deps:f,inst:i,next:null},i=_t.updateQueue,i===null&&(i=Uc(),_t.updateQueue=i),l=i.lastEffect,l===null?i.lastEffect=r.next=r:(f=l.next,l.next=r,r.next=f,i.lastEffect=r),r}function vv(){return Ln().memoizedState}function Pc(r,i,l,f){var v=br();_t.flags|=r,v.memoizedState=io(1|i,{destroy:void 0},l,f===void 0?null:f)}function Fc(r,i,l,f){var v=Ln();f=f===void 0?null:f;var b=v.memoizedState.inst;ln!==null&&f!==null&&H0(f,ln.memoizedState.deps)?v.memoizedState=io(i,b,l,f):(_t.flags|=r,v.memoizedState=io(1|i,b,l,f))}function bv(r,i){Pc(8390656,8,r,i)}function X0(r,i){Fc(2048,8,r,i)}function G8(r){_t.flags|=4;var i=_t.updateQueue;if(i===null)i=Uc(),_t.updateQueue=i,i.events=[r];else{var l=i.events;l===null?i.events=[r]:l.push(r)}}function yv(r){var i=Ln().memoizedState;return G8({ref:i,nextImpl:r}),function(){if((tn&2)!==0)throw Error(a(440));return i.impl.apply(void 0,arguments)}}function xv(r,i){return Fc(4,2,r,i)}function wv(r,i){return Fc(4,4,r,i)}function kv(r,i){if(typeof i=="function"){r=r();var l=i(r);return function(){typeof l=="function"?l():i(null)}}if(i!=null)return r=r(),i.current=r,function(){i.current=null}}function Sv(r,i,l){l=l!=null?l.concat([r]):null,Fc(4,4,kv.bind(null,i,r),l)}function Q0(){}function Ev(r,i){var l=Ln();i=i===void 0?null:i;var f=l.memoizedState;return i!==null&&H0(i,f[1])?f[0]:(l.memoizedState=[r,i],r)}function Tv(r,i){var l=Ln();i=i===void 0?null:i;var f=l.memoizedState;if(i!==null&&H0(i,f[1]))return f[0];if(f=r(),xs){Pe(!0);try{r()}finally{Pe(!1)}}return l.memoizedState=[f,i],f}function J0(r,i,l){return l===void 0||(Xa&1073741824)!==0&&(Vt&261930)===0?r.memoizedState=i:(r.memoizedState=l,r=Cb(),_t.lanes|=r,Di|=r,l)}function Cv(r,i,l,f){return Ur(l,i)?l:no.current!==null?(r=J0(r,l,f),Ur(r,i)||(Pn=!0),r):(Xa&42)===0||(Xa&1073741824)!==0&&(Vt&261930)===0?(Pn=!0,r.memoizedState=l):(r=Cb(),_t.lanes|=r,Di|=r,i)}function Nv(r,i,l,f,v){var b=B.p;B.p=b!==0&&8>b?b:8;var C=W.T,H={};W.T=H,nf(r,!1,i,l);try{var se=v(),ye=W.S;if(ye!==null&&ye(H,se),se!==null&&typeof se=="object"&&typeof se.then=="function"){var Ne=U8(se,f);dl(r,i,Ne,Vr(r))}else dl(r,i,f,Vr(r))}catch(Ae){dl(r,i,{then:function(){},status:"rejected",reason:Ae},Vr())}finally{B.p=b,C!==null&&H.types!==null&&(C.types=H.types),W.T=C}}function V8(){}function ef(r,i,l,f){if(r.tag!==5)throw Error(a(476));var v=Rv(r).queue;Nv(r,v,i,Y,l===null?V8:function(){return Iv(r),l(f)})}function Rv(r){var i=r.memoizedState;if(i!==null)return i;i={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qa,lastRenderedState:Y},next:null};var l={};return i.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qa,lastRenderedState:l},next:null},r.memoizedState=i,r=r.alternate,r!==null&&(r.memoizedState=i),i}function Iv(r){var i=Rv(r);i.next===null&&(i=r.alternate.memoizedState),dl(r,i.next.queue,{},Vr())}function tf(){return or(Rl)}function Av(){return Ln().memoizedState}function _v(){return Ln().memoizedState}function K8(r){for(var i=r.return;i!==null;){switch(i.tag){case 24:case 3:var l=Vr();r=Ri(l);var f=Ii(i,r,l);f!==null&&(_r(f,i,l),sl(f,i,l)),i={cache:A0()},r.payload=i;return}i=i.return}}function W8(r,i,l){var f=Vr();l={lane:f,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Gc(r)?Ov(i,l):(l=y0(r,i,l,f),l!==null&&(_r(l,r,f),Dv(l,i,f)))}function Mv(r,i,l){var f=Vr();dl(r,i,l,f)}function dl(r,i,l,f){var v={lane:f,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(Gc(r))Ov(i,v);else{var b=r.alternate;if(r.lanes===0&&(b===null||b.lanes===0)&&(b=i.lastRenderedReducer,b!==null))try{var C=i.lastRenderedState,H=b(C,l);if(v.hasEagerState=!0,v.eagerState=H,Ur(H,C))return Tc(r,i,v,0),fn===null&&Ec(),!1}catch{}if(l=y0(r,i,v,f),l!==null)return _r(l,r,f),Dv(l,i,f),!0}return!1}function nf(r,i,l,f){if(f={lane:2,revertLane:jf(),gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null},Gc(r)){if(i)throw Error(a(479))}else i=y0(r,l,f,2),i!==null&&_r(i,r,2)}function Gc(r){var i=r.alternate;return r===_t||i!==null&&i===_t}function Ov(r,i){ro=Bc=!0;var l=r.pending;l===null?i.next=i:(i.next=l.next,l.next=i),r.pending=i}function Dv(r,i,l){if((l&4194048)!==0){var f=i.lanes;f&=r.pendingLanes,l|=f,i.lanes=l,wt(r,l)}}var fl={readContext:or,use:Hc,useCallback:_n,useContext:_n,useEffect:_n,useImperativeHandle:_n,useLayoutEffect:_n,useInsertionEffect:_n,useMemo:_n,useReducer:_n,useRef:_n,useState:_n,useDebugValue:_n,useDeferredValue:_n,useTransition:_n,useSyncExternalStore:_n,useId:_n,useHostTransitionStatus:_n,useFormState:_n,useActionState:_n,useOptimistic:_n,useMemoCache:_n,useCacheRefresh:_n};fl.useEffectEvent=_n;var jv={readContext:or,use:Hc,useCallback:function(r,i){return br().memoizedState=[r,i===void 0?null:i],r},useContext:or,useEffect:bv,useImperativeHandle:function(r,i,l){l=l!=null?l.concat([r]):null,Pc(4194308,4,kv.bind(null,i,r),l)},useLayoutEffect:function(r,i){return Pc(4194308,4,r,i)},useInsertionEffect:function(r,i){Pc(4,2,r,i)},useMemo:function(r,i){var l=br();i=i===void 0?null:i;var f=r();if(xs){Pe(!0);try{r()}finally{Pe(!1)}}return l.memoizedState=[f,i],f},useReducer:function(r,i,l){var f=br();if(l!==void 0){var v=l(i);if(xs){Pe(!0);try{l(i)}finally{Pe(!1)}}}else v=i;return f.memoizedState=f.baseState=v,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:v},f.queue=r,r=r.dispatch=W8.bind(null,_t,r),[f.memoizedState,r]},useRef:function(r){var i=br();return r={current:r},i.memoizedState=r},useState:function(r){r=Y0(r);var i=r.queue,l=Mv.bind(null,_t,i);return i.dispatch=l,[r.memoizedState,l]},useDebugValue:Q0,useDeferredValue:function(r,i){var l=br();return J0(l,r,i)},useTransition:function(){var r=Y0(!1);return r=Nv.bind(null,_t,r.queue,!0,!1),br().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,i,l){var f=_t,v=br();if(Yt){if(l===void 0)throw Error(a(407));l=l()}else{if(l=i(),fn===null)throw Error(a(349));(Vt&127)!==0||nv(f,i,l)}v.memoizedState=l;var b={value:l,getSnapshot:i};return v.queue=b,bv(av.bind(null,f,b,r),[r]),f.flags|=2048,io(9,{destroy:void 0},rv.bind(null,f,b,l,i),null),l},useId:function(){var r=br(),i=fn.identifierPrefix;if(Yt){var l=Ca,f=Ta;l=(f&~(1<<32-Oe(f)-1)).toString(32)+l,i="_"+i+"R_"+l,l=qc++,0<l&&(i+="H"+l.toString(32)),i+="_"}else l=H8++,i="_"+i+"r_"+l.toString(32)+"_";return r.memoizedState=i},useHostTransitionStatus:tf,useFormState:mv,useActionState:mv,useOptimistic:function(r){var i=br();i.memoizedState=i.baseState=r;var l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return i.queue=l,i=nf.bind(null,_t,!0,l),l.dispatch=i,[r,i]},useMemoCache:V0,useCacheRefresh:function(){return br().memoizedState=K8.bind(null,_t)},useEffectEvent:function(r){var i=br(),l={impl:r};return i.memoizedState=l,function(){if((tn&2)!==0)throw Error(a(440));return l.impl.apply(void 0,arguments)}}},rf={readContext:or,use:Hc,useCallback:Ev,useContext:or,useEffect:X0,useImperativeHandle:Sv,useInsertionEffect:xv,useLayoutEffect:wv,useMemo:Tv,useReducer:$c,useRef:vv,useState:function(){return $c(Qa)},useDebugValue:Q0,useDeferredValue:function(r,i){var l=Ln();return Cv(l,ln.memoizedState,r,i)},useTransition:function(){var r=$c(Qa)[0],i=Ln().memoizedState;return[typeof r=="boolean"?r:ul(r),i]},useSyncExternalStore:tv,useId:Av,useHostTransitionStatus:tf,useFormState:hv,useActionState:hv,useOptimistic:function(r,i){var l=Ln();return ov(l,ln,r,i)},useMemoCache:V0,useCacheRefresh:_v};rf.useEffectEvent=yv;var Lv={readContext:or,use:Hc,useCallback:Ev,useContext:or,useEffect:X0,useImperativeHandle:Sv,useInsertionEffect:xv,useLayoutEffect:wv,useMemo:Tv,useReducer:W0,useRef:vv,useState:function(){return W0(Qa)},useDebugValue:Q0,useDeferredValue:function(r,i){var l=Ln();return ln===null?J0(l,r,i):Cv(l,ln.memoizedState,r,i)},useTransition:function(){var r=W0(Qa)[0],i=Ln().memoizedState;return[typeof r=="boolean"?r:ul(r),i]},useSyncExternalStore:tv,useId:Av,useHostTransitionStatus:tf,useFormState:gv,useActionState:gv,useOptimistic:function(r,i){var l=Ln();return ln!==null?ov(l,ln,r,i):(l.baseState=r,[r,l.queue.dispatch])},useMemoCache:V0,useCacheRefresh:_v};Lv.useEffectEvent=yv;function af(r,i,l,f){i=r.memoizedState,l=l(f,i),l=l==null?i:g({},i,l),r.memoizedState=l,r.lanes===0&&(r.updateQueue.baseState=l)}var sf={enqueueSetState:function(r,i,l){r=r._reactInternals;var f=Vr(),v=Ri(f);v.payload=i,l!=null&&(v.callback=l),i=Ii(r,v,f),i!==null&&(_r(i,r,f),sl(i,r,f))},enqueueReplaceState:function(r,i,l){r=r._reactInternals;var f=Vr(),v=Ri(f);v.tag=1,v.payload=i,l!=null&&(v.callback=l),i=Ii(r,v,f),i!==null&&(_r(i,r,f),sl(i,r,f))},enqueueForceUpdate:function(r,i){r=r._reactInternals;var l=Vr(),f=Ri(l);f.tag=2,i!=null&&(f.callback=i),i=Ii(r,f,l),i!==null&&(_r(i,r,l),sl(i,r,l))}};function zv(r,i,l,f,v,b,C){return r=r.stateNode,typeof r.shouldComponentUpdate=="function"?r.shouldComponentUpdate(f,b,C):i.prototype&&i.prototype.isPureReactComponent?!Qo(l,f)||!Qo(v,b):!0}function Bv(r,i,l,f){r=i.state,typeof i.componentWillReceiveProps=="function"&&i.componentWillReceiveProps(l,f),typeof i.UNSAFE_componentWillReceiveProps=="function"&&i.UNSAFE_componentWillReceiveProps(l,f),i.state!==r&&sf.enqueueReplaceState(i,i.state,null)}function ws(r,i){var l=i;if("ref"in i){l={};for(var f in i)f!=="ref"&&(l[f]=i[f])}if(r=r.defaultProps){l===i&&(l=g({},l));for(var v in r)l[v]===void 0&&(l[v]=r[v])}return l}function qv(r){Sc(r)}function Uv(r){console.error(r)}function Hv(r){Sc(r)}function Vc(r,i){try{var l=r.onUncaughtError;l(i.value,{componentStack:i.stack})}catch(f){setTimeout(function(){throw f})}}function $v(r,i,l){try{var f=r.onCaughtError;f(l.value,{componentStack:l.stack,errorBoundary:i.tag===1?i.stateNode:null})}catch(v){setTimeout(function(){throw v})}}function of(r,i,l){return l=Ri(l),l.tag=3,l.payload={element:null},l.callback=function(){Vc(r,i)},l}function Pv(r){return r=Ri(r),r.tag=3,r}function Fv(r,i,l,f){var v=l.type.getDerivedStateFromError;if(typeof v=="function"){var b=f.value;r.payload=function(){return v(b)},r.callback=function(){$v(i,l,f)}}var C=l.stateNode;C!==null&&typeof C.componentDidCatch=="function"&&(r.callback=function(){$v(i,l,f),typeof v!="function"&&(ji===null?ji=new Set([this]):ji.add(this));var H=f.stack;this.componentDidCatch(f.value,{componentStack:H!==null?H:""})})}function Y8(r,i,l,f,v){if(l.flags|=32768,f!==null&&typeof f=="object"&&typeof f.then=="function"){if(i=l.alternate,i!==null&&Xs(i,l,v,!0),l=$r.current,l!==null){switch(l.tag){case 31:case 13:return ia===null?au():l.alternate===null&&Mn===0&&(Mn=3),l.flags&=-257,l.flags|=65536,l.lanes=v,f===Oc?l.flags|=16384:(i=l.updateQueue,i===null?l.updateQueue=new Set([f]):i.add(f),Mf(r,f,v)),!1;case 22:return l.flags|=65536,f===Oc?l.flags|=16384:(i=l.updateQueue,i===null?(i={transitions:null,markerInstances:null,retryQueue:new Set([f])},l.updateQueue=i):(l=i.retryQueue,l===null?i.retryQueue=new Set([f]):l.add(f)),Mf(r,f,v)),!1}throw Error(a(435,l.tag))}return Mf(r,f,v),au(),!1}if(Yt)return i=$r.current,i!==null?((i.flags&65536)===0&&(i.flags|=256),i.flags|=65536,i.lanes=v,f!==T0&&(r=Error(a(422),{cause:f}),tl(ta(r,l)))):(f!==T0&&(i=Error(a(423),{cause:f}),tl(ta(i,l))),r=r.current.alternate,r.flags|=65536,v&=-v,r.lanes|=v,f=ta(f,l),v=of(r.stateNode,f,v),L0(r,v),Mn!==4&&(Mn=2)),!1;var b=Error(a(520),{cause:f});if(b=ta(b,l),xl===null?xl=[b]:xl.push(b),Mn!==4&&(Mn=2),i===null)return!0;f=ta(f,l),l=i;do{switch(l.tag){case 3:return l.flags|=65536,r=v&-v,l.lanes|=r,r=of(l.stateNode,f,r),L0(l,r),!1;case 1:if(i=l.type,b=l.stateNode,(l.flags&128)===0&&(typeof i.getDerivedStateFromError=="function"||b!==null&&typeof b.componentDidCatch=="function"&&(ji===null||!ji.has(b))))return l.flags|=65536,v&=-v,l.lanes|=v,v=Pv(v),Fv(v,r,l,f),L0(l,v),!1}l=l.return}while(l!==null);return!1}var lf=Error(a(461)),Pn=!1;function lr(r,i,l,f){i.child=r===null?Wg(i,null,l,f):ys(i,r.child,l,f)}function Gv(r,i,l,f,v){l=l.render;var b=i.ref;if("ref"in f){var C={};for(var H in f)H!=="ref"&&(C[H]=f[H])}else C=f;return ps(i),f=$0(r,i,l,C,b,v),H=P0(),r!==null&&!Pn?(F0(r,i,v),Ja(r,i,v)):(Yt&&H&&S0(i),i.flags|=1,lr(r,i,f,v),i.child)}function Vv(r,i,l,f,v){if(r===null){var b=l.type;return typeof b=="function"&&!x0(b)&&b.defaultProps===void 0&&l.compare===null?(i.tag=15,i.type=b,Kv(r,i,b,f,v)):(r=Nc(l.type,null,f,i,i.mode,v),r.ref=i.ref,r.return=i,i.child=r)}if(b=r.child,!gf(r,v)){var C=b.memoizedProps;if(l=l.compare,l=l!==null?l:Qo,l(C,f)&&r.ref===i.ref)return Ja(r,i,v)}return i.flags|=1,r=Ka(b,f),r.ref=i.ref,r.return=i,i.child=r}function Kv(r,i,l,f,v){if(r!==null){var b=r.memoizedProps;if(Qo(b,f)&&r.ref===i.ref)if(Pn=!1,i.pendingProps=f=b,gf(r,v))(r.flags&131072)!==0&&(Pn=!0);else return i.lanes=r.lanes,Ja(r,i,v)}return cf(r,i,l,f,v)}function Wv(r,i,l,f){var v=f.children,b=r!==null?r.memoizedState:null;if(r===null&&i.stateNode===null&&(i.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),f.mode==="hidden"){if((i.flags&128)!==0){if(b=b!==null?b.baseLanes|l:l,r!==null){for(f=i.child=r.child,v=0;f!==null;)v=v|f.lanes|f.childLanes,f=f.sibling;f=v&~b}else f=0,i.child=null;return Yv(r,i,b,l,f)}if((l&536870912)!==0)i.memoizedState={baseLanes:0,cachePool:null},r!==null&&_c(i,b!==null?b.cachePool:null),b!==null?Xg(i,b):B0(),Qg(i);else return f=i.lanes=536870912,Yv(r,i,b!==null?b.baseLanes|l:l,l,f)}else b!==null?(_c(i,b.cachePool),Xg(i,b),_i(),i.memoizedState=null):(r!==null&&_c(i,null),B0(),_i());return lr(r,i,v,l),i.child}function ml(r,i){return r!==null&&r.tag===22||i.stateNode!==null||(i.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),i.sibling}function Yv(r,i,l,f,v){var b=M0();return b=b===null?null:{parent:Hn._currentValue,pool:b},i.memoizedState={baseLanes:l,cachePool:b},r!==null&&_c(i,null),B0(),Qg(i),r!==null&&Xs(r,i,f,!0),i.childLanes=v,null}function Kc(r,i){return i=Yc({mode:i.mode,children:i.children},r.mode),i.ref=r.ref,r.child=i,i.return=r,i}function Zv(r,i,l){return ys(i,r.child,null,l),r=Kc(i,i.pendingProps),r.flags|=2,Pr(i),i.memoizedState=null,r}function Z8(r,i,l){var f=i.pendingProps,v=(i.flags&128)!==0;if(i.flags&=-129,r===null){if(Yt){if(f.mode==="hidden")return r=Kc(i,f),i.lanes=536870912,ml(null,r);if(U0(i),(r=vn)?(r=l2(r,aa),r=r!==null&&r.data==="&"?r:null,r!==null&&(i.memoizedState={dehydrated:r,treeContext:Si!==null?{id:Ta,overflow:Ca}:null,retryLane:536870912,hydrationErrors:null},l=Og(r),l.return=i,i.child=l,sr=i,vn=null)):r=null,r===null)throw Ti(i);return i.lanes=536870912,null}return Kc(i,f)}var b=r.memoizedState;if(b!==null){var C=b.dehydrated;if(U0(i),v)if(i.flags&256)i.flags&=-257,i=Zv(r,i,l);else if(i.memoizedState!==null)i.child=r.child,i.flags|=128,i=null;else throw Error(a(558));else if(Pn||Xs(r,i,l,!1),v=(l&r.childLanes)!==0,Pn||v){if(f=fn,f!==null&&(C=St(f,l),C!==0&&C!==b.retryLane))throw b.retryLane=C,ds(r,C),_r(f,r,C),lf;au(),i=Zv(r,i,l)}else r=b.treeContext,vn=sa(C.nextSibling),sr=i,Yt=!0,Ei=null,aa=!1,r!==null&&Lg(i,r),i=Kc(i,f),i.flags|=4096;return i}return r=Ka(r.child,{mode:f.mode,children:f.children}),r.ref=i.ref,i.child=r,r.return=i,r}function Wc(r,i){var l=i.ref;if(l===null)r!==null&&r.ref!==null&&(i.flags|=4194816);else{if(typeof l!="function"&&typeof l!="object")throw Error(a(284));(r===null||r.ref!==l)&&(i.flags|=4194816)}}function cf(r,i,l,f,v){return ps(i),l=$0(r,i,l,f,void 0,v),f=P0(),r!==null&&!Pn?(F0(r,i,v),Ja(r,i,v)):(Yt&&f&&S0(i),i.flags|=1,lr(r,i,l,v),i.child)}function Xv(r,i,l,f,v,b){return ps(i),i.updateQueue=null,l=ev(i,f,l,v),Jg(r),f=P0(),r!==null&&!Pn?(F0(r,i,b),Ja(r,i,b)):(Yt&&f&&S0(i),i.flags|=1,lr(r,i,l,b),i.child)}function Qv(r,i,l,f,v){if(ps(i),i.stateNode===null){var b=Ks,C=l.contextType;typeof C=="object"&&C!==null&&(b=or(C)),b=new l(f,b),i.memoizedState=b.state!==null&&b.state!==void 0?b.state:null,b.updater=sf,i.stateNode=b,b._reactInternals=i,b=i.stateNode,b.props=f,b.state=i.memoizedState,b.refs={},D0(i),C=l.contextType,b.context=typeof C=="object"&&C!==null?or(C):Ks,b.state=i.memoizedState,C=l.getDerivedStateFromProps,typeof C=="function"&&(af(i,l,C,f),b.state=i.memoizedState),typeof l.getDerivedStateFromProps=="function"||typeof b.getSnapshotBeforeUpdate=="function"||typeof b.UNSAFE_componentWillMount!="function"&&typeof b.componentWillMount!="function"||(C=b.state,typeof b.componentWillMount=="function"&&b.componentWillMount(),typeof b.UNSAFE_componentWillMount=="function"&&b.UNSAFE_componentWillMount(),C!==b.state&&sf.enqueueReplaceState(b,b.state,null),ll(i,f,b,v),ol(),b.state=i.memoizedState),typeof b.componentDidMount=="function"&&(i.flags|=4194308),f=!0}else if(r===null){b=i.stateNode;var H=i.memoizedProps,se=ws(l,H);b.props=se;var ye=b.context,Ne=l.contextType;C=Ks,typeof Ne=="object"&&Ne!==null&&(C=or(Ne));var Ae=l.getDerivedStateFromProps;Ne=typeof Ae=="function"||typeof b.getSnapshotBeforeUpdate=="function",H=i.pendingProps!==H,Ne||typeof b.UNSAFE_componentWillReceiveProps!="function"&&typeof b.componentWillReceiveProps!="function"||(H||ye!==C)&&Bv(i,b,f,C),Ni=!1;var ke=i.memoizedState;b.state=ke,ll(i,f,b,v),ol(),ye=i.memoizedState,H||ke!==ye||Ni?(typeof Ae=="function"&&(af(i,l,Ae,f),ye=i.memoizedState),(se=Ni||zv(i,l,se,f,ke,ye,C))?(Ne||typeof b.UNSAFE_componentWillMount!="function"&&typeof b.componentWillMount!="function"||(typeof b.componentWillMount=="function"&&b.componentWillMount(),typeof b.UNSAFE_componentWillMount=="function"&&b.UNSAFE_componentWillMount()),typeof b.componentDidMount=="function"&&(i.flags|=4194308)):(typeof b.componentDidMount=="function"&&(i.flags|=4194308),i.memoizedProps=f,i.memoizedState=ye),b.props=f,b.state=ye,b.context=C,f=se):(typeof b.componentDidMount=="function"&&(i.flags|=4194308),f=!1)}else{b=i.stateNode,j0(r,i),C=i.memoizedProps,Ne=ws(l,C),b.props=Ne,Ae=i.pendingProps,ke=b.context,ye=l.contextType,se=Ks,typeof ye=="object"&&ye!==null&&(se=or(ye)),H=l.getDerivedStateFromProps,(ye=typeof H=="function"||typeof b.getSnapshotBeforeUpdate=="function")||typeof b.UNSAFE_componentWillReceiveProps!="function"&&typeof b.componentWillReceiveProps!="function"||(C!==Ae||ke!==se)&&Bv(i,b,f,se),Ni=!1,ke=i.memoizedState,b.state=ke,ll(i,f,b,v),ol();var Te=i.memoizedState;C!==Ae||ke!==Te||Ni||r!==null&&r.dependencies!==null&&Ic(r.dependencies)?(typeof H=="function"&&(af(i,l,H,f),Te=i.memoizedState),(Ne=Ni||zv(i,l,Ne,f,ke,Te,se)||r!==null&&r.dependencies!==null&&Ic(r.dependencies))?(ye||typeof b.UNSAFE_componentWillUpdate!="function"&&typeof b.componentWillUpdate!="function"||(typeof b.componentWillUpdate=="function"&&b.componentWillUpdate(f,Te,se),typeof b.UNSAFE_componentWillUpdate=="function"&&b.UNSAFE_componentWillUpdate(f,Te,se)),typeof b.componentDidUpdate=="function"&&(i.flags|=4),typeof b.getSnapshotBeforeUpdate=="function"&&(i.flags|=1024)):(typeof b.componentDidUpdate!="function"||C===r.memoizedProps&&ke===r.memoizedState||(i.flags|=4),typeof b.getSnapshotBeforeUpdate!="function"||C===r.memoizedProps&&ke===r.memoizedState||(i.flags|=1024),i.memoizedProps=f,i.memoizedState=Te),b.props=f,b.state=Te,b.context=se,f=Ne):(typeof b.componentDidUpdate!="function"||C===r.memoizedProps&&ke===r.memoizedState||(i.flags|=4),typeof b.getSnapshotBeforeUpdate!="function"||C===r.memoizedProps&&ke===r.memoizedState||(i.flags|=1024),f=!1)}return b=f,Wc(r,i),f=(i.flags&128)!==0,b||f?(b=i.stateNode,l=f&&typeof l.getDerivedStateFromError!="function"?null:b.render(),i.flags|=1,r!==null&&f?(i.child=ys(i,r.child,null,v),i.child=ys(i,null,l,v)):lr(r,i,l,v),i.memoizedState=b.state,r=i.child):r=Ja(r,i,v),r}function Jv(r,i,l,f){return ms(),i.flags|=256,lr(r,i,l,f),i.child}var uf={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function df(r){return{baseLanes:r,cachePool:$g()}}function ff(r,i,l){return r=r!==null?r.childLanes&~l:0,i&&(r|=Gr),r}function eb(r,i,l){var f=i.pendingProps,v=!1,b=(i.flags&128)!==0,C;if((C=b)||(C=r!==null&&r.memoizedState===null?!1:(jn.current&2)!==0),C&&(v=!0,i.flags&=-129),C=(i.flags&32)!==0,i.flags&=-33,r===null){if(Yt){if(v?Ai(i):_i(),(r=vn)?(r=l2(r,aa),r=r!==null&&r.data!=="&"?r:null,r!==null&&(i.memoizedState={dehydrated:r,treeContext:Si!==null?{id:Ta,overflow:Ca}:null,retryLane:536870912,hydrationErrors:null},l=Og(r),l.return=i,i.child=l,sr=i,vn=null)):r=null,r===null)throw Ti(i);return Wf(r)?i.lanes=32:i.lanes=536870912,null}var H=f.children;return f=f.fallback,v?(_i(),v=i.mode,H=Yc({mode:"hidden",children:H},v),f=fs(f,v,l,null),H.return=i,f.return=i,H.sibling=f,i.child=H,f=i.child,f.memoizedState=df(l),f.childLanes=ff(r,C,l),i.memoizedState=uf,ml(null,f)):(Ai(i),mf(i,H))}var se=r.memoizedState;if(se!==null&&(H=se.dehydrated,H!==null)){if(b)i.flags&256?(Ai(i),i.flags&=-257,i=hf(r,i,l)):i.memoizedState!==null?(_i(),i.child=r.child,i.flags|=128,i=null):(_i(),H=f.fallback,v=i.mode,f=Yc({mode:"visible",children:f.children},v),H=fs(H,v,l,null),H.flags|=2,f.return=i,H.return=i,f.sibling=H,i.child=f,ys(i,r.child,null,l),f=i.child,f.memoizedState=df(l),f.childLanes=ff(r,C,l),i.memoizedState=uf,i=ml(null,f));else if(Ai(i),Wf(H)){if(C=H.nextSibling&&H.nextSibling.dataset,C)var ye=C.dgst;C=ye,f=Error(a(419)),f.stack="",f.digest=C,tl({value:f,source:null,stack:null}),i=hf(r,i,l)}else if(Pn||Xs(r,i,l,!1),C=(l&r.childLanes)!==0,Pn||C){if(C=fn,C!==null&&(f=St(C,l),f!==0&&f!==se.retryLane))throw se.retryLane=f,ds(r,f),_r(C,r,f),lf;Kf(H)||au(),i=hf(r,i,l)}else Kf(H)?(i.flags|=192,i.child=r.child,i=null):(r=se.treeContext,vn=sa(H.nextSibling),sr=i,Yt=!0,Ei=null,aa=!1,r!==null&&Lg(i,r),i=mf(i,f.children),i.flags|=4096);return i}return v?(_i(),H=f.fallback,v=i.mode,se=r.child,ye=se.sibling,f=Ka(se,{mode:"hidden",children:f.children}),f.subtreeFlags=se.subtreeFlags&65011712,ye!==null?H=Ka(ye,H):(H=fs(H,v,l,null),H.flags|=2),H.return=i,f.return=i,f.sibling=H,i.child=f,ml(null,f),f=i.child,H=r.child.memoizedState,H===null?H=df(l):(v=H.cachePool,v!==null?(se=Hn._currentValue,v=v.parent!==se?{parent:se,pool:se}:v):v=$g(),H={baseLanes:H.baseLanes|l,cachePool:v}),f.memoizedState=H,f.childLanes=ff(r,C,l),i.memoizedState=uf,ml(r.child,f)):(Ai(i),l=r.child,r=l.sibling,l=Ka(l,{mode:"visible",children:f.children}),l.return=i,l.sibling=null,r!==null&&(C=i.deletions,C===null?(i.deletions=[r],i.flags|=16):C.push(r)),i.child=l,i.memoizedState=null,l)}function mf(r,i){return i=Yc({mode:"visible",children:i},r.mode),i.return=r,r.child=i}function Yc(r,i){return r=Hr(22,r,null,i),r.lanes=0,r}function hf(r,i,l){return ys(i,r.child,null,l),r=mf(i,i.pendingProps.children),r.flags|=2,i.memoizedState=null,r}function tb(r,i,l){r.lanes|=i;var f=r.alternate;f!==null&&(f.lanes|=i),R0(r.return,i,l)}function pf(r,i,l,f,v,b){var C=r.memoizedState;C===null?r.memoizedState={isBackwards:i,rendering:null,renderingStartTime:0,last:f,tail:l,tailMode:v,treeForkCount:b}:(C.isBackwards=i,C.rendering=null,C.renderingStartTime=0,C.last=f,C.tail=l,C.tailMode=v,C.treeForkCount=b)}function nb(r,i,l){var f=i.pendingProps,v=f.revealOrder,b=f.tail;f=f.children;var C=jn.current,H=(C&2)!==0;if(H?(C=C&1|2,i.flags|=128):C&=1,O(jn,C),lr(r,i,f,l),f=Yt?el:0,!H&&r!==null&&(r.flags&128)!==0)e:for(r=i.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&tb(r,l,i);else if(r.tag===19)tb(r,l,i);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===i)break e;for(;r.sibling===null;){if(r.return===null||r.return===i)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}switch(v){case"forwards":for(l=i.child,v=null;l!==null;)r=l.alternate,r!==null&&zc(r)===null&&(v=l),l=l.sibling;l=v,l===null?(v=i.child,i.child=null):(v=l.sibling,l.sibling=null),pf(i,!1,v,l,b,f);break;case"backwards":case"unstable_legacy-backwards":for(l=null,v=i.child,i.child=null;v!==null;){if(r=v.alternate,r!==null&&zc(r)===null){i.child=v;break}r=v.sibling,v.sibling=l,l=v,v=r}pf(i,!0,l,null,b,f);break;case"together":pf(i,!1,null,null,void 0,f);break;default:i.memoizedState=null}return i.child}function Ja(r,i,l){if(r!==null&&(i.dependencies=r.dependencies),Di|=i.lanes,(l&i.childLanes)===0)if(r!==null){if(Xs(r,i,l,!1),(l&i.childLanes)===0)return null}else return null;if(r!==null&&i.child!==r.child)throw Error(a(153));if(i.child!==null){for(r=i.child,l=Ka(r,r.pendingProps),i.child=l,l.return=i;r.sibling!==null;)r=r.sibling,l=l.sibling=Ka(r,r.pendingProps),l.return=i;l.sibling=null}return i.child}function gf(r,i){return(r.lanes&i)!==0?!0:(r=r.dependencies,!!(r!==null&&Ic(r)))}function X8(r,i,l){switch(i.tag){case 3:pe(i,i.stateNode.containerInfo),Ci(i,Hn,r.memoizedState.cache),ms();break;case 27:case 5:J(i);break;case 4:pe(i,i.stateNode.containerInfo);break;case 10:Ci(i,i.type,i.memoizedProps.value);break;case 31:if(i.memoizedState!==null)return i.flags|=128,U0(i),null;break;case 13:var f=i.memoizedState;if(f!==null)return f.dehydrated!==null?(Ai(i),i.flags|=128,null):(l&i.child.childLanes)!==0?eb(r,i,l):(Ai(i),r=Ja(r,i,l),r!==null?r.sibling:null);Ai(i);break;case 19:var v=(r.flags&128)!==0;if(f=(l&i.childLanes)!==0,f||(Xs(r,i,l,!1),f=(l&i.childLanes)!==0),v){if(f)return nb(r,i,l);i.flags|=128}if(v=i.memoizedState,v!==null&&(v.rendering=null,v.tail=null,v.lastEffect=null),O(jn,jn.current),f)break;return null;case 22:return i.lanes=0,Wv(r,i,l,i.pendingProps);case 24:Ci(i,Hn,r.memoizedState.cache)}return Ja(r,i,l)}function rb(r,i,l){if(r!==null)if(r.memoizedProps!==i.pendingProps)Pn=!0;else{if(!gf(r,l)&&(i.flags&128)===0)return Pn=!1,X8(r,i,l);Pn=(r.flags&131072)!==0}else Pn=!1,Yt&&(i.flags&1048576)!==0&&jg(i,el,i.index);switch(i.lanes=0,i.tag){case 16:e:{var f=i.pendingProps;if(r=vs(i.elementType),i.type=r,typeof r=="function")x0(r)?(f=ws(r,f),i.tag=1,i=Qv(null,i,r,f,l)):(i.tag=0,i=cf(null,i,r,f,l));else{if(r!=null){var v=r.$$typeof;if(v===P){i.tag=11,i=Gv(null,i,r,f,l);break e}else if(v===A){i.tag=14,i=Vv(null,i,r,f,l);break e}}throw i=V(r)||r,Error(a(306,i,""))}}return i;case 0:return cf(r,i,i.type,i.pendingProps,l);case 1:return f=i.type,v=ws(f,i.pendingProps),Qv(r,i,f,v,l);case 3:e:{if(pe(i,i.stateNode.containerInfo),r===null)throw Error(a(387));f=i.pendingProps;var b=i.memoizedState;v=b.element,j0(r,i),ll(i,f,null,l);var C=i.memoizedState;if(f=C.cache,Ci(i,Hn,f),f!==b.cache&&I0(i,[Hn],l,!0),ol(),f=C.element,b.isDehydrated)if(b={element:f,isDehydrated:!1,cache:C.cache},i.updateQueue.baseState=b,i.memoizedState=b,i.flags&256){i=Jv(r,i,f,l);break e}else if(f!==v){v=ta(Error(a(424)),i),tl(v),i=Jv(r,i,f,l);break e}else for(r=i.stateNode.containerInfo,r.nodeType===9?r=r.body:r=r.nodeName==="HTML"?r.ownerDocument.body:r,vn=sa(r.firstChild),sr=i,Yt=!0,Ei=null,aa=!0,l=Wg(i,null,f,l),i.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling;else{if(ms(),f===v){i=Ja(r,i,l);break e}lr(r,i,f,l)}i=i.child}return i;case 26:return Wc(r,i),r===null?(l=h2(i.type,null,i.pendingProps,null))?i.memoizedState=l:Yt||(l=i.type,r=i.pendingProps,f=du(le.current).createElement(l),f[Sn]=i,f[Qn]=r,cr(f,l,r),gn(f),i.stateNode=f):i.memoizedState=h2(i.type,r.memoizedProps,i.pendingProps,r.memoizedState),null;case 27:return J(i),r===null&&Yt&&(f=i.stateNode=d2(i.type,i.pendingProps,le.current),sr=i,aa=!0,v=vn,qi(i.type)?(Yf=v,vn=sa(f.firstChild)):vn=v),lr(r,i,i.pendingProps.children,l),Wc(r,i),r===null&&(i.flags|=4194304),i.child;case 5:return r===null&&Yt&&((v=f=vn)&&(f=Nw(f,i.type,i.pendingProps,aa),f!==null?(i.stateNode=f,sr=i,vn=sa(f.firstChild),aa=!1,v=!0):v=!1),v||Ti(i)),J(i),v=i.type,b=i.pendingProps,C=r!==null?r.memoizedProps:null,f=b.children,Ff(v,b)?f=null:C!==null&&Ff(v,C)&&(i.flags|=32),i.memoizedState!==null&&(v=$0(r,i,$8,null,null,l),Rl._currentValue=v),Wc(r,i),lr(r,i,f,l),i.child;case 6:return r===null&&Yt&&((r=l=vn)&&(l=Rw(l,i.pendingProps,aa),l!==null?(i.stateNode=l,sr=i,vn=null,r=!0):r=!1),r||Ti(i)),null;case 13:return eb(r,i,l);case 4:return pe(i,i.stateNode.containerInfo),f=i.pendingProps,r===null?i.child=ys(i,null,f,l):lr(r,i,f,l),i.child;case 11:return Gv(r,i,i.type,i.pendingProps,l);case 7:return lr(r,i,i.pendingProps,l),i.child;case 8:return lr(r,i,i.pendingProps.children,l),i.child;case 12:return lr(r,i,i.pendingProps.children,l),i.child;case 10:return f=i.pendingProps,Ci(i,i.type,f.value),lr(r,i,f.children,l),i.child;case 9:return v=i.type._context,f=i.pendingProps.children,ps(i),v=or(v),f=f(v),i.flags|=1,lr(r,i,f,l),i.child;case 14:return Vv(r,i,i.type,i.pendingProps,l);case 15:return Kv(r,i,i.type,i.pendingProps,l);case 19:return nb(r,i,l);case 31:return Z8(r,i,l);case 22:return Wv(r,i,l,i.pendingProps);case 24:return ps(i),f=or(Hn),r===null?(v=M0(),v===null&&(v=fn,b=A0(),v.pooledCache=b,b.refCount++,b!==null&&(v.pooledCacheLanes|=l),v=b),i.memoizedState={parent:f,cache:v},D0(i),Ci(i,Hn,v)):((r.lanes&l)!==0&&(j0(r,i),ll(i,null,null,l),ol()),v=r.memoizedState,b=i.memoizedState,v.parent!==f?(v={parent:f,cache:f},i.memoizedState=v,i.lanes===0&&(i.memoizedState=i.updateQueue.baseState=v),Ci(i,Hn,f)):(f=b.cache,Ci(i,Hn,f),f!==v.cache&&I0(i,[Hn],l,!0))),lr(r,i,i.pendingProps.children,l),i.child;case 29:throw i.pendingProps}throw Error(a(156,i.tag))}function ei(r){r.flags|=4}function vf(r,i,l,f,v){if((i=(r.mode&32)!==0)&&(i=!1),i){if(r.flags|=16777216,(v&335544128)===v)if(r.stateNode.complete)r.flags|=8192;else if(Ab())r.flags|=8192;else throw bs=Oc,O0}else r.flags&=-16777217}function ab(r,i){if(i.type!=="stylesheet"||(i.state.loading&4)!==0)r.flags&=-16777217;else if(r.flags|=16777216,!y2(i))if(Ab())r.flags|=8192;else throw bs=Oc,O0}function Zc(r,i){i!==null&&(r.flags|=4),r.flags&16384&&(i=r.tag!==22?ct():536870912,r.lanes|=i,co|=i)}function hl(r,i){if(!Yt)switch(r.tailMode){case"hidden":i=r.tail;for(var l=null;i!==null;)i.alternate!==null&&(l=i),i=i.sibling;l===null?r.tail=null:l.sibling=null;break;case"collapsed":l=r.tail;for(var f=null;l!==null;)l.alternate!==null&&(f=l),l=l.sibling;f===null?i||r.tail===null?r.tail=null:r.tail.sibling=null:f.sibling=null}}function bn(r){var i=r.alternate!==null&&r.alternate.child===r.child,l=0,f=0;if(i)for(var v=r.child;v!==null;)l|=v.lanes|v.childLanes,f|=v.subtreeFlags&65011712,f|=v.flags&65011712,v.return=r,v=v.sibling;else for(v=r.child;v!==null;)l|=v.lanes|v.childLanes,f|=v.subtreeFlags,f|=v.flags,v.return=r,v=v.sibling;return r.subtreeFlags|=f,r.childLanes=l,i}function Q8(r,i,l){var f=i.pendingProps;switch(E0(i),i.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return bn(i),null;case 1:return bn(i),null;case 3:return l=i.stateNode,f=null,r!==null&&(f=r.memoizedState.cache),i.memoizedState.cache!==f&&(i.flags|=2048),Za(Hn),ue(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(r===null||r.child===null)&&(Zs(i)?ei(i):r===null||r.memoizedState.isDehydrated&&(i.flags&256)===0||(i.flags|=1024,C0())),bn(i),null;case 26:var v=i.type,b=i.memoizedState;return r===null?(ei(i),b!==null?(bn(i),ab(i,b)):(bn(i),vf(i,v,null,f,l))):b?b!==r.memoizedState?(ei(i),bn(i),ab(i,b)):(bn(i),i.flags&=-16777217):(r=r.memoizedProps,r!==f&&ei(i),bn(i),vf(i,v,r,f,l)),null;case 27:if(oe(i),l=le.current,v=i.type,r!==null&&i.stateNode!=null)r.memoizedProps!==f&&ei(i);else{if(!f){if(i.stateNode===null)throw Error(a(166));return bn(i),null}r=ge.current,Zs(i)?zg(i):(r=d2(v,f,l),i.stateNode=r,ei(i))}return bn(i),null;case 5:if(oe(i),v=i.type,r!==null&&i.stateNode!=null)r.memoizedProps!==f&&ei(i);else{if(!f){if(i.stateNode===null)throw Error(a(166));return bn(i),null}if(b=ge.current,Zs(i))zg(i);else{var C=du(le.current);switch(b){case 1:b=C.createElementNS("http://www.w3.org/2000/svg",v);break;case 2:b=C.createElementNS("http://www.w3.org/1998/Math/MathML",v);break;default:switch(v){case"svg":b=C.createElementNS("http://www.w3.org/2000/svg",v);break;case"math":b=C.createElementNS("http://www.w3.org/1998/Math/MathML",v);break;case"script":b=C.createElement("div"),b.innerHTML="<script><\/script>",b=b.removeChild(b.firstChild);break;case"select":b=typeof f.is=="string"?C.createElement("select",{is:f.is}):C.createElement("select"),f.multiple?b.multiple=!0:f.size&&(b.size=f.size);break;default:b=typeof f.is=="string"?C.createElement(v,{is:f.is}):C.createElement(v)}}b[Sn]=i,b[Qn]=f;e:for(C=i.child;C!==null;){if(C.tag===5||C.tag===6)b.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===i)break e;for(;C.sibling===null;){if(C.return===null||C.return===i)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}i.stateNode=b;e:switch(cr(b,v,f),v){case"button":case"input":case"select":case"textarea":f=!!f.autoFocus;break e;case"img":f=!0;break e;default:f=!1}f&&ei(i)}}return bn(i),vf(i,i.type,r===null?null:r.memoizedProps,i.pendingProps,l),null;case 6:if(r&&i.stateNode!=null)r.memoizedProps!==f&&ei(i);else{if(typeof f!="string"&&i.stateNode===null)throw Error(a(166));if(r=le.current,Zs(i)){if(r=i.stateNode,l=i.memoizedProps,f=null,v=sr,v!==null)switch(v.tag){case 27:case 5:f=v.memoizedProps}r[Sn]=i,r=!!(r.nodeValue===l||f!==null&&f.suppressHydrationWarning===!0||e2(r.nodeValue,l)),r||Ti(i,!0)}else r=du(r).createTextNode(f),r[Sn]=i,i.stateNode=r}return bn(i),null;case 31:if(l=i.memoizedState,r===null||r.memoizedState!==null){if(f=Zs(i),l!==null){if(r===null){if(!f)throw Error(a(318));if(r=i.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(a(557));r[Sn]=i}else ms(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;bn(i),r=!1}else l=C0(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=l),r=!0;if(!r)return i.flags&256?(Pr(i),i):(Pr(i),null);if((i.flags&128)!==0)throw Error(a(558))}return bn(i),null;case 13:if(f=i.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(v=Zs(i),f!==null&&f.dehydrated!==null){if(r===null){if(!v)throw Error(a(318));if(v=i.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(a(317));v[Sn]=i}else ms(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;bn(i),v=!1}else v=C0(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=v),v=!0;if(!v)return i.flags&256?(Pr(i),i):(Pr(i),null)}return Pr(i),(i.flags&128)!==0?(i.lanes=l,i):(l=f!==null,r=r!==null&&r.memoizedState!==null,l&&(f=i.child,v=null,f.alternate!==null&&f.alternate.memoizedState!==null&&f.alternate.memoizedState.cachePool!==null&&(v=f.alternate.memoizedState.cachePool.pool),b=null,f.memoizedState!==null&&f.memoizedState.cachePool!==null&&(b=f.memoizedState.cachePool.pool),b!==v&&(f.flags|=2048)),l!==r&&l&&(i.child.flags|=8192),Zc(i,i.updateQueue),bn(i),null);case 4:return ue(),r===null&&qf(i.stateNode.containerInfo),bn(i),null;case 10:return Za(i.type),bn(i),null;case 19:if(ee(jn),f=i.memoizedState,f===null)return bn(i),null;if(v=(i.flags&128)!==0,b=f.rendering,b===null)if(v)hl(f,!1);else{if(Mn!==0||r!==null&&(r.flags&128)!==0)for(r=i.child;r!==null;){if(b=zc(r),b!==null){for(i.flags|=128,hl(f,!1),r=b.updateQueue,i.updateQueue=r,Zc(i,r),i.subtreeFlags=0,r=l,l=i.child;l!==null;)Mg(l,r),l=l.sibling;return O(jn,jn.current&1|2),Yt&&Wa(i,f.treeForkCount),i.child}r=r.sibling}f.tail!==null&&Ke()>tu&&(i.flags|=128,v=!0,hl(f,!1),i.lanes=4194304)}else{if(!v)if(r=zc(b),r!==null){if(i.flags|=128,v=!0,r=r.updateQueue,i.updateQueue=r,Zc(i,r),hl(f,!0),f.tail===null&&f.tailMode==="hidden"&&!b.alternate&&!Yt)return bn(i),null}else 2*Ke()-f.renderingStartTime>tu&&l!==536870912&&(i.flags|=128,v=!0,hl(f,!1),i.lanes=4194304);f.isBackwards?(b.sibling=i.child,i.child=b):(r=f.last,r!==null?r.sibling=b:i.child=b,f.last=b)}return f.tail!==null?(r=f.tail,f.rendering=r,f.tail=r.sibling,f.renderingStartTime=Ke(),r.sibling=null,l=jn.current,O(jn,v?l&1|2:l&1),Yt&&Wa(i,f.treeForkCount),r):(bn(i),null);case 22:case 23:return Pr(i),q0(),f=i.memoizedState!==null,r!==null?r.memoizedState!==null!==f&&(i.flags|=8192):f&&(i.flags|=8192),f?(l&536870912)!==0&&(i.flags&128)===0&&(bn(i),i.subtreeFlags&6&&(i.flags|=8192)):bn(i),l=i.updateQueue,l!==null&&Zc(i,l.retryQueue),l=null,r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(l=r.memoizedState.cachePool.pool),f=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),f!==l&&(i.flags|=2048),r!==null&&ee(gs),null;case 24:return l=null,r!==null&&(l=r.memoizedState.cache),i.memoizedState.cache!==l&&(i.flags|=2048),Za(Hn),bn(i),null;case 25:return null;case 30:return null}throw Error(a(156,i.tag))}function J8(r,i){switch(E0(i),i.tag){case 1:return r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 3:return Za(Hn),ue(),r=i.flags,(r&65536)!==0&&(r&128)===0?(i.flags=r&-65537|128,i):null;case 26:case 27:case 5:return oe(i),null;case 31:if(i.memoizedState!==null){if(Pr(i),i.alternate===null)throw Error(a(340));ms()}return r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 13:if(Pr(i),r=i.memoizedState,r!==null&&r.dehydrated!==null){if(i.alternate===null)throw Error(a(340));ms()}return r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 19:return ee(jn),null;case 4:return ue(),null;case 10:return Za(i.type),null;case 22:case 23:return Pr(i),q0(),r!==null&&ee(gs),r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 24:return Za(Hn),null;case 25:return null;default:return null}}function ib(r,i){switch(E0(i),i.tag){case 3:Za(Hn),ue();break;case 26:case 27:case 5:oe(i);break;case 4:ue();break;case 31:i.memoizedState!==null&&Pr(i);break;case 13:Pr(i);break;case 19:ee(jn);break;case 10:Za(i.type);break;case 22:case 23:Pr(i),q0(),r!==null&&ee(gs);break;case 24:Za(Hn)}}function pl(r,i){try{var l=i.updateQueue,f=l!==null?l.lastEffect:null;if(f!==null){var v=f.next;l=v;do{if((l.tag&r)===r){f=void 0;var b=l.create,C=l.inst;f=b(),C.destroy=f}l=l.next}while(l!==v)}}catch(H){on(i,i.return,H)}}function Mi(r,i,l){try{var f=i.updateQueue,v=f!==null?f.lastEffect:null;if(v!==null){var b=v.next;f=b;do{if((f.tag&r)===r){var C=f.inst,H=C.destroy;if(H!==void 0){C.destroy=void 0,v=i;var se=l,ye=H;try{ye()}catch(Ne){on(v,se,Ne)}}}f=f.next}while(f!==b)}}catch(Ne){on(i,i.return,Ne)}}function sb(r){var i=r.updateQueue;if(i!==null){var l=r.stateNode;try{Zg(i,l)}catch(f){on(r,r.return,f)}}}function ob(r,i,l){l.props=ws(r.type,r.memoizedProps),l.state=r.memoizedState;try{l.componentWillUnmount()}catch(f){on(r,i,f)}}function gl(r,i){try{var l=r.ref;if(l!==null){switch(r.tag){case 26:case 27:case 5:var f=r.stateNode;break;case 30:f=r.stateNode;break;default:f=r.stateNode}typeof l=="function"?r.refCleanup=l(f):l.current=f}}catch(v){on(r,i,v)}}function Na(r,i){var l=r.ref,f=r.refCleanup;if(l!==null)if(typeof f=="function")try{f()}catch(v){on(r,i,v)}finally{r.refCleanup=null,r=r.alternate,r!=null&&(r.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(v){on(r,i,v)}else l.current=null}function lb(r){var i=r.type,l=r.memoizedProps,f=r.stateNode;try{e:switch(i){case"button":case"input":case"select":case"textarea":l.autoFocus&&f.focus();break e;case"img":l.src?f.src=l.src:l.srcSet&&(f.srcset=l.srcSet)}}catch(v){on(r,r.return,v)}}function bf(r,i,l){try{var f=r.stateNode;ww(f,r.type,l,i),f[Qn]=i}catch(v){on(r,r.return,v)}}function cb(r){return r.tag===5||r.tag===3||r.tag===26||r.tag===27&&qi(r.type)||r.tag===4}function yf(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||cb(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.tag===27&&qi(r.type)||r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function xf(r,i,l){var f=r.tag;if(f===5||f===6)r=r.stateNode,i?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(r,i):(i=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,i.appendChild(r),l=l._reactRootContainer,l!=null||i.onclick!==null||(i.onclick=Ge));else if(f!==4&&(f===27&&qi(r.type)&&(l=r.stateNode,i=null),r=r.child,r!==null))for(xf(r,i,l),r=r.sibling;r!==null;)xf(r,i,l),r=r.sibling}function Xc(r,i,l){var f=r.tag;if(f===5||f===6)r=r.stateNode,i?l.insertBefore(r,i):l.appendChild(r);else if(f!==4&&(f===27&&qi(r.type)&&(l=r.stateNode),r=r.child,r!==null))for(Xc(r,i,l),r=r.sibling;r!==null;)Xc(r,i,l),r=r.sibling}function ub(r){var i=r.stateNode,l=r.memoizedProps;try{for(var f=r.type,v=i.attributes;v.length;)i.removeAttributeNode(v[0]);cr(i,f,l),i[Sn]=r,i[Qn]=l}catch(b){on(r,r.return,b)}}var ti=!1,Fn=!1,wf=!1,db=typeof WeakSet=="function"?WeakSet:Set,tr=null;function ew(r,i){if(r=r.containerInfo,$f=bu,r=Sg(r),m0(r)){if("selectionStart"in r)var l={start:r.selectionStart,end:r.selectionEnd};else e:{l=(l=r.ownerDocument)&&l.defaultView||window;var f=l.getSelection&&l.getSelection();if(f&&f.rangeCount!==0){l=f.anchorNode;var v=f.anchorOffset,b=f.focusNode;f=f.focusOffset;try{l.nodeType,b.nodeType}catch{l=null;break e}var C=0,H=-1,se=-1,ye=0,Ne=0,Ae=r,ke=null;t:for(;;){for(var Te;Ae!==l||v!==0&&Ae.nodeType!==3||(H=C+v),Ae!==b||f!==0&&Ae.nodeType!==3||(se=C+f),Ae.nodeType===3&&(C+=Ae.nodeValue.length),(Te=Ae.firstChild)!==null;)ke=Ae,Ae=Te;for(;;){if(Ae===r)break t;if(ke===l&&++ye===v&&(H=C),ke===b&&++Ne===f&&(se=C),(Te=Ae.nextSibling)!==null)break;Ae=ke,ke=Ae.parentNode}Ae=Te}l=H===-1||se===-1?null:{start:H,end:se}}else l=null}l=l||{start:0,end:0}}else l=null;for(Pf={focusedElem:r,selectionRange:l},bu=!1,tr=i;tr!==null;)if(i=tr,r=i.child,(i.subtreeFlags&1028)!==0&&r!==null)r.return=i,tr=r;else for(;tr!==null;){switch(i=tr,b=i.alternate,r=i.flags,i.tag){case 0:if((r&4)!==0&&(r=i.updateQueue,r=r!==null?r.events:null,r!==null))for(l=0;l<r.length;l++)v=r[l],v.ref.impl=v.nextImpl;break;case 11:case 15:break;case 1:if((r&1024)!==0&&b!==null){r=void 0,l=i,v=b.memoizedProps,b=b.memoizedState,f=l.stateNode;try{var at=ws(l.type,v);r=f.getSnapshotBeforeUpdate(at,b),f.__reactInternalSnapshotBeforeUpdate=r}catch(kt){on(l,l.return,kt)}}break;case 3:if((r&1024)!==0){if(r=i.stateNode.containerInfo,l=r.nodeType,l===9)Vf(r);else if(l===1)switch(r.nodeName){case"HEAD":case"HTML":case"BODY":Vf(r);break;default:r.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((r&1024)!==0)throw Error(a(163))}if(r=i.sibling,r!==null){r.return=i.return,tr=r;break}tr=i.return}}function fb(r,i,l){var f=l.flags;switch(l.tag){case 0:case 11:case 15:ri(r,l),f&4&&pl(5,l);break;case 1:if(ri(r,l),f&4)if(r=l.stateNode,i===null)try{r.componentDidMount()}catch(C){on(l,l.return,C)}else{var v=ws(l.type,i.memoizedProps);i=i.memoizedState;try{r.componentDidUpdate(v,i,r.__reactInternalSnapshotBeforeUpdate)}catch(C){on(l,l.return,C)}}f&64&&sb(l),f&512&&gl(l,l.return);break;case 3:if(ri(r,l),f&64&&(r=l.updateQueue,r!==null)){if(i=null,l.child!==null)switch(l.child.tag){case 27:case 5:i=l.child.stateNode;break;case 1:i=l.child.stateNode}try{Zg(r,i)}catch(C){on(l,l.return,C)}}break;case 27:i===null&&f&4&&ub(l);case 26:case 5:ri(r,l),i===null&&f&4&&lb(l),f&512&&gl(l,l.return);break;case 12:ri(r,l);break;case 31:ri(r,l),f&4&&pb(r,l);break;case 13:ri(r,l),f&4&&gb(r,l),f&64&&(r=l.memoizedState,r!==null&&(r=r.dehydrated,r!==null&&(l=cw.bind(null,l),Iw(r,l))));break;case 22:if(f=l.memoizedState!==null||ti,!f){i=i!==null&&i.memoizedState!==null||Fn,v=ti;var b=Fn;ti=f,(Fn=i)&&!b?ai(r,l,(l.subtreeFlags&8772)!==0):ri(r,l),ti=v,Fn=b}break;case 30:break;default:ri(r,l)}}function mb(r){var i=r.alternate;i!==null&&(r.alternate=null,mb(i)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(i=r.stateNode,i!==null&&rr(i)),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}var xn=null,Nr=!1;function ni(r,i,l){for(l=l.child;l!==null;)hb(r,i,l),l=l.sibling}function hb(r,i,l){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(Qt,l)}catch{}switch(l.tag){case 26:Fn||Na(l,i),ni(r,i,l),l.memoizedState?l.memoizedState.count--:l.stateNode&&(l=l.stateNode,l.parentNode.removeChild(l));break;case 27:Fn||Na(l,i);var f=xn,v=Nr;qi(l.type)&&(xn=l.stateNode,Nr=!1),ni(r,i,l),Tl(l.stateNode),xn=f,Nr=v;break;case 5:Fn||Na(l,i);case 6:if(f=xn,v=Nr,xn=null,ni(r,i,l),xn=f,Nr=v,xn!==null)if(Nr)try{(xn.nodeType===9?xn.body:xn.nodeName==="HTML"?xn.ownerDocument.body:xn).removeChild(l.stateNode)}catch(b){on(l,i,b)}else try{xn.removeChild(l.stateNode)}catch(b){on(l,i,b)}break;case 18:xn!==null&&(Nr?(r=xn,s2(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,l.stateNode),bo(r)):s2(xn,l.stateNode));break;case 4:f=xn,v=Nr,xn=l.stateNode.containerInfo,Nr=!0,ni(r,i,l),xn=f,Nr=v;break;case 0:case 11:case 14:case 15:Mi(2,l,i),Fn||Mi(4,l,i),ni(r,i,l);break;case 1:Fn||(Na(l,i),f=l.stateNode,typeof f.componentWillUnmount=="function"&&ob(l,i,f)),ni(r,i,l);break;case 21:ni(r,i,l);break;case 22:Fn=(f=Fn)||l.memoizedState!==null,ni(r,i,l),Fn=f;break;default:ni(r,i,l)}}function pb(r,i){if(i.memoizedState===null&&(r=i.alternate,r!==null&&(r=r.memoizedState,r!==null))){r=r.dehydrated;try{bo(r)}catch(l){on(i,i.return,l)}}}function gb(r,i){if(i.memoizedState===null&&(r=i.alternate,r!==null&&(r=r.memoizedState,r!==null&&(r=r.dehydrated,r!==null))))try{bo(r)}catch(l){on(i,i.return,l)}}function tw(r){switch(r.tag){case 31:case 13:case 19:var i=r.stateNode;return i===null&&(i=r.stateNode=new db),i;case 22:return r=r.stateNode,i=r._retryCache,i===null&&(i=r._retryCache=new db),i;default:throw Error(a(435,r.tag))}}function Qc(r,i){var l=tw(r);i.forEach(function(f){if(!l.has(f)){l.add(f);var v=uw.bind(null,r,f);f.then(v,v)}})}function Rr(r,i){var l=i.deletions;if(l!==null)for(var f=0;f<l.length;f++){var v=l[f],b=r,C=i,H=C;e:for(;H!==null;){switch(H.tag){case 27:if(qi(H.type)){xn=H.stateNode,Nr=!1;break e}break;case 5:xn=H.stateNode,Nr=!1;break e;case 3:case 4:xn=H.stateNode.containerInfo,Nr=!0;break e}H=H.return}if(xn===null)throw Error(a(160));hb(b,C,v),xn=null,Nr=!1,b=v.alternate,b!==null&&(b.return=null),v.return=null}if(i.subtreeFlags&13886)for(i=i.child;i!==null;)vb(i,r),i=i.sibling}var va=null;function vb(r,i){var l=r.alternate,f=r.flags;switch(r.tag){case 0:case 11:case 14:case 15:Rr(i,r),Ir(r),f&4&&(Mi(3,r,r.return),pl(3,r),Mi(5,r,r.return));break;case 1:Rr(i,r),Ir(r),f&512&&(Fn||l===null||Na(l,l.return)),f&64&&ti&&(r=r.updateQueue,r!==null&&(f=r.callbacks,f!==null&&(l=r.shared.hiddenCallbacks,r.shared.hiddenCallbacks=l===null?f:l.concat(f))));break;case 26:var v=va;if(Rr(i,r),Ir(r),f&512&&(Fn||l===null||Na(l,l.return)),f&4){var b=l!==null?l.memoizedState:null;if(f=r.memoizedState,l===null)if(f===null)if(r.stateNode===null){e:{f=r.type,l=r.memoizedProps,v=v.ownerDocument||v;t:switch(f){case"title":b=v.getElementsByTagName("title")[0],(!b||b[nr]||b[Sn]||b.namespaceURI==="http://www.w3.org/2000/svg"||b.hasAttribute("itemprop"))&&(b=v.createElement(f),v.head.insertBefore(b,v.querySelector("head > title"))),cr(b,f,l),b[Sn]=r,gn(b),f=b;break e;case"link":var C=v2("link","href",v).get(f+(l.href||""));if(C){for(var H=0;H<C.length;H++)if(b=C[H],b.getAttribute("href")===(l.href==null||l.href===""?null:l.href)&&b.getAttribute("rel")===(l.rel==null?null:l.rel)&&b.getAttribute("title")===(l.title==null?null:l.title)&&b.getAttribute("crossorigin")===(l.crossOrigin==null?null:l.crossOrigin)){C.splice(H,1);break t}}b=v.createElement(f),cr(b,f,l),v.head.appendChild(b);break;case"meta":if(C=v2("meta","content",v).get(f+(l.content||""))){for(H=0;H<C.length;H++)if(b=C[H],b.getAttribute("content")===(l.content==null?null:""+l.content)&&b.getAttribute("name")===(l.name==null?null:l.name)&&b.getAttribute("property")===(l.property==null?null:l.property)&&b.getAttribute("http-equiv")===(l.httpEquiv==null?null:l.httpEquiv)&&b.getAttribute("charset")===(l.charSet==null?null:l.charSet)){C.splice(H,1);break t}}b=v.createElement(f),cr(b,f,l),v.head.appendChild(b);break;default:throw Error(a(468,f))}b[Sn]=r,gn(b),f=b}r.stateNode=f}else b2(v,r.type,r.stateNode);else r.stateNode=g2(v,f,r.memoizedProps);else b!==f?(b===null?l.stateNode!==null&&(l=l.stateNode,l.parentNode.removeChild(l)):b.count--,f===null?b2(v,r.type,r.stateNode):g2(v,f,r.memoizedProps)):f===null&&r.stateNode!==null&&bf(r,r.memoizedProps,l.memoizedProps)}break;case 27:Rr(i,r),Ir(r),f&512&&(Fn||l===null||Na(l,l.return)),l!==null&&f&4&&bf(r,r.memoizedProps,l.memoizedProps);break;case 5:if(Rr(i,r),Ir(r),f&512&&(Fn||l===null||Na(l,l.return)),r.flags&32){v=r.stateNode;try{Ue(v,"")}catch(at){on(r,r.return,at)}}f&4&&r.stateNode!=null&&(v=r.memoizedProps,bf(r,v,l!==null?l.memoizedProps:v)),f&1024&&(wf=!0);break;case 6:if(Rr(i,r),Ir(r),f&4){if(r.stateNode===null)throw Error(a(162));f=r.memoizedProps,l=r.stateNode;try{l.nodeValue=f}catch(at){on(r,r.return,at)}}break;case 3:if(hu=null,v=va,va=fu(i.containerInfo),Rr(i,r),va=v,Ir(r),f&4&&l!==null&&l.memoizedState.isDehydrated)try{bo(i.containerInfo)}catch(at){on(r,r.return,at)}wf&&(wf=!1,bb(r));break;case 4:f=va,va=fu(r.stateNode.containerInfo),Rr(i,r),Ir(r),va=f;break;case 12:Rr(i,r),Ir(r);break;case 31:Rr(i,r),Ir(r),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Qc(r,f)));break;case 13:Rr(i,r),Ir(r),r.child.flags&8192&&r.memoizedState!==null!=(l!==null&&l.memoizedState!==null)&&(eu=Ke()),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Qc(r,f)));break;case 22:v=r.memoizedState!==null;var se=l!==null&&l.memoizedState!==null,ye=ti,Ne=Fn;if(ti=ye||v,Fn=Ne||se,Rr(i,r),Fn=Ne,ti=ye,Ir(r),f&8192)e:for(i=r.stateNode,i._visibility=v?i._visibility&-2:i._visibility|1,v&&(l===null||se||ti||Fn||ks(r)),l=null,i=r;;){if(i.tag===5||i.tag===26){if(l===null){se=l=i;try{if(b=se.stateNode,v)C=b.style,typeof C.setProperty=="function"?C.setProperty("display","none","important"):C.display="none";else{H=se.stateNode;var Ae=se.memoizedProps.style,ke=Ae!=null&&Ae.hasOwnProperty("display")?Ae.display:null;H.style.display=ke==null||typeof ke=="boolean"?"":(""+ke).trim()}}catch(at){on(se,se.return,at)}}}else if(i.tag===6){if(l===null){se=i;try{se.stateNode.nodeValue=v?"":se.memoizedProps}catch(at){on(se,se.return,at)}}}else if(i.tag===18){if(l===null){se=i;try{var Te=se.stateNode;v?o2(Te,!0):o2(se.stateNode,!1)}catch(at){on(se,se.return,at)}}}else if((i.tag!==22&&i.tag!==23||i.memoizedState===null||i===r)&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===r)break e;for(;i.sibling===null;){if(i.return===null||i.return===r)break e;l===i&&(l=null),i=i.return}l===i&&(l=null),i.sibling.return=i.return,i=i.sibling}f&4&&(f=r.updateQueue,f!==null&&(l=f.retryQueue,l!==null&&(f.retryQueue=null,Qc(r,l))));break;case 19:Rr(i,r),Ir(r),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Qc(r,f)));break;case 30:break;case 21:break;default:Rr(i,r),Ir(r)}}function Ir(r){var i=r.flags;if(i&2){try{for(var l,f=r.return;f!==null;){if(cb(f)){l=f;break}f=f.return}if(l==null)throw Error(a(160));switch(l.tag){case 27:var v=l.stateNode,b=yf(r);Xc(r,b,v);break;case 5:var C=l.stateNode;l.flags&32&&(Ue(C,""),l.flags&=-33);var H=yf(r);Xc(r,H,C);break;case 3:case 4:var se=l.stateNode.containerInfo,ye=yf(r);xf(r,ye,se);break;default:throw Error(a(161))}}catch(Ne){on(r,r.return,Ne)}r.flags&=-3}i&4096&&(r.flags&=-4097)}function bb(r){if(r.subtreeFlags&1024)for(r=r.child;r!==null;){var i=r;bb(i),i.tag===5&&i.flags&1024&&i.stateNode.reset(),r=r.sibling}}function ri(r,i){if(i.subtreeFlags&8772)for(i=i.child;i!==null;)fb(r,i.alternate,i),i=i.sibling}function ks(r){for(r=r.child;r!==null;){var i=r;switch(i.tag){case 0:case 11:case 14:case 15:Mi(4,i,i.return),ks(i);break;case 1:Na(i,i.return);var l=i.stateNode;typeof l.componentWillUnmount=="function"&&ob(i,i.return,l),ks(i);break;case 27:Tl(i.stateNode);case 26:case 5:Na(i,i.return),ks(i);break;case 22:i.memoizedState===null&&ks(i);break;case 30:ks(i);break;default:ks(i)}r=r.sibling}}function ai(r,i,l){for(l=l&&(i.subtreeFlags&8772)!==0,i=i.child;i!==null;){var f=i.alternate,v=r,b=i,C=b.flags;switch(b.tag){case 0:case 11:case 15:ai(v,b,l),pl(4,b);break;case 1:if(ai(v,b,l),f=b,v=f.stateNode,typeof v.componentDidMount=="function")try{v.componentDidMount()}catch(ye){on(f,f.return,ye)}if(f=b,v=f.updateQueue,v!==null){var H=f.stateNode;try{var se=v.shared.hiddenCallbacks;if(se!==null)for(v.shared.hiddenCallbacks=null,v=0;v<se.length;v++)Yg(se[v],H)}catch(ye){on(f,f.return,ye)}}l&&C&64&&sb(b),gl(b,b.return);break;case 27:ub(b);case 26:case 5:ai(v,b,l),l&&f===null&&C&4&&lb(b),gl(b,b.return);break;case 12:ai(v,b,l);break;case 31:ai(v,b,l),l&&C&4&&pb(v,b);break;case 13:ai(v,b,l),l&&C&4&&gb(v,b);break;case 22:b.memoizedState===null&&ai(v,b,l),gl(b,b.return);break;case 30:break;default:ai(v,b,l)}i=i.sibling}}function kf(r,i){var l=null;r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(l=r.memoizedState.cachePool.pool),r=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(r=i.memoizedState.cachePool.pool),r!==l&&(r!=null&&r.refCount++,l!=null&&nl(l))}function Sf(r,i){r=null,i.alternate!==null&&(r=i.alternate.memoizedState.cache),i=i.memoizedState.cache,i!==r&&(i.refCount++,r!=null&&nl(r))}function ba(r,i,l,f){if(i.subtreeFlags&10256)for(i=i.child;i!==null;)yb(r,i,l,f),i=i.sibling}function yb(r,i,l,f){var v=i.flags;switch(i.tag){case 0:case 11:case 15:ba(r,i,l,f),v&2048&&pl(9,i);break;case 1:ba(r,i,l,f);break;case 3:ba(r,i,l,f),v&2048&&(r=null,i.alternate!==null&&(r=i.alternate.memoizedState.cache),i=i.memoizedState.cache,i!==r&&(i.refCount++,r!=null&&nl(r)));break;case 12:if(v&2048){ba(r,i,l,f),r=i.stateNode;try{var b=i.memoizedProps,C=b.id,H=b.onPostCommit;typeof H=="function"&&H(C,i.alternate===null?"mount":"update",r.passiveEffectDuration,-0)}catch(se){on(i,i.return,se)}}else ba(r,i,l,f);break;case 31:ba(r,i,l,f);break;case 13:ba(r,i,l,f);break;case 23:break;case 22:b=i.stateNode,C=i.alternate,i.memoizedState!==null?b._visibility&2?ba(r,i,l,f):vl(r,i):b._visibility&2?ba(r,i,l,f):(b._visibility|=2,so(r,i,l,f,(i.subtreeFlags&10256)!==0||!1)),v&2048&&kf(C,i);break;case 24:ba(r,i,l,f),v&2048&&Sf(i.alternate,i);break;default:ba(r,i,l,f)}}function so(r,i,l,f,v){for(v=v&&((i.subtreeFlags&10256)!==0||!1),i=i.child;i!==null;){var b=r,C=i,H=l,se=f,ye=C.flags;switch(C.tag){case 0:case 11:case 15:so(b,C,H,se,v),pl(8,C);break;case 23:break;case 22:var Ne=C.stateNode;C.memoizedState!==null?Ne._visibility&2?so(b,C,H,se,v):vl(b,C):(Ne._visibility|=2,so(b,C,H,se,v)),v&&ye&2048&&kf(C.alternate,C);break;case 24:so(b,C,H,se,v),v&&ye&2048&&Sf(C.alternate,C);break;default:so(b,C,H,se,v)}i=i.sibling}}function vl(r,i){if(i.subtreeFlags&10256)for(i=i.child;i!==null;){var l=r,f=i,v=f.flags;switch(f.tag){case 22:vl(l,f),v&2048&&kf(f.alternate,f);break;case 24:vl(l,f),v&2048&&Sf(f.alternate,f);break;default:vl(l,f)}i=i.sibling}}var bl=8192;function oo(r,i,l){if(r.subtreeFlags&bl)for(r=r.child;r!==null;)xb(r,i,l),r=r.sibling}function xb(r,i,l){switch(r.tag){case 26:oo(r,i,l),r.flags&bl&&r.memoizedState!==null&&Hw(l,va,r.memoizedState,r.memoizedProps);break;case 5:oo(r,i,l);break;case 3:case 4:var f=va;va=fu(r.stateNode.containerInfo),oo(r,i,l),va=f;break;case 22:r.memoizedState===null&&(f=r.alternate,f!==null&&f.memoizedState!==null?(f=bl,bl=16777216,oo(r,i,l),bl=f):oo(r,i,l));break;default:oo(r,i,l)}}function wb(r){var i=r.alternate;if(i!==null&&(r=i.child,r!==null)){i.child=null;do i=r.sibling,r.sibling=null,r=i;while(r!==null)}}function yl(r){var i=r.deletions;if((r.flags&16)!==0){if(i!==null)for(var l=0;l<i.length;l++){var f=i[l];tr=f,Sb(f,r)}wb(r)}if(r.subtreeFlags&10256)for(r=r.child;r!==null;)kb(r),r=r.sibling}function kb(r){switch(r.tag){case 0:case 11:case 15:yl(r),r.flags&2048&&Mi(9,r,r.return);break;case 3:yl(r);break;case 12:yl(r);break;case 22:var i=r.stateNode;r.memoizedState!==null&&i._visibility&2&&(r.return===null||r.return.tag!==13)?(i._visibility&=-3,Jc(r)):yl(r);break;default:yl(r)}}function Jc(r){var i=r.deletions;if((r.flags&16)!==0){if(i!==null)for(var l=0;l<i.length;l++){var f=i[l];tr=f,Sb(f,r)}wb(r)}for(r=r.child;r!==null;){switch(i=r,i.tag){case 0:case 11:case 15:Mi(8,i,i.return),Jc(i);break;case 22:l=i.stateNode,l._visibility&2&&(l._visibility&=-3,Jc(i));break;default:Jc(i)}r=r.sibling}}function Sb(r,i){for(;tr!==null;){var l=tr;switch(l.tag){case 0:case 11:case 15:Mi(8,l,i);break;case 23:case 22:if(l.memoizedState!==null&&l.memoizedState.cachePool!==null){var f=l.memoizedState.cachePool.pool;f!=null&&f.refCount++}break;case 24:nl(l.memoizedState.cache)}if(f=l.child,f!==null)f.return=l,tr=f;else e:for(l=r;tr!==null;){f=tr;var v=f.sibling,b=f.return;if(mb(f),f===l){tr=null;break e}if(v!==null){v.return=b,tr=v;break e}tr=b}}}var nw={getCacheForType:function(r){var i=or(Hn),l=i.data.get(r);return l===void 0&&(l=r(),i.data.set(r,l)),l},cacheSignal:function(){return or(Hn).controller.signal}},rw=typeof WeakMap=="function"?WeakMap:Map,tn=0,fn=null,Ut=null,Vt=0,sn=0,Fr=null,Oi=!1,lo=!1,Ef=!1,ii=0,Mn=0,Di=0,Ss=0,Tf=0,Gr=0,co=0,xl=null,Ar=null,Cf=!1,eu=0,Eb=0,tu=1/0,nu=null,ji=null,Yn=0,Li=null,uo=null,si=0,Nf=0,Rf=null,Tb=null,wl=0,If=null;function Vr(){return(tn&2)!==0&&Vt!==0?Vt&-Vt:W.T!==null?jf():Br()}function Cb(){if(Gr===0)if((Vt&536870912)===0||Yt){var r=st;st<<=1,(st&3932160)===0&&(st=262144),Gr=r}else Gr=536870912;return r=$r.current,r!==null&&(r.flags|=32),Gr}function _r(r,i,l){(r===fn&&(sn===2||sn===9)||r.cancelPendingCommit!==null)&&(fo(r,0),zi(r,Vt,Gr,!1)),Bt(r,l),((tn&2)===0||r!==fn)&&(r===fn&&((tn&2)===0&&(Ss|=l),Mn===4&&zi(r,Vt,Gr,!1)),Ra(r))}function Nb(r,i,l){if((tn&6)!==0)throw Error(a(327));var f=!l&&(i&127)===0&&(i&r.expiredLanes)===0||Ee(r,i),v=f?sw(r,i):_f(r,i,!0),b=f;do{if(v===0){lo&&!f&&zi(r,i,0,!1);break}else{if(l=r.current.alternate,b&&!aw(l)){v=_f(r,i,!1),b=!1;continue}if(v===2){if(b=i,r.errorRecoveryDisabledLanes&b)var C=0;else C=r.pendingLanes&-536870913,C=C!==0?C:C&536870912?536870912:0;if(C!==0){i=C;e:{var H=r;v=xl;var se=H.current.memoizedState.isDehydrated;if(se&&(fo(H,C).flags|=256),C=_f(H,C,!1),C!==2){if(Ef&&!se){H.errorRecoveryDisabledLanes|=b,Ss|=b,v=4;break e}b=Ar,Ar=v,b!==null&&(Ar===null?Ar=b:Ar.push.apply(Ar,b))}v=C}if(b=!1,v!==2)continue}}if(v===1){fo(r,0),zi(r,i,0,!0);break}e:{switch(f=r,b=v,b){case 0:case 1:throw Error(a(345));case 4:if((i&4194048)!==i)break;case 6:zi(f,i,Gr,!Oi);break e;case 2:Ar=null;break;case 3:case 5:break;default:throw Error(a(329))}if((i&62914560)===i&&(v=eu+300-Ke(),10<v)){if(zi(f,i,Gr,!Oi),ne(f,0,!0)!==0)break e;si=i,f.timeoutHandle=a2(Rb.bind(null,f,l,Ar,nu,Cf,i,Gr,Ss,co,Oi,b,"Throttled",-0,0),v);break e}Rb(f,l,Ar,nu,Cf,i,Gr,Ss,co,Oi,b,null,-0,0)}}break}while(!0);Ra(r)}function Rb(r,i,l,f,v,b,C,H,se,ye,Ne,Ae,ke,Te){if(r.timeoutHandle=-1,Ae=i.subtreeFlags,Ae&8192||(Ae&16785408)===16785408){Ae={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ge},xb(i,b,Ae);var at=(b&62914560)===b?eu-Ke():(b&4194048)===b?Eb-Ke():0;if(at=$w(Ae,at),at!==null){si=b,r.cancelPendingCommit=at(Lb.bind(null,r,i,b,l,f,v,C,H,se,Ne,Ae,null,ke,Te)),zi(r,b,C,!ye);return}}Lb(r,i,b,l,f,v,C,H,se)}function aw(r){for(var i=r;;){var l=i.tag;if((l===0||l===11||l===15)&&i.flags&16384&&(l=i.updateQueue,l!==null&&(l=l.stores,l!==null)))for(var f=0;f<l.length;f++){var v=l[f],b=v.getSnapshot;v=v.value;try{if(!Ur(b(),v))return!1}catch{return!1}}if(l=i.child,i.subtreeFlags&16384&&l!==null)l.return=i,i=l;else{if(i===r)break;for(;i.sibling===null;){if(i.return===null||i.return===r)return!0;i=i.return}i.sibling.return=i.return,i=i.sibling}}return!0}function zi(r,i,l,f){i&=~Tf,i&=~Ss,r.suspendedLanes|=i,r.pingedLanes&=~i,f&&(r.warmLanes|=i),f=r.expirationTimes;for(var v=i;0<v;){var b=31-Oe(v),C=1<<b;f[b]=-1,v&=~C}l!==0&&et(r,l,i)}function ru(){return(tn&6)===0?(kl(0),!1):!0}function Af(){if(Ut!==null){if(sn===0)var r=Ut.return;else r=Ut,Ya=hs=null,G0(r),to=null,al=0,r=Ut;for(;r!==null;)ib(r.alternate,r),r=r.return;Ut=null}}function fo(r,i){var l=r.timeoutHandle;l!==-1&&(r.timeoutHandle=-1,Ew(l)),l=r.cancelPendingCommit,l!==null&&(r.cancelPendingCommit=null,l()),si=0,Af(),fn=r,Ut=l=Ka(r.current,null),Vt=i,sn=0,Fr=null,Oi=!1,lo=Ee(r,i),Ef=!1,co=Gr=Tf=Ss=Di=Mn=0,Ar=xl=null,Cf=!1,(i&8)!==0&&(i|=i&32);var f=r.entangledLanes;if(f!==0)for(r=r.entanglements,f&=i;0<f;){var v=31-Oe(f),b=1<<v;i|=r[v],f&=~b}return ii=i,Ec(),l}function Ib(r,i){_t=null,W.H=fl,i===eo||i===Mc?(i=Gg(),sn=3):i===O0?(i=Gg(),sn=4):sn=i===lf?8:i!==null&&typeof i=="object"&&typeof i.then=="function"?6:1,Fr=i,Ut===null&&(Mn=1,Vc(r,ta(i,r.current)))}function Ab(){var r=$r.current;return r===null?!0:(Vt&4194048)===Vt?ia===null:(Vt&62914560)===Vt||(Vt&536870912)!==0?r===ia:!1}function _b(){var r=W.H;return W.H=fl,r===null?fl:r}function Mb(){var r=W.A;return W.A=nw,r}function au(){Mn=4,Oi||(Vt&4194048)!==Vt&&$r.current!==null||(lo=!0),(Di&134217727)===0&&(Ss&134217727)===0||fn===null||zi(fn,Vt,Gr,!1)}function _f(r,i,l){var f=tn;tn|=2;var v=_b(),b=Mb();(fn!==r||Vt!==i)&&(nu=null,fo(r,i)),i=!1;var C=Mn;e:do try{if(sn!==0&&Ut!==null){var H=Ut,se=Fr;switch(sn){case 8:Af(),C=6;break e;case 3:case 2:case 9:case 6:$r.current===null&&(i=!0);var ye=sn;if(sn=0,Fr=null,mo(r,H,se,ye),l&&lo){C=0;break e}break;default:ye=sn,sn=0,Fr=null,mo(r,H,se,ye)}}iw(),C=Mn;break}catch(Ne){Ib(r,Ne)}while(!0);return i&&r.shellSuspendCounter++,Ya=hs=null,tn=f,W.H=v,W.A=b,Ut===null&&(fn=null,Vt=0,Ec()),C}function iw(){for(;Ut!==null;)Ob(Ut)}function sw(r,i){var l=tn;tn|=2;var f=_b(),v=Mb();fn!==r||Vt!==i?(nu=null,tu=Ke()+500,fo(r,i)):lo=Ee(r,i);e:do try{if(sn!==0&&Ut!==null){i=Ut;var b=Fr;t:switch(sn){case 1:sn=0,Fr=null,mo(r,i,b,1);break;case 2:case 9:if(Pg(b)){sn=0,Fr=null,Db(i);break}i=function(){sn!==2&&sn!==9||fn!==r||(sn=7),Ra(r)},b.then(i,i);break e;case 3:sn=7;break e;case 4:sn=5;break e;case 7:Pg(b)?(sn=0,Fr=null,Db(i)):(sn=0,Fr=null,mo(r,i,b,7));break;case 5:var C=null;switch(Ut.tag){case 26:C=Ut.memoizedState;case 5:case 27:var H=Ut;if(C?y2(C):H.stateNode.complete){sn=0,Fr=null;var se=H.sibling;if(se!==null)Ut=se;else{var ye=H.return;ye!==null?(Ut=ye,iu(ye)):Ut=null}break t}}sn=0,Fr=null,mo(r,i,b,5);break;case 6:sn=0,Fr=null,mo(r,i,b,6);break;case 8:Af(),Mn=6;break e;default:throw Error(a(462))}}ow();break}catch(Ne){Ib(r,Ne)}while(!0);return Ya=hs=null,W.H=f,W.A=v,tn=l,Ut!==null?0:(fn=null,Vt=0,Ec(),Mn)}function ow(){for(;Ut!==null&&!Lt();)Ob(Ut)}function Ob(r){var i=rb(r.alternate,r,ii);r.memoizedProps=r.pendingProps,i===null?iu(r):Ut=i}function Db(r){var i=r,l=i.alternate;switch(i.tag){case 15:case 0:i=Xv(l,i,i.pendingProps,i.type,void 0,Vt);break;case 11:i=Xv(l,i,i.pendingProps,i.type.render,i.ref,Vt);break;case 5:G0(i);default:ib(l,i),i=Ut=Mg(i,ii),i=rb(l,i,ii)}r.memoizedProps=r.pendingProps,i===null?iu(r):Ut=i}function mo(r,i,l,f){Ya=hs=null,G0(i),to=null,al=0;var v=i.return;try{if(Y8(r,v,i,l,Vt)){Mn=1,Vc(r,ta(l,r.current)),Ut=null;return}}catch(b){if(v!==null)throw Ut=v,b;Mn=1,Vc(r,ta(l,r.current)),Ut=null;return}i.flags&32768?(Yt||f===1?r=!0:lo||(Vt&536870912)!==0?r=!1:(Oi=r=!0,(f===2||f===9||f===3||f===6)&&(f=$r.current,f!==null&&f.tag===13&&(f.flags|=16384))),jb(i,r)):iu(i)}function iu(r){var i=r;do{if((i.flags&32768)!==0){jb(i,Oi);return}r=i.return;var l=Q8(i.alternate,i,ii);if(l!==null){Ut=l;return}if(i=i.sibling,i!==null){Ut=i;return}Ut=i=r}while(i!==null);Mn===0&&(Mn=5)}function jb(r,i){do{var l=J8(r.alternate,r);if(l!==null){l.flags&=32767,Ut=l;return}if(l=r.return,l!==null&&(l.flags|=32768,l.subtreeFlags=0,l.deletions=null),!i&&(r=r.sibling,r!==null)){Ut=r;return}Ut=r=l}while(r!==null);Mn=6,Ut=null}function Lb(r,i,l,f,v,b,C,H,se){r.cancelPendingCommit=null;do su();while(Yn!==0);if((tn&6)!==0)throw Error(a(327));if(i!==null){if(i===r.current)throw Error(a(177));if(b=i.lanes|i.childLanes,b|=b0,nt(r,l,b,C,H,se),r===fn&&(Ut=fn=null,Vt=0),uo=i,Li=r,si=l,Nf=b,Rf=v,Tb=f,(i.subtreeFlags&10256)!==0||(i.flags&10256)!==0?(r.callbackNode=null,r.callbackPriority=0,dw(qe,function(){return Hb(),null})):(r.callbackNode=null,r.callbackPriority=0),f=(i.flags&13878)!==0,(i.subtreeFlags&13878)!==0||f){f=W.T,W.T=null,v=B.p,B.p=2,C=tn,tn|=4;try{ew(r,i,l)}finally{tn=C,B.p=v,W.T=f}}Yn=1,zb(),Bb(),qb()}}function zb(){if(Yn===1){Yn=0;var r=Li,i=uo,l=(i.flags&13878)!==0;if((i.subtreeFlags&13878)!==0||l){l=W.T,W.T=null;var f=B.p;B.p=2;var v=tn;tn|=4;try{vb(i,r);var b=Pf,C=Sg(r.containerInfo),H=b.focusedElem,se=b.selectionRange;if(C!==H&&H&&H.ownerDocument&&kg(H.ownerDocument.documentElement,H)){if(se!==null&&m0(H)){var ye=se.start,Ne=se.end;if(Ne===void 0&&(Ne=ye),"selectionStart"in H)H.selectionStart=ye,H.selectionEnd=Math.min(Ne,H.value.length);else{var Ae=H.ownerDocument||document,ke=Ae&&Ae.defaultView||window;if(ke.getSelection){var Te=ke.getSelection(),at=H.textContent.length,kt=Math.min(se.start,at),un=se.end===void 0?kt:Math.min(se.end,at);!Te.extend&&kt>un&&(C=un,un=kt,kt=C);var he=wg(H,kt),de=wg(H,un);if(he&&de&&(Te.rangeCount!==1||Te.anchorNode!==he.node||Te.anchorOffset!==he.offset||Te.focusNode!==de.node||Te.focusOffset!==de.offset)){var be=Ae.createRange();be.setStart(he.node,he.offset),Te.removeAllRanges(),kt>un?(Te.addRange(be),Te.extend(de.node,de.offset)):(be.setEnd(de.node,de.offset),Te.addRange(be))}}}}for(Ae=[],Te=H;Te=Te.parentNode;)Te.nodeType===1&&Ae.push({element:Te,left:Te.scrollLeft,top:Te.scrollTop});for(typeof H.focus=="function"&&H.focus(),H=0;H<Ae.length;H++){var Ie=Ae[H];Ie.element.scrollLeft=Ie.left,Ie.element.scrollTop=Ie.top}}bu=!!$f,Pf=$f=null}finally{tn=v,B.p=f,W.T=l}}r.current=i,Yn=2}}function Bb(){if(Yn===2){Yn=0;var r=Li,i=uo,l=(i.flags&8772)!==0;if((i.subtreeFlags&8772)!==0||l){l=W.T,W.T=null;var f=B.p;B.p=2;var v=tn;tn|=4;try{fb(r,i.alternate,i)}finally{tn=v,B.p=f,W.T=l}}Yn=3}}function qb(){if(Yn===4||Yn===3){Yn=0,vt();var r=Li,i=uo,l=si,f=Tb;(i.subtreeFlags&10256)!==0||(i.flags&10256)!==0?Yn=5:(Yn=0,uo=Li=null,Ub(r,r.pendingLanes));var v=r.pendingLanes;if(v===0&&(ji=null),ma(l),i=i.stateNode,At&&typeof At.onCommitFiberRoot=="function")try{At.onCommitFiberRoot(Qt,i,void 0,(i.current.flags&128)===128)}catch{}if(f!==null){i=W.T,v=B.p,B.p=2,W.T=null;try{for(var b=r.onRecoverableError,C=0;C<f.length;C++){var H=f[C];b(H.value,{componentStack:H.stack})}}finally{W.T=i,B.p=v}}(si&3)!==0&&su(),Ra(r),v=r.pendingLanes,(l&261930)!==0&&(v&42)!==0?r===If?wl++:(wl=0,If=r):wl=0,kl(0)}}function Ub(r,i){(r.pooledCacheLanes&=i)===0&&(i=r.pooledCache,i!=null&&(r.pooledCache=null,nl(i)))}function su(){return zb(),Bb(),qb(),Hb()}function Hb(){if(Yn!==5)return!1;var r=Li,i=Nf;Nf=0;var l=ma(si),f=W.T,v=B.p;try{B.p=32>l?32:l,W.T=null,l=Rf,Rf=null;var b=Li,C=si;if(Yn=0,uo=Li=null,si=0,(tn&6)!==0)throw Error(a(331));var H=tn;if(tn|=4,kb(b.current),yb(b,b.current,C,l),tn=H,kl(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(Qt,b)}catch{}return!0}finally{B.p=v,W.T=f,Ub(r,i)}}function $b(r,i,l){i=ta(l,i),i=of(r.stateNode,i,2),r=Ii(r,i,2),r!==null&&(Bt(r,2),Ra(r))}function on(r,i,l){if(r.tag===3)$b(r,r,l);else for(;i!==null;){if(i.tag===3){$b(i,r,l);break}else if(i.tag===1){var f=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof f.componentDidCatch=="function"&&(ji===null||!ji.has(f))){r=ta(l,r),l=Pv(2),f=Ii(i,l,2),f!==null&&(Fv(l,f,i,r),Bt(f,2),Ra(f));break}}i=i.return}}function Mf(r,i,l){var f=r.pingCache;if(f===null){f=r.pingCache=new rw;var v=new Set;f.set(i,v)}else v=f.get(i),v===void 0&&(v=new Set,f.set(i,v));v.has(l)||(Ef=!0,v.add(l),r=lw.bind(null,r,i,l),i.then(r,r))}function lw(r,i,l){var f=r.pingCache;f!==null&&f.delete(i),r.pingedLanes|=r.suspendedLanes&l,r.warmLanes&=~l,fn===r&&(Vt&l)===l&&(Mn===4||Mn===3&&(Vt&62914560)===Vt&&300>Ke()-eu?(tn&2)===0&&fo(r,0):Tf|=l,co===Vt&&(co=0)),Ra(r)}function Pb(r,i){i===0&&(i=ct()),r=ds(r,i),r!==null&&(Bt(r,i),Ra(r))}function cw(r){var i=r.memoizedState,l=0;i!==null&&(l=i.retryLane),Pb(r,l)}function uw(r,i){var l=0;switch(r.tag){case 31:case 13:var f=r.stateNode,v=r.memoizedState;v!==null&&(l=v.retryLane);break;case 19:f=r.stateNode;break;case 22:f=r.stateNode._retryCache;break;default:throw Error(a(314))}f!==null&&f.delete(i),Pb(r,l)}function dw(r,i){return gt(r,i)}var ou=null,ho=null,Of=!1,lu=!1,Df=!1,Bi=0;function Ra(r){r!==ho&&r.next===null&&(ho===null?ou=ho=r:ho=ho.next=r),lu=!0,Of||(Of=!0,mw())}function kl(r,i){if(!Df&&lu){Df=!0;do for(var l=!1,f=ou;f!==null;){if(r!==0){var v=f.pendingLanes;if(v===0)var b=0;else{var C=f.suspendedLanes,H=f.pingedLanes;b=(1<<31-Oe(42|r)+1)-1,b&=v&~(C&~H),b=b&201326741?b&201326741|1:b?b|2:0}b!==0&&(l=!0,Kb(f,b))}else b=Vt,b=ne(f,f===fn?b:0,f.cancelPendingCommit!==null||f.timeoutHandle!==-1),(b&3)===0||Ee(f,b)||(l=!0,Kb(f,b));f=f.next}while(l);Df=!1}}function fw(){Fb()}function Fb(){lu=Of=!1;var r=0;Bi!==0&&Sw()&&(r=Bi);for(var i=Ke(),l=null,f=ou;f!==null;){var v=f.next,b=Gb(f,i);b===0?(f.next=null,l===null?ou=v:l.next=v,v===null&&(ho=l)):(l=f,(r!==0||(b&3)!==0)&&(lu=!0)),f=v}Yn!==0&&Yn!==5||kl(r),Bi!==0&&(Bi=0)}function Gb(r,i){for(var l=r.suspendedLanes,f=r.pingedLanes,v=r.expirationTimes,b=r.pendingLanes&-62914561;0<b;){var C=31-Oe(b),H=1<<C,se=v[C];se===-1?((H&l)===0||(H&f)!==0)&&(v[C]=je(H,i)):se<=i&&(r.expiredLanes|=H),b&=~H}if(i=fn,l=Vt,l=ne(r,r===i?l:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),f=r.callbackNode,l===0||r===i&&(sn===2||sn===9)||r.cancelPendingCommit!==null)return f!==null&&f!==null&&Dt(f),r.callbackNode=null,r.callbackPriority=0;if((l&3)===0||Ee(r,l)){if(i=l&-l,i===r.callbackPriority)return i;switch(f!==null&&Dt(f),ma(l)){case 2:case 8:l=_e;break;case 32:l=qe;break;case 268435456:l=We;break;default:l=qe}return f=Vb.bind(null,r),l=gt(l,f),r.callbackPriority=i,r.callbackNode=l,i}return f!==null&&f!==null&&Dt(f),r.callbackPriority=2,r.callbackNode=null,2}function Vb(r,i){if(Yn!==0&&Yn!==5)return r.callbackNode=null,r.callbackPriority=0,null;var l=r.callbackNode;if(su()&&r.callbackNode!==l)return null;var f=Vt;return f=ne(r,r===fn?f:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),f===0?null:(Nb(r,f,i),Gb(r,Ke()),r.callbackNode!=null&&r.callbackNode===l?Vb.bind(null,r):null)}function Kb(r,i){if(su())return null;Nb(r,i,!0)}function mw(){Tw(function(){(tn&6)!==0?gt(xe,fw):Fb()})}function jf(){if(Bi===0){var r=Qs;r===0&&(r=ve,ve<<=1,(ve&261888)===0&&(ve=256)),Bi=r}return Bi}function Wb(r){return r==null||typeof r=="symbol"||typeof r=="boolean"?null:typeof r=="function"?r:Dn(""+r)}function Yb(r,i){var l=i.ownerDocument.createElement("input");return l.name=i.name,l.value=i.value,r.id&&l.setAttribute("form",r.id),i.parentNode.insertBefore(l,i),r=new FormData(r),l.parentNode.removeChild(l),r}function hw(r,i,l,f,v){if(i==="submit"&&l&&l.stateNode===v){var b=Wb((v[Qn]||null).action),C=f.submitter;C&&(i=(i=C[Qn]||null)?Wb(i.formAction):C.getAttribute("formAction"),i!==null&&(b=i,C=null));var H=new xc("action","action",null,f,v);r.push({event:H,listeners:[{instance:null,listener:function(){if(f.defaultPrevented){if(Bi!==0){var se=C?Yb(v,C):new FormData(v);ef(l,{pending:!0,data:se,method:v.method,action:b},null,se)}}else typeof b=="function"&&(H.preventDefault(),se=C?Yb(v,C):new FormData(v),ef(l,{pending:!0,data:se,method:v.method,action:b},b,se))},currentTarget:v}]})}}for(var Lf=0;Lf<v0.length;Lf++){var zf=v0[Lf],pw=zf.toLowerCase(),gw=zf[0].toUpperCase()+zf.slice(1);ga(pw,"on"+gw)}ga(Cg,"onAnimationEnd"),ga(Ng,"onAnimationIteration"),ga(Rg,"onAnimationStart"),ga("dblclick","onDoubleClick"),ga("focusin","onFocus"),ga("focusout","onBlur"),ga(M8,"onTransitionRun"),ga(O8,"onTransitionStart"),ga(D8,"onTransitionCancel"),ga(Ig,"onTransitionEnd"),ze("onMouseEnter",["mouseout","mouseover"]),ze("onMouseLeave",["mouseout","mouseover"]),ze("onPointerEnter",["pointerout","pointerover"]),ze("onPointerLeave",["pointerout","pointerover"]),qr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),qr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),qr("onBeforeInput",["compositionend","keypress","textInput","paste"]),qr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),qr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),qr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Sl="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),vw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Sl));function Zb(r,i){i=(i&4)!==0;for(var l=0;l<r.length;l++){var f=r[l],v=f.event;f=f.listeners;e:{var b=void 0;if(i)for(var C=f.length-1;0<=C;C--){var H=f[C],se=H.instance,ye=H.currentTarget;if(H=H.listener,se!==b&&v.isPropagationStopped())break e;b=H,v.currentTarget=ye;try{b(v)}catch(Ne){Sc(Ne)}v.currentTarget=null,b=se}else for(C=0;C<f.length;C++){if(H=f[C],se=H.instance,ye=H.currentTarget,H=H.listener,se!==b&&v.isPropagationStopped())break e;b=H,v.currentTarget=ye;try{b(v)}catch(Ne){Sc(Ne)}v.currentTarget=null,b=se}}}}function Ht(r,i){var l=i[ss];l===void 0&&(l=i[ss]=new Set);var f=r+"__bubble";l.has(f)||(Xb(i,r,2,!1),l.add(f))}function Bf(r,i,l){var f=0;i&&(f|=4),Xb(l,r,f,i)}var cu="_reactListening"+Math.random().toString(36).slice(2);function qf(r){if(!r[cu]){r[cu]=!0,os.forEach(function(l){l!=="selectionchange"&&(vw.has(l)||Bf(l,!1,r),Bf(l,!0,r))});var i=r.nodeType===9?r:r.ownerDocument;i===null||i[cu]||(i[cu]=!0,Bf("selectionchange",!1,i))}}function Xb(r,i,l,f){switch(C2(i)){case 2:var v=Gw;break;case 8:v=Vw;break;default:v=em}l=v.bind(null,i,l,r),v=void 0,!a0||i!=="touchstart"&&i!=="touchmove"&&i!=="wheel"||(v=!0),f?v!==void 0?r.addEventListener(i,l,{capture:!0,passive:v}):r.addEventListener(i,l,!0):v!==void 0?r.addEventListener(i,l,{passive:v}):r.addEventListener(i,l,!1)}function Uf(r,i,l,f,v){var b=f;if((i&1)===0&&(i&2)===0&&f!==null)e:for(;;){if(f===null)return;var C=f.tag;if(C===3||C===4){var H=f.stateNode.containerInfo;if(H===v)break;if(C===4)for(C=f.return;C!==null;){var se=C.tag;if((se===3||se===4)&&C.stateNode.containerInfo===v)return;C=C.return}for(;H!==null;){if(C=qn(H),C===null)return;if(se=C.tag,se===5||se===6||se===26||se===27){f=b=C;continue e}H=H.parentNode}}f=f.return}gc(function(){var ye=b,Ne=It(l),Ae=[];e:{var ke=Ag.get(r);if(ke!==void 0){var Te=xc,at=r;switch(r){case"keypress":if(bc(l)===0)break e;case"keydown":case"keyup":Te=u8;break;case"focusin":at="focus",Te=l0;break;case"focusout":at="blur",Te=l0;break;case"beforeblur":case"afterblur":Te=l0;break;case"click":if(l.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Te=ig;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Te=Q7;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Te=m8;break;case Cg:case Ng:case Rg:Te=t8;break;case Ig:Te=p8;break;case"scroll":case"scrollend":Te=Z7;break;case"wheel":Te=v8;break;case"copy":case"cut":case"paste":Te=r8;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Te=og;break;case"toggle":case"beforetoggle":Te=y8}var kt=(i&4)!==0,un=!kt&&(r==="scroll"||r==="scrollend"),he=kt?ke!==null?ke+"Capture":null:ke;kt=[];for(var de=ye,be;de!==null;){var Ie=de;if(be=Ie.stateNode,Ie=Ie.tag,Ie!==5&&Ie!==26&&Ie!==27||be===null||he===null||(Ie=Go(de,he),Ie!=null&&kt.push(El(de,Ie,be))),un)break;de=de.return}0<kt.length&&(ke=new Te(ke,at,null,l,Ne),Ae.push({event:ke,listeners:kt}))}}if((i&7)===0){e:{if(ke=r==="mouseover"||r==="pointerover",Te=r==="mouseout"||r==="pointerout",ke&&l!==lt&&(at=l.relatedTarget||l.fromElement)&&(qn(at)||at[wa]))break e;if((Te||ke)&&(ke=Ne.window===Ne?Ne:(ke=Ne.ownerDocument)?ke.defaultView||ke.parentWindow:window,Te?(at=l.relatedTarget||l.toElement,Te=ye,at=at?qn(at):null,at!==null&&(un=o(at),kt=at.tag,at!==un||kt!==5&&kt!==27&&kt!==6)&&(at=null)):(Te=null,at=ye),Te!==at)){if(kt=ig,Ie="onMouseLeave",he="onMouseEnter",de="mouse",(r==="pointerout"||r==="pointerover")&&(kt=og,Ie="onPointerLeave",he="onPointerEnter",de="pointer"),un=Te==null?ke:pr(Te),be=at==null?ke:pr(at),ke=new kt(Ie,de+"leave",Te,l,Ne),ke.target=un,ke.relatedTarget=be,Ie=null,qn(Ne)===ye&&(kt=new kt(he,de+"enter",at,l,Ne),kt.target=be,kt.relatedTarget=un,Ie=kt),un=Ie,Te&&at)t:{for(kt=bw,he=Te,de=at,be=0,Ie=he;Ie;Ie=kt(Ie))be++;Ie=0;for(var pt=de;pt;pt=kt(pt))Ie++;for(;0<be-Ie;)he=kt(he),be--;for(;0<Ie-be;)de=kt(de),Ie--;for(;be--;){if(he===de||de!==null&&he===de.alternate){kt=he;break t}he=kt(he),de=kt(de)}kt=null}else kt=null;Te!==null&&Qb(Ae,ke,Te,kt,!1),at!==null&&un!==null&&Qb(Ae,un,at,kt,!0)}}e:{if(ke=ye?pr(ye):window,Te=ke.nodeName&&ke.nodeName.toLowerCase(),Te==="select"||Te==="input"&&ke.type==="file")var Jt=pg;else if(mg(ke))if(gg)Jt=I8;else{Jt=N8;var ut=C8}else Te=ke.nodeName,!Te||Te.toLowerCase()!=="input"||ke.type!=="checkbox"&&ke.type!=="radio"?ye&&yn(ye.elementType)&&(Jt=pg):Jt=R8;if(Jt&&(Jt=Jt(r,ye))){hg(Ae,Jt,l,Ne);break e}ut&&ut(r,ke,ye),r==="focusout"&&ye&&ke.type==="number"&&ye.memoizedProps.value!=null&&Ga(ke,"number",ke.value)}switch(ut=ye?pr(ye):window,r){case"focusin":(mg(ut)||ut.contentEditable==="true")&&(Fs=ut,h0=ye,Jo=null);break;case"focusout":Jo=h0=Fs=null;break;case"mousedown":p0=!0;break;case"contextmenu":case"mouseup":case"dragend":p0=!1,Eg(Ae,l,Ne);break;case"selectionchange":if(_8)break;case"keydown":case"keyup":Eg(Ae,l,Ne)}var Mt;if(u0)e:{switch(r){case"compositionstart":var Kt="onCompositionStart";break e;case"compositionend":Kt="onCompositionEnd";break e;case"compositionupdate":Kt="onCompositionUpdate";break e}Kt=void 0}else Ps?dg(r,l)&&(Kt="onCompositionEnd"):r==="keydown"&&l.keyCode===229&&(Kt="onCompositionStart");Kt&&(lg&&l.locale!=="ko"&&(Ps||Kt!=="onCompositionStart"?Kt==="onCompositionEnd"&&Ps&&(Mt=rg()):(ki=Ne,i0="value"in ki?ki.value:ki.textContent,Ps=!0)),ut=uu(ye,Kt),0<ut.length&&(Kt=new sg(Kt,r,null,l,Ne),Ae.push({event:Kt,listeners:ut}),Mt?Kt.data=Mt:(Mt=fg(l),Mt!==null&&(Kt.data=Mt)))),(Mt=w8?k8(r,l):S8(r,l))&&(Kt=uu(ye,"onBeforeInput"),0<Kt.length&&(ut=new sg("onBeforeInput","beforeinput",null,l,Ne),Ae.push({event:ut,listeners:Kt}),ut.data=Mt)),hw(Ae,r,ye,l,Ne)}Zb(Ae,i)})}function El(r,i,l){return{instance:r,listener:i,currentTarget:l}}function uu(r,i){for(var l=i+"Capture",f=[];r!==null;){var v=r,b=v.stateNode;if(v=v.tag,v!==5&&v!==26&&v!==27||b===null||(v=Go(r,l),v!=null&&f.unshift(El(r,v,b)),v=Go(r,i),v!=null&&f.push(El(r,v,b))),r.tag===3)return f;r=r.return}return[]}function bw(r){if(r===null)return null;do r=r.return;while(r&&r.tag!==5&&r.tag!==27);return r||null}function Qb(r,i,l,f,v){for(var b=i._reactName,C=[];l!==null&&l!==f;){var H=l,se=H.alternate,ye=H.stateNode;if(H=H.tag,se!==null&&se===f)break;H!==5&&H!==26&&H!==27||ye===null||(se=ye,v?(ye=Go(l,b),ye!=null&&C.unshift(El(l,ye,se))):v||(ye=Go(l,b),ye!=null&&C.push(El(l,ye,se)))),l=l.return}C.length!==0&&r.push({event:i,listeners:C})}var yw=/\r\n?/g,xw=/\u0000|\uFFFD/g;function Jb(r){return(typeof r=="string"?r:""+r).replace(yw,`
|
|
9
|
+
`).replace(xw,"")}function e2(r,i){return i=Jb(i),Jb(r)===i}function cn(r,i,l,f,v,b){switch(l){case"children":typeof f=="string"?i==="body"||i==="textarea"&&f===""||Ue(r,f):(typeof f=="number"||typeof f=="bigint")&&i!=="body"&&Ue(r,""+f);break;case"className":gr(r,"class",f);break;case"tabIndex":gr(r,"tabindex",f);break;case"dir":case"role":case"viewBox":case"width":case"height":gr(r,l,f);break;case"style":yt(r,f,b);break;case"data":if(i!=="object"){gr(r,"data",f);break}case"src":case"href":if(f===""&&(i!=="a"||l!=="href")){r.removeAttribute(l);break}if(f==null||typeof f=="function"||typeof f=="symbol"||typeof f=="boolean"){r.removeAttribute(l);break}f=Dn(""+f),r.setAttribute(l,f);break;case"action":case"formAction":if(typeof f=="function"){r.setAttribute(l,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof b=="function"&&(l==="formAction"?(i!=="input"&&cn(r,i,"name",v.name,v,null),cn(r,i,"formEncType",v.formEncType,v,null),cn(r,i,"formMethod",v.formMethod,v,null),cn(r,i,"formTarget",v.formTarget,v,null)):(cn(r,i,"encType",v.encType,v,null),cn(r,i,"method",v.method,v,null),cn(r,i,"target",v.target,v,null)));if(f==null||typeof f=="symbol"||typeof f=="boolean"){r.removeAttribute(l);break}f=Dn(""+f),r.setAttribute(l,f);break;case"onClick":f!=null&&(r.onclick=Ge);break;case"onScroll":f!=null&&Ht("scroll",r);break;case"onScrollEnd":f!=null&&Ht("scrollend",r);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(a(61));if(l=f.__html,l!=null){if(v.children!=null)throw Error(a(60));r.innerHTML=l}}break;case"multiple":r.multiple=f&&typeof f!="function"&&typeof f!="symbol";break;case"muted":r.muted=f&&typeof f!="function"&&typeof f!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(f==null||typeof f=="function"||typeof f=="boolean"||typeof f=="symbol"){r.removeAttribute("xlink:href");break}l=Dn(""+f),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":f!=null&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(l,""+f):r.removeAttribute(l);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":f&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(l,""):r.removeAttribute(l);break;case"capture":case"download":f===!0?r.setAttribute(l,""):f!==!1&&f!=null&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(l,f):r.removeAttribute(l);break;case"cols":case"rows":case"size":case"span":f!=null&&typeof f!="function"&&typeof f!="symbol"&&!isNaN(f)&&1<=f?r.setAttribute(l,f):r.removeAttribute(l);break;case"rowSpan":case"start":f==null||typeof f=="function"||typeof f=="symbol"||isNaN(f)?r.removeAttribute(l):r.setAttribute(l,f);break;case"popover":Ht("beforetoggle",r),Ht("toggle",r),Jn(r,"popover",f);break;case"xlinkActuate":ar(r,"http://www.w3.org/1999/xlink","xlink:actuate",f);break;case"xlinkArcrole":ar(r,"http://www.w3.org/1999/xlink","xlink:arcrole",f);break;case"xlinkRole":ar(r,"http://www.w3.org/1999/xlink","xlink:role",f);break;case"xlinkShow":ar(r,"http://www.w3.org/1999/xlink","xlink:show",f);break;case"xlinkTitle":ar(r,"http://www.w3.org/1999/xlink","xlink:title",f);break;case"xlinkType":ar(r,"http://www.w3.org/1999/xlink","xlink:type",f);break;case"xmlBase":ar(r,"http://www.w3.org/XML/1998/namespace","xml:base",f);break;case"xmlLang":ar(r,"http://www.w3.org/XML/1998/namespace","xml:lang",f);break;case"xmlSpace":ar(r,"http://www.w3.org/XML/1998/namespace","xml:space",f);break;case"is":Jn(r,"is",f);break;case"innerText":case"textContent":break;default:(!(2<l.length)||l[0]!=="o"&&l[0]!=="O"||l[1]!=="n"&&l[1]!=="N")&&(l=An.get(l)||l,Jn(r,l,f))}}function Hf(r,i,l,f,v,b){switch(l){case"style":yt(r,f,b);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(a(61));if(l=f.__html,l!=null){if(v.children!=null)throw Error(a(60));r.innerHTML=l}}break;case"children":typeof f=="string"?Ue(r,f):(typeof f=="number"||typeof f=="bigint")&&Ue(r,""+f);break;case"onScroll":f!=null&&Ht("scroll",r);break;case"onScrollEnd":f!=null&&Ht("scrollend",r);break;case"onClick":f!=null&&(r.onclick=Ge);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!pa.hasOwnProperty(l))e:{if(l[0]==="o"&&l[1]==="n"&&(v=l.endsWith("Capture"),i=l.slice(2,v?l.length-7:void 0),b=r[Qn]||null,b=b!=null?b[l]:null,typeof b=="function"&&r.removeEventListener(i,b,v),typeof f=="function")){typeof b!="function"&&b!==null&&(l in r?r[l]=null:r.hasAttribute(l)&&r.removeAttribute(l)),r.addEventListener(i,f,v);break e}l in r?r[l]=f:f===!0?r.setAttribute(l,""):Jn(r,l,f)}}}function cr(r,i,l){switch(i){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ht("error",r),Ht("load",r);var f=!1,v=!1,b;for(b in l)if(l.hasOwnProperty(b)){var C=l[b];if(C!=null)switch(b){case"src":f=!0;break;case"srcSet":v=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(a(137,i));default:cn(r,i,b,C,l,null)}}v&&cn(r,i,"srcSet",l.srcSet,l,null),f&&cn(r,i,"src",l.src,l,null);return;case"input":Ht("invalid",r);var H=b=C=v=null,se=null,ye=null;for(f in l)if(l.hasOwnProperty(f)){var Ne=l[f];if(Ne!=null)switch(f){case"name":v=Ne;break;case"type":C=Ne;break;case"checked":se=Ne;break;case"defaultChecked":ye=Ne;break;case"value":b=Ne;break;case"defaultValue":H=Ne;break;case"children":case"dangerouslySetInnerHTML":if(Ne!=null)throw Error(a(137,i));break;default:cn(r,i,f,Ne,l,null)}}Ea(r,b,H,se,ye,C,v,!1);return;case"select":Ht("invalid",r),f=C=b=null;for(v in l)if(l.hasOwnProperty(v)&&(H=l[v],H!=null))switch(v){case"value":b=H;break;case"defaultValue":C=H;break;case"multiple":f=H;default:cn(r,i,v,H,l,null)}i=b,l=C,r.multiple=!!f,i!=null?Un(r,!!f,i,!1):l!=null&&Un(r,!!f,l,!0);return;case"textarea":Ht("invalid",r),b=v=f=null;for(C in l)if(l.hasOwnProperty(C)&&(H=l[C],H!=null))switch(C){case"value":f=H;break;case"defaultValue":v=H;break;case"children":b=H;break;case"dangerouslySetInnerHTML":if(H!=null)throw Error(a(91));break;default:cn(r,i,C,H,l,null)}Ce(r,f,v,b);return;case"option":for(se in l)l.hasOwnProperty(se)&&(f=l[se],f!=null)&&(se==="selected"?r.selected=f&&typeof f!="function"&&typeof f!="symbol":cn(r,i,se,f,l,null));return;case"dialog":Ht("beforetoggle",r),Ht("toggle",r),Ht("cancel",r),Ht("close",r);break;case"iframe":case"object":Ht("load",r);break;case"video":case"audio":for(f=0;f<Sl.length;f++)Ht(Sl[f],r);break;case"image":Ht("error",r),Ht("load",r);break;case"details":Ht("toggle",r);break;case"embed":case"source":case"link":Ht("error",r),Ht("load",r);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(ye in l)if(l.hasOwnProperty(ye)&&(f=l[ye],f!=null))switch(ye){case"children":case"dangerouslySetInnerHTML":throw Error(a(137,i));default:cn(r,i,ye,f,l,null)}return;default:if(yn(i)){for(Ne in l)l.hasOwnProperty(Ne)&&(f=l[Ne],f!==void 0&&Hf(r,i,Ne,f,l,void 0));return}}for(H in l)l.hasOwnProperty(H)&&(f=l[H],f!=null&&cn(r,i,H,f,l,null))}function ww(r,i,l,f){switch(i){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var v=null,b=null,C=null,H=null,se=null,ye=null,Ne=null;for(Te in l){var Ae=l[Te];if(l.hasOwnProperty(Te)&&Ae!=null)switch(Te){case"checked":break;case"value":break;case"defaultValue":se=Ae;default:f.hasOwnProperty(Te)||cn(r,i,Te,null,f,Ae)}}for(var ke in f){var Te=f[ke];if(Ae=l[ke],f.hasOwnProperty(ke)&&(Te!=null||Ae!=null))switch(ke){case"type":b=Te;break;case"name":v=Te;break;case"checked":ye=Te;break;case"defaultChecked":Ne=Te;break;case"value":C=Te;break;case"defaultValue":H=Te;break;case"children":case"dangerouslySetInnerHTML":if(Te!=null)throw Error(a(137,i));break;default:Te!==Ae&&cn(r,i,ke,Te,f,Ae)}}Fa(r,C,H,se,ye,Ne,b,v);return;case"select":Te=C=H=ke=null;for(b in l)if(se=l[b],l.hasOwnProperty(b)&&se!=null)switch(b){case"value":break;case"multiple":Te=se;default:f.hasOwnProperty(b)||cn(r,i,b,null,f,se)}for(v in f)if(b=f[v],se=l[v],f.hasOwnProperty(v)&&(b!=null||se!=null))switch(v){case"value":ke=b;break;case"defaultValue":H=b;break;case"multiple":C=b;default:b!==se&&cn(r,i,v,b,f,se)}i=H,l=C,f=Te,ke!=null?Un(r,!!l,ke,!1):!!f!=!!l&&(i!=null?Un(r,!!l,i,!0):Un(r,!!l,l?[]:"",!1));return;case"textarea":Te=ke=null;for(H in l)if(v=l[H],l.hasOwnProperty(H)&&v!=null&&!f.hasOwnProperty(H))switch(H){case"value":break;case"children":break;default:cn(r,i,H,null,f,v)}for(C in f)if(v=f[C],b=l[C],f.hasOwnProperty(C)&&(v!=null||b!=null))switch(C){case"value":ke=v;break;case"defaultValue":Te=v;break;case"children":break;case"dangerouslySetInnerHTML":if(v!=null)throw Error(a(91));break;default:v!==b&&cn(r,i,C,v,f,b)}te(r,ke,Te);return;case"option":for(var at in l)ke=l[at],l.hasOwnProperty(at)&&ke!=null&&!f.hasOwnProperty(at)&&(at==="selected"?r.selected=!1:cn(r,i,at,null,f,ke));for(se in f)ke=f[se],Te=l[se],f.hasOwnProperty(se)&&ke!==Te&&(ke!=null||Te!=null)&&(se==="selected"?r.selected=ke&&typeof ke!="function"&&typeof ke!="symbol":cn(r,i,se,ke,f,Te));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var kt in l)ke=l[kt],l.hasOwnProperty(kt)&&ke!=null&&!f.hasOwnProperty(kt)&&cn(r,i,kt,null,f,ke);for(ye in f)if(ke=f[ye],Te=l[ye],f.hasOwnProperty(ye)&&ke!==Te&&(ke!=null||Te!=null))switch(ye){case"children":case"dangerouslySetInnerHTML":if(ke!=null)throw Error(a(137,i));break;default:cn(r,i,ye,ke,f,Te)}return;default:if(yn(i)){for(var un in l)ke=l[un],l.hasOwnProperty(un)&&ke!==void 0&&!f.hasOwnProperty(un)&&Hf(r,i,un,void 0,f,ke);for(Ne in f)ke=f[Ne],Te=l[Ne],!f.hasOwnProperty(Ne)||ke===Te||ke===void 0&&Te===void 0||Hf(r,i,Ne,ke,f,Te);return}}for(var he in l)ke=l[he],l.hasOwnProperty(he)&&ke!=null&&!f.hasOwnProperty(he)&&cn(r,i,he,null,f,ke);for(Ae in f)ke=f[Ae],Te=l[Ae],!f.hasOwnProperty(Ae)||ke===Te||ke==null&&Te==null||cn(r,i,Ae,ke,f,Te)}function t2(r){switch(r){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function kw(){if(typeof performance.getEntriesByType=="function"){for(var r=0,i=0,l=performance.getEntriesByType("resource"),f=0;f<l.length;f++){var v=l[f],b=v.transferSize,C=v.initiatorType,H=v.duration;if(b&&H&&t2(C)){for(C=0,H=v.responseEnd,f+=1;f<l.length;f++){var se=l[f],ye=se.startTime;if(ye>H)break;var Ne=se.transferSize,Ae=se.initiatorType;Ne&&t2(Ae)&&(se=se.responseEnd,C+=Ne*(se<H?1:(H-ye)/(se-ye)))}if(--f,i+=8*(b+C)/(v.duration/1e3),r++,10<r)break}}if(0<r)return i/r/1e6}return navigator.connection&&(r=navigator.connection.downlink,typeof r=="number")?r:5}var $f=null,Pf=null;function du(r){return r.nodeType===9?r:r.ownerDocument}function n2(r){switch(r){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function r2(r,i){if(r===0)switch(i){case"svg":return 1;case"math":return 2;default:return 0}return r===1&&i==="foreignObject"?0:r}function Ff(r,i){return r==="textarea"||r==="noscript"||typeof i.children=="string"||typeof i.children=="number"||typeof i.children=="bigint"||typeof i.dangerouslySetInnerHTML=="object"&&i.dangerouslySetInnerHTML!==null&&i.dangerouslySetInnerHTML.__html!=null}var Gf=null;function Sw(){var r=window.event;return r&&r.type==="popstate"?r===Gf?!1:(Gf=r,!0):(Gf=null,!1)}var a2=typeof setTimeout=="function"?setTimeout:void 0,Ew=typeof clearTimeout=="function"?clearTimeout:void 0,i2=typeof Promise=="function"?Promise:void 0,Tw=typeof queueMicrotask=="function"?queueMicrotask:typeof i2<"u"?function(r){return i2.resolve(null).then(r).catch(Cw)}:a2;function Cw(r){setTimeout(function(){throw r})}function qi(r){return r==="head"}function s2(r,i){var l=i,f=0;do{var v=l.nextSibling;if(r.removeChild(l),v&&v.nodeType===8)if(l=v.data,l==="/$"||l==="/&"){if(f===0){r.removeChild(v),bo(i);return}f--}else if(l==="$"||l==="$?"||l==="$~"||l==="$!"||l==="&")f++;else if(l==="html")Tl(r.ownerDocument.documentElement);else if(l==="head"){l=r.ownerDocument.head,Tl(l);for(var b=l.firstChild;b;){var C=b.nextSibling,H=b.nodeName;b[nr]||H==="SCRIPT"||H==="STYLE"||H==="LINK"&&b.rel.toLowerCase()==="stylesheet"||l.removeChild(b),b=C}}else l==="body"&&Tl(r.ownerDocument.body);l=v}while(l);bo(i)}function o2(r,i){var l=r;r=0;do{var f=l.nextSibling;if(l.nodeType===1?i?(l._stashedDisplay=l.style.display,l.style.display="none"):(l.style.display=l._stashedDisplay||"",l.getAttribute("style")===""&&l.removeAttribute("style")):l.nodeType===3&&(i?(l._stashedText=l.nodeValue,l.nodeValue=""):l.nodeValue=l._stashedText||""),f&&f.nodeType===8)if(l=f.data,l==="/$"){if(r===0)break;r--}else l!=="$"&&l!=="$?"&&l!=="$~"&&l!=="$!"||r++;l=f}while(l)}function Vf(r){var i=r.firstChild;for(i&&i.nodeType===10&&(i=i.nextSibling);i;){var l=i;switch(i=i.nextSibling,l.nodeName){case"HTML":case"HEAD":case"BODY":Vf(l),rr(l);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(l.rel.toLowerCase()==="stylesheet")continue}r.removeChild(l)}}function Nw(r,i,l,f){for(;r.nodeType===1;){var v=l;if(r.nodeName.toLowerCase()!==i.toLowerCase()){if(!f&&(r.nodeName!=="INPUT"||r.type!=="hidden"))break}else if(f){if(!r[nr])switch(i){case"meta":if(!r.hasAttribute("itemprop"))break;return r;case"link":if(b=r.getAttribute("rel"),b==="stylesheet"&&r.hasAttribute("data-precedence"))break;if(b!==v.rel||r.getAttribute("href")!==(v.href==null||v.href===""?null:v.href)||r.getAttribute("crossorigin")!==(v.crossOrigin==null?null:v.crossOrigin)||r.getAttribute("title")!==(v.title==null?null:v.title))break;return r;case"style":if(r.hasAttribute("data-precedence"))break;return r;case"script":if(b=r.getAttribute("src"),(b!==(v.src==null?null:v.src)||r.getAttribute("type")!==(v.type==null?null:v.type)||r.getAttribute("crossorigin")!==(v.crossOrigin==null?null:v.crossOrigin))&&b&&r.hasAttribute("async")&&!r.hasAttribute("itemprop"))break;return r;default:return r}}else if(i==="input"&&r.type==="hidden"){var b=v.name==null?null:""+v.name;if(v.type==="hidden"&&r.getAttribute("name")===b)return r}else return r;if(r=sa(r.nextSibling),r===null)break}return null}function Rw(r,i,l){if(i==="")return null;for(;r.nodeType!==3;)if((r.nodeType!==1||r.nodeName!=="INPUT"||r.type!=="hidden")&&!l||(r=sa(r.nextSibling),r===null))return null;return r}function l2(r,i){for(;r.nodeType!==8;)if((r.nodeType!==1||r.nodeName!=="INPUT"||r.type!=="hidden")&&!i||(r=sa(r.nextSibling),r===null))return null;return r}function Kf(r){return r.data==="$?"||r.data==="$~"}function Wf(r){return r.data==="$!"||r.data==="$?"&&r.ownerDocument.readyState!=="loading"}function Iw(r,i){var l=r.ownerDocument;if(r.data==="$~")r._reactRetry=i;else if(r.data!=="$?"||l.readyState!=="loading")i();else{var f=function(){i(),l.removeEventListener("DOMContentLoaded",f)};l.addEventListener("DOMContentLoaded",f),r._reactRetry=f}}function sa(r){for(;r!=null;r=r.nextSibling){var i=r.nodeType;if(i===1||i===3)break;if(i===8){if(i=r.data,i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"||i==="F!"||i==="F")break;if(i==="/$"||i==="/&")return null}}return r}var Yf=null;function c2(r){r=r.nextSibling;for(var i=0;r;){if(r.nodeType===8){var l=r.data;if(l==="/$"||l==="/&"){if(i===0)return sa(r.nextSibling);i--}else l!=="$"&&l!=="$!"&&l!=="$?"&&l!=="$~"&&l!=="&"||i++}r=r.nextSibling}return null}function u2(r){r=r.previousSibling;for(var i=0;r;){if(r.nodeType===8){var l=r.data;if(l==="$"||l==="$!"||l==="$?"||l==="$~"||l==="&"){if(i===0)return r;i--}else l!=="/$"&&l!=="/&"||i++}r=r.previousSibling}return null}function d2(r,i,l){switch(i=du(l),r){case"html":if(r=i.documentElement,!r)throw Error(a(452));return r;case"head":if(r=i.head,!r)throw Error(a(453));return r;case"body":if(r=i.body,!r)throw Error(a(454));return r;default:throw Error(a(451))}}function Tl(r){for(var i=r.attributes;i.length;)r.removeAttributeNode(i[0]);rr(r)}var oa=new Map,f2=new Set;function fu(r){return typeof r.getRootNode=="function"?r.getRootNode():r.nodeType===9?r:r.ownerDocument}var oi=B.d;B.d={f:Aw,r:_w,D:Mw,C:Ow,L:Dw,m:jw,X:zw,S:Lw,M:Bw};function Aw(){var r=oi.f(),i=ru();return r||i}function _w(r){var i=ha(r);i!==null&&i.tag===5&&i.type==="form"?Iv(i):oi.r(r)}var po=typeof document>"u"?null:document;function m2(r,i,l){var f=po;if(f&&typeof i=="string"&&i){var v=ir(i);v='link[rel="'+r+'"][href="'+v+'"]',typeof l=="string"&&(v+='[crossorigin="'+l+'"]'),f2.has(v)||(f2.add(v),r={rel:r,crossOrigin:l,href:i},f.querySelector(v)===null&&(i=f.createElement("link"),cr(i,"link",r),gn(i),f.head.appendChild(i)))}}function Mw(r){oi.D(r),m2("dns-prefetch",r,null)}function Ow(r,i){oi.C(r,i),m2("preconnect",r,i)}function Dw(r,i,l){oi.L(r,i,l);var f=po;if(f&&r&&i){var v='link[rel="preload"][as="'+ir(i)+'"]';i==="image"&&l&&l.imageSrcSet?(v+='[imagesrcset="'+ir(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(v+='[imagesizes="'+ir(l.imageSizes)+'"]')):v+='[href="'+ir(r)+'"]';var b=v;switch(i){case"style":b=go(r);break;case"script":b=vo(r)}oa.has(b)||(r=g({rel:"preload",href:i==="image"&&l&&l.imageSrcSet?void 0:r,as:i},l),oa.set(b,r),f.querySelector(v)!==null||i==="style"&&f.querySelector(Cl(b))||i==="script"&&f.querySelector(Nl(b))||(i=f.createElement("link"),cr(i,"link",r),gn(i),f.head.appendChild(i)))}}function jw(r,i){oi.m(r,i);var l=po;if(l&&r){var f=i&&typeof i.as=="string"?i.as:"script",v='link[rel="modulepreload"][as="'+ir(f)+'"][href="'+ir(r)+'"]',b=v;switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":b=vo(r)}if(!oa.has(b)&&(r=g({rel:"modulepreload",href:r},i),oa.set(b,r),l.querySelector(v)===null)){switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Nl(b)))return}f=l.createElement("link"),cr(f,"link",r),gn(f),l.head.appendChild(f)}}}function Lw(r,i,l){oi.S(r,i,l);var f=po;if(f&&r){var v=ka(f).hoistableStyles,b=go(r);i=i||"default";var C=v.get(b);if(!C){var H={loading:0,preload:null};if(C=f.querySelector(Cl(b)))H.loading=5;else{r=g({rel:"stylesheet",href:r,"data-precedence":i},l),(l=oa.get(b))&&Zf(r,l);var se=C=f.createElement("link");gn(se),cr(se,"link",r),se._p=new Promise(function(ye,Ne){se.onload=ye,se.onerror=Ne}),se.addEventListener("load",function(){H.loading|=1}),se.addEventListener("error",function(){H.loading|=2}),H.loading|=4,mu(C,i,f)}C={type:"stylesheet",instance:C,count:1,state:H},v.set(b,C)}}}function zw(r,i){oi.X(r,i);var l=po;if(l&&r){var f=ka(l).hoistableScripts,v=vo(r),b=f.get(v);b||(b=l.querySelector(Nl(v)),b||(r=g({src:r,async:!0},i),(i=oa.get(v))&&Xf(r,i),b=l.createElement("script"),gn(b),cr(b,"link",r),l.head.appendChild(b)),b={type:"script",instance:b,count:1,state:null},f.set(v,b))}}function Bw(r,i){oi.M(r,i);var l=po;if(l&&r){var f=ka(l).hoistableScripts,v=vo(r),b=f.get(v);b||(b=l.querySelector(Nl(v)),b||(r=g({src:r,async:!0,type:"module"},i),(i=oa.get(v))&&Xf(r,i),b=l.createElement("script"),gn(b),cr(b,"link",r),l.head.appendChild(b)),b={type:"script",instance:b,count:1,state:null},f.set(v,b))}}function h2(r,i,l,f){var v=(v=le.current)?fu(v):null;if(!v)throw Error(a(446));switch(r){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(i=go(l.href),l=ka(v).hoistableStyles,f=l.get(i),f||(f={type:"style",instance:null,count:0,state:null},l.set(i,f)),f):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){r=go(l.href);var b=ka(v).hoistableStyles,C=b.get(r);if(C||(v=v.ownerDocument||v,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},b.set(r,C),(b=v.querySelector(Cl(r)))&&!b._p&&(C.instance=b,C.state.loading=5),oa.has(r)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},oa.set(r,l),b||qw(v,r,l,C.state))),i&&f===null)throw Error(a(528,""));return C}if(i&&f!==null)throw Error(a(529,""));return null;case"script":return i=l.async,l=l.src,typeof l=="string"&&i&&typeof i!="function"&&typeof i!="symbol"?(i=vo(l),l=ka(v).hoistableScripts,f=l.get(i),f||(f={type:"script",instance:null,count:0,state:null},l.set(i,f)),f):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,r))}}function go(r){return'href="'+ir(r)+'"'}function Cl(r){return'link[rel="stylesheet"]['+r+"]"}function p2(r){return g({},r,{"data-precedence":r.precedence,precedence:null})}function qw(r,i,l,f){r.querySelector('link[rel="preload"][as="style"]['+i+"]")?f.loading=1:(i=r.createElement("link"),f.preload=i,i.addEventListener("load",function(){return f.loading|=1}),i.addEventListener("error",function(){return f.loading|=2}),cr(i,"link",l),gn(i),r.head.appendChild(i))}function vo(r){return'[src="'+ir(r)+'"]'}function Nl(r){return"script[async]"+r}function g2(r,i,l){if(i.count++,i.instance===null)switch(i.type){case"style":var f=r.querySelector('style[data-href~="'+ir(l.href)+'"]');if(f)return i.instance=f,gn(f),f;var v=g({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return f=(r.ownerDocument||r).createElement("style"),gn(f),cr(f,"style",v),mu(f,l.precedence,r),i.instance=f;case"stylesheet":v=go(l.href);var b=r.querySelector(Cl(v));if(b)return i.state.loading|=4,i.instance=b,gn(b),b;f=p2(l),(v=oa.get(v))&&Zf(f,v),b=(r.ownerDocument||r).createElement("link"),gn(b);var C=b;return C._p=new Promise(function(H,se){C.onload=H,C.onerror=se}),cr(b,"link",f),i.state.loading|=4,mu(b,l.precedence,r),i.instance=b;case"script":return b=vo(l.src),(v=r.querySelector(Nl(b)))?(i.instance=v,gn(v),v):(f=l,(v=oa.get(b))&&(f=g({},l),Xf(f,v)),r=r.ownerDocument||r,v=r.createElement("script"),gn(v),cr(v,"link",f),r.head.appendChild(v),i.instance=v);case"void":return null;default:throw Error(a(443,i.type))}else i.type==="stylesheet"&&(i.state.loading&4)===0&&(f=i.instance,i.state.loading|=4,mu(f,l.precedence,r));return i.instance}function mu(r,i,l){for(var f=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),v=f.length?f[f.length-1]:null,b=v,C=0;C<f.length;C++){var H=f[C];if(H.dataset.precedence===i)b=H;else if(b!==v)break}b?b.parentNode.insertBefore(r,b.nextSibling):(i=l.nodeType===9?l.head:l,i.insertBefore(r,i.firstChild))}function Zf(r,i){r.crossOrigin==null&&(r.crossOrigin=i.crossOrigin),r.referrerPolicy==null&&(r.referrerPolicy=i.referrerPolicy),r.title==null&&(r.title=i.title)}function Xf(r,i){r.crossOrigin==null&&(r.crossOrigin=i.crossOrigin),r.referrerPolicy==null&&(r.referrerPolicy=i.referrerPolicy),r.integrity==null&&(r.integrity=i.integrity)}var hu=null;function v2(r,i,l){if(hu===null){var f=new Map,v=hu=new Map;v.set(l,f)}else v=hu,f=v.get(l),f||(f=new Map,v.set(l,f));if(f.has(r))return f;for(f.set(r,null),l=l.getElementsByTagName(r),v=0;v<l.length;v++){var b=l[v];if(!(b[nr]||b[Sn]||r==="link"&&b.getAttribute("rel")==="stylesheet")&&b.namespaceURI!=="http://www.w3.org/2000/svg"){var C=b.getAttribute(i)||"";C=r+C;var H=f.get(C);H?H.push(b):f.set(C,[b])}}return f}function b2(r,i,l){r=r.ownerDocument||r,r.head.insertBefore(l,i==="title"?r.querySelector("head > title"):null)}function Uw(r,i,l){if(l===1||i.itemProp!=null)return!1;switch(r){case"meta":case"title":return!0;case"style":if(typeof i.precedence!="string"||typeof i.href!="string"||i.href==="")break;return!0;case"link":if(typeof i.rel!="string"||typeof i.href!="string"||i.href===""||i.onLoad||i.onError)break;return i.rel==="stylesheet"?(r=i.disabled,typeof i.precedence=="string"&&r==null):!0;case"script":if(i.async&&typeof i.async!="function"&&typeof i.async!="symbol"&&!i.onLoad&&!i.onError&&i.src&&typeof i.src=="string")return!0}return!1}function y2(r){return!(r.type==="stylesheet"&&(r.state.loading&3)===0)}function Hw(r,i,l,f){if(l.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var v=go(f.href),b=i.querySelector(Cl(v));if(b){i=b._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(r.count++,r=pu.bind(r),i.then(r,r)),l.state.loading|=4,l.instance=b,gn(b);return}b=i.ownerDocument||i,f=p2(f),(v=oa.get(v))&&Zf(f,v),b=b.createElement("link"),gn(b);var C=b;C._p=new Promise(function(H,se){C.onload=H,C.onerror=se}),cr(b,"link",f),l.instance=b}r.stylesheets===null&&(r.stylesheets=new Map),r.stylesheets.set(l,i),(i=l.state.preload)&&(l.state.loading&3)===0&&(r.count++,l=pu.bind(r),i.addEventListener("load",l),i.addEventListener("error",l))}}var Qf=0;function $w(r,i){return r.stylesheets&&r.count===0&&vu(r,r.stylesheets),0<r.count||0<r.imgCount?function(l){var f=setTimeout(function(){if(r.stylesheets&&vu(r,r.stylesheets),r.unsuspend){var b=r.unsuspend;r.unsuspend=null,b()}},6e4+i);0<r.imgBytes&&Qf===0&&(Qf=62500*kw());var v=setTimeout(function(){if(r.waitingForImages=!1,r.count===0&&(r.stylesheets&&vu(r,r.stylesheets),r.unsuspend)){var b=r.unsuspend;r.unsuspend=null,b()}},(r.imgBytes>Qf?50:800)+i);return r.unsuspend=l,function(){r.unsuspend=null,clearTimeout(f),clearTimeout(v)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)vu(this,this.stylesheets);else if(this.unsuspend){var r=this.unsuspend;this.unsuspend=null,r()}}}var gu=null;function vu(r,i){r.stylesheets=null,r.unsuspend!==null&&(r.count++,gu=new Map,i.forEach(Pw,r),gu=null,pu.call(r))}function Pw(r,i){if(!(i.state.loading&4)){var l=gu.get(r);if(l)var f=l.get(null);else{l=new Map,gu.set(r,l);for(var v=r.querySelectorAll("link[data-precedence],style[data-precedence]"),b=0;b<v.length;b++){var C=v[b];(C.nodeName==="LINK"||C.getAttribute("media")!=="not all")&&(l.set(C.dataset.precedence,C),f=C)}f&&l.set(null,f)}v=i.instance,C=v.getAttribute("data-precedence"),b=l.get(C)||f,b===f&&l.set(null,v),l.set(C,v),this.count++,f=pu.bind(this),v.addEventListener("load",f),v.addEventListener("error",f),b?b.parentNode.insertBefore(v,b.nextSibling):(r=r.nodeType===9?r.head:r,r.insertBefore(v,r.firstChild)),i.state.loading|=4}}var Rl={$$typeof:I,Provider:null,Consumer:null,_currentValue:Y,_currentValue2:Y,_threadCount:0};function Fw(r,i,l,f,v,b,C,H,se){this.tag=1,this.containerInfo=r,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=ht(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.hiddenUpdates=ht(null),this.identifierPrefix=f,this.onUncaughtError=v,this.onCaughtError=b,this.onRecoverableError=C,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=se,this.incompleteTransitions=new Map}function x2(r,i,l,f,v,b,C,H,se,ye,Ne,Ae){return r=new Fw(r,i,l,C,se,ye,Ne,Ae,H),i=1,b===!0&&(i|=24),b=Hr(3,null,null,i),r.current=b,b.stateNode=r,i=A0(),i.refCount++,r.pooledCache=i,i.refCount++,b.memoizedState={element:f,isDehydrated:l,cache:i},D0(b),r}function w2(r){return r?(r=Ks,r):Ks}function k2(r,i,l,f,v,b){v=w2(v),f.context===null?f.context=v:f.pendingContext=v,f=Ri(i),f.payload={element:l},b=b===void 0?null:b,b!==null&&(f.callback=b),l=Ii(r,f,i),l!==null&&(_r(l,r,i),sl(l,r,i))}function S2(r,i){if(r=r.memoizedState,r!==null&&r.dehydrated!==null){var l=r.retryLane;r.retryLane=l!==0&&l<i?l:i}}function Jf(r,i){S2(r,i),(r=r.alternate)&&S2(r,i)}function E2(r){if(r.tag===13||r.tag===31){var i=ds(r,67108864);i!==null&&_r(i,r,67108864),Jf(r,67108864)}}function T2(r){if(r.tag===13||r.tag===31){var i=Vr();i=dn(i);var l=ds(r,i);l!==null&&_r(l,r,i),Jf(r,i)}}var bu=!0;function Gw(r,i,l,f){var v=W.T;W.T=null;var b=B.p;try{B.p=2,em(r,i,l,f)}finally{B.p=b,W.T=v}}function Vw(r,i,l,f){var v=W.T;W.T=null;var b=B.p;try{B.p=8,em(r,i,l,f)}finally{B.p=b,W.T=v}}function em(r,i,l,f){if(bu){var v=tm(f);if(v===null)Uf(r,i,f,yu,l),N2(r,f);else if(Ww(v,r,i,l,f))f.stopPropagation();else if(N2(r,f),i&4&&-1<Kw.indexOf(r)){for(;v!==null;){var b=ha(v);if(b!==null)switch(b.tag){case 3:if(b=b.stateNode,b.current.memoizedState.isDehydrated){var C=mt(b.pendingLanes);if(C!==0){var H=b;for(H.pendingLanes|=2,H.entangledLanes|=2;C;){var se=1<<31-Oe(C);H.entanglements[1]|=se,C&=~se}Ra(b),(tn&6)===0&&(tu=Ke()+500,kl(0))}}break;case 31:case 13:H=ds(b,2),H!==null&&_r(H,b,2),ru(),Jf(b,2)}if(b=tm(f),b===null&&Uf(r,i,f,yu,l),b===v)break;v=b}v!==null&&f.stopPropagation()}else Uf(r,i,f,null,l)}}function tm(r){return r=It(r),nm(r)}var yu=null;function nm(r){if(yu=null,r=qn(r),r!==null){var i=o(r);if(i===null)r=null;else{var l=i.tag;if(l===13){if(r=c(i),r!==null)return r;r=null}else if(l===31){if(r=d(i),r!==null)return r;r=null}else if(l===3){if(i.stateNode.current.memoizedState.isDehydrated)return i.tag===3?i.stateNode.containerInfo:null;r=null}else i!==r&&(r=null)}}return yu=r,null}function C2(r){switch(r){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(bt()){case xe:return 2;case _e:return 8;case qe:case De:return 32;case We:return 268435456;default:return 32}default:return 32}}var rm=!1,Ui=null,Hi=null,$i=null,Il=new Map,Al=new Map,Pi=[],Kw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function N2(r,i){switch(r){case"focusin":case"focusout":Ui=null;break;case"dragenter":case"dragleave":Hi=null;break;case"mouseover":case"mouseout":$i=null;break;case"pointerover":case"pointerout":Il.delete(i.pointerId);break;case"gotpointercapture":case"lostpointercapture":Al.delete(i.pointerId)}}function _l(r,i,l,f,v,b){return r===null||r.nativeEvent!==b?(r={blockedOn:i,domEventName:l,eventSystemFlags:f,nativeEvent:b,targetContainers:[v]},i!==null&&(i=ha(i),i!==null&&E2(i)),r):(r.eventSystemFlags|=f,i=r.targetContainers,v!==null&&i.indexOf(v)===-1&&i.push(v),r)}function Ww(r,i,l,f,v){switch(i){case"focusin":return Ui=_l(Ui,r,i,l,f,v),!0;case"dragenter":return Hi=_l(Hi,r,i,l,f,v),!0;case"mouseover":return $i=_l($i,r,i,l,f,v),!0;case"pointerover":var b=v.pointerId;return Il.set(b,_l(Il.get(b)||null,r,i,l,f,v)),!0;case"gotpointercapture":return b=v.pointerId,Al.set(b,_l(Al.get(b)||null,r,i,l,f,v)),!0}return!1}function R2(r){var i=qn(r.target);if(i!==null){var l=o(i);if(l!==null){if(i=l.tag,i===13){if(i=c(l),i!==null){r.blockedOn=i,qt(r.priority,function(){T2(l)});return}}else if(i===31){if(i=d(l),i!==null){r.blockedOn=i,qt(r.priority,function(){T2(l)});return}}else if(i===3&&l.stateNode.current.memoizedState.isDehydrated){r.blockedOn=l.tag===3?l.stateNode.containerInfo:null;return}}}r.blockedOn=null}function xu(r){if(r.blockedOn!==null)return!1;for(var i=r.targetContainers;0<i.length;){var l=tm(r.nativeEvent);if(l===null){l=r.nativeEvent;var f=new l.constructor(l.type,l);lt=f,l.target.dispatchEvent(f),lt=null}else return i=ha(l),i!==null&&E2(i),r.blockedOn=l,!1;i.shift()}return!0}function I2(r,i,l){xu(r)&&l.delete(i)}function Yw(){rm=!1,Ui!==null&&xu(Ui)&&(Ui=null),Hi!==null&&xu(Hi)&&(Hi=null),$i!==null&&xu($i)&&($i=null),Il.forEach(I2),Al.forEach(I2)}function wu(r,i){r.blockedOn===i&&(r.blockedOn=null,rm||(rm=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,Yw)))}var ku=null;function A2(r){ku!==r&&(ku=r,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){ku===r&&(ku=null);for(var i=0;i<r.length;i+=3){var l=r[i],f=r[i+1],v=r[i+2];if(typeof f!="function"){if(nm(f||l)===null)continue;break}var b=ha(l);b!==null&&(r.splice(i,3),i-=3,ef(b,{pending:!0,data:v,method:l.method,action:f},f,v))}}))}function bo(r){function i(se){return wu(se,r)}Ui!==null&&wu(Ui,r),Hi!==null&&wu(Hi,r),$i!==null&&wu($i,r),Il.forEach(i),Al.forEach(i);for(var l=0;l<Pi.length;l++){var f=Pi[l];f.blockedOn===r&&(f.blockedOn=null)}for(;0<Pi.length&&(l=Pi[0],l.blockedOn===null);)R2(l),l.blockedOn===null&&Pi.shift();if(l=(r.ownerDocument||r).$$reactFormReplay,l!=null)for(f=0;f<l.length;f+=3){var v=l[f],b=l[f+1],C=v[Qn]||null;if(typeof b=="function")C||A2(l);else if(C){var H=null;if(b&&b.hasAttribute("formAction")){if(v=b,C=b[Qn]||null)H=C.formAction;else if(nm(v)!==null)continue}else H=C.action;typeof H=="function"?l[f+1]=H:(l.splice(f,3),f-=3),A2(l)}}}function _2(){function r(b){b.canIntercept&&b.info==="react-transition"&&b.intercept({handler:function(){return new Promise(function(C){return v=C})},focusReset:"manual",scroll:"manual"})}function i(){v!==null&&(v(),v=null),f||setTimeout(l,20)}function l(){if(!f&&!navigation.transition){var b=navigation.currentEntry;b&&b.url!=null&&navigation.navigate(b.url,{state:b.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var f=!1,v=null;return navigation.addEventListener("navigate",r),navigation.addEventListener("navigatesuccess",i),navigation.addEventListener("navigateerror",i),setTimeout(l,100),function(){f=!0,navigation.removeEventListener("navigate",r),navigation.removeEventListener("navigatesuccess",i),navigation.removeEventListener("navigateerror",i),v!==null&&(v(),v=null)}}}function am(r){this._internalRoot=r}Su.prototype.render=am.prototype.render=function(r){var i=this._internalRoot;if(i===null)throw Error(a(409));var l=i.current,f=Vr();k2(l,f,r,i,null,null)},Su.prototype.unmount=am.prototype.unmount=function(){var r=this._internalRoot;if(r!==null){this._internalRoot=null;var i=r.containerInfo;k2(r.current,2,null,r,null,null),ru(),i[wa]=null}};function Su(r){this._internalRoot=r}Su.prototype.unstable_scheduleHydration=function(r){if(r){var i=Br();r={blockedOn:null,target:r,priority:i};for(var l=0;l<Pi.length&&i!==0&&i<Pi[l].priority;l++);Pi.splice(l,0,r),l===0&&R2(r)}};var M2=t.version;if(M2!=="19.2.8")throw Error(a(527,M2,"19.2.8"));B.findDOMNode=function(r){var i=r._reactInternals;if(i===void 0)throw typeof r.render=="function"?Error(a(188)):(r=Object.keys(r).join(","),Error(a(268,r)));return r=h(i),r=r!==null?p(r):null,r=r===null?null:r.stateNode,r};var Zw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:W,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Eu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Eu.isDisabled&&Eu.supportsFiber)try{Qt=Eu.inject(Zw),At=Eu}catch{}}return Ol.createRoot=function(r,i){if(!s(r))throw Error(a(299));var l=!1,f="",v=qv,b=Uv,C=Hv;return i!=null&&(i.unstable_strictMode===!0&&(l=!0),i.identifierPrefix!==void 0&&(f=i.identifierPrefix),i.onUncaughtError!==void 0&&(v=i.onUncaughtError),i.onCaughtError!==void 0&&(b=i.onCaughtError),i.onRecoverableError!==void 0&&(C=i.onRecoverableError)),i=x2(r,1,!1,null,null,l,f,null,v,b,C,_2),r[wa]=i.current,qf(r),new am(i)},Ol.hydrateRoot=function(r,i,l){if(!s(r))throw Error(a(299));var f=!1,v="",b=qv,C=Uv,H=Hv,se=null;return l!=null&&(l.unstable_strictMode===!0&&(f=!0),l.identifierPrefix!==void 0&&(v=l.identifierPrefix),l.onUncaughtError!==void 0&&(b=l.onUncaughtError),l.onCaughtError!==void 0&&(C=l.onCaughtError),l.onRecoverableError!==void 0&&(H=l.onRecoverableError),l.formState!==void 0&&(se=l.formState)),i=x2(r,1,!0,i,l??null,f,v,se,b,C,H,_2),i.context=w2(null),l=i.current,f=Vr(),f=dn(f),v=Ri(f),v.callback=null,Ii(l,v,f),l=f,i.current.lanes=l,Bt(i,l),Ra(i),r[wa]=i.current,qf(r),new Su(i)},Ol.version="19.2.8",Ol}var $2;function i9(){if($2)return om.exports;$2=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),om.exports=a9(),om.exports}var s9=i9();const Vl={"worker-managed-rerun-unsupported":"这次运行由 Console/Worker 启动,不能只从某个节点续跑","workspace-drift":"工作区在上次运行后又改过文件,旧结果不能接着用","controller-drift":"控制器版本已变化,不能接到上次运行上继续","binding-drift":"任务契约或源文件已变化,不能只续跑旧计划","restart-subgraph-contains-unsafe-shell":"下游包含会执行命令的验证步骤,不能只重跑这一段","restart-subgraph-contains-writer":"下游包含会改代码的写入步骤,不能只重跑这一段","restart-subgraph-contains-decision-gate":"下游包含需要人工决策的门禁,不能只重跑这一段","dynamic-rerun-unsupported":"这次运行含动态展开节点,不支持从节点续跑","parent-lifecycle-ineligible":"当前运行状态不允许从节点续跑","convergence-rerun-unsupported":"收敛型运行不支持从节点续跑","evaluation-rerun-unsupported":"带评估的运行不支持从节点续跑","budget-rerun-unsupported":"硬预算运行不支持从节点续跑","workspace-checkpoint-missing":"缺少工作区快照,无法安全地只续跑一段","skill-snapshot-invalid":"技能快照缺失或损坏,不能接到上次运行上继续","unresolved-errors-outside-reset-closure":"选中节点之外还有未解决的失败,只重跑这一段不够","selected-node-missing":"找不到要续跑的起始节点","ambiguous-skipped-rewrite":"跳过的节点有多个上游失败,无法自动选定起点","skipped-without-upstream-error":"该节点被跳过且没有明确的上游失败","parent-facts-invalid":"上次运行的证据不完整或已损坏,不能只续跑一段",RUN_NOT_ACTIVE:"这次运行不在活动状态,不能协作中止",RUN_NOT_CONSOLE_OWNED:"此运行不由当前 Console 持有,暂不支持协作中止",RUNNER_IDENTITY_MISMATCH:"运行身份已变化,不能中止这份过期请求",INTERRUPT_ALREADY_PENDING:"已有一条中止请求等待结算",RUN_ALREADY_TERMINAL:"运行已经结束,没有可中止的活 runner",INTERRUPT_NEEDS_RECONCILE:"中止请求已登记但无法确认 runner 已处理,需要对账"};function o9(){return Object.keys(Vl)}function Qu(e){const t=e.trim().replace(/[.…]+$/,"");if(!t)return null;if(Vl[t])return{code:t};const n=t.lastIndexOf(":");if(n>0){const a=t.slice(n+1),s=t.slice(0,n);if(Vl[a])return{code:a,nodeId:s};const o=o9().find(c=>a.length>=3&&c.startsWith(a));if(o)return{code:o,nodeId:s}}return Vl[t]?{code:t}:null}function l9(e){const t=[];for(const n of e.blockedReasons??[]){const a=Qu(String(n));a&&t.push(a)}for(const n of e.blockingNodes??[]){const a=n.reasonCode?.trim();if(!a)continue;const s=Qu(n.nodeId?`${n.nodeId}:${a}`:a);s&&t.push(s)}if(t.length===0&&e.fallbackMessage?.trim()){const n=e.fallbackMessage.trim().replace(/^从节点重跑不具备安全资格[::]?\s*/,"").replace(/[。..]+$/,"");for(const a of n.split(/[;;]/)){const s=Qu(a);s&&t.push(s)}}return t}function c9(e){const t=new Map;for(const a of e){const s=t.get(a.code)??[];a.nodeId&&!s.includes(a.nodeId)&&s.push(a.nodeId),t.set(a.code,s)}const n=[];for(const[a,s]of t){const o=Vl[a];o&&(s.length>0&&a.startsWith("restart-subgraph-contains-")?n.push(`${o}(${s.join("、")})`):n.push(o))}return n}function u9(e){return e.join("; ").includes("worker-managed-rerun-unsupported")||e.some(n=>Qu(n)?.code==="worker-managed-rerun-unsupported")?"下一步:请点下方「重新排队 Worker Task」,从头完整执行。":"下一步:请改用「带反馈重新执行任务」,重新生成完整 DAG。"}function S5(e){const t=e.fallbackMessage?.trim();if(t?.startsWith("无法从该节点续跑"))return t;const n=l9(e),a=c9(n),s=n.map(c=>c.code),o=u9(s.length>0?s:[t??""]);return a.length===0?["无法从该节点续跑。这次续跑不够安全(工作区、控制器或下游步骤不允许只重跑一段)。",o].join(`
|
|
10
|
+
`):["无法从该节点续跑,因为:",...a.map(c=>`• ${c}`),"",o].join(`
|
|
11
|
+
`)}function d9(e){const t=e.trim();if(!t)return null;if(t.startsWith("无法从该节点续跑"))return t;if(/从节点重跑不具备安全资格|worker-managed-rerun-unsupported|restart-subgraph-contains-|workspace-drift|controller-drift|binding-drift/.test(t))return S5({fallbackMessage:t});if(/action must be a mutation-gate target/i.test(t))return"这个操作不能再走确认门。Worker 启动的任务请直接点「重新排队 Worker Task」;独立运行请点「带反馈重新执行任务」。";if(/cannot read dagReport run facts/i.test(t))return"读不到这次运行的失败报告,不能完整重跑。请先点「查看报告」或「Doctor 诊断」。";if(/dagRerunPlan run facts unavailable/i.test(t))return"读不到节点恢复资格,不能直接改走完整重跑。请先点「从失败节点恢复」查看资格,或先「查看报告」。";if(/node rerun plan is eligible/i.test(t))return"节点恢复是安全的,请改用「从失败节点恢复」,不必重新执行完整任务。";if(/does not support autonomous standaloneTaskRerun/i.test(t))return"当前失败不适合自动完整重跑。请先点「查看报告」,按建议操作。";if(/primaryRecovery requires a human decision/i.test(t))return"这次失败需要人工决策,不能自动重跑。请先点「查看报告」。";if(/is not bound to run/i.test(t))return"填写的任务 ID 与这次运行不匹配。请使用该运行绑定的原任务 ID。";if(/cannot read pool doctor/i.test(t))return"读不到任务队列状态,暂时不能重新排队。请稍后重试,或先跑 Doctor 诊断。";if(/not found in the pool doctor inventory/i.test(t))return"任务队列里找不到这个任务,不能重新排队。请确认 Task ID 来自 Worker 队列,而不是只填了 DAG 运行 ID。";if(/only Failed tasks are retry-eligible/i.test(t)){const n=t.match(/is ([A-Za-z_]+); only Failed/)?.[1];return n?`该任务当前是「${n}」,只有失败(Failed)的任务才能重新排队。`:"只有失败(Failed)的任务才能重新排队。请先确认任务已失败。"}return/featureId .+ does not match the pool task/i.test(t)?"Feature ID 与队列中的任务不一致。请改用队列里记录的 Feature ID,或留空后重试。":/RUN_NOT_CONSOLE_OWNED|不由当前 Console 持有/.test(t)?"此运行不由当前 Console 持有,暂不支持协作中止。请用 Doctor / 报告查看。":/RUNNER_IDENTITY_MISMATCH|运行身份已变化/.test(t)?"运行身份已变化,不能中止这份过期请求。请刷新后再试。":/INTERRUPT_ALREADY_PENDING|已有一条中止请求/.test(t)?"已有一条中止请求等待当前节点安全收敛。请稍候刷新,不要重复提交。":/RUN_ALREADY_TERMINAL|运行已经结束/.test(t)?"运行已经结束,没有可中止的活 runner。请改用报告或对账。":/INTERRUPT_NEEDS_RECONCILE|无法确认 runner 已处理/.test(t)?"中止请求已登记,但无法确认 runner 已处理。请用 Doctor 对账,不要当成已经中止。":/RUN_NOT_ACTIVE/.test(t)?"这次运行不在本机活动目录,或已经不是 running,不能协作中止。":null}function f9(e){return e==="validate"||e==="apply"||e==="spine"?"contract":e}async function m9(e,t){const a=await fetch(jr(`/api/dag-runs/${encodeURIComponent(e)}/prewrite-result`),{credentials:"same-origin"});if(!a.ok)return{ok:!1,status:a.status};const s=await a.json();return!s||typeof s.classification!="string"?{ok:!1,status:a.status}:{ok:!0,result:{schemaVersion:typeof s.schemaVersion=="number"?s.schemaVersion:1,schemaId:typeof s.schemaId=="string"?s.schemaId:"",classification:s.classification,failureCode:typeof s.failureCode=="string"?s.failureCode:null,failureReason:typeof s.failureReason=="string"?s.failureReason:null}}}function h9(e){return e==="fail"?"未通过":e==="pass"?"通过":"未知/不可判定"}const r1="X-Loop-Console-Confirmation",E5="agent-worker console doctor --repo .",a1=["LOW","MED","HIGH"];function p9(e){if(e.length===0)return"模型值不能为空";if(e.trim()!==e)return"模型值不能包含首尾空白";if(e==="default")return"default 是保留哨兵,不能作为模型值";if(e.startsWith("/")||e.endsWith("/")||e.includes("//"))return"provider/model 格式非法:不允许 /model、provider/ 或 a//b"}function g9(e){const t={};for(const n of a1){const a=p9(e[n]);a&&(t[n]=a)}return t}function P2(e){return{LOW:e?.LOW?.value??"",MED:e?.MED?.value??"",HIGH:e?.HIGH?.value??""}}function v9(e){return a1.every(t=>e[t]===void 0)}const op=[{kind:"standard",label:"后端研发(默认 DAG)",hint:"生成标准 hybrid DAG(contract → implement → verify)"},{kind:"frontend-implementation",label:"前端研发",hint:"生成 frontend-implementation 专用节点链"},{kind:"backend-test",label:"后端测试",hint:"生成 backend-test-dag(分析 / 用例 / pytest)"},{kind:"frontend-test",label:"前端测试",hint:"生成 frontend-test-dag(RAG 用例 + Playwright CLI)"}],T5={"setup-required":"需要设置",ready:"已就绪",degraded:"降级可用",unknown:"未知"},b9={idle:"未探测",match:"匹配",mismatch:"仓库不匹配",unavailable:"不可用"},C5={low:"低",medium:"中",high:"高"},N5={"validation-failed":"校验失败","contract-drift":"契约漂移","runtime-mismatch":"运行时不匹配","pause-on-human":"等待人工","verification-failed":"验证失败","orphan-unknown":"孤立/未知","terminal-failed":"已终止(失败)","terminal-succeeded":"已终止(成功)","needs-reconcile":"需要对账","running-active":"正在运行"},y9={idle:"空闲","not-started":"未开始","not-run":"未运行","n/a (MVP)":"不适用(MVP)",accepted:"已接受",succeeded:"已成功",running:"运行中",ran:"已执行"};function Tu(e){return y9[e]??e}function i1(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function ad(e){return`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function R5(e=typeof globalThis.location?.hash=="string"?globalThis.location.hash:""){const t=e.indexOf("?");if(!(t<0))return new URLSearchParams(e.slice(t+1)).get("workspaceId")?.trim()||void 0}function I5(e,t){const n=t?.trim()||R5();if(!n)return e;const a=e.includes("?")?"&":"?";return`${e}${a}workspaceId=${encodeURIComponent(n)}`}function jr(e,t){return I5(e,t)}async function Io(e,t={},n,a){const s=a?.trim()||R5(),o={"Content-Type":"application/json",[r1]:i1()},c=await fetch("/api/operator/v1/operations",{method:"POST",credentials:"same-origin",headers:o,body:JSON.stringify({action:e,actionParams:t,...s?{workspaceId:s}:{},...n?{clientRequestId:n}:{}})});let d={};try{d=await c.json()}catch{d={ok:!1,error:{code:"INVALID_INPUT",message:"操作响应不是合法 JSON"}}}return{status:c.status,body:d}}const x9=new Set(["runDag","dagRerun","dagReconcileRun","dagRequestInterrupt","standaloneTaskRerun","consoleUpdateAndInit"]);function dm(e,t){return S5({blockedReasons:e.blockedReasons,blockingNodes:e.blockingNodes,fallbackMessage:t})}async function id(e,t=3e5,n){const a=I5(`/api/operator/v1/operations/${encodeURIComponent(e)}`,n),s=Date.now();for(;Date.now()-s<t;){const o=await fetch(a,{credentials:"same-origin"});if(!o.ok)return null;const c=await o.json(),d=c.operation??c,m=d.state??"";if(m==="succeeded"||m==="failed"||m==="needs-reconcile"||m==="timed-out"||m==="restarting")return d;await new Promise(h=>setTimeout(h,250))}return{state:"needs-reconcile",errorMessage:"等待操作结果超时"}}function Es(e){if(e==null)return null;if(typeof e=="string")return e.trim()||null;if(typeof e=="number"||typeof e=="boolean")return String(e);if(typeof e=="object"){const t=e;if(typeof t.text=="string"&&t.text.trim())return t.text.trim();if(typeof t.errorMessage=="string"&&t.errorMessage.trim())return t.errorMessage.trim();if(Array.isArray(t.content)){const n=t.content.map(a=>{if(typeof a=="string")return a;if(a&&typeof a=="object"){const s=a;if(typeof s.text=="string")return s.text}return""}).filter(Boolean);if(n.length)return n.join(`
|
|
12
|
+
`).slice(0,240)}if(typeof t.role=="string")return`${t.role} 消息`}return null}function w9(e){const t=Es(e.at)??Es(e.timestamp)??Es(e.recordedAt)??"",n=Es(e.errorMessage)??Es(e.label)??Es(e.type)??Es(e.message)??"运行事件";return t?`${t} · ${n}`:n}function Kl(e){return String(e.nodeId??e.id??"").trim()}function fm(e){const t=Kl(e);return String(e.label??e.name??(t||"未命名节点"))}function F2(e,t){if(e.length===0)return;const n=t?.trim();if(n){const o=e.find(c=>Kl(c)===n);if(o)return o}const a=e.find(o=>{const c=String(o.status??"").toLowerCase();return c.includes("fail")||c.includes("error")||c==="blocked"});return a||(e.find(o=>{const c=String(o.status??"").toLowerCase();return c==="running"||c==="in_progress"||c==="active"})??e[0])}const k9=new Set(["finished","failed","partial_failed","superseded","abandoned"]);function sd(e){if(!e)return!1;const t=String(e.effectiveStatus??e.status??"").toLowerCase();return k9.has(t)}const S9=5e3;function E9({dagRunId:e,nodeId:t,onClose:n,onOpenFull:a}){const s=w.useRef(null),[o,c]=w.useState(null),[d,m]=w.useState([]),[h,p]=w.useState(null),[g,x]=w.useState(!0),[y,S]=w.useState(null),E=sd(o);w.useEffect(()=>{s.current?.focus();const P=F=>{F.key==="Escape"&&n()};return document.addEventListener("keydown",P),document.title=`检视 · DAG ${e} · Loop Operator`,()=>document.removeEventListener("keydown",P)},[e,n]),w.useEffect(()=>{const P=new AbortController;let F;const M=async A=>{A&&(x(!0),p(null),m([]));try{const z=await fetch(jr(`/api/dag-runs/${encodeURIComponent(e)}`),{signal:P.signal,credentials:"same-origin"});if(!z.ok)throw new Error(`DAG 查询失败(HTTP ${z.status})`);const G=await z.json();if(P.signal.aborted)return;c(G),p(null);const D=Array.isArray(G.nodes)?G.nodes:[];try{const Q=await m9(e);if(P.signal.aborted)return;Q.ok?S({status:"success",...Q.result}):Q.status===404&&S({status:"missing"})}catch{}const K=F2(D,t),q=K?Kl(K):t?.trim();if(q){const Q=await fetch(jr(`/api/dag-runs/${encodeURIComponent(e)}/nodes/${encodeURIComponent(q)}/session-events`),{signal:P.signal,credentials:"same-origin"});if(Q.ok){const V=await Q.json();P.signal.aborted||m((V.events??[]).slice(-20))}}sd(G)&&F!==void 0&&(window.clearInterval(F),F=void 0)}catch(z){P.signal.aborted||p(z instanceof Error?z.message:String(z))}finally{!P.signal.aborted&&A&&x(!1)}};return M(!0),F=window.setInterval(()=>{M(!1)},S9),()=>{P.abort(),F!==void 0&&window.clearInterval(F)}},[e,t]);const R=w.useMemo(()=>Array.isArray(o?.nodes)?o.nodes:[],[o]),N=F2(R,t),_=N?Kl(N):"",I=String(o?.effectiveStatus??o?.status??(g?"加载中…":"未知"));return u.jsxs("aside",{className:"inspect-split-panel","aria-label":"DAG 紧凑检视",children:[u.jsxs("div",{className:"inspect-split-header",children:[u.jsxs("div",{children:[u.jsx("p",{className:"inspect-split-kicker",children:"Inspect"}),u.jsx("h2",{children:"检视 DAG"})]}),u.jsx("button",{ref:s,type:"button","aria-label":"关闭检视面板",onClick:n,children:"关闭"})]}),u.jsx("p",{className:"inspect-split-id",children:u.jsx("code",{children:e})}),o?u.jsx("p",{className:`inspect-split-refresh${E?" is-terminal":""}`,"data-testid":"inspect-split-refresh",children:E?"已结束 · 停止自动刷新":"进行中 · 每 5 秒自动刷新"}):null,h?u.jsx("p",{className:"error",children:h}):null,g&&!o?u.jsx("p",{className:"muted",children:"正在加载 DAG…"}):null,u.jsxs("dl",{className:"inspect-split-facts",children:[u.jsxs("div",{children:[u.jsx("dt",{children:"状态"}),u.jsx("dd",{children:I})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"当前节点"}),u.jsx("dd",{children:N?fm(N):"暂无节点"})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"节点状态"}),u.jsx("dd",{children:N?.status??"—"})]}),N?.errorPreview?u.jsxs("div",{children:[u.jsx("dt",{children:"错误摘要"}),u.jsx("dd",{children:N.errorPreview})]}):null,y?u.jsxs("div",{"data-testid":"inspect-prewrite-gate",children:[u.jsx("dt",{children:"prewrite 门禁"}),u.jsx("dd",{children:y.status==="missing"?u.jsx("span",{className:"muted",children:"prewrite 门禁结果尚未生成"}):u.jsxs(u.Fragment,{children:[y.classification,y.failureCode?u.jsxs("code",{"data-testid":"inspect-prewrite-failure-code",children:[" ",y.failureCode]}):null,y.failureReason?u.jsxs("span",{className:"muted",children:[" ","— ",y.failureReason]}):null]})})]}):null]}),u.jsxs("section",{children:[u.jsxs("h3",{children:["节点(",R.length,")"]}),R.length?u.jsx("ul",{className:"inspect-split-nodes",children:R.slice(0,24).map(P=>{const F=Kl(P)||fm(P),M=F===_;return u.jsxs("li",{"data-active":M?"true":void 0,className:M?"is-active":void 0,children:[u.jsx("span",{children:fm(P)}),u.jsx("code",{children:P.status??"—"})]},F)})}):u.jsx("p",{className:"muted",children:g?"加载节点中…":"该运行暂无节点。"})]}),u.jsxs("section",{children:[u.jsxs("h3",{children:["最近事件",_?` · ${_}`:""]}),d.length?u.jsx("ul",{className:"inspect-split-events",children:d.map((P,F)=>u.jsx("li",{children:w9(P)},`${P.at??F}-${F}`))}):u.jsx("p",{className:"muted",children:g?"加载事件中…":"节点事件将在可用时显示。"})]}),u.jsx("button",{type:"button",className:"btn btn-secondary",onClick:a,children:"全屏观测"}),u.jsx("p",{className:"muted",children:"全屏后可在顶栏点「返回 恢复」回来。"})]})}const di="loop-console.operator-chat.active-session.v1",od="loop-console.operator-chat.active-session-by-workspace.v1",T9="loop-console.operator-chat.default-landing.v1";function s1(e){try{const t=JSON.parse(e.getItem(od)??"{}");return!t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(n=>!!n[0].trim()&&typeof n[1]=="string"&&!!n[1].trim()))}catch{return{}}}function C9(e,t){const n=t?.trim();if(n){const a=s1(e),s=a[n]?.trim();if(s)return s;if(Object.keys(a).length>0)return null}return e.getItem(di)?.trim()||null}function mm(e,t,n){const a=n.trim();if(!a)return;e.setItem(di,a);const s=t?.trim();if(!s)return;const o=s1(e);o[s]=a,e.setItem(od,JSON.stringify(o))}function Dl(e,t,n){const a=t?.trim();if(a){const o=s1(e);(!n||o[a]===n)&&delete o[a],Object.keys(o).length>0?e.setItem(od,JSON.stringify(o)):e.removeItem(od)}const s=e.getItem(di)?.trim();(!n||s===n)&&e.removeItem(di)}function ld(e){const t=e?.trim().toLowerCase();if(t==="chat")return"chat";if(t==="tasks")return"tasks"}function N9(e){const t=e?.trim().toLowerCase();if(t==="chat"||t==="tasks"||t==="recovery"||t==="night"||t==="models"||t==="settings")return t}function R9(e){const t=n=>e.get(n)?.trim()||void 0;return{...t("taskId")?{taskId:t("taskId")}:{},...t("dagRunId")?{dagRunId:t("dagRunId")}:{},...t("fromNodeId")?{fromNodeId:t("fromNodeId")}:{},...t("featureId")?{featureId:t("featureId")}:{},...t("intent")?{intent:t("intent")}:{},...t("workspaceId")?{workspaceId:t("workspaceId")}:{},...t("sessionId")?{sessionId:t("sessionId")}:{}}}function I9(e){const t=String(e??"").replace(/^#/,"");if(!t)return null;const n=t.indexOf("?"),a=n>=0?t.slice(0,n):t,s=n>=0?t.slice(n+1):"",o=(a||"/").split("?")[0]||"/";if(o==="/"||o==="")return null;const c=o.replace(/^\//,"").split("/")[0],d=N9(c);return d?{workspace:d,...R9(new URLSearchParams(s))}:null}function A9(e){if(!e)return;const t=I9(e.hash);if(t)return t.workspace;const n=new URLSearchParams(e.search),a=ld(n.get("landing")??n.get("workspace"));if(a)return a;const s=e.hash.startsWith("#")?e.hash.slice(1):e.hash;return ld(new URLSearchParams(s).get("workspace"))}function _9(e){return A9(e.location)??ld(e.storage?.getItem(T9))??ld(e.env)??"chat"}function M9(e,t={}){const n=new URLSearchParams;for(const[o,c]of Object.entries(t))c?.trim()&&n.set(o,c.trim());const a=n.toString(),s=`/${e}`;return a?`${s}?${a}`:s}function O9(e,t={}){return`#${M9(e,t)}`}const D9={};function j9(){const[e,t]=w.useState(()=>_9({env:D9?.VITE_OPERATOR_CHAT_DEFAULT_LANDING,storage:window.localStorage,location:window.location})),[n,a]=w.useState(null),[s,o]=w.useState("unknown"),[c,d]=w.useState(null),[m,h]=w.useState(null),[p,g]=w.useState(!1),[x,y]=w.useState(!1),[S,E]=w.useState(null),[R,N]=w.useState(null),[_,I]=w.useState(null),[P,F]=w.useState(null),[M,A]=w.useState({command:"idle",dag:"not-started",verification:"not-run",promote:"n/a (MVP)"}),[z,G]=w.useState("setup"),D=w.useCallback(X=>{G(W=>f9(typeof X=="function"?X(W):X))},[]),K=s==="setup-required",q=s==="degraded",Q=w.useCallback(X=>{X!==e&&(E(null),I(null),N(null)),t(X)},[e]),V=w.useCallback(async X=>{const W=X?.trim(),B=me=>{o(me),D(me==="ready"||me==="degraded"?j=>j==="setup"?"import-prd":j:"setup")};let Y="setup-required";try{const j=await(await fetch("/api/health")).json();a(j),Y=j.piReadiness??"setup-required",h(null)}catch(me){h(me instanceof Error?me.message:String(me))}if(!W){B(Y);return}try{const me=await fetch(`/api/operator/v1/readiness?workspaceId=${encodeURIComponent(W)}`);if(!me.ok){B(Y);return}const j=await me.json();d(j),B(j.state??Y)}catch{B(Y)}},[D]);return{nav:e,setNav:t,selectNav:Q,health:n,readiness:s,setReadiness:o,readinessReport:c,healthError:m,loadHealth:V,busy:p,setBusy:g,observeBusy:x,setObserveBusy:y,opError:S,setOpError:E,opMessage:R,setOpMessage:N,opErrorCode:_,setOpErrorCode:I,lastOpState:P,setLastOpState:F,layers:M,setLayers:A,step:z,setStep:D,setupBlocked:K,degraded:q}}const L9=[{pattern:/invalid (boot capability|confirmation header) token/i,copy:"页面凭证已失效(控制台可能已重启),请刷新页面(F5)后重试。"},{pattern:/mutation requires boot capability cookie|mutation requires confirmation header token/i,copy:"页面状态异常,请刷新页面(F5)后重试。"},{pattern:/Host header is required for non-loopback/i,copy:"请求主机校验失败:非回环绑定时要求 Host 头,请刷新页面或检查访问地址。"}],z9=[{pattern:/\bCONTEXT_RECEIPT_MISSING\b/,copy:"该节点没有执行时上下文回执(CONTEXT_RECEIPT_MISSING):只有真实执行过的模型节点才有可导出的上下文;历史 run 不做事后回填。"},{pattern:/\bCONTEXT_COMPONENT_UNAVAILABLE\b/,copy:"部分上下文组件当前不可用(CONTEXT_COMPONENT_UNAVAILABLE),无法生成完整交接包。"},{pattern:/\bCONTEXT_BUNDLE_TOO_LARGE\b/,copy:"导出内容超出体积上限(CONTEXT_BUNDLE_TOO_LARGE),请缩小节点范围或联系维护者调整上限。"},{pattern:/\bRAW_EXPORT_ACKNOWLEDGEMENT_REQUIRED\b/,copy:"原文导出包含敏感数据风险(RAW_EXPORT_ACKNOWLEDGEMENT_REQUIRED),需要先勾选风险确认。"},{pattern:/\bSECRET_SCAN_CONFIRMATION_REQUIRED\b/,copy:"候选文件疑似包含凭据(SECRET_SCAN_CONFIRMATION_REQUIRED),确认风险后才能继续。"},{pattern:/\bARTIFACT_BINDING_UNAVAILABLE\b/,copy:"缺少结构化产物关系(ARTIFACT_BINDING_UNAVAILABLE):只有带产物绑定的新 run 支持修订与派生,历史 run 仅可查看/下载。"},{pattern:/\bARTIFACT_NOT_REVISION_ELIGIBLE\b/,copy:"该产物不允许修订替换(ARTIFACT_NOT_REVISION_ELIGIBLE)。"},{pattern:/\bARTIFACT_IDENTITY_AMBIGUOUS\b/,copy:"产物身份不唯一(ARTIFACT_IDENTITY_AMBIGUOUS),无法安全定位修订目标。"},{pattern:/\bARTIFACT_REVISION_SCHEMA_INVALID\b/,copy:"候选文件不符合该产物声明的数据结构(ARTIFACT_REVISION_SCHEMA_INVALID),已拒绝入库。"},{pattern:/\bARTIFACT_REVISION_PATH_INVALID\b/,copy:"候选目标路径无效(ARTIFACT_REVISION_PATH_INVALID),已拒绝。"},{pattern:/\bARTIFACT_REVISION_EXPIRED\b/,copy:"修订候选已过期(ARTIFACT_REVISION_EXPIRED),请重新上传后再继续。"},{pattern:/\bARTIFACT_REVISION_DRIFT\b/,copy:"候选文件与登记内容不一致(ARTIFACT_REVISION_DRIFT),请重新上传。"},{pattern:/\bARTIFACT_REVISION_QUOTA_EXCEEDED\b/,copy:"修订暂存区配额已满(ARTIFACT_REVISION_QUOTA_EXCEEDED),请先丢弃不需要的修订或等待过期回收。"},{pattern:/\bARTIFACT_CONSUMER_UNKNOWN\b/,copy:"无法确定受影响的下游节点(ARTIFACT_CONSUMER_UNKNOWN),派生继续已被阻止。"},{pattern:/\bARTIFACT_IMPACT_UNSAFE\b/,copy:"影响范围包含不能自动重跑的节点(ARTIFACT_IMPACT_UNSAFE),派生继续已被阻止。"},{pattern:/\bRERUN_PLAN_DRIFT\b|\bPLAN_DRIFT\b/,copy:"继续运行计划与当前事实发生漂移(RERUN_PLAN_DRIFT),请重新生成计划后再执行。"},{pattern:/\bWORKER_MANAGED_CONTINUATION_UNSUPPORTED\b/,copy:"由 Worker 托管的运行暂不支持派生继续(WORKER_MANAGED_CONTINUATION_UNSUPPORTED),这是当前版本的明确边界,不是失败。"},{pattern:/\bWORKER_CONTINUATION_AUTHORITY_MISMATCH\b/,copy:"Worker 派生运行的归属事实不一致(WORKER_CONTINUATION_AUTHORITY_MISMATCH),请刷新计划并核对 Task Pool 状态。"},{pattern:/\bWORKER_CONTINUATION_LEASE_CONFLICT\b/,copy:"该 Worker Task 已有运行占用(WORKER_CONTINUATION_LEASE_CONFLICT),请等待当前运行结束或先完成恢复核对。"},{pattern:/\bWORKER_CONTINUATION_NEEDS_RECONCILE\b/,copy:"Worker 派生运行已存在但终态尚未完成核对(WORKER_CONTINUATION_NEEDS_RECONCILE),不会再次启动;请先执行恢复核对。"},{pattern:/\bPARENT_IMMUTABILITY_VIOLATION\b/,copy:"父运行事实发生变化(PARENT_IMMUTABILITY_VIOLATION),已阻止派生以保护历史证据。"},{pattern:/\bPARENT_LIFECYCLE\b/,copy:"父运行当前状态不允许派生继续(PARENT_LIFECYCLE)。"},{pattern:/\bREQUEST_ID_REUSE_CONFLICT\b/,copy:"相同请求 ID 已被其他操作占用(REQUEST_ID_REUSE_CONFLICT),请更换请求 ID 重试。"},{pattern:/\bOPERATION_NEEDS_RECONCILE\b/,copy:"操作记录需要先恢复核对(OPERATION_NEEDS_RECONCILE):上次执行未确认结束,请刷新操作状态后重试。"},{pattern:/\bCONTEXT_EXPORT_FAILED\b/,copy:"上下文导出失败(CONTEXT_EXPORT_FAILED),请稍后重试;若持续失败请检查该节点是否存在可导出的执行事实。"},{pattern:/\bCONTEXT_EXPORT_UNAVAILABLE\b/,copy:"导出内容不存在或已过期(CONTEXT_EXPORT_UNAVAILABLE),请重新生成。"},{pattern:/\bLEASE_HELD\b/,copy:"资源正被其他操作占用(LEASE_HELD),请等待当前操作结束或稍后重试。"},{pattern:/\bREGISTRY_VERSION_REGRESSION\b/,copy:"所选渠道的最新版本比当前安装的版本更旧(REGISTRY_VERSION_REGRESSION),已阻止降级更新。请改用包含更新版本的渠道(如 next/beta)。"},{pattern:/\bUPDATE_LOCKED\b/,copy:"另一个 loop-agent 更新正在进行(UPDATE_LOCKED),请等待其结束后重试。"},{pattern:/\bINSTALL_FAILED\b/,copy:"新版本安装失败(INSTALL_FAILED),请检查网络与 npm registry 后重试。"},{pattern:/\bINSTALL_VERIFICATION_FAILED\b/,copy:"安装后校验未通过(INSTALL_VERIFICATION_FAILED),未接棒新版本;请重试或手动安装。"},{pattern:/\bACTIVE_RUNTIME\b/,copy:"当前存在活跃的 DAG/Worker 运行(ACTIVE_RUNTIME),更新已推迟;请等待运行结束后再更新。"},{pattern:/\bCHAT_TURN_ACTIVE\b/,copy:"对话正在执行中(CHAT_TURN_ACTIVE),更新已推迟;请等待当前回合结束后再更新。"},{pattern:/\bOPERATION_ACTIVE\b/,copy:"另一个 Console 操作正在进行(OPERATION_ACTIVE),请等待其结束后再更新。"},{pattern:/\bHANDOFF_FAILED\b/,copy:"新版本已安装,但接棒启动新 Console 失败(HANDOFF_FAILED);旧进程未被关闭,可直接重试或手动重启 Console。"},{pattern:/\bINIT_NEEDS_RECONCILE\b/,copy:"安全初始化未完全通过(INIT_NEEDS_RECONCILE):版本已就绪,请查看初始化待处理项后重试。"},{pattern:/\bINVALID_VERSION\b/,copy:"安装版本或渠道版本号无法解析(INVALID_VERSION),请重试;若持续出现请反馈。"}];function ua(e){const t=(e??"").trim();if(!t)return"操作失败";const n=d9(t);if(n)return n;if(/controller identity changed|package fingerprint changed|entry binary sha256 changed/i.test(t))return"控制器版本已变更(Console 启动后代码被重新编译,或提交了 package.json / bin / dist / skills 等指纹范围文件)。请重启 Console 进程使其重新加载当前构建后再重试本操作;一次会话中途不要重建控制器。";if(/Pi session file missing or not openable|cannot reopen chat session .* no persisted Pi session file/i.test(t))return"该对话的 Pi 会话文件已丢失,无法恢复上下文。请新建对话继续(历史记录无法重开)。";if(/reopened Pi sessionId mismatch/i.test(t))return"重开对话失败:Pi 会话身份与记录不一致(常见于会话文件丢失后被误建)。请新建对话继续。";if(/base HEAD .+ != frozen baseCommit|exact-base|not a descendant of frozen baseCommit/i.test(t))return"主分支已相对夜间冻结的 baseCommit 前进,无法安全 fast-forward harvest。请人工核对后使用 Discard(必要时勾选强制),或改走日间合并流程。";if(/force-required|requires --force/i.test(t))return"该终态需要强制 Discard。请确认后勾选强制再试。";if(/not-global|GLOBAL_INSTALL_UNPROVEN/i.test(t))return"当前 Console 由仓库内构建启动,不是全局 npm 安装,一键更新不可用。请全局安装(npm i -g @tea-agent/loop-agent)后从全局命令启动 Console 再更新,或手动更新本仓库后重启。";if(/could not verify npm (?:latest|next) \(timeout\)/i.test(t))return"检查 npm 更新渠道超时:请确认本机网络或 npm registry 镜像可访问后重试。";if(/could not verify npm (?:latest|next) \(/i.test(t))return"检查 npm 更新渠道失败:请确认本机 npm 可用、网络可访问 registry 后重试。";for(const a of z9)if(a.pattern.test(t))return a.copy;for(const a of L9)if(a.pattern.test(t))return a.copy;return t}function B9(e,t,n){if(!e||typeof e!="object")return!1;const a=typeof e.consoleInstanceId=="string"?e.consoleInstanceId.trim():"";if(!a)return!1;const s=t?.trim();return s?a===s:n!==null&&a!==n}async function ko(e={}){const t=e.timeoutMs??3e4,n=e.fetchImpl??fetch,a=e.reload??(()=>window.location.reload()),s=Date.now();let o=null;for(;Date.now()-s<t;){try{const c=await n(`/api/health?ts=${Date.now()}`,{cache:"no-store"});if(c.ok){const d=await c.json().catch(()=>null);if(B9(d,e.expectedConsoleInstanceId,o))return a(),!0;const m=d,h=typeof m?.consoleInstanceId=="string"?m.consoleInstanceId.trim():"";h&&o===null&&(o=h)}}catch{}await new Promise(c=>setTimeout(c,1e3))}return!1}const q9={bootstrapFromPrd:"正在导入 PRD 并创建任务:归档文档 → 确定性解析 → 语义结构化(MED→HIGH→LOW,每档最多 300 秒,请勿关闭页面)",importPrd:"正在导入 PRD:归档文档 → 确定性解析 → 语义结构化(MED→HIGH→LOW,每档最多 300 秒,请勿关闭页面)",interviewStart:"正在启动需求访谈…",interviewTurn:"正在提交访谈回答…",interviewSkip:"正在跳过访谈并生成评估…",contractValidate:"正在校验契约草稿…",contractDiff:"正在计算契约差异…",contractApply:"正在应用契约(写入需求与执行约束)…",spineCheck:"正在运行 Spine 审计…",dagGenerate:"正在生成 DAG…",standaloneTaskRerun:"正在带反馈重新执行任务:服务端校验资格后生成并启动新 DAG…",consoleUpdateAndInit:"正在检查活动运行、所选 npm 渠道与安全初始化;完成后 Console 将自动刷新…",workerTaskRetry:"正在重新排队 Worker Task…"};function U9(e){const{shell:t,applyInterviewPayload:n,workspaceId:a}=e,{setBusy:s,setOpError:o,setOpErrorCode:c,setOpMessage:d,setReadiness:m,setStep:h,setNav:p,setLastOpState:g,setLayers:x,step:y,nav:S}=t,[E,R]=w.useState(null),[N,_]=w.useState(null),[I,P]=w.useState([]),[F,M]=w.useState(!0),A=w.useRef(null),[z,G]=w.useState(null),[D,K]=w.useState(null),q=w.useCallback(async(Y,me={},j)=>{const U=a?.trim()||null;if(!U){const ee="当前 Workspace 不可用;请先选择有效 Workspace 后再执行操作";return o(ee),c("WORKSPACE_REQUIRED"),{ok:!1,error:{code:"WORKSPACE_REQUIRED",message:ee}}}s(!0),o(null),c(null),d(q9[Y]??null);try{const{status:ee,body:O}=await Io(Y,me,j?.clientRequestId,U);if(ee===412||O.error?.code==="PI_SETUP_REQUIRED")return o(ua(O.error?.message??"Pi 未就绪或已降级:该操作暂不可用")),c(O.error?.code??"PI_SETUP_REQUIRED"),m("setup-required"),h("setup"),p("models"),O;if(ee>=400||O.ok===!1)return o(ua(O.error?.message??O.message??`操作失败(HTTP ${ee})`)),c(O.error?.code??String(ee)),g(O.state??`failed:${ee}`),x(le=>({...le,command:O.error?.message??`failed:${O.error?.code??ee}`})),O;if(O.operationId){_(U??null);const le=window.localStorage.getItem(di)?.trim();if(le&&fetch(`/api/operator/v1/chat/sessions/${encodeURIComponent(le)}/operation-links`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",[r1]:i1()},body:JSON.stringify({operationId:O.operationId})}).then(ce=>{ce.ok||console.warn("Operator Chat operation link failed",ce.status)}).catch(ce=>console.warn("Operator Chat operation link failed",ce)),R(O.operationId),g(O.state??"accepted"),x(ce=>({...ce,command:O.state??"accepted",dag:Y==="runDag"?"running":ce.dag})),x9.has(Y)){M(!0),d(`操作已接受,后台运行中:${O.operationId}(请看事件流;可同时打开 Observe)`);const ce=O.operationId;id(ce,30*6e4,U).then(pe=>{if(pe){if(g(pe.state??null),pe.state==="failed"||pe.state==="needs-reconcile"||pe.state==="timed-out"){o(ua(pe.errorMessage??pe.stderrPreview??`操作失败:${pe.state}`)),c(pe.errorCode??pe.state??null),x(ue=>({...ue,command:`failed:${pe.errorCode??pe.state}`}));return}pe.state==="succeeded"&&(d(`${Y} 已成功`),x(ue=>({...ue,command:"succeeded"}))),Y==="consoleUpdateAndInit"&&pe.state==="restarting"&&(d("新 Console 正在接棒,等待其就绪后自动刷新…"),ko())}})}else{d(`操作已接受:${O.operationId}`);const ce=await id(O.operationId,3e5,U);if(ce){if(g(ce.state??null),ce.state==="failed"||ce.state==="needs-reconcile"||ce.state==="timed-out")return o(ua(ce.errorMessage??ce.stderrPreview??`操作失败:${ce.state}`)),c(ce.errorCode??ce.state??null),x(oe=>({...oe,command:`failed:${ce.errorCode??ce.state}`})),{ok:!1,operationId:O.operationId,state:ce.state,error:{code:ce.errorCode??ce.state??"INTERNAL_ERROR",message:ce.errorMessage??ce.stderrPreview??`操作失败:${ce.state}`}};d(ce.errorMessage?`${Y}:${ce.errorMessage}`:`${Y} 已成功`),x(oe=>({...oe,command:ce.state??"succeeded"}));const pe=ce.result??{},ue={ok:!0,operationId:O.operationId,state:ce.state??"succeeded",result:pe};(Y==="interviewStart"||Y==="interviewTurn"||Y==="interviewSkip")&&n(pe);const J=pe.confirmation;return J?.confirmationId&&(G(J.confirmationId),K(pe)),j?.advanceTo&&h(j.advanceTo),ue}}}else d(`${Y} 已完成`),g(O.state??"succeeded"),x(le=>({...le,command:"succeeded",verification:Y==="contractValidate"||Y==="spineCheck"?"ran":le.verification}));const ge=O.result??{};(Y==="interviewStart"||Y==="interviewTurn"||Y==="interviewSkip")&&n(ge);const Z=ge.confirmation;return Z?.confirmationId&&(G(Z.confirmationId),K(ge)),j?.advanceTo&&h(j.advanceTo),O}catch(ee){o(ee instanceof Error?ee.message:String(ee));return}finally{s(!1)}},[n,s,o,c,d,m,h,p,g,x,a]),Q=w.useCallback(Y=>{if(!Y)return"无响应";if(Y.error?.message)return Y.error.message;if(Y.message)return Y.message;const me=Y.result;if(me&&typeof me=="object")try{return JSON.stringify(me).slice(0,1200)}catch{return"已返回结果"}return Y.ok===!1?"失败":"成功"},[]),V=w.useCallback(Y=>{if(!Y||Y.ok===!1||Y.error)return!1;const me=Y.result;if(!me)return!0;if(typeof me.valid=="boolean")return me.valid;const j=me.result;return j&&typeof j.valid=="boolean"?j.valid:!0},[]),X=w.useCallback(async Y=>{A.current?.abort();const me=new AbortController;A.current=me,P(j=>[...j,`开始跟随事件流 ${Y}`]);try{const j=N?`?workspaceId=${encodeURIComponent(N)}`:"",U=await fetch(`/api/operator/v1/operations/${encodeURIComponent(Y)}/events${j}`,{credentials:"same-origin",signal:me.signal});if(!U.ok||!U.body){P(Z=>[...Z,`事件流 HTTP ${U.status}`]);return}const ee=U.body.getReader(),O=new TextDecoder;let ge="";for(;F;){const{done:Z,value:le}=await ee.read();if(Z)break;ge+=O.decode(le,{stream:!0});const ce=ge.split(`
|
|
13
|
+
|
|
14
|
+
`);ge=ce.pop()??"";for(const pe of ce){const ue=pe.split(`
|
|
15
|
+
`).find(oe=>oe.startsWith("data:"));if(!ue)continue;const J=ue.slice(5).trim();P(oe=>[...oe.slice(-80),J.slice(0,240)])}}}catch(j){j.name!=="AbortError"&&P(U=>[...U,`事件流错误:${j instanceof Error?j.message:String(j)}`])}},[F,N]);w.useEffect(()=>(E&&F&&(y==="run"||S==="recovery")&&X(E),()=>A.current?.abort()),[E,F,y,S,X]);const W=w.useCallback(()=>{M(!1),A.current?.abort(),d("已停止跟随日志(未取消子进程)")},[d]),B=w.useCallback(()=>{A.current?.abort(),R(null),_(null),P([]),M(!0),G(null),K(null)},[]);return{runAction:q,summarizeEnvelope:Q,isActionSuccess:V,operationId:E,setOperationId:R,sseLog:I,followSse:F,setFollowSse:M,stopFollowSse:W,resetForWorkspaceScope:B,confirmationId:z,setConfirmationId:G,confirmationDetails:D,setConfirmationDetails:K}}const lp=8*1024*1024,H9=10*1024*1024,cd=8,$9=".md,.markdown,.txt,text/markdown,text/plain",P9=[".md",".markdown",".txt"],o1=/\.[^.]+$/;function F9(e){const t=o1.exec(e.trim());return t?t[0].toLowerCase():""}function G9(e){const t=F9(e);return P9.includes(t)}function cp(e){if(!Number.isFinite(e)||e<0)return"0 B";if(e<1024)return`${e} B`;if(e<1024*1024){const n=e/1024;return`${n>=10?n.toFixed(0):n.toFixed(1)} KiB`}const t=e/(1024*1024);return`${t>=10?t.toFixed(1):t.toFixed(2)} MiB`}function ui(e,t){return{ok:!1,code:e,message:t}}function V9(e,t){const n=e?Array.from(e):[],a=t?.maxFiles??cd,s=t?.existingCount??0;return n.length===0?ui("file-count","请选择至少一个 .md / .markdown / .txt 文件"):s+n.length>a?ui("file-count",`最多支持 ${a} 个文件(当前已有 ${s} 个)`):null}async function K9(e){const t=e.name?.trim()||"untitled.md";if(!G9(t))return ui("unsupported-extension","仅支持 .md、.markdown、.txt 文件");if(e.size>lp)return ui("file-too-large",`文件不能超过 ${cp(lp)}`);let n;try{n=await e.arrayBuffer()}catch{return ui("read-failed","文件读取失败,请重试或直接粘贴")}let a;try{a=new TextDecoder("utf-8",{fatal:!0}).decode(n)}catch{return ui("invalid-utf8","文件不是有效 UTF-8,请另存为 UTF-8")}if(a.trim().length===0)return ui("empty-content","文件内容不能为空或只有空白");const s=new TextEncoder().encode(a).byteLength;return{ok:!0,text:a,fileName:t,sourceBytes:e.size,textBytes:s}}async function W9(e){if(e.length===0)return ui("file-count","请选择至少一个 .md / .markdown / .txt 文件");if(e.length>cd)return ui("file-count",`最多支持 ${cd} 个文件`);const t=[];for(const n of e){const a=await K9(n);if(!a.ok)return a;t.push({fileName:a.fileName,text:a.text,sourceBytes:a.sourceBytes,textBytes:a.textBytes})}return{ok:!0,documents:t}}function Y9(e,t){const n=e.split(/\r?\n/);for(const s of n){const o=/^(#{1,6})\s+(.+)$/.exec(s.trim());if(o?.[2])return o[2].trim()}for(const s of n){const o=s.trim();if(o&&!/^---+$/.test(o)&&!/^```/.test(o)&&!/^<!--/.test(o))return o.replace(/^>\s+/,"").slice(0,120)}return t.replace(o1,"").trim()||"需求"}function Z9(e){return e.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"requirement"}function X9(e,t){const n=e.replace(o1,"").trim(),a=Z9(n);return a==="requirement"&&/[^\u0000-\u007f]/.test(n)?`part-${t+1}`:a==="requirement"?n?`part-${t+1}`:`part-${t+1}`:a}function Q9(e){const t=new Set;return e.map((n,a)=>{let s=X9(n.fileName,a);if(t.has(s)){let o=2;for(;t.has(`${s}-${o}`);)o+=1;s=`${s}-${o}`}return t.add(s),{name:s,content:n.text,fileName:n.fileName}})}function J9(e,t){if(e.length===0)return"";if(e.length===1)return e[0].text;const n=Math.min(Math.max(0,t?.primaryIndex??0),e.length-1),a=e[n],s=Y9(a.text,a.fileName),c=[`<!-- composed-from: ${e.map(d=>d.fileName).join(", ")} -->`,"",`# ${s}`,""];for(const d of e)c.push(`## 来源:${d.fileName}`,"",d.text.trim(),"");return`${c.join(`
|
|
16
|
+
`).trimEnd()}
|
|
17
|
+
`}function ek(e,t,n){const a={action:e,actionParams:t};return new TextEncoder().encode(JSON.stringify(a)).byteLength<=H9}function tk(){return"最终内容导致请求体超过服务端限制,请缩小文档或减少文件数量"}function nk(){const[e,t]=w.useState(""),[n,a]=w.useState([]),[s,o]=w.useState(0),[c,d]=w.useState(!1),[m,h]=w.useState(null),[p,g]=w.useState(!1),[x,y]=w.useState(!1),S=w.useRef(0),E=w.useRef(0),R=w.useCallback((K,q)=>{const Q=K.length===0?0:Math.min(Math.max(0,q),K.length-1);o(Q),t(J9(K,{primaryIndex:Q})),d(!1)},[]),N=w.useCallback(async K=>{const q=V9(K,{existingCount:n.length});if(q){h(q.message);return}const Q=Array.from(K),V=++E.current;g(!0),h(null);try{const X=await W9(Q);if(V!==E.current)return;if(!X.ok){h(X.message);return}const W=[...n,...X.documents],B=n.length===0?0:s;a(W),n.length===0||!c?(R(W,B),h(null)):h("已追加文件,未改正文(正文已手动编辑);可点「按文件重新合成」覆盖。")}catch{if(V!==E.current)return;h("文件读取失败,请重试或直接粘贴")}finally{V===E.current&&g(!1)}},[R,c,n,s]),_=w.useCallback(K=>{t(K),n.length>0&&d(!0)},[n.length]),I=w.useCallback(K=>{o(K),c||R(n,K)},[R,c,n]),P=w.useCallback((K,q)=>{const Q=K+q,V=[...n],X=V[Q];V[Q]=V[K],V[K]=X;const W=s===K?Q:s===Q?K:s;a(V),o(W),c||R(V,W)},[R,c,n,s]),F=w.useCallback(K=>{const q=n.filter((V,X)=>X!==K),Q=q.length===0?0:Math.min(s>=K?Math.max(0,s-1):s,Math.max(0,q.length-1));a(q),o(Q),q.length===0?d(!1):c||R(q,Q)},[R,c,n,s]),M=w.useCallback(()=>{a([]),o(0),d(!1),h(null)},[]),A=w.useCallback(()=>{c&&!window.confirm("将用当前文件列表重新合成正文,覆盖你在编辑区的修改。继续?")||(R(n,s),h(null))},[R,c,n,s]),z=w.useCallback((K,q)=>{K.preventDefault(),K.stopPropagation(),!q&&(S.current+=1,y(!0))},[]),G=w.useCallback(K=>{K.preventDefault(),K.stopPropagation(),S.current=Math.max(0,S.current-1),S.current===0&&y(!1)},[]),D=w.useCallback((K,q)=>{K.preventDefault(),K.stopPropagation(),S.current=0,y(!1),!q&&N(K.dataTransfer.files)},[N]);return{prdText:e,setPrdText:t,onPrdTextChange:_,prdDocuments:n,prdPrimaryIndex:s,prdComposedDirty:c,prdFileError:m,setPrdFileError:h,prdFileReading:p,prdDragOver:x,loadPrdFromFiles:N,applyPrdComposition:R,setPrimaryDocument:I,moveDocument:P,removeDocument:F,clearDocuments:M,recomposeDocuments:A,onDragEnter:z,onDragLeave:G,onDrop:D}}const rk={report:{id:"report",label:"查看报告",action:"dagReport",lane:"dag",guide:"看失败分类与建议动作(交接报告摘要)",commandHint:"loop-agent dag report --run-id <run-id> --json"},doctor:{id:"doctor",label:"Doctor 诊断",action:"doctor",lane:"dag",guide:"只读诊断:检查 Console / Pi / 仓库就绪,不是重跑前置",commandHint:"agent-worker console doctor --repo ."},decision:{id:"decision",label:"人工决策",lane:"dag",guide:"暂停等人时:先看 doctor 输出再做决策(经 CLI)",commandHint:"loop-agent dag doctor --run-id <run-id> --markdown"},resume:{id:"resume",label:"恢复运行",lane:"dag",guide:"仅当运行可安全 resume 时使用(经 CLI)",commandHint:"loop-agent task advance <task-id> --json"},reconcile:{id:"reconcile",label:"对账 / reconcile",requiresReason:!0,action:"dagReconcileRun",lane:"dag",guide:"Orphan/中断时先对账归档(默认 supersede);runner 仍存活时勿盲 supersede",commandHint:"loop-agent dag reconcile-run --run-id <run-id> --action supersede --reason <structured-reason>"},regenerate:{id:"regenerate",label:"重新生成契约/计划",lane:"dag",guide:"契约/计划过期时:回任务页或经 CLI 重新 task advance(本页仅提示)",commandHint:"loop-agent task advance <task-id> --json"},observeLink:{id:"observeLink",label:"全屏观测",action:"observeLink",lane:"dag",guide:"打开完整 Inspect 画布;顶栏可返回操作台",commandHint:"agent-worker console --repo . --port 8790"},dagRerun:{id:"dagRerun",label:"从失败节点恢复",requiresReason:!0,action:"dagRerun",lane:"dag",guide:"Provider、网络、限流或超时等非代码问题的首选:先评估安全子图,合格后创建 continuation run 从有效节点恢复(无需 Human Gate)。Worker 持有的 run、workspace/controller 漂移或含 unsafe shell 时不要强跑子图",commandHint:"loop-agent dag rerun --run-id <run-id> --from-node <node-id> --plan"},standaloneTaskRerun:{id:"standaloneTaskRerun",label:"带反馈重新执行任务",requiresReason:!0,action:"standaloneTaskRerun",lane:"dag",guide:"独立 DAG run 无法安全从节点恢复时,重新生成完整 DAG,并带入上一轮仍未解决的 verify/review 反馈;没有可继承反馈时会明确说明(无需 Human Gate)。Worker 持有的 run 请用下方「重新排队 Worker Task」",commandHint:"loop-agent dag rerun-task --run-id <run-id> --reason <text> --json"},workerTaskRetry:{id:"workerTaskRetry",label:"重新排队 Worker Task",requiresReason:!0,action:"workerTaskRetry",lane:"worker",guide:"仅 Worker 队列任务失败时直调执行,服务端校验 Failed 状态,无需 Human Gate;不要与 DAG 完整重跑混用",commandHint:"agent-worker task retry <task-id> --feature-id <feature-id> --repo . --reason <reason>"},interrupt:{id:"interrupt",label:"中止运行",requiresReason:!0,action:"dagRequestInterrupt",lane:"dag",guide:"仅本机 Console 持有的正在运行 DAG:经 Human Gate 登记协作中止,等待当前节点安全收敛。不会立即强杀进程",commandHint:"loop-agent dag request-interrupt --run-id <run-id> --reason-code operator-request --reason <structured-reason>"}},G2={"validation-failed":["report","doctor","regenerate"],"contract-drift":["report","doctor","decision","reconcile","regenerate"],"runtime-mismatch":["report","doctor","reconcile","regenerate"],"pause-on-human":["decision","resume","report","doctor"],"verification-failed":["report","doctor","dagRerun","standaloneTaskRerun","resume","regenerate"],"orphan-unknown":["report","doctor"],"terminal-failed":["report","doctor","dagRerun","standaloneTaskRerun","workerTaskRetry","regenerate"],"terminal-succeeded":["report","observeLink"],"needs-reconcile":["report","doctor","reconcile","regenerate"],"running-active":["interrupt","report","doctor","observeLink"]},ak=new Set(["succeeded","failed","timed-out"]);function ik(e){const t=(e.interruptStatus??"").trim();if(!t||t==="none")return null;if(t==="requested")return"请求已登记,等待 runner 确认。";if(t==="acknowledged")return"等待当前节点安全收敛(不会立即强杀)。";if(t==="needs-reconcile")return"需要对账:中止请求未能确认。";if(t==="settled"){const n=e.dagStatus==="failed"||e.dagStatus==="partial_failed",a=(e.failureCategory??"").includes("controller-interrupted"),s=ak.has(e.targetOperationState??"");return n&&a&&s?"已中止。":"正在对账,尚未确认退出。"}return null}function sk(e){return(G2[e]??G2["orphan-unknown"]).map(n=>rk[n])}function ok(e){const t=[],n=[];for(const a of e)a.lane==="worker"?n.push(a):t.push(a);return{dag:t,worker:n}}function lk(e){return typeof e.action=="string"&&e.action.trim().length>0}function A5(e){return sk(e).filter(lk)}function ck(e){const t=new Set(A5(e).map(a=>a.id)),n=(...a)=>{for(const s of a)if(t.has(s))return s;return null};switch(e){case"terminal-failed":case"verification-failed":return n("dagRerun","standaloneTaskRerun","doctor","report");case"pause-on-human":return n("doctor","report");case"needs-reconcile":return n("doctor","reconcile","report");case"running-active":return n("interrupt","doctor","report");case"runtime-mismatch":case"contract-drift":return n("doctor","report");case"validation-failed":return n("doctor","report");case"terminal-succeeded":return n("observeLink","report");default:return n("doctor","report")}}function uk(e){if(e.needsReconcile)return"needs-reconcile";const t=(e.errorCode??"").toLowerCase(),n=(e.operationState??"").toLowerCase(),a=(e.dagStatus??"").toLowerCase(),s=(e.failureCategory??"").toLowerCase();return t.includes("validation")||t.includes("invalid")||n.includes("validation")?"validation-failed":t.includes("contract")||t.includes("drift")||t.includes("binding")?"contract-drift":t.includes("runtime")||t.includes("mismatch")||t.includes("fingerprint")?"runtime-mismatch":t.includes("human")||n.includes("paused")||a.includes("paused")||n.includes("awaiting")?"pause-on-human":t.includes("verif")||n.includes("verif")?"verification-failed":s==="controller-interrupted"||t.includes("controller-interrupted")||t.includes("interrupted")||a==="interrupted"||a==="orphaned"||n.includes("controller-interrupted")||n.includes("interrupted")?"needs-reconcile":a==="running-suspected-stall"||a==="running-quiet"||a==="suspected-stall"||a.includes("suspected-stall")||n.includes("suspected-stall")?"orphan-unknown":a==="running"||a==="active"?"running-active":n==="succeeded"||n==="completed"||n==="finished"||a==="succeeded"||a==="completed"||a==="finished"?"terminal-succeeded":n==="failed"||n.includes("fail")||a==="failed"||a==="partial_failed"||t.includes("fail")?"terminal-failed":t.includes("reconcil")||n.includes("reconcil")?"needs-reconcile":"orphan-unknown"}const l1=new Set(["failed","error","partial_failed"]),_5=new Set(["blocked","paused","awaiting_human"]);function Dd(e){return(e??"").trim().toLowerCase()}function dk(e){return l1.has(Dd(e))}function V2(e){const t=Dd(e.status);return l1.has(t)||t.includes("fail")?0:e.lifecycle==="paused"||t==="paused"?1:e.lifecycle==="active"?2:3}function fk(e){return[...e].sort((t,n)=>{const a=V2(t)-V2(n);return a!==0?a:n.mtimeMs-t.mtimeMs})}function mk(e){return fk(e)[0]?.dagRunId}function K2(e){const t=Dd(e.status);return l1.has(t)?0:_5.has(t)?1:2}function M5(e){return[...e].sort((t,n)=>{const a=K2(t)-K2(n);return a!==0?a:t.nodeId.localeCompare(n.nodeId)})}function hk(e){const t=M5(e);return t.find(a=>dk(a.status)||_5.has(Dd(a.status)))?.nodeId??t[0]?.nodeId}function pk(e){const t=e.status?.trim()||e.lifecycle;return`${e.dagRunId.length>36?`${e.dagRunId.slice(0,18)}…${e.dagRunId.slice(-8)}`:e.dagRunId} · ${t}`}function gk(e){const t=e.status?.trim()||"unknown",n=e.label?.trim();return n&&n!==e.nodeId?`${e.nodeId} · ${t} · ${n}`:`${e.nodeId} · ${t}`}function vk(e){const n=[`operator-recovery: ${e.actionLabel?.trim()||"恢复"}`],a=e.dagRunId?.trim();if(a){const d=e.runStatus?.trim();n.push(d?`run=${a} (${d})`:`run=${a}`)}const s=e.fromNodeId?.trim();if(s){const d=e.nodeStatus?.trim();n.push(d?`from-node=${s} (${d})`:`from-node=${s}`)}const o=e.factClassLabel?.trim();o&&n.push(`fact=${o}`);const c=e.nodeError?.trim()||e.errorMessage?.trim()||(e.errorCode?.trim()?`code=${e.errorCode.trim()}`:"");return c&&n.push(`detail=${c.replace(/\s+/g," ").slice(0,280)}`),n.join(`
|
|
18
|
+
`).slice(0,500)}function O5(e){const t=e.trim();return t?t==="operator-recovery"||t.startsWith("operator-recovery:")||t.startsWith("recovery:"):!0}async function W2(e){const t=await e.runAction("prepareMutationGate",{action:e.action,actionParams:e.actionParams});if(!e.isActionSuccess(t))return;const n=t?.result??t,a=n.receiptId?n:n.result??n;if(!a.receiptId||!a.humanGateToken){e.setOpError("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await e.runAction(e.action,{...e.actionParams,confirmationId:a.receiptId,humanGateToken:a.humanGateToken},{clientRequestId:e.clientRequestId})}function bk(e){const{shell:t,actions:n,taskId:a,dagRunId:s,fromNodeId:o,featureId:c,recoveryReason:d,recoveryReasonTouched:m,recoveryConfirm:h,recoveryPlanSummary:p,interruptReasonCode:g,setRecoveryConfirm:x,setRecoveryPlanSummary:y,setRecoveryReport:S,setRecoveryReason:E,setRecoveryReasonTouched:R,buildCurrentRecoveryReason:N,openFullCanvas:_}=e,{setOpError:I,setOpErrorCode:P,setOpMessage:F,setBusy:M}=t,{runAction:A,isActionSuccess:z}=n,G=w.useCallback(async K=>{if(K.requiresReason||(x(null),y(null)),K.action==="doctor"){S(null),A("doctor",{});return}if(K.action==="dagReport"||K.id==="report"){const q=s.trim();if(q){x(null),y(null);const Q=await A("dagReport",{runId:q}),V=Q?.result??{},X=(V.raw?.runs??V.runs)?.[0];Q&&Q.ok!==!1&&!Q.error&&X&&(S({runId:X.runId??q,title:X.title,status:X.status,category:X.productLineFailureCategory,recommendation:X.recoveryRecommendation?.summary??X.recommendedFollowUp??void 0}),F(null));return}if(a.trim()){S(null),A("status",{taskId:a});return}I("查看报告需要先选择 DAG 运行 ID(或填写任务 ID)");return}if(K.action==="observeLink"){S(null),_();return}if(K.requiresReason){if(S(null),x(K),y(null),K.id!=="dagRerun"&&(I(null),P(null)),(!m||O5(d))&&(E(N(K.label)),R(!1)),K.id==="dagRerun"&&s.trim()&&o.trim()){M(!0);try{const{status:q,body:Q}=await Io("dagRerunPlan",{runId:s.trim(),fromNode:o.trim()}),V=Q.result??{};V&&typeof V=="object"&&("eligible"in V||V.planHash)&&y(V),q<400&&Q.ok!==!1&&V.eligible!==!1?F(null):V.eligible===!1?I(ua(dm(V,Q.error?.message))):F(Q.error?.message??"无法预检重跑计划;确认后仍将尝试提交(CLI 可能尚未就绪)")}finally{M(!1)}}return}I(null),P(null),F(`${K.label}:请经 CLI — ${K.commandHint??""}`)},[N,s,o,_,d,m,A,M,I,P,F,x,y,S,E,R,a]),D=w.useCallback(async()=>{const K=h;if(!K)return;const q=d.trim();if(!q){I("恢复操作需要结构化原因");return}const Q=ad(`recovery-${K.id}`);if(x(null),K.id==="dagRerun"){const V=s.trim(),X=o.trim();if(!V||!X){I("从失败节点恢复需要 DAG 运行 ID 与起始节点 ID");return}let W=p?.planHash?.trim(),B=p?.eligible;if(!W||B===void 0){const Y=await A("dagRerunPlan",{runId:V,fromNode:X}),me=Y?.result??{};if((me.planHash||me.eligible!==void 0)&&y(me),W=me.planHash?.trim()||W,B=me.eligible,me.eligible===!1){I(ua(dm(me,Y?.error?.message)));return}if(Y&&Y.ok===!1&&!W){I(Y.error?.message??"无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}}if(B===!1){I(ua(dm(p??{})));return}if(!W){I("无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}await A("dagRerun",{runId:V,fromNode:X,planHash:W,reason:q},{clientRequestId:Q});return}if(K.id==="standaloneTaskRerun"){const V=s.trim();if(!V){I("带反馈重新执行任务需要 DAG 运行 ID");return}await A("standaloneTaskRerun",{runId:V,reason:q,...a.trim()?{taskId:a.trim()}:{}},{clientRequestId:Q});return}if(K.id==="workerTaskRetry"){const V=a.trim();if(!V){I("重新排队 Worker Task 需要任务 ID");return}await A("workerTaskRetry",{taskId:V,reason:q,...c.trim()?{featureId:c.trim()}:{}},{clientRequestId:Q});return}if(K.id==="interrupt"){const V=s.trim();if(!V){I("中止运行需要 DAG 运行 ID");return}if(q.trim().length<10||q.trim().length>500){I("中止原因去首尾空白后必须是 10–500 个字符,请手写说明,不要用占位句。");return}await W2({runAction:A,isActionSuccess:z,setOpError:I,action:"dagRequestInterrupt",actionParams:{runId:V,reasonCode:g.trim()||"operator-request",reasonDetail:q},clientRequestId:Q});return}if(K.id==="reconcile"){const V=s.trim();if(!V){I("对账恢复需要 DAG 运行 ID");return}await W2({runAction:A,isActionSuccess:z,setOpError:I,action:"dagReconcileRun",actionParams:{runId:V,reason:q,reconcileAction:"supersede"},clientRequestId:Q});return}F(`${K.label}:请经 CLI — ${K.commandHint??""}`)},[s,c,o,h,p?.planHash,d,g,A,z,I,F,x,y,a]);return{handleRecoveryCta:G,submitRecoveryConfirm:D}}function yk(e,t){const n=e?.trim();return n?t.includes(n)?{status:"ok",workspaceId:n}:{status:"unknown-workspace",workspaceId:n}:{status:"ok",workspaceId:void 0}}const D5="loop-console.operator-shell.last-operate-tab.v1",j5="loop-console.operator-shell.last-inspect-hash.v1",zo="tasks",c1="/#/chat",Ql="/#/inspect",up=/^(dag|run|task|feature|batch|night|pool|failures|dags)(\/|$)/;function Ao(e){const t=String(e??"").replace(/^#/,""),n=t.indexOf("?"),a=n>=0?t.slice(0,n):t,s=a?a.startsWith("/")?a:`/${a}`:"/",o=new URLSearchParams(n>=0?t.slice(n+1):"");return{path:s,query:o}}function Jl(e){return e==="/inspect"||e==="/inspect/"?"/":e.startsWith("/inspect/")?e.slice(8)||"/":e}function dp(e){return e==="tasks"||e==="recovery"||e==="night"||e==="models"||e==="settings"||e==="pi-plugins"}function Mr(e,t){return e.get(t)?.trim()||void 0}function ud(e){return{...Mr(e,"taskId")?{taskId:Mr(e,"taskId")}:{},...Mr(e,"dagRunId")?{dagRunId:Mr(e,"dagRunId")}:{},...Mr(e,"fromNodeId")?{fromNodeId:Mr(e,"fromNodeId")}:{},...Mr(e,"featureId")?{featureId:Mr(e,"featureId")}:{},...Mr(e,"intent")?{intent:Mr(e,"intent")}:{},...Mr(e,"workspaceId")?{workspaceId:Mr(e,"workspaceId")}:{},...Mr(e,"sessionId")?{sessionId:Mr(e,"sessionId")}:{}}}function L5(e){const t=new URLSearchParams;for(const n of["taskId","dagRunId","fromNodeId","featureId","intent","workspaceId","sessionId"]){const a=e[n]?.trim();a&&t.set(n,a)}return t.toString()}function hm(e){try{const t=e?.getItem(D5);if(dp(t))return t}catch{}return zo}function xk(e,t){try{t?.setItem(D5,e)}catch{}}function wk(e){try{const t=e?.getItem(j5)?.trim();if(t?.startsWith("/#/inspect"))return t}catch{}return Ql}function kk(e,t){const n=e.startsWith("/#/inspect")?e:Qi(e);if(n.startsWith("/#/inspect"))try{t?.setItem(j5,n)}catch{}}function dd(e=zo,t={}){const n=L5(t);return`/#/operate/${e}${n?`?${n}`:""}`}function ja(e="/",t){const n=Jl(e.startsWith("/")?e:`/${e}`),a=n==="/"||n===""?"/inspect":`/inspect${n}`,s=typeof t=="string"?t.replace(/^\?/,""):t?.toString()??"";return`/#${a}${s?`?${s}`:""}`}function u1(e={}){return c1}function fd(e,t){const n=e.startsWith("/#")?e:e.startsWith("#")?`/${e}`:Qi(e),{path:a,query:s}=Ao(n.slice(2));if(a==="/chat")return c1;const o=t?.trim();o?s.set("workspaceId",o):s.delete("workspaceId");const c=s.toString();return`/#${a}${c?`?${c}`:""}`}function Sk(e){return fd(Ql,e)}function Yi(e,t=typeof globalThis.location>"u"?void 0:globalThis.location){const{query:n}=Ao(t?.hash??""),a=n.get("workspaceId")?.trim()||new URLSearchParams(t?.search??"").get("workspaceId")?.trim()||void 0;return fd(e,a)}function pm(e){return e.workspace==="chat"?u1(e):e.workspace==="operate"?dd(e.operateTab??zo,e):ja(e.inspectPath??"/",e.inspectQuery)}function gm(e,t,n){const a=t.toString(),s=ja(e,a);return{workspace:"inspect",operateTab:zo,inspectPath:Jl(e),canonicalHash:s.slice(2),canonicalHref:s,replace:n,...ud(t)}}function Cu(e,t,n){const a=dd(e,ud(t));return{workspace:"operate",operateTab:e,inspectPath:"/",canonicalHash:a.slice(2),canonicalHref:a,replace:n,...ud(t)}}function Ek(e,t){const n=t??{},a=c1;return{workspace:"chat",operateTab:zo,inspectPath:"/",canonicalHash:a.slice(2),canonicalHref:a,replace:e||L5(n).length>0,...n}}function vm(e,t={}){const n=String(e.pathname??"/").replace(/\/+$/,"")||"/",a=t.lastOperateTab??zo;if(n==="/inspect"){const{path:d,query:m}=Ao(e.hash??"#/");return gm(d,m,!0)}const{path:s,query:o}=Ao(e.hash??"");if(!e.hash||s==="/")return null;if(s==="/inspect"||s.startsWith("/inspect/"))return gm(Jl(s),o,!1);if(s==="/chat")return Ek(!1,ud(o));if(s==="/operate")return Cu(a,o,!0);if(s.startsWith("/operate/")){const d=s.slice(9).split("/")[0]??"";return dp(d)?Cu(d,o,!1):Cu(a,o,!0)}if(dp(s.replace(/^\//,"").split("/")[0]??"")){const d=s.replace(/^\//,"").split("/")[0];return Cu(d,o,!0)}const c=Jl(s).replace(/^\//,"");return up.test(c)?gm(s,o,!0):null}function Qi(e,t=typeof globalThis.location?.href=="string"?globalThis.location.href:"http://local.invalid/"){const n=String(e??"").trim();if(!n)return Ql;if(n.startsWith("/#/inspect"))return n;if(n.startsWith("#/inspect"))return`/${n}`;if(n.startsWith("/#/operate")||n.startsWith("/#/chat"))return n;if(n.startsWith("#/operate")||n.startsWith("#/chat"))return`/${n}`;try{const a=new URL(n,t);if((a.pathname.replace(/\/+$/,"")||"/")==="/inspect"){const{path:m,query:h}=Ao(a.hash||"#/"),p=new URLSearchParams(a.search);for(const[g,x]of h)p.set(g,x);return ja(m,p)}const{path:o,query:c}=Ao(a.hash||"");if(o==="/inspect"||o.startsWith("/inspect/"))return ja(Jl(o),c);const d=o.replace(/^\//,"");if(up.test(d))return ja(o,c)}catch{}return n.startsWith("#/")&&up.test(n.slice(2))?ja(n.slice(1)):Ql}function Tk(e){const t=e.startsWith("/#")?e:e.startsWith("#")?`/${e}`:Qi(e);return t.startsWith("/#")?t.slice(1):t}function js(e){const t=Tk(e);if(typeof window>"u")return t;const n=window.location.hash||"",a=n.startsWith("#")?n:`#${n}`,s=t.startsWith("#")?t:`#${t}`;return a!==s&&(window.location.hash=s),s}function Ck(e){const{shell:t,actions:n,wizard:a}=e,{nav:s,opError:o,opErrorCode:c,lastOpState:d,setOpError:m,setObserveBusy:h}=t,{taskId:p}=a,[g,x]=w.useState(""),[y,S]=w.useState(""),[E,R]=w.useState(""),[N,_]=w.useState(""),[I,P]=w.useState(!1),[F,M]=w.useState(null),[A,z]=w.useState(null),[G,D]=w.useState(!1),[K,q]=w.useState("operator-request"),[Q,V]=w.useState(null),[X,W]=w.useState([]),[B,Y]=w.useState([]),[me,j]=w.useState(!1),[U,ee]=w.useState(!1),[O,ge]=w.useState(null),[Z,le]=w.useState(null),[ce,pe]=w.useState(null),[ue,J]=w.useState(!1),[oe,ie]=w.useState(!1),[we,Se]=w.useState(null),[Re,Ze]=w.useState("idle"),[it,rt]=w.useState(null),[Pt,gt]=w.useState(null),[Dt,Lt]=w.useState(!1),vt=w.useCallback(()=>g.trim()?Yi(ja(`/dag/${encodeURIComponent(g.trim())}`,"from=recovery")):Yi("/#/inspect"),[g]),Ke=w.useCallback(()=>{js(vt())},[vt]),bt=w.useCallback(async()=>{if(g.trim())return g.trim();const Qe=p.trim();if(!Qe)return m("打开 DAG 检视需要任务 ID 或 DAG 运行 ID"),null;h(!0),m(null);try{const{status:ve,body:st}=await Io("observeLink",{taskId:Qe}),Fe=st.result??{};if(ve>=400||st.ok===!1)return m(st.error?.message??"无法解析 DAG 画布地址"),Ze("unavailable"),rt(st.error?.message??null),null;const mt=typeof Fe.dagRunId=="string"?Fe.dagRunId.trim():"";return mt?(x(mt),Ze("match"),rt(null),gt(Yi(ja(`/dag/${encodeURIComponent(mt)}`))),mt):(m("尚未找到该任务的 DAG 运行,请稍后再打开检视"),Ze("unavailable"),rt(Fe.message??"未解析到 DAG run"),null)}catch(ve){return m(ve instanceof Error?ve.message:String(ve)),null}finally{h(!1)}},[g,p,m,h]),xe=w.useCallback(async()=>{await bt()&&Lt(!0)},[bt]),_e=w.useCallback(async()=>{const Qe=await bt();Qe&&js(Yi(ja(`/dag/${encodeURIComponent(Qe)}`,"from=recovery")))},[bt]),qe=w.useCallback(async()=>{j(!0);try{const Qe=p.trim(),ve=new URLSearchParams;Qe&&ve.set("taskId",Qe),ve.set("limit","40");const st=await fetch(jr(`/api/operator/v1/recovery/candidates?${ve.toString()}`),{credentials:"same-origin"});if(!st.ok){W([]);return}const Fe=await st.json();W(Array.isArray(Fe.runs)?Fe.runs:[])}catch{W([])}finally{j(!1)}},[p]),De=w.useCallback(async Qe=>{const ve=Qe.trim();if(!ve){Y([]),ge(null),le(null),pe(null);return}ee(!0);try{const st=await fetch(jr(`/api/dag-runs/${encodeURIComponent(ve)}`),{credentials:"same-origin"});if(!st.ok){Y([]),ge(null),le(null);return}const Fe=await st.json(),mt=typeof Fe.effectiveStatus=="string"&&Fe.effectiveStatus||typeof Fe.status=="string"&&Fe.status||null;ge(mt);const ne=Array.isArray(Fe.nodes)?Fe.nodes:[],Ee=M5(ne.map(ht=>{const Bt=(ht.nodeId??ht.id??"").trim();return Bt?{nodeId:Bt,status:ht.status,label:ht.label??ht.name,errorPreview:ht.errorPreview}:null}).filter(ht=>ht!==null));Y(Ee);const je=typeof Fe.failureCategory=="string"&&Fe.failureCategory||void 0,ct=ne.find(ht=>typeof ht.failureCategory=="string"&&ht.failureCategory&&ht.failureCategory!=="success")?.failureCategory;le(je??ct??null),pe(Fe.frontendRecovery??null)}catch{Y([]),ge(null),le(null),pe(null)}finally{ee(!1)}},[]);w.useEffect(()=>{s==="recovery"&&qe()},[s,p,qe]),w.useEffect(()=>{if(s!=="recovery"||ue||X.length===0)return;const Qe=g.trim(),ve=Qe?X.some(st=>st.dagRunId===Qe):!1;if(!Qe||!ve){const st=mk(X);st&&st!==Qe&&x(st)}},[s,X,g,ue]),w.useEffect(()=>{s==="recovery"&&De(g)},[s,g,De]),w.useEffect(()=>{if(s!=="recovery")return;const Qe=g.trim();if(!Qe){V(null);return}const st=O&&new Set(["finished","failed","partial_failed","superseded","abandoned","interrupted"]).has(O)?3e4:4e3,Fe=st===4e3;let mt=!1;const ne=async()=>{const{body:je}=await Io("dagInterruptEligibility",{runId:Qe});if(mt)return;const ct=je.result??je;if(V({eligible:ct.eligible===!0,ownerKind:ct.ownerKind,message:ct.message,interruptStatus:ct.interruptStatus,reasonCodes:ct.reasonCodes,targetOperationId:ct.targetOperationId,targetOperationState:ct.targetOperationState}),!!Fe)try{const ht=await fetch(jr(`/api/dag-runs/${encodeURIComponent(Qe)}`),{credentials:"same-origin"});if(!ht.ok||mt)return;const Bt=await ht.json();if(mt)return;const nt=typeof Bt.effectiveStatus=="string"&&Bt.effectiveStatus||typeof Bt.status=="string"&&Bt.status||null;ge(nt)}catch{}};ne();const Ee=window.setInterval(()=>{ne()},st);return()=>{mt=!0,window.clearInterval(Ee)}},[s,g,O]),w.useEffect(()=>{if(s!=="recovery"||oe||B.length===0)return;const Qe=y.trim(),ve=Qe?B.some(st=>st.nodeId===Qe):!1;if(!Qe||!ve){const st=hk(B);st&&st!==Qe&&S(st)}},[s,B,y,oe]);const We=uk({operationState:O?null:d,errorCode:O?null:c,dagStatus:O,failureCategory:Z}),Tt=w.useMemo(()=>{const Qe=A5(We);return We!=="running-active"||Q?.eligible?Qe:Qe.filter(ve=>ve.id!=="interrupt")},[We,Q?.eligible]),Wt=w.useMemo(()=>ok(Tt),[Tt]),Qt=w.useMemo(()=>ck(We),[We]),At=w.useMemo(()=>B.find(Qe=>Qe.nodeId===y.trim()),[B,y]),Pe=w.useRef(null);w.useEffect(()=>{A&&Pe.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[A?.id]);const Oe=w.useCallback(Qe=>vk({actionLabel:Qe,dagRunId:g.trim()||void 0,fromNodeId:y.trim()||void 0,runStatus:O,nodeStatus:At?.status,nodeError:At?.errorPreview,factClassLabel:N5[We],errorMessage:o,errorCode:c}),[g,y,o,c,We,O,At?.errorPreview,At?.status]);w.useEffect(()=>{if(s!=="recovery"||I&&!O5(N))return;const Qe=Oe(A?.label);Qe&&Qe!==N&&_(Qe)},[s,g,y,O,At,We,o,c,A?.label,I,N,Oe]);const{handleRecoveryCta:Ye,submitRecoveryConfirm:Je}=bk({shell:t,actions:n,taskId:p,dagRunId:g,fromNodeId:y,featureId:E,recoveryReason:N,recoveryReasonTouched:I,recoveryConfirm:A,recoveryPlanSummary:F,interruptReasonCode:K,setRecoveryConfirm:z,setRecoveryPlanSummary:M,setRecoveryReport:Se,setRecoveryReason:_,setRecoveryReasonTouched:P,buildCurrentRecoveryReason:Oe,openFullCanvas:_e});return w.useEffect(()=>{if(s!=="recovery"||!G||!Q?.eligible)return;const Qe=Tt.find(ve=>ve.id==="interrupt");Qe&&(z(Qe),_(Oe(Qe.label)),P(!1),D(!1))},[s,G,Q?.eligible,Tt,Oe]),{dagRunId:g,setDagRunId:x,fromNodeId:y,setFromNodeId:S,featureId:E,setFeatureId:R,recoveryReason:N,setRecoveryReason:_,recoveryReasonTouched:I,setRecoveryReasonTouched:P,recoveryPlanSummary:F,recoveryConfirm:A,setRecoveryConfirm:z,setRecoveryPlanSummary:M,recoveryRuns:X,recoveryNodes:B,recoveryRunsLoading:me,recoveryNodesLoading:U,recoveryRunStatus:O,recoveryFailureCategory:Z,frontendRecovery:ce,manualRunId:ue,setManualRunId:J,manualNodeId:oe,setManualNodeId:ie,recoveryReport:we,setRecoveryReport:Se,observeLinkStatus:Re,observeLinkMessage:it,observeUrl:Pt,inspectSplitOpen:Dt,setInspectSplitOpen:Lt,inspectPath:vt,openFullInspect:Ke,resolveDagRunForInspect:bt,openInspectSplit:xe,openFullCanvas:_e,loadRecoveryRuns:qe,loadRecoveryNodes:De,recoveryFact:We,recoveryCtas:Tt,recoveryLanes:Wt,recommendedCtaId:Qt,interruptIntent:G,setInterruptIntent:D,interruptReasonCode:K,setInterruptReasonCode:q,interruptEligibility:Q,recoveryConfirmRef:Pe,buildCurrentRecoveryReason:Oe,handleRecoveryCta:Ye,submitRecoveryConfirm:Je}}async function Nk(e,t){const a=await fetch(jr(`/api/tasks/${encodeURIComponent(e)}/ledger`),{credentials:"same-origin"});return a.ok?{ok:!0,summary:await a.json()}:{ok:!1}}function Rk(e){const{shell:t,actions:n,prd:a}=e,{step:s,setStep:o,setOpMessage:c}=t,{runAction:d,isActionSuccess:m,summarizeEnvelope:h}=n,[p,g]=w.useState(""),[x,y]=w.useState(""),[S,E]=w.useState("standard"),[R,N]=w.useState(""),[_,I]=w.useState(""),[P,F]=w.useState(""),M=op.find(De=>De.kind===S)??op[0],[A,z]=w.useState(null),[G,D]=w.useState(null),[K,q]=w.useState(""),[Q,V]=w.useState(null),[X,W]=w.useState(null),[B,Y]=w.useState(null),[me,j]=w.useState(null),[U,ee]=w.useState(null),[O,ge]=w.useState(!1),[Z,le]=w.useState(null),[ce,pe]=w.useState(!1),[ue,J]=w.useState(null),[oe,ie]=w.useState(null),[we,Se]=w.useState(null),Re=w.useRef(!1),Ze=w.useRef(0),it=w.useCallback(()=>{Y(null),j(null),ee(null),ge(!1),le(null),pe(!1),J(null),ie(null),Se(null),Re.current=!1,Ze.current=0},[]),rt=w.useCallback(()=>{it(),o("contract")},[it,o]),Pt=w.useCallback(De=>{const We=De.session;We?.sessionId&&z(We.sessionId);const Tt=De.question;D(Tt),V(De.summary??null);const Wt=De.assessmentId;typeof Wt=="string"&&Wt&&W(Wt),(De.complete===!0||typeof Wt=="string"&&Wt)&&(rt(),c(De.skipped===!0?"已跳过访谈:已按推荐补齐草稿并签发评估":"访谈已完成:草稿已绑定完整评估结果"))},[rt,c]),gt=w.useCallback(async(De,We)=>{const Tt=++Ze.current;pe(!0),J(null);try{const Wt=await Nk(De);if(Ze.current!==Tt)return;if(!Wt.ok){ie(null),We&&J("ledger 接口不可达(安全降级)");return}ie(Wt.summary)}catch{if(Ze.current!==Tt)return;J("ledger 接口不可达(安全降级)"),ie(null)}finally{Ze.current===Tt&&pe(!1)}},[]),Dt=w.useCallback(async(De=!1)=>{const We=p.trim();if(!We)return;const Tt=`${We}:${X??""}`;if(!(!De&&we===Tt&&B!==null)&&!Re.current){Re.current=!0,Y(null),j(null),ee(null),le(null),ge(!1),await gt(We,!1);try{const Wt=await d("contractValidate",{taskId:We}),Qt=m(Wt);if(Y(Qt),j(h(Wt)),!Qt){Se(Tt),c("契约校验未通过:请先修正草稿后再应用");return}const At=await d("contractDiff",{taskId:We});ee(h(At)),Se(Tt),c(m(At)?"校验与差异已就绪:确认后可应用契约":"校验通过,但差异查询失败(仍可查看下方摘要)")}finally{Re.current=!1}}},[X,we,B,m,gt,d,c,h,p]),Lt=w.useCallback(async()=>{const De=p.trim();if(!De||!X)return;const We=await d("contractApply",{taskId:De,assessmentId:X},{clientRequestId:ad("apply")});if(!m(We)){ge(!1);return}ge(!0),await gt(De,!0);const Tt=await d("spineCheck",{taskId:De});if(m(Tt)){le(!0),o("dag-confirm"),c("契约已应用并通过 Spine 审计,可生成并运行 DAG");return}le(!1),c("契约已应用,但 Spine 审计未通过:可重试 Spine")},[X,m,gt,d,c,o,p]),vt=w.useCallback(async()=>{const De=p.trim();if(!De)return;const We=await d("spineCheck",{taskId:De});if(m(We)){le(!0),o("dag-confirm"),c("Spine 审计已通过,可生成并运行 DAG");return}le(!1)},[m,d,c,o,p]),Ke=w.useCallback(async()=>{const De=n.confirmationId?.trim();if(!De)return;const We=n.confirmationDetails?.confirmation?.humanGateToken,Tt=await d("confirmDagConfirmation",{confirmationId:De,humanGateToken:We});m(Tt)&&(o("run"),await d("runDag",{confirmationId:De},{clientRequestId:ad("run")}))},[n.confirmationId,n.confirmationDetails,m,d,o]);w.useEffect(()=>{s==="contract"&&p.trim()&&Dt(!1)},[s,p,X,Dt]);const bt=w.useCallback(De=>De.split(/[\n,;,;]+/).map(We=>We.trim()).filter(Boolean),[]),xe=w.useCallback(async()=>{const De=a.prdDocuments.length>0?Q9(a.prdDocuments):void 0,We=bt(R),Tt=bt(_),Wt=bt(P),Qt={content:a.prdText,taskKind:S,...De?{documents:De}:{},...We.length>0?{allowedPaths:We}:{},...Tt.length>0?{forbiddenPaths:Tt}:{},...Wt.length>0?{verifyCommands:Wt}:{}};if(!ek("bootstrapFromPrd",Qt)){a.setPrdFileError(tk());return}const At=await d("bootstrapFromPrd",Qt);if(!At||At.ok===!1)return;const Pe=At.result??{};Pe.taskId&&g(Pe.taskId),Pe.title&&y(Pe.title);const Oe=Pe.parseStatus??"pending",Ye=Pe.draftPreview?.objective?.trim(),Je=Array.isArray(Pe.gaps)?Pe.gaps.length:0,Qe=Pe.semanticIntake?.applied?"semantic":Pe.semanticIntake?.code??"no-semantic",ve=(Pe.autoImportedReferences??[]).filter(Fe=>Fe.repoRelative),st=(Pe.unresolvedReferences??[]).filter(Fe=>Fe.token);c([`已创建任务「${Pe.title??""}」(${Pe.taskId??""})`,`来源:${Pe.identitySource??"prd"}`,`解析:${Oe}(${Qe})`,Ye?`目标:${Ye.slice(0,120)}`:null,Je>0?`缺口 ${Je} 项待确认`:null,ve.length>0?`已自动导入 ${ve.length} 个引用文档(${ve.map(Fe=>`${Fe.repoRelative}${Fe.role?`:${Fe.role}`:""}`).join("、")})`:null,st.length>0?`有 ${st.length} 个引用未能解析:${st.map(Fe=>`${Fe.token}(${Fe.reason??"未知原因"})`).join("、")}`:null].filter(Boolean).join(" · ")),o("interview")},[R,_,a,d,c,o,bt,S,P]),_e=[{id:"setup",label:"就绪检查"},{id:"import-prd",label:"导入需求"},{id:"interview",label:"需求访谈(可跳过)"},{id:"contract",label:"契约落地"},{id:"dag-confirm",label:"确认 DAG"},{id:"run",label:"运行"}],qe=_e.findIndex(De=>De.id===s);return{taskId:p,setTaskId:g,taskTitle:x,taskKind:S,setTaskKind:E,engineering:{allowedPathsText:R,forbiddenPathsText:_,verifyCommandsText:P},setEngineering:De=>{De.allowedPathsText!==void 0&&N(De.allowedPathsText),De.forbiddenPathsText!==void 0&&I(De.forbiddenPathsText),De.verifyCommandsText!==void 0&&F(De.verifyCommandsText)},workflowMeta:M,sessionId:A,question:G,answerText:K,setAnswerText:q,draftSummary:Q,assessmentId:X,contractValidateOk:B,contractValidateSummary:me,contractDiffSummary:U,ledgerLoading:ce,ledgerError:ue,ledgerSummary:oe,contractApplied:O,spineOk:Z,applyInterviewPayload:Pt,runContractPreflight:Dt,applyContractThenSpine:Lt,retrySpineOnly:vt,confirmAndRunDag:Ke,importPrdAndCreate:xe,wizardSteps:_e,stepIndex:qe}}async function Ik(e){return await import(e)}function Ak(e){const{nav:t,primary:n,chatHref:a,operateHref:s,readiness:o,setupBlocked:c,degraded:d,inspectHref:m,workspaces:h,workspaceId:p,workspacesLoading:g,onSelectWorkspace:x,onNavigate:y}=e,S=c||d?"models":"settings",E=c?"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。点击前往模型与认证。":d?"Pi 暂时降级:仍可恢复草稿与需求访谈。点击查看详情。":"Pi 已就绪。点击打开设置查看详情。",R=n==="operate"?`/#/operate/${t==="chat"?"tasks":t}`:n==="inspect"?m:null,N=n==="chat";return{mode:n,activeTabHref:R,chatHref:a,operateHref:s,inspectHref:m||Ql,freshness:n==="inspect",readinessState:o,readinessHref:`/#/operate/${S}`,readinessTitle:E,onNavigate:y,repo:null,statusVisible:n==="inspect",liveLocation:n==="inspect",workspaceSwitcher:N?null:{activeId:p,loading:g,items:h.map(_=>({workspaceId:_.workspaceId,name:_.name,displayPath:_.displayPath}))},onSelectWorkspace:x}}function _k(e){const t=w.useRef(null),n=w.useRef(null),[a,s]=w.useState(!1),o=w.useMemo(()=>Ak(e),[e.nav,e.primary,e.chatHref,e.operateHref,e.readiness,e.setupBlocked,e.degraded,e.inspectHref,e.workspaces,e.workspaceId,e.workspacesLoading,e.onSelectWorkspace,e.onNavigate]),c=w.useRef(o);c.current=o,w.useEffect(()=>{let m=!1;return Ik("/inspect/operator-chrome.js").then(h=>{m||!t.current||(n.current=h.mountOperatorChrome(t.current,c.current))}).catch(()=>{m||s(!0)}),()=>{m=!0,n.current?.destroy(),n.current=null}},[]),w.useEffect(()=>{n.current?.update(o)},[o]);const d=m=>{e.onNavigate?e.onNavigate(m):window.location.hash=m.startsWith("/#")?m.slice(1):m};return u.jsxs(u.Fragment,{children:[u.jsx("div",{ref:t,"data-testid":"operator-chrome"}),a?u.jsxs("nav",{className:"operator-chrome-fallback","aria-label":"产品模式",children:[u.jsx("select",{"aria-label":"切换工作区",value:e.workspaceId??"",onChange:m=>e.onSelectWorkspace(m.target.value),children:e.workspaces.map(m=>u.jsx("option",{value:m.workspaceId,children:m.name},m.workspaceId))}),u.jsx("button",{type:"button",onClick:()=>d(e.chatHref),children:"对话"}),u.jsx("button",{type:"button",onClick:()=>d(e.operateHref),children:"操作"}),u.jsx("button",{type:"button",onClick:()=>d(e.inspectHref),children:"观测"}),u.jsx("span",{role:"status",children:"共享导航加载失败,请刷新页面"})]}):null]})}function Mk(e){return u.jsxs(u.Fragment,{children:[e.opError?u.jsxs("div",{className:"flash flash-error","data-testid":"op-error",children:[u.jsx("span",{className:"flash-label",children:"错误"}),u.jsx("p",{className:"flash-body",children:e.opError})]}):null,e.opMessage?u.jsxs("div",{className:"flash flash-info","data-testid":"op-message",children:[u.jsx("span",{className:"flash-label",children:"状态"}),u.jsx("p",{className:"flash-body",children:e.opMessage})]}):null]})}var jd=k5();const md=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M11 11V5H13V11H19V13H13V19H11V13H5V11H11Z"})),ec=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"})),z5=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z"})),B5=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M11.9999 10.8284L7.0502 15.7782L5.63599 14.364L11.9999 8L18.3639 14.364L16.9497 15.7782L11.9999 10.8284Z"})),Ok=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M9.9997 15.1709L19.1921 5.97852L20.6063 7.39273L9.9997 17.9993L3.63574 11.6354L5.04996 10.2212L9.9997 15.1709Z"})),Dk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12ZM12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM17.4571 9.45711L16.0429 8.04289L11 13.0858L8.20711 10.2929L6.79289 11.7071L11 15.9142L17.4571 9.45711Z"})),q5=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M6.99979 7V3C6.99979 2.44772 7.4475 2 7.99979 2H20.9998C21.5521 2 21.9998 2.44772 21.9998 3V16C21.9998 16.5523 21.5521 17 20.9998 17H17V20.9925C17 21.5489 16.551 22 15.9925 22H3.00728C2.45086 22 2 21.5511 2 20.9925L2.00276 8.00748C2.00288 7.45107 2.4518 7 3.01025 7H6.99979ZM8.99979 7H15.9927C16.549 7 17 7.44892 17 8.00748V15H19.9998V4H8.99979V7ZM15 9H4.00255L4.00021 20H15V9ZM8.50242 18L4.96689 14.4645L6.3811 13.0503L8.50242 15.1716L12.7451 10.9289L14.1593 12.3431L8.50242 18Z"})),Ls=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M11.9997 10.5865L16.9495 5.63672L18.3637 7.05093L13.4139 12.0007L18.3637 16.9504L16.9495 18.3646L11.9997 13.4149L7.04996 18.3646L5.63574 16.9504L10.5855 12.0007L5.63574 7.05093L7.04996 5.63672L11.9997 10.5865Z"})),d1=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M17 6H22V8H20V21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V8H2V6H7V3C7 2.44772 7.44772 2 8 2H16C16.5523 2 17 2.44772 17 3V6ZM18 8H6V20H18V8ZM9 11H11V17H9V11ZM13 11H15V17H13V11ZM9 4V6H15V4H9Z"})),f1=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M6.41421 15.89L16.5563 5.74785L15.1421 4.33363L5 14.4758V15.89H6.41421ZM7.24264 17.89H3V13.6473L14.435 2.21231C14.8256 1.82179 15.4587 1.82179 15.8492 2.21231L18.6777 5.04074C19.0682 5.43126 19.0682 6.06443 18.6777 6.45495L7.24264 17.89ZM3 19.89H21V21.89H3V19.89Z"})),U5=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 15H13V17H11V15ZM11 7H13V13H11V7Z"})),jk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M21 8V20.9932C21 21.5501 20.5552 22 20.0066 22H3.9934C3.44495 22 3 21.556 3 21.0082V2.9918C3 2.45531 3.4487 2 4.00221 2H14.9968L21 8ZM19 9H14V4H5V20H19V9ZM8 7H11V9H8V7ZM8 11H16V13H8V11ZM8 15H16V17H8V15Z"})),Lk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM9.71002 19.6674C8.74743 17.6259 8.15732 15.3742 8.02731 13H4.06189C4.458 16.1765 6.71639 18.7747 9.71002 19.6674ZM10.0307 13C10.1811 15.4388 10.8778 17.7297 12 19.752C13.1222 17.7297 13.8189 15.4388 13.9693 13H10.0307ZM19.9381 13H15.9727C15.8427 15.3742 15.2526 17.6259 14.29 19.6674C17.2836 18.7747 19.542 16.1765 19.9381 13ZM4.06189 11H8.02731C8.15732 8.62577 8.74743 6.37407 9.71002 4.33256C6.71639 5.22533 4.458 7.8235 4.06189 11ZM10.0307 11H13.9693C13.8189 8.56122 13.1222 6.27025 12 4.24799C10.8778 6.27025 10.1811 8.56122 10.0307 11ZM14.29 4.33256C15.2526 6.37407 15.8427 8.62577 15.9727 11H19.9381C19.542 7.8235 17.2836 5.22533 14.29 4.33256Z"})),zk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12H4C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C9.25022 4 6.82447 5.38734 5.38451 7.50024L8 7.5V9.5H2V3.5H4L3.99989 5.99918C5.82434 3.57075 8.72873 2 12 2ZM13 7L12.9998 11.585L16.2426 14.8284L14.8284 16.2426L10.9998 12.413L11 7H13Z"})),H5=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 7H13V9H11V7ZM11 11H13V17H11V11Z"})),Bk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M8 4H21V6H8V4ZM4.5 6.5C3.67157 6.5 3 5.82843 3 5C3 4.17157 3.67157 3.5 4.5 3.5C5.32843 3.5 6 4.17157 6 5C6 5.82843 5.32843 6.5 4.5 6.5ZM4.5 13.5C3.67157 13.5 3 12.8284 3 12C3 11.1716 3.67157 10.5 4.5 10.5C5.32843 10.5 6 11.1716 6 12C6 12.8284 5.32843 13.5 4.5 13.5ZM4.5 20.4C3.67157 20.4 3 19.7284 3 18.9C3 18.0716 3.67157 17.4 4.5 17.4C5.32843 17.4 6 18.0716 6 18.9C6 19.7284 5.32843 20.4 4.5 20.4ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z"})),qk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M18.364 5.63604L16.9497 7.05025C15.683 5.7835 13.933 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19C15.866 19 19 15.866 19 12H21C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C14.4853 3 16.7353 4.00736 18.364 5.63604Z"})),$5=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M12 3C10.9 3 10 3.9 10 5C10 6.1 10.9 7 12 7C13.1 7 14 6.1 14 5C14 3.9 13.1 3 12 3ZM12 17C10.9 17 10 17.9 10 19C10 20.1 10.9 21 12 21C13.1 21 14 20.1 14 19C14 17.9 13.1 17 12 17ZM12 10C10.9 10 10 10.9 10 12C10 13.1 10.9 14 12 14C13.1 14 14 13.1 14 12C14 10.9 13.1 10 12 10Z"})),Uk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M13 18V20H19V22H13C11.8954 22 11 21.1046 11 20V18H8C5.79086 18 4 16.2091 4 14V7C4 6.44772 4.44772 6 5 6H8V2H10V6H14V2H16V6H19C19.5523 6 20 6.44772 20 7V14C20 16.2091 18.2091 18 16 18H13ZM8 16H16C17.1046 16 18 15.1046 18 14V11H6V14C6 15.1046 6.89543 16 8 16ZM18 8H6V9H18V8ZM12 14.5C11.4477 14.5 11 14.0523 11 13.5C11 12.9477 11.4477 12.5 12 12.5C12.5523 12.5 13 12.9477 13 13.5C13 14.0523 12.5523 14.5 12 14.5Z"})),Hk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M5.46257 4.43262C7.21556 2.91688 9.5007 2 12 2C17.5228 2 22 6.47715 22 12C22 14.1361 21.3302 16.1158 20.1892 17.7406L17 12H20C20 7.58172 16.4183 4 12 4C9.84982 4 7.89777 4.84827 6.46023 6.22842L5.46257 4.43262ZM18.5374 19.5674C16.7844 21.0831 14.4993 22 12 22C6.47715 22 2 17.5228 2 12C2 9.86386 2.66979 7.88416 3.8108 6.25944L7 12H4C4 16.4183 7.58172 20 12 20C14.1502 20 16.1022 19.1517 17.5398 17.7716L18.5374 19.5674Z"})),Y2=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M13 4.05493C17.5 4.55237 21 8.36745 21 13V22H3V13C3 8.36745 6.50005 4.55237 11 4.05493V1H13V4.05493ZM19 20V13C19 9.13401 15.866 6 12 6C8.13401 6 5 9.13401 5 13V20H19ZM12 18C9.23858 18 7 15.7614 7 13C7 10.2386 9.23858 8 12 8C14.7614 8 17 10.2386 17 13C17 15.7614 14.7614 18 12 18ZM12 16C13.6569 16 15 14.6569 15 13C15 11.3431 13.6569 10 12 10C10.3431 10 9 11.3431 9 13C9 14.6569 10.3431 16 12 16ZM12 14C11.4477 14 11 13.5523 11 13C11 12.4477 11.4477 12 12 12C12.5523 12 13 12.4477 13 13C13 13.5523 12.5523 14 12 14Z"})),fp=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z"})),$k=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M3.5 1.34558C3.58425 1.34558 3.66714 1.36687 3.74096 1.40747L22.2034 11.5618C22.4454 11.6949 22.5337 11.9989 22.4006 12.2409C22.3549 12.324 22.2865 12.3924 22.2034 12.4381L3.74096 22.5924C3.499 22.7255 3.19497 22.6372 3.06189 22.3953C3.02129 22.3214 3 22.2386 3 22.1543V1.84558C3 1.56944 3.22386 1.34558 3.5 1.34558ZM5 4.38249V10.9999H10V12.9999H5V19.6174L18.8499 11.9999L5 4.38249Z"})),m1=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M3.33946 17.0002C2.90721 16.2515 2.58277 15.4702 2.36133 14.6741C3.3338 14.1779 3.99972 13.1668 3.99972 12.0002C3.99972 10.8345 3.3348 9.824 2.36353 9.32741C2.81025 7.71651 3.65857 6.21627 4.86474 4.99001C5.7807 5.58416 6.98935 5.65534 7.99972 5.072C9.01009 4.48866 9.55277 3.40635 9.4962 2.31604C11.1613 1.8846 12.8847 1.90004 14.5031 2.31862C14.4475 3.40806 14.9901 4.48912 15.9997 5.072C17.0101 5.65532 18.2187 5.58416 19.1346 4.99007C19.7133 5.57986 20.2277 6.25151 20.66 7.00021C21.0922 7.7489 21.4167 8.53025 21.6381 9.32628C20.6656 9.82247 19.9997 10.8336 19.9997 12.0002C19.9997 13.166 20.6646 14.1764 21.6359 14.673C21.1892 16.2839 20.3409 17.7841 19.1347 19.0104C18.2187 18.4163 17.0101 18.3451 15.9997 18.9284C14.9893 19.5117 14.4467 20.5941 14.5032 21.6844C12.8382 22.1158 11.1148 22.1004 9.49633 21.6818C9.55191 20.5923 9.00929 19.5113 7.99972 18.9284C6.98938 18.3451 5.78079 18.4162 4.86484 19.0103C4.28617 18.4205 3.77172 17.7489 3.33946 17.0002ZM8.99972 17.1964C10.0911 17.8265 10.8749 18.8227 11.2503 19.9659C11.7486 20.0133 12.2502 20.014 12.7486 19.9675C13.1238 18.8237 13.9078 17.8268 14.9997 17.1964C16.0916 16.5659 17.347 16.3855 18.5252 16.6324C18.8146 16.224 19.0648 15.7892 19.2729 15.334C18.4706 14.4373 17.9997 13.2604 17.9997 12.0002C17.9997 10.74 18.4706 9.5632 19.2729 8.6665C19.1688 8.4405 19.0538 8.21822 18.9279 8.00021C18.802 7.78219 18.667 7.57148 18.5233 7.36842C17.3457 7.61476 16.0911 7.43414 14.9997 6.80405C13.9083 6.17395 13.1246 5.17768 12.7491 4.03455C12.2509 3.98714 11.7492 3.98646 11.2509 4.03292C10.8756 5.17671 10.0916 6.17364 8.99972 6.80405C7.9078 7.43447 6.65245 7.61494 5.47428 7.36803C5.18485 7.77641 4.93463 8.21117 4.72656 8.66637C5.52881 9.56311 5.99972 10.74 5.99972 12.0002C5.99972 13.2604 5.52883 14.4372 4.72656 15.3339C4.83067 15.5599 4.94564 15.7822 5.07152 16.0002C5.19739 16.2182 5.3324 16.4289 5.47612 16.632C6.65377 16.3857 7.90838 16.5663 8.99972 17.1964ZM11.9997 15.0002C10.3429 15.0002 8.99972 13.6571 8.99972 12.0002C8.99972 10.3434 10.3429 9.00021 11.9997 9.00021C13.6566 9.00021 14.9997 10.3434 14.9997 12.0002C14.9997 13.6571 13.6566 15.0002 11.9997 15.0002ZM11.9997 13.0002C12.552 13.0002 12.9997 12.5525 12.9997 12.0002C12.9997 11.4479 12.552 11.0002 11.9997 11.0002C11.4474 11.0002 10.9997 11.4479 10.9997 12.0002C10.9997 12.5525 11.4474 13.0002 11.9997 13.0002Z"})),Pk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M10 3V5H5V19H19V14H21V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3H10ZM17.5858 5H13V3H21V11H19V6.41421L12 13.4142L10.5858 12L17.5858 5Z"})),Fk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M20.0833 15.1999L21.2854 15.9212C21.5221 16.0633 21.5989 16.3704 21.4569 16.6072C21.4146 16.6776 21.3557 16.7365 21.2854 16.7787L12.5144 22.0412C12.1977 22.2313 11.8021 22.2313 11.4854 22.0412L2.71451 16.7787C2.47772 16.6366 2.40093 16.3295 2.54301 16.0927C2.58523 16.0223 2.64413 15.9634 2.71451 15.9212L3.9166 15.1999L11.9999 20.0499L20.0833 15.1999ZM20.0833 10.4999L21.2854 11.2212C21.5221 11.3633 21.5989 11.6704 21.4569 11.9072C21.4146 11.9776 21.3557 12.0365 21.2854 12.0787L11.9999 17.6499L2.71451 12.0787C2.47772 11.9366 2.40093 11.6295 2.54301 11.3927C2.58523 11.3223 2.64413 11.2634 2.71451 11.2212L3.9166 10.4999L11.9999 15.3499L20.0833 10.4999ZM12.5144 1.30864L21.2854 6.5712C21.5221 6.71327 21.5989 7.0204 21.4569 7.25719C21.4146 7.32757 21.3557 7.38647 21.2854 7.42869L11.9999 12.9999L2.71451 7.42869C2.47772 7.28662 2.40093 6.97949 2.54301 6.7427C2.58523 6.67232 2.64413 6.61343 2.71451 6.5712L11.4854 1.30864C11.8021 1.11864 12.1977 1.11864 12.5144 1.30864ZM11.9999 3.33233L5.88723 6.99995L11.9999 10.6676L18.1126 6.99995L11.9999 3.33233Z"})),P5=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M3 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3ZM4 5V19H20V5H4ZM12 15H18V17H12V15ZM8.66685 12L5.83842 9.17157L7.25264 7.75736L11.4953 12L7.25264 16.2426L5.83842 14.8284L8.66685 12Z"})),Gk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M4 22C4 17.5817 7.58172 14 12 14C16.4183 14 20 17.5817 20 22H18C18 18.6863 15.3137 16 12 16C8.68629 16 6 18.6863 6 22H4ZM12 13C8.685 13 6 10.315 6 7C6 3.685 8.685 1 12 1C15.315 1 18 3.685 18 7C18 10.315 15.315 13 12 13ZM12 11C14.21 11 16 9.21 16 7C16 4.79 14.21 3 12 3C9.79 3 8 4.79 8 7C8 9.21 9.79 11 12 11Z"})),F5=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M9 4C10.1046 4 11 4.89543 11 6V12.8271C10.1058 12.1373 8.96602 11.7305 7.6644 11.5136L7.3356 13.4864C8.71622 13.7165 9.59743 14.1528 10.1402 14.7408C10.67 15.3147 11 16.167 11 17.5C11 18.8807 9.88071 20 8.5 20C7.11929 20 6 18.8807 6 17.5V17.1493C6.43007 17.2926 6.87634 17.4099 7.3356 17.4864L7.6644 15.5136C6.92149 15.3898 6.1752 15.1144 5.42909 14.7599C4.58157 14.3573 4 13.499 4 12.5C4 11.6653 4.20761 11.0085 4.55874 10.5257C4.90441 10.0504 5.4419 9.6703 6.24254 9.47014L7 9.28078V6C7 4.89543 7.89543 4 9 4ZM12 3.35418C11.2671 2.52376 10.1947 2 9 2C6.79086 2 5 3.79086 5 6V7.77422C4.14895 8.11644 3.45143 8.64785 2.94126 9.34933C2.29239 10.2415 2 11.3347 2 12.5C2 14.0652 2.79565 15.4367 4 16.2422V17.5C4 19.9853 6.01472 22 8.5 22C9.91363 22 11.175 21.3482 12 20.3287C12.825 21.3482 14.0864 22 15.5 22C17.9853 22 20 19.9853 20 17.5V16.2422C21.2044 15.4367 22 14.0652 22 12.5C22 11.3347 21.7076 10.2415 21.0587 9.34933C20.5486 8.64785 19.8511 8.11644 19 7.77422V6C19 3.79086 17.2091 2 15 2C13.8053 2 12.7329 2.52376 12 3.35418ZM18 17.1493V17.5C18 18.8807 16.8807 20 15.5 20C14.1193 20 13 18.8807 13 17.5C13 16.167 13.33 15.3147 13.8598 14.7408C14.4026 14.1528 15.2838 13.7165 16.6644 13.4864L16.3356 11.5136C15.034 11.7305 13.8942 12.1373 13 12.8271V6C13 4.89543 13.8954 4 15 4C16.1046 4 17 4.89543 17 6V9.28078L17.7575 9.47014C18.5581 9.6703 19.0956 10.0504 19.4413 10.5257C19.7924 11.0085 20 11.6653 20 12.5C20 13.499 19.4184 14.3573 18.5709 14.7599C17.8248 15.1144 17.0785 15.3898 16.3356 15.5136L16.6644 17.4864C17.1237 17.4099 17.5699 17.2926 18 17.1493Z"})),Vk=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M18.793 5.79285 12.5859 12 18.793 18.2071 20.2072 16.7928 15.4143 12 20.2072 7.20706 18.793 5.79285ZM5.20694 18.2072 11.414 12.0001 5.20694 5.793 3.79272 7.20721 8.58562 12.0001 3.79272 16.793 5.20694 18.2072Z"})),G5=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M14 4.4375C15.3462 4.4375 16.4375 3.34619 16.4375 2H17.5625C17.5625 3.34619 18.6538 4.4375 20 4.4375V5.5625C18.6538 5.5625 17.5625 6.65381 17.5625 8H16.4375C16.4375 6.65381 15.3462 5.5625 14 5.5625V4.4375ZM1 11C4.31371 11 7 8.31371 7 5H9C9 8.31371 11.6863 11 15 11V13C11.6863 13 9 15.6863 9 19H7C7 15.6863 4.31371 13 1 13V11ZM4.87601 12C6.18717 12.7276 7.27243 13.8128 8 15.124 8.72757 13.8128 9.81283 12.7276 11.124 12 9.81283 11.2724 8.72757 10.1872 8 8.87601 7.27243 10.1872 6.18717 11.2724 4.87601 12ZM17.25 14C17.25 15.7949 15.7949 17.25 14 17.25V18.75C15.7949 18.75 17.25 20.2051 17.25 22H18.75C18.75 20.2051 20.2051 18.75 22 18.75V17.25C20.2051 17.25 18.75 15.7949 18.75 14H17.25Z"})),Z2=({color:e="currentColor",size:t=24,className:n,...a})=>ot.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...a,className:"remixicon "+(n||"")},ot.createElement("path",{d:"M8.00008 6V9H5.00008V6H8.00008ZM3.00008 4V11H10.0001V4H3.00008ZM13.0001 4H21.0001V6H13.0001V4ZM13.0001 11H21.0001V13H13.0001V11ZM13.0001 18H21.0001V20H13.0001V18ZM10.7072 16.2071L9.29297 14.7929L6.00008 18.0858L4.20718 16.2929L2.79297 17.7071L6.00008 20.9142L10.7072 16.2071Z"})),Kk={error:6e3,info:4e3};function V5(e){const{toast:t,onDismiss:n}=e,[a,s]=w.useState(!1),o=w.useRef(null),c=w.useRef(null),d=()=>{o.current!==null&&window.clearTimeout(o.current),c.current!==null&&window.clearTimeout(c.current),o.current=null,c.current=null},m=()=>{d(),s(!0),c.current=window.setTimeout(()=>{s(!1),n()},140)};if(w.useEffect(()=>{if(t)return s(!1),o.current=window.setTimeout(m,Kk[t.kind]),d},[t?.id]),w.useEffect(()=>d,[]),!t)return null;const h=t.kind==="error";return jd.createPortal(u.jsxs("div",{className:`oc-toast is-${t.kind}${a?" is-leaving":""}`,role:h?"alert":"status",onMouseEnter:d,onMouseLeave:()=>{a||(o.current=window.setTimeout(m,1600))},children:[u.jsx("span",{className:"oc-toast-icon","aria-hidden":"true",children:h?u.jsx(U5,{size:16}):u.jsx(H5,{size:16})}),u.jsx("span",{className:"oc-toast-message",children:t.message}),u.jsx("button",{type:"button",className:"oc-toast-close","aria-label":"关闭提示",onClick:m,children:u.jsx(Ls,{size:14,"aria-hidden":"true"})})]}),document.body)}const hd=5,X2='a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]),select:not([disabled]),[tabindex]:not([tabindex="-1"])';function Ld(e){const{open:t,containerRef:n,triggerRef:a,onEscape:s}=e,o=w.useRef(null),c=w.useRef(!1);w.useEffect(()=>{if(t){if(!c.current){const d=document.activeElement;o.current=a?.current??(d instanceof HTMLElement?d:null);const m=n.current;m&&(m.querySelector(X2)??m).focus?.(),c.current=!0}return()=>{if(!c.current)return;const d=a?.current??o.current;d&&document.contains(d)&&d.focus(),o.current=null,c.current=!1}}c.current=!1},[t,n,a]),w.useEffect(()=>{if(!t)return;const d=n.current;if(!d)return;const m=h=>{if(h.key==="Escape"){h.preventDefault(),s?.();return}if(h.key!=="Tab")return;const p=Array.from(d.querySelectorAll(X2)).filter(S=>!S.hasAttribute("disabled")&&S.tabIndex!==-1);if(p.length===0){h.preventDefault(),d.focus?.();return}const g=p[0],x=p[p.length-1],y=document.activeElement;h.shiftKey?(y===g||!d.contains(y))&&(h.preventDefault(),x.focus()):(y===x||!d.contains(y))&&(h.preventDefault(),g.focus())};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[t,n,s])}function Q2(e){return e?.result?.maintenance?.handoff?.consoleInstanceId?.trim()||null}function bm(e){return/failed to fetch|networkerror|load failed/i.test(e instanceof Error?e.message:String(e??""))}function J2(e){const t=e?.result;return t?.state==="restarting"&&t?.maintenance?.handoff?.status==="requested"}function Nu(e){const n=e?.result?.maintenance,a=[],s=n?.package;s?.status==="updated"?a.push(`已更新到 ${s.targetVersion??"新版本"}(${s.channel??""} 渠道)`):s?.status==="current"?a.push(`已是最新版本 ${s.targetVersion??""}`.trim()):s?.status==="failed"&&a.push(`更新失败:${s.reason??"未知原因"}`);const o=n?.initialization;return o?.status==="clean"?a.push("安全初始化通过"):o?.status==="needs-reconcile"&&a.push("初始化需要恢复核对(安全初始化未完全通过)"),n?.handoff?.status==="requested"&&a.push("新 Console 已启动并接棒"),{ok:(e?.state==="succeeded"||e?.state==="restarting")&&s?.status!=="failed",lines:a}}let yr=null;function K5(e){const[t,n]=w.useState(yr?"running":"idle"),[a,s]=w.useState(!!yr),[o,c]=w.useState("latest"),[d,m]=w.useState(yr?Math.round((Date.now()-yr.startedAt)/1e3):0),[h,p]=w.useState(null),[g,x]=w.useState(null),y=w.useRef(0),S=w.useRef(yr?.startedAt??0);w.useEffect(()=>{if(!yr)return;const N=++y.current,{operationId:_}=yr;S.current=yr.startedAt,id(_,3e5,e.workspaceId).then(I=>{if(y.current===N){if(yr=null,s(!1),n("done"),!I){p("无法读取更新操作状态,请刷新页面后在操作记录中确认。");return}if(I.state==="restarting"||I.state==="needs-reconcile"&&J2(I)){x(Nu(I)),ko({expectedConsoleInstanceId:Q2(I)}).then(P=>{y.current===N&&!P&&p("新 Console 在 30 秒内未就绪,请保留本页后重试刷新。")});return}if(I.state==="succeeded"){x(Nu(I));return}p(ua(`${I.errorCode??""} ${I.errorMessage??I.state}`.trim()))}}).catch(I=>{if(y.current===N){if(bm(I)){yr=null,s(!1),n("done"),x({ok:!0,lines:["连接已切换,正在等待新 Console 就绪并刷新…"]}),ko().then(P=>{y.current===N&&!P&&p("新 Console 在 30 秒内未就绪,请保留本页后重试刷新。")});return}p(I instanceof Error?I.message:String(I))}})},[]),w.useEffect(()=>{if(t!=="running")return;const N=setInterval(()=>{const _=S.current;_>0&&m(Math.floor((Date.now()-_)/1e3))},500);return()=>clearInterval(N)},[t]);const E=()=>{const N=++y.current;s(!0),n("running"),p(null),x(null),m(0),S.current=Date.now(),(async()=>{const _=await Io("consoleUpdateAndInit",{channel:o},`console-update-${crypto.randomUUID()}`,e.workspaceId),I=_.body?.operationId;if(!I){yr=null,n("done"),s(!1),p(ua(_.body?.error?.message??_.body?.message??"更新操作未被接受"));return}yr={operationId:I,startedAt:Date.now()};let P;try{P=await id(I,3e5,e.workspaceId)}catch(F){if(!bm(F))throw F;if(y.current!==N)return;yr=null,s(!1),n("done"),x({ok:!0,lines:["连接已切换,正在等待新 Console 就绪并刷新…"]}),ko().then(M=>{y.current===N&&!M&&p("新 Console 在 30 秒内未就绪,请保留本页后重试刷新。")});return}if(y.current===N){if(yr=null,s(!1),n("done"),!P){p("无法读取更新操作状态,请刷新页面后在操作记录中确认。");return}if(P.state==="restarting"||P.state==="needs-reconcile"&&J2(P)){x(Nu(P)),ko({expectedConsoleInstanceId:Q2(P)}).then(F=>{y.current===N&&!F&&p("新 Console 在 30 秒内未就绪,请保留本页后重试刷新。")});return}if(P.state==="succeeded"){x(Nu(P));return}p(ua(`${P.errorCode??""} ${P.errorMessage??P.state}`.trim()))}})().catch(_=>{if(yr=null,s(!1),n("done"),bm(_)){x({ok:!0,lines:["连接已切换,正在等待新 Console 就绪并刷新…"]}),ko();return}p(_ instanceof Error?_.message:String(_??"更新失败"))})},R=a||t==="running"||e.operatorBusy===!0;return u.jsxs("div",{className:"console-update-control","aria-live":"polite",children:[u.jsx("span",{className:"console-update-badge",children:o==="latest"?"稳定版更新":"预发布更新"}),u.jsx("label",{className:"console-update-channel-label",htmlFor:"console-update-channel",children:"更新渠道"}),u.jsxs("select",{id:"console-update-channel",className:"console-update-channel",value:o,disabled:R,onChange:N=>c(N.target.value==="next"?"next":"latest"),children:[u.jsx("option",{value:"latest",children:"稳定版(latest)"}),u.jsx("option",{value:"next",children:"预发布版(next)"})]}),u.jsx("button",{type:"button",className:"console-update-button",disabled:R,onClick:E,children:a||t==="running"?"正在更新…":"更新并初始化"}),t==="running"?u.jsxs("p",{className:"console-update-progress",role:"status",children:["正在检查环境 → 安装新版本 → 安全初始化 → 接棒重启(已进行 ",d," ","秒)。完成后本页面会自动等待新 Console 就绪并刷新,请勿关闭页面。"]}):null,g?u.jsx("div",{className:`console-update-result${g.ok?"":" console-update-result-error"}`,role:"status",children:g.lines.map(N=>u.jsx("p",{children:N},N))}):null,h?u.jsx("p",{className:"console-update-error",role:"alert",children:h}):null]})}const Wk=["command","query","operation","tool","server","symbol","path","file_path","filePath","pattern","glob","url"],Yk=120,Zk=800;function pd(e){if(!(!e||typeof e!="object"||Array.isArray(e)))return e}function Xk(e){if(e!=null){if(typeof e=="string"){const t=e.trim();if(!t)return;try{return pd(JSON.parse(t))}catch{return}}return pd(e)}}function ya(e,t){const n=e.replace(/\s+/g," ").trim();return n?n.length>t?`${n.slice(0,t)}…`:n:""}function zn(e,t){const n=e[t];if(typeof n=="string"&&n.trim())return n.trim();if(typeof n=="number"&&Number.isFinite(n))return String(n)}function Qk(e,t,n){const a=(e??"").toLowerCase();if(a==="bash"||a==="shell"){const s=zn(t,"command");return s?ya(s,n):void 0}if(a==="mcp"||a.startsWith("mcp_")){const s=zn(t,"server"),o=zn(t,"tool")??zn(t,"name"),c=zn(t,"query");return s&&o?ya(`${s} · ${o}`,n):o?ya(o,n):c?ya(c,n):s?ya(s,n):void 0}if(a==="lsp_navigation"||a.includes("lsp")){const s=[zn(t,"operation"),zn(t,"symbol"),zn(t,"path")??zn(t,"file_path")??zn(t,"filePath")].filter(Boolean),o=zn(t,"line")??zn(t,"position");if(s.length===0&&!o)return;const c=s.join(" · ");return ya(o?`${c}${c?":":""}${o}`:c,n)}if(a==="symbol_search"||a.includes("symbol_search")){const s=zn(t,"query")??zn(t,"symbol");return s?ya(s,n):void 0}if(a==="agent"){const s=zn(t,"description"),o=zn(t,"subagent_type")??"Explore";return ya(s?`${o} · ${s}`:o,n)}if(a==="read"||a==="read_symbol"||a==="read_enclosing"||a.startsWith("read_")){const s=zn(t,"path")??zn(t,"file_path")??zn(t,"filePath"),o=zn(t,"symbol"),c=zn(t,"line");if(!s&&!o)return;const d=[s,o,c].filter(Boolean);return ya(d.join(" · "),n)}}function Jk(e,t){const n=t?.maxLen??Yk,a=Xk(e);if(!a){if(typeof e=="string"){const m=e.replace(/\s+/g," ").trim();return!m||m==="{}"?"":m.length>n?`${m.slice(0,n)}…`:m}return""}const s=Qk(t?.toolName,a,n);if(s)return s;for(const m of Wk){const h=a[m];if(typeof h=="string"&&h.trim())return ya(h,n)}const o=Object.keys(a);if(o.length===0)return"";const c=a[o[0]],d=String(c??"").replace(/\s+/g," ").trim();return d?d.length>n?`${d.slice(0,n)}…`:d:""}function eS(e){const t=e?.trim()||"Tool",n=t.toLowerCase();return n==="bash"||n==="shell"||n.includes("exec_command")?{kind:"bash",label:"Bash"}:n==="read"||n==="read_file"||n.startsWith("read_")||n.includes("view_file")?{kind:"read",label:"Read"}:n==="search"||n==="grep"||n==="glob"||n.includes("search")||n.includes("codegraph")||n.includes("lsp")?{kind:"search",label:n==="glob"?"Glob":"Search"}:n==="write"||n==="edit"||n.includes("apply_patch")||n.includes("write_file")||n.includes("edit_file")?{kind:"write",label:n==="write"||n.includes("write_file")?"Write":"Edit"}:n==="web"||n.includes("browser")||n.includes("fetch")||n.includes("web_")?{kind:"web",label:"Web"}:n==="mcp"||n.startsWith("mcp_")||n.includes("__")?{kind:"mcp",label:n==="mcp"?"MCP":t}:n==="agent"?{kind:"search",label:"Explore"}:{kind:"tool",label:t}}function tS(e){const t=(e??"").toLowerCase();return t==="bash"||t==="shell"?{argsLabel:"命令",resultLabel:"输出"}:t==="mcp"||t.startsWith("mcp_")?{argsLabel:"参数",resultLabel:"结果"}:{argsLabel:"入参",resultLabel:"结果"}}function zd(e){if(e==null)return"";if(typeof e=="string"){const a=e.trim();if(!a)return"";if(a.startsWith("{")&&a.endsWith("}")||a.startsWith("[")&&a.endsWith("]"))try{return zd(JSON.parse(a))}catch{return e}return e}if(typeof e=="number"||typeof e=="boolean")return String(e);const t=pd(e);if(!t)try{return JSON.stringify(e,null,2)}catch{return String(e)}const n=t.content;if(Array.isArray(n)){const a=[];for(const s of n){const o=pd(s);o&&(o.type==="text"&&typeof o.text=="string"||typeof o.text=="string")&&a.push(o.text)}if(a.length>0)return a.join(`
|
|
19
|
+
`)}if(typeof t.text=="string")return t.text;if(typeof t.output=="string")return t.output;if(typeof t.message=="string")return t.message;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function h1(e){if(e==null)return"";try{return typeof e=="string"?e:JSON.stringify(e,null,2)}catch{return String(e)}}function e4(e,t){if(e===void 0)return{text:"",truncated:!1};const n=t?.maxLen??Zk;return e.length<=n?{text:e,truncated:!1}:{text:`${e.slice(0,n)}…`,truncated:!0}}function nS(e,t){if(t===void 0||!Number.isFinite(e)||!Number.isFinite(t))return;const n=Math.round((t-e)/1e3);return n>0?n:void 0}function Nn(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function Zi(e){return`${e}-${Math.random().toString(36).slice(2,10)}`}function ym(e,t){return new Promise((n,a)=>{if(t?.aborted){a(new DOMException("Aborted","AbortError"));return}const s=setTimeout(()=>{t?.removeEventListener("abort",o),n()},e),o=()=>{clearTimeout(s),a(new DOMException("Aborted","AbortError"))};t?.addEventListener("abort",o)})}function tc(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function xm(e){const t=new Date(e),n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate()?"今天":t.toLocaleDateString([],{month:"long",day:"numeric"})}function rS(e,t){return e?e.taskId===t.taskId&&e.updatedAt===t.updatedAt&&e.lastEventId===t.lastEventId&&e.operations.length===t.operations.length:!1}const W5={status:"idle",snapshot:null,error:null,reloading:!1,reloadError:null,mutationBusy:!1,mutationToken:null};function gd(e){if(!e)return!1;const t=e.code??"";return t==="PI_SESSION_NOT_FOUND"||t==="NOT_FOUND"?!0:t==="PI_RUNTIME_UNAVAILABLE"&&/session file missing or not openable|no persisted Pi session file/i.test(e.message??"")}function p1(e){if(!e||typeof e!="object")return{message:"runtime snapshot request failed"};const t=e,n=t.error;if(n&&typeof n=="object"){const a=n;return{...typeof a.code=="string"&&a.code?{code:a.code}:{},...typeof t.status=="number"?{status:t.status}:{},message:typeof a.message=="string"&&a.message?a.message:"runtime snapshot request failed"}}return{...typeof t.status=="number"?{status:t.status}:{},message:typeof t=="object"&&"message"in t&&typeof t.message=="string"&&t.message?t.message:"runtime snapshot request failed"}}function aS(e,t){switch(t.type){case"load-start":return{...e,sessionId:t.sessionId,status:"loading",error:null};case"load-success":return e.snapshot&&e.sessionId===t.sessionId&&t.snapshot.revision<e.snapshot.revision?e:{...e,sessionId:t.sessionId,status:"ready",snapshot:t.snapshot,error:null,reloadError:null,reloading:!1};case"load-failure":return{...e,sessionId:t.sessionId,status:"error",error:t.error,snapshot:null};case"reload-start":return e.reloading?e:{...e,reloading:!0,reloadError:null,...e.status==="error"?{error:null}:{}};case"reload-success":return{...e,status:"ready",snapshot:t.snapshot,reloading:!1,reloadError:null,error:null,sessionId:t.snapshot.sessionId||e.sessionId};case"reload-failure":return{...e,reloading:!1,reloadError:t.error};case"mutation-start":return{...e,mutationBusy:!0,mutationToken:t.token};case"mutation-adopt":return e.mutationToken!==t.token||e.sessionId!==void 0&&e.sessionId!==t.sessionId||e.snapshot&&t.snapshot.revision<e.snapshot.revision?e:{...e,sessionId:t.sessionId,status:"ready",snapshot:t.snapshot,error:null,reloadError:null,reloading:!1};case"mutation-settle":return e.mutationToken!==t.token?e:{...e,mutationBusy:!1,mutationToken:null};case"mutation-reset":return{...e,mutationBusy:!1,mutationToken:null};case"reset":return{...W5};default:return e}}function Y5(e){const t=e.selection;return{...t.model?{model:{provider:t.model.provider,modelId:t.model.id}}:{},...t.thinkingSelection==="auto"?t.effectiveThinkingLevel?{thinkingLevel:t.effectiveThinkingLevel}:{}:{thinkingLevel:t.thinkingSelection}}}function iS(e,t,n,a){const s=n&&n.sessionId===a?Y5(n):{},o=s.model??e?.model,c=s.thinkingLevel??e?.thinkingLevel;return{readOnly:t.readOnly,systemPrompt:t.systemPrompt,resources:t.resources,suffix:t.suffix,...o?{model:o}:{},...c?{thinkingLevel:c}:{}}}function sS(e=W5){let t=e;const n=new Set;return{getState:()=>t,dispatch:a=>{t=aS(t,a);for(const s of n)s();return t},subscribe:a=>(n.add(a),()=>n.delete(a))}}function oS(e,t,n){return`${e}/api/operator/v1/chat/sessions/${encodeURIComponent(t)}/skills/${encodeURIComponent(n)}/auto-invocation`}async function lS(e){const t=e.fetchImpl??fetch;try{const n=await t(oS(e.origin,e.sessionId,e.resourceId),{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":e.confirmationToken},body:JSON.stringify({autoInvocationEnabled:e.autoInvocationEnabled})}),a=await n.json().catch(()=>({}));if(!n.ok||a.ok===!1)return{ok:!1,error:{...p1(a),status:n.status}};const s=a.preferenceSaved===!0,o=a.reloadApplied===!0;if(!s)return{ok:!1,error:{status:n.status,code:"PI_RESOURCE_PREFERENCES_WRITE_FAILED",message:"preference was not saved"}};if(!o){const c=a.error?.code??"PI_SESSION_BUSY",d=a.error?.message??"preference saved; current session is busy and was not reloaded";return{ok:!0,preferenceSaved:!0,reloadApplied:!1,...a.snapshot?{snapshot:a.snapshot}:{},partialBusy:{code:c,message:d}}}return{ok:!0,preferenceSaved:!0,reloadApplied:!0,...a.snapshot?{snapshot:a.snapshot}:{}}}catch(n){return{ok:!1,error:{message:n instanceof Error?n.message:String(n)}}}}const Rn=sS();let fi;function Z5(e){return`/api/operator/v1/chat/sessions/${encodeURIComponent(e)}`}function cS(e){const t=fi;if(fi=e,!(t&&t.sessionId===e.sessionId&&t.origin===e.origin)){if((!t||t.sessionId!==e.sessionId)&&Rn.dispatch({type:"mutation-reset"}),!e.sessionId){Rn.dispatch({type:"reset"});return}Rn.dispatch({type:"load-start",sessionId:e.sessionId}),X5(e.sessionId,e.origin)}}async function X5(e,t){try{const n=await fetch(`${t}${Z5(e)}/runtime-snapshot`,{credentials:"include"}),a=await n.json().catch(()=>({}));if(fi?.sessionId!==e)return;if(!n.ok){const s={...p1(a),status:n.status};if(gd(s)){Rn.dispatch({type:"reset"}),fi.onUnrecoverableSession?.(e);return}Rn.dispatch({type:"load-failure",sessionId:e,error:s});return}if(!a.snapshot){Rn.dispatch({type:"load-failure",sessionId:e,error:{status:n.status,message:"runtime snapshot missing in response"}});return}Rn.dispatch({type:"load-success",sessionId:e,snapshot:a.snapshot})}catch(n){if(fi?.sessionId!==e)return;Rn.dispatch({type:"load-failure",sessionId:e,error:{message:n instanceof Error?n.message:String(n)}})}}async function vd(){const e=fi;if(!e?.sessionId||Rn.getState().reloading)return!1;const t=e.sessionId;Rn.dispatch({type:"reload-start"});try{const n=await fetch(`${e.origin}${Z5(t)}/reload`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Nn()},body:"{}"}),a=await n.json().catch(()=>({}));return fi?.sessionId!==t?!1:n.ok?a.snapshot?(Rn.dispatch({type:"reload-success",snapshot:a.snapshot}),!0):(Rn.dispatch({type:"reload-failure",error:{status:n.status,message:"reload succeeded but snapshot missing"}}),!1):(Rn.dispatch({type:"reload-failure",error:{...p1(a),status:n.status}}),!1)}catch(n){return fi?.sessionId!==t||Rn.dispatch({type:"reload-failure",error:{message:n instanceof Error?n.message:String(n)}}),!1}}async function mp(){const e=fi;if(!e?.sessionId)return!1;const t=e.sessionId;return Rn.dispatch({type:"load-start",sessionId:t}),X5(t,e.origin),!0}function uS(e,t,n){return n?(Rn.dispatch({type:"mutation-adopt",token:e,sessionId:t,snapshot:n}),Rn.getState().snapshot===n):!1}function dS(e,t,n){return n.sessionRef.current?.sessionId!==t||Rn.getState().mutationToken!==e?!1:(Rn.dispatch({type:"mutation-settle",token:e}),!0)}function lc(){return w.useSyncExternalStore(Rn.subscribe,Rn.getState)}function Q5(e){Rn.dispatch(e)}function fS(){return Rn.getState()}const t4=[{id:"version",label:"版本信息"},{id:"models",label:"模型"},{id:"skills",label:"技能"},{id:"plugins",label:"插件"},{id:"mcp",label:"MCP"}];function Ts({children:e}){return u.jsx("p",{className:"oc-settings-empty",children:e})}function mS(e){return e==="loaded"?"已加载":e==="configured"?"已配置":e==="disabled"?"未启用":"状态未知"}function hS(e){return e==="ready"?"可正常使用":e==="setup-required"?"需要完成模型设置":e==="degraded"?"部分功能暂时不可用":"正在检查…"}function pS(e){const[t,n]=w.useState("version"),[a,s]=w.useState(null),[o,c]=w.useState(null),[d,m]=w.useState(null),[h,p]=w.useState({}),[g,x]=w.useState(null),[y,S]=w.useState(null),E=w.useRef(null),R=lc(),N=R.snapshot;Ld({open:e.open,containerRef:E,triggerRef:e.triggerRef,onEscape:e.onClose}),w.useEffect(()=>{if(!e.open)return;let M=!0;return c(null),fetch(`${e.origin}/api/health`,{credentials:"include"}).then(async A=>{const z=await A.json();if(!A.ok)throw new Error("版本信息读取失败");M&&s(z)}).catch(A=>{M&&c(A instanceof Error?A.message:String(A))}),()=>{M=!1}},[e.open,e.origin]);const _=w.useMemo(()=>[...N?.packages.map(M=>({name:M.packageName??M.spec,detail:M.version?`v${M.version}`:M.spec,enabled:M.enabled}))??[],...N?.extensions.map(M=>({name:M.name,detail:M.scope,enabled:M.enabled}))??[]],[N]);w.useEffect(()=>{m(null),p({}),x(null),S(null)},[N?.sessionId]);const I=(M,A)=>Object.hasOwn(h,M)?h[M]:A,P=async M=>{if(!N?.sessionId||!M.resourceId||d)return;const A=!I(M.resourceId,M.autoInvocationEnabled);m(M.resourceId),S(null),x(null),p(G=>({...G,[M.resourceId]:A}));const z=await lS({origin:e.origin,sessionId:N.sessionId,resourceId:M.resourceId,autoInvocationEnabled:A,confirmationToken:Nn()});if(m(null),!z.ok){p(G=>{const D={...G};return delete D[M.resourceId],D}),S(`${z.error.code?`${z.error.code}:`:""}${z.error.message}`);return}if(z.reloadApplied&&z.snapshot){Q5({type:"load-success",sessionId:N.sessionId,snapshot:z.snapshot}),p(G=>{const D={...G};return delete D[M.resourceId],D});return}z.partialBusy&&x("设置已保存,将在本轮对话结束并重新加载会话后生效。")};if(!e.open||typeof document>"u")return null;const F=()=>{if(t==="version")return u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"oc-settings-version-grid",children:[u.jsxs("div",{children:[u.jsx("span",{children:"产品"}),u.jsx("strong",{children:a?.productName??a?.product??"Loop Agent"})]}),u.jsxs("div",{children:[u.jsx("span",{children:"版本"}),u.jsx("strong",{children:a?.packageVersion??(o?"读取失败":"读取中…")})]}),u.jsxs("div",{children:[u.jsx("span",{children:"Pi 状态"}),u.jsx("strong",{children:hS(e.readiness)})]}),o?u.jsx("p",{className:"oc-settings-error",children:o}):null]}),u.jsx(K5,{operatorBusy:!!e.operatorBusy,workspaceId:e.workspaceId??e.activeWorkspaceId??null})]});if(R.status==="loading"||R.status==="idle")return u.jsx(Ts,{children:"正在读取当前会话的运行配置…"});if(R.status==="error")return u.jsx(Ts,{children:R.error?.message??"运行配置读取失败"});if(!N)return u.jsx(Ts,{children:"新建或打开一个会话后即可查看。"});if(t==="models")return N.models.length?u.jsx("ul",{className:"oc-settings-list",children:N.models.map(A=>{const z=N.selection.model?.provider===A.provider&&N.selection.model.id===A.id;return u.jsxs("li",{children:[u.jsxs("div",{children:[u.jsx("strong",{children:A.name??A.id}),u.jsxs("span",{children:[A.provider," / ",A.id]})]}),z?u.jsx("em",{children:"当前"}):null]},`${A.provider}/${A.id}`)})}):u.jsx(Ts,{children:"当前会话没有可用模型。"});if(t==="skills")return N.skills.length?u.jsxs("div",{className:"oc-settings-skill-section",children:[u.jsx("p",{className:"oc-settings-help",children:"开启后允许模型自动选择并注入该技能上下文;关闭后仍可手动调用。"}),y?u.jsx("p",{className:"oc-settings-error",role:"alert",children:y}):null,g?u.jsx("p",{className:"oc-settings-notice",role:"status",children:g}):null,u.jsx("ul",{className:"oc-settings-list",children:N.skills.map(A=>{const z=I(A.resourceId,A.autoInvocationEnabled),G=d===A.resourceId;return u.jsxs("li",{children:[u.jsxs("div",{children:[u.jsx("strong",{children:A.name}),u.jsx("span",{children:A.description||A.scope})]}),u.jsxs("div",{className:"oc-settings-skill-control",children:[u.jsx("em",{children:z?"已启用":"未启用"}),u.jsx("button",{type:"button",className:`oc-toggle${z?" is-on":""}`,role:"switch","aria-checked":z,"aria-label":`${z?"关闭":"开启"} ${A.name} 自动注入上下文`,disabled:G||!!d||!A.resourceId,title:G?"保存中…":"控制模型是否可自动选择该技能",onClick:()=>{P(A)},children:u.jsx("span",{className:"oc-toggle-knob","aria-hidden":"true"})})]})]},A.resourceId)})})]}):u.jsx(Ts,{children:"当前会话没有加载技能。"});if(t==="plugins")return _.length?u.jsx("ul",{className:"oc-settings-list",children:_.map((A,z)=>u.jsxs("li",{children:[u.jsxs("div",{children:[u.jsx("strong",{children:A.name}),u.jsx("span",{children:A.detail})]}),u.jsx("em",{children:A.enabled?"已启用":"未启用"})]},`${A.name}-${z}`))}):u.jsx(Ts,{children:"当前会话没有加载插件。"});const M=N.mcp?.servers??[];return M.length?u.jsx("ul",{className:"oc-settings-list",children:M.map(A=>u.jsxs("li",{children:[u.jsxs("div",{children:[u.jsx("strong",{children:A.name}),u.jsxs("span",{children:[A.tools.length," 个工具 · ",A.transport??A.scope]})]}),u.jsx("em",{children:mS(A.status)})]},A.name))}):u.jsx(Ts,{children:"当前会话没有加载 MCP 服务。"})};return jd.createPortal(u.jsx("div",{className:"oc-settings-backdrop",onMouseDown:M=>{M.target===M.currentTarget&&e.onClose()},children:u.jsxs("section",{ref:E,className:"oc-settings-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"oc-settings-title",tabIndex:-1,children:[u.jsxs("header",{className:"oc-settings-head",children:[u.jsxs("div",{children:[u.jsx("h2",{id:"oc-settings-title",children:"设置"}),u.jsx("p",{children:"Loop Agent Console"})]}),u.jsx("button",{type:"button",onClick:e.onClose,"aria-label":"关闭设置",title:"关闭",children:u.jsx(Ls,{size:18,"aria-hidden":"true"})})]}),u.jsxs("div",{className:"oc-settings-layout",children:[u.jsx("nav",{"aria-label":"设置分类",children:t4.map(M=>u.jsx("button",{type:"button",className:t===M.id?"is-active":"","aria-current":t===M.id?"page":void 0,onClick:()=>n(M.id),children:M.label},M.id))}),u.jsxs("div",{className:"oc-settings-content",children:[u.jsx("h3",{children:t4.find(M=>M.id===t)?.label}),F()]})]})]})}),document.body)}function gS(){return u.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[u.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),u.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function vS(){return u.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:u.jsx("polyline",{points:"20 6 9 17 4 12"})})}function n4(){return u.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[u.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),u.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})}function bS(){return u.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:u.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}function hp({side:e="left"}){return u.jsx("svg",{className:`oc-panel-icon${e==="right"?" is-right":""}`,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:u.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.67272 0.522841C10.8339 0.522841 11.76 0.522714 12.4963 0.602493C13.2453 0.683657 13.8789 0.854248 14.4264 1.25197C14.7504 1.48739 15.0355 1.77247 15.2709 2.0965C15.6686 2.64394 15.8392 3.27758 15.9204 4.02655C16.0002 4.7629 16 5.68895 16 6.85014V9.14986C16 10.3111 16.0002 11.2371 15.9204 11.9735C15.8392 12.7224 15.6686 13.3561 15.2709 13.9035C15.0355 14.2275 14.7504 14.5126 14.4264 14.748C13.8789 15.1458 13.2453 15.3163 12.4963 15.3975C11.76 15.4773 10.8339 15.4772 9.67272 15.4772H6.3273C5.16611 15.4772 4.24006 15.4773 3.50371 15.3975C2.75474 15.3163 2.1211 15.1458 1.57366 14.748C1.24963 14.5126 0.964549 14.2275 0.729131 13.9035C0.331407 13.3561 0.160817 12.7224 0.0796529 11.9735C-0.000126137 11.2371 0 10.3111 0 9.14986V6.85014C0 5.68895-0.000126137 4.7629 0.0796529 4.02655C0.160817 3.27758 0.331407 2.64394 0.729131 2.0965C0.964549 1.77247 1.24963 1.48739 1.57366 1.25197C2.1211 0.854248 2.75474 0.683657 3.50371 0.602493C4.24006 0.522714 5.16611 0.522841 6.3273 0.522841H9.67272ZM5.54303 1.88715V14.1118C5.78636 14.1128 6.04709 14.1169 6.3273 14.1169H9.67272C10.8639 14.1169 11.7032 14.1164 12.3493 14.0465C12.9824 13.9779 13.3497 13.8494 13.6268 13.6482C13.8354 13.4966 14.0195 13.3125 14.1711 13.1039C14.3723 12.8268 14.5007 12.4595 14.5693 11.8264C14.6393 11.1803 14.6398 10.341 14.6398 9.14986V6.85014C14.6398 5.65896 14.6393 4.81967 14.5693 4.1736C14.5007 3.54048 14.3723 3.17318 14.1711 2.89609C14.0195 2.68747 13.8354 2.50337 13.6268 2.35179C13.3497 2.1506 12.9824 2.02212 12.3493 1.95353C11.7032 1.88358 10.8639 1.88307 9.67272 1.88307H6.3273C6.04709 1.88307 5.78636 1.8862 5.54303 1.88715ZM4.1828 1.91166C3.99125 1.9216 3.8148 1.93577 3.65076 1.95353C3.01764 2.02212 2.65034 2.1506 2.37325 2.35179C2.16463 2.50337 1.98052 2.68747 1.82895 2.89609C1.62776 3.17318 1.49928 3.54048 1.43069 4.1736C1.36074 4.81967 1.36023 5.65896 1.36023 6.85014V9.14986C1.36023 10.341 1.36074 11.1803 1.43069 11.8264C1.49928 12.4595 1.62776 12.8268 1.82895 13.1039C1.98052 13.3125 2.16463 13.4966 2.37325 13.6482C2.65034 13.8494 3.01764 13.9779 3.65076 14.0465C3.81478 14.0642 3.99127 14.0774 4.1828 14.0873V1.91166Z",fill:"currentColor"})})}function yS(){return u.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16","aria-hidden":"true",children:u.jsx("path",{d:"M4 4l8 8M12 4l-8 8",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function J5(){return u.jsx("svg",{className:"oc-tool-chevron",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:u.jsx("polyline",{points:"2.5 4 6 7.5 9.5 4"})})}function xS(e,t,n,a){const s=e.findIndex(m=>m.workspaceId===n),o=e.findIndex(m=>m.workspaceId===t);if(s===-1||o===-1)return;const c=a==="before"?n:e[s+1]?.workspaceId??null;if(c===t)return;const d=c?e.findIndex(m=>m.workspaceId===c):e.length;return d===o||d===o+1?void 0:c}function wS({open:e}){return u.jsx("svg",{className:`oc-tree-chevron${e?" is-open":""}`,width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true",children:u.jsx("path",{d:"M4.2 2.4 7.8 6 4.2 9.6",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function kS({open:e}){return u.jsx("svg",{className:`oc-workspace-chevron${e?" is-open":""}`,width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:u.jsx("path",{d:"M4.25 2.82782V11.1722C4.25 11.6622 4.84243 11.9076 5.18891 11.5611L9.36109 7.38891C9.57588 7.17412 9.57588 6.82588 9.36109 6.61109L5.18891 2.43891C4.84243 2.09243 4.25 2.33782 4.25 2.82782Z",fill:"currentColor"})})}function SS(){return u.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true",children:u.jsx("path",{d:"M3 3.5h10v2H3v-2Zm0 3.5h10v2H3V7Zm0 3.5h7V13H3v-2Z",fill:"currentColor"})})}function ES(){return u.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true",children:u.jsx("path",{d:"M8 3v10M3 8h10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})})}function pp(){return u.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true",children:u.jsx("path",{d:"M2 4h5l1 1.5h6V13H2V4Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})})}function TS({open:e}){return u.jsx("svg",{className:`oc-tree-glyph${e?" is-folder-open":" is-folder"}`,width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:u.jsx("path",{d:"M1.5 4h3.2l1 1.1H12a.8.8 0 0 1 .8.8v5.3a.8.8 0 0 1-.8.8H2a.8.8 0 0 1-.8-.8V4.8a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:e?.9:.68})})}function CS(){return u.jsx("svg",{className:"oc-tree-glyph is-file",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:u.jsx("path",{d:"M3.2 1.6h5.1L10.8 4v8.4a.8.8 0 0 1-.8.8H3.2a.8.8 0 0 1-.8-.8V2.4a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.55"})})}function NS(e){return[...e].sort((t,n)=>t.kind!==n.kind?t.kind==="directory"?-1:1:t.name.localeCompare(n.name,void 0,{sensitivity:"base"}))}function e6(e){const t=w.useMemo(()=>NS(e.entries),[e.entries]);return t.length?u.jsx("ul",{className:"oc-tree",role:e.depth===0?"tree":"group",children:t.map(n=>{const a=n.kind==="directory"&&e.expanded.has(n.path);return u.jsxs("li",{className:`oc-tree-node is-${n.kind}${a?" is-open":""}`,role:"treeitem","aria-expanded":n.kind==="directory"?a:void 0,children:[u.jsxs("button",{type:"button",className:`oc-tree-row oc-tree-${n.kind==="directory"?"dir":"file"}`,style:{paddingLeft:`${8+e.depth*12}px`},onClick:()=>n.kind==="directory"?e.onToggle(n.path):e.onPreview(n.path),children:[n.kind==="directory"?u.jsxs(u.Fragment,{children:[u.jsx(wS,{open:a}),u.jsx(TS,{open:a})]}):u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"oc-tree-chevron-spacer","aria-hidden":"true"}),u.jsx(CS,{})]}),u.jsx("span",{className:"oc-tree-label",children:n.name}),u.jsx("span",{className:"oc-tree-at",role:"button",tabIndex:0,"aria-label":`插入 ${n.name} 引用`,onClick:s=>{s.stopPropagation(),e.onInsert(n.kind==="directory"?`${n.path}/`:n.path)},onKeyDown:s=>{s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),e.onInsert(n.kind==="directory"?`${n.path}/`:n.path))},children:"@"})]}),n.kind==="directory"&&a?u.jsx(e6,{...e,entries:e.tree[n.path]??[],depth:e.depth+1}):null]},n.path)})}):u.jsx("p",{className:"oc-tree-empty",children:"此目录为空或没有可安全浏览的文件。"})}function r4(e){return u.jsxs("section",{className:"oc-details-files","aria-label":"Workspace 文件",children:[u.jsxs("header",{children:[u.jsx("span",{className:"oc-details-workspace-name",title:e.workspaceName,children:e.workspaceName}),u.jsx("button",{type:"button",className:"btn btn-ghost",onClick:e.onRefresh,"aria-label":"刷新文件",title:"刷新文件",children:u.jsx(Hk,{size:15,"aria-hidden":"true"})})]}),e.treeError?u.jsx("p",{className:"oc-sidebar-error",role:"alert",children:e.treeError}):null,u.jsx("div",{className:"oc-details-tree-scroll",children:u.jsx(e6,{entries:e.tree[""]??[],tree:e.tree,expanded:e.expanded,depth:0,onToggle:e.onToggle,onInsert:e.onInsert,onPreview:e.onPreview})})]})}function RS(e,t){const n=e.deferredTurns?.length?e.deferredTurns:e.deferredTurn?[e.deferredTurn]:[];if(t)return null;if(n.some(s=>s.state==="failed"))return{label:"发送失败",title:"排队消息发送失败",state:"failed"};const a=n.filter(s=>s.state==="queued").length;return a>0?{label:String(a),title:`${a} 条排队消息`,state:"queued"}:null}function a4(e,t=Date.now()){const n=new Date(e).getTime();if(!Number.isFinite(n))return"";const a=Math.max(0,t-n),s=Math.floor(a/6e4);if(s<1)return"刚刚";if(s<60)return`${s}分钟`;const o=Math.floor(s/60);if(o<24)return`${o}小时`;const c=Math.floor(o/24);if(c<30)return`${c}天`;const d=Math.floor(c/30);return d<12?`${d}个月`:`${Math.floor(d/12)}年`}function t6(e){const t=new Date(e);return Number.isFinite(t.getTime())?t.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"时间未知"}function n6(e=!1){const[t,n]=w.useState(null),a=w.useRef(null),s=w.useRef(null),o=w.useCallback(()=>{a.current!==null&&window.clearTimeout(a.current),s.current!==null&&window.clearTimeout(s.current),a.current=null,s.current=null},[]),c=w.useCallback(()=>{o(),n(null)},[o]);w.useEffect(()=>{e&&c()},[c,e]),w.useEffect(()=>c,[c]);const d=w.useCallback(p=>{if(e||(s.current!==null&&(window.clearTimeout(s.current),s.current=null),t))return;const g=p.currentTarget.getBoundingClientRect();a.current=window.setTimeout(()=>{n({left:Math.min(g.right+8,window.innerWidth-252),top:Math.max(8,Math.min(g.top,window.innerHeight-180))})},500)},[e,t]),m=w.useCallback(()=>{a.current!==null&&(window.clearTimeout(a.current),a.current=null),t&&(s.current=window.setTimeout(c,180))},[c,t]),h=w.useCallback(()=>{s.current!==null&&(window.clearTimeout(s.current),s.current=null)},[]);return{position:t,close:c,onPointerEnter:d,onPointerLeave:m,onCardPointerEnter:h}}function r6(e){return!e.position||typeof document>"u"?null:jd.createPortal(u.jsx("div",{className:"oc-sidebar-hover-card",style:{left:e.position.left,top:e.position.top},onPointerEnter:e.onPointerEnter,onPointerLeave:e.onPointerLeave,children:e.children}),document.body)}function IS(e){const{item:t,active:n,streamingNow:a,turnPhaseNow:s,state:o,deleteConfirming:c,deleting:d}=e,m=s??t.turnPhase,h=t.optimisticState,p=a||m==="running"||m==="stopping"||!!t.activeTurnId,g=RS(t,n),x=t.isBlank===!0,y=h==="creating"?"正在创建…":x?"新会话":t.title||t.displayTitle||"未命名对话",S=t6(t.updatedAt),E=new Date(t.updatedAt),R=Number.isFinite(E.getTime())?E.toISOString():void 0,N=w.useRef(null),_=w.useRef(null),I=w.useRef(null),[P,F]=w.useState(null),M=n6(!!P||c);return w.useEffect(()=>{const A=D=>{I.current?.contains(D.target)||_.current?.contains(D.target)||(c&&e.onCancelDelete(),F(null))},z=()=>{M.close(),F(null)},G=D=>{D.key==="Escape"&&(M.close(),c&&e.onCancelDelete(),F(null))};return document.addEventListener("mousedown",A),window.addEventListener("scroll",z,!0),window.addEventListener("keydown",G),()=>{document.removeEventListener("mousedown",A),window.removeEventListener("scroll",z,!0),window.removeEventListener("keydown",G)}},[c,M.close,e.onCancelDelete]),w.useEffect(()=>{c&&N.current?.focus()},[c]),u.jsxs("div",{className:`oc-session-item${n?" is-active":""}${c?" is-delete-confirming":""}${P?" is-menu-open":""}${h?` is-optimistic-${h}`:""}`,"data-session-id":t.sessionId,onPointerEnter:M.onPointerEnter,onPointerLeave:M.onPointerLeave,children:[u.jsxs("a",{href:e.href,className:"oc-session-main","aria-disabled":d||h==="creating"||void 0,tabIndex:d||h==="creating"?-1:void 0,onClick:A=>{if(d||h==="creating"){A.preventDefault();return}A.preventDefault(),e.onActivate()},children:[u.jsx("strong",{children:y}),x?null:u.jsx("time",{dateTime:R,title:S,children:a4(t.updatedAt,e.now)})]}),p?u.jsx("span",{className:"oc-session-running","aria-label":"对话进行中",title:"对话进行中",children:u.jsx("span",{className:"oc-spinner","aria-hidden":"true"})}):null,g?u.jsx("span",{className:`oc-session-queue-state is-${g.state}`,"aria-label":g.title,title:g.title,children:g.label}):null,h!=="creating"&&!x?u.jsx("div",{className:"oc-session-actions",children:u.jsx("button",{type:"button",ref:_,className:"oc-session-menu","data-session-delete-id":t.sessionId,title:"更多","aria-label":`${y} 更多操作`,"aria-expanded":!!P,onClick:A=>{if(A.stopPropagation(),M.close(),P){F(null);return}const z=A.currentTarget.getBoundingClientRect();F({left:Math.max(8,Math.min(z.right-176,window.innerWidth-184)),top:Math.min(z.bottom+5,window.innerHeight-128)})},children:u.jsx($5,{size:16,"aria-hidden":"true"})})}):null,u.jsxs(r6,{position:M.position,onPointerEnter:M.onCardPointerEnter,onPointerLeave:M.onPointerLeave,children:[u.jsx("strong",{children:y}),x?null:u.jsxs("span",{children:[a4(t.updatedAt,e.now)," · ",S]}),u.jsxs("span",{className:"oc-sidebar-hover-status",children:[u.jsx("i",{className:p?"is-running":""}),g?.title??(p?"对话进行中":o==="archived"?"已归档":"空闲")]})]}),P&&typeof document<"u"?jd.createPortal(u.jsx("div",{ref:I,className:"oc-session-popover-menu",role:"menu",style:{left:P.left,top:P.top},children:c?u.jsxs("div",{className:"oc-session-menu-confirm",children:[u.jsx("span",{children:"确定删除这个会话?"}),u.jsxs("div",{children:[u.jsx("button",{type:"button",ref:N,className:"is-danger",disabled:d,"aria-label":`确认删除会话:${y}`,"aria-busy":d||void 0,onClick:()=>e.onConfirmDelete(),children:d?"删除中…":"删除"}),u.jsx("button",{type:"button",disabled:d,"aria-label":"取消删除会话",onClick:()=>{e.onCancelDelete(),F(null)},children:"取消"})]})]}):u.jsxs(u.Fragment,{children:[u.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{F(null);const A=window.prompt("会话名称",t.title||t.displayTitle||"");A!==null&&e.onRename(A)},children:[u.jsx(f1,{size:16,"aria-hidden":"true"}),"编辑标题"]}),u.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{F(null),e.onSetState(o==="active"?"archived":"active")},children:[u.jsx(zk,{size:16,"aria-hidden":"true"}),o==="active"?"归档会话":"恢复会话"]}),u.jsxs("button",{type:"button",role:"menuitem",className:"is-danger",onClick:()=>e.onRequestDelete(),children:[u.jsx(d1,{size:16,"aria-hidden":"true"}),"删除会话"]})]})}),document.body):null]})}function a6(e){return u.jsx(u.Fragment,{children:["active","archived"].map(t=>{const n=e.sessions.filter(a=>a.state===t);return n.length?u.jsx("div",{className:"oc-session-group",children:n.map(a=>u.jsx(IS,{item:a,href:u1(),active:e.activeSessionId===a.sessionId,streamingNow:e.activeSessionId===a.sessionId&&e.activeSessionStreaming===!0,turnPhaseNow:e.activeSessionId===a.sessionId?e.activeSessionTurnPhase:void 0,state:t,deleteConfirming:e.pendingDeleteSessionId===a.sessionId,deleting:e.deletingSessionId===a.sessionId,onActivate:()=>e.onActivate(a.sessionId,e.ownerWorkspaceId),onRename:s=>e.onRename(a.sessionId,s),onSetState:s=>e.onSetState(a.sessionId,s),onRequestDelete:()=>e.onRequestDelete(a),onConfirmDelete:()=>e.onConfirmDelete(a.sessionId),onCancelDelete:e.onCancelDelete,now:e.now},a.sessionId))},t):null})})}function AS(e){const{workspace:t,active:n}=e,a=e.deletingSessionId,s=e.cancelDelete,{expanded:o}=e,[c,d]=w.useState(!1),m=w.useRef(null),h=n6(c||e.dragActive);w.useEffect(()=>{if(!c)return;const S=R=>{m.current?.contains(R.target)||d(!1)},E=R=>{R.key==="Escape"&&d(!1)};return document.addEventListener("mousedown",S),document.addEventListener("keydown",E),()=>{document.removeEventListener("mousedown",S),document.removeEventListener("keydown",E)}},[c]);const p=w.useMemo(()=>{const S=new Map((t.sessionIds??[]).map((E,R)=>[E,R]));return e.sessions.filter(E=>E.workspaceId===t.workspaceId&&(!E.isBlank||E.sessionId===e.activeSessionId)).sort((E,R)=>{const N=S.get(E.sessionId),_=S.get(R.sessionId);return N!==void 0||_!==void 0?(N??Number.MAX_SAFE_INTEGER)-(_??Number.MAX_SAFE_INTEGER):String(R.updatedAt).localeCompare(String(E.updatedAt))})},[e.activeSessionId,e.sessions,t.sessionIds,t.workspaceId]),g=w.useMemo(()=>{const S=p.slice(0,hd);if(e.activeSessionId&&!S.some(E=>E.sessionId===e.activeSessionId)){const E=p.find(R=>R.sessionId===e.activeSessionId);E&&S.push(E)}return S},[p,e.activeSessionId]),x=w.useMemo(()=>e.showAllSessions||e.sessionsExpanded||p.length<=hd?p:g,[p,g,e.sessionsExpanded,e.showAllSessions]),y=Math.max(0,p.length-g.length);return u.jsxs("div",{className:`oc-workspace-item${n?" is-active":""}${e.dragging?" is-dragging":""}${e.dropMarker?` is-drop-${e.dropMarker}`:""}`,"data-workspace-id":t.workspaceId,"aria-current":n?"true":void 0,onDragOver:e.dragActive?S=>{S.preventDefault(),S.dataTransfer.dropEffect="move";const E=S.currentTarget.getBoundingClientRect();e.onDragHover(S.clientY<E.top+E.height/2?"before":"after")}:void 0,onDrop:e.dragActive?S=>{S.preventDefault();const E=S.currentTarget.getBoundingClientRect();e.onDragDrop(S.clientY<E.top+E.height/2?"before":"after")}:void 0,children:[u.jsxs("div",{className:"oc-workspace-row",children:[u.jsxs("button",{type:"button",className:"oc-workspace-main",draggable:!c&&!e.removing,onDragStart:S=>{S.dataTransfer.effectAllowed="move",S.dataTransfer.setData("text/plain",t.workspaceId),e.onDragStart()},onDragEnd:e.onDragEnd,onClick:e.onToggleExpanded,"aria-expanded":o,onPointerEnter:h.onPointerEnter,onPointerLeave:h.onPointerLeave,children:[u.jsx("span",{className:"oc-workspace-caret","aria-hidden":"true",children:u.jsx(kS,{open:o})}),u.jsx("span",{className:"oc-workspace-folder","aria-hidden":"true",children:u.jsx(pp,{})}),u.jsx("strong",{children:t.name})]}),u.jsxs("div",{className:"oc-workspace-actions",ref:m,children:[u.jsx("button",{type:"button",title:"更多","aria-label":`${t.name} 更多操作`,"aria-expanded":c,onClick:S=>{S.stopPropagation(),d(E=>!E)},children:u.jsx($5,{size:16,"aria-hidden":"true"})}),u.jsx("button",{type:"button",title:"新建对话","aria-label":`在 ${t.name} 新建对话`,disabled:e.creatingSession,onClick:S=>{S.stopPropagation(),e.onCreateSession()},children:e.creatingSession?u.jsx("span",{className:"oc-spinner","aria-hidden":"true"}):u.jsx(md,{size:16,"aria-hidden":"true"})}),c?u.jsxs("div",{className:"oc-workspace-menu",role:"menu",children:[u.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{d(!1),e.onCreateSession()},children:[u.jsx(md,{size:15,"aria-hidden":"true"}),"新建对话"]}),u.jsxs("button",{type:"button",role:"menuitem",className:"is-danger",disabled:e.removing,onClick:()=>{d(!1),e.onRemove()},children:[u.jsx(d1,{size:15,"aria-hidden":"true"}),e.removing?"移除中…":"移除工作区"]})]}):null]}),u.jsxs(r6,{position:h.position,onPointerEnter:h.onCardPointerEnter,onPointerLeave:h.onPointerLeave,children:[u.jsx("strong",{children:t.name}),u.jsx("span",{className:"oc-sidebar-hover-path",children:t.displayPath}),t.createdAt?u.jsxs("span",{children:["添加于 ",t6(t.createdAt)]}):null]})]}),o?u.jsxs("div",{className:"oc-workspace-sessions",children:[u.jsx(a6,{sessions:x,ownerWorkspaceId:t.workspaceId,activeSessionId:e.activeSessionId,activeSessionStreaming:e.activeSessionStreaming,activeSessionTurnPhase:e.activeSessionTurnPhase,pendingDeleteSessionId:e.pendingDeleteSessionId,deletingSessionId:e.deletingSessionId,onActivate:(S,E)=>{a||(s(!1),e.onActivate(S,E))},onRename:e.onRenameSession,onSetState:e.onSetSessionState,onRequestDelete:e.onRequestDeleteSession,onConfirmDelete:e.onConfirmDeleteSession,onCancelDelete:e.onCancelDeleteSession,now:e.now}),y>0&&!e.showAllSessions?u.jsx("button",{type:"button",className:"oc-session-more",onClick:e.onToggleSessionsExpanded,"aria-expanded":e.sessionsExpanded,children:e.sessionsExpanded?"收起":`展开其余 ${y} 个会话`}):null,x.length===0?u.jsx("p",{className:"oc-tree-empty",children:"此工作区暂无会话。"}):null]}):null]})}function _S(e){const[t,n]=w.useState(!1),[a,s]=w.useState(""),[o,c]=w.useState(!1),[d,m]=w.useState(()=>Date.now()),[h,p]=w.useState(!1),g=w.useRef(null),x=w.useMemo(()=>{const ie=a.trim().toLocaleLowerCase();return e.sessions.filter(we=>!ie||(we.title||we.displayTitle||"未命名对话").toLocaleLowerCase().includes(ie))},[e.sessions,a]),y=w.useMemo(()=>{const ie=new Set(e.workspaces.map(we=>we.workspaceId));return x.filter(we=>!we.workspaceId||!ie.has(we.workspaceId))},[e.workspaces,x]),S=w.useMemo(()=>{const ie=y.slice(0,hd);if(e.activeSessionId&&!ie.some(we=>we.sessionId===e.activeSessionId)){const we=y.find(Se=>Se.sessionId===e.activeSessionId);we&&ie.push(we)}return ie},[y,e.activeSessionId]),E=w.useMemo(()=>a.trim()||h||y.length<=hd?y:S,[y,S,a,h]),R=Math.max(0,y.length-S.length),[N,_]=w.useState(()=>new Set(e.activeWorkspaceId?[e.activeWorkspaceId]:[])),[I,P]=w.useState(()=>new Set),[F,M]=w.useState(null),A=w.useRef(!1);w.useEffect(()=>{const ie=e.activeWorkspaceId;ie&&_(we=>{if(we.has(ie))return we;const Se=new Set(we);return Se.add(ie),Se})},[e.activeWorkspaceId]);const z=w.useCallback(ie=>{const we=N.has(ie);_(Se=>{const Re=new Set(Se);return Re.has(ie)?Re.delete(ie):Re.add(ie),Re}),we&&P(Se=>{if(!Se.has(ie))return Se;const Re=new Set(Se);return Re.delete(ie),Re})},[N]),G=w.useCallback(ie=>{P(we=>{const Se=new Set(we);return Se.has(ie)?Se.delete(ie):Se.add(ie),Se})},[]),D=w.useCallback((ie,we)=>{if(!F||A.current)return;A.current=!0;const Se=F.sourceId;M(null);const Re=xS(e.workspaces,Se,ie,we);Re!==void 0&&e.onReorderWorkspace(Se,Re)},[e.onReorderWorkspace,e.workspaces,F]),K=w.useCallback(()=>{const ie=F?.over;if(!ie){M(null);return}D(ie.workspaceId,ie.half)},[D,F]);w.useEffect(()=>{if(!F)return;const ie=we=>we.preventDefault();return document.addEventListener("dragover",ie),()=>document.removeEventListener("dragover",ie)},[F]),w.useEffect(()=>{const ie=window.setInterval(()=>m(Date.now()),6e4);return()=>window.clearInterval(ie)},[]);const[q,Q]=w.useState(null),[V,X]=w.useState(null),W=w.useRef(null),B=w.useRef(!1),Y=e.layoutMode==="comfortable"&&e.open,me=e.layoutMode==="compact",j=e.drawerOpen&&(e.layoutMode==="compact"||e.layoutMode==="narrow"),U=w.useCallback((ie=!0)=>{if(V)return;const we=q;Q(null),!(!ie||!we)&&window.requestAnimationFrame(()=>{const Se=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(we):we.replace(/["\\]/g,"\\$&");document.querySelector(`[data-session-delete-id="${Se}"]`)?.focus()})},[V,q]),ee=w.useCallback(()=>{V||(Q(null),e.onCloseDrawer())},[V,e.onCloseDrawer]),O=w.useCallback(()=>{if(q){U();return}ee()},[U,ee,q]);Ld({open:j,containerRef:W,triggerRef:e.drawerTriggerRef,onEscape:O}),w.useEffect(()=>{B.current&&!j&&!V&&Q(null),B.current=j},[V,j]),w.useEffect(()=>{q&&!x.some(ie=>ie.sessionId===q)&&Q(null),V&&!x.some(ie=>ie.sessionId===V)&&X(null)},[V,q,x]),w.useEffect(()=>{if(j||!q)return;const ie=we=>{we.key==="Escape"&&(we.preventDefault(),U())};return document.addEventListener("keydown",ie),()=>document.removeEventListener("keydown",ie)},[U,q,j]);const ge=w.useCallback(async ie=>{if(!(V||q!==ie)){X(ie);try{await e.onDelete(ie)}finally{X(null),Q(null)}}},[V,q,e.onDelete]),Z=w.useCallback(()=>{V||(U(!1),e.onCreate())},[U,V,e.onCreate]),le=w.useCallback(ie=>{V||(U(!1),_(we=>{if(we.has(ie))return we;const Se=new Set(we);return Se.add(ie),Se}),e.onCreateInWorkspace?e.onCreateInWorkspace(ie):e.onCreate())},[U,V,e.onCreateInWorkspace,e.onCreate]),ce=w.useCallback(()=>{V||(U(!1),e.onToggleOpen())},[U,V,e.onToggleOpen]),[pe,ue]=w.useState(!1),J=w.useCallback(async()=>{if(!(pe||e.addingWorkspace)){ue(!0);try{const ie=await e.onPickWorkspaceDirectory();ie&&await e.onAddWorkspace(ie)}finally{ue(!1)}}},[pe,e.addingWorkspace,e.onAddWorkspace,e.onPickWorkspaceDirectory]),oe=u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"oc-sidebar-primary-actions",children:[u.jsxs("button",{type:"button",className:"oc-sidebar-new-session",onClick:Z,disabled:e.creatingSession,"aria-busy":e.creatingSession||void 0,children:[u.jsx(md,{size:17,"aria-hidden":"true"}),e.creatingSession?"创建中…":"新会话"]}),e.layoutMode==="comfortable"?u.jsx("button",{type:"button",className:"oc-sidebar-toggle",onClick:ce,"aria-expanded":!0,"aria-label":"收起侧栏",title:"收起侧栏",children:u.jsx(hp,{})}):u.jsx("button",{type:"button",className:"oc-sidebar-toggle",onClick:ee,"aria-label":"关闭侧栏抽屉",title:"关闭",children:u.jsx(Ls,{size:16,"aria-hidden":"true"})})]}),u.jsxs("section",{className:"oc-sidebar-section oc-workspaces","aria-busy":e.workspacesLoading||void 0,"aria-label":"Workspace 与会话",children:[u.jsxs("header",{children:[u.jsx("strong",{children:"工作区"}),u.jsxs("div",{className:"oc-sidebar-header-actions",children:[u.jsx("button",{type:"button",className:"oc-sidebar-icon-action","aria-label":"搜索会话",title:"搜索会话","aria-expanded":t,"aria-controls":"oc-session-search",onClick:()=>n(ie=>!ie),children:u.jsx(fp,{size:16,"aria-hidden":"true"})}),u.jsx("button",{type:"button",className:"oc-sidebar-icon-action","aria-label":"添加工作区",title:pe?"选择目录中…":"添加工作区","aria-busy":pe||void 0,disabled:pe||e.addingWorkspace,onClick:()=>{J()},children:u.jsx(md,{size:16,"aria-hidden":"true"})})]})]}),t?u.jsxs("div",{className:"oc-session-search-wrap",children:[u.jsx(fp,{size:15,"aria-hidden":"true"}),u.jsx("input",{id:"oc-session-search",type:"search",value:a,onChange:ie=>s(ie.target.value),placeholder:"搜索会话…","aria-label":"搜索会话",autoFocus:!0})]}):null,e.workspacesError?u.jsxs("p",{className:"oc-sidebar-error",role:"alert",children:[e.workspacesError," ",u.jsx("button",{type:"button",className:"btn btn-ghost",onClick:e.onDismissWorkspaceError,"aria-label":"关闭错误提示",children:u.jsx(Ls,{size:12,"aria-hidden":"true"})})]}):null,u.jsx("div",{className:"oc-workspace-list",children:e.workspacesLoading&&e.workspaces.length===0?u.jsx("p",{className:"oc-workspace-loading",children:"正在加载 Workspace…"}):e.workspaces.length===0&&E.length===0?u.jsx("p",{className:"oc-workspace-empty",children:"还没有工作区。点击右上角的 + 选择一个文件夹开始。"}):u.jsxs(u.Fragment,{children:[e.workspaces.map(ie=>u.jsx(AS,{workspace:ie,active:e.activeWorkspaceId===ie.workspaceId,expanded:N.has(ie.workspaceId)||!!a.trim(),sessionsExpanded:I.has(ie.workspaceId),removing:e.removingWorkspaceId===ie.workspaceId,dragging:F?.sourceId===ie.workspaceId,dragActive:F!==null,dropMarker:F?.over?.workspaceId===ie.workspaceId?F.over.half:null,onDragStart:()=>{A.current=!1,M({sourceId:ie.workspaceId,over:null})},onDragEnd:K,onDragHover:we=>M(Se=>Se&&{sourceId:Se.sourceId,over:{workspaceId:ie.workspaceId,half:we}}),onDragDrop:we=>D(ie.workspaceId,we),sessions:x,activeSessionId:e.activeSessionId,activeSessionStreaming:e.activeSessionStreaming,activeSessionTurnPhase:e.activeSessionTurnPhase,showAllSessions:!!a.trim(),creatingSession:e.creatingSession,pendingDeleteSessionId:q,deletingSessionId:V,cancelDelete:U,onToggleExpanded:()=>z(ie.workspaceId),onToggleSessionsExpanded:()=>G(ie.workspaceId),onRemove:()=>e.onRemoveWorkspace(ie.workspaceId),onCreateSession:()=>le(ie.workspaceId),onActivate:(we,Se)=>{V||(U(!1),e.onActivate(we,Se))},onRenameSession:e.onRename,onSetSessionState:e.onSetState,onRequestDeleteSession:we=>{V||Q(we.sessionId)},onConfirmDeleteSession:we=>{ge(we)},onCancelDeleteSession:()=>U(),now:d},ie.workspaceId)),E.length>0?u.jsxs("div",{className:"oc-workspace-item oc-workspace-ungrouped",children:[u.jsx("div",{className:"oc-workspace-row",children:u.jsxs("div",{className:"oc-workspace-main","aria-label":"未归类会话",children:[u.jsx("span",{className:"oc-workspace-caret","aria-hidden":"true"}),u.jsx("span",{className:"oc-workspace-folder","aria-hidden":"true",children:u.jsx(pp,{})}),u.jsx("strong",{children:"未归类"})]})}),u.jsxs("div",{className:"oc-workspace-sessions",children:[u.jsx(a6,{sessions:E,activeSessionId:e.activeSessionId,activeSessionStreaming:e.activeSessionStreaming,activeSessionTurnPhase:e.activeSessionTurnPhase,pendingDeleteSessionId:q,deletingSessionId:V,onActivate:(ie,we)=>{V||(U(!1),e.onActivate(ie,we))},onRename:e.onRename,onSetState:e.onSetState,onRequestDelete:ie=>{V||Q(ie.sessionId)},onConfirmDelete:ie=>{ge(ie)},onCancelDelete:()=>U(),now:d}),R>0&&!a.trim()?u.jsx("button",{type:"button",className:"oc-session-more",onClick:()=>p(ie=>!ie),"aria-expanded":h,children:h?"收起":`展开其余 ${R} 个会话`}):null]})]}):null]})})]}),u.jsx("div",{className:"oc-sidebar-footer",children:u.jsxs("button",{type:"button",ref:g,className:"oc-sidebar-settings",onClick:()=>c(!0),"aria-label":"打开设置",title:"设置",children:[u.jsx(m1,{size:16,"aria-hidden":"true"}),"设置"]})}),u.jsx(pS,{open:o,origin:e.origin,readiness:e.readiness,runAction:e.runAction,operatorBusy:e.operatorBusy,activeWorkspaceId:e.activeWorkspaceId,onClose:()=>c(!1),triggerRef:g})]});return u.jsxs(u.Fragment,{children:[me?u.jsxs("nav",{className:"oc-sidebar-rail","aria-label":"紧凑侧栏",children:[u.jsx("button",{type:"button",className:"oc-sidebar-rail-btn","aria-label":"打开 Workspace 与会话",title:"Workspace 与会话","aria-expanded":j,onClick:()=>j?ee():e.onOpenDrawer(),children:u.jsx(SS,{})}),u.jsx("button",{type:"button",className:"oc-sidebar-rail-btn","aria-label":e.creatingSession?"创建会话中":"新建会话",title:e.creatingSession?"创建中…":"新建会话",onClick:Z,disabled:e.creatingSession,"aria-busy":e.creatingSession||void 0,children:u.jsx(ES,{})}),u.jsx("button",{type:"button",className:"oc-sidebar-rail-btn","aria-label":"Workspace",title:"Workspace",onClick:()=>j?ee():e.onOpenDrawer(),children:u.jsx(pp,{})})]}):null,e.layoutMode==="comfortable"?u.jsx("aside",{className:`oc-sidebar${Y?"":" is-collapsed"}`,"aria-label":"Workspace 与会话",children:Y?oe:u.jsx("button",{type:"button",className:"oc-sidebar-toggle is-collapsed",onClick:ce,"aria-expanded":!1,"aria-label":"展开侧栏",title:"展开侧栏",children:u.jsx(hp,{})})}):null,j?u.jsxs(u.Fragment,{children:[u.jsx("button",{type:"button",className:"oc-overlay-backdrop","aria-label":"关闭侧栏遮罩",onClick:ee}),u.jsx("aside",{ref:W,className:"oc-sidebar oc-sidebar-drawer","aria-label":"Workspace 与会话抽屉",role:"dialog","aria-modal":"true",tabIndex:-1,children:oe})]}):null]})}const MS="modulepreload",OS=function(e){return"/"+e},i4={},DS=function(t,n,a){let s=Promise.resolve();if(n&&n.length>0){let m=function(h){return Promise.all(h.map(p=>Promise.resolve(p).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),d=c?.nonce||c?.getAttribute("nonce");s=m(n.map(h=>{if(h=OS(h),h in i4)return;i4[h]=!0;const p=h.endsWith(".css"),g=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const x=document.createElement("link");if(x.rel=p?"stylesheet":MS,p||(x.as="script"),x.crossOrigin="",x.href=h,d&&x.setAttribute("nonce",d),document.head.appendChild(x),p)return new Promise((y,S)=>{x.addEventListener("load",y),x.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(c){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=c,window.dispatchEvent(d),!d.defaultPrevented)throw c}return s.then(c=>{for(const d of c||[])d.status==="rejected"&&o(d.reason);return t().catch(o)})};function s4(e){const t=[],n=String(e||"");let a=n.indexOf(","),s=0,o=!1;for(;!o;){a===-1&&(a=n.length,o=!0);const c=n.slice(s,a).trim();(c||!o)&&t.push(c),s=a+1,a=n.indexOf(",",s)}return t}function jS(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const LS=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,zS=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,BS={};function o4(e,t){return(BS.jsx?zS:LS).test(e)}const qS=/[ \t\n\f\r]/g;function US(e){return typeof e=="object"?e.type==="text"?l4(e.value):!1:l4(e)}function l4(e){return e.replace(qS,"")===""}class cc{constructor(t,n,a){this.normal=n,this.property=t,a&&(this.space=a)}}cc.prototype.normal={};cc.prototype.property={};cc.prototype.space=void 0;function i6(e,t){const n={},a={};for(const s of e)Object.assign(n,s.property),Object.assign(a,s.normal);return new cc(n,a,t)}function nc(e){return e.toLowerCase()}class zr{constructor(t,n){this.attribute=n,this.property=t}}zr.prototype.attribute="";zr.prototype.booleanish=!1;zr.prototype.boolean=!1;zr.prototype.commaOrSpaceSeparated=!1;zr.prototype.commaSeparated=!1;zr.prototype.defined=!1;zr.prototype.mustUseProperty=!1;zr.prototype.number=!1;zr.prototype.overloadedBoolean=!1;zr.prototype.property="";zr.prototype.spaceSeparated=!1;zr.prototype.space=void 0;let HS=0;const Ct=qs(),Gn=qs(),gp=qs(),He=qs(),mn=qs(),Ds=qs(),Kr=qs();function qs(){return 2**++HS}const vp=Object.freeze(Object.defineProperty({__proto__:null,boolean:Ct,booleanish:Gn,commaOrSpaceSeparated:Kr,commaSeparated:Ds,number:He,overloadedBoolean:gp,spaceSeparated:mn},Symbol.toStringTag,{value:"Module"})),wm=Object.keys(vp);class g1 extends zr{constructor(t,n,a,s){let o=-1;if(super(t,n),c4(this,"space",s),typeof a=="number")for(;++o<wm.length;){const c=wm[o];c4(this,wm[o],(a&vp[c])===vp[c])}}}g1.prototype.defined=!0;function c4(e,t,n){n&&(e[t]=n)}function Bo(e){const t={},n={};for(const[a,s]of Object.entries(e.properties)){const o=new g1(a,e.transform(e.attributes||{},a),s,e.space);e.mustUseProperty&&e.mustUseProperty.includes(a)&&(o.mustUseProperty=!0),t[a]=o,n[nc(a)]=a,n[nc(o.attribute)]=a}return new cc(t,n,e.space)}const s6=Bo({properties:{ariaActiveDescendant:null,ariaAtomic:Gn,ariaAutoComplete:null,ariaBusy:Gn,ariaChecked:Gn,ariaColCount:He,ariaColIndex:He,ariaColSpan:He,ariaControls:mn,ariaCurrent:null,ariaDescribedBy:mn,ariaDetails:null,ariaDisabled:Gn,ariaDropEffect:mn,ariaErrorMessage:null,ariaExpanded:Gn,ariaFlowTo:mn,ariaGrabbed:Gn,ariaHasPopup:null,ariaHidden:Gn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:mn,ariaLevel:He,ariaLive:null,ariaModal:Gn,ariaMultiLine:Gn,ariaMultiSelectable:Gn,ariaOrientation:null,ariaOwns:mn,ariaPlaceholder:null,ariaPosInSet:He,ariaPressed:Gn,ariaReadOnly:Gn,ariaRelevant:null,ariaRequired:Gn,ariaRoleDescription:mn,ariaRowCount:He,ariaRowIndex:He,ariaRowSpan:He,ariaSelected:Gn,ariaSetSize:He,ariaSort:null,ariaValueMax:He,ariaValueMin:He,ariaValueNow:He,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function o6(e,t){return t in e?e[t]:t}function l6(e,t){return o6(e,t.toLowerCase())}const $S=Bo({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ds,acceptCharset:mn,accessKey:mn,action:null,allow:null,allowFullScreen:Ct,allowPaymentRequest:Ct,allowUserMedia:Ct,alpha:Ct,alt:null,as:null,async:Ct,autoCapitalize:null,autoComplete:mn,autoFocus:Ct,autoPlay:Ct,blocking:mn,capture:null,charSet:null,checked:Ct,cite:null,className:mn,closedBy:null,colorSpace:null,cols:He,colSpan:He,command:null,commandFor:null,content:null,contentEditable:Gn,controls:Ct,controlsList:mn,coords:He|Ds,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Ct,defer:Ct,dir:null,dirName:null,disabled:Ct,download:gp,draggable:Gn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Ct,formTarget:null,headers:mn,height:He,hidden:gp,high:He,href:null,hrefLang:null,htmlFor:mn,httpEquiv:mn,id:null,imageSizes:null,imageSrcSet:null,inert:Ct,inputMode:null,integrity:null,is:null,isMap:Ct,itemId:null,itemProp:mn,itemRef:mn,itemScope:Ct,itemType:mn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Ct,low:He,manifest:null,max:null,maxLength:He,media:null,method:null,min:null,minLength:He,multiple:Ct,muted:Ct,name:null,nonce:null,noModule:Ct,noValidate:Ct,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Ct,optimum:He,pattern:null,ping:mn,placeholder:null,playsInline:Ct,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Ct,referrerPolicy:null,rel:mn,required:Ct,reversed:Ct,rows:He,rowSpan:He,sandbox:mn,scope:null,scoped:Ct,seamless:Ct,selected:Ct,shadowRootClonable:Ct,shadowRootCustomElementRegistry:Ct,shadowRootDelegatesFocus:Ct,shadowRootMode:null,shadowRootSerializable:Ct,shape:null,size:He,sizes:null,slot:null,span:He,spellCheck:Gn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:He,step:null,style:null,tabIndex:He,target:null,title:null,translate:null,type:null,typeMustMatch:Ct,useMap:null,value:Gn,width:He,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:mn,axis:null,background:null,bgColor:null,border:He,borderColor:null,bottomMargin:He,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Ct,declare:Ct,event:null,face:null,frame:null,frameBorder:null,hSpace:He,leftMargin:He,link:null,longDesc:null,lowSrc:null,marginHeight:He,marginWidth:He,noResize:Ct,noHref:Ct,noShade:Ct,noWrap:Ct,object:null,profile:null,prompt:null,rev:null,rightMargin:He,rules:null,scheme:null,scrolling:Gn,standby:null,summary:null,text:null,topMargin:He,valueType:null,version:null,vAlign:null,vLink:null,vSpace:He,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Ct,disablePictureInPicture:Ct,disableRemotePlayback:Ct,exportParts:Ds,part:mn,prefix:null,property:null,results:He,security:null,unselectable:null},space:"html",transform:l6}),PS=Bo({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Kr,accentHeight:He,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:He,amplitude:He,arabicForm:null,ascent:He,attributeName:null,attributeType:null,azimuth:He,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:He,by:null,calcMode:null,capHeight:He,className:mn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:He,diffuseConstant:He,direction:null,display:null,dur:null,divisor:He,dominantBaseline:null,download:Ct,dx:null,dy:null,edgeMode:null,editable:null,elevation:He,enableBackground:null,end:null,event:null,exponent:He,externalResourcesRequired:null,fill:null,fillOpacity:He,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ds,g2:Ds,glyphName:Ds,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:He,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:He,horizOriginX:He,horizOriginY:He,id:null,ideographic:He,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:He,k:He,k1:He,k2:He,k3:He,k4:He,kernelMatrix:Kr,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:He,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:He,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:He,overlineThickness:He,paintOrder:null,panose1:null,path:null,pathLength:He,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:mn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:He,pointsAtY:He,pointsAtZ:He,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Kr,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Kr,rev:Kr,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Kr,requiredFeatures:Kr,requiredFonts:Kr,requiredFormats:Kr,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:He,specularExponent:He,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:He,strikethroughThickness:He,string:null,stroke:null,strokeDashArray:Kr,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:He,strokeOpacity:He,strokeWidth:null,style:null,surfaceScale:He,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Kr,tabIndex:He,tableValues:null,target:null,targetX:He,targetY:He,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Kr,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:He,underlineThickness:He,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:He,values:null,vAlphabetic:He,vMathematical:He,vectorEffect:null,vHanging:He,vIdeographic:He,version:null,vertAdvY:He,vertOriginX:He,vertOriginY:He,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:He,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:o6}),c6=Bo({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),u6=Bo({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:l6}),d6=Bo({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),FS={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},GS=/[A-Z]/g,u4=/-[a-z]/g,VS=/^data[-\w.:]+$/i;function f6(e,t){const n=nc(t);let a=t,s=zr;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&VS.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(u4,WS);a="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!u4.test(o)){let c=o.replace(GS,KS);c.charAt(0)!=="-"&&(c="-"+c),t="data"+c}}s=g1}return new s(a,t)}function KS(e){return"-"+e.toLowerCase()}function WS(e){return e.charAt(1).toUpperCase()}const m6=i6([s6,$S,c6,u6,d6],"html"),Bd=i6([s6,PS,c6,u6,d6],"svg");function d4(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function YS(e){return e.join(" ").trim()}var yo={},km,f4;function ZS(){if(f4)return km;f4=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,s=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,d=/^\s+|\s+$/g,m=`
|
|
20
|
+
`,h="/",p="*",g="",x="comment",y="declaration";function S(R,N){if(typeof R!="string")throw new TypeError("First argument must be a string");if(!R)return[];N=N||{};var _=1,I=1;function P(V){var X=V.match(t);X&&(_+=X.length);var W=V.lastIndexOf(m);I=~W?V.length-W:I+V.length}function F(){var V={line:_,column:I};return function(X){return X.position=new M(V),G(),X}}function M(V){this.start=V,this.end={line:_,column:I},this.source=N.source}M.prototype.content=R;function A(V){var X=new Error(N.source+":"+_+":"+I+": "+V);if(X.reason=V,X.filename=N.source,X.line=_,X.column=I,X.source=R,!N.silent)throw X}function z(V){var X=V.exec(R);if(X){var W=X[0];return P(W),R=R.slice(W.length),X}}function G(){z(n)}function D(V){var X;for(V=V||[];X=K();)X!==!1&&V.push(X);return V}function K(){var V=F();if(!(h!=R.charAt(0)||p!=R.charAt(1))){for(var X=2;g!=R.charAt(X)&&(p!=R.charAt(X)||h!=R.charAt(X+1));)++X;if(X+=2,g===R.charAt(X-1))return A("End of comment missing");var W=R.slice(2,X-2);return I+=2,P(W),R=R.slice(X),I+=2,V({type:x,comment:W})}}function q(){var V=F(),X=z(a);if(X){if(K(),!z(s))return A("property missing ':'");var W=z(o),B=V({type:y,property:E(X[0].replace(e,g)),value:W?E(W[0].replace(e,g)):g});return z(c),B}}function Q(){var V=[];D(V);for(var X;X=q();)X!==!1&&(V.push(X),D(V));return V}return G(),Q()}function E(R){return R?R.replace(d,g):g}return km=S,km}var m4;function XS(){if(m4)return yo;m4=1;var e=yo&&yo.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(yo,"__esModule",{value:!0}),yo.default=n;const t=e(ZS());function n(a,s){let o=null;if(!a||typeof a!="string")return o;const c=(0,t.default)(a),d=typeof s=="function";return c.forEach(m=>{if(m.type!=="declaration")return;const{property:h,value:p}=m;d?s(h,p,m):p&&(o=o||{},o[h]=p)}),o}return yo}var jl={},h4;function QS(){if(h4)return jl;h4=1,Object.defineProperty(jl,"__esModule",{value:!0}),jl.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,a=/^-(webkit|moz|ms|o|khtml)-/,s=/^-(ms)-/,o=function(h){return!h||n.test(h)||e.test(h)},c=function(h,p){return p.toUpperCase()},d=function(h,p){return"".concat(p,"-")},m=function(h,p){return p===void 0&&(p={}),o(h)?h:(h=h.toLowerCase(),p.reactCompat?h=h.replace(s,d):h=h.replace(a,d),h.replace(t,c))};return jl.camelCase=m,jl}var Ll,p4;function JS(){if(p4)return Ll;p4=1;var e=Ll&&Ll.__importDefault||function(s){return s&&s.__esModule?s:{default:s}},t=e(XS()),n=QS();function a(s,o){var c={};return!s||typeof s!="string"||(0,t.default)(s,function(d,m){d&&m&&(c[(0,n.camelCase)(d,o)]=m)}),c}return a.default=a,Ll=a,Ll}var eE=JS();const tE=Od(eE),h6=p6("end"),v1=p6("start");function p6(e){return t;function t(n){const a=n&&n.position&&n.position[e]||{};if(typeof a.line=="number"&&a.line>0&&typeof a.column=="number"&&a.column>0)return{line:a.line,column:a.column,offset:typeof a.offset=="number"&&a.offset>-1?a.offset:void 0}}}function nE(e){const t=v1(e),n=h6(e);if(t&&n)return{start:t,end:n}}function Wl(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?g4(e.position):"start"in e||"end"in e?g4(e):"line"in e||"column"in e?bp(e):""}function bp(e){return v4(e&&e.line)+":"+v4(e&&e.column)}function g4(e){return bp(e&&e.start)+"-"+bp(e&&e.end)}function v4(e){return e&&typeof e=="number"?e:1}class mr extends Error{constructor(t,n,a){super(),typeof n=="string"&&(a=n,n=void 0);let s="",o={},c=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?s=t:!o.cause&&t&&(c=!0,s=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof a=="string"){const m=a.indexOf(":");m===-1?o.ruleId=a:(o.source=a.slice(0,m),o.ruleId=a.slice(m+1))}if(!o.place&&o.ancestors&&o.ancestors){const m=o.ancestors[o.ancestors.length-1];m&&(o.place=m.position)}const d=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=d?d.column:void 0,this.fatal=void 0,this.file="",this.message=s,this.line=d?d.line:void 0,this.name=Wl(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=c&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}mr.prototype.file="";mr.prototype.name="";mr.prototype.reason="";mr.prototype.message="";mr.prototype.stack="";mr.prototype.column=void 0;mr.prototype.line=void 0;mr.prototype.ancestors=void 0;mr.prototype.cause=void 0;mr.prototype.fatal=void 0;mr.prototype.place=void 0;mr.prototype.ruleId=void 0;mr.prototype.source=void 0;const b1={}.hasOwnProperty,rE=new Map,aE=/[A-Z]/g,iE=new Set(["table","tbody","thead","tfoot","tr"]),sE=new Set(["td","th"]),g6="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function oE(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let a;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");a=pE(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");a=hE(n,t.jsx,t.jsxs)}const s={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:a,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Bd:m6,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=v6(s,e,void 0);return o&&typeof o!="string"?o:s.create(e,s.Fragment,{children:o||void 0},void 0)}function v6(e,t,n){if(t.type==="element")return lE(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return cE(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return dE(e,t,n);if(t.type==="mdxjsEsm")return uE(e,t);if(t.type==="root")return fE(e,t,n);if(t.type==="text")return mE(e,t)}function lE(e,t,n){const a=e.schema;let s=a;t.tagName.toLowerCase()==="svg"&&a.space==="html"&&(s=Bd,e.schema=s),e.ancestors.push(t);const o=y6(e,t.tagName,!1),c=gE(e,t);let d=x1(e,t);return iE.has(t.tagName)&&(d=d.filter(function(m){return typeof m=="string"?!US(m):!0})),b6(e,c,o,t),y1(c,d),e.ancestors.pop(),e.schema=a,e.create(t,o,c,n)}function cE(e,t){if(t.data&&t.data.estree&&e.evaluater){const a=t.data.estree.body[0];return a.type,e.evaluater.evaluateExpression(a.expression)}rc(e,t.position)}function uE(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);rc(e,t.position)}function dE(e,t,n){const a=e.schema;let s=a;t.name==="svg"&&a.space==="html"&&(s=Bd,e.schema=s),e.ancestors.push(t);const o=t.name===null?e.Fragment:y6(e,t.name,!0),c=vE(e,t),d=x1(e,t);return b6(e,c,o,t),y1(c,d),e.ancestors.pop(),e.schema=a,e.create(t,o,c,n)}function fE(e,t,n){const a={};return y1(a,x1(e,t)),e.create(t,e.Fragment,a,n)}function mE(e,t){return t.value}function b6(e,t,n,a){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=a)}function y1(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function hE(e,t,n){return a;function a(s,o,c,d){const h=Array.isArray(c.children)?n:t;return d?h(o,c,d):h(o,c)}}function pE(e,t){return n;function n(a,s,o,c){const d=Array.isArray(o.children),m=v1(a);return t(s,o,c,d,{columnNumber:m?m.column-1:void 0,fileName:e,lineNumber:m?m.line:void 0},void 0)}}function gE(e,t){const n={};let a,s;for(s in t.properties)if(s!=="children"&&b1.call(t.properties,s)){const o=bE(e,s,t.properties[s]);if(o){const[c,d]=o;e.tableCellAlignToStyle&&c==="align"&&typeof d=="string"&&sE.has(t.tagName)?a=d:n[c]=d}}if(a){const o=n.style||(n.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=a}return n}function vE(e,t){const n={};for(const a of t.attributes)if(a.type==="mdxJsxExpressionAttribute")if(a.data&&a.data.estree&&e.evaluater){const o=a.data.estree.body[0];o.type;const c=o.expression;c.type;const d=c.properties[0];d.type,Object.assign(n,e.evaluater.evaluateExpression(d.argument))}else rc(e,t.position);else{const s=a.name;let o;if(a.value&&typeof a.value=="object")if(a.value.data&&a.value.data.estree&&e.evaluater){const d=a.value.data.estree.body[0];d.type,o=e.evaluater.evaluateExpression(d.expression)}else rc(e,t.position);else o=a.value===null?!0:a.value;n[s]=o}return n}function x1(e,t){const n=[];let a=-1;const s=e.passKeys?new Map:rE;for(;++a<t.children.length;){const o=t.children[a];let c;if(e.passKeys){const m=o.type==="element"?o.tagName:o.type==="mdxJsxFlowElement"||o.type==="mdxJsxTextElement"?o.name:void 0;if(m){const h=s.get(m)||0;c=m+"-"+h,s.set(m,h+1)}}const d=v6(e,o,c);d!==void 0&&n.push(d)}return n}function bE(e,t,n){const a=f6(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=a.commaSeparated?jS(n):YS(n)),a.property==="style"){let s=typeof n=="object"?n:yE(e,String(n));return e.stylePropertyNameCase==="css"&&(s=xE(s)),["style",s]}return[e.elementAttributeNameCase==="react"&&a.space?FS[a.property]||a.property:a.attribute,n]}}function yE(e,t){try{return tE(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const a=n,s=new mr("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:a,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw s.file=e.filePath||void 0,s.url=g6+"#cannot-parse-style-attribute",s}}function y6(e,t,n){let a;if(!n)a={type:"Literal",value:t};else if(t.includes(".")){const s=t.split(".");let o=-1,c;for(;++o<s.length;){const d=o4(s[o])?{type:"Identifier",name:s[o]}:{type:"Literal",value:s[o]};c=c?{type:"MemberExpression",object:c,property:d,computed:!!(o&&d.type==="Literal"),optional:!1}:d}a=c}else a=o4(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(a.type==="Literal"){const s=a.value;return b1.call(e.components,s)?e.components[s]:s}if(e.evaluater)return e.evaluater.evaluateExpression(a);rc(e)}function rc(e,t){const n=new mr("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=g6+"#cannot-handle-mdx-estrees-without-createevaluater",n}function xE(e){const t={};let n;for(n in e)b1.call(e,n)&&(t[wE(n)]=e[n]);return t}function wE(e){let t=e.replace(aE,kE);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function kE(e){return"-"+e.toLowerCase()}const Sm={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},SE={};function w1(e,t){const n=SE,a=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,s=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return x6(e,a,s)}function x6(e,t,n){if(EE(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return b4(e.children,t,n)}return Array.isArray(e)?b4(e,t,n):""}function b4(e,t,n){const a=[];let s=-1;for(;++s<e.length;)a[s]=x6(e[s],t,n);return a.join("")}function EE(e){return!!(e&&typeof e=="object")}const y4=document.createElement("i");function k1(e){const t="&"+e+";";y4.innerHTML=t;const n=y4.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function Wr(e,t,n,a){const s=e.length;let o=0,c;if(t<0?t=-t>s?0:s+t:t=t>s?s:t,n=n>0?n:0,a.length<1e4)c=Array.from(a),c.unshift(t,n),e.splice(...c);else for(n&&e.splice(t,n);o<a.length;)c=a.slice(o,o+1e4),c.unshift(t,0),e.splice(...c),o+=1e4,t+=1e4}function ca(e,t){return e.length>0?(Wr(e,e.length,0,t),e):t}const x4={}.hasOwnProperty;function w6(e){const t={};let n=-1;for(;++n<e.length;)TE(t,e[n]);return t}function TE(e,t){let n;for(n in t){const s=(x4.call(e,n)?e[n]:void 0)||(e[n]={}),o=t[n];let c;if(o)for(c in o){x4.call(s,c)||(s[c]=[]);const d=o[c];CE(s[c],Array.isArray(d)?d:d?[d]:[])}}}function CE(e,t){let n=-1;const a=[];for(;++n<t.length;)(t[n].add==="after"?e:a).push(t[n]);Wr(e,0,0,a)}function k6(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function xa(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const kr=as(/[A-Za-z]/),dr=as(/[\dA-Za-z]/),NE=as(/[#-'*+\--9=?A-Z^-~]/);function bd(e){return e!==null&&(e<32||e===127)}const yp=as(/\d/),RE=as(/[\dA-Fa-f]/),IE=as(/[!-/:-@[-`{-~]/);function ft(e){return e!==null&&e<-2}function hn(e){return e!==null&&(e<0||e===32)}function $t(e){return e===-2||e===-1||e===32}const qd=as(new RegExp("\\p{P}|\\p{S}","u")),zs=as(/\s/);function as(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function qo(e){const t=[];let n=-1,a=0,s=0;for(;++n<e.length;){const o=e.charCodeAt(n);let c="";if(o===37&&dr(e.charCodeAt(n+1))&&dr(e.charCodeAt(n+2)))s=2;else if(o<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(o))||(c=String.fromCharCode(o));else if(o>55295&&o<57344){const d=e.charCodeAt(n+1);o<56320&&d>56319&&d<57344?(c=String.fromCharCode(o,d),s=1):c="�"}else c=String.fromCharCode(o);c&&(t.push(e.slice(a,n),encodeURIComponent(c)),a=n+s+1,c=""),s&&(n+=s,s=0)}return t.join("")+e.slice(a)}function zt(e,t,n,a){const s=a?a-1:Number.POSITIVE_INFINITY;let o=0;return c;function c(m){return $t(m)?(e.enter(n),d(m)):t(m)}function d(m){return $t(m)&&o++<s?(e.consume(m),d):(e.exit(n),t(m))}}const AE={tokenize:_E};function _E(e){const t=e.attempt(this.parser.constructs.contentInitial,a,s);let n;return t;function a(d){if(d===null){e.consume(d);return}return e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),zt(e,t,"linePrefix")}function s(d){return e.enter("paragraph"),o(d)}function o(d){const m=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=m),n=m,c(d)}function c(d){if(d===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(d);return}return ft(d)?(e.consume(d),e.exit("chunkText"),o):(e.consume(d),c)}}const ME={tokenize:OE},w4={tokenize:DE};function OE(e){const t=this,n=[];let a=0,s,o,c;return d;function d(I){if(a<n.length){const P=n[a];return t.containerState=P[1],e.attempt(P[0].continuation,m,h)(I)}return h(I)}function m(I){if(a++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,s&&_();const P=t.events.length;let F=P,M;for(;F--;)if(t.events[F][0]==="exit"&&t.events[F][1].type==="chunkFlow"){M=t.events[F][1].end;break}N(a);let A=P;for(;A<t.events.length;)t.events[A][1].end={...M},A++;return Wr(t.events,F+1,0,t.events.slice(P)),t.events.length=A,h(I)}return d(I)}function h(I){if(a===n.length){if(!s)return x(I);if(s.currentConstruct&&s.currentConstruct.concrete)return S(I);t.interrupt=!!(s.currentConstruct&&!s._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(w4,p,g)(I)}function p(I){return s&&_(),N(a),x(I)}function g(I){return t.parser.lazy[t.now().line]=a!==n.length,c=t.now().offset,S(I)}function x(I){return t.containerState={},e.attempt(w4,y,S)(I)}function y(I){return a++,n.push([t.currentConstruct,t.containerState]),x(I)}function S(I){if(I===null){s&&_(),N(0),e.consume(I);return}return s=s||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:s,contentType:"flow",previous:o}),E(I)}function E(I){if(I===null){R(e.exit("chunkFlow"),!0),N(0),e.consume(I);return}return ft(I)?(e.consume(I),R(e.exit("chunkFlow")),a=0,t.interrupt=void 0,d):(e.consume(I),E)}function R(I,P){const F=t.sliceStream(I);if(P&&F.push(null),I.previous=o,o&&(o.next=I),o=I,s.defineSkip(I.start),s.write(F),t.parser.lazy[I.start.line]){let M=s.events.length;for(;M--;)if(s.events[M][1].start.offset<c&&(!s.events[M][1].end||s.events[M][1].end.offset>c))return;const A=t.events.length;let z=A,G,D;for(;z--;)if(t.events[z][0]==="exit"&&t.events[z][1].type==="chunkFlow"){if(G){D=t.events[z][1].end;break}G=!0}for(N(a),M=A;M<t.events.length;)t.events[M][1].end={...D},M++;Wr(t.events,z+1,0,t.events.slice(A)),t.events.length=M}}function N(I){let P=n.length;for(;P-- >I;){const F=n[P];t.containerState=F[1],F[0].exit.call(t,e)}n.length=I}function _(){s.write([null]),o=void 0,s=void 0,t.containerState._closeFlow=void 0}}function DE(e,t,n){return zt(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function _o(e){if(e===null||hn(e)||zs(e))return 1;if(qd(e))return 2}function Ud(e,t,n){const a=[];let s=-1;for(;++s<e.length;){const o=e[s].resolveAll;o&&!a.includes(o)&&(t=o(t,n),a.push(o))}return t}const xp={name:"attention",resolveAll:jE,tokenize:LE};function jE(e,t){let n=-1,a,s,o,c,d,m,h,p;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(a=n;a--;)if(e[a][0]==="exit"&&e[a][1].type==="attentionSequence"&&e[a][1]._open&&t.sliceSerialize(e[a][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[a][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[a][1].end.offset-e[a][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;m=e[a][1].end.offset-e[a][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const g={...e[a][1].end},x={...e[n][1].start};k4(g,-m),k4(x,m),c={type:m>1?"strongSequence":"emphasisSequence",start:g,end:{...e[a][1].end}},d={type:m>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:x},o={type:m>1?"strongText":"emphasisText",start:{...e[a][1].end},end:{...e[n][1].start}},s={type:m>1?"strong":"emphasis",start:{...c.start},end:{...d.end}},e[a][1].end={...c.start},e[n][1].start={...d.end},h=[],e[a][1].end.offset-e[a][1].start.offset&&(h=ca(h,[["enter",e[a][1],t],["exit",e[a][1],t]])),h=ca(h,[["enter",s,t],["enter",c,t],["exit",c,t],["enter",o,t]]),h=ca(h,Ud(t.parser.constructs.insideSpan.null,e.slice(a+1,n),t)),h=ca(h,[["exit",o,t],["enter",d,t],["exit",d,t],["exit",s,t]]),e[n][1].end.offset-e[n][1].start.offset?(p=2,h=ca(h,[["enter",e[n][1],t],["exit",e[n][1],t]])):p=0,Wr(e,a-1,n-a+3,h),n=a+h.length-p-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function LE(e,t){const n=this.parser.constructs.attentionMarkers.null,a=this.previous,s=_o(a);let o;return c;function c(m){return o=m,e.enter("attentionSequence"),d(m)}function d(m){if(m===o)return e.consume(m),d;const h=e.exit("attentionSequence"),p=_o(m),g=!p||p===2&&s||n.includes(m),x=!s||s===2&&p||n.includes(a);return h._open=!!(o===42?g:g&&(s||!x)),h._close=!!(o===42?x:x&&(p||!g)),t(m)}}function k4(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const zE={name:"autolink",tokenize:BE};function BE(e,t,n){let a=0;return s;function s(y){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),o}function o(y){return kr(y)?(e.consume(y),c):y===64?n(y):h(y)}function c(y){return y===43||y===45||y===46||dr(y)?(a=1,d(y)):h(y)}function d(y){return y===58?(e.consume(y),a=0,m):(y===43||y===45||y===46||dr(y))&&a++<32?(e.consume(y),d):(a=0,h(y))}function m(y){return y===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):y===null||y===32||y===60||bd(y)?n(y):(e.consume(y),m)}function h(y){return y===64?(e.consume(y),p):NE(y)?(e.consume(y),h):n(y)}function p(y){return dr(y)?g(y):n(y)}function g(y){return y===46?(e.consume(y),a=0,p):y===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):x(y)}function x(y){if((y===45||dr(y))&&a++<63){const S=y===45?x:g;return e.consume(y),S}return n(y)}}const uc={partial:!0,tokenize:qE};function qE(e,t,n){return a;function a(o){return $t(o)?zt(e,s,"linePrefix")(o):s(o)}function s(o){return o===null||ft(o)?t(o):n(o)}}const S6={continuation:{tokenize:HE},exit:$E,name:"blockQuote",tokenize:UE};function UE(e,t,n){const a=this;return s;function s(c){if(c===62){const d=a.containerState;return d.open||(e.enter("blockQuote",{_container:!0}),d.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(c),e.exit("blockQuoteMarker"),o}return n(c)}function o(c){return $t(c)?(e.enter("blockQuotePrefixWhitespace"),e.consume(c),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(c))}}function HE(e,t,n){const a=this;return s;function s(c){return $t(c)?zt(e,o,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c):o(c)}function o(c){return e.attempt(S6,t,n)(c)}}function $E(e){e.exit("blockQuote")}const E6={name:"characterEscape",tokenize:PE};function PE(e,t,n){return a;function a(o){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(o),e.exit("escapeMarker"),s}function s(o){return IE(o)?(e.enter("characterEscapeValue"),e.consume(o),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(o)}}const T6={name:"characterReference",tokenize:FE};function FE(e,t,n){const a=this;let s=0,o,c;return d;function d(g){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(g),e.exit("characterReferenceMarker"),m}function m(g){return g===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(g),e.exit("characterReferenceMarkerNumeric"),h):(e.enter("characterReferenceValue"),o=31,c=dr,p(g))}function h(g){return g===88||g===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(g),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,c=RE,p):(e.enter("characterReferenceValue"),o=7,c=yp,p(g))}function p(g){if(g===59&&s){const x=e.exit("characterReferenceValue");return c===dr&&!k1(a.sliceSerialize(x))?n(g):(e.enter("characterReferenceMarker"),e.consume(g),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return c(g)&&s++<o?(e.consume(g),p):n(g)}}const S4={partial:!0,tokenize:VE},E4={concrete:!0,name:"codeFenced",tokenize:GE};function GE(e,t,n){const a=this,s={partial:!0,tokenize:F};let o=0,c=0,d;return m;function m(M){return h(M)}function h(M){const A=a.events[a.events.length-1];return o=A&&A[1].type==="linePrefix"?A[2].sliceSerialize(A[1],!0).length:0,d=M,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),p(M)}function p(M){return M===d?(c++,e.consume(M),p):c<3?n(M):(e.exit("codeFencedFenceSequence"),$t(M)?zt(e,g,"whitespace")(M):g(M))}function g(M){return M===null||ft(M)?(e.exit("codeFencedFence"),a.interrupt?t(M):e.check(S4,E,P)(M)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),x(M))}function x(M){return M===null||ft(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),g(M)):$t(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),zt(e,y,"whitespace")(M)):M===96&&M===d?n(M):(e.consume(M),x)}function y(M){return M===null||ft(M)?g(M):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),S(M))}function S(M){return M===null||ft(M)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),g(M)):M===96&&M===d?n(M):(e.consume(M),S)}function E(M){return e.attempt(s,P,R)(M)}function R(M){return e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),N}function N(M){return o>0&&$t(M)?zt(e,_,"linePrefix",o+1)(M):_(M)}function _(M){return M===null||ft(M)?e.check(S4,E,P)(M):(e.enter("codeFlowValue"),I(M))}function I(M){return M===null||ft(M)?(e.exit("codeFlowValue"),_(M)):(e.consume(M),I)}function P(M){return e.exit("codeFenced"),t(M)}function F(M,A,z){let G=0;return D;function D(X){return M.enter("lineEnding"),M.consume(X),M.exit("lineEnding"),K}function K(X){return M.enter("codeFencedFence"),$t(X)?zt(M,q,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(X):q(X)}function q(X){return X===d?(M.enter("codeFencedFenceSequence"),Q(X)):z(X)}function Q(X){return X===d?(G++,M.consume(X),Q):G>=c?(M.exit("codeFencedFenceSequence"),$t(X)?zt(M,V,"whitespace")(X):V(X)):z(X)}function V(X){return X===null||ft(X)?(M.exit("codeFencedFence"),A(X)):z(X)}}}function VE(e,t,n){const a=this;return s;function s(c){return c===null?n(c):(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),o)}function o(c){return a.parser.lazy[a.now().line]?n(c):t(c)}}const Em={name:"codeIndented",tokenize:WE},KE={partial:!0,tokenize:YE};function WE(e,t,n){const a=this;return s;function s(h){return e.enter("codeIndented"),zt(e,o,"linePrefix",5)(h)}function o(h){const p=a.events[a.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?c(h):n(h)}function c(h){return h===null?m(h):ft(h)?e.attempt(KE,c,m)(h):(e.enter("codeFlowValue"),d(h))}function d(h){return h===null||ft(h)?(e.exit("codeFlowValue"),c(h)):(e.consume(h),d)}function m(h){return e.exit("codeIndented"),t(h)}}function YE(e,t,n){const a=this;return s;function s(c){return a.parser.lazy[a.now().line]?n(c):ft(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),s):zt(e,o,"linePrefix",5)(c)}function o(c){const d=a.events[a.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?t(c):ft(c)?s(c):n(c)}}const ZE={name:"codeText",previous:QE,resolve:XE,tokenize:JE};function XE(e){let t=e.length-4,n=3,a,s;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(a=n;++a<t;)if(e[a][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(a=n-1,t++;++a<=t;)s===void 0?a!==t&&e[a][1].type!=="lineEnding"&&(s=a):(a===t||e[a][1].type==="lineEnding")&&(e[s][1].type="codeTextData",a!==s+2&&(e[s][1].end=e[a-1][1].end,e.splice(s+2,a-s-2),t-=a-s-2,a=s+2),s=void 0);return e}function QE(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function JE(e,t,n){let a=0,s,o;return c;function c(g){return e.enter("codeText"),e.enter("codeTextSequence"),d(g)}function d(g){return g===96?(e.consume(g),a++,d):(e.exit("codeTextSequence"),m(g))}function m(g){return g===null?n(g):g===32?(e.enter("space"),e.consume(g),e.exit("space"),m):g===96?(o=e.enter("codeTextSequence"),s=0,p(g)):ft(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),m):(e.enter("codeTextData"),h(g))}function h(g){return g===null||g===32||g===96||ft(g)?(e.exit("codeTextData"),m(g)):(e.consume(g),h)}function p(g){return g===96?(e.consume(g),s++,p):s===a?(e.exit("codeTextSequence"),e.exit("codeText"),t(g)):(o.type="codeTextData",h(g))}}class eT{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const a=n??Number.POSITIVE_INFINITY;return a<this.left.length?this.left.slice(t,a):t>this.left.length?this.right.slice(this.right.length-a+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-a+this.left.length).reverse())}splice(t,n,a){const s=n||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return a&&zl(this.left,a),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),zl(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),zl(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);zl(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);zl(this.left,n.reverse())}}}function zl(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function C6(e){const t={};let n=-1,a,s,o,c,d,m,h;const p=new eT(e);for(;++n<p.length;){for(;n in t;)n=t[n];if(a=p.get(n),n&&a[1].type==="chunkFlow"&&p.get(n-1)[1].type==="listItemPrefix"&&(m=a[1]._tokenizer.events,o=0,o<m.length&&m[o][1].type==="lineEndingBlank"&&(o+=2),o<m.length&&m[o][1].type==="content"))for(;++o<m.length&&m[o][1].type!=="content";)m[o][1].type==="chunkText"&&(m[o][1]._isInFirstContentOfListItem=!0,o++);if(a[0]==="enter")a[1].contentType&&(Object.assign(t,tT(p,n)),n=t[n],h=!0);else if(a[1]._container){for(o=n,s=void 0;o--;)if(c=p.get(o),c[1].type==="lineEnding"||c[1].type==="lineEndingBlank")c[0]==="enter"&&(s&&(p.get(s)[1].type="lineEndingBlank"),c[1].type="lineEnding",s=o);else if(!(c[1].type==="linePrefix"||c[1].type==="listItemIndent"))break;s&&(a[1].end={...p.get(s)[1].start},d=p.slice(s,n),d.unshift(a),p.splice(s,n-s+1,d))}}return Wr(e,0,Number.POSITIVE_INFINITY,p.slice(0)),!h}function tT(e,t){const n=e.get(t)[1],a=e.get(t)[2];let s=t-1;const o=[];let c=n._tokenizer;c||(c=a.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(c._contentTypeTextTrailing=!0));const d=c.events,m=[],h={};let p,g,x=-1,y=n,S=0,E=0;const R=[E];for(;y;){for(;e.get(++s)[1]!==y;);o.push(s),y._tokenizer||(p=a.sliceStream(y),y.next||p.push(null),g&&c.defineSkip(y.start),y._isInFirstContentOfListItem&&(c._gfmTasklistFirstContentOfListItem=!0),c.write(p),y._isInFirstContentOfListItem&&(c._gfmTasklistFirstContentOfListItem=void 0)),g=y,y=y.next}for(y=n;++x<d.length;)d[x][0]==="exit"&&d[x-1][0]==="enter"&&d[x][1].type===d[x-1][1].type&&d[x][1].start.line!==d[x][1].end.line&&(E=x+1,R.push(E),y._tokenizer=void 0,y.previous=void 0,y=y.next);for(c.events=[],y?(y._tokenizer=void 0,y.previous=void 0):R.pop(),x=R.length;x--;){const N=d.slice(R[x],R[x+1]),_=o.pop();m.push([_,_+N.length-1]),e.splice(_,2,N)}for(m.reverse(),x=-1;++x<m.length;)h[S+m[x][0]]=S+m[x][1],S+=m[x][1]-m[x][0]-1;return h}const nT={resolve:aT,tokenize:iT},rT={partial:!0,tokenize:sT};function aT(e){return C6(e),e}function iT(e,t){let n;return a;function a(d){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),s(d)}function s(d){return d===null?o(d):ft(d)?e.check(rT,c,o)(d):(e.consume(d),s)}function o(d){return e.exit("chunkContent"),e.exit("content"),t(d)}function c(d){return e.consume(d),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,s}}function sT(e,t,n){const a=this;return s;function s(c){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),zt(e,o,"linePrefix")}function o(c){if(c===null||ft(c))return n(c);const d=a.events[a.events.length-1];return!a.parser.constructs.disable.null.includes("codeIndented")&&d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?t(c):e.interrupt(a.parser.constructs.flow,n,t)(c)}}function N6(e,t,n,a,s,o,c,d,m){const h=m||Number.POSITIVE_INFINITY;let p=0;return g;function g(N){return N===60?(e.enter(a),e.enter(s),e.enter(o),e.consume(N),e.exit(o),x):N===null||N===32||N===41||bd(N)?n(N):(e.enter(a),e.enter(c),e.enter(d),e.enter("chunkString",{contentType:"string"}),E(N))}function x(N){return N===62?(e.enter(o),e.consume(N),e.exit(o),e.exit(s),e.exit(a),t):(e.enter(d),e.enter("chunkString",{contentType:"string"}),y(N))}function y(N){return N===62?(e.exit("chunkString"),e.exit(d),x(N)):N===null||N===60||ft(N)?n(N):(e.consume(N),N===92?S:y)}function S(N){return N===60||N===62||N===92?(e.consume(N),y):y(N)}function E(N){return!p&&(N===null||N===41||hn(N))?(e.exit("chunkString"),e.exit(d),e.exit(c),e.exit(a),t(N)):p<h&&N===40?(e.consume(N),p++,E):N===41?(e.consume(N),p--,E):N===null||N===32||N===40||bd(N)?n(N):(e.consume(N),N===92?R:E)}function R(N){return N===40||N===41||N===92?(e.consume(N),E):E(N)}}function R6(e,t,n,a,s,o){const c=this;let d=0,m;return h;function h(y){return e.enter(a),e.enter(s),e.consume(y),e.exit(s),e.enter(o),p}function p(y){return d>999||y===null||y===91||y===93&&!m||y===94&&!d&&"_hiddenFootnoteSupport"in c.parser.constructs?n(y):y===93?(e.exit(o),e.enter(s),e.consume(y),e.exit(s),e.exit(a),t):ft(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),g(y))}function g(y){return y===null||y===91||y===93||ft(y)||d++>999?(e.exit("chunkString"),p(y)):(e.consume(y),m||(m=!$t(y)),y===92?x:g)}function x(y){return y===91||y===92||y===93?(e.consume(y),d++,g):g(y)}}function I6(e,t,n,a,s,o){let c;return d;function d(x){return x===34||x===39||x===40?(e.enter(a),e.enter(s),e.consume(x),e.exit(s),c=x===40?41:x,m):n(x)}function m(x){return x===c?(e.enter(s),e.consume(x),e.exit(s),e.exit(a),t):(e.enter(o),h(x))}function h(x){return x===c?(e.exit(o),m(c)):x===null?n(x):ft(x)?(e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),zt(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===c||x===null||ft(x)?(e.exit("chunkString"),h(x)):(e.consume(x),x===92?g:p)}function g(x){return x===c||x===92?(e.consume(x),p):p(x)}}function Yl(e,t){let n;return a;function a(s){return ft(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n=!0,a):$t(s)?zt(e,a,n?"linePrefix":"lineSuffix")(s):t(s)}}const oT={name:"definition",tokenize:cT},lT={partial:!0,tokenize:uT};function cT(e,t,n){const a=this;let s;return o;function o(y){return e.enter("definition"),c(y)}function c(y){return R6.call(a,e,d,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function d(y){return s=xa(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),m):n(y)}function m(y){return hn(y)?Yl(e,h)(y):h(y)}function h(y){return N6(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function p(y){return e.attempt(lT,g,g)(y)}function g(y){return $t(y)?zt(e,x,"whitespace")(y):x(y)}function x(y){return y===null||ft(y)?(e.exit("definition"),a.parser.defined.push(s),t(y)):n(y)}}function uT(e,t,n){return a;function a(d){return hn(d)?Yl(e,s)(d):n(d)}function s(d){return I6(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(d)}function o(d){return $t(d)?zt(e,c,"whitespace")(d):c(d)}function c(d){return d===null||ft(d)?t(d):n(d)}}const dT={name:"hardBreakEscape",tokenize:fT};function fT(e,t,n){return a;function a(o){return e.enter("hardBreakEscape"),e.consume(o),s}function s(o){return ft(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}const mT={name:"headingAtx",resolve:hT,tokenize:pT};function hT(e,t){let n=e.length-2,a=3,s,o;return e[a][1].type==="whitespace"&&(a+=2),n-2>a&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(a===n-1||n-4>a&&e[n-2][1].type==="whitespace")&&(n-=a+1===n?2:4),n>a&&(s={type:"atxHeadingText",start:e[a][1].start,end:e[n][1].end},o={type:"chunkText",start:e[a][1].start,end:e[n][1].end,contentType:"text"},Wr(e,a,n-a+1,[["enter",s,t],["enter",o,t],["exit",o,t],["exit",s,t]])),e}function pT(e,t,n){let a=0;return s;function s(p){return e.enter("atxHeading"),o(p)}function o(p){return e.enter("atxHeadingSequence"),c(p)}function c(p){return p===35&&a++<6?(e.consume(p),c):p===null||hn(p)?(e.exit("atxHeadingSequence"),d(p)):n(p)}function d(p){return p===35?(e.enter("atxHeadingSequence"),m(p)):p===null||ft(p)?(e.exit("atxHeading"),t(p)):$t(p)?zt(e,d,"whitespace")(p):(e.enter("atxHeadingText"),h(p))}function m(p){return p===35?(e.consume(p),m):(e.exit("atxHeadingSequence"),d(p))}function h(p){return p===null||p===35||hn(p)?(e.exit("atxHeadingText"),d(p)):(e.consume(p),h)}}const gT=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],T4=["pre","script","style","textarea"],vT={concrete:!0,name:"htmlFlow",resolveTo:xT,tokenize:wT},bT={partial:!0,tokenize:ST},yT={partial:!0,tokenize:kT};function xT(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function wT(e,t,n){const a=this;let s,o,c,d,m;return h;function h(O){return p(O)}function p(O){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(O),g}function g(O){return O===33?(e.consume(O),x):O===47?(e.consume(O),o=!0,E):O===63?(e.consume(O),s=3,a.interrupt?t:j):kr(O)?(e.consume(O),c=String.fromCharCode(O),R):n(O)}function x(O){return O===45?(e.consume(O),s=2,y):O===91?(e.consume(O),s=5,d=0,S):kr(O)?(e.consume(O),s=4,a.interrupt?t:j):n(O)}function y(O){return O===45?(e.consume(O),a.interrupt?t:j):n(O)}function S(O){const ge="CDATA[";return O===ge.charCodeAt(d++)?(e.consume(O),d===ge.length?a.interrupt?t:q:S):n(O)}function E(O){return kr(O)?(e.consume(O),c=String.fromCharCode(O),R):n(O)}function R(O){if(O===null||O===47||O===62||hn(O)){const ge=O===47,Z=c.toLowerCase();return!ge&&!o&&T4.includes(Z)?(s=1,a.interrupt?t(O):q(O)):gT.includes(c.toLowerCase())?(s=6,ge?(e.consume(O),N):a.interrupt?t(O):q(O)):(s=7,a.interrupt&&!a.parser.lazy[a.now().line]?n(O):o?_(O):I(O))}return O===45||dr(O)?(e.consume(O),c+=String.fromCharCode(O),R):n(O)}function N(O){return O===62?(e.consume(O),a.interrupt?t:q):n(O)}function _(O){return $t(O)?(e.consume(O),_):D(O)}function I(O){return O===47?(e.consume(O),D):O===58||O===95||kr(O)?(e.consume(O),P):$t(O)?(e.consume(O),I):D(O)}function P(O){return O===45||O===46||O===58||O===95||dr(O)?(e.consume(O),P):F(O)}function F(O){return O===61?(e.consume(O),M):$t(O)?(e.consume(O),F):I(O)}function M(O){return O===null||O===60||O===61||O===62||O===96?n(O):O===34||O===39?(e.consume(O),m=O,A):$t(O)?(e.consume(O),M):z(O)}function A(O){return O===m?(e.consume(O),m=null,G):O===null||ft(O)?n(O):(e.consume(O),A)}function z(O){return O===null||O===34||O===39||O===47||O===60||O===61||O===62||O===96||hn(O)?F(O):(e.consume(O),z)}function G(O){return O===47||O===62||$t(O)?I(O):n(O)}function D(O){return O===62?(e.consume(O),K):n(O)}function K(O){return O===null||ft(O)?q(O):$t(O)?(e.consume(O),K):n(O)}function q(O){return O===45&&s===2?(e.consume(O),W):O===60&&s===1?(e.consume(O),B):O===62&&s===4?(e.consume(O),U):O===63&&s===3?(e.consume(O),j):O===93&&s===5?(e.consume(O),me):ft(O)&&(s===6||s===7)?(e.exit("htmlFlowData"),e.check(bT,ee,Q)(O)):O===null||ft(O)?(e.exit("htmlFlowData"),Q(O)):(e.consume(O),q)}function Q(O){return e.check(yT,V,ee)(O)}function V(O){return e.enter("lineEnding"),e.consume(O),e.exit("lineEnding"),X}function X(O){return O===null||ft(O)?Q(O):(e.enter("htmlFlowData"),q(O))}function W(O){return O===45?(e.consume(O),j):q(O)}function B(O){return O===47?(e.consume(O),c="",Y):q(O)}function Y(O){if(O===62){const ge=c.toLowerCase();return T4.includes(ge)?(e.consume(O),U):q(O)}return kr(O)&&c.length<8?(e.consume(O),c+=String.fromCharCode(O),Y):q(O)}function me(O){return O===93?(e.consume(O),j):q(O)}function j(O){return O===62?(e.consume(O),U):O===45&&s===2?(e.consume(O),j):q(O)}function U(O){return O===null||ft(O)?(e.exit("htmlFlowData"),ee(O)):(e.consume(O),U)}function ee(O){return e.exit("htmlFlow"),t(O)}}function kT(e,t,n){const a=this;return s;function s(c){return ft(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),o):n(c)}function o(c){return a.parser.lazy[a.now().line]?n(c):t(c)}}function ST(e,t,n){return a;function a(s){return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),e.attempt(uc,t,n)}}const ET={name:"htmlText",tokenize:TT};function TT(e,t,n){const a=this;let s,o,c;return d;function d(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),m}function m(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),F):j===63?(e.consume(j),I):kr(j)?(e.consume(j),z):n(j)}function h(j){return j===45?(e.consume(j),p):j===91?(e.consume(j),o=0,S):kr(j)?(e.consume(j),_):n(j)}function p(j){return j===45?(e.consume(j),y):n(j)}function g(j){return j===null?n(j):j===45?(e.consume(j),x):ft(j)?(c=g,B(j)):(e.consume(j),g)}function x(j){return j===45?(e.consume(j),y):g(j)}function y(j){return j===62?W(j):j===45?x(j):g(j)}function S(j){const U="CDATA[";return j===U.charCodeAt(o++)?(e.consume(j),o===U.length?E:S):n(j)}function E(j){return j===null?n(j):j===93?(e.consume(j),R):ft(j)?(c=E,B(j)):(e.consume(j),E)}function R(j){return j===93?(e.consume(j),N):E(j)}function N(j){return j===62?W(j):j===93?(e.consume(j),N):E(j)}function _(j){return j===null||j===62?W(j):ft(j)?(c=_,B(j)):(e.consume(j),_)}function I(j){return j===null?n(j):j===63?(e.consume(j),P):ft(j)?(c=I,B(j)):(e.consume(j),I)}function P(j){return j===62?W(j):I(j)}function F(j){return kr(j)?(e.consume(j),M):n(j)}function M(j){return j===45||dr(j)?(e.consume(j),M):A(j)}function A(j){return ft(j)?(c=A,B(j)):$t(j)?(e.consume(j),A):W(j)}function z(j){return j===45||dr(j)?(e.consume(j),z):j===47||j===62||hn(j)?G(j):n(j)}function G(j){return j===47?(e.consume(j),W):j===58||j===95||kr(j)?(e.consume(j),D):ft(j)?(c=G,B(j)):$t(j)?(e.consume(j),G):W(j)}function D(j){return j===45||j===46||j===58||j===95||dr(j)?(e.consume(j),D):K(j)}function K(j){return j===61?(e.consume(j),q):ft(j)?(c=K,B(j)):$t(j)?(e.consume(j),K):G(j)}function q(j){return j===null||j===60||j===61||j===62||j===96?n(j):j===34||j===39?(e.consume(j),s=j,Q):ft(j)?(c=q,B(j)):$t(j)?(e.consume(j),q):(e.consume(j),V)}function Q(j){return j===s?(e.consume(j),s=void 0,X):j===null?n(j):ft(j)?(c=Q,B(j)):(e.consume(j),Q)}function V(j){return j===null||j===34||j===39||j===60||j===61||j===96?n(j):j===47||j===62||hn(j)?G(j):(e.consume(j),V)}function X(j){return j===47||j===62||hn(j)?G(j):n(j)}function W(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),t):n(j)}function B(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Y}function Y(j){return $t(j)?zt(e,me,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):me(j)}function me(j){return e.enter("htmlTextData"),c(j)}}const S1={name:"labelEnd",resolveAll:IT,resolveTo:AT,tokenize:_T},CT={tokenize:MT},NT={tokenize:OT},RT={tokenize:DT};function IT(e){let t=-1;const n=[];for(;++t<e.length;){const a=e[t][1];if(n.push(e[t]),a.type==="labelImage"||a.type==="labelLink"||a.type==="labelEnd"){const s=a.type==="labelImage"?4:2;a.type="data",t+=s}}return e.length!==n.length&&Wr(e,0,e.length,n),e}function AT(e,t){let n=e.length,a=0,s,o,c,d;for(;n--;)if(s=e[n][1],o){if(s.type==="link"||s.type==="labelLink"&&s._inactive)break;e[n][0]==="enter"&&s.type==="labelLink"&&(s._inactive=!0)}else if(c){if(e[n][0]==="enter"&&(s.type==="labelImage"||s.type==="labelLink")&&!s._balanced&&(o=n,s.type!=="labelLink")){a=2;break}}else s.type==="labelEnd"&&(c=n);const m={type:e[o][1].type==="labelLink"?"link":"image",start:{...e[o][1].start},end:{...e[e.length-1][1].end}},h={type:"label",start:{...e[o][1].start},end:{...e[c][1].end}},p={type:"labelText",start:{...e[o+a+2][1].end},end:{...e[c-2][1].start}};return d=[["enter",m,t],["enter",h,t]],d=ca(d,e.slice(o+1,o+a+3)),d=ca(d,[["enter",p,t]]),d=ca(d,Ud(t.parser.constructs.insideSpan.null,e.slice(o+a+4,c-3),t)),d=ca(d,[["exit",p,t],e[c-2],e[c-1],["exit",h,t]]),d=ca(d,e.slice(c+1)),d=ca(d,[["exit",m,t]]),Wr(e,o,e.length,d),e}function _T(e,t,n){const a=this;let s=a.events.length,o,c;for(;s--;)if((a.events[s][1].type==="labelImage"||a.events[s][1].type==="labelLink")&&!a.events[s][1]._balanced){o=a.events[s][1];break}return d;function d(x){return o?o._inactive?g(x):(c=a.parser.defined.includes(xa(a.sliceSerialize({start:o.end,end:a.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(x),e.exit("labelMarker"),e.exit("labelEnd"),m):n(x)}function m(x){return x===40?e.attempt(CT,p,c?p:g)(x):x===91?e.attempt(NT,p,c?h:g)(x):c?p(x):g(x)}function h(x){return e.attempt(RT,p,g)(x)}function p(x){return t(x)}function g(x){return o._balanced=!0,n(x)}}function MT(e,t,n){return a;function a(g){return e.enter("resource"),e.enter("resourceMarker"),e.consume(g),e.exit("resourceMarker"),s}function s(g){return hn(g)?Yl(e,o)(g):o(g)}function o(g){return g===41?p(g):N6(e,c,d,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(g)}function c(g){return hn(g)?Yl(e,m)(g):p(g)}function d(g){return n(g)}function m(g){return g===34||g===39||g===40?I6(e,h,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(g):p(g)}function h(g){return hn(g)?Yl(e,p)(g):p(g)}function p(g){return g===41?(e.enter("resourceMarker"),e.consume(g),e.exit("resourceMarker"),e.exit("resource"),t):n(g)}}function OT(e,t,n){const a=this;return s;function s(d){return R6.call(a,e,o,c,"reference","referenceMarker","referenceString")(d)}function o(d){return a.parser.defined.includes(xa(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)))?t(d):n(d)}function c(d){return n(d)}}function DT(e,t,n){return a;function a(o){return e.enter("reference"),e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),s}function s(o){return o===93?(e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),e.exit("reference"),t):n(o)}}const jT={name:"labelStartImage",resolveAll:S1.resolveAll,tokenize:LT};function LT(e,t,n){const a=this;return s;function s(d){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(d),e.exit("labelImageMarker"),o}function o(d){return d===91?(e.enter("labelMarker"),e.consume(d),e.exit("labelMarker"),e.exit("labelImage"),c):n(d)}function c(d){return d===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(d):t(d)}}const zT={name:"labelStartLink",resolveAll:S1.resolveAll,tokenize:BT};function BT(e,t,n){const a=this;return s;function s(c){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),e.exit("labelLink"),o}function o(c){return c===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(c):t(c)}}const Tm={name:"lineEnding",tokenize:qT};function qT(e,t){return n;function n(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),zt(e,t,"linePrefix")}}const Ju={name:"thematicBreak",tokenize:UT};function UT(e,t,n){let a=0,s;return o;function o(h){return e.enter("thematicBreak"),c(h)}function c(h){return s=h,d(h)}function d(h){return h===s?(e.enter("thematicBreakSequence"),m(h)):a>=3&&(h===null||ft(h))?(e.exit("thematicBreak"),t(h)):n(h)}function m(h){return h===s?(e.consume(h),a++,m):(e.exit("thematicBreakSequence"),$t(h)?zt(e,d,"whitespace")(h):d(h))}}const Or={continuation:{tokenize:FT},exit:VT,name:"list",tokenize:PT},HT={partial:!0,tokenize:KT},$T={partial:!0,tokenize:GT};function PT(e,t,n){const a=this,s=a.events[a.events.length-1];let o=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,c=0;return d;function d(y){const S=a.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(S==="listUnordered"?!a.containerState.marker||y===a.containerState.marker:yp(y)){if(a.containerState.type||(a.containerState.type=S,e.enter(S,{_container:!0})),S==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(Ju,n,h)(y):h(y);if(!a.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),m(y)}return n(y)}function m(y){return yp(y)&&++c<10?(e.consume(y),m):(!a.interrupt||c<2)&&(a.containerState.marker?y===a.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),h(y)):n(y)}function h(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||y,e.check(uc,a.interrupt?n:p,e.attempt(HT,x,g))}function p(y){return a.containerState.initialBlankLine=!0,o++,x(y)}function g(y){return $t(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),x):n(y)}function x(y){return a.containerState.size=o+a.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function FT(e,t,n){const a=this;return a.containerState._closeFlow=void 0,e.check(uc,s,o);function s(d){return a.containerState.furtherBlankLines=a.containerState.furtherBlankLines||a.containerState.initialBlankLine,zt(e,t,"listItemIndent",a.containerState.size+1)(d)}function o(d){return a.containerState.furtherBlankLines||!$t(d)?(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,c(d)):(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,e.attempt($T,t,c)(d))}function c(d){return a.containerState._closeFlow=!0,a.interrupt=void 0,zt(e,e.attempt(Or,t,n),"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d)}}function GT(e,t,n){const a=this;return zt(e,s,"listItemIndent",a.containerState.size+1);function s(o){const c=a.events[a.events.length-1];return c&&c[1].type==="listItemIndent"&&c[2].sliceSerialize(c[1],!0).length===a.containerState.size?t(o):n(o)}}function VT(e){e.exit(this.containerState.type)}function KT(e,t,n){const a=this;return zt(e,s,"listItemPrefixWhitespace",a.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(o){const c=a.events[a.events.length-1];return!$t(o)&&c&&c[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}const C4={name:"setextUnderline",resolveTo:WT,tokenize:YT};function WT(e,t){let n=e.length,a,s,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){a=n;break}e[n][1].type==="paragraph"&&(s=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);const c={type:"setextHeading",start:{...e[a][1].start},end:{...e[e.length-1][1].end}};return e[s][1].type="setextHeadingText",o?(e.splice(s,0,["enter",c,t]),e.splice(o+1,0,["exit",e[a][1],t]),e[a][1].end={...e[o][1].end}):e[a][1]=c,e.push(["exit",c,t]),e}function YT(e,t,n){const a=this;let s;return o;function o(h){let p=a.events.length,g;for(;p--;)if(a.events[p][1].type!=="lineEnding"&&a.events[p][1].type!=="linePrefix"&&a.events[p][1].type!=="content"){g=a.events[p][1].type==="paragraph";break}return!a.parser.lazy[a.now().line]&&(a.interrupt||g)?(e.enter("setextHeadingLine"),s=h,c(h)):n(h)}function c(h){return e.enter("setextHeadingLineSequence"),d(h)}function d(h){return h===s?(e.consume(h),d):(e.exit("setextHeadingLineSequence"),$t(h)?zt(e,m,"lineSuffix")(h):m(h))}function m(h){return h===null||ft(h)?(e.exit("setextHeadingLine"),t(h)):n(h)}}const ZT={tokenize:XT};function XT(e){const t=this,n=e.attempt(uc,a,e.attempt(this.parser.constructs.flowInitial,s,zt(e,e.attempt(this.parser.constructs.flow,s,e.attempt(nT,s)),"linePrefix")));return n;function a(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function s(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const QT={resolveAll:_6()},JT=A6("string"),eC=A6("text");function A6(e){return{resolveAll:_6(e==="text"?tC:void 0),tokenize:t};function t(n){const a=this,s=this.parser.constructs[e],o=n.attempt(s,c,d);return c;function c(p){return h(p)?o(p):d(p)}function d(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),m}function m(p){return h(p)?(n.exit("data"),o(p)):(n.consume(p),m)}function h(p){if(p===null)return!0;const g=s[p];let x=-1;if(g)for(;++x<g.length;){const y=g[x];if(!y.previous||y.previous.call(a,a.previous))return!0}return!1}}}function _6(e){return t;function t(n,a){let s=-1,o;for(;++s<=n.length;)o===void 0?n[s]&&n[s][1].type==="data"&&(o=s,s++):(!n[s]||n[s][1].type!=="data")&&(s!==o+2&&(n[o][1].end=n[s-1][1].end,n.splice(o+2,s-o-2),s=o+2),o=void 0);return e?e(n,a):n}}function tC(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const a=e[n-1][1],s=t.sliceStream(a);let o=s.length,c=-1,d=0,m;for(;o--;){const h=s[o];if(typeof h=="string"){for(c=h.length;h.charCodeAt(c-1)===32;)d++,c--;if(c)break;c=-1}else if(h===-2)m=!0,d++;else if(h!==-1){o++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(d=0),d){const h={type:n===e.length||m||d<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:o?c:a.start._bufferIndex+c,_index:a.start._index+o,line:a.end.line,column:a.end.column-d,offset:a.end.offset-d},end:{...a.end}};a.end={...h.start},a.start.offset===a.end.offset?Object.assign(a,h):(e.splice(n,0,["enter",h,t],["exit",h,t]),n+=2)}n++}return e}const nC={42:Or,43:Or,45:Or,48:Or,49:Or,50:Or,51:Or,52:Or,53:Or,54:Or,55:Or,56:Or,57:Or,62:S6},rC={91:oT},aC={[-2]:Em,[-1]:Em,32:Em},iC={35:mT,42:Ju,45:[C4,Ju],60:vT,61:C4,95:Ju,96:E4,126:E4},sC={38:T6,92:E6},oC={[-5]:Tm,[-4]:Tm,[-3]:Tm,33:jT,38:T6,42:xp,60:[zE,ET],91:zT,92:[dT,E6],93:S1,95:xp,96:ZE},lC={null:[xp,QT]},cC={null:[42,95]},uC={null:[]},dC=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:cC,contentInitial:rC,disable:uC,document:nC,flow:iC,flowInitial:aC,insideSpan:lC,string:sC,text:oC},Symbol.toStringTag,{value:"Module"}));function fC(e,t,n){let a={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const s={},o=[];let c=[],d=[];const m={attempt:A(F),check:A(M),consume:_,enter:I,exit:P,interrupt:A(M,{interrupt:!0})},h={code:null,containerState:{},defineSkip:E,events:[],now:S,parser:e,previous:null,sliceSerialize:x,sliceStream:y,write:g};let p=t.tokenize.call(h,m);return t.resolveAll&&o.push(t),h;function g(K){return c=ca(c,K),R(),c[c.length-1]!==null?[]:(z(t,0),h.events=Ud(o,h.events,h),h.events)}function x(K,q){return hC(y(K),q)}function y(K){return mC(c,K)}function S(){const{_bufferIndex:K,_index:q,line:Q,column:V,offset:X}=a;return{_bufferIndex:K,_index:q,line:Q,column:V,offset:X}}function E(K){s[K.line]=K.column,D()}function R(){let K;for(;a._index<c.length;){const q=c[a._index];if(typeof q=="string")for(K=a._index,a._bufferIndex<0&&(a._bufferIndex=0);a._index===K&&a._bufferIndex<q.length;)N(q.charCodeAt(a._bufferIndex));else N(q)}}function N(K){p=p(K)}function _(K){ft(K)?(a.line++,a.column=1,a.offset+=K===-3?2:1,D()):K!==-1&&(a.column++,a.offset++),a._bufferIndex<0?a._index++:(a._bufferIndex++,a._bufferIndex===c[a._index].length&&(a._bufferIndex=-1,a._index++)),h.previous=K}function I(K,q){const Q=q||{};return Q.type=K,Q.start=S(),h.events.push(["enter",Q,h]),d.push(Q),Q}function P(K){const q=d.pop();return q.end=S(),h.events.push(["exit",q,h]),q}function F(K,q){z(K,q.from)}function M(K,q){q.restore()}function A(K,q){return Q;function Q(V,X,W){let B,Y,me,j;return Array.isArray(V)?ee(V):"tokenize"in V?ee([V]):U(V);function U(le){return ce;function ce(pe){const ue=pe!==null&&le[pe],J=pe!==null&&le.null,oe=[...Array.isArray(ue)?ue:ue?[ue]:[],...Array.isArray(J)?J:J?[J]:[]];return ee(oe)(pe)}}function ee(le){return B=le,Y=0,le.length===0?W:O(le[Y])}function O(le){return ce;function ce(pe){return j=G(),me=le,le.partial||(h.currentConstruct=le),le.name&&h.parser.constructs.disable.null.includes(le.name)?Z():le.tokenize.call(q?Object.assign(Object.create(h),q):h,m,ge,Z)(pe)}}function ge(le){return K(me,j),X}function Z(le){return j.restore(),++Y<B.length?O(B[Y]):W}}}function z(K,q){K.resolveAll&&!o.includes(K)&&o.push(K),K.resolve&&Wr(h.events,q,h.events.length-q,K.resolve(h.events.slice(q),h)),K.resolveTo&&(h.events=K.resolveTo(h.events,h))}function G(){const K=S(),q=h.previous,Q=h.currentConstruct,V=h.events.length,X=Array.from(d);return{from:V,restore:W};function W(){a=K,h.previous=q,h.currentConstruct=Q,h.events.length=V,d=X,D()}}function D(){a.line in s&&a.column<2&&(a.column=s[a.line],a.offset+=s[a.line]-1)}}function mC(e,t){const n=t.start._index,a=t.start._bufferIndex,s=t.end._index,o=t.end._bufferIndex;let c;if(n===s)c=[e[n].slice(a,o)];else{if(c=e.slice(n,s),a>-1){const d=c[0];typeof d=="string"?c[0]=d.slice(a):c.shift()}o>0&&c.push(e[s].slice(0,o))}return c}function hC(e,t){let n=-1;const a=[];let s;for(;++n<e.length;){const o=e[n];let c;if(typeof o=="string")c=o;else switch(o){case-5:{c="\r";break}case-4:{c=`
|
|
21
|
+
`;break}case-3:{c=`\r
|
|
22
|
+
`;break}case-2:{c=t?" ":" ";break}case-1:{if(!t&&s)continue;c=" ";break}default:c=String.fromCharCode(o)}s=o===-2,a.push(c)}return a.join("")}function pC(e){const a={constructs:w6([dC,...(e||{}).extensions||[]]),content:s(AE),defined:[],document:s(ME),flow:s(ZT),lazy:{},string:s(JT),text:s(eC)};return a;function s(o){return c;function c(d){return fC(a,o,d)}}}function gC(e){for(;!C6(e););return e}const N4=/[\0\t\n\r]/g;function vC(){let e=1,t="",n=!0,a;return s;function s(o,c,d){const m=[];let h,p,g,x,y;for(o=t+(typeof o=="string"?o.toString():new TextDecoder(c||void 0).decode(o)),g=0,t="",n&&(o.charCodeAt(0)===65279&&g++,n=void 0);g<o.length;){if(N4.lastIndex=g,h=N4.exec(o),x=h&&h.index!==void 0?h.index:o.length,y=o.charCodeAt(x),!h){t=o.slice(g);break}if(y===10&&g===x&&a)m.push(-3),a=void 0;else switch(a&&(m.push(-5),a=void 0),g<x&&(m.push(o.slice(g,x)),e+=x-g),y){case 0:{m.push(65533),e++;break}case 9:{for(p=Math.ceil(e/4)*4,m.push(-2);e++<p;)m.push(-1);break}case 10:{m.push(-4),e=1;break}default:a=!0,e=1}g=x+1}return d&&(a&&m.push(-5),t&&m.push(t),m.push(null)),m}}const bC=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function yC(e){return e.replace(bC,xC)}function xC(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const s=n.charCodeAt(1),o=s===120||s===88;return k6(n.slice(o?2:1),o?16:10)}return k1(n)||e}const M6={}.hasOwnProperty;function wC(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),kC(n)(gC(pC(n).document().write(vC()(e,t,!0))))}function kC(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(Pt),autolinkProtocol:G,autolinkEmail:G,atxHeading:o(Re),blockQuote:o(J),characterEscape:G,characterReference:G,codeFenced:o(oe),codeFencedFenceInfo:c,codeFencedFenceMeta:c,codeIndented:o(oe,c),codeText:o(ie,c),codeTextData:G,data:G,codeFlowValue:G,definition:o(we),definitionDestinationString:c,definitionLabelString:c,definitionTitleString:c,emphasis:o(Se),hardBreakEscape:o(Ze),hardBreakTrailing:o(Ze),htmlFlow:o(it,c),htmlFlowData:G,htmlText:o(it,c),htmlTextData:G,image:o(rt),label:c,link:o(Pt),listItem:o(Dt),listItemValue:x,listOrdered:o(gt,g),listUnordered:o(gt),paragraph:o(Lt),reference:O,referenceString:c,resourceDestinationString:c,resourceTitleString:c,setextHeading:o(Re),strong:o(vt),thematicBreak:o(bt)},exit:{atxHeading:m(),atxHeadingSequence:F,autolink:m(),autolinkEmail:ue,autolinkProtocol:pe,blockQuote:m(),characterEscapeValue:D,characterReferenceMarkerHexadecimal:Z,characterReferenceMarkerNumeric:Z,characterReferenceValue:le,characterReference:ce,codeFenced:m(R),codeFencedFence:E,codeFencedFenceInfo:y,codeFencedFenceMeta:S,codeFlowValue:D,codeIndented:m(N),codeText:m(X),codeTextData:D,data:D,definition:m(),definitionDestinationString:P,definitionLabelString:_,definitionTitleString:I,emphasis:m(),hardBreakEscape:m(q),hardBreakTrailing:m(q),htmlFlow:m(Q),htmlFlowData:D,htmlText:m(V),htmlTextData:D,image:m(B),label:me,labelText:Y,lineEnding:K,link:m(W),listItem:m(),listOrdered:m(),listUnordered:m(),paragraph:m(),referenceString:ge,resourceDestinationString:j,resourceTitleString:U,resource:ee,setextHeading:m(z),setextHeadingLineSequence:A,setextHeadingText:M,strong:m(),thematicBreak:m()}};O6(t,(e||{}).mdastExtensions||[]);const n={};return a;function a(xe){let _e={type:"root",children:[]};const qe={stack:[_e],tokenStack:[],config:t,enter:d,exit:h,buffer:c,resume:p,data:n},De=[];let We=-1;for(;++We<xe.length;)if(xe[We][1].type==="listOrdered"||xe[We][1].type==="listUnordered")if(xe[We][0]==="enter")De.push(We);else{const Tt=De.pop();We=s(xe,Tt,We)}for(We=-1;++We<xe.length;){const Tt=t[xe[We][0]];M6.call(Tt,xe[We][1].type)&&Tt[xe[We][1].type].call(Object.assign({sliceSerialize:xe[We][2].sliceSerialize},qe),xe[We][1])}if(qe.tokenStack.length>0){const Tt=qe.tokenStack[qe.tokenStack.length-1];(Tt[1]||R4).call(qe,void 0,Tt[0])}for(_e.position={start:Gi(xe.length>0?xe[0][1].start:{line:1,column:1,offset:0}),end:Gi(xe.length>0?xe[xe.length-2][1].end:{line:1,column:1,offset:0})},We=-1;++We<t.transforms.length;)_e=t.transforms[We](_e)||_e;return _e}function s(xe,_e,qe){let De=_e-1,We=-1,Tt=!1,Wt,Qt,At,Pe;for(;++De<=qe;){const Oe=xe[De];switch(Oe[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Oe[0]==="enter"?We++:We--,Pe=void 0;break}case"lineEndingBlank":{Oe[0]==="enter"&&(Wt&&!Pe&&!We&&!At&&(At=De),Pe=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Pe=void 0}if(!We&&Oe[0]==="enter"&&Oe[1].type==="listItemPrefix"||We===-1&&Oe[0]==="exit"&&(Oe[1].type==="listUnordered"||Oe[1].type==="listOrdered")){if(Wt){let Ye=De;for(Qt=void 0;Ye--;){const Je=xe[Ye];if(Je[1].type==="lineEnding"||Je[1].type==="lineEndingBlank"){if(Je[0]==="exit")continue;Qt&&(xe[Qt][1].type="lineEndingBlank",Tt=!0),Je[1].type="lineEnding",Qt=Ye}else if(!(Je[1].type==="linePrefix"||Je[1].type==="blockQuotePrefix"||Je[1].type==="blockQuotePrefixWhitespace"||Je[1].type==="blockQuoteMarker"||Je[1].type==="listItemIndent"))break}At&&(!Qt||At<Qt)&&(Wt._spread=!0),Wt.end=Object.assign({},Qt?xe[Qt][1].start:Oe[1].end),xe.splice(Qt||De,0,["exit",Wt,Oe[2]]),De++,qe++}if(Oe[1].type==="listItemPrefix"){const Ye={type:"listItem",_spread:!1,start:Object.assign({},Oe[1].start),end:void 0};Wt=Ye,xe.splice(De,0,["enter",Ye,Oe[2]]),De++,qe++,At=void 0,Pe=!0}}}return xe[_e][1]._spread=Tt,qe}function o(xe,_e){return qe;function qe(De){d.call(this,xe(De),De),_e&&_e.call(this,De)}}function c(){this.stack.push({type:"fragment",children:[]})}function d(xe,_e,qe){this.stack[this.stack.length-1].children.push(xe),this.stack.push(xe),this.tokenStack.push([_e,qe||void 0]),xe.position={start:Gi(_e.start),end:void 0}}function m(xe){return _e;function _e(qe){xe&&xe.call(this,qe),h.call(this,qe)}}function h(xe,_e){const qe=this.stack.pop(),De=this.tokenStack.pop();if(De)De[0].type!==xe.type&&(_e?_e.call(this,xe,De[0]):(De[1]||R4).call(this,xe,De[0]));else throw new Error("Cannot close `"+xe.type+"` ("+Wl({start:xe.start,end:xe.end})+"): it’s not open");qe.position.end=Gi(xe.end)}function p(){return w1(this.stack.pop())}function g(){this.data.expectingFirstListItemValue=!0}function x(xe){if(this.data.expectingFirstListItemValue){const _e=this.stack[this.stack.length-2];_e.start=Number.parseInt(this.sliceSerialize(xe),10),this.data.expectingFirstListItemValue=void 0}}function y(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.lang=xe}function S(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.meta=xe}function E(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function R(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.value=xe.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function N(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.value=xe.replace(/(\r?\n|\r)$/g,"")}function _(xe){const _e=this.resume(),qe=this.stack[this.stack.length-1];qe.label=_e,qe.identifier=xa(this.sliceSerialize(xe)).toLowerCase()}function I(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.title=xe}function P(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.url=xe}function F(xe){const _e=this.stack[this.stack.length-1];if(!_e.depth){const qe=this.sliceSerialize(xe).length;_e.depth=qe}}function M(){this.data.setextHeadingSlurpLineEnding=!0}function A(xe){const _e=this.stack[this.stack.length-1];_e.depth=this.sliceSerialize(xe).codePointAt(0)===61?1:2}function z(){this.data.setextHeadingSlurpLineEnding=void 0}function G(xe){const qe=this.stack[this.stack.length-1].children;let De=qe[qe.length-1];(!De||De.type!=="text")&&(De=Ke(),De.position={start:Gi(xe.start),end:void 0},qe.push(De)),this.stack.push(De)}function D(xe){const _e=this.stack.pop();_e.value+=this.sliceSerialize(xe),_e.position.end=Gi(xe.end)}function K(xe){const _e=this.stack[this.stack.length-1];if(this.data.atHardBreak){const qe=_e.children[_e.children.length-1];qe.position.end=Gi(xe.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(_e.type)&&(G.call(this,xe),D.call(this,xe))}function q(){this.data.atHardBreak=!0}function Q(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.value=xe}function V(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.value=xe}function X(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.value=xe}function W(){const xe=this.stack[this.stack.length-1];if(this.data.inReference){const _e=this.data.referenceType||"shortcut";xe.type+="Reference",xe.referenceType=_e,delete xe.url,delete xe.title}else delete xe.identifier,delete xe.label;this.data.referenceType=void 0}function B(){const xe=this.stack[this.stack.length-1];if(this.data.inReference){const _e=this.data.referenceType||"shortcut";xe.type+="Reference",xe.referenceType=_e,delete xe.url,delete xe.title}else delete xe.identifier,delete xe.label;this.data.referenceType=void 0}function Y(xe){const _e=this.sliceSerialize(xe),qe=this.stack[this.stack.length-2];qe.label=yC(_e),qe.identifier=xa(_e).toLowerCase()}function me(){const xe=this.stack[this.stack.length-1],_e=this.resume(),qe=this.stack[this.stack.length-1];if(this.data.inReference=!0,qe.type==="link"){const De=xe.children;qe.children=De}else qe.alt=_e}function j(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.url=xe}function U(){const xe=this.resume(),_e=this.stack[this.stack.length-1];_e.title=xe}function ee(){this.data.inReference=void 0}function O(){this.data.referenceType="collapsed"}function ge(xe){const _e=this.resume(),qe=this.stack[this.stack.length-1];qe.label=_e,qe.identifier=xa(this.sliceSerialize(xe)).toLowerCase(),this.data.referenceType="full"}function Z(xe){this.data.characterReferenceType=xe.type}function le(xe){const _e=this.sliceSerialize(xe),qe=this.data.characterReferenceType;let De;qe?(De=k6(_e,qe==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):De=k1(_e);const We=this.stack[this.stack.length-1];We.value+=De}function ce(xe){const _e=this.stack.pop();_e.position.end=Gi(xe.end)}function pe(xe){D.call(this,xe);const _e=this.stack[this.stack.length-1];_e.url=this.sliceSerialize(xe)}function ue(xe){D.call(this,xe);const _e=this.stack[this.stack.length-1];_e.url="mailto:"+this.sliceSerialize(xe)}function J(){return{type:"blockquote",children:[]}}function oe(){return{type:"code",lang:null,meta:null,value:""}}function ie(){return{type:"inlineCode",value:""}}function we(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Se(){return{type:"emphasis",children:[]}}function Re(){return{type:"heading",depth:0,children:[]}}function Ze(){return{type:"break"}}function it(){return{type:"html",value:""}}function rt(){return{type:"image",title:null,url:"",alt:null}}function Pt(){return{type:"link",title:null,url:"",children:[]}}function gt(xe){return{type:"list",ordered:xe.type==="listOrdered",start:null,spread:xe._spread,children:[]}}function Dt(xe){return{type:"listItem",spread:xe._spread,checked:null,children:[]}}function Lt(){return{type:"paragraph",children:[]}}function vt(){return{type:"strong",children:[]}}function Ke(){return{type:"text",value:""}}function bt(){return{type:"thematicBreak"}}}function Gi(e){return{line:e.line,column:e.column,offset:e.offset}}function O6(e,t){let n=-1;for(;++n<t.length;){const a=t[n];Array.isArray(a)?O6(e,a):SC(e,a)}}function SC(e,t){let n;for(n in t)if(M6.call(t,n))switch(n){case"canContainEols":{const a=t[n];a&&e[n].push(...a);break}case"transforms":{const a=t[n];a&&e[n].push(...a);break}case"enter":case"exit":{const a=t[n];a&&Object.assign(e[n],a);break}}}function R4(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+Wl({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Wl({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+Wl({start:t.start,end:t.end})+") is still open")}function EC(e){const t=this;t.parser=n;function n(a){return wC(a,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function TC(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function CC(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
23
|
+
`}]}function NC(e,t){const n=t.value?t.value+`
|
|
24
|
+
`:"",a={},s=t.lang?t.lang.split(/\s+/):[];s.length>0&&(a.className=["language-"+s[0]]);let o={type:"element",tagName:"code",properties:a,children:[{type:"text",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o}function RC(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function IC(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function AC(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",a=String(t.identifier).toUpperCase(),s=qo(a.toLowerCase()),o=e.footnoteOrder.indexOf(a);let c,d=e.footnoteCounts.get(a);d===void 0?(d=0,e.footnoteOrder.push(a),c=e.footnoteOrder.length):c=o+1,d+=1,e.footnoteCounts.set(a,d);const m={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+s,id:n+"fnref-"+s+(d>1?"-"+d:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(c)}]};e.patch(t,m);const h={type:"element",tagName:"sup",properties:{},children:[m]};return e.patch(t,h),e.applyData(t,h)}function _C(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function MC(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function D6(e,t){const n=t.referenceType;let a="]";if(n==="collapsed"?a+="[]":n==="full"&&(a+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+a}];const s=e.all(t),o=s[0];o&&o.type==="text"?o.value="["+o.value:s.unshift({type:"text",value:"["});const c=s[s.length-1];return c&&c.type==="text"?c.value+=a:s.push({type:"text",value:a}),s}function OC(e,t){const n=String(t.identifier).toUpperCase(),a=e.definitionById.get(n);if(!a)return D6(e,t);const s={src:qo(a.url||""),alt:t.alt};a.title!==null&&a.title!==void 0&&(s.title=a.title);const o={type:"element",tagName:"img",properties:s,children:[]};return e.patch(t,o),e.applyData(t,o)}function DC(e,t){const n={src:qo(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const a={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,a),e.applyData(t,a)}function jC(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const a={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,a),e.applyData(t,a)}function LC(e,t){const n=String(t.identifier).toUpperCase(),a=e.definitionById.get(n);if(!a)return D6(e,t);const s={href:qo(a.url||"")};a.title!==null&&a.title!==void 0&&(s.title=a.title);const o={type:"element",tagName:"a",properties:s,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function zC(e,t){const n={href:qo(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const a={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function BC(e,t,n){const a=e.all(t),s=n?qC(n):j6(t),o={},c=[];if(typeof t.checked=="boolean"){const p=a[0];let g;p&&p.type==="element"&&p.tagName==="p"?g=p:(g={type:"element",tagName:"p",properties:{},children:[]},a.unshift(g)),g.children.length>0&&g.children.unshift({type:"text",value:" "}),g.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let d=-1;for(;++d<a.length;){const p=a[d];(s||d!==0||p.type!=="element"||p.tagName!=="p")&&c.push({type:"text",value:`
|
|
25
|
+
`}),p.type==="element"&&p.tagName==="p"&&!s?c.push(...p.children):c.push(p)}const m=a[a.length-1];m&&(s||m.type!=="element"||m.tagName!=="p")&&c.push({type:"text",value:`
|
|
26
|
+
`});const h={type:"element",tagName:"li",properties:o,children:c};return e.patch(t,h),e.applyData(t,h)}function qC(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let a=-1;for(;!t&&++a<n.length;)t=j6(n[a])}return t}function j6(e){const t=e.spread;return t??e.children.length>1}function UC(e,t){const n={},a=e.all(t);let s=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++s<a.length;){const c=a[s];if(c.type==="element"&&c.tagName==="li"&&c.properties&&Array.isArray(c.properties.className)&&c.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const o={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(a,!0)};return e.patch(t,o),e.applyData(t,o)}function HC(e,t){const n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function $C(e,t){const n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function PC(e,t){const n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function FC(e,t){const n=e.all(t),a=n.shift(),s=[];if(a){const c={type:"element",tagName:"thead",properties:{},children:e.wrap([a],!0)};e.patch(t.children[0],c),s.push(c)}if(n.length>0){const c={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},d=v1(t.children[1]),m=h6(t.children[t.children.length-1]);d&&m&&(c.position={start:d,end:m}),s.push(c)}const o={type:"element",tagName:"table",properties:{},children:e.wrap(s,!0)};return e.patch(t,o),e.applyData(t,o)}function GC(e,t,n){const a=n?n.children:void 0,o=(a?a.indexOf(t):1)===0?"th":"td",c=n&&n.type==="table"?n.align:void 0,d=c?c.length:t.children.length;let m=-1;const h=[];for(;++m<d;){const g=t.children[m],x={},y=c?c[m]:void 0;y&&(x.align=y);let S={type:"element",tagName:o,properties:x,children:[]};g&&(S.children=e.all(g),e.patch(g,S),S=e.applyData(g,S)),h.push(S)}const p={type:"element",tagName:"tr",properties:{},children:e.wrap(h,!0)};return e.patch(t,p),e.applyData(t,p)}function VC(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}const I4=9,A4=32;function KC(e){const t=String(e),n=/\r?\n|\r/g;let a=n.exec(t),s=0;const o=[];for(;a;)o.push(_4(t.slice(s,a.index),s>0,!0),a[0]),s=a.index+a[0].length,a=n.exec(t);return o.push(_4(t.slice(s),s>0,!1)),o.join("")}function _4(e,t,n){let a=0,s=e.length;if(t){let o=e.codePointAt(a);for(;o===I4||o===A4;)a++,o=e.codePointAt(a)}if(n){let o=e.codePointAt(s-1);for(;o===I4||o===A4;)s--,o=e.codePointAt(s-1)}return s>a?e.slice(a,s):""}function WC(e,t){const n={type:"text",value:KC(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function YC(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const ZC={blockquote:TC,break:CC,code:NC,delete:RC,emphasis:IC,footnoteReference:AC,heading:_C,html:MC,imageReference:OC,image:DC,inlineCode:jC,linkReference:LC,link:zC,listItem:BC,list:UC,paragraph:HC,root:$C,strong:PC,table:FC,tableCell:VC,tableRow:GC,text:WC,thematicBreak:YC,toml:Ru,yaml:Ru,definition:Ru,footnoteDefinition:Ru};function Ru(){}const L6=-1,Hd=0,Zl=1,yd=2,E1=3,T1=4,C1=5,N1=6,z6=7,B6=8,q6=typeof self=="object"?self:globalThis,M4=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new q6[e](t)},XC=(e,t)=>{const n=(s,o)=>(e.set(o,s),s),a=s=>{if(e.has(s))return e.get(s);const[o,c]=t[s];switch(o){case Hd:case L6:return n(c,s);case Zl:{const d=n([],s);for(const m of c)d.push(a(m));return d}case yd:{const d=n({},s);for(const[m,h]of c)d[a(m)]=a(h);return d}case E1:return n(new Date(c),s);case T1:{const{source:d,flags:m}=c;return n(new RegExp(d,m),s)}case C1:{const d=n(new Map,s);for(const[m,h]of c)d.set(a(m),a(h));return d}case N1:{const d=n(new Set,s);for(const m of c)d.add(a(m));return d}case z6:{const{name:d,message:m}=c;return n(typeof q6[d]=="function"?M4(d,m):new Error(m),s)}case B6:return n(BigInt(c),s);case"BigInt":return n(Object(BigInt(c)),s);case"ArrayBuffer":return n(new Uint8Array(c).buffer,c);case"DataView":{const{buffer:d}=new Uint8Array(c);return n(new DataView(d),c)}}return n(M4(o,c),s)};return a},O4=e=>XC(new Map,e)(0),Is="",{toString:QC}={},{keys:JC}=Object,Bl=e=>{const t=typeof e;if(t!=="object"||!e)return[Hd,t];const n=QC.call(e).slice(8,-1);switch(n){case"Array":return[Zl,Is];case"Object":return[yd,Is];case"Date":return[E1,Is];case"RegExp":return[T1,Is];case"Map":return[C1,Is];case"Set":return[N1,Is];case"DataView":return[Zl,n]}return n.includes("Array")?[Zl,n]:e instanceof Error?[z6,e.name||"Error"]:[yd,n]},Iu=([e,t])=>e===Hd&&(t==="function"||t==="symbol"),eN=(e,t,n,a)=>{const s=(c,d)=>{const m=a.push(c)-1;return n.set(d,m),m},o=c=>{if(n.has(c))return n.get(c);let[d,m]=Bl(c);switch(d){case Hd:{let p=c;switch(m){case"bigint":d=B6,p=c.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+m);p=null;break;case"undefined":return s([L6],c)}return s([d,p],c)}case Zl:{if(m){let x=c;return m==="DataView"?x=new Uint8Array(c.buffer):m==="ArrayBuffer"&&(x=new Uint8Array(c)),s([m,[...x]],c)}const p=[],g=s([d,p],c);for(const x of c)p.push(o(x));return g}case yd:{if(m)switch(m){case"BigInt":return s([m,c.toString()],c);case"Boolean":case"Number":case"String":return s([m,c.valueOf()],c)}if(t&&"toJSON"in c)return o(c.toJSON());const p=[],g=s([d,p],c);for(const x of JC(c))(e||!Iu(Bl(c[x])))&&p.push([o(x),o(c[x])]);return g}case E1:return s([d,isNaN(c.getTime())?Is:c.toISOString()],c);case T1:{const{source:p,flags:g}=c;return s([d,{source:p,flags:g}],c)}case C1:{const p=[],g=s([d,p],c);for(const[x,y]of c)(e||!(Iu(Bl(x))||Iu(Bl(y))))&&p.push([o(x),o(y)]);return g}case N1:{const p=[],g=s([d,p],c);for(const x of c)(e||!Iu(Bl(x)))&&p.push(o(x));return g}}const{message:h}=c;return s([d,{name:m,message:h}],c)};return o},D4=(e,{json:t,lossy:n}={})=>{const a=[];return eN(!(t||n),!!t,new Map,a)(e),a},xd=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?O4(D4(e,t)):structuredClone(e):(e,t)=>O4(D4(e,t));function tN(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function nN(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function rN(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||tN,a=e.options.footnoteBackLabel||nN,s=e.options.footnoteLabel||"Footnotes",o=e.options.footnoteLabelTagName||"h2",c=e.options.footnoteLabelProperties||{className:["sr-only"]},d=[];let m=-1;for(;++m<e.footnoteOrder.length;){const h=e.footnoteById.get(e.footnoteOrder[m]);if(!h)continue;const p=e.all(h),g=String(h.identifier).toUpperCase(),x=qo(g.toLowerCase());let y=0;const S=[],E=e.footnoteCounts.get(g);for(;E!==void 0&&++y<=E;){S.length>0&&S.push({type:"text",value:" "});let _=typeof n=="string"?n:n(m,y);typeof _=="string"&&(_={type:"text",value:_}),S.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+x+(y>1?"-"+y:""),dataFootnoteBackref:"",ariaLabel:typeof a=="string"?a:a(m,y),className:["data-footnote-backref"]},children:Array.isArray(_)?_:[_]})}const R=p[p.length-1];if(R&&R.type==="element"&&R.tagName==="p"){const _=R.children[R.children.length-1];_&&_.type==="text"?_.value+=" ":R.children.push({type:"text",value:" "}),R.children.push(...S)}else p.push(...S);const N={type:"element",tagName:"li",properties:{id:t+"fn-"+x},children:e.wrap(p,!0)};e.patch(h,N),d.push(N)}if(d.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...xd(c),id:"footnote-label"},children:[{type:"text",value:s}]},{type:"text",value:`
|
|
27
|
+
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(d,!0)},{type:"text",value:`
|
|
28
|
+
`}]}}const dc=(function(e){if(e==null)return oN;if(typeof e=="function")return $d(e);if(typeof e=="object")return Array.isArray(e)?aN(e):iN(e);if(typeof e=="string")return sN(e);throw new Error("Expected function, string, or object as test")});function aN(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=dc(e[n]);return $d(a);function a(...s){let o=-1;for(;++o<t.length;)if(t[o].apply(this,s))return!0;return!1}}function iN(e){const t=e;return $d(n);function n(a){const s=a;let o;for(o in e)if(s[o]!==t[o])return!1;return!0}}function sN(e){return $d(t);function t(n){return n&&n.type===e}}function $d(e){return t;function t(n,a,s){return!!(lN(n)&&e.call(this,n,typeof a=="number"?a:void 0,s||void 0))}}function oN(){return!0}function lN(e){return e!==null&&typeof e=="object"&&"type"in e}const U6=[],cN=!0,wp=!1,H6="skip";function R1(e,t,n,a){let s;typeof t=="function"&&typeof n!="function"?(a=n,n=t):s=t;const o=dc(s),c=a?-1:1;d(e,void 0,[])();function d(m,h,p){const g=m&&typeof m=="object"?m:{};if(typeof g.type=="string"){const y=typeof g.tagName=="string"?g.tagName:typeof g.name=="string"?g.name:void 0;Object.defineProperty(x,"name",{value:"node ("+(m.type+(y?"<"+y+">":""))+")"})}return x;function x(){let y=U6,S,E,R;if((!t||o(m,h,p[p.length-1]||void 0))&&(y=uN(n(m,p)),y[0]===wp))return y;if("children"in m&&m.children){const N=m;if(N.children&&y[0]!==H6)for(E=(a?N.children.length:-1)+c,R=p.concat(N);E>-1&&E<N.children.length;){const _=N.children[E];if(S=d(_,E,R)(),S[0]===wp)return S;E=typeof S[1]=="number"?S[1]:E+c}}return y}}}function uN(e){return Array.isArray(e)?e:typeof e=="number"?[cN,e]:e==null?U6:[e]}function I1(e,t,n,a){let s,o,c;typeof t=="function"&&typeof n!="function"?(o=void 0,c=t,s=n):(o=t,c=n,s=a),R1(e,o,d,s);function d(m,h){const p=h[h.length-1],g=p?p.children.indexOf(m):void 0;return c(m,g,p)}}const kp={}.hasOwnProperty,dN={};function fN(e,t){const n=t||dN,a=new Map,s=new Map,o=new Map,c={...ZC,...n.handlers},d={all:h,applyData:hN,definitionById:a,footnoteById:s,footnoteCounts:o,footnoteOrder:[],handlers:c,one:m,options:n,patch:mN,wrap:gN};return I1(e,function(p){if(p.type==="definition"||p.type==="footnoteDefinition"){const g=p.type==="definition"?a:s,x=String(p.identifier).toUpperCase();g.has(x)||g.set(x,p)}}),d;function m(p,g){const x=p.type,y=d.handlers[x];if(kp.call(d.handlers,x)&&y)return y(d,p,g);if(d.options.passThrough&&d.options.passThrough.includes(x)){if("children"in p){const{children:E,...R}=p,N=xd(R);return N.children=d.all(p),N}return xd(p)}return(d.options.unknownHandler||pN)(d,p,g)}function h(p){const g=[];if("children"in p){const x=p.children;let y=-1;for(;++y<x.length;){const S=d.one(x[y],p);if(S){if(y&&x[y-1].type==="break"&&(!Array.isArray(S)&&S.type==="text"&&(S.value=j4(S.value)),!Array.isArray(S)&&S.type==="element")){const E=S.children[0];E&&E.type==="text"&&(E.value=j4(E.value))}Array.isArray(S)?g.push(...S):g.push(S)}}}return g}}function mN(e,t){e.position&&(t.position=nE(e))}function hN(e,t){let n=t;if(e&&e.data){const a=e.data.hName,s=e.data.hChildren,o=e.data.hProperties;if(typeof a=="string")if(n.type==="element")n.tagName=a;else{const c="children"in n?n.children:[n];n={type:"element",tagName:a,properties:{},children:c}}n.type==="element"&&o&&Object.assign(n.properties,xd(o)),"children"in n&&n.children&&s!==null&&s!==void 0&&(n.children=s)}return n}function pN(e,t){const n=t.data||{},a="value"in t&&!(kp.call(n,"hProperties")||kp.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function gN(e,t){const n=[];let a=-1;for(t&&n.push({type:"text",value:`
|
|
29
|
+
`});++a<e.length;)a&&n.push({type:"text",value:`
|
|
30
|
+
`}),n.push(e[a]);return t&&e.length>0&&n.push({type:"text",value:`
|
|
31
|
+
`}),n}function j4(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function L4(e,t){const n=fN(e,t),a=n.one(e,void 0),s=rN(n),o=Array.isArray(a)?{type:"root",children:a}:a||{type:"root",children:[]};return s&&o.children.push({type:"text",value:`
|
|
32
|
+
`},s),o}function vN(e,t){return e&&"run"in e?async function(n,a){const s=L4(n,{file:a,...t});await e.run(s,a)}:function(n,a){return L4(n,{file:a,...e||t})}}function z4(e){if(e)throw e}var Cm,B4;function bN(){if(B4)return Cm;B4=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=function(h){return typeof Array.isArray=="function"?Array.isArray(h):t.call(h)==="[object Array]"},o=function(h){if(!h||t.call(h)!=="[object Object]")return!1;var p=e.call(h,"constructor"),g=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!p&&!g)return!1;var x;for(x in h);return typeof x>"u"||e.call(h,x)},c=function(h,p){n&&p.name==="__proto__"?n(h,p.name,{enumerable:!0,configurable:!0,value:p.newValue,writable:!0}):h[p.name]=p.newValue},d=function(h,p){if(p==="__proto__")if(e.call(h,p)){if(a)return a(h,p).value}else return;return h[p]};return Cm=function m(){var h,p,g,x,y,S,E=arguments[0],R=1,N=arguments.length,_=!1;for(typeof E=="boolean"&&(_=E,E=arguments[1]||{},R=2),(E==null||typeof E!="object"&&typeof E!="function")&&(E={});R<N;++R)if(h=arguments[R],h!=null)for(p in h)g=d(E,p),x=d(h,p),E!==x&&(_&&x&&(o(x)||(y=s(x)))?(y?(y=!1,S=g&&s(g)?g:[]):S=g&&o(g)?g:{},c(E,{name:p,newValue:m(_,S,x)})):typeof x<"u"&&c(E,{name:p,newValue:x}));return E},Cm}var yN=bN();const Nm=Od(yN);function Sp(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function xN(){const e=[],t={run:n,use:a};return t;function n(...s){let o=-1;const c=s.pop();if(typeof c!="function")throw new TypeError("Expected function as last argument, not "+c);d(null,...s);function d(m,...h){const p=e[++o];let g=-1;if(m){c(m);return}for(;++g<s.length;)(h[g]===null||h[g]===void 0)&&(h[g]=s[g]);s=h,p?wN(p,d)(...h):c(null,...h)}}function a(s){if(typeof s!="function")throw new TypeError("Expected `middelware` to be a function, not "+s);return e.push(s),t}}function wN(e,t){let n;return a;function a(...c){const d=e.length>c.length;let m;d&&c.push(s);try{m=e.apply(this,c)}catch(h){const p=h;if(d&&n)throw p;return s(p)}d||(m&&m.then&&typeof m.then=="function"?m.then(o,s):m instanceof Error?s(m):o(m))}function s(c,...d){n||(n=!0,t(c,...d))}function o(c){s(null,c)}}const Ma={basename:kN,dirname:SN,extname:EN,join:TN,sep:"/"};function kN(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');fc(e);let n=0,a=-1,s=e.length,o;if(t===void 0||t.length===0||t.length>e.length){for(;s--;)if(e.codePointAt(s)===47){if(o){n=s+1;break}}else a<0&&(o=!0,a=s+1);return a<0?"":e.slice(n,a)}if(t===e)return"";let c=-1,d=t.length-1;for(;s--;)if(e.codePointAt(s)===47){if(o){n=s+1;break}}else c<0&&(o=!0,c=s+1),d>-1&&(e.codePointAt(s)===t.codePointAt(d--)?d<0&&(a=s):(d=-1,a=c));return n===a?a=c:a<0&&(a=e.length),e.slice(n,a)}function SN(e){if(fc(e),e.length===0)return".";let t=-1,n=e.length,a;for(;--n;)if(e.codePointAt(n)===47){if(a){t=n;break}}else a||(a=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function EN(e){fc(e);let t=e.length,n=-1,a=0,s=-1,o=0,c;for(;t--;){const d=e.codePointAt(t);if(d===47){if(c){a=t+1;break}continue}n<0&&(c=!0,n=t+1),d===46?s<0?s=t:o!==1&&(o=1):s>-1&&(o=-1)}return s<0||n<0||o===0||o===1&&s===n-1&&s===a+1?"":e.slice(s,n)}function TN(...e){let t=-1,n;for(;++t<e.length;)fc(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":CN(n)}function CN(e){fc(e);const t=e.codePointAt(0)===47;let n=NN(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function NN(e,t){let n="",a=0,s=-1,o=0,c=-1,d,m;for(;++c<=e.length;){if(c<e.length)d=e.codePointAt(c);else{if(d===47)break;d=47}if(d===47){if(!(s===c-1||o===1))if(s!==c-1&&o===2){if(n.length<2||a!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(m=n.lastIndexOf("/"),m!==n.length-1){m<0?(n="",a=0):(n=n.slice(0,m),a=n.length-1-n.lastIndexOf("/")),s=c,o=0;continue}}else if(n.length>0){n="",a=0,s=c,o=0;continue}}t&&(n=n.length>0?n+"/..":"..",a=2)}else n.length>0?n+="/"+e.slice(s+1,c):n=e.slice(s+1,c),a=c-s-1;s=c,o=0}else d===46&&o>-1?o++:o=-1}return n}function fc(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const RN={cwd:IN};function IN(){return"/"}function Ep(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function AN(e){if(typeof e=="string")e=new URL(e);else if(!Ep(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return _N(e)}function _N(e){if(e.hostname!==""){const a=new TypeError('File URL host must be "localhost" or empty on darwin');throw a.code="ERR_INVALID_FILE_URL_HOST",a}const t=e.pathname;let n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){const a=t.codePointAt(n+2);if(a===70||a===102){const s=new TypeError("File URL path must not include encoded / characters");throw s.code="ERR_INVALID_FILE_URL_PATH",s}}return decodeURIComponent(t)}const Rm=["history","path","basename","stem","extname","dirname"];class $6{constructor(t){let n;t?Ep(t)?n={path:t}:typeof t=="string"||MN(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":RN.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let a=-1;for(;++a<Rm.length;){const o=Rm[a];o in n&&n[o]!==void 0&&n[o]!==null&&(this[o]=o==="history"?[...n[o]]:n[o])}let s;for(s in n)Rm.includes(s)||(this[s]=n[s])}get basename(){return typeof this.path=="string"?Ma.basename(this.path):void 0}set basename(t){Am(t,"basename"),Im(t,"basename"),this.path=Ma.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?Ma.dirname(this.path):void 0}set dirname(t){q4(this.basename,"dirname"),this.path=Ma.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?Ma.extname(this.path):void 0}set extname(t){if(Im(t,"extname"),q4(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Ma.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){Ep(t)&&(t=AN(t)),Am(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?Ma.basename(this.path,this.extname):void 0}set stem(t){Am(t,"stem"),Im(t,"stem"),this.path=Ma.join(this.dirname||"",t+(this.extname||""))}fail(t,n,a){const s=this.message(t,n,a);throw s.fatal=!0,s}info(t,n,a){const s=this.message(t,n,a);return s.fatal=void 0,s}message(t,n,a){const s=new mr(t,n,a);return this.path&&(s.name=this.path+":"+s.name,s.file=this.path),s.fatal=!1,this.messages.push(s),s}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function Im(e,t){if(e&&e.includes(Ma.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Ma.sep+"`")}function Am(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function q4(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function MN(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const ON=(function(e){const a=this.constructor.prototype,s=a[e],o=function(){return s.apply(o,arguments)};return Object.setPrototypeOf(o,a),o}),DN={}.hasOwnProperty;class A1 extends ON{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=xN()}copy(){const t=new A1;let n=-1;for(;++n<this.attachers.length;){const a=this.attachers[n];t.use(...a)}return t.data(Nm(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(Om("data",this.frozen),this.namespace[t]=n,this):DN.call(this.namespace,t)&&this.namespace[t]||void 0:t?(Om("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...a]=this.attachers[this.freezeIndex];if(a[0]===!1)continue;a[0]===!0&&(a[0]=void 0);const s=n.call(t,...a);typeof s=="function"&&this.transformers.use(s)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const n=Au(t),a=this.parser||this.Parser;return _m("parse",a),a(String(n),n)}process(t,n){const a=this;return this.freeze(),_m("process",this.parser||this.Parser),Mm("process",this.compiler||this.Compiler),n?s(void 0,n):new Promise(s);function s(o,c){const d=Au(t),m=a.parse(d);a.run(m,d,function(p,g,x){if(p||!g||!x)return h(p);const y=g,S=a.stringify(y,x);zN(S)?x.value=S:x.result=S,h(p,x)});function h(p,g){p||!g?c(p):o?o(g):n(void 0,g)}}}processSync(t){let n=!1,a;return this.freeze(),_m("processSync",this.parser||this.Parser),Mm("processSync",this.compiler||this.Compiler),this.process(t,s),H4("processSync","process",n),a;function s(o,c){n=!0,z4(o),a=c}}run(t,n,a){U4(t),this.freeze();const s=this.transformers;return!a&&typeof n=="function"&&(a=n,n=void 0),a?o(void 0,a):new Promise(o);function o(c,d){const m=Au(n);s.run(t,m,h);function h(p,g,x){const y=g||t;p?d(p):c?c(y):a(void 0,y,x)}}}runSync(t,n){let a=!1,s;return this.run(t,n,o),H4("runSync","run",a),s;function o(c,d){z4(c),s=d,a=!0}}stringify(t,n){this.freeze();const a=Au(n),s=this.compiler||this.Compiler;return Mm("stringify",s),U4(t),s(t,a)}use(t,...n){const a=this.attachers,s=this.namespace;if(Om("use",this.frozen),t!=null)if(typeof t=="function")m(t,n);else if(typeof t=="object")Array.isArray(t)?d(t):c(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function o(h){if(typeof h=="function")m(h,[]);else if(typeof h=="object")if(Array.isArray(h)){const[p,...g]=h;m(p,g)}else c(h);else throw new TypeError("Expected usable value, not `"+h+"`")}function c(h){if(!("plugins"in h)&&!("settings"in h))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");d(h.plugins),h.settings&&(s.settings=Nm(!0,s.settings,h.settings))}function d(h){let p=-1;if(h!=null)if(Array.isArray(h))for(;++p<h.length;){const g=h[p];o(g)}else throw new TypeError("Expected a list of plugins, not `"+h+"`")}function m(h,p){let g=-1,x=-1;for(;++g<a.length;)if(a[g][0]===h){x=g;break}if(x===-1)a.push([h,...p]);else if(p.length>0){let[y,...S]=p;const E=a[x][1];Sp(E)&&Sp(y)&&(y=Nm(!0,E,y)),a[x]=[h,y,...S]}}}}const jN=new A1().freeze();function _m(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Mm(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Om(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function U4(e){if(!Sp(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function H4(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function Au(e){return LN(e)?e:new $6(e)}function LN(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function zN(e){return typeof e=="string"||BN(e)}function BN(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const qN="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",$4=[],P4={allowDangerousHtml:!0},UN=/^(https?|ircs?|mailto|xmpp)$/i,HN=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function $N(e){const t=PN(e),n=FN(e);return GN(t.runSync(t.parse(n),n),e)}function PN(e){const t=e.rehypePlugins||$4,n=e.remarkPlugins||$4,a=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...P4}:P4;return jN().use(EC).use(n).use(vN,a).use(t)}function FN(e){const t=e.children||"",n=new $6;return typeof t=="string"&&(n.value=t),n}function GN(e,t){const n=t.allowedElements,a=t.allowElement,s=t.components,o=t.disallowedElements,c=t.skipHtml,d=t.unwrapDisallowed,m=t.urlTransform||VN;for(const p of HN)Object.hasOwn(t,p.from)&&(""+p.from+(p.to?"use `"+p.to+"` instead":"remove it")+qN+p.id,void 0);return I1(e,h),oE(e,{Fragment:u.Fragment,components:s,ignoreInvalidStyle:!0,jsx:u.jsx,jsxs:u.jsxs,passKeys:!0,passNode:!0});function h(p,g,x){if(p.type==="raw"&&x&&typeof g=="number")return c?x.children.splice(g,1):x.children[g]={type:"text",value:p.value},g;if(p.type==="element"){let y;for(y in Sm)if(Object.hasOwn(Sm,y)&&Object.hasOwn(p.properties,y)){const S=p.properties[y],E=Sm[y];(E===null||E.includes(p.tagName))&&(p.properties[y]=m(String(S||""),y,p))}}if(p.type==="element"){let y=n?!n.includes(p.tagName):o?o.includes(p.tagName):!1;if(!y&&a&&typeof g=="number"&&(y=!a(p,g,x)),y&&x&&typeof g=="number")return d&&p.children?x.children.splice(g,1,...p.children):x.children.splice(g,1),g}}}function VN(e){const t=e.indexOf(":"),n=e.indexOf("?"),a=e.indexOf("#"),s=e.indexOf("/");return t===-1||s!==-1&&t>s||n!==-1&&t>n||a!==-1&&t>a||UN.test(e.slice(0,t))?e:""}function F4(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let a=0,s=n.indexOf(t);for(;s!==-1;)a++,s=n.indexOf(t,s+t.length);return a}function KN(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function WN(e,t,n){const s=dc((n||{}).ignore||[]),o=YN(t);let c=-1;for(;++c<o.length;)R1(e,"text",d);function d(h,p){let g=-1,x;for(;++g<p.length;){const y=p[g],S=x?x.children:void 0;if(s(y,S?S.indexOf(y):void 0,x))return;x=y}if(x)return m(h,p)}function m(h,p){const g=p[p.length-1],x=o[c][0],y=o[c][1];let S=0;const R=g.children.indexOf(h);let N=!1,_=[];x.lastIndex=0;let I=x.exec(h.value);for(;I;){const P=I.index,F={index:I.index,input:I.input,stack:[...p,h]};let M=y(...I,F);if(typeof M=="string"&&(M=M.length>0?{type:"text",value:M}:void 0),M===!1?x.lastIndex=P+1:(S!==P&&_.push({type:"text",value:h.value.slice(S,P)}),Array.isArray(M)?_.push(...M):M&&_.push(M),S=P+I[0].length,N=!0),!x.global)break;I=x.exec(h.value)}return N?(S<h.value.length&&_.push({type:"text",value:h.value.slice(S)}),g.children.splice(R,1,..._)):_=[h],R+_.length}}function YN(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let a=-1;for(;++a<n.length;){const s=n[a];t.push([ZN(s[0]),XN(s[1])])}return t}function ZN(e){return typeof e=="string"?new RegExp(KN(e),"g"):e}function XN(e){return typeof e=="function"?e:function(){return e}}const Dm="phrasing",jm=["autolink","link","image","label"];function QN(){return{transforms:[iR],enter:{literalAutolink:eR,literalAutolinkEmail:Lm,literalAutolinkHttp:Lm,literalAutolinkWww:Lm},exit:{literalAutolink:aR,literalAutolinkEmail:rR,literalAutolinkHttp:tR,literalAutolinkWww:nR}}}function JN(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Dm,notInConstruct:jm},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Dm,notInConstruct:jm},{character:":",before:"[ps]",after:"\\/",inConstruct:Dm,notInConstruct:jm}]}}function eR(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Lm(e){this.config.enter.autolinkProtocol.call(this,e)}function tR(e){this.config.exit.autolinkProtocol.call(this,e)}function nR(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function rR(e){this.config.exit.autolinkEmail.call(this,e)}function aR(e){this.exit(e)}function iR(e){WN(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,sR],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),oR]],{ignore:["link","linkReference"]})}function sR(e,t,n,a,s){let o="";if(!P6(s)||(/^w/i.test(t)&&(n=t+n,t="",o="http://"),!lR(n)))return!1;const c=cR(n+a);if(!c[0])return!1;const d={type:"link",title:null,url:o+t+c[0],children:[{type:"text",value:t+c[0]}]};return c[1]?[d,{type:"text",value:c[1]}]:d}function oR(e,t,n,a){return!P6(a,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function lR(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function cR(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],a=n.indexOf(")");const s=F4(e,"(");let o=F4(e,")");for(;a!==-1&&s>o;)e+=n.slice(0,a+1),n=n.slice(a+1),a=n.indexOf(")"),o++;return[e,n]}function P6(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||zs(n)||qd(n))&&(!t||n!==47)}F6.peek=bR;function uR(){this.buffer()}function dR(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function fR(){this.buffer()}function mR(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function hR(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=xa(this.sliceSerialize(e)).toLowerCase(),n.label=t}function pR(e){this.exit(e)}function gR(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=xa(this.sliceSerialize(e)).toLowerCase(),n.label=t}function vR(e){this.exit(e)}function bR(){return"["}function F6(e,t,n,a){const s=n.createTracker(a);let o=s.move("[^");const c=n.enter("footnoteReference"),d=n.enter("reference");return o+=s.move(n.safe(n.associationId(e),{after:"]",before:o})),d(),c(),o+=s.move("]"),o}function yR(){return{enter:{gfmFootnoteCallString:uR,gfmFootnoteCall:dR,gfmFootnoteDefinitionLabelString:fR,gfmFootnoteDefinition:mR},exit:{gfmFootnoteCallString:hR,gfmFootnoteCall:pR,gfmFootnoteDefinitionLabelString:gR,gfmFootnoteDefinition:vR}}}function xR(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:F6},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(a,s,o,c){const d=o.createTracker(c);let m=d.move("[^");const h=o.enter("footnoteDefinition"),p=o.enter("label");return m+=d.move(o.safe(o.associationId(a),{before:m,after:"]"})),p(),m+=d.move("]:"),a.children&&a.children.length>0&&(d.shift(4),m+=d.move((t?`
|
|
33
|
+
`:" ")+o.indentLines(o.containerFlow(a,d.current()),t?G6:wR))),h(),m}}function wR(e,t,n){return t===0?e:G6(e,t,n)}function G6(e,t,n){return(n?"":" ")+e}const kR=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];V6.peek=NR;function SR(){return{canContainEols:["delete"],enter:{strikethrough:TR},exit:{strikethrough:CR}}}function ER(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:kR}],handlers:{delete:V6}}}function TR(e){this.enter({type:"delete",children:[]},e)}function CR(e){this.exit(e)}function V6(e,t,n,a){const s=n.createTracker(a),o=n.enter("strikethrough");let c=s.move("~~");return c+=n.containerPhrasing(e,{...s.current(),before:c,after:"~"}),c+=s.move("~~"),o(),c}function NR(){return"~"}function RR(e){return e.length}function IR(e,t){const n=t||{},a=(n.align||[]).concat(),s=n.stringLength||RR,o=[],c=[],d=[],m=[];let h=0,p=-1;for(;++p<e.length;){const E=[],R=[];let N=-1;for(e[p].length>h&&(h=e[p].length);++N<e[p].length;){const _=AR(e[p][N]);if(n.alignDelimiters!==!1){const I=s(_);R[N]=I,(m[N]===void 0||I>m[N])&&(m[N]=I)}E.push(_)}c[p]=E,d[p]=R}let g=-1;if(typeof a=="object"&&"length"in a)for(;++g<h;)o[g]=G4(a[g]);else{const E=G4(a);for(;++g<h;)o[g]=E}g=-1;const x=[],y=[];for(;++g<h;){const E=o[g];let R="",N="";E===99?(R=":",N=":"):E===108?R=":":E===114&&(N=":");let _=n.alignDelimiters===!1?1:Math.max(1,m[g]-R.length-N.length);const I=R+"-".repeat(_)+N;n.alignDelimiters!==!1&&(_=R.length+_+N.length,_>m[g]&&(m[g]=_),y[g]=_),x[g]=I}c.splice(1,0,x),d.splice(1,0,y),p=-1;const S=[];for(;++p<c.length;){const E=c[p],R=d[p];g=-1;const N=[];for(;++g<h;){const _=E[g]||"";let I="",P="";if(n.alignDelimiters!==!1){const F=m[g]-(R[g]||0),M=o[g];M===114?I=" ".repeat(F):M===99?F%2?(I=" ".repeat(F/2+.5),P=" ".repeat(F/2-.5)):(I=" ".repeat(F/2),P=I):P=" ".repeat(F)}n.delimiterStart!==!1&&!g&&N.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&_==="")&&(n.delimiterStart!==!1||g)&&N.push(" "),n.alignDelimiters!==!1&&N.push(I),N.push(_),n.alignDelimiters!==!1&&N.push(P),n.padding!==!1&&N.push(" "),(n.delimiterEnd!==!1||g!==h-1)&&N.push("|")}S.push(n.delimiterEnd===!1?N.join("").replace(/ +$/,""):N.join(""))}return S.join(`
|
|
34
|
+
`)}function AR(e){return e==null?"":String(e)}function G4(e){const t=typeof e=="string"?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function _R(e,t,n,a){const s=n.enter("blockquote"),o=n.createTracker(a);o.move("> "),o.shift(2);const c=n.indentLines(n.containerFlow(e,o.current()),MR);return s(),c}function MR(e,t,n){return">"+(n?"":" ")+e}function OR(e,t){return V4(e,t.inConstruct,!0)&&!V4(e,t.notInConstruct,!1)}function V4(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let a=-1;for(;++a<t.length;)if(e.includes(t[a]))return!0;return!1}function K4(e,t,n,a){let s=-1;for(;++s<n.unsafe.length;)if(n.unsafe[s].character===`
|
|
35
|
+
`&&OR(n.stack,n.unsafe[s]))return/[ \t]/.test(a.before)?"":" ";return`\\
|
|
36
|
+
`}function K6(e,t){const n=String(e);let a=n.indexOf(t),s=a,o=0,c=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;a!==-1;)a===s?++o>c&&(c=o):o=1,s=a+t.length,a=n.indexOf(t,s);return c}function DR(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function jR(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function LR(e,t,n,a){const s=jR(n),o=e.value||"",c=s==="`"?"GraveAccent":"Tilde";if(DR(e,n)){const g=n.enter("codeIndented"),x=n.indentLines(o,zR);return g(),x}const d=n.createTracker(a),m=s.repeat(Math.max(K6(o,s)+1,3)),h=n.enter("codeFenced");let p=d.move(m);if(e.lang){const g=n.enter(`codeFencedLang${c}`);p+=d.move(n.safe(e.lang,{before:p,after:" ",encode:["`"],...d.current()})),g()}if(e.lang&&e.meta){const g=n.enter(`codeFencedMeta${c}`);p+=d.move(" "),p+=d.move(n.safe(e.meta,{before:p,after:`
|
|
37
|
+
`,encode:["`"],...d.current()})),g()}return p+=d.move(`
|
|
38
|
+
`),o&&(p+=d.move(o+`
|
|
39
|
+
`)),p+=d.move(m),h(),p}function zR(e,t,n){return(n?"":" ")+e}function _1(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function BR(e,t,n,a){const s=_1(n),o=s==='"'?"Quote":"Apostrophe",c=n.enter("definition");let d=n.enter("label");const m=n.createTracker(a);let h=m.move("[");return h+=m.move(n.safe(n.associationId(e),{before:h,after:"]",...m.current()})),h+=m.move("]: "),d(),!e.url||/[\0- \u007F]/.test(e.url)?(d=n.enter("destinationLiteral"),h+=m.move("<"),h+=m.move(n.safe(e.url,{before:h,after:">",...m.current()})),h+=m.move(">")):(d=n.enter("destinationRaw"),h+=m.move(n.safe(e.url,{before:h,after:e.title?" ":`
|
|
40
|
+
`,...m.current()}))),d(),e.title&&(d=n.enter(`title${o}`),h+=m.move(" "+s),h+=m.move(n.safe(e.title,{before:h,after:s,...m.current()})),h+=m.move(s),d()),c(),h}function qR(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function ac(e){return"&#x"+e.toString(16).toUpperCase()+";"}function wd(e,t,n){const a=_o(e),s=_o(t);return a===void 0?s===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:a===1?s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}W6.peek=UR;function W6(e,t,n,a){const s=qR(n),o=n.enter("emphasis"),c=n.createTracker(a),d=c.move(s);let m=c.move(n.containerPhrasing(e,{after:s,before:d,...c.current()}));const h=m.charCodeAt(0),p=wd(a.before.charCodeAt(a.before.length-1),h,s);p.inside&&(m=ac(h)+m.slice(1));const g=m.charCodeAt(m.length-1),x=wd(a.after.charCodeAt(0),g,s);x.inside&&(m=m.slice(0,-1)+ac(g));const y=c.move(s);return o(),n.attentionEncodeSurroundingInfo={after:x.outside,before:p.outside},d+m+y}function UR(e,t,n){return n.options.emphasis||"*"}function HR(e,t){let n=!1;return I1(e,function(a){if("value"in a&&/\r?\n|\r/.test(a.value)||a.type==="break")return n=!0,wp}),!!((!e.depth||e.depth<3)&&w1(e)&&(t.options.setext||n))}function $R(e,t,n,a){const s=Math.max(Math.min(6,e.depth||1),1),o=n.createTracker(a);if(HR(e,n)){const p=n.enter("headingSetext"),g=n.enter("phrasing"),x=n.containerPhrasing(e,{...o.current(),before:`
|
|
41
|
+
`,after:`
|
|
42
|
+
`});return g(),p(),x+`
|
|
43
|
+
`+(s===1?"=":"-").repeat(x.length-(Math.max(x.lastIndexOf("\r"),x.lastIndexOf(`
|
|
44
|
+
`))+1))}const c="#".repeat(s),d=n.enter("headingAtx"),m=n.enter("phrasing");o.move(c+" ");let h=n.containerPhrasing(e,{before:"# ",after:`
|
|
45
|
+
`,...o.current()});return/^[\t ]/.test(h)&&(h=ac(h.charCodeAt(0))+h.slice(1)),h=h?c+" "+h:c,n.options.closeAtx&&(h+=" "+c),m(),d(),h}Y6.peek=PR;function Y6(e){return e.value||""}function PR(){return"<"}Z6.peek=FR;function Z6(e,t,n,a){const s=_1(n),o=s==='"'?"Quote":"Apostrophe",c=n.enter("image");let d=n.enter("label");const m=n.createTracker(a);let h=m.move("![");return h+=m.move(n.safe(e.alt,{before:h,after:"]",...m.current()})),h+=m.move("]("),d(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(d=n.enter("destinationLiteral"),h+=m.move("<"),h+=m.move(n.safe(e.url,{before:h,after:">",...m.current()})),h+=m.move(">")):(d=n.enter("destinationRaw"),h+=m.move(n.safe(e.url,{before:h,after:e.title?" ":")",...m.current()}))),d(),e.title&&(d=n.enter(`title${o}`),h+=m.move(" "+s),h+=m.move(n.safe(e.title,{before:h,after:s,...m.current()})),h+=m.move(s),d()),h+=m.move(")"),c(),h}function FR(){return"!"}X6.peek=GR;function X6(e,t,n,a){const s=e.referenceType,o=n.enter("imageReference");let c=n.enter("label");const d=n.createTracker(a);let m=d.move("![");const h=n.safe(e.alt,{before:m,after:"]",...d.current()});m+=d.move(h+"]["),c();const p=n.stack;n.stack=[],c=n.enter("reference");const g=n.safe(n.associationId(e),{before:m,after:"]",...d.current()});return c(),n.stack=p,o(),s==="full"||!h||h!==g?m+=d.move(g+"]"):s==="shortcut"?m=m.slice(0,-1):m+=d.move("]"),m}function GR(){return"!"}Q6.peek=VR;function Q6(e,t,n){let a=e.value||"",s="`",o=-1;for(;new RegExp("(^|[^`])"+s+"([^`]|$)").test(a);)s+="`";for(/[^ \r\n]/.test(a)&&(/^[ \r\n]/.test(a)&&/[ \r\n]$/.test(a)||/^`|`$/.test(a))&&(a=" "+a+" ");++o<n.unsafe.length;){const c=n.unsafe[o],d=n.compilePattern(c);let m;if(c.atBreak)for(;m=d.exec(a);){let h=m.index;a.charCodeAt(h)===10&&a.charCodeAt(h-1)===13&&h--,a=a.slice(0,h)+" "+a.slice(m.index+1)}}return s+a+s}function VR(){return"`"}function J6(e,t){const n=w1(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}ex.peek=KR;function ex(e,t,n,a){const s=_1(n),o=s==='"'?"Quote":"Apostrophe",c=n.createTracker(a);let d,m;if(J6(e,n)){const p=n.stack;n.stack=[],d=n.enter("autolink");let g=c.move("<");return g+=c.move(n.containerPhrasing(e,{before:g,after:">",...c.current()})),g+=c.move(">"),d(),n.stack=p,g}d=n.enter("link"),m=n.enter("label");let h=c.move("[");return h+=c.move(n.containerPhrasing(e,{before:h,after:"](",...c.current()})),h+=c.move("]("),m(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(m=n.enter("destinationLiteral"),h+=c.move("<"),h+=c.move(n.safe(e.url,{before:h,after:">",...c.current()})),h+=c.move(">")):(m=n.enter("destinationRaw"),h+=c.move(n.safe(e.url,{before:h,after:e.title?" ":")",...c.current()}))),m(),e.title&&(m=n.enter(`title${o}`),h+=c.move(" "+s),h+=c.move(n.safe(e.title,{before:h,after:s,...c.current()})),h+=c.move(s),m()),h+=c.move(")"),d(),h}function KR(e,t,n){return J6(e,n)?"<":"["}tx.peek=WR;function tx(e,t,n,a){const s=e.referenceType,o=n.enter("linkReference");let c=n.enter("label");const d=n.createTracker(a);let m=d.move("[");const h=n.containerPhrasing(e,{before:m,after:"]",...d.current()});m+=d.move(h+"]["),c();const p=n.stack;n.stack=[],c=n.enter("reference");const g=n.safe(n.associationId(e),{before:m,after:"]",...d.current()});return c(),n.stack=p,o(),s==="full"||!h||h!==g?m+=d.move(g+"]"):s==="shortcut"?m=m.slice(0,-1):m+=d.move("]"),m}function WR(){return"["}function M1(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function YR(e){const t=M1(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function ZR(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function nx(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function XR(e,t,n,a){const s=n.enter("list"),o=n.bulletCurrent;let c=e.ordered?ZR(n):M1(n);const d=e.ordered?c==="."?")":".":YR(n);let m=t&&n.bulletLastUsed?c===n.bulletLastUsed:!1;if(!e.ordered){const p=e.children?e.children[0]:void 0;if((c==="*"||c==="-")&&p&&(!p.children||!p.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(m=!0),nx(n)===c&&p){let g=-1;for(;++g<e.children.length;){const x=e.children[g];if(x&&x.type==="listItem"&&x.children&&x.children[0]&&x.children[0].type==="thematicBreak"){m=!0;break}}}}m&&(c=d),n.bulletCurrent=c;const h=n.containerFlow(e,a);return n.bulletLastUsed=c,n.bulletCurrent=o,s(),h}function QR(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function JR(e,t,n,a){const s=QR(n);let o=n.bulletCurrent||M1(n);t&&t.type==="list"&&t.ordered&&(o=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+o);let c=o.length+1;(s==="tab"||s==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(c=Math.ceil(c/4)*4);const d=n.createTracker(a);d.move(o+" ".repeat(c-o.length)),d.shift(c);const m=n.enter("listItem"),h=n.indentLines(n.containerFlow(e,d.current()),p);return m(),h;function p(g,x,y){return x?(y?"":" ".repeat(c))+g:(y?o:o+" ".repeat(c-o.length))+g}}function eI(e,t,n,a){const s=n.enter("paragraph"),o=n.enter("phrasing"),c=n.containerPhrasing(e,a);return o(),s(),c}const tI=dc(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function nI(e,t,n,a){return(e.children.some(function(c){return tI(c)})?n.containerPhrasing:n.containerFlow).call(n,e,a)}function rI(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}rx.peek=aI;function rx(e,t,n,a){const s=rI(n),o=n.enter("strong"),c=n.createTracker(a),d=c.move(s+s);let m=c.move(n.containerPhrasing(e,{after:s,before:d,...c.current()}));const h=m.charCodeAt(0),p=wd(a.before.charCodeAt(a.before.length-1),h,s);p.inside&&(m=ac(h)+m.slice(1));const g=m.charCodeAt(m.length-1),x=wd(a.after.charCodeAt(0),g,s);x.inside&&(m=m.slice(0,-1)+ac(g));const y=c.move(s+s);return o(),n.attentionEncodeSurroundingInfo={after:x.outside,before:p.outside},d+m+y}function aI(e,t,n){return n.options.strong||"*"}function iI(e,t,n,a){return n.safe(e.value,a)}function sI(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function oI(e,t,n){const a=(nx(n)+(n.options.ruleSpaces?" ":"")).repeat(sI(n));return n.options.ruleSpaces?a.slice(0,-1):a}const ax={blockquote:_R,break:K4,code:LR,definition:BR,emphasis:W6,hardBreak:K4,heading:$R,html:Y6,image:Z6,imageReference:X6,inlineCode:Q6,link:ex,linkReference:tx,list:XR,listItem:JR,paragraph:eI,root:nI,strong:rx,text:iI,thematicBreak:oI};function lI(){return{enter:{table:cI,tableData:W4,tableHeader:W4,tableRow:dI},exit:{codeText:fI,table:uI,tableData:zm,tableHeader:zm,tableRow:zm}}}function cI(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function uI(e){this.exit(e),this.data.inTable=void 0}function dI(e){this.enter({type:"tableRow",children:[]},e)}function zm(e){this.exit(e)}function W4(e){this.enter({type:"tableCell",children:[]},e)}function fI(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,mI));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function mI(e,t){return t==="|"?t:e}function hI(e){const t=e||{},n=t.tableCellPadding,a=t.tablePipeAlign,s=t.stringLength,o=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
46
|
+
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:x,table:c,tableCell:m,tableRow:d}};function c(y,S,E,R){return h(p(y,E,R),y.align)}function d(y,S,E,R){const N=g(y,E,R),_=h([N]);return _.slice(0,_.indexOf(`
|
|
47
|
+
`))}function m(y,S,E,R){const N=E.enter("tableCell"),_=E.enter("phrasing"),I=E.containerPhrasing(y,{...R,before:o,after:o});return _(),N(),I}function h(y,S){return IR(y,{align:S,alignDelimiters:a,padding:n,stringLength:s})}function p(y,S,E){const R=y.children;let N=-1;const _=[],I=S.enter("table");for(;++N<R.length;)_[N]=g(R[N],S,E);return I(),_}function g(y,S,E){const R=y.children;let N=-1;const _=[],I=S.enter("tableRow");for(;++N<R.length;)_[N]=m(R[N],y,S,E);return I(),_}function x(y,S,E){let R=ax.inlineCode(y,S,E);return E.stack.includes("tableCell")&&(R=R.replace(/\|/g,"\\$&")),R}}function pI(){return{exit:{taskListCheckValueChecked:Y4,taskListCheckValueUnchecked:Y4,paragraph:vI}}}function gI(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:bI}}}function Y4(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function vI(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const a=n.children[0];if(a&&a.type==="text"){const s=t.children;let o=-1,c;for(;++o<s.length;){const d=s[o];if(d.type==="paragraph"){c=d;break}}c===n&&(a.value=a.value.slice(1),a.value.length===0?n.children.shift():n.position&&a.position&&typeof a.position.start.offset=="number"&&(a.position.start.column++,a.position.start.offset++,n.position.start=Object.assign({},a.position.start)))}}this.exit(e)}function bI(e,t,n,a){const s=e.children[0],o=typeof e.checked=="boolean"&&s&&s.type==="paragraph",c="["+(e.checked?"x":" ")+"] ",d=n.createTracker(a);o&&d.move(c);let m=ax.listItem(e,t,n,{...a,...d.current()});return o&&(m=m.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,h)),m;function h(p){return p+c}}function yI(){return[QN(),yR(),SR(),lI(),pI()]}function xI(e){return{extensions:[JN(),xR(e),ER(),hI(e),gI()]}}const wI={tokenize:NI,partial:!0},ix={tokenize:RI,partial:!0},sx={tokenize:II,partial:!0},ox={tokenize:AI,partial:!0},kI={tokenize:_I,partial:!0},lx={name:"wwwAutolink",tokenize:TI,previous:ux},cx={name:"protocolAutolink",tokenize:CI,previous:dx},gi={name:"emailAutolink",tokenize:EI,previous:fx},za={};function SI(){return{text:za}}let Cs=48;for(;Cs<123;)za[Cs]=gi,Cs++,Cs===58?Cs=65:Cs===91&&(Cs=97);za[43]=gi;za[45]=gi;za[46]=gi;za[95]=gi;za[72]=[gi,cx];za[104]=[gi,cx];za[87]=[gi,lx];za[119]=[gi,lx];function EI(e,t,n){const a=this;let s,o;return c;function c(g){return!Tp(g)||!fx.call(a,a.previous)||O1(a.events)?n(g):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),d(g))}function d(g){return Tp(g)?(e.consume(g),d):g===64?(e.consume(g),m):n(g)}function m(g){return g===46?e.check(kI,p,h)(g):g===45||g===95||dr(g)?(o=!0,e.consume(g),m):p(g)}function h(g){return e.consume(g),s=!0,m}function p(g){return o&&s&&kr(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(g)):n(g)}}function TI(e,t,n){const a=this;return s;function s(c){return c!==87&&c!==119||!ux.call(a,a.previous)||O1(a.events)?n(c):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(wI,e.attempt(ix,e.attempt(sx,o),n),n)(c))}function o(c){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(c)}}function CI(e,t,n){const a=this;let s="",o=!1;return c;function c(g){return(g===72||g===104)&&dx.call(a,a.previous)&&!O1(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),s+=String.fromCodePoint(g),e.consume(g),d):n(g)}function d(g){if(kr(g)&&s.length<5)return s+=String.fromCodePoint(g),e.consume(g),d;if(g===58){const x=s.toLowerCase();if(x==="http"||x==="https")return e.consume(g),m}return n(g)}function m(g){return g===47?(e.consume(g),o?h:(o=!0,m)):n(g)}function h(g){return g===null||bd(g)||hn(g)||zs(g)||qd(g)?n(g):e.attempt(ix,e.attempt(sx,p),n)(g)}function p(g){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(g)}}function NI(e,t,n){let a=0;return s;function s(c){return(c===87||c===119)&&a<3?(a++,e.consume(c),s):c===46&&a===3?(e.consume(c),o):n(c)}function o(c){return c===null?n(c):t(c)}}function RI(e,t,n){let a,s,o;return c;function c(h){return h===46||h===95?e.check(ox,m,d)(h):h===null||hn(h)||zs(h)||h!==45&&qd(h)?m(h):(o=!0,e.consume(h),c)}function d(h){return h===95?a=!0:(s=a,a=void 0),e.consume(h),c}function m(h){return s||a||!o?n(h):t(h)}}function II(e,t){let n=0,a=0;return s;function s(c){return c===40?(n++,e.consume(c),s):c===41&&a<n?o(c):c===33||c===34||c===38||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===60||c===63||c===93||c===95||c===126?e.check(ox,t,o)(c):c===null||hn(c)||zs(c)?t(c):(e.consume(c),s)}function o(c){return c===41&&a++,e.consume(c),s}}function AI(e,t,n){return a;function a(d){return d===33||d===34||d===39||d===41||d===42||d===44||d===46||d===58||d===59||d===63||d===95||d===126?(e.consume(d),a):d===38?(e.consume(d),o):d===93?(e.consume(d),s):d===60||d===null||hn(d)||zs(d)?t(d):n(d)}function s(d){return d===null||d===40||d===91||hn(d)||zs(d)?t(d):a(d)}function o(d){return kr(d)?c(d):n(d)}function c(d){return d===59?(e.consume(d),a):kr(d)?(e.consume(d),c):n(d)}}function _I(e,t,n){return a;function a(o){return e.consume(o),s}function s(o){return dr(o)?n(o):t(o)}}function ux(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||hn(e)}function dx(e){return!kr(e)}function fx(e){return!(e===47||Tp(e))}function Tp(e){return e===43||e===45||e===46||e===95||dr(e)}function O1(e){let t=e.length,n=!1;for(;t--;){const a=e[t][1];if((a.type==="labelLink"||a.type==="labelImage")&&!a._balanced){n=!0;break}if(a._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const MI={tokenize:UI,partial:!0};function OI(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:zI,continuation:{tokenize:BI},exit:qI}},text:{91:{name:"gfmFootnoteCall",tokenize:LI},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:DI,resolveTo:jI}}}}function DI(e,t,n){const a=this;let s=a.events.length;const o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let c;for(;s--;){const m=a.events[s][1];if(m.type==="labelImage"){c=m;break}if(m.type==="gfmFootnoteCall"||m.type==="labelLink"||m.type==="label"||m.type==="image"||m.type==="link")break}return d;function d(m){if(!c||!c._balanced)return n(m);const h=xa(a.sliceSerialize({start:c.end,end:a.now()}));return h.codePointAt(0)!==94||!o.includes(h.slice(1))?n(m):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),t(m))}}function jI(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},d=[e[n+1],e[n+2],["enter",a,t],e[n+3],e[n+4],["enter",s,t],["exit",s,t],["enter",o,t],["enter",c,t],["exit",c,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",a,t]];return e.splice(n,e.length-n+1,...d),e}function LI(e,t,n){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o=0,c;return d;function d(g){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),m}function m(g){return g!==94?n(g):(e.enter("gfmFootnoteCallMarker"),e.consume(g),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",h)}function h(g){if(o>999||g===93&&!c||g===null||g===91||hn(g))return n(g);if(g===93){e.exit("chunkString");const x=e.exit("gfmFootnoteCallString");return s.includes(xa(a.sliceSerialize(x)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(g)}return hn(g)||(c=!0),o++,e.consume(g),g===92?p:h}function p(g){return g===91||g===92||g===93?(e.consume(g),o++,h):h(g)}}function zI(e,t,n){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o,c=0,d;return m;function m(S){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(S),e.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(S){return S===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(S),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(S)}function p(S){if(c>999||S===93&&!d||S===null||S===91||hn(S))return n(S);if(S===93){e.exit("chunkString");const E=e.exit("gfmFootnoteDefinitionLabelString");return o=xa(a.sliceSerialize(E)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(S),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),x}return hn(S)||(d=!0),c++,e.consume(S),S===92?g:p}function g(S){return S===91||S===92||S===93?(e.consume(S),c++,p):p(S)}function x(S){return S===58?(e.enter("definitionMarker"),e.consume(S),e.exit("definitionMarker"),s.includes(o)||s.push(o),zt(e,y,"gfmFootnoteDefinitionWhitespace")):n(S)}function y(S){return t(S)}}function BI(e,t,n){return e.check(uc,t,e.attempt(MI,t,n))}function qI(e){e.exit("gfmFootnoteDefinition")}function UI(e,t,n){const a=this;return zt(e,s,"gfmFootnoteDefinitionIndent",5);function s(o){const c=a.events[a.events.length-1];return c&&c[1].type==="gfmFootnoteDefinitionIndent"&&c[2].sliceSerialize(c[1],!0).length===4?t(o):n(o)}}function HI(e){let n=(e||{}).singleTilde;const a={name:"strikethrough",tokenize:o,resolveAll:s};return n==null&&(n=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function s(c,d){let m=-1;for(;++m<c.length;)if(c[m][0]==="enter"&&c[m][1].type==="strikethroughSequenceTemporary"&&c[m][1]._close){let h=m;for(;h--;)if(c[h][0]==="exit"&&c[h][1].type==="strikethroughSequenceTemporary"&&c[h][1]._open&&c[m][1].end.offset-c[m][1].start.offset===c[h][1].end.offset-c[h][1].start.offset){c[m][1].type="strikethroughSequence",c[h][1].type="strikethroughSequence";const p={type:"strikethrough",start:Object.assign({},c[h][1].start),end:Object.assign({},c[m][1].end)},g={type:"strikethroughText",start:Object.assign({},c[h][1].end),end:Object.assign({},c[m][1].start)},x=[["enter",p,d],["enter",c[h][1],d],["exit",c[h][1],d],["enter",g,d]],y=d.parser.constructs.insideSpan.null;y&&Wr(x,x.length,0,Ud(y,c.slice(h+1,m),d)),Wr(x,x.length,0,[["exit",g,d],["enter",c[m][1],d],["exit",c[m][1],d],["exit",p,d]]),Wr(c,h-1,m-h+3,x),m=h+x.length-2;break}}for(m=-1;++m<c.length;)c[m][1].type==="strikethroughSequenceTemporary"&&(c[m][1].type="data");return c}function o(c,d,m){const h=this.previous,p=this.events;let g=0;return x;function x(S){return h===126&&p[p.length-1][1].type!=="characterEscape"?m(S):(c.enter("strikethroughSequenceTemporary"),y(S))}function y(S){const E=_o(h);if(S===126)return g>1?m(S):(c.consume(S),g++,y);if(g<2&&!n)return m(S);const R=c.exit("strikethroughSequenceTemporary"),N=_o(S);return R._open=!N||N===2&&!!E,R._close=!E||E===2&&!!N,d(S)}}}class $I{constructor(){this.map=[]}add(t,n,a){PI(this,t,n,a)}consume(t){if(this.map.sort(function(o,c){return o[0]-c[0]}),this.map.length===0)return;let n=this.map.length;const a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let s=a.pop();for(;s;){for(const o of s)t.push(o);s=a.pop()}this.map.length=0}}function PI(e,t,n,a){let s=0;if(!(n===0&&a.length===0)){for(;s<e.map.length;){if(e.map[s][0]===t){e.map[s][1]+=n,e.map[s][2].push(...a);return}s+=1}e.map.push([t,n,a])}}function FI(e,t){let n=!1;const a=[];for(;t<e.length;){const s=e[t];if(n){if(s[0]==="enter")s[1].type==="tableContent"&&a.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(s[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const o=a.length-1;a[o]=a[o]==="left"?"center":"right"}}else if(s[1].type==="tableDelimiterRow")break}else s[0]==="enter"&&s[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return a}function GI(){return{flow:{null:{name:"table",tokenize:VI,resolveAll:KI}}}}function VI(e,t,n){const a=this;let s=0,o=0,c;return d;function d(D){let K=a.events.length-1;for(;K>-1;){const V=a.events[K][1].type;if(V==="lineEnding"||V==="linePrefix")K--;else break}const q=K>-1?a.events[K][1].type:null,Q=q==="tableHead"||q==="tableRow"?M:m;return Q===M&&a.parser.lazy[a.now().line]?n(D):Q(D)}function m(D){return e.enter("tableHead"),e.enter("tableRow"),h(D)}function h(D){return D===124||(c=!0,o+=1),p(D)}function p(D){return D===null?n(D):ft(D)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(D),e.exit("lineEnding"),y):n(D):$t(D)?zt(e,p,"whitespace")(D):(o+=1,c&&(c=!1,s+=1),D===124?(e.enter("tableCellDivider"),e.consume(D),e.exit("tableCellDivider"),c=!0,p):(e.enter("data"),g(D)))}function g(D){return D===null||D===124||hn(D)?(e.exit("data"),p(D)):(e.consume(D),D===92?x:g)}function x(D){return D===92||D===124?(e.consume(D),g):g(D)}function y(D){return a.interrupt=!1,a.parser.lazy[a.now().line]?n(D):(e.enter("tableDelimiterRow"),c=!1,$t(D)?zt(e,S,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(D):S(D))}function S(D){return D===45||D===58?R(D):D===124?(c=!0,e.enter("tableCellDivider"),e.consume(D),e.exit("tableCellDivider"),E):F(D)}function E(D){return $t(D)?zt(e,R,"whitespace")(D):R(D)}function R(D){return D===58?(o+=1,c=!0,e.enter("tableDelimiterMarker"),e.consume(D),e.exit("tableDelimiterMarker"),N):D===45?(o+=1,N(D)):D===null||ft(D)?P(D):F(D)}function N(D){return D===45?(e.enter("tableDelimiterFiller"),_(D)):F(D)}function _(D){return D===45?(e.consume(D),_):D===58?(c=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(D),e.exit("tableDelimiterMarker"),I):(e.exit("tableDelimiterFiller"),I(D))}function I(D){return $t(D)?zt(e,P,"whitespace")(D):P(D)}function P(D){return D===124?S(D):D===null||ft(D)?!c||s!==o?F(D):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(D)):F(D)}function F(D){return n(D)}function M(D){return e.enter("tableRow"),A(D)}function A(D){return D===124?(e.enter("tableCellDivider"),e.consume(D),e.exit("tableCellDivider"),A):D===null||ft(D)?(e.exit("tableRow"),t(D)):$t(D)?zt(e,A,"whitespace")(D):(e.enter("data"),z(D))}function z(D){return D===null||D===124||hn(D)?(e.exit("data"),A(D)):(e.consume(D),D===92?G:z)}function G(D){return D===92||D===124?(e.consume(D),z):z(D)}}function KI(e,t){let n=-1,a=!0,s=0,o=[0,0,0,0],c=[0,0,0,0],d=!1,m=0,h,p,g;const x=new $I;for(;++n<e.length;){const y=e[n],S=y[1];y[0]==="enter"?S.type==="tableHead"?(d=!1,m!==0&&(Z4(x,t,m,h,p),p=void 0,m=0),h={type:"table",start:Object.assign({},S.start),end:Object.assign({},S.end)},x.add(n,0,[["enter",h,t]])):S.type==="tableRow"||S.type==="tableDelimiterRow"?(a=!0,g=void 0,o=[0,0,0,0],c=[0,n+1,0,0],d&&(d=!1,p={type:"tableBody",start:Object.assign({},S.start),end:Object.assign({},S.end)},x.add(n,0,[["enter",p,t]])),s=S.type==="tableDelimiterRow"?2:p?3:1):s&&(S.type==="data"||S.type==="tableDelimiterMarker"||S.type==="tableDelimiterFiller")?(a=!1,c[2]===0&&(o[1]!==0&&(c[0]=c[1],g=_u(x,t,o,s,void 0,g),o=[0,0,0,0]),c[2]=n)):S.type==="tableCellDivider"&&(a?a=!1:(o[1]!==0&&(c[0]=c[1],g=_u(x,t,o,s,void 0,g)),o=c,c=[o[1],n,0,0])):S.type==="tableHead"?(d=!0,m=n):S.type==="tableRow"||S.type==="tableDelimiterRow"?(m=n,o[1]!==0?(c[0]=c[1],g=_u(x,t,o,s,n,g)):c[1]!==0&&(g=_u(x,t,c,s,n,g)),s=0):s&&(S.type==="data"||S.type==="tableDelimiterMarker"||S.type==="tableDelimiterFiller")&&(c[3]=n)}for(m!==0&&Z4(x,t,m,h,p),x.consume(t.events),n=-1;++n<t.events.length;){const y=t.events[n];y[0]==="enter"&&y[1].type==="table"&&(y[1]._align=FI(t.events,n))}return e}function _u(e,t,n,a,s,o){const c=a===1?"tableHeader":a===2?"tableDelimiter":"tableData",d="tableContent";n[0]!==0&&(o.end=Object.assign({},So(t.events,n[0])),e.add(n[0],0,[["exit",o,t]]));const m=So(t.events,n[1]);if(o={type:c,start:Object.assign({},m),end:Object.assign({},m)},e.add(n[1],0,[["enter",o,t]]),n[2]!==0){const h=So(t.events,n[2]),p=So(t.events,n[3]),g={type:d,start:Object.assign({},h),end:Object.assign({},p)};if(e.add(n[2],0,[["enter",g,t]]),a!==2){const x=t.events[n[2]],y=t.events[n[3]];if(x[1].end=Object.assign({},y[1].end),x[1].type="chunkText",x[1].contentType="text",n[3]>n[2]+1){const S=n[2]+1,E=n[3]-n[2]-1;e.add(S,E,[])}}e.add(n[3]+1,0,[["exit",g,t]])}return s!==void 0&&(o.end=Object.assign({},So(t.events,s)),e.add(s,0,[["exit",o,t]]),o=void 0),o}function Z4(e,t,n,a,s){const o=[],c=So(t.events,n);s&&(s.end=Object.assign({},c),o.push(["exit",s,t])),a.end=Object.assign({},c),o.push(["exit",a,t]),e.add(n+1,0,o)}function So(e,t){const n=e[t],a=n[0]==="enter"?"start":"end";return n[1][a]}const WI={name:"tasklistCheck",tokenize:ZI};function YI(){return{text:{91:WI}}}function ZI(e,t,n){const a=this;return s;function s(m){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?n(m):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(m),e.exit("taskListCheckMarker"),o)}function o(m){return hn(m)?(e.enter("taskListCheckValueUnchecked"),e.consume(m),e.exit("taskListCheckValueUnchecked"),c):m===88||m===120?(e.enter("taskListCheckValueChecked"),e.consume(m),e.exit("taskListCheckValueChecked"),c):n(m)}function c(m){return m===93?(e.enter("taskListCheckMarker"),e.consume(m),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),d):n(m)}function d(m){return ft(m)?t(m):$t(m)?e.check({tokenize:XI},t,n)(m):n(m)}}function XI(e,t,n){return zt(e,a,"whitespace");function a(s){return s===null?n(s):t(s)}}function QI(e){return w6([SI(),OI(),HI(e),GI(),YI()])}const JI={};function eA(e){const t=this,n=e||JI,a=t.data(),s=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),c=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);s.push(QI(n)),o.push(yI()),c.push(xI(n))}function tA(){return{enter:{mathFlow:e,mathFlowFenceMeta:t,mathText:o},exit:{mathFlow:s,mathFlowFence:a,mathFlowFenceMeta:n,mathFlowValue:d,mathText:c,mathTextData:d}};function e(m){const h={type:"element",tagName:"code",properties:{className:["language-math","math-display"]},children:[]};this.enter({type:"math",meta:null,value:"",data:{hName:"pre",hChildren:[h]}},m)}function t(){this.buffer()}function n(){const m=this.resume(),h=this.stack[this.stack.length-1];h.type,h.meta=m}function a(){this.data.mathFlowInside||(this.buffer(),this.data.mathFlowInside=!0)}function s(m){const h=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),p=this.stack[this.stack.length-1];p.type,this.exit(m),p.value=h;const g=p.data.hChildren[0];g.type,g.tagName,g.children.push({type:"text",value:h}),this.data.mathFlowInside=void 0}function o(m){this.enter({type:"inlineMath",value:"",data:{hName:"code",hProperties:{className:["language-math","math-inline"]},hChildren:[]}},m),this.buffer()}function c(m){const h=this.resume(),p=this.stack[this.stack.length-1];p.type,this.exit(m),p.value=h,p.data.hChildren.push({type:"text",value:h})}function d(m){this.config.enter.data.call(this,m),this.config.exit.data.call(this,m)}}function nA(e){let t=(e||{}).singleDollarTextMath;return t==null&&(t=!0),a.peek=s,{unsafe:[{character:"\r",inConstruct:"mathFlowMeta"},{character:`
|
|
48
|
+
`,inConstruct:"mathFlowMeta"},{character:"$",after:t?void 0:"\\$",inConstruct:"phrasing"},{character:"$",inConstruct:"mathFlowMeta"},{atBreak:!0,character:"$",after:"\\$"}],handlers:{math:n,inlineMath:a}};function n(o,c,d,m){const h=o.value||"",p=d.createTracker(m),g="$".repeat(Math.max(K6(h,"$")+1,2)),x=d.enter("mathFlow");let y=p.move(g);if(o.meta){const S=d.enter("mathFlowMeta");y+=p.move(d.safe(o.meta,{after:`
|
|
49
|
+
`,before:y,encode:["$"],...p.current()})),S()}return y+=p.move(`
|
|
50
|
+
`),h&&(y+=p.move(h+`
|
|
51
|
+
`)),y+=p.move(g),x(),y}function a(o,c,d){let m=o.value||"",h=1;for(t||h++;new RegExp("(^|[^$])"+"\\$".repeat(h)+"([^$]|$)").test(m);)h++;const p="$".repeat(h);/[^ \r\n]/.test(m)&&(/^[ \r\n]/.test(m)&&/[ \r\n]$/.test(m)||/^\$|\$$/.test(m))&&(m=" "+m+" ");let g=-1;for(;++g<d.unsafe.length;){const x=d.unsafe[g];if(!x.atBreak)continue;const y=d.compilePattern(x);let S;for(;S=y.exec(m);){let E=S.index;m.codePointAt(E)===10&&m.codePointAt(E-1)===13&&E--,m=m.slice(0,E)+" "+m.slice(S.index+1)}}return p+m+p}function s(){return"$"}}const rA={tokenize:aA,concrete:!0,name:"mathFlow"},X4={tokenize:iA,partial:!0};function aA(e,t,n){const a=this,s=a.events[a.events.length-1],o=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0;let c=0;return d;function d(_){return e.enter("mathFlow"),e.enter("mathFlowFence"),e.enter("mathFlowFenceSequence"),m(_)}function m(_){return _===36?(e.consume(_),c++,m):c<2?n(_):(e.exit("mathFlowFenceSequence"),zt(e,h,"whitespace")(_))}function h(_){return _===null||ft(_)?g(_):(e.enter("mathFlowFenceMeta"),e.enter("chunkString",{contentType:"string"}),p(_))}function p(_){return _===null||ft(_)?(e.exit("chunkString"),e.exit("mathFlowFenceMeta"),g(_)):_===36?n(_):(e.consume(_),p)}function g(_){return e.exit("mathFlowFence"),a.interrupt?t(_):e.attempt(X4,x,R)(_)}function x(_){return e.attempt({tokenize:N,partial:!0},R,y)(_)}function y(_){return(o?zt(e,S,"linePrefix",o+1):S)(_)}function S(_){return _===null?R(_):ft(_)?e.attempt(X4,x,R)(_):(e.enter("mathFlowValue"),E(_))}function E(_){return _===null||ft(_)?(e.exit("mathFlowValue"),S(_)):(e.consume(_),E)}function R(_){return e.exit("mathFlow"),t(_)}function N(_,I,P){let F=0;return zt(_,M,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function M(G){return _.enter("mathFlowFence"),_.enter("mathFlowFenceSequence"),A(G)}function A(G){return G===36?(F++,_.consume(G),A):F<c?P(G):(_.exit("mathFlowFenceSequence"),zt(_,z,"whitespace")(G))}function z(G){return G===null||ft(G)?(_.exit("mathFlowFence"),I(G)):P(G)}}}function iA(e,t,n){const a=this;return s;function s(c){return c===null?t(c):(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),o)}function o(c){return a.parser.lazy[a.now().line]?n(c):t(c)}}function sA(e){let n=(e||{}).singleDollarTextMath;return n==null&&(n=!0),{tokenize:a,resolve:oA,previous:lA,name:"mathText"};function a(s,o,c){let d=0,m,h;return p;function p(E){return s.enter("mathText"),s.enter("mathTextSequence"),g(E)}function g(E){return E===36?(s.consume(E),d++,g):d<2&&!n?c(E):(s.exit("mathTextSequence"),x(E))}function x(E){return E===null?c(E):E===36?(h=s.enter("mathTextSequence"),m=0,S(E)):E===32?(s.enter("space"),s.consume(E),s.exit("space"),x):ft(E)?(s.enter("lineEnding"),s.consume(E),s.exit("lineEnding"),x):(s.enter("mathTextData"),y(E))}function y(E){return E===null||E===32||E===36||ft(E)?(s.exit("mathTextData"),x(E)):(s.consume(E),y)}function S(E){return E===36?(s.consume(E),m++,S):m===d?(s.exit("mathTextSequence"),s.exit("mathText"),o(E)):(h.type="mathTextData",y(E))}}}function oA(e){let t=e.length-4,n=3,a,s;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(a=n;++a<t;)if(e[a][1].type==="mathTextData"){e[t][1].type="mathTextPadding",e[n][1].type="mathTextPadding",n+=2,t-=2;break}}for(a=n-1,t++;++a<=t;)s===void 0?a!==t&&e[a][1].type!=="lineEnding"&&(s=a):(a===t||e[a][1].type==="lineEnding")&&(e[s][1].type="mathTextData",a!==s+2&&(e[s][1].end=e[a-1][1].end,e.splice(s+2,a-s-2),t-=a-s-2,a=s+2),s=void 0);return e}function lA(e){return e!==36||this.events[this.events.length-1][1].type==="characterEscape"}function cA(e){return{flow:{36:rA},text:{36:sA(e)}}}class Be extends Error{constructor(t,n){var a="KaTeX parse error: "+t,s,o,c=n&&n.loc;if(c&&c.start<=c.end){var d=c.lexer.input;s=c.start,o=c.end,s===d.length?a+=" at end of input: ":a+=" at position "+(s+1)+": ";var m=d.slice(s,o).replace(/[^]/g,"$&̲"),h;s>15?h="…"+d.slice(s-15,s):h=d.slice(0,s);var p;o+15<d.length?p=d.slice(o,o+15)+"…":p=d.slice(o),a+=h+m+p}super(a),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,Be.prototype),this.position=s,s!=null&&o!=null&&(this.length=o-s),this.rawMessage=t}}var uA=/([A-Z])/g,dA=e=>e.replace(uA,"-$1").toLowerCase(),fA={"&":"&",">":">","<":"<",'"':""","'":"'"},mA=/[&><"']/g,fr=e=>String(e).replace(mA,t=>fA[t]),ed=e=>e.type==="ordgroup"||e.type==="color"?e.body.length===1?ed(e.body[0]):e:e.type==="font"?ed(e.body):e,hA=new Set(["mathord","textord","atom"]),vi=e=>hA.has(ed(e).type),pA=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},kd={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function gA(e){if(typeof e!="string")return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function vA(e){if(e.default!==void 0)return e.default;var t=Array.isArray(e.type)?e.type[0]:e.type;return gA(t)}function bA(e,t,n,a){var s=n[t];e[t]=s!==void 0?a.processor?a.processor(s):s:vA(a)}class D1{constructor(t){t===void 0&&(t={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{};for(var n of Object.keys(kd)){var a=kd[n];a&&bA(this,n,t,a)}}reportNonstrict(t,n,a){var s=this.strict;if(typeof s=="function"&&(s=s(t,n,a)),!(!s||s==="ignore")){if(s===!0||s==="error")throw new Be("LaTeX-incompatible input and strict mode is set to 'error': "+(n+" ["+t+"]"),a);s==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+n+" ["+t+"]"))}}useStrictBehavior(t,n,a){var s=this.strict;if(typeof s=="function")try{s=s(t,n,a)}catch{s="error"}return!s||s==="ignore"?!1:s===!0||s==="error"?!0:s==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+n+" ["+t+"]")),!1)}isTrusted(t){if("url"in t&&t.url&&!t.protocol){var n=pA(t.url);if(n==null)return!1;t.protocol=n}var a=typeof this.trust=="function"?this.trust(t):this.trust;return!!a}}class Vi{constructor(t,n,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=n,this.cramped=a}sup(){return Da[yA[this.id]]}sub(){return Da[xA[this.id]]}fracNum(){return Da[wA[this.id]]}fracDen(){return Da[kA[this.id]]}cramp(){return Da[SA[this.id]]}text(){return Da[EA[this.id]]}isTight(){return this.size>=2}}var j1=0,Sd=1,To=2,mi=3,ic=4,da=5,Mo=6,Sr=7,Da=[new Vi(j1,0,!1),new Vi(Sd,0,!0),new Vi(To,1,!1),new Vi(mi,1,!0),new Vi(ic,2,!1),new Vi(da,2,!0),new Vi(Mo,3,!1),new Vi(Sr,3,!0)],yA=[ic,da,ic,da,Mo,Sr,Mo,Sr],xA=[da,da,da,da,Sr,Sr,Sr,Sr],wA=[To,mi,ic,da,Mo,Sr,Mo,Sr],kA=[mi,mi,da,da,Sr,Sr,Sr,Sr],SA=[Sd,Sd,mi,mi,da,da,Sr,Sr],EA=[j1,Sd,To,mi,To,mi,To,mi],Nt={DISPLAY:Da[j1],TEXT:Da[To],SCRIPT:Da[ic],SCRIPTSCRIPT:Da[Mo]},Cp=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function TA(e){for(var t=0;t<Cp.length;t++)for(var n=Cp[t],a=0;a<n.blocks.length;a++){var s=n.blocks[a];if(e>=s[0]&&e<=s[1])return n.name}return null}var td=[];Cp.forEach(e=>e.blocks.forEach(t=>td.push(...t)));function mx(e){for(var t=0;t<td.length;t+=2)if(e>=td[t]&&e<=td[t+1])return!0;return!1}var Zn=e=>e+" "+e,xo=80,CA=function(t,n){return"M95,"+(622+t+n)+`
|
|
52
|
+
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
|
|
53
|
+
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
|
|
54
|
+
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
|
|
55
|
+
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
|
|
56
|
+
c69,-144,104.5,-217.7,106.5,-221
|
|
57
|
+
l`+t/2.075+" -"+t+`
|
|
58
|
+
c5.3,-9.3,12,-14,20,-14
|
|
59
|
+
H400000v`+(40+t)+`H845.2724
|
|
60
|
+
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
|
|
61
|
+
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
|
|
62
|
+
M`+(834+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},NA=function(t,n){return"M263,"+(601+t+n)+`c0.7,0,18,39.7,52,119
|
|
63
|
+
c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
|
|
64
|
+
c340,-704.7,510.7,-1060.3,512,-1067
|
|
65
|
+
l`+t/2.084+" -"+t+`
|
|
66
|
+
c4.7,-7.3,11,-11,19,-11
|
|
67
|
+
H40000v`+(40+t)+`H1012.3
|
|
68
|
+
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
|
|
69
|
+
c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
|
|
70
|
+
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
|
|
71
|
+
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
|
|
72
|
+
M`+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},RA=function(t,n){return"M983 "+(10+t+n)+`
|
|
73
|
+
l`+t/3.13+" -"+t+`
|
|
74
|
+
c4,-6.7,10,-10,18,-10 H400000v`+(40+t)+`
|
|
75
|
+
H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
|
|
76
|
+
s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
|
|
77
|
+
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
|
|
78
|
+
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
|
|
79
|
+
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
|
|
80
|
+
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
|
|
81
|
+
M`+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},IA=function(t,n){return"M424,"+(2398+t+n)+`
|
|
82
|
+
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
|
|
83
|
+
c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
|
|
84
|
+
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
|
|
85
|
+
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
|
|
86
|
+
l`+t/4.223+" -"+t+`c4,-6.7,10,-10,18,-10 H400000
|
|
87
|
+
v`+(40+t)+`H1014.6
|
|
88
|
+
s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
|
|
89
|
+
c-2,6,-10,9,-24,9
|
|
90
|
+
c-8,0,-12,-0.7,-12,-2z M`+(1001+t)+" "+n+`
|
|
91
|
+
h400000v`+(40+t)+"h-400000z"},AA=function(t,n){return"M473,"+(2713+t+n)+`
|
|
92
|
+
c339.3,-1799.3,509.3,-2700,510,-2702 l`+t/5.298+" -"+t+`
|
|
93
|
+
c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+t)+`H1017.7
|
|
94
|
+
s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
|
|
95
|
+
c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
|
|
96
|
+
c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
|
|
97
|
+
s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
|
|
98
|
+
606zM`+(1001+t)+" "+n+"h400000v"+(40+t)+"H1017.7z"},_A=function(t){var n=t/2;return"M400000 "+t+" H0 L"+n+" 0 l65 45 L145 "+(t-80)+" H400000z"},MA=function(t,n,a){var s=a-54-n-t;return"M702 "+(t+n)+"H400000"+(40+t)+`
|
|
99
|
+
H742v`+s+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
|
|
100
|
+
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
|
|
101
|
+
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
|
|
102
|
+
219 661 l218 661zM702 `+n+"H400000v"+(40+t)+"H742z"},OA=function(t,n,a){n=1e3*n;var s="";switch(t){case"sqrtMain":s=CA(n,xo);break;case"sqrtSize1":s=NA(n,xo);break;case"sqrtSize2":s=RA(n,xo);break;case"sqrtSize3":s=IA(n,xo);break;case"sqrtSize4":s=AA(n,xo);break;case"sqrtTall":s=MA(n,xo,a)}return s},DA=function(t,n){switch(t){case"⎜":return Zn("M291 0 H417 V"+n+" H291z");case"∣":return Zn("M145 0 H188 V"+n+" H145z");case"∥":return Zn("M145 0 H188 V"+n+" H145z")+Zn("M367 0 H410 V"+n+" H367z");case"⎟":return Zn("M457 0 H583 V"+n+" H457z");case"⎢":return Zn("M319 0 H403 V"+n+" H319z");case"⎥":return Zn("M263 0 H347 V"+n+" H263z");case"⎪":return Zn("M384 0 H504 V"+n+" H384z");case"⏐":return Zn("M312 0 H355 V"+n+" H312z");case"‖":return Zn("M257 0 H300 V"+n+" H257z")+Zn("M478 0 H521 V"+n+" H478z");default:return""}},Q4={doubleleftarrow:`M262 157
|
|
103
|
+
l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
|
|
104
|
+
0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
|
|
105
|
+
14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
|
|
106
|
+
c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
|
|
107
|
+
157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
|
|
108
|
+
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
|
|
109
|
+
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
|
|
110
|
+
m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
|
|
111
|
+
-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
|
|
112
|
+
14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
|
|
113
|
+
-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
|
|
114
|
+
-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
|
|
115
|
+
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
|
|
116
|
+
c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
|
|
117
|
+
-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
|
|
118
|
+
135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
|
|
119
|
+
-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
|
|
120
|
+
c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
|
|
121
|
+
490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
|
|
122
|
+
1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
|
|
123
|
+
l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
|
|
124
|
+
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
|
|
125
|
+
5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
|
|
126
|
+
35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
|
|
127
|
+
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
|
|
128
|
+
-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
|
|
129
|
+
H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
|
|
130
|
+
435 0h399565z`,leftgroupunder:`M400000 262
|
|
131
|
+
H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
|
|
132
|
+
435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
|
|
133
|
+
-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
|
|
134
|
+
-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
|
|
135
|
+
-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
|
|
136
|
+
20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
|
|
137
|
+
-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
|
|
138
|
+
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
|
|
139
|
+
m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
|
|
140
|
+
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
|
|
141
|
+
1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
|
|
142
|
+
-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
|
|
143
|
+
10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
|
|
144
|
+
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
|
|
145
|
+
v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
|
|
146
|
+
-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
|
|
147
|
+
-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
|
|
148
|
+
71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:Zn("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:Zn("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:Zn("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:Zn("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
|
|
149
|
+
-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
|
|
150
|
+
c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
|
|
151
|
+
68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:Zn("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334
|
|
152
|
+
c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
|
|
153
|
+
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
|
|
154
|
+
311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
|
|
155
|
+
12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
|
|
156
|
+
c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
|
|
157
|
+
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
|
|
158
|
+
11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
|
|
159
|
+
-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
|
|
160
|
+
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
|
|
161
|
+
m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
|
|
162
|
+
60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
|
|
163
|
+
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
|
|
164
|
+
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
|
|
165
|
+
c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
|
|
166
|
+
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
|
|
167
|
+
m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
|
|
168
|
+
85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
|
|
169
|
+
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
|
|
170
|
+
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
|
|
171
|
+
c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128
|
|
172
|
+
-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
|
|
173
|
+
11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
|
|
174
|
+
39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
|
|
175
|
+
-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
|
|
176
|
+
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
|
|
177
|
+
151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
|
|
178
|
+
-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
|
|
179
|
+
s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
|
|
180
|
+
c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
|
|
181
|
+
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
|
|
182
|
+
-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
|
|
183
|
+
3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
|
|
184
|
+
0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
|
|
185
|
+
-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
|
|
186
|
+
-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
|
|
187
|
+
69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
|
|
188
|
+
-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
|
|
189
|
+
2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
|
|
190
|
+
m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
|
|
191
|
+
8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
|
|
192
|
+
-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
|
|
193
|
+
-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
|
|
194
|
+
15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
|
|
195
|
+
8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
|
|
196
|
+
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
|
|
197
|
+
m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
|
|
198
|
+
15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
|
|
199
|
+
-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
|
|
200
|
+
66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:Zn("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:Zn("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:Zn("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
|
|
201
|
+
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
|
|
202
|
+
-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
|
|
203
|
+
-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
|
|
204
|
+
115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
|
|
205
|
+
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
|
|
206
|
+
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
|
|
207
|
+
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
|
|
208
|
+
10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167
|
|
209
|
+
c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
|
|
210
|
+
41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
|
|
211
|
+
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
|
|
212
|
+
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
|
|
213
|
+
101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
|
|
214
|
+
-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
|
|
215
|
+
114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
|
|
216
|
+
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
|
|
217
|
+
-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
|
|
218
|
+
-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
|
|
219
|
+
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
|
|
220
|
+
c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
|
|
221
|
+
181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
|
|
222
|
+
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
|
|
223
|
+
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
|
|
224
|
+
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
|
|
225
|
+
-338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
|
|
226
|
+
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
|
|
227
|
+
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
|
|
228
|
+
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
|
|
229
|
+
-175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
|
|
230
|
+
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
|
|
231
|
+
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
|
|
232
|
+
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
|
|
233
|
+
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
|
|
234
|
+
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
|
|
235
|
+
c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
|
|
236
|
+
c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
|
|
237
|
+
-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
|
|
238
|
+
-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
|
|
239
|
+
-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
|
|
240
|
+
-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
|
241
|
+
-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
|
242
|
+
-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
|
243
|
+
-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
|
|
244
|
+
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
|
|
245
|
+
c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
|
|
246
|
+
s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
|
|
247
|
+
121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
|
|
248
|
+
s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
|
|
249
|
+
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
|
|
250
|
+
M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
|
|
251
|
+
-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
|
|
252
|
+
13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
|
|
253
|
+
-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
|
|
254
|
+
-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
|
|
255
|
+
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
|
|
256
|
+
151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
|
|
257
|
+
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
|
|
258
|
+
c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
|
|
259
|
+
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
|
|
260
|
+
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
|
|
261
|
+
M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
|
|
262
|
+
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
|
|
263
|
+
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
|
|
264
|
+
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
|
|
265
|
+
M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
|
|
266
|
+
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
|
|
267
|
+
1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
|
|
268
|
+
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
|
|
269
|
+
M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0
|
|
270
|
+
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
|
|
271
|
+
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
|
|
272
|
+
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
|
|
273
|
+
M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},jA=function(t,n){switch(t){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+` v1759 v84 h347 v-84
|
|
274
|
+
H403z M403 1759 V0 H319 V1759 v`+n+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+` v1759 H0 v84 H347z
|
|
275
|
+
M347 1759 V0 H263 V1759 v`+n+" v1759 h84z";case"vert":return"M145 15 v585 v"+n+` v585 c2.667,10,9.667,15,21,15
|
|
276
|
+
c10,0,16.667,-5,20,-15 v-585 v`+-n+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
|
277
|
+
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+n+" v585 h43z";case"doublevert":return"M145 15 v585 v"+n+` v585 c2.667,10,9.667,15,21,15
|
|
278
|
+
c10,0,16.667,-5,20,-15 v-585 v`+-n+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
|
279
|
+
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+n+` v585 h43z
|
|
280
|
+
M367 15 v585 v`+n+` v585 c2.667,10,9.667,15,21,15
|
|
281
|
+
c10,0,16.667,-5,20,-15 v-585 v`+-n+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
|
282
|
+
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+n+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+n+` v1715 h263 v84 H319z
|
|
283
|
+
MM319 602 V0 H403 V602 v`+n+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+n+` v1799 H0 v-84 H319z
|
|
284
|
+
MM319 602 V0 H403 V602 v`+n+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+` v602 h84z
|
|
285
|
+
M403 1759 V0 H319 V1759 v`+n+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+` v602 h84z
|
|
286
|
+
M347 1759 V0 h-84 V1759 v`+n+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
|
|
287
|
+
c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
|
|
288
|
+
-36,557 l0,`+(n+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
|
|
289
|
+
949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
|
|
290
|
+
c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
|
|
291
|
+
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
|
|
292
|
+
l0,-`+(n+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
|
|
293
|
+
-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
|
|
294
|
+
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
|
|
295
|
+
c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(n+9)+`
|
|
296
|
+
c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
|
|
297
|
+
c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
|
|
298
|
+
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
|
|
299
|
+
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
|
|
300
|
+
l0,-`+(n+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
301
|
+
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};function LA(e){return"toText"in e}class Uo{constructor(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(t){return this.classes.includes(t)}toNode(){for(var t=document.createDocumentFragment(),n=0;n<this.children.length;n++)t.appendChild(this.children[n].toNode());return t}toMarkup(){for(var t="",n=0;n<this.children.length;n++)t+=this.children[n].toMarkup();return t}toText(){return this.children.map(t=>{if(LA(t))return t.toText();throw new Error("Expected MathDomNode with toText, got "+t.constructor.name)}).join("")}}var Np={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},zA={ex:!0,em:!0,mu:!0},hx=function(t){return typeof t!="string"&&(t=t.unit),t in Np||t in zA||t==="ex"},In=function(t,n){var a;if(t.unit in Np)a=Np[t.unit]/n.fontMetrics().ptPerEm/n.sizeMultiplier;else if(t.unit==="mu")a=n.fontMetrics().cssEmPerMu;else{var s;if(n.style.isTight()?s=n.havingStyle(n.style.text()):s=n,t.unit==="ex")a=s.fontMetrics().xHeight;else if(t.unit==="em")a=s.fontMetrics().quad;else throw new Be("Invalid unit: '"+t.unit+"'");s!==n&&(a*=s.sizeMultiplier/n.sizeMultiplier)}return Math.min(t.number*a,n.maxSize)},Ve=function(t){return+t.toFixed(4)+"em"},Ji=function(t){return t.filter(n=>n).join(" ")},L1=function(t){var n="";for(var a of Object.keys(t)){var s=t[a];s!==void 0&&(n+=dA(a)+":"+s+";")}return n},px=function(t,n,a){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},n){n.style.isTight()&&this.classes.push("mtight");var s=n.getColor();s&&(this.style.color=s)}},gx=function(t){var n=document.createElement(t);n.className=Ji(this.classes),Object.assign(n.style,this.style);for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var s=0;s<this.children.length;s++)n.appendChild(this.children[s].toNode());return n},BA=/[\s"'>/=\x00-\x1f]/,vx=function(t){var n="<"+t;this.classes.length&&(n+=' class="'+fr(Ji(this.classes))+'"');var a=L1(this.style);a&&(n+=' style="'+fr(a)+'"');for(var s of Object.keys(this.attributes)){if(BA.test(s))throw new Be("Invalid attribute name '"+s+"'");n+=" "+s+'="'+fr(this.attributes[s])+'"'}n+=">";for(var o=0;o<this.children.length;o++)n+=this.children[o].toMarkup();return n+="</"+t+">",n};class Ho{constructor(t,n,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,px.call(this,t,a,s),this.children=n||[]}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return gx.call(this,"span")}toMarkup(){return vx.call(this,"span")}}class Pd{constructor(t,n,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,px.call(this,n,s),this.children=a||[],this.setAttribute("href",t)}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return gx.call(this,"a")}toMarkup(){return vx.call(this,"a")}}class qA{constructor(t,n,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=n,this.src=t,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=a}hasClass(t){return this.classes.includes(t)}toNode(){var t=document.createElement("img");return t.src=this.src,t.alt=this.alt,t.className="mord",Object.assign(t.style,this.style),t}toMarkup(){var t='<img src="'+fr(this.src)+'"'+(' alt="'+fr(this.alt)+'"'),n=L1(this.style);return n&&(t+=' style="'+fr(n)+'"'),t+="'/>",t}}var UA={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class Zr{constructor(t,n,a,s,o,c,d,m){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=t,this.height=n||0,this.depth=a||0,this.italic=s||0,this.skew=o||0,this.width=c||0,this.classes=d||[],this.style=m||{},this.maxFontSize=0;var h=TA(this.text.charCodeAt(0));h&&this.classes.push(h+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=UA[this.text])}hasClass(t){return this.classes.includes(t)}toNode(){var t=document.createTextNode(this.text),n=null;return this.italic>0&&(n=document.createElement("span"),n.style.marginRight=Ve(this.italic)),this.classes.length>0&&(n=n||document.createElement("span"),n.className=Ji(this.classes)),Object.keys(this.style).length>0&&(n=n||document.createElement("span"),Object.assign(n.style,this.style)),n?(n.appendChild(t),n):t}toMarkup(){var t=!1,n="<span";this.classes.length&&(t=!0,n+=' class="',n+=fr(Ji(this.classes)),n+='"');var a="";this.italic>0&&(a+="margin-right:"+Ve(this.italic)+";"),a+=L1(this.style),a&&(t=!0,n+=' style="'+fr(a)+'"');var s=fr(this.text);return t?(n+=">",n+=s,n+="</span>",n):s}}class pi{constructor(t,n){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=n||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var s=0;s<this.children.length;s++)n.appendChild(this.children[s].toNode());return n}toMarkup(){var t='<svg xmlns="http://www.w3.org/2000/svg"';for(var n of Object.keys(this.attributes))t+=" "+n+'="'+fr(this.attributes[n])+'"';t+=">";for(var a=0;a<this.children.length;a++)t+=this.children[a].toMarkup();return t+="</svg>",t}}class es{constructor(t,n){this.pathName=void 0,this.alternate=void 0,this.pathName=t,this.alternate=n}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"path");return this.alternate?n.setAttribute("d",this.alternate):n.setAttribute("d",Q4[this.pathName]),n}toMarkup(){return this.alternate?'<path d="'+fr(this.alternate)+'"/>':'<path d="'+fr(Q4[this.pathName])+'"/>'}}class Rp{constructor(t){this.attributes=void 0,this.attributes=t||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"line");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);return n}toMarkup(){var t="<line";for(var n of Object.keys(this.attributes))t+=" "+n+'="'+fr(this.attributes[n])+'"';return t+="/>",t}}function HA(e){if(e instanceof Zr)return e;throw new Error("Expected symbolNode but got "+String(e)+".")}function $A(e){if(e instanceof Ho)return e;throw new Error("Expected span<HtmlDomNode> but got "+String(e)+".")}var PA=e=>e instanceof Ho||e instanceof Pd||e instanceof Uo,La={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Mu={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},J4={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function bx(e,t){La[e]=t}function z1(e,t,n){if(!La[t])throw new Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),s=La[t][a];if(!s&&e[0]in J4&&(a=J4[e[0]].charCodeAt(0),s=La[t][a]),!s&&n==="text"&&mx(a)&&(s=La[t][77]),s)return{depth:s[0],height:s[1],italic:s[2],skew:s[3],width:s[4]}}var Bm={};function FA(e){var t;if(e>=5?t=0:e>=3?t=1:t=2,!Bm[t]){var n=Bm[t]={cssEmPerMu:Mu.quad[t]/18};for(var a in Mu)Mu.hasOwnProperty(a)&&(n[a]=Mu[a][t])}return Bm[t]}var wn={math:{},text:{}};function k(e,t,n,a,s,o){wn[e][s]={font:t,group:n,replace:a},o&&a&&(wn[e][a]=wn[e][s])}var T="math",Me="text",L="main",re="ams",kn="accent-token",tt="bin",Er="close",$o="inner",xt="mathord",Wn="op-token",Xr="open",mc="punct",ae="rel",bi="spacing",fe="textord";k(T,L,ae,"≡","\\equiv",!0);k(T,L,ae,"≺","\\prec",!0);k(T,L,ae,"≻","\\succ",!0);k(T,L,ae,"∼","\\sim",!0);k(T,L,ae,"⊥","\\perp");k(T,L,ae,"⪯","\\preceq",!0);k(T,L,ae,"⪰","\\succeq",!0);k(T,L,ae,"≃","\\simeq",!0);k(T,L,ae,"∣","\\mid",!0);k(T,L,ae,"≪","\\ll",!0);k(T,L,ae,"≫","\\gg",!0);k(T,L,ae,"≍","\\asymp",!0);k(T,L,ae,"∥","\\parallel");k(T,L,ae,"⋈","\\bowtie",!0);k(T,L,ae,"⌣","\\smile",!0);k(T,L,ae,"⊑","\\sqsubseteq",!0);k(T,L,ae,"⊒","\\sqsupseteq",!0);k(T,L,ae,"≐","\\doteq",!0);k(T,L,ae,"⌢","\\frown",!0);k(T,L,ae,"∋","\\ni",!0);k(T,L,ae,"∝","\\propto",!0);k(T,L,ae,"⊢","\\vdash",!0);k(T,L,ae,"⊣","\\dashv",!0);k(T,L,ae,"∋","\\owns");k(T,L,mc,".","\\ldotp");k(T,L,mc,"⋅","\\cdotp");k(T,L,mc,"⋅","·");k(Me,L,fe,"⋅","·");k(T,L,fe,"#","\\#");k(Me,L,fe,"#","\\#");k(T,L,fe,"&","\\&");k(Me,L,fe,"&","\\&");k(T,L,fe,"ℵ","\\aleph",!0);k(T,L,fe,"∀","\\forall",!0);k(T,L,fe,"ℏ","\\hbar",!0);k(T,L,fe,"∃","\\exists",!0);k(T,L,fe,"∇","\\nabla",!0);k(T,L,fe,"♭","\\flat",!0);k(T,L,fe,"ℓ","\\ell",!0);k(T,L,fe,"♮","\\natural",!0);k(T,L,fe,"♣","\\clubsuit",!0);k(T,L,fe,"℘","\\wp",!0);k(T,L,fe,"♯","\\sharp",!0);k(T,L,fe,"♢","\\diamondsuit",!0);k(T,L,fe,"ℜ","\\Re",!0);k(T,L,fe,"♡","\\heartsuit",!0);k(T,L,fe,"ℑ","\\Im",!0);k(T,L,fe,"♠","\\spadesuit",!0);k(T,L,fe,"§","\\S",!0);k(Me,L,fe,"§","\\S");k(T,L,fe,"¶","\\P",!0);k(Me,L,fe,"¶","\\P");k(T,L,fe,"†","\\dag");k(Me,L,fe,"†","\\dag");k(Me,L,fe,"†","\\textdagger");k(T,L,fe,"‡","\\ddag");k(Me,L,fe,"‡","\\ddag");k(Me,L,fe,"‡","\\textdaggerdbl");k(T,L,Er,"⎱","\\rmoustache",!0);k(T,L,Xr,"⎰","\\lmoustache",!0);k(T,L,Er,"⟯","\\rgroup",!0);k(T,L,Xr,"⟮","\\lgroup",!0);k(T,L,tt,"∓","\\mp",!0);k(T,L,tt,"⊖","\\ominus",!0);k(T,L,tt,"⊎","\\uplus",!0);k(T,L,tt,"⊓","\\sqcap",!0);k(T,L,tt,"∗","\\ast");k(T,L,tt,"⊔","\\sqcup",!0);k(T,L,tt,"◯","\\bigcirc",!0);k(T,L,tt,"∙","\\bullet",!0);k(T,L,tt,"‡","\\ddagger");k(T,L,tt,"≀","\\wr",!0);k(T,L,tt,"⨿","\\amalg");k(T,L,tt,"&","\\And");k(T,L,ae,"⟵","\\longleftarrow",!0);k(T,L,ae,"⇐","\\Leftarrow",!0);k(T,L,ae,"⟸","\\Longleftarrow",!0);k(T,L,ae,"⟶","\\longrightarrow",!0);k(T,L,ae,"⇒","\\Rightarrow",!0);k(T,L,ae,"⟹","\\Longrightarrow",!0);k(T,L,ae,"↔","\\leftrightarrow",!0);k(T,L,ae,"⟷","\\longleftrightarrow",!0);k(T,L,ae,"⇔","\\Leftrightarrow",!0);k(T,L,ae,"⟺","\\Longleftrightarrow",!0);k(T,L,ae,"↦","\\mapsto",!0);k(T,L,ae,"⟼","\\longmapsto",!0);k(T,L,ae,"↗","\\nearrow",!0);k(T,L,ae,"↩","\\hookleftarrow",!0);k(T,L,ae,"↪","\\hookrightarrow",!0);k(T,L,ae,"↘","\\searrow",!0);k(T,L,ae,"↼","\\leftharpoonup",!0);k(T,L,ae,"⇀","\\rightharpoonup",!0);k(T,L,ae,"↙","\\swarrow",!0);k(T,L,ae,"↽","\\leftharpoondown",!0);k(T,L,ae,"⇁","\\rightharpoondown",!0);k(T,L,ae,"↖","\\nwarrow",!0);k(T,L,ae,"⇌","\\rightleftharpoons",!0);k(T,re,ae,"≮","\\nless",!0);k(T,re,ae,"","\\@nleqslant");k(T,re,ae,"","\\@nleqq");k(T,re,ae,"⪇","\\lneq",!0);k(T,re,ae,"≨","\\lneqq",!0);k(T,re,ae,"","\\@lvertneqq");k(T,re,ae,"⋦","\\lnsim",!0);k(T,re,ae,"⪉","\\lnapprox",!0);k(T,re,ae,"⊀","\\nprec",!0);k(T,re,ae,"⋠","\\npreceq",!0);k(T,re,ae,"⋨","\\precnsim",!0);k(T,re,ae,"⪹","\\precnapprox",!0);k(T,re,ae,"≁","\\nsim",!0);k(T,re,ae,"","\\@nshortmid");k(T,re,ae,"∤","\\nmid",!0);k(T,re,ae,"⊬","\\nvdash",!0);k(T,re,ae,"⊭","\\nvDash",!0);k(T,re,ae,"⋪","\\ntriangleleft");k(T,re,ae,"⋬","\\ntrianglelefteq",!0);k(T,re,ae,"⊊","\\subsetneq",!0);k(T,re,ae,"","\\@varsubsetneq");k(T,re,ae,"⫋","\\subsetneqq",!0);k(T,re,ae,"","\\@varsubsetneqq");k(T,re,ae,"≯","\\ngtr",!0);k(T,re,ae,"","\\@ngeqslant");k(T,re,ae,"","\\@ngeqq");k(T,re,ae,"⪈","\\gneq",!0);k(T,re,ae,"≩","\\gneqq",!0);k(T,re,ae,"","\\@gvertneqq");k(T,re,ae,"⋧","\\gnsim",!0);k(T,re,ae,"⪊","\\gnapprox",!0);k(T,re,ae,"⊁","\\nsucc",!0);k(T,re,ae,"⋡","\\nsucceq",!0);k(T,re,ae,"⋩","\\succnsim",!0);k(T,re,ae,"⪺","\\succnapprox",!0);k(T,re,ae,"≆","\\ncong",!0);k(T,re,ae,"","\\@nshortparallel");k(T,re,ae,"∦","\\nparallel",!0);k(T,re,ae,"⊯","\\nVDash",!0);k(T,re,ae,"⋫","\\ntriangleright");k(T,re,ae,"⋭","\\ntrianglerighteq",!0);k(T,re,ae,"","\\@nsupseteqq");k(T,re,ae,"⊋","\\supsetneq",!0);k(T,re,ae,"","\\@varsupsetneq");k(T,re,ae,"⫌","\\supsetneqq",!0);k(T,re,ae,"","\\@varsupsetneqq");k(T,re,ae,"⊮","\\nVdash",!0);k(T,re,ae,"⪵","\\precneqq",!0);k(T,re,ae,"⪶","\\succneqq",!0);k(T,re,ae,"","\\@nsubseteqq");k(T,re,tt,"⊴","\\unlhd");k(T,re,tt,"⊵","\\unrhd");k(T,re,ae,"↚","\\nleftarrow",!0);k(T,re,ae,"↛","\\nrightarrow",!0);k(T,re,ae,"⇍","\\nLeftarrow",!0);k(T,re,ae,"⇏","\\nRightarrow",!0);k(T,re,ae,"↮","\\nleftrightarrow",!0);k(T,re,ae,"⇎","\\nLeftrightarrow",!0);k(T,re,ae,"△","\\vartriangle");k(T,re,fe,"ℏ","\\hslash");k(T,re,fe,"▽","\\triangledown");k(T,re,fe,"◊","\\lozenge");k(T,re,fe,"Ⓢ","\\circledS");k(T,re,fe,"®","\\circledR");k(Me,re,fe,"®","\\circledR");k(T,re,fe,"∡","\\measuredangle",!0);k(T,re,fe,"∄","\\nexists");k(T,re,fe,"℧","\\mho");k(T,re,fe,"Ⅎ","\\Finv",!0);k(T,re,fe,"⅁","\\Game",!0);k(T,re,fe,"‵","\\backprime");k(T,re,fe,"▲","\\blacktriangle");k(T,re,fe,"▼","\\blacktriangledown");k(T,re,fe,"■","\\blacksquare");k(T,re,fe,"⧫","\\blacklozenge");k(T,re,fe,"★","\\bigstar");k(T,re,fe,"∢","\\sphericalangle",!0);k(T,re,fe,"∁","\\complement",!0);k(T,re,fe,"ð","\\eth",!0);k(Me,L,fe,"ð","ð");k(T,re,fe,"╱","\\diagup");k(T,re,fe,"╲","\\diagdown");k(T,re,fe,"□","\\square");k(T,re,fe,"□","\\Box");k(T,re,fe,"◊","\\Diamond");k(T,re,fe,"¥","\\yen",!0);k(Me,re,fe,"¥","\\yen",!0);k(T,re,fe,"✓","\\checkmark",!0);k(Me,re,fe,"✓","\\checkmark");k(T,re,fe,"ℶ","\\beth",!0);k(T,re,fe,"ℸ","\\daleth",!0);k(T,re,fe,"ℷ","\\gimel",!0);k(T,re,fe,"ϝ","\\digamma",!0);k(T,re,fe,"ϰ","\\varkappa");k(T,re,Xr,"┌","\\@ulcorner",!0);k(T,re,Er,"┐","\\@urcorner",!0);k(T,re,Xr,"└","\\@llcorner",!0);k(T,re,Er,"┘","\\@lrcorner",!0);k(T,re,ae,"≦","\\leqq",!0);k(T,re,ae,"⩽","\\leqslant",!0);k(T,re,ae,"⪕","\\eqslantless",!0);k(T,re,ae,"≲","\\lesssim",!0);k(T,re,ae,"⪅","\\lessapprox",!0);k(T,re,ae,"≊","\\approxeq",!0);k(T,re,tt,"⋖","\\lessdot");k(T,re,ae,"⋘","\\lll",!0);k(T,re,ae,"≶","\\lessgtr",!0);k(T,re,ae,"⋚","\\lesseqgtr",!0);k(T,re,ae,"⪋","\\lesseqqgtr",!0);k(T,re,ae,"≑","\\doteqdot");k(T,re,ae,"≓","\\risingdotseq",!0);k(T,re,ae,"≒","\\fallingdotseq",!0);k(T,re,ae,"∽","\\backsim",!0);k(T,re,ae,"⋍","\\backsimeq",!0);k(T,re,ae,"⫅","\\subseteqq",!0);k(T,re,ae,"⋐","\\Subset",!0);k(T,re,ae,"⊏","\\sqsubset",!0);k(T,re,ae,"≼","\\preccurlyeq",!0);k(T,re,ae,"⋞","\\curlyeqprec",!0);k(T,re,ae,"≾","\\precsim",!0);k(T,re,ae,"⪷","\\precapprox",!0);k(T,re,ae,"⊲","\\vartriangleleft");k(T,re,ae,"⊴","\\trianglelefteq");k(T,re,ae,"⊨","\\vDash",!0);k(T,re,ae,"⊪","\\Vvdash",!0);k(T,re,ae,"⌣","\\smallsmile");k(T,re,ae,"⌢","\\smallfrown");k(T,re,ae,"≏","\\bumpeq",!0);k(T,re,ae,"≎","\\Bumpeq",!0);k(T,re,ae,"≧","\\geqq",!0);k(T,re,ae,"⩾","\\geqslant",!0);k(T,re,ae,"⪖","\\eqslantgtr",!0);k(T,re,ae,"≳","\\gtrsim",!0);k(T,re,ae,"⪆","\\gtrapprox",!0);k(T,re,tt,"⋗","\\gtrdot");k(T,re,ae,"⋙","\\ggg",!0);k(T,re,ae,"≷","\\gtrless",!0);k(T,re,ae,"⋛","\\gtreqless",!0);k(T,re,ae,"⪌","\\gtreqqless",!0);k(T,re,ae,"≖","\\eqcirc",!0);k(T,re,ae,"≗","\\circeq",!0);k(T,re,ae,"≜","\\triangleq",!0);k(T,re,ae,"∼","\\thicksim");k(T,re,ae,"≈","\\thickapprox");k(T,re,ae,"⫆","\\supseteqq",!0);k(T,re,ae,"⋑","\\Supset",!0);k(T,re,ae,"⊐","\\sqsupset",!0);k(T,re,ae,"≽","\\succcurlyeq",!0);k(T,re,ae,"⋟","\\curlyeqsucc",!0);k(T,re,ae,"≿","\\succsim",!0);k(T,re,ae,"⪸","\\succapprox",!0);k(T,re,ae,"⊳","\\vartriangleright");k(T,re,ae,"⊵","\\trianglerighteq");k(T,re,ae,"⊩","\\Vdash",!0);k(T,re,ae,"∣","\\shortmid");k(T,re,ae,"∥","\\shortparallel");k(T,re,ae,"≬","\\between",!0);k(T,re,ae,"⋔","\\pitchfork",!0);k(T,re,ae,"∝","\\varpropto");k(T,re,ae,"◀","\\blacktriangleleft");k(T,re,ae,"∴","\\therefore",!0);k(T,re,ae,"∍","\\backepsilon");k(T,re,ae,"▶","\\blacktriangleright");k(T,re,ae,"∵","\\because",!0);k(T,re,ae,"⋘","\\llless");k(T,re,ae,"⋙","\\gggtr");k(T,re,tt,"⊲","\\lhd");k(T,re,tt,"⊳","\\rhd");k(T,re,ae,"≂","\\eqsim",!0);k(T,L,ae,"⋈","\\Join");k(T,re,ae,"≑","\\Doteq",!0);k(T,re,tt,"∔","\\dotplus",!0);k(T,re,tt,"∖","\\smallsetminus");k(T,re,tt,"⋒","\\Cap",!0);k(T,re,tt,"⋓","\\Cup",!0);k(T,re,tt,"⩞","\\doublebarwedge",!0);k(T,re,tt,"⊟","\\boxminus",!0);k(T,re,tt,"⊞","\\boxplus",!0);k(T,re,tt,"⋇","\\divideontimes",!0);k(T,re,tt,"⋉","\\ltimes",!0);k(T,re,tt,"⋊","\\rtimes",!0);k(T,re,tt,"⋋","\\leftthreetimes",!0);k(T,re,tt,"⋌","\\rightthreetimes",!0);k(T,re,tt,"⋏","\\curlywedge",!0);k(T,re,tt,"⋎","\\curlyvee",!0);k(T,re,tt,"⊝","\\circleddash",!0);k(T,re,tt,"⊛","\\circledast",!0);k(T,re,tt,"⋅","\\centerdot");k(T,re,tt,"⊺","\\intercal",!0);k(T,re,tt,"⋒","\\doublecap");k(T,re,tt,"⋓","\\doublecup");k(T,re,tt,"⊠","\\boxtimes",!0);k(T,re,ae,"⇢","\\dashrightarrow",!0);k(T,re,ae,"⇠","\\dashleftarrow",!0);k(T,re,ae,"⇇","\\leftleftarrows",!0);k(T,re,ae,"⇆","\\leftrightarrows",!0);k(T,re,ae,"⇚","\\Lleftarrow",!0);k(T,re,ae,"↞","\\twoheadleftarrow",!0);k(T,re,ae,"↢","\\leftarrowtail",!0);k(T,re,ae,"↫","\\looparrowleft",!0);k(T,re,ae,"⇋","\\leftrightharpoons",!0);k(T,re,ae,"↶","\\curvearrowleft",!0);k(T,re,ae,"↺","\\circlearrowleft",!0);k(T,re,ae,"↰","\\Lsh",!0);k(T,re,ae,"⇈","\\upuparrows",!0);k(T,re,ae,"↿","\\upharpoonleft",!0);k(T,re,ae,"⇃","\\downharpoonleft",!0);k(T,L,ae,"⊶","\\origof",!0);k(T,L,ae,"⊷","\\imageof",!0);k(T,re,ae,"⊸","\\multimap",!0);k(T,re,ae,"↭","\\leftrightsquigarrow",!0);k(T,re,ae,"⇉","\\rightrightarrows",!0);k(T,re,ae,"⇄","\\rightleftarrows",!0);k(T,re,ae,"↠","\\twoheadrightarrow",!0);k(T,re,ae,"↣","\\rightarrowtail",!0);k(T,re,ae,"↬","\\looparrowright",!0);k(T,re,ae,"↷","\\curvearrowright",!0);k(T,re,ae,"↻","\\circlearrowright",!0);k(T,re,ae,"↱","\\Rsh",!0);k(T,re,ae,"⇊","\\downdownarrows",!0);k(T,re,ae,"↾","\\upharpoonright",!0);k(T,re,ae,"⇂","\\downharpoonright",!0);k(T,re,ae,"⇝","\\rightsquigarrow",!0);k(T,re,ae,"⇝","\\leadsto");k(T,re,ae,"⇛","\\Rrightarrow",!0);k(T,re,ae,"↾","\\restriction");k(T,L,fe,"‘","`");k(T,L,fe,"$","\\$");k(Me,L,fe,"$","\\$");k(Me,L,fe,"$","\\textdollar");k(T,L,fe,"%","\\%");k(Me,L,fe,"%","\\%");k(T,L,fe,"_","\\_");k(Me,L,fe,"_","\\_");k(Me,L,fe,"_","\\textunderscore");k(T,L,fe,"∠","\\angle",!0);k(T,L,fe,"∞","\\infty",!0);k(T,L,fe,"′","\\prime");k(T,L,fe,"△","\\triangle");k(T,L,fe,"Γ","\\Gamma",!0);k(T,L,fe,"Δ","\\Delta",!0);k(T,L,fe,"Θ","\\Theta",!0);k(T,L,fe,"Λ","\\Lambda",!0);k(T,L,fe,"Ξ","\\Xi",!0);k(T,L,fe,"Π","\\Pi",!0);k(T,L,fe,"Σ","\\Sigma",!0);k(T,L,fe,"Υ","\\Upsilon",!0);k(T,L,fe,"Φ","\\Phi",!0);k(T,L,fe,"Ψ","\\Psi",!0);k(T,L,fe,"Ω","\\Omega",!0);k(T,L,fe,"A","Α");k(T,L,fe,"B","Β");k(T,L,fe,"E","Ε");k(T,L,fe,"Z","Ζ");k(T,L,fe,"H","Η");k(T,L,fe,"I","Ι");k(T,L,fe,"K","Κ");k(T,L,fe,"M","Μ");k(T,L,fe,"N","Ν");k(T,L,fe,"O","Ο");k(T,L,fe,"P","Ρ");k(T,L,fe,"T","Τ");k(T,L,fe,"X","Χ");k(T,L,fe,"¬","\\neg",!0);k(T,L,fe,"¬","\\lnot");k(T,L,fe,"⊤","\\top");k(T,L,fe,"⊥","\\bot");k(T,L,fe,"∅","\\emptyset");k(T,re,fe,"∅","\\varnothing");k(T,L,xt,"α","\\alpha",!0);k(T,L,xt,"β","\\beta",!0);k(T,L,xt,"γ","\\gamma",!0);k(T,L,xt,"δ","\\delta",!0);k(T,L,xt,"ϵ","\\epsilon",!0);k(T,L,xt,"ζ","\\zeta",!0);k(T,L,xt,"η","\\eta",!0);k(T,L,xt,"θ","\\theta",!0);k(T,L,xt,"ι","\\iota",!0);k(T,L,xt,"κ","\\kappa",!0);k(T,L,xt,"λ","\\lambda",!0);k(T,L,xt,"μ","\\mu",!0);k(T,L,xt,"ν","\\nu",!0);k(T,L,xt,"ξ","\\xi",!0);k(T,L,xt,"ο","\\omicron",!0);k(T,L,xt,"π","\\pi",!0);k(T,L,xt,"ρ","\\rho",!0);k(T,L,xt,"σ","\\sigma",!0);k(T,L,xt,"τ","\\tau",!0);k(T,L,xt,"υ","\\upsilon",!0);k(T,L,xt,"ϕ","\\phi",!0);k(T,L,xt,"χ","\\chi",!0);k(T,L,xt,"ψ","\\psi",!0);k(T,L,xt,"ω","\\omega",!0);k(T,L,xt,"ε","\\varepsilon",!0);k(T,L,xt,"ϑ","\\vartheta",!0);k(T,L,xt,"ϖ","\\varpi",!0);k(T,L,xt,"ϱ","\\varrho",!0);k(T,L,xt,"ς","\\varsigma",!0);k(T,L,xt,"φ","\\varphi",!0);k(T,L,tt,"∗","*",!0);k(T,L,tt,"+","+");k(T,L,tt,"−","-",!0);k(T,L,tt,"⋅","\\cdot",!0);k(T,L,tt,"∘","\\circ",!0);k(T,L,tt,"÷","\\div",!0);k(T,L,tt,"±","\\pm",!0);k(T,L,tt,"×","\\times",!0);k(T,L,tt,"∩","\\cap",!0);k(T,L,tt,"∪","\\cup",!0);k(T,L,tt,"∖","\\setminus",!0);k(T,L,tt,"∧","\\land");k(T,L,tt,"∨","\\lor");k(T,L,tt,"∧","\\wedge",!0);k(T,L,tt,"∨","\\vee",!0);k(T,L,fe,"√","\\surd");k(T,L,Xr,"⟨","\\langle",!0);k(T,L,Xr,"∣","\\lvert");k(T,L,Xr,"∥","\\lVert");k(T,L,Er,"?","?");k(T,L,Er,"!","!");k(T,L,Er,"⟩","\\rangle",!0);k(T,L,Er,"∣","\\rvert");k(T,L,Er,"∥","\\rVert");k(T,L,ae,"=","=");k(T,L,ae,":",":");k(T,L,ae,"≈","\\approx",!0);k(T,L,ae,"≅","\\cong",!0);k(T,L,ae,"≥","\\ge");k(T,L,ae,"≥","\\geq",!0);k(T,L,ae,"←","\\gets");k(T,L,ae,">","\\gt",!0);k(T,L,ae,"∈","\\in",!0);k(T,L,ae,"","\\@not");k(T,L,ae,"⊂","\\subset",!0);k(T,L,ae,"⊃","\\supset",!0);k(T,L,ae,"⊆","\\subseteq",!0);k(T,L,ae,"⊇","\\supseteq",!0);k(T,re,ae,"⊈","\\nsubseteq",!0);k(T,re,ae,"⊉","\\nsupseteq",!0);k(T,L,ae,"⊨","\\models");k(T,L,ae,"←","\\leftarrow",!0);k(T,L,ae,"≤","\\le");k(T,L,ae,"≤","\\leq",!0);k(T,L,ae,"<","\\lt",!0);k(T,L,ae,"→","\\rightarrow",!0);k(T,L,ae,"→","\\to");k(T,re,ae,"≱","\\ngeq",!0);k(T,re,ae,"≰","\\nleq",!0);k(T,L,bi," ","\\ ");k(T,L,bi," ","\\space");k(T,L,bi," ","\\nobreakspace");k(Me,L,bi," ","\\ ");k(Me,L,bi," "," ");k(Me,L,bi," ","\\space");k(Me,L,bi," ","\\nobreakspace");k(T,L,bi,"","\\nobreak");k(T,L,bi,"","\\allowbreak");k(T,L,mc,",",",");k(T,L,mc,";",";");k(T,re,tt,"⊼","\\barwedge",!0);k(T,re,tt,"⊻","\\veebar",!0);k(T,L,tt,"⊙","\\odot",!0);k(T,L,tt,"⊕","\\oplus",!0);k(T,L,tt,"⊗","\\otimes",!0);k(T,L,fe,"∂","\\partial",!0);k(T,L,tt,"⊘","\\oslash",!0);k(T,re,tt,"⊚","\\circledcirc",!0);k(T,re,tt,"⊡","\\boxdot",!0);k(T,L,tt,"△","\\bigtriangleup");k(T,L,tt,"▽","\\bigtriangledown");k(T,L,tt,"†","\\dagger");k(T,L,tt,"⋄","\\diamond");k(T,L,tt,"⋆","\\star");k(T,L,tt,"◃","\\triangleleft");k(T,L,tt,"▹","\\triangleright");k(T,L,Xr,"{","\\{");k(Me,L,fe,"{","\\{");k(Me,L,fe,"{","\\textbraceleft");k(T,L,Er,"}","\\}");k(Me,L,fe,"}","\\}");k(Me,L,fe,"}","\\textbraceright");k(T,L,Xr,"{","\\lbrace");k(T,L,Er,"}","\\rbrace");k(T,L,Xr,"[","\\lbrack",!0);k(Me,L,fe,"[","\\lbrack",!0);k(T,L,Er,"]","\\rbrack",!0);k(Me,L,fe,"]","\\rbrack",!0);k(T,L,Xr,"(","\\lparen",!0);k(T,L,Er,")","\\rparen",!0);k(Me,L,fe,"<","\\textless",!0);k(Me,L,fe,">","\\textgreater",!0);k(T,L,Xr,"⌊","\\lfloor",!0);k(T,L,Er,"⌋","\\rfloor",!0);k(T,L,Xr,"⌈","\\lceil",!0);k(T,L,Er,"⌉","\\rceil",!0);k(T,L,fe,"\\","\\backslash");k(T,L,fe,"∣","|");k(T,L,fe,"∣","\\vert");k(Me,L,fe,"|","\\textbar",!0);k(T,L,fe,"∥","\\|");k(T,L,fe,"∥","\\Vert");k(Me,L,fe,"∥","\\textbardbl");k(Me,L,fe,"~","\\textasciitilde");k(Me,L,fe,"\\","\\textbackslash");k(Me,L,fe,"^","\\textasciicircum");k(T,L,ae,"↑","\\uparrow",!0);k(T,L,ae,"⇑","\\Uparrow",!0);k(T,L,ae,"↓","\\downarrow",!0);k(T,L,ae,"⇓","\\Downarrow",!0);k(T,L,ae,"↕","\\updownarrow",!0);k(T,L,ae,"⇕","\\Updownarrow",!0);k(T,L,Wn,"∐","\\coprod");k(T,L,Wn,"⋁","\\bigvee");k(T,L,Wn,"⋀","\\bigwedge");k(T,L,Wn,"⨄","\\biguplus");k(T,L,Wn,"⋂","\\bigcap");k(T,L,Wn,"⋃","\\bigcup");k(T,L,Wn,"∫","\\int");k(T,L,Wn,"∫","\\intop");k(T,L,Wn,"∬","\\iint");k(T,L,Wn,"∭","\\iiint");k(T,L,Wn,"∏","\\prod");k(T,L,Wn,"∑","\\sum");k(T,L,Wn,"⨂","\\bigotimes");k(T,L,Wn,"⨁","\\bigoplus");k(T,L,Wn,"⨀","\\bigodot");k(T,L,Wn,"∮","\\oint");k(T,L,Wn,"∯","\\oiint");k(T,L,Wn,"∰","\\oiiint");k(T,L,Wn,"⨆","\\bigsqcup");k(T,L,Wn,"∫","\\smallint");k(Me,L,$o,"…","\\textellipsis");k(T,L,$o,"…","\\mathellipsis");k(Me,L,$o,"…","\\ldots",!0);k(T,L,$o,"…","\\ldots",!0);k(T,L,$o,"⋯","\\@cdots",!0);k(T,L,$o,"⋱","\\ddots",!0);k(T,L,fe,"⋮","\\varvdots");k(Me,L,fe,"⋮","\\varvdots");k(T,L,kn,"ˊ","\\acute");k(T,L,kn,"ˋ","\\grave");k(T,L,kn,"¨","\\ddot");k(T,L,kn,"~","\\tilde");k(T,L,kn,"ˉ","\\bar");k(T,L,kn,"˘","\\breve");k(T,L,kn,"ˇ","\\check");k(T,L,kn,"^","\\hat");k(T,L,kn,"⃗","\\vec");k(T,L,kn,"˙","\\dot");k(T,L,kn,"˚","\\mathring");k(T,L,xt,"","\\@imath");k(T,L,xt,"","\\@jmath");k(T,L,fe,"ı","ı");k(T,L,fe,"ȷ","ȷ");k(Me,L,fe,"ı","\\i",!0);k(Me,L,fe,"ȷ","\\j",!0);k(Me,L,fe,"ß","\\ss",!0);k(Me,L,fe,"æ","\\ae",!0);k(Me,L,fe,"œ","\\oe",!0);k(Me,L,fe,"ø","\\o",!0);k(Me,L,fe,"Æ","\\AE",!0);k(Me,L,fe,"Œ","\\OE",!0);k(Me,L,fe,"Ø","\\O",!0);k(Me,L,kn,"ˊ","\\'");k(Me,L,kn,"ˋ","\\`");k(Me,L,kn,"ˆ","\\^");k(Me,L,kn,"˜","\\~");k(Me,L,kn,"ˉ","\\=");k(Me,L,kn,"˘","\\u");k(Me,L,kn,"˙","\\.");k(Me,L,kn,"¸","\\c");k(Me,L,kn,"˚","\\r");k(Me,L,kn,"ˇ","\\v");k(Me,L,kn,"¨",'\\"');k(Me,L,kn,"˝","\\H");k(Me,L,kn,"◯","\\textcircled");var yx={"--":!0,"---":!0,"``":!0,"''":!0};k(Me,L,fe,"–","--",!0);k(Me,L,fe,"–","\\textendash");k(Me,L,fe,"—","---",!0);k(Me,L,fe,"—","\\textemdash");k(Me,L,fe,"‘","`",!0);k(Me,L,fe,"‘","\\textquoteleft");k(Me,L,fe,"’","'",!0);k(Me,L,fe,"’","\\textquoteright");k(Me,L,fe,"“","``",!0);k(Me,L,fe,"“","\\textquotedblleft");k(Me,L,fe,"”","''",!0);k(Me,L,fe,"”","\\textquotedblright");k(T,L,fe,"°","\\degree",!0);k(Me,L,fe,"°","\\degree");k(Me,L,fe,"°","\\textdegree",!0);k(T,L,fe,"£","\\pounds");k(T,L,fe,"£","\\mathsterling",!0);k(Me,L,fe,"£","\\pounds");k(Me,L,fe,"£","\\textsterling",!0);k(T,re,fe,"✠","\\maltese");k(Me,re,fe,"✠","\\maltese");var ey='0123456789/@."';for(var qm=0;qm<ey.length;qm++){var ty=ey.charAt(qm);k(T,L,fe,ty,ty)}var ny='0123456789!@*()-=+";:?/.,';for(var Um=0;Um<ny.length;Um++){var ry=ny.charAt(Um);k(Me,L,fe,ry,ry)}var Ed="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var Hm=0;Hm<Ed.length;Hm++){var Ou=Ed.charAt(Hm);k(T,L,xt,Ou,Ou),k(Me,L,fe,Ou,Ou)}k(T,re,fe,"C","ℂ");k(Me,re,fe,"C","ℂ");k(T,re,fe,"H","ℍ");k(Me,re,fe,"H","ℍ");k(T,re,fe,"N","ℕ");k(Me,re,fe,"N","ℕ");k(T,re,fe,"P","ℙ");k(Me,re,fe,"P","ℙ");k(T,re,fe,"Q","ℚ");k(Me,re,fe,"Q","ℚ");k(T,re,fe,"R","ℝ");k(Me,re,fe,"R","ℝ");k(T,re,fe,"Z","ℤ");k(Me,re,fe,"Z","ℤ");k(T,L,xt,"h","ℎ");k(Me,L,xt,"h","ℎ");var Et;for(var xr=0;xr<Ed.length;xr++){var On=Ed.charAt(xr);Et=String.fromCharCode(55349,56320+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),Et=String.fromCharCode(55349,56372+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),Et=String.fromCharCode(55349,56424+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),Et=String.fromCharCode(55349,56580+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),Et=String.fromCharCode(55349,56684+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),Et=String.fromCharCode(55349,56736+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),Et=String.fromCharCode(55349,56788+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),Et=String.fromCharCode(55349,56840+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),Et=String.fromCharCode(55349,56944+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),xr<26&&(Et=String.fromCharCode(55349,56632+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et),Et=String.fromCharCode(55349,56476+xr),k(T,L,xt,On,Et),k(Me,L,fe,On,Et))}Et="𝕜";k(T,L,xt,"k",Et);k(Me,L,fe,"k",Et);for(var Ns=0;Ns<10;Ns++){var Ki=Ns.toString();Et=String.fromCharCode(55349,57294+Ns),k(T,L,xt,Ki,Et),k(Me,L,fe,Ki,Et),Et=String.fromCharCode(55349,57314+Ns),k(T,L,xt,Ki,Et),k(Me,L,fe,Ki,Et),Et=String.fromCharCode(55349,57324+Ns),k(T,L,xt,Ki,Et),k(Me,L,fe,Ki,Et),Et=String.fromCharCode(55349,57334+Ns),k(T,L,xt,Ki,Et),k(Me,L,fe,Ki,Et)}var Ip="ÐÞþ";for(var $m=0;$m<Ip.length;$m++){var Du=Ip.charAt($m);k(T,L,xt,Du,Du),k(Me,L,fe,Du,Du)}var Ap={mathClass:"mathbf",textClass:"textbf",font:"Main-Bold"},ay={mathClass:"mathnormal",textClass:"textit",font:"Math-Italic"},iy={mathClass:"boldsymbol",textClass:"boldsymbol",font:"Main-BoldItalic"},GA={mathClass:"mathscr",textClass:"textscr",font:"Script-Regular"},_s={mathClass:"",textClass:"",font:""},sy={mathClass:"mathfrak",textClass:"textfrak",font:"Fraktur-Regular"},oy={mathClass:"mathbb",textClass:"textbb",font:"AMS-Regular"},ly={mathClass:"mathboldfrak",textClass:"textboldfrak",font:"Fraktur-Regular"},_p={mathClass:"mathsf",textClass:"textsf",font:"SansSerif-Regular"},Mp={mathClass:"mathboldsf",textClass:"textboldsf",font:"SansSerif-Bold"},cy={mathClass:"mathitsf",textClass:"textitsf",font:"SansSerif-Italic"},Op={mathClass:"mathtt",textClass:"texttt",font:"Typewriter-Regular"},uy=[Ap,Ap,ay,ay,iy,iy,GA,_s,_s,_s,sy,sy,oy,oy,ly,ly,_p,_p,Mp,Mp,cy,cy,_s,_s,Op,Op],VA=[Ap,_s,_p,Mp,Op],KA=e=>{var t=e.charCodeAt(0),n=e.charCodeAt(1),a=(t-55296)*1024+(n-56320)+65536;if(119808<=a&&a<120484){var s=Math.floor((a-119808)/26);return uy[s]}else if(120782<=a&&a<=120831){var o=Math.floor((a-120782)/10);return VA[o]}else{if(a===120485||a===120486)return uy[0];if(120486<a&&a<120782)return _s;throw new Be("Unsupported character: "+e)}},Fd=function(t,n,a){if(wn[a][t]){var s=wn[a][t].replace;s&&(t=s)}return{value:t,metrics:z1(t,n,a)}},wr=function(t,n,a,s,o){var c=Fd(t,n,a),d=c.metrics;t=c.value;var m;if(d){var h=d.italic;(a==="text"||s&&s.font==="mathit")&&(h=0),m=new Zr(t,d.height,d.depth,h,d.skew,d.width,o)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+t+"' in style '"+n+"' and mode '"+a+"'")),m=new Zr(t,0,0,0,0,0,o);if(s){m.maxFontSize=s.sizeMultiplier,s.style.isTight()&&m.classes.push("mtight");var p=s.getColor();p&&(m.style.color=p)}return m},B1=function(t,n,a,s){return s===void 0&&(s=[]),a.font==="boldsymbol"&&Fd(t,"Main-Bold",n).metrics?wr(t,"Main-Bold",n,a,s.concat(["mathbf"])):t==="\\"||wn[n][t].font==="main"?wr(t,"Main-Regular",n,a,s):wr(t,"AMS-Regular",n,a,s.concat(["amsrm"]))},WA=function(t,n,a){return a!=="textord"&&Fd(t,"Math-BoldItalic",n).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},Gd=function(t,n,a){var s=t.mode,o=t.text,c=["mord"],{font:d,fontFamily:m,fontWeight:h,fontShape:p}=n,g=s==="math"||s==="text"&&!!d,x=g?d:m,y="",S="";if(o.charCodeAt(0)===55349){var E=KA(o);y=E.font,S=E[s+"Class"]}if(y)return wr(o,y,s,n,c.concat(S));if(x){var R,N;if(x==="boldsymbol"){var _=WA(o,s,a);R=_.fontName,N=[_.fontClass]}else g?(R=Dp[d].fontName,N=[d]):(R=ju(m,h,p),N=[m,h,p]);if(Fd(o,R,s).metrics)return wr(o,R,s,n,c.concat(N));if(yx.hasOwnProperty(o)&&R.slice(0,10)==="Typewriter"){for(var I=[],P=0;P<o.length;P++)I.push(wr(o[P],R,s,n,c.concat(N)));return yi(I)}}if(a==="mathord")return wr(o,"Math-Italic",s,n,c.concat(["mathnormal"]));if(a==="textord"){var F=wn[s][o]&&wn[s][o].font;if(F==="ams"){var M=ju("amsrm",h,p);return wr(o,M,s,n,c.concat("amsrm",h,p))}else if(F==="main"||!F){var A=ju("textrm",h,p);return wr(o,A,s,n,c.concat(h,p))}else{var z=ju(F,h,p);return wr(o,z,s,n,c.concat(z,h,p))}}else throw new Error("unexpected type: "+a+" in makeOrd")},YA=(e,t)=>{if(Ji(e.classes)!==Ji(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass("mathnormal"))return!1;if(e.classes.length===1){var n=e.classes[0];if(n==="mbin"||n==="mord")return!1}for(var a of Object.keys(e.style))if(e.style[a]!==t.style[a])return!1;for(var s of Object.keys(t.style))if(e.style[s]!==t.style[s])return!1;return!0},xx=e=>{for(var t=0;t<e.length-1;t++){var n=e[t],a=e[t+1];n instanceof Zr&&a instanceof Zr&&YA(n,a)&&(n.text+=a.text,n.height=Math.max(n.height,a.height),n.depth=Math.max(n.depth,a.depth),n.italic=a.italic,e.splice(t+1,1),t--)}return e},q1=function(t){for(var n=0,a=0,s=0,o=0;o<t.children.length;o++){var c=t.children[o];c.height>n&&(n=c.height),c.depth>a&&(a=c.depth),c.maxFontSize>s&&(s=c.maxFontSize)}t.height=n,t.depth=a,t.maxFontSize=s},Le=function(t,n,a,s){var o=new Ho(t,n,a,s);return q1(o),o},ts=(e,t,n,a)=>new Ho(e,t,n,a),Oo=function(t,n,a){var s=Le([t],[],n);return s.height=Math.max(a||n.fontMetrics().defaultRuleThickness,n.minRuleThickness),s.style.borderBottomWidth=Ve(s.height),s.maxFontSize=1,s},ZA=function(t,n,a,s){var o=new Pd(t,n,a,s);return q1(o),o},yi=function(t){var n=new Uo(t);return q1(n),n},Do=function(t,n){return t instanceof Uo?Le([],[t],n):t},XA=function(t){if(t.positionType==="individualShift"){for(var n=t.children,a=[n[0]],s=-n[0].shift-n[0].elem.depth,o=s,c=1;c<n.length;c++){var d=-n[c].shift-o-n[c].elem.depth,m=d-(n[c-1].elem.height+n[c-1].elem.depth);o=o+d,a.push({type:"kern",size:m}),a.push(n[c])}return{children:a,depth:s}}var h;if(t.positionType==="top"){for(var p=t.positionData,g=0;g<t.children.length;g++){var x=t.children[g];p-=x.type==="kern"?x.size:x.elem.height+x.elem.depth}h=p}else if(t.positionType==="bottom")h=-t.positionData;else{var y=t.children[0];if(y.type!=="elem")throw new Error('First child must have type "elem".');if(t.positionType==="shift")h=-y.elem.depth-t.positionData;else if(t.positionType==="firstBaseline")h=-y.elem.depth;else throw new Error("Invalid positionType "+t.positionType+".")}return{children:t.children,depth:h}},nn=function(t,n){for(var{children:a,depth:s}=XA(t),o=0,c=0;c<a.length;c++){var d=a[c];if(d.type==="elem"){var m=d.elem;o=Math.max(o,m.maxFontSize,m.height)}}o+=2;var h=Le(["pstrut"],[]);h.style.height=Ve(o);for(var p=[],g=s,x=s,y=s,S=0;S<a.length;S++){var E=a[S];if(E.type==="kern")y+=E.size;else{var R=E.elem,N=E.wrapperClasses||[],_=E.wrapperStyle||{},I=Le(N,[h,R],void 0,_);I.style.top=Ve(-o-y-R.depth),E.marginLeft&&(I.style.marginLeft=E.marginLeft),E.marginRight&&(I.style.marginRight=E.marginRight),p.push(I),y+=R.height+R.depth}g=Math.min(g,y),x=Math.max(x,y)}var P=Le(["vlist"],p);P.style.height=Ve(x);var F;if(g<0){var M=Le([],[]),A=Le(["vlist"],[M]);A.style.height=Ve(-g);var z=Le(["vlist-s"],[new Zr("")]);F=[Le(["vlist-r"],[P,z]),Le(["vlist-r"],[A])]}else F=[Le(["vlist-r"],[P])];var G=Le(["vlist-t"],F);return F.length===2&&G.classes.push("vlist-t2"),G.height=x,G.depth=-g,G},wx=(e,t)=>{var n=Le(["mspace"],[],t),a=In(e,t);return n.style.marginRight=Ve(a),n},ju=(e,t,n)=>{var a,s;switch(e){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=e}return t==="textbf"&&n==="textit"?s="BoldItalic":t==="textbf"?s="Bold":n==="textit"?s="Italic":s="Regular",a+"-"+s},Dp={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},kx={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Sx=function(t,n){var[a,s,o]=kx[t],c=new es(a),d=new pi([c],{width:Ve(s),height:Ve(o),style:"width:"+Ve(s),viewBox:"0 0 "+1e3*s+" "+1e3*o,preserveAspectRatio:"xMinYMin"}),m=ts(["overlay"],[d],n);return m.height=o,m.style.height=Ve(o),m.style.width=Ve(s),m},Cn={number:3,unit:"mu"},Rs={number:4,unit:"mu"},li={number:5,unit:"mu"},QA={mord:{mop:Cn,mbin:Rs,mrel:li,minner:Cn},mop:{mord:Cn,mop:Cn,mrel:li,minner:Cn},mbin:{mord:Rs,mop:Rs,mopen:Rs,minner:Rs},mrel:{mord:li,mop:li,mopen:li,minner:li},mopen:{},mclose:{mop:Cn,mbin:Rs,mrel:li,minner:Cn},mpunct:{mord:Cn,mop:Cn,mrel:li,mopen:Cn,mclose:Cn,mpunct:Cn,minner:Cn},minner:{mord:Cn,mop:Cn,mbin:Rs,mrel:li,mopen:Cn,mpunct:Cn,minner:Cn}},JA={mord:{mop:Cn},mop:{mord:Cn,mop:Cn},mbin:{},mrel:{},mopen:{},mclose:{mop:Cn},mpunct:{},minner:{mop:Cn}},Ex={},Td={},Cd={};function Xe(e){for(var{type:t,names:n,props:a,handler:s,htmlBuilder:o,mathmlBuilder:c}=e,d={type:t,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:a.allowedInMath===void 0?!0:a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:s},m=0;m<n.length;++m)Ex[n[m]]=d;t&&(o&&(Td[t]=o),c&&(Cd[t]=c))}function Us(e){var{type:t,htmlBuilder:n,mathmlBuilder:a}=e;Xe({type:t,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:n,mathmlBuilder:a})}var Nd=function(t){return t.type==="ordgroup"&&t.body.length===1?t.body[0]:t},Vn=function(t){return t.type==="ordgroup"?t.body:[t]},e_=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),t_=new Set(["rightmost","mrel","mclose","mpunct"]),n_={display:Nt.DISPLAY,text:Nt.TEXT,script:Nt.SCRIPT,scriptscript:Nt.SCRIPTSCRIPT},r_={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Xn=function(t,n,a,s){s===void 0&&(s=[null,null]);for(var o=[],c=0;c<t.length;c++){var d=rn(t[c],n);if(d instanceof Uo){var m=d.children;o.push(...m)}else o.push(d)}if(xx(o),!a)return o;var h=n;if(t.length===1){var p=t[0];p.type==="sizing"?h=n.havingSize(p.size):p.type==="styling"&&(h=n.havingStyle(n_[p.style]))}var g=Le([s[0]||"leftmost"],[],n),x=Le([s[1]||"rightmost"],[],n),y=a==="root";return jp(o,(S,E)=>{var R=E.classes[0],N=S.classes[0];R==="mbin"&&t_.has(N)?E.classes[0]="mord":N==="mbin"&&e_.has(R)&&(S.classes[0]="mord")},{node:g},x,y),jp(o,(S,E)=>{var R,N,_=zp(E),I=zp(S),P=_&&I?S.hasClass("mtight")?(R=JA[_])==null?void 0:R[I]:(N=QA[_])==null?void 0:N[I]:null;if(P)return wx(P,h)},{node:g},x,y),o},jp=function(t,n,a,s,o){s&&t.push(s);for(var c=0;c<t.length;c++){var d=t[c],m=Tx(d);if(m){jp(m.children,n,a,null,o);continue}var h=!d.hasClass("mspace");if(h){var p=n(d,a.node);p&&(a.insertAfter?a.insertAfter(p):(t.unshift(p),c++))}h?a.node=d:o&&d.hasClass("newline")&&(a.node=Le(["leftmost"])),a.insertAfter=(g=>x=>{t.splice(g+1,0,x),c++})(c)}s&&t.pop()},Tx=function(t){return t instanceof Uo||t instanceof Pd||t instanceof Ho&&t.hasClass("enclosing")?t:null},Lp=function(t,n){var a=Tx(t);if(a){var s=a.children;if(s.length){if(n==="right")return Lp(s[s.length-1],"right");if(n==="left")return Lp(s[0],"left")}}return t},zp=function(t,n){if(!t)return null;n&&(t=Lp(t,n));var a=t.classes[0];return r_[a]||null},sc=function(t,n){var a=["nulldelimiter"].concat(t.baseSizingClasses());return Le(n.concat(a))},rn=function(t,n,a){if(!t)return Le();if(Td[t.type]){var s=Td[t.type](t,n);if(a&&n.size!==a.size){s=Le(n.sizingClasses(a),[s],n);var o=n.sizeMultiplier/a.sizeMultiplier;s.height*=o,s.depth*=o}return s}else throw new Be("Got group of unknown type: '"+t.type+"'")};function Lu(e,t){var n=Le(["base"],e,t),a=Le(["strut"]);return a.style.height=Ve(n.height+n.depth),n.depth&&(a.style.verticalAlign=Ve(-n.depth)),n.children.unshift(a),n}function Bp(e,t){var n=null;e.length===1&&e[0].type==="tag"&&(n=e[0].tag,e=e[0].body);var a=Xn(e,t,"root"),s;a.length===2&&a[1].hasClass("tag")&&(s=a.pop());for(var o=[],c=[],d=0;d<a.length;d++)if(c.push(a[d]),a[d].hasClass("mbin")||a[d].hasClass("mrel")||a[d].hasClass("allowbreak")){for(var m=!1;d<a.length-1&&a[d+1].hasClass("mspace")&&!a[d+1].hasClass("newline");)d++,c.push(a[d]),a[d].hasClass("nobreak")&&(m=!0);m||(o.push(Lu(c,t)),c=[])}else a[d].hasClass("newline")&&(c.pop(),c.length>0&&(o.push(Lu(c,t)),c=[]),o.push(a[d]));c.length>0&&o.push(Lu(c,t));var h;n?(h=Lu(Xn(n,t,!0),t),h.classes=["tag"],o.push(h)):s&&o.push(s);var p=Le(["katex-html"],o);if(p.setAttribute("aria-hidden","true"),h){var g=h.children[0];g.style.height=Ve(p.height+p.depth),p.depth&&(g.style.verticalAlign=Ve(-p.depth))}return p}function Cx(e){return new Uo(e)}class $e{constructor(t,n,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=t,this.attributes={},this.children=n||[],this.classes=a||[]}setAttribute(t,n){this.attributes[t]=n}getAttribute(t){return this.attributes[t]}toNode(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&t.setAttribute(n,this.attributes[n]);this.classes.length>0&&(t.className=Ji(this.classes));for(var a=0;a<this.children.length;a++)if(this.children[a]instanceof Kn&&this.children[a+1]instanceof Kn){for(var s=this.children[a].toText()+this.children[++a].toText();this.children[a+1]instanceof Kn;)s+=this.children[++a].toText();t.appendChild(new Kn(s).toNode())}else t.appendChild(this.children[a].toNode());return t}toMarkup(){var t="<"+this.type;for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&(t+=" "+n+'="',t+=fr(this.attributes[n]),t+='"');this.classes.length>0&&(t+=' class ="'+fr(Ji(this.classes))+'"'),t+=">";for(var a=0;a<this.children.length;a++)t+=this.children[a].toMarkup();return t+="</"+this.type+">",t}toText(){return this.children.map(t=>t.toText()).join("")}}class Kn{constructor(t){this.text=void 0,this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return fr(this.toText())}toText(){return this.text}}class Nx{constructor(t){this.width=void 0,this.character=void 0,this.width=t,t>=.05555&&t<=.05556?this.character=" ":t>=.1666&&t<=.1667?this.character=" ":t>=.2222&&t<=.2223?this.character=" ":t>=.2777&&t<=.2778?this.character=" ":t>=-.05556&&t<=-.05555?this.character=" ":t>=-.1667&&t<=-.1666?this.character=" ":t>=-.2223&&t<=-.2222?this.character=" ":t>=-.2778&&t<=-.2777?this.character=" ":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",Ve(this.width)),t}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+Ve(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var a_=new Set(["\\imath","\\jmath"]),i_=new Set(["mrow","mtable"]),fa=function(t,n,a){return wn[n][t]&&wn[n][t].replace&&t.charCodeAt(0)!==55349&&!(yx.hasOwnProperty(t)&&a&&(a.fontFamily&&a.fontFamily.slice(4,6)==="tt"||a.font&&a.font.slice(4,6)==="tt"))&&(t=wn[n][t].replace),new Kn(t)},U1=function(t){return t.length===1?t[0]:new $e("mrow",t)},s_={mathit:"italic",boldsymbol:e=>e.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},H1=(e,t)=>{if(e.mode==="text"){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold"}var n=t.font;if(!n||n==="mathnormal")return null;var a=e.mode,s=s_[n];if(s)return typeof s=="function"?s(e):s;var o=e.text;if(a_.has(o))return null;if(wn[a][o]){var c=wn[a][o].replace;c&&(o=c)}var d=Dp[n].fontName;return z1(o,d,a)?Dp[n].variant:null};function Pm(e){if(!e)return!1;if(e.type==="mi"&&e.children.length===1){var t=e.children[0];return t instanceof Kn&&t.text==="."}else if(e.type==="mo"&&e.children.length===1&&e.getAttribute("separator")==="true"&&e.getAttribute("lspace")==="0em"&&e.getAttribute("rspace")==="0em"){var n=e.children[0];return n instanceof Kn&&n.text===","}else return!1}var Qr=function(t,n,a){if(t.length===1){var s=pn(t[0],n);return a&&s instanceof $e&&s.type==="mo"&&(s.setAttribute("lspace","0em"),s.setAttribute("rspace","0em")),[s]}for(var o=[],c,d=0;d<t.length;d++){var m=pn(t[d],n);if(m instanceof $e&&c instanceof $e){if(m.type==="mtext"&&c.type==="mtext"&&m.getAttribute("mathvariant")===c.getAttribute("mathvariant")){c.children.push(...m.children);continue}else if(m.type==="mn"&&c.type==="mn"){c.children.push(...m.children);continue}else if(Pm(m)&&c.type==="mn"){c.children.push(...m.children);continue}else if(m.type==="mn"&&Pm(c))m.children=[...c.children,...m.children],o.pop();else if((m.type==="msup"||m.type==="msub")&&m.children.length>=1&&(c.type==="mn"||Pm(c))){var h=m.children[0];h instanceof $e&&h.type==="mn"&&(h.children=[...c.children,...h.children],o.pop())}else if(c.type==="mi"&&c.children.length===1){var p=c.children[0];if(p instanceof Kn&&p.text==="̸"&&(m.type==="mo"||m.type==="mi"||m.type==="mn")){var g=m.children[0];g instanceof Kn&&g.text.length>0&&(g.text=g.text.slice(0,1)+"̸"+g.text.slice(1),o.pop())}}}o.push(m),c=m}return o},ns=function(t,n,a){return U1(Qr(t,n,a))},pn=function(t,n){if(!t)return new $e("mrow");if(Cd[t.type])return Cd[t.type](t,n);throw new Be("Got group of unknown type: '"+t.type+"'")};function dy(e,t,n,a,s){var o=Qr(e,n),c;o.length===1&&o[0]instanceof $e&&i_.has(o[0].type)?c=o[0]:c=new $e("mrow",o);var d=new $e("annotation",[new Kn(t)]);d.setAttribute("encoding","application/x-tex");var m=new $e("semantics",[c,d]),h=new $e("math",[m]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&h.setAttribute("display","block");var p=s?"katex":"katex-mathml";return Le([p],[h])}var o_=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],fy=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],my=function(t,n){return n.size<2?t:o_[t-1][n.size-1]};class ci{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||ci.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.sizeMultiplier=fy[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new ci(n)}havingStyle(t){return this.style===t?this:this.extend({style:t,size:my(this.textSize,t)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:fy[t-1]})}havingBaseStyle(t){t=t||this.style.text();var n=my(ci.BASESIZE,t);return this.size===n&&this.textSize===ci.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})}withColor(t){return this.extend({color:t})}withPhantom(){return this.extend({phantom:!0})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}sizingClasses(t){return t.size!==this.size?["sizing","reset-size"+t.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==ci.BASESIZE?["sizing","reset-size"+this.size,"size"+ci.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=FA(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}ci.BASESIZE=6;var Rx=function(t){return new ci({style:t.displayMode?Nt.DISPLAY:Nt.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},Ix=function(t,n){if(n.displayMode){var a=["katex-display"];n.leqno&&a.push("leqno"),n.fleqn&&a.push("fleqn"),t=Le(a,[t])}return t},l_=function(t,n,a){var s=Rx(a),o;if(a.output==="mathml")return dy(t,n,s,a.displayMode,!0);if(a.output==="html"){var c=Bp(t,s);o=Le(["katex"],[c])}else{var d=dy(t,n,s,a.displayMode,!1),m=Bp(t,s);o=Le(["katex"],[d,m])}return Ix(o,a)},c_=function(t,n,a){var s=Rx(a),o=Bp(t,s),c=Le(["katex"],[o]);return Ix(c,a)},u_={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},Vd=function(t){var n=new $e("mo",[new Kn(u_[t.replace(/^\\/,"")])]);return n.setAttribute("stretchy","true"),n},d_={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},f_=new Set(["widehat","widecheck","widetilde","utilde"]),Kd=function(t,n){function a(){var d=4e5,m=t.label.slice(1);if(f_.has(m)&&"base"in t){var h=t.base.type==="ordgroup"?t.base.body.length:1,p,g,x;if(h>5)m==="widehat"||m==="widecheck"?(p=420,d=2364,x=.42,g=m+"4"):(p=312,d=2340,x=.34,g="tilde4");else{var y=[1,1,2,2,3,3][h];m==="widehat"||m==="widecheck"?(d=[0,1062,2364,2364,2364][y],p=[0,239,300,360,420][y],x=[0,.24,.3,.3,.36,.42][y],g=m+y):(d=[0,600,1033,2339,2340][y],p=[0,260,286,306,312][y],x=[0,.26,.286,.3,.306,.34][y],g="tilde"+y)}var S=new es(g),E=new pi([S],{width:"100%",height:Ve(x),viewBox:"0 0 "+d+" "+p,preserveAspectRatio:"none"});return{span:ts([],[E],n),minWidth:0,height:x}}else{var R=[],N=d_[m];if(!N)throw new Error('No SVG data for "'+m+'".');var[_,I,P]=N,F=P/1e3,M=_.length,A,z;if(M===1){if(N.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+m+'".');A=["hide-tail"],z=[N[3]]}else if(M===2)A=["halfarrow-left","halfarrow-right"],z=["xMinYMin","xMaxYMin"];else if(M===3)A=["brace-left","brace-center","brace-right"],z=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
|
|
302
|
+
`+M+" children.");for(var G=0;G<M;G++){var D=new es(_[G]),K=new pi([D],{width:"400em",height:Ve(F),viewBox:"0 0 "+d+" "+P,preserveAspectRatio:z[G]+" slice"}),q=ts([A[G]],[K],n);if(M===1)return{span:q,minWidth:I,height:F};q.style.height=Ve(F),R.push(q)}return{span:Le(["stretchy"],R,n),minWidth:I,height:F}}}var{span:s,minWidth:o,height:c}=a();return s.height=c,s.style.height=Ve(c),o>0&&(s.style.minWidth=Ve(o)),s},m_=function(t,n,a,s,o){var c,d=t.height+t.depth+a+s;if(/fbox|color|angl/.test(n)){if(c=Le(["stretchy",n],[],o),n==="fbox"){var m=o.color&&o.getColor();m&&(c.style.borderColor=m)}}else{var h=[];/^[bx]cancel$/.test(n)&&h.push(new Rp({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(n)&&h.push(new Rp({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var p=new pi(h,{width:"100%",height:Ve(d)});c=ts([],[p],o)}return c.height=d,c.style.height=Ve(d),c},h_={bin:1,close:1,inner:1,open:1,punct:1,rel:1},p_={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function g_(e){return e in h_}function Ot(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Wd(e){var t=Yd(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Yd(e){return e&&(e.type==="atom"||p_.hasOwnProperty(e.type))?e:null}var Ax=e=>{if(e instanceof Zr)return e;if(PA(e)&&e.children.length===1)return Ax(e.children[0])},$1=(e,t)=>{var n,a,s;e&&e.type==="supsub"?(a=Ot(e.base,"accent"),n=a.base,e.base=n,s=$A(rn(e,t)),e.base=a):(a=Ot(e,"accent"),n=a.base);var o=rn(n,t.havingCrampedStyle()),c=a.isShifty&&vi(n),d=0;if(c){var m,h;d=(m=(h=Ax(o))==null?void 0:h.skew)!=null?m:0}var p=a.label==="\\c",g=p?o.height+o.depth:Math.min(o.height,t.fontMetrics().xHeight),x;if(a.isStretchy)x=Kd(a,t),x=nn({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"elem",elem:x,wrapperClasses:["svg-align"],wrapperStyle:d>0?{width:"calc(100% - "+Ve(2*d)+")",marginLeft:Ve(2*d)}:void 0}]});else{var y,S;a.label==="\\vec"?(y=Sx("vec",t),S=kx.vec[1]):(y=Gd({mode:a.mode,text:a.label},t,"textord"),y=HA(y),y.italic=0,S=y.width,p&&(g+=y.depth)),x=Le(["accent-body"],[y]);var E=a.label==="\\textcircled";E&&(x.classes.push("accent-full"),g=o.height);var R=d;E||(R-=S/2),x.style.left=Ve(R),a.label==="\\textcircled"&&(x.style.top=".2em"),x=nn({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:-g},{type:"elem",elem:x}]})}var N=Le(["mord","accent"],[x],t);return s?(s.children[0]=N,s.height=Math.max(N.height,s.height),s.classes[0]="mord",s):N},_x=(e,t)=>{var n=e.isStretchy?Vd(e.label):new $e("mo",[fa(e.label,e.mode)]),a=new $e("mover",[pn(e.base,t),n]);return a.setAttribute("accent","true"),a},v_=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));Xe({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{var n=Nd(t[0]),a=!v_.test(e.funcName),s=!a||e.funcName==="\\widehat"||e.funcName==="\\widetilde"||e.funcName==="\\widecheck";return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:s,base:n}},htmlBuilder:$1,mathmlBuilder:_x});Xe({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{var n=t[0],a=e.parser.mode;return a==="math"&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}},htmlBuilder:$1,mathmlBuilder:_x});Xe({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:a}=e,s=t[0];return{type:"accentUnder",mode:n.mode,label:a,base:s}},htmlBuilder:(e,t)=>{var n=rn(e.base,t),a=Kd(e,t),s=e.label==="\\utilde"?.12:0,o=nn({positionType:"top",positionData:n.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:s},{type:"elem",elem:n}]});return Le(["mord","accentunder"],[o],t)},mathmlBuilder:(e,t)=>{var n=Vd(e.label),a=new $e("munder",[pn(e.base,t),n]);return a.setAttribute("accentunder","true"),a}});var zu=e=>{var t=new $e("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};Xe({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,n){var{parser:a,funcName:s}=e;return{type:"xArrow",mode:a.mode,label:s,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,a=t.havingStyle(n.sup()),s=Do(rn(e.body,a,t),t),o=e.label.slice(0,2)==="\\x"?"x":"cd";s.classes.push(o+"-arrow-pad");var c;e.below&&(a=t.havingStyle(n.sub()),c=Do(rn(e.below,a,t),t),c.classes.push(o+"-arrow-pad"));var d=Kd(e,t),m=-t.fontMetrics().axisHeight+.5*d.height,h=-t.fontMetrics().axisHeight-.5*d.height-.111;(s.depth>.25||e.label==="\\xleftequilibrium")&&(h-=s.depth);var p;if(c){var g=-t.fontMetrics().axisHeight+c.height+.5*d.height+.111;p=nn({positionType:"individualShift",children:[{type:"elem",elem:s,shift:h},{type:"elem",elem:d,shift:m,wrapperClasses:["svg-align"]},{type:"elem",elem:c,shift:g}]})}else p=nn({positionType:"individualShift",children:[{type:"elem",elem:s,shift:h},{type:"elem",elem:d,shift:m,wrapperClasses:["svg-align"]}]});return Le(["mrel","x-arrow"],[p],t)},mathmlBuilder(e,t){var n=Vd(e.label);n.setAttribute("minsize",e.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(e.body){var s=zu(pn(e.body,t));if(e.below){var o=zu(pn(e.below,t));a=new $e("munderover",[n,o,s])}else a=new $e("mover",[n,s])}else if(e.below){var c=zu(pn(e.below,t));a=new $e("munder",[n,c])}else a=zu(),a=new $e("mover",[n,a]);return a}});function Mx(e,t){var n=Xn(e.body,t,!0);return Le([e.mclass],n,t)}function Ox(e,t){var n,a=Qr(e.body,t);return e.mclass==="minner"?n=new $e("mpadded",a):e.mclass==="mord"?e.isCharacterBox?(n=a[0],n.type="mi"):n=new $e("mi",a):(e.isCharacterBox?(n=a[0],n.type="mo"):n=new $e("mo",a),e.mclass==="mbin"?(n.attributes.lspace="0.22em",n.attributes.rspace="0.22em"):e.mclass==="mpunct"?(n.attributes.lspace="0em",n.attributes.rspace="0.17em"):e.mclass==="mopen"||e.mclass==="mclose"?(n.attributes.lspace="0em",n.attributes.rspace="0em"):e.mclass==="minner"&&(n.attributes.lspace="0.0556em",n.attributes.width="+0.1111em")),n}Xe({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:n,funcName:a}=e,s=t[0];return{type:"mclass",mode:n.mode,mclass:"m"+a.slice(5),body:Vn(s),isCharacterBox:vi(s)}},htmlBuilder:Mx,mathmlBuilder:Ox});var Zd=e=>{var t=e.type==="ordgroup"&&e.body.length?e.body[0]:e;return t.type==="atom"&&(t.family==="bin"||t.family==="rel")?"m"+t.family:"mord"};Xe({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){var{parser:n}=e;return{type:"mclass",mode:n.mode,mclass:Zd(t[0]),body:Vn(t[1]),isCharacterBox:vi(t[1])}}});Xe({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){var{parser:n,funcName:a}=e,s=t[1],o=t[0],c;a!=="\\stackrel"?c=Zd(s):c="mrel";var d={type:"op",mode:s.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:Vn(s)},m={type:"supsub",mode:o.mode,base:d,sup:a==="\\underset"?null:o,sub:a==="\\underset"?o:null};return{type:"mclass",mode:n.mode,mclass:c,body:[m],isCharacterBox:vi(m)}},htmlBuilder:Mx,mathmlBuilder:Ox});Xe({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:"pmb",mode:n.mode,mclass:Zd(t[0]),body:Vn(t[0])}},htmlBuilder(e,t){var n=Xn(e.body,t,!0),a=Le([e.mclass],n,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var n=Qr(e.body,t),a=new $e("mstyle",n);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var b_={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},hy=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),py=e=>e.type==="textord"&&e.text==="@",y_=(e,t)=>(e.type==="mathord"||e.type==="atom")&&e.text===t;function x_(e,t,n){var a=b_[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return n.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{var s=n.callFunction("\\\\cdleft",[t[0]],[]),o={type:"atom",text:a,mode:"math",family:"rel"},c=n.callFunction("\\Big",[o],[]),d=n.callFunction("\\\\cdright",[t[1]],[]),m={type:"ordgroup",mode:"math",body:[s,c,d]};return n.callFunction("\\\\cdparent",[m],[])}case"\\\\cdlongequal":return n.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return n.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function w_(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n==="&"||n==="\\\\")e.consume();else if(n==="\\end"){t[t.length-1].length===0&&t.pop();break}else throw new Be("Expected \\\\ or \\cr or \\end",e.nextToken)}for(var a=[],s=[a],o=0;o<t.length;o++){for(var c=t[o],d=hy(),m=0;m<c.length;m++)if(!py(c[m]))d.body.push(c[m]);else{a.push(d),m+=1;var h=Wd(c[m]).text,p=new Array(2);if(p[0]={type:"ordgroup",mode:"math",body:[]},p[1]={type:"ordgroup",mode:"math",body:[]},!"=|.".includes(h))if("<>AV".includes(h))for(var g=0;g<2;g++){for(var x=!0,y=m+1;y<c.length;y++){if(y_(c[y],h)){x=!1,m=y;break}if(py(c[y]))throw new Be("Missing a "+h+" character to complete a CD arrow.",c[y]);p[g].body.push(c[y])}if(x)throw new Be("Missing a "+h+" character to complete a CD arrow.",c[m])}else throw new Be('Expected one of "<>AV=|." after @',c[m]);var S=x_(h,p,e),E={type:"styling",body:[S],mode:"math",style:"display",resetFont:!0};a.push(E),d=hy()}o%2===0?a.push(d):a.shift(),a=[],s.push(a)}e.gullet.endGroup(),e.gullet.endGroup();var R=new Array(s[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:s,arraystretch:1,addJot:!0,rowGaps:[null],cols:R,colSeparationType:"CD",hLinesBeforeRow:new Array(s.length+1).fill([])}}Xe({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){var{parser:n,funcName:a}=e;return{type:"cdlabel",mode:n.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),a=Do(rn(e.label,n,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=Ve(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var n=new $e("mrow",[pn(e.label,t)]);return n=new $e("mpadded",[n]),n.setAttribute("width","0"),e.side==="left"&&n.setAttribute("lspace","-1width"),n.setAttribute("voffset","0.7em"),n=new $e("mstyle",[n]),n.setAttribute("displaystyle","false"),n.setAttribute("scriptlevel","1"),n}});Xe({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){var{parser:n}=e;return{type:"cdlabelparent",mode:n.mode,fragment:t[0]}},htmlBuilder(e,t){var n=Do(rn(e.fragment,t),t);return n.classes.push("cd-vert-arrow"),n},mathmlBuilder(e,t){return new $e("mrow",[pn(e.fragment,t)])}});Xe({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var{parser:n}=e,a=Ot(t[0],"ordgroup"),s=a.body,o="",c=0;c<s.length;c++){var d=Ot(s[c],"textord");o+=d.text}var m=parseInt(o),h;if(isNaN(m))throw new Be("\\@char has non-numeric argument "+o);if(m<0||m>=1114111)throw new Be("\\@char with invalid code point "+o);return m<=65535?h=String.fromCharCode(m):(m-=65536,h=String.fromCharCode((m>>10)+55296,(m&1023)+56320)),{type:"textord",mode:n.mode,text:h}}});var Dx=(e,t)=>{var n=Xn(e.body,t.withColor(e.color),!1);return yi(n)},jx=(e,t)=>{var n=Qr(e.body,t.withColor(e.color)),a=new $e("mstyle",n);return a.setAttribute("mathcolor",e.color),a};Xe({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){var{parser:n}=e,a=Ot(t[0],"color-token").color,s=t[1];return{type:"color",mode:n.mode,color:a,body:Vn(s)}},htmlBuilder:Dx,mathmlBuilder:jx});Xe({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){var{parser:n,breakOnTokenText:a}=e,s=Ot(t[0],"color-token").color;n.gullet.macros.set("\\current@color",s);var o=n.parseExpression(!0,a);return{type:"color",mode:n.mode,color:s,body:o}},htmlBuilder:Dx,mathmlBuilder:jx});Xe({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,n){var{parser:a}=e,s=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,o=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:o,size:s&&Ot(s,"size").value}},htmlBuilder(e,t){var n=Le(["mspace"],[],t);return e.newLine&&(n.classes.push("newline"),e.size&&(n.style.marginTop=Ve(In(e.size,t)))),n},mathmlBuilder(e,t){var n=new $e("mspace");return e.newLine&&(n.setAttribute("linebreak","newline"),e.size&&n.setAttribute("height",Ve(In(e.size,t)))),n}});var qp={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Lx=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new Be("Expected a control sequence",e);return t},k_=e=>{var t=e.gullet.popToken();return t.text==="="&&(t=e.gullet.popToken(),t.text===" "&&(t=e.gullet.popToken())),t},zx=(e,t,n,a)=>{var s=e.gullet.macros.get(n.text);s==null&&(n.noexpand=!0,s={tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,s,a)};Xe({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:n}=e;t.consumeSpaces();var a=t.fetch();if(qp[a.text])return(n==="\\global"||n==="\\\\globallong")&&(a.text=qp[a.text]),Ot(t.parseFunction(),"internal");throw new Be("Invalid token after macro prefix",a)}});Xe({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,a=t.gullet.popToken(),s=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new Be("Expected a control sequence",a);for(var o=0,c,d=[[]];t.gullet.future().text!=="{";)if(a=t.gullet.popToken(),a.text==="#"){if(t.gullet.future().text==="{"){c=t.gullet.future(),d[o].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new Be('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==o+1)throw new Be('Argument number "'+a.text+'" out of order');o++,d.push([])}else{if(a.text==="EOF")throw new Be("Expected a macro definition");d[o].push(a.text)}var{tokens:m}=t.gullet.consumeArg();return c&&m.unshift(c),(n==="\\edef"||n==="\\xdef")&&(m=t.gullet.expandTokens(m),m.reverse()),t.gullet.macros.set(s,{tokens:m,numArgs:o,delimiters:d},n===qp[n]),{type:"internal",mode:t.mode}}});Xe({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,a=Lx(t.gullet.popToken());t.gullet.consumeSpaces();var s=k_(t);return zx(t,a,s,n==="\\\\globallet"),{type:"internal",mode:t.mode}}});Xe({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,a=Lx(t.gullet.popToken()),s=t.gullet.popToken(),o=t.gullet.popToken();return zx(t,a,o,n==="\\\\globalfuture"),t.gullet.pushToken(o),t.gullet.pushToken(s),{type:"internal",mode:t.mode}}});var Hl=function(t,n,a){var s=wn.math[t]&&wn.math[t].replace,o=z1(s||t,n,a);if(!o)throw new Error("Unsupported symbol "+t+" and font size "+n+".");return o},P1=function(t,n,a,s){var o=a.havingBaseStyle(n),c=Le(s.concat(o.sizingClasses(a)),[t],a),d=o.sizeMultiplier/a.sizeMultiplier;return c.height*=d,c.depth*=d,c.maxFontSize=o.sizeMultiplier,c},Bx=function(t,n,a){var s=n.havingBaseStyle(a),o=(1-n.sizeMultiplier/s.sizeMultiplier)*n.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=Ve(o),t.height-=o,t.depth+=o},S_=function(t,n,a,s,o,c){var d=wr(t,"Main-Regular",o,s),m=P1(d,n,s,c);return Bx(m,s,n),m},E_=function(t,n,a,s){return wr(t,"Size"+n+"-Regular",a,s)},qx=function(t,n,a,s,o,c){var d=E_(t,n,o,s),m=P1(Le(["delimsizing","size"+n],[d],s),Nt.TEXT,s,c);return a&&Bx(m,s,Nt.TEXT),m},Fm=function(t,n,a){var s;n==="Size1-Regular"?s="delim-size1":s="delim-size4";var o=Le(["delimsizinginner",s],[Le([],[wr(t,n,a)])]);return{type:"elem",elem:o}},Gm=function(t,n,a){var s=La["Size4-Regular"][t.charCodeAt(0)]?La["Size4-Regular"][t.charCodeAt(0)][4]:La["Size1-Regular"][t.charCodeAt(0)][4],o=new es("inner",DA(t,Math.round(1e3*n))),c=new pi([o],{width:Ve(s),height:Ve(n),style:"width:"+Ve(s),viewBox:"0 0 "+1e3*s+" "+Math.round(1e3*n),preserveAspectRatio:"xMinYMin"}),d=ts([],[c],a);return d.height=n,d.style.height=Ve(n),d.style.width=Ve(s),{type:"elem",elem:d}},Up=.008,Bu={type:"kern",size:-1*Up},T_=new Set(["|","\\lvert","\\rvert","\\vert"]),C_=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Ux=function(t,n,a,s,o,c){var d,m,h,p,g="",x=0;d=h=p=t,m=null;var y="Size1-Regular";t==="\\uparrow"?h=p="⏐":t==="\\Uparrow"?h=p="‖":t==="\\downarrow"?d=h="⏐":t==="\\Downarrow"?d=h="‖":t==="\\updownarrow"?(d="\\uparrow",h="⏐",p="\\downarrow"):t==="\\Updownarrow"?(d="\\Uparrow",h="‖",p="\\Downarrow"):T_.has(t)?(h="∣",g="vert",x=333):C_.has(t)?(h="∥",g="doublevert",x=556):t==="["||t==="\\lbrack"?(d="⎡",h="⎢",p="⎣",y="Size4-Regular",g="lbrack",x=667):t==="]"||t==="\\rbrack"?(d="⎤",h="⎥",p="⎦",y="Size4-Regular",g="rbrack",x=667):t==="\\lfloor"||t==="⌊"?(h=d="⎢",p="⎣",y="Size4-Regular",g="lfloor",x=667):t==="\\lceil"||t==="⌈"?(d="⎡",h=p="⎢",y="Size4-Regular",g="lceil",x=667):t==="\\rfloor"||t==="⌋"?(h=d="⎥",p="⎦",y="Size4-Regular",g="rfloor",x=667):t==="\\rceil"||t==="⌉"?(d="⎤",h=p="⎥",y="Size4-Regular",g="rceil",x=667):t==="("||t==="\\lparen"?(d="⎛",h="⎜",p="⎝",y="Size4-Regular",g="lparen",x=875):t===")"||t==="\\rparen"?(d="⎞",h="⎟",p="⎠",y="Size4-Regular",g="rparen",x=875):t==="\\{"||t==="\\lbrace"?(d="⎧",m="⎨",p="⎩",h="⎪",y="Size4-Regular"):t==="\\}"||t==="\\rbrace"?(d="⎫",m="⎬",p="⎭",h="⎪",y="Size4-Regular"):t==="\\lgroup"||t==="⟮"?(d="⎧",p="⎩",h="⎪",y="Size4-Regular"):t==="\\rgroup"||t==="⟯"?(d="⎫",p="⎭",h="⎪",y="Size4-Regular"):t==="\\lmoustache"||t==="⎰"?(d="⎧",p="⎭",h="⎪",y="Size4-Regular"):(t==="\\rmoustache"||t==="⎱")&&(d="⎫",p="⎩",h="⎪",y="Size4-Regular");var S=Hl(d,y,o),E=S.height+S.depth,R=Hl(h,y,o),N=R.height+R.depth,_=Hl(p,y,o),I=_.height+_.depth,P=0,F=1;if(m!==null){var M=Hl(m,y,o);P=M.height+M.depth,F=2}var A=E+I+P,z=Math.max(0,Math.ceil((n-A)/(F*N))),G=A+z*F*N,D=s.fontMetrics().axisHeight;a&&(D*=s.sizeMultiplier);var K=G/2-D,q=[];if(g.length>0){var Q=G-E-I,V=Math.round(G*1e3),X=jA(g,Math.round(Q*1e3)),W=new es(g,X),B=Ve(x/1e3),Y=Ve(V/1e3),me=new pi([W],{width:B,height:Y,viewBox:"0 0 "+x+" "+V}),j=ts([],[me],s);j.height=V/1e3,j.style.width=B,j.style.height=Y,q.push({type:"elem",elem:j})}else{if(q.push(Fm(p,y,o)),q.push(Bu),m===null){var U=G-E-I+2*Up;q.push(Gm(h,U,s))}else{var ee=(G-E-I-P)/2+2*Up;q.push(Gm(h,ee,s)),q.push(Bu),q.push(Fm(m,y,o)),q.push(Bu),q.push(Gm(h,ee,s))}q.push(Bu),q.push(Fm(d,y,o))}var O=s.havingBaseStyle(Nt.TEXT),ge=nn({positionType:"bottom",positionData:K,children:q});return P1(Le(["delimsizing","mult"],[ge],O),Nt.TEXT,s,c)},Vm=80,Km=.08,Wm=function(t,n,a,s,o){var c=OA(t,s,a),d=new es(t,c),m=new pi([d],{width:"400em",height:Ve(n),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return ts(["hide-tail"],[m],o)},N_=function(t,n){var a=n.havingBaseSizing(),s=Gx("\\surd",t*a.sizeMultiplier,Fx,a),o=a.sizeMultiplier,c=Math.max(0,n.minRuleThickness-n.fontMetrics().sqrtRuleThickness),d,m,h,p,g;return s.type==="small"?(p=1e3+1e3*c+Vm,t<1?o=1:t<1.4&&(o=.7),m=(1+c+Km)/o,h=(1+c)/o,d=Wm("sqrtMain",m,p,c,n),d.style.minWidth="0.853em",g=.833/o):s.type==="large"?(p=(1e3+Vm)*Xl[s.size],h=(Xl[s.size]+c)/o,m=(Xl[s.size]+c+Km)/o,d=Wm("sqrtSize"+s.size,m,p,c,n),d.style.minWidth="1.02em",g=1/o):(m=t+c+Km,h=t+c,p=Math.floor(1e3*t+c)+Vm,d=Wm("sqrtTall",m,p,c,n),d.style.minWidth="0.742em",g=1.056),d.height=h,d.style.height=Ve(m),{span:d,advanceWidth:g,ruleWidth:(n.fontMetrics().sqrtRuleThickness+c)*o}},Hx=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),R_=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),$x=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),Xl=[0,1.2,1.8,2.4,3],Px=function(t,n,a,s,o){if(t==="<"||t==="\\lt"||t==="⟨"?t="\\langle":(t===">"||t==="\\gt"||t==="⟩")&&(t="\\rangle"),Hx.has(t)||$x.has(t))return qx(t,n,!1,a,s,o);if(R_.has(t))return Ux(t,Xl[n],!1,a,s,o);throw new Be("Illegal delimiter: '"+t+"'")},I_=[{type:"small",style:Nt.SCRIPTSCRIPT},{type:"small",style:Nt.SCRIPT},{type:"small",style:Nt.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],A_=[{type:"small",style:Nt.SCRIPTSCRIPT},{type:"small",style:Nt.SCRIPT},{type:"small",style:Nt.TEXT},{type:"stack"}],Fx=[{type:"small",style:Nt.SCRIPTSCRIPT},{type:"small",style:Nt.SCRIPT},{type:"small",style:Nt.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],__=function(t){if(t.type==="small")return"Main-Regular";if(t.type==="large")return"Size"+t.size+"-Regular";if(t.type==="stack")return"Size4-Regular";var n=t.type;throw new Error("Add support for delim type '"+n+"' here.")},Gx=function(t,n,a,s){for(var o=Math.min(2,3-s.style.size),c=o;c<a.length;c++){var d=a[c];if(d.type==="stack")break;var m=Hl(t,__(d),"math"),h=m.height+m.depth;if(d.type==="small"){var p=s.havingBaseStyle(d.style);h*=p.sizeMultiplier}if(h>n)return d}return a[a.length-1]},Hp=function(t,n,a,s,o,c){t==="<"||t==="\\lt"||t==="⟨"?t="\\langle":(t===">"||t==="\\gt"||t==="⟩")&&(t="\\rangle");var d;$x.has(t)?d=I_:Hx.has(t)?d=Fx:d=A_;var m=Gx(t,n,d,s);return m.type==="small"?S_(t,m.style,a,s,o,c):m.type==="large"?qx(t,m.size,a,s,o,c):Ux(t,n,a,s,o,c)},Ym=function(t,n,a,s,o,c){var d=s.fontMetrics().axisHeight*s.sizeMultiplier,m=901,h=5/s.fontMetrics().ptPerEm,p=Math.max(n-d,a+d),g=Math.max(p/500*m,2*p-h);return Hp(t,g,!0,s,o,c)},gy={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},M_=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function vy(e){return"isMiddle"in e}function Xd(e,t){var n=Yd(e);if(n&&M_.has(n.text))return n;throw n?new Be("Invalid delimiter '"+n.text+"' after '"+t.funcName+"'",e):new Be("Invalid delimiter type '"+e.type+"'",e)}Xe({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{var n=Xd(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:gy[e.funcName].size,mclass:gy[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim==="."?Le([e.mclass]):Px(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!=="."&&t.push(fa(e.delim,e.mode));var n=new $e("mo",t);e.mclass==="mopen"||e.mclass==="mclose"?n.setAttribute("fence","true"):n.setAttribute("fence","false"),n.setAttribute("stretchy","true");var a=Ve(Xl[e.size]);return n.setAttribute("minsize",a),n.setAttribute("maxsize",a),n}});function by(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Xe({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=e.parser.gullet.macros.get("\\current@color");if(n&&typeof n!="string")throw new Be("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Xd(t[0],e).text,color:n}}});Xe({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=Xd(t[0],e),a=e.parser;++a.leftrightDepth;var s=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var o=Ot(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:s,left:n.text,right:o.delim,rightColor:o.color}},htmlBuilder:(e,t)=>{by(e);for(var n=Xn(e.body,t,!0,["mopen","mclose"]),a=0,s=0,o=!1,c=0;c<n.length;c++){var d=n[c];vy(d)?o=!0:(a=Math.max(n[c].height,a),s=Math.max(n[c].depth,s))}a*=t.sizeMultiplier,s*=t.sizeMultiplier;var m;if(e.left==="."?m=sc(t,["mopen"]):m=Ym(e.left,a,s,t,e.mode,["mopen"]),n.unshift(m),o)for(var h=1;h<n.length;h++){var p=n[h];if(vy(p)){var g=p.isMiddle;n[h]=Ym(g.delim,a,s,g.options,e.mode,[])}}var x;if(e.right===".")x=sc(t,["mclose"]);else{var y=e.rightColor?t.withColor(e.rightColor):t;x=Ym(e.right,a,s,y,e.mode,["mclose"])}return n.push(x),Le(["minner"],n,t)},mathmlBuilder:(e,t)=>{by(e);var n=Qr(e.body,t);if(e.left!=="."){var a=new $e("mo",[fa(e.left,e.mode)]);a.setAttribute("fence","true"),n.unshift(a)}if(e.right!=="."){var s=new $e("mo",[fa(e.right,e.mode)]);s.setAttribute("fence","true"),e.rightColor&&s.setAttribute("mathcolor",e.rightColor),n.push(s)}return U1(n)}});Xe({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=Xd(t[0],e);if(!e.parser.leftrightDepth)throw new Be("\\middle without preceding \\left",n);return{type:"middle",mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim==="."?n=sc(t,[]):(n=Px(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=e.delim==="\\vert"||e.delim==="|"?fa("|","text"):fa(e.delim,e.mode),a=new $e("mo",[n]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var Qd=(e,t)=>{var n=Do(rn(e.body,t),t),a=e.label.slice(1),s=t.sizeMultiplier,o,c,d=vi(e.body);if(a==="sout")o=Le(["stretchy","sout"]),o.height=t.fontMetrics().defaultRuleThickness/s,c=-.5*t.fontMetrics().xHeight;else if(a==="phase"){var m=In({number:.6,unit:"pt"},t),h=In({number:.35,unit:"ex"},t),p=t.havingBaseSizing();s=s/p.sizeMultiplier;var g=n.height+n.depth+m+h;n.style.paddingLeft=Ve(g/2+m);var x=Math.floor(1e3*g*s),y=_A(x),S=new pi([new es("phase",y)],{width:"400em",height:Ve(x/1e3),viewBox:"0 0 400000 "+x,preserveAspectRatio:"xMinYMin slice"});o=ts(["hide-tail"],[S],t),o.style.height=Ve(g),c=n.depth+m+h}else{/cancel/.test(a)?d||n.classes.push("cancel-pad"):a==="angl"?n.classes.push("anglpad"):n.classes.push("boxpad");var E,R,N=0;/box/.test(a)?(N=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),E=t.fontMetrics().fboxsep+(a==="colorbox"?0:N),R=E):a==="angl"?(N=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),E=4*N,R=Math.max(0,.25-n.depth)):(E=d?.2:0,R=E),o=m_(n,a,E,R,t),/fbox|boxed|fcolorbox/.test(a)?(o.style.borderStyle="solid",o.style.borderWidth=Ve(N)):a==="angl"&&N!==.049&&(o.style.borderTopWidth=Ve(N),o.style.borderRightWidth=Ve(N)),c=n.depth+R,e.backgroundColor&&(o.style.backgroundColor=e.backgroundColor,e.borderColor&&(o.style.borderColor=e.borderColor))}var _;if(e.backgroundColor)_=nn({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:n,shift:0}]});else{var I=/cancel|phase/.test(a)?["svg-align"]:[];_=nn({positionType:"individualShift",children:[{type:"elem",elem:n,shift:0},{type:"elem",elem:o,shift:c,wrapperClasses:I}]})}return/cancel/.test(a)&&(_.height=n.height,_.depth=n.depth),/cancel/.test(a)&&!d?Le(["mord","cancel-lap"],[_],t):Le(["mord"],[_],t)},Jd=(e,t)=>{var n,a=new $e(e.label.includes("colorbox")?"mpadded":"menclose",[pn(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*n+"pt"),a.setAttribute("height","+"+2*n+"pt"),a.setAttribute("lspace",n+"pt"),a.setAttribute("voffset",n+"pt"),e.label==="\\fcolorbox"){var s=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+Ve(s)+" solid "+e.borderColor)}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};Xe({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","hbox"]},handler(e,t,n){var{parser:a,funcName:s}=e,o=Ot(t[0],"color-token").color,c=t[1];return{type:"enclose",mode:a.mode,label:s,backgroundColor:o,body:c}},htmlBuilder:Qd,mathmlBuilder:Jd});Xe({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"]},handler(e,t,n){var{parser:a,funcName:s}=e,o=Ot(t[0],"color-token").color,c=Ot(t[1],"color-token").color,d=t[2];return{type:"enclose",mode:a.mode,label:s,backgroundColor:c,borderColor:o,body:d}},htmlBuilder:Qd,mathmlBuilder:Jd});Xe({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:"enclose",mode:n.mode,label:"\\fbox",body:t[0]}}});Xe({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(e,t){var{parser:n,funcName:a}=e,s=t[0];return{type:"enclose",mode:n.mode,label:a,body:s}},htmlBuilder:Qd,mathmlBuilder:Jd});Xe({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n,funcName:a}=e;n.mode==="math"&&n.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var s=t[0];return{type:"enclose",mode:n.mode,label:a,body:s}},htmlBuilder:Qd,mathmlBuilder:Jd});Xe({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){var{parser:n}=e;return{type:"enclose",mode:n.mode,label:"\\angl",body:t[0]}}});var Vx={};function Ba(e){for(var{type:t,names:n,props:a,handler:s,htmlBuilder:o,mathmlBuilder:c}=e,d={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:s},m=0;m<n.length;++m)Vx[n[m]]=d;o&&(Td[t]=o),c&&(Cd[t]=c)}var Kx={};function $(e,t){Kx[e]=t}class Dr{constructor(t,n,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=n,this.end=a}static range(t,n){return n?!t||!t.loc||!n.loc||t.loc.lexer!==n.loc.lexer?null:new Dr(t.loc.lexer,t.loc.start,n.loc.end):t&&t.loc}}class Yr{constructor(t,n){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=t,this.loc=n}range(t,n){return new Yr(n,Dr.range(this,t))}}function yy(e){var t=[];e.consumeSpaces();var n=e.fetch().text;for(n==="\\relax"&&(e.consume(),e.consumeSpaces(),n=e.fetch().text);n==="\\hline"||n==="\\hdashline";)e.consume(),t.push(n==="\\hdashline"),e.consumeSpaces(),n=e.fetch().text;return t}var e0=e=>{var t=e.parser.settings;if(!t.displayMode)throw new Be("{"+e.envName+"} can be used only in display mode.")},O_=new Set(["gather","gather*"]);function F1(e){if(!e.includes("ed"))return!e.includes("*")}function is(e,t,n){var{hskipBeforeAndAfter:a,addJot:s,cols:o,arraystretch:c,colSeparationType:d,autoTag:m,singleRow:h,emptySingleRow:p,maxNumCols:g,leqno:x}=t;if(e.gullet.beginGroup(),h||e.gullet.macros.set("\\cr","\\\\\\relax"),!c){var y=e.gullet.expandMacroAsText("\\arraystretch");if(y==null)c=1;else if(c=parseFloat(y),!c||c<0)throw new Be("Invalid \\arraystretch: "+y)}e.gullet.beginGroup();var S=[],E=[S],R=[],N=[],_=m!=null?[]:void 0;function I(){m&&e.gullet.macros.set("\\@eqnsw","1",!0)}function P(){_&&(e.gullet.macros.get("\\df@tag")?(_.push(e.subparse([new Yr("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):_.push(!!m&&e.gullet.macros.get("\\@eqnsw")==="1"))}for(I(),N.push(yy(e));;){var F=e.parseExpression(!1,h?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup();var M={type:"ordgroup",mode:e.mode,body:F};n&&(M={type:"styling",mode:e.mode,style:n,resetFont:!0,body:[M]}),S.push(M);var A=e.fetch().text;if(A==="&"){if(g&&S.length===g){if(h||d)throw new Be("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else if(A==="\\end"){P(),S.length===1&&M.type==="styling"&&M.body.length===1&&M.body[0].type==="ordgroup"&&M.body[0].body.length===0&&(E.length>1||!p)&&E.pop(),N.length<E.length+1&&N.push([]);break}else if(A==="\\\\"){e.consume();var z=void 0;e.gullet.future().text!==" "&&(z=e.parseSizeGroup(!0)),R.push(z?z.value:null),P(),N.push(yy(e)),S=[],E.push(S),I()}else throw new Be("Expected & or \\\\ or \\cr or \\end",e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:"array",mode:e.mode,addJot:s,arraystretch:c,body:E,cols:o,rowGaps:R,hskipBeforeAndAfter:a,hLinesBeforeRow:N,colSeparationType:d,tags:_,leqno:x}}function G1(e){return e.slice(0,1)==="d"?"display":"text"}var qa=function(t,n){var a,s,o=t.body.length,c=t.hLinesBeforeRow,d=0,m=new Array(o),h=[],p=Math.max(n.fontMetrics().arrayRuleWidth,n.minRuleThickness),g=1/n.fontMetrics().ptPerEm,x=5*g;if(t.colSeparationType&&t.colSeparationType==="small"){var y=n.havingStyle(Nt.SCRIPT).sizeMultiplier;x=.2778*(y/n.sizeMultiplier)}var S=t.colSeparationType==="CD"?In({number:3,unit:"ex"},n):12*g,E=3*g,R=t.arraystretch*S,N=.7*R,_=.3*R,I=0;function P(qe){for(var De=0;De<qe.length;++De)De>0&&(I+=.25),h.push({pos:I,isDashed:qe[De]})}for(P(c[0]),a=0;a<t.body.length;++a){var F=t.body[a],M=N,A=_;d<F.length&&(d=F.length);var z={cells:new Array(F.length),height:0,depth:0,pos:0};for(s=0;s<F.length;++s){var G=rn(F[s],n);A<G.depth&&(A=G.depth),M<G.height&&(M=G.height),z.cells[s]=G}var D=t.rowGaps[a],K=0;D&&(K=In(D,n),K>0&&(K+=_,A<K&&(A=K),K=0)),t.addJot&&a<t.body.length-1&&(A+=E),z.height=M,z.depth=A,I+=M,z.pos=I,I+=A+K,m[a]=z,P(c[a+1])}var q=I/2+n.fontMetrics().axisHeight,Q=t.cols||[],V=[],X,W,B=[];if(t.tags&&t.tags.some(qe=>qe))for(a=0;a<o;++a){var Y=m[a],me=Y.pos-q,j=t.tags[a],U=void 0;j===!0?U=Le(["eqn-num"],[],n):j===!1?U=Le([],[],n):U=Le([],Xn(j,n,!0),n),U.depth=Y.depth,U.height=Y.height,B.push({type:"elem",elem:U,shift:me})}for(s=0,W=0;s<d||W<Q.length;++s,++W){for(var ee,O=Q[W],ge=!0;((Z=O)==null?void 0:Z.type)==="separator";){var Z;if(ge||(X=Le(["arraycolsep"],[]),X.style.width=Ve(n.fontMetrics().doubleRuleSep),V.push(X)),O.separator==="|"||O.separator===":"){var le=O.separator==="|"?"solid":"dashed",ce=Le(["vertical-separator"],[],n);ce.style.height=Ve(I),ce.style.borderRightWidth=Ve(p),ce.style.borderRightStyle=le,ce.style.margin="0 "+Ve(-p/2);var pe=I-q;pe&&(ce.style.verticalAlign=Ve(-pe)),V.push(ce)}else throw new Be("Invalid separator type: "+O.separator);W++,O=Q[W],ge=!1}if(!(s>=d)){var ue=void 0;if(s>0||t.hskipBeforeAndAfter){var J,oe;ue=(J=(oe=O)==null?void 0:oe.pregap)!=null?J:x,ue!==0&&(X=Le(["arraycolsep"],[]),X.style.width=Ve(ue),V.push(X))}var ie=[];for(a=0;a<o;++a){var we=m[a],Se=we.cells[s];if(Se){var Re=we.pos-q;Se.depth=we.depth,Se.height=we.height,ie.push({type:"elem",elem:Se,shift:Re})}}var Ze=nn({positionType:"individualShift",children:ie}),it=Le(["col-align-"+(((ee=O)==null?void 0:ee.align)||"c")],[Ze]);if(V.push(it),s<d-1||t.hskipBeforeAndAfter){var rt,Pt;ue=(rt=(Pt=O)==null?void 0:Pt.postgap)!=null?rt:x,ue!==0&&(X=Le(["arraycolsep"],[]),X.style.width=Ve(ue),V.push(X))}}}var gt=Le(["mtable"],V);if(h.length>0){for(var Dt=Oo("hline",n,p),Lt=Oo("hdashline",n,p),vt=[{type:"elem",elem:gt,shift:0}];h.length>0;){var Ke=h.pop(),bt=Ke.pos-q;Ke.isDashed?vt.push({type:"elem",elem:Lt,shift:bt}):vt.push({type:"elem",elem:Dt,shift:bt})}gt=nn({positionType:"individualShift",children:vt})}if(B.length===0)return Le(["mord"],[gt],n);var xe=nn({positionType:"individualShift",children:B}),_e=Le(["tag"],[xe],n);return yi([gt,_e])},D_={c:"center ",l:"left ",r:"right "},Ua=function(t,n){for(var a=[],s=new $e("mtd",[],["mtr-glue"]),o=new $e("mtd",[],["mml-eqn-num"]),c=0;c<t.body.length;c++){for(var d=t.body[c],m=[],h=0;h<d.length;h++)m.push(new $e("mtd",[pn(d[h],n)]));t.tags&&t.tags[c]&&(m.unshift(s),m.push(s),t.leqno?m.unshift(o):m.push(o)),a.push(new $e("mtr",m))}var p=new $e("mtable",a),g=t.arraystretch===.5?.1:.16+t.arraystretch-1+(t.addJot?.09:0);p.setAttribute("rowspacing",Ve(g));var x="",y="";if(t.cols&&t.cols.length>0){var S=t.cols,E="",R=!1,N=0,_=S.length;S[0].type==="separator"&&(x+="top ",N=1),S[S.length-1].type==="separator"&&(x+="bottom ",_-=1);for(var I=N;I<_;I++){var P=S[I];P.type==="align"?(y+=D_[P.align],R&&(E+="none "),R=!0):P.type==="separator"&&R&&(E+=P.separator==="|"?"solid ":"dashed ",R=!1)}p.setAttribute("columnalign",y.trim()),/[sd]/.test(E)&&p.setAttribute("columnlines",E.trim())}if(t.colSeparationType==="align"){for(var F=t.cols||[],M="",A=1;A<F.length;A++)M+=A%2?"0em ":"1em ";p.setAttribute("columnspacing",M.trim())}else t.colSeparationType==="alignat"||t.colSeparationType==="gather"?p.setAttribute("columnspacing","0em"):t.colSeparationType==="small"?p.setAttribute("columnspacing","0.2778em"):t.colSeparationType==="CD"?p.setAttribute("columnspacing","0.5em"):p.setAttribute("columnspacing","1em");var z="",G=t.hLinesBeforeRow;x+=G[0].length>0?"left ":"",x+=G[G.length-1].length>0?"right ":"";for(var D=1;D<G.length-1;D++)z+=G[D].length===0?"none ":G[D][0]?"dashed ":"solid ";return/[sd]/.test(z)&&p.setAttribute("rowlines",z.trim()),x!==""&&(p=new $e("menclose",[p]),p.setAttribute("notation",x.trim())),t.arraystretch&&t.arraystretch<1&&(p=new $e("mstyle",[p]),p.setAttribute("scriptlevel","1")),p},Wx=function(t,n){t.envName.includes("ed")||e0(t);var a=[],s=t.envName.includes("at")?"alignat":"align",o=t.envName==="split",c=is(t.parser,{cols:a,addJot:!0,autoTag:o?void 0:F1(t.envName),emptySingleRow:!0,colSeparationType:s,maxNumCols:o?2:void 0,leqno:t.parser.settings.leqno},"display"),d=0,m=0,h={type:"ordgroup",mode:t.mode,body:[]};if(n[0]&&n[0].type==="ordgroup"){for(var p="",g=0;g<n[0].body.length;g++){var x=Ot(n[0].body[g],"textord");p+=x.text}d=Number(p),m=d*2}var y=!m;c.body.forEach(function(N){for(var _=1;_<N.length;_+=2){var I=Ot(N[_],"styling"),P=Ot(I.body[0],"ordgroup");P.body.unshift(h)}if(y)m<N.length&&(m=N.length);else{var F=N.length/2;if(d<F)throw new Be("Too many math in a row: "+("expected "+d+", but got "+F),N[0])}});for(var S=0;S<m;++S){var E="r",R=0;S%2===1?E="l":S>0&&y&&(R=1),a[S]={type:"align",align:E,pregap:R,postgap:0}}return c.colSeparationType=y?"align":"alignat",c};Ba({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var n=Yd(t[0]),a=n?[t[0]]:Ot(t[0],"ordgroup").body,s=a.map(function(c){var d=Wd(c),m=d.text;if("lcr".includes(m))return{type:"align",align:m};if(m==="|")return{type:"separator",separator:"|"};if(m===":")return{type:"separator",separator:":"};throw new Be("Unknown column alignment: "+m,c)}),o={cols:s,hskipBeforeAndAfter:!0,maxNumCols:s.length};return is(e.parser,o,G1(e.envName))},htmlBuilder:qa,mathmlBuilder:Ua});Ba({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],n="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:n}]};if(e.envName.charAt(e.envName.length-1)==="*"){var s=e.parser;if(s.consumeSpaces(),s.fetch().text==="["){if(s.consume(),s.consumeSpaces(),n=s.fetch().text,!"lcr".includes(n))throw new Be("Expected l or c or r",s.nextToken);s.consume(),s.consumeSpaces(),s.expect("]"),s.consume(),a.cols=[{type:"align",align:n}]}}var o=is(e.parser,a,G1(e.envName)),c=Math.max(0,...o.body.map(d=>d.length));return o.cols=new Array(c).fill({type:"align",align:n}),t?{type:"leftright",mode:e.mode,body:[o],left:t[0],right:t[1],rightColor:void 0}:o},htmlBuilder:qa,mathmlBuilder:Ua});Ba({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t={arraystretch:.5},n=is(e.parser,t,"script");return n.colSeparationType="small",n},htmlBuilder:qa,mathmlBuilder:Ua});Ba({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var n=Yd(t[0]),a=n?[t[0]]:Ot(t[0],"ordgroup").body,s=a.map(function(d){var m=Wd(d),h=m.text;if("lc".includes(h))return{type:"align",align:h};throw new Be("Unknown column alignment: "+h,d)});if(s.length>1)throw new Be("{subarray} can contain only one column");var o={cols:s,hskipBeforeAndAfter:!1,arraystretch:.5},c=is(e.parser,o,"script");if(c.body.length>0&&c.body[0].length>1)throw new Be("{subarray} can contain only one column");return c},htmlBuilder:qa,mathmlBuilder:Ua});Ba({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},n=is(e.parser,t,G1(e.envName));return{type:"leftright",mode:e.mode,body:[n],left:e.envName.includes("r")?".":"\\{",right:e.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:qa,mathmlBuilder:Ua});Ba({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Wx,htmlBuilder:qa,mathmlBuilder:Ua});Ba({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){O_.has(e.envName)&&e0(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:F1(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return is(e.parser,t,"display")},htmlBuilder:qa,mathmlBuilder:Ua});Ba({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Wx,htmlBuilder:qa,mathmlBuilder:Ua});Ba({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){e0(e);var t={autoTag:F1(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return is(e.parser,t,"display")},htmlBuilder:qa,mathmlBuilder:Ua});Ba({type:"array",names:["CD"],props:{numArgs:0},handler(e){return e0(e),w_(e.parser)},htmlBuilder:qa,mathmlBuilder:Ua});$("\\nonumber","\\gdef\\@eqnsw{0}");$("\\notag","\\nonumber");Xe({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(e,t){throw new Be(e.funcName+" valid only within array environment")}});var xy=Vx;Xe({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(e,t){var{parser:n,funcName:a}=e,s=t[0];if(s.type!=="ordgroup")throw new Be("Invalid environment name",s);for(var o="",c=0;c<s.body.length;++c)o+=Ot(s.body[c],"textord").text;if(a==="\\begin"){if(!xy.hasOwnProperty(o))throw new Be("No such environment: "+o,s);var d=xy[o],{args:m,optArgs:h}=n.parseArguments("\\begin{"+o+"}",d),p={mode:n.mode,envName:o,parser:n},g=d.handler(p,m,h);n.expect("\\end",!1);var x=n.nextToken,y=Ot(n.parseFunction(),"environment");if(y.name!==o)throw new Be("Mismatch: \\begin{"+o+"} matched by \\end{"+y.name+"}",x);return g}return{type:"environment",mode:n.mode,name:o,nameGroup:s}}});var Yx=(e,t)=>{var n=e.font,a=t.withFont(n);return rn(e.body,a)},Zx=(e,t)=>{var n=e.font,a=t.withFont(n);return pn(e.body,a)},wy={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};Xe({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{var{parser:n,funcName:a}=e,s=Nd(t[0]),o=a;return o in wy&&(o=wy[o]),{type:"font",mode:n.mode,font:o.slice(1),body:s}},htmlBuilder:Yx,mathmlBuilder:Zx});Xe({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{var{parser:n}=e,a=t[0];return{type:"mclass",mode:n.mode,mclass:Zd(a),body:[{type:"font",mode:n.mode,font:"boldsymbol",body:a}],isCharacterBox:vi(a)}}});Xe({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:a,breakOnTokenText:s}=e,{mode:o}=n,c=n.parseExpression(!0,s);return{type:"font",mode:o,font:"math"+a.slice(1),body:{type:"ordgroup",mode:n.mode,body:c}}},htmlBuilder:Yx,mathmlBuilder:Zx});var j_=(e,t)=>{var n=t.style,a=n.fracNum(),s=n.fracDen(),o;o=t.havingStyle(a);var c=rn(e.numer,o,t);if(e.continued){var d=8.5/t.fontMetrics().ptPerEm,m=3.5/t.fontMetrics().ptPerEm;c.height=c.height<d?d:c.height,c.depth=c.depth<m?m:c.depth}o=t.havingStyle(s);var h=rn(e.denom,o,t),p,g,x;e.hasBarLine?(e.barSize?(g=In(e.barSize,t),p=Oo("frac-line",t,g)):p=Oo("frac-line",t),g=p.height,x=p.height):(p=null,g=0,x=t.fontMetrics().defaultRuleThickness);var y,S,E;n.size===Nt.DISPLAY.size?(y=t.fontMetrics().num1,g>0?S=3*x:S=7*x,E=t.fontMetrics().denom1):(g>0?(y=t.fontMetrics().num2,S=x):(y=t.fontMetrics().num3,S=3*x),E=t.fontMetrics().denom2);var R;if(p){var _=t.fontMetrics().axisHeight;y-c.depth-(_+.5*g)<S&&(y+=S-(y-c.depth-(_+.5*g))),_-.5*g-(h.height-E)<S&&(E+=S-(_-.5*g-(h.height-E)));var I=-(_-.5*g);R=nn({positionType:"individualShift",children:[{type:"elem",elem:h,shift:E},{type:"elem",elem:p,shift:I},{type:"elem",elem:c,shift:-y}]})}else{var N=y-c.depth-(h.height-E);N<S&&(y+=.5*(S-N),E+=.5*(S-N)),R=nn({positionType:"individualShift",children:[{type:"elem",elem:h,shift:E},{type:"elem",elem:c,shift:-y}]})}o=t.havingStyle(n),R.height*=o.sizeMultiplier/t.sizeMultiplier,R.depth*=o.sizeMultiplier/t.sizeMultiplier;var P;n.size===Nt.DISPLAY.size?P=t.fontMetrics().delim1:n.size===Nt.SCRIPTSCRIPT.size?P=t.havingStyle(Nt.SCRIPT).fontMetrics().delim2:P=t.fontMetrics().delim2;var F,M;return e.leftDelim==null?F=sc(t,["mopen"]):F=Hp(e.leftDelim,P,!0,t.havingStyle(n),e.mode,["mopen"]),e.continued?M=Le([]):e.rightDelim==null?M=sc(t,["mclose"]):M=Hp(e.rightDelim,P,!0,t.havingStyle(n),e.mode,["mclose"]),Le(["mord"].concat(o.sizingClasses(t)),[F,Le(["mfrac"],[R]),M],t)},L_=(e,t)=>{var n=new $e("mfrac",[pn(e.numer,t),pn(e.denom,t)]);if(!e.hasBarLine)n.setAttribute("linethickness","0px");else if(e.barSize){var a=In(e.barSize,t);n.setAttribute("linethickness",Ve(a))}if(e.leftDelim!=null||e.rightDelim!=null){var s=[];if(e.leftDelim!=null){var o=new $e("mo",[new Kn(e.leftDelim.replace("\\",""))]);o.setAttribute("fence","true"),s.push(o)}if(s.push(n),e.rightDelim!=null){var c=new $e("mo",[new Kn(e.rightDelim.replace("\\",""))]);c.setAttribute("fence","true"),s.push(c)}return U1(s)}return n},Xx=(e,t)=>{if(!t)return e;var n={type:"styling",mode:e.mode,style:t,body:[e]};return n};Xe({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{var{parser:n,funcName:a}=e,s=t[0],o=t[1],c,d=null,m=null;switch(a){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":c=!0;break;case"\\\\atopfrac":c=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":c=!1,d="(",m=")";break;case"\\\\bracefrac":c=!1,d="\\{",m="\\}";break;case"\\\\brackfrac":c=!1,d="[",m="]";break;default:throw new Error("Unrecognized genfrac command")}var h=a==="\\cfrac",p=null;return h||a.startsWith("\\d")?p="display":a.startsWith("\\t")&&(p="text"),Xx({type:"genfrac",mode:n.mode,numer:s,denom:o,continued:h,hasBarLine:c,leftDelim:d,rightDelim:m,barSize:null},p)},htmlBuilder:j_,mathmlBuilder:L_});Xe({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){var{parser:t,funcName:n,token:a}=e,s;switch(n){case"\\over":s="\\frac";break;case"\\choose":s="\\binom";break;case"\\atop":s="\\\\atopfrac";break;case"\\brace":s="\\\\bracefrac";break;case"\\brack":s="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:t.mode,replaceWith:s,token:a}}});var ky=["display","text","script","scriptscript"],Sy=function(t){var n=null;return t.length>0&&(n=t,n=n==="."?null:n),n};Xe({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){var{parser:n}=e,a=t[4],s=t[5],o=Nd(t[0]),c=o.type==="atom"&&o.family==="open"?Sy(o.text):null,d=Nd(t[1]),m=d.type==="atom"&&d.family==="close"?Sy(d.text):null,h=Ot(t[2],"size"),p,g=null;h.isBlank?p=!0:(g=h.value,p=g.number>0);var x=null,y=t[3];if(y.type==="ordgroup"){if(y.body.length>0){var S=Ot(y.body[0],"textord");x=ky[Number(S.text)]}}else y=Ot(y,"textord"),x=ky[Number(y.text)];return Xx({type:"genfrac",mode:n.mode,numer:a,denom:s,continued:!1,hasBarLine:p,barSize:g,leftDelim:c,rightDelim:m},x)}});Xe({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){var{parser:n,funcName:a,token:s}=e;return{type:"infix",mode:n.mode,replaceWith:"\\\\abovefrac",size:Ot(t[0],"size").value,token:s}}});Xe({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{var{parser:n,funcName:a}=e,s=t[0],o=Ot(t[1],"infix").size;if(!o)throw new Error("\\\\abovefrac expected size, but got "+String(o));var c=t[2],d=o.number>0;return{type:"genfrac",mode:n.mode,numer:s,denom:c,continued:!1,hasBarLine:d,barSize:o,leftDelim:null,rightDelim:null}}});var Qx=(e,t)=>{var n=t.style,a,s;e.type==="supsub"?(a=e.sup?rn(e.sup,t.havingStyle(n.sup()),t):rn(e.sub,t.havingStyle(n.sub()),t),s=Ot(e.base,"horizBrace")):s=Ot(e,"horizBrace");var o=rn(s.base,t.havingBaseStyle(Nt.DISPLAY)),c=Kd(s,t),d;if(s.isOver?d=nn({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:c,wrapperClasses:["svg-align"]}]}):d=nn({positionType:"bottom",positionData:o.depth+.1+c.height,children:[{type:"elem",elem:c,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:o}]}),a){var m=Le(["minner",s.isOver?"mover":"munder"],[d],t);s.isOver?d=nn({positionType:"firstBaseline",children:[{type:"elem",elem:m},{type:"kern",size:.2},{type:"elem",elem:a}]}):d=nn({positionType:"bottom",positionData:m.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:m}]})}return Le(["minner",s.isOver?"mover":"munder"],[d],t)},z_=(e,t)=>{var n=Vd(e.label);return new $e(e.isOver?"mover":"munder",[pn(e.base,t),n])};Xe({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(e,t){var{parser:n,funcName:a}=e;return{type:"horizBrace",mode:n.mode,label:a,isOver:a.includes("\\over"),base:t[0]}},htmlBuilder:Qx,mathmlBuilder:z_});Xe({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,a=t[1],s=Ot(t[0],"url").url;return n.settings.isTrusted({command:"\\href",url:s})?{type:"href",mode:n.mode,href:s,body:Vn(a)}:n.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var n=Xn(e.body,t,!1);return ZA(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=ns(e.body,t);return n instanceof $e||(n=new $e("mrow",[n])),n.setAttribute("href",e.href),n}});Xe({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,a=Ot(t[0],"url").url;if(!n.settings.isTrusted({command:"\\url",url:a}))return n.formatUnsupportedCmd("\\url");for(var s=[],o=0;o<a.length;o++){var c=a[o];c==="~"&&(c="\\textasciitilde"),s.push({type:"textord",mode:"text",text:c})}var d={type:"text",mode:n.mode,font:"\\texttt",body:s};return{type:"href",mode:n.mode,href:a,body:Vn(d)}}});Xe({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(e,t){var{parser:n}=e;return{type:"hbox",mode:n.mode,body:Vn(t[0])}},htmlBuilder(e,t){var n=Xn(e.body,t.withFont(""),!1);return yi(n)},mathmlBuilder(e,t){return new $e("mrow",Qr(e.body,t.withFont("")))}});Xe({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:a,token:s}=e,o=Ot(t[0],"raw").string,c=t[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var d,m={};switch(a){case"\\htmlClass":m.class=o,d={command:"\\htmlClass",class:o};break;case"\\htmlId":m.id=o,d={command:"\\htmlId",id:o};break;case"\\htmlStyle":m.style=o,d={command:"\\htmlStyle",style:o};break;case"\\htmlData":{for(var h=o.split(","),p=0;p<h.length;p++){var g=h[p],x=g.indexOf("=");if(x<0)throw new Be("\\htmlData key/value '"+g+"' missing equals sign");var y=g.slice(0,x),S=g.slice(x+1);m["data-"+y.trim()]=S}d={command:"\\htmlData",attributes:m};break}default:throw new Error("Unrecognized html command")}return n.settings.isTrusted(d)?{type:"html",mode:n.mode,attributes:m,body:Vn(c)}:n.formatUnsupportedCmd(a)},htmlBuilder:(e,t)=>{var n=Xn(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var s=Le(a,n,t);for(var o in e.attributes)o!=="class"&&e.attributes.hasOwnProperty(o)&&s.setAttribute(o,e.attributes[o]);return s},mathmlBuilder:(e,t)=>ns(e.body,t)});Xe({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e;return{type:"htmlmathml",mode:n.mode,html:Vn(t[0]),mathml:Vn(t[1])}},htmlBuilder:(e,t)=>{var n=Xn(e.html,t,!1);return yi(n)},mathmlBuilder:(e,t)=>ns(e.mathml,t)});var Zm=function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!n)throw new Be("Invalid size: '"+t+"' in \\includegraphics");var a={number:+(n[1]+n[2]),unit:n[3]};if(!hx(a))throw new Be("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};Xe({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,n)=>{var{parser:a}=e,s={number:0,unit:"em"},o={number:.9,unit:"em"},c={number:0,unit:"em"},d="";if(n[0])for(var m=Ot(n[0],"raw").string,h=m.split(","),p=0;p<h.length;p++){var g=h[p].split("=");if(g.length===2){var x=g[1].trim();switch(g[0].trim()){case"alt":d=x;break;case"width":s=Zm(x);break;case"height":o=Zm(x);break;case"totalheight":c=Zm(x);break;default:throw new Be("Invalid key: '"+g[0]+"' in \\includegraphics.")}}}var y=Ot(t[0],"url").url;return d===""&&(d=y,d=d.replace(/^.*[\\/]/,""),d=d.substring(0,d.lastIndexOf("."))),a.settings.isTrusted({command:"\\includegraphics",url:y})?{type:"includegraphics",mode:a.mode,alt:d,width:s,height:o,totalheight:c,src:y}:a.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(e,t)=>{var n=In(e.height,t),a=0;e.totalheight.number>0&&(a=In(e.totalheight,t)-n);var s=0;e.width.number>0&&(s=In(e.width,t));var o={height:Ve(n+a)};s>0&&(o.width=Ve(s)),a>0&&(o.verticalAlign=Ve(-a));var c=new qA(e.src,e.alt,o);return c.height=n,c.depth=a,c},mathmlBuilder:(e,t)=>{var n=new $e("mglyph",[]);n.setAttribute("alt",e.alt);var a=In(e.height,t),s=0;if(e.totalheight.number>0&&(s=In(e.totalheight,t)-a,n.setAttribute("valign",Ve(-s))),n.setAttribute("height",Ve(a+s)),e.width.number>0){var o=In(e.width,t);n.setAttribute("width",Ve(o))}return n.setAttribute("src",e.src),n}});Xe({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){var{parser:n,funcName:a}=e,s=Ot(t[0],"size");if(n.settings.strict){var o=a[1]==="m",c=s.value.unit==="mu";o?(c||n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+s.value.unit+" units")),n.mode!=="math"&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):c&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:n.mode,dimension:s.value}},htmlBuilder(e,t){return wx(e.dimension,t)},mathmlBuilder(e,t){var n=In(e.dimension,t);return new Nx(n)}});Xe({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:a}=e,s=t[0];return{type:"lap",mode:n.mode,alignment:a.slice(5),body:s}},htmlBuilder:(e,t)=>{var n;e.alignment==="clap"?(n=Le([],[rn(e.body,t)]),n=Le(["inner"],[n],t)):n=Le(["inner"],[rn(e.body,t)]);var a=Le(["fix"],[]),s=Le([e.alignment],[n,a],t),o=Le(["strut"]);return o.style.height=Ve(s.height+s.depth),s.depth&&(o.style.verticalAlign=Ve(-s.depth)),s.children.unshift(o),s=Le(["thinbox"],[s],t),Le(["mord","vbox"],[s],t)},mathmlBuilder:(e,t)=>{var n=new $e("mpadded",[pn(e.body,t)]);if(e.alignment!=="rlap"){var a=e.alignment==="llap"?"-1":"-0.5";n.setAttribute("lspace",a+"width")}return n.setAttribute("width","0px"),n}});Xe({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:n,parser:a}=e,s=a.mode;a.switchMode("math");var o=n==="\\("?"\\)":"$",c=a.parseExpression(!1,o);return a.expect(o),a.switchMode(s),{type:"styling",mode:a.mode,style:"text",resetFont:!0,body:c}}});Xe({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new Be("Mismatched "+e.funcName)}});var Ey=(e,t)=>{switch(t.style.size){case Nt.DISPLAY.size:return e.display;case Nt.TEXT.size:return e.text;case Nt.SCRIPT.size:return e.script;case Nt.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};Xe({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{var{parser:n}=e;return{type:"mathchoice",mode:n.mode,display:Vn(t[0]),text:Vn(t[1]),script:Vn(t[2]),scriptscript:Vn(t[3])}},htmlBuilder:(e,t)=>{var n=Ey(e,t),a=Xn(n,t,!1);return yi(a)},mathmlBuilder:(e,t)=>{var n=Ey(e,t);return ns(n,t)}});var Jx=(e,t,n,a,s,o,c)=>{e=Le([],[e]);var d=n&&vi(n),m,h;if(t){var p=rn(t,a.havingStyle(s.sup()),a);h={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-p.depth)}}if(n){var g=rn(n,a.havingStyle(s.sub()),a);m={elem:g,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-g.height)}}var x;if(h&&m){var y=a.fontMetrics().bigOpSpacing5+m.elem.height+m.elem.depth+m.kern+e.depth+c;x=nn({positionType:"bottom",positionData:y,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:m.elem,marginLeft:Ve(-o)},{type:"kern",size:m.kern},{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:Ve(o)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else if(m){var S=e.height-c;x=nn({positionType:"top",positionData:S,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:m.elem,marginLeft:Ve(-o)},{type:"kern",size:m.kern},{type:"elem",elem:e}]})}else if(h){var E=e.depth+c;x=nn({positionType:"bottom",positionData:E,children:[{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:Ve(o)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else return e;var R=[x];if(m&&o!==0&&!d){var N=Le(["mspace"],[],a);N.style.marginRight=Ve(o),R.unshift(N)}return Le(["mop","op-limits"],R,a)},e7=new Set(["\\smallint"]),Po=(e,t)=>{var n,a,s=!1,o;e.type==="supsub"?(n=e.sup,a=e.sub,o=Ot(e.base,"op"),s=!0):o=Ot(e,"op");var c=t.style,d=!1;c.size===Nt.DISPLAY.size&&o.symbol&&!e7.has(o.name)&&(d=!0);var m,h;if(o.symbol){var p=d?"Size2-Regular":"Size1-Regular",g="";if((o.name==="\\oiint"||o.name==="\\oiiint")&&(g=o.name.slice(1),o.name=g==="oiint"?"\\iint":"\\iiint"),m=wr(o.name,p,"math",t,["mop","op-symbol",d?"large-op":"small-op"]),h=m.italic,g.length>0){var x=Sx(g+"Size"+(d?"2":"1"),t);m=nn({positionType:"individualShift",children:[{type:"elem",elem:m,shift:0},{type:"elem",elem:x,shift:d?.08:0}]}),o.name="\\"+g,m.classes.unshift("mop"),m.italic=h}}else if(o.body){var y=Xn(o.body,t,!0);y.length===1&&y[0]instanceof Zr?(m=y[0],m.classes[0]="mop"):m=Le(["mop"],y,t)}else{for(var S=[],E=1;E<o.name.length;E++)S.push(B1(o.name[E],o.mode,t));m=Le(["mop"],S,t)}var R=0,N=0;if((m instanceof Zr||o.name==="\\oiint"||o.name==="\\oiiint")&&!o.suppressBaseShift){var _;R=(m.height-m.depth)/2-t.fontMetrics().axisHeight,N=(_=m.italic)!=null?_:0}return s?Jx(m,n,a,t,c,N,R):(R&&(m.style.position="relative",m.style.top=Ve(R)),m)},hc=(e,t)=>{var n;if(e.symbol)n=new $e("mo",[fa(e.name,e.mode)]),e7.has(e.name)&&n.setAttribute("largeop","false");else if(e.body)n=new $e("mo",Qr(e.body,t));else{n=new $e("mi",[new Kn(e.name.slice(1))]);var a=new $e("mo",[fa("","text")]);e.parentIsSupSub?n=new $e("mrow",[n,a]):n=Cx([n,a])}return n},B_={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Xe({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(e,t)=>{var{parser:n,funcName:a}=e,s=a;return s.length===1&&(s=B_[s]),{type:"op",mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:s}},htmlBuilder:Po,mathmlBuilder:hc});Xe({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:n}=e,a=t[0];return{type:"op",mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Vn(a)}},htmlBuilder:Po,mathmlBuilder:hc});var q_={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Xe({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(e){var{parser:t,funcName:n}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:Po,mathmlBuilder:hc});Xe({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){var{parser:t,funcName:n}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:Po,mathmlBuilder:hc});Xe({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(e){var{parser:t,funcName:n}=e,a=n;return a.length===1&&(a=q_[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:Po,mathmlBuilder:hc});var t7=(e,t)=>{var n,a,s=!1,o;e.type==="supsub"?(n=e.sup,a=e.sub,o=Ot(e.base,"operatorname"),s=!0):o=Ot(e,"operatorname");var c;if(o.body.length>0){for(var d=o.body.map(g=>{var x="text"in g?g.text:void 0;return typeof x=="string"?{type:"textord",mode:g.mode,text:x}:g}),m=Xn(d,t.withFont("mathrm"),!0),h=0;h<m.length;h++){var p=m[h];p instanceof Zr&&(p.text=p.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}c=Le(["mop"],m,t)}else c=Le(["mop"],[],t);return s?Jx(c,n,a,t,t.style,0,0):c},U_=(e,t)=>{for(var n=Qr(e.body,t.withFont("mathrm")),a=!0,s=0;s<n.length;s++){var o=n[s];if(!(o instanceof Nx))if(o instanceof $e)switch(o.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":{var c=o.children[0];o.children.length===1&&c instanceof Kn?c.text=c.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):a=!1;break}default:a=!1}else a=!1}if(a){var d=n.map(p=>p.toText()).join("");n=[new Kn(d)]}var m=new $e("mi",n);m.setAttribute("mathvariant","normal");var h=new $e("mo",[fa("","text")]);return e.parentIsSupSub?new $e("mrow",[m,h]):Cx([m,h])};Xe({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:a}=e,s=t[0];return{type:"operatorname",mode:n.mode,body:Vn(s),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:t7,mathmlBuilder:U_});$("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Us({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?yi(Xn(e.body,t,!1)):Le(["mord"],Xn(e.body,t,!0),t)},mathmlBuilder(e,t){return ns(e.body,t,!0)}});Xe({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){var{parser:n}=e,a=t[0];return{type:"overline",mode:n.mode,body:a}},htmlBuilder(e,t){var n=rn(e.body,t.havingCrampedStyle()),a=Oo("overline-line",t),s=t.fontMetrics().defaultRuleThickness,o=nn({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:3*s},{type:"elem",elem:a},{type:"kern",size:s}]});return Le(["mord","overline"],[o],t)},mathmlBuilder(e,t){var n=new $e("mo",[new Kn("‾")]);n.setAttribute("stretchy","true");var a=new $e("mover",[pn(e.body,t),n]);return a.setAttribute("accent","true"),a}});Xe({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,a=t[0];return{type:"phantom",mode:n.mode,body:Vn(a)}},htmlBuilder:(e,t)=>{var n=Xn(e.body,t.withPhantom(),!1);return yi(n)},mathmlBuilder:(e,t)=>{var n=Qr(e.body,t);return new $e("mphantom",n)}});$("\\hphantom","\\smash{\\phantom{#1}}");Xe({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,a=t[0];return{type:"vphantom",mode:n.mode,body:a}},htmlBuilder:(e,t)=>{var n=Le(["inner"],[rn(e.body,t.withPhantom())]),a=Le(["fix"],[]);return Le(["mord","rlap"],[n,a],t)},mathmlBuilder:(e,t)=>{var n=Qr(Vn(e.body),t),a=new $e("mphantom",n),s=new $e("mpadded",[a]);return s.setAttribute("width","0px"),s}});Xe({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){var{parser:n}=e,a=Ot(t[0],"size").value,s=t[1];return{type:"raisebox",mode:n.mode,dy:a,body:s}},htmlBuilder(e,t){var n=rn(e.body,t),a=In(e.dy,t);return nn({positionType:"shift",positionData:-a,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new $e("mpadded",[pn(e.body,t)]),a=e.dy.number+e.dy.unit;return n.setAttribute("voffset",a),n}});Xe({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(e){var{parser:t}=e;return{type:"internal",mode:t.mode}}});Xe({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(e,t,n){var{parser:a}=e,s=n[0],o=Ot(t[0],"size"),c=Ot(t[1],"size");return{type:"rule",mode:a.mode,shift:s&&Ot(s,"size").value,width:o.value,height:c.value}},htmlBuilder(e,t){var n=Le(["mord","rule"],[],t),a=In(e.width,t),s=In(e.height,t),o=e.shift?In(e.shift,t):0;return n.style.borderRightWidth=Ve(a),n.style.borderTopWidth=Ve(s),n.style.bottom=Ve(o),n.width=a,n.height=s+o,n.depth=-o,n.maxFontSize=s*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=In(e.width,t),a=In(e.height,t),s=e.shift?In(e.shift,t):0,o=t.color&&t.getColor()||"black",c=new $e("mspace");c.setAttribute("mathbackground",o),c.setAttribute("width",Ve(n)),c.setAttribute("height",Ve(a));var d=new $e("mpadded",[c]);return s>=0?d.setAttribute("height",Ve(s)):(d.setAttribute("height",Ve(s)),d.setAttribute("depth",Ve(-s))),d.setAttribute("voffset",Ve(s)),d}});function n7(e,t,n){for(var a=Xn(e,t,!1),s=t.sizeMultiplier/n.sizeMultiplier,o=0;o<a.length;o++){var c=a[o].classes.indexOf("sizing");c<0?Array.prototype.push.apply(a[o].classes,t.sizingClasses(n)):a[o].classes[c+1]==="reset-size"+t.size&&(a[o].classes[c+1]="reset-size"+n.size),a[o].height*=s,a[o].depth*=s}return yi(a)}var Ty=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],H_=(e,t)=>{var n=t.havingSize(e.size);return n7(e.body,n,t)};Xe({type:"sizing",names:Ty,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:n,funcName:a,parser:s}=e,o=s.parseExpression(!1,n);return{type:"sizing",mode:s.mode,size:Ty.indexOf(a)+1,body:o}},htmlBuilder:H_,mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),a=Qr(e.body,n),s=new $e("mstyle",a);return s.setAttribute("mathsize",Ve(n.sizeMultiplier)),s}});Xe({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,n)=>{var{parser:a}=e,s=!1,o=!1,c=n[0]&&Ot(n[0],"ordgroup");if(c)for(var d,m=0;m<c.body.length;++m){var h=c.body[m];if(d=Wd(h).text,d==="t")s=!0;else if(d==="b")o=!0;else{s=!1,o=!1;break}}else s=!0,o=!0;var p=t[0];return{type:"smash",mode:a.mode,body:p,smashHeight:s,smashDepth:o}},htmlBuilder:(e,t)=>{var n=Le([],[rn(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return Le(["mord","smash"],[n],t);if(n.children)for(var a=0;a<n.children.length;a++)e.smashHeight&&(n.children[a].height=0),e.smashDepth&&(n.children[a].depth=0);var s=nn({positionType:"firstBaseline",children:[{type:"elem",elem:n}]});return Le(["mord"],[s],t)},mathmlBuilder:(e,t)=>{var n=new $e("mpadded",[pn(e.body,t)]);return e.smashHeight&&n.setAttribute("height","0px"),e.smashDepth&&n.setAttribute("depth","0px"),n}});Xe({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,n){var{parser:a}=e,s=n[0],o=t[0];return{type:"sqrt",mode:a.mode,body:o,index:s}},htmlBuilder(e,t){var n=rn(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=Do(n,t);var a=t.fontMetrics(),s=a.defaultRuleThickness,o=s;t.style.id<Nt.TEXT.id&&(o=t.fontMetrics().xHeight);var c=s+o/4,d=n.height+n.depth+c+s,{span:m,ruleWidth:h,advanceWidth:p}=N_(d,t),g=m.height-h;g>n.height+n.depth+c&&(c=(c+g-n.height-n.depth)/2);var x=m.height-n.height-c-h;n.style.paddingLeft=Ve(p);var y=nn({positionType:"firstBaseline",children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:-(n.height+x)},{type:"elem",elem:m},{type:"kern",size:h}]});if(e.index){var S=t.havingStyle(Nt.SCRIPTSCRIPT),E=rn(e.index,S,t),R=.6*(y.height-y.depth),N=nn({positionType:"shift",positionData:-R,children:[{type:"elem",elem:E}]}),_=Le(["root"],[N]);return Le(["mord","sqrt"],[_,y],t)}else return Le(["mord","sqrt"],[y],t)},mathmlBuilder(e,t){var{body:n,index:a}=e;return a?new $e("mroot",[pn(n,t),pn(a,t)]):new $e("msqrt",[pn(n,t)])}});var $p={display:Nt.DISPLAY,text:Nt.TEXT,script:Nt.SCRIPT,scriptscript:Nt.SCRIPTSCRIPT};function $_(e){return e in $p}Xe({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:n,funcName:a,parser:s}=e,o=s.parseExpression(!0,n),c=a.slice(1,a.length-5);if(!$_(c))throw new Error("Unknown style: "+c);return{type:"styling",mode:s.mode,style:c,body:o}},htmlBuilder(e,t){var n=$p[e.style],a=t.havingStyle(n);return e.resetFont&&(a=a.withFont("")),n7(e.body,a,t)},mathmlBuilder(e,t){var n=$p[e.style],a=t.havingStyle(n);e.resetFont&&(a=a.withFont(""));var s=Qr(e.body,a),o=new $e("mstyle",s),c={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},d=c[e.style];return o.setAttribute("scriptlevel",d[0]),o.setAttribute("displaystyle",d[1]),o}});var P_=function(t,n){var a=t.base;if(a)if(a.type==="op"){var s=a.limits&&(n.style.size===Nt.DISPLAY.size||a.alwaysHandleSupSub);return s?Po:null}else if(a.type==="operatorname"){var o=a.alwaysHandleSupSub&&(n.style.size===Nt.DISPLAY.size||a.limits);return o?t7:null}else{if(a.type==="accent")return vi(a.base)?$1:null;if(a.type==="horizBrace"){var c=!t.sub;return c===a.isOver?Qx:null}else return null}else return null};Us({type:"supsub",htmlBuilder(e,t){var n=P_(e,t);if(n)return n(e,t);var{base:a,sup:s,sub:o}=e,c=rn(a,t),d,m,h=t.fontMetrics(),p=0,g=0,x=a&&vi(a);if(s){var y=t.havingStyle(t.style.sup());d=rn(s,y,t),x||(p=c.height-y.fontMetrics().supDrop*y.sizeMultiplier/t.sizeMultiplier)}if(o){var S=t.havingStyle(t.style.sub());m=rn(o,S,t),x||(g=c.depth+S.fontMetrics().subDrop*S.sizeMultiplier/t.sizeMultiplier)}var E;t.style===Nt.DISPLAY?E=h.sup1:t.style.cramped?E=h.sup3:E=h.sup2;var R=t.sizeMultiplier,N=Ve(.5/h.ptPerEm/R),_=null;if(m){var I=e.base&&e.base.type==="op"&&e.base.name&&(e.base.name==="\\oiint"||e.base.name==="\\oiiint");if(c instanceof Zr||I){var P;_=Ve(-((P=c.italic)!=null?P:0))}}var F;if(d&&m){p=Math.max(p,E,d.depth+.25*h.xHeight),g=Math.max(g,h.sub2);var M=h.defaultRuleThickness,A=4*M;if(p-d.depth-(m.height-g)<A){g=A-(p-d.depth)+m.height;var z=.8*h.xHeight-(p-d.depth);z>0&&(p+=z,g-=z)}var G=[{type:"elem",elem:m,shift:g,marginRight:N,marginLeft:_},{type:"elem",elem:d,shift:-p,marginRight:N}];F=nn({positionType:"individualShift",children:G})}else if(m){g=Math.max(g,h.sub1,m.height-.8*h.xHeight);var D=[{type:"elem",elem:m,marginLeft:_,marginRight:N}];F=nn({positionType:"shift",positionData:g,children:D})}else if(d)p=Math.max(p,E,d.depth+.25*h.xHeight),F=nn({positionType:"shift",positionData:-p,children:[{type:"elem",elem:d,marginRight:N}]});else throw new Error("supsub must have either sup or sub.");var K=zp(c,"right")||"mord";return Le([K],[c,Le(["msupsub"],[F])],t)},mathmlBuilder(e,t){var n=!1,a,s;e.base&&e.base.type==="horizBrace"&&(s=!!e.sup,s===e.base.isOver&&(n=!0,a=e.base.isOver)),e.base&&(e.base.type==="op"||e.base.type==="operatorname")&&(e.base.parentIsSupSub=!0);var o=[pn(e.base,t)];e.sub&&o.push(pn(e.sub,t)),e.sup&&o.push(pn(e.sup,t));var c;if(n)c=a?"mover":"munder";else if(e.sub)if(e.sup){var h=e.base;h&&h.type==="op"&&h.limits&&t.style===Nt.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(t.style===Nt.DISPLAY||h.limits)?c="munderover":c="msubsup"}else{var m=e.base;m&&m.type==="op"&&m.limits&&(t.style===Nt.DISPLAY||m.alwaysHandleSupSub)||m&&m.type==="operatorname"&&m.alwaysHandleSupSub&&(m.limits||t.style===Nt.DISPLAY)?c="munder":c="msub"}else{var d=e.base;d&&d.type==="op"&&d.limits&&(t.style===Nt.DISPLAY||d.alwaysHandleSupSub)||d&&d.type==="operatorname"&&d.alwaysHandleSupSub&&(d.limits||t.style===Nt.DISPLAY)?c="mover":c="msup"}return new $e(c,o)}});Us({type:"atom",htmlBuilder(e,t){return B1(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){var n=new $e("mo",[fa(e.text,e.mode)]);if(e.family==="bin"){var a=H1(e,t);a==="bold-italic"&&n.setAttribute("mathvariant",a)}else e.family==="punct"?n.setAttribute("separator","true"):(e.family==="open"||e.family==="close")&&n.setAttribute("stretchy","false");return n}});var r7={mi:"italic",mn:"normal",mtext:"normal"};Us({type:"mathord",htmlBuilder(e,t){return Gd(e,t,"mathord")},mathmlBuilder(e,t){var n=new $e("mi",[fa(e.text,e.mode,t)]),a=H1(e,t)||"italic";return a!==r7[n.type]&&n.setAttribute("mathvariant",a),n}});Us({type:"textord",htmlBuilder(e,t){return Gd(e,t,"textord")},mathmlBuilder(e,t){var n=fa(e.text,e.mode,t),a=H1(e,t)||"normal",s;return e.mode==="text"?s=new $e("mtext",[n]):/[0-9]/.test(e.text)?s=new $e("mn",[n]):e.text==="\\prime"?s=new $e("mo",[n]):s=new $e("mi",[n]),a!==r7[s.type]&&s.setAttribute("mathvariant",a),s}});var Xm={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Qm={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Us({type:"spacing",htmlBuilder(e,t){if(Qm.hasOwnProperty(e.text)){var n=Qm[e.text].className||"";if(e.mode==="text"){var a=Gd(e,t,"textord");return a.classes.push(n),a}else return Le(["mspace",n],[B1(e.text,e.mode,t)],t)}else{if(Xm.hasOwnProperty(e.text))return Le(["mspace",Xm[e.text]],[],t);throw new Be('Unknown type of space "'+e.text+'"')}},mathmlBuilder(e,t){var n;if(Qm.hasOwnProperty(e.text))n=new $e("mtext",[new Kn(" ")]);else{if(Xm.hasOwnProperty(e.text))return new $e("mspace");throw new Be('Unknown type of space "'+e.text+'"')}return n}});var Cy=()=>{var e=new $e("mtd",[]);return e.setAttribute("width","50%"),e};Us({type:"tag",mathmlBuilder(e,t){var n=new $e("mtable",[new $e("mtr",[Cy(),new $e("mtd",[ns(e.body,t)]),Cy(),new $e("mtd",[ns(e.tag,t)])])]);return n.setAttribute("width","100%"),n}});var Ny={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Ry={"\\textbf":"textbf","\\textmd":"textmd"},F_={"\\textit":"textit","\\textup":"textup"},Iy=(e,t)=>{var n=e.font;if(n){if(Ny[n])return t.withTextFontFamily(Ny[n]);if(Ry[n])return t.withTextFontWeight(Ry[n]);if(n==="\\emph")return t.fontShape==="textit"?t.withTextFontShape("textup"):t.withTextFontShape("textit")}else return t;return t.withTextFontShape(F_[n])};Xe({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){var{parser:n,funcName:a}=e,s=t[0];return{type:"text",mode:n.mode,body:Vn(s),font:a}},htmlBuilder(e,t){var n=Iy(e,t),a=Xn(e.body,n,!0);return Le(["mord","text"],a,n)},mathmlBuilder(e,t){var n=Iy(e,t);return ns(e.body,n)}});Xe({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:"underline",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=rn(e.body,t),a=Oo("underline-line",t),s=t.fontMetrics().defaultRuleThickness,o=nn({positionType:"top",positionData:n.height,children:[{type:"kern",size:s},{type:"elem",elem:a},{type:"kern",size:3*s},{type:"elem",elem:n}]});return Le(["mord","underline"],[o],t)},mathmlBuilder(e,t){var n=new $e("mo",[new Kn("‾")]);n.setAttribute("stretchy","true");var a=new $e("munder",[pn(e.body,t),n]);return a.setAttribute("accentunder","true"),a}});Xe({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){var{parser:n}=e;return{type:"vcenter",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=rn(e.body,t),a=t.fontMetrics().axisHeight,s=.5*(n.height-a-(n.depth+a));return nn({positionType:"shift",positionData:s,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new $e("mpadded",[pn(e.body,t)],["vcenter"]);return new $e("mrow",[n])}});Xe({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,n){throw new Be("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var n=Ay(e),a=[],s=t.havingStyle(t.style.text()),o=0;o<n.length;o++){var c=n[o];c==="~"&&(c="\\textasciitilde"),a.push(wr(c,"Typewriter-Regular",e.mode,s,["mord","texttt"]))}return Le(["mord","text"].concat(s.sizingClasses(t)),xx(a),s)},mathmlBuilder(e,t){var n=new Kn(Ay(e)),a=new $e("mtext",[n]);return a.setAttribute("mathvariant","monospace"),a}});var Ay=e=>e.body.replace(/ /g,e.star?"␣":" "),Xi=Ex,a7=`[ \r
|
|
303
|
+
]`,G_="\\\\[a-zA-Z@]+",V_="\\\\[^\uD800-\uDFFF]",K_="("+G_+")"+a7+"*",W_=`\\\\(
|
|
304
|
+
|[ \r ]+
|
|
305
|
+
?)[ \r ]*`,Pp="[̀-ͯ]",Y_=new RegExp(Pp+"+$"),Z_="("+a7+"+)|"+(W_+"|")+"([!-\\[\\]-‧-豈-]"+(Pp+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Pp+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+K_)+("|"+V_+")");class _y{constructor(t,n){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=n,this.tokenRegex=new RegExp(Z_,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,n){this.catcodes[t]=n}lex(){var t=this.input,n=this.tokenRegex.lastIndex;if(n===t.length)return new Yr("EOF",new Dr(this,n,n));var a=this.tokenRegex.exec(t);if(a===null||a.index!==n)throw new Be("Unexpected character: '"+t[n]+"'",new Yr(t[n],new Dr(this,n,n+1)));var s=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[s]===14){var o=t.indexOf(`
|
|
306
|
+
`,this.tokenRegex.lastIndex);return o===-1?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=o+1,this.lex()}return new Yr(s,new Dr(this,n,this.tokenRegex.lastIndex))}}class X_{constructor(t,n){t===void 0&&(t={}),n===void 0&&(n={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=n,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new Be("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var n in t)t.hasOwnProperty(n)&&(t[n]==null?delete this.current[n]:this.current[n]=t[n])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return this.current.hasOwnProperty(t)||this.builtins.hasOwnProperty(t)}get(t){return this.current.hasOwnProperty(t)?this.current[t]:this.builtins[t]}set(t,n,a){if(a===void 0&&(a=!1),a){for(var s=0;s<this.undefStack.length;s++)delete this.undefStack[s][t];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][t]=n)}else{var o=this.undefStack[this.undefStack.length-1];o&&!o.hasOwnProperty(t)&&(o[t]=this.current[t])}n==null?delete this.current[t]:this.current[t]=n}}var Q_=Kx;$("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});$("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}});$("\\@firstoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[0],numArgs:0}});$("\\@secondoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[1],numArgs:0}});$("\\@ifnextchar",function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}});$("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");$("\\TextOrMath",function(e){var t=e.consumeArgs(2);return e.mode==="text"?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var My={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};$("\\char",function(e){var t=e.popToken(),n,a=0;if(t.text==="'")n=8,t=e.popToken();else if(t.text==='"')n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]==="\\")a=t.text.charCodeAt(1);else{if(t.text==="EOF")throw new Be("\\char` missing argument");a=t.text.charCodeAt(0)}else n=10;if(n){if(a=My[t.text],a==null||a>=n)throw new Be("Invalid base-"+n+" digit "+t.text);for(var s;(s=My[e.future().text])!=null&&s<n;)a*=n,a+=s,e.popToken()}return"\\@char{"+a+"}"});var V1=(e,t,n,a)=>{var s=e.consumeArg().tokens;if(s.length!==1)throw new Be("\\newcommand's first argument must be a macro name");var o=s[0].text,c=e.isDefined(o);if(c&&!t)throw new Be("\\newcommand{"+o+"} attempting to redefine "+(o+"; use \\renewcommand"));if(!c&&!n)throw new Be("\\renewcommand{"+o+"} when command "+o+" does not yet exist; use \\newcommand");var d=0;if(s=e.consumeArg().tokens,s.length===1&&s[0].text==="["){for(var m="",h=e.expandNextToken();h.text!=="]"&&h.text!=="EOF";)m+=h.text,h=e.expandNextToken();if(!m.match(/^\s*[0-9]+\s*$/))throw new Be("Invalid number of arguments: "+m);d=parseInt(m),s=e.consumeArg().tokens}return c&&a||e.macros.set(o,{tokens:s,numArgs:d}),""};$("\\newcommand",e=>V1(e,!1,!0,!1));$("\\renewcommand",e=>V1(e,!0,!1,!1));$("\\providecommand",e=>V1(e,!0,!0,!0));$("\\message",e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(n=>n.text).join("")),""});$("\\errmessage",e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(n=>n.text).join("")),""});$("\\show",e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),Xi[n],wn.math[n],wn.text[n]),""});$("\\bgroup","{");$("\\egroup","}");$("~","\\nobreakspace");$("\\lq","`");$("\\rq","'");$("\\aa","\\r a");$("\\AA","\\r A");$("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");$("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");$("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");$("ℬ","\\mathscr{B}");$("ℰ","\\mathscr{E}");$("ℱ","\\mathscr{F}");$("ℋ","\\mathscr{H}");$("ℐ","\\mathscr{I}");$("ℒ","\\mathscr{L}");$("ℳ","\\mathscr{M}");$("ℛ","\\mathscr{R}");$("ℭ","\\mathfrak{C}");$("ℌ","\\mathfrak{H}");$("ℨ","\\mathfrak{Z}");$("\\Bbbk","\\Bbb{k}");$("\\llap","\\mathllap{\\textrm{#1}}");$("\\rlap","\\mathrlap{\\textrm{#1}}");$("\\clap","\\mathclap{\\textrm{#1}}");$("\\mathstrut","\\vphantom{(}");$("\\underbar","\\underline{\\text{#1}}");$("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');$("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");$("\\ne","\\neq");$("≠","\\neq");$("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");$("∉","\\notin");$("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");$("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");$("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");$("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");$("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");$("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");$("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");$("⟂","\\perp");$("‼","\\mathclose{!\\mkern-0.8mu!}");$("∌","\\notni");$("⌜","\\ulcorner");$("⌝","\\urcorner");$("⌞","\\llcorner");$("⌟","\\lrcorner");$("©","\\copyright");$("®","\\textregistered");$("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');$("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');$("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');$("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');$("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");$("⋮","\\vdots");$("\\varGamma","\\mathit{\\Gamma}");$("\\varDelta","\\mathit{\\Delta}");$("\\varTheta","\\mathit{\\Theta}");$("\\varLambda","\\mathit{\\Lambda}");$("\\varXi","\\mathit{\\Xi}");$("\\varPi","\\mathit{\\Pi}");$("\\varSigma","\\mathit{\\Sigma}");$("\\varUpsilon","\\mathit{\\Upsilon}");$("\\varPhi","\\mathit{\\Phi}");$("\\varPsi","\\mathit{\\Psi}");$("\\varOmega","\\mathit{\\Omega}");$("\\substack","\\begin{subarray}{c}#1\\end{subarray}");$("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");$("\\boxed","\\fbox{$\\displaystyle{#1}$}");$("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");$("\\implies","\\DOTSB\\;\\Longrightarrow\\;");$("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");$("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");$("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Oy={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},J_=new Set(["bin","rel"]);$("\\dots",function(e){var t="\\dotso",n=e.expandAfterFuture().text;return n in Oy?t=Oy[n]:(n.slice(0,4)==="\\not"||n in wn.math&&J_.has(wn.math[n].group))&&(t="\\dotsb"),t});var K1={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};$("\\dotso",function(e){var t=e.future().text;return t in K1?"\\ldots\\,":"\\ldots"});$("\\dotsc",function(e){var t=e.future().text;return t in K1&&t!==","?"\\ldots\\,":"\\ldots"});$("\\cdots",function(e){var t=e.future().text;return t in K1?"\\@cdots\\,":"\\@cdots"});$("\\dotsb","\\cdots");$("\\dotsm","\\cdots");$("\\dotsi","\\!\\cdots");$("\\dotsx","\\ldots\\,");$("\\DOTSI","\\relax");$("\\DOTSB","\\relax");$("\\DOTSX","\\relax");$("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");$("\\,","\\tmspace+{3mu}{.1667em}");$("\\thinspace","\\,");$("\\>","\\mskip{4mu}");$("\\:","\\tmspace+{4mu}{.2222em}");$("\\medspace","\\:");$("\\;","\\tmspace+{5mu}{.2777em}");$("\\thickspace","\\;");$("\\!","\\tmspace-{3mu}{.1667em}");$("\\negthinspace","\\!");$("\\negmedspace","\\tmspace-{4mu}{.2222em}");$("\\negthickspace","\\tmspace-{5mu}{.277em}");$("\\enspace","\\kern.5em ");$("\\enskip","\\hskip.5em\\relax");$("\\quad","\\hskip1em\\relax");$("\\qquad","\\hskip2em\\relax");$("\\tag","\\@ifstar\\tag@literal\\tag@paren");$("\\tag@paren","\\tag@literal{({#1})}");$("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new Be("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});$("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");$("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");$("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");$("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");$("\\newline","\\\\\\relax");$("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var i7=Ve(La["Main-Regular"][84][1]-.7*La["Main-Regular"][65][1]);$("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+i7+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");$("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+i7+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");$("\\hspace","\\@ifstar\\@hspacer\\@hspace");$("\\@hspace","\\hskip #1\\relax");$("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");$("\\ordinarycolon",":");$("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");$("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');$("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');$("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');$("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');$("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');$("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');$("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');$("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');$("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');$("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');$("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');$("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');$("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');$("∷","\\dblcolon");$("∹","\\eqcolon");$("≔","\\coloneqq");$("≕","\\eqqcolon");$("⩴","\\Coloneqq");$("\\ratio","\\vcentcolon");$("\\coloncolon","\\dblcolon");$("\\colonequals","\\coloneqq");$("\\coloncolonequals","\\Coloneqq");$("\\equalscolon","\\eqqcolon");$("\\equalscoloncolon","\\Eqqcolon");$("\\colonminus","\\coloneq");$("\\coloncolonminus","\\Coloneq");$("\\minuscolon","\\eqcolon");$("\\minuscoloncolon","\\Eqcolon");$("\\coloncolonapprox","\\Colonapprox");$("\\coloncolonsim","\\Colonsim");$("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");$("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");$("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");$("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");$("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");$("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");$("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");$("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");$("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");$("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");$("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");$("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");$("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");$("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");$("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");$("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");$("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");$("\\nleqq","\\html@mathml{\\@nleqq}{≰}");$("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");$("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");$("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");$("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");$("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");$("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");$("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");$("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");$("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");$("\\imath","\\html@mathml{\\@imath}{ı}");$("\\jmath","\\html@mathml{\\@jmath}{ȷ}");$("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");$("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");$("⟦","\\llbracket");$("⟧","\\rrbracket");$("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");$("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");$("⦃","\\lBrace");$("⦄","\\rBrace");$("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");$("⦵","\\minuso");$("\\darr","\\downarrow");$("\\dArr","\\Downarrow");$("\\Darr","\\Downarrow");$("\\lang","\\langle");$("\\rang","\\rangle");$("\\uarr","\\uparrow");$("\\uArr","\\Uparrow");$("\\Uarr","\\Uparrow");$("\\N","\\mathbb{N}");$("\\R","\\mathbb{R}");$("\\Z","\\mathbb{Z}");$("\\alef","\\aleph");$("\\alefsym","\\aleph");$("\\Alpha","\\mathrm{A}");$("\\Beta","\\mathrm{B}");$("\\bull","\\bullet");$("\\Chi","\\mathrm{X}");$("\\clubs","\\clubsuit");$("\\cnums","\\mathbb{C}");$("\\Complex","\\mathbb{C}");$("\\Dagger","\\ddagger");$("\\diamonds","\\diamondsuit");$("\\empty","\\emptyset");$("\\Epsilon","\\mathrm{E}");$("\\Eta","\\mathrm{H}");$("\\exist","\\exists");$("\\harr","\\leftrightarrow");$("\\hArr","\\Leftrightarrow");$("\\Harr","\\Leftrightarrow");$("\\hearts","\\heartsuit");$("\\image","\\Im");$("\\infin","\\infty");$("\\Iota","\\mathrm{I}");$("\\isin","\\in");$("\\Kappa","\\mathrm{K}");$("\\larr","\\leftarrow");$("\\lArr","\\Leftarrow");$("\\Larr","\\Leftarrow");$("\\lrarr","\\leftrightarrow");$("\\lrArr","\\Leftrightarrow");$("\\Lrarr","\\Leftrightarrow");$("\\Mu","\\mathrm{M}");$("\\natnums","\\mathbb{N}");$("\\Nu","\\mathrm{N}");$("\\Omicron","\\mathrm{O}");$("\\plusmn","\\pm");$("\\rarr","\\rightarrow");$("\\rArr","\\Rightarrow");$("\\Rarr","\\Rightarrow");$("\\real","\\Re");$("\\reals","\\mathbb{R}");$("\\Reals","\\mathbb{R}");$("\\Rho","\\mathrm{P}");$("\\sdot","\\cdot");$("\\sect","\\S");$("\\spades","\\spadesuit");$("\\sub","\\subset");$("\\sube","\\subseteq");$("\\supe","\\supseteq");$("\\Tau","\\mathrm{T}");$("\\thetasym","\\vartheta");$("\\weierp","\\wp");$("\\Zeta","\\mathrm{Z}");$("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");$("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");$("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");$("\\bra","\\mathinner{\\langle{#1}|}");$("\\ket","\\mathinner{|{#1}\\rangle}");$("\\braket","\\mathinner{\\langle{#1}\\rangle}");$("\\Bra","\\left\\langle#1\\right|");$("\\Ket","\\left|#1\\right\\rangle");var s7=e=>t=>{var n=t.consumeArg().tokens,a=t.consumeArg().tokens,s=t.consumeArg().tokens,o=t.consumeArg().tokens,c=t.macros.get("|"),d=t.macros.get("\\|");t.macros.beginGroup();var m=g=>x=>{e&&(x.macros.set("|",c),s.length&&x.macros.set("\\|",d));var y=g;if(!g&&s.length){var S=x.future();S.text==="|"&&(x.popToken(),y=!0)}return{tokens:y?s:a,numArgs:0}};t.macros.set("|",m(!1)),s.length&&t.macros.set("\\|",m(!0));var h=t.consumeArg().tokens,p=t.expandTokens([...o,...h,...n]);return t.macros.endGroup(),{tokens:p.reverse(),numArgs:0}};$("\\bra@ket",s7(!1));$("\\bra@set",s7(!0));$("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");$("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");$("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");$("\\angln","{\\angl n}");$("\\blue","\\textcolor{##6495ed}{#1}");$("\\orange","\\textcolor{##ffa500}{#1}");$("\\pink","\\textcolor{##ff00af}{#1}");$("\\red","\\textcolor{##df0030}{#1}");$("\\green","\\textcolor{##28ae7b}{#1}");$("\\gray","\\textcolor{gray}{#1}");$("\\purple","\\textcolor{##9d38bd}{#1}");$("\\blueA","\\textcolor{##ccfaff}{#1}");$("\\blueB","\\textcolor{##80f6ff}{#1}");$("\\blueC","\\textcolor{##63d9ea}{#1}");$("\\blueD","\\textcolor{##11accd}{#1}");$("\\blueE","\\textcolor{##0c7f99}{#1}");$("\\tealA","\\textcolor{##94fff5}{#1}");$("\\tealB","\\textcolor{##26edd5}{#1}");$("\\tealC","\\textcolor{##01d1c1}{#1}");$("\\tealD","\\textcolor{##01a995}{#1}");$("\\tealE","\\textcolor{##208170}{#1}");$("\\greenA","\\textcolor{##b6ffb0}{#1}");$("\\greenB","\\textcolor{##8af281}{#1}");$("\\greenC","\\textcolor{##74cf70}{#1}");$("\\greenD","\\textcolor{##1fab54}{#1}");$("\\greenE","\\textcolor{##0d923f}{#1}");$("\\goldA","\\textcolor{##ffd0a9}{#1}");$("\\goldB","\\textcolor{##ffbb71}{#1}");$("\\goldC","\\textcolor{##ff9c39}{#1}");$("\\goldD","\\textcolor{##e07d10}{#1}");$("\\goldE","\\textcolor{##a75a05}{#1}");$("\\redA","\\textcolor{##fca9a9}{#1}");$("\\redB","\\textcolor{##ff8482}{#1}");$("\\redC","\\textcolor{##f9685d}{#1}");$("\\redD","\\textcolor{##e84d39}{#1}");$("\\redE","\\textcolor{##bc2612}{#1}");$("\\maroonA","\\textcolor{##ffbde0}{#1}");$("\\maroonB","\\textcolor{##ff92c6}{#1}");$("\\maroonC","\\textcolor{##ed5fa6}{#1}");$("\\maroonD","\\textcolor{##ca337c}{#1}");$("\\maroonE","\\textcolor{##9e034e}{#1}");$("\\purpleA","\\textcolor{##ddd7ff}{#1}");$("\\purpleB","\\textcolor{##c6b9fc}{#1}");$("\\purpleC","\\textcolor{##aa87ff}{#1}");$("\\purpleD","\\textcolor{##7854ab}{#1}");$("\\purpleE","\\textcolor{##543b78}{#1}");$("\\mintA","\\textcolor{##f5f9e8}{#1}");$("\\mintB","\\textcolor{##edf2df}{#1}");$("\\mintC","\\textcolor{##e0e5cc}{#1}");$("\\grayA","\\textcolor{##f6f7f7}{#1}");$("\\grayB","\\textcolor{##f0f1f2}{#1}");$("\\grayC","\\textcolor{##e3e5e6}{#1}");$("\\grayD","\\textcolor{##d6d8da}{#1}");$("\\grayE","\\textcolor{##babec2}{#1}");$("\\grayF","\\textcolor{##888d93}{#1}");$("\\grayG","\\textcolor{##626569}{#1}");$("\\grayH","\\textcolor{##3b3e40}{#1}");$("\\grayI","\\textcolor{##21242c}{#1}");$("\\kaBlue","\\textcolor{##314453}{#1}");$("\\kaGreen","\\textcolor{##71B307}{#1}");var o7={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class eM{constructor(t,n,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=n,this.expansionCount=0,this.feed(t),this.macros=new X_(Q_,n.macros),this.mode=a,this.stack=[]}feed(t){this.lexer=new _y(t,this.settings)}switchMode(t){this.mode=t}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var n,a,s;if(t){if(this.consumeSpaces(),this.future().text!=="[")return null;n=this.popToken(),{tokens:s,end:a}=this.consumeArg(["]"])}else({tokens:s,start:n,end:a}=this.consumeArg());return this.pushToken(new Yr("EOF",a.loc)),this.pushTokens(s),new Yr("",Dr.range(n,a))}consumeSpaces(){for(;;){var t=this.future();if(t.text===" ")this.stack.pop();else break}}consumeArg(t){var n=[],a=t&&t.length>0;a||this.consumeSpaces();var s=this.future(),o,c=0,d=0;do{if(o=this.popToken(),n.push(o),o.text==="{")++c;else if(o.text==="}"){if(--c,c===-1)throw new Be("Extra }",o)}else if(o.text==="EOF")throw new Be("Unexpected end of input in a macro argument, expected '"+(t&&a?t[d]:"}")+"'",o);if(t&&a)if((c===0||c===1&&t[d]==="{")&&o.text===t[d]){if(++d,d===t.length){n.splice(-d,d);break}}else d=0}while(c!==0||a);return s.text==="{"&&n[n.length-1].text==="}"&&(n.pop(),n.shift()),n.reverse(),{tokens:n,start:s,end:o}}consumeArgs(t,n){if(n){if(n.length!==t+1)throw new Be("The length of delimiters doesn't match the number of args!");for(var a=n[0],s=0;s<a.length;s++){var o=this.popToken();if(a[s]!==o.text)throw new Be("Use of the macro doesn't match its definition",o)}}for(var c=[],d=0;d<t;d++)c.push(this.consumeArg(n&&n[d+1]).tokens);return c}countExpansion(t){if(this.expansionCount+=t,this.expansionCount>this.settings.maxExpand)throw new Be("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var n=this.popToken(),a=n.text,s=n.noexpand?null:this._getExpansion(a);if(s==null||t&&s.unexpandable){if(t&&s==null&&a[0]==="\\"&&!this.isDefined(a))throw new Be("Undefined control sequence: "+a);return this.pushToken(n),!1}this.countExpansion(1);var o=s.tokens,c=this.consumeArgs(s.numArgs,s.delimiters);if(s.numArgs){o=o.slice();for(var d=o.length-1;d>=0;--d){var m=o[d];if(m.text==="#"){if(d===0)throw new Be("Incomplete placeholder at end of macro body",m);if(m=o[--d],m.text==="#")o.splice(d+1,1);else if(/^[1-9]$/.test(m.text))o.splice(d,2,...c[+m.text-1]);else throw new Be("Not a valid argument number",m)}}}return this.pushTokens(o),o.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}}expandMacro(t){return this.macros.has(t)?this.expandTokens([new Yr(t)]):void 0}expandTokens(t){var n=[],a=this.stack.length;for(this.pushTokens(t);this.stack.length>a;)if(this.expandOnce(!0)===!1){var s=this.stack.pop();s.treatAsRelax&&(s.noexpand=!1,s.treatAsRelax=!1),n.push(s)}return this.countExpansion(n.length),n}expandMacroAsText(t){var n=this.expandMacro(t);return n&&n.map(a=>a.text).join("")}_getExpansion(t){var n=this.macros.get(t);if(n==null)return n;if(t.length===1){var a=this.lexer.catcodes[t];if(a!=null&&a!==13)return}var s=typeof n=="function"?n(this):n;if(typeof s=="string"){var o=0;if(s.includes("#"))for(var c=s.replace(/##/g,"");c.includes("#"+(o+1));)++o;for(var d=new _y(s,this.settings),m=[],h=d.lex();h.text!=="EOF";)m.push(h),h=d.lex();m.reverse();var p={tokens:m,numArgs:o};return p}return s}isDefined(t){return this.macros.has(t)||Xi.hasOwnProperty(t)||wn.math.hasOwnProperty(t)||wn.text.hasOwnProperty(t)||o7.hasOwnProperty(t)}isExpandable(t){var n=this.macros.get(t);return n!=null?typeof n=="string"||typeof n=="function"||!n.unexpandable:Xi.hasOwnProperty(t)&&!Xi[t].primitive}}var Dy=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,qu=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Jm={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},jy={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class t0{constructor(t,n){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new eM(t,n,this.mode),this.settings=n,this.leftrightDepth=0,this.nextToken=null}expect(t,n){if(n===void 0&&(n=!0),this.fetch().text!==t)throw new Be("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());n&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var n=this.nextToken;this.consume(),this.gullet.pushToken(new Yr("}")),this.gullet.pushTokens(t);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=n,a}parseExpression(t,n){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var s=this.fetch();if(t0.endOfExpression.has(s.text)||n&&s.text===n||t&&Xi[s.text]&&Xi[s.text].infix)break;var o=this.parseAtom(n);if(o){if(o.type==="internal")continue}else break;a.push(o)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(t){for(var n=-1,a,s=0;s<t.length;s++){var o=t[s];if(o.type==="infix"){if(n!==-1)throw new Be("only one infix operator per group",o.token);n=s,a=o.replaceWith}}if(n!==-1&&a){var c,d,m=t.slice(0,n),h=t.slice(n+1);m.length===1&&m[0].type==="ordgroup"?c=m[0]:c={type:"ordgroup",mode:this.mode,body:m},h.length===1&&h[0].type==="ordgroup"?d=h[0]:d={type:"ordgroup",mode:this.mode,body:h};var p;return a==="\\\\abovefrac"?p=this.callFunction(a,[c,t[n],d],[]):p=this.callFunction(a,[c,d],[]),[p]}else return t}handleSupSubscript(t){var n=this.fetch(),a=n.text;this.consume(),this.consumeSpaces();var s;do{var o;s=this.parseGroup(t)}while(((o=s)==null?void 0:o.type)==="internal");if(!s)throw new Be("Expected group after '"+a+"'",n);return s}formatUnsupportedCmd(t){for(var n=[],a=0;a<t.length;a++)n.push({type:"textord",mode:"text",text:t[a]});var s={type:"text",mode:this.mode,body:n},o={type:"color",mode:this.mode,color:this.settings.errorColor,body:[s]};return o}parseAtom(t){var n=this.parseGroup("atom",t);if(n?.type==="internal"||this.mode==="text")return n;for(var a,s;;){this.consumeSpaces();var o=this.fetch();if(o.text==="\\limits"||o.text==="\\nolimits"){if(n&&n.type==="op"){var c=o.text==="\\limits";n.limits=c,n.alwaysHandleSupSub=!0}else if(n&&n.type==="operatorname")n.alwaysHandleSupSub&&(n.limits=o.text==="\\limits");else throw new Be("Limit controls must follow a math operator",o);this.consume()}else if(o.text==="^"){if(a)throw new Be("Double superscript",o);a=this.handleSupSubscript("superscript")}else if(o.text==="_"){if(s)throw new Be("Double subscript",o);s=this.handleSupSubscript("subscript")}else if(o.text==="'"){if(a)throw new Be("Double superscript",o);var d={type:"textord",mode:this.mode,text:"\\prime"},m=[d];for(this.consume();this.fetch().text==="'";)m.push(d),this.consume();this.fetch().text==="^"&&m.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:m}}else if(qu[o.text]){var h=Dy.test(o.text),p=[];for(p.push(new Yr(qu[o.text])),this.consume();;){var g=this.fetch().text;if(!qu[g]||Dy.test(g)!==h)break;p.unshift(new Yr(qu[g])),this.consume()}var x=this.subparse(p);h?s={type:"ordgroup",mode:"math",body:x}:a={type:"ordgroup",mode:"math",body:x}}else break}return a||s?{type:"supsub",mode:this.mode,base:n,sup:a,sub:s}:n}parseFunction(t,n){var a=this.fetch(),s=a.text,o=Xi[s];if(!o)return null;if(this.consume(),n&&n!=="atom"&&!o.allowedInArgument)throw new Be("Got function '"+s+"' with no arguments"+(n?" as "+n:""),a);if(this.mode==="text"&&!o.allowedInText)throw new Be("Can't use function '"+s+"' in text mode",a);if(this.mode==="math"&&o.allowedInMath===!1)throw new Be("Can't use function '"+s+"' in math mode",a);var{args:c,optArgs:d}=this.parseArguments(s,o);return this.callFunction(s,c,d,a,t)}callFunction(t,n,a,s,o){var c={funcName:t,parser:this,token:s,breakOnTokenText:o},d=Xi[t];if(d&&d.handler)return d.handler(c,n,a);throw new Be("No function handler for "+t)}parseArguments(t,n){var a=n.numArgs+n.numOptionalArgs;if(a===0)return{args:[],optArgs:[]};for(var s=[],o=[],c=0;c<a;c++){var d=n.argTypes&&n.argTypes[c],m=c<n.numOptionalArgs;("primitive"in n&&n.primitive&&d==null||n.type==="sqrt"&&c===1&&o[0]==null)&&(d="primitive");var h=this.parseGroupOfType("argument to '"+t+"'",d,m);if(m)o.push(h);else if(h!=null)s.push(h);else throw new Be("Null argument, please report this as a bug")}return{args:s,optArgs:o}}parseGroupOfType(t,n,a){switch(n){case"color":return this.parseColorGroup(a);case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,n);case"hbox":{var s=this.parseArgumentGroup(a,"text");return s!=null?{type:"styling",mode:s.mode,body:[s],style:"text",resetFont:!0}:null}case"raw":{var o=this.parseStringGroup("raw",a);return o!=null?{type:"raw",mode:"text",string:o.text}:null}case"primitive":{if(a)throw new Be("A primitive argument cannot be optional");var c=this.parseGroup(t);if(c==null)throw new Be("Expected group as "+t,this.fetch());return c}case"original":case null:case void 0:return this.parseArgumentGroup(a);default:throw new Be("Unknown group type as "+t,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(t,n){var a=this.gullet.scanArgument(n);if(a==null)return null;for(var s="",o;(o=this.fetch()).text!=="EOF";)s+=o.text,this.consume();return this.consume(),a.text=s,a}parseRegexGroup(t,n){for(var a=this.fetch(),s=a,o="",c;(c=this.fetch()).text!=="EOF"&&t.test(o+c.text);)s=c,o+=s.text,this.consume();if(o==="")throw new Be("Invalid "+n+": '"+a.text+"'",a);return a.range(s,o)}parseColorGroup(t){var n=this.parseStringGroup("color",t);if(n==null)return null;var a=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(n.text);if(!a)throw new Be("Invalid color: '"+n.text+"'",n);var s=a[0];return/^[0-9a-f]{6}$/i.test(s)&&(s="#"+s),{type:"color-token",mode:this.mode,color:s}}parseSizeGroup(t){var n,a=!1;if(this.gullet.consumeSpaces(),!t&&this.gullet.future().text!=="{"?n=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):n=this.parseStringGroup("size",t),!n)return null;!t&&n.text.length===0&&(n.text="0pt",a=!0);var s=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(n.text);if(!s)throw new Be("Invalid size: '"+n.text+"'",n);var o={number:+(s[1]+s[2]),unit:s[3]};if(!hx(o))throw new Be("Invalid unit: '"+o.unit+"'",n);return{type:"size",mode:this.mode,value:o,isBlank:a}}parseUrlGroup(t){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var n=this.parseStringGroup("url",t);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),n==null)return null;var a=n.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(t,n){var a=this.gullet.scanArgument(t);if(a==null)return null;var s=this.mode;n&&this.switchMode(n),this.gullet.beginGroup();var o=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var c={type:"ordgroup",mode:this.mode,loc:a.loc,body:o};return n&&this.switchMode(s),c}parseGroup(t,n){var a=this.fetch(),s=a.text,o;if(s==="{"||s==="\\begingroup"){this.consume();var c=s==="{"?"}":"\\endgroup";this.gullet.beginGroup();var d=this.parseExpression(!1,c),m=this.fetch();this.expect(c),this.gullet.endGroup(),o={type:"ordgroup",mode:this.mode,loc:Dr.range(a,m),body:d,semisimple:s==="\\begingroup"||void 0}}else if(o=this.parseFunction(n,t)||this.parseSymbol(),o==null&&s[0]==="\\"&&!o7.hasOwnProperty(s)){if(this.settings.throwOnError)throw new Be("Undefined control sequence: "+s,a);o=this.formatUnsupportedCmd(s),this.consume()}return o}formLigatures(t){for(var n=t.length-1,a=0;a<n;++a){var s=t[a];if(s.type==="textord"){var o=s.text,c=t[a+1];if(!(!c||c.type!=="textord")){if(o==="-"&&c.text==="-"){var d=t[a+2];a+1<n&&d&&d.type==="textord"&&d.text==="-"?(t.splice(a,3,{type:"textord",mode:"text",loc:Dr.range(s,d),text:"---"}),n-=2):(t.splice(a,2,{type:"textord",mode:"text",loc:Dr.range(s,c),text:"--"}),n-=1)}(o==="'"||o==="`")&&c.text===o&&(t.splice(a,2,{type:"textord",mode:"text",loc:Dr.range(s,c),text:o+o}),n-=1)}}}}parseSymbol(){var t=this.fetch(),n=t.text;if(/^\\verb[^a-zA-Z]/.test(n)){this.consume();var a=n.slice(5),s=a.charAt(0)==="*";if(s&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new Be(`\\verb assertion failed --
|
|
307
|
+
please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:s}}jy.hasOwnProperty(n[0])&&!wn[this.mode][n[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+n[0]+'" used in math mode',t),n=jy[n[0]]+n.slice(1));var o=Y_.exec(n);o&&(n=n.substring(0,o.index),n==="i"?n="ı":n==="j"&&(n="ȷ"));var c;if(wn[this.mode][n]){this.settings.strict&&this.mode==="math"&&Ip.includes(n)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+n[0]+'" used in math mode',t);var d=wn[this.mode][n].group,m=Dr.range(t),h;g_(d)?h={type:"atom",mode:this.mode,family:d,loc:m,text:n}:h={type:d,mode:this.mode,loc:m,text:n},c=h}else if(n.charCodeAt(0)>=128)this.settings.strict&&(mx(n.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+n[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+n[0]+'"'+(" ("+n.charCodeAt(0)+")"),t)),c={type:"textord",mode:"text",loc:Dr.range(t),text:n};else return null;if(this.consume(),o)for(var p=0;p<o[0].length;p++){var g=o[0][p];if(!Jm[g])throw new Be("Unknown accent ' "+g+"'",t);var x=Jm[g][this.mode]||Jm[g].text;if(!x)throw new Be("Accent "+g+" unsupported in "+this.mode+" mode",t);c={type:"accent",mode:this.mode,loc:Dr.range(t),label:x,isStretchy:!1,isShifty:!0,base:c}}return c}}t0.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var W1=function(t,n){if(!(typeof t=="string"||t instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new t0(t,n);delete a.gullet.macros.current["\\df@tag"];var s=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!n.displayMode)throw new Be("\\tag works only in display equations");s=[{type:"tag",mode:"text",body:s,tag:a.subparse([new Yr("\\df@tag")])}]}return s},Y1=function(t,n,a){n.textContent="";var s=n0(t,a).toNode();n.appendChild(s)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Y1=function(){throw new Be("KaTeX doesn't work in quirks mode.")});var l7=function(t,n){var a=n0(t,n).toMarkup();return a},c7=function(t,n){var a=new D1(n);return W1(t,a)},u7=function(t,n,a){if(a.throwOnError||!(t instanceof Be))throw t;var s=Le(["katex-error"],[new Zr(n)]);return s.setAttribute("title",t.toString()),s.setAttribute("style","color:"+a.errorColor),s},n0=function(t,n){var a=new D1(n);try{var s=W1(t,a);return l_(s,t,a)}catch(o){return u7(o,t,a)}},d7=function(t,n){var a=new D1(n);try{var s=W1(t,a);return c_(s,t,a)}catch(o){return u7(o,t,a)}},f7="0.16.47",m7={Span:Ho,Anchor:Pd,SymbolNode:Zr,SvgNode:pi,PathNode:es,LineNode:Rp},Fp={version:f7,render:Y1,renderToString:l7,ParseError:Be,SETTINGS_SCHEMA:kd,__parse:c7,__renderToDomTree:n0,__renderToHTMLTree:d7,__setFontMetrics:bx,__defineSymbol:k,__defineFunction:Xe,__defineMacro:$,__domTree:m7};const RB=Object.freeze(Object.defineProperty({__proto__:null,ParseError:Be,SETTINGS_SCHEMA:kd,__defineFunction:Xe,__defineMacro:$,__defineSymbol:k,__domTree:m7,__parse:c7,__renderToDomTree:n0,__renderToHTMLTree:d7,__setFontMetrics:bx,default:Fp,get render(){return Y1},renderToString:l7,version:f7},Symbol.toStringTag,{value:"Module"})),tM={};function nM(e){const t=this,n=e||tM,a=t.data(),s=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),c=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);s.push(cA(n)),o.push(tA()),c.push(nA(n))}const Ly=/[#.]/g;function rM(e,t){const n=e||"",a={};let s=0,o,c;for(;s<n.length;){Ly.lastIndex=s;const d=Ly.exec(n),m=n.slice(s,d?d.index:n.length);m&&(o?o==="#"?a.id=m:Array.isArray(a.className)?a.className.push(m):a.className=[m]:c=m,s+=m.length),d&&(o=d[0],s++)}return{type:"element",tagName:c||t||"div",properties:a,children:[]}}function h7(e,t,n){const a=n?oM(n):void 0;function s(o,c,...d){let m;if(o==null){m={type:"root",children:[]};const h=c;d.unshift(h)}else{m=rM(o,t);const h=m.tagName.toLowerCase(),p=a?a.get(h):void 0;if(m.tagName=p||h,aM(c))d.unshift(c);else for(const[g,x]of Object.entries(c))iM(e,m.properties,g,x)}for(const h of d)Gp(m.children,h);return m.type==="element"&&m.tagName==="template"&&(m.content={type:"root",children:m.children},m.children=[]),m}return s}function aM(e){if(e===null||typeof e!="object"||Array.isArray(e))return!0;if(typeof e.type!="string")return!1;const t=e,n=Object.keys(e);for(const a of n){const s=t[a];if(s&&typeof s=="object"){if(!Array.isArray(s))return!0;const o=s;for(const c of o)if(typeof c!="number"&&typeof c!="string")return!0}}return!!("children"in e&&Array.isArray(e.children))}function iM(e,t,n,a){const s=f6(e,n);let o;if(a!=null){if(typeof a=="number"){if(Number.isNaN(a))return;o=a}else typeof a=="boolean"?o=a:typeof a=="string"?s.spaceSeparated?o=d4(a):s.commaSeparated?o=s4(a):s.commaOrSpaceSeparated?o=d4(s4(a).join(" ")):o=zy(s,s.property,a):Array.isArray(a)?o=[...a]:o=s.property==="style"?sM(a):String(a);if(Array.isArray(o)){const c=[];for(const d of o)c.push(zy(s,s.property,d));o=c}s.property==="className"&&Array.isArray(t.className)&&(o=t.className.concat(o)),t[s.property]=o}}function Gp(e,t){if(t!=null)if(typeof t=="number"||typeof t=="string")e.push({type:"text",value:String(t)});else if(Array.isArray(t))for(const n of t)Gp(e,n);else if(typeof t=="object"&&"type"in t)t.type==="root"?Gp(e,t.children):e.push(t);else throw new Error("Expected node, nodes, or string, got `"+t+"`")}function zy(e,t,n){if(typeof n=="string"){if(e.number&&n&&!Number.isNaN(Number(n)))return Number(n);if((e.boolean||e.overloadedBoolean)&&(n===""||nc(n)===nc(t)))return!0}return n}function sM(e){const t=[];for(const[n,a]of Object.entries(e))t.push([n,a].join(": "));return t.join("; ")}function oM(e){const t=new Map;for(const n of e)t.set(n.toLowerCase(),n);return t}const lM=["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"],cM=h7(m6,"div"),uM=h7(Bd,"g",lM),eh={html:"http://www.w3.org/1999/xhtml",svg:"http://www.w3.org/2000/svg"};function dM(e,t){return p7(e,{})||{type:"root",children:[]}}function p7(e,t){const n=fM(e,t);return n&&t.afterTransform&&t.afterTransform(e,n),n}function fM(e,t){switch(e.nodeType){case 1:return gM(e,t);case 3:return hM(e);case 8:return pM(e);case 9:return By(e,t);case 10:return mM();case 11:return By(e,t);default:return}}function By(e,t){return{type:"root",children:g7(e,t)}}function mM(){return{type:"doctype"}}function hM(e){return{type:"text",value:e.nodeValue||""}}function pM(e){return{type:"comment",value:e.nodeValue||""}}function gM(e,t){const n=e.namespaceURI,a=n===eh.svg?uM:cM,s=n===eh.html?e.tagName.toLowerCase():e.tagName,o=n===eh.html&&s==="template"?e.content:e,c=e.getAttributeNames(),d={};let m=-1;for(;++m<c.length;)d[c[m]]=e.getAttribute(c[m])||"";return a(s,d,g7(o,t))}function g7(e,t){const n=e.childNodes,a=[];let s=-1;for(;++s<n.length;){const o=p7(n[s],t);o!==void 0&&a.push(o)}return a}new DOMParser;function vM(e,t){const n=bM(e);return dM(n)}function bM(e){const t=document.createElement("template");return t.innerHTML=e,t.content}const qy=(function(e,t,n){const a=dc(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++t<e.children.length;)if(a(e.children[t],t,e))return e.children[t]}),Hs=(function(e){if(e==null)return wM;if(typeof e=="string")return xM(e);if(typeof e=="object")return yM(e);if(typeof e=="function")return Z1(e);throw new Error("Expected function, string, or array as `test`")});function yM(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=Hs(e[n]);return Z1(a);function a(...s){let o=-1;for(;++o<t.length;)if(t[o].apply(this,s))return!0;return!1}}function xM(e){return Z1(t);function t(n){return n.tagName===e}}function Z1(e){return t;function t(n,a,s){return!!(kM(n)&&e.call(this,n,typeof a=="number"?a:void 0,s||void 0))}}function wM(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function kM(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}const Uy=/\n/g,Hy=/[\t ]+/g,Vp=Hs("br"),$y=Hs(AM),SM=Hs("p"),Py=Hs("tr"),EM=Hs(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",IM,_M]),v7=Hs(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function TM(e,t){const n=t||{},a="children"in e?e.children:[],s=v7(e),o=x7(e,{whitespace:n.whitespace||"normal"}),c=[];(e.type==="text"||e.type==="comment")&&c.push(...y7(e,{breakBefore:!0,breakAfter:!0}));let d=-1;for(;++d<a.length;)c.push(...b7(a[d],e,{whitespace:o,breakBefore:d?void 0:s,breakAfter:d<a.length-1?Vp(a[d+1]):s}));const m=[];let h;for(d=-1;++d<c.length;){const p=c[d];typeof p=="number"?h!==void 0&&p>h&&(h=p):p&&(h!==void 0&&h>-1&&m.push(`
|
|
308
|
+
`.repeat(h)||" "),h=-1,m.push(p))}return m.join("")}function b7(e,t,n){return e.type==="element"?CM(e,t,n):e.type==="text"?n.whitespace==="normal"?y7(e,n):NM(e):[]}function CM(e,t,n){const a=x7(e,n),s=e.children||[];let o=-1,c=[];if(EM(e))return c;let d,m;for(Vp(e)||Py(e)&&qy(t,e,Py)?m=`
|
|
309
|
+
`:SM(e)?(d=2,m=2):v7(e)&&(d=1,m=1);++o<s.length;)c=c.concat(b7(s[o],e,{whitespace:a,breakBefore:o?void 0:d,breakAfter:o<s.length-1?Vp(s[o+1]):m}));return $y(e)&&qy(t,e,$y)&&c.push(" "),d&&c.unshift(d),m&&c.push(m),c}function y7(e,t){const n=String(e.value),a=[],s=[];let o=0;for(;o<=n.length;){Uy.lastIndex=o;const m=Uy.exec(n),h=m&&"index"in m?m.index:n.length;a.push(RM(n.slice(o,h).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),o===0?t.breakBefore:!0,h===n.length?t.breakAfter:!0)),o=h+1}let c=-1,d;for(;++c<a.length;)a[c].charCodeAt(a[c].length-1)===8203||c<a.length-1&&a[c+1].charCodeAt(0)===8203?(s.push(a[c]),d=void 0):a[c]?(typeof d=="number"&&s.push(d),s.push(a[c]),d=0):(c===0||c===a.length-1)&&s.push(0);return s}function NM(e){return[String(e.value)]}function RM(e,t,n){const a=[];let s=0,o;for(;s<e.length;){Hy.lastIndex=s;const c=Hy.exec(e);o=c?c.index:e.length,!s&&!o&&c&&!t&&a.push(""),s!==o&&a.push(e.slice(s,o)),s=c?o+c[0].length:o}return s!==o&&!n&&a.push(""),a.join(" ")}function x7(e,t){if(e.type==="element"){const n=e.properties||{};switch(e.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return n.wrap?"pre-wrap":"pre";case"td":case"th":return n.noWrap?"nowrap":t.whitespace;case"textarea":return"pre-wrap"}}return t.whitespace}function IM(e){return!!(e.properties||{}).hidden}function AM(e){return e.tagName==="td"||e.tagName==="th"}function _M(e){return e.tagName==="dialog"&&!(e.properties||{}).open}const MM={},OM=[];function DM(e){const t=e||MM;return function(n,a){R1(n,"element",function(s,o){const c=Array.isArray(s.properties.className)?s.properties.className:OM,d=c.includes("language-math"),m=c.includes("math-display"),h=c.includes("math-inline");let p=m;if(!d&&!m&&!h)return;let g=o[o.length-1],x=s;if(s.tagName==="code"&&d&&g&&g.type==="element"&&g.tagName==="pre"&&(x=g,g=o[o.length-2],p=!0),!g)return;const y=TM(x,{whitespace:"pre"});let S;try{S=Fp.renderToString(y,{...t,displayMode:p,throwOnError:!0})}catch(R){const N=R,_=N.name.toLowerCase();a.message("Could not render math with KaTeX",{ancestors:[...o,s],cause:N,place:s.position,ruleId:_,source:"rehype-katex"});try{S=Fp.renderToString(y,{...t,displayMode:p,strict:"ignore",throwOnError:!1})}catch{S=[{type:"element",tagName:"span",properties:{className:["katex-error"],style:"color:"+(t.errorColor||"#cc0000"),title:String(R)},children:[{type:"text",value:y}]}]}}typeof S=="string"&&(S=vM(S).children);const E=g.children.indexOf(x);return g.children.splice(E,1,...S),H6})}}var th,Fy;function jM(){if(Fy)return th;Fy=1;function e(ne){return ne instanceof Map?ne.clear=ne.delete=ne.set=function(){throw new Error("map is read-only")}:ne instanceof Set&&(ne.add=ne.clear=ne.delete=function(){throw new Error("set is read-only")}),Object.freeze(ne),Object.getOwnPropertyNames(ne).forEach(Ee=>{const je=ne[Ee],ct=typeof je;(ct==="object"||ct==="function")&&!Object.isFrozen(je)&&e(je)}),ne}class t{constructor(Ee){Ee.data===void 0&&(Ee.data={}),this.data=Ee.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(ne){return ne.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function a(ne,...Ee){const je=Object.create(null);for(const ct in ne)je[ct]=ne[ct];return Ee.forEach(function(ct){for(const ht in ct)je[ht]=ct[ht]}),je}const s="</span>",o=ne=>!!ne.scope,c=(ne,{prefix:Ee})=>{if(ne.startsWith("language:"))return ne.replace("language:","language-");if(ne.includes(".")){const je=ne.split(".");return[`${Ee}${je.shift()}`,...je.map((ct,ht)=>`${ct}${"_".repeat(ht+1)}`)].join(" ")}return`${Ee}${ne}`};class d{constructor(Ee,je){this.buffer="",this.classPrefix=je.classPrefix,Ee.walk(this)}addText(Ee){this.buffer+=n(Ee)}openNode(Ee){if(!o(Ee))return;const je=c(Ee.scope,{prefix:this.classPrefix});this.span(je)}closeNode(Ee){o(Ee)&&(this.buffer+=s)}value(){return this.buffer}span(Ee){this.buffer+=`<span class="${Ee}">`}}const m=(ne={})=>{const Ee={children:[]};return Object.assign(Ee,ne),Ee};class h{constructor(){this.rootNode=m(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Ee){this.top.children.push(Ee)}openNode(Ee){const je=m({scope:Ee});this.add(je),this.stack.push(je)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Ee){return this.constructor._walk(Ee,this.rootNode)}static _walk(Ee,je){return typeof je=="string"?Ee.addText(je):je.children&&(Ee.openNode(je),je.children.forEach(ct=>this._walk(Ee,ct)),Ee.closeNode(je)),Ee}static _collapse(Ee){typeof Ee!="string"&&Ee.children&&(Ee.children.every(je=>typeof je=="string")?Ee.children=[Ee.children.join("")]:Ee.children.forEach(je=>{h._collapse(je)}))}}class p extends h{constructor(Ee){super(),this.options=Ee}addText(Ee){Ee!==""&&this.add(Ee)}startScope(Ee){this.openNode(Ee)}endScope(){this.closeNode()}__addSublanguage(Ee,je){const ct=Ee.root;je&&(ct.scope=`language:${je}`),this.add(ct)}toHTML(){return new d(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(ne){return ne?typeof ne=="string"?ne:ne.source:null}function x(ne){return E("(?=",ne,")")}function y(ne){return E("(?:",ne,")*")}function S(ne){return E("(?:",ne,")?")}function E(...ne){return ne.map(je=>g(je)).join("")}function R(ne){const Ee=ne[ne.length-1];return typeof Ee=="object"&&Ee.constructor===Object?(ne.splice(ne.length-1,1),Ee):{}}function N(...ne){return"("+(R(ne).capture?"":"?:")+ne.map(ct=>g(ct)).join("|")+")"}function _(ne){return new RegExp(ne.toString()+"|").exec("").length-1}function I(ne,Ee){const je=ne&&ne.exec(Ee);return je&&je.index===0}const P=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function F(ne,{joinWith:Ee}){let je=0;return ne.map(ct=>{je+=1;const ht=je;let Bt=g(ct),nt="";for(;Bt.length>0;){const et=P.exec(Bt);if(!et){nt+=Bt;break}nt+=Bt.substring(0,et.index),Bt=Bt.substring(et.index+et[0].length),et[0][0]==="\\"&&et[1]?nt+="\\"+String(Number(et[1])+ht):(nt+=et[0],et[0]==="("&&je++)}return nt}).map(ct=>`(${ct})`).join(Ee)}const M=/\b\B/,A="[a-zA-Z]\\w*",z="[a-zA-Z_]\\w*",G="\\b\\d+(\\.\\d+)?",D="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",K="\\b(0b[01]+)",q="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Q=(ne={})=>{const Ee=/^#![ ]*\//;return ne.binary&&(ne.begin=E(Ee,/.*\b/,ne.binary,/\b.*/)),a({scope:"meta",begin:Ee,end:/$/,relevance:0,"on:begin":(je,ct)=>{je.index!==0&&ct.ignoreMatch()}},ne)},V={begin:"\\\\[\\s\\S]",relevance:0},X={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[V]},W={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[V]},B={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Y=function(ne,Ee,je={}){const ct=a({scope:"comment",begin:ne,end:Ee,contains:[]},je);ct.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const ht=N("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return ct.contains.push({begin:E(/[ ]+/,"(",ht,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),ct},me=Y("//","$"),j=Y("/\\*","\\*/"),U=Y("#","$"),ee={scope:"number",begin:G,relevance:0},O={scope:"number",begin:D,relevance:0},ge={scope:"number",begin:K,relevance:0},Z={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[V,{begin:/\[/,end:/\]/,relevance:0,contains:[V]}]},le={scope:"title",begin:A,relevance:0},ce={scope:"title",begin:z,relevance:0},pe={begin:"\\.\\s*"+z,relevance:0};var J=Object.freeze({__proto__:null,APOS_STRING_MODE:X,BACKSLASH_ESCAPE:V,BINARY_NUMBER_MODE:ge,BINARY_NUMBER_RE:K,COMMENT:Y,C_BLOCK_COMMENT_MODE:j,C_LINE_COMMENT_MODE:me,C_NUMBER_MODE:O,C_NUMBER_RE:D,END_SAME_AS_BEGIN:function(ne){return Object.assign(ne,{"on:begin":(Ee,je)=>{je.data._beginMatch=Ee[1]},"on:end":(Ee,je)=>{je.data._beginMatch!==Ee[1]&&je.ignoreMatch()}})},HASH_COMMENT_MODE:U,IDENT_RE:A,MATCH_NOTHING_RE:M,METHOD_GUARD:pe,NUMBER_MODE:ee,NUMBER_RE:G,PHRASAL_WORDS_MODE:B,QUOTE_STRING_MODE:W,REGEXP_MODE:Z,RE_STARTERS_RE:q,SHEBANG:Q,TITLE_MODE:le,UNDERSCORE_IDENT_RE:z,UNDERSCORE_TITLE_MODE:ce});function oe(ne,Ee){ne.input[ne.index-1]==="."&&Ee.ignoreMatch()}function ie(ne,Ee){ne.className!==void 0&&(ne.scope=ne.className,delete ne.className)}function we(ne,Ee){Ee&&ne.beginKeywords&&(ne.begin="\\b("+ne.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",ne.__beforeBegin=oe,ne.keywords=ne.keywords||ne.beginKeywords,delete ne.beginKeywords,ne.relevance===void 0&&(ne.relevance=0))}function Se(ne,Ee){Array.isArray(ne.illegal)&&(ne.illegal=N(...ne.illegal))}function Re(ne,Ee){if(ne.match){if(ne.begin||ne.end)throw new Error("begin & end are not supported with match");ne.begin=ne.match,delete ne.match}}function Ze(ne,Ee){ne.relevance===void 0&&(ne.relevance=1)}const it=(ne,Ee)=>{if(!ne.beforeMatch)return;if(ne.starts)throw new Error("beforeMatch cannot be used with starts");const je=Object.assign({},ne);Object.keys(ne).forEach(ct=>{delete ne[ct]}),ne.keywords=je.keywords,ne.begin=E(je.beforeMatch,x(je.begin)),ne.starts={relevance:0,contains:[Object.assign(je,{endsParent:!0})]},ne.relevance=0,delete je.beforeMatch},rt=["of","and","for","in","not","or","if","then","parent","list","value"],Pt="keyword";function gt(ne,Ee,je=Pt){const ct=Object.create(null);return typeof ne=="string"?ht(je,ne.split(" ")):Array.isArray(ne)?ht(je,ne):Object.keys(ne).forEach(function(Bt){Object.assign(ct,gt(ne[Bt],Ee,Bt))}),ct;function ht(Bt,nt){Ee&&(nt=nt.map(et=>et.toLowerCase())),nt.forEach(function(et){const wt=et.split("|");ct[wt[0]]=[Bt,Dt(wt[0],wt[1])]})}}function Dt(ne,Ee){return Ee?Number(Ee):Lt(ne)?0:1}function Lt(ne){return rt.includes(ne.toLowerCase())}const vt={},Ke=ne=>{console.error(ne)},bt=(ne,...Ee)=>{console.log(`WARN: ${ne}`,...Ee)},xe=(ne,Ee)=>{vt[`${ne}/${Ee}`]||(console.log(`Deprecated as of ${ne}. ${Ee}`),vt[`${ne}/${Ee}`]=!0)},_e=new Error;function qe(ne,Ee,{key:je}){let ct=0;const ht=ne[je],Bt={},nt={};for(let et=1;et<=Ee.length;et++)nt[et+ct]=ht[et],Bt[et+ct]=!0,ct+=_(Ee[et-1]);ne[je]=nt,ne[je]._emit=Bt,ne[je]._multi=!0}function De(ne){if(Array.isArray(ne.begin)){if(ne.skip||ne.excludeBegin||ne.returnBegin)throw Ke("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),_e;if(typeof ne.beginScope!="object"||ne.beginScope===null)throw Ke("beginScope must be object"),_e;qe(ne,ne.begin,{key:"beginScope"}),ne.begin=F(ne.begin,{joinWith:""})}}function We(ne){if(Array.isArray(ne.end)){if(ne.skip||ne.excludeEnd||ne.returnEnd)throw Ke("skip, excludeEnd, returnEnd not compatible with endScope: {}"),_e;if(typeof ne.endScope!="object"||ne.endScope===null)throw Ke("endScope must be object"),_e;qe(ne,ne.end,{key:"endScope"}),ne.end=F(ne.end,{joinWith:""})}}function Tt(ne){ne.scope&&typeof ne.scope=="object"&&ne.scope!==null&&(ne.beginScope=ne.scope,delete ne.scope)}function Wt(ne){Tt(ne),typeof ne.beginScope=="string"&&(ne.beginScope={_wrap:ne.beginScope}),typeof ne.endScope=="string"&&(ne.endScope={_wrap:ne.endScope}),De(ne),We(ne)}function Qt(ne){function Ee(nt,et){return new RegExp(g(nt),"m"+(ne.case_insensitive?"i":"")+(ne.unicodeRegex?"u":"")+(et?"g":""))}class je{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(et,wt){wt.position=this.position++,this.matchIndexes[this.matchAt]=wt,this.regexes.push([wt,et]),this.matchAt+=_(et)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const et=this.regexes.map(wt=>wt[1]);this.matcherRe=Ee(F(et,{joinWith:"|"}),!0),this.lastIndex=0}exec(et){this.matcherRe.lastIndex=this.lastIndex;const wt=this.matcherRe.exec(et);if(!wt)return null;const St=wt.findIndex((ma,Br)=>Br>0&&ma!==void 0),dn=this.matchIndexes[St];return wt.splice(0,St),Object.assign(wt,dn)}}class ct{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(et){if(this.multiRegexes[et])return this.multiRegexes[et];const wt=new je;return this.rules.slice(et).forEach(([St,dn])=>wt.addRule(St,dn)),wt.compile(),this.multiRegexes[et]=wt,wt}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(et,wt){this.rules.push([et,wt]),wt.type==="begin"&&this.count++}exec(et){const wt=this.getMatcher(this.regexIndex);wt.lastIndex=this.lastIndex;let St=wt.exec(et);if(this.resumingScanAtSamePosition()&&!(St&&St.index===this.lastIndex)){const dn=this.getMatcher(0);dn.lastIndex=this.lastIndex+1,St=dn.exec(et)}return St&&(this.regexIndex+=St.position+1,this.regexIndex===this.count&&this.considerAll()),St}}function ht(nt){const et=new ct;return nt.contains.forEach(wt=>et.addRule(wt.begin,{rule:wt,type:"begin"})),nt.terminatorEnd&&et.addRule(nt.terminatorEnd,{type:"end"}),nt.illegal&&et.addRule(nt.illegal,{type:"illegal"}),et}function Bt(nt,et){const wt=nt;if(nt.isCompiled)return wt;[ie,Re,Wt,it].forEach(dn=>dn(nt,et)),ne.compilerExtensions.forEach(dn=>dn(nt,et)),nt.__beforeBegin=null,[we,Se,Ze].forEach(dn=>dn(nt,et)),nt.isCompiled=!0;let St=null;return typeof nt.keywords=="object"&&nt.keywords.$pattern&&(nt.keywords=Object.assign({},nt.keywords),St=nt.keywords.$pattern,delete nt.keywords.$pattern),St=St||/\w+/,nt.keywords&&(nt.keywords=gt(nt.keywords,ne.case_insensitive)),wt.keywordPatternRe=Ee(St,!0),et&&(nt.begin||(nt.begin=/\B|\b/),wt.beginRe=Ee(wt.begin),!nt.end&&!nt.endsWithParent&&(nt.end=/\B|\b/),nt.end&&(wt.endRe=Ee(wt.end)),wt.terminatorEnd=g(wt.end)||"",nt.endsWithParent&&et.terminatorEnd&&(wt.terminatorEnd+=(nt.end?"|":"")+et.terminatorEnd)),nt.illegal&&(wt.illegalRe=Ee(nt.illegal)),nt.contains||(nt.contains=[]),nt.contains=[].concat(...nt.contains.map(function(dn){return Pe(dn==="self"?nt:dn)})),nt.contains.forEach(function(dn){Bt(dn,wt)}),nt.starts&&Bt(nt.starts,et),wt.matcher=ht(wt),wt}if(ne.compilerExtensions||(ne.compilerExtensions=[]),ne.contains&&ne.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return ne.classNameAliases=a(ne.classNameAliases||{}),Bt(ne)}function At(ne){return ne?ne.endsWithParent||At(ne.starts):!1}function Pe(ne){return ne.variants&&!ne.cachedVariants&&(ne.cachedVariants=ne.variants.map(function(Ee){return a(ne,{variants:null},Ee)})),ne.cachedVariants?ne.cachedVariants:At(ne)?a(ne,{starts:ne.starts?a(ne.starts):null}):Object.isFrozen(ne)?a(ne):ne}var Oe="11.11.2";class Ye extends Error{constructor(Ee,je){super(Ee),this.name="HTMLInjectionError",this.html=je}}const Je=n,Qe=a,ve=Symbol("nomatch"),st=7,Fe=function(ne){const Ee=Object.create(null),je=Object.create(null),ct=[];let ht=!0;const Bt="Could not find the language '{}', did you forget to load/include a language module?",nt={disableAutodetect:!0,name:"Plain text",contains:[]};let et={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:p};function wt(ze){return et.noHighlightRe.test(ze)}function St(ze){let dt=ze.className+" ";dt+=ze.parentNode?ze.parentNode.className:"";const jt=et.languageDetectRe.exec(dt);if(jt){const Zt=qn(jt[1]);return Zt||(bt(Bt.replace("{}",jt[1])),bt("Falling back to no-highlight mode for this block.",ze)),Zt?jt[1]:"no-highlight"}return dt.split(/\s+/).find(Zt=>wt(Zt)||qn(Zt))}function dn(ze,dt,jt){let Zt="",En="";typeof dt=="object"?(Zt=ze,jt=dt.ignoreIllegals,En=dt.language):(xe("10.7.0","highlight(lang, code, ...args) has been deprecated."),xe("10.7.0",`Please use highlight(code, options) instead.
|
|
310
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),En=ze,Zt=dt),jt===void 0&&(jt=!0);const Jn={code:Zt,language:En};pa("before:highlight",Jn);const gr=Jn.result?Jn.result:ma(Jn.language,Jn.code,jt);return gr.code=Jn.code,pa("after:highlight",gr),gr}function ma(ze,dt,jt,Zt){const En=Object.create(null);function Jn(Ge,lt){return Ge.keywords[lt]}function gr(){if(!Ue.keywords){Xt.addText(yt);return}let Ge=0;Ue.keywordPatternRe.lastIndex=0;let lt=Ue.keywordPatternRe.exec(yt),It="";for(;lt;){It+=yt.substring(Ge,lt.index);const Gt=Un.case_insensitive?lt[0].toLowerCase():lt[0],Tn=Jn(Ue,Gt);if(Tn){const[Jr,Fo]=Tn;if(Xt.addText(It),It="",En[Gt]=(En[Gt]||0)+1,En[Gt]<=st&&(yn+=Fo),Jr.startsWith("_"))It+=lt[0];else{const gc=Un.classNameAliases[Jr]||Jr;vr(lt[0],gc)}}else It+=lt[0];Ge=Ue.keywordPatternRe.lastIndex,lt=Ue.keywordPatternRe.exec(yt)}It+=yt.substring(Ge),Xt.addText(It)}function ar(){if(yt==="")return;let Ge=null;if(typeof Ue.subLanguage=="string"){if(!Ee[Ue.subLanguage]){Xt.addText(yt);return}Ge=ma(Ue.subLanguage,yt,!0,Ft[Ue.subLanguage]),Ft[Ue.subLanguage]=Ge._top}else Ge=qt(yt,Ue.subLanguage.length?Ue.subLanguage:null);Ue.relevance>0&&(yn+=Ge.relevance),Xt.__addSublanguage(Ge._emitter,Ge.language)}function an(){Ue.subLanguage!=null?ar():gr(),yt=""}function vr(Ge,lt){Ge!==""&&(Xt.startScope(lt),Xt.addText(Ge),Xt.endScope())}function Sa(Ge,lt){let It=1;const Gt=lt.length-1;for(;It<=Gt;){if(!Ge._emit[It]){It++;continue}const Tn=Un.classNameAliases[Ge[It]]||Ge[It],Jr=lt[It];Tn?vr(Jr,Tn):(yt=Jr,gr(),yt=""),It++}}function $a(Ge,lt){return Ge.scope&&typeof Ge.scope=="string"&&Xt.openNode(Un.classNameAliases[Ge.scope]||Ge.scope),Ge.beginScope&&(Ge.beginScope._wrap?(vr(yt,Un.classNameAliases[Ge.beginScope._wrap]||Ge.beginScope._wrap),yt=""):Ge.beginScope._multi&&(Sa(Ge.beginScope,lt),yt="")),Ue=Object.create(Ge,{parent:{value:Ue}}),Ue}function wi(Ge,lt,It){let Gt=I(Ge.endRe,It);if(Gt){if(Ge["on:end"]){const Tn=new t(Ge);Ge["on:end"](lt,Tn),Tn.isMatchIgnored&&(Gt=!1)}if(Gt){for(;Ge.endsParent&&Ge.parent;)Ge=Ge.parent;return Ge}}if(Ge.endsWithParent)return wi(Ge.parent,lt,It)}function Pa(Ge){return Ue.matcher.regexIndex===0?(yt+=Ge[0],1):(Dn=!0,0)}function $s(Ge){const lt=Ge[0],It=Ge.rule,Gt=new t(It),Tn=[It.__beforeBegin,It["on:begin"]];for(const Jr of Tn)if(Jr&&(Jr(Ge,Gt),Gt.isMatchIgnored))return Pa(lt);return It.skip?yt+=lt:(It.excludeBegin&&(yt+=lt),an(),!It.returnBegin&&!It.excludeBegin&&(yt=lt)),$a(It,Ge),It.returnBegin?0:lt.length}function ir(Ge){const lt=Ge[0],It=dt.substring(Ge.index),Gt=wi(Ue,Ge,It);if(!Gt)return ve;const Tn=Ue;Ue.endScope&&Ue.endScope._wrap?(an(),vr(lt,Ue.endScope._wrap)):Ue.endScope&&Ue.endScope._multi?(an(),Sa(Ue.endScope,Ge)):Tn.skip?yt+=lt:(Tn.returnEnd||Tn.excludeEnd||(yt+=lt),an(),Tn.excludeEnd&&(yt=lt));do Ue.scope&&Xt.closeNode(),!Ue.skip&&!Ue.subLanguage&&(yn+=Ue.relevance),Ue=Ue.parent;while(Ue!==Gt.parent);return Gt.starts&&$a(Gt.starts,Ge),Tn.returnEnd?0:lt.length}function Fa(){const Ge=[];for(let lt=Ue;lt!==Un;lt=lt.parent)lt.scope&&Ge.unshift(lt.scope);Ge.forEach(lt=>Xt.openNode(lt))}let Ea={};function Ga(Ge,lt){const It=lt&<[0];if(yt+=Ge,It==null)return an(),0;if(Ea.type==="begin"&<.type==="end"&&Ea.index===lt.index&&It===""){if(yt+=dt.slice(lt.index,lt.index+1),!ht){const Gt=new Error(`0 width match regex (${ze})`);throw Gt.languageName=ze,Gt.badRule=Ea.rule,Gt}return 1}if(Ea=lt,lt.type==="begin")return $s(lt);if(lt.type==="illegal"&&!jt){const Gt=new Error('Illegal lexeme "'+It+'" for mode "'+(Ue.scope||"<unnamed>")+'"');throw Gt.mode=Ue,Gt}else if(lt.type==="end"){const Gt=ir(lt);if(Gt!==ve)return Gt}if(lt.type==="illegal"&&It==="")return lt.index===dt.length||(yt+=`
|
|
311
|
+
`),1;if(er>1e5&&er>lt.index*3)throw new Error("potential infinite loop, way more iterations than matches");return yt+=It,It.length}const Un=qn(ze);if(!Un)throw Ke(Bt.replace("{}",ze)),new Error('Unknown language: "'+ze+'"');const te=Qt(Un);let Ce="",Ue=Zt||te;const Ft={},Xt=new et.__emitter(et);Fa();let yt="",yn=0,An=0,er=0,Dn=!1;try{if(Un.__emitTokens)Un.__emitTokens(dt,Xt);else{for(Ue.matcher.considerAll();;){er++,Dn?Dn=!1:Ue.matcher.considerAll(),Ue.matcher.lastIndex=An;const Ge=Ue.matcher.exec(dt);if(!Ge)break;const lt=dt.substring(An,Ge.index),It=Ga(lt,Ge);An=Ge.index+It}Ga(dt.substring(An))}return Xt.finalize(),Ce=Xt.toHTML(),{language:ze,value:Ce,relevance:yn,illegal:!1,_emitter:Xt,_top:Ue}}catch(Ge){if(Ge.message&&Ge.message.includes("Illegal"))return{language:ze,value:Je(dt),illegal:!0,relevance:0,_illegalBy:{message:Ge.message,index:An,context:dt.slice(An-100,An+100),mode:Ge.mode,resultSoFar:Ce},_emitter:Xt};if(ht)return{language:ze,value:Je(dt),illegal:!1,relevance:0,errorRaised:Ge,_emitter:Xt,_top:Ue};throw Ge}}function Br(ze){const dt={value:Je(ze),illegal:!1,relevance:0,_top:nt,_emitter:new et.__emitter(et)};return dt._emitter.addText(ze),dt}function qt(ze,dt){dt=dt||et.languages||Object.keys(Ee);const jt=Br(ze),Zt=dt.filter(qn).filter(pr).map(an=>ma(an,ze,!1));Zt.unshift(jt);const En=Zt.sort((an,vr)=>{if(an.relevance!==vr.relevance)return vr.relevance-an.relevance;if(an.language&&vr.language){if(qn(an.language).supersetOf===vr.language)return 1;if(qn(vr.language).supersetOf===an.language)return-1}return 0}),[Jn,gr]=En,ar=Jn;return ar.secondBest=gr,ar}function hr(ze,dt,jt){const Zt=dt&&je[dt]||jt;ze.classList.add("hljs"),ze.classList.add(`language-${Zt}`)}function Sn(ze){let dt=null;const jt=St(ze);if(wt(jt))return;if(pa("before:highlightElement",{el:ze,language:jt}),ze.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",ze);return}if(ze.children.length>0&&(et.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(ze)),et.throwUnescapedHTML))throw new Ye("One of your code blocks includes unescaped HTML.",ze.innerHTML);dt=ze;const Zt=dt.textContent,En=jt?dn(Zt,{language:jt,ignoreIllegals:!0}):qt(Zt);ze.innerHTML=En.value,ze.dataset.highlighted="yes",hr(ze,jt,En.language),ze.result={language:En.language,re:En.relevance,relevance:En.relevance},En.secondBest&&(ze.secondBest={language:En.secondBest.language,relevance:En.secondBest.relevance}),pa("after:highlightElement",{el:ze,result:En,text:Zt})}function Qn(ze){et=Qe(et,ze)}const wa=()=>{Tr(),xe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function ss(){Tr(),xe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let xi=!1;function Tr(){function ze(){Tr()}if(document.readyState==="loading"){xi||window.addEventListener("DOMContentLoaded",ze,!1),xi=!0;return}document.querySelectorAll(et.cssSelector).forEach(Sn)}function Ha(ze,dt){let jt=null;try{jt=dt(ne)}catch(Zt){if(Ke("Language definition for '{}' could not be registered.".replace("{}",ze)),ht)Ke(Zt);else throw Zt;jt=nt}jt.name||(jt.name=ze),Ee[ze]=jt,jt.rawDefinition=dt.bind(null,ne),jt.aliases&&ha(jt.aliases,{languageName:ze})}function nr(ze){delete Ee[ze];for(const dt of Object.keys(je))je[dt]===ze&&delete je[dt]}function rr(){return Object.keys(Ee)}function qn(ze){return ze=(ze||"").toLowerCase(),Ee[ze]||Ee[je[ze]]}function ha(ze,{languageName:dt}){typeof ze=="string"&&(ze=[ze]),ze.forEach(jt=>{je[jt.toLowerCase()]=dt})}function pr(ze){const dt=qn(ze);return dt&&!dt.disableAutodetect}function ka(ze){ze["before:highlightBlock"]&&!ze["before:highlightElement"]&&(ze["before:highlightElement"]=dt=>{ze["before:highlightBlock"](Object.assign({block:dt.el},dt))}),ze["after:highlightBlock"]&&!ze["after:highlightElement"]&&(ze["after:highlightElement"]=dt=>{ze["after:highlightBlock"](Object.assign({block:dt.el},dt))})}function gn(ze){ka(ze),ct.push(ze)}function os(ze){const dt=ct.indexOf(ze);dt!==-1&&ct.splice(dt,1)}function pa(ze,dt){const jt=ze;ct.forEach(function(Zt){Zt[jt]&&Zt[jt](dt)})}function qr(ze){return xe("10.7.0","highlightBlock will be removed entirely in v12.0"),xe("10.7.0","Please use highlightElement now."),Sn(ze)}Object.assign(ne,{highlight:dn,highlightAuto:qt,highlightAll:Tr,highlightElement:Sn,highlightBlock:qr,configure:Qn,initHighlighting:wa,initHighlightingOnLoad:ss,registerLanguage:Ha,unregisterLanguage:nr,listLanguages:rr,getLanguage:qn,registerAliases:ha,autoDetection:pr,inherit:Qe,addPlugin:gn,removePlugin:os}),ne.debugMode=function(){ht=!1},ne.safeMode=function(){ht=!0},ne.versionString=Oe,ne.regex={concat:E,lookahead:x,either:N,optional:S,anyNumberOfTimes:y};for(const ze in J)typeof J[ze]=="object"&&e(J[ze]);return Object.assign(ne,J),ne},mt=Fe({});return mt.newInstance=()=>Fe({}),th=mt,mt.HighlightJS=mt,mt.default=mt,th}var nh,Gy;function LM(){if(Gy)return nh;Gy=1;function e(t){const n=t.regex,a=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s=/[\p{L}0-9._:-]+/u,o={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},c={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},d=t.inherit(c,{begin:/\(/,end:/\)/}),m=t.inherit(t.APOS_STRING_MODE,{className:"string"}),h=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),p={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:s,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[o]},{begin:/'/,end:/'/,contains:[o]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[c,h,m,d,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[c,d,h,m]}]}]},t.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},o,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[h]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[p],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[p],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:n.concat(/</,n.lookahead(n.concat(a,n.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:a,relevance:0,starts:p}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(a,/>/))),contains:[{className:"name",begin:a,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}return nh=e,nh}var rh,Vy;function zM(){if(Vy)return rh;Vy=1;function e(t){const n=t.regex,a={},s={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[a]}]};Object.assign(a,{className:"variable",variants:[{begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},s]});const o={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},c=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),d={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},m={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,a,o]};o.contains.push(m);const h={match:/\\"/},p={className:"string",begin:/'/,end:/'/},g={match:/\\'/},x={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,a]},y=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],S=t.SHEBANG({binary:`(${y.join("|")})`,relevance:10}),E={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},R=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],N=["true","false"],_={match:/(\/[a-z._-]+)+/},I=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],P=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],F=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],M=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:R,literal:N,built_in:[...I,...P,"set","shopt",...F,...M]},contains:[S,t.SHEBANG(),E,x,c,d,_,m,h,p,g,a]}}return rh=e,rh}var ah,Ky;function BM(){if(Ky)return ah;Ky=1;function e(t){const n=t.regex,a=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="("+s+"|"+n.optional(o)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",m={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},p={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},g={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},x={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(p,{className:"string"}),{className:"string",begin:/<.*?>/},a,t.C_BLOCK_COMMENT_MODE]},y={className:"title",begin:n.optional(o)+t.IDENT_RE,relevance:0},S=n.optional(o)+t.IDENT_RE+"\\s*\\(",N={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},_=[x,m,a,t.C_BLOCK_COMMENT_MODE,g,p],I={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:N,contains:_.concat([{begin:/\(/,end:/\)/,keywords:N,contains:_.concat(["self"]),relevance:0}]),relevance:0},P={begin:"("+d+"[\\*&\\s]+)+"+S,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:N,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:N,relevance:0},{begin:S,returnBegin:!0,contains:[t.inherit(y,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:[a,t.C_BLOCK_COMMENT_MODE,p,g,m,{begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:["self",a,t.C_BLOCK_COMMENT_MODE,p,g,m]}]},m,a,t.C_BLOCK_COMMENT_MODE,x]};return{name:"C",aliases:["h"],keywords:N,disableAutodetect:!0,illegal:"</",contains:[].concat(I,P,_,[x,{begin:t.IDENT_RE+"::",keywords:N},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:x,strings:p,keywords:N}}}return ah=e,ah}var ih,Wy;function qM(){if(Wy)return ih;Wy=1;function e(t){const n=t.regex,a=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="(?!struct)("+s+"|"+n.optional(o)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",m={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},p={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},g={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},x={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(p,{className:"string"}),{className:"string",begin:/<.*?>/},a,t.C_BLOCK_COMMENT_MODE]},y={className:"title",begin:n.optional(o)+t.IDENT_RE,relevance:0},S=n.optional(o)+t.IDENT_RE+"\\s*\\(",E=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],R=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],N=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],_=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],F={type:R,keyword:E,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:N},M={className:"function.dispatch",relevance:0,keywords:{_hint:_},begin:n.concat(/\b/,`(?!${E.join("|")})`,t.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))},A=[M,x,m,a,t.C_BLOCK_COMMENT_MODE,g,p],z={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:F,contains:A.concat([{begin:/\(/,end:/\)/,keywords:F,contains:A.concat(["self"]),relevance:0}]),relevance:0},G={className:"function",begin:"("+d+"[\\*&\\s]+)+"+S,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:F,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:F,relevance:0},{begin:S,returnBegin:!0,contains:[y],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[p,g]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:F,relevance:0,contains:[a,t.C_BLOCK_COMMENT_MODE,p,g,m,{begin:/\(/,end:/\)/,keywords:F,relevance:0,contains:["self",a,t.C_BLOCK_COMMENT_MODE,p,g,m]}]},m,a,t.C_BLOCK_COMMENT_MODE,x]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:F,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(z,G,M,A,[x,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:F,contains:["self",m]},{begin:t.IDENT_RE+"::",keywords:F},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}return ih=e,ih}var sh,Yy;function UM(){if(Yy)return sh;Yy=1;function e(t){const n=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],a=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],s=["default","false","null","true"],o=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],c=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],d={keyword:o.concat(c),built_in:n,literal:s},m=t.inherit(t.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),h={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9'_]+|(\\b[\\d'_]+(\\.[\\d'_]*)?|\\.[\\d'_]+)([eE][-+]?[\\d'_]+)?)"}],relevance:0},p={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},g={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},x=t.inherit(g,{illegal:/\n/}),y={className:"subst",begin:/\{/,end:/\}/,keywords:d},S=t.inherit(y,{illegal:/\n/}),E={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,S]},R={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]},N=t.inherit(R,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},S]});y.contains=[R,E,g,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,t.C_BLOCK_COMMENT_MODE],S.contains=[N,E,x,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const _={variants:[p,R,E,g,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},I={begin:"<",end:">",contains:[{beginKeywords:"in out"},m]},P=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",F={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:d,illegal:/::/,contains:[t.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},_,h,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},m,I,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[m,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[m,I,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+P+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:d,contains:[{beginKeywords:a.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,I],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,relevance:0,contains:[_,h,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},F]}}return sh=e,sh}var oh,Zy;function HM(){if(Zy)return oh;Zy=1;const e=h=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:h.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[h.APOS_STRING_MODE,h.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:h.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],n=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],a=[...t,...n],s=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),o=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),d=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function m(h){const p=h.regex,g=e(h),x={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},y="and or not only",S=/@-?\w[\w]*(-\w+)*/,E="[a-zA-Z-][a-zA-Z0-9_-]*",R=[h.APOS_STRING_MODE,h.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[g.BLOCK_COMMENT,x,g.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+E,relevance:0},g.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+o.join("|")+")"},{begin:":(:)?("+c.join("|")+")"}]},g.CSS_VARIABLE,{className:"attribute",begin:"\\b("+d.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[g.BLOCK_COMMENT,g.HEXCOLOR,g.IMPORTANT,g.CSS_NUMBER_MODE,g.UNICODE_RANGE,...R,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...R,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},g.FUNCTION_DISPATCH]},{begin:p.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:S},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:y,attribute:s.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...R,g.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+a.join("|")+")\\b"}]}}return oh=m,oh}var lh,Xy;function $M(){if(Xy)return lh;Xy=1;function e(t){const n=t.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},s={begin:"^[-\\*]{3,}",end:"$"},o={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},c={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},d={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},m=/[A-Za-z][A-Za-z0-9+.-]*/,h={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:n.concat(/\[.+?\]\(/,m,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},p={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},g={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},x=t.inherit(p,{contains:[]}),y=t.inherit(g,{contains:[]});p.contains.push(y),g.contains.push(x);let S=[a,h];return[p,g,x,y].forEach(_=>{_.contains=_.contains.concat(S)}),S=S.concat(p,g),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:S},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:S}]}]},a,c,p,g,{className:"quote",begin:"^>\\s+",contains:S,end:"$"},o,s,h,d,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}return lh=e,lh}var ch,Qy;function PM(){if(Qy)return ch;Qy=1;function e(t){const n=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+,\d+ +\+\d+ +@@/,/^@@ +-\d+ +\+\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}return ch=e,ch}var uh,Jy;function FM(){if(Jy)return uh;Jy=1;function e(t){const n=t.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),o=n.concat(s,/(::\w+)*/),d={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},m={className:"doctag",begin:"@[A-Za-z]+"},h={begin:"#<",end:">"},p=[t.COMMENT("#","$",{contains:[m]}),t.COMMENT("^=begin","^=end",{contains:[m],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],g={className:"subst",begin:/#\{/,end:/\}/,keywords:d},x={className:"string",contains:[t.BACKSLASH_ESCAPE,g],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,g]})]}]},y="[1-9](_?[0-9])*|0",S="[0-9](_?[0-9])*",E={className:"number",relevance:0,variants:[{begin:`\\b(${y})(\\.(${S}))?([eE][+-]?(${S})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},R={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:d}]},A=[x,{variants:[{match:[/class\s+/,o,/\s+<\s+/,o]},{match:[/\b(class|module)\s+/,o]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:d},{match:[/(include|extend)\s+/,o],scope:{2:"title.class"},keywords:d},{relevance:0,match:[o,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:s,scope:"title.class"},{match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[R]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[x,{begin:a}],relevance:0},E,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:d},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.BACKSLASH_ESCAPE,g],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(h,p),relevance:0}].concat(h,p);g.contains=A,R.contains=A;const K=[{begin:/^\s*=>/,starts:{end:"$",contains:A}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:d,contains:A}}];return p.unshift(h),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:d,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(K).concat(p).concat(A)}}return uh=e,uh}var dh,e3;function GM(){if(e3)return dh;e3=1;function e(t){const c={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:c,illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"string",variants:[t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[t.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:c,illegal:/["']/}]}]}}return dh=e,dh}var fh,t3;function VM(){if(t3)return fh;t3=1;function e(t){const n=t.regex,a=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[t.HASH_COMMENT_MODE,t.QUOTE_STRING_MODE,t.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:n.concat(a,n.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}return fh=e,fh}var mh,n3;function KM(){if(n3)return mh;n3=1;function e(t){const n=t.regex,a={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:t.NUMBER_RE}]},s=t.COMMENT();s.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const o={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},c={className:"literal",begin:/\bon|off|true|false|yes|no\b/},d={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},m={begin:/\[/,end:/\]/,contains:[s,c,o,d,a,"self"],relevance:0},h=/[A-Za-z0-9_-]+/,p=/"(\\"|[^"])*"/,g=/'[^']*'/,x=n.either(h,p,g),y=n.concat(x,"(\\s*\\.\\s*",x,")*",n.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[s,{className:"section",begin:/\[+/,end:/\]+/},{begin:y,className:"attr",starts:{end:/$/,contains:[s,m,c,o,d,a]}}]}}return mh=e,mh}var hh,r3;function WM(){if(r3)return hh;r3=1;var e="[0-9](_*[0-9])*",t=`\\.(${e})`,n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={className:"number",variants:[{begin:`(\\b(${e})((${t})|\\.)?|(${t}))[eE][+-]?(${e})[fFdD]?\\b`},{begin:`\\b(${e})((${t})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${t})[fFdD]?\\b`},{begin:`\\b(${e})[fFdD]\\b`},{begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?(${e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function s(c,d,m){return m===-1?"":c.replace(d,h=>s(c,d,m-1))}function o(c){const d=c.regex,m="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",h=m+s("(?:<"+m+"~~~(?:\\s*,\\s*"+m+"~~~)*>)?",/~~~/g,2),S={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},E={className:"meta",begin:"@"+m,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},R={className:"params",begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:[c.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:S,illegal:/<\/|#/,contains:[c.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[c.BACKSLASH_ESCAPE]},c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,m],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[d.concat(/(?!else)/,m),/\s+/,m,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,m],className:{1:"keyword",3:"title.class"},contains:[R,c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+h+"\\s+)",c.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:S,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:[E,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,a,c.C_BLOCK_COMMENT_MODE]},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},a,E]}}return hh=o,hh}var ph,a3;function YM(){if(a3)return ph;a3=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],n=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],o=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],d=[].concat(o,a,s);function m(h){const p=h.regex,g=(ce,{after:pe})=>{const ue="</"+ce[0].slice(1);return ce.input.indexOf(ue,pe)!==-1},x=e,y={begin:"<>",end:"</>"},S=/<[A-Za-z0-9\\._:-]+\s*\/>/,E={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ce,pe)=>{const ue=ce[0].length+ce.index,J=ce.input[ue];if(J==="<"||J===","){pe.ignoreMatch();return}J===">"&&(g(ce,{after:ue})||pe.ignoreMatch());let oe;const ie=ce.input.substring(ue);if(oe=ie.match(/^\s*=/)){pe.ignoreMatch();return}if((oe=ie.match(/^\s+extends\s+/))&&oe.index===0){pe.ignoreMatch();return}}},R={$pattern:e,keyword:t,literal:n,built_in:d,"variable.language":c},N="[0-9](_?[0-9])*",_=`\\.(${N})`,I="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",P={className:"number",variants:[{begin:`(\\b(${I})((${_})|\\.)?|(${_}))[eE][+-]?(${N})\\b`},{begin:`\\b(${I})\\b((${_})\\b|\\.)?|(${_})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},F={className:"subst",begin:"\\$\\{",end:"\\}",keywords:R,contains:[]},M={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[h.BACKSLASH_ESCAPE,F],subLanguage:"xml"}},A={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[h.BACKSLASH_ESCAPE,F],subLanguage:"css"}},z={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[h.BACKSLASH_ESCAPE,F],subLanguage:"graphql"}},G={className:"string",begin:"`",end:"`",contains:[h.BACKSLASH_ESCAPE,F]},K={className:"comment",variants:[h.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:x+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),h.C_BLOCK_COMMENT_MODE,h.C_LINE_COMMENT_MODE]},q=[h.APOS_STRING_MODE,h.QUOTE_STRING_MODE,M,A,z,G,{match:/\$\d+/},P];F.contains=q.concat({begin:/\{/,end:/\}/,keywords:R,contains:["self"].concat(q)});const Q=[].concat(K,F.contains),V=Q.concat([{begin:/(\s*)\(/,end:/\)/,keywords:R,contains:["self"].concat(Q)}]),X={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:R,contains:V},W={variants:[{match:[/class/,/\s+/,x,/\s+/,/extends/,/\s+/,p.concat(x,"(",p.concat(/\./,x),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,x],scope:{1:"keyword",3:"title.class"}}]},B={relevance:0,match:p.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...a,...s]}},Y={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},me={variants:[{match:[/function/,/\s+/,x,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[X],illegal:/%/},j={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function U(ce){return p.concat("(?!",ce.join("|"),")")}const ee={match:p.concat(/\b/,U([...o,"super","import","await"].map(ce=>`${ce}\\s*\\(`)),x,p.lookahead(/\s*\(/)),className:"title.function",relevance:0},O={begin:p.concat(/\./,p.lookahead(p.concat(x,/(?![0-9A-Za-z$_(])/))),end:x,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ge={match:[/get|set/,/\s+/,x,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},X]},Z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+h.UNDERSCORE_IDENT_RE+")\\s*=>",le={match:[/const|var|let/,/\s+/,x,/\s*/,/=\s*/,/(async\s*)?/,p.lookahead(Z)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[X]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:R,exports:{PARAMS_CONTAINS:V,CLASS_REFERENCE:B},illegal:/#(?![$_A-Za-z])/,contains:[h.SHEBANG({label:"shebang",binary:"node",relevance:5}),Y,h.APOS_STRING_MODE,h.QUOTE_STRING_MODE,M,A,z,G,K,{match:/\$\d+/},P,B,{scope:"attr",match:x+p.lookahead(":"),relevance:0},le,{begin:"("+h.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[K,h.REGEXP_MODE,{className:"function",begin:Z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:h.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:R,contains:V}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:y.begin,end:y.end},{match:S},{begin:E.begin,"on:begin":E.isTrulyOpeningTag,end:E.end}],subLanguage:"xml",contains:[{begin:E.begin,end:E.end,skip:!0,contains:["self"]}]}]},me,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+h.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[X,h.inherit(h.TITLE_MODE,{begin:x,className:"title.function"})]},{match:/\.\.\./,relevance:0},O,{match:"\\$"+x,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[X]},ee,j,W,ge,{match:/\$[(.]/}]}}return ph=m,ph}var gh,i3;function ZM(){if(i3)return gh;i3=1;const t={scope:"number",match:"([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",relevance:0};function n(a){const s={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},o={match:/[{}[\],:]/,className:"punctuation",relevance:0},c=["true","false","null"],d={scope:"literal",beginKeywords:c.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:c},contains:[s,o,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,d,t,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}return gh=n,gh}var vh,s3;function XM(){if(s3)return vh;s3=1;var e="[0-9](_*[0-9])*",t=`\\.(${e})`,n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={className:"number",variants:[{begin:`(\\b(${e})((${t})|\\.)?|(${t}))[eE][+-]?(${e})[fFdD]?\\b`},{begin:`\\b(${e})((${t})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${t})[fFdD]?\\b`},{begin:`\\b(${e})[fFdD]\\b`},{begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?(${e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function s(o){const c={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},d={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},m={className:"symbol",begin:o.UNDERSCORE_IDENT_RE+"@"},h={className:"subst",begin:/\$\{/,end:/\}/,contains:[o.C_NUMBER_MODE]},p={className:"variable",begin:"\\$"+o.UNDERSCORE_IDENT_RE},g={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[p,h]},{begin:"'",end:"'",illegal:/\n/,contains:[o.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[o.BACKSLASH_ESCAPE,p,h]}]};h.contains.push(g);const x={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+o.UNDERSCORE_IDENT_RE+")?"},y={className:"meta",begin:"@"+o.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[o.inherit(g,{className:"string"}),"self"]}]},S=a,E=o.COMMENT("/\\*","\\*/",{contains:[o.C_BLOCK_COMMENT_MODE]}),R={variants:[{className:"type",begin:o.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},N=R;return N.variants[1].contains=[R],R.variants[1].contains=[N],{name:"Kotlin",aliases:["kt","kts"],keywords:c,contains:[o.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),o.C_LINE_COMMENT_MODE,E,d,m,x,y,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:c,relevance:5,contains:[{begin:o.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[o.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:c,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[R,o.C_LINE_COMMENT_MODE,E],relevance:0},o.C_LINE_COMMENT_MODE,E,x,y,g,o.C_NUMBER_MODE]},E]},{begin:[/class|interface|trait/,/\s+/,o.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},o.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},x,y]},g,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
312
|
+
`},S]}}return vh=s,vh}var bh,o3;function QM(){if(o3)return bh;o3=1;const e=p=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:p.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[p.APOS_STRING_MODE,p.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:p.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],n=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],a=[...t,...n],s=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),o=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),d=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),m=o.concat(c).sort().reverse();function h(p){const g=e(p),x=m,y="and or not only",S="[\\w-]+",E="("+S+"|@\\{"+S+"\\})",R=[],N=[],_=function(Q){return{className:"string",begin:"~?"+Q+".*?"+Q}},I=function(Q,V,X){return{className:Q,begin:V,relevance:X}},P={$pattern:/[a-z-]+/,keyword:y,attribute:s.join(" ")},F={begin:"\\(",end:"\\)",contains:N,keywords:P,relevance:0};N.push(p.C_LINE_COMMENT_MODE,p.C_BLOCK_COMMENT_MODE,_("'"),_('"'),g.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},g.UNICODE_RANGE,g.HEXCOLOR,F,I("variable","@@?"+S,10),I("variable","@\\{"+S+"\\}"),I("built_in","~?`[^`]*?`"),{className:"attribute",begin:S+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},g.IMPORTANT,{beginKeywords:"and not"},g.FUNCTION_DISPATCH);const M=N.concat({begin:/\{/,end:/\}/,contains:R}),A={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(N)},z={begin:E+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},g.CSS_VARIABLE,{className:"attribute",begin:"\\b("+d.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:N}}]},G={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:P,returnEnd:!0,contains:N,relevance:0}},D={className:"variable",variants:[{begin:"@"+S+"\\s*:",relevance:15},{begin:"@"+S}],starts:{end:"[;}]",returnEnd:!0,contains:M}},K={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:E,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[p.C_LINE_COMMENT_MODE,p.C_BLOCK_COMMENT_MODE,A,I("keyword","all\\b"),I("variable","@\\{"+S+"\\}"),{begin:"\\b("+a.join("|")+")\\b",className:"selector-tag"},g.CSS_NUMBER_MODE,I("selector-tag",E,0),I("selector-id","#"+E),I("selector-class","\\."+E,0),I("selector-tag","&",0),g.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+o.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+c.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:M},{begin:"!important"},g.FUNCTION_DISPATCH]},q={begin:S+`:(:)?(${x.join("|")})`,returnBegin:!0,contains:[K]};return R.push(p.C_LINE_COMMENT_MODE,p.C_BLOCK_COMMENT_MODE,G,D,q,z,K,A,g.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:R}}return bh=h,bh}var yh,l3;function JM(){if(l3)return yh;l3=1;function e(t){const n="\\[=*\\[",a="\\]=*\\]",s={begin:n,end:a,contains:["self"]},o=[t.COMMENT("--(?!"+n+")","$"),t.COMMENT("--"+n,a,{contains:[s],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:t.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[t.inherit(t.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:o}].concat(o)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:n,end:a,contains:[s],relevance:5}])}}return yh=e,yh}var xh,c3;function eO(){if(c3)return xh;c3=1;function e(t){const n={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},a={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,n]},s={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[n,a]},o={begin:"^"+t.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},c={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},d={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[n]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[t.HASH_COMMENT_MODE,n,a,s,o,c,d]}}return xh=e,xh}var wh,u3;function tO(){if(u3)return wh;u3=1;function e(t){const n=t.regex,a=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],s=/[dualxmsipngr]{0,12}/,o={$pattern:/[\w.]+/,keyword:a.join(" ")},c={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:o},d={begin:/->\{/,end:/\}/},m={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},h={scope:"variable",variants:[{begin:/\$\d/},{begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[m]},p={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},g=[t.BACKSLASH_ESCAPE,c,h],x=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],y=(R,N,_="\\1")=>{const I=_==="\\1"?_:n.concat(_,N);return n.concat(n.concat("(?:",R,")"),N,/(?:\\.|[^\\\/])*?/,I,/(?:\\.|[^\\\/])*?/,_,s)},S=(R,N,_)=>n.concat(n.concat("(?:",R,")"),N,/(?:\\.|[^\\\/])*?/,_,s),E=[h,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),d,{className:"string",contains:g,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},p,{begin:"(\\/\\/|"+t.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[t.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:y("s|tr|y",n.either(...x,{capture:!0}))},{begin:y("s|tr|y","\\(","\\)")},{begin:y("s|tr|y","\\[","\\]")},{begin:y("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:S("(?:m|qr)?",/\//,/\//)},{begin:S("m|qr",n.either(...x,{capture:!0}),/\1/)},{begin:S("m|qr",/\(/,/\)/)},{begin:S("m|qr",/\[/,/\]/)},{begin:S("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,m]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,m,p]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return c.contains=E,d.contains=E,{name:"Perl",aliases:["pl","pm"],keywords:o,contains:E}}return wh=e,wh}var kh,d3;function nO(){if(d3)return kh;d3=1;function e(t){const n={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,m={"variable.language":["this","super"],$pattern:a,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},h={$pattern:a,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:m,illegal:"</",contains:[n,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.C_NUMBER_MODE,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+h.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:h,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}return kh=e,kh}var Sh,f3;function rO(){if(f3)return Sh;f3=1;function e(t){const n=t.regex,a=/(?![A-Za-z0-9])(?![$])/,s=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,a),o=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,a),c=n.concat(/[A-Z]+/,a),d={scope:"variable",match:"\\$+"+s},m={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},h={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},p=t.inherit(t.APOS_STRING_MODE,{illegal:null}),g=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(h)}),x={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(h),"on:begin":(X,W)=>{W.data._beginMatch=X[1]||X[2]},"on:end":(X,W)=>{W.data._beginMatch!==X[1]&&W.ignoreMatch()}},y=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),S=`[
|
|
313
|
+
]`,E={scope:"string",variants:[g,p,x,y]},R={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},N=["false","null","true"],_=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],I=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],F={keyword:_,literal:(X=>{const W=[];return X.forEach(B=>{W.push(B),B.toLowerCase()===B?W.push(B.toUpperCase()):W.push(B.toLowerCase())}),W})(N),built_in:I},M=X=>X.map(W=>W.replace(/\|\d+$/,"")),A={variants:[{match:[/new/,n.concat(S,"+"),n.concat("(?!",M(I).join("\\b|"),"\\b)"),o],scope:{1:"keyword",4:"title.class"}}]},z=n.concat(s,"\\b(?!\\()"),G={variants:[{match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),z],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[o,n.concat(/::/,n.lookahead(/(?!class\b)/)),z],scope:{1:"title.class",3:"variable.constant"}},{match:[o,n.concat("::",n.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[o,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},D={scope:"attr",match:n.concat(s,n.lookahead(":"),n.lookahead(/(?!::)/))},K={relevance:0,begin:/\(/,end:/\)/,keywords:F,contains:[D,d,G,t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE,t.HASH_COMMENT_MODE,E,R,A]},q={relevance:0,match:[/\b/,n.concat("(?!fn\\b|function\\b|",M(_).join("\\b|"),"|",M(I).join("\\b|"),"\\b)"),s,n.concat(S,"*"),n.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[K]};K.contains.push(q);const Q=[D,G,t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE,t.HASH_COMMENT_MODE,E,R,A],V={begin:n.concat(/#\[\s*\\?/,n.either(o,c)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:N,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:N,keyword:["new","array"]},contains:["self",...Q]},...Q,{scope:"meta",variants:[{match:o},{match:c}]}]};return{case_insensitive:!1,keywords:F,contains:[V,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},m,{scope:"variable.language",match:/\$this\b/},d,q,G,{match:[/const/,/\s/,s],scope:{1:"keyword",3:"variable.constant"}},A,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:F,contains:["self",V,d,G,t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE,t.HASH_COMMENT_MODE,E,R]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},E,R]}}return Sh=e,Sh}var Eh,m3;function aO(){if(m3)return Eh;m3=1;function e(t){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}return Eh=e,Eh}var Th,h3;function iO(){if(h3)return Th;h3=1;function e(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}return Th=e,Th}var Ch,p3;function sO(){if(p3)return Ch;p3=1;function e(t){const n=t.regex,a=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),s=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],m={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:s,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},h={className:"meta",begin:/^(>>>|\.\.\.) /},p={className:"subst",begin:/\{/,end:/\}/,keywords:m,illegal:/#/},g={begin:/\{\{/,relevance:0},x={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,h],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,h],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,h,g,p]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,h,g,p]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,g,p]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,g,p]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},y="[0-9](_?[0-9])*",S=`(\\b(${y}))?\\.(${y})|\\b(${y})\\.`,E=`\\b|${s.join("|")}`,R={className:"number",relevance:0,variants:[{begin:`(\\b(${y})|(${S}))[eE][+-]?(${y})[jJ]?(?=${E})`},{begin:`(${S})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${E})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${E})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${E})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${E})`},{begin:`\\b(${y})[jJ](?=${E})`}]},N={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:m,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},_={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:m,contains:["self",h,R,x,t.HASH_COMMENT_MODE]}]};return p.contains=[x,R,h],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:m,illegal:/(<\/|\?)|=>/,contains:[h,R,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},x,N,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[_]},{variants:[{match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[R,_,x]}]}}return Ch=e,Ch}var Nh,g3;function oO(){if(g3)return Nh;g3=1;function e(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}return Nh=e,Nh}var Rh,v3;function lO(){if(v3)return Rh;v3=1;function e(t){const n=t.regex,a=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,s=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),o=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,c=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:a,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[t.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:a},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),t.HASH_COMMENT_MODE,{scope:"string",contains:[t.BACKSLASH_ESCAPE],variants:[t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[o,s]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,s]},{scope:{1:"punctuation",2:"number"},match:[c,s]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,s]}]},{scope:{3:"operator"},match:[a,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:o},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:c},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}return Rh=e,Rh}var Ih,b3;function cO(){if(b3)return Ih;b3=1;function e(t){const n=t.regex,a=/(r#)?/,s=n.concat(a,t.UNDERSCORE_IDENT_RE),o=n.concat(a,t.IDENT_RE),c={className:"title.function.invoke",relevance:0,begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,o,n.lookahead(/\s*\(/))},d="([ui](8|16|32|64|128|size)|f(32|64))?",m=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],h=["true","false","Some","None","Ok","Err"],p=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],g=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:g,keyword:m,literal:h,built_in:p},illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*","\\*/",{contains:["self"]}),t.inherit(t.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+d},{begin:"\\b0o([0-7_]+)"+d},{begin:"\\b0x([A-Fa-f0-9_]+)"+d},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+d}],relevance:0},{begin:[/fn/,/\s+/,s],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,s],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,s,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,s],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,s],className:{1:"keyword",3:"title.class"}},{begin:t.IDENT_RE+"::",keywords:{keyword:"Self",built_in:p,type:g}},{className:"punctuation",begin:"->"},c]}}return Ih=e,Ih}var Ah,y3;function uO(){if(y3)return Ah;y3=1;const e=h=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:h.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[h.APOS_STRING_MODE,h.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:h.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],n=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],a=[...t,...n],s=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),o=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),d=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function m(h){const p=e(h),g=c,x=o,y="@[a-z-]+",S="and or not only",R={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[h.C_LINE_COMMENT_MODE,h.C_BLOCK_COMMENT_MODE,p.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},p.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+a.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+x.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+g.join("|")+")"},R,{begin:/\(/,end:/\)/,contains:[p.CSS_NUMBER_MODE]},p.CSS_VARIABLE,{className:"attribute",begin:"\\b("+d.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[p.BLOCK_COMMENT,R,p.HEXCOLOR,p.CSS_NUMBER_MODE,p.UNICODE_RANGE,h.QUOTE_STRING_MODE,h.APOS_STRING_MODE,p.IMPORTANT,p.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:y,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:S,attribute:s.join(" ")},contains:[{begin:y,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},R,h.QUOTE_STRING_MODE,h.APOS_STRING_MODE,p.HEXCOLOR,p.CSS_NUMBER_MODE]},p.FUNCTION_DISPATCH]}}return Ah=m,Ah}var _h,x3;function dO(){if(x3)return _h;x3=1;function e(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}return _h=e,_h}var Mh,w3;function fO(){if(w3)return Mh;w3=1;function e(t){const n=t.regex,a=t.COMMENT("--","$"),s={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},o={begin:/"/,end:/"/,contains:[{match:/""/}]},c=["true","false","unknown"],d=["double precision","large object","with timezone","without timezone"],m=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],h=["add","asc","collation","desc","final","first","last","view"],p=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],g=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],x=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],y=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],S=g,E=[...p,...h].filter(M=>!g.includes(M)),R={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},N={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},_={match:n.concat(/\b/,n.either(...S),/\s*\(/),relevance:0,keywords:{built_in:S}};function I(M){return n.concat(/\b/,n.either(...M.map(A=>A.replace(/\s+/,"\\s+"))),/\b/)}const P={scope:"keyword",match:I(y),relevance:0};function F(M,{exceptions:A,when:z}={}){const G=z;return A=A||[],M.map(D=>D.match(/\|\d+$/)||A.includes(D)?D:G(D)?`${D}|0`:D)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:F(E,{when:M=>M.length<3}),literal:c,type:m,built_in:x},contains:[{scope:"type",match:I(d)},P,_,R,s,o,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,a,N]}}return Mh=e,Mh}var Oh,k3;function mO(){if(k3)return Oh;k3=1;function e(z){return z?typeof z=="string"?z:z.source:null}function t(z){return n("(?=",z,")")}function n(...z){return z.map(D=>e(D)).join("")}function a(z){const G=z[z.length-1];return typeof G=="object"&&G.constructor===Object?(z.splice(z.length-1,1),G):{}}function s(...z){return"("+(a(z).capture?"":"?:")+z.map(K=>e(K)).join("|")+")"}const o=z=>n(/\b/,z,/\w$/.test(z)?/\b/:/\B/),c=["Protocol","Type"].map(o),d=["init","self"].map(o),m=["Any","Self"],h=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],p=["false","nil","true"],g=["assignment","associativity","higherThan","left","lowerThan","none","right"],x=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],y=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],S=s(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),E=s(S,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),R=n(S,E,"*"),N=s(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),_=s(N,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),I=n(N,_,"*"),P=n(/[A-Z]/,_,"*"),F=["attached","autoclosure",n(/convention\(/,s("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",n(/objc\(/,I,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],M=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function A(z){const G={match:/\s+/,relevance:0},D=z.COMMENT("/\\*","\\*/",{contains:["self"]}),K=[z.C_LINE_COMMENT_MODE,D],q={match:[/\./,s(...c,...d)],className:{2:"keyword"}},Q={match:n(/\./,s(...h)),relevance:0},V=h.filter(ve=>typeof ve=="string").concat(["_|0"]),X=h.filter(ve=>typeof ve!="string").concat(m).map(o),W={variants:[{className:"keyword",match:s(...X,...d)}]},B={$pattern:s(/\b\w+/,/#\w+/),keyword:V.concat(x),literal:p},Y=[q,Q,W],me={match:n(/\./,s(...y)),relevance:0},j={className:"built_in",match:n(/\b/,s(...y),/(?=\()/)},U=[me,j],ee={match:/->/,relevance:0},O={className:"operator",relevance:0,variants:[{match:R},{match:`\\.(\\.|${E})+`}]},ge=[ee,O],Z="([0-9]_*)+",le="([0-9a-fA-F]_*)+",ce={className:"number",relevance:0,variants:[{match:`\\b(${Z})(\\.(${Z}))?([eE][+-]?(${Z}))?\\b`},{match:`\\b0x(${le})(\\.(${le}))?([pP][+-]?(${Z}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},pe=(ve="")=>({className:"subst",variants:[{match:n(/\\/,ve,/[0\\tnr"']/)},{match:n(/\\/,ve,/u\{[0-9a-fA-F]{1,8}\}/)}]}),ue=(ve="")=>({className:"subst",match:n(/\\/,ve,/[\t ]*(?:[\r\n]|\r\n)/)}),J=(ve="")=>({className:"subst",label:"interpol",begin:n(/\\/,ve,/\(/),end:/\)/}),oe=(ve="")=>({begin:n(ve,/"""/),end:n(/"""/,ve),contains:[pe(ve),ue(ve),J(ve)]}),ie=(ve="")=>({begin:n(ve,/"/),end:n(/"/,ve),contains:[pe(ve),J(ve)]}),we={className:"string",variants:[oe(),oe("#"),oe("##"),oe("###"),ie(),ie("#"),ie("##"),ie("###")]},Se=[z.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[z.BACKSLASH_ESCAPE]}],Re={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:Se},Ze=ve=>{const st=n(ve,/\//),Fe=n(/\//,ve);return{begin:st,end:Fe,contains:[...Se,{scope:"comment",begin:`#(?!.*${Fe})`,end:/$/}]}},it={scope:"regexp",variants:[Ze("###"),Ze("##"),Ze("#"),Re]},rt={match:n(/`/,I,/`/)},Pt={className:"variable",match:/\$\d+/},gt={className:"variable",match:`\\$${_}+`},Dt=[rt,Pt,gt],Lt={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:M,contains:[...ge,ce,we]}]}},vt={scope:"keyword",match:n(/@/,s(...F),t(s(/\(/,/\s+/)))},Ke={scope:"meta",match:n(/@/,I)},bt=[Lt,vt,Ke],xe={match:t(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:n(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,_,"+")},{className:"type",match:P,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:n(/\s+&\s+/,t(P)),relevance:0}]},_e={begin:/</,end:/>/,keywords:B,contains:[...K,...Y,...bt,ee,xe]};xe.contains.push(_e);const qe={match:n(I,/\s*:/),keywords:"_|0",relevance:0},De={begin:/\(/,end:/\)/,relevance:0,keywords:B,contains:["self",qe,...K,it,...Y,...U,...ge,ce,we,...Dt,...bt,xe]},We={begin:/</,end:/>/,keywords:"repeat each",contains:[...K,xe]},Tt={begin:s(t(n(I,/\s*:/)),t(n(I,/\s+/,I,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:I}]},Wt={begin:/\(/,end:/\)/,keywords:B,contains:[Tt,...K,...Y,...ge,ce,we,...bt,xe,De],endsParent:!0,illegal:/["']/},Qt={match:[/(func|macro)/,/\s+/,s(rt.match,I,R)],className:{1:"keyword",3:"title.function"},contains:[We,Wt,G],illegal:[/\[/,/%/]},At={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[We,Wt,G],illegal:/\[|%/},Pe={match:[/operator/,/\s+/,R],className:{1:"keyword",3:"title"}},Oe={begin:[/precedencegroup/,/\s+/,P],className:{1:"keyword",3:"title"},contains:[xe],keywords:[...g,...p],end:/}/},Ye={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Je={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},Qe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,I,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:B,contains:[We,...Y,{begin:/:/,end:/\{/,keywords:B,contains:[{scope:"title.class.inherited",match:P},...Y],relevance:0}]};for(const ve of we.variants){const st=ve.contains.find(mt=>mt.label==="interpol");st.keywords=B;const Fe=[...Y,...U,...ge,ce,we,...Dt];st.contains=[...Fe,{begin:/\(/,end:/\)/,contains:["self",...Fe]}]}return{name:"Swift",keywords:B,contains:[...K,Qt,At,Ye,Je,Qe,Pe,Oe,{beginKeywords:"import",end:/$/,contains:[...K],relevance:0},it,...Y,...U,...ge,ce,we,...Dt,...bt,xe,De]}}return Oh=A,Oh}var Dh,S3;function hO(){if(S3)return Dh;S3=1;function e(t){const n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},o={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},c={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},d={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,o]},m=t.inherit(d,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),y={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},S={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},E={begin:/\{/,end:/\}/,contains:[S],illegal:"\\n",relevance:0},R={begin:"\\[",end:"\\]",contains:[S],illegal:"\\n",relevance:0},N=[s,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},y,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},E,R,c,d],_=[...N];return _.pop(),_.push(m),S.contains=_,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:N}}return Dh=e,Dh}var jh,E3;function pO(){if(E3)return jh;E3=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],n=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],o=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],d=[].concat(o,a,s);function m(p){const g=p.regex,x=(pe,{after:ue})=>{const J="</"+pe[0].slice(1);return pe.input.indexOf(J,ue)!==-1},y=e,S={begin:"<>",end:"</>"},E=/<[A-Za-z0-9\\._:-]+\s*\/>/,R={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(pe,ue)=>{const J=pe[0].length+pe.index,oe=pe.input[J];if(oe==="<"||oe===","){ue.ignoreMatch();return}oe===">"&&(x(pe,{after:J})||ue.ignoreMatch());let ie;const we=pe.input.substring(J);if(ie=we.match(/^\s*=/)){ue.ignoreMatch();return}if((ie=we.match(/^\s+extends\s+/))&&ie.index===0){ue.ignoreMatch();return}}},N={$pattern:e,keyword:t,literal:n,built_in:d,"variable.language":c},_="[0-9](_?[0-9])*",I=`\\.(${_})`,P="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",F={className:"number",variants:[{begin:`(\\b(${P})((${I})|\\.)?|(${I}))[eE][+-]?(${_})\\b`},{begin:`\\b(${P})\\b((${I})\\b|\\.)?|(${I})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},M={className:"subst",begin:"\\$\\{",end:"\\}",keywords:N,contains:[]},A={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[p.BACKSLASH_ESCAPE,M],subLanguage:"xml"}},z={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[p.BACKSLASH_ESCAPE,M],subLanguage:"css"}},G={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[p.BACKSLASH_ESCAPE,M],subLanguage:"graphql"}},D={className:"string",begin:"`",end:"`",contains:[p.BACKSLASH_ESCAPE,M]},q={className:"comment",variants:[p.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:y+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),p.C_BLOCK_COMMENT_MODE,p.C_LINE_COMMENT_MODE]},Q=[p.APOS_STRING_MODE,p.QUOTE_STRING_MODE,A,z,G,D,{match:/\$\d+/},F];M.contains=Q.concat({begin:/\{/,end:/\}/,keywords:N,contains:["self"].concat(Q)});const V=[].concat(q,M.contains),X=V.concat([{begin:/(\s*)\(/,end:/\)/,keywords:N,contains:["self"].concat(V)}]),W={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:N,contains:X},B={variants:[{match:[/class/,/\s+/,y,/\s+/,/extends/,/\s+/,g.concat(y,"(",g.concat(/\./,y),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,y],scope:{1:"keyword",3:"title.class"}}]},Y={relevance:0,match:g.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...a,...s]}},me={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},j={variants:[{match:[/function/,/\s+/,y,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[W],illegal:/%/},U={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ee(pe){return g.concat("(?!",pe.join("|"),")")}const O={match:g.concat(/\b/,ee([...o,"super","import","await"].map(pe=>`${pe}\\s*\\(`)),y,g.lookahead(/\s*\(/)),className:"title.function",relevance:0},ge={begin:g.concat(/\./,g.lookahead(g.concat(y,/(?![0-9A-Za-z$_(])/))),end:y,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Z={match:[/get|set/,/\s+/,y,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},W]},le="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+p.UNDERSCORE_IDENT_RE+")\\s*=>",ce={match:[/const|var|let/,/\s+/,y,/\s*/,/=\s*/,/(async\s*)?/,g.lookahead(le)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[W]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:N,exports:{PARAMS_CONTAINS:X,CLASS_REFERENCE:Y},illegal:/#(?![$_A-Za-z])/,contains:[p.SHEBANG({label:"shebang",binary:"node",relevance:5}),me,p.APOS_STRING_MODE,p.QUOTE_STRING_MODE,A,z,G,D,q,{match:/\$\d+/},F,Y,{scope:"attr",match:y+g.lookahead(":"),relevance:0},ce,{begin:"("+p.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[q,p.REGEXP_MODE,{className:"function",begin:le,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:p.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:N,contains:X}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:S.begin,end:S.end},{match:E},{begin:R.begin,"on:begin":R.isTrulyOpeningTag,end:R.end}],subLanguage:"xml",contains:[{begin:R.begin,end:R.end,skip:!0,contains:["self"]}]}]},j,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+p.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[W,p.inherit(p.TITLE_MODE,{begin:y,className:"title.function"})]},{match:/\.\.\./,relevance:0},ge,{match:"\\$"+y,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[W]},O,U,B,Z,{match:/\$[(.]/}]}}function h(p){const g=p.regex,x=m(p),y=e,S=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],E={begin:[/namespace/,/\s+/,p.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},R={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:S},contains:[x.exports.CLASS_REFERENCE]},N={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},_=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],I={$pattern:e,keyword:t.concat(_),literal:n,built_in:d.concat(S),"variable.language":c},P={className:"meta",begin:"@"+y},F=(G,D,K)=>{const q=G.contains.findIndex(Q=>Q.label===D);if(q===-1)throw new Error("can not find mode to replace");G.contains.splice(q,1,K)};Object.assign(x.keywords,I),x.exports.PARAMS_CONTAINS.push(P);const M=x.contains.find(G=>G.scope==="attr"),A=Object.assign({},M,{match:g.concat(y,g.lookahead(/\s*\?:/))});x.exports.PARAMS_CONTAINS.push([x.exports.CLASS_REFERENCE,M,A]),x.contains=x.contains.concat([P,E,R,A]),F(x,"shebang",p.SHEBANG()),F(x,"use_strict",N);const z=x.contains.find(G=>G.label==="func.def");return z.relevance=0,Object.assign(x,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),x}return jh=h,jh}var Lh,T3;function gO(){if(T3)return Lh;T3=1;function e(t){const n=t.regex,a={className:"string",begin:/"(""|[^/n])"C\b/},s={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},o=/\d{1,2}\/\d{1,2}\/\d{4}/,c=/\d{4}-\d{1,2}-\d{1,2}/,d=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,m=/\d{1,2}(:\d{1,2}){1,2}/,h={className:"literal",variants:[{begin:n.concat(/# */,n.either(c,o),/ *#/)},{begin:n.concat(/# */,m,/ *#/)},{begin:n.concat(/# */,d,/ *#/)},{begin:n.concat(/# */,n.either(c,o),/ +/,n.either(d,m),/ *#/)}]},p={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},g={className:"label",begin:/^\w+:/},x=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),y=t.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[a,s,h,p,g,x,y,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[y]}]}}return Lh=e,Lh}var zh,C3;function vO(){if(C3)return zh;C3=1;function e(t){t.regex;const n=t.COMMENT(/\(;/,/;\)/);n.contains.push("self");const a=t.COMMENT(/;;/,/$/),s=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],o={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},c={className:"variable",begin:/\$[\w_]+/},d={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},m={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},h={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},p={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:s},contains:[a,n,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},c,d,o,t.QUOTE_STRING_MODE,h,p,m]}}return zh=e,zh}var Bh,N3;function bO(){if(N3)return Bh;N3=1;var e=jM();return e.registerLanguage("xml",LM()),e.registerLanguage("bash",zM()),e.registerLanguage("c",BM()),e.registerLanguage("cpp",qM()),e.registerLanguage("csharp",UM()),e.registerLanguage("css",HM()),e.registerLanguage("markdown",$M()),e.registerLanguage("diff",PM()),e.registerLanguage("ruby",FM()),e.registerLanguage("go",GM()),e.registerLanguage("graphql",VM()),e.registerLanguage("ini",KM()),e.registerLanguage("java",WM()),e.registerLanguage("javascript",YM()),e.registerLanguage("json",ZM()),e.registerLanguage("kotlin",XM()),e.registerLanguage("less",QM()),e.registerLanguage("lua",JM()),e.registerLanguage("makefile",eO()),e.registerLanguage("perl",tO()),e.registerLanguage("objectivec",nO()),e.registerLanguage("php",rO()),e.registerLanguage("php-template",aO()),e.registerLanguage("plaintext",iO()),e.registerLanguage("python",sO()),e.registerLanguage("python-repl",oO()),e.registerLanguage("r",lO()),e.registerLanguage("rust",cO()),e.registerLanguage("scss",uO()),e.registerLanguage("shell",dO()),e.registerLanguage("sql",fO()),e.registerLanguage("swift",mO()),e.registerLanguage("yaml",hO()),e.registerLanguage("typescript",pO()),e.registerLanguage("vbnet",gO()),e.registerLanguage("wasm",vO()),e.HighlightJS=e,e.default=e,Bh=e,Bh}var yO=bO();const R3=Od(yO),w7=/^(javascript|vbscript|data):/i;function xO(e){if(!e)return!1;const t=e.trim();return!(!t||w7.test(t))}function wO(e){if(!e)return!1;const t=e.trim();return!t||w7.test(t)||t.startsWith("blob:")||t.startsWith("data:image/")||/^https?:\/\//i.test(t)?!1:!!(t.startsWith("/")||t.startsWith("./")||t.startsWith("../")||!/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(t))}const kO=[[eA,{singleTilde:!1}],[nM,{singleDollarTextMath:!0}]],SO=[DM];let qh=null,I3=null;async function EO(){return qh||(I3??=DS(()=>import("./mermaid.core-DEQe8-_m.js").then(e=>e.bp),[]).then(e=>{e.default.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"});const t=async(n,a)=>{const{svg:s}=await e.default.render(`oc-mermaid-${Math.random().toString(36).slice(2,10)}`,a);n.innerHTML=s};return qh=t,t}).catch(()=>null),I3)}function TO({code:e}){const t=w.useRef(null),[n,a]=w.useState(!1);return w.useEffect(()=>{let s=!1;return EO().then(o=>{if(s||!o||!t.current){o||a(!0);return}o(t.current,e).catch(()=>{s||a(!0)})}),()=>{s=!0}},[e]),n?u.jsx(Kp,{lang:"mermaid",text:e}):u.jsx("div",{className:"oc-mermaid",ref:t,role:"img","aria-label":"Mermaid 图表"})}function Kp({lang:e,text:t,children:n}){const[a,s]=w.useState(!1),o=w.useMemo(()=>{const d=R3.getLanguage(e)?e:"";return d?R3.highlight(t,{language:d,ignoreIllegals:!0}).value:void 0},[e,t]),c=()=>{navigator.clipboard?.writeText(t).then(()=>{s(!0),window.setTimeout(()=>s(!1),1600)},()=>{})};return u.jsxs("div",{className:"oc-codeblock",children:[u.jsxs("div",{className:"oc-codeblock-head",children:[u.jsx("span",{className:"oc-codeblock-lang",children:e||"text"}),u.jsx("button",{type:"button",className:"oc-codeblock-copy",onClick:c,children:a?"已复制":"复制"})]}),u.jsx("pre",{children:o!==void 0?u.jsx("code",{className:`hljs language-${e}`,dangerouslySetInnerHTML:{__html:o}}):u.jsx("code",{className:e?`hljs language-${e}`:"hljs",children:n??t})})]})}function CO(e){return e?.children?.find(a=>a.tagName==="thead"||a.tagName==="tbody")?.children?.find(a=>a.tagName==="tr")?.children?.filter(a=>a.tagName==="th"||a.tagName==="td").length??0}function Wp(e){if(e==null||typeof e=="boolean")return"";if(typeof e=="string"||typeof e=="number")return String(e);if(Array.isArray(e))return e.map(Wp).join("");if(typeof e=="object"&&"props"in e){const t=e.props;return Wp(t?.children)}return""}const NO={pre({children:e}){return u.jsx(u.Fragment,{children:e})},code({className:e,children:t,...n}){const a=Wp(t).replace(/\n$/,""),s=/language-([\w-]+)/.exec(e??"");return s?.[1]==="mermaid"?u.jsx(TO,{code:a}):s||e&&a.includes(`
|
|
314
|
+
`)?u.jsx(Kp,{lang:s?.[1]??"",text:a}):a.includes(`
|
|
315
|
+
`)?u.jsx(Kp,{lang:"",text:a}):u.jsx("code",{className:e,...n,children:t})},a({href:e,children:t,...n}){if(!xO(e))return u.jsx("span",{...n,children:t});const a=/^https?:\/\//i.test(e??"");return u.jsx("a",{href:e,...a?{target:"_blank",rel:"noopener noreferrer"}:{},...n,children:t})},img({src:e,alt:t}){return wO(e)?u.jsxs(u.Fragment,{children:[u.jsx("img",{src:e,alt:t??"",loading:"lazy",onError:n=>{const a=n.currentTarget;a.hidden=!0,a.nextElementSibling?.removeAttribute("hidden")}}),u.jsx("span",{className:"oc-md-img-fallback",hidden:!0,title:e??void 0,children:t?`[图片加载失败: ${t}]`:"[图片加载失败]"})]}):u.jsx("span",{className:"oc-md-img-fallback",title:e??void 0,children:t?`[图片: ${t}]`:"[图片已屏蔽]"})},table({children:e,node:t}){const n=CO(t)>=4;return u.jsx("div",{className:`oc-md-table-wrap ${n?"is-wide":"is-fill"}`,tabIndex:n?0:void 0,children:u.jsx("table",{children:e})})},input(e){return e.type==="checkbox"?u.jsx("input",{type:"checkbox",checked:!!e.checked,disabled:!0,readOnly:!0}):u.jsx("input",{...e,disabled:!0,readOnly:!0})}};class RO extends w.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t,n){}componentDidUpdate(t){t.text!==this.props.text&&this.state.hasError&&this.setState({hasError:!1})}render(){return this.state.hasError?u.jsx("div",{className:"oc-md",children:u.jsx("pre",{className:"oc-md-fallback",children:this.props.text})}):this.props.children}}function pc({text:e}){try{return u.jsx(RO,{text:e,children:u.jsx("div",{className:"oc-md",children:u.jsx($N,{remarkPlugins:kO,rehypePlugins:SO,components:NO,children:e})})})}catch{return u.jsx("div",{className:"oc-md",children:u.jsx("pre",{className:"oc-md-fallback",children:e})})}}const Yp="allow-scripts",A3="无法在浏览器中打开:弹窗被拦截",IO="内容已截断,以下为已加载片段。";function AO(e){const t=e?.availWidth??1440,n=e?.availHeight??900,a=Math.min(1280,Math.max(880,Math.floor(t*.82))),s=Math.min(960,Math.max(640,Math.floor(n*.88)));return["popup=yes",`width=${a}`,`height=${s}`,"left=72","top=36","menubar=yes","toolbar=yes","location=yes","status=yes","resizable=yes","scrollbars=yes"].join(",")}function Lr(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function r0(e){return e.trim().toLowerCase()}function jo(e){const t=r0(e);return t==="html"||t==="htm"}function X1(e){const t=r0(e);return t==="md"||t==="markdown"}function _O(e){if(r0(e.language)!=="json")return e.content;try{return JSON.stringify(JSON.parse(e.content),null,2)}catch{return e.content}}function MO(e){return/^https?:\/\//i.test(e.trim())}function $l(e){const t=[];return e.replace(/`([^`]+)`/g,(o,c)=>(t.push(`<code>${c}</code>`),`\0${t.length-1}\0`)).replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,(o,c,d)=>MO(d)?`<a href="${d}" rel="noopener noreferrer" target="_blank">${c}</a>`:c).replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>").replace(/__([^_]+)__/g,"<strong>$1</strong>").replace(/\*([^*]+)\*/g,"<em>$1</em>").replace(/\u0000(\d+)\u0000/g,(o,c)=>t[Number(c)]??"")}function OO(e){return e.length?`<p>${$l(e.join(" "))}</p>`:""}function _3(e){const t=e.replaceAll(`\r
|
|
316
|
+
`,`
|
|
317
|
+
`).split(`
|
|
318
|
+
`),n=[];let a=[],s=null;const o=()=>{s&&(n.push(s==="ul"?"</ul>":"</ol>"),s=null)},c=()=>{a.length&&(n.push(OO(a)),a=[])};for(const d of t){const m=/^(#{1,6})\s+(.+)$/.exec(d);if(m){c(),o();const x=m[1].length;n.push(`<h${x}>${$l(m[2])}</h${x}>`);continue}if(/^---+$/.test(d.trim())||/^\*\*\*+$/.test(d.trim())){c(),o(),n.push("<hr>");continue}const h=/^>\s?(.*)$/.exec(d);if(h){c(),o(),n.push(`<blockquote><p>${$l(h[1]??"")}</p></blockquote>`);continue}const p=/^[-*]\s+(.+)$/.exec(d);if(p){c(),s!=="ul"&&(o(),n.push("<ul>"),s="ul"),n.push(`<li>${$l(p[1])}</li>`);continue}const g=/^\d+\.\s+(.+)$/.exec(d);if(g){c(),s!=="ol"&&(o(),n.push("<ol>"),s="ol"),n.push(`<li>${$l(g[1])}</li>`);continue}if(d.trim()===""){c(),o();continue}o(),a.push(d)}return c(),o(),n.join(`
|
|
319
|
+
`)}function DO(e){const t=Lr(e),n=[],a=/```([^\n`]*)\n([\s\S]*?)```/g;let s=0,o;for(;o=a.exec(t);)o.index>s&&n.push(_3(t.slice(s,o.index))),n.push(`<pre class="md-code"><code>${o[2]??""}</code></pre>`),s=o.index+o[0].length;return s<t.length&&n.push(_3(t.slice(s))),n.filter(Boolean).join(`
|
|
320
|
+
`)}function jO(){return`
|
|
321
|
+
:root { color-scheme: light dark; }
|
|
322
|
+
html, body { margin: 0; min-height: 100%; background: #f7f5f0; color: #1f1b16; }
|
|
323
|
+
body { font: 16px/1.65 ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
|
|
324
|
+
.bar { position: sticky; top: 0; z-index: 1; display: flex; gap: 12px; align-items: center; padding: 10px 16px 10px 20px; border-bottom: 1px solid #e4ddd2; background: #fffdf8; }
|
|
325
|
+
.bar .meta { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 2px; }
|
|
326
|
+
.bar strong { font-size: 13px; font-weight: 650; word-break: break-all; }
|
|
327
|
+
.bar .kind { color: #6b6258; font-size: 12px; }
|
|
328
|
+
.modes { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid #e4ddd2; border-radius: 8px; background: #f3eee6; }
|
|
329
|
+
.modes button { appearance: none; border: 0; background: transparent; color: #6b6258; font: 12px/1.2 inherit; padding: 5px 10px; border-radius: 6px; cursor: pointer; }
|
|
330
|
+
.modes button:hover { color: #1f1b16; }
|
|
331
|
+
.modes button.is-active { background: #fff; color: #1f1b16; font-weight: 600; box-shadow: 0 1px 2px rgb(0 0 0 / 8%); }
|
|
332
|
+
.notice { margin: 0; padding: 8px 20px; background: #fff6d8; color: #5c4b00; font-size: 13px; }
|
|
333
|
+
.pane { display: none; }
|
|
334
|
+
.pane.is-active { display: block; }
|
|
335
|
+
.doc { max-width: 52rem; margin: 0 auto; padding: 32px 24px 96px; }
|
|
336
|
+
.doc.md h1, .doc.md h2, .doc.md h3, .doc.md h4 { line-height: 1.25; margin: 1.4em 0 0.5em; }
|
|
337
|
+
.doc.md h1 { font-size: 2rem; }
|
|
338
|
+
.doc.md h2 { font-size: 1.45rem; }
|
|
339
|
+
.doc.md p { margin: 0.8em 0; }
|
|
340
|
+
.doc.md ul, .doc.md ol { margin: 0.6em 0; padding-left: 1.4em; }
|
|
341
|
+
.doc.md blockquote { margin: 0.8em 0; padding: 0.2em 0.9em; border-left: 3px solid #d9cfc0; color: #4a433c; }
|
|
342
|
+
.doc.md hr { border: 0; border-top: 1px solid #e4ddd2; margin: 1.6em 0; }
|
|
343
|
+
.doc.md a { color: #0b57d0; }
|
|
344
|
+
.doc.md code, .md-code, .source { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.92em; }
|
|
345
|
+
.doc.md :not(pre) > code { padding: 0.1em 0.35em; border-radius: 4px; background: #efe8dc; }
|
|
346
|
+
.md-code, .source { margin: 1em 0; padding: 14px 16px; overflow: auto; white-space: pre-wrap; background: #fff; border: 1px solid #e4ddd2; border-radius: 8px; }
|
|
347
|
+
.frame { margin: 0; padding: 0; }
|
|
348
|
+
iframe.page { display: block; width: 100%; height: calc(100vh - 53px); border: 0; background: #fff; }
|
|
349
|
+
`.trim()}function k7(e){return Lr(_O(e))}function LO(e){return jo(e.language)?e.htmlPreviewUrl?`<div class="frame"><iframe class="page" sandbox="${Yp}" referrerpolicy="no-referrer" src="${Lr(e.htmlPreviewUrl)}"></iframe></div>`:`<div class="frame"><iframe class="page" sandbox="${Yp}" srcdoc="${Lr(e.content)}"></iframe></div>`:X1(e.language)?`<article class="doc md">${DO(e.content)}</article>`:`<article class="doc"><pre class="source">${k7(e)}</pre></article>`}function zO(e){return`<article class="doc"><pre class="source">${k7(e)}</pre></article>`}function BO(){return`<script>
|
|
350
|
+
(function () {
|
|
351
|
+
var previewBtn = document.getElementById("view-preview");
|
|
352
|
+
var sourceBtn = document.getElementById("view-source");
|
|
353
|
+
var previewPane = document.getElementById("pane-preview");
|
|
354
|
+
var sourcePane = document.getElementById("pane-source");
|
|
355
|
+
if (!previewBtn || !sourceBtn || !previewPane || !sourcePane) return;
|
|
356
|
+
function show(mode) {
|
|
357
|
+
var source = mode === "source";
|
|
358
|
+
previewBtn.classList.toggle("is-active", !source);
|
|
359
|
+
sourceBtn.classList.toggle("is-active", source);
|
|
360
|
+
previewBtn.setAttribute("aria-pressed", String(!source));
|
|
361
|
+
sourceBtn.setAttribute("aria-pressed", String(source));
|
|
362
|
+
previewPane.classList.toggle("is-active", !source);
|
|
363
|
+
sourcePane.classList.toggle("is-active", source);
|
|
364
|
+
}
|
|
365
|
+
previewBtn.addEventListener("click", function () { show("preview"); });
|
|
366
|
+
sourceBtn.addEventListener("click", function () { show("source"); });
|
|
367
|
+
})();
|
|
368
|
+
<\/script>`}function qO(e){const t=Lr(e.path),n=e.truncated?`<p class="notice">${Lr(IO)}</p>`:"",a=r0(e.language);return`<!doctype html>
|
|
369
|
+
<html lang="zh-CN">
|
|
370
|
+
<head>
|
|
371
|
+
<meta charset="utf-8">
|
|
372
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
373
|
+
<title>${t}</title>
|
|
374
|
+
<style>
|
|
375
|
+
${jO()}
|
|
376
|
+
</style>
|
|
377
|
+
</head>
|
|
378
|
+
<body>
|
|
379
|
+
<header class="bar">
|
|
380
|
+
<div class="meta">
|
|
381
|
+
<strong>${t}</strong>
|
|
382
|
+
<span class="kind">${Lr(a||"text")}${e.truncated?" · 已截断":""}</span>
|
|
383
|
+
</div>
|
|
384
|
+
<div class="modes" role="group" aria-label="查看模式">
|
|
385
|
+
<button type="button" id="view-preview" class="is-active" aria-pressed="true">预览</button>
|
|
386
|
+
<button type="button" id="view-source" aria-pressed="false">查看原文</button>
|
|
387
|
+
</div>
|
|
388
|
+
</header>
|
|
389
|
+
${n}
|
|
390
|
+
<div id="pane-preview" class="pane is-active">${LO(e)}</div>
|
|
391
|
+
<div id="pane-source" class="pane">${zO(e)}</div>
|
|
392
|
+
${BO()}
|
|
393
|
+
</body>
|
|
394
|
+
</html>`}function UO(){const e=globalThis.screen;return{availWidth:e?.availWidth,availHeight:e?.availHeight}}function HO(){const e=globalThis;if(typeof e.open!="function")throw new Error("window.open is unavailable");return{open:e.open.bind(e),createObjectURL:e.URL.createObjectURL.bind(e.URL),revokeObjectURL:e.URL.revokeObjectURL.bind(e.URL)}}function $O(e,t=HO(),n=AO(UO())){let a;try{let s=jo(e.language)&&e.htmlPreviewUrl?e.htmlPreviewUrl:void 0;if(!s){const c=qO(e),d=new Blob([c],{type:"text/html;charset=utf-8"});a=t.createObjectURL(d),s=a}const o=t.open(s,"_blank",n);if(!o)return a&&t.revokeObjectURL(a),{ok:!1,error:A3};try{o.opener=null}catch{}return{ok:!0}}catch{return a&&t.revokeObjectURL(a),{ok:!1,error:A3}}}function Uu(e){const t=e.nodes.length,n=e.nodes.filter(a=>["succeeded","completed","passed"].includes(a.status)).length;return{completed:n,total:t,pct:t?Math.round(n/t*100):0}}function M3(e){const[t,n]=w.useState("files"),a=e.activeTab??t,s=!!e.dagRunId,o=[{id:"files",label:"文件"},...e.contextContent?[{id:"context",label:"上下文"}]:[],...e.callsContent?[{id:"calls",label:"调用记录"}]:[],...e.activityContent?[{id:"activity",label:"运行活动"}]:[],...e.trajectoryContent?[{id:"trajectory",label:"轨迹"}]:[],...e.goalContent?[{id:"goal",label:"目标"}]:[],...s?[{id:"dag",label:"DAG"}]:[]],c=o.some(I=>I.id===a)?a:"files",d=w.useRef(null),m=w.useRef(null),h=w.useRef(null),p=w.useRef(null),g=w.useRef(null),x=w.useRef(null),y=w.useRef(null),S=w.useRef(null),E=w.useRef(e.open),R=I=>{n(I),e.onSelectTab?.(I)},N=I=>{switch(I){case"context":return m;case"calls":return h;case"activity":return p;case"trajectory":return g;case"goal":return x;case"dag":return y;default:return d}};w.useEffect(()=>{c!==a&&R(c)},[a,c]),w.useEffect(()=>{const I=E.current;E.current=e.open,!I&&e.open&&S.current?.focus()},[e.open]);const _=I=>{if(o.length<2)return;let P=null;const F=Math.max(0,o.findIndex(M=>M.id===c));if(I.key==="ArrowLeft"||I.key==="ArrowRight"){const M=I.key==="ArrowRight"?1:-1;P=o[(F+M+o.length)%o.length]?.id??null}else I.key==="Home"?P=o[0]?.id??null:I.key==="End"&&(P=o[o.length-1]?.id??null);P&&(I.preventDefault(),R(P),N(P).current?.focus())};return e.open?u.jsxs("aside",{className:"oc-details-rail","aria-label":"辅助栏",children:[u.jsxs("header",{className:"oc-details-rail-head",children:[u.jsx("div",{className:"oc-details-tabs",role:"tablist","aria-label":"辅助栏",children:o.map(I=>{const P=I.id==="context"||I.id==="calls"||I.id==="activity"||I.id==="goal"?I.id:null;return u.jsxs("div",{className:`oc-details-tab${c===I.id?" is-active":""}`,role:"presentation",children:[u.jsx("button",{type:"button",id:`oc-details-tab-${I.id}`,ref:N(I.id),role:"tab","aria-selected":c===I.id,"aria-controls":"oc-details-rail-body",tabIndex:c===I.id?0:-1,className:"oc-details-tab-select",onClick:()=>R(I.id),onKeyDown:_,children:I.label}),P&&e.onCloseTab?u.jsx("button",{type:"button",className:"oc-details-tab-close","aria-label":`关闭${I.label}标签页`,title:`关闭${I.label}`,onClick:()=>e.onCloseTab?.(P),children:u.jsx(Ls,{size:13,"aria-hidden":"true"})}):null]},I.id)})}),u.jsx("button",{type:"button",className:"oc-details-rail-toggle",ref:S,onClick:e.onToggleOpen,"aria-label":"关闭辅助栏","aria-expanded":e.open,"aria-controls":"oc-details-rail-body",title:"关闭辅助栏",children:u.jsx(yS,{})})]}),e.open?u.jsx("div",{id:"oc-details-rail-body",className:"oc-details-rail-body",role:"tabpanel","aria-labelledby":`oc-details-tab-${c}`,"data-tab":c,children:c==="dag"&&e.dagRunId?u.jsxs("section",{className:"oc-details-dag","aria-label":"当前 DAG",children:[u.jsxs("header",{children:[u.jsx("strong",{children:"当前 DAG"}),u.jsx("code",{children:e.dagRunId})]}),e.dagRun?u.jsxs(u.Fragment,{children:[u.jsxs("p",{className:"oc-details-dag-point",children:["运行点:",u.jsx("code",{children:e.dagRun.currentNodeId??"—"}),e.dagRun.status?u.jsxs("span",{children:["(",e.dagRun.status,")"]}):null]}),u.jsx("ul",{className:"oc-details-dag-nodes","aria-label":"DAG 节点",children:e.dagRun.nodes.map(I=>u.jsxs("li",{"data-status":I.status,children:[u.jsx("span",{className:"oc-details-dag-node-id",children:I.id}),u.jsx("span",{className:"oc-details-dag-node-status",children:I.status})]},I.id))}),u.jsxs("p",{className:"oc-details-dag-progress",children:["完成 ",Uu(e.dagRun).completed,"/",Uu(e.dagRun).total]}),u.jsx("div",{className:"oc-details-dag-progressbar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Uu(e.dagRun).pct,"aria-label":"DAG 完成进度",children:u.jsx("div",{className:"oc-details-dag-progressfill",style:{width:`${Uu(e.dagRun).pct}%`}})})]}):u.jsx("p",{className:"oc-details-dag-empty-reason",children:"当前运行暂无安全汇总数据,等待运行数据同步。"})]}):c==="context"?e.contextContent:c==="calls"?e.callsContent:c==="activity"?e.activityContent:c==="trajectory"?e.trajectoryContent:c==="goal"?e.goalContent:e.children},c):null]}):u.jsx("aside",{className:"oc-details-rail is-collapsed","aria-label":"辅助栏","aria-hidden":"true",inert:!0})}function PO(e){return jo(e.language)||X1(e.language)}function FO(e){return e&&(jo(e)||X1(e))?"preview":"source"}function Hu(e,t){return t.type==="mode"?t.mode:t.path?FO(t.language):"source"}function O3(e){const t=e.previews.find(d=>d.path===e.activePath),n=t?PO(t):!1,[a,s]=w.useState(()=>Hu("source",{type:"file",path:t?.path??null,language:t?.language})),[o,c]=w.useState(null);return w.useEffect(()=>{s(d=>Hu(d,{type:"file",path:t?.path??null,language:t?.language})),c(null)},[t?.path,n]),!t&&!e.loading?null:u.jsxs(u.Fragment,{children:[t&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"oc-file-preview-backdrop",onMouseDown:d=>{d.target===d.currentTarget&&e.onClose(t.path)}}),u.jsxs("section",{className:"oc-file-preview","aria-label":`文件预览 ${t.path}`,children:[u.jsxs("header",{children:[u.jsx("div",{className:"oc-file-tabs",role:"tablist","aria-label":"文件预览 Tabs",children:e.previews.map(d=>{const m=d.path===t.path;return u.jsxs("div",{className:`oc-file-tab${m?" is-active":""}`,title:d.path,children:[u.jsx("button",{type:"button",role:"tab","aria-selected":m,className:"oc-file-tab-activate",onClick:()=>e.onActivate(d.path),children:d.path}),u.jsx("button",{type:"button",className:"oc-file-preview-close","aria-label":`关闭预览 ${d.path}`,title:"关闭预览",onClick:()=>e.onClose(d.path),children:u.jsx(Ls,{size:14,"aria-hidden":"true"})})]},d.path)})}),u.jsxs("span",{children:[t.bytes," bytes",t.truncated?" · 源码已截断":""]}),u.jsxs("div",{className:"oc-file-preview-actions",children:[n&&u.jsxs("div",{className:"oc-file-view-modes",role:"group","aria-label":"文件查看模式",children:[u.jsx("button",{type:"button",className:`oc-file-view-mode${a==="preview"?" is-active":""}`,"aria-pressed":a==="preview",onClick:()=>s(d=>Hu(d,{type:"mode",mode:"preview"})),children:"预览"}),u.jsx("button",{type:"button",className:`oc-file-view-mode${a==="source"?" is-active":""}`,"aria-pressed":a==="source",onClick:()=>s(d=>Hu(d,{type:"mode",mode:"source"})),children:"源文件"})]}),u.jsx("button",{type:"button",className:"oc-file-preview-open",title:"新窗口打开","aria-label":`新窗口打开 ${t.path}`,onClick:()=>{const d=$O(t);c(d.ok?null:d.error)},children:u.jsx(Pk,{size:16,"aria-hidden":"true"})})]})]}),o?u.jsx("p",{className:"oc-file-preview-open-error",role:"alert",children:o}):null,t.truncated&&(a==="source"||!jo(t.language))?u.jsx("p",{className:"oc-file-preview-truncated",role:"status",children:"文件较大,仅展示前 512 KiB。"}):null,a==="preview"&&n?jo(t.language)?u.jsx("iframe",{className:"oc-file-preview-html",sandbox:Yp,title:`HTML 预览 ${t.path}`,referrerPolicy:"no-referrer",src:t.htmlPreviewUrl}):u.jsx("div",{className:"oc-file-preview-rendered",children:u.jsx(pc,{text:t.content})}):u.jsx("pre",{children:u.jsx("code",{children:t.content})})]})]}),e.loading&&u.jsx("div",{className:"oc-file-preview-loading",children:"正在读取文件…"})]})}const S7=[{command:"/task",label:"Task context",description:"查看当前任务、Draft 与 assessment",action:"focus-panel:task",source:"operator"},{command:"/contract",label:"Contract",description:"查看 contract diff 与 apply gate",action:"focus-panel:contract",source:"operator"},{command:"/dag",label:"DAG",description:"查看 DAG spine、确认与运行状态",action:"focus-panel:dag",source:"operator"},{command:"/interview",label:"Interview",description:"打开 Requirement Interview",action:"focus:interview",source:"operator"},{command:"/reload",label:"Reload session",description:"重新加载当前 Pi 会话的设置、扩展、技能、提示词、主题、上下文文件及模型与认证配置(不产生消息)",action:"reload",source:"operator"}],Eo={command:"/sdd-bingo",label:"sdd-bingo",description:"SDD数据对齐",action:"sdd-bingo",source:"operator"},E7=[{command:"/goal",label:"持续目标",description:"创建或编辑一个跨多个回合持续推进的目标",action:"goal",source:"web"},{command:"/compact",label:"压缩上下文",description:"压缩当前会话上下文,释放 token",action:"compact",source:"web"},{command:"/name",label:"重命名会话",description:"设置当前会话标题",action:"name",source:"web"},{command:"/session",label:"会话信息",description:"显示当前会话元信息",action:"session",source:"web"},{command:"/copy",label:"复制回复",description:"复制最后一条助手消息原文",action:"copy",source:"web"}],Ms={operator:0,web:1,extension:2,skill:3,prompt:4};function D3(e){const t=e.trim().split(/\s+/,1)[0]??"";return t?t.startsWith("/")?t.toLowerCase():`/${t.toLowerCase()}`:""}function j3(e){const t=e.trim().split(/\s+/,1)[0]?.toLowerCase();if(!t?.startsWith("/"))return;const n=[...S7,...E7,Eo].find(a=>a.command===t);return n?{command:n.command,action:n.action}:{command:t,action:"unknown"}}function GO(e){if(e==="focus-panel:task"||e==="focus-panel:contract")return"tasks";if(e==="focus-panel:dag")return"recovery"}function VO(e=[],t={}){const n=new Map,a=s=>{const o=D3(s.command);if(!o)return;const c=n.get(o);if(!c){n.set(o,{...s,command:o});return}Ms[s.source]<Ms[c.source]&&n.set(o,{...s,command:o})};for(const s of S7)a({command:s.command,label:s.label,description:s.description,source:s.source,action:s.action});for(const s of E7)a({command:s.command,label:s.label,description:s.description,source:s.source,action:s.action});t.sddBingo&&a({command:Eo.command,label:Eo.label,description:Eo.description,source:Eo.source,action:Eo.action});for(const s of e){const o=D3(s.command);o&&a({command:o,label:s.label||o,description:s.description||"",source:s.source,action:"pi-prompt"})}return[...n.values()].sort((s,o)=>{const c=Ms[s.source]-Ms[o.source];return c!==0?c:s.command.localeCompare(o.command)})}function KO(e,t){const n=(t.trim().split(/\s+/,1)[0]??"").toLowerCase();if((/\s/.test(t.trimStart().slice(1))||t.includes(" "))&&t.trimStart().includes(" "))return[];const a=n.startsWith("/")?n:n?`/${n}`:"/",s=a==="/"?"":a.slice(1),o=[];for(const c of e){const d=c.command.toLowerCase(),m=d.startsWith("/")?d.slice(1):d,h=c.description.toLowerCase();let p=100;if(!s)p=10+Ms[c.source];else if(d===a||m===s)p=0;else if(d.startsWith(a)||m.startsWith(s))p=1;else if(m.includes(s)||d.includes(s))p=2;else if(h.includes(s))p=3;else continue;o.push({...c,score:p})}return o.sort((c,d)=>{if(c.score!==d.score)return c.score-d.score;const m=Ms[c.source]-Ms[d.source];return m!==0?m:c.command.localeCompare(d.command)})}const WO={operator:"Operator",web:"Pi Web",extension:"Extensions",prompt:"Prompts",skill:"Skills"},YO=new Set(["operatorCapabilities","operationList","operationGet","operationEventSummary","statsContext","sourceInstructions","spineCheck","inspect","observeLink"]);function ZO(e){return YO.has(e)?"technical-only":e==="doctor"?"inline-detail":"activity-detail"}const XO={newTask:"创建任务",importPrd:"任务需求",contractShow:"任务边界",contractApply:"更新任务契约",contractDiff:"任务契约差异",contractDraftSave:"任务契约草稿",contractValidate:"检查任务契约",taskAdvance:"推进任务准备",dagRunTask:"执行流程",dagValidate:"校验执行流程",prepareDagConfirmation:"执行确认",confirmDagConfirmation:"确认执行边界",prepareDagExecution:"执行边界",runDag:"任务执行",operationWait:"执行监督",operationGet:"任务活动详情",operationList:"会话活动",operationEventSummary:"执行进展摘要",dagStatus:"执行状态",dagDoctor:"执行诊断",dagReport:"执行结果",dagRerunPlan:"节点恢复评估",dagRerun:"从失败节点恢复",dagInterruptEligibility:"中止资格",standaloneTaskRerun:"带反馈重新执行",workerTaskRetry:"重试 Worker 任务",workerPoolDoctor:"任务池诊断",promoteRun:"任务推进",status:"任务状态"},QO={newTask:{running:"正在创建任务",success:"任务已经创建",error:"创建任务时遇到问题"},importPrd:{running:"正在整理并导入任务需求",success:"任务需求已经导入",error:"导入任务需求时遇到问题"},contractShow:{running:"正在读取任务目标和执行边界",success:"任务目标与执行边界已经读取",error:"读取任务边界时遇到问题"},taskAdvance:{running:"正在推进任务契约并准备执行流程",success:"任务已经推进到下一安全阶段",error:"任务推进被契约或执行边界阻塞"},dagRunTask:{running:"正在生成并校验执行流程",success:"执行流程已经准备好",error:"准备执行流程时遇到问题"},prepareDagExecution:{running:"正在确认任务可以安全执行",success:"执行边界已经确认",error:"执行边界尚未通过确认"},runDag:{running:"正在启动任务执行",success:"任务执行已经启动",error:"启动任务执行时遇到问题"},dagReport:{running:"正在读取本次执行结果",success:"本次执行结果已经读取",error:"读取执行结果时遇到问题"},dagRerunPlan:{running:"正在评估能否从失败节点安全恢复",success:"节点恢复条件评估已经完成",error:"暂时无法确定安全的恢复方式"},dagRerun:{running:"正在创建节点恢复 run",success:"节点恢复 run 已经启动",error:"从失败节点恢复时遇到问题"},dagInterruptEligibility:{running:"正在检查能否协作中止此运行",success:"中止资格已经确认",error:"当前运行不能协作中止"},standaloneTaskRerun:{running:"正在创建新的完整 DAG,并带入上一轮未解决反馈",success:"新的完整 DAG 已经按上一轮反馈重新执行",error:"带反馈重新执行任务时遇到问题"},workerPoolDoctor:{running:"正在读取任务池状态",success:"任务池状态已经读取",error:"读取任务池状态时遇到问题"},promoteRun:{running:"正在推进任务状态",success:"任务状态已经更新",error:"推进任务状态时遇到问题"},status:{running:"正在读取任务状态",success:"任务状态已经更新",error:"读取任务状态时遇到问题"},contractApply:{running:"正在应用任务契约变更",success:"任务契约已经更新",error:"应用任务契约变更时遇到问题"},contractDiff:{running:"正在比较任务契约版本",success:"任务契约差异已经读取",error:"比较任务契约时遇到问题"},contractDraftSave:{running:"正在保存任务契约草稿",success:"任务契约草稿已经保存",error:"保存任务契约草稿时遇到问题"},contractValidate:{running:"正在检查任务契约",success:"任务契约检查已经完成",error:"任务契约检查没有通过"},dagValidate:{running:"正在校验执行流程",success:"执行流程校验已经通过",error:"执行流程校验没有通过"},prepareDagConfirmation:{running:"正在准备执行确认",success:"执行确认已经准备好",error:"准备执行确认时遇到问题"},confirmDagConfirmation:{running:"正在确认执行边界",success:"执行边界已经确认",error:"执行边界尚未通过确认"},operationGet:{running:"正在读取任务活动详情",success:"任务活动详情已经读取",error:"读取任务活动详情时遇到问题"},operationList:{running:"正在读取本次对话的活动",success:"本次对话的活动已经读取",error:"读取对话活动时遇到问题"},operationEventSummary:{running:"正在汇总执行进展",success:"执行进展已经汇总",error:"汇总执行进展时遇到问题"},dagStatus:{running:"正在读取执行状态",success:"执行状态已经更新",error:"读取执行状态时遇到问题"},dagDoctor:{running:"正在诊断本次任务执行",success:"任务执行诊断已经完成",error:"诊断任务执行时遇到问题"},workerTaskRetry:{running:"正在重试失败的任务",success:"失败任务已经重新开始",error:"重试失败任务时遇到问题"},doctor:{running:"正在检查运行环境",success:"运行环境检查已经完成",error:"运行环境检查发现问题"},inspect:{running:"正在读取详细运行信息",success:"详细运行信息已经读取",error:"读取详细运行信息时遇到问题"},observeLink:{running:"正在准备运行看板入口",success:"运行看板入口已经准备好",error:"准备运行看板入口时遇到问题"},operatorCapabilities:{running:"正在读取可用操作能力",success:"可用操作能力已经读取",error:"读取可用操作能力时遇到问题"},sourceInstructions:{running:"正在读取任务来源说明",success:"任务来源说明已经读取",error:"读取任务来源说明时遇到问题"},spineCheck:{running:"正在检查计划执行步骤",success:"计划执行步骤检查已经完成",error:"计划执行步骤检查发现问题"},statsContext:{running:"正在统计上下文使用情况",success:"上下文使用情况已经统计完成",error:"统计上下文使用情况时遇到问题"}},JO=[{pattern:/(?:^|-)contract(?:-pi)?$/i,running:"正在核对任务目标和执行边界",finished:"任务目标与执行边界已确认",error:"任务边界存在冲突,需要先处理"},{pattern:/scout-src/i,running:"正在梳理与任务相关的代码",finished:"相关代码范围已梳理",error:"梳理相关代码时遇到问题"},{pattern:/scout-tests/i,running:"正在检查现有测试和验证方式",finished:"现有测试与验证方式已确认",error:"检查现有测试时遇到问题"},{pattern:/plan/i,running:"正在整理具体实施步骤",finished:"实施步骤已经准备好",error:"实施方案还需要进一步完善"},{pattern:/implement|writer/i,running:"正在修改并保存相关文件",finished:"文件修改已经完成",error:"修改文件时遇到问题"},{pattern:/verify|reverify/i,running:"正在验证本次修改",finished:"本次修改已通过验证",error:"验证没有通过,正在检查原因"},{pattern:/review/i,running:"正在检查改动是否完整",finished:"改动完整性检查已通过",error:"发现需要补充或修正的内容"},{pattern:/closeout/i,running:"正在整理交付结果",finished:"任务已经完成并形成交付记录",error:"交付结果尚未整理完整"}];function T7(e){if(!(!e||typeof e!="object"))return e}function C7(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return T7(JSON.parse(e))}catch{return}}function Uh(e){const n=C7(e)?.operationId;return typeof n=="string"&&n?n:void 0}function Q1(e){const t=e.operationId??Uh(e.args)??Uh(e.result)??Uh(e.resultText);return t?`operation:${t}`:`tool:${e.id}`}function eD(e){if(e.toolName!=="operationWait")return;const t=Q1(e);if(t.startsWith("operation:"))return{id:`dag-progress:${t}`,activityRef:t}}function tD(e){return e==="running"?"progress":e==="error"?"error":"success"}function nD(e){return C7(e.resultText??e.result)}function rD(e){return Array.isArray(e.events)?e.events.flatMap(t=>{const n=T7(t);if(!n)return[];const a=n.messagePreview??n.message;return typeof a=="string"?[a]:[]}):[]}function aD(e,t,n){const a=[];for(const m of e)for(const h of m.matchAll(/node-(started|finished)[^\n]*?node=([^\s,]+)/gi)){const p=h[1]?.toLowerCase(),g=h[2]??"",x=m.match(/status=([^\s,]+)/i)?.[1]?.toUpperCase();let y="finished";x==="ERROR"||x==="FAILED"?y="error":p==="started"&&(y="running"),a.push({node:g,status:y})}const s=a.at(-1);if(!s)return;const o=a.some(m=>/scout-src/i.test(m.node)&&m.status==="finished"),c=a.some(m=>/scout-tests/i.test(m.node)&&m.status==="finished");if(o&&c)return{id:t,kind:"success",title:"代码与测试的影响范围已确认",activityRef:n};const d=JO.find(m=>m.pattern.test(s.node));return d?s.status==="running"?{id:t,kind:"progress",title:d.running,activityRef:n}:s.status==="error"?{id:t,kind:"error",title:d.error,activityRef:n}:{id:t,kind:"success",title:d.finished,activityRef:n}:{id:t,kind:"success",title:"执行状态已经更新",activityRef:n}}function iD(e){const t=Q1(e),n=`activity:${e.id}`;if(e.status==="running")return{id:n,kind:"progress",title:"正在等待新的执行进展",activityRef:t};if(e.status==="error")return{id:n,kind:"error",title:"等待执行进展时遇到问题",activityRef:t};let a="";typeof e.resultText=="string"?a=e.resultText:typeof e.result=="string"&&(a=e.result);const s=nD(e),o=aD([a,...s?rD(s):[]],n,t);if(o)return o;if(s){if(s.timedOut===!0||s.changed===!1)return{id:n,kind:"warning",title:"等待期间没有新的执行进展",activityRef:t};if(s.changed===!0)return{id:n,kind:"success",title:"已经收到新的执行进展",activityRef:t}}return{id:n,kind:"success",title:"执行状态已经更新",activityRef:t}}function sD(e){const t=ZO(e.toolName);if(t==="technical-only"||t==="inline-detail")return;if(e.toolName==="operationWait")return iD(e);const n=QO[e.toolName];if(!n)return;let a=n.success;return e.status==="running"?a=n.running:e.status==="error"&&(a=n.error),{id:`activity:${e.id}`,kind:tD(e.status),title:a,activityRef:Q1(e)}}function N7(e){return XO[e]??"任务活动"}function J1(e){switch(e){case"starting":return{label:"正在启动",kind:"progress"};case"running":return{label:"运行中",kind:"progress"};case"succeeded":case"finished":case"FINISHED":case"pass":return{label:"已完成",kind:"success"};case"failed":case"partial_failed":case"ERROR":case"FAILED":case"timed-out":return{label:"未完成",kind:"error"};case"needs-reconcile":return{label:"需要同步",kind:"warning"};case"cancelled":case"abandoned":case"superseded":return{label:"已停止",kind:"warning"};default:return{label:"状态已更新",kind:"success"}}}function R7(e){return[e.activityRef??`operation:${e.operationId}`,`operation:${e.operationId}`,...e.toolCallId?[`tool:${e.toolCallId}`]:[]]}function I7(e){return[e.activityRef??`gate:${e.cardId}`]}function A7(e){return[e.activityRef??`artifact:${e.artifactId}`]}function oD(e){return new Set([...e.operations.flatMap(R7),...e.gates.flatMap(I7),...e.artifacts.flatMap(A7)])}function L3(e){return e.updatedSeq??e.eventSeq}function z3(e){const t=Date.parse(e.updatedAt);return Number.isFinite(t)?t:0}function eg(e,t){const n=L3(e),a=L3(t);return n!==void 0&&a!==void 0?n-a:z3(e)-z3(t)}function lD(e){return e.taskId?`task:${e.taskId}`:e.dagRunId?`run:${e.dagRunId}`:`operation:${e.operationId}`}function cD(e){return e.taskId?e.taskId.replace(/^\d{4}-\d{2}-\d{2}-/,"").replace(/[-_]+/g," ").trim()||e.taskId:N7(e.action)}function uD(e){return[...new Set(e)]}function dD(e){const t=new Map;for(const n of e)t.set(n.action,n);return[...t.values()].sort(eg).map(n=>{const a=J1(n.state);return{id:n.operationId,label:N7(n.action),stateLabel:a.label,kind:a.kind,at:n.updatedAt}})}function fD(e){const t=new Map;for(const n of e){const a=n.dagRunId??n.runSummary?.runId;if(!a)continue;const s=t.get(a)??[];s.push(n),t.set(a,s)}return[...t.entries()].flatMap(([n,a])=>{const s=[...a].sort((h,p)=>eg(p,h)),o=s[0];if(!o)return[];const c=s.find(h=>h.runSummary)?.runSummary,d=c?.status??o.state,m=J1(d);return[{runId:n,state:d,stateLabel:m.label,kind:m.kind,updatedAt:o.updatedAt,operationCount:a.length,firstFailedNode:c?.nodes.find(h=>h.status==="ERROR")?.id,failureCategory:c?.failureCategory,inspectHref:o.inspectHref}]}).sort((n,a)=>Date.parse(a.updatedAt)-Date.parse(n.updatedAt))}function _7(e){const t=new Map;for(const n of e){const a=lD(n),s=t.get(a)??[];s.push(n),t.set(a,s)}return[...t.entries()].flatMap(([n,a])=>{const s=[...a].sort(eg),o=s.at(-1);if(!o)return[];const c=J1(o.state);return[{key:n,taskId:o.taskId,displayTitle:cD(o),state:o.state,stateLabel:c.label,kind:c.kind,updatedAt:o.updatedAt,latestOperation:o,operations:s,steps:dD(s),runs:fD(s),activityRefs:uD(s.flatMap(R7)),compactEligible:c.kind==="success"}]}).sort((n,a)=>{const s=n.kind==="progress"||n.kind==="error"?0:1,o=a.kind==="progress"||a.kind==="error"?0:1;return s!==o?s-o:Date.parse(a.updatedAt)-Date.parse(n.updatedAt)})}const mD={operation:"执行记录",contract:"任务契约",dag:"执行流程",report:"报告",html:"HTML 预览"};function hD(e){const{artifact:t}=e,n=!!(t.reportText||t.htmlPreview);return u.jsxs("section",{className:"oc-artifact-card","aria-label":`任务产物:${t.title??t.artifactId}`,"data-activity-ref":t.activityRef??`artifact:${t.artifactId}`,children:[u.jsxs("header",{children:[u.jsxs("div",{children:[u.jsx("small",{children:"任务产物"}),u.jsx("strong",{children:t.title??t.artifactId}),u.jsx("code",{children:t.artifactId})]}),u.jsx("span",{children:mD[t.kind]})]}),t.summary?u.jsx("p",{children:t.summary}):null,n?u.jsxs("details",{className:"oc-artifact-details",children:[u.jsx("summary",{children:"预览与技术详情"}),t.reportText?u.jsx("pre",{children:t.reportText}):null,t.htmlPreview?u.jsx("iframe",{title:`${t.title??t.artifactId} preview`,sandbox:"",srcDoc:t.htmlPreview}):null]}):null,t.inspectHref?u.jsx("footer",{children:u.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>js(Qi(t.inspectHref??"")),children:"打开产物"})}):null]})}const B3={prepared:"等待确认",confirmed:"已经确认",dispatched:"正在执行",consumed:"已经完成",stale:"已经失效",expired:"已经过期",error:"处理失败"};function q3(e){return e.gateType==="contract-apply"?"确认任务契约变更":e.gateType==="mutation"?"确认执行工作区修改":"确认启动任务执行"}function pD({card:e,origin:t,sessionId:n}){const[a,s]=w.useState(!1),[o,c]=w.useState(),d=async()=>{s(!0),c(void 0);try{let g="contract-apply";e.gateType==="dag-run"?g=e.state==="prepared"?"dag-confirm":"dag-run":e.gateType==="mutation"&&(g="mutation-apply");const x=e.gateType==="dag-run"?{confirmationId:e.confirmationId,...e.state==="prepared"?{humanGateToken:e.humanGateToken}:{}}:{receiptId:e.receiptId,humanGateToken:e.humanGateToken},y=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(n)}/human-gate/${g}`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},body:JSON.stringify(x)}),S=await y.json();if(!y.ok)throw new Error(S.error?.message??`HTTP ${y.status}`)}catch(g){c(g instanceof Error?g.message:String(g))}finally{s(!1)}},m=e.state==="prepared"||e.gateType==="dag-run"&&e.state==="confirmed";let h="确认接受";e.gateType==="mutation"?h="确认执行":e.gateType==="dag-run"&&(h=e.state==="prepared"?"确认边界":"启动执行");const p=(e.displayOnlyChallenges?.length??0)+(e.dagSpine?.length??0);return u.jsxs("section",{className:`oc-human-gate-card is-${e.state}`,"aria-label":`${q3(e)}:${B3[e.state]}`,"data-activity-ref":e.activityRef??`gate:${e.cardId}`,children:[u.jsxs("header",{children:[u.jsxs("div",{children:[u.jsx("small",{children:"人工门禁"}),u.jsx("strong",{children:q3(e)}),u.jsx("code",{children:e.taskId})]}),u.jsx("span",{children:B3[e.state]})]}),e.contractDiffSummary?u.jsx("p",{className:"oc-human-gate-summary",children:e.contractDiffSummary}):null,p>0||e.errorMessage?u.jsxs("details",{className:"oc-human-gate-details",children:[u.jsxs("summary",{children:["门禁详情 · ",p," 项"]}),e.displayOnlyChallenges?.length?u.jsxs("div",{className:"oc-human-gate-challenges",children:[u.jsx("b",{children:"确认前请检查"}),u.jsx("ul",{children:e.displayOnlyChallenges.map(g=>u.jsx("li",{children:g},g))})]}):null,e.dagSpine?.length?u.jsxs("div",{children:[u.jsx("b",{children:"计划执行步骤"}),u.jsx("ol",{children:e.dagSpine.map(g=>u.jsx("li",{children:u.jsx("code",{children:g})},g))})]}):null,e.errorMessage?u.jsx("p",{className:"oc-human-gate-error",children:e.errorMessage}):null]}):null,u.jsxs("footer",{children:[u.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>js(Qi(e.inspectHref)),children:"查看记录"}),u.jsx("button",{className:"btn btn-primary",type:"button",disabled:!m||a,onClick:()=>{d()},children:a?"提交中…":h})]}),o?u.jsx("div",{className:"oc-human-gate-error",children:o}):null]})}const gD={validation:"节点输出未通过契约或门禁校验。可在恢复页从失败节点重跑;若错误指向任务契约(如验证命令、Mock 策略),先修正任务配置并重新生成 DAG。",executor:"执行器或模型提供方调用失败(网络、配额或运行时错误)。稍后可在恢复页从失败节点重跑;反复出现请到「模型与认证」页检查配置与凭据。","write-guard":"写入越过了授权边界(writeSet / allowedPaths)。检查计划中的写入路径是否越界,修正后从失败节点重跑。",timeout:"节点执行超时。可在恢复页从失败节点重跑;反复超时建议缩小任务范围或排查卡住的命令。",auth:"模型或服务认证失败。请先到「模型与认证」页检查 API Key 与模型配置,再从失败节点重跑。","human-required":"节点正在等待人工审批。完成审批后该节点可继续执行;也可在恢复页查看对账状态。","human-rejected":"人工审批被拒绝。请调整任务描述或契约后重新发起任务。","shell-command":"验证/构建命令以非零退出。进入 DAG 查看命令输出定位具体失败,修复后从失败节点重跑。","static-error":"静态检查(typecheck / lint 等)失败。修复对应代码错误后从失败节点重跑。","decision-envelope":"决策与证据不匹配(决策包络校验失败)。进入 DAG 查看节点决策依据,修正后重跑。",unknown:"失败原因未归类。进入 DAG 查看节点详情,或在恢复页使用对账 / 诊断入口。"};function vD(e){if(e)return gD[e]}function U3(e,t=900){if(e)return e.length>t?`${e.slice(0,t)}…`:e}function Hh(e){return new Date(e).toLocaleString()}function H3(e){if(!e)return;const t=e.trim();if(/taskId[^\n]*(?:placeholder|占位)|["']?<id>["']?/i.test(t))return"任务编号仍是占位符;请提供实际的 YYYY-MM-DD-<slug> 任务编号后重试。";if(/ENOENT|no such file or directory/i.test(t))return"任务活动缺少所需文件或目录,可进入 DAG 查看详情。";if(/command failed|exited with code/i.test(t))return"相关命令没有成功完成,可进入 DAG 查看详情。";if(!(t.length>220||t.startsWith("{")||t.startsWith("[")||t.includes("[dag execute]")||t.includes("schemaVersion")||/[A-Za-z]:\\/.test(t)))return t}function bD(e){const t=e.latestOperation,n=t.runSummary;if(e.kind==="success"||e.kind==="progress")return;const a=n?.nodes.find(c=>c.status==="ERROR")?.id;if(a){const c=n?.failureCategory?`,原因分类为 ${n.failureCategory}`:"";return`执行在 ${a} 阶段未完成${c}。`}const s=n?.next?.description;if(s&&/fail|error|block|cannot|unable/i.test(s))return s;const o=H3(t.stderrPreview)??H3(t.summaryPreview);return o||(e.kind==="error"?"本次任务活动没有完成,可进入 DAG 查看详情或使用恢复选项。":"本次任务活动需要进一步确认,请查看相关记录。")}function yD(e){const{journey:t}=e,n=t.latestOperation,a=t.runs[0],s=t.runs.slice(1),o=Qi(n.inspectHref),c=bD(t),d=t.kind==="error"||t.kind==="warning",m=t.latestOperation.runSummary,h=m?.nodes.find(x=>x.failureCategory)?.failureCategory??m?.failureCategory,p=d?vD(h):void 0,g=(x,y)=>{e.onNavigateWorkspace?e.onNavigateWorkspace(x,y):window.location.assign(O9(x,y))};return e.compact?u.jsxs("details",{className:"oc-journey-compact",children:[u.jsxs("summary",{children:[u.jsx("span",{className:`oc-journey-dot is-${t.kind}`,"aria-hidden":"true"}),u.jsxs("span",{children:[u.jsx("strong",{children:t.displayTitle}),u.jsxs("small",{children:[t.stateLabel," · ",Hh(t.updatedAt)]})]}),u.jsx("span",{"aria-hidden":"true",children:"›"})]}),u.jsxs("div",{className:"oc-journey-compact-body",children:[t.taskId?u.jsx("code",{children:t.taskId}):null,u.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>js(o),children:"查看记录"})]})]}):u.jsxs("section",{className:`oc-task-journey-card is-${t.kind}`,"aria-label":`${t.displayTitle}:${t.stateLabel}`,children:[u.jsxs("header",{className:"oc-journey-head",children:[u.jsxs("div",{children:[u.jsxs("div",{className:"oc-journey-state-line",children:[u.jsx("span",{className:`oc-journey-dot is-${t.kind}`,"aria-hidden":"true"}),u.jsx("span",{children:t.stateLabel})]}),u.jsx("strong",{children:t.displayTitle}),t.taskId?u.jsxs("small",{children:["Task · ",u.jsx("code",{children:t.taskId})]}):null]}),u.jsx("time",{dateTime:t.updatedAt,children:Hh(t.updatedAt)})]}),u.jsx("div",{className:"oc-journey-steps","aria-label":"任务旅程",children:t.steps.slice(-6).map(x=>u.jsxs("div",{className:"oc-journey-step",children:[u.jsx("span",{className:`oc-journey-step-icon is-${x.kind}`,"aria-hidden":"true",children:x.kind==="success"?"✓":x.kind==="error"?"!":"•"}),u.jsx("span",{children:x.label}),u.jsx("small",{children:x.stateLabel})]},x.id))}),c?u.jsxs("div",{className:`oc-journey-outcome is-${t.kind}`,children:[u.jsx("strong",{children:d?"当前问题":"最新结果"}),u.jsx("p",{children:c}),p?u.jsxs("p",{className:"oc-journey-advice","data-testid":"oc-journey-advice",children:["建议:",p]}):null]}):null,a?u.jsxs("div",{className:"oc-journey-latest-run",children:[u.jsx("span",{children:"最新执行"}),u.jsx("code",{children:a.runId}),u.jsx("b",{className:`is-${a.kind}`,children:a.stateLabel}),a.firstFailedNode?u.jsxs("small",{children:["失败阶段 · ",a.firstFailedNode]}):null]}):null,s.length>0?u.jsxs("details",{className:"oc-journey-history",children:[u.jsxs("summary",{children:["执行历史 ",t.runs.length," 次"]}),u.jsx("div",{children:t.runs.map(x=>u.jsxs("div",{className:"oc-journey-run-row",children:[u.jsx("code",{children:x.runId}),u.jsx("span",{className:`is-${x.kind}`,children:x.stateLabel}),x.firstFailedNode?u.jsx("small",{children:x.firstFailedNode}):null,u.jsx("time",{dateTime:x.updatedAt,children:Hh(x.updatedAt)})]},x.runId))})]}):null,u.jsxs("footer",{className:"oc-journey-actions",children:[u.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>{const x=n.dagRunId??a?.runId,y=x?Qi(`/#/inspect/dag/${encodeURIComponent(x)}`):o;js(y)},children:"进入 DAG"}),d&&(t.taskId||n.dagRunId)?u.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>g("recovery",{taskId:t.taskId,dagRunId:n.dagRunId}),children:"恢复选项"}):null]}),u.jsxs("details",{className:"oc-journey-technical",children:[u.jsxs("summary",{children:["技术详情 · ",t.operations.length," 项活动"]}),u.jsx("div",{className:"oc-journey-technical-body",children:t.operations.map(x=>u.jsxs("div",{className:"oc-journey-operation-row",children:[u.jsxs("div",{children:[u.jsx("code",{children:x.operationId}),u.jsx("span",{children:x.action})]}),x.dagRunId?u.jsxs("small",{children:["run · ",x.dagRunId]}):null,x.controller?u.jsxs("small",{children:["controller · ",x.controller]}):null,x.stderrPreview?u.jsx("pre",{className:"is-error",children:U3(x.stderrPreview)}):null,x.summaryPreview?u.jsx("pre",{children:U3(x.summaryPreview)}):null]},x.operationId))})]})]})}function $3(e){return e.state==="prepared"||e.state==="confirmed"?0:e.state==="dispatched"?1:e.state==="error"?2:3}function $h(e,t){return e!==null&&t.includes(e)}function xD(e){return e.operations>0?"operations":e.gates>0?"gates":"artifacts"}function wD(e){const t=w.useRef(null),[n,a]=w.useState("operations"),s=w.useMemo(()=>_7(e.operationCards),[e.operationCards]),o=s.length+e.humanGateCards.length+e.artifactCards.length,c=w.useMemo(()=>[...e.humanGateCards].sort((m,h)=>{const p=$3(m)-$3(h);return p!==0?p:(h.eventSeq??0)-(m.eventSeq??0)}),[e.humanGateCards]),d=w.useMemo(()=>[...e.artifactCards].sort((m,h)=>(h.eventSeq??0)-(m.eventSeq??0)),[e.artifactCards]);return w.useEffect(()=>{a(xD({operations:s.length,gates:e.humanGateCards.length,artifacts:e.artifactCards.length}))},[e.sessionId]),w.useEffect(()=>{e.focusRef&&(e.focusRef.startsWith("gate:")?a("gates"):e.focusRef.startsWith("artifact:")?a("artifacts"):a("operations"))},[e.focusRef]),w.useEffect(()=>{if(!e.focusRef)return;const m=window.requestAnimationFrame(()=>{const h=t.current;if(!h)return;Array.from(h.querySelectorAll("[data-activity-ref], [data-tool-call-id], [data-activity-refs]")).find(x=>{const y=x.dataset.activityRefs?.split(" ")??[];return x.dataset.activityRef===e.focusRef||y.includes(e.focusRef??"")||x.dataset.toolCallId&&`tool:${x.dataset.toolCallId}`===e.focusRef})?.scrollIntoView({block:"nearest",behavior:"smooth"})});return()=>window.cancelAnimationFrame(m)},[n,e.focusRef]),o===0?null:u.jsxs("section",{ref:t,id:"oc-activity-panel",className:"oc-activity-rail is-embedded","aria-label":"本次对话的活动",children:[u.jsxs("header",{className:"oc-activity-rail-head",children:[u.jsxs("div",{children:[u.jsx("strong",{children:"本次对话的活动"}),u.jsx("small",{children:"运行、门禁与任务产物"})]}),u.jsx("span",{className:"oc-activity-count",children:o})]}),u.jsxs("div",{className:"oc-activity-content",children:[u.jsxs("div",{className:"oc-activity-tabs",role:"tablist","aria-label":"活动类型",children:[u.jsxs("button",{type:"button",role:"tab","aria-selected":n==="operations",className:n==="operations"?"is-active":"",onClick:()=>a("operations"),children:["运行 ",u.jsx("span",{children:s.length})]}),u.jsxs("button",{type:"button",role:"tab","aria-selected":n==="gates",className:n==="gates"?"is-active":"",onClick:()=>a("gates"),children:["门禁 ",u.jsx("span",{children:c.length})]}),u.jsxs("button",{type:"button",role:"tab","aria-selected":n==="artifacts",className:n==="artifacts"?"is-active":"",onClick:()=>a("artifacts"),children:["产物 ",u.jsx("span",{children:d.length})]})]}),u.jsxs("div",{className:"oc-activity-list",children:[n==="operations"&&s.length===0?u.jsx("div",{className:"oc-activity-empty",children:"本次对话还没有任务执行记录。"}):null,n==="operations"?s.map((m,h)=>{const p=m.activityRefs;return u.jsxs("div",{"data-activity-refs":p.join(" "),className:`oc-activity-card-wrap${$h(e.focusRef,p)?" is-focused":""}`,children:[u.jsx(yD,{journey:m,compact:h>0&&m.compactEligible,origin:e.origin,onNavigateWorkspace:e.onNavigateWorkspace}),u.jsx("button",{type:"button",className:"oc-activity-locate",onClick:()=>e.onLocateConversation(p),children:"查看对话位置"})]},m.key)}):null,n==="gates"&&c.length===0?u.jsx("div",{className:"oc-activity-empty",children:"本次对话还没有需要展示的门禁。"}):null,n==="gates"?c.map(m=>{const h=I7(m);return u.jsx("div",{className:`oc-activity-card-wrap${$h(e.focusRef,h)?" is-focused":""}`,children:u.jsx(pD,{card:m,origin:e.origin,sessionId:e.sessionId})},m.cardId)}):null,n==="artifacts"&&d.length===0?u.jsx("div",{className:"oc-activity-empty",children:"本次对话还没有任务产物。"}):null,n==="artifacts"?d.map(m=>{const h=A7(m);return u.jsx("div",{className:`oc-activity-card-wrap${$h(e.focusRef,h)?" is-focused":""}`,children:u.jsx(hD,{artifact:m})},m.artifactId)}):null]})]},e.sessionId)]})}function kD(e,t){const n=Date.parse(e.updatedAt),a=Date.parse(t.updatedAt);return Number.isFinite(n)&&Number.isFinite(a)&&n!==a?n-a:(e.updatedSeq??e.eventSeq??0)-(t.updatedSeq??t.eventSeq??0)}function SD(e){let t;for(const n of e)n.dagRunId&&(!t||kD(n,t)>0)&&(t=n);return t?.dagRunId??null}function ED(e,t){return e.find(n=>(n.activityRef??`operation:${n.operationId}`)===t)?.dagRunId}const P3={comfortableMin:620,compactMin:480};function TD(e){return!Number.isFinite(e)||e<0?"extra-compact":e>=P3.comfortableMin?"comfortable":e>=P3.compactMin?"compact":"extra-compact"}function CD(e){return`is-landing-${e}`}const ND=[{label:"新建任务",hint:"先走需求分析 skills,再导入创建任务",prompt:["我要新建任务。请先做需求分析,不要用一句话直接 bootstrapFromPrd。","1. 先问我需求内容和范围(frontend / backend / both,默认 both)。","2. 读取并严格执行 `.agents/skills/analyze-product-requirements/SKILL.md`(`loop-agent init --profile full` 会投影该 skill):按规程澄清访谈、校验,并把产物写到 `docs/product-analysis/<requirement-id>/`(product-analysis.md、requirement-clarification.md、product-requirement.md)。","3. product-requirement 为 complete 且校验通过后,再严格执行 `.agents/skills/analyze-product-dependencies/SKILL.md`,生成 dependency-analysis.md 和按需的 api-documentation.md。","4. 两套产物都校验通过后,再用这些文件 bootstrapFromPrd 创建任务,并建议 taskKind。","若上述 skill 不存在,先说明缺失,并提示运行 `loop-agent init --repo-root . --profile full --merge`。"].join(`
|
|
395
|
+
`)},{label:"查看任务状态",hint:"列出任务与就绪/阻塞状态",prompt:"列出当前所有 task 及其状态,重点说明哪些是 Ready 可以推进、哪些 Blocked 及阻塞原因。"},{label:"诊断 DAG 运行",hint:"对失败运行跑 Doctor",prompt:"帮我诊断最近失败或异常的 DAG 运行:先列出最近的 DAG 运行,对有问题的运行执行 doctor,总结根因和可执行的恢复方案。"},{label:"恢复或重跑任务",hint:"默认从节点续跑,勿无故新开 task",prompt:"我要恢复失败或卡住的 DAG。请先 dagReport/dagDoctor 看 primaryFailure.nodeId 与 primaryRecovery;默认用 dagRerunPlan→dagRerun 从失败节点续跑(plan 合格后直接 dagRerun,不要 prepareMutationGate)。不要新建 task-id。plan 不合格时:Worker Task Pool Failed 用 workerPoolDoctor 确认后再 workerTaskRetry;独立 Console run 用 standaloneTaskRerun(整单重生,不是从节点续跑)。paused/中断需要 resume 时准备 Human Gate,不要自己调 dagResume。确定后直接帮我发起。"}];function M7(e){const t=e.readiness==="setup-required",n=!!e.disabled||t,a=e.density??"comfortable",s=e.mode==="no-session"?"开始一段新的对话":"今天想推进什么?",o=e.mode==="no-session"?"用自然语言编排 loop-agent:查询状态、诊断问题、创建与恢复任务。可先点选下方建议,或新建空白对话。":"会话已就绪。点选建议快速开场,或在下方输入框直接描述目标。业务写入仍经受治理 DAG。";return u.jsxs("div",{className:`oc-empty ${CD(a)}`,role:"status","data-landing-density":a,children:[u.jsxs("div",{className:"oc-empty-hero",children:[u.jsx("img",{className:"oc-empty-icon oc-empty-brand",src:"/favicon.svg",alt:"","aria-hidden":"true",draggable:!1}),u.jsxs("div",{className:"oc-empty-copy",children:[u.jsx("h3",{children:s}),u.jsx("p",{children:o})]})]}),u.jsx("div",{className:"oc-suggestions","aria-label":"开场建议",children:ND.map(c=>u.jsxs("button",{type:"button",className:"oc-suggestion",onClick:()=>e.onSuggest(c.prompt),disabled:n,children:[u.jsx("strong",{children:c.label}),u.jsx("span",{children:a==="extra-compact"?c.hint.replace(/[,,].*$/,""):c.hint})]},c.label))}),u.jsxs("ul",{className:"oc-empty-tips",children:[u.jsxs("li",{children:[u.jsx("kbd",{children:"@"}),u.jsx("span",{children:"引用仓库文件"})]}),u.jsxs("li",{children:[u.jsx("kbd",{children:"/"}),u.jsx("span",{children:"快捷命令"})]}),u.jsxs("li",{children:[u.jsx("kbd",{children:"Enter"}),u.jsx("span",{children:"发送 · Shift+Enter 换行"})]})]}),e.mode==="no-session"&&e.onCreateSession?u.jsx("button",{type:"button",className:"btn btn-primary oc-empty-cta",onClick:e.onCreateSession,disabled:n,"aria-busy":e.disabled||void 0,children:t?"需先完成 Pi setup":e.disabled?"创建中…":"新建空白对话"}):null]})}function RD(e){const{interview:t,interviewAnswer:n,onAnswerChange:a,onAnswer:s}=e;return u.jsxs("section",{className:"oc-draft-card","aria-label":"Requirement Interview",children:[u.jsxs("header",{children:[u.jsx("strong",{children:"Requirement Interview"}),u.jsx("span",{children:t.state})]}),t.question&&u.jsxs("div",{className:"oc-interview-bubble",children:[u.jsx("strong",{children:t.question.text}),u.jsxs("p",{children:["建议:",t.question.recommendation]}),u.jsx("textarea",{value:n,onChange:o=>a(o.target.value),placeholder:"输入答案"}),u.jsxs("div",{children:[u.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>s("override"),disabled:!n.trim(),children:"提交答案"}),u.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>s("accept-recommendation"),children:"接受建议"})]})]}),t.draft&&u.jsxs("details",{open:!0,children:[u.jsxs("summary",{children:["TaskContractDraftV1 · ",t.draftSha256?.slice(0,12)]}),u.jsx("pre",{children:JSON.stringify(t.draft,null,2)})]}),t.assessment&&u.jsxs("div",{className:`oc-assessment${t.assessment.fresh?" is-fresh":""}`,children:[u.jsxs("strong",{children:["完整性:",t.assessment.outcome]}),(t.assessment.missingFields??[]).length>0&&u.jsxs("p",{children:["缺失:",t.assessment.missingFields?.join("、")]})]}),t.taskKindRecommendation&&u.jsxs("div",{className:"oc-task-kind-card",children:[u.jsx("span",{children:"taskKind 建议"}),u.jsx("strong",{children:t.taskKindRecommendation}),u.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>e.onConfirmTaskKind(),children:"由我确认"}),u.jsx("small",{children:"模型不能代替人类确认。"})]}),t.confirmedTaskKind&&u.jsxs("div",{className:"oc-task-kind-card is-confirmed",children:["已由人类确认:",u.jsx("strong",{children:t.confirmedTaskKind})]})]})}function nd(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toLocaleString()}function Zp(e){const[t,n]=w.useState(!1),a=()=>{navigator.clipboard?.writeText(e.text).then(()=>{n(!0),window.setTimeout(()=>n(!1),1600)},()=>{})};return u.jsx("button",{type:"button",className:`oc-message-copy${t?" is-copied":""}`,"aria-label":t?"已复制":"复制消息",title:t?"已复制":"复制",onClick:a,children:t?u.jsx(vS,{}):u.jsx(gS,{})})}function ID({message:e,streaming:t}){const[n,a]=w.useState(!1),s=e.text.trim().length>0,o=e.compaction,c=o?.status??"completed",d=o?.tokensBefore,m=o?.estimatedTokensAfter;let h;return c==="running"?h=o?.reason==="overflow"?"检测到上下文过大,正在压缩上下文…":o?.reason==="threshold"?"上下文接近上限,正在压缩上下文…":"正在压缩上下文…":c==="failed"?h="上下文压缩失败":c==="aborted"?h="上下文压缩已取消":d!==void 0&&m!==void 0?h=`已压缩历史上下文(${nd(d)} → ${nd(m)} tokens)`:d!==void 0?h=`已压缩历史上下文(压缩前约 ${nd(d)} tokens)`:h="已压缩历史上下文",c==="completed"&&o?.willRetry&&(h+=t?" · 正在继续原请求…":" · 已继续原请求"),u.jsxs("div",{className:`oc-compaction-card is-${c}${n?" is-expanded":""}`,role:c==="failed"?"alert":"status",children:[u.jsxs("button",{type:"button",className:"oc-compaction-trigger",disabled:!s,"aria-busy":c==="running","aria-expanded":s?n:void 0,onClick:()=>a(p=>!p),children:[u.jsxs("span",{className:"oc-compaction-leading","aria-hidden":"true",children:[u.jsx("span",{className:"oc-compaction-icon",children:c==="running"?u.jsx("span",{className:"oc-spinner oc-spinner-inline"}):u.jsx(Vk,{size:15})}),u.jsx("span",{className:"oc-compaction-chevron",children:n?u.jsx(ec,{size:15}):u.jsx(z5,{size:15})})]}),u.jsx("strong",{children:"compact"}),u.jsx("span",{className:"oc-compaction-separator","aria-hidden":"true"}),u.jsx("span",{className:"oc-compaction-summary-line",children:h}),u.jsx("span",{className:"oc-compaction-time",children:tc(e.createdAt)})]}),n&&s?u.jsx("div",{className:"oc-compaction-details",children:u.jsx(pc,{text:e.text})}):null]})}function Ph(e){const{message:t,streaming:n,activeAssistantId:a}=e;if(t.kind==="compaction")return u.jsx(ID,{message:t,streaming:n});const s=t.role==="user",o=s?"你":"助手",c=!s&&n&&a!==null&&t.id===a,d=c&&t.text.length===0,m=t.text.trim().length>0,h=u.jsxs("div",{className:"oc-meta",children:[!s&&u.jsx("span",{className:"oc-role oc-role-assistant","aria-hidden":"true",children:"π"}),u.jsxs("span",{className:"oc-time",children:[tc(t.createdAt),u.jsxs("span",{className:"sr-only",children:["(",o,")"]})]}),m&&u.jsx(Zp,{text:t.text})]}),p=u.jsxs("div",{className:`oc-bubble ${s?"oc-bubble-user":"oc-bubble-assistant"}`,children:[m?s?u.jsx("div",{style:{whiteSpace:"pre-wrap"},children:t.text}):u.jsx(pc,{text:t.text}):d?u.jsx("span",{className:"oc-cursor","aria-hidden":"true"}):null,c&&m&&u.jsx("span",{className:"oc-cursor","aria-hidden":"true"})]});return u.jsx("div",{className:`oc-row ${s?"is-user":"is-assistant"}`,"data-user-message-id":s?t.id:void 0,children:s?u.jsxs("div",{className:"oc-user-stack",children:[p,h]}):u.jsxs(u.Fragment,{children:[h,p]})})}const AD=["请求上下文过大","上下文过大","上下文太大","上下文过长","上下文超限","context_length_exceeded","context overflow","context length overflow","too many tokens","maximum context","prompt is too long","prompt too long","request_too_large","reduce the length of the messages","context window"];new RegExp(AD.map(_D).join("|"),"i");function _D(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function MD(e){switch(e){case"authentication":return"认证失败";case"context-overflow":return"上下文过大";case"rate-limit":return"请求过于频繁";default:return"Provider 请求失败"}}function OD(){return u.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[u.jsx("path",{d:"M10 2.4 18 16H2L10 2.4Z",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"}),u.jsx("path",{d:"M10 7v4.3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),u.jsx("circle",{cx:"10",cy:"14",r:".9",fill:"currentColor"})]})}function DD({error:e}){const[t,n]=w.useState(!1),a=[e.code===void 0?void 0:`HTTP ${e.code}`,e.type].filter(Boolean);return u.jsxs("section",{className:"oc-provider-error",role:"status",children:[u.jsx("div",{className:"oc-provider-error-mark",children:u.jsx(OD,{})}),u.jsxs("div",{className:"oc-provider-error-body",children:[u.jsxs("div",{className:"oc-provider-error-heading",children:[u.jsx("strong",{children:MD(e.category)}),a.length>0&&u.jsx("span",{className:"oc-provider-error-meta",children:a.join(" · ")})]}),u.jsx("p",{children:e.message}),u.jsxs("details",{className:"oc-provider-error-details",open:t,onToggle:s=>n(s.currentTarget.open),children:[u.jsx("summary",{children:t?"收起原始响应":"查看原始响应"}),u.jsx("pre",{children:e.raw})]})]})]})}function jD(e){const t=(e??"").trim().toLowerCase();return t?t.includes("running")||t==="in_progress"||t==="active"?"running":t.includes("fail")||t.includes("error")||t==="blocked"?"failed":t.includes("finish")||t.includes("success")||t==="done"||t==="ok"?"finished":t.includes("skip")?"skipped":"pending":"pending"}function LD(e){const t=String(e.nodeId??e.id??"").trim();return{nodeId:t,label:String((e.label??e.name??t)||"未命名节点"),status:String(e.status??""),rank:typeof e.rank=="string"?e.rank:void 0,startedAt:typeof e.startedAt=="string"?e.startedAt:void 0,durationMs:typeof e.durationMs=="number"?e.durationMs:void 0,errorPreview:typeof e.errorPreview=="string"?e.errorPreview:void 0,lastMeaningfulProgressAt:typeof e.lastMeaningfulProgressAt=="string"?e.lastMeaningfulProgressAt:void 0,livenessStatus:typeof e.livenessStatus=="string"?e.livenessStatus:void 0}}function zD(e){let t=null;for(const n of e){if(!n)continue;const a=Date.parse(n);Number.isFinite(a)&&(!t||a>t.time)&&(t={iso:n,time:a})}return t?.iso??null}function Fh(e,t){if(!e)return null;const n=Date.parse(e);if(Number.isNaN(n))return null;const a=t-n;return a>=0?a:null}function BD(e,t=Date.now()){if(!e)return{total:0,finished:0,running:null,failed:null,terminal:!1,effectiveStatus:null,stalled:!1,currentNodeElapsedMs:null,runElapsedMs:null,lastMeaningfulProgressAt:null,observedAtMs:t};const a=(Array.isArray(e.nodes)?e.nodes:[]).map(LD),s=a.map(S=>jD(S.status)),o=s.filter(S=>S==="finished"||S==="skipped").length,c=s.indexOf("running"),d=c>=0?a[c]:null,m=s.indexOf("failed"),h=m>=0?a[m]:null,p=String(e.effectiveStatus??e.status??"").toLowerCase(),g=qD.has(p),x=typeof e.startedAt=="string"?e.startedAt:void 0,y=typeof e.durationMs=="number"?e.durationMs:void 0;return{total:a.length,finished:o,running:d,failed:h,terminal:g,effectiveStatus:p||null,stalled:p==="running-suspected-stall",currentNodeElapsedMs:d?.durationMs??Fh(d?.startedAt,t),runElapsedMs:g?y??Fh(x,t):Fh(x,t),lastMeaningfulProgressAt:zD(a.map(S=>S.lastMeaningfulProgressAt)),observedAtMs:t}}const qD=new Set(["finished","failed","partial_failed","superseded","abandoned"]);function Xp(e){if(e==null||!Number.isFinite(e)||e<0)return"—";const t=Math.floor(e/1e3),n=Math.floor(t/3600),a=Math.floor(t%3600/60),s=t%60;return n>0?`${n} 时 ${a} 分`:a>0?`${a} 分 ${s} 秒`:`${s} 秒`}function UD(e){if(!e)return"正在等待下一阶段";const t=`${e.nodeId} ${e.label}`.toLowerCase();return/contract|boundary|intake/.test(t)?"正在确认执行边界":/scout|explore|research/.test(t)?"正在梳理影响范围":/plan|design/.test(t)?"正在规划实施步骤":/implement|repair|fix|write/.test(t)?"正在实现本次修改":/verify|test|lint|review|check/.test(t)?"正在验证本次修改":/closeout|handoff|report/.test(t)?"正在整理执行结果":e.label&&e.label!==e.nodeId?`正在进行${e.label}`:"正在推进当前阶段"}function Gh(e,t){if(!e)return"等待首个执行进展";const n=Date.parse(e);if(!Number.isFinite(n))return"等待首个执行进展";const a=Math.max(0,Math.floor((t-n)/1e3));if(a<60)return`最近进展 ${a} 秒前`;const s=Math.floor(a/60);return s<60?`最近进展 ${s} 分钟前`:`最近进展 ${Math.floor(s/60)} 小时前`}function HD(e,t=Date.now()){if(!e||!e.effectiveStatus)return{kind:"pending",title:"DAG 正在启动",detail:"正在等待首个执行进展"};const n=e.effectiveStatus,a=e.runElapsedMs==null?null:e.runElapsedMs+(e.terminal?0:Math.max(0,t-e.observedAtMs)),s=Xp(a),o=`${UD(e.running)} · 已完成 ${e.finished}/${e.total} 步 · ${Gh(e.lastMeaningfulProgressAt,t)}`;return n==="running"?{kind:"progress",title:`DAG 执行中 · 已运行 ${s}`,detail:o}:n==="running-quiet"?{kind:"quiet",title:`DAG 仍在执行 · 已运行 ${s}`,detail:o}:n==="running-suspected-stall"?{kind:"warning",title:`执行可能停滞 · 已运行 ${s}`,detail:o}:["needs-attention","paused","interrupted"].includes(n)?{kind:"warning",title:"DAG 需要处理",detail:o}:n==="finished"?{kind:"success",title:`DAG 已完成 · 总用时 ${s}`,detail:`已完成 ${e.finished}/${e.total} 步 · ${Gh(e.lastMeaningfulProgressAt,t)}`}:n==="partial_failed"||n==="failed"?{kind:"error",title:`DAG 未完成 · 总用时 ${s}`,detail:`已完成 ${e.finished}/${e.total} 步 · ${Gh(e.lastMeaningfulProgressAt,t)}`}:n==="pending"?{kind:"pending",title:"DAG 正在启动",detail:o}:{kind:"warning",title:`DAG 已结束 · 总用时 ${s}`,detail:`已完成 ${e.finished}/${e.total} 步`}}const $D=5e3;function O7(e,t={}){const[n,a]=w.useState(null),[s,o]=w.useState(()=>Date.now());return w.useEffect(()=>{const c=e.trim();if(a(null),!c)return;const d=new AbortController;let m;const h=async()=>{try{const p=await fetch(jr(`/api/dag-runs/${encodeURIComponent(c)}`),{credentials:"same-origin",signal:d.signal});if(!p.ok)return;const g=await p.json();if(d.signal.aborted)return;a(g),sd(g)&&m!==void 0&&(window.clearInterval(m),m=void 0)}catch{}};return h(),m=window.setInterval(()=>{h()},$D),()=>{d.abort(),m!==void 0&&window.clearInterval(m)}},[e]),w.useEffect(()=>{if(!t.liveClock||!n||sd(n))return;const c=window.setInterval(()=>o(Date.now()),1e3);return()=>window.clearInterval(c)},[n,t.liveClock]),w.useMemo(()=>BD(n,t.liveClock?s:Date.now()),[n,s,t.liveClock])}function PD(e){return e==="success"?"✓":e==="error"?"×":e==="warning"?"!":e==="quiet"?"…":"↻"}function FD(e){const t=O7(e.dagRunId??"",{liveClock:!0}),n=HD(t),a=!!(e.dagRunId&&e.onActivate),s=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"oc-dag-progress-icon","aria-hidden":"true",children:PD(n.kind)}),u.jsxs("span",{className:"oc-dag-progress-copy",children:[u.jsx("strong",{children:n.title}),u.jsx("small",{children:n.detail})]}),a?u.jsx("span",{className:"oc-dag-progress-link",children:"查看 DAG"}):null]});if(a&&e.dagRunId&&e.onActivate){const o=e.dagRunId;return u.jsx("button",{type:"button",className:`oc-dag-progress is-${n.kind}`,"data-activity-ref":e.activityRef,"aria-label":`${n.title},${n.detail},查看 DAG`,"aria-live":"off",onClick:()=>e.onActivate?.(e.activityRef,o),children:s})}return u.jsx("div",{className:`oc-dag-progress is-${n.kind}`,"data-activity-ref":e.activityRef,"aria-live":"off",children:s})}function GD(e){let t=e;if(typeof t=="string")try{t=JSON.parse(t)}catch{return null}if(!t||typeof t!="object")return null;const n=t.todos;return Array.isArray(n)?n.filter(a=>!!a&&typeof a=="object"&&typeof a.content=="string"&&(a.status==="pending"||a.status==="in_progress"||a.status==="completed")):null}function VD(e){const t=GD(e);if(!t)return null;const n=t.filter(s=>s.status==="completed").length,a=t.filter(s=>s.status==="in_progress");return{text:`${n}/${t.length} 已完成${a[0]?.content?` · ${a[0].content}`:""}`,extra:Math.max(0,a.length-1)}}function KD(e){const t={size:14,"aria-hidden":!0};return e.kind==="bash"?u.jsx(P5,{...t}):e.kind==="read"?u.jsx(jk,{...t}):e.kind==="search"?u.jsx(fp,{...t}):e.kind==="write"?u.jsx(f1,{...t}):e.kind==="web"?u.jsx(Lk,{...t}):e.kind==="mcp"?u.jsx(Uk,{...t}):u.jsx(G5,{...t})}function WD(e,t){const n=e.split(/\r?\n/).map(a=>a.trim()).filter(Boolean);return(t?n.at(-1):n[0])??"…"}function YD(e){const t=e.split(/\r?\n/).map(n=>n.replace(/\s+/g," ").trim()).find(Boolean);return t?t.length>180?`${t.slice(0,180)}…`:t:"工具调用失败"}function D7(e){const{entry:t}=e,[n,a]=w.useState(t.status==="error"),[s,o]=w.useState(!1),[c,d]=w.useState(!1),m=t.status==="running"?"运行中":t.status==="error"?"出错":"完成",h=Jk(t.args,{toolName:t.toolName}),p=nS(t.createdAt,t.finishedAt),g=tS(t.toolName),x=eS(t.toolName),y=t.toolName==="todo_write",S=y?VD(t.args):null,E=zd(t.resultText??t.result),R=t.status==="error"?YD(E):h,N=S?.text??R,_=h1(t.args),I=e4(_,s?{maxLen:Number.MAX_SAFE_INTEGER}:void 0),P=e4(E,c?{maxLen:Number.MAX_SAFE_INTEGER}:void 0);return w.useEffect(()=>{t.status==="error"&&a(!0)},[t.status]),u.jsxs("div",{className:`oc-tool ${t.status==="error"?"is-error":""} ${t.status==="running"?"is-running":""} is-${x.kind}`,"data-tool-kind":x.kind,children:[u.jsxs("button",{type:"button",className:"oc-tool-head","aria-expanded":n,onClick:()=>a(F=>!F),children:[u.jsxs("span",{className:"oc-tool-leading",children:[t.status==="error"?u.jsx("span",{className:"oc-tool-state-dot","aria-hidden":"true"}):u.jsx("span",{className:"oc-tool-icon",children:y?u.jsx(q5,{size:14,"aria-hidden":"true"}):u.jsx(KD,{kind:x.kind})}),u.jsx(J5,{})]}),u.jsx("span",{className:"oc-tool-name",children:y?"更新任务清单":x.label}),R&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"oc-tool-separator","aria-hidden":"true"}),u.jsx("span",{className:`oc-tool-args${t.status==="error"?" is-error":""}`,children:N})]}),S&&S.extra>0?u.jsxs("span",{className:"oc-tool-summary-suffix",children:["+",S.extra]}):null,p!==void 0&&u.jsxs("span",{className:"oc-tool-duration",children:[p,"s"]}),u.jsx("span",{className:"sr-only",children:m})]}),n&&u.jsxs("div",{className:"oc-tool-body",children:[t.args!==void 0&&u.jsxs("div",{className:`oc-tool-section${s?" is-expanded":""}`,children:[u.jsx("div",{className:"oc-tool-label",children:g.argsLabel}),u.jsx("pre",{className:"oc-tool-code",children:I.text}),I.truncated&&!s&&u.jsx("button",{type:"button",className:"btn btn-ghost oc-tool-expand-result",onClick:()=>o(!0),children:"展开全部"})]}),(t.resultText!==void 0||t.result!==void 0)&&u.jsxs("div",{className:`oc-tool-section${c?" is-expanded":""}`,children:[u.jsx("div",{className:"oc-tool-label",children:t.status==="error"?"错误":g.resultLabel}),u.jsx("pre",{className:"oc-tool-code",children:P.text}),P.truncated&&!c&&u.jsx("button",{type:"button",className:"btn btn-ghost oc-tool-expand-result",onClick:()=>d(!0),children:"展开全部"})]}),t.status==="running"&&t.resultText===void 0&&t.result===void 0&&t.args===void 0&&u.jsx("div",{className:"oc-tool-section",children:u.jsx("div",{className:"oc-tool-waiting",children:"等待结果…"})})]})]})}function ZD(e){const{thinking:t,defaultOpen:n}=e,[a,s]=w.useState(n),o=WD(t,n);return w.useEffect(()=>{s(n)},[n]),u.jsxs("div",{className:`oc-thinking${n?" is-running":""}`,children:[n?u.jsx("span",{className:"sr-only",children:"运行中"}):null,u.jsxs("button",{type:"button",className:`oc-thinking-summary${a?" is-open":""}`,"aria-expanded":a,onClick:()=>s(c=>!c),children:[u.jsxs("span",{className:"oc-tool-leading",children:[u.jsx("span",{className:"oc-tool-icon",children:u.jsx(F5,{size:14,"aria-hidden":"true"})}),u.jsx(J5,{})]}),u.jsx("span",{className:"oc-thinking-label",children:"思考"}),a?null:u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"oc-tool-separator","aria-hidden":"true"}),u.jsx("span",{className:"oc-thinking-preview",children:o})]})]}),a?u.jsx("pre",{className:"oc-thinking-body",children:t||"…"}):null]})}function XD(e){return e.kind==="progress"?"••":e.kind==="success"?"✓":e.kind==="warning"?"!":"×"}function QD(e){const{activity:t,onActivate:n}=e,a=!!(t.activityRef&&n&&(e.canActivate?.(t.activityRef)??!0)),s=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"oc-semantic-activity-icon","aria-hidden":"true",children:XD(t)}),u.jsxs("span",{className:"oc-semantic-activity-copy",children:[u.jsx("strong",{children:t.title}),t.detail?u.jsx("small",{children:t.detail}):null]}),a?u.jsx("span",{className:"oc-semantic-activity-link",children:"查看详情"}):null]});if(a&&t.activityRef&&n){const o=t.activityRef;return u.jsx("button",{type:"button",className:`oc-semantic-activity is-${t.kind}`,"data-activity-ref":o,onClick:()=>n(o),children:s})}return u.jsx("div",{className:`oc-semantic-activity is-${t.kind}`,"data-activity-ref":t.activityRef,children:s})}function JD(e){const{items:t,live:n}=e;return u.jsx(u.Fragment,{children:t.map((a,s)=>{if(a.kind==="thinking")return u.jsx(ZD,{thinking:a.thinking,defaultOpen:n},`thinking-${s}`);if(a.kind==="text")return u.jsx("div",{className:"oc-process-text",children:u.jsx(pc,{text:a.text})},`text-${s}`);if(a.kind==="activity")return u.jsx(QD,{activity:a.activity,onActivate:e.onActivateActivity,canActivate:e.canActivateActivity},a.activity.id);if(a.kind==="dag-progress")return u.jsx(FD,{activityRef:a.progress.activityRef,dagRunId:e.resolveDagRunId?.(a.progress.activityRef),onActivate:e.onActivateDagProgress},a.progress.id);if(a.kind==="tool")return u.jsx(D7,{entry:a.tool},a.tool.id);if(a.kind==="provider-error")return u.jsx(DD,{error:a.error},`provider-error-${s}`)})})}function ej(e){const{scrollContainerRef:t,messagesEndRef:n,onScroll:a,showScrollToLatest:s,onScrollToLatest:o,hasThread:c,sessionId:d,readiness:m,streaming:h,streamingAssistantId:p,messagesCount:g,visibleCount:x,historyHasMore:y,historyLoading:S,onLoadMore:E,turnGroups:R,pendingSteering:N,interview:_}=e,[I,P]=w.useState(()=>new Set),F=w.useRef(new Set),M=w.useRef(null);return w.useEffect(()=>{if(!d){M.current=null,P(new Set);return}try{const A=JSON.parse(window.localStorage.getItem(`oc-chat-compact:${d}`)??"[]"),z=Array.isArray(A)?A.filter(G=>typeof G=="string"):[];F.current=new Set(z),P(new Set(z)),M.current=d}catch{F.current=new Set,P(new Set),M.current=d}},[d]),w.useEffect(()=>{if(!(!d||M.current!==d))try{window.localStorage.setItem(`oc-chat-compact:${d}`,JSON.stringify([...I]))}catch{}},[I,d]),w.useEffect(()=>{R.length!==0&&P(A=>{const z=new Set(A);for(const G of R){if(y||F.current.has(G.key))continue;const D=G.processItems.some(K=>K.kind==="provider-error"||K.kind==="tool"&&K.tool.status==="error");!G.live&&G.processItems.length>0&&!D&&(F.current.add(G.key),z.add(G.key))}return z})},[y,R]),u.jsxs("div",{ref:t,className:`oc-messages${c?" has-thread":" is-empty"}`,onScroll:a,children:[c?null:u.jsx(M7,{mode:"empty-session",readiness:m,disabled:h,onSuggest:e.onSuggest}),c?u.jsxs("div",{className:"oc-message-column",children:[(y??g>x)&&u.jsx("button",{type:"button",className:"btn btn-ghost oc-load-history",onClick:()=>{E()},disabled:S,children:S?"加载中…":"加载更早消息"}),R.map((A,z)=>{const G=A.user??A.assistants[0],D=z>0?R[z-1].user??R[z-1].assistants[0]:void 0,K=!!G&&(!D||xm(D.createdAt)!==xm(G.createdAt)),q=A.answer,Q=!!q?.text.trim(),V=A.live&&A.processItems.length===0,X=A.processItems.some(j=>j.kind==="provider-error"||j.kind==="tool"&&j.tool.status==="error"),W=!y&&I.has(A.key)&&!A.live&&!X,B=A.processItems.filter(j=>j.kind==="tool").length,Y=A.processItems.length-B,me=[B>0?`${B} 次工具调用`:"",Y>0?`${Y} 条消息`:""].filter(Boolean).join(" · ")||"已思考";return u.jsxs("div",{className:"oc-turn-group","aria-live":A.live?"polite":void 0,children:[K&&G&&u.jsx("div",{className:"oc-day-sep",children:xm(G.createdAt)}),A.user&&u.jsx(Ph,{message:A.user,streaming:h,activeAssistantId:p}),A.processItems.length>0&&u.jsxs(u.Fragment,{children:[!A.live&&!X?u.jsxs("button",{type:"button",className:"oc-turn-compact-toggle","aria-expanded":!W,onClick:()=>P(j=>{const U=new Set(j);return U.has(A.key)?U.delete(A.key):U.add(A.key),U}),children:[u.jsx("span",{children:me}),W?u.jsx(z5,{size:14,"aria-hidden":"true"}):u.jsx(ec,{size:14,"aria-hidden":"true"})]}):null,W?null:u.jsx(JD,{items:A.processItems,live:A.live,onActivateActivity:e.onActivateActivity,canActivateActivity:e.canActivateActivity,resolveDagRunId:e.resolveDagRunId,onActivateDagProgress:e.onActivateDagProgress})]}),q&&(Q||V)?u.jsx(Ph,{message:q,streaming:h,activeAssistantId:p}):null]},A.key)}),N.map(A=>{const z="textPreview"in A?A.text??A.textPreview:A.text,G=Date.parse(A.updatedAt);return u.jsxs("div",{className:"oc-turn-group","data-pending-steering":A.clientRequestId,"aria-live":"polite",children:[u.jsx("span",{className:"sr-only",children:"正在插入当前回复"}),u.jsx(Ph,{message:{id:`pending-steering-${A.clientRequestId}`,role:"user",text:z,createdAt:Number.isFinite(G)?G:Date.now()},streaming:h,activeAssistantId:p})]},A.clientRequestId)}),_&&u.jsx(RD,{interview:_,interviewAnswer:e.interviewAnswer,onAnswerChange:e.onInterviewAnswerChange,onAnswer:e.onAnswerInterview,onConfirmTaskKind:e.onConfirmTaskKind}),u.jsx("div",{ref:n})]}):u.jsx("div",{ref:n}),c&&s?u.jsx("div",{className:"oc-scroll-to-latest-slot",children:u.jsx("button",{type:"button",className:"oc-scroll-to-latest","aria-label":"跳转到最新输出",title:"跳转到最新输出",onClick:o,children:u.jsx(ec,{size:19,"aria-hidden":"true"})})}):null]})}const tj=13,F3=240;function nj(e){const t=e.trim();return t.length>F3?`${t.slice(0,F3).trimEnd()}…`:t}function Vh(e,t=64){const n=e.trim().replace(/\s+/g," ");return n.length>t?`${n.slice(0,t)}…`:n}function rj(e,t){if(e.length===0)return[];const n=t>0?Math.max(1,Math.floor(t/tj)):e.length;if(e.length<=n)return e.map((s,o)=>({key:`b${o}`,members:[s]}));const a=[];for(let s=0;s<n;s+=1){const o=Math.floor(s*e.length/n),c=Math.floor((s+1)*e.length/n),d=e.slice(o,Math.max(c,o+1));d.length>0&&a.push({key:`b${s}`,members:d})}return a}function aj(e){const{scrollContainerRef:t,turnGroups:n,measureKey:a}=e,s=w.useRef(null),o=w.useMemo(()=>n.filter(I=>I.user).map((I,P)=>{const F=I.user;return{id:F.id,index:P+1,text:F.text,createdAt:F.createdAt}}),[n]),[c,d]=w.useState(0),[m,h]=w.useState(null),[p,g]=w.useState(null),x=w.useRef(new Map),y=w.useRef(0),S=w.useRef(null),E=w.useCallback(()=>{const I=t.current;if(!I)return;const P=I.offsetTop,F=new Map;for(const A of o){const z=I.querySelector(`[data-user-message-id="${CSS.escape(A.id)}"]`);z&&F.set(A.id,Math.max(0,z.offsetTop-P))}x.current=F;const M=s.current?.clientHeight??I.clientHeight;M!==y.current&&(y.current=M,d(M))},[t,o]),R=w.useCallback(()=>{const I=t.current;if(!I)return;const P=48;let F=null;for(const M of o){const A=x.current.get(M.id);if(A!==void 0)if(A<=I.scrollTop+P)F=M.id;else break}h(F)},[t,o]);w.useEffect(()=>{const I=window.requestAnimationFrame(E);return()=>window.cancelAnimationFrame(I)},[E,a]),w.useEffect(()=>{const I=t.current;if(!I)return;const P=()=>{S.current=null,E(),R()},F=()=>{S.current===null&&(S.current=window.requestAnimationFrame(P))};F(),I.addEventListener("scroll",F,{passive:!0}),window.addEventListener("resize",F);const M=new MutationObserver(F);return M.observe(I,{childList:!0,subtree:!0}),()=>{I.removeEventListener("scroll",F),window.removeEventListener("resize",F),M.disconnect(),S.current!==null&&(window.cancelAnimationFrame(S.current),S.current=null)}},[E,R,t]);const N=w.useMemo(()=>rj(o,c),[o,c]),_=w.useCallback(I=>{const P=t.current,F=x.current.get(I);!P||F===void 0||P.scrollTo({top:Math.max(0,F-8),behavior:"smooth"})},[t]);return o.length===0?null:u.jsx("nav",{ref:s,className:"oc-anchor-rail","aria-label":`用户消息锚点(共 ${o.length} 条)`,children:N.map(I=>{const P=I.members[0],F=m!==null&&I.members.some(z=>z.id===m),M=I.members.length,A=p===I.key;return u.jsxs("div",{className:"oc-anchor-cluster",onMouseEnter:()=>g(I.key),onMouseLeave:()=>g(null),children:[u.jsx("button",{type:"button",className:`oc-anchor-bar${F?" is-active":""}${M>1?" is-cluster":""}`,title:M>1?`${M} 条相邻输入`:void 0,"aria-label":M>1?`定位到 ${M} 条聚合输入中的第 ${P.index} 条:${Vh(P.text,40)}`:`定位到第 ${P.index} 条输入:${Vh(P.text,80)}`,onClick:()=>_(P.id),onFocus:()=>g(I.key),onBlur:()=>g(null)}),A?u.jsx("div",{className:"oc-anchor-popover",role:"tooltip",children:M>1?u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"oc-anchor-popover-head",children:[u.jsxs("span",{children:[M," 条聚合输入"]}),u.jsxs("span",{children:["第 ",P.index,"–",I.members[I.members.length-1].index," 条"]})]}),u.jsx("ul",{className:"oc-anchor-popover-list",children:I.members.map(z=>u.jsx("li",{children:u.jsxs("button",{type:"button",className:"oc-anchor-popover-item",onClick:()=>_(z.id),children:[u.jsx("span",{className:"oc-anchor-popover-item-time",children:tc(z.createdAt)}),u.jsx("span",{className:"oc-anchor-popover-item-text",children:Vh(z.text)})]})},z.id))})]}):u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"oc-anchor-popover-head",children:[u.jsxs("span",{children:["第 ",P.index,"/",o.length," 条输入"]}),u.jsx("span",{children:tc(P.createdAt)})]}),u.jsx("div",{className:"oc-anchor-popover-body",children:nj(P.text)})]})}):null]},I.key)})})}function j7(e){return e.inputTokens+e.cacheReadTokens+e.cacheWriteTokens}function ij(e){const t=j7(e);return t>0?Math.round(e.cacheReadTokens/t*100):null}function Kh(e){const t=e/1e3;if(t<60)return`${Math.round(t*10)/10}s`;const n=Math.round(t);return`${Math.floor(n/60)}m${n%60}s`}function G3(e){const t=n=>n>=100?String(Math.round(n)):String(Math.round(n*10)/10);return e<1e3?String(e):e<1e6?`${t(e/1e3)}K`:`${t(e/1e6)}M`}const sj={auto:"auto(跟随 Pi 默认等级)",off:"off · 关闭",minimal:"minimal · 极简",low:"low · 低",medium:"medium · 中",high:"high · 高",xhigh:"xhigh · 极高",max:"max · 最高"};function L7(e,t){const n=t.trim().toLowerCase(),a=new Map;for(const s of e){if(n&&!s.provider.toLowerCase().includes(n)&&!s.id.toLowerCase().includes(n)&&!(s.name??"").toLowerCase().includes(n))continue;const o=a.get(s.provider)??[];o.push(s),a.set(s.provider,o)}return[...a.entries()].map(([s,o])=>({provider:s,models:o}))}function oj(e,t){const n=new Set,a=[],s=o=>{n.has(o)||(n.add(o),a.push({value:o,label:sj[o]??o,...o==="auto"&&t?{effective:t}:{}}))};s("auto");for(const o of e)s(o);return a}function Bs(e,t){return`${e}/${t}`}function rd(e){return{...e.modelProvider&&e.modelId?{model:{provider:e.modelProvider,modelId:e.modelId}}:{},...e.thinkingLevel?{thinkingLevel:e.thinkingLevel}:{}}}function z7(e,t){return{...e,model:t.model??e.model,thinkingLevel:t.thinkingLevel??e.thinkingLevel}}function lj(e,t){const n=z7(e,t);return n.model?.provider===e.model?.provider&&n.model?.modelId===e.model?.modelId&&n.thinkingLevel===e.thinkingLevel}const V3={auto:"Auto",off:"Off",minimal:"Minimal",low:"Low",medium:"Medium",high:"High",xhigh:"XHigh",max:"Max"};function cj(e,t){const n=e,a=V3[n]??n;return n!=="auto"||!t?a:`${a} · ${V3[t]??t}`}function uj(e,t){if(!t)return"选择模型";const n=e.find(s=>Bs(s.provider,s.id)===t);if(n)return n.name?.trim()||n.id;const a=t.indexOf("/");return a===-1?t:t.slice(a+1)}function dj(){return u.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true",children:u.jsx("path",{d:"M2.6 4.2 6 7.6l3.4-3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function K3(){return u.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:u.jsx("path",{d:"m5 3.5 3.5 3.5L5 10.5",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function fj(){return u.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:u.jsx("path",{d:"M9 3.5 5.5 7 9 10.5",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function mj(e){const t=lc(),[n,a]=w.useState(!1),[s,o]=w.useState("root"),[c,d]=w.useState(""),[m,h]=w.useState(0),[p,g]=w.useState(0),[x,y]=w.useState(0),S=w.useRef(null),E=w.useRef(null),R=w.useRef(null),N=t.snapshot,_=t.status==="loading",I=t.status==="error"?t.error:null,P=N?.selection?.effectiveThinkingLevel,F=w.useMemo(()=>N?.thinkingLevels?.length?N.thinkingLevels.map(ee=>ee.value):void 0,[N?.thinkingLevels]),M=w.useMemo(()=>oj(F??e.thinkingLevels,P),[F,e.thinkingLevels,P]),A=w.useMemo(()=>N?(N.models??[]).map(ee=>({provider:ee.provider,id:ee.id,...ee.name?{name:ee.name}:{},...ee.hasCredentials!==void 0?{hasCredentials:ee.hasCredentials}:{}})):e.models,[N,e.models]),z=w.useMemo(()=>L7(A,c),[A,c]),G=w.useMemo(()=>z.flatMap(ee=>ee.models),[z]),D=uj(A,e.activeModelRef),K=e.activeThinkingLevel||"auto",q=cj(K,P),Q=!!e.activeModelRef&&(!e.activeModelListed||!A.some(ee=>Bs(ee.provider,ee.id)===e.activeModelRef)),V=()=>{a(!1),o("root"),d("")};w.useEffect(()=>{if(!n)return;const ee=ge=>{ge.target instanceof Node&&S.current&&!S.current.contains(ge.target)&&V()},O=ge=>{ge.key==="Escape"&&V()};return document.addEventListener("mousedown",ee),document.addEventListener("keydown",O),()=>{document.removeEventListener("mousedown",ee),document.removeEventListener("keydown",O)}},[n]),w.useEffect(()=>{if(!n)return;if(s==="root"){h(0),window.setTimeout(()=>E.current?.focus(),0);return}if(s==="model"){d(""),g(0),window.setTimeout(()=>R.current?.focus(),0);return}const ee=M.findIndex(O=>O.value===K);y(ee<0?0:ee),window.setTimeout(()=>E.current?.focus(),0)},[n,s,M,K]);const X=ee=>{e.disabled||o(ee)},W=ee=>{if(e.disabled)return;const O=G[ee];O&&(V(),e.onSelectModel(O.provider,O.id))},B=ee=>{if(e.disabled)return;const O=M[ee];O&&(V(),e.onSelectThinking(O.value))},Y=ee=>{if(ee.key==="ArrowDown"||ee.key==="ArrowUp"){ee.preventDefault(),h(O=>O===0?1:0);return}(ee.key==="Enter"||ee.key==="ArrowRight")&&(ee.preventDefault(),X(m===0?"model":"thinking"))},me=ee=>{if(ee.key==="ArrowDown"){ee.preventDefault(),g(O=>G.length?(O+1)%G.length:0);return}if(ee.key==="ArrowUp"){ee.preventDefault(),g(O=>G.length?(O-1+G.length)%G.length:0);return}if(ee.key==="Enter"){ee.preventDefault(),W(p);return}ee.key==="ArrowLeft"&&(ee.preventDefault(),o("root"))},j=ee=>{if(ee.key==="ArrowDown"){ee.preventDefault(),y(O=>M.length?(O+1)%M.length:0);return}if(ee.key==="ArrowUp"){ee.preventDefault(),y(O=>M.length?(O-1+M.length)%M.length:0);return}if(ee.key==="Enter"){ee.preventDefault(),B(x);return}ee.key==="ArrowLeft"&&(ee.preventDefault(),o("root"))},U=`选择模型,当前 ${D},推理等级 ${q}`;return u.jsxs("div",{className:"oc-select-menu oc-runtime-selection-menu",ref:S,children:[u.jsxs("button",{type:"button",className:"oc-select-trigger oc-runtime-selection-trigger","aria-haspopup":"menu","aria-expanded":n,"aria-label":U,title:U,disabled:e.disabled,onClick:()=>{n?V():(o("root"),a(!0))},children:[u.jsx("span",{className:"oc-runtime-selection-model",children:D}),u.jsx("span",{className:"oc-runtime-selection-effort",children:q}),u.jsx(dj,{})]}),n&&u.jsx("div",{ref:E,className:"oc-select-panel oc-runtime-selection-panel",role:"menu","aria-label":"模型与推理等级",tabIndex:-1,onKeyDown:s==="root"?Y:s==="model"?me:j,children:s==="root"?u.jsxs(u.Fragment,{children:[u.jsxs("button",{type:"button",role:"menuitem",className:`oc-runtime-selection-root-row${m===0?" is-highlighted":""}`,onMouseEnter:()=>h(0),onClick:()=>X("model"),children:[u.jsx("span",{className:"oc-runtime-selection-row-label",children:"模型"}),u.jsxs("span",{className:"oc-runtime-selection-row-value",children:[D,Q?"(不可用)":""]}),u.jsx(K3,{})]}),u.jsxs("button",{type:"button",role:"menuitem",className:`oc-runtime-selection-root-row${m===1?" is-highlighted":""}`,onMouseEnter:()=>h(1),onClick:()=>X("thinking"),children:[u.jsx("span",{className:"oc-runtime-selection-row-label",children:"推理等级"}),u.jsx("span",{className:"oc-runtime-selection-row-value",children:q}),u.jsx(K3,{})]})]}):u.jsxs(u.Fragment,{children:[u.jsxs("button",{type:"button",role:"menuitem",className:"oc-runtime-selection-back",onClick:()=>o("root"),children:[u.jsx(fj,{}),u.jsx("span",{children:s==="model"?"选择模型":"推理等级"})]}),s==="model"?u.jsxs(u.Fragment,{children:[u.jsx("input",{ref:R,className:"oc-select-search",placeholder:"搜索模型或供应商…","aria-label":"搜索模型或供应商",value:c,onChange:ee=>{d(ee.target.value),g(0)}}),u.jsxs("div",{className:"oc-runtime-selection-groups",children:[_&&u.jsx("div",{className:"oc-select-status",children:"模型列表加载中…"}),I&&u.jsxs("div",{className:"oc-select-status is-error",children:[u.jsxs("span",{children:[I.code?`${I.code}:`:"",I.message]}),u.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{mp()},children:"重试"})]}),!_&&!I&&z.length===0&&u.jsx("div",{className:"oc-select-status",children:"没有匹配的可用模型"}),z.map(ee=>u.jsxs("div",{className:"oc-model-group",children:[u.jsx("div",{className:"oc-model-group-head",children:ee.provider}),ee.models.map(O=>{const ge=Bs(O.provider,O.id),Z=ge===e.activeModelRef,le=G[p]===O;return u.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":Z,title:ge,disabled:e.disabled,className:`oc-select-option oc-model-option${le?" is-highlighted":""}${Z?" is-active":""}`,onMouseEnter:()=>g(G.indexOf(O)),onClick:()=>{e.disabled||(V(),e.onSelectModel(O.provider,O.id))},children:[u.jsx("span",{className:"oc-model-option-name",children:O.name?.trim()||O.id}),Z&&u.jsx("span",{className:"oc-model-option-check",children:"✓"})]},ge)})]},ee.provider))]})]}):M.map((ee,O)=>{const ge=ee.value===K;return u.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":ge,disabled:e.disabled,className:`oc-select-option oc-thinking-option${x===O?" is-highlighted":""}${ge?" is-active":""}`,onMouseEnter:()=>y(O),onClick:()=>B(O),children:[u.jsx("span",{className:"oc-thinking-option-label",children:ee.label}),ee.value==="auto"&&ee.effective?u.jsxs("span",{className:"oc-thinking-badge",children:["Pi 实际:",ee.effective]}):null,ge&&u.jsx("span",{className:"oc-model-option-check",children:"✓"})]},ee.value)})]})})]})}const Wh="--oc-shortcut-palette-available-height",hj=8,pj=8;function gj(e){const t=e.viewportTop??0,n=e.topInset??hj,a=e.anchorGap??pj;if([e.boundaryTop,e.anchorTop,t,n,a].some(c=>!Number.isFinite(c)))return null;const o=Math.max(e.boundaryTop,t);return Math.max(0,Math.floor(e.anchorTop-o-n-a))}function vj(e){const t=w.useMemo(()=>e.items.filter(y=>y.state==="queued"||y.state==="failed"),[e.items]),[n,a]=w.useState(!0),[s,o]=w.useState(null),[c,d]=w.useState(null),m=w.useId();if(w.useEffect(()=>{t.length===0&&!n&&a(!0),s!==null&&!t.some(y=>y.clientRequestId===s.id)&&o(null)},[n,s,t]),t.length===0)return null;const h=s!==null||c!==null,p=!n||h,g=t.length===1||p,x=(y,S,E)=>{d(y),S().then(()=>E?.()).catch(()=>{}).finally(()=>d(R=>R===y?null:R))};return u.jsx("div",{className:"oc-queue-dock","data-queue-dock":"",children:u.jsxs("div",{className:"oc-queue-panel",children:[t.length>1?u.jsxs("button",{type:"button",className:"oc-queue-header","aria-controls":m,"aria-expanded":p,disabled:h,onClick:()=>a(y=>!y),children:[u.jsx("span",{className:"oc-queue-lead","aria-hidden":"true",children:u.jsx(Z2,{size:14})}),u.jsxs("span",{className:"oc-queue-count",children:[t.length," 条排队消息"]}),u.jsx("span",{className:"oc-queue-chevron","aria-hidden":"true",children:p?u.jsx(ec,{size:14}):u.jsx(B5,{size:14})})]}):null,u.jsx("ul",{id:m,className:"oc-queue-list",hidden:!g,children:g?t.map(y=>{const S=y.clientRequestId,E={clientRequestId:S,revision:y.revision},R="textPreview"in y?y.textPreview:y.text,N=("text"in y?y.text:R)??"",_="imageCount"in y?y.imageCount:y.images?.length??0;return u.jsxs("li",{className:`oc-queue-row is-${y.state}`,children:[t.length===1?u.jsx("span",{className:"oc-queue-lead","aria-hidden":"true",children:u.jsx(Z2,{size:14})}):null,s?.id===S?u.jsx("input",{autoFocus:!0,className:"oc-queue-editor","aria-label":"编辑排队消息",value:s.text,onChange:I=>o({id:S,text:I.currentTarget.value}),onKeyDown:I=>{I.key==="Escape"&&o(null),I.key==="Enter"&&!I.nativeEvent.isComposing&&(I.preventDefault(),x(S,()=>e.onEdit(E,s.text),()=>o(null)))}}):u.jsx("span",{className:"oc-queue-preview",title:N,children:R||(_>0?`${_} 张图片`:"待发送消息")}),u.jsx("div",{className:"oc-queue-actions",children:s?.id===S?u.jsxs(u.Fragment,{children:[u.jsx("button",{type:"button",className:"oc-queue-action","aria-label":"保存排队消息",title:"保存排队消息",disabled:c!==null||s.text.trim()==="",onClick:()=>x(S,()=>e.onEdit(E,s.text),()=>o(null)),children:u.jsx(Ok,{size:15})}),u.jsx("button",{type:"button",className:"oc-queue-action","aria-label":"取消编辑",title:"取消编辑",disabled:c!==null,onClick:()=>o(null),children:u.jsx(Ls,{size:15})})]}):u.jsxs(u.Fragment,{children:[u.jsx("button",{type:"button",className:"oc-queue-action","aria-label":"编辑排队消息",title:"编辑排队消息",disabled:c!==null||!("text"in y),onClick:()=>o({id:S,text:N}),children:u.jsx(f1,{size:15})}),u.jsx("button",{type:"button",className:"oc-queue-action","aria-label":"删除排队消息",title:"删除排队消息",disabled:c!==null,onClick:()=>x(S,()=>e.onRemove(E)),children:u.jsx(d1,{size:15})}),u.jsx("button",{type:"button",className:"oc-queue-action","aria-label":"插话发送",title:"插话发送",disabled:c!==null||e.turnPhase==="idle",onClick:()=>x(S,()=>e.onSteer(E)),children:u.jsx($k,{size:15})})]})})]},S)}):null})]})})}function bj(){return u.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[u.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),u.jsx("circle",{cx:"8.5",cy:"10",r:"1.5"}),u.jsx("path",{d:"m21 16-5.5-5.5L9 17"})]})}function yj(e){const{composer:t,streaming:n,turnPhase:a,deferredTurn:s,deferredTurns:o=s?[s]:[],hasThread:c}=e,d=w.useRef(null),m=lc(),h=m.reloading,p=m.reloadError,x=m.mutationBusy||h||a!=="idle",y=w.useCallback(()=>{t.setInput(""),t.setShortcutOpen(!1),vd()},[t.setInput,t.setShortcutOpen]),S=w.useCallback(D=>{const K=t.isComposingNow()||D.nativeEvent.isComposing,q=t.recentlyComposedNow();if(D.key==="Enter"&&!D.shiftKey&&!K&&!q&&(!n||a!=="idle")){if(t.shortcutOpen&&t.filteredShortcuts.length>0){if((t.filteredShortcuts[t.shortcutIndex]??t.filteredShortcuts[0])?.command==="/reload"){D.preventDefault(),y();return}}else if(t.input.trim()==="/reload"){D.preventDefault(),y();return}}e.onKeyDown(D)},[t.isComposingNow,t.recentlyComposedNow,t.shortcutOpen,t.filteredShortcuts,t.shortcutIndex,t.input,y,n,a,e.onKeyDown]),E=w.useCallback((D,K)=>{if(K==="pi-prompt"||D==="/name"||D==="/compact"||D==="/goal"){t.setInput(`${D} `),t.setShortcutOpen(!1),t.textareaRef.current?.focus();return}if(D==="/reload"){y();return}e.onRunShortcut(D)},[y,e.onRunShortcut,t]),R=w.useCallback(()=>{if(t.input.trim()==="/reload"){y();return}e.onSend(t.input)},[t.input,y,e.onSend]);w.useEffect(()=>{if(!t.shortcutOpen||t.filteredShortcuts.length===0||!e.paletteKeyboardNavRef.current)return;const D=e.shortcutPaletteRef.current;if(!D)return;D.querySelector(`[data-shortcut-index="${t.shortcutIndex}"]`)?.scrollIntoView({block:"nearest",inline:"nearest"}),e.paletteKeyboardNavRef.current=!1},[t.shortcutOpen,t.filteredShortcuts,t.shortcutIndex,e.shortcutPaletteRef,e.paletteKeyboardNavRef]),w.useEffect(()=>{if(!t.shortcutOpen||t.filteredShortcuts.length===0)return;const D=d.current,K=e.shortcutPaletteRef.current,q=D?.closest(".oc-main")??null;if(!D||!K||!q)return;let Q=0;const V=()=>{Q=0;const B=q.getBoundingClientRect(),Y=D.getBoundingClientRect(),me=gj({boundaryTop:B.top,anchorTop:Y.top,viewportTop:window.visualViewport?.offsetTop??0});if(me===null){K.style.removeProperty(Wh);return}K.style.setProperty(Wh,`${me}px`)},X=()=>{Q!==0&&window.cancelAnimationFrame(Q),Q=window.requestAnimationFrame(V)};V();const W=typeof ResizeObserver>"u"?null:new ResizeObserver(X);return W?.observe(q),W?.observe(D),window.addEventListener("resize",X),window.visualViewport?.addEventListener("resize",X),window.visualViewport?.addEventListener("scroll",X),()=>{Q!==0&&window.cancelAnimationFrame(Q),W?.disconnect(),window.removeEventListener("resize",X),window.visualViewport?.removeEventListener("resize",X),window.visualViewport?.removeEventListener("scroll",X),K.style.removeProperty(Wh)}},[t.shortcutOpen,t.filteredShortcuts.length,e.layoutMode,e.shortcutPaletteRef]);const N=e.processSummary??{count:0,statusLabel:"",statusKind:"ok"},_=(()=>{const D=N;return D.count===0?"查看工具调用记录,暂无调用":D.statusKind==="error"?`查看工具调用记录,共 ${D.count} 次,其中 ${D.statusLabel}`:D.statusKind==="running"?`查看工具调用记录,共 ${D.count} 次,${D.statusLabel||"正在运行"}`:`查看工具调用记录,共 ${D.count} 次,全部已完成`})(),I=(()=>{const D=e.sessionStats,K=[];if(D.steps>0){K.push(`${D.turns} 轮 · ${D.steps} 步`);const V=[];D.llmMs>0&&V.push(`LLM ${Kh(D.llmMs)}`),D.toolMs>0&&V.push(`工具调用 ${Kh(D.toolMs)}`),V.length>0&&K.push(V.join(" · "));const X=[];if(D.ttftSteps>0&&X.push(`首 token 平均 ${Kh(D.ttftMs/D.ttftSteps)}`),D.decodeMs>0){const W=D.decodeTokens/(D.decodeMs/1e3),B=W>=10?String(Math.round(W)):String(Math.round(W*10)/10);X.push(`${B} tok/s`)}X.length>0&&K.push(X.join(" · "))}const q=j7(e.usage),Q=e.usage.outputTokens;if(q>0||Q>0){const V=ij(e.usage);V!==null&&K.push(`缓存命中 ${V}%`),K.push(`输入 ${G3(q)} tok · 输出 ${G3(Q)} tok`)}return K})(),P=I.join(" | "),F=e.usage.contextUsage,M=F?.percent??null,A=F?`上下文 ${M===null?"—":`${Math.round(M*10)/10}%`} / ${F.contextWindow>0?nd(F.contextWindow):"—"}`:"上下文 —",z=u.jsxs(u.Fragment,{children:[u.jsxs("label",{className:"oc-attach-button oc-attach-icon",title:"添加图片","aria-label":"添加图片",children:[u.jsx(bj,{}),u.jsx("span",{className:"sr-only",children:"添加图片"}),u.jsx("input",{type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,hidden:!0,onChange:D=>{t.addImagesFromFiles(Array.from(D.target.files??[]).slice(0,4)),D.target.value=""}})]}),u.jsx("span",{className:"oc-composer-actions-spacer"}),u.jsx("div",{className:"oc-composer-model-controls",children:u.jsx(mj,{models:e.models,activeModelRef:e.activeModelRef,activeModelListed:e.activeModelListed,activeThinkingLevel:e.activeThinkingLevel||"auto",thinkingLevels:e.thinkingLevels,disabled:x,onSelectModel:(D,K)=>e.onSwitchRuntime({provider:D,modelId:K}),onSelectThinking:D=>e.onSwitchRuntime({thinkingLevel:D})})}),u.jsxs("button",{type:"button",className:"btn btn-ghost oc-composer-compact",onClick:e.onCompact,disabled:a!=="idle"||!c||e.compacting,title:e.compacting?"正在压缩上下文…":c?a!=="idle"?"生成中,暂不可压缩":"压缩上下文,释放 token":"先进行对话后再压缩上下文","aria-label":e.compacting?"正在压缩上下文…":c?a!=="idle"?"生成中,暂不可压缩":"压缩上下文,释放 token":"先进行对话后再压缩上下文",children:[e.compacting?u.jsx("span",{className:"oc-spinner oc-spinner-inline","aria-hidden":"true"}):u.jsx(Fk,{size:16,"aria-hidden":"true"}),u.jsx("span",{className:"sr-only",children:e.compacting?"正在压缩上下文":"压缩上下文"})]}),e.runtimeContext?u.jsxs("button",{type:"button",ref:e.runtimeContextTriggerRef,className:`oc-runtime-context-toggle${e.runtimeContextOpen?" is-active":""}`,style:{"--oc-context-percent":`${Math.max(0,Math.min(100,M??0))}%`},"aria-expanded":e.runtimeContextOpen,"aria-controls":"oc-runtime-context-panel",title:A,"aria-label":e.runtimeContextOpen?"关闭注入上下文(当前运行时上下文与活跃工具)":"展开注入上下文(当前运行时上下文与活跃工具)",onClick:e.onToggleRuntimeContext,children:[u.jsx("span",{className:"oc-context-ring","aria-hidden":"true"}),u.jsx("span",{className:"sr-only",children:A})]}):null]}),G=u.jsxs("div",{className:"oc-telemetry",title:P||void 0,children:[a!=="idle"?u.jsx("span",{className:"oc-usage-state",children:a==="stopping"?"正在停止":"运行中"}):null,e.unread>0?u.jsxs("span",{children:[e.unread," 未读"]}):null,I.length>0?u.jsx("span",{className:"oc-telemetry-stats",children:I.map((D,K)=>u.jsx("span",{className:"oc-telemetry-group",children:D},`${K}:${D}`))}):null,u.jsxs("button",{type:"button",ref:e.processTriggerRef,className:`oc-process-summary is-${N.statusKind}${e.processOpen?" is-open":""}`,"aria-expanded":e.processOpen,"aria-controls":"oc-process-panel","aria-label":_,title:_,onClick:e.onToggleProcess,children:["调用记录 ",N.count]})]});return u.jsx("div",{className:"oc-composer",children:u.jsxs("div",{className:"oc-composer-inner",ref:d,children:[t.fileOptions.length>0&&u.jsx("div",{className:"oc-file-palette",role:"listbox","aria-label":"Repository files",children:t.fileOptions.map(D=>u.jsx("button",{type:"button",role:"option",className:D.endsWith("/")?"is-dir":void 0,onMouseDown:K=>K.preventDefault(),onClick:()=>t.insertFileReference(D),children:u.jsxs("code",{children:["@",D]})},D))}),t.pendingImages.length>0&&u.jsx("div",{className:"oc-attachment-list",children:t.pendingImages.map(D=>u.jsxs("span",{children:[D.name,u.jsx("button",{type:"button","aria-label":`移除 ${D.name}`,onClick:()=>t.removeImage(D),children:"×"})]},D.name))}),t.shortcutOpen&&t.filteredShortcuts.length>0&&u.jsxs("div",{className:"oc-shortcut-palette",id:"oc-shortcut-palette",ref:e.shortcutPaletteRef,role:"listbox","aria-label":"命令","aria-busy":t.dynamicCommandsLoading||void 0,"data-layout-mode":e.layoutMode,children:[u.jsxs("div",{className:"oc-shortcut-palette-head",children:[u.jsxs("strong",{children:["命令 · ",t.filteredShortcuts.length]}),t.dynamicCommandsLoading?u.jsx("span",{className:"oc-shortcut-palette-meta",children:"正在加载扩展、提示词与技能…"}):null,t.dynamicCommandsError?u.jsxs("span",{className:"oc-shortcut-palette-meta is-error",children:[t.dynamicCommandsError,u.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>t.retryDynamicCommands(),children:"重试"})]}):null]}),u.jsx("div",{className:"oc-shortcut-palette-body",children:e.paletteModel.map(D=>u.jsxs("div",{className:"oc-shortcut-group",children:[u.jsxs("small",{children:[D.label," · ",D.items.length]}),D.items.map(({entry:K,globalIndex:q})=>u.jsxs("button",{type:"button",role:"option",id:`oc-shortcut-option-${q}`,"aria-label":K.command,"aria-describedby":`oc-shortcut-option-desc-${q}`,"aria-selected":q===t.shortcutIndex,className:q===t.shortcutIndex?"is-active":"","data-shortcut-index":q,title:K.command,onMouseEnter:()=>t.setShortcutIndex(q),onMouseDown:Q=>Q.preventDefault(),onClick:Q=>{Q.currentTarget.scrollIntoView({block:"nearest"}),E(K.command,K.action)},children:[u.jsx("code",{children:K.command}),u.jsx("small",{id:`oc-shortcut-option-desc-${q}`,children:K.description})]},`${K.source}:${K.command}`))]},D.source))})," "]}),u.jsx(vj,{items:o,turnPhase:a,onEdit:e.onEditDeferred,onRemove:D=>e.onDiscardDeferred(D),onSteer:e.onSteerDeferred}),u.jsxs("div",{className:`oc-composer-shell${a!=="idle"?" is-busy":""}`,children:[u.jsx("textarea",{ref:t.textareaRef,className:"oc-textarea",value:t.input,rows:2,placeholder:a==="stopping"?"上一轮正在停止…输入后可排队自动发送":n?"正在执行…继续输入以排队,当前回合结束后自动发送":c?"输入消息… Enter 发送 · Shift+Enter 换行 · ↑ 召回历史输入":"描述目标,或点选上方建议开始…",onChange:D=>t.handleInputChange(D.target.value),onKeyDown:S,onCompositionStart:t.onCompositionStart,onCompositionEnd:t.onCompositionEnd,"aria-expanded":t.shortcutOpen,"aria-controls":t.shortcutOpen?"oc-shortcut-palette":void 0,"aria-activedescendant":t.shortcutOpen&&t.filteredShortcuts.length>0?`oc-shortcut-option-${t.shortcutIndex}`:void 0}),u.jsxs("div",{className:"oc-composer-actions",children:[z,a==="running"?u.jsxs(u.Fragment,{children:[(t.input.trim()!==""||t.pendingImages.length>0)&&u.jsx("button",{type:"button",className:"oc-send is-queue",title:"排队发送:当前回合结束后自动发送","aria-label":"排队发送:当前回合结束后自动发送",onClick:R,disabled:h,children:u.jsx(n4,{})}),u.jsxs("button",{type:"button",className:"oc-stop",title:s?"对话进行中,点击停止后立即发送排队消息":"对话进行中,点击停止","aria-label":s?"对话进行中,点击停止后立即发送排队消息":"对话进行中,点击停止",onClick:e.onStop,children:[u.jsx("span",{className:"oc-spinner","aria-hidden":"true"}),u.jsx(bS,{})]})]}):u.jsx("button",{type:"button",className:"oc-send",title:a==="stopping"?"停止后发送":"发送","aria-label":a==="stopping"?"停止后发送":"发送",onClick:R,disabled:!t.input.trim()&&t.pendingImages.length===0||h,children:u.jsx(n4,{})})]})]}),p&&u.jsxs("div",{className:"oc-reload-banner is-error",role:"alert",children:[u.jsxs("span",{children:[p.code?`${p.code}:`:"",p.message]}),u.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{vd()},children:"重试"})]}),h?u.jsx("div",{className:"oc-reload-status",children:"正在重新加载会话…"}):null,G]})})}function xj(e){return e.nativeEvent.isComposing||e.nativeEvent.keyCode===229}function wj(e){const t=/\s*(?:\((?:recommended|推荐)\)|((?:recommended|推荐)))\s*$/i;return t.test(e)?{label:e.replace(t,""),recommended:!0}:{label:e,recommended:!1}}function Yh(e){const t={left:"9 2.5 5.5 6 9 9.5",right:"3 2.5 6.5 6 3 9.5",up:"2.5 8 6 4.5 9.5 8",down:"2.5 4 6 7.5 9.5 4"}[e.direction];return u.jsx("svg",{viewBox:"0 0 12 12","aria-hidden":"true",children:u.jsx("polyline",{points:t})})}function kj(){return u.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:u.jsx("path",{d:"m4 4 8 8m0-8-8 8"})})}function W3(){return u.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:u.jsx("path",{d:"m3.25 8.25 3.1 3.1 6.4-6.7"})})}function Sj(){return u.jsxs("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[u.jsx("path",{d:"m3.2 11.9-.7 2.6 2.6-.7L12.8 6a1.7 1.7 0 0 0-2.4-2.4L3.2 11.9Z"}),u.jsx("path",{d:"m9.5 4.5 2 2"})]})}function Ej(e){return u.jsxs("div",{className:"oc-question-answer-field",children:[u.jsx("div",{className:"oc-question-field-mirror","aria-hidden":"true",children:`${e.value}
|
|
396
|
+
`}),u.jsx("textarea",{className:"oc-question-field-input",rows:1,value:e.value,disabled:e.disabled,autoFocus:e.autoFocus,placeholder:e.placeholder,onFocus:e.onFocus,onChange:e.onChange,onKeyDown:e.onKeyDown})]})}function Tj(e){const t=e.pending.questions,[n,a]=w.useState(0),[s,o]=w.useState(()=>t.map(()=>({selected:[],custom:"",skipped:!1}))),[c,d]=w.useState(null),[m,h]=w.useState(null),[p,g]=w.useState(!1),x=w.useRef(new Set),y=t[n],S=s[n],E=!!y.options?.length,R=G=>{o(D=>D.map((K,q)=>q===n?G(K):K)),h(null)},N=G=>G.selected.length>0||G.custom.trim().length>0,_=G=>N(G)||G.skipped,I=async(G,D)=>{const K=e.workspaceId?`?workspaceId=${encodeURIComponent(e.workspaceId)}`:"",q=await fetch(`${e.origin}/api/operator/v1/chat/sessions/${encodeURIComponent(e.pending.sessionId)}/questions/${encodeURIComponent(e.pending.requestId)}/${G}${K}`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Nn()},body:JSON.stringify(D)}),Q=await q.json().catch(()=>({}));if(!q.ok){if(q.status===404||q.status===409){e.onSettled();return}throw new Error(Q.error?.message??`请求失败 (${q.status})`)}e.onSettled()},P=G=>{const D=G.findIndex(q=>!_(q));if(D>=0){a(D),h("请回答或跳过这个问题");return}const K={answers:t.map((q,Q)=>{const V=G[Q];if(V.skipped)return{id:q.id,selected:[]};const X=V.custom.trim();return{id:q.id,selected:X&&q.multiSelect!==!0?[]:V.selected,...X?{custom:X}:{}}})};d("answer"),h(null),I("answer",K).catch(q=>{d(null),h(q instanceof Error?q.message:String(q))})},F=()=>{if(!N(S)){h("请选择一个选项或填写回答");return}if(n<t.length-1){a(G=>G+1),h(null);return}P(s)},M=G=>{R(D=>y.multiSelect?{...D,selected:D.selected.includes(G)?D.selected.filter(K=>K!==G):[...D.selected,G],skipped:!1}:{selected:[G],custom:"",skipped:!1}),!y.multiSelect&&n<t.length-1&&a(D=>D+1)},A=G=>{const D=G.target.value;R(K=>({...K,selected:y.multiSelect?K.selected:[],custom:D,skipped:!1}))},z=()=>{const G=s.map((D,K)=>K===n?{selected:[],custom:"",skipped:!0}:D);o(G),h(null),n<t.length-1?a(D=>D+1):P(G)};return u.jsx("div",{className:"oc-question-composer","data-question-request":e.pending.requestId,children:u.jsxs("section",{className:`oc-question-card${p?" is-minimized":""}`,"aria-labelledby":`oc-question-${e.pending.requestId}-${n}`,children:[u.jsxs("header",{className:"oc-question-header",children:[u.jsxs("div",{className:"oc-question-heading",children:[y.header?u.jsx("div",{className:"oc-question-eyebrow",children:y.header}):null,u.jsx("h2",{id:`oc-question-${e.pending.requestId}-${n}`,children:y.question})]}),u.jsxs("div",{className:"oc-question-header-actions",children:[u.jsx("button",{type:"button",className:"oc-question-icon-button","aria-label":p?"展开问题":"收起问题",title:p?"展开问题":"收起问题","aria-expanded":!p,disabled:c!==null,onClick:()=>g(G=>!G),children:u.jsx(Yh,{direction:p?"up":"down"})}),u.jsx("button",{type:"button",className:"oc-question-icon-button","aria-label":"取消回答",title:"取消回答",disabled:c!==null,onClick:()=>{d("cancel"),h(null),I("cancel",{reason:"USER_CANCELLED"}).catch(G=>{d(null),h(G instanceof Error?G.message:String(G))})},children:u.jsx(kj,{})})]})]}),p?null:u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"oc-question-body",children:[y.detail!==void 0?u.jsx("div",{className:"oc-question-detail",children:u.jsx(pc,{text:y.detail})}):null,u.jsxs("div",{className:"oc-question-options",role:y.multiSelect?"group":"radiogroup",children:[(y.options??[]).map((G,D)=>{const K=S.selected.includes(G.label),q=wj(G.label);return u.jsxs("button",{type:"button",className:`oc-question-option${K&&!y.multiSelect?" is-selected":""}`,role:y.multiSelect?"checkbox":"radio","aria-checked":K,disabled:c!==null,onClick:()=>M(G.label),children:[y.multiSelect?u.jsx("span",{className:`oc-question-checkbox${K?" is-checked":""}`,"aria-hidden":"true",children:K?u.jsx(W3,{}):null}):u.jsx("span",{className:"oc-question-number",children:D+1}),u.jsx("span",{className:"oc-question-option-copy",children:u.jsxs("span",{className:"oc-question-option-main",children:[u.jsx("span",{className:"oc-question-option-label",children:q.label}),q.recommended?u.jsx("span",{className:"oc-question-badge",children:"推荐"}):null,G.description?u.jsx("span",{className:"oc-question-description",children:G.description}):null]})})]},`${G.label}-${D}`)}),u.jsxs("div",{className:`oc-question-custom${S.custom?" is-active":""}`,children:[E?y.multiSelect===!0?u.jsx("span",{className:`oc-question-checkbox${S.custom?" is-checked":""}`,"aria-hidden":"true",children:S.custom?u.jsx(W3,{}):null}):u.jsx("span",{className:"oc-question-number",children:u.jsx(Sj,{})}):null,u.jsx(Ej,{value:S.custom,disabled:c!==null,placeholder:"输入自定义回答…",autoFocus:!E&&!x.current.has(n),onFocus:()=>x.current.add(n),onChange:A,onKeyDown:G=>{G.key!=="Enter"||G.shiftKey||xj(G)||(G.preventDefault(),F())}})]})]})]}),u.jsxs("footer",{className:"oc-question-footer",children:[u.jsxs("div",{className:"oc-question-pager",children:[u.jsx("button",{type:"button",className:"oc-question-icon-button","aria-label":"上一题",title:"上一题",disabled:n===0||c!==null,onClick:()=>{a(n-1),h(null)},children:u.jsx(Yh,{direction:"left"})}),u.jsxs("span",{children:[n+1," / ",t.length]}),u.jsx("button",{type:"button",className:"oc-question-icon-button","aria-label":"下一题",title:"下一题",disabled:n===t.length-1||c!==null,onClick:()=>{a(n+1),h(null)},children:u.jsx(Yh,{direction:"right"})})]}),u.jsx("div",{className:"oc-question-feedback",role:"status",children:m}),u.jsxs("div",{className:"oc-question-actions",children:[u.jsx("button",{type:"button",className:"oc-question-button is-secondary",disabled:c!==null,onClick:z,children:"跳过"}),u.jsx("button",{type:"button",className:"oc-question-button is-primary",disabled:c!==null||!N(S),onClick:F,children:c==="answer"?"提交中…":n===t.length-1?"提交":"下一题"})]})]})]})]})})}function Cj({status:e}){return e==="completed"?u.jsx(Dk,{size:15,"aria-hidden":"true"}):e==="in_progress"?u.jsx(qk,{size:15,"aria-hidden":"true",className:"oc-todo-spin"}):u.jsx("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":"true",children:u.jsx("circle",{cx:"7.5",cy:"7.5",r:"6.4",stroke:"currentColor",strokeWidth:"1.2",strokeDasharray:"2.4 2.4"})})}function Nj({todos:e}){const[t,n]=w.useState(!0);if(e.length===0)return null;const a=e.filter(d=>d.status==="completed").length,s=e.filter(d=>d.status==="in_progress").length,o=e.length-a-s,c=[a?`${a} 已完成`:"",s?`${s} 进行中`:"",o?`${o} 待处理`:""].filter(Boolean).join(" · ");return u.jsxs("section",{className:"oc-todo-panel","aria-label":"任务",children:[u.jsxs("button",{type:"button",className:"oc-todo-head","aria-expanded":!t,onClick:()=>n(d=>!d),children:[u.jsx("span",{className:"oc-todo-leading",children:u.jsx(q5,{size:15,"aria-hidden":"true"})}),u.jsx("strong",{children:"任务"}),u.jsx("span",{className:"oc-todo-summary",children:c}),u.jsx("span",{className:"oc-todo-chevron","aria-hidden":"true",children:t?u.jsx(B5,{size:16}):u.jsx(ec,{size:16})})]}),t?null:u.jsx("ul",{className:"oc-todo-list",children:e.map(d=>u.jsxs("li",{className:`oc-todo-item is-${d.status}`,children:[u.jsx("span",{className:"oc-todo-status","aria-hidden":"true",children:u.jsx(Cj,{status:d.status})}),u.jsx("span",{children:d.content})]},d.content))})]})}const Rj={active:"进行中",paused:"已暂停",blocked:"已阻塞",complete:"已完成"};function Ij(e){const[t,n]=w.useState(!1),a=e.goal?.goalId;if(w.useEffect(()=>n(!1),[a]),!e.goal)return null;const s=e.goal,o=`goal-detail-${s.goalId}`,c=s.phase==="paused"||s.phase==="blocked"||s.phase==="active"&&!s.armed;return u.jsxs("div",{className:`oc-goal-bar is-${s.phase}${t?" is-expanded":""}`,"aria-label":"持续目标",children:[u.jsxs("div",{className:"oc-goal-summary-row",children:[u.jsx("span",{className:"oc-goal-mark","aria-hidden":"true"}),u.jsx("span",{className:"oc-goal-label",children:"目标"}),u.jsxs("button",{type:"button",className:"oc-goal-objective",onClick:()=>n(d=>!d),"aria-controls":o,"aria-expanded":t,"aria-label":t?"收起完整目标":"展开完整目标",title:t?"收起完整目标":"展开完整目标",children:[u.jsx("span",{className:"oc-goal-objective-text",children:s.objective}),u.jsx("span",{className:"oc-goal-expand","aria-hidden":"true",children:"⌄"})]}),u.jsxs("span",{className:"oc-goal-meta",children:[Rj[s.phase]," · ",s.round,"/",s.maxRounds]}),u.jsxs("div",{className:"oc-goal-actions",children:[s.phase==="complete"?u.jsx("button",{type:"button",onClick:e.onCreate,disabled:e.busy,children:"新目标"}):u.jsx("button",{type:"button",onClick:e.onEdit,disabled:e.busy,children:"编辑"}),s.phase==="active"&&s.armed?u.jsx("button",{type:"button",onClick:e.onPause,disabled:e.busy,children:"暂停"}):c?u.jsx("button",{type:"button",onClick:e.onResume,disabled:e.busy,children:"继续"}):null,u.jsx("button",{type:"button",className:"is-danger",onClick:e.onClear,disabled:e.busy,"aria-label":"清除持续目标",children:"×"})]})]}),t?u.jsxs("div",{className:"oc-goal-detail",id:o,children:[u.jsx("div",{className:"oc-goal-detail-objective",children:s.objective}),s.blocker?u.jsxs("div",{className:"oc-goal-blocker",children:["阻塞:",s.blocker]}):null]}):null]})}const Zh=8e3;function Aj(e){const[t,n]=w.useState(e.initialObjective),a=w.useRef(null),s=t.trim(),o=Zh-t.length;return w.useEffect(()=>{n(e.initialObjective);const c=window.requestAnimationFrame(()=>{a.current?.focus(),a.current?.setSelectionRange(e.initialObjective.length,e.initialObjective.length)});return()=>window.cancelAnimationFrame(c)},[e.initialObjective]),u.jsxs("section",{className:"oc-goal-editor","aria-labelledby":"oc-goal-editor-title",children:[u.jsxs("header",{className:"oc-goal-editor-head",children:[u.jsx("span",{className:"oc-goal-editor-kicker",children:"持续目标"}),u.jsx("h2",{id:"oc-goal-editor-title",children:e.mode==="edit"?"编辑目标":"创建目标"}),u.jsx("p",{children:"目标会在后续回合和上下文压缩后继续注入,直到完成、暂停或清除。"})]}),u.jsxs("form",{className:"oc-goal-editor-form",onSubmit:c=>{c.preventDefault(),!(!s||e.busy)&&e.onSave(s)},children:[u.jsx("label",{htmlFor:"oc-goal-editor-objective",children:"目标内容"}),u.jsx("textarea",{ref:a,id:"oc-goal-editor-objective",value:t,maxLength:Zh,rows:12,placeholder:"描述需要持续推进并最终完成的结果…",onChange:c=>n(c.currentTarget.value),disabled:e.busy}),u.jsxs("div",{className:"oc-goal-editor-meta",children:[u.jsx("span",{children:"写清楚完成结果和必要边界,目标会更稳定。"}),u.jsxs("span",{className:o<400?"is-near-limit":void 0,children:[t.length.toLocaleString()," / ",Zh.toLocaleString()]})]}),u.jsxs("div",{className:"oc-goal-editor-actions",children:[u.jsx("button",{type:"button",className:"is-secondary",onClick:e.onCancel,disabled:e.busy,children:"取消"}),u.jsx("button",{type:"submit",disabled:!s||e.busy,children:e.busy?"正在保存…":e.mode==="edit"?"保存目标":"创建目标"})]})]})]})}function _j(e){const{toolCalls:t,onClose:n,overlay:a=!1,embedded:s=!1}=e,o=w.useRef(null);return Ld({open:a&&!s,containerRef:o,triggerRef:e.triggerRef,onEscape:n}),u.jsxs("aside",{ref:o,id:"oc-process-panel",className:`oc-process${a?" is-process-overlay":""}${s?" is-details-tab":""}`,"aria-label":"工具调用记录",role:a&&!s?"dialog":"region","aria-modal":a&&!s?!0:void 0,tabIndex:-1,children:[s?null:u.jsxs("header",{className:"oc-process-head",children:[u.jsxs("div",{className:"oc-process-title",children:[u.jsx("span",{className:"oc-process-title-mark","aria-hidden":"true"}),"工具调用记录",u.jsxs("span",{className:"oc-process-count",children:[t.length," 次"]})]}),u.jsx("button",{type:"button",className:"btn btn-ghost oc-process-close","aria-label":"关闭工具调用记录",onClick:n,children:"关闭"})]}),u.jsx("div",{className:"oc-process-timeline",children:t.length===0?u.jsx("div",{className:"oc-process-empty",children:"本轮对话尚无工具调用。诊断细节会在这里按时间线展示。"}):t.map((c,d)=>u.jsxs("div",{className:`oc-process-item${d===0?" is-first":""}${d===t.length-1?" is-last":""}${c.status==="error"?" is-error":""}${c.status==="running"?" is-running":""}`,children:[u.jsx("div",{className:"oc-process-rail","aria-hidden":"true",children:u.jsx("span",{className:"oc-process-dot"})}),u.jsx("div",{className:"oc-process-time",children:tc(c.createdAt)}),u.jsx("div",{className:"oc-process-body",children:u.jsx(D7,{entry:c})})]},c.id))})]})}const Mj={user:"用户",ai:"AI",thinking:"思考",tool:"工具",compaction:"压缩",activity:"活动",error:"错误",text:"文本",system:"系统"},Oj={user:u.jsx(Gk,{size:12,"aria-hidden":"true"}),ai:u.jsx(Y2,{size:12,"aria-hidden":"true"}),thinking:u.jsx(F5,{size:12,"aria-hidden":"true"}),tool:u.jsx(P5,{size:12,"aria-hidden":"true"}),compaction:u.jsx(G5,{size:12,"aria-hidden":"true"}),activity:u.jsx(Bk,{size:12,"aria-hidden":"true"}),error:u.jsx(U5,{size:12,"aria-hidden":"true"}),text:u.jsx(Y2,{size:12,"aria-hidden":"true"}),system:u.jsx(m1,{size:12,"aria-hidden":"true"})};function hi({kind:e}){return u.jsxs("span",{className:`oc-trajectory-tag is-${e}`,children:[Oj[e],Mj[e]]})}function Dj(e){return e===null||!Number.isFinite(e)||e<=0?"":e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function jj({tool:e}){const[t,n]=w.useState(!1),a=e.status==="error"?"error":"tool",s=e.status==="error"?"失败":e.status==="running"?"运行中":"成功",o=e.finishedAt&&e.createdAt?e.finishedAt-e.createdAt:null,c=t?u.jsxs("div",{className:"oc-trajectory-tool-body",children:[e.args!==void 0&&e.args!==null?u.jsxs("pre",{className:"oc-trajectory-pre",children:[u.jsx("strong",{children:"参数"}),h1(e.args)]}):null,e.resultText||e.result?u.jsxs("pre",{className:"oc-trajectory-pre",children:[u.jsx("strong",{children:"结果"}),zd(e.result??e.resultText)]}):null]}):null;return u.jsxs("div",{className:"oc-trajectory-step","data-open":t,children:[u.jsxs("div",{className:`oc-trajectory-cell is-${e.status}`,children:[u.jsx(hi,{kind:a}),u.jsx("span",{className:"oc-trajectory-cell-toolname",children:e.toolName}),u.jsx("span",{className:`oc-trajectory-cell-status is-${e.status}`,children:s}),u.jsx("span",{className:"oc-trajectory-cell-time",children:Dj(o)}),u.jsx("button",{type:"button",className:"oc-trajectory-cell-toggle",onClick:()=>n(d=>!d),"aria-expanded":t,children:t?"收起":"展开"})]}),c]})}function B7(e){const t=w.useRef(null),[n,a]=w.useState(!1),s=w.useCallback(()=>{const o=t.current;if(!o)return;const c=o.scrollWidth>o.clientWidth+1;a(d=>d===c?d:c)},[]);return w.useEffect(()=>{if(e)return;s();const o=t.current;if(!o||typeof ResizeObserver>"u")return;const c=new ResizeObserver(()=>s());return c.observe(o),()=>c.disconnect()},[e,s]),w.useEffect(()=>{e||s()}),{ref:t,overflowed:e?!0:n}}function Lj({text:e}){const[t,n]=w.useState(!1),{ref:a,overflowed:s}=B7(t);return u.jsx("div",{className:"oc-trajectory-step",children:u.jsxs("div",{className:"oc-trajectory-cell is-thinking-cell","data-open":t,children:[u.jsx(hi,{kind:"thinking"}),u.jsx("span",{ref:a,className:"oc-trajectory-cell-text oc-trajectory-think-text",children:e}),s?u.jsx("button",{type:"button",className:"oc-trajectory-cell-toggle",onClick:()=>n(o=>!o),"aria-expanded":t,children:t?"收起":"展开"}):null]})})}function Xh({kind:e,text:t}){const[n,a]=w.useState(!1),{ref:s,overflowed:o}=B7(n);return u.jsxs("div",{className:`oc-trajectory-cell is-${e}-cell`,"data-open":n,children:[u.jsx(hi,{kind:e}),u.jsx("span",{ref:s,className:"oc-trajectory-cell-text",children:t}),o?u.jsx("button",{type:"button",className:"oc-trajectory-cell-toggle",onClick:()=>a(c=>!c),"aria-expanded":n,children:n?"收起":"展开"}):null]})}function Rd(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Co(e){if(e<1e3)return`${Math.round(e)}ms`;const t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;const n=Math.round(t);return`${Math.floor(n/60)}m${n%60}s`}function zj({turn:e,index:t}){const n=e.usage,a=[];if(e.steps>0&&a.push(`${e.steps} 步`),e.llmMs>0&&a.push(`LLM ${Co(e.llmMs)}`),e.ttftMs!==void 0&&e.ttftMs>0&&a.push(`首token ${Co(e.ttftMs)}`),e.decodeMs!==void 0&&e.decodeMs>0&&e.decodeTokens){const s=e.decodeTokens/(e.decodeMs/1e3);a.push(`${s.toFixed(1)} tok/s`)}if(e.toolCalls>0&&a.push(`${e.toolCalls} 工具`),e.toolMs>0&&a.push(`工具 ${Co(e.toolMs)}`),n.inputTokens>0||n.cacheReadTokens>0||n.cacheWriteTokens>0){const s=n.inputTokens+n.cacheReadTokens+n.cacheWriteTokens;a.push(`↑${Rd(s)}`)}return n.outputTokens>0&&a.push(`↓${Rd(n.outputTokens)}`),n.cost!==void 0&&n.cost>0&&a.push(n.cost>=.01?`$${n.cost.toFixed(2)}`:"<$0.01"),u.jsxs("div",{className:"oc-trajectory-turnmeta",title:`turn ${e.turnId}`,children:[u.jsxs("span",{className:"oc-trajectory-turnmeta-index",children:["第 ",t," 轮"]}),a.map((s,o)=>u.jsx("span",{className:"oc-trajectory-turnmeta-item",children:s},o))]})}function Bj({group:e,telemetry:t,turnIndex:n}){const a=e.assistants.find(c=>c.kind==="compaction"),s=e.user?.text,o=e.answer?.text;return a?u.jsx("div",{className:"oc-trajectory-turn",children:u.jsxs("div",{className:"oc-trajectory-cell is-compaction-cell",children:[u.jsx(hi,{kind:"compaction"}),u.jsx("span",{className:"oc-trajectory-cell-text",children:a.text||"上下文已压缩"})]})}):u.jsxs("div",{className:"oc-trajectory-turn",children:[t?u.jsx(zj,{turn:t,index:n}):null,s?u.jsx(Xh,{kind:"user",text:s}):null,e.processItems.map((c,d)=>{switch(c.kind){case"thinking":return u.jsx(Lj,{text:c.thinking},d);case"text":return c.text.trim()?u.jsx(Xh,{kind:"ai",text:c.text},d):null;case"tool":return u.jsx(jj,{tool:c.tool},d);case"activity":return u.jsxs("div",{className:"oc-trajectory-cell is-activity-cell",children:[u.jsx(hi,{kind:"activity"}),u.jsx("span",{className:"oc-trajectory-cell-text",children:c.activity?.title??"活动"})]},d);case"provider-error":return u.jsxs("div",{className:"oc-trajectory-cell is-error-cell",children:[u.jsx(hi,{kind:"error"}),u.jsx("span",{className:"oc-trajectory-cell-text",children:c.error?.message??"提供方错误"})]},d);default:return null}}),o?u.jsx(Xh,{kind:"ai",text:o}):null]})}function qj(e){const{runtimeContext:t,toolCatalog:n,loading:a}=e,[s,o]=w.useState(!1),[c,d]=w.useState(!1);if(a&&!t)return u.jsx("div",{className:"oc-trajectory-turn oc-trajectory-injection",children:u.jsxs("div",{className:"oc-trajectory-cell is-system-cell",children:[u.jsx(hi,{kind:"system"}),u.jsx("span",{className:"oc-trajectory-cell-text oc-trajectory-think-text",children:"正在加载会话注入(冷启动 Pi 会话)…"})]})});if(!t)return null;const m=t.systemPrompt.text??"",h=t.suffix.text??"",p=t.resources.activeTools??[],g=[...n?.operator??[],...n?.explore??[]];return u.jsxs("div",{className:"oc-trajectory-turn oc-trajectory-injection",children:[u.jsxs("div",{className:"oc-trajectory-cell is-system-cell",children:[u.jsx(hi,{kind:"system"}),u.jsxs("span",{className:"oc-trajectory-cell-text",children:["系统提示词",m?` · ${t.systemPrompt.charCount??m.length} 字符`:" · 暂不可用",h?" · 含注入上下文":""]}),u.jsx("button",{type:"button",className:"oc-trajectory-cell-toggle",onClick:()=>o(x=>!x),"aria-expanded":s,children:s?"收起":"展开"})]}),s?u.jsxs("div",{className:"oc-trajectory-tool-body",children:[m?u.jsxs("pre",{className:"oc-trajectory-pre",children:[u.jsx("strong",{children:"系统提示词"}),m]}):null,h?u.jsxs("pre",{className:"oc-trajectory-pre",children:[u.jsx("strong",{children:"注入上下文(suffix)"}),h]}):null]}):null,u.jsxs("div",{className:"oc-trajectory-cell is-system-cell",children:[u.jsx(hi,{kind:"system"}),u.jsxs("span",{className:"oc-trajectory-cell-text",children:["工具目录 · 当前启用 ",p.length," 个"]}),u.jsx("button",{type:"button",className:"oc-trajectory-cell-toggle",onClick:()=>d(x=>!x),"aria-expanded":c,children:c?"收起":"展开"})]}),c?u.jsx("div",{className:"oc-trajectory-tool-body",children:g.length>0?u.jsxs("div",{className:"oc-trajectory-pre",children:[u.jsx("strong",{children:"模型可见工具"}),g.map(x=>u.jsxs("div",{className:"oc-trajectory-tool-catalog-row",children:[u.jsx("code",{children:x.toolId}),x.action?u.jsx("em",{children:x.action}):null,u.jsx("span",{children:x.description})]},x.toolId))]}):u.jsxs("pre",{className:"oc-trajectory-pre",children:[u.jsx("strong",{children:"模型可见工具"}),p.join(`
|
|
397
|
+
`)||"(无)"]})}):null]})}function Uj(e){const t=e.turnGroups,n=new Map;for(const c of e.turnTelemetry??[])n.set(c.turnId,c);const a=c=>{const d=c.user?.turnId??c.assistants[0]?.turnId;if(d){const p=n.get(d);if(p)return p}const m=c.user?.createdAt??c.assistants[0]?.createdAt;if(m===void 0)return;let h;for(const p of e.turnTelemetry??[])p.startedAt!==void 0&&p.startedAt>=m-2e3&&p.startedAt<=m+2e3&&(h=p);return h},s=u.jsx(qj,{runtimeContext:e.runtimeContext??null,toolCatalog:e.toolCatalog??null,loading:e.runtimeContextLoading});if(t.length===0&&!s)return u.jsx("p",{className:"oc-trajectory-empty",children:"暂无对话轨迹。"});const o=()=>{const c=Kj(t,{runtimeContext:e.runtimeContext??null,toolCatalog:e.toolCatalog??null},e.turnTelemetry),d=new Blob([c],{type:"text/html;charset=utf-8"}),m=URL.createObjectURL(d),h=document.createElement("a");h.href=m,h.download=`trajectory-${Date.now()}.html`,document.body.appendChild(h),h.click(),h.remove(),URL.revokeObjectURL(m)};return u.jsxs("div",{className:"oc-trajectory",children:[u.jsxs("div",{className:"oc-trajectory-toolbar",children:[u.jsx("span",{children:"对话轨迹"}),u.jsx("button",{type:"button",className:"oc-trajectory-export",onClick:o,children:"导出 HTML"})]}),s,t.map((c,d)=>u.jsx(Bj,{group:c,telemetry:a(c),turnIndex:d+1},c.key))]})}const Hj=`
|
|
398
|
+
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f6f7f9;color:#1a1d21}
|
|
399
|
+
.wrap{max-width:900px;margin:0 auto;padding:24px 20px}
|
|
400
|
+
h1{font-size:16px;color:#555;font-weight:600;margin:0 0 16px}
|
|
401
|
+
.turn{border-top:1px dashed #d7dbe0;padding:14px 0}
|
|
402
|
+
.turn:first-child{border-top:0}
|
|
403
|
+
.turnmeta{font-size:11px;color:#8a8f98;padding:0 2px 4px;font-variant-numeric:tabular-nums}
|
|
404
|
+
.cell{display:flex;align-items:flex-start;gap:10px;padding:6px 12px;border:1px solid #e3e6ea;border-radius:8px;background:#fff;margin:5px 0;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
|
|
405
|
+
.cell.is-user{background:rgba(47,158,68,.05);border-color:rgba(47,158,68,.18)}
|
|
406
|
+
.cell.is-ai{background:rgba(91,91,214,.05);border-color:rgba(91,91,214,.18)}
|
|
407
|
+
.tag{flex:none;display:inline-flex;align-items:center;gap:3px;height:19px;padding:0 6px;border-radius:5px;font-size:10px;font-weight:600;white-space:nowrap}
|
|
408
|
+
.tag.is-user{color:#2f9e44;background:rgba(47,158,68,.12)}
|
|
409
|
+
.tag.is-ai{color:#5b5bd6;background:rgba(91,91,214,.12)}
|
|
410
|
+
.tag.is-thinking{color:#8a8f98;background:rgba(138,143,152,.14)}
|
|
411
|
+
.tag.is-tool{color:#d97706;background:rgba(217,119,6,.13)}
|
|
412
|
+
.tag.is-compaction{color:#8a8f98;background:rgba(138,143,152,.14)}
|
|
413
|
+
.tag.is-activity{color:#0e7490;background:rgba(14,116,144,.12)}
|
|
414
|
+
.tag.is-error{color:#d64545;background:rgba(214,69,69,.12)}
|
|
415
|
+
.tag.is-system{color:#5b6ea1;background:rgba(91,110,161,.12)}
|
|
416
|
+
.name{font-family:ui-monospace,monospace;font-weight:600}
|
|
417
|
+
.meta{color:#8a8f98;font-size:11px;margin-left:auto;white-space:nowrap}
|
|
418
|
+
.pre{margin:4px 0 0;padding:6px 10px;background:#f1f3f5;border-radius:6px;font-family:ui-monospace,monospace;font-size:11px;white-space:pre-wrap;word-break:break-word}
|
|
419
|
+
details.ell{padding:6px 12px;border:1px solid #e3e6ea;border-radius:8px;background:#fff;margin:5px 0}
|
|
420
|
+
details.ell summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;font-size:13px}
|
|
421
|
+
details.ell summary::-webkit-details-marker{display:none}
|
|
422
|
+
details.ell summary .caret{transition:transform .15s}
|
|
423
|
+
details.ell[open] summary .caret{transform:rotate(90deg)}
|
|
424
|
+
details.ell .full{margin-top:6px;padding:8px 10px;background:#f1f3f5;border-radius:6px;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
|
|
425
|
+
details.ell .pre{margin-top:6px}
|
|
426
|
+
`,$j=200;function Qp(e,t,n){return`<span class="tag is-${e}">${t}${n}</span>`}function Pj(e,t=120){const n=Lr(e);return n.length>t?`${n.slice(0,t)}…`:n}function Oa(e,t,n,a){const s=Lr(a);return a.length<=$j?`<div class="cell is-${e}">${Qp(e,t,n)}<span>${s}</span></div>`:`<details class="ell"><summary>${Qp(e,t,n)}<span>${Pj(a)}</span><span class="caret">▸</span></summary><div class="full">${s}</div></details>`}function Fj(e){const t=e.status==="error"?"失败":e.status==="running"?"运行中":"成功",n=e.args!==void 0&&e.args!==null?`<div class="pre">${Lr(h1(e.args))}</div>`:"",a=e.resultText||e.result?`<div class="pre">${Lr(zd(e.result??e.resultText))}</div>`:"",s=`${n}${a}`||'<div class="pre">(无输出)</div>';return`<details class="ell"><summary>${Qp("tool","⚙","工具")}<span class="name">${Lr(e.toolName)}</span><span class="meta">${t}</span><span class="caret">▸</span></summary><div class="full">${s}</div></details>`}function Gj(e){const{runtimeContext:t,toolCatalog:n}=e;if(!t)return"";const a=t.systemPrompt.text??"",s=t.suffix.text??"",o=t.resources.activeTools??[],c=[...n?.operator??[],...n?.explore??[]],d=['<div class="turn">'];d.push(Oa("system","⚙","系统",a?`系统提示词(${t.systemPrompt.charCount??a.length} 字符)
|
|
427
|
+
|
|
428
|
+
${a}`:"系统提示词暂不可用")),s&&d.push(Oa("system","⚙","系统",`注入上下文(suffix)
|
|
429
|
+
|
|
430
|
+
${s}`));const m=c.length>0?`模型可见工具(${c.length} 个)
|
|
431
|
+
|
|
432
|
+
${c.map(h=>`- ${h.toolId}${h.action?`(${h.action})`:""}:${h.description}`).join(`
|
|
433
|
+
`)}`:`当前启用工具(${o.length} 个)
|
|
434
|
+
|
|
435
|
+
${o.join(`
|
|
436
|
+
`)||"(无)"}`;return d.push(Oa("system","⚙","系统",m)),d.push("</div>"),d.join(`
|
|
437
|
+
`)}function Vj(e,t){const n=e.usage,a=[];if(e.steps>0&&a.push(`${e.steps} 步`),e.llmMs>0&&a.push(`LLM ${Co(e.llmMs)}`),e.ttftMs!==void 0&&e.ttftMs>0&&a.push(`首token ${Co(e.ttftMs)}`),e.decodeMs!==void 0&&e.decodeMs>0&&e.decodeTokens){const s=e.decodeTokens/(e.decodeMs/1e3);a.push(`${s.toFixed(1)} tok/s`)}if(e.toolCalls>0&&a.push(`${e.toolCalls} 工具`),e.toolMs>0&&a.push(`工具 ${Co(e.toolMs)}`),n.inputTokens>0||n.cacheReadTokens>0||n.cacheWriteTokens>0){const s=n.inputTokens+n.cacheReadTokens+n.cacheWriteTokens;a.push(`↑${Rd(s)}`)}return n.outputTokens>0&&a.push(`↓${Rd(n.outputTokens)}`),n.cost!==void 0&&n.cost>0&&a.push(n.cost>=.01?`$${n.cost.toFixed(2)}`:"<$0.01"),`<div class="turnmeta">第 ${t} 轮 · ${Lr(a.join(" · "))}</div>`}function Kj(e,t,n){const a=new Map;for(const d of n??[])a.set(d.turnId,d);const s=d=>{const m=d.user?.turnId??d.assistants[0]?.turnId;if(m){const g=a.get(m);if(g)return g}const h=d.user?.createdAt??d.assistants[0]?.createdAt;if(h===void 0)return;let p;for(const g of n??[])g.startedAt!==void 0&&g.startedAt>=h-2e3&&g.startedAt<=h+2e3&&(p=g);return p},o=[];t?.runtimeContext&&o.push(Gj(t));for(const[d,m]of e.entries()){o.push('<div class="turn">');const h=m.assistants.find(g=>g.kind==="compaction");if(h){o.push(Oa("compaction","●","压缩",h.text||"上下文已压缩")),o.push("</div>");continue}const p=s(m);p&&o.push(Vj(p,d+1)),m.user?.text&&o.push(Oa("user","👤","用户",m.user.text));for(const g of m.processItems)switch(g.kind){case"thinking":o.push(Oa("thinking","🧠","思考",g.thinking));break;case"text":g.text.trim()&&o.push(Oa("ai","🤖","AI",g.text));break;case"tool":o.push(Fj(g.tool));break;case"activity":o.push(Oa("activity","≡","活动",g.activity?.title??"活动"));break;case"provider-error":o.push(Oa("error","⚠","错误",g.error?.message??"提供方错误"));break}m.answer?.text&&o.push(Oa("ai","🤖","AI",m.answer.text)),o.push("</div>")}const c=new Date().toLocaleString();return`<!doctype html>
|
|
438
|
+
<html lang="zh-CN"><head><meta charset="utf-8"><title>对话轨迹</title><style>${Hj}</style></head>
|
|
439
|
+
<body><div class="wrap"><h1>对话轨迹 · 导出于 ${Lr(c)}</h1>${o.join(`
|
|
440
|
+
`)}</div></body></html>`}const Y3=[{id:"overview",label:"概览"},{id:"system",label:"System prompt"},{id:"files",label:"Context files"},{id:"skills",label:"Skills"},{id:"extensions",label:"Extensions"},{id:"packages",label:"Plugins"},{id:"tools",label:"Active tools"},{id:"raw",label:"原始 JSON"}];function $u(e){const t=Array.isArray(e.items)?e.items:void 0;return u.jsxs("section",{className:"oc-runtime-context-section",children:[u.jsxs("header",{className:"oc-runtime-context-section-head",children:[u.jsx("strong",{children:e.title}),u.jsx("span",{className:"oc-runtime-context-meta",children:t?`${t.length} 项`:"未投影"})]}),t===void 0?u.jsx("p",{className:"oc-runtime-context-empty",children:"该 session 未提供资源投影"}):t.length===0?u.jsx("p",{className:"oc-runtime-context-empty",children:e.emptyText}):u.jsx("ul",{className:"oc-runtime-context-resources",children:t.map((n,a)=>u.jsx(Wj,{item:n},`${n.name??n.path??a}:${a}`))})]})}function Wj(e){const t=e.item,a=[t.scope?`scope ${t.scope}`:"",t.source??"",t.version?`v${t.version}`:"",t.cwd?`cwd ${t.cwd}`:""].filter(Boolean).join(" · "),s=t.path?`${t.path}${t.baseDir?`(base: ${t.baseDir})`:""}`:"";return u.jsxs("li",{children:[u.jsxs("div",{className:"oc-runtime-context-resource-head",children:[u.jsx("strong",{className:"oc-runtime-context-resource-name",title:t.path??t.name,children:t.name||t.path||"未命名资源"}),t.enabled===!1?u.jsx("span",{className:"oc-runtime-context-resource-flag",children:"未启用"}):null,a?u.jsx("span",{className:"oc-runtime-context-meta",title:a,children:a}):null]}),t.description?u.jsx("span",{className:"oc-runtime-context-resource-desc",children:t.description}):null,t.path?u.jsx("code",{className:"oc-runtime-context-resource-path",title:s,children:s}):null,t.error?u.jsxs("span",{className:"oc-runtime-context-diag is-error",children:[u.jsx("span",{className:"oc-runtime-context-diag-icon","aria-hidden":"true",children:"✕"}),t.error]}):null,Array.isArray(t.diagnostics)&&t.diagnostics.length>0?u.jsxs("span",{className:"oc-runtime-context-diag",children:[u.jsx("span",{className:"oc-runtime-context-diag-icon","aria-hidden":"true",children:"⚠"}),t.diagnostics.join(";")]}):null,Array.isArray(t.resolved)&&t.resolved.length>0?u.jsxs("details",{className:"oc-runtime-context-resolved",children:[u.jsxs("summary",{children:["已解析 ",t.resolved.length," 项"]}),u.jsx("ul",{className:"oc-runtime-context-resolved-list",children:t.resolved.map((o,c)=>{const d=`${o.type??"?"}:${o.name??o.path??"?"}`;return u.jsx("li",{children:u.jsx("code",{title:d,children:d})},c)})})]}):null]})}const Yj=w.forwardRef(function({open:t,onToggle:n,onClose:a,context:s,panelOnly:o=!1,embedded:c=!1,triggerOnly:d=!1,triggerRef:m},h){const p=lc(),g=p.reloading,x=p.reloadError,[y,S]=w.useState("overview"),E=w.useRef(null);Ld({open:t&&!d&&!c,containerRef:E,triggerRef:m,onEscape:a}),w.useEffect(()=>{t||S("overview")},[t]);const R=Array.isArray(s.resources.activeTools)?s.resources.activeTools:[],N=typeof s.resources.activeToolCount=="number"?s.resources.activeToolCount:R.length,_=s.systemPrompt.text??s.systemPrompt.summary??"",I=s.systemPrompt.charCount??_.length,P=s.suffix.present?s.suffix.text??s.suffix.summary??"":"",F=s.model?Bs(s.model.provider,s.model.modelId):"",M=s.resources,A=String(s.resources.mode??"closed"),z=A.includes("open")?"open":"closed",G={files:M.contextFiles?.length??0,skills:M.skills?.length??0,extensions:M.extensions?.length??0,packages:M.packages?.length??0},D=["files","skills","extensions","packages"].map(Q=>({id:Q,label:Y3.find(V=>V.id===Q)?.label??Q,count:G[Q]??0})),K=u.jsx("button",{type:"button",ref:Q=>{typeof h=="function"?h(Q):h&&(h.current=Q)},className:`btn btn-ghost oc-runtime-context-toggle${t?" is-active":""}`,"aria-expanded":t,"aria-controls":"oc-runtime-context-panel",onClick:n,children:"注入上下文"});if(d)return K;const q=t?u.jsxs("div",{ref:E,id:"oc-runtime-context-panel",className:`oc-runtime-context-sidepanel${c?" is-details-tab":""}`,role:c?"region":"dialog","aria-modal":c?void 0:!0,"aria-label":"注入上下文",tabIndex:-1,children:[c?null:u.jsxs("header",{className:"oc-runtime-context-head",children:[u.jsxs("div",{className:"oc-runtime-context-head-copy",children:[u.jsx("strong",{children:"注入上下文"}),u.jsx("span",{className:"oc-runtime-context-meta",children:"只读 · 本轮实际注入的 system prompt / 资源(已脱敏)"})]}),u.jsx("button",{type:"button",className:"btn btn-ghost oc-runtime-context-close","aria-label":"关闭注入上下文",onClick:a,children:"关闭"})]}),u.jsxs("div",{className:"oc-runtime-context-layout",children:[u.jsx("nav",{className:"oc-runtime-context-nav","aria-label":"上下文分类",children:Y3.map(Q=>{const V=G[Q.id];return u.jsxs("button",{type:"button",className:`oc-runtime-context-nav-item${y===Q.id?" is-active":""}`,"aria-current":y===Q.id?"page":void 0,onClick:()=>S(Q.id),children:[u.jsx("span",{className:"oc-runtime-context-nav-label",title:Q.label,children:Q.label}),typeof V=="number"?u.jsx("span",{className:"oc-runtime-context-nav-count",children:V}):null]},Q.id)})}),u.jsxs("div",{className:"oc-runtime-context-body",children:[y==="overview"?u.jsxs("div",{className:"oc-runtime-context-overview",children:[s.model?u.jsxs("section",{className:"oc-runtime-context-model-card",children:[u.jsx("span",{className:"oc-runtime-context-model-label",children:"模型"}),u.jsx("code",{className:"oc-runtime-context-model-ref",title:F,children:F})]}):null,u.jsxs("div",{className:"oc-runtime-context-stat-grid",children:[u.jsxs("div",{className:"oc-runtime-context-stat",children:[u.jsx("span",{className:"oc-runtime-context-stat-label",children:"Prompt 字数"}),u.jsxs("strong",{className:"oc-runtime-context-stat-value",children:[I.toLocaleString()," 字"]})]}),u.jsxs("div",{className:"oc-runtime-context-stat",children:[u.jsx("span",{className:"oc-runtime-context-stat-label",children:"工具"}),u.jsx("strong",{className:"oc-runtime-context-stat-value",children:N})]}),u.jsxs("div",{className:"oc-runtime-context-stat",children:[u.jsx("span",{className:"oc-runtime-context-stat-label",children:"思考"}),u.jsx("strong",{className:"oc-runtime-context-stat-value",children:s.thinkingLevel??"—"})]}),u.jsxs("div",{className:"oc-runtime-context-stat",children:[u.jsx("span",{className:"oc-runtime-context-stat-label",children:"资源面"}),u.jsxs("strong",{className:`oc-runtime-context-stat-value oc-runtime-context-mode is-${z}`,title:A,children:[u.jsx("span",{className:"oc-runtime-context-mode-dot","aria-hidden":"true"}),A]})]})]}),u.jsxs("section",{className:"oc-runtime-context-section",children:[u.jsx("header",{className:"oc-runtime-context-section-head",children:u.jsx("strong",{children:"已加载资源"})}),u.jsx("div",{className:"oc-runtime-context-resource-links",children:D.map(Q=>u.jsxs("button",{type:"button",className:"oc-runtime-context-resource-link",onClick:()=>S(Q.id),children:[u.jsx("span",{className:"oc-runtime-context-resource-label",children:Q.label}),u.jsx("span",{className:`oc-runtime-context-resource-count${Q.count===0?" is-zero":""}`,children:Q.count}),u.jsx("span",{className:"oc-runtime-context-resource-chevron","aria-hidden":"true",children:"›"})]},Q.id))})]})]}):null,y==="system"?u.jsxs(u.Fragment,{children:[u.jsxs("section",{className:"oc-runtime-context-section",children:[u.jsxs("header",{className:"oc-runtime-context-section-head",children:[u.jsxs("div",{children:[u.jsx("strong",{children:"System prompt"}),u.jsxs("code",{className:"oc-runtime-context-hash",children:[s.systemPrompt.hash.slice(0,12),"…"]})]}),_?u.jsx(Zp,{text:_}):null]}),u.jsx("pre",{className:"oc-runtime-context-text",children:_||"(空)"})]}),u.jsxs("section",{className:"oc-runtime-context-section",children:[u.jsxs("header",{className:"oc-runtime-context-section-head",children:[u.jsxs("div",{className:"oc-runtime-context-section-title",children:[u.jsx("strong",{children:"Session suffix"}),u.jsx("span",{className:"oc-runtime-context-meta",children:s.suffix.present?`${(s.suffix.charCount??0).toLocaleString()} 字`:"未注入"})]}),P?u.jsx(Zp,{text:P}):null]}),s.suffix.present?u.jsx("pre",{className:"oc-runtime-context-text",children:P||"已注入"}):u.jsx("p",{className:"oc-runtime-context-empty",children:"本会话无额外 suffix"})]})]}):null,y==="files"?u.jsx($u,{title:"Context files",items:M.contextFiles?.map(Q=>({name:Q.path,description:`${Q.characters.toLocaleString()} 字符`})),emptyText:"该 session 未加载任何上下文文件"}):null,y==="skills"?u.jsx($u,{title:"Skills",items:M.skills,emptyText:"该 session 未加载任何 Skills"}):null,y==="extensions"?u.jsx($u,{title:"Extensions",items:M.extensions,emptyText:"该 session 未加载任何 Extensions"}):null,y==="packages"?u.jsx($u,{title:"Plugins",items:M.packages,emptyText:"该会话没有插件"}):null,y==="tools"?u.jsxs("section",{className:"oc-runtime-context-section",children:[u.jsxs("header",{className:"oc-runtime-context-section-head",children:[u.jsx("strong",{children:"Active tools"}),u.jsxs("span",{className:"oc-runtime-context-meta",children:[N," 项"]})]}),R.length===0?u.jsx("p",{className:"oc-runtime-context-empty",children:"无激活工具"}):u.jsx("ul",{className:"oc-runtime-context-tools",children:R.map(Q=>u.jsx("li",{children:u.jsx("code",{children:Q})},Q))}),Array.isArray(M.diagnostics)&&M.diagnostics.length>0?u.jsx("ul",{className:"oc-runtime-context-resources",children:M.diagnostics.map((Q,V)=>u.jsxs("li",{children:[u.jsxs("span",{className:`oc-runtime-context-diag is-${Q.type??"warning"}`,children:[Q.type,": ",Q.message]}),Q.path?u.jsx("code",{children:Q.path}):null]},V))}):null]}):null,y==="raw"?u.jsxs("details",{className:"oc-runtime-context-raw",open:!0,children:[u.jsx("summary",{children:"原始投影 JSON"}),u.jsx("pre",{children:JSON.stringify(s,null,2)})]}):null]},y)]}),u.jsxs("footer",{className:"oc-runtime-context-foot",children:[u.jsx("span",{className:"oc-runtime-context-meta",children:g?"正在重新加载会话…":"重新加载 Pi 会话设置、扩展、技能、提示词、上下文文件及模型与认证配置"}),u.jsx("button",{type:"button",className:"btn btn-ghost",disabled:g,onClick:()=>{vd()},title:"同时刷新 models.json 中的模型与认证配置",children:"重新加载会话"}),x&&u.jsxs("span",{className:"oc-runtime-context-diag is-error",role:"alert",children:[x.code?`${x.code}:`:"",x.message,u.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{vd()},children:"重试"})]})]})]}):null;return o?q:u.jsxs("div",{className:"oc-runtime-context-menu",children:[K,q]})});function Zj(){const e=w.useRef(null),t=w.useRef(!1),n=w.useRef(null),a=w.useRef(new Map),s=w.useRef(new Set),o=w.useRef(null),c=w.useRef(null),d=w.useRef(0),m=w.useRef(null),h=w.useRef(new Set),p=w.useRef(new Set),g=w.useRef(new Map),x=w.useRef(new Set),y=w.useRef(null),S=w.useRef(null),E=w.useRef(!1),R=w.useRef(0),N=w.useRef(null),_=w.useRef(!1),I=w.useRef(!1),P=w.useRef(null),F=w.useRef(new Set),M=w.useRef(new Set),A=w.useRef(new Set),z=w.useRef(new Map),G=w.useRef(!1),D=w.useRef(0);return w.useMemo(()=>({sessionRef:e,streamingRef:t,abortRef:n,sessionAbortControllersRef:a,inlineStreamSessionIdsRef:s,assistantIdRef:o,lastEventIdRef:c,sessionGenerationRef:d,eventsStreamStateRef:m,settledTurnIdsRef:h,seenEventIdsRef:p,turnAssistantIdsRef:g,sealedAssistantIdsRef:x,reconnectAbortRef:y,activeTurnIdRef:S,submitInFlightRef:E,submitGenerationRef:R,pendingSubmissionRef:N,stopInFlightRef:_,stopRequestedRef:I,stoppingTurnIdRef:P,abortPostedTurnIdsRef:F,releasedClientRequestIdsRef:M,usageResponseKeysRef:A,unlinkedOperationIdsRef:z,isComposingRef:G,compositionEndedAtRef:D}),[e,t,n,a,s,o,c,d,m,h,p,g,x,y,S,E,R,N,_,I,P,F,M,A,z,G,D])}function Xj(e){if(!(!e||typeof e!="object"))return e}function Wi(e){return typeof e=="string"?e:void 0}function Jp(e){if(!Array.isArray(e))return;const t=[];for(const n of e){const a=Xj(n);if(!a)continue;const s=Wi(a.type)??"";if(s==="thinking"||s==="reasoning"){const o=Wi(a.thinking)??Wi(a.text)??"";t.push({type:"thinking",thinking:o});continue}if(s==="toolCall"||s==="tool_call"||s==="toolUse"||s==="tool_use"){const o=Wi(a.toolCallId)??Wi(a.id)??"";if(!o)continue;const c=Wi(a.toolName)??Wi(a.name);t.push({type:"toolCall",toolCallId:o,...c?{toolName:c}:{}});continue}if(s==="text"||s==="output_text"||s===""){const o=Wi(a.text);o!==void 0&&t.push({type:"text",text:o})}}return t}function Qj(e,t={}){return e.type==="thinking"&&!t.isStreaming&&e.thinking.trim()===""}function e1(e,t={}){return e.filter(n=>!Qj(n,t))}function Jj(e){return e.type==="text"}function eL(e,t={}){const n=e1(e,t);if(t.isStreaming)return{answerBlocks:[],processBlocks:n};let a=-1;for(let s=n.length-1;s>=0;s--)if(!Jj(n[s])){a=s;break}return a===-1?{answerBlocks:n,processBlocks:[]}:{answerBlocks:n.slice(a+1),processBlocks:n.slice(0,a+1)}}function tL(e){return e.filter(t=>t.type==="text").map(t=>t.text).join("")}function nL(e){return{key:e,assistants:[],tools:[],processItems:[],live:!1}}function Id(e){const t=[],n=[];let a,s=[];const o=c=>{for(const d of s)d.assistantMessageId||(d.assistantMessageId=c),d.turnId||(d.turnId=a);s=[]};for(const c of e){const d=Date.parse(c.at)||Date.now();if(c.role==="user"){a=c.turnId??`restored-${c.id}`,s=[],t.push({id:c.id,role:"user",text:c.text,createdAt:d,...c.clientRequestId?{clientRequestId:c.clientRequestId}:{},...c.eventSeq===void 0?{}:{eventSeq:c.eventSeq},...c.turnId?{turnId:c.turnId}:{}});continue}if(c.role==="assistant"){c.turnId&&(a=c.turnId),a||(a=`restored-${c.id}`);const m=Jp(c.content);t.push({id:c.id,role:"assistant",text:c.text,createdAt:d,...c.eventSeq===void 0?{}:{eventSeq:c.eventSeq},...c.turnId?{turnId:c.turnId}:{},...c.kind==="provider-error"&&c.providerError?{kind:c.kind,providerError:c.providerError}:{},...m&&m.length>0?{content:m}:{}}),o(c.id);continue}if(c.role==="tool"){c.turnId&&(a=c.turnId),a||(a=`restored-tool-${c.id}`);const m=c.startedAt?Date.parse(c.startedAt):NaN,h=c.finishedAt?Date.parse(c.finishedAt):NaN,p={id:c.toolCallId||c.id,toolName:c.toolName||"tool",status:c.isError===!0?"error":"ok",resultText:c.text,result:c.text,createdAt:Number.isFinite(m)?m:d,finishedAt:Number.isFinite(h)?h:d,turnId:c.turnId??a,...c.eventSeq===void 0?{}:{eventSeq:c.eventSeq},...c.finishedSeq===void 0?{}:{finishedSeq:c.finishedSeq},...c.operationId?{operationId:c.operationId}:{}};n.push(p),c.eventSeq===void 0&&s.push(p)}}return{messages:t,toolCalls:n}}function q7(e){return[...e].sort((t,n)=>t.eventSeq!==void 0&&n.eventSeq!==void 0&&t.eventSeq!==n.eventSeq?t.eventSeq-n.eventSeq:t.createdAt!==n.createdAt?t.createdAt-n.createdAt:t.id<n.id?-1:1)}function Pu(e,t){if(t.length===0)return;const n=q7(t);for(const a of n){const s=eD(a);if(s){e.push({kind:"dag-progress",progress:s});continue}const o=sD(a);o?e.push({kind:"activity",activity:o}):e.push({kind:"tool",tool:a})}}function rL(e){const t=new Set;return e.filter(n=>n.kind!=="dag-progress"?!0:t.has(n.progress.activityRef)?!1:(t.add(n.progress.activityRef),!0))}function aL(e){const t=new Set,n=[];let a=0;const s=E=>{E.items.length!==0&&n.push({...E.eventSeq===void 0?{}:{eventSeq:E.eventSeq},createdAt:E.createdAt,insertionOrder:a++,items:E.items})},o=(E,R,N=!1)=>{let _=[],I=E.eventSeq,P=E.createdAt;const F=()=>{s({items:_,...I===void 0?{}:{eventSeq:I},createdAt:P}),_=[]};for(const A of R){if(A.type==="thinking"){_.push({kind:"thinking",thinking:A.thinking});continue}if(A.type==="text"){A.text.trim()&&_.push({kind:"text",text:A.text});continue}const z=e.tools.find(D=>D.id===A.toolCallId);if(!z||t.has(z.id))continue;F(),t.add(z.id);const G=[];Pu(G,[z]),s({items:G,...z.eventSeq===void 0?I===void 0?{}:{eventSeq:I}:{eventSeq:z.eventSeq},createdAt:z.createdAt}),I=z.eventSeq??I,P=z.createdAt}N&&E.providerError&&_.push({kind:"provider-error",error:E.providerError}),F();const M=e.tools.filter(A=>!t.has(A.id)&&A.eventSeq===void 0&&A.assistantMessageId===E.id);for(const A of q7(M)){t.add(A.id);const z=[];Pu(z,[A]),s({items:z,...I===void 0?{}:{eventSeq:I},createdAt:Math.max(P,A.createdAt)})}},c=e.assistants.at(-1),d=c?.kind==="provider-error"?void 0:c,m=d?e.assistants.lastIndexOf(d):-1;for(const[E,R]of e.assistants.entries())if(E!==m){if(R.kind==="provider-error"&&R.providerError){o(R,e1(R.content??[]),!0);continue}o(R,e1(R.content??[]))}const h=d?.content??[],p=eL(h,{isStreaming:e.live});d&&o(d,p.processBlocks);for(const E of e.tools){if(t.has(E.id)||E.eventSeq===void 0)continue;t.add(E.id);const R=[];Pu(R,[E]),n.push({eventSeq:E.eventSeq,createdAt:E.createdAt,insertionOrder:a++,items:R})}const g=n.every(E=>E.eventSeq!==void 0);n.sort((E,R)=>g&&E.eventSeq!==R.eventSeq?E.eventSeq-R.eventSeq:E.createdAt!==R.createdAt?E.createdAt-R.createdAt:E.insertionOrder-R.insertionOrder);const x=n.flatMap(E=>E.items),y=e.tools.filter(E=>!t.has(E.id));if(y.length>0&&Pu(x,y),e.processItems=rL(x),!d)return;if(h.length===0){e.answer=d;return}if(p.answerBlocks.length===0)return;const S=tL(p.answerBlocks);e.answer={...d,text:S,content:p.answerBlocks}}function Z3(e){const t=e.messages.filter(d=>d.role==="user"||d.role==="assistant").sort((d,m)=>d.eventSeq!==void 0&&m.eventSeq!==void 0&&d.eventSeq!==m.eventSeq?d.eventSeq-m.eventSeq:d.createdAt!==m.createdAt?d.createdAt-m.createdAt:d.eventSeq!==void 0&&m.eventSeq===void 0?1:d.eventSeq===void 0&&m.eventSeq!==void 0?-1:0),n=[];let a=null;const s=d=>{const m=nL(d);return n.push(m),m};for(const d of t){if(d.role==="user"){a=s(`user-${d.id}`),a.user=d;continue}if(d.kind==="compaction"){a=s(`compaction-${d.id}`),a.assistants.push(d),a=null;continue}a||(a=s(`assistant-${d.id}`)),a.assistants.push(d)}const o=new Set,c=new Map;for(const d of n)for(const m of d.assistants)c.set(m.id,d);for(const d of e.toolCalls)if(d.assistantMessageId){const m=c.get(d.assistantMessageId);m&&(m.tools.push(d),o.add(d.id))}for(const d of e.toolCalls)if(!o.has(d.id)&&d.turnId){const m=n.find(p=>p.user?.turnId===d.turnId||p.assistants.some(g=>g.turnId===d.turnId)||p.tools.some(g=>g.turnId===d.turnId)||p.key===`turn-${d.turnId}`||p.user&&`restored-${p.user.id}`===d.turnId);if(m){m.tools.push(d),o.add(d.id);continue}const h=n.find(p=>d.turnId===`restored-${p.user?.id}`||p.assistants.some(g=>d.turnId===`restored-${g.id}`));h&&(h.tools.push(d),o.add(d.id))}for(const d of e.toolCalls){if(o.has(d.id))continue;const m=n.find((h,p)=>{const g=h.user?.createdAt??h.assistants[0]?.createdAt??0,y=n[p+1]?.user?.createdAt??Number.POSITIVE_INFINITY;return d.createdAt>=g&&d.createdAt<y});m&&(m.tools.push(d),o.add(d.id))}for(const d of n)d.tools.sort((m,h)=>m.eventSeq!==void 0&&h.eventSeq!==void 0?m.eventSeq-h.eventSeq:m.createdAt-h.createdAt),d.live=e.streaming&&e.activeAssistantId!==null&&d.assistants.some(m=>m.id===e.activeAssistantId),aL(d);return n}function iL(e,t){return t<=0?[]:e.length<=t?[...e]:e.slice(-t)}function U7(e,t){const n=e.findIndex(a=>a.operationId===t.operationId);return n<0?[...e,t]:e.map((a,s)=>{if(s!==n)return a;let o=a.eventSeq;return o===void 0?o=t.eventSeq:t.eventSeq!==void 0&&(o=Math.min(o,t.eventSeq)),{...a,...t,...o===void 0?{}:{eventSeq:o},updatedSeq:Math.max(a.updatedSeq??a.eventSeq??0,t.updatedSeq??t.eventSeq??0),toolCallId:a.toolCallId??t.toolCallId,activityRef:a.activityRef??t.activityRef}})}function sL(e){const t=e.operation;if(!t||typeof t!="object")return;const n=t;if(n.schemaVersion!==1||typeof n.operationId!="string"||typeof n.action!="string"||typeof n.state!="string"||typeof n.inspectHref!="string"||typeof n.createdAt!="string"||typeof n.updatedAt!="string"||typeof n.previewHash!="string")return;const a=oL(n.runSummary),{runSummary:s,...o}=n;return{...o,...a?{runSummary:a}:{}}}function oL(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e;if(typeof t.runId!="string"||!t.runId||typeof t.status!="string"||!t.status)return;let n=[];Array.isArray(t.nodes)&&(n=t.nodes.flatMap(o=>{if(!o||typeof o!="object")return[];const c=String(o.id??""),d=String(o.status??"");if(!c||!d)return[];const m=String(o.failureCategory??"");return[{id:c,status:d,...m?{failureCategory:m}:{}}]}).slice(0,20));let a;if(t.next&&typeof t.next=="object"){const o=t.next;a={kind:String(o.kind??""),...typeof o.description=="string"?{description:o.description}:{}}}return{runId:t.runId,status:t.status,nodes:n,...typeof t.verdict=="string"?{verdict:t.verdict}:{},...typeof t.failureCategory=="string"?{failureCategory:t.failureCategory}:{},...a&&a.kind?{next:a}:{}}}const lL=["operation","contract","dag","report","html"];function cL(e){const t=e.artifact;if(!t||typeof t!="object")return;const n=t;if(!(n.schemaVersion!==1||typeof n.artifactId!="string"||!n.artifactId||typeof n.kind!="string"||!lL.includes(n.kind)||typeof n.previewHash!="string")){for(const a of["title","summary","htmlPreview","reportText","inspectHref"])if(n[a]!==void 0&&typeof n[a]!="string")return;return n}}function uL(e,t){const n=e.findIndex(a=>a.artifactId===t.artifactId);return n<0?[...e,t]:e.map((a,s)=>s===n?{...a,...t,eventSeq:a.eventSeq??t.eventSeq,activityRef:a.activityRef??t.activityRef}:a)}function dL(e){if(!e||typeof e!="object")return;const t=e;if(!(t.schemaVersion!==1||typeof t.cardId!="string"||t.gateType!=="contract-apply"&&t.gateType!=="dag-run"||typeof t.taskId!="string"||typeof t.state!="string"||typeof t.expiresAt!="string"||typeof t.inspectHref!="string"||typeof t.previewHash!="string"))return t}function fL(e,t){const n=e.findIndex(o=>o.cardId===t.cardId);if(n<0)return[...e,t];const a=[...e],s=a[n];return s?(a[n]={...s,...t,eventSeq:s.eventSeq??t.eventSeq,activityRef:s.activityRef??t.activityRef},a):[...e,t]}function Fu(e){return typeof e=="number"&&Number.isFinite(e)?Math.max(0,Math.floor(e)):void 0}function mL(e){const t=e.data&&typeof e.data=="object"?e.data:{},n=typeof e.eventId=="string"?e.eventId:void 0,a=typeof t.compactionId=="string"&&t.compactionId?t.compactionId:n;if(!a)return;const s=t.status==="running"||t.status==="completed"||t.status==="failed"||t.status==="aborted"?t.status:"completed",o=t.reason==="manual"||t.reason==="threshold"||t.reason==="overflow"?t.reason:"manual",c=typeof t.summary=="string"?t.summary:"",d=typeof t.errorMessage=="string"?t.errorMessage:void 0;return{id:`compaction-${a}`,role:"assistant",kind:"compaction",text:c||d||(s==="completed"?"历史上下文已精简,关键决策与当前任务已保留。":""),createdAt:Date.parse(e.at??"")||Date.now(),...e.seq===void 0?{}:{eventSeq:e.seq,updatedSeq:e.seq},...e.turnId?{turnId:e.turnId}:{},compaction:{compactionId:a,status:s,reason:o,willRetry:t.willRetry===!0,...Fu(t.tokensBefore)===void 0?{}:{tokensBefore:Fu(t.tokensBefore)},...Fu(t.estimatedTokensAfter)===void 0?{}:{estimatedTokensAfter:Fu(t.estimatedTokensAfter)},...typeof t.firstKeptEntryId=="string"&&t.firstKeptEntryId?{firstKeptEntryId:t.firstKeptEntryId}:{},...d?{errorMessage:d}:{},...n?{eventId:n}:{}}}}function Pl(e){return[...e].sort((t,n)=>t.eventSeq!==void 0&&n.eventSeq!==void 0&&t.eventSeq!==n.eventSeq?t.eventSeq-n.eventSeq:t.createdAt!==n.createdAt?t.createdAt-n.createdAt:t.eventSeq!==void 0&&n.eventSeq===void 0?1:t.eventSeq===void 0&&n.eventSeq!==void 0?-1:0)}function tg(e,t){const n=mL(t);if(!n)return e;const s=e.find(o=>o.id===n.id)?e.map(o=>o.id===n.id?{...o,...n,createdAt:Math.min(o.createdAt,n.createdAt),eventSeq:o.eventSeq===void 0?n.eventSeq:n.eventSeq===void 0?o.eventSeq:Math.min(o.eventSeq,n.eventSeq),...o.updatedSeq!==void 0||o.eventSeq!==void 0||n.updatedSeq!==void 0||n.eventSeq!==void 0?{updatedSeq:Math.max(o.updatedSeq??o.eventSeq??0,n.updatedSeq??n.eventSeq??0)}:{},text:n.text||o.text,compaction:{...o.compaction,...n.compaction}}:o):[...e,n];return Pl(s)}function H7(e,t){return e.some(n=>n.clientRequestId===t.clientRequestId)?[...e]:[...e,t.user,t.assistant]}function hL(e,t,n){let a=!1;const s=e.filter(o=>o.clientRequestId!==t?!0:a?!1:(a=!0,!0));return a?s.map(o=>o.clientRequestId===t?{...o,...n,clientRequestId:t}:o):[...s,n]}function pL(e,t){return!t||e.some(n=>n.clientRequestId===t.clientRequestId)?[...e]:H7(e,t)}function Qh(e,t){return e.filter(n=>n.clientRequestId!==t)}function gL(e){const{refs:t,onReconcile:n,setError:a,setInterview:s,setHumanGateCards:o,setArtifactCards:c,setStreaming:d,setTurnPhase:m=()=>{},setDeferredTurn:h=()=>{},setDeferredTurns:p=()=>{},setStreamingAssistantId:g,setUnread:x,setOperationCards:y,setUsage:S,onTelemetryRefresh:E,setMessages:R,setToolCalls:N,setPendingQuestion:_=()=>{},setTodos:I=()=>{},setGoal:P=()=>{}}=e;let F,M=-1;return(A,z,G,D)=>{if(D?.generation!==void 0&&t.sessionGenerationRef.current!==D.generation)return;const K=D?.replay===!0;if(A==="stream_ready")return;if(A==="reconcile"){const Y={reason:typeof z.reason=="string"?z.reason:"cursor_expired",...typeof z.minSeq=="number"?{minSeq:z.minSeq}:{},...typeof z.epoch=="string"?{epoch:z.epoch}:{},...typeof z.latestTurnId=="string"?{latestTurnId:z.latestTurnId}:{}};(typeof z.latestEventId=="string"||z.latestEventId===null)&&(Y.latestEventId=z.latestEventId),n?.(Y);return}const q=z.data&&typeof z.data=="object"?z.data:z;if(A==="todo_updated"||A==="todo_cleared"){const B=Array.isArray(q.todos)?q.todos:[];I(B.filter(Y=>!!Y&&typeof Y=="object"&&typeof Y.content=="string"&&(Y.status==="pending"||Y.status==="in_progress"||Y.status==="completed")));return}if(A==="goal_changed"||A==="goal_cleared"){if(A==="goal_cleared"){P(null);return}const B=q.goal;if(B&&typeof B=="object"){const Y=B;typeof Y.goalId=="string"&&typeof Y.objective=="string"&&typeof Y.revision=="number"&&P(me=>({...Y,armed:Y.phase==="active"?me?.armed??!0:!1}))}return}if((A==="question_requested"||A==="question_resolved"||A==="question_cancelled")&&q.question&&typeof q.question=="object"){const B=q.question;typeof B.requestId=="string"&&typeof B.sessionId=="string"&&B.sessionId===t.sessionRef.current?.sessionId&&_(A==="question_requested"&&B.status==="pending"?B:null);return}const Q=typeof z.turnId=="string"?z.turnId:void 0,V=typeof z.seq=="number"&&Number.isFinite(z.seq)?z.seq:void 0,X=typeof z.at=="string"&&Number.isFinite(Date.parse(z.at))?Date.parse(z.at):Date.now();if(A==="queue_update"){const B=typeof q.revision=="number"?q.revision:-1,Y=t.sessionRef.current?.sessionId;if(Y!==F&&(F=Y,M=-1),B<M)return;M=B,h(q.deferredTurn&&typeof q.deferredTurn=="object"?q.deferredTurn:null),Array.isArray(q.deferredTurns)&&p(q.deferredTurns);return}if(A==="user_message"){const B=typeof q.clientRequestId=="string"?q.clientRequestId:void 0,Y=q.message&&typeof q.message=="object"?q.message:null;if(Y&&typeof Y.id=="string"&&typeof Y.text=="string"){if(q.steering===!0&&Q){B&&(h(U=>U?.clientRequestId===B?null:U),p(U=>U.filter(ee=>ee.clientRequestId!==B)));const j=t.turnAssistantIdsRef.current.get(Q);if(j){t.sealedAssistantIdsRef.current.add(j);const U=`assistant-after-user-${Y.id}`;t.turnAssistantIdsRef.current.set(Q,U),g(U)}}const me=typeof Y.at=="string"&&Number.isFinite(Date.parse(Y.at))?Date.parse(Y.at):Date.now();R(j=>{const U=t.pendingSubmissionRef.current,ee={id:Y.id,role:"user",text:Y.text,createdAt:me,...B?{clientRequestId:B}:{},...V===void 0?{}:{eventSeq:V},...Q?{turnId:Q}:{}};if(B&&U?.clientRequestId===B)return hL(j,B,ee);const ge=j.some(Z=>Z.id===Y.id)?j.map(Z=>Z.id===Y.id?{...Z,...B?{clientRequestId:B}:{},...V===void 0?{}:{eventSeq:V},...Q?{turnId:Q}:{}}:Z):[...j,{id:Y.id,role:"user",text:Y.text,createdAt:me,...B?{clientRequestId:B}:{},...V===void 0?{}:{eventSeq:V},...Q?{turnId:Q}:{}}];return Pl(ge)})}return}if(A==="compact"||A==="compaction_start"||A==="compaction_end"){const B=A==="compaction_end"&&q.status==="completed"&&q.reason==="overflow"&&q.willRetry===!0;if(R(Y=>tg(Y,{eventId:typeof z.eventId=="string"?z.eventId:void 0,at:new Date(X).toISOString(),seq:V,turnId:Q,data:q})),B&&Q&&(!K||t.activeTurnIdRef.current===Q)){const Y=typeof q.compactionId=="string"&&q.compactionId?q.compactionId:typeof z.eventId=="string"?z.eventId:`${Q}-${V??X}`,me=t.turnAssistantIdsRef.current.get(Q)??G,j=`assistant-after-compact-${Y}`;t.sealedAssistantIdsRef.current.add(me),t.turnAssistantIdsRef.current.set(Q,j),g(j)}return}if(Q&&(A==="agent_start"||A==="message_update")&&t.settledTurnIdsRef.current.has(Q))return;let W=G;if(Q){const B=t.turnAssistantIdsRef.current.get(Q);B?W=B:t.turnAssistantIdsRef.current.set(Q,G)}if(A==="interview-turn"){s(B=>({...B??{},interviewSessionId:typeof q.interviewSessionId=="string"?q.interviewSessionId:B?.interviewSessionId,taskId:typeof q.taskId=="string"?q.taskId:B?.taskId,state:typeof q.state=="string"?q.state:B?.state,question:q.question&&typeof q.question=="object"?q.question:void 0}));return}if(A==="draft"){s(B=>({...B??{},taskId:typeof q.taskId=="string"?q.taskId:B?.taskId,draft:q.draft&&typeof q.draft=="object"?q.draft:B?.draft,draftSha256:typeof q.draftSha256=="string"?q.draftSha256:B?.draftSha256,taskKindRecommendation:typeof q.taskKindRecommendation=="string"?q.taskKindRecommendation:B?.taskKindRecommendation}));return}if(A==="assessment"){s(B=>({...B??{},assessment:q}));return}if(A==="taskKind-confirmed"){s(B=>({...B??{},confirmedTaskKind:typeof q.taskKind=="string"?q.taskKind:B?.confirmedTaskKind,taskKindRecommendation:void 0}));return}if(A==="human-gate-card"){const B=dL(q);B&&o(Y=>fL(Y,{...B,...V===void 0?{}:{eventSeq:V},...Q?{turnId:Q}:{},activityRef:`gate:${B.cardId}`}));return}if(A==="artifact-ref"){const B=cL(q);B&&c(Y=>uL(Y,{...B,...V===void 0?{}:{eventSeq:V},...Q?{turnId:Q}:{},activityRef:`artifact:${B.artifactId}`}));return}if(A==="agent_start"){if(K&&Q!==void 0&&Q!==t.activeTurnIdRef.current)return;if(Q&&(t.settledTurnIdsRef.current.delete(Q),t.activeTurnIdRef.current=Q),t.stopRequestedRef.current&&(!Q||Q===t.stoppingTurnIdRef.current||Q===t.activeTurnIdRef.current)){t.streamingRef.current=!1,d(!1),m("idle"),g(null);return}t.streamingRef.current=!0,d(!0),m("running"),g(W);return}if(A==="agent_settled"||A==="agent_end"){if(Q&&t.settledTurnIdsRef.current.add(Q),A==="agent_end")return;const B=t.pendingSubmissionRef.current;B&&Q&&B.acceptedTurnId===Q&&(t.releasedClientRequestIdsRef.current.add(B.clientRequestId),t.pendingSubmissionRef.current=null,t.submitInFlightRef.current=!1),(!Q||Q===t.stoppingTurnIdRef.current||Q===t.activeTurnIdRef.current)&&(t.stoppingTurnIdRef.current=null,t.stopRequestedRef.current=!1),Q===t.activeTurnIdRef.current&&(t.activeTurnIdRef.current=null),t.streamingRef.current=!1,t.assistantIdRef.current=null,d(!1),m("idle"),g(null),A==="agent_settled"&&!K&&typeof document<"u"&&document.hidden&&x(me=>me+1);let Y=!1;N(me=>(Y=me.some(j=>j.assistantMessageId===W),me.map(j=>j.status==="running"&&(Q!==void 0&&j.turnId===Q||j.assistantMessageId===W)?{...j,status:"error",finishedAt:Date.now()}:j))),R(me=>me.filter(j=>j.id!==W||j.role!=="assistant"||j.text.trim()||j.content&&j.content.length>0?!0:Y)),K||E?.();return}if(A==="operation-ref"||A==="operation-status"){const B=sL(q),Y=t.sessionRef.current?.sessionId;if(B&&Y&&t.unlinkedOperationIdsRef.current.get(Y)?.has(B.operationId))return;if(B){const me=typeof q.toolCallId=="string"?q.toolCallId:void 0;y(j=>U7(j,{...B,...V===void 0?{}:{eventSeq:V,updatedSeq:V},...Q?{turnId:Q}:{},...me?{toolCallId:me}:{},activityRef:`operation:${B.operationId}`}))}return}if(A==="operation-unlinked"){const B=typeof q.operationId=="string"?q.operationId:"",Y=t.sessionRef.current?.sessionId;if(B&&Y){const me=t.unlinkedOperationIdsRef.current.get(Y)??new Set;me.add(B),t.unlinkedOperationIdsRef.current.set(Y,me),y(j=>j.filter(U=>U.operationId!==B))}return}if(A==="usage"){if(K)return;const B=q,Y=typeof B.responseKey=="string"&&B.responseKey?B.responseKey:void 0;if(Y&&t.usageResponseKeysRef.current.has(Y))return;Y&&t.usageResponseKeysRef.current.add(Y),S(me=>{const j=B.inputTokens??0,U=B.outputTokens??0,ee=B.cacheReadTokens??0,O=B.cacheWriteTokens??0,ge=B.totalTokens??j+U+ee+O,Z=B.contextUsage,le=Z&&typeof Z=="object"?{tokens:typeof Z.tokens=="number"?Z.tokens:null,contextWindow:typeof Z.contextWindow=="number"?Z.contextWindow:0,percent:typeof Z.percent=="number"?Z.percent:null}:me.contextUsage;return{inputTokens:me.inputTokens+j,outputTokens:me.outputTokens+U,cacheReadTokens:me.cacheReadTokens+ee,cacheWriteTokens:me.cacheWriteTokens+O,totalTokens:me.totalTokens+ge,cost:B.cost===void 0?me.cost:(me.cost??0)+B.cost,...le?{contextUsage:le}:{}}});return}if(A==="message_update"||A==="message_end"){if(K)return;const B=t.sealedAssistantIdsRef.current;if(A==="message_update"&&B.has(W)){const U=Zi("a");Q&&t.turnAssistantIdsRef.current.set(Q,U),W=U,g(U)}const Y=typeof q.text=="string"?q.text:"",me=Jp(q.content),j=W;R(U=>U.some(O=>O.id===j)?Pl(U.map(O=>O.id!==j?O:{...O,text:Y,eventSeq:O.eventSeq===void 0?V:V===void 0?O.eventSeq:Math.min(O.eventSeq,V),updatedSeq:V??O.updatedSeq,...Q?{turnId:Q}:{},...me?{content:me}:{}})):Pl([...U,{id:j,role:"assistant",text:Y,createdAt:X,...V===void 0?{}:{eventSeq:V,updatedSeq:V},...Q?{turnId:Q}:{},...me?{content:me}:{}}])),A==="message_end"&&B.add(j)}else if(A==="tool_call"){const B=typeof q.toolCallId=="string"?q.toolCallId:Zi("t"),Y=typeof q.toolName=="string"?q.toolName:"tool",me=typeof q.argsPreview=="string"?q.argsPreview:"{}";N(j=>j.some(U=>U.id===B)?j.map(U=>U.id!==B?U:{...U,args:me,status:"running",turnId:Q??U.turnId,assistantMessageId:W,...V===void 0?{}:{eventSeq:V}}):[...j,{id:B,toolName:Y,args:me,status:"running",createdAt:X,...V===void 0?{}:{eventSeq:V},turnId:Q,assistantMessageId:W}])}else if(A==="tool_result"){const B=typeof q.toolCallId=="string"?q.toolCallId:Zi("r"),Y=typeof q.toolName=="string"?q.toolName:"tool",me=q.isError===!0,j=typeof q.resultPreview=="string"?q.resultPreview:"{}",U=typeof q.operationId=="string"&&q.operationId?q.operationId:void 0;N(ee=>ee.find(ge=>ge.id===B)?ee.map(ge=>ge.id!==B?ge:{...ge,result:j,resultText:j,status:me?"error":"ok",finishedAt:X,...V===void 0?{}:{finishedSeq:V},turnId:Q??ge.turnId,assistantMessageId:ge.assistantMessageId??W,...U?{operationId:U}:ge.operationId?{operationId:ge.operationId}:{}}):[...ee,{id:B,toolName:Y,result:j,resultText:j,status:me?"error":"ok",createdAt:X,finishedAt:X,...V===void 0?{}:{eventSeq:V,finishedSeq:V},turnId:Q,assistantMessageId:W,...U?{operationId:U}:{}}])}else if(A==="error"){const B=q.providerError&&typeof q.providerError=="object"?q.providerError:void 0;if(B&&typeof B.message=="string"&&typeof B.raw=="string"&&(B.category==="authentication"||B.category==="context-overflow"||B.category==="rate-limit"||B.category==="provider")){if(K)return;const Y=B,me=Jp(q.content),j=Q&&V!==void 0?`provider-error-${Q}-${V}`:Zi("provider-error");R(U=>{if(U.some(O=>O.id===j))return U;const ee=U.some(O=>O.id===W&&!!O.content?.length);return Pl([...U,{id:j,role:"assistant",kind:"provider-error",text:Y.message,createdAt:X,...V===void 0?{}:{eventSeq:V,updatedSeq:V},...Q?{turnId:Q}:{},providerError:Y,...!ee&&me?{content:me}:{}}])});return}a(typeof q.message=="string"?q.message:"chat error")}}}const Jh={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,totalTokens:0},ep={turns:0,steps:0,llmMs:0,toolMs:0,ttftMs:0,ttftSteps:0,decodeMs:0,decodeTokens:0};function vL(e){const t=m=>{const h=e[m];return typeof h=="string"&&h?h:void 0},n=t("operationId"),a=t("action"),s=t("state"),o=t("createdAt");if(!n||!a||!s||!o)return;const c=t("updatedAt")??t("finishedAt")??t("startedAt")??o,d=t("dagRunId");return{schemaVersion:1,operationId:n,action:a,state:s,createdAt:o,updatedAt:c,inspectHref:`/#/inspect?operationId=${encodeURIComponent(n)}`,...t("taskId")?{taskId:t("taskId")}:{},...d?{dagRunId:d}:{},...t("errorCode")?{errorCode:t("errorCode")}:{},activityRef:`operation:${n}`,previewHash:`${n}:${s}:${c}`}}async function bL(e){const{identity:t}=e,n=()=>{const a=e.currentOwner();return a.sessionId===t.sessionId&&a.workspaceId===t.workspaceId};if(!t.workspaceId||!n())return!1;if(t.action==="remove")return e.setOperationCards(a=>a.filter(s=>s.operationId!==t.operationId)),!0;try{const a=new URLSearchParams({workspaceId:t.workspaceId}),o=await(e.fetchFn??fetch)(`${e.origin}/api/operator/v1/operations/${encodeURIComponent(t.operationId)}?${a.toString()}`,{credentials:"include"});if(!o.ok||!n())return!1;const c=await o.json(),d=c.operation;if(c.workspaceId!==t.workspaceId||!d||d.workspaceId!==t.workspaceId||d.operationId!==t.operationId||!n())return!1;const m=vL(d);return m?(e.setOperationCards(h=>n()?U7(h,m):h),n()):!1}catch{return!1}}function yL(e,t){return(t??[]).reduce((n,a)=>tg(n,a),e)}function xL(e){const{origin:t,refs:n,sessionId:a,workspaceId:s,setError:o,onReconcile:c}=e,[d,m]=w.useState([]),[h,p]=w.useState([]),[g,x]=w.useState([]),[y,S]=w.useState([]),[E,R]=w.useState(50),[N,_]=w.useState(!1),[I,P]=w.useState(null),[F,M]=w.useState(!1),A=w.useRef(!1),[z,G]=w.useState(0),[D,K]=w.useState([]),[q,Q]=w.useState(null),[V,X]=w.useState(null),[W,B]=w.useState(!1),[Y,me]=w.useState(Jh),[j,U]=w.useState(ep),[ee,O]=w.useState([]),[ge,Z]=w.useState(!1),[le,ce]=w.useState("idle"),[pe,ue]=w.useState(null),[J,oe]=w.useState([]),[ie,we]=w.useState(null),[Se,Re]=w.useState([]),[Ze,it]=w.useState(null),[rt,Pt]=w.useState(null),[gt]=w.useState(!1),Dt=w.useRef([]),Lt=w.useRef(null),vt=w.useCallback(async()=>{const Oe=n.sessionRef.current?.sessionId;if(Oe)try{const Ye=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(Oe)}`,{credentials:"include"});if(!Ye.ok)return;const Je=await Ye.json();if(n.sessionRef.current?.sessionId!==Oe)return;Je.sessionStats&&U(Je.sessionStats),Je.usage&&me(Je.usage),O(Je.turnTelemetry??[])}catch{}},[t,n]),Ke=w.useMemo(()=>gL({refs:n,onReconcile:c,setError:o,setInterview:Q,setHumanGateCards:K,setArtifactCards:S,setStreaming:Z,setTurnPhase:ce,setDeferredTurn:ue,setDeferredTurns:oe,setPendingQuestion:we,setTodos:Re,setGoal:it,setStreamingAssistantId:Pt,setUnread:G,setOperationCards:x,setUsage:me,onTelemetryRefresh:()=>{vt()},setMessages:m,setToolCalls:p}),[n,c,o,vt]),bt=w.useCallback((Oe,Ye,Je)=>{if(Je?.targetSessionId&&n.sessionRef.current?.sessionId!==Je.targetSessionId||Je?.generation!==void 0&&n.sessionGenerationRef.current!==Je.generation)return null;const Qe=Oe.split(`
|
|
441
|
+
`);let ve="message",st="",Fe=null;for(const Ee of Qe)Ee.startsWith("event: ")?ve=Ee.slice(7).trim():Ee.startsWith("data: ")?st+=Ee.slice(6):Ee.startsWith("id: ")&&(Fe=Ee.slice(4).trim());if(!st)return Fe;let mt;try{mt=JSON.parse(st)}catch{return Fe}const ne=Fe??(typeof mt.eventId=="string"?mt.eventId:null);if(ne){if(n.seenEventIdsRef.current.has(ne))return ne;n.seenEventIdsRef.current.add(ne)}return Ke(ve,mt,Ye,Je),Fe??ne},[Ke,n]),xe=w.useCallback(async(Oe,Ye)=>{const Je=Ye?.background===!0;Je||B(!0);try{const Qe=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(Oe)}/context`,{credentials:"include"});if(!Qe.ok)return;const ve=await Qe.json();ve.context&&n.sessionRef.current?.sessionId===Oe&&X(st=>rS(st,ve.context)?st:ve.context)}finally{Je||B(!1)}},[t,n]);w.useEffect(()=>{a&&xe(a)},[a,xe]),w.useEffect(()=>{if(!a)return;const Oe=window.setTimeout(()=>{xe(a,{background:!0})},350);return()=>window.clearTimeout(Oe)},[a,g,D,q,xe]);const _e=w.useCallback(Oe=>bL({origin:t,identity:Oe,currentOwner:()=>({sessionId:n.sessionRef.current?.sessionId,workspaceId:s}),setOperationCards:x}),[t,n,s]),qe=w.useMemo(()=>d.filter(Oe=>Oe.role!=="system"||gt),[d,gt]);w.useEffect(()=>{const Oe=()=>{document.hidden||G(0)};return document.addEventListener("visibilitychange",Oe),()=>document.removeEventListener("visibilitychange",Oe)},[]);const De=w.useMemo(()=>{if(h.length===0)return null;const Oe=h.filter(st=>st.status==="running"),Ye=h.filter(st=>st.status==="error"),Je=Oe[Oe.length-1];let Qe="完成",ve="ok";return Ye.length>0?(Qe=`${Ye.length} 次出错`,ve="error"):Oe.length>0?(Qe=Je?`${Je.toolName} 运行中`:"运行中",ve="running"):Qe="",{count:h.length,statusLabel:Qe,statusKind:ve}},[h]),We=w.useMemo(()=>{const Oe=Lt.current;let Ye;const Je=rt?qe.findIndex(Fe=>Fe.id===rt):-1;if(!!(Oe&&ge&&rt&&Je>=0)&&Oe?.activeAssistantId===rt&&(Oe?.messages.every((Fe,mt)=>Fe.id===rt||qe[mt]?.id===Fe.id)??!1)&&Oe){let Fe=Je;for(;Fe>0&&qe[Fe-1]?.role!=="user";)Fe-=1;const mt=qe.slice(Fe),ne=new Set(mt.map(ht=>ht.id)),Ee=new Set(mt.map(ht=>ht.turnId).filter(Boolean)),je=h.filter(ht=>ne.has(ht.assistantMessageId??"")||!!ht.turnId&&Ee.has(ht.turnId)||ht.createdAt>=(mt[0]?.createdAt??Number.POSITIVE_INFINITY)),ct=Z3({messages:mt,toolCalls:je,streaming:ge,activeAssistantId:rt});Ye=[...Oe.groups.filter(ht=>!ht.live),...ct]}else Ye=Z3({messages:qe,toolCalls:h,streaming:ge,activeAssistantId:rt});const ve=new Map(Dt.current.map(Fe=>[Fe.key,Fe])),st=Ye.map(Fe=>{const mt=ve.get(Fe.key);return mt&&!Fe.live?mt:Fe});return Dt.current=st.filter(Fe=>!Fe.live),Lt.current={messages:qe,toolCalls:h,activeAssistantId:rt,groups:st},iL(st,E)},[qe,h,ge,rt,E]),Tt=w.useCallback(async()=>{const Oe=n.sessionRef.current?.sessionId,Ye=I;if(!Oe||!N||!Ye||A.current)return!1;A.current=!0,M(!0);try{const Je=new URLSearchParams({limit:"50",beforeId:Ye}),Qe=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(Oe)}/messages?${Je.toString()}`,{credentials:"include"});if(!Qe.ok||n.sessionRef.current?.sessionId!==Oe)return!1;const ve=await Qe.json(),st=Id(ve.messages??[]);return m(Fe=>{const mt=new Set;return[...st.messages,...Fe].filter(Ee=>mt.has(Ee.id)?!1:(mt.add(Ee.id),!0)).sort((Ee,je)=>Ee.eventSeq!==void 0&&je.eventSeq!==void 0&&Ee.eventSeq!==je.eventSeq?Ee.eventSeq-je.eventSeq:Ee.createdAt-je.createdAt)}),p(Fe=>{const mt=new Map(Fe.map(ne=>[ne.id,ne]));for(const ne of st.toolCalls)mt.set(ne.id,ne);return[...mt.values()].sort((ne,Ee)=>ne.createdAt-Ee.createdAt)}),_(ve.hasMore===!0),P(ve.nextCursor??null),R(Fe=>Fe+50),!0}finally{A.current=!1,M(!1)}},[N,I,t,n]),Wt=w.useMemo(()=>{const Oe=[];for(const Ye of We)Ye.user&&Oe.push(Ye.user),Oe.push(...Ye.assistants);return Oe},[We]),Qt=w.useCallback(()=>{m([]),p([]),x([]),K([]),S([]),Q(null),X(null),me(Jh),U(ep),O([]),Z(!1),ce("idle"),ue(null),oe([]),we(null),Re([]),it(null),Pt(null),G(0),R(50),_(!1),P(null),A.current=!1,Dt.current=[],Lt.current=null,n.usageResponseKeysRef.current=new Set},[n]),At=w.useCallback(Oe=>{const Ye=Oe.turnPhase==="stopping";m(Oe.messages),p(Oe.toolCalls),x([]),K([]),S([]),X(null),Q(null),me(Oe.usage??Jh),U(Oe.sessionStats??ep),O(Oe.turnTelemetry??[]),n.usageResponseKeysRef.current=new Set,Z(Ye?!1:Oe.streaming),ce(Ye?"idle":Oe.turnPhase??(Oe.streaming?"running":"idle")),ue(Oe.deferredTurn??null),oe(Oe.deferredTurns??(Oe.deferredTurn?[Oe.deferredTurn]:[])),we(Oe.pendingQuestion??null),Re(Oe.todos??[]),it(Oe.goal??null),Pt(null),G(0),R(50),_(Oe.history?.hasMore===!0),P(Oe.history?.nextCursor??null),Dt.current=[],Lt.current=null},[n]),Pe=w.useCallback(async Oe=>{try{const Ye=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(Oe)}`,{credentials:"include"});if(!Ye.ok)return!1;const Je=await Ye.json();if(!Je.session||n.sessionRef.current?.sessionId!==Oe)return!1;const Qe=Je.session.activeTurnId??null,ve=Je.session.turnPhase==="stopping";n.activeTurnIdRef.current=Qe,n.streamingRef.current=ve?!1:!!Qe,Z(ve?!1:!!Qe),ce(ve?"idle":Je.session.turnPhase??(Qe?"running":"idle")),ue(Je.session.deferredTurn??null),oe(Je.session.deferredTurns??(Je.session.deferredTurn?[Je.session.deferredTurn]:[])),we(Je.session.pendingQuestion??null),Re(Je.session.todos??[]),it(Je.session.goal??null),Je.sessionStats&&U(Je.sessionStats),Je.usage&&me(Je.usage),O(Je.turnTelemetry??[]),n.lastEventIdRef.current=Je.lastEventId??null,n.seenEventIdsRef.current=new Set,n.turnAssistantIdsRef.current=new Map,n.sealedAssistantIdsRef.current=new Set;const st=Id(Je.session.messages??[]),Fe=n.pendingSubmissionRef.current,mt=pL(st.messages,Fe?{clientRequestId:Fe.clientRequestId,user:{id:Fe.userMessageId,role:"user",text:Fe.text,createdAt:Date.now(),clientRequestId:Fe.clientRequestId},assistant:{id:Fe.assistantId,role:"assistant",text:"",createdAt:Date.now()}}:void 0);return m(yL(mt,Je.compactions)),p(st.toolCalls),_(Je.history?.hasMore===!0),P(Je.history?.nextCursor??null),Pt(null),!0}catch{return!1}},[t,n,m,p,Pt,Z,ce,ue,we,Re]);return{messages:d,setMessages:m,toolCalls:h,setToolCalls:p,operationCards:g,artifactCards:y,historyLimit:E,setHistoryLimit:R,historyHasMore:N,historyNextCursor:I,historyLoading:F,loadEarlierMessages:Tt,unread:z,humanGateCards:D,interview:q,setInterview:Q,taskContext:V,contextLoading:W,usage:Y,sessionStats:j,turnTelemetry:ee,streaming:ge,setStreaming:Z,turnPhase:le,setTurnPhase:ce,deferredTurn:pe,setDeferredTurn:ue,deferredTurns:J,setDeferredTurns:oe,pendingQuestion:ie,setPendingQuestion:we,todos:Se,goal:Ze,setGoal:it,streamingAssistantId:rt,setStreamingAssistantId:Pt,visibleMessages:Wt,turnGroups:We,processSummary:De,applyChatSseEvent:Ke,applySseBlock:bt,loadTaskContext:xe,applyOperationLinkMutation:_e,resetForNewSession:Qt,applyActivatedSession:At,recoverSession:Pe}}function X3(e){if(e.readiness==="ready"||e.readiness==="unknown")return null;const t=e.readiness==="setup-required";return u.jsxs("section",{className:`oc-readiness-notice is-${e.presentation}${t?" is-setup":" is-degraded"}`,role:"status","aria-live":"polite",children:[u.jsx("span",{className:"oc-readiness-notice-icon","aria-hidden":"true",children:t?u.jsx(m1,{size:18}):u.jsx(H5,{size:17})}),u.jsxs("div",{className:"oc-readiness-notice-copy",children:[u.jsx("strong",{children:t?"Pi 尚未配置":"Pi 当前为降级状态"}),u.jsx("span",{children:t?"完成认证并选择模型后即可开始对话":"仍可继续对话,但部分模型或工具能力可能暂不可用"})]}),t&&e.onOpenModels?u.jsx("button",{type:"button",className:"oc-readiness-notice-action",onClick:e.onOpenModels,children:"去配置"}):null]})}function No(e){return e==="missing-capability-token"||e==="invalid-capability-token"||e==="missing-confirmation-token"||e==="invalid-confirmation-token"||e==="host-not-loopback"||e==="origin-mismatch"||e==="cross-site-fetch"}function $7(e){return e==="invalid-capability-token"||e==="invalid-confirmation-token"||e==="missing-capability-token"||e==="missing-confirmation-token"}function Ro(e){return $7(e)?"页面凭证已失效(控制台可能已重启),请刷新页面(F5)后重试。":e==="host-not-loopback"?"请求主机校验失败:非回环绑定时要求 Host 头,请刷新页面或检查访问地址。":e==="origin-mismatch"?"请求来源与控制台地址不一致,请通过控制台页面操作。":e==="cross-site-fetch"?"检测到跨站请求,已拒绝。请通过控制台页面操作。":"操作被拒绝,请刷新页面后重试。"}class wL{constructor(t){this.options=t,this.fetchFn=t.fetchFn??fetch,this.backoffMs=t.backoffMs??1e3,this.deadlineMs=t.deadlineMs??3e4}options;eligible=new Set;controllers=new Map;fetchFn;backoffMs;deadlineMs;markEligible(t){this.eligible.add(t)}startIfEligible(t){if(!this.eligible.delete(t)||this.controllers.has(t))return;const n=new AbortController;this.controllers.set(t,n),this.run(t,n)}cancel(t){this.eligible.delete(t),this.controllers.get(t)?.abort(),this.controllers.delete(t)}reconcile(t){const n=new Set(t);for(const a of this.controllers.keys())n.has(a)||this.cancel(a)}dispose(){for(const t of this.controllers.values())t.abort();this.controllers.clear(),this.eligible.clear()}async run(t,n){let a;const s=new Set;let o=!1;const c=window.setTimeout(()=>{o=!0,n.abort()},this.deadlineMs);try{for(;!n.signal.aborted;){try{const d={Accept:"text/event-stream"};a&&(d["Last-Event-ID"]=a);const m=await this.fetchFn(`${this.options.origin}/api/operator/v1/chat/sessions/${encodeURIComponent(t)}/events`,{headers:d,credentials:"include",signal:n.signal});if(m.status===404||!m.body)return;if(!m.ok)throw new Error(`HTTP ${m.status}`);const h=m.body.getReader(),p=new TextDecoder;let g="";for(;;){const{done:x,value:y}=await h.read();if(x||n.signal.aborted)break;g+=p.decode(y,{stream:!0});const S=g.split(`
|
|
442
|
+
|
|
443
|
+
`);g=S.pop()??"";for(const E of S){const R=E.split(`
|
|
444
|
+
`).find(_=>_.startsWith("id: "))?.slice(4);if(R&&(a=R),!R||s.has(R)||!E.includes("event: session_title"))continue;const N=E.split(`
|
|
445
|
+
`).find(_=>_.startsWith("data: "))?.slice(6);if(N)try{const _=JSON.parse(N),I=_.data?.title?.trim();if(!I)continue;if(s.add(R),!this.options.hasSession(t)||(this.options.onTitle(t,{title:I,automatic:!!_.data?.automatic}),_.data?.automatic))return}catch{}}}}catch{if(n.signal.aborted)return}n.signal.aborted||await kL(this.backoffMs,n.signal)}}finally{window.clearTimeout(c),this.controllers.get(t)===n&&this.controllers.delete(t),(o||!this.options.hasSession(t))&&this.options.refresh()}}}function kL(e,t){return new Promise(n=>{const a=window.setTimeout(o,e),s=()=>o();function o(){window.clearTimeout(a),t.removeEventListener("abort",s),n()}t.addEventListener("abort",s,{once:!0})})}function SL(e,t){return[t,...e.filter(n=>n.sessionId!==t.sessionId)]}function EL(e,t,n){return[n,...e.filter(a=>a.sessionId!==n.sessionId&&(!t||a.sessionId!==t))]}function Q3(e,t){const n=e.findIndex(a=>a.sessionId===t);return n<0?{next:e,index:-1}:{next:e.filter(a=>a.sessionId!==t),removed:e[n],index:n}}function J3(e,t,n){if(e.some(s=>s.sessionId===t.sessionId))return e;const a=[...e];return a.splice(Math.max(0,Math.min(n,a.length)),0,t),a}function TL(e,t){const n=e.deferredTurns??(e.deferredTurn?[e.deferredTurn]:[]),a=t.deferredTurns??(t.deferredTurn?[t.deferredTurn]:[]);return n.length!==a.length?!1:n.every((s,o)=>{const c=a[o];return!!(c&&s.clientRequestId===c.clientRequestId&&s.revision===c.revision&&s.state===c.state&&s.updatedAt===c.updatedAt&&s.textPreview===c.textPreview&&s.imageCount===c.imageCount&&s.acceptedTurnId===c.acceptedTurnId&&s.lastError?.code===c.lastError?.code&&s.lastError?.message===c.lastError?.message)})}function CL(e,t){return e.sessionId===t.sessionId&&e.workspaceId===t.workspaceId&&e.state===t.state&&e.title===t.title&&e.displayTitle===t.displayTitle&&e.updatedAt===t.updatedAt&&e.activeTurnId===t.activeTurnId&&e.turnPhase===t.turnPhase&&e.model?.provider===t.model?.provider&&e.model?.modelId===t.model?.modelId&&e.thinkingLevel===t.thinkingLevel&&e.isBlank===t.isBlank&&e.optimisticState===t.optimisticState&&TL(e,t)}function NL(e,t){const n=new Map(e.map(o=>[o.sessionId,o]));let a=e.length!==t.length;const s=t.map((o,c)=>{const d=n.get(o.sessionId),m=d&&CL(d,o)?d:o;return m!==e[c]&&(a=!0),m});return a?s:e}function RL(e,t){const n=t.trim();if(n)return e.find(a=>a.workspaceId===n&&a.state==="active"&&a.isBlank===!0&&a.turnPhase==="idle"&&!a.activeTurnId&&!a.optimisticState)}async function IL(e){if(e.creatingRef?.current)throw new Error("CREATE_SESSION_IN_FLIGHT");e.creatingRef&&(e.creatingRef.current=!0),e.setCreatingSession?.(!0);try{const t=await(e.fetchFn??fetch)(`${e.origin}/api/operator/v1/chat/sessions`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:JSON.stringify((()=>{const{optimisticSessionId:c,...d}=e.options??{};return d})())});if(!t.ok){const c=await t.json().catch(()=>({}));throw No(c.error?.code)?new Error(Ro(c.error.code)):new Error(c.error?.message??`HTTP ${t.status}`)}const n=await t.json();if(!n.session)throw new Error("创建会话响应缺少 durable session");const a={...n.session,isBlank:!0},s={sessionId:a.sessionId,...a.workspaceId||e.options?.workspaceId?{workspaceId:a.workspaceId??e.options?.workspaceId}:{},...rd(a)},o=EL(e.sessionListRef.current,e.options?.optimisticSessionId,a);return e.sessionListRef.current=o,e.setSessionList(o),e.titleWatcher?.markEligible(a.sessionId),s}finally{e.creatingRef&&(e.creatingRef.current=!1),e.setCreatingSession?.(!1)}}function e5(e,t){return(t??[]).reduce((n,a)=>tg(n,a),e)}function AL(e){const{origin:t,refs:n,setSession:a,thread:s,composer:o,browser:c,setError:d,setNotice:m,onCompactionChange:h,setProcessOpen:p,setAutoScroll:g}=e,{applyActivatedSession:x,resetForNewSession:y}=s,{setInput:S,setPendingImages:E}=o,{setPreviews:R,setActivePreviewPath:N}=c,{workspaceId:_,blocked:I}=e,P=_?`?workspaceId=${encodeURIComponent(_)}`:"",F=w.useCallback(J=>{const oe=J?.trim()||n.sessionRef.current?.workspaceId?.trim()||"";return oe?`?workspaceId=${encodeURIComponent(oe)}`:""},[n]),[M,A]=w.useState([]),z=w.useRef([]),G=w.useRef(new Set),D=w.useRef(new Map),K=w.useRef(0),q=w.useRef(new Map),Q=w.useRef(null);z.current=M;const V=w.useRef(null),[X,W]=w.useState(!1),B=w.useRef(!1),Y=w.useRef(!1),me=w.useRef(0),j=w.useCallback(J=>{const oe=J?.keepStreams===!0;n.sessionGenerationRef.current+=1,oe||n.abortRef.current?.abort(),n.reconnectAbortRef.current?.abort();for(const ie of n.sessionAbortControllersRef.current.values())ie.abort();n.sessionAbortControllersRef.current.clear(),n.reconnectAbortRef.current=null,n.eventsStreamStateRef.current=null,n.streamingRef.current=!1,n.abortRef.current=null,n.assistantIdRef.current=null,n.lastEventIdRef.current=null,n.seenEventIdsRef.current=new Set,n.turnAssistantIdsRef.current=new Map,n.sealedAssistantIdsRef.current=new Set,n.settledTurnIdsRef.current=new Set,n.activeTurnIdRef.current=null,y(),S(""),E([]),R([]),N(null),p(!1),g(!0)},[n,y,S,E,R,N,p,g]),U=w.useCallback(async()=>{if(!I)try{const J=await fetch(`${t}/api/operator/v1/chat/sessions`,{credentials:"include"}),oe=await J.json().catch(()=>({}));if(!J.ok){d(oe.error?.message??`会话列表加载失败(HTTP ${J.status})`);return}const we=(oe.sessions??[]).filter(Ze=>!G.current.has(Ze.sessionId)),Se=[...D.current.values()].filter(Ze=>!we.some(it=>it.sessionId===Ze.sessionId)),Re=NL(z.current,[...Se,...we]);z.current=Re,A(Re),oe.workspaceErrors?.length&&d(`部分工作区的会话加载失败(${oe.workspaceErrors.length} 个)`)}catch(J){d(`会话列表加载失败:${J instanceof Error?J.message:String(J)}`)}},[t,I,d]),ee=w.useCallback(async J=>{if(G.current.has(J))return!1;const oe=++K.current,ie=z.current,{next:we,removed:Se,index:Re}=Q3(ie,J);if(!Se||Re<0)return!1;G.current.add(J),q.current.set(J,oe);const Ze=n.sessionRef.current?.sessionId===J?n.sessionRef.current:null,it=Ze?.workspaceId??_,rt={...Se,optimisticState:"deleting"},Pt=J3(we,rt,Re);z.current=Pt,A(Pt),window.setTimeout(()=>{if(!G.current.has(J)||q.current.get(J)!==oe)return;const vt=z.current.filter(Ke=>Ke.sessionId!==J);z.current=vt,A(vt)},150);const gt=()=>{if(q.current.get(J)!==oe)return;G.current.delete(J),q.current.delete(J);const vt=J3(z.current,Se,Re);vt!==z.current&&(z.current=vt,A(vt))};let Dt=null;Ze&&(Dt=++me.current,n.sessionRef.current=null,j(),a(null),Dl(window.localStorage,it,J));const Lt=async()=>{Ze&&Dt===me.current&&!n.sessionRef.current&&await Q.current?.(Ze.sessionId,Ze.workspaceId)};try{const vt=F(z.current.find(bt=>bt.sessionId===J)?.workspaceId??null);return(await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(J)}${vt}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":Nn()}})).ok?(V.current?.cancel(J),U().finally(()=>{G.current.delete(J),q.current.delete(J)}),!0):(gt(),await Lt(),d("删除会话失败"),!1)}catch(vt){return gt(),await Lt(),d(vt instanceof Error?vt.message:String(vt)),!1}},[t,n,a,j,U,d,F,_]),O=w.useCallback((J,oe)=>{const ie=n.sessionRef.current,we=z.current.find(Ze=>Ze.sessionId===J),Se=oe??we?.workspaceId??ie?.workspaceId??_;Dl(window.localStorage,Se,J),G.current.add(J);const{next:Re}=Q3(z.current,J);z.current=Re,A(Re),ie?.sessionId===J&&(me.current+=1,n.sessionRef.current=null,j(),a(null)),U()},[n,j,a,_,U]),ge=w.useCallback(async(J,oe)=>{const ie=++me.current,we=F(oe);try{const Se=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(J)}${we}`,{credentials:"include"}),Re=await Se.json();if(!Se.ok||!Re.session){if(gd({status:Se.status,code:Re.error?.code,message:Re.error?.message}))return O(J,oe),!1;throw new Error(Re.error?.message??"会话不可用")}if(ie!==me.current)return!1;const Ze={sessionId:Re.session.sessionId,...Re.session.workspaceId?{workspaceId:Re.session.workspaceId}:{},...rd(Re.session)};j({keepStreams:!0}),n.sessionRef.current=Ze,n.activeTurnIdRef.current=Re.session.activeTurnId??null;const it=Re.session.turnPhase==="stopping";n.streamingRef.current=it?!1:!!Re.session.activeTurnId,n.stoppingTurnIdRef.current=it?Re.session.activeTurnId??null:null,n.stopRequestedRef.current=it,n.seenEventIdsRef.current=new Set,n.turnAssistantIdsRef.current=new Map,n.sealedAssistantIdsRef.current=new Set,n.settledTurnIdsRef.current=new Set,n.lastEventIdRef.current=null,a(Ze),n.assistantIdRef.current=null,n.abortRef.current=n.sessionAbortControllersRef.current.get(J)??null,E([]),R([]),S(Re.session.composerDraft??"");const rt=Id(Re.session.messages??[]);return rt.messages=e5(rt.messages,Re.compactions),x({messages:rt.messages,toolCalls:rt.toolCalls,sessionStats:Re.sessionStats,usage:Re.usage,turnTelemetry:Re.turnTelemetry,streaming:it?!1:!!Re.session.activeTurnId,turnPhase:Re.session.turnPhase??(Re.session.activeTurnId?"running":"idle"),deferredTurn:Re.session.deferredTurn??null,deferredTurns:Re.session.deferredTurns??(Re.session.deferredTurn?[Re.session.deferredTurn]:[]),pendingQuestion:Re.session.pendingQuestion??null,todos:Re.session.todos??[],goal:Re.session.goal??null,history:Re.history}),mm(window.localStorage,Re.session.workspaceId??oe??_,J),N(null),!0}catch(Se){return ie!==me.current||d(Se instanceof Error?Se.message:String(Se)),!1}},[t,n,a,E,R,S,x,j,N,d,F,_,O]);Q.current=ge,w.useEffect(()=>{U()},[U]),V.current||(V.current=new wL({origin:t,hasSession:J=>z.current.some(oe=>oe.sessionId===J),onTitle:(J,oe)=>{A(ie=>ie.map(we=>we.sessionId!==J||oe.automatic&&we.title?we:oe.automatic?{...we,title:oe.title}:{...we,displayTitle:oe.title}))},refresh:U}));const Z=w.useCallback(J=>V.current?.startIfEligible(J),[]);w.useEffect(()=>{V.current?.reconcile(M.filter(J=>J.state!=="archived"&&!J.title).map(J=>J.sessionId))},[M]),w.useEffect(()=>()=>V.current?.dispose(),[]),w.useEffect(()=>{let J=!1;if(I)return;const oe=++me.current;j({keepStreams:!0}),n.sessionRef.current=null,a(null);const ie=C9(window.localStorage,_);if(!ie){Dl(window.localStorage,_);return}return(async()=>{try{const we=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(ie)}${P}`,{credentials:"include"});if(!we.ok){Dl(window.localStorage,_,ie);return}const Se=await we.json();if(J||I||oe!==me.current||!Se.session)return;const Re={sessionId:Se.session.sessionId,...Se.session.workspaceId?{workspaceId:Se.session.workspaceId}:_?{workspaceId:_}:{},...rd(Se.session)};n.sessionGenerationRef.current+=1,n.sessionRef.current=Re,n.activeTurnIdRef.current=Se.session.activeTurnId??null;const Ze=Se.session.turnPhase==="stopping";n.streamingRef.current=Ze?!1:!!Se.session.activeTurnId,n.stoppingTurnIdRef.current=Ze?Se.session.activeTurnId??null:null,n.stopRequestedRef.current=Ze,n.seenEventIdsRef.current=new Set,n.turnAssistantIdsRef.current=new Map,n.sealedAssistantIdsRef.current=new Set,n.settledTurnIdsRef.current=new Set,n.lastEventIdRef.current=null,a(Re),mm(window.localStorage,Re.workspaceId??_,Re.sessionId),S(Se.session.composerDraft??"");const it=Id(Se.session.messages??[]);it.messages=e5(it.messages,Se.compactions),x({messages:it.messages,toolCalls:it.toolCalls,sessionStats:Se.sessionStats,usage:Se.usage,turnTelemetry:Se.turnTelemetry,streaming:Ze?!1:!!Se.session.activeTurnId,turnPhase:Se.session.turnPhase??(Se.session.activeTurnId?"running":"idle"),deferredTurn:Se.session.deferredTurn??null,deferredTurns:Se.session.deferredTurns??(Se.session.deferredTurn?[Se.session.deferredTurn]:[]),pendingQuestion:Se.session.pendingQuestion??null,todos:Se.session.todos??[],goal:Se.session.goal??null,history:Se.history})}catch{}})(),()=>{J=!0}},[t,P,n,a,S,x,I,j,_]);const le=w.useCallback(J=>{const oe=J?.workspaceId?.trim()??_?.trim();if(!oe)return d("创建会话需要选择一个有效的工作区(不会回退默认工作区)"),Promise.reject(new Error("WORKSPACE_REQUIRED"));const ie=`optimistic-chat-${Date.now()}-${Math.random().toString(16).slice(2)}`,we=new Date().toISOString(),Se={sessionId:ie,workspaceId:oe,state:"active",updatedAt:we,turnPhase:"idle",optimisticState:"creating"};D.current.set(ie,Se);const Re=SL(z.current,Se);return z.current=Re,A(Re),IL({origin:t,sessionListRef:z,setSessionList:A,titleWatcher:V.current,refreshSessionList:U,options:{...J,workspaceId:oe,optimisticSessionId:ie},setCreatingSession:W,creatingRef:B}).then(Ze=>(D.current.delete(ie),Ze)).catch(Ze=>{D.current.delete(ie);const it=z.current.filter(rt=>rt.sessionId!==ie);throw z.current=it,A(it),Ze})},[t,U,_,d]),ce=w.useCallback(async J=>{if(B.current||I)return null;const oe=++me.current;d(null);const ie=n.sessionRef.current,we=J?.workspaceId?.trim()??_?.trim();if(!we)return d("创建会话需要选择一个有效的工作区(不会回退默认工作区)"),null;const Se=J?.snapshot?void 0:RL(z.current,we);if(Se)return ie?.sessionId===Se.sessionId?ie:await ge(Se.sessionId,Se.workspaceId)?{sessionId:Se.sessionId,...Se.workspaceId?{workspaceId:Se.workspaceId}:{},...rd(Se)}:null;try{j({keepStreams:!0}),n.sessionRef.current=null,a(null);const Re=await le(J);return oe!==me.current?null:(n.sessionRef.current=Re,mm(window.localStorage,Re.workspaceId??J?.workspaceId??_,Re.sessionId),a(Re),Re)}catch(Re){if(oe!==me.current)return null;ie&&await ge(ie.sessionId,ie.workspaceId);const Ze=Re instanceof Error?Re.message:String(Re);return Ze!=="CREATE_SESSION_IN_FLIGHT"&&d(Ze),null}},[n,a,d,j,le,ge,I,_]),pe=w.useCallback(async J=>{const oe=n.sessionRef.current;if(!oe||n.streamingRef.current)return;const ie=typeof J=="string"?J.trim():"";h?.(!0);try{const we={"x-loop-console-confirmation":Nn()};ie&&(we["content-type"]="application/json");const Se=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(oe.sessionId)}/compact${F()}`,{method:"POST",credentials:"include",headers:we,...ie?{body:JSON.stringify({instructions:ie})}:{}}),Re=await Se.json().catch(()=>({}));if(!Se.ok){const rt=Re.error?.code;if(No(rt)){d(Ro(rt)),$7(rt)&&!Y.current&&(Y.current=!0,window.setTimeout(()=>window.location.reload(),1200));return}d(Re.error?.message??"上下文压缩失败");return}d(null);const it=Re.snapshot?.summary?.trim()||"历史上下文已精简,关键决策与当前任务已保留。";await ge(oe.sessionId),m({id:Date.now(),message:`已压缩上下文:${it.slice(0,72)}${it.length>72?"…":""}`})}catch(we){d(we instanceof Error?we.message:"上下文压缩失败")}finally{h?.(!1)}},[t,n,d,m,h,ge,F]);return{sessionList:M,creatingSession:X,activateSession:ge,refreshSessionList:U,deleteSession:ee,createSession:ce,updateSession:async(J,oe)=>{if(!(await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(J)}${F(z.current.find(we=>we.sessionId===J)?.workspaceId??null)}`,{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Nn()},body:JSON.stringify(oe)})).ok){d("会话更新失败");return}if(await U(),oe.state==="archived"&&V.current?.cancel(J),oe.state==="archived"&&n.sessionRef.current?.sessionId===J){const we=n.sessionRef.current.workspaceId??_,Se=n.sessionRef.current.sessionId;me.current+=1,n.sessionRef.current=null,j(),a(null),Dl(window.localStorage,we,Se)}},watchSessionTitle:Z,compactSession:pe,forgetLostSession:O}}function _L(e){return e.turnPhase==="stopping"?e.blockedByTurnId?{action:"queue-deferred",blockedByTurnId:e.blockedByTurnId}:{action:"hold"}:e.turnPhase==="running"?e.blockedByTurnId?{action:"queue-deferred",blockedByTurnId:e.blockedByTurnId}:{action:"hold"}:{action:"send-now"}}function t5(e){const{clientRequestId:t,blockedByTurnId:n,state:a}=e;if(!a)return{action:"hold"};const s=a.deferredTurns?.find(c=>c.clientRequestId===t)??(a.deferredTurn?.clientRequestId===t?a.deferredTurn:void 0);if(s)return{action:"deferred",deferredTurn:s};if(a.activeTurn?.clientRequestId===t)return{action:"accepted",turn:a.activeTurn};if(a.latestTurn?.clientRequestId===t)return{action:"accepted",turn:a.latestTurn};const o=a.activeTurn?.turnId??a.activeTurnId??null;return a.turnPhase==="stopping"&&o===n?{action:"retry-deferred"}:oc(a)?{action:"hold"}:{action:"send-now"}}function ML(e){let t;const n=new Promise(a=>{t=a});return{...e,outcomePromise:n,resolveOutcome:t}}function n5(e="network error while creating turn"){return{kind:"ambiguous",message:e}}function OL(e="无法确认 Turn 是否已创建,正在与服务端对账(不会重复提交新的请求 ID)"){return{kind:"ambiguous",message:e}}function r5(e){const{body:t,clientRequestId:n}=e,a=t.error?.code,s=t.error?.message??(e.httpOk?"turn was not accepted":`HTTP ${e.status}`);if(a==="TURN_ACTIVE"&&t.activeTurn?.turnId)return{kind:"adopt-active",activeTurn:t.activeTurn,message:"上一轮仍在运行,已重新连接;当前消息已保留。"};if(t.accepted===!0||e.httpOk&&t.turnId){const o=t.turn?.turnId??t.turnId;return o?{kind:"accepted",turnId:o,idempotent:t.idempotent===!0,turn:t.turn??{turnId:o,clientRequestId:n,state:t.state}}:{kind:"ambiguous",message:s}}return t.accepted===!1||a?{kind:"rejected",code:a,message:s}:{kind:"ambiguous",message:s}}function DL(e){const t=e.clientRequestId,n=e.state?.activeTurn,a=e.state?.latestTurn;return n?.clientRequestId===t&&n.turnId?{kind:"accepted",turnId:n.turnId,idempotent:!0,turn:n}:a?.clientRequestId===t&&a.turnId?{kind:"accepted",turnId:a.turnId,idempotent:!0,turn:a}:n?.turnId?{kind:"adopt-active",activeTurn:n,message:"上一轮仍在运行,已重新连接;当前消息已保留。"}:null}function jL(e){const t=e.clientRequestId,n=e.state?.activeTurn,a=e.state?.latestTurn,s=n?.state??e.state?.activeTurnState??void 0,o=a?.state??e.state?.latestTurnState??void 0;if(n?.clientRequestId===t&&n.turnId)return Os(s)?{action:"release-terminal",turnId:n.turnId,state:String(s)}:{action:"bind-active",turnId:n.turnId};if(a?.clientRequestId===t&&a.turnId){if(Os(o))return{action:"release-terminal",turnId:a.turnId,state:String(o)};if(!n?.turnId||n.clientRequestId===t)return{action:"bind-active",turnId:a.turnId}}return!oc(e.state)&&!(!!n?.turnId&&n?.clientRequestId!==t)?{action:"release-not-accepted"}:{action:"hold"}}function oc(e){if(e?.activeTurnId||e?.activeTurn?.turnId)return!0;const t=e?.runtime;return t?t.isStreaming===!0||t.isPromptRunning===!0||t.isCompacting===!0||t.isBashRunning===!0:!1}function Os(e){return e==="settled"||e==="aborted"||e==="failed"}function Ad(e){return e.pending.sessionId===e.sessionId&&e.pending.sessionGeneration===e.sessionGeneration&&e.pending.submitGeneration===e.submitGeneration}function LL(e,t){return`${e}/api/operator/v1/chat/sessions/${encodeURIComponent(t)}/turns`}function a5(e,t){return`${e}/api/operator/v1/chat/sessions/${encodeURIComponent(t)}/state`}function zL(e,t){return`${e}/api/operator/v1/chat/sessions/${encodeURIComponent(t)}/events`}function BL(e,t,n){return`${e}/api/operator/v1/chat/sessions/${encodeURIComponent(t)}/turns/${encodeURIComponent(n)}/abort`}function Fl(e){return e.stoppingTurnId||e.stopRequested?"stopping":e.activeTurnId||e.streaming||e.submitInFlight||e.pendingSubmission?"running":"idle"}function Gu(e){const t=Fl(e);return t==="stopping"?"idle":t}function rs(e,t){const n=e.pendingSubmission;t&&n&&n.clientRequestId!==t||(e.submitInFlight=!1,(!t||n?.clientRequestId===t)&&(n?.clientRequestId?e.releasedClientRequestIds.add(n.clientRequestId):t&&e.releasedClientRequestIds.add(t),e.pendingSubmission=null),e.pendingSubmission||(e.stopRequested=!1))}function P7(e){e.stopRequested=!0}function Lo(e){e.stopRequested=!1}function qL(e,t){return!(!t||e.abortPostedTurnIds.has(t))}function UL(e,t){t&&e.abortPostedTurnIds.add(t)}function _d(e,t){return!e.stopRequested||!qL(e,t)?null:(UL(e,t),e.stoppingTurnId=t,e.activeTurnId=t,t)}function i5(e,t){const n=e.pendingSubmission;return n&&n.clientRequestId!==t.clientRequestId?!1:(t.turnId&&e.settledTurnIds.add(t.turnId),rs(e,t.clientRequestId),Lo(e),t.markIdle!==!1&&(e.streaming=!1,e.activeTurnId=null,e.assistantId=null,e.stoppingTurnId=null),!0)}function HL(e,t){return Ad({pending:t.pending,sessionId:e.sessionId,sessionGeneration:e.sessionGeneration,submitGeneration:e.submitGeneration})?(t.pending.acceptedTurnId=t.turnId,e.activeTurnId=t.turnId,e.turnAssistantIds.set(t.turnId,t.assistantId),e.streaming=!0,e.submitInFlight=!1,t.pending.resolveOutcome({kind:"accepted",turnId:t.turnId}),t.ui?.setStreaming(!0),t.ui?.setStreamingAssistantId(t.assistantId),t.ui?.setPendingImages([]),t.ui?.watchSessionTitle?.(t.sessionId),!0):(t.pending.resolveOutcome({kind:"stale"}),!1)}function $L(e,t){t.pending.resolveOutcome({kind:"adopt-active",activeTurn:{turnId:t.activeTurnId},message:t.message}),rs(e,t.pending.clientRequestId),t.current&&(t.ui?.removePendingMessage?.(t.pending.clientRequestId),t.ui?.clearEmptyAssistant(t.assistantId),t.ui?.setInput(t.text),t.ui?.setPendingImages(t.images),e.activeTurnId=t.activeTurnId,e.assistantId=null,e.streaming=!0,t.ui?.setStreaming(!0),t.ui?.setStreamingAssistantId(null),t.notice.setError(null),t.notice.showNotice(t.message))}function PL(e,t){if(t.pending.resolveOutcome({kind:"rejected",message:t.message}),rs(e,t.pending.clientRequestId),!t.current)return;const n=t.ui?.formatError?t.ui.formatError(t.message):t.message;t.ui?.setError(n),e.streaming=!1,e.assistantId=null,t.ui?.setStreaming(!1),t.ui?.setStreamingAssistantId(null),t.ui?.clearEmptyAssistant(t.assistantId),t.ui?.removePendingMessage?.(t.pending.clientRequestId),t.ui?.setInput(t.text),t.ui?.setPendingImages(t.images)}function FL(e,t,n){const a=Ad({pending:n.pending,sessionId:e.sessionId,sessionGeneration:e.sessionGeneration,submitGeneration:e.submitGeneration});if(t.kind==="accepted"){if(HL(e,{turnId:t.turnId,assistantId:n.assistantId,pending:n.pending,sessionId:n.sessionId,ui:n.acceptedUi})){const o=_d(e,t.turnId);o&&n.onAutoAbort?.(o)}return}if(t.kind==="adopt-active"){const s=a?_d(e,t.activeTurn.turnId):null;$L(e,{activeTurnId:t.activeTurn.turnId,message:t.message,assistantId:n.assistantId,text:n.text,images:n.images,pending:n.pending,current:a,notice:n.notice,ui:n.adoptUi}),s&&n.onAutoAbort?.(s);return}if(t.kind==="rejected"){PL(e,{message:t.message,assistantId:n.assistantId,text:n.text,images:n.images,pending:n.pending,current:a,ui:n.rejectedUi}),Lo(e);return}if(t.kind==="stale"){n.pending.resolveOutcome(t),rs(e,n.pending.clientRequestId),Lo(e);return}n.pending.resolveOutcome(t)}function GL(e,t,n,a){const s=e.pendingSubmission;if(!s)return"held";if(t.action==="bind-active"){const c=!!s.acceptedTurnId;c||(s.acceptedTurnId=t.turnId,e.activeTurnId=t.turnId,e.turnAssistantIds.set(t.turnId,s.assistantId),e.streaming=!0,e.submitInFlight=!1);const d=_d(e,t.turnId);return d&&a?.onAutoAbort?.(d),c?"held":"bound"}if(t.action==="release-terminal"||t.action==="release-not-accepted")return t.action==="release-terminal"&&e.settledTurnIds.add(t.turnId),rs(e,s.clientRequestId),Lo(e),oc(n)||(e.streaming=!1,e.activeTurnId=null,e.assistantId=null,e.stoppingTurnId=null,a?.markIdle?.()),"released";const o=n?.activeTurn?.turnId??n?.activeTurnId??null;return o&&(e.activeTurnId=o),"held"}const VL="正在停止…",KL="正在停止…",WL="停止请求未完成,正在与服务端对账…",YL="停止请求失败,正在与服务端对账…";function s5(e){e.showNotice(VL)}function o5(e){if(e.networkError)return{action:"keep-busy-notice",message:YL};const t=e.body.turn?.state;return e.body.accepted===!0&&Os(t)?{action:"terminal-idle",turnId:e.turnId}:e.httpOk&&e.body.accepted===!0?{action:"abort-accepted-background"}:e.body.error?.code==="TURN_ABORT_PENDING"?{action:"abort-pending-notice"}:e.body.error?.code==="CHAT_TURN_OWNER_LOST"||e.body.error?.code==="OWNER_LOST"?{action:"owner-lost-reconcile"}:e.httpOk?{action:"noop"}:{action:"keep-busy-notice",message:WL}}function tp(e,t,n,a){const s=a?.sessionStillCurrent!==!1;if(t.action==="terminal-idle"){if(!s)return;e.settledTurnIds.add(t.turnId),e.pendingSubmission&&rs(e,e.pendingSubmission.clientRequestId),Lo(e),e.streaming=!1,e.activeTurnId=null,e.assistantId=null,e.stoppingTurnId=null,a?.markIdle?.();return}if(t.action!=="abort-accepted-background"){if(t.action==="abort-pending-notice"){n.showNotice(KL);return}if(t.action==="owner-lost-reconcile"){if(!s)return;a?.runtimeBusy||(e.stoppingTurnId&&e.settledTurnIds.add(e.stoppingTurnId),e.streaming=!1,e.pendingSubmission&&rs(e,e.pendingSubmission.clientRequestId),Lo(e),e.activeTurnId=null,e.assistantId=null,e.stoppingTurnId=null,a?.markIdle?.());return}if(t.action==="keep-busy-notice"){n.showNotice(t.message);return}}}function l5(e,t){P7(e);const n=e.activeTurnId??e.pendingSubmission?.acceptedTurnId??null;if(n){const a=_d(e,n);return a?(t.notice&&s5(t.notice),t.postAbort(a),{abortedTurnId:a,stopRequested:!0}):{abortedTurnId:null,stopRequested:!0}}return t.notice&&s5(t.notice),{abortedTurnId:null,stopRequested:!0}}function Ia(e){return{submitInFlight:e.submitInFlightRef.current,pendingSubmission:e.pendingSubmissionRef.current,activeTurnId:e.activeTurnIdRef.current,streaming:e.streamingRef.current,assistantId:e.assistantIdRef.current,stoppingTurnId:e.stoppingTurnIdRef.current,settledTurnIds:e.settledTurnIdsRef.current,turnAssistantIds:e.turnAssistantIdsRef.current,sessionId:e.sessionRef.current?.sessionId??null,sessionGeneration:e.sessionGenerationRef.current,submitGeneration:e.submitGenerationRef.current,stopInFlight:e.stopInFlightRef.current,stopRequested:e.stopRequestedRef.current,abortPostedTurnIds:e.abortPostedTurnIdsRef.current,releasedClientRequestIds:e.releasedClientRequestIdsRef.current}}function Aa(e,t){e.submitInFlightRef.current=t.submitInFlight,e.pendingSubmissionRef.current=t.pendingSubmission,e.activeTurnIdRef.current=t.activeTurnId,e.streamingRef.current=t.streaming,e.assistantIdRef.current=t.assistantId,e.stoppingTurnIdRef.current=t.stoppingTurnId,e.submitGenerationRef.current=t.submitGeneration,e.stopInFlightRef.current=t.stopInFlight,e.stopRequestedRef.current=t.stopRequested}function ZL(e){return e.split(`
|
|
446
|
+
`).find(t=>t.startsWith("event: "))?.slice(7).trim()??"message"}function XL(){return new Promise(e=>window.setTimeout(e,25))}const c5=[100,250,500,1e3,2e3];function Vu(e,t){t&&e(n=>n.filter(a=>!(a.id===t&&a.role==="assistant"&&!a.text.trim())))}function QL(e){const{origin:t,refs:n,session:a,thread:s,composer:o,setError:c,setAutoScroll:d,setNotice:m,recoveryVersion:h=0,watchSessionTitle:p}=e,{applySseBlock:g,setMessages:x,setStreaming:y,setStreamingAssistantId:S,streaming:E,setTurnPhase:R,setDeferredTurn:N,setDeferredTurns:_}=s,{setInput:I,setPendingImages:P,recordHistory:F}=o,M=w.useCallback(Z=>{m&&m({id:Date.now(),message:Z})},[m]),A=w.useCallback(Z=>{const le=Ia(n);rs(le,Z),Aa(n,le)},[n]),z=w.useCallback((Z,le,ce)=>{if(n.sessionRef.current?.sessionId!==Z||n.sessionGenerationRef.current!==le)return;const pe=n.pendingSubmissionRef.current?.clientRequestId;pe&&A(pe),n.streamingRef.current=!1,n.activeTurnIdRef.current=null,n.assistantIdRef.current=null,n.stoppingTurnIdRef.current=null,n.stopRequestedRef.current=!1,y(!1),R("idle"),S(null),Vu(x,ce)},[n,A,y,R,S,x]),G=w.useCallback(async(Z,le,ce)=>{for(;!ce.aborted;){const pe=n.eventsStreamStateRef.current;if(!pe||pe.sessionId!==Z||pe.generation!==le)return;pe.ready=!1;try{const ue={Accept:"text/event-stream"},J=n.lastEventIdRef.current;J&&(ue["Last-Event-ID"]=J);const oe=await fetch(zL(t,Z),{headers:ue,credentials:"include",signal:ce});if(!oe.ok||!oe.body){if(oe.status===404)return;await ym(2e3,ce);continue}const ie=oe.body.getReader(),we=new TextDecoder;let Se="",Re=!0;const Ze=Zi("a");for(;;){const{done:rt,value:Pt}=await ie.read();if(rt)break;Se+=we.decode(Pt,{stream:!0});const gt=Se.split(`
|
|
447
|
+
|
|
448
|
+
`);Se=gt.pop()??"";for(const Dt of gt){if(ZL(Dt)==="stream_ready"){const Ke=n.eventsStreamStateRef.current;Ke?.sessionId===Z&&Ke.generation===le&&(Ke.ready=!0),Re=!1;continue}const Lt=n.assistantIdRef.current??Ze,vt=g(Dt,Lt,{replay:Re,targetSessionId:Z,generation:le});vt&&(n.lastEventIdRef.current=vt)}}const it=n.eventsStreamStateRef.current;it?.sessionId===Z&&it.generation===le&&(it.ready=!1),await ym(1e3,ce)}catch{if(ce.aborted)return;await ym(2e3,ce)}}},[t,n,g]),D=w.useCallback((Z,le)=>{const ce=n.eventsStreamStateRef.current;if(ce?.sessionId===Z&&ce.generation===le&&n.reconnectAbortRef.current)return;n.reconnectAbortRef.current?.abort();const pe=new AbortController;n.reconnectAbortRef.current=pe,n.eventsStreamStateRef.current={sessionId:Z,generation:le,ready:!1},G(Z,le,pe.signal)},[n,G]),K=w.useCallback(async(Z,le)=>{D(Z,le);const ce=Date.now()+5e3;for(;Date.now()<ce;){const pe=n.eventsStreamStateRef.current;if(pe?.sessionId===Z&&pe.generation===le&&pe.ready)return;if(n.sessionRef.current?.sessionId!==Z||n.sessionGenerationRef.current!==le)throw new Error("会话已切换");await XL()}throw new Error("事件连接未就绪,请检查 Console 连接后重试")},[n,D]),q=w.useCallback(async Z=>{try{const le=await fetch(a5(t,Z),{credentials:"include"}),ce=await le.json().catch(()=>({}));return le.ok?ce.state??null:null}catch{return null}},[t]),Q=w.useCallback(async Z=>{try{const le=await fetch(LL(t,Z.sessionId),{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:JSON.stringify({clientRequestId:Z.clientRequestId,text:Z.text.trim()||"请查看附件图片。",images:Z.images.map(({type:pe,mimeType:ue,data:J})=>({type:pe,mimeType:ue,data:J}))})}),ce=await le.json().catch(()=>({}));return{httpOk:le.ok,status:le.status,body:ce}}catch{return{httpOk:!1,status:0,body:{},networkError:!0}}},[t]),V=w.useCallback(()=>({showNotice:M,setError:Z=>c(Z)}),[M,c]),X=w.useCallback(async(Z,le,ce)=>{n.stoppingTurnIdRef.current=ce,n.streamingRef.current=!1,y(!1),R("idle"),S(null);try{const pe=await fetch(BL(t,Z,ce),{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:"{}"}),ue=await pe.json().catch(()=>({}));if(n.sessionRef.current?.sessionId!==Z||n.sessionGenerationRef.current!==le||n.stoppingTurnIdRef.current!==ce)return;const J=o5({httpOk:pe.ok,turnId:ce,body:ue}),oe=Ia(n);if(oe.stoppingTurnId=ce,J.action==="owner-lost-reconcile"){const ie=await q(Z);if(!(n.sessionRef.current?.sessionId===Z&&n.sessionGenerationRef.current===le)||n.stoppingTurnIdRef.current!==ce)return;tp(oe,J,V(),{sessionStillCurrent:!0,runtimeBusy:oc(ie??void 0),markIdle:()=>z(Z,le,n.assistantIdRef.current)}),Aa(n,oe),R(Gu(oe));return}tp(oe,J,V(),{sessionStillCurrent:!0,markIdle:()=>z(Z,le,n.assistantIdRef.current)}),Aa(n,oe),R(Gu(oe))}catch{const pe=Ia(n);tp(pe,o5({httpOk:!1,turnId:ce,body:{},networkError:!0}),V()),Aa(n,pe),n.streamingRef.current=!1,y(!1),R("idle")}},[t,n,y,R,z,q,V]),W=w.useCallback((Z,le)=>{const ce=Ia(n);ce.sessionId=n.sessionRef.current?.sessionId??null,ce.sessionGeneration=n.sessionGenerationRef.current,ce.submitGeneration=n.submitGenerationRef.current;const pe=J=>{P(J)};FL(ce,Z,{assistantId:le.assistantId,text:le.text,images:le.images,pending:le.pending,sessionId:le.sessionId,notice:V(),acceptedUi:{setStreaming:y,setStreamingAssistantId:S,setPendingImages:pe,watchSessionTitle:p},adoptUi:{clearEmptyAssistant:J=>Vu(x,J),setInput:I,setPendingImages:pe,setStreaming:y,setStreamingAssistantId:S,removePendingMessage:J=>x(oe=>Qh(oe,J))},rejectedUi:{setError:c,setStreaming:y,setStreamingAssistantId:S,clearEmptyAssistant:J=>Vu(x,J),setInput:I,setPendingImages:pe,formatError:ua,removePendingMessage:J=>x(oe=>Qh(oe,J))},onAutoAbort:J=>{X(le.sessionId,le.generation,J)}}),Aa(n,ce);const ue=Fl(ce);R(Gu(ce)),ue==="stopping"&&(n.streamingRef.current=!1,y(!1),S(null))},[n,V,y,R,S,P,p,x,I,c,X]),B=w.useCallback(async Z=>{const le=n.sessionRef.current;if(!le||!Z.text.trim()&&Z.images.length===0)return{action:"handled"};const ce=(J,oe)=>{N(oe?.[0]??J),_(oe??[J]),I(""),P([]),c(null)},pe=()=>{N(null),_([]),I(""),P([]),c(null)},ue=async()=>{const J=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(le.sessionId)}/deferred-turn`,{method:"PUT",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:JSON.stringify({clientRequestId:Z.clientRequestId,blockedByTurnId:Z.blockedByTurnId,text:Z.text,images:Z.images})}),oe=await J.json().catch(()=>({}));return{response:J,body:oe}};try{for(let J=0;J<2;J+=1){const{response:oe,body:ie}=await ue();if(oe.ok&&ie.accepted&&ie.deferredTurn)return ce(ie.deferredTurn,ie.deferredTurns),{action:"handled"};if(ie.deferredTurns&&_(ie.deferredTurns),ie.deferredTurn&&N(ie.deferredTurn),ie.error?.code!=="TURN_NOT_ACTIVE")return c(ie.error?.message??`待发送消息未被服务端接受(HTTP ${oe.status})`),{action:"handled"};const we=await q(le.sessionId),Se=t5({clientRequestId:Z.clientRequestId,blockedByTurnId:Z.blockedByTurnId,state:we??void 0});if(Se.action==="deferred")return ce(Se.deferredTurn,we?.deferredTurns),{action:"handled"};if(Se.action==="accepted")return pe(),{action:"handled"};if(!(Se.action==="retry-deferred"&&J===0))return Se.action==="send-now"?{action:"send-now"}:(c(ie.error?.message??"停止状态已变化,当前消息仍保留在输入框"),{action:"handled"})}return{action:"handled"}}catch(J){const oe=await q(le.sessionId),ie=t5({clientRequestId:Z.clientRequestId,blockedByTurnId:Z.blockedByTurnId,state:oe??void 0});return ie.action==="deferred"?(ce(ie.deferredTurn,oe?.deferredTurns),{action:"handled"}):ie.action==="accepted"?(pe(),{action:"handled"}):ie.action==="send-now"?{action:"send-now"}:(c(J instanceof Error?`无法确认消息是否已排队:${J.message}`:"无法确认消息是否已排队,请刷新后查看服务端状态"),{action:"handled"})}},[t,n,s.deferredTurn,N,_,I,P,c,q]),Y=w.useCallback(async(Z,le)=>{const ce=n.sessionRef.current,pe=le?s.deferredTurns.find(ue=>ue.clientRequestId===le.clientRequestId):s.deferredTurns[0]??s.deferredTurn;if(!(!ce||!pe))try{const ue=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(ce.sessionId)}/deferred-turn`,{method:"DELETE",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:JSON.stringify({clientRequestId:pe.clientRequestId,expectedRevision:pe.revision})}),J=await ue.json().catch(()=>({}));if(!ue.ok||!J.cancelled){c(J.error?.message??"待发送消息撤回失败");return}const oe=s.deferredTurns.filter(ie=>ie.clientRequestId!==pe.clientRequestId);_(oe),N(oe[0]??null),Z==="restore"&&(I(pe.text??J.deferredTurn?.text??""),P(pe.images??J.deferredTurn?.images??[])),c(null)}catch(ue){c(ue instanceof Error?ue.message:String(ue))}},[t,n,s.deferredTurn,s.deferredTurns,N,_,I,P,c]),me=w.useCallback(()=>Y("restore"),[Y]),j=w.useCallback(Z=>Y("discard",Z),[Y]),U=w.useCallback(async(Z,le)=>{const ce=n.sessionRef.current;if(!ce)return;const pe=s.deferredTurns.find(ue=>ue.clientRequestId===Z.clientRequestId);if(pe)try{const ue=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(ce.sessionId)}/deferred-turn`,{method:"PUT",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:JSON.stringify({clientRequestId:Z.clientRequestId,blockedByTurnId:pe.blockedByTurnId,text:le,images:pe.images??[],expectedRevision:Z.revision})}),J=await ue.json().catch(()=>({}));if(!ue.ok)throw new Error(J.error?.message??"编辑排队消息失败");J.deferredTurns&&_(J.deferredTurns),J.deferredTurn&&N(J.deferredTurn),c(null)}catch(ue){c(ue instanceof Error?ue.message:"编辑排队消息失败")}},[t,n,s.deferredTurns,N,_,c]),ee=w.useCallback(async Z=>{const le=n.sessionRef.current;if(le)try{const ce=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(le.sessionId)}/deferred-turn/${encodeURIComponent(Z.clientRequestId)}/steer`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:JSON.stringify({expectedRevision:Z.revision})}),pe=await ce.json().catch(()=>({}));if(!ce.ok)throw new Error(pe.error?.message??"插话发送失败");const ue=pe.deferredTurns??s.deferredTurns.filter(J=>J.clientRequestId!==Z.clientRequestId);_(ue),N(ue[0]??null),c(null)}catch(ce){c(ce instanceof Error?ce.message:"插话发送失败")}},[t,n,s.deferredTurns,N,_,c]),O=w.useCallback(async(Z,le)=>{const ce=n.sessionRef.current;if(!ce||!Z.trim()&&le.length===0)return;const pe=Ia(n),ue=_L({turnPhase:Fl(pe),blockedByTurnId:pe.stoppingTurnId??pe.activeTurnId}),J=Zi("chat-submit");if(ue.action==="hold"){const Ke=Fl(pe);Ke==="stopping"?M("正在确认上一轮停止状态,当前消息已保留"):Ke==="running"&&M("正在确认当前回合状态,当前消息已保留");return}if(F?.(Z),ue.action==="queue-deferred"&&(await B({text:Z,images:le,clientRequestId:J,blockedByTurnId:ue.blockedByTurnId})).action!=="send-now")return;const oe=n.sessionRef.current,ie=n.sessionGenerationRef.current;if(!oe||oe.sessionId!==ce.sessionId||!Z.trim()&&le.length===0||n.streamingRef.current||n.submitInFlightRef.current||n.pendingSubmissionRef.current)return;n.submitInFlightRef.current=!0;const we=++n.submitGenerationRef.current,Se=Zi("u"),Re=Zi("a"),Ze=Z.trim(),it=le.slice(),rt=ML({clientRequestId:J,submitGeneration:we,sessionId:oe.sessionId,sessionGeneration:ie,text:Ze,images:it,assistantId:Re,userMessageId:Se});n.pendingSubmissionRef.current=rt;const Pt={id:Se,role:"user",text:Ze,createdAt:Date.now(),clientRequestId:J},gt={id:Re,role:"assistant",text:"",createdAt:Date.now()};x(Ke=>H7(Ke,{clientRequestId:J,user:Pt,assistant:gt})),I(""),d(!0),c(null);try{await K(oe.sessionId,ie)}catch(Ke){n.sessionRef.current?.sessionId===oe.sessionId&&n.sessionGenerationRef.current===ie&&c(ua(Ke instanceof Error?Ke.message:String(Ke))),A(J),x(bt=>Qh(bt,J)),Vu(x,Re),I(Ze),P(it);return}if(n.sessionRef.current?.sessionId!==oe.sessionId||n.sessionGenerationRef.current!==ie){A(J);return}n.streamingRef.current=!0,R("running"),n.assistantIdRef.current=Re,y(!0),S(Re);const Dt={sessionId:oe.sessionId,generation:ie,submitGeneration:we,assistantId:Re,text:Ze,images:it,pending:rt},Lt=await Q({sessionId:oe.sessionId,clientRequestId:J,text:Ze,images:it});if(!Ad({pending:rt,sessionId:n.sessionRef.current?.sessionId,sessionGeneration:n.sessionGenerationRef.current,submitGeneration:n.submitGenerationRef.current})){rt.resolveOutcome({kind:"stale"}),A(J);return}let vt=Lt.networkError?n5():r5({httpOk:Lt.httpOk,status:Lt.status,body:Lt.body,clientRequestId:J});if(vt.kind==="ambiguous"){const Ke=await q(oe.sessionId),bt=Ke?DL({clientRequestId:J,state:Ke}):null;if(bt)vt=bt;else{const xe=await Q({sessionId:oe.sessionId,clientRequestId:J,text:Ze,images:it});if(!Ad({pending:rt,sessionId:n.sessionRef.current?.sessionId,sessionGeneration:n.sessionGenerationRef.current,submitGeneration:n.submitGenerationRef.current})){rt.resolveOutcome({kind:"stale"}),A(J);return}if(vt=xe.networkError?n5("无法确认 Turn 是否已创建,正在与服务端对账(不会重复提交新的请求 ID)"):r5({httpOk:xe.httpOk,status:xe.status,body:xe.body,clientRequestId:J}),vt.kind==="ambiguous"){const _e=vt.message||"无法确认 Turn 是否已创建,正在与服务端对账(不会重复提交新的请求 ID)";vt=OL(_e),M(_e)}}}W(vt,Dt)},[t,n,K,Q,q,W,A,M,x,I,d,c,y,R,S,B,F]),ge=w.useCallback(async()=>{const Z=n.sessionRef.current?.sessionId,le=n.sessionGenerationRef.current;if(!Z)return;const ce=Ia(n),pe=l5(ce,{postAbort:()=>{}});if(Aa(n,ce),n.streamingRef.current=!1,y(!1),S(null),R("idle"),pe.abortedTurnId){if(n.stopInFlightRef.current)return;n.stopInFlightRef.current=!0;try{await X(Z,le,pe.abortedTurnId)}finally{n.stopInFlightRef.current=!1}return}const ue=n.pendingSubmissionRef.current;if(ue&&!n.stopInFlightRef.current){n.stopInFlightRef.current=!0;try{const J=await ue.outcomePromise;if(n.sessionRef.current?.sessionId!==Z||n.sessionGenerationRef.current!==le)return;let oe=null;if(J.kind==="accepted")oe=J.turnId;else if(J.kind==="adopt-active")oe=J.activeTurn.turnId;else{if(J.kind==="ambiguous")return;n.stopRequestedRef.current=!1;return}if(!oe)return;const ie=Ia(n);P7(ie);const we=l5(ie,{postAbort:()=>{}});Aa(n,ie),we.abortedTurnId&&await X(Z,le,we.abortedTurnId)}finally{n.stopInFlightRef.current=!1}}},[n,X,y,S,R]);return w.useEffect(()=>{const Z=!!n.pendingSubmissionRef.current||n.submitInFlightRef.current||n.stopRequestedRef.current||!!n.activeTurnIdRef.current;if(!a||!E&&!Z)return;const le=a.sessionId,ce=n.sessionGenerationRef.current;let pe=!1,ue=null;const J=async()=>{try{const rt=await fetch(a5(t,le),{credentials:"include"}),Pt=await rt.json().catch(()=>({}));if(pe||!rt.ok||n.sessionRef.current?.sessionId!==le||n.sessionGenerationRef.current!==ce)return;const gt=Pt.state,Dt=n.pendingSubmissionRef.current;if(Dt){const _e=jL({clientRequestId:Dt.clientRequestId,state:gt}),qe=Ia(n),De=GL(qe,_e,gt,{markIdle:()=>z(le,ce,n.assistantIdRef.current),onAutoAbort:Tt=>{X(le,ce,Tt)}});Aa(n,qe);const We=Fl(qe);if(R(Gu(qe)),We==="stopping"&&(n.streamingRef.current=!1,y(!1),S(null)),gt&&"deferredTurn"in gt&&N(gt.deferredTurn??null),De==="bound"&&We!=="stopping"){y(!0);return}if(De==="released"||!Dt.acceptedTurnId&&!qe.pendingSubmission?.acceptedTurnId)return}const Lt=gt?.activeTurn?.turnId??gt?.activeTurnId??null;n.activeTurnIdRef.current=Lt;const vt=oc(gt),Ke=n.pendingSubmissionRef.current;if(Ke){const _e=gt?.latestTurn?.clientRequestId===Ke.clientRequestId&&Os(gt?.latestTurn?.state),qe=gt?.activeTurn?.clientRequestId===Ke.clientRequestId&&Os(gt?.activeTurn?.state);if(_e||qe){const De=qe?gt?.activeTurn?.turnId??null:gt?.latestTurn?.turnId??Ke.acceptedTurnId??null,We=Ia(n);i5(We,{clientRequestId:Ke.clientRequestId,turnId:De,markIdle:!vt}),Aa(n,We),vt||z(le,ce,n.assistantIdRef.current);return}}if(vt)return;const bt=n.assistantIdRef.current;if(Lt&&!(Os(gt?.activeTurn?.state)||Os(gt?.activeTurnState)))return;Lt&&n.settledTurnIdsRef.current.add(Lt);const xe=Ke?.clientRequestId;if(xe){const _e=Ia(n);i5(_e,{clientRequestId:xe,turnId:Lt,markIdle:!0}),Aa(n,_e)}else A();z(le,ce,bt)}catch{}},oe=()=>ue||(ue=J().finally(()=>{ue=null}),ue),ie=()=>{document.visibilityState==="visible"&&oe()},we=()=>{oe()},Se=window.setInterval(()=>{oe()},15e3);let Re,Ze=0;const it=()=>{if(pe||Ze>=c5.length||!n.stopRequestedRef.current&&!n.stoppingTurnIdRef.current)return;const rt=c5[Ze++];Re=window.setTimeout(()=>{oe().finally(it)},rt)};return document.addEventListener("visibilitychange",ie),window.addEventListener("online",we),oe().finally(it),()=>{pe=!0,window.clearInterval(Se),Re!==void 0&&window.clearTimeout(Re),document.removeEventListener("visibilitychange",ie),window.removeEventListener("online",we)}},[t,n,a,E,R,z,A,X]),w.useEffect(()=>{if(!a)return;const Z=n.sessionGenerationRef.current;return D(a.sessionId,Z),()=>{const le=n.eventsStreamStateRef.current;le?.sessionId===a.sessionId&&le.generation===Z&&(n.reconnectAbortRef.current?.abort(),n.reconnectAbortRef.current=null,n.eventsStreamStateRef.current=null)}},[a,h,n,D]),{sendPrompt:O,handleStop:ge,cancelDeferredTurn:me,discardDeferredTurn:j,editDeferredTurn:U,steerDeferredTurn:ee,openEventsStream:G}}function JL(e){const{origin:t,refs:n,thread:a,setError:s}=e,{interview:o,setInterview:c}=a,[d,m]=w.useState(""),h=w.useCallback(async()=>{const x=n.sessionRef.current;if(!x)return;const y=window.prompt("Task ID(例如 2026-07-26-my-task)")?.trim();if(!y)return;const S=await fetch(`${t}/api/operator/v1/chat/sessions/${x.sessionId}/interviews`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:JSON.stringify({taskId:y})}),E=await S.json();if(!S.ok){s(E.error?.message??`HTTP ${S.status}`);return}c({interviewSessionId:E.interview?.sessionId,taskId:y,state:E.interview?.state,question:E.question,draft:E.draft?.draft,draftSha256:E.draft?.draftSha256,assessment:E.assessment})},[t,n,c,s]),p=w.useCallback(async x=>{const y=n.sessionRef.current;if(!y||!o?.interviewSessionId||!o.question)return;const S=await fetch(`${t}/api/operator/v1/chat/sessions/${y.sessionId}/interviews/${o.interviewSessionId}/answers`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:JSON.stringify({questionId:o.question.id,response:x,...x==="override"?{text:d}:{}})}),E=await S.json();if(!S.ok){s(E.error?.message??`HTTP ${S.status}`);return}c(R=>({...R??{},state:E.interview?.state,question:E.question,draft:E.draft?.draft,draftSha256:E.draft?.draftSha256,assessment:E.assessment,taskKindRecommendation:E.taskKindRecommendation??R?.taskKindRecommendation})),m("")},[t,n,o,d,c,s]),g=w.useCallback(async()=>{const x=n.sessionRef.current;if(!x||!o?.interviewSessionId||!o.taskKindRecommendation)return;const y=await fetch(`${t}/api/operator/v1/chat/sessions/${x.sessionId}/interviews/${o.interviewSessionId}/task-kind/confirm`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},credentials:"include",body:JSON.stringify({taskKind:o.taskKindRecommendation})}),S=await y.json();if(!y.ok){s(S.error?.message??`HTTP ${y.status}`);return}c(E=>({...E??{},confirmedTaskKind:E?.taskKindRecommendation,taskKindRecommendation:void 0,draft:S.draft?.draft,draftSha256:S.draft?.draftSha256,assessment:S.assessment}))},[t,n,o,c,s]);return{interviewAnswer:d,setInterviewAnswer:m,startInterview:h,answerInterview:p,confirmTaskKind:g}}const ez="/api/operator/v1/chat/repo/html/";function tz(e,t,n){const a=t?.trim(),s=n.replaceAll("\\","/").split("/").filter(Boolean);return!a||s.length===0?void 0:`${e.endsWith("/")?e.slice(0,-1):e}${ez}${encodeURIComponent(a)}/${s.map(encodeURIComponent).join("/")}`}function u5(e,t,n){const a=e.language.trim().toLowerCase();if(a!=="html"&&a!=="htm")return e;const s=tz(t,n,e.path);return s?{...e,htmlPreviewUrl:s}:e}function nz(e){const{origin:t,refs:n,sessionId:a,workspaceId:s,blocked:o,setError:c}=e,[d,m]=w.useState({}),[h,p]=w.useState(new Set),[g,x]=w.useState(null),[y,S]=w.useState([]),[E,R]=w.useState(null),[N,_]=w.useState(!1),I=w.useRef(s??null);I.current=s??null;const P=w.useRef(new Set),F=w.useRef(new Set);F.current=h;const M=s?`&workspaceId=${encodeURIComponent(s)}`:"",A=w.useCallback(async(V="")=>{if(o)return;const X=s??null;try{x(null);const W=await fetch(`${t}/api/operator/v1/chat/repo/tree?path=${encodeURIComponent(V)}${M}`,{credentials:"include"}),B=await W.json();if(I.current!==X)return;if(!W.ok)throw new Error(B.error?.message??"无法读取仓库目录");m(Y=>({...Y,[V]:B.data?.entries??[]}))}catch(W){if(I.current!==X)return;x(W instanceof Error?W.message:String(W))}},[t,M,s,o]);w.useEffect(()=>{A()},[A]);const[z,G]=w.useState(0),D=w.useCallback(()=>{G(V=>V+1)},[]);w.useEffect(()=>{const V=["",...F.current];for(const X of V)A(X)},[A,z]),w.useEffect(()=>{const V=()=>{document.hidden||D()};return document.addEventListener("visibilitychange",V),()=>document.removeEventListener("visibilitychange",V)},[D]);const K=w.useCallback(async V=>{if(o)return;const X=s??null;_(!0);try{const W=await fetch(`${t}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(V)}${M}`,{credentials:"include"}),B=await W.json();if(I.current!==X)return;if(!W.ok||!B.data)throw new Error(B.error?.message??"无法预览文件");const Y=u5(B.data,t,s);S(me=>{const j=[...me.filter(ee=>ee.path!==Y.path),Y],U=n.sessionRef.current?.sessionId;return U&&window.localStorage.setItem(`${di}.previews.${U}`,JSON.stringify(j.map(ee=>ee.path))),j}),R(Y.path)}catch(W){if(I.current!==X)return;c(W instanceof Error?W.message:String(W))}finally{I.current===X&&_(!1)}},[t,M,s,n,c,o]);w.useEffect(()=>{m({}),p(new Set),x(null),S([]),R(null),_(!1)},[s]),w.useEffect(()=>{if(o||E||y.length>0)return;const V=s??"__default__";if(P.current.has(V))return;const X=(d[""]??[]).filter(B=>B.kind==="file");if(X.length===0)return;const W=X.find(B=>/^readme(?:\.[^.]+)?$/i.test(B.name))??X[0];P.current.add(V),K(W.path)},[E,o,K,y.length,d,s]),w.useEffect(()=>{if(!a)return;let V=[];try{const X=JSON.parse(window.localStorage.getItem(`${di}.previews.${a}`)??"[]");Array.isArray(X)&&(V=X.filter(W=>typeof W=="string").slice(0,10))}catch{}V.length&&Promise.all(V.map(async X=>{const W=await fetch(`${t}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(X)}${M}`,{credentials:"include"});if(!W.ok)return;const B=(await W.json()).data;return B?u5(B,t,s):void 0})).then(X=>{if(n.sessionRef.current?.sessionId!==a)return;const W=X.filter(B=>!!B);S(W),R(W.at(-1)?.path??null)})},[t,M,a,n]);const q=w.useCallback(V=>{p(X=>{const W=new Set(X);return W.has(V)?W.delete(V):W.add(V),W}),d[V]||A(V)},[d,A]),Q=w.useCallback(V=>{S(X=>{const W=X.filter(B=>B.path!==V);return a&&window.localStorage.setItem(`${di}.previews.${a}`,JSON.stringify(W.map(B=>B.path))),W}),R(X=>X===V?y.find(W=>W.path!==V)?.path??null:X)},[y,a]);return{tree:d,expandedDirs:h,treeError:g,previews:y,activePreviewPath:E,setActivePreviewPath:R,previewLoading:N,setPreviews:S,loadTree:A,refreshTree:D,openPreview:K,closePreview:Q,toggleDir:q}}const np={status:"ok"};function rp(e){return e.status!=="ok"}const rz=["operator","web","extension","prompt","skill"];function az(e){const t=[];for(const n of rz){const a=[];for(let s=0;s<e.length;s+=1)e[s].source===n&&a.push({entry:e[s],globalIndex:s});a.length!==0&&t.push({source:n,label:WO[n],items:a})}return t}function iz(e,t){return!Number.isFinite(t)||t<=0||!Number.isFinite(e)||e<0?0:e>=t?t-1:e}function sz(e){return e==="comfortable"?3:e==="compact"?2:1}function d5(e,t,n,a){const s=t.findIndex(g=>g.items.some(x=>x.globalIndex===e));if(s<0)return e;const o=t[s],c=o.items.findIndex(g=>g.globalIndex===e);if(c<0)return e;const d=Math.floor(c/n),m=c%n;if(a==="left"||a==="right"){if(n<=1)return e;const x=c+(a==="left"?-1:1);return x<0||x>=o.items.length||Math.floor(x/n)!==d?e:o.items[x].globalIndex}const h=a==="up"?-1:1,p=c+h*n;if(p>=0&&p<o.items.length)return o.items[p].globalIndex;for(let g=s+h;g>=0&&g<t.length;g+=h){const x=t[g];if(x.items.length===0)continue;const y=Math.floor((x.items.length-1)/n)*n,S=a==="up"?y+m:m;return S>=x.items.length?e:x.items[S].globalIndex}return e}function oz(e,t,n){const a=(e.left+e.right)/2;let s=null;for(const o of t){if(o.globalIndex===e.globalIndex)continue;const c=n==="up"?e.top-o.bottom:o.top-e.bottom;if(c<0)continue;const d=(o.left+o.right)/2,m=Math.abs(d-a);(s===null||c<s.gap||c===s.gap&&m<s.dist||c===s.gap&&m===s.dist&&o.globalIndex<s.index)&&(s={gap:c,dist:m,index:o.globalIndex})}return s?.index??null}function lz(){return{entries:[],index:-1,draft:""}}function cz(e,t){return t.trim()?e.entries[e.entries.length-1]===t?e.index===-1?e:{...e,index:-1,draft:""}:{entries:[...e.entries,t].slice(-100),index:-1,draft:""}:e}function uz(e){return e.index===-1?e:{...e,index:-1}}function dz(e,t,n){const{text:a,caretStart:s,caretEnd:o}=n;if(e.entries.length===0)return{handled:!1};if(t==="up"){if(s!==0||o!==0)return{handled:!1};if(e.index===-1){const m=e.entries.length-1;return{handled:!0,state:{...e,index:m,draft:a},text:e.entries[m]}}if(e.index===0)return{handled:!0,state:e,text:e.entries[0]};const d=e.index-1;return{handled:!0,state:{...e,index:d},text:e.entries[d]}}if(e.index===-1)return{handled:!1};if(s!==a.length||o!==a.length)return{handled:!1};if(e.index>=e.entries.length-1)return{handled:!0,state:{...e,index:-1},text:e.draft};const c=e.index+1;return{handled:!0,state:{...e,index:c},text:e.entries[c]}}function fz(e){const{origin:t,sessionId:n,refs:a,setError:s,onUnrecoverableSession:o}=e,[c,d]=w.useState(""),[m,h]=w.useState([]),[p,g]=w.useState([]),[x,y]=w.useState(!1),S=w.useCallback(ue=>{if(typeof ue=="function"){d(J=>{const oe=ue(J);return y(oe.startsWith("/")),oe});return}d(ue),y(ue.startsWith("/"))},[]),[E,R]=w.useState(0),[N,_]=w.useState([]),[I,P]=w.useState({sddBingo:!1}),[F,M]=w.useState(!1),[A,z]=w.useState(null),[G,D]=w.useState(0),K=w.useRef(null),q=w.useRef(lz()),Q=w.useRef(n),V=w.useRef(0),X=w.useCallback(ue=>{S(ue),y(ue.startsWith("/")),R(0),q.current=uz(q.current)},[]),W=w.useCallback(ue=>{const J=K.current,oe=dz(q.current,ue,{text:c,caretStart:J?.selectionStart??c.length,caretEnd:J?.selectionEnd??c.length});if(!oe.handled)return!1;q.current=oe.state,S(oe.text);const ie=oe.text.length;return queueMicrotask(()=>{const we=K.current;we&&we.value===oe.text&&we.setSelectionRange(ie,ie)}),!0},[c,S]),B=w.useCallback(ue=>{q.current=cz(q.current,ue)},[]);w.useLayoutEffect(()=>{Q.current=n,V.current+=1,_([]),P({sddBingo:!1}),z(null),M(!1)},[n]);const Y=w.useCallback(async()=>{if(!n){_([]),z(null),M(!1);return}const ue=n,J=V.current;Q.current=ue,M(!0),z(null);const oe=()=>Q.current===ue&&V.current===J;try{const ie=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(ue)}/commands`,{credentials:"include"});if(!oe())return;if(!ie.ok){z("动态命令加载失败"),_([]);return}const we=await ie.json().catch(()=>null),Se=[];for(const Ze of we?.commands??[]){const it=Ze.source;if(it!=="extension"&&it!=="prompt"&&it!=="skill")continue;const rt=String(Ze.command??Ze.name??"").trim();rt&&Se.push({command:rt.startsWith("/")?rt:`/${rt}`,label:String(Ze.label??Ze.name??rt),description:String(Ze.description??""),source:it})}if(!oe())return;_(Se),P({sddBingo:we?.capabilities?.sddBingo===!0});const Re=typeof we?.warning=="string"?we.warning.trim():"";z(Re?Re.slice(0,160):null)}catch{if(!oe())return;z("动态命令加载失败"),_([]),P({sddBingo:!1})}finally{oe()&&M(!1)}},[t,n]);w.useEffect(()=>{n&&(!x&&G===0||Y())},[n,x,G,Y]);const me=w.useCallback(()=>{D(ue=>ue+1),Y()},[Y]);w.useEffect(()=>{if(!n)return;const ue=c.slice(0,K.current?.selectionStart??c.length).match(/(?:^|\s)@([^\s@]*)$/);if(!ue){h([]);return}const J=window.setTimeout(()=>{fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(n)}/files?q=${encodeURIComponent(ue[1]??"")}`).then(oe=>oe.ok?oe.json():null).then(oe=>h((oe?.files??[]).map(ie=>ie.path)))},150);return()=>window.clearTimeout(J)},[t,n,c]);const j=w.useCallback(ue=>{const J=K.current?.selectionStart??c.length,ie=c.slice(0,J).search(/@[^\s@]*$/);ie<0||(S(`${c.slice(0,ie)}@${ue} ${c.slice(J)}`),h([]))},[c]),U=w.useCallback(ue=>{for(const J of Array.from(ue).slice(0,4)){if(!J.type.startsWith("image/")||J.size>5*1024*1024){s("图片仅支持 PNG/JPEG/GIF/WebP,单张不超过 5 MiB");continue}const oe=new FileReader;oe.onload=()=>{const ie=String(oe.result??""),we=ie.slice(ie.indexOf(",")+1);g(Se=>[...Se,{name:J.name,type:"image",mimeType:J.type,data:we}].slice(0,4))},oe.readAsDataURL(J)}},[s]),ee=w.useCallback(ue=>{g(J=>J.filter(oe=>oe!==ue))},[]);w.useLayoutEffect(()=>{const ue=K.current;ue&&(ue.style.height="auto",ue.style.height=`${Math.min(ue.scrollHeight,280)}px`)},[c]),w.useEffect(()=>{if(!n)return;const ue=window.setTimeout(()=>{fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(n)}/draft`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Nn()},body:JSON.stringify({text:c})})},400);return()=>window.clearTimeout(ue)},[t,n,c]);const O=w.useMemo(()=>VO(N,I),[N,I]),ge=w.useMemo(()=>c.startsWith("/")?KO(O,c):[],[c,O]);w.useEffect(()=>{R(ue=>iz(ue,ge.length))},[ge.length]);const Z=w.useCallback(()=>{a.isComposingRef.current=!0},[a]),le=w.useCallback(()=>{a.isComposingRef.current=!1,a.compositionEndedAtRef.current=Date.now()},[a]),ce=w.useCallback(()=>a.isComposingRef.current,[a]),pe=w.useCallback(()=>Date.now()-a.compositionEndedAtRef.current<100,[a]);return w.useEffect(()=>{cS({origin:t,sessionId:n,refs:a,onUnrecoverableSession:o})},[t,n,a,o]),{input:c,setInput:S,handleInputChange:X,navigateHistory:W,recordHistory:B,fileOptions:m,pendingImages:p,setPendingImages:g,addImagesFromFiles:U,removeImage:ee,shortcutOpen:x,setShortcutOpen:y,shortcutIndex:E,setShortcutIndex:R,filteredShortcuts:ge,dynamicCommandsLoading:F,dynamicCommandsError:A,retryDynamicCommands:me,insertFileReference:j,textareaRef:K,onCompositionStart:Z,onCompositionEnd:le,isComposingNow:ce,recentlyComposedNow:pe}}const f5=[{toolId:"read",kind:"explore",description:"Pi 内置读取文件。"},{toolId:"write",kind:"explore",description:"Pi 内置写入文件(软约束:大改优先走 DAG)。"},{toolId:"edit",kind:"explore",description:"Pi 内置编辑文件(软约束:大改优先走 DAG)。"},{toolId:"bash",kind:"explore",description:"Pi 内置 shell 执行(软约束:优先受治路径)。"},{toolId:"grep",kind:"explore",description:"Pi 内置内容搜索。"},{toolId:"find",kind:"explore",description:"按名称查找文件路径。"},{toolId:"ls",kind:"explore",description:"列出目录内容。"},{toolId:"safe-read",kind:"explore",description:"安全读取仓库相对路径文件;拒绝敏感文件并自动脱敏 secret。"},{toolId:"safe-grep",kind:"explore",description:"安全搜索仓库内容;跳过敏感文件并自动脱敏搜索结果。"},{toolId:"git-status",kind:"explore",description:"固定参数执行 git status --porcelain(无 shell)。"},{toolId:"git-diff",kind:"explore",description:"固定参数查看 git diff;敏感路径不可查看且结果自动脱敏。"}],mz={toolId:"Agent",kind:"explore",description:"启动内置只读 Explore 子 Agent,执行代码库搜索、符号查找和调用链追踪。"};function hz(e){if(!e)return null;const t=(e.tools??[]).map(o=>({toolId:o.toolId,action:o.action,description:o.description,kind:o.kind??"read",cli:o.cli})),n=(e.builtinSubagents??[]).map(o=>({toolId:o.toolId,description:o.description,kind:"explore"})),s=[...n.length>0?f5:[...f5,mz],...n];return{explore:s,operator:t,total:s.length+t.length}}let pz=0;function gz(e){const{origin:t,session:n,setSession:a,refs:s,setError:o,onUnrecoverableSession:c}=e,[d,m]=w.useState(null),[h,p]=w.useState([]),[g,x]=w.useState("idle"),[y,S]=w.useState(null),[E,R]=w.useState([]),[N,_]=w.useState(null),[I,P]=w.useState(null),[F,M]=w.useState(!1),[A,z]=w.useState(!1),[G,D]=w.useState(!1),[K,q]=w.useState(!1),Q=w.useRef(null),V=w.useRef(null),X=w.useRef(0);w.useEffect(()=>{X.current=-1,z(!1)},[n?.sessionId,z]);const B=lc().snapshot,Y=w.useCallback(async()=>{try{const ue=n?.workspaceId??e.workspaceId??void 0,J=ue?`?workspaceId=${encodeURIComponent(ue)}`:"",oe=await fetch(`${t}/api/operator/v1/chat/capabilities${J}`);if(!oe.ok)return;const ie=await oe.json();m(ie)}catch{}},[t,n?.workspaceId,e.workspaceId]);w.useEffect(()=>{Y()},[Y]);const me=w.useCallback(async()=>{if(!n){p([]),x("idle");return}const ue=n.sessionId;x("loading"),S(null);try{const J=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(ue)}/models`,{credentials:"include"}),oe=await J.json().catch(()=>null);if(s.sessionRef.current?.sessionId!==ue)return;if(!J.ok||!oe){const ie=oe?.error;if(gd({status:J.status,code:ie?.code,message:ie?.message})){x("idle"),S(null),c?.(ue);return}x("error"),S(ie?.message??`模型列表读取失败(HTTP ${J.status})`);return}p(oe.models??[]),R(oe.thinkingLevels??[]),x("ready")}catch(J){if(s.sessionRef.current?.sessionId!==ue)return;x("error"),S(J instanceof Error?J.message:String(J))}},[t,n,s,c]);w.useEffect(()=>{me()},[me]),w.useEffect(()=>{if(!n){_(null),P(null),M(!1);return}const ue=n.sessionId,J=`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(ue)}`;P(null),_(oe=>oe),M(!0),fetch(`${J}/runtime-context`,{credentials:"include"}).then(async oe=>{const ie=await oe.json().catch(()=>null);if(s.sessionRef.current?.sessionId!==ue)return;if(!ie?.context){if(!oe.ok&&gd({status:oe.status,code:ie?.error?.code,message:ie?.error?.message})){M(!1),c?.(ue);return}oe.ok||P("注入上下文读取失败,请重试");return}const we=ie.context,Se=fS().snapshot;_(Re=>iS(Re,we,Se,ue))}).finally(()=>{s.sessionRef.current?.sessionId===ue&&M(!1)}).catch(()=>{s.sessionRef.current?.sessionId===ue&&P("注入上下文读取失败,请重试")})},[t,n?.sessionId,s,c]),w.useEffect(()=>{if(!B||!n||B.sessionId!==n.sessionId)return;const ue=Y5(B);a(J=>{if(!J||J.sessionId!==B.sessionId||lj(J,ue))return J;const oe=z7(J,ue);return s.sessionRef.current=oe,oe}),_(J=>{if(!J)return J;const oe={...J,...ue.model?{model:ue.model}:{},...ue.thinkingLevel?{thinkingLevel:ue.thinkingLevel}:{}};return oe.model?.provider===J.model?.provider&&oe.model?.modelId===J.model?.modelId&&oe.thinkingLevel===J.thinkingLevel?J:oe})},[B,n?.sessionId,s,a,_]);const j=w.useCallback(async ue=>{if(!n)return!1;const J=n.sessionId,oe=++pz;X.current=oe,Q5({type:"mutation-start",token:oe}),z(!0);try{const ie=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(n.sessionId)}/model`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Nn()},body:JSON.stringify(ue)}),we=await ie.json().catch(()=>({}));return X.current!==oe?!1:ie.ok?!we.session||s.sessionRef.current?.sessionId!==J?!1:uS(oe,J,we.snapshot):(s.sessionRef.current?.sessionId===J&&(o(we.error?.message??`模型或思考等级切换失败(HTTP ${ie.status})`),mp()),!1)}catch(ie){return X.current!==oe||s.sessionRef.current?.sessionId===J&&o(ie instanceof Error?ie.message:String(ie)),!1}finally{dS(oe,J,s)&&X.current===oe&&z(!1)}},[t,n,s,a,o]);w.useEffect(()=>{if(!G)return;const ue=oe=>{const ie=Q.current;ie&&oe.target instanceof Node&&!ie.contains(oe.target)&&D(!1)},J=oe=>{oe.key==="Escape"&&D(!1)};return document.addEventListener("mousedown",ue),document.addEventListener("keydown",J),()=>{document.removeEventListener("mousedown",ue),document.removeEventListener("keydown",J)}},[G]),w.useEffect(()=>{if(!K)return;const ue=oe=>{const ie=V.current;ie&&oe.target instanceof Node&&!ie.contains(oe.target)&&q(!1)},J=oe=>{oe.key==="Escape"&&q(!1)};return document.addEventListener("mousedown",ue),document.addEventListener("keydown",J),()=>{document.removeEventListener("mousedown",ue),document.removeEventListener("keydown",J)}},[K]);const U=w.useMemo(()=>hz(d),[d]),ee=B?(B.models??[]).map(ue=>({provider:ue.provider,id:ue.id,...ue.name?{name:ue.name}:{},...ue.hasCredentials!==void 0?{hasCredentials:ue.hasCredentials}:{}})):h,O=B?.thinkingLevels?.length?B.thinkingLevels.map(ue=>ue.value):E,ge=n?.model??N?.model,Z=ge?Bs(ge.provider,ge.modelId):"",le=B?.selection?.thinkingSelection??n?.thinkingLevel??"",ce=B?.selection?.effectiveThinkingLevel??n?.thinkingLevel??void 0,pe=!Z||ee.some(ue=>Bs(ue.provider,ue.id)===Z);return{capabilities:d,models:ee,modelsStatus:g,modelsError:y,onRetryModels:()=>{me()},thinkingLevels:O,runtimeContext:N,runtimeContextError:I,runtimeContextLoading:F,onRetryRuntimeContext:()=>{P(null),mp()},toolsOpen:G,setToolsOpen:D,runtimeContextOpen:K,setRuntimeContextOpen:q,toolsMenuRef:Q,runtimeContextMenuRef:V,switchRuntime:j,switching:A,toolCatalog:U,activeModel:ge,activeModelRef:Z,activeThinkingLevel:le,effectiveThinkingLevel:ce,activeModelListed:pe}}const m5={comfortableMin:1200,compactMin:720};function vz(e){return!Number.isFinite(e)||e<0?"narrow":e>=m5.comfortableMin?"comfortable":e>=m5.compactMin?"compact":"narrow"}const bz={mode:"comfortable",width:1600,landingDensity:"comfortable",emptyHeight:720};function yz(e,t){const[n,a]=w.useState(bz);return w.useEffect(()=>{const s=e.current;if(!s||typeof ResizeObserver>"u")return;const o=()=>{const p=s.getBoundingClientRect().width,g=t?.current??null,x=g?g.getBoundingClientRect().height:720;a({mode:vz(p),width:p,landingDensity:TD(x),emptyHeight:x})};o();const c=new ResizeObserver(()=>o());c.observe(s);let d=null;const m=()=>{const p=t?.current??null;p&&p!==d&&(d&&c.unobserve(d),c.observe(p),d=p,o())};m();const h=window.setInterval(m,250);return()=>{window.clearInterval(h),c.disconnect()}},[e,t]),n}const t1="loop-console.operator-shell.active-workspace.v1";function xz(e){try{return e?.getItem(t1)?.trim()||null}catch{return null}}function Ku(e,t){try{e?t?.setItem(t1,e):t?.removeItem(t1)}catch{}}function wz(e,t){return t?e.some(n=>n.workspaceId===t)?{status:"ok",workspaceId:t}:{status:"ok",workspaceId:e[0]?.workspaceId??null}:{status:"ok",workspaceId:e[0]?.workspaceId??null}}function kz(e,t,n){return e===409||t==="DUPLICATE"?n||"该目录(或等价路径)已存在为 Workspace:请直接选择既有条目,或更换其他真实目录。":e===400||t==="INVALID_PATH"?n||"目录不可用:请确认输入的是存在的真实目录绝对路径。":No(t)?Ro(t):n||`添加 Workspace 失败(HTTP ${e})`}function Sz(e={}){const t=e.origin??"",n=e.fetchFn??fetch,a=e.storage,s=e.confirmationTokenFn??Nn,o=new Set;let c=0,d=!1,m=null,h,p=!1,g={workspaces:[],loading:!0,error:null,workspaceId:xz(a),unknownWorkspaceId:null};const x=()=>{for(const A of o)A()},y=A=>{g={...g,...A},x()},S=()=>(d=!0,m||(m=(async()=>{for(;d&&!p;){d=!1;try{const A=await n(`${t}/api/operator/v1/workspaces`,{credentials:"include"});if(!A.ok)continue;const z=await A.json(),G=Number.isSafeInteger(z.revision)?Math.max(0,z.revision??0):void 0;if(G!==void 0&&G<c)continue;G!==void 0&&(c=G);const D=z.workspaces??[],K=wz(D,g.workspaceId);if(K.status==="unknown-workspace"){y({workspaces:D,unknownWorkspaceId:K.workspaceId});continue}const q=K.workspaceId,Q=g.workspaceId;y({workspaces:D,unknownWorkspaceId:null,...q!==Q?{workspaceId:q}:{}}),q!==Q&&Ku(q,a)}catch{}finally{g.loading&&y({loading:!1})}}})().finally(()=>{m=null,d&&!p&&S()}),m)),E=A=>{try{const z=Number(JSON.parse(A.data).revision);Number.isSafeInteger(z)&&z>c&&S()}catch{}},R=()=>{if(h||p)return;const A=e.eventSourceFactory??(typeof EventSource<"u"?z=>new EventSource(z,{withCredentials:!0}):void 0);A&&(h=A(`${t}/api/operator/v1/workspaces/events`),h.addEventListener("workspace_registry_ready",E),h.addEventListener("workspace_registry_changed",E))},N=async(A,z)=>{y({error:null});try{const G=await n(`${t}/api/operator/v1/workspaces`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","x-loop-console-confirmation":s()},body:JSON.stringify({directoryPath:A,...z?{name:z}:{}})}),D=await G.json().catch(()=>({}));if(!G.ok||!D.workspace){const K=kz(G.status,D.error?.code,D.error?.message);return y({error:K}),{ok:!1,error:K}}return await S(),y({workspaceId:D.workspace.workspaceId}),Ku(D.workspace.workspaceId,a),{ok:!0,workspaceId:D.workspace.workspaceId}}catch(G){const K=`添加 Workspace 失败:${G instanceof Error?G.message:String(G)}`;return y({error:K}),{ok:!1,error:K}}},_=async()=>{y({error:null});try{const A=await n(`${t}/api/operator/v1/workspaces/pick`,{method:"POST",credentials:"include",headers:{"x-loop-console-confirmation":s()}}),z=await A.json().catch(()=>({}));if(!A.ok){const G=No(z.error?.code)?Ro(z.error?.code??""):z.error?.message??`打开目录选择窗口失败(HTTP ${A.status})`;return y({error:G}),null}return typeof z.directoryPath=="string"&&z.directoryPath.trim()?z.directoryPath:null}catch(A){const z=A instanceof Error?A.message:String(A);return y({error:`打开目录选择窗口失败:${z}`}),null}},I=async A=>{y({error:null});try{const z=await n(`${t}/api/operator/v1/workspaces/${encodeURIComponent(A)}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":s()}}),G=await z.json().catch(()=>({}));if(!z.ok){const D=z.status===404?"Workspace 已不存在(可能已被移除),列表将刷新。":No(G.error?.code)?Ro(G.error?.code??""):G.error?.message??`移除 Workspace 失败(HTTP ${z.status})`;return y({error:D}),await S(),{ok:!1,error:D}}if(await S(),g.workspaceId===A){const D=g.workspaces[0]?.workspaceId??null;y({workspaceId:D}),Ku(D,a)}return{ok:!0}}catch(z){const D=`移除 Workspace 失败:${z instanceof Error?z.message:String(z)}`;return y({error:D}),{ok:!1,error:D}}},P=async(A,z)=>{const G=g.workspaces,D=G.find(V=>V.workspaceId===A),K=z?G.find(V=>V.workspaceId===z):void 0;if(!D||z&&!K)return{ok:!1,error:"工作区顺序已变化,请稍后重试。"};const q=G.filter(V=>V.workspaceId!==A),Q=z?q.findIndex(V=>V.workspaceId===z):q.length;if(q.splice(Q,0,D),q.every((V,X)=>V.workspaceId===G[X]?.workspaceId))return{ok:!0};y({workspaces:q,error:null});try{const V=await n(`${t}/api/operator/v1/workspaces/${encodeURIComponent(A)}`,{method:"PATCH",credentials:"include",headers:{"Content-Type":"application/json","x-loop-console-confirmation":s()},body:JSON.stringify({beforeWorkspaceId:z})}),X=await V.json().catch(()=>({}));if(!V.ok){const W=No(X.error?.code)?Ro(X.error?.code??""):X.error?.message??`调整 Workspace 顺序失败(HTTP ${V.status})`;return y({workspaces:G,error:W}),S(),{ok:!1,error:W}}return{ok:!0}}catch(V){const X=`调整 Workspace 顺序失败:${V instanceof Error?V.message:String(V)}`;return y({workspaces:G,error:X}),S(),{ok:!1,error:X}}},F=A=>{A===g.workspaceId&&!g.unknownWorkspaceId||(y({workspaceId:A,unknownWorkspaceId:null}),Ku(A,a))},M=()=>{p||(p=!0,h?.close(),h=void 0,o.clear())};return S(),{get workspaces(){return g.workspaces},get loading(){return g.loading},get error(){return g.error},get workspaceId(){return g.workspaceId},get unknownWorkspaceId(){return g.unknownWorkspaceId},refresh:S,pickWorkspaceDirectory:_,addWorkspace:N,removeWorkspace:I,reorderWorkspace:P,selectWorkspace:F,dispose:M,subscribe(A){return o.add(A),R(),()=>{o.delete(A),o.size===0&&(h?.close(),h=void 0)}}}}function Ez(e){const t=w.useRef(null);t.current||(t.current=Sz(e));const n=t.current,[a,s]=w.useState(()=>({workspaces:n.workspaces,loading:n.loading,error:n.error,workspaceId:n.workspaceId,unknownWorkspaceId:n.unknownWorkspaceId}));return w.useEffect(()=>n.subscribe(()=>{s({workspaces:n.workspaces,loading:n.loading,error:n.error,workspaceId:n.workspaceId,unknownWorkspaceId:n.unknownWorkspaceId})}),[n]),w.useMemo(()=>({get workspaces(){return a.workspaces},get loading(){return a.loading},get error(){return a.error},get workspaceId(){return a.workspaceId},get unknownWorkspaceId(){return a.unknownWorkspaceId},refresh:n.refresh,pickWorkspaceDirectory:n.pickWorkspaceDirectory,addWorkspace:n.addWorkspace,removeWorkspace:n.removeWorkspace,reorderWorkspace:n.reorderWorkspace,selectWorkspace:n.selectWorkspace,dispose:n.dispose}),[a,n])}function Tz(e="none"){return{active:e}}function ql(e,t){return{active:t}}function la(e={active:"none"}){return{active:"none"}}function Cz(e){return{sidebarDrawerOpen:e.active==="sidebar-drawer",processOpen:e.active==="process",runtimeContextOpen:e.active==="runtime-context",toolsOpen:e.active==="tools"}}const Nz=264,Rz=420,Gl=280,F7=360,As=160,G7=480,Iz=240,Az=120,h5="loop-agent:operator-chat:details-width:v1",ap="loop-agent:operator-chat:details-tree-width:v1";function _a(e,t,n){return Math.min(n,Math.max(t,Math.round(e)))}function Wu(){return typeof window>"u"?F7:Math.max(Gl,window.innerWidth)}function Ul(e){return Math.min(G7,Math.max(As,Math.round(e-Az)))}function p5(e,t,n,a){if(typeof window>"u")return t;try{const s=Number(window.localStorage.getItem(e));return Number.isFinite(s)&&s>0?_a(s,n,a):t}catch{return t}}function ip(e,t){try{window.localStorage.setItem(e,String(Math.round(t)))}catch{}}function Yu(e){const t=w.useRef(0),n=w.useRef(0),a=w.useRef(0),s=w.useRef(null),o=w.useRef(!1),c=w.useRef(null),d=w.useRef(e);d.current=e;const m=w.useCallback(()=>{s.current=null;const p=d.current,g=a.current-t.current,x=n.current+(p.side==="sidebar"?g:-g);return p.onResize(x),x},[]),h=w.useCallback((p,g,x)=>{if(!o.current)return;typeof x=="number"&&(a.current=x),o.current=!1,p&&g!==void 0&&p.hasPointerCapture(g)&&p.releasePointerCapture(g),s.current!==null&&(cancelAnimationFrame(s.current),s.current=null);const y=m(),S=p??c.current;S&&delete S.dataset.dragging,d.current.onResizeEnd?.(y),d.current.onDragChange(!1)},[m]);return w.useEffect(()=>{const p=y=>{o.current&&(a.current=y.clientX,s.current??=requestAnimationFrame(m))},g=y=>h(void 0,void 0,y.clientX),x=()=>h();return window.addEventListener("pointermove",p),window.addEventListener("pointerup",g),window.addEventListener("pointercancel",x),()=>{if(window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",g),window.removeEventListener("pointercancel",x),s.current!==null&&(cancelAnimationFrame(s.current),s.current=null),o.current){o.current=!1;const y=c.current;y&&delete y.dataset.dragging,d.current.onDragChange(!1)}}},[h,m]),u.jsx("div",{ref:c,className:"oc-column-resize-handle","data-side":e.side,role:"separator","aria-orientation":"vertical","aria-label":e.side==="sidebar"?"调整左侧栏宽度":e.side==="details-tree"?"调整文件树宽度":"调整右侧栏宽度",onPointerDown:p=>{p.preventDefault(),p.currentTarget.setPointerCapture(p.pointerId),p.currentTarget.dataset.dragging="true",o.current=!0,t.current=p.clientX,a.current=p.clientX,n.current=d.current.value,d.current.onDragChange(!0)},onPointerMove:p=>{p.currentTarget.hasPointerCapture(p.pointerId)&&(a.current=p.clientX,s.current??=requestAnimationFrame(m))},onPointerUp:p=>h(p.currentTarget,p.pointerId,p.clientX),onPointerCancel:p=>h(p.currentTarget,p.pointerId),onLostPointerCapture:p=>h(p.currentTarget)})}function _z(e){const{origin:t,surface:n="standalone"}=e,a=n==="workspace",s=Zj(),[o,c]=w.useState(null),[d,m]=w.useState(!1),[h,p]=w.useState(!1),[g,x]=w.useState(null),[y,S]=w.useState(!0),[E,R]=w.useState(!1),[N,_]=w.useState("files"),[I,P]=w.useState(null),[F,M]=w.useState(!1),[A,z]=w.useState(!1),[G,D]=w.useState(!1),[K,q]=w.useState(!1),[Q,V]=w.useState(280),[X,W]=w.useState(()=>p5(h5,F7,Gl,Wu())),[B,Y]=w.useState(()=>p5(ap,Iz,As,G7)),[me,j]=w.useState(!1);w.useEffect(()=>{let te=null;const Ce=()=>{te=null,W(Ft=>_a(Ft,Gl,Wu()))},Ue=()=>{te??=window.requestAnimationFrame(Ce)};return window.addEventListener("resize",Ue),()=>{window.removeEventListener("resize",Ue),te!==null&&window.cancelAnimationFrame(te)}},[]);const U=w.useRef(!0),[ee,O]=w.useState(!0),ge=w.useCallback(te=>{const Ce=typeof te=="function"?te(U.current):te;U.current=Ce,O(Ce)},[]),[Z,le]=w.useState(()=>Tz()),[ce,pe]=w.useState(null),[ue,J]=w.useState(null),[oe,ie]=w.useState(0),we=w.useRef(null),Se=w.useRef(null),Re=w.useRef(null),Ze=w.useRef(null),it=w.useRef(null),rt=w.useRef(null),Pt=w.useRef(null),gt=w.useRef(()=>{}),Dt=w.useRef(null),Lt=w.useRef(!1),vt=yz(Re,Ze),Ke=vt.mode,bt=e.workspaceRegistry,[xe,_e]=w.useState(null),qe=Cz(Z),De=qe.processOpen,We=qe.runtimeContextOpen,Tt=E&&N==="activity";w.useEffect(()=>{R(!1),_("files"),M(!1),z(!1),D(!1),q(!1),le(te=>te.active==="process"||te.active==="runtime-context"?la(te):te)},[g?.sessionId,e.workspaceId]);const Wt=w.useCallback(te=>{le(Ce=>{const Ue=Ce.active==="process";return(typeof te=="function"?te(Ue):te)?(_("calls"),z(!0),R(!0),ql(Ce,"process")):(Ue&&(z(!1),_("files"),R(!1)),Ce.active==="process"?la(Ce):Ce)})},[]),Qt=w.useRef(()=>{}),At=w.useCallback(te=>{Qt.current(te)},[]),Pe=fz({origin:t,sessionId:g?.sessionId,refs:s,setError:c,onUnrecoverableSession:At}),Oe=w.useMemo(()=>az(Pe.filteredShortcuts),[Pe.filteredShortcuts]),Ye=nz({origin:t,refs:s,sessionId:g?.sessionId,workspaceId:g?.workspaceId??e.workspaceId,blocked:rp(e.workspaceGate??np),setError:c}),Je=w.useRef(()=>{}),Qe=w.useCallback(te=>{Je.current(te)},[]),ve=xL({origin:t,refs:s,sessionId:g?.sessionId,workspaceId:e.workspaceId??null,setError:c,onReconcile:Qe}),st=w.useCallback(async()=>{const te=Se.current,Ce=te?.scrollHeight??0,Ue=te?.scrollTop??0;await ve.loadEarlierMessages(),te&&window.requestAnimationFrame(()=>{te.scrollTop=Ue+(te.scrollHeight-Ce)})},[ve.loadEarlierMessages]),Fe=w.useCallback(async(te,Ce)=>{const Ue=s.sessionRef.current;if(!Ue)return c("请先创建或打开一个会话"),!1;p(!0);try{const Ft=Ue.workspaceId?`?workspaceId=${encodeURIComponent(Ue.workspaceId)}`:"",Xt=await fetch(`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(Ue.sessionId)}/goal${Ft}`,{method:te,credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Nn()},body:JSON.stringify(Ce)}),yt=await Xt.json();if(!Xt.ok)throw yt.goal&&ve.setGoal(yt.goal),new Error(yt.error?.message??"目标更新失败");return ve.setGoal(yt.goal??null),c(null),!0}catch(Ft){return c(Ft instanceof Error?Ft.message:String(Ft)),!1}finally{p(!1)}},[t,s,ve.goal,ve.setGoal]),mt=w.useCallback(async te=>{const Ce=ve.goal?.phase==="complete"?null:ve.goal,Ue=te.trim();return Ue?Ce?Fe("PATCH",{goalId:Ce.goalId,revision:Ce.revision,action:"edit",objective:Ue}):Fe("POST",{objective:Ue}):!1},[ve.goal,Fe]);Je.current=te=>{const Ce=s.sessionRef.current?.sessionId;Ce&&(async()=>await ve.recoverSession(Ce)?(J({id:Date.now(),message:"已自动恢复:会话事件已重新同步,可继续对话。"}),ie(Ft=>Ft+1)):J({id:Date.now(),message:"自动恢复未完成,将在重连时重试。"}))()};const ne=ve.operationCards.length+ve.humanGateCards.length+ve.artifactCards.length,Ee=w.useMemo(()=>SD(ve.operationCards),[ve.operationCards]),je=I??Ee,ct=w.useCallback(te=>ED(ve.operationCards,te),[ve.operationCards]),ht=w.useMemo(()=>{if(!je)return null;for(const te of ve.operationCards){if(te.dagRunId!==je||!te.runSummary)continue;const Ce=te.runSummary,Ue=Ce.next&&Ce.nodes.every(Ft=>Ft.id!==Ce.next?.kind)?Ce.nodes.find(Ft=>!["succeeded","completed","passed"].includes(Ft.status))?.id:void 0;return{dagRunId:je,currentNodeId:Ue,nodes:Ce.nodes,status:Ce.status}}return{dagRunId:je,nodes:[]}},[je,ve.operationCards]),Bt=w.useMemo(()=>_7(ve.operationCards).length+ve.humanGateCards.length+ve.artifactCards.length,[ve.operationCards,ve.humanGateCards.length,ve.artifactCards.length]),nt=w.useMemo(()=>oD({operations:ve.operationCards,gates:ve.humanGateCards,artifacts:ve.artifactCards}),[ve.operationCards,ve.humanGateCards,ve.artifactCards]),et=w.useCallback(te=>nt.has(te),[nt]);w.useEffect(()=>{Ke==="comfortable"&&Z.active==="sidebar-drawer"&&le(Ce=>Ce.active===Z.active?la(Ce):Ce)},[Ke,Z.active]),w.useEffect(()=>{pe(null),P(null)},[g?.sessionId]),w.useEffect(()=>{ne>0||!G||(D(!1),pe(null),_(te=>te==="activity"?"files":te))},[ne,G]);const wt=w.useCallback(te=>{const Ce=Se.current;if(!Ce)return;const Ft=Array.from(Ce.querySelectorAll("[data-activity-ref]")).find(Xt=>te.includes(Xt.dataset.activityRef??""));if(!Ft){J({id:Date.now(),message:"详细运行记录暂时没有对应的对话位置。"});return}Ft.scrollIntoView({block:"center",behavior:"smooth"}),Ft.classList.add("is-located"),window.setTimeout(()=>Ft.classList.remove("is-located"),1400)},[]),St=AL({origin:t,refs:s,setSession:x,thread:ve,composer:{setInput:Pe.setInput,setPendingImages:Pe.setPendingImages},browser:{setPreviews:Ye.setPreviews,setActivePreviewPath:Ye.setActivePreviewPath},setError:c,setNotice:J,onCompactionChange:m,setProcessOpen:Wt,setAutoScroll:ge,workspaceId:e.workspaceId??void 0,blocked:rp(e.workspaceGate??np)});Qt.current=St.forgetLostSession;const dn=w.useRef(null);w.useEffect(()=>{const te=e.requestedSessionId?.trim();if(!te||rp(e.workspaceGate??np)||g?.sessionId===te)return;const Ce=`${e.workspaceId??""}:${te}`;if(dn.current===Ce)return;dn.current=Ce;const Ue=St.sessionList.find(Ft=>Ft.sessionId===te)?.workspaceId;St.activateSession(te,Ue)},[e.requestedSessionId,e.workspaceGate,e.workspaceId,g?.sessionId,St.activateSession]);const ma=QL({origin:t,refs:s,session:g,thread:ve,composer:{setInput:Pe.setInput,setPendingImages:Pe.setPendingImages,recordHistory:Pe.recordHistory},setError:c,setNotice:J,setAutoScroll:ge,recoveryVersion:oe,watchSessionTitle:St.watchSessionTitle}),Br=JL({origin:t,refs:s,thread:ve,setError:c}),qt=gz({origin:t,session:g,setSession:x,refs:s,setError:c,workspaceId:e.workspaceId,onUnrecoverableSession:At});w.useEffect(()=>{if(ve.streaming){St.refreshSessionList();return}Ye.refreshTree();const te=window.setTimeout(()=>{St.refreshSessionList()},1200);return()=>window.clearTimeout(te)},[ve.streaming,ve.turnPhase,ve.deferredTurn?.revision,ve.deferredTurn?.state,St.refreshSessionList,Ye.refreshTree]),w.useEffect(()=>{qt.runtimeContextOpen&&Z.active!=="runtime-context"?le(te=>ql(te,"runtime-context")):!qt.runtimeContextOpen&&Z.active==="runtime-context"&&le(te=>la(te))},[qt.runtimeContextOpen,Z.active]),w.useEffect(()=>{Z.active!=="runtime-context"&&qt.runtimeContextOpen&&qt.setRuntimeContextOpen(!1)},[Z.active]),w.useEffect(()=>{ve.streaming&&Z.active==="process"&&le(la)},[ve.streaming,Z.active]);const{sendPrompt:hr,handleStop:Sn,discardDeferredTurn:Qn,editDeferredTurn:wa,steerDeferredTurn:ss}=ma,xi=w.useRef(()=>{}),Tr=w.useCallback(async te=>{const Ce=j3(te);if(Ce&&Ce.action!=="unknown"&&Ce.action!=="pi-prompt"){if(s.streamingRef.current){J({id:Date.now(),message:"当前回合进行中,命令请在回合结束后执行"});return}xi.current(te);return}await hr(te,Pe.pendingImages)},[hr,Pe.pendingImages,s]);gt.current=te=>{Tr(te)};const Ha=w.useCallback(()=>{Pe.textareaRef.current?.focus()},[Pe.textareaRef]),nr=w.useCallback(()=>{le(te=>te.active==="sidebar-drawer"?la(te):te)},[]),rr=w.useCallback(te=>{if(_(te),R(!0),te==="context"){M(!0),qt.setRuntimeContextOpen(!0),le(Ce=>ql(Ce,"runtime-context"));return}if(te==="calls"){z(!0),qt.setRuntimeContextOpen(!1),le(Ce=>ql(Ce,"process"));return}qt.setRuntimeContextOpen(!1),le(Ce=>Ce.active==="process"||Ce.active==="runtime-context"?la(Ce):Ce)},[qt.setRuntimeContextOpen]),qn=w.useCallback(()=>{q(!0),rr("goal")},[rr]),ha=w.useCallback((te,Ce)=>{P(Ce),rr("dag")},[rr]),pr=w.useCallback(te=>{te==="context"?(M(!1),qt.setRuntimeContextOpen(!1),le(Ce=>Ce.active==="runtime-context"?la(Ce):Ce)):te==="calls"?(z(!1),le(Ce=>Ce.active==="process"?la(Ce):Ce)):te==="activity"?(D(!1),pe(null)):q(!1),N===te&&_("files")},[N,qt.setRuntimeContextOpen]),ka=w.useCallback(async te=>{const Ce=await mt(te);return Ce&&pr("goal"),Ce},[pr,mt]),gn=w.useCallback(te=>{if(E&&N===te){R(!1),te==="context"&&qt.setRuntimeContextOpen(!1),te==="calls"&&le(Ce=>Ce.active==="process"?la(Ce):Ce);return}rr(te)},[pr,E,N,rr]),os=w.useCallback(te=>{if(E&&N==="activity"&&(!te||te===ce)){R(!1);return}pe(te??null),D(!0),rr("activity")},[ce,E,N,rr]),pa=w.useCallback(()=>{qt.setRuntimeContextOpen(!1),le(te=>ql(te,"sidebar-drawer"))},[qt.setRuntimeContextOpen]),qr=w.useCallback((te,Ce)=>{const Ue=e.workspaceId??bt.workspaceId;if(Ce&&Ce!==Ue&&(e.onSwitchWorkspace?e.onSwitchWorkspace(Ce):bt.selectWorkspace(Ce),e.onNavigateWorkspace)){e.onNavigateWorkspace("chat",{workspaceId:Ce,sessionId:te});return}St.activateSession(te,Ce),e.onNavigateWorkspace?.("chat",{...Ce?{workspaceId:Ce}:{},sessionId:te})},[St,e.onNavigateWorkspace,e.onSwitchWorkspace,e.workspaceId,bt]),ze=w.useCallback((te,Ce)=>{qr(te,Ce),nr(),queueMicrotask(()=>{Se.current?.focus?.(),Ha()})},[qr,nr,Ha]),dt=w.useCallback(te=>{Pe.setInput(Ce=>`${Ce}${Ce&&!Ce.endsWith(" ")?" ":""}@${te} `),nr(),queueMicrotask(()=>Ha())},[Pe,nr,Ha]),jt=w.useCallback(te=>{_("files"),R(!0),Ye.openPreview(te),nr()},[Ye,nr]),Zt=w.useCallback(te=>{_("files"),R(!0),Ye.openPreview(te)},[Ye]),En=w.useCallback(()=>{const te=Se.current;te&&(ge(!0),te.scrollTop=te.scrollHeight)},[ge]),Jn=w.useCallback(()=>{const te=Se.current;if(!te)return;const Ce=te.scrollHeight-te.scrollTop-te.clientHeight<=25;ge(Ce)},[ge]);w.useLayoutEffect(()=>{if(!U.current)return;const te=Se.current;te&&(te.scrollTop=te.scrollHeight)},[ve.messages,ve.streaming]),w.useEffect(()=>{const te=we.current?.parentElement;if(!te||typeof ResizeObserver>"u")return;const Ce=new ResizeObserver(()=>{if(!U.current)return;const Ue=Se.current;Ue&&(Ue.scrollTop=Ue.scrollHeight)});return Ce.observe(te),()=>Ce.disconnect()},[g?.sessionId]),w.useEffect(()=>{if(!ue)return;const te=window.setTimeout(()=>J(null),6500);return()=>window.clearTimeout(te)},[ue]);const gr=o?{id:ue?.id??1,kind:"error",message:o}:ue?{id:ue.id,kind:"info",message:ue.message}:null,ar=w.useCallback(te=>{if(te.action==="pi-prompt"||te.command==="/name"||te.command==="/compact"||te.command==="/goal"||te.command==="/sdd-bingo"){Pe.setInput(`${te.command} `),Pe.setShortcutOpen(!1),Pe.textareaRef.current?.focus();return}xi.current(te.command)},[Pe]),an=w.useCallback(te=>{const Ce=j3(te),Ue=te.trim(),Ft=Ue.split(/\s+/,1)[0]?.toLowerCase()??"";if(Pe.setInput(""),Pe.setShortcutOpen(!1),!Ce)return;if(Ce.action==="focus:interview"){if(!g){J({id:Date.now(),message:"请先创建或打开一个会话,再开始 Interview"});return}Br.startInterview();return}const Xt=GO(Ce.action);if(Xt){e.onNavigateWorkspace?.(Xt,{});return}if(Ce.action==="compact"){const yt=Ue.slice(Ft.length).trim();St.compactSession(yt||void 0);return}if(Ce.action==="goal"){const yt=Ue.slice(Ft.length).trim();yt?mt(yt):qn();return}if(Ce.action==="name"){const yt=Ue.slice(Ft.length).trim(),yn=g?.sessionId;if(!yn){c("当前没有可重命名的会话");return}const An=St.sessionList.find(Dn=>Dn.sessionId===yn),er=yt||window.prompt("会话名称",An?.title??An?.displayTitle??"")||"";er.trim()&&St.updateSession(yn,{title:er.trim()});return}if(Ce.action==="session"){const yt=g?.sessionId??"(none)",yn=St.sessionList.find(er=>er.sessionId===yt),An=yn?.title||yn?.displayTitle||"未命名对话";J({id:Date.now(),message:`当前会话:${An}(${yt})`});return}if(Ce.action==="copy"){const yn=[...ve.visibleMessages??[]].reverse().find(An=>An.role==="assistant");if(!yn?.text){c("没有可复制的助手消息");return}navigator.clipboard?.writeText(yn.text).then(()=>J({id:Date.now(),message:"已复制最后一条助手消息"}),()=>c("复制失败"));return}if(Ce.action==="sdd-bingo"){const yt=g?.sessionId;if(!yt){c("当前没有可上报的会话");return}const yn=Ue.slice(Ft.length).trim();fetch(`${e.origin}/api/operator/v1/chat/sessions/${encodeURIComponent(yt)}/sdd-bingo`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},body:JSON.stringify(yn?{skillName:yn}:{})}).then(async An=>{const er=await An.json().catch(()=>null);if(!An.ok){c(er?.error?.message||"SDD 数据对齐上报失败");return}const Dn=typeof er?.skillName=="string"&&er.skillName.trim()?er.skillName.trim():void 0;J({id:Date.now(),message:Dn?`SDD数据对齐上报成功:${Dn}`:"SDD数据对齐上报成功"})},()=>c("SDD 数据对齐上报失败"));return}if(Ce.action==="unknown"){hr(Ue,Pe.pendingImages);return}c(`未知 shortcut:${Ce.command}`)},[Pe.setInput,Pe.setShortcutOpen,Pe.pendingImages,Br.startInterview,e.onNavigateWorkspace,e.origin,St,g,ve.visibleMessages,hr,qn,mt]);xi.current=an;const vr=w.useCallback(te=>{const Ce=s.isComposingRef.current||te.nativeEvent.isComposing,Ue=Date.now()-s.compositionEndedAtRef.current<100;if(Pe.shortcutOpen&&Pe.filteredShortcuts.length>0&&!Ce&&!Ue){if(te.key==="ArrowLeft"||te.key==="ArrowRight"||te.key==="ArrowUp"||te.key==="ArrowDown"){te.preventDefault();const Ft=sz(Ke);let Xt=Pe.shortcutIndex;if(te.key==="ArrowLeft"||te.key==="ArrowRight")Xt=d5(Pe.shortcutIndex,Oe,Ft,te.key==="ArrowLeft"?"left":"right");else{const yt=Dt.current;let yn=null;if(yt){const An=Array.from(yt.querySelectorAll("[data-shortcut-index]")).map(Dn=>{const Ge=Dn.getBoundingClientRect();return{globalIndex:Number(Dn.dataset.shortcutIndex??-1),top:Ge.top,bottom:Ge.bottom,left:Ge.left,right:Ge.right}}).filter(Dn=>Number.isFinite(Dn.globalIndex)&&Dn.globalIndex>=0),er=An.find(Dn=>Dn.globalIndex===Pe.shortcutIndex)??null;er&&(yn=oz(er,An,te.key==="ArrowUp"?"up":"down"))}Xt=yn??d5(Pe.shortcutIndex,Oe,Ft,te.key==="ArrowUp"?"up":"down")}Xt!==Pe.shortcutIndex&&(Lt.current=!0,Pe.setShortcutIndex(Xt));return}if(te.key==="Escape"){te.preventDefault(),Pe.setShortcutOpen(!1);return}if(te.key==="Enter"||te.key==="Tab"){te.preventDefault();const Ft=Pe.filteredShortcuts[Pe.shortcutIndex]??Pe.filteredShortcuts[0];ar(Ft);return}}if(te.key==="Enter"&&!te.shiftKey&&(Ce||Ue)){Ue&&te.preventDefault();return}if((te.key==="ArrowUp"||te.key==="ArrowDown")&&!Ce&&!Ue&&Pe.fileOptions.length===0&&Pe.navigateHistory(te.key==="ArrowUp"?"up":"down")){te.preventDefault();return}if(te.key==="Enter"&&!te.shiftKey){te.preventDefault(),Tr(Pe.input);return}},[Pe.input,Pe.shortcutOpen,Pe.filteredShortcuts,Pe.shortcutIndex,Pe.setShortcutIndex,Pe.setShortcutOpen,Pe.fileOptions,Pe.navigateHistory,s,Tr,ar,Ke,Oe,Dt,Lt]),Sa=ve.visibleMessages.length>0||ve.operationCards.length>0||ve.humanGateCards.length>0||ve.artifactCards.length>0||!!ve.interview,$a=e.onNavigateWorkspace?()=>e.onNavigateWorkspace?.("models",{}):void 0,wi=u.jsx(_S,{origin:t,readiness:e.readiness,runAction:e.runAction,operatorBusy:e.operatorBusy,workspaces:bt.workspaces,workspacesLoading:bt.loading,workspacesError:bt.error,activeWorkspaceId:e.workspaceId??bt.workspaceId,removingWorkspaceId:xe,onPickWorkspaceDirectory:bt.pickWorkspaceDirectory,onAddWorkspace:te=>bt.addWorkspace(te),onRemoveWorkspace:te=>{_e(te),bt.removeWorkspace(te).finally(()=>{_e(null)})},onReorderWorkspace:(te,Ce)=>bt.reorderWorkspace(te,Ce),onDismissWorkspaceError:()=>{bt.refresh()},open:y,layoutMode:Ke,drawerOpen:qe.sidebarDrawerOpen,activeSessionId:g?.sessionId,activeSessionStreaming:ve.streaming,activeSessionTurnPhase:ve.turnPhase,sessions:St.sessionList,tree:Ye.tree,expanded:Ye.expandedDirs,treeError:Ye.treeError,onToggleOpen:()=>S(te=>!te),onOpenDrawer:pa,onCloseDrawer:nr,onCreate:()=>{St.createSession()},onCreateInWorkspace:te=>{St.createSession(te===(e.workspaceId??bt.workspaceId)?void 0:{workspaceId:te})},creatingSession:St.creatingSession,onActivate:(te,Ce)=>{qe.sidebarDrawerOpen?ze(te,Ce):qr(te,Ce)},onRename:(te,Ce)=>{St.updateSession(te,{title:Ce})},onSetState:(te,Ce)=>{St.updateSession(te,{state:Ce})},onDelete:te=>St.deleteSession(te),onRefreshTree:Ye.refreshTree,onToggleDir:Ye.toggleDir,onInsert:te=>{qe.sidebarDrawerOpen?dt(te):Pe.setInput(Ce=>`${Ce}${Ce&&!Ce.endsWith(" ")?" ":""}@${te} `)},onPreview:te=>{qe.sidebarDrawerOpen?jt(te):Zt(te)},drawerTriggerRef:it}),Pa=["oc-workspace",me?"is-column-dragging":""].filter(Boolean).join(" "),$s=Ke==="narrow"?0:Ke==="compact"?56:y?Q:40,ir=Ke==="narrow"||!E?0:X,Fa=_a(B,As,Ul(X)),Ea={"--oc-sidebar-width":`${$s}px`,"--oc-details-width":`${ir}px`,"--oc-file-tree-width":`${Fa}px`,gridTemplateColumns:Ke==="narrow"?"minmax(0, 1fr)":`${$s}px minmax(0, 1fr) ${ir}px`},Ga=u.jsxs(u.Fragment,{children:[Ke==="comfortable"&&y?u.jsx(Yu,{side:"sidebar",value:Q,onResize:te=>V(_a(te,Nz,Rz)),onDragChange:j}):null,E&&Ke!=="narrow"?u.jsx(Yu,{side:"details",value:X,onResize:te=>W(_a(te,Gl,Wu())),onResizeEnd:te=>ip(h5,_a(te,Gl,Wu())),onDragChange:j}):null,!E&&Ke!=="narrow"?u.jsx("button",{type:"button",className:"oc-details-reopen",onClick:()=>rr(N),"aria-label":"展开右侧辅助栏",title:"展开辅助栏",children:u.jsx(hp,{side:"right"})}):null]}),Un=te=>u.jsx("div",{className:"oc-messages is-empty",ref:Ze,"data-landing-density":vt.landingDensity,children:e.readiness==="setup-required"?u.jsx(X3,{readiness:e.readiness,presentation:"landing",onOpenModels:$a}):u.jsx(M7,{mode:te,readiness:e.readiness,density:vt.landingDensity,onSuggest:async Ce=>{St.creatingSession||(te==="no-session"?await St.createSession()&&await Tr(Ce):await Tr(Ce))},disabled:St.creatingSession,onCreateSession:te==="no-session"?()=>{St.createSession()}:void 0})});return u.jsxs("div",{className:"oc-shell",children:[a?null:u.jsxs("div",{className:"oc-banner",children:[u.jsxs("span",{className:"oc-banner-title",children:[u.jsx("span",{className:"oc-banner-dot","aria-hidden":"true"}),"对话"]}),u.jsxs("span",{className:"oc-banner-body",children:["用自然语言编排 loop-agent / agent-worker 的",u.jsx("strong",{children:"全部能力"}),"。这是 ",u.jsx("strong",{children:"Operator"})," 面:默认具备完整 Pi 工具(read/write/edit/bash/grep/find/ls)与 safe-* 探查、以及受策略约束的 operator action(ADR 0011)。",u.jsx("strong",{children:"软约束"}),":大改与高风险变更优先走受治 DAG 的 implement-pi / repair-pi 与 Human Gate,而非把 Chat 当作第二套 DAG kernel。"]})]}),u.jsx(V5,{toast:gr,onDismiss:()=>{c(null),J(null)}}),g?u.jsxs("div",{className:Pa,ref:Re,"data-layout-mode":Ke,style:Ea,children:[wi,u.jsxs("div",{className:`oc-main${Sa?"":" is-landing"}`,children:[Ke==="narrow"||ne>0?u.jsxs("div",{className:"oc-main-topbar",children:[Ke==="narrow"?u.jsx("button",{type:"button",className:"oc-main-topbar-btn",ref:it,"aria-label":"打开会话与仓库","aria-expanded":qe.sidebarDrawerOpen,onClick:()=>qe.sidebarDrawerOpen?nr():pa(),children:"会话与仓库"}):null,ne>0?u.jsxs("button",{type:"button",className:"oc-main-topbar-btn oc-activity-trigger","aria-controls":"oc-details-rail-body","aria-expanded":Tt,onClick:()=>os(),children:["运行活动 ",u.jsx("span",{children:Bt})]}):null]}):null,Sa&&e.readiness!=="ready"?u.jsx(X3,{readiness:e.readiness,presentation:"thread",onOpenModels:$a}):null,Sa?u.jsxs("div",{className:"oc-thread-anchor-wrap",children:[u.jsx(aj,{scrollContainerRef:Se,turnGroups:ve.turnGroups,measureKey:ve.visibleMessages.length}),u.jsx(ej,{scrollContainerRef:Se,messagesEndRef:we,onScroll:Jn,showScrollToLatest:!ee,onScrollToLatest:En,hasThread:Sa,sessionId:g?.sessionId,readiness:e.readiness,streaming:ve.streaming,streamingAssistantId:ve.streamingAssistantId,messagesCount:ve.messages.length,visibleCount:ve.visibleMessages.length,historyHasMore:ve.historyHasMore,historyLoading:ve.historyLoading,onLoadMore:st,turnGroups:ve.turnGroups,pendingSteering:ve.deferredTurns.filter(te=>te.state==="dispatching"),interview:ve.interview,interviewAnswer:Br.interviewAnswer,onInterviewAnswerChange:Br.setInterviewAnswer,onAnswerInterview:te=>{Br.answerInterview(te)},onConfirmTaskKind:()=>{Br.confirmTaskKind()},onActivateActivity:os,canActivateActivity:et,resolveDagRunId:ct,onActivateDagProgress:ha,onSuggest:te=>{Tr(te)}})]}):Un("empty-session"),ve.pendingQuestion?u.jsx(Tj,{origin:t,pending:ve.pendingQuestion,workspaceId:g?.workspaceId,onSettled:()=>ve.setPendingQuestion(null)}):u.jsxs("div",{className:"oc-composer-dock",children:[u.jsx(Ij,{goal:ve.goal,busy:h,onCreate:qn,onEdit:qn,onPause:()=>{const te=ve.goal;te&&Fe("PATCH",{goalId:te.goalId,revision:te.revision,action:"pause"})},onResume:()=>{const te=ve.goal;te&&Fe("PATCH",{goalId:te.goalId,revision:te.revision,action:"resume"})},onClear:()=>{const te=ve.goal;te&&Fe("DELETE",{goalId:te.goalId,revision:te.revision})}}),u.jsx(Nj,{todos:ve.todos}),u.jsx(yj,{composer:Pe,streaming:ve.streaming,turnPhase:ve.turnPhase,deferredTurn:ve.deferredTurn,deferredTurns:ve.deferredTurns,hasThread:Sa,layoutMode:Ke,paletteModel:Oe,shortcutPaletteRef:Dt,paletteKeyboardNavRef:Lt,onSend:te=>{Tr(te)},onStop:Sn,onDiscardDeferred:Qn,onEditDeferred:wa,onSteerDeferred:ss,onKeyDown:vr,onRunShortcut:an,models:qt.models,activeModel:qt.activeModel,activeModelRef:qt.activeModelRef,activeModelListed:qt.activeModelListed,activeThinkingLevel:qt.activeThinkingLevel,thinkingLevels:qt.thinkingLevels,onSwitchRuntime:te=>{qt.switchRuntime(te)},usage:ve.usage,sessionStats:ve.sessionStats,unread:ve.unread,onCompact:()=>{St.compactSession()},compacting:d,processSummary:ve.streaming?null:ve.processSummary,processOpen:De,onToggleProcess:()=>gn("calls"),processTriggerRef:rt,runtimeContext:qt.runtimeContext,runtimeContextOpen:We,onToggleRuntimeContext:()=>gn("context"),runtimeContextTriggerRef:Pt})]})]}),u.jsxs(M3,{open:E,onToggleOpen:()=>{R(!1),N==="context"&&qt.setRuntimeContextOpen(!1),N==="calls"&&le(te=>te.active==="process"?la(te):te)},activeTab:N,onSelectTab:rr,dagRunId:je,dagRun:ht,activityContent:G&&g?u.jsx(wD,{origin:t,sessionId:g.sessionId,focusRef:ce,operationCards:ve.operationCards,humanGateCards:ve.humanGateCards,artifactCards:ve.artifactCards,onLocateConversation:wt,onNavigateWorkspace:e.onNavigateWorkspace}):void 0,goalContent:K?u.jsx(Aj,{mode:ve.goal&&ve.goal.phase!=="complete"?"edit":"create",initialObjective:ve.goal&&ve.goal.phase!=="complete"?ve.goal.objective:"",busy:h,onCancel:()=>pr("goal"),onSave:ka}):void 0,contextContent:F&&qt.runtimeContext?u.jsx(Yj,{panelOnly:!0,embedded:!0,open:N==="context"&&E&&!!qt.runtimeContext,onToggle:()=>gn("context"),onClose:()=>{R(!1),qt.setRuntimeContextOpen(!1),le(te=>te.active==="runtime-context"?la(te):te)},context:qt.runtimeContext,triggerRef:Pt}):void 0,callsContent:A?u.jsx(_j,{toolCalls:ve.toolCalls,overlay:!1,embedded:!0,onClose:()=>gn("calls"),triggerRef:rt}):void 0,trajectoryContent:u.jsx(Uj,{turnGroups:ve.turnGroups,runtimeContext:qt.runtimeContext,runtimeContextLoading:qt.runtimeContextLoading,toolCatalog:qt.toolCatalog,turnTelemetry:ve.turnTelemetry}),onCloseTab:pr,children:[u.jsx(O3,{previews:Ye.previews,activePath:Ye.activePreviewPath,loading:Ye.previewLoading,onActivate:Ye.setActivePreviewPath,onClose:Ye.closePreview}),u.jsx(Yu,{side:"details-tree",value:Fa,onResize:te=>Y(_a(te,As,Ul(X))),onResizeEnd:te=>ip(ap,_a(te,As,Ul(X))),onDragChange:j}),u.jsx(r4,{workspaceName:bt.workspaces.find(te=>te.workspaceId===e.workspaceId)?.name??"Workspace",tree:Ye.tree,expanded:Ye.expandedDirs,treeError:Ye.treeError,onRefresh:Ye.refreshTree,onToggle:Ye.toggleDir,onInsert:te=>Pe.setInput(Ce=>`${Ce}${Ce&&!Ce.endsWith(" ")?" ":""}@${te} `),onPreview:te=>{Zt(te)}})]}),Ga]}):u.jsxs("div",{className:Pa,ref:Re,"data-layout-mode":Ke,style:Ea,children:[wi,u.jsxs("div",{className:"oc-main is-landing",children:[Ke==="narrow"?u.jsx("div",{className:"oc-main-topbar",children:u.jsx("button",{type:"button",className:"oc-main-topbar-btn",ref:it,"aria-label":"打开会话与仓库","aria-expanded":qe.sidebarDrawerOpen,onClick:()=>qe.sidebarDrawerOpen?nr():pa(),children:"会话与仓库"})}):null,Un("no-session")]}),u.jsxs(M3,{open:E,onToggleOpen:()=>R(te=>!te),activeTab:N,onSelectTab:rr,onCloseTab:pr,dagRunId:je,dagRun:ht,children:[u.jsx(O3,{previews:Ye.previews,activePath:Ye.activePreviewPath,loading:Ye.previewLoading,onActivate:Ye.setActivePreviewPath,onClose:Ye.closePreview}),u.jsx(Yu,{side:"details-tree",value:Fa,onResize:te=>Y(_a(te,As,Ul(X))),onResizeEnd:te=>ip(ap,_a(te,As,Ul(X))),onDragChange:j}),u.jsx(r4,{workspaceName:bt.workspaces.find(te=>te.workspaceId===e.workspaceId)?.name??"Workspace",tree:Ye.tree,expanded:Ye.expandedDirs,treeError:Ye.treeError,onRefresh:Ye.refreshTree,onToggle:Ye.toggleDir,onInsert:te=>Pe.setInput(Ce=>`${Ce}${Ce&&!Ce.endsWith(" ")?" ":""}@${te} `),onPreview:te=>{Zt(te)}})]}),Ga]})]})}function Mz(e){const{active:t}=e;return u.jsxs("section",{id:"workspace-chat",className:"workspace-pane workspace-pane--chat panel panel--chat","aria-labelledby":"chat-title",hidden:!t,"aria-hidden":!t,inert:!t,tabIndex:t?-1:void 0,style:{minWidth:0,height:"100%"},children:[u.jsx("h2",{id:"chat-title",className:"sr-only",children:"对话"}),u.jsx(_z,{origin:"",readiness:e.readiness,runAction:e.runAction,operatorBusy:e.operatorBusy,surface:"workspace",workspaceRegistry:e.workspaceRegistry,workspaceId:e.workspaceId,requestedSessionId:e.sessionId,workspaceGate:e.workspaceGate,onSwitchWorkspace:e.onSwitchWorkspace,onNavigateWorkspace:e.onNavigateWorkspace})]})}function Oz(e){const{board:t,busy:n}=e;return u.jsxs("details",{className:"night-advanced","data-testid":"night-advanced",open:t.advancedOpen,onToggle:a=>t.setAdvancedOpen(a.target.open),children:[u.jsx("summary",{children:"高级 / Inspect"}),u.jsxs("p",{className:"muted",children:["只读深链:"," ",u.jsx("a",{className:"external-link",href:Yi("/#/inspect/night"),children:"/#/inspect/night"})]}),u.jsx("div",{className:"cta-row",children:u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:n,"data-testid":"night-morning-btn",onClick:()=>{t.onMorningReport()},children:"早晨 night 报告"})}),t.morningPreview?u.jsx("pre",{className:"cmd","data-testid":"night-morning-preview",children:t.morningPreview}):null]})}function Zu(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Bn(e,t){const n=e[t];return typeof n=="string"&&n.trim()?n.trim():void 0}function g5(e,t){const n=e[t];if(!Array.isArray(n))return;const a=n.filter(s=>typeof s=="string");return a.length>0?a:void 0}function Dz(e){const t=Zu(e);if(!t)return null;const n=Zu(t.result),a=[Zu(t.reviewPacket),n?Zu(n.reviewPacket):null,n,t].filter(Boolean);for(const s of a){const o=Bn(s,"scheduleId")??Bn(s,"id"),c=Bn(s,"gateToken")??Bn(s,"approveGate")??Bn(s,"writeSetGateToken");if(!(!o||!c))return{scheduleId:o,gateToken:c,...Bn(s,"featureId")?{featureId:Bn(s,"featureId")}:{},...Bn(s,"taskId")?{taskId:Bn(s,"taskId")}:{},...g5(s,"writeSet")?{writeSet:g5(s,"writeSet")}:{},...Bn(s,"worktreePath")?{worktreePath:Bn(s,"worktreePath")}:{},...Bn(s,"branch")?{branch:Bn(s,"branch")}:{},...Bn(s,"baseBranch")?{baseBranch:Bn(s,"baseBranch")}:{},...Bn(s,"baseCommit")?{baseCommit:Bn(s,"baseCommit")}:{},...Bn(s,"executeAtUtc")?{executeAtUtc:Bn(s,"executeAtUtc")}:{},...Bn(s,"taskCard")?{taskCard:Bn(s,"taskCard")}:{}}}return null}function v5(e){return`docs/features/${e.trim().replace(/^\/+|\/+$/g,"")}`}function jz(e){const t=e.trim(),n=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})/.exec(t);return n?`${n[1]} ${n[2]}`:null}function b5(){const e=new Date;e.setHours(20,0,0,0);const t=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}T${t(e.getHours())}:${t(e.getMinutes())}`}function V7(e){if(!e)return"—";const t=Date.parse(e);if(Number.isNaN(t))return e;try{return new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"short",timeZone:"Asia/Shanghai"}).format(new Date(t))}catch{return e}}function Lz(e){return e.mergeState==="pending-harvest"||/\bscheduler harvest\b/i.test(e.nextAction)}function zz(e){return e.status==="failed"||e.status==="human_required"||e.status==="cancelled"||/\bscheduler discard\b/i.test(e.nextAction)}function Md(e){return e==="failed"||e==="human_required"}function Bz(e){return`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function K7(e){return{submitted:"已提交",validating:"校验中",validated:"待预约确认",scheduled:"已预约",waiting:"等待触发",dispatching:"派发中",running:"执行中",succeeded:"成功",failed:"失败",human_required:"需人工",cancelled:"已取消",rejected:"已拒绝",cancel_requested:"取消中"}[e]??e}function qz(e){const{target:t,reason:n,onReasonChange:a,force:s,onForceChange:o,busy:c}=e;return u.jsxs("div",{className:"night-discard-card","data-testid":"night-discard-card",children:[u.jsx("h3",{children:"确认 Discard"}),u.jsxs("p",{className:"muted",children:[t.featureId,"/",t.taskId,"(",K7(t.status),")"]}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"原因"}),u.jsx("input",{"data-testid":"night-discard-reason",value:n,disabled:c,placeholder:"human discard reason",onChange:d=>a(d.target.value)})]}),Md(t.status)?u.jsxs("label",{className:"field checkbox-field",children:[u.jsx("input",{type:"checkbox","data-testid":"night-discard-force",checked:s,disabled:c,onChange:d=>o(d.target.checked)}),u.jsx("span",{className:"muted",children:"强制 Discard(failed / human_required)"})]}):null,u.jsxs("div",{className:"cta-row",children:[u.jsx("button",{type:"button",className:"btn btn-primary",disabled:c||Md(t.status)&&!s,"data-testid":"night-discard-confirm",onClick:e.onConfirm,children:"确认 Discard"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:c,onClick:e.onCancel,children:"返回"})]})]})}function Uz(e){const{board:t}=e,{doctor:n,list:a,clockHint:s,doctorIssues:o,auxTicker:c}=t;return u.jsxs("div",{className:"night-health","data-testid":"night-health-bar",children:[u.jsxs("div",{className:"night-health-main",children:[u.jsx("span",{className:`night-health-pill${n?.ok===!1?" is-bad":""}`,children:n?.ok===!1?"Scheduler 异常":"Scheduler 健康"}),u.jsxs("span",{className:"muted",children:["计划 ",n?.scheduleCount??a?.summary.total??"—"," · 活动"," ",n?.activeCount??a?.summary.active??"—"]})]}),s?u.jsxs("p",{className:"muted night-health-hint","data-testid":"night-clock-hint",children:["时钟:",s.message,"(安装/启停请用 CLI:",u.jsx("code",{children:"agent-worker scheduler clock status --repo ."}),")"]}):u.jsxs("p",{className:"muted night-health-hint",children:["到点执行依赖本机 clock / tick,不在此面板安装。详见"," ",u.jsx("a",{className:"external-link",href:Yi("/#/inspect/night"),children:"/#/inspect/night"})]}),u.jsxs("div",{className:"night-aux-ticker","data-testid":"night-aux-ticker",children:[u.jsxs("p",{className:"night-aux-ticker-label",children:["开着 Console 时辅助 tick(每 ",c?.intervalSec??60,"s)"]}),u.jsx("p",{className:"muted night-health-hint","data-testid":"night-aux-ticker-disclaimer",children:c?.disclaimer??"仅在本 Console 进程开着时有效;过夜无人值守仍需 OS clock。"}),c?.lastOutcome?u.jsxs("p",{className:"muted","data-testid":"night-aux-ticker-last",children:["上次:",c.lastOutcome,c.running?"(进行中)":"",c.lastSummary?` · ${c.lastSummary}`:"",c.lastError?` · ${c.lastError}`:""]}):null]}),o.length>0?u.jsx("ul",{className:"night-doctor-list","data-testid":"night-doctor-findings",children:o.slice(0,4).map(d=>u.jsxs("li",{children:[u.jsx("strong",{children:d.severity})," ",d.message]},`${d.code}-${d.scheduleId??""}-${d.message}`))}):null]})}function Hz(e){const{board:t,busy:n,onHarvest:a,onOpenDiscard:s}=e,{list:o}=t;return u.jsxs(u.Fragment,{children:[o?u.jsxs("div",{className:"night-kpi","data-testid":"night-kpi",children:[u.jsxs("span",{children:["合计 ",o.summary.total]}),u.jsxs("span",{children:["活动 ",o.summary.active]}),u.jsxs("span",{children:["待收成 ",o.summary.pendingHarvest]}),u.jsxs("span",{children:["需人工 ",o.summary.humanRequired]}),u.jsxs("span",{children:["失败 ",o.summary.failed]})]}):null,u.jsxs("div",{className:"night-board","data-testid":"night-board",children:[u.jsx("h3",{children:"计划列表"}),!o||o.schedules.length===0?u.jsxs("div",{className:"empty-state","data-testid":"night-board-empty",children:[u.jsx("p",{className:"empty-title",children:"暂无夜间计划"}),u.jsx("p",{className:"muted",children:"用下方向导预约第一个任务。"})]}):u.jsx("ul",{className:"night-schedule-list",children:o.schedules.map(c=>u.jsxs("li",{className:"night-schedule-row","data-testid":"night-schedule-row","data-status":c.status,children:[u.jsxs("div",{className:"night-schedule-head",children:[u.jsxs("strong",{children:[c.featureId,"/",c.taskId]}),u.jsx("span",{className:"night-status-chip",children:K7(c.status)})]}),u.jsxs("p",{className:"muted",children:["执行 ",V7(c.executeAtUtc),c.mergeState?` · merge ${c.mergeState}`:"",c.taskCard?` · ${c.taskCard}`:""]}),c.waitingReason?u.jsxs("p",{className:"muted",children:["等待原因:",c.waitingReason]}):null,u.jsxs("p",{className:"muted night-next-action",children:["下一步:",c.nextAction]}),u.jsxs("div",{className:"cta-row",children:[Lz(c)?u.jsx("button",{type:"button",className:"btn btn-primary",disabled:n,"data-testid":"night-row-harvest",onClick:()=>a(c),children:"Harvest"}):null,zz(c)?u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:n,"data-testid":"night-row-discard",onClick:()=>s(c),children:"Discard"}):null,u.jsx("a",{className:"external-link",href:Yi(`/#/inspect/night/${encodeURIComponent(c.scheduleId)}`),children:"Inspect"})]})]},c.scheduleId))})]})]})}function $z(e){const{wizard:t,busy:n}=e;return u.jsxs("div",{className:"night-wizard","data-testid":"night-wizard",children:[u.jsx("h3",{children:"预约夜间任务"}),t.phase==="pick"?u.jsxs(u.Fragment,{children:[t.selectableTasks.length===0?u.jsxs("div",{className:"empty-state","data-testid":"night-task-empty",children:[u.jsx("p",{className:"empty-title",children:"没有可选任务"}),u.jsx("p",{className:"muted",children:"请先在 Feature Packet / Task Pool 中创建任务,再回到此处刷新。"})]}):u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"Feature / Task"}),u.jsxs("select",{"data-testid":"night-task-select",value:t.selectedKey,disabled:n,onChange:a=>t.setSelectedKey(a.target.value),children:[u.jsx("option",{value:"",children:"选择任务…"}),t.selectableTasks.map(a=>{const s=`${a.featureId}::${a.taskId}`;return u.jsxs("option",{value:s,children:[a.featureId,"/",a.taskId,a.status?` · ${a.status}`:""]},s)})]})]}),t.derivedFeatureDir?u.jsxs("p",{className:"muted","data-testid":"night-feature-dir",children:["Feature 目录:",u.jsx("code",{children:t.derivedFeatureDir})]}):null,u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"本地执行时间"}),u.jsx("input",{type:"datetime-local","data-testid":"night-at",value:t.nightAt,disabled:n,onChange:a=>t.setNightAt(a.target.value)})]}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"任务卡片(可选)"}),u.jsx("input",{"data-testid":"night-task-card",value:t.taskCard,disabled:n,placeholder:"UCP-LOOP#11",onChange:a=>t.setTaskCard(a.target.value)})]}),u.jsx("div",{className:"cta-row",children:u.jsx("button",{type:"button",className:"btn btn-primary",disabled:n||!t.selectedKey||!t.nightAt,"data-testid":"night-prepare-btn",onClick:()=>{t.onPrepare()},children:"准备并审阅"})})]}):u.jsxs("div",{className:"night-review-card","data-testid":"night-review-card",children:[u.jsx("p",{className:"muted",children:"请确认 writeSet 与执行环境后预约。Token 已隐藏。"}),u.jsxs("dl",{className:"kv",children:[u.jsxs("div",{children:[u.jsx("dt",{children:"Schedule"}),u.jsx("dd",{children:u.jsx("code",{children:t.review?.scheduleId})})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"任务"}),u.jsxs("dd",{children:[t.review?.featureId,"/",t.review?.taskId]})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"执行时间 (UTC)"}),u.jsx("dd",{children:V7(t.review?.executeAtUtc)})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"Worktree"}),u.jsx("dd",{children:u.jsx("code",{children:t.review?.worktreePath??"—"})})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"分支"}),u.jsx("dd",{children:u.jsx("code",{children:t.review?.branch??"—"})})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"Base"}),u.jsx("dd",{children:u.jsxs("code",{children:[t.review?.baseBranch??"—","@",(t.review?.baseCommit??"").slice(0,12)||"—"]})})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"WriteSet"}),u.jsx("dd",{children:t.review?.writeSet&&t.review.writeSet.length>0?u.jsx("ul",{className:"night-writeset",children:t.review.writeSet.map(a=>u.jsx("li",{children:u.jsx("code",{children:a})},a))}):u.jsx("span",{className:"muted",children:"(未返回显式 writeSet)"})})]})]}),u.jsxs("div",{className:"cta-row",children:[u.jsx("button",{type:"button",className:"btn btn-primary",disabled:n||!t.review,"data-testid":"night-confirm-add-btn",onClick:()=>{t.onConfirmAdd()},children:"确认预约"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:n,"data-testid":"night-review-back-btn",onClick:t.onCancelWizard,children:"返回修改"})]})]})]})}function Pz(e){const{setOpError:t}=e,[n,a]=w.useState(null),[s,o]=w.useState(null),[c,d]=w.useState([]),[m,h]=w.useState(null),[p,g]=w.useState(!1),[x,y]=w.useState(!1),[S,E]=w.useState(null),[R,N]=w.useState(null),_=w.useCallback(async()=>{g(!0),h(null);try{const[M,A,z,G]=await Promise.all([fetch(jr("/api/night-jobs"),{credentials:"same-origin"}),fetch(jr("/api/night-jobs/doctor"),{credentials:"same-origin"}),fetch(jr("/api/tasks"),{credentials:"same-origin"}),fetch(jr("/api/operator/v1/night-aux-ticker"),{credentials:"same-origin"})]);if(!M.ok)throw new Error(`加载计划列表失败(HTTP ${M.status})`);const D=await M.json();if(a(D),A.ok?o(await A.json()):o(null),z.ok){const K=await z.json();d(Array.isArray(K)?K:[])}else d([]);if(G.ok){const K=await G.json();K.ticker&&N(K.ticker)}}catch(M){h(M instanceof Error?M.message:String(M))}finally{g(!1)}},[]);w.useEffect(()=>{_()},[_]);const I=w.useCallback(async()=>{try{const M=await fetch(jr("/api/night-jobs/morning"),{credentials:"same-origin"});if(!M.ok){t(`早晨报告加载失败(HTTP ${M.status})`);return}const A=await M.json();E(JSON.stringify(A,null,2).slice(0,4e3)),y(!0)}catch(M){t(M instanceof Error?M.message:String(M))}},[t]),P=(s?.findings??[]).filter(M=>M.severity==="error"||M.severity==="warning"),F=(s?.findings??[]).find(M=>/clock/i.test(M.code)||/clock/i.test(M.message));return{list:n,doctor:s,tasks:c,loadError:m,loadingBoard:p,advancedOpen:x,setAdvancedOpen:y,morningPreview:S,auxTicker:R,refreshBoard:_,onMorningReport:I,doctorIssues:P,clockHint:F}}function Fz(e){const{board:t,runAction:n,isActionSuccess:a,setOpError:s}=e,{tasks:o,refreshBoard:c}=t,[d,m]=w.useState("pick"),[h,p]=w.useState(""),[g,x]=w.useState(b5),[y,S]=w.useState(""),[E,R]=w.useState(null),[N,_]=w.useState(""),[I,P]=w.useState(null),[F,M]=w.useState(!1),A=w.useMemo(()=>{const B=o.filter(Y=>typeof Y.featureId=="string"&&Y.featureId.trim()&&Y.taskId);return B.sort((Y,me)=>{const j=Y.featureId??"",U=me.featureId??"";return j!==U?j.localeCompare(U):Y.taskId.localeCompare(me.taskId)}),B},[o]),z=w.useMemo(()=>h?A.find(B=>`${B.featureId}::${B.taskId}`===h)??null:null,[A,h]),G=z?.featureId?v5(z.featureId):"",D=w.useCallback(async(B,Y,me)=>{const j=await n("prepareMutationGate",{action:B,actionParams:Y});if(!a(j))return;const U=j?.result??j,ee=U.receiptId?U:U.result??U;if(!ee.receiptId||!ee.humanGateToken){s("prepareMutationGate 未返回可消费的 Human Gate receipt");return}return n(B,{...Y,confirmationId:ee.receiptId,humanGateToken:ee.humanGateToken},{clientRequestId:Bz(me)})},[a,n,s]),K=w.useCallback(async()=>{if(!z?.featureId){s("请先点选 Feature / Task");return}const B=jz(g);if(!B){s("执行时间格式无效,请使用日期时间选择器");return}const Y={featureDir:v5(z.featureId),taskId:z.taskId,at:B,tz:"Asia/Shanghai",...y.trim()?{taskCard:y.trim()}:{}},me=await D("workerAdmissionPrepare",Y,"night-prepare");if(!a(me))return;const j=Dz(me?.result??me);if(!j){s("准备成功但未解析到 scheduleId / gateToken。请刷新后重试,或查看 Inspect。");return}R(j),m("review")},[a,g,D,z,s,y]),q=w.useCallback(async()=>{if(!E)return;const B=await D("workerSchedulerAdd",{scheduleId:E.scheduleId,approveGate:E.gateToken},"night-add");a(B)&&(R(null),m("pick"),p(""),S(""),x(b5()),await c())},[a,c,E,D]),Q=w.useCallback(()=>{m("pick"),R(null)},[]),V=w.useCallback(async B=>{const Y=await D("workerSchedulerHarvest",{scheduleId:B.scheduleId},"night-harvest");a(Y)&&await c()},[a,c,D]),X=w.useCallback(async()=>{if(!I)return;const B=N.trim()||"discard from console night workbench",Y=Md(I.status),me=await D("workerSchedulerDiscard",{scheduleId:I.scheduleId,reason:B,...Y||F?{force:!0}:{}},"night-discard");a(me)&&(P(null),_(""),M(!1),await c())},[N,I,F,a,c,D]),W=w.useCallback(B=>{P(B),M(Md(B.status)),_("")},[]);return{phase:d,selectedKey:h,setSelectedKey:p,nightAt:g,setNightAt:x,taskCard:y,setTaskCard:S,review:E,discardReason:N,setDiscardReason:_,discardTarget:I,setDiscardTarget:P,forceDiscard:F,setForceDiscard:M,selectableTasks:A,derivedFeatureDir:G,onPrepare:K,onConfirmAdd:q,onCancelWizard:Q,onHarvest:V,onDiscard:X,openDiscard:W}}function Gz({busy:e,runAction:t,isActionSuccess:n,setOpError:a}){const s=Pz({setOpError:a}),o=Fz({board:s,runAction:t,isActionSuccess:n,setOpError:a});return u.jsxs("section",{className:"panel night-workbench","aria-labelledby":"night-title","data-testid":"night-jobs-panel",children:[u.jsx("h2",{id:"night-title",children:"夜间任务"}),u.jsx("p",{className:"panel-lead",children:"白天点选任务并预约;列表查看状态;早晨在行内收成或丢弃。写操作仍经 Human Gate,列表复用 Inspect 投影。"}),u.jsx(Uz,{board:s,busy:e}),u.jsx("div",{className:"cta-row",children:u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:e||s.loadingBoard,"data-testid":"night-refresh-btn",onClick:()=>{s.refreshBoard()},children:"刷新看板"})}),s.loadError?u.jsx("p",{className:"error","data-testid":"night-load-error",children:s.loadError}):null,u.jsx(Hz,{board:s,busy:e,onHarvest:c=>{o.onHarvest(c)},onOpenDiscard:o.openDiscard}),o.discardTarget?u.jsx(qz,{target:o.discardTarget,reason:o.discardReason,onReasonChange:o.setDiscardReason,force:o.forceDiscard,onForceChange:o.setForceDiscard,busy:e,onConfirm:()=>{o.onDiscard()},onCancel:()=>o.setDiscardTarget(null)}):null,u.jsx($z,{wizard:o,busy:e}),u.jsx(Oz,{board:s,busy:e})]})}function Vz(){return u.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true",children:u.jsx("path",{d:"M2.6 4.2 6 7.6l3.4-3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function Xu(e){return e.provider?Bs(e.provider,e.id):e.id}function Kz(e){const t=e.trim();if(!t)return;const n=t.indexOf("/");return n<=0||n===t.length-1?{provider:"",id:t}:{provider:t.slice(0,n),id:t.slice(n+1)}}function Wz(e){const[t,n]=w.useState(!1),[a,s]=w.useState(""),[o,c]=w.useState(0),d=w.useRef(null),m=w.useRef(null),h=w.useRef(null),p=w.useMemo(()=>{const E=[...e.models];if(e.value&&!E.some(R=>Xu(R)===e.value)){const R=Kz(e.value);R&&E.push(R)}return E},[e.models,e.value]),g=w.useMemo(()=>L7(p,a),[p,a]),x=w.useMemo(()=>g.flatMap(E=>E.models),[g]);w.useEffect(()=>{t&&(s(""),c(Math.max(0,p.findIndex(E=>Xu(E)===e.value))),window.setTimeout(()=>h.current?.focus(),0))},[t,p,e.value]),w.useEffect(()=>{if(!t)return;const E=N=>{const _=d.current;_&&N.target instanceof Node&&!_.contains(N.target)&&n(!1)},R=N=>{N.key==="Escape"&&(n(!1),m.current?.focus())};return document.addEventListener("mousedown",E),document.addEventListener("keydown",R),()=>{document.removeEventListener("mousedown",E),document.removeEventListener("keydown",R)}},[t]);const y=E=>{if(e.disabled)return;const R=x[E];R&&(n(!1),e.onChange(Xu(R)),m.current?.focus())},S=E=>{if(E.key==="ArrowDown"){E.preventDefault(),c(R=>x.length?(R+1)%x.length:0);return}if(E.key==="ArrowUp"){E.preventDefault(),c(R=>x.length?(R-1+x.length)%x.length:0);return}if(E.key==="Enter"){E.preventDefault(),y(o);return}if(E.key==="Escape"){E.preventDefault(),n(!1),m.current?.focus();return}};return u.jsxs("div",{className:"oc-select-menu models-matrix-select",ref:d,children:[u.jsxs("button",{type:"button",ref:m,id:e.id,className:"oc-select-trigger","aria-haspopup":"listbox","aria-expanded":t,"aria-invalid":e.ariaInvalid,"data-testid":e.dataTestId,disabled:e.disabled,onClick:()=>n(E=>!E),children:[u.jsx("span",{className:"oc-select-trigger-label",children:e.value||"选择模型"}),u.jsx(Vz,{})]}),t&&u.jsxs("div",{className:"oc-select-panel oc-model-panel is-below",role:"listbox","aria-label":"选择模型",children:[u.jsx("input",{ref:h,className:"oc-select-search",placeholder:"搜索模型…",value:a,onChange:E=>{s(E.target.value),c(0)},onKeyDown:S}),g.length===0&&u.jsx("div",{className:"oc-select-status",children:"没有可用模型"}),g.map(E=>u.jsxs("div",{className:"oc-model-group",children:[u.jsx("div",{className:"oc-model-group-head",children:E.provider||"其他"}),E.models.map(R=>{const N=Xu(R),_=N===e.value,I=x[o]===R;return u.jsxs("button",{type:"button",role:"option","aria-selected":_,disabled:e.disabled,className:`oc-select-option oc-model-option${I?" is-highlighted":""}${_?" is-active":""}`,onMouseDown:P=>P.preventDefault(),onClick:()=>{e.disabled||(n(!1),e.onChange(N))},children:[u.jsxs("span",{className:"oc-model-option-name",children:[R.name?`${R.name} · `:"",R.id]}),_&&u.jsx("span",{className:"oc-model-option-check",children:"✓"})]},N)})]},E.provider))]})]})}const Yz=[{key:"sdkAvailable",detailKey:"sdkMessage",label:"Pi SDK",hint:"Node 侧 Pi SDK 可加载"},{key:"authReady",detailKey:"authMessage",label:"认证凭据",hint:"Pi auth / provider 密钥已配置"},{key:"modelsAvailable",detailKey:"modelsMessage",label:"可用模型",hint:"harness.json executors.pi(LOW/MED/HIGH)可在 Pi 凭据面解析"},{key:"interviewSessionOk",detailKey:"sessionMessage",label:"访谈会话",hint:"Interview 会话预检通过"}];function Zz(e){if(!e)return null;const t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toLocaleString()}function Xz(e){const t=e.readinessReport?.state??e.readiness,n=e.readinessReport?.probe,a=n?.details??{},s=e.readinessReport?.blockedActions??[],o=Zz(e.readinessReport?.generatedAt),c=e.readinessReport??{state:e.readiness,health:e.health},d=n?.piModelMatrix,m=n?.piAvailableModels??[],[h,p]=w.useState(()=>P2(d)),[g,x]=w.useState(!1),[y,S]=w.useState(null),[E,R]=w.useState(null);w.useEffect(()=>{p(P2(d)),S(null)},[d]);const N=g9(h),_=!v9(N),I=e.busy||g||_;async function P(){if(!I){x(!0),S(null),R(null);try{const F=await e.onSaveMatrix({LOW:h.LOW,MED:h.MED,HIGH:h.HIGH});if(F&&F.ok===!1){S(F.error?.message??"保存模型矩阵失败");return}const M=window.localStorage.getItem(di)?.trim();if(M)try{const A=await fetch(`/api/operator/v1/chat/sessions/${encodeURIComponent(M)}/reload`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",[r1]:i1()},body:"{}"});A.ok?R("配置已保存,活动会话已重载。"):A.status===409?R("配置已保存;活动会话正忙(PI_SESSION_BUSY),请稍后手动重载。"):R("配置已保存;活动会话重载未完成,请手动重载。")}catch{R("配置已保存;活动会话重载未完成,请手动重载。")}else R("配置已保存,检测结果已刷新。")}catch(F){S(F instanceof Error?F.message:String(F))}finally{x(!1)}}}return u.jsxs("section",{className:"panel models-page","aria-labelledby":"models-title",children:[u.jsxs("div",{className:"models-header",children:[u.jsx("h2",{id:"models-title",children:"模型与认证"}),u.jsx("span",{className:"models-status-pill","data-state":t,"data-testid":"models-readiness-pill",children:T5[t]??t})]}),u.jsxs("p",{className:"panel-lead",children:["复用 Pi ModelRuntime 凭据平面;密钥不会回传到页面。请用"," ",u.jsx("code",{children:"pi"})," 或 Pi 认证存储完成配置,然后刷新就绪探测。"]}),u.jsxs("section",{className:"models-probe-card","aria-labelledby":"models-probe-title","data-testid":"readiness-details",children:[u.jsx("h3",{id:"models-probe-title",className:"models-subtitle",children:"就绪检查"}),u.jsx("ul",{className:"models-probe-list",children:Yz.map(F=>{const M=n?.[F.key],A=a[F.detailKey],z=M===void 0;return u.jsxs("li",{className:`models-probe-item${z?" is-pending":M?" is-ok":" is-bad"}`,children:[u.jsx("span",{className:"models-probe-badge","aria-label":z?"未探测":M?"通过":"未通过",children:z?"—":M?"✓":"✕"}),u.jsxs("div",{className:"models-probe-body",children:[u.jsx("strong",{children:F.label}),u.jsx("span",{className:"muted",children:F.hint}),A?u.jsx("p",{className:"models-probe-detail",children:A}):null]})]},F.key)})})]}),u.jsxs("section",{className:"models-matrix-card","aria-labelledby":"models-matrix-title","data-testid":"models-matrix-editor",children:[u.jsx("h3",{id:"models-matrix-title",className:"models-subtitle",children:"Herness模型矩阵(LOW/MED/HIGH)"}),u.jsxs("p",{className:"models-matrix-lead",children:["从 Pi 可用模型中选择 ",u.jsx("code",{children:"provider/model"})," 或裸 model id; 保存后原子写入 ",u.jsx("code",{children:"executors.pi"})," 并自动重测就绪。"]}),u.jsx("div",{className:"models-matrix-list",children:a1.map(F=>u.jsxs("div",{className:"models-matrix-row",children:[u.jsxs("label",{htmlFor:`pi-model-${F}`,children:[F," 档",N[F]?u.jsxs("span",{className:"error","data-testid":`pi-model-error-${F}`,children:[" ","— ",N[F]]}):null]}),u.jsx(Wz,{id:`pi-model-${F}`,value:h[F],models:m,onChange:M=>p(A=>({...A,[F]:M})),ariaInvalid:N[F]!==void 0,"data-testid":`pi-model-select-${F}`})]},F))}),y?u.jsx("p",{className:"error","data-testid":"models-matrix-save-error",children:y}):null,E?u.jsx("p",{className:"muted","data-testid":"models-matrix-save-notice",children:E}):null,u.jsxs("div",{className:"models-actions",children:[u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:I,"data-testid":"models-matrix-save",onClick:()=>{P()},children:g||e.busy?"保存中…":"保存模型矩阵"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:e.busy||g,"data-testid":"models-matrix-refresh-models",onClick:e.onRefreshReadiness,children:e.busy?"刷新中…":"刷新模型"})]})]}),t==="setup-required"?u.jsxs("div",{className:"models-setup-card","data-testid":"models-setup-hint",children:[u.jsx("h3",{className:"models-subtitle",children:"如何完成配置"}),u.jsxs("ol",{className:"models-setup-steps",children:[u.jsxs("li",{children:["在终端配置 Pi 认证(例如 ",u.jsx("code",{children:"pi auth login"}),")或写入 provider API key。"]}),u.jsxs("li",{children:["确认 agent 目录下 ",u.jsx("code",{children:"models.json"})," / 认证文件可读。"]}),u.jsx("li",{children:"点击下方「刷新就绪探测」,或运行诊断命令查看详情。"})]}),u.jsx("pre",{className:"cmd",children:E5})]}):null,t==="degraded"?u.jsx("p",{className:"models-degraded-note","data-testid":"models-degraded-note",children:"Pi 暂时降级:仍可恢复草稿与需求访谈;部分写入/运行类操作会被拦截。"}):null,s.length>0?u.jsxs("div",{className:"models-blocked-card",children:[u.jsx("h3",{className:"models-subtitle",children:"当前受限操作"}),u.jsx("ul",{className:"models-blocked-list",children:s.map(F=>u.jsx("li",{children:u.jsx("code",{children:F})},F))})]}):null,u.jsxs("div",{className:"models-actions",children:[u.jsx("button",{type:"button",className:"btn btn-primary",disabled:e.busy,onClick:e.onRefreshReadiness,children:"刷新就绪探测"}),o?u.jsxs("span",{className:"muted models-generated-at",children:["上次探测:",o]}):null]}),u.jsxs("details",{className:"models-raw-details",children:[u.jsx("summary",{children:"查看原始探测数据(调试)"}),u.jsx("pre",{className:"cmd models-raw-json",children:JSON.stringify(c,null,2)})]})]})}const Qz=[10,20,50,100],Jz=800;function eB(){return u.jsx("span",{className:"oc-plugin-version-spinner","aria-hidden":"true"})}function tB(){const e=w.useRef(null);return w.useEffect(()=>{let t=0,n=performance.now();const a=s=>{const o=e.current;if(o){const c=(s-n)%1100/1100;o.style.left=`${-40+c*140}%`}t=requestAnimationFrame(a)};return t=requestAnimationFrame(a),()=>cancelAnimationFrame(t)},[]),u.jsx("span",{ref:e,className:"oc-plugin-progress-fill"})}function nB(){const[e,t]=w.useState(null),[n,a]=w.useState(null),[s,o]=w.useState(""),[c,d]=w.useState(10),[m,h]=w.useState(null),[p,g]=w.useState(null),[x,y]=w.useState(1),[S,E]=w.useState(null),[R,N]=w.useState({}),[_,I]=w.useState({}),[P,F]=w.useState({}),[M,A]=w.useState({}),[z,G]=w.useState(void 0);async function D(Z){if(!(R[Z]!==void 0||_[Z]==="pending")){I(le=>({...le,[Z]:"pending"}));try{const le=await fetch(`/api/operator/v1/pi-plugins/versions?name=${encodeURIComponent(Z)}`,{headers:{accept:"application/json"}});if(!le.ok){I(pe=>({...pe,[Z]:"failed"}));return}const ce=await le.json();ce.ok&&ce.data?(N(pe=>({...pe,[Z]:ce.data})),I(pe=>({...pe,[Z]:void 0}))):I(pe=>({...pe,[Z]:"failed"}))}catch{I(le=>({...le,[Z]:"failed"}))}}}function K(Z){E(Z),F(le=>({...le,[Z]:"latest"})),D(Z)}async function q(){try{const Z=await fetch("/api/operator/v1/pi-plugins",{headers:{accept:"application/json"}});if(!Z.ok)throw new Error(`HTTP ${Z.status}`);const le=await Z.json();if(!le.ok||!le.data)throw new Error("invalid payload");t(le.data),a(null)}catch(Z){a(Z instanceof Error?Z.message:String(Z))}}async function Q(Z=!1){if(z!=="pending"){G("pending");try{const le=await fetch(`/api/operator/v1/pi-plugins/updates${Z?"?force=1":""}`,{headers:{accept:"application/json"}});if(!le.ok)throw new Error(`HTTP ${le.status}`);const ce=await le.json();if(!ce.ok||!ce.data)throw new Error("invalid payload");const pe={};for(const ue of ce.data.plugins)pe[ue.name]=ue;A(pe),G(void 0)}catch{G("failed")}}}w.useEffect(()=>{q(),Q()},[]);async function V(Z,le,ce){const pe=Date.now();h({name:le,kind:Z}),g(null);try{const ue=Z==="uninstall"?"uninstall":"install",J=ce?{name:le,version:ce}:{name:le},oe=await fetch(`/api/operator/v1/pi-plugins/${ue}`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Nn()},body:JSON.stringify(J)}),ie=await oe.json().catch(()=>({})),we=Z==="install"?"安装":Z==="upgrade"?"升级":"卸载";if(!oe.ok||ie.ok!==!0){g({kind:"err",text:`${we}失败: ${ie.error?.message??`HTTP ${oe.status}`}`});return}g({kind:"ok",text:`已${we} ${le}${ce&&Z!=="uninstall"?`@${ce}`:""}。`}),E(null),await q(),Z!=="uninstall"&&await Q(!0)}catch(ue){g({kind:"err",text:`${Z==="install"?"安装":Z==="upgrade"?"升级":"卸载"}出错: ${ue instanceof Error?ue.message:String(ue)}`})}finally{const ue=Date.now()-pe,J=Math.max(0,Jz-ue);J>0&&await new Promise(oe=>setTimeout(oe,J)),h(null)}}const X=w.useMemo(()=>{if(!e)return[];const Z=s.trim().toLowerCase();let le=e.plugins.filter(ce=>ce.valid);return Z&&(le=le.filter(ce=>ce.name.toLowerCase().includes(Z)||(ce.descriptionZh??ce.description??"").toLowerCase().includes(Z))),[...le].sort((ce,pe)=>{const ue=ce.installed?1:0,J=pe.installed?1:0;return ue!==J?J-ue:ce.name.localeCompare(pe.name)})},[e,s]),W=Math.max(1,Math.ceil(X.length/c)),B=Math.min(x,W),Y=X.slice((B-1)*c,B*c),me=X.length===0?0:(B-1)*c+1,j=Math.min(B*c,X.length);function U(){y(1)}const ee=e?e.plugins.filter(Z=>Z.installed).length:0,O=Object.values(M).filter(Z=>Z.upgradable),ge=new Set(O.map(Z=>Z.name));return u.jsxs("section",{className:"panel","aria-labelledby":"pi-plugins-title",children:[u.jsx("h2",{id:"pi-plugins-title",children:"Pi 插件"}),u.jsxs("p",{className:"muted",children:['一键安装 Pi 插件(全局用户级 ~/.pi/agent)。仅"可安装"的包在 npm 上声明了 ',u.jsx("code",{children:"pi.extensions"}),"。"]}),e?u.jsxs("p",{className:"muted",children:["可安装插件:",e.summary.valid," 个 · 已安装 ",ee," 个",O.length>0?u.jsxs(u.Fragment,{children:[" · ",u.jsxs("span",{className:"oc-plugin-updates-count",children:[O.length," 个可升级"]})]}):null]}):null,u.jsxs("div",{className:"oc-plugin-controls",children:[u.jsx("input",{type:"search",placeholder:"搜索插件名 / 说明…",value:s,onChange:Z=>{o(Z.target.value),U()},className:"oc-plugin-search"}),u.jsxs("label",{className:"oc-plugin-filter",children:["每页",u.jsx("select",{value:c,onChange:Z=>{d(Number(Z.target.value)),U()},className:"oc-plugin-pagesize",children:Qz.map(Z=>u.jsx("option",{value:Z,children:Z},Z))})]}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:z==="pending",onClick:()=>{Q(!0)},children:z==="pending"?"检查更新中…":"检查更新"}),u.jsx("button",{type:"button",className:"btn",onClick:()=>{q()},children:"刷新"})]}),z==="failed"?u.jsx("p",{className:"oc-plugin-updates-note",children:"更新检查失败,已装插件暂不显示升级按钮。"}):null,n?u.jsxs("p",{className:"error",children:["加载失败:",n]}):null,p?u.jsx("p",{className:`oc-plugin-notice is-${p.kind}`,children:p.text}):null,e?u.jsx("ul",{className:"oc-plugin-list",children:Y.map(Z=>{const le=m!==null&&m.name===Z.name?m:null;return u.jsxs("li",{className:"oc-plugin-row",children:[u.jsxs("div",{className:"oc-plugin-meta",children:[u.jsxs("span",{className:"oc-plugin-name",children:[Z.name,Z.installed?u.jsxs("span",{className:"oc-plugin-badge is-installed",children:["已安装",Z.installedVersion?` v${Z.installedVersion}`:""]}):null,Z.deprecated?u.jsx("span",{className:"oc-plugin-badge is-deprecated",children:"已弃用"}):null]}),u.jsx("span",{className:"oc-plugin-desc",children:Z.descriptionZh??Z.description??"(无说明)"})]}),u.jsx("div",{className:"oc-plugin-actions",children:le?u.jsxs("span",{className:"oc-plugin-progress-wrap",children:[u.jsx("span",{className:"oc-plugin-progress",children:u.jsx(tB,{})}),u.jsx("span",{className:"oc-plugin-progress-label",children:le.kind==="install"?"安装中…":le.kind==="upgrade"?"升级中…":"卸载中…"})]}):Z.installed?u.jsxs("span",{className:"oc-plugin-installed-actions",children:[ge.has(Z.name)?u.jsxs("button",{type:"button",className:"btn oc-plugin-upgrade-btn",onClick:()=>{V("upgrade",Z.name,M[Z.name]?.latest)},children:["升级",M[Z.name]?.latest?` v${M[Z.name]?.latest}`:""]}):null,u.jsx("button",{type:"button",className:"btn",onClick:()=>{V("uninstall",Z.name)},children:"卸载"})]}):S===Z.name?u.jsxs("span",{className:"oc-plugin-version-pick",children:[_[Z.name]==="pending"?u.jsxs("span",{className:"oc-plugin-version-loading",children:[u.jsx(eB,{}),u.jsx("span",{children:"正在获取版本…"})]}):null,_[Z.name]==="failed"?u.jsxs("span",{className:"oc-plugin-version-failed",children:["版本获取失败,将安装最新",u.jsx("button",{type:"button",className:"oc-plugin-version-retry",onClick:()=>{D(Z.name)},children:"重试"})]}):null,u.jsxs("select",{value:P[Z.name]??"latest",onChange:ce=>F(pe=>({...pe,[Z.name]:ce.target.value})),className:"oc-plugin-version-select",disabled:_[Z.name]==="pending",children:[u.jsx("option",{value:"latest",children:"最新(默认)"}),(R[Z.name]?.versions??[]).map(ce=>u.jsx("option",{value:ce,children:ce},ce))]}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:_[Z.name]==="pending",onClick:()=>{const ce=P[Z.name]??"latest";V("install",Z.name,ce==="latest"?void 0:ce)},children:"确认安装"}),u.jsx("button",{type:"button",className:"btn",onClick:()=>E(null),children:"取消"})]}):u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!Z.valid,onClick:()=>K(Z.name),children:"安装"})})]},Z.name)})}):u.jsx("p",{className:"muted",children:"加载中…"}),u.jsxs("div",{className:"oc-plugin-pager",children:[u.jsx("button",{type:"button",className:"btn",disabled:B<=1,onClick:()=>y(Z=>Math.max(1,Z-1)),children:"上一页"}),u.jsxs("span",{className:"oc-plugin-pager-info",children:["第 ",B," / ",W," 页 · ",me,"-",j," / ",X.length]}),u.jsx("button",{type:"button",className:"btn",disabled:B>=W,onClick:()=>y(Z=>Math.min(W,Z+1)),children:"下一页"})]})]})}const rB=[{value:"requirements-changed",label:"需求已变更"},{value:"suspected-runaway",label:"疑似失控"},{value:"resource-protection",label:"保护资源"},{value:"operator-request",label:"操作者请求"},{value:"other",label:"其他"}];function y5(e){const{lane:t,cta:n,planSummary:a,reason:s,busy:o,confirmRef:c}=e;return!n||n.lane!==t?null:u.jsxs("div",{ref:c,className:"recovery-confirm","data-testid":"recovery-confirm",children:[u.jsxs("h3",{children:["待确认:",n.label]}),u.jsx("p",{className:"muted",children:n.id==="reconcile"?"破坏性对账需经浏览器 Human Gate 确认。请核对运行与原因后再点「确定」。":n.id==="interrupt"?"协作中止需经浏览器 Human Gate。原因已按当前运行预填,可改分类或编辑后再确定。提交只表示请求已登记,当前节点仍会跑完。":"核对上方运行 / 节点与恢复原因后直接执行;服务端会校验资格,不再走 Human Gate。"}),n.id==="interrupt"?u.jsxs("fieldset",{className:"recovery-reason-code","data-testid":"recovery-interrupt-reason-code",disabled:o,children:[u.jsx("legend",{children:"原因分类"}),u.jsx("div",{className:"recovery-reason-code-group",children:rB.map(d=>{const m=(e.reasonCode??"operator-request")===d.value;return u.jsxs("label",{className:m?"recovery-reason-code-option is-active":"recovery-reason-code-option",children:[u.jsx("input",{type:"radio",name:"recovery-interrupt-reason-code",value:d.value,checked:m,onChange:()=>e.onReasonCodeChange?.(d.value)}),d.label]},d.value)})})]}):null,a?u.jsxs("div",{className:"recovery-plan-summary",children:[u.jsxs("p",{className:"muted",children:["计划 eligible=",String(a.eligible??"—")," · 风险=",C5[a.risk??""]??a.risk??"—"]}),a.effectiveFromNodeId?u.jsxs("p",{className:"muted",children:["有效起点:",a.effectiveFromNodeId]}):null,a.estimatedExecution?u.jsxs("p",{className:"muted",children:["将执行 ",a.estimatedExecution.nodeCount??"?"," 个节点 / ",a.estimatedExecution.piCallCount??"?"," 次 Pi;预计避免"," ",a.estimatedExecution.avoidedNodeCount??"?"," 个节点"]}):null,a.planHash?u.jsxs("p",{className:"muted",children:["planHash: ",u.jsxs("code",{children:[a.planHash.slice(0,16),"…"]})]}):null]}):n.id==="dagRerun"?u.jsx("p",{className:"muted",children:"未加载计划摘要;点「确定」前将再次尝试资格检查。"}):null,u.jsxs("div",{className:"cta-row",children:[u.jsx("button",{type:"button",className:"btn btn-primary",disabled:o||!s.trim(),"data-testid":"recovery-confirm-submit",onClick:e.onSubmit,children:"确定"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:o,"data-testid":"recovery-confirm-cancel",onClick:e.onCancel,children:"取消"})]})]})}function aB(e){const{shell:t,recovery:n,wizard:a}=e,{busy:s}=t,o=ik({interruptStatus:n.interruptEligibility?.interruptStatus,dagStatus:n.recoveryRunStatus,failureCategory:n.recoveryFailureCategory,targetOperationState:n.interruptEligibility?.targetOperationState}),c={planSummary:n.recoveryPlanSummary,reason:n.recoveryReason,reasonCode:n.interruptReasonCode,onReasonCodeChange:n.setInterruptReasonCode,busy:s,confirmRef:n.recoveryConfirmRef,onSubmit:()=>{n.submitRecoveryConfirm()},onCancel:()=>{n.setRecoveryConfirm(null),n.setRecoveryPlanSummary(null)}};return u.jsxs("section",{className:"panel","aria-labelledby":"recovery-title",children:[u.jsx("h2",{id:"recovery-title",children:"恢复"}),u.jsxs("p",{className:"muted",children:["事实分类:",N5[n.recoveryFact]," · 无 Cancel · 无「直接改代码」"]}),n.frontendRecovery?u.jsxs("div",{className:"muted","data-testid":"frontend-recovery-lineage",style:{marginBottom:"0.75rem"},children:[u.jsxs("div",{children:["前端恢复:outcome=",u.jsx("code",{children:n.frontendRecovery.outcome??"—"})," phase=",u.jsx("code",{children:n.frontendRecovery.phase??"—"})]}),u.jsxs("div",{children:["root ",u.jsx("code",{children:n.frontendRecovery.recoveryRootRunId??"—"}),n.frontendRecovery.parentRunId?` · parent ${n.frontendRecovery.parentRunId}`:"",n.frontendRecovery.childRunId?` · child ${n.frontendRecovery.childRunId}`:"",n.frontendRecovery.attemptIndex!==void 0?` · attempt ${n.frontendRecovery.attemptIndex}`:""]})]}):null,u.jsxs("ol",{className:"muted recovery-steps",children:[u.jsx("li",{children:"上方选 DAG 运行 / 节点,用「DAG 运行恢复」动作"}),u.jsx("li",{children:"Worker 持有的失败 run 用下方「Worker Task 重排队」;独立 DAG run 无法从节点恢复时才用「带反馈重新执行任务」"}),u.jsx("li",{children:"带 * 的动作:核对预填原因后点「确定」。重跑/重试直接执行;对账与中止运行走 Human Gate"})]}),o?u.jsxs("p",{className:"muted","data-testid":"recovery-interrupt-status",children:["中止进度:",o]}):null,n.recoveryFact==="running-active"&&n.interruptEligibility&&!n.interruptEligibility.eligible&&(!n.interruptEligibility.interruptStatus||n.interruptEligibility.interruptStatus==="none")?u.jsx("p",{className:"muted","data-testid":"recovery-interrupt-unavailable",children:n.interruptEligibility.ownerKind==="worker-managed"?"此运行不由当前 Console 持有,暂不支持协作中止。请用 Doctor / 报告查看。":n.interruptEligibility.message??"当前运行不具备协作中止资格。"}):null,u.jsxs("p",{className:"muted",children:[a.taskId.trim()?`按任务 ${a.taskId.trim()} 拉取候选。`:"未填任务 ID 时列出最近 DAG 运行。","Doctor 诊断可选,不是重跑前置。"," ",u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:s||n.recoveryRunsLoading,"data-testid":"recovery-refresh-candidates",onClick:()=>{n.loadRecoveryRuns()},children:n.recoveryRunsLoading?"刷新中…":"刷新候选"})]}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"DAG 运行 ID"}),!n.manualRunId&&n.recoveryRuns.length>0?u.jsxs("select",{"data-testid":"recovery-run-select",value:n.dagRunId,disabled:s||n.recoveryRunsLoading,onChange:d=>{n.setManualRunId(!1),n.setManualNodeId(!1),n.setFromNodeId(""),n.setDagRunId(d.target.value),n.recoveryReasonTouched||n.setRecoveryReasonTouched(!1)},children:[n.recoveryRuns.some(d=>d.dagRunId===n.dagRunId)?null:u.jsx("option",{value:n.dagRunId||"",children:n.dagRunId?`${n.dagRunId}(当前)`:"— 请选择 —"}),n.recoveryRuns.map(d=>u.jsx("option",{value:d.dagRunId,children:pk(d)},d.dagRunId))]}):u.jsx("input",{"data-testid":"recovery-run-input",value:n.dagRunId,disabled:s,onChange:d=>{n.setManualRunId(!0),n.setDagRunId(d.target.value.trim())},placeholder:"dag-run-id(节点恢复/完整重新执行)"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:s,"data-testid":"recovery-run-manual-toggle",onClick:()=>{if(!n.manualRunId&&n.recoveryRuns.length>0){n.setManualRunId(!0);return}n.setManualRunId(!1),n.loadRecoveryRuns()},children:!n.manualRunId&&n.recoveryRuns.length>0?"手动输入运行 ID":"刷新并改用下拉"})]}),u.jsxs("label",{className:"field",children:[u.jsxs("span",{className:"muted",children:["起始节点 ID(从失败节点恢复)",n.recoveryNodesLoading?" · 加载节点…":""]}),!n.manualNodeId&&n.recoveryNodes.length>0?u.jsxs("select",{"data-testid":"recovery-node-select",value:n.fromNodeId,disabled:s||n.recoveryNodesLoading,onChange:d=>{n.setManualNodeId(!1),n.setFromNodeId(d.target.value)},children:[n.recoveryNodes.some(d=>d.nodeId===n.fromNodeId)?null:u.jsx("option",{value:n.fromNodeId||"",children:n.fromNodeId?`${n.fromNodeId}(当前)`:"— 请选择 —"}),n.recoveryNodes.map(d=>u.jsx("option",{value:d.nodeId,children:gk(d)},d.nodeId))]}):u.jsx("input",{"data-testid":"recovery-node-input",value:n.fromNodeId,disabled:s,onChange:d=>{n.setManualNodeId(!0),n.setFromNodeId(d.target.value.trim())},placeholder:"例如 review-verdict-recovery-pi"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:s,"data-testid":"recovery-node-manual-toggle",onClick:()=>{if(!n.manualNodeId&&n.recoveryNodes.length>0){n.setManualNodeId(!0);return}n.setManualNodeId(!1),n.loadRecoveryNodes(n.dagRunId)},children:!n.manualNodeId&&n.recoveryNodes.length>0?"手动输入节点 ID":"刷新并改用下拉"})]}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"恢复原因(已按 run/节点失败事实自动预填,可编辑)"}),u.jsx("textarea",{"data-testid":"recovery-reason",value:n.recoveryReason,disabled:s,rows:4,onChange:d=>{n.setRecoveryReasonTouched(!0),n.setRecoveryReason(d.target.value)},placeholder:"将自动预填 operator-recovery / run / from-node / detail"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:s,"data-testid":"recovery-reason-refresh",onClick:()=>{n.setRecoveryReasonTouched(!1),n.setRecoveryReason(n.buildCurrentRecoveryReason(n.recoveryConfirm?.label))},children:"重新预填原因"})]}),u.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-dag",children:[u.jsx("h3",{children:"DAG 运行恢复"}),u.jsx("p",{className:"muted",children:"针对 `.harness/dag-runs` 的 Agent DAG 运行。橙色为当前建议;带 * 需确认原因。"}),u.jsxs("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-dag",children:[n.recoveryLanes.dag.map(d=>{const m=d.id===n.recommendedCtaId;return u.jsxs("button",{type:"button",className:m?"btn btn-primary":"btn btn-secondary",disabled:s,title:d.guide,"aria-pressed":n.recoveryConfirm?.id===d.id?!0:void 0,"data-testid":`recovery-cta-${d.id}`,"data-recommended":m?"true":void 0,onClick:()=>{n.handleRecoveryCta(d)},children:[d.label,d.requiresReason?" *":""]},d.id)}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!n.dagRunId.trim(),"data-testid":"recovery-dag-preview",title:"在本页侧栏预览,可关闭返回",onClick:()=>{if(!n.dagRunId.trim()){t.setOpError("侧栏预览需要先选择 DAG 运行 ID");return}n.setInspectSplitOpen(!0)},children:"侧栏预览"})]}),n.recoveryReport?u.jsxs("div",{className:"recovery-report","data-testid":"recovery-report",children:[u.jsxs("div",{className:"recovery-report-header",children:[u.jsx("h3",{children:"交接报告摘要"}),u.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"recovery-report-close",onClick:()=>n.setRecoveryReport(null),children:"关闭"})]}),u.jsxs("dl",{className:"recovery-report-facts",children:[u.jsxs("div",{children:[u.jsx("dt",{children:"运行"}),u.jsx("dd",{children:u.jsx("code",{children:n.recoveryReport.runId})})]}),n.recoveryReport.title?u.jsxs("div",{children:[u.jsx("dt",{children:"标题"}),u.jsx("dd",{children:n.recoveryReport.title})]}):null,u.jsxs("div",{children:[u.jsx("dt",{children:"状态"}),u.jsx("dd",{children:n.recoveryReport.status??"—"})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"失败分类"}),u.jsx("dd",{children:n.recoveryReport.category??"—"})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"建议"}),u.jsx("dd",{children:n.recoveryReport.recommendation??"暂无结构化建议"})]})]}),u.jsxs("p",{className:"muted",children:["完整 Markdown 可用 CLI:",u.jsxs("code",{children:["loop-agent dag report --run-id"," ",n.recoveryReport.runId," --markdown"]})]})]}):null,u.jsx(y5,{lane:"dag",cta:n.recoveryConfirm,...c})]}),u.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-worker",children:[u.jsx("h3",{children:"Worker Task 重排队"}),u.jsx("p",{className:"muted",children:"针对 agent-worker Task Pool,不是 DAG run。需要 Task ID;Feature ID 可选。"}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"Task ID(Worker 重排队必填)"}),u.jsx("input",{"data-testid":"recovery-worker-task-id",value:a.taskId,disabled:s,onChange:d=>a.setTaskId(d.target.value.trim()),placeholder:"harness / worker task-id"})]}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"Feature ID(可选)"}),u.jsx("input",{"data-testid":"recovery-feature-id",value:n.featureId,disabled:s,onChange:d=>n.setFeatureId(d.target.value.trim()),placeholder:"feature-id"})]}),u.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-worker",children:n.recoveryLanes.worker.length>0?n.recoveryLanes.worker.map(d=>u.jsxs("button",{type:"button",className:d.id===n.recommendedCtaId?"btn btn-primary":"btn btn-secondary",disabled:s,title:d.guide,"data-testid":`recovery-cta-${d.id}`,"data-recommended":d.id===n.recommendedCtaId?"true":void 0,onClick:()=>{n.handleRecoveryCta(d)},children:[d.label,d.requiresReason?" *":""]},d.id)):u.jsx("p",{className:"muted","data-testid":"recovery-worker-unavailable",children:"当前事实分类下不提供 Worker 重排队。"})}),u.jsx(y5,{lane:"worker",cta:n.recoveryConfirm,...c})]}),u.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row",hidden:!0,children:n.recoveryCtas.map(d=>u.jsx("span",{children:d.id},d.id))}),n.observeLinkMessage?u.jsxs("p",{className:"muted",children:["[",b9[n.observeLinkStatus],"]"," ",n.observeLinkMessage]}):null,n.observeUrl?u.jsx("p",{className:"muted",children:u.jsx("a",{className:"external-link",href:Yi(n.observeUrl),children:n.observeUrl})}):null]})}function iB(e){const{health:t,readiness:n,healthError:a,layers:s,setupBlocked:o,degraded:c,busy:d,runAction:m}=e;return u.jsxs(u.Fragment,{children:[u.jsxs("section",{className:"panel","aria-labelledby":"settings-title",children:[u.jsx("h2",{id:"settings-title",children:"设置"}),u.jsxs("dl",{className:"kv",children:[u.jsxs("div",{children:[u.jsx("dt",{children:"产品"}),u.jsx("dd",{children:t?.productName??"Loop Operator Console"})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"仓库根目录"}),u.jsx("dd",{children:u.jsx("code",{children:t?.repoRoot??"—"})})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"仓库指纹"}),u.jsx("dd",{children:u.jsx("code",{title:t?.repoFingerprint??void 0,children:t?.repoFingerprint?`${t.repoFingerprint.slice(0,12)}…`:"—"})})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"Pi 就绪"}),u.jsxs("dd",{children:[u.jsxs("code",{children:[T5[n]??n,"(",n,")"]}),o?u.jsx("p",{className:"muted",children:"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。请前往「模型与认证」。"}):c?u.jsx("p",{className:"muted",children:"Pi 暂时降级:仍可恢复草稿与需求访谈。"}):null]})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"Inspect"}),u.jsxs("dd",{children:[u.jsx("code",{children:"/inspect/"}),"(同一 Console 进程)"]})]})]}),a?u.jsx("p",{className:"error",children:a}):null]}),u.jsxs("section",{className:"panel","aria-labelledby":"console-update-title",children:[u.jsx("h2",{id:"console-update-title",children:"控制器更新"}),u.jsx("p",{className:"muted",children:"升级本机 Console 所用 npm 包并做确定性安全初始化。有活跃 DAG、Worker、对话回合或无法证明的全局安装时会阻断。观测页只读,不含此入口。"}),u.jsx(K5,{operatorBusy:d})]}),u.jsxs("section",{className:"panel","aria-labelledby":"layers-title",children:[u.jsx("h2",{id:"layers-title",children:"完成语义分层"}),u.jsx("p",{className:"muted",children:"MVP 不执行收尾提交;不显示「任务已关闭/已交付」。"}),u.jsxs("dl",{className:"kv","data-testid":"completion-layers",children:[u.jsxs("div",{children:[u.jsx("dt",{children:"命令"}),u.jsx("dd",{children:Tu(s.command)})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"DAG 生命周期"}),u.jsx("dd",{children:Tu(s.dag)})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"最终验证"}),u.jsx("dd",{children:Tu(s.verification)})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"晋升"}),u.jsx("dd",{children:Tu(s.promote)})]}),u.jsxs("div",{children:[u.jsx("dt",{children:"任务关闭"}),u.jsx("dd",{children:"不可用(MVP)"})]})]})]})]})}function sB(e){const t=[`fragments=${e.fragmentCount}`,`canonical=${e.canonicalRequirementCount}`,`context-only=${e.contextOnlyCount}`,`duplicate=${e.duplicateCount}`,`unresolved=${e.unresolvedCount}`,`conflict=${e.conflictCount}`];return e.bindingSchemaVersion===2&&(t.push(`binding=v2${e.stale?" · STALE(输入漂移)":""}`),e.ledgerSha256&&t.push(`ledgerSha256=${e.ledgerSha256}`),e.inputDigest&&t.push(`inputDigest=${e.inputDigest}`)),t.join(" ")}function ng(e){const{ledgerLoading:t=!1,ledgerError:n=null,ledgerSummary:a=null}=e;return u.jsxs("div",{className:"contract-checks","data-testid":"ledger-summary-block","aria-busy":t||void 0,"aria-labelledby":"ledger-summary-heading",children:[u.jsx("h4",{id:"ledger-summary-heading",children:"Source fidelity ledger"}),t?u.jsxs("p",{className:"muted",role:"status",children:[u.jsx("span",{className:"sr-only",children:"ledger 加载中"}),"加载中…"]}):n?u.jsxs("p",{className:"muted",role:"alert",children:["ledger 只读接口失败:",n,"(安全降级,不展示敏感内容)"]}):!a||a.present!==!0?u.jsx("p",{className:"empty",role:"status",children:"无 source fidelity ledger(任务无引用或 ledger 缺失,不伪造计数)"}):u.jsxs(u.Fragment,{children:[u.jsxs("p",{children:[u.jsx("strong",{children:"gate"}),": ",h9(a.gateStatus),a.bindingSchemaVersion===2?u.jsxs(u.Fragment,{children:[" ",u.jsxs("code",{"data-testid":"ledger-binding-version",children:["binding v2",a.stale?" · STALE":""]})]}):null,a.failureCode?u.jsxs(u.Fragment,{children:[" ",u.jsx("code",{"data-testid":"ledger-failure-code",children:a.failureCode})]}):null]}),u.jsx("pre",{className:"cmd","data-testid":"ledger-summary",children:sB(a)}),a.exclusions.length>0?u.jsx("ul",{"data-testid":"ledger-exclusions",children:a.exclusions.slice(0,10).map(s=>u.jsxs("li",{className:"muted",children:[u.jsx("code",{children:s.fragmentId}),": ",s.reason]},s.fragmentId))}):null]})]})}function oB(e){const{busy:t,taskId:n,confirmationId:a,confirmationDetails:s,ledgerLoading:o=!1,ledgerError:c=null,ledgerSummary:d=null,runAction:m,onConfirmAndRun:h}=e;return u.jsxs("div",{"data-testid":"panel-dag-confirm",children:[u.jsx("h3",{children:"DAG 确认(§5.5)"}),u.jsxs("ul",{className:"checklist",children:[u.jsx("li",{children:"源绑定(source)"}),u.jsx("li",{children:"Writer 写集范围(writer-scope)"}),u.jsx("li",{children:"验证命令(verification)"}),u.jsx("li",{children:"人工门禁(human-gates)"})]}),s?u.jsx("pre",{className:"cmd",children:JSON.stringify(s,null,2).slice(0,4e3)}):null,u.jsx(ng,{ledgerLoading:o,ledgerError:c,ledgerSummary:d}),u.jsxs("div",{className:"cta-row",children:[u.jsx("button",{type:"button",className:"btn btn-primary",disabled:t,onClick:()=>{m("prepareDagConfirmation",{taskId:n,dagHandle:`${n}.dag.json`,profile:"auto"})},children:"生成 DAG 并准备确认"}),u.jsx("button",{type:"button",className:"btn btn-primary",disabled:t||!a,onClick:h,children:"开始运行"})]}),a?u.jsxs("p",{className:"muted",children:["确认 ID: ",u.jsx("code",{children:a})]}):null]})}function lB(e){const{busy:t,degraded:n,taskId:a,assessmentId:s,contractValidateOk:o,contractValidateSummary:c,contractDiffSummary:d,contractApplied:m,spineOk:h,ledgerLoading:p=!1,ledgerError:g=null,ledgerSummary:x=null,onRerunPreflight:y,onApplyContract:S,onRetrySpine:E}=e;return u.jsxs("div",{"data-testid":"panel-contract",children:[u.jsx("h3",{children:"契约落地"}),u.jsx("p",{className:"muted",children:"进入本步后自动跑确定性校验与差异(非 AI 代判)。写入仓库仍需你人工确认一次;应用成功后会自动跑 Spine 审计。"}),u.jsxs("p",{className:"muted",children:["评估 ID: ",u.jsx("code",{children:s??"—"})]}),u.jsxs("div",{className:"contract-checks",children:[u.jsxs("p",{children:[u.jsx("strong",{children:"校验"}),":"," ",o===null?t?"进行中…":"等待开始":o?"通过":"未通过"]}),c?u.jsx("pre",{className:"cmd","data-testid":"contract-validate-summary",children:c}):null,u.jsxs("p",{children:[u.jsx("strong",{children:"差异"}),d?"":":尚未拉取"]}),d?u.jsx("pre",{className:"cmd","data-testid":"contract-diff-summary",children:d}):null,m?u.jsxs("p",{children:[u.jsx("strong",{children:"Spine"}),":"," ",h===null?"待检查":h?"通过":"未通过"]}):null]}),u.jsx(ng,{ledgerLoading:p,ledgerError:g,ledgerSummary:x}),u.jsxs("div",{className:"cta-row",children:[u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:t||!a.trim(),onClick:y,children:"重新校验"}),u.jsx("button",{type:"button",className:"btn btn-primary","data-testid":"contract-apply",disabled:t||n||!s||o!==!0||m,onClick:S,children:"确认并应用契约"}),m&&h===!1?u.jsx("button",{type:"button",className:"btn btn-primary",disabled:t,onClick:E,children:"重试 Spine"}):null]})]})}function cB(e){const{busy:t,taskKind:n,onTaskKindChange:a,workflowHint:s,prd:o,engineering:c,onEngineeringChange:d,onImport:m}=e,h=t||o.prdFileReading;return u.jsxs("div",{"data-testid":"panel-import-prd",children:[u.jsx("h3",{children:"导入需求"}),u.jsx("p",{className:"muted",children:"粘贴、选择或拖入一份或多份 PRD / 需求 Markdown。多文件会分别归档到 source/references,并合成一份可编辑正文。创建前可继续编辑。 系统会对 PRD 做确定性/语义结构化;工程边界(路径与验证)须人类确认,不会由模型编造。"}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"流程类型"}),u.jsx("select",{"data-testid":"workflow-kind-select",value:n,disabled:t||o.prdFileReading,onChange:p=>a(p.target.value),children:op.map(p=>u.jsx("option",{value:p.kind,children:p.label},p.kind))})]}),u.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-hint",children:[s," · taskKind=",u.jsx("code",{children:n})]}),u.jsxs("div",{className:`prd-drop-zone${o.prdDragOver?" is-dragover":""}`,"data-testid":"prd-drop-zone","data-dragover":o.prdDragOver?"true":"false",onDragEnter:p=>o.onDragEnter(p,h),onDragOver:p=>{p.preventDefault(),p.stopPropagation()},onDragLeave:o.onDragLeave,onDrop:p=>o.onDrop(p,h),children:[u.jsxs("div",{className:"prd-upload-toolbar",children:[u.jsxs("label",{className:`btn btn-ghost prd-upload-btn${h?" is-disabled":""}`,children:["选择需求文档",u.jsx("input",{type:"file",accept:$9,multiple:!0,hidden:!0,disabled:h,"data-testid":"prd-file-input",onChange:p=>{const g=p.currentTarget;o.loadPrdFromFiles(g.files).finally(()=>{g.value=""})}})]}),u.jsxs("span",{className:"muted prd-upload-hint",children:["支持多文件 .md / .markdown / .txt,单文件最大"," ",cp(lp),",最多 ",cd," 个"]}),o.prdDocuments.length>0?u.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"prd-recompose",disabled:h,onClick:o.recomposeDocuments,children:"按文件重新合成"}):null]}),o.prdDocuments.length>0?u.jsx("ul",{className:"prd-file-list","data-testid":"prd-file-list",children:o.prdDocuments.map((p,g)=>u.jsxs("li",{className:g===o.prdPrimaryIndex?"is-primary":void 0,"data-testid":`prd-file-item-${g}`,children:[u.jsxs("span",{className:"prd-file-item-name",children:[p.fileName,g===o.prdPrimaryIndex?u.jsx("span",{className:"prd-file-primary-tag",children:"主"}):null,u.jsxs("span",{className:"muted",children:[" ","· ",cp(p.sourceBytes)]})]}),u.jsxs("span",{className:"prd-file-item-actions",children:[u.jsx("button",{type:"button",className:"btn btn-ghost",disabled:h||g===o.prdPrimaryIndex,onClick:()=>o.setPrimaryDocument(g),children:"设为主"}),u.jsx("button",{type:"button",className:"btn btn-ghost",disabled:h||g===0,onClick:()=>o.moveDocument(g,-1),children:"上移"}),u.jsx("button",{type:"button",className:"btn btn-ghost",disabled:h||g===o.prdDocuments.length-1,onClick:()=>o.moveDocument(g,1),children:"下移"}),u.jsx("button",{type:"button",className:"btn btn-ghost",disabled:h,onClick:()=>o.removeDocument(g),children:"移除"})]})]},`${p.fileName}-${g}`))}):null,o.prdDocuments.length>0?u.jsxs("div",{className:"prd-file-meta",children:[u.jsxs("span",{children:["分卷=上传原件(将分别归档);正文=本会话采用稿",o.prdComposedDirty?"(已手动编辑)":""]}),u.jsx("button",{type:"button",className:"btn btn-ghost prd-file-clear","data-testid":"prd-file-clear",disabled:h,onClick:o.clearDocuments,children:"清除来源列表"})]}):null,o.prdDragOver?u.jsx("p",{className:"prd-drop-hint","data-testid":"prd-drop-hint",children:"释放以载入"}):null,u.jsxs("label",{className:"field prd-text-field",children:[u.jsx("span",{className:"muted",children:"PRD Markdown"}),u.jsx("textarea",{rows:10,value:o.prdText,disabled:h,"data-testid":"prd-textarea",onChange:p=>o.onPrdTextChange(p.target.value)})]})]}),o.prdFileError?u.jsx("p",{className:"prd-file-error",role:"alert","aria-live":"polite","data-testid":"prd-file-error",children:o.prdFileError}):null,u.jsxs("details",{className:"engineering-boundary","data-testid":"engineering-boundary",children:[u.jsx("summary",{children:"工程边界(可选,人类确认)"}),u.jsxs("p",{className:"muted",children:["逗号或换行分隔。留空则 intake 后进入访谈补齐;不会自动填",u.jsx("code",{children:"src/worker/console/**"})," 模板。"]}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"allowedPaths"}),u.jsx("textarea",{rows:2,value:c.allowedPathsText,disabled:h,"data-testid":"prd-allowed-paths",placeholder:"src/**, test/**",onChange:p=>d({allowedPathsText:p.target.value})})]}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"forbiddenPaths"}),u.jsx("textarea",{rows:2,value:c.forbiddenPathsText,disabled:h,"data-testid":"prd-forbidden-paths",placeholder:".harness/**, node_modules/**",onChange:p=>d({forbiddenPathsText:p.target.value})})]}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"verifyCommands(label:command 或纯命令)"}),u.jsx("textarea",{rows:2,value:c.verifyCommandsText,disabled:h,"data-testid":"prd-verify-commands",placeholder:"typecheck:npm run typecheck",onChange:p=>d({verifyCommandsText:p.target.value})})]})]}),u.jsx("div",{className:"cta-row",children:u.jsxs("button",{type:"button",className:`btn btn-primary${t?" is-loading":""}`,disabled:t||o.prdFileReading||!o.prdText.trim(),"aria-busy":t||void 0,onClick:m,children:[t?u.jsx("span",{className:"spinner","aria-hidden":"true"}):null,t?"导入中…":"导入并创建任务"]})})]})}function uB(e){const{busy:t,taskId:n,taskTitle:a,taskKind:s,sessionId:o,question:c,answerText:d,onAnswerTextChange:m,draftSummary:h,assessmentId:p,runAction:g}=e;return u.jsxs("div",{"data-testid":"panel-interview",children:[u.jsx("h3",{children:"需求访谈(grill-me)"}),u.jsx("p",{className:"muted",children:"一次一问;也可跳过:系统会按推荐补齐草稿并签发评估,随后进入校验。 访谈中不可应用契约 / 运行 DAG / 对账。"}),h?u.jsx("pre",{className:"cmd","data-testid":"draft-summary",children:JSON.stringify(h,null,2)}):null,u.jsxs("div",{className:"cta-row",style:{marginBottom:"0.75rem"},children:[!o||!c?u.jsx("button",{type:"button",className:"btn btn-primary",disabled:t||!n.trim(),onClick:()=>{g("interviewStart",{taskId:n,title:a,taskKind:s})},children:"开始 / 继续访谈"}):null,u.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"interview-skip",disabled:t||!n.trim(),onClick:()=>{g("interviewSkip",{taskId:n,title:a,taskKind:s})},children:"跳过访谈"})]}),o&&c?u.jsxs("div",{className:"interview-card",children:[u.jsxs("p",{className:"interview-q",children:[u.jsx("strong",{children:c.id})," · 风险=",C5[c.risk??""]??c.risk??"—"]}),u.jsx("p",{children:c.text}),c.recommendation?u.jsxs("p",{className:"muted",children:["推荐:",c.recommendation]}):null,u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"你的回答(覆盖推荐)"}),u.jsx("textarea",{rows:3,value:d,disabled:t,onChange:x=>m(x.target.value)})]}),u.jsxs("div",{className:"cta-row",children:[u.jsx("button",{type:"button",className:"btn btn-primary",disabled:t,onClick:()=>{g("interviewTurn",{sessionId:o,questionId:c.id,response:"accept-recommendation"}).then(()=>m(""))},children:"接受推荐"}),u.jsx("button",{type:"button",className:"btn btn-primary",disabled:t||!d.trim(),onClick:()=>{g("interviewTurn",{sessionId:o,questionId:c.id,response:"override",text:d}).then(()=>m(""))},children:"提交自定义回答"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:t||c.risk==="high",onClick:()=>{g("interviewTurn",{sessionId:o,questionId:c.id,response:"defer",text:d||c.recommendation}).then(()=>m(""))},children:"暂缓(非高风险)"})]})]}):null,p?u.jsxs("p",{className:"muted",children:["评估 ID: ",u.jsx("code",{children:p})]}):null]})}function dB({progress:e}){const t=e.total>0?Math.round(e.finished/e.total*100):0;return u.jsxs("div",{className:"run-progress","data-testid":"run-progress",children:[u.jsxs("div",{className:"run-progress-head",children:[u.jsxs("b",{children:["节点进度 ",e.finished,"/",e.total||"—",e.total>0?`(${t}%)`:""]}),u.jsx("span",{className:`run-progress-status${e.stalled?" is-stalled":""}`,"data-testid":"run-progress-status",children:e.effectiveStatus??"未知状态"})]}),u.jsx("div",{className:"run-progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":e.total,"aria-valuenow":e.finished,"aria-label":"DAG 节点完成进度",children:u.jsx("span",{style:{width:`${t}%`}})}),u.jsx("p",{className:"run-progress-current","data-testid":"run-progress-current",children:e.running?u.jsxs(u.Fragment,{children:["当前节点:",u.jsx("strong",{children:e.running.label}),"(已运行 ",Xp(e.currentNodeElapsedMs),")"]}):e.terminal?u.jsxs(u.Fragment,{children:["运行已结束(总时长 ",Xp(e.runElapsedMs),")"]}):u.jsx(u.Fragment,{children:"暂无正在运行的节点"})}),e.stalled?u.jsx("p",{className:"run-progress-stall","data-testid":"run-progress-stall",children:"疑似停滞:超过阈值没有实质进展。可打开检视查看节点活动,或到恢复页 使用协作中止 / 诊断入口判断是否继续等待。"}):null,e.failed?u.jsxs("p",{className:"run-progress-failed","data-testid":"run-progress-failed",children:["失败节点:",u.jsx("strong",{children:e.failed.label}),e.failed.errorPreview?` — ${e.failed.errorPreview}`:""]}):null]})}function fB(e){const{busy:t,confirmationId:n,operationId:a,dagRunId:s,observeBusy:o,ledgerLoading:c=!1,ledgerError:d=null,ledgerSummary:m=null,sseLog:h,progress:p,runAction:g,onStopFollow:x,onShowInspectSplit:y,onOpenInspectSplit:S}=e;return u.jsxs("div",{"data-testid":"panel-run",children:[u.jsx("h3",{children:"运行详情"}),u.jsxs("div",{className:"meta-row",children:[u.jsxs("div",{children:["操作 ID: ",u.jsx("code",{children:a??"—"})]}),u.jsxs("div",{children:["确认 ID: ",u.jsx("code",{children:n??"—"})]})]}),u.jsx(ng,{ledgerLoading:c,ledgerError:d,ledgerSummary:m}),u.jsxs("div",{className:"cta-row",children:[u.jsx("button",{type:"button",className:"btn btn-primary",disabled:t||!n,onClick:()=>{g("runDag",{confirmationId:n},{clientRequestId:ad("run")})},children:"重新运行"}),u.jsx("button",{type:"button",className:"btn btn-secondary",onClick:x,children:"停止跟随日志"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!s.trim(),onClick:y,children:"打开检视"}),u.jsx("button",{type:"button",className:"btn btn-ghost",disabled:o||!s.trim(),title:"在本页侧栏预览当前运行的 DAG,可关闭返回",onClick:S,children:"侧栏预览"})]}),p?u.jsx(dB,{progress:p}):null,u.jsxs("details",{className:"run-sse-log",children:[u.jsx("summary",{children:"原始事件日志(最近 80 条)"}),u.jsx("pre",{className:"cmd","data-testid":"sse-log",children:h.join(`
|
|
449
|
+
`)||"(尚无事件)"})]})]})}const W7=[2e3,2e3,4e3,4e3,8e3,8e3,15e3,15e3,3e4,3e4];function mB(e,t){if(e===!0)return{kind:"own"};if(e===!1)return{kind:"clear"};const n=W7[t];return n===void 0?{kind:"give-up"}:{kind:"retry",delayMs:n}}W7.reduce((e,t)=>e+t,0);function hB(){return{baseline:null,ownedRunId:"",pendingSelection:""}}function pB(e,t){const n=e.task===void 0,a=!n&&e.task!==t.task,s=!n&&e.dispatch!==t.dispatchId,o={...e,task:t.task,dispatch:t.dispatchId,pendingSelection:""};if(a)return o.baseline=null,o.ownedRunId="",{state:o,observation:{action:"reset-selection"}};if(s&&(o.ownedRunId="",t.selectedRunId))return o.baseline=t.selectedRunId,{state:o,observation:{action:"invalidate-selection"}};const c=t.selectedRunId;return c&&c!==o.ownedRunId?(o.pendingSelection=c,{state:o,observation:{action:"verify-ownership"}}):{state:o,observation:{action:c?"idle":"probe"}}}function x5(e){return{...e,baseline:null}}function gB(e,t){return{...e,baseline:t??""}}function vB(e,t){return!t.ok||!t.dagRunId?{state:e,acceptedRunId:null}:e.baseline===null||t.dagRunId===e.baseline?{state:e,acceptedRunId:null}:{state:{...e,ownedRunId:t.dagRunId},acceptedRunId:t.dagRunId}}function bB(e,t){return t?{state:{...e,ownedRunId:e.pendingSelection,pendingSelection:""},clearSelection:!1}:{state:{...e,ownedRunId:"",pendingSelection:"",baseline:null},clearSelection:!0}}async function w5(e){try{const{status:t,body:n}=await Io("observeLink",{taskId:e});if(t>=400||n.ok===!1)return{ok:!1};const a=n.result??{};return{ok:!0,dagRunId:(typeof a.dagRunId=="string"?a.dagRunId.trim():"")||null}}catch{return{ok:!1}}}async function yB(e,t){try{const n=await fetch(jr(`/api/dag-runs/${encodeURIComponent(e)}`),{credentials:"same-origin"});if(n.status===404)return!1;if(!n.ok)return null;const a=await n.json(),s=typeof a.taskId=="string"?a.taskId.trim():"";return s?s===t.trim():null}catch{return null}}function xB(e){const{shell:t,actions:n,wizard:a,prd:s,recovery:o}=e,{busy:c,step:d,setupBlocked:m,degraded:h}=t,p=w.useRef(hB()),g=w.useRef(0),[x,y]=w.useState(""),S=w.useCallback(N=>{const _=++g.current;p.current=x5(p.current);const I=async P=>{const F=await w5(N);if(g.current===_){if(F.ok){p.current=gB(p.current,F.dagRunId);return}P>0&&window.setTimeout(()=>{I(P-1)},1500)}};I(8)},[]);w.useEffect(()=>{if(d!=="dag-confirm")return;const N=a.taskId.trim();if(!N){g.current+=1,p.current=x5(p.current);return}S(N)},[d,a.taskId,S]),w.useEffect(()=>{if(d!=="run")return;const N=a.taskId.trim();if(!N)return;const _=pB(p.current,{task:N,dispatchId:n.operationId??null,selectedRunId:o.dagRunId.trim()});switch(p.current=_.state,y(_.state.ownedRunId),_.observation.action){case"reset-selection":{o.setManualRunId(!1),o.setDagRunId(""),S(N);return}case"invalidate-selection":{o.setManualRunId(!1),o.setDagRunId("");return}case"verify-ownership":{const I=_.state.pendingSelection;let P=!1,F=0;const M=async A=>{if(P)return;const z=await yB(I,N);if(P)return;const G=mB(z,A);if(G.kind==="own"||G.kind==="clear"){const D=bB(p.current,G.kind==="own");p.current=D.state,y(D.state.ownedRunId),D.clearSelection&&(o.setManualRunId(!1),o.setDagRunId(""),S(N));return}G.kind==="retry"&&(F=window.setTimeout(()=>{M(A+1)},G.delayMs))};return M(0),()=>{P=!0,window.clearTimeout(F)}}case"idle":return;case"probe":{p.current.baseline===null&&S(N);let I=!1,P=0,F=0;const M=async()=>{if(I)return;if(p.current.baseline===null){F+=1,F<120&&(P=window.setTimeout(()=>{M()},1e3));return}const A=await w5(N);if(I)return;F+=1;const z=vB(p.current,A);if(p.current=z.state,z.acceptedRunId){y(z.state.ownedRunId),o.setManualRunId(!0),o.setDagRunId(z.acceptedRunId);return}F<120&&(P=window.setTimeout(()=>{M()},2500))};return P=window.setTimeout(()=>{M()},1200),()=>{I=!0,window.clearTimeout(P)}}}},[d,n.operationId,a.taskId,o.dagRunId,o.setManualRunId,o.setDagRunId,S]);const E=o.dagRunId===x?o.dagRunId:"",R=O7(d==="run"?E:"");return u.jsxs("section",{className:"panel task-ops","aria-labelledby":"task-ops-title",children:[u.jsx("h2",{id:"task-ops-title",children:"任务操作"}),u.jsx("p",{className:"panel-lead",children:"按 Happy Path 推进;契约落地一步内自动校验,人工确认写入。"}),u.jsx("ol",{className:"wizard-steps","data-testid":"wizard-steps",children:a.wizardSteps.map((N,_)=>u.jsxs("li",{"data-active":d===N.id,"data-done":_<a.stepIndex,children:[u.jsx("span",{className:"step-index",children:String(_+1).padStart(2,"0")}),u.jsx("span",{className:"step-label",children:N.label})]},N.id))}),u.jsxs("label",{className:"field",children:[u.jsx("span",{className:"muted",children:"任务 ID"}),u.jsx("input",{"data-testid":"task-id-input",value:a.taskId,disabled:c||m||d==="import-prd",placeholder:d==="import-prd"?"导入需求后自动生成":"task-id",onChange:N=>a.setTaskId(N.target.value.trim())})]}),a.taskTitle?u.jsxs("p",{className:"workflow-hint","data-testid":"task-title-chip",children:["任务名称:",a.taskTitle]}):null,d!=="import-prd"&&!m?u.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-chip",children:["当前流程:",a.workflowMeta.label," ·"," ",u.jsx("code",{children:a.taskKind})]}):null,m||d==="setup"?u.jsxs("div",{className:"empty-state","data-testid":"setup-gate",children:[u.jsx("p",{className:"empty-title",children:"需要先完成设置"}),u.jsx("p",{className:"muted",children:"请先在「模型与认证」完成 Pi 就绪,再导入需求与访谈。"}),u.jsxs("div",{className:"cta-row",children:[u.jsx("button",{type:"button",className:"btn btn-primary",disabled:c,onClick:()=>{t.selectNav("models"),n.runAction("refreshReadiness",{}).then(()=>t.loadHealth())},children:"刷新就绪状态"}),u.jsx("button",{type:"button",className:"btn btn-primary",disabled:c,onClick:()=>{n.runAction("doctor",{})},children:"运行诊断"}),u.jsx("pre",{className:"cmd",children:E5})]})]}):u.jsxs("div",{className:"wizard-body","data-testid":"wizard-body",children:[d==="import-prd"&&u.jsx(cB,{busy:c,taskKind:a.taskKind,onTaskKindChange:a.setTaskKind,workflowHint:a.workflowMeta.hint,prd:s,engineering:a.engineering,onEngineeringChange:a.setEngineering,onImport:()=>{a.importPrdAndCreate()}}),d==="interview"&&u.jsx(uB,{busy:c,taskId:a.taskId,taskTitle:a.taskTitle,taskKind:a.taskKind,sessionId:a.sessionId,question:a.question,answerText:a.answerText,onAnswerTextChange:a.setAnswerText,draftSummary:a.draftSummary,assessmentId:a.assessmentId,runAction:n.runAction}),d==="contract"&&u.jsx(lB,{busy:c,degraded:h,taskId:a.taskId,assessmentId:a.assessmentId,contractValidateOk:a.contractValidateOk,contractValidateSummary:a.contractValidateSummary,contractDiffSummary:a.contractDiffSummary,contractApplied:a.contractApplied,spineOk:a.spineOk,ledgerLoading:a.ledgerLoading,ledgerError:a.ledgerError,ledgerSummary:a.ledgerSummary,onRerunPreflight:()=>{a.runContractPreflight(!0)},onApplyContract:()=>{a.applyContractThenSpine()},onRetrySpine:()=>{a.retrySpineOnly()}}),d==="dag-confirm"&&u.jsx(oB,{busy:c,taskId:a.taskId,confirmationId:n.confirmationId,confirmationDetails:n.confirmationDetails,ledgerLoading:a.ledgerLoading,ledgerError:a.ledgerError,ledgerSummary:a.ledgerSummary,runAction:n.runAction,onConfirmAndRun:()=>{a.confirmAndRunDag()}}),d==="run"&&u.jsx(fB,{busy:c,confirmationId:n.confirmationId,operationId:n.operationId,dagRunId:E,observeBusy:t.observeBusy,ledgerLoading:a.ledgerLoading,ledgerError:a.ledgerError,ledgerSummary:a.ledgerSummary,sseLog:n.sseLog,progress:R,runAction:n.runAction,onStopFollow:n.stopFollowSse,onShowInspectSplit:()=>{E.trim()&&o.setInspectSplitOpen(!0)},onOpenInspectSplit:()=>{E.trim()&&o.openInspectSplit()}})]})]})}function wB(e,t){if(e.has(t))return e instanceof Set?e:new Set(e);const n=new Set(e);return n.add(t),n}function kB(e,t,n){return n===!1?e instanceof Set?e:new Set(e):wB(e,t)}function wo(e){return{hidden:!e,inert:!e,"aria-hidden":!e}}function SB(e){const{active:t,operateTab:n,shell:a,actions:s,wizard:o,prd:c,recovery:d}=e,[m,h]=w.useState(()=>new Set),p=kB(m,n,t);return p!==m&&h(p),u.jsxs("section",{id:"workspace-operate",className:"workspace-pane workspace-pane--operate","aria-label":"操作工作区",hidden:!t,"aria-hidden":!t,inert:!t,tabIndex:t?-1:void 0,children:[p.has("tasks")?u.jsx("div",{className:"operate-subpane",...wo(n==="tasks"),children:u.jsx(xB,{shell:a,actions:s,wizard:o,prd:c,recovery:d})}):null,p.has("recovery")?u.jsx("div",{className:"operate-subpane",...wo(n==="recovery"),children:u.jsx(aB,{shell:a,recovery:d,wizard:o})}):null,p.has("night")?u.jsx("div",{className:"operate-subpane",...wo(n==="night"),children:u.jsx(Gz,{busy:a.busy,runAction:s.runAction,isActionSuccess:s.isActionSuccess,setOpError:a.setOpError})}):null,p.has("models")?u.jsx("div",{className:"operate-subpane",...wo(n==="models"),children:u.jsx(Xz,{busy:a.busy,readiness:a.readiness,readinessReport:a.readinessReport,health:a.health,onRefreshReadiness:()=>{s.runAction("refreshReadiness",{}).then(()=>a.loadHealth())},onSaveMatrix:async g=>{const x=await s.runAction("savePiModelMatrix",{matrix:g});return await a.loadHealth(),x}})}):null,p.has("settings")?u.jsx("div",{className:"operate-subpane",...wo(n==="settings"),children:u.jsx(iB,{health:a.health,readiness:a.readiness,healthError:a.healthError,layers:a.layers,setupBlocked:a.setupBlocked,degraded:a.degraded,busy:a.busy,runAction:s.runAction})}):null,p.has("pi-plugins")?u.jsx("div",{className:"operate-subpane",...wo(n==="pi-plugins"),children:u.jsx(nB,{})}):null]})}async function EB(){return await import("/inspect/inspect-workspace.js")}function sp(e,t){if(!t.active){e.setActive(!1),e.updateRoute(t.hash);return}e.updateRoute(t.hash),e.setActive(!0)}function TB(e){const{active:t,hash:n,onNavigate:a}=e,s=w.useRef(null),o=w.useRef(null),c=w.useRef(0),d=w.useRef(null),m=w.useRef(a);m.current=a;const h=w.useRef(t),p=w.useRef(n),g=w.useRef(e.workspaceId);h.current=t,p.current=n,g.current=e.workspaceId;const[x,y]=w.useState("idle"),[S,E]=w.useState(!1),R=(I,P,F)=>{I.then(M=>{if(P===c.current){if(!M){y("error");return}o.current=M,sp(M,{active:h.current,hash:p.current}),y("ready")}}).catch(()=>{P===c.current&&y("error")}).finally(()=>{d.current===I&&(d.current=null),F?.()})},N=async()=>{const I=await EB();if(!s.current)return null;typeof I.prepareInspectWorkspace=="function"&&await I.prepareInspectWorkspace(s.current);const P={active:h.current,hash:p.current};return o.current?(sp(o.current,P),o.current):I.mountInspectWorkspace(s.current,{hosted:!0,autoStart:!1,hash:P.hash,active:P.active,workspaceId:g.current??void 0,onNavigate:F=>m.current(F)})};w.useEffect(()=>{window.postMessage({type:"loop-console:workspace-scope",workspaceId:e.workspaceId??null},"*")},[e.workspaceId]),w.useEffect(()=>{if(o.current){sp(o.current,{active:t,hash:n});return}if(d.current||!t||x==="error")return;const I=++c.current;y("loading");const P=N();d.current=P,R(P,I)},[t,n,x]),w.useEffect(()=>()=>{o.current?.destroy(),o.current=null},[]);const _=()=>{if(S||d.current)return;E(!0),y("loading");const I=++c.current,P=N();d.current=P,R(P,I,()=>E(!1))};return u.jsxs("section",{id:"workspace-inspect",className:"workspace-pane workspace-pane--inspect","aria-label":"观测工作区",hidden:!t,"aria-hidden":!t,inert:!t,tabIndex:t?-1:void 0,children:[u.jsx("div",{ref:s,className:"inspect-workspace-root"}),x==="loading"&&!o.current?u.jsx("p",{className:"muted",role:"status",children:"正在加载观测工作区…"}):null,x==="error"?u.jsxs("div",{className:"workspace-inspect-error",role:"alert",children:[u.jsx("p",{children:"观测工作区加载失败。"}),u.jsx("button",{type:"button",className:"btn btn-secondary",disabled:S,onClick:_,children:"重试"})]}):null]})}function CB(e){const t=e==="chat"?"workspace-chat":e==="operate"?"workspace-operate":"workspace-inspect",n=document.getElementById(t);if(!(n instanceof HTMLElement))return;if(e==="chat"){n.focus();return}(n.querySelector('button:not([disabled]), [href], textarea, input, select, [tabindex]:not([tabindex="-1"])')??n).focus()}function NB(){const e=j9(),t=Ez({}),n=w.useRef(()=>{}),a=w.useCallback(B=>n.current(B),[]),[s,o]=w.useState("chat"),[c,d]=w.useState(null),m=c?.workspaceId??t.unknownWorkspaceId,h=m?null:t.workspaceId,p=U9({shell:e,applyInterviewPayload:a,workspaceId:h}),g=nk(),x=Rk({shell:e,actions:p,prd:g}),y=Ck({shell:e,actions:p,wizard:x}),[S,E]=w.useState(()=>hm(window.localStorage)),[R,N]=w.useState(()=>wk(window.localStorage)),[_,I]=w.useState(()=>vm(window.location,{lastOperateTab:hm(window.localStorage)})?.sessionId??null);w.useEffect(()=>{n.current=x.applyInterviewPayload}),w.useEffect(()=>{m||t.loading||e.loadHealth(t.workspaceId)},[e.loadHealth,m,t.loading,t.workspaceId]);const P=w.useRef(h);w.useEffect(()=>{P.current!==h&&(P.current=h,p.resetForWorkspaceScope(),x.setTaskId(""),y.setDagRunId(""),y.setFromNodeId(""),y.setFeatureId(""),y.setRecoveryConfirm(null),y.setInspectSplitOpen(!1),y.setInterruptIntent(!1),e.setBusy(!1),e.setOpError(null),e.setOpMessage(null))},[p,y,h,e,x]);const[F,M]=w.useState(null),A=w.useRef(0);w.useEffect(()=>{e.opError&&(A.current+=1,M({id:A.current,kind:"error",message:e.opError}))},[e.opError]);const z=w.useCallback((B,Y={},me={})=>{if(B==="operate"){const O=Y.operateTab??S;E(O),xk(O,window.localStorage),e.selectNav(O)}else B==="chat"?(e.selectNav("chat"),"sessionId"in Y&&I(Y.sessionId??null)):e.selectNav("recovery");Y.taskId&&x.setTaskId(Y.taskId),Y.dagRunId&&y.setDagRunId(Y.dagRunId),Y.fromNodeId&&y.setFromNodeId(Y.fromNodeId),Y.featureId&&y.setFeatureId(Y.featureId),y.setInterruptIntent(Y.intent==="interrupt"),o(B);const j=B==="inspect"?fd(Y.inspectHref??R,Y.workspaceId??h):pm({workspace:B,operateTab:Y.operateTab??S,...h?{workspaceId:h}:{},...Y});B==="inspect"&&(N(j),kk(j,window.localStorage));const U=j.startsWith("/#")?j.slice(1):j.startsWith("#")?j:`#${j}`;(window.location.hash.startsWith("#")?window.location.hash:`#${window.location.hash}`)!==U&&(me.replace&&typeof history.replaceState=="function"?history.replaceState(null,"",U):window.location.hash=U),queueMicrotask(()=>CB(B))},[R,S,y.setDagRunId,y.setFeatureId,y.setFromNodeId,y.setInterruptIntent,h,e.selectNav,x.setTaskId]),G=w.useCallback((B,Y={})=>{if(B==="chat"){z("chat",Y);return}z("operate",{...Y,operateTab:B})},[z]),D=w.useCallback(B=>{const Y=Qi(B),me=vm({pathname:"/",hash:Y.startsWith("/#")?Y.slice(1):Y});if(!me){js(Y);return}z(me.workspace,{...me,operateTab:me.operateTab,inspectHref:me.canonicalHref},{replace:me.replace})},[z]),K=w.useCallback(()=>{const B=vm(window.location,{lastOperateTab:hm(window.localStorage)});if(B){const Y=yk(B.workspaceId,t.workspaces.map(me=>me.workspaceId));if(Y.status==="unknown-workspace"){d({workspaceId:Y.workspaceId});return}d(null),B.workspaceId&&B.workspaceId!==h&&t.selectWorkspace(B.workspaceId),z(B.workspace,{...B,operateTab:B.operateTab,inspectHref:B.canonicalHref},{replace:B.replace});return}d(null),z("chat",{})},[z,h,t]),q=w.useCallback(B=>{t.selectWorkspace(B),z("chat",{workspaceId:B,sessionId:void 0},{replace:!0})},[z,t]),Q=w.useCallback(B=>{if(d(null),t.selectWorkspace(B),s==="chat"){z("chat",{workspaceId:B,sessionId:void 0},{replace:!0});return}const Y=s==="operate"?dd(S,{workspaceId:B}):fd(R,B);D(Y)},[z,R,D,S,s,t]);w.useEffect(()=>(K(),window.addEventListener("hashchange",K),()=>window.removeEventListener("hashchange",K)),[K]);const V=Sk(h),X=u1(),W=dd(S,h?{workspaceId:h}:{});return u.jsx(u.Fragment,{children:u.jsxs("div",{className:`console-app${s==="chat"?" is-chat-focus":s==="inspect"?" is-inspect-focus":""}`,children:[u.jsx(_k,{nav:e.nav,primary:s,chatHref:X,operateHref:W,readiness:e.readiness,setupBlocked:e.setupBlocked,degraded:e.degraded,inspectHref:V,workspaces:t.workspaces,workspaceId:h,workspacesLoading:t.loading,onSelectWorkspace:Q,onNavigate:D}),u.jsxs("div",{className:`console-shell${s==="chat"?" is-chat-focus":s==="inspect"?" is-inspect-focus":""}`,children:[u.jsx(Mk,{opError:e.opError,opMessage:e.opMessage}),u.jsx(V5,{toast:F,onDismiss:()=>M(null)}),m?u.jsxs("div",{className:"workspace-route-error",role:"alert","aria-live":"polite",children:[u.jsxs("p",{children:["URL 指向的 Workspace",u.jsx("code",{children:m}),"不存在或已被移除。为避免数据泄漏,不会回退到默认 Workspace。"]}),u.jsx("ul",{className:"workspace-route-error-options",children:t.workspaces.map(B=>u.jsx("li",{children:u.jsxs("button",{type:"button",className:"btn btn-secondary",onClick:()=>{d(null),t.selectWorkspace(B.workspaceId),D(pm({workspace:"chat",workspaceId:B.workspaceId}))},children:["选择 ",B.name]})},B.workspaceId))}),u.jsx("button",{type:"button",className:"btn btn-secondary",onClick:()=>{d(null);const B=t.workspaces[0]?.workspaceId??null;B&&t.selectWorkspace(B),D(pm({workspace:"chat"}))},children:"返回对话首页"})]}):null,m?null:u.jsxs("main",{className:`console-main${s==="chat"||s==="inspect"?" console-main--fill":""}`,children:[u.jsx(Mz,{active:s==="chat",readiness:e.readiness,runAction:p.runAction,operatorBusy:e.busy,workspaceRegistry:t,workspaceId:h,sessionId:_,workspaceGate:c?{status:"unknown-workspace",workspaceId:c.workspaceId}:void 0,onSwitchWorkspace:q,onNavigateWorkspace:G}),u.jsx(SB,{active:s==="operate",operateTab:S,shell:e,actions:p,wizard:x,prd:g,recovery:y}),u.jsx(TB,{active:s==="inspect",hash:R.startsWith("/#")?R.slice(1):R,workspaceId:h,onNavigate:D})]}),!m&&y.inspectSplitOpen&&y.dagRunId.trim()?u.jsx(E9,{dagRunId:y.dagRunId.trim(),nodeId:y.fromNodeId.trim()||void 0,onClose:()=>y.setInspectSplitOpen(!1),onOpenFull:()=>D(ja(`/dag/${encodeURIComponent(y.dagRunId.trim())}`,"from=recovery"))}):null]})]})})}const Y7=document.getElementById("root");if(!Y7)throw new Error("Loop Operator Console: #root missing");s9.createRoot(Y7).render(u.jsx(w.StrictMode,{children:u.jsx(NB,{})}));export{DS as _,Od as g,RB as k};
|