@changfenhuang/dsh-genui 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -1
- package/README.md +1 -1
- package/README.zh-CN.md +9 -1
- package/SKILL.md +4 -0
- package/lib/client.js +261 -5
- package/lib/index.js +14 -12
- package/lib/types/client/asset-loader.d.ts +2 -0
- package/lib/types/client/blocks/basic.d.ts +0 -5
- package/lib/types/client/blocks/diagram/theme.d.ts +3 -1
- package/lib/types/client/blocks/state.d.ts +4 -0
- package/lib/types/client/embed.d.ts +8 -0
- package/lib/types/client/inline.d.ts +3 -27
- package/lib/types/plugin/index.d.ts +2 -1
- package/package.json +63 -2
- package/src/client/EChartNode.tsx +3 -2
- package/src/client/GenuiBlock.module.css +25 -14
- package/src/client/GenuiBlock.tsx +24 -16
- package/src/client/PlotBlock.tsx +2 -1
- package/src/client/asset-loader.ts +7 -0
- package/src/client/blocks/advanced.tsx +15 -15
- package/src/client/blocks/basic.tsx +3 -2
- package/src/client/blocks/charts.tsx +18 -19
- package/src/client/blocks/checkbox.tsx +2 -1
- package/src/client/blocks/diagram/index.tsx +33 -24
- package/src/client/blocks/diagram/layout.ts +4 -1
- package/src/client/blocks/diagram/theme.ts +22 -3
- package/src/client/blocks/forms.tsx +15 -14
- package/src/client/blocks/image.tsx +2 -1
- package/src/client/blocks/render-node.tsx +18 -18
- package/src/client/blocks/state.ts +4 -0
- package/src/client/dom-fence.tsx +19 -10
- package/src/client/embed.ts +9 -0
- package/src/client/gallery.ts +6 -0
- package/src/client/guard.ts +9 -3
- package/src/client/inline.ts +36 -44
- package/src/plugin/index.ts +8 -6
- package/src/plugin/tool.ts +2 -2
package/lib/client.js
CHANGED
|
@@ -1,7 +1,263 @@
|
|
|
1
|
-
window.__ModuleLoader__.load({id:`@changfenhuang/dsh-genui`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},u=(e,t)=>{let n={};for(var r in e)i(n,r,{get:e[r],enumerable:!0});return t||i(n,Symbol.toStringTag,{value:`Module`}),n},d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var s=o(t),l=0,u=s.length,d;l<u;l++)d=s[l],!c.call(e,d)&&d!==n&&i(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=a(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:r(s(e)),d(t||!e||!e.__esModule||!c.call(e,`default`)?i(n,`default`,{value:e,enumerable:!0}):n,e));let p=e("@deepseek-ai/dsh-client-ui-primitives");p=f(p,1);let m=e("react"),h=e("react-dom/client"),g=e("react/jsx-runtime"),_=(0,m.createContext)(void 0),v=p.GenuiActionContext??_;function y(){return(0,m.useContext)(v)}let b=`@changfenhuang/dsh-genui/GenuiBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(b)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=b,e.textContent=`body[data-ds-dark-theme] .V1MMBW_block,body[data-ds-dark-theme] .V1MMBW_panel{--dsl-g-surface:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block,transparent))));--dsl-g-shadow-card:0 1px 2px #0000003d, 0 8px 24px #0000002e}.V1MMBW_block,.V1MMBW_panel{--dsl-g-radius-surface:12px;--dsl-g-radius-control:8px;--dsl-g-radius-sm:6px;--dsl-g-radius-pill:999px;--dsl-g-font-hero:34px;--dsl-g-font-display:28px;--dsl-g-font-h1:24px;--dsl-g-font-h2:19px;--dsl-g-font-h3:16px;--dsl-g-font-body:14.5px;--dsl-g-font-title:13.5px;--dsl-g-font-meta:12.5px;--dsl-g-font-data:12px;--dsl-g-gap-lg:16px;--dsl-g-gap-md:12px;--dsl-g-gap-sm:8px;--dsl-g-gap-xs:4px;--dsl-g-border:var(--dsw-alias-border-l1,var(--dsw-alias-border-l2,#ffffff1f));--dsl-g-border-strong:var(--dsw-alias-border-l2,#ffffff1f);--dsl-g-accent:var(--dsw-alias-state-business-primary,#4f8ef7);--dsl-g-accent-soft:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);--dsl-g-hover:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, transparent);--dsl-g-zebra:color-mix(in srgb, var(--dsw-alias-label-primary) 2.5%, transparent);--dsl-g-tint:8%;--dsl-g-tint-strong:14%;--dsl-g-font-mono:var(--ds-font-family-code,ui-monospace, "SF Mono", monospace);--dsl-g-surface:color-mix(in srgb, var(--dsw-alias-label-primary) 10%, var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block,transparent))));--dsl-g-border-surface:color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent);--dsl-g-shadow-card:0 1px 3px #0000001a, 0 8px 24px #0000000f}.V1MMBW_block{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;margin:8px 0}.V1MMBW_block *,.V1MMBW_block :before,.V1MMBW_block :after,.V1MMBW_panel *,.V1MMBW_panel :before,.V1MMBW_panel :after{box-sizing:border-box}.V1MMBW_banner{letter-spacing:-.02em;color:var(--dsw-alias-label-primary);border-bottom:1px solid var(--dsl-g-border);margin-bottom:18px;padding-bottom:14px;font-size:22px;font-weight:800}.V1MMBW_col{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_row{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_row.V1MMBW_wrap{flex-wrap:wrap}.V1MMBW_grid{gap:var(--dsl-g-gap-md);display:grid}.V1MMBW_gridSpan{flex-direction:column;min-width:0;display:flex}.V1MMBW_gridSpan>*{flex:1}@media (width<=560px){.V1MMBW_grid{grid-template-columns:1fr!important}.V1MMBW_row{flex-wrap:wrap}}.V1MMBW_spacer{flex:1}.V1MMBW_divider{background:var(--dsw-alias-markdown-hr,var(--dsl-g-border));height:1px;margin:var(--dsl-g-gap-xs) 0;border:none}.V1MMBW_card{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);padding:var(--dsl-g-gap-lg);gap:var(--dsl-g-gap-md);min-width:0;box-shadow:var(--dsl-g-shadow-card);flex-direction:column;display:flex}.V1MMBW_card>:last-child{flex:auto;min-height:0}.V1MMBW_card>.V1MMBW_chart,.V1MMBW_card>.V1MMBW_lineChart,.V1MMBW_card>.V1MMBW_donut,.V1MMBW_card>.V1MMBW_hbars,.V1MMBW_card>.V1MMBW_col{justify-content:center}.V1MMBW_cardTitle{font-size:var(--dsl-g-font-h3);letter-spacing:-.01em;text-transform:none;color:var(--dsw-alias-label-secondary);font-weight:650}.V1MMBW_text{color:var(--dsw-alias-label-primary)}.V1MMBW_text.V1MMBW_h1{font-size:var(--dsl-g-font-h1);letter-spacing:-.02em;font-weight:800;line-height:1.25}.V1MMBW_text.V1MMBW_h2{font-size:var(--dsl-g-font-h2);letter-spacing:-.015em;font-weight:700;line-height:1.3}.V1MMBW_text.V1MMBW_h3{font-size:var(--dsl-g-font-h3);font-weight:650;line-height:1.45}.V1MMBW_text.V1MMBW_body{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);text-wrap:pretty;max-width:68ch;line-height:1.7}.V1MMBW_text.V1MMBW_muted{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);line-height:1.65}.V1MMBW_text.V1MMBW_caption{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.6}.V1MMBW_text.V1MMBW_center{text-align:center}.V1MMBW_button{border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:var(--dsl-g-radius-control);padding:8px var(--dsl-g-gap-lg);font-size:var(--dsl-g-font-title);cursor:pointer;text-align:center;align-self:flex-start;font-family:inherit;font-weight:600;line-height:1.4;transition:border-color .15s,filter .15s,background .15s,transform .1s}.V1MMBW_button:hover:not(:disabled){border-color:var(--dsl-g-accent);filter:brightness(1.06)}.V1MMBW_button.V1MMBW_primary:hover:not(:disabled){filter:brightness(1.08)}.V1MMBW_button:active:not(:disabled){filter:brightness(.97);transform:translateY(1px)}.V1MMBW_button:disabled{cursor:not-allowed;opacity:.45;filter:none;box-shadow:none;pointer-events:none}.V1MMBW_button.V1MMBW_primary{background:var(--dsl-g-accent);color:#fff;border:none;box-shadow:inset 0 1px #ffffff24}.V1MMBW_button.V1MMBW_danger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent);color:var(--dsw-alias-state-error-primary,#ffb3b3)}.V1MMBW_button.V1MMBW_success{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent);color:var(--dsw-alias-state-success-secondary,#9fe8c5)}.V1MMBW_button.V1MMBW_ghost{background:0 0}.V1MMBW_button.V1MMBW_full{width:100%}.V1MMBW_button.V1MMBW_small{font-size:var(--dsl-g-font-meta);border-radius:var(--dsl-g-radius-control);padding:4px 12px}.V1MMBW_field{gap:var(--dsl-g-gap-xs);flex-direction:column;display:flex}.V1MMBW_field>span{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_input,.V1MMBW_select{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-control);color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-title);outline:none;width:100%;padding:8px 12px;font-family:inherit}.V1MMBW_input:focus,.V1MMBW_select:focus{border-color:var(--dsl-g-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_input::placeholder{color:var(--dsw-alias-label-caption,#5b6378)}.V1MMBW_checkbox{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;display:flex}.V1MMBW_checkbox input{accent-color:var(--dsl-g-accent);width:15px;height:15px}.V1MMBW_checkbox input:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_link{color:var(--dsl-g-accent);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.V1MMBW_link:hover{text-decoration:underline}.V1MMBW_linkText{color:var(--dsl-g-accent);font-size:var(--dsl-g-font-title);font-family:inherit;text-decoration:none}.V1MMBW_media{padding:var(--dsl-g-gap-md);gap:var(--dsl-g-gap-sm);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);flex-direction:column;margin:0;display:flex}.V1MMBW_mediaLabel{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_mediaPlayer{border-radius:var(--dsl-g-radius-control);width:100%;min-width:0;display:block}img.V1MMBW_mediaPlayer{aspect-ratio:16/9;object-fit:cover;background:var(--dsl-g-surface)}.V1MMBW_videoPlayer{object-fit:contain;background:#000;max-height:min(70vh,720px)}.V1MMBW_mediaError{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#f25a5a)}.V1MMBW_hero{border:1px solid var(--dsl-g-border-surface);background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsl-g-accent) 22%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 7%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent));box-shadow:var(--dsl-g-shadow-card);border-radius:14px;flex-direction:column;gap:6px;padding:22px 24px 24px;display:flex;position:relative;overflow:hidden}.V1MMBW_heroSuccess{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 20%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroWarning{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 20%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroDanger{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 18%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroLabel{font-size:var(--dsl-g-font-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--dsw-alias-label-secondary);font-weight:700}.V1MMBW_heroTop{align-items:baseline;gap:var(--dsl-g-gap-md);flex-wrap:wrap;display:flex}.V1MMBW_heroValue{font-family:var(--dsl-g-font-mono);letter-spacing:-.028em;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:52px;font-weight:750;line-height:1;display:inline-flex}.V1MMBW_heroUnit{letter-spacing:0;color:var(--dsw-alias-label-secondary);font-size:.44em;font-weight:650}.V1MMBW_heroSpark{align-self:center;width:168px;margin-left:auto}.V1MMBW_heroTitle{letter-spacing:-.01em;color:var(--dsw-alias-label-primary);font-size:20px;font-weight:700;line-height:1.3}.V1MMBW_heroSubtitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);text-wrap:pretty;line-height:1.6}.V1MMBW_inlineCode{font-family:var(--dsl-g-font-mono);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);white-space:nowrap;border-radius:5px;padding:1px 5px;font-size:.92em}.V1MMBW_inlineStrong{color:var(--dsw-alias-label-primary);font-weight:680}.V1MMBW_inlineMark{background:color-mix(in srgb, var(--dsl-g-accent) 20%, transparent);color:inherit;border-radius:4px;padding:0 3px}.V1MMBW_inlineLink{color:var(--dsl-g-accent);text-underline-offset:2px;text-decoration:underline}.V1MMBW_inlineLink:hover{text-decoration-thickness:2px}.V1MMBW_badge{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-meta);letter-spacing:.01em;border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-tertiary) var(--dsl-g-tint), transparent);width:fit-content;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsl-g-border);padding:1px 10px;font-weight:500;line-height:1.5;display:inline-flex}.V1MMBW_badge.V1MMBW_success{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-success-secondary,#7fe3b4);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent)}.V1MMBW_badge.V1MMBW_warn{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-warn-secondary,#f7cf7d);border-color:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 30%, transparent)}.V1MMBW_badge.V1MMBW_danger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-error-primary,#ff9d9d);border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent)}.V1MMBW_badge.V1MMBW_accent{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-business-primary,#9cc3ff);border-color:color-mix(in srgb, var(--dsl-g-accent) 30%, transparent)}.V1MMBW_stat{border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);min-width:0;box-shadow:var(--dsl-g-shadow-card);flex-direction:column;gap:4px;padding:14px 16px 15px;display:flex;overflow:hidden}.V1MMBW_statHero{padding:18px 20px 20px}.V1MMBW_statHero .V1MMBW_statValue{letter-spacing:-.035em;font-size:44px;line-height:1.02}.V1MMBW_statHero .V1MMBW_statLabel{font-size:13px}.V1MMBW_grid>.V1MMBW_stat,.V1MMBW_row>.V1MMBW_stat{border-left:1px solid var(--dsl-g-border)}.V1MMBW_statLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);letter-spacing:.05em;text-transform:uppercase;line-height:1.4}.V1MMBW_statValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-hero);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;align-items:baseline;gap:3px;font-weight:700;line-height:1.05;display:flex}.V1MMBW_statUnit{letter-spacing:0;color:var(--dsw-alias-label-secondary);font-size:.5em;font-weight:600}.V1MMBW_statHero .V1MMBW_statUnit{font-size:.46em}.V1MMBW_statDelta{font-size:var(--dsl-g-font-meta);border-radius:var(--dsl-g-radius-pill);width:fit-content;color:var(--dsw-alias-label-secondary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 5%, transparent);padding:0 6px;font-weight:600}.V1MMBW_statDelta.V1MMBW_up{color:var(--dsw-alias-state-success-secondary,#1f9d63);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#22c55e) 12%, transparent)}.V1MMBW_statSpark{width:calc(100% + 32px);max-width:none;height:30px;margin:6px -16px -15px;display:block;overflow:visible}.V1MMBW_statHero .V1MMBW_statSpark{width:calc(100% + 40px);margin:8px -20px -20px}.V1MMBW_statDelta.V1MMBW_down{color:var(--dsw-alias-state-error-primary,#d94848);background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#f25a5a) 12%, transparent)}.V1MMBW_progress{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_progressRow{justify-content:space-between;gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);display:flex}.V1MMBW_progressRow span:last-child{font-family:var(--dsl-g-font-mono);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_track{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);height:8px;box-shadow:inset 0 0 0 1px var(--dsl-g-border);overflow:hidden}.V1MMBW_fill{border-radius:var(--dsl-g-radius-pill);background:linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 85%, white), var(--dsl-g-accent));height:100%;transition:width .5s}.V1MMBW_list{flex-direction:column;display:flex}.V1MMBW_li{padding:9px var(--dsl-g-gap-xs) 9px 16px;flex-direction:column;gap:3px;display:flex;position:relative}.V1MMBW_li:before{content:"";background:var(--dsl-g-accent);opacity:.6;border-radius:50%;width:5px;height:5px;position:absolute;top:15px;left:2px}.V1MMBW_li+.V1MMBW_li{border-top:1px solid var(--dsl-g-border)}.V1MMBW_li:last-child{border-bottom:none}.V1MMBW_liTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.5}.V1MMBW_liDesc{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.55}.V1MMBW_tableWrap{border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border-surface);overscroll-behavior-x:contain;min-width:0;max-width:100%;overflow-x:auto}.V1MMBW_table{border-collapse:collapse;width:100%;font-size:var(--dsl-g-font-title)}.V1MMBW_table th{text-align:left;padding:9px var(--dsl-g-gap-md);color:var(--dsw-alias-label-secondary);font-weight:700;font-size:var(--dsl-g-font-meta);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--dsl-g-border-strong);background:var(--dsl-g-zebra);white-space:nowrap}.V1MMBW_table td{padding:10px var(--dsl-g-gap-md);border-bottom:1px solid var(--dsl-g-border);color:var(--dsw-alias-label-primary);white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle;line-height:1.5}.V1MMBW_table td:first-child{font-weight:600}.V1MMBW_table th:first-child{color:var(--dsw-alias-label-primary)}.V1MMBW_table tbody tr:nth-child(2n){background:var(--dsl-g-zebra)}.V1MMBW_table tbody tr:hover{background:var(--dsl-g-hover)}.V1MMBW_table tr:last-child td{border-bottom:none}.V1MMBW_table th.V1MMBW_thNum,.V1MMBW_table td.V1MMBW_tdNum{text-align:right}.V1MMBW_tdDelta{font-weight:600}.V1MMBW_tdDeltaUp{color:var(--dsw-alias-state-success-secondary,#1f9d63)}.V1MMBW_tdDeltaDown{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_thSort{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;transition:color .12s}.V1MMBW_table th.V1MMBW_thNum .V1MMBW_thSort{text-align:right;width:100%}.V1MMBW_thSort:hover,.V1MMBW_table th[aria-sort]:not([aria-sort=none]) .V1MMBW_thSort{color:var(--dsw-alias-label-primary)}.V1MMBW_thSortMark{color:var(--dsl-g-accent)}.V1MMBW_thSort:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px;border-radius:var(--dsl-g-radius-control)}.V1MMBW_chart{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex;position:relative}.V1MMBW_chartBody{align-items:stretch;gap:6px;display:flex}.V1MMBW_chartYAxis{flex-shrink:0;width:42px;position:relative}.V1MMBW_chartYTick{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);white-space:nowrap;position:absolute;right:0;transform:translateY(50%)}.V1MMBW_chartPlot{align-items:flex-end;gap:var(--dsl-g-gap-sm);flex:1;min-width:0;height:160px;display:flex;position:relative}.V1MMBW_baseline{background:var(--dsl-g-border-strong);pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}.V1MMBW_gridline{background:var(--dsw-alias-border-l1,#ffffff0f);pointer-events:none;height:1px;position:absolute;left:0;right:0}.V1MMBW_chartLabels{gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_chartLabels>span{flex:1;min-width:0}.V1MMBW_chartLegend{gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);flex-wrap:wrap;line-height:1.5;display:flex}.V1MMBW_legendItem{align-items:center;gap:6px;display:inline-flex}.V1MMBW_legendSwatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.V1MMBW_lineArea{fill:var(--dsl-g-accent);opacity:.1}.V1MMBW_chartTip{border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border-strong);background:var(--dsw-alias-bg-layer-3,var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,#1c1c1e)));color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-meta);white-space:nowrap;pointer-events:none;z-index:6;flex-direction:column;gap:2px;padding:6px 10px;line-height:1.4;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 8px 22px #0000004d}.V1MMBW_chartTipRow{justify-content:space-between;gap:14px;display:flex}.V1MMBW_chartTipValue{font-family:var(--dsl-g-font-mono);font-variant-numeric:tabular-nums;font-weight:600}.V1MMBW_stackValue{text-align:center;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:#fff;text-shadow:0 1px 2px #0006;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.5;display:block}.V1MMBW_barCol{flex:1;min-width:0;height:100%;position:relative}.V1MMBW_barValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);text-align:center;font-weight:600;line-height:1.2;position:absolute;left:0;right:0}.V1MMBW_stack{border-radius:5px 5px 0 0;flex-direction:column-reverse;gap:2px;transition:height .6s;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.V1MMBW_stackSeg{width:100%;transition:height .6s,filter .15s}.V1MMBW_stackSeg:hover{filter:brightness(1.15)}.V1MMBW_barFill{background:linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 78%, white), var(--dsl-g-accent));border-radius:5px 5px 0 0;min-height:2px;transition:height .6s,filter .15s;position:absolute;left:0;right:0}.V1MMBW_barFill:hover{filter:brightness(1.18)}.V1MMBW_barLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;line-height:1.5;overflow:hidden}.V1MMBW_tabs{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_tabBar{border-bottom:1px solid var(--dsl-g-border);gap:2px;display:flex}.V1MMBW_tab{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-title);border-radius:var(--dsl-g-radius-sm) var(--dsl-g-radius-sm) 0 0;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-family:inherit;font-weight:600;line-height:1.5;transition:color .15s,background .15s,border-bottom-color .15s}.V1MMBW_tab:hover{color:var(--dsw-alias-label-primary);background:var(--dsl-g-hover)}.V1MMBW_tabActive{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsl-g-accent);font-weight:650}.V1MMBW_tab:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:-2px}.V1MMBW_avatar{width:32px;height:32px;font-size:var(--dsl-g-font-title);color:#fff;border:1px solid #ffffff24;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff29}.V1MMBW_callout{border-radius:var(--dsl-g-radius-surface);border:1px solid var(--dsl-g-border-surface);font-size:var(--dsl-g-font-title);background:var(--dsl-g-surface);box-shadow:var(--dsl-g-shadow-card);flex-direction:column;gap:3px;padding:12px 15px;line-height:1.65;display:flex}.V1MMBW_calloutInfo{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent)}.V1MMBW_calloutSuccess{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent)}.V1MMBW_calloutWarning{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent)}.V1MMBW_calloutError{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent)}.V1MMBW_calloutInfo .V1MMBW_calloutTitle{color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_calloutSuccess .V1MMBW_calloutTitle{color:var(--dsw-alias-state-success-primary,#2f9e6b)}.V1MMBW_calloutWarning .V1MMBW_calloutTitle{color:var(--dsw-alias-state-warn-primary,#b8860b)}.V1MMBW_calloutError .V1MMBW_calloutTitle{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_calloutTitle{font-weight:700;font-size:var(--dsl-g-font-h3);letter-spacing:-.005em;color:var(--dsw-alias-label-primary);align-items:center;gap:6px;display:flex}.V1MMBW_calloutBody{color:var(--dsw-alias-label-secondary)}.V1MMBW_steps{gap:var(--dsl-g-gap-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.V1MMBW_step{gap:var(--dsl-g-gap-md);align-items:flex-start;display:flex;position:relative}.V1MMBW_step:not(:last-child):before{content:"";top:27px;left:11px;bottom:calc(-1 * var(--dsl-g-gap-md));background:var(--dsl-g-border);width:1px;position:absolute}.V1MMBW_stepDone:not(:last-child):before{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 45%, transparent)}.V1MMBW_stepTitle{transition:color .15s}.V1MMBW_stepActive .V1MMBW_stepTitle{color:var(--dsl-g-accent)}.V1MMBW_stepMarker{width:24px;height:24px;font-size:var(--dsl-g-font-meta);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);color:var(--dsw-alias-label-secondary);z-index:1;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.V1MMBW_stepDone .V1MMBW_stepMarker{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 18%, transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 55%, transparent);color:var(--dsw-alias-state-success-primary,#2f9e6b);font-size:13px}.V1MMBW_stepActive .V1MMBW_stepMarker{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent);border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}.V1MMBW_stepContent{flex-direction:column;gap:2px;padding-top:2px;display:flex}.V1MMBW_stepTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.45}.V1MMBW_stepDesc{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.55}.V1MMBW_keyvalue{flex-direction:column;margin:0;display:flex}.V1MMBW_kvRow{gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-title);align-items:baseline;padding:7px 0;display:flex}.V1MMBW_kvRow+.V1MMBW_kvRow{border-top:1px solid var(--dsl-g-border)}.V1MMBW_kvRow:last-child{border-bottom:none}.V1MMBW_kvKey{width:120px;color:var(--dsw-alias-label-secondary);flex-shrink:0;font-weight:600}.V1MMBW_kvValue{color:var(--dsw-alias-label-primary);word-break:break-word;font-variant-numeric:tabular-nums;margin:0;font-weight:600;line-height:1.5}.V1MMBW_jsonScalar{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary)}.V1MMBW_lineChart{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex;position:relative}.V1MMBW_linePath{fill:none;stroke:var(--dsl-g-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.V1MMBW_lineDot{fill:var(--dsl-g-accent);transition:filter .15s}.V1MMBW_lineDot:hover{filter:brightness(1.3)}.V1MMBW_lineGrid{stroke:var(--dsw-alias-border-l1,#ffffff12);stroke-width:1px}.V1MMBW_lineGridAxis{stroke:var(--dsl-g-border-strong);stroke-width:1px}.V1MMBW_lineTick{fill:var(--dsw-alias-label-tertiary);font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data)}.V1MMBW_lineLabel{fill:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta)}.V1MMBW_lineLabels{justify-content:space-between;display:flex}.V1MMBW_groupedBars{gap:var(--dsl-g-gap-xs);align-items:flex-end;width:100%;height:100%;display:flex}.V1MMBW_groupedBar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;min-width:0;height:100%;display:flex}.V1MMBW_groupValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;max-width:100%;line-height:1.2;overflow:hidden}.V1MMBW_groupedFill{background:var(--dsl-g-accent);border-radius:4px 4px 2px 2px;flex:none;width:100%;min-height:3px;transition:filter .15s}.V1MMBW_groupedFill:hover{filter:brightness(1.18)}.V1MMBW_donut{align-items:center;gap:var(--dsl-g-gap-lg);display:flex;position:relative}.V1MMBW_donutTrack{stroke:var(--dsw-alias-border-l1,#ffffff14)}.V1MMBW_donutSeg{transition:filter .15s}.V1MMBW_donutSeg:hover{filter:brightness(1.18)}.V1MMBW_donutTotal{fill:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-h2);font-weight:700}.V1MMBW_donutTotalLabel{fill:var(--dsw-alias-label-tertiary);font-size:10px}.V1MMBW_donutLegend{justify-content:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);flex-direction:column;line-height:1.5;display:flex}.V1MMBW_donutPct{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums}.V1MMBW_ring{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_ringTrack{stroke:color-mix(in srgb, var(--dsw-alias-label-primary) 8%, transparent)}.V1MMBW_ringFill{stroke:var(--dsl-g-accent);transition:stroke-dasharray .6s}.V1MMBW_ringValue{fill:var(--dsw-alias-label-primary);font-family:var(--dsl-g-font-mono);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.V1MMBW_ringMeta{flex-direction:column;gap:2px;min-width:0;display:flex}.V1MMBW_ringLabel{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650}.V1MMBW_ringSub{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary)}.V1MMBW_track{position:relative;overflow:visible}.V1MMBW_targetMark{background:var(--dsw-alias-label-primary);opacity:.6;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.V1MMBW_filterRow td{padding:7px var(--dsl-g-gap-md);border-top:1px solid var(--dsl-g-border);color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);font-variant-numeric:tabular-nums;background:0 0}.V1MMBW_filterHint{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);padding-top:6px;display:block}.V1MMBW_tableTools{justify-content:flex-end;gap:6px;padding:6px 8px 4px;display:flex}.V1MMBW_tableTool{border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-pill);color:var(--dsw-alias-label-secondary);font-family:inherit;font-size:var(--dsl-g-font-meta);cursor:pointer;background:0 0;padding:2px 9px;transition:color .15s,border-color .15s,background .15s}.V1MMBW_tableTool:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsl-g-border-strong);background:var(--dsl-g-hover)}.V1MMBW_tableTool:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px}.V1MMBW_card[style*=--dsl-card-accent]>.V1MMBW_cardTitle{color:color-mix(in srgb, var(--dsl-card-accent) 38%, var(--dsw-alias-label-primary))}.V1MMBW_detailCell{padding-left:var(--dsl-g-gap-sm)}.V1MMBW_detailToggle{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.V1MMBW_detailToggle:hover{color:var(--dsl-g-accent)}.V1MMBW_detailToggle:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_detailChevron{color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-size:10px;transition:transform .18s}.V1MMBW_detailChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_table tbody tr.V1MMBW_detailRow>td{padding:0 var(--dsl-g-gap-md) 12px;background:color-mix(in srgb, var(--dsw-alias-label-primary) 3%, transparent);border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_table tbody tr.V1MMBW_detailRow:hover>td{background:color-mix(in srgb, var(--dsw-alias-label-primary) 3%, transparent)}.V1MMBW_detailBody{gap:var(--dsl-g-gap-sm);border-radius:var(--dsl-g-radius-control);background:var(--dsw-alias-bg-layer-1,transparent);box-shadow:inset 2px 0 0 color-mix(in srgb, var(--dsl-g-accent) 45%, transparent);flex-direction:column;padding:12px 14px;display:flex}.V1MMBW_groupRow td{padding:22px var(--dsl-g-gap-md) 6px;box-shadow:inset 0 1px 0 var(--dsl-g-border);background:0 0;border-top:none;border-bottom:none}.V1MMBW_table tbody tr.V1MMBW_groupRow:first-child td{box-shadow:none;padding-top:10px}.V1MMBW_table tbody tr.V1MMBW_groupRow:hover,.V1MMBW_table tbody tr.V1MMBW_groupRow:nth-child(2n){background:0 0}.V1MMBW_groupToggle{font:inherit;font-size:var(--dsl-g-font-title);letter-spacing:.02em;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-weight:650;display:inline-flex}.V1MMBW_groupToggle:hover{color:var(--dsl-g-accent)}.V1MMBW_groupToggle:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_groupChevron{color:var(--dsw-alias-label-tertiary);width:10px;font-size:11px}.V1MMBW_groupCount{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);font-variant-numeric:tabular-nums;padding:0 7px;font-weight:600}.V1MMBW_table tbody tr.V1MMBW_groupChild td:first-child{padding-left:calc(var(--dsl-g-gap-md) + 22px);position:relative}.V1MMBW_table tbody tr.V1MMBW_groupChild td:first-child:before{content:"";left:calc(var(--dsl-g-gap-md) + 8px);background:var(--dsl-g-border);width:1px;position:absolute;top:0;bottom:0}.V1MMBW_table tbody tr.V1MMBW_groupChild:last-child td:first-child:before{bottom:50%}.V1MMBW_table tfoot td{border-top:1px solid var(--dsl-g-border-strong);color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, transparent);border-bottom:none;font-weight:700}.V1MMBW_cardInfo{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent)}.V1MMBW_cardSuccess{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent)}.V1MMBW_cardWarning{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent)}.V1MMBW_cardDanger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent)}.V1MMBW_cardInfo>.V1MMBW_cardTitle{color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_cardSuccess>.V1MMBW_cardTitle{color:var(--dsw-alias-state-success-primary,#2f9e6b)}.V1MMBW_cardWarning>.V1MMBW_cardTitle{color:var(--dsw-alias-state-warn-primary,#b8860b)}.V1MMBW_cardDanger>.V1MMBW_cardTitle{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_hbars{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_hbarRow{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_hbarLabel{text-align:right;width:96px;font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;overflow:hidden}.V1MMBW_hbarTracks{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.V1MMBW_hbarSeg{height:100%}.V1MMBW_hbarTrack{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);height:14px;display:flex;overflow:hidden}.V1MMBW_hbarFill{border-radius:var(--dsl-g-radius-sm);background:var(--dsl-g-accent);min-width:2px;height:100%;transition:width .6s}.V1MMBW_hbarValue{text-align:right;width:64px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;flex-shrink:0}.V1MMBW_cellBadge{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-meta);padding:1px 8px;font-weight:600;display:inline-block}.V1MMBW_cellSpark{width:88px;height:22px;display:block;overflow:visible}.V1MMBW_cellRing{align-items:center;gap:6px;display:inline-flex}.V1MMBW_cellRingText{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums}.V1MMBW_cellIndex{min-width:18px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;display:inline-block}.V1MMBW_cellBar{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);min-width:104px;height:18px;display:block;position:relative;overflow:hidden}.V1MMBW_cellBarFill{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsl-g-accent) 72%, transparent);position:absolute;inset:0 auto 0 0}.V1MMBW_cellBarText{text-align:right;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);padding:0 6px;line-height:18px;display:block;position:relative}.V1MMBW_fieldGroup{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_fieldLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_radio{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;line-height:1.5;display:flex}.V1MMBW_radio input{accent-color:var(--dsl-g-accent)}.V1MMBW_radio input:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:50%}.V1MMBW_submitRow{align-items:center;gap:var(--dsl-g-gap-md);margin-top:2px;display:flex}.V1MMBW_submit{align-self:flex-start}.V1MMBW_submitHint{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_btnSent{margin-left:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-state-success-primary,#3ecf8e);font-weight:600}.V1MMBW_gradeWrap{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_gradeScore{align-items:baseline;gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_gradeScoreValue{font-size:var(--dsl-g-font-display);color:var(--dsw-alias-label-primary);font-weight:700;line-height:1.2}.V1MMBW_gradeScoreLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_gradeList{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_gradeItem{font-size:var(--dsl-g-font-title);padding:var(--dsl-g-gap-sm) 12px;border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 10px;line-height:1.5;display:grid}.V1MMBW_gradeItemOk{border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent)}.V1MMBW_gradeItemNo{border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent)}.V1MMBW_gradeQ{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);grid-column:1/-1;margin-bottom:8px;font-weight:600}.V1MMBW_gradeTag{font-weight:700}.V1MMBW_gradeItemOk .V1MMBW_gradeTag{color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_gradeItemNo .V1MMBW_gradeTag{color:var(--dsw-alias-state-error-primary,#ff6b6b)}.V1MMBW_gradeAns{overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary)}.V1MMBW_gradeRight{color:var(--dsw-alias-state-error-primary,#ffb3b3)}.V1MMBW_gradeExp{overflow-wrap:anywhere;font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary);grid-column:1/-1;line-height:1.5}.V1MMBW_switchRow{justify-content:space-between;align-items:center;gap:var(--dsl-g-gap-md);cursor:pointer;display:flex}.V1MMBW_switchRow:focus-within .V1MMBW_switch{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_switchLabel{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);line-height:1.5}.V1MMBW_switch{border-radius:var(--dsl-g-radius-pill);border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-base,#17171a);width:38px;height:22px;transition:background .2s;position:relative}.V1MMBW_switchOn{background:var(--dsl-g-accent);border-color:#0000}.V1MMBW_switchKnob{background:#fff;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.V1MMBW_switchOn .V1MMBW_switchKnob{left:19px}.V1MMBW_sliderRow{align-items:center;gap:var(--dsl-g-gap-md);width:100%;display:flex}.V1MMBW_sliderInput{min-width:0;accent-color:var(--dsl-g-accent);flex:1}.V1MMBW_sliderInput:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_sliderValue{text-align:right;min-width:44px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary)}.V1MMBW_textarea{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-control);width:100%;color:var(--dsw-alias-label-primary);padding:var(--dsl-g-gap-sm) 12px;font-size:var(--dsl-g-font-title);resize:vertical;outline:none;font-family:inherit;line-height:1.5}.V1MMBW_textarea:focus{border-color:var(--dsl-g-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_accordion{border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);box-shadow:var(--dsl-g-shadow-card);flex-direction:column;display:flex;overflow:hidden}.V1MMBW_accItem{border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_accItem:last-child{border-bottom:none}.V1MMBW_accHead{justify-content:space-between;align-items:center;gap:var(--dsl-g-gap-sm);width:100%;color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-body);cursor:pointer;text-align:left;background:0 0;border:none;padding:12px 15px;font-family:inherit;font-weight:600;line-height:1.5;transition:background .15s,color .15s;display:flex}.V1MMBW_accHead:hover{background:var(--dsl-g-hover)}.V1MMBW_accHead[aria-expanded=true]{border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_accChevron{color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-size:11px;transition:transform .2s}.V1MMBW_accChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_accBody{gap:var(--dsl-g-gap-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 2%, transparent);flex-direction:column;padding:12px 15px 14px;display:flex}.V1MMBW_copyChip{border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;width:fit-content;padding:6px 14px;font-family:inherit;font-weight:600;transition:all .15s}.V1MMBW_copyChip:hover{border-color:var(--dsl-g-accent)}.V1MMBW_copyChip:active{transform:translateY(1px)}.V1MMBW_copyChipDone{border-color:var(--dsw-alias-state-success-primary,#3ecf8e);color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_mermaid{padding:var(--dsl-g-gap-xs) 0;overflow-x:auto}.V1MMBW_mermaid svg{max-width:100%;height:auto}.V1MMBW_mermaidFallback{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_mermaidFallback pre{padding:var(--dsl-g-gap-sm) 10px;background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-control);font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-meta);margin:0;overflow-x:auto}.V1MMBW_mermaidErr{color:var(--dsw-alias-state-error-primary,#ff6b6b);font-size:var(--dsl-g-font-meta)}.V1MMBW_mermaidHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_scene3dWrap{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_echartWrap{gap:var(--dsl-g-gap-sm);padding:var(--dsl-g-gap-md);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_echartTitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_echartCanvas{width:100%;min-height:0}.V1MMBW_echartHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_echartFallback{gap:var(--dsl-g-gap-sm);padding:var(--dsl-g-gap-md);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_echartErr{color:var(--dsw-alias-state-error-primary,#ff6b6b);font-size:var(--dsl-g-font-meta)}.V1MMBW_scene3dTitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:700}.V1MMBW_scene3dCanvas{border-radius:var(--dsl-g-radius-surface);background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);height:240px;overflow:hidden}.V1MMBW_scene3dCanvas canvas{display:block}.V1MMBW_scene3dHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_timeline{flex-direction:column;display:flex}.V1MMBW_tlItem{gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_tlRail{flex-direction:column;flex-shrink:0;align-items:center;width:10px;display:flex}.V1MMBW_tlDot{background:var(--dsl-g-accent);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) 16%, transparent);border-radius:50%;flex-shrink:0;margin-top:5px;transition:transform .15s}.V1MMBW_tlItem:hover .V1MMBW_tlDot{transform:scale(1.15)}.V1MMBW_tlLine{background:var(--dsl-g-border);flex:1;width:1px;margin:4px 0 0}.V1MMBW_tlBody{flex:1;min-width:0;padding-bottom:18px}.V1MMBW_tlItem:last-child .V1MMBW_tlBody{padding-bottom:0}.V1MMBW_tlHead{align-items:baseline;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_tlTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.45}.V1MMBW_tlTime{white-space:nowrap;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;margin-left:auto}.V1MMBW_tlDesc{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);margin-top:3px;line-height:1.55}.V1MMBW_fileTree{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-meta);overscroll-behavior-x:contain;flex-direction:column;min-width:0;max-width:100%;display:flex;overflow-x:auto}.V1MMBW_ftChildren{display:block}.V1MMBW_ftRow{min-height:26px;padding:2px var(--dsl-g-gap-xs);border-radius:var(--dsl-g-radius-sm);align-items:center;gap:6px;transition:background .12s;display:flex;position:relative}.V1MMBW_ftRow:hover{background:color-mix(in srgb, var(--dsw-alias-label-primary) 5%, transparent)}.V1MMBW_ftGuide{background:var(--dsl-g-border);width:1px;position:absolute;top:0;bottom:0}.V1MMBW_ftChevron{width:10px;color:var(--dsw-alias-label-tertiary);transform-origin:50%;flex-shrink:0;font-size:10px;line-height:1;transition:transform .15s}.V1MMBW_ftChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_ftGlyph{color:var(--dsw-alias-label-tertiary);flex-shrink:0;display:inline-flex}.V1MMBW_ftGlyphDir{color:var(--dsl-g-accent)}.V1MMBW_ftName{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-title);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.V1MMBW_ftDir{color:var(--dsw-alias-label-primary);font-weight:650}.V1MMBW_ftNameBtn{align-items:center;gap:var(--dsl-g-gap-sm);min-width:0;max-width:100%;font-family:inherit;font-size:var(--dsl-g-font-title);cursor:default;text-align:left;background:0 0;border:none;padding:0;display:inline-flex}button.V1MMBW_ftNameBtn[aria-expanded]{cursor:pointer}.V1MMBW_ftNameBtn:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px;border-radius:var(--dsl-g-radius-control)}.V1MMBW_breadcrumb{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-title);flex-wrap:wrap;display:flex}.V1MMBW_bcItem{align-items:center;gap:var(--dsl-g-gap-xs);display:inline-flex}.V1MMBW_bcText{color:var(--dsw-alias-label-secondary);cursor:pointer}.V1MMBW_bcText:hover{color:var(--dsl-g-accent)}.V1MMBW_bcCurrent{color:var(--dsw-alias-label-primary);cursor:default;font-weight:600}.V1MMBW_bcSep{color:var(--dsw-alias-label-caption,var(--dsw-alias-label-tertiary))}.V1MMBW_skeleton{gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-lg);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);flex-direction:column;display:flex}.V1MMBW_skeletonTitle{border-radius:var(--dsl-g-radius-pill);width:34%;height:12px;display:block}.V1MMBW_skeletonBars{gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_skeletonBars>span{border-radius:var(--dsl-g-radius-control);height:44px;display:block}.V1MMBW_skeletonBlock{border-radius:var(--dsl-g-radius-control);height:76px;display:block}.V1MMBW_skeletonTitle,.V1MMBW_skeletonBars>span,.V1MMBW_skeletonBlock{background:linear-gradient(90deg, color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent) 0%, color-mix(in srgb, var(--dsw-alias-label-primary) 13%, transparent) 50%, color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite V1MMBW_dsl-skeleton}@keyframes V1MMBW_dsl-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.V1MMBW_skeletonTitle,.V1MMBW_skeletonBars>span,.V1MMBW_skeletonBlock{animation:none}}@keyframes V1MMBW_genuiReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes V1MMBW_genuiPopIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.V1MMBW_reveal{animation:.45s cubic-bezier(.22,1,.36,1) backwards V1MMBW_genuiReveal}.V1MMBW_btnSent{animation:.2s backwards V1MMBW_genuiPopIn}@media (prefers-reduced-motion:reduce){.V1MMBW_reveal,.V1MMBW_btnSent{animation:none}.V1MMBW_fill,.V1MMBW_barFill,.V1MMBW_switch,.V1MMBW_switchKnob{transition:none}}.V1MMBW_tableWrap,.V1MMBW_fileTree,.V1MMBW_mermaid,.V1MMBW_panelBody{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2,#ffffff38) transparent}.V1MMBW_tableWrap::-webkit-scrollbar,.V1MMBW_fileTree::-webkit-scrollbar,.V1MMBW_mermaid::-webkit-scrollbar,.V1MMBW_panelBody::-webkit-scrollbar{width:8px;height:8px}.V1MMBW_tableWrap::-webkit-scrollbar-thumb,.V1MMBW_fileTree::-webkit-scrollbar-thumb,.V1MMBW_mermaid::-webkit-scrollbar-thumb,.V1MMBW_panelBody::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2,#ffffff38);border-radius:4px}.V1MMBW_tableWrap::-webkit-scrollbar-track,.V1MMBW_fileTree::-webkit-scrollbar-track,.V1MMBW_mermaid::-webkit-scrollbar-track,.V1MMBW_panelBody::-webkit-scrollbar-track{background:0 0}.V1MMBW_visuallyHidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.V1MMBW_quiz{gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-lg);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_quizQuestion{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:600;line-height:1.6}.V1MMBW_quizOptions{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_quizOpt{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;padding:10px 14px;font-family:inherit;line-height:1.5;transition:border-color .15s,background .15s;display:flex}.V1MMBW_quizOpt:hover:not(:disabled){border-color:var(--dsl-g-accent);background:var(--dsl-g-accent-soft)}.V1MMBW_quizOpt:focus-visible,.V1MMBW_button:focus-visible,.V1MMBW_tab:focus-visible,.V1MMBW_accHead:focus-visible,.V1MMBW_copyChip:focus-visible,.V1MMBW_link:focus-visible,.V1MMBW_quizRetry:focus-visible,.V1MMBW_resetBtn:focus-visible,.V1MMBW_playBtn:focus-visible,.V1MMBW_bcText:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px}.V1MMBW_quizOpt:disabled{cursor:default;opacity:.85}.V1MMBW_quizOptCorrect{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 40%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);padding:10px 14px;font-family:inherit;font-weight:600;line-height:1.5;display:flex}.V1MMBW_quizOptWrong{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#ff6b6b);padding:10px 14px;font-family:inherit;font-weight:600;line-height:1.5;display:flex}.V1MMBW_quizOptReveal{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border:1px dashed color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 40%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);padding:10px 14px;font-family:inherit;line-height:1.5;display:flex}.V1MMBW_quizMarker{text-align:center;width:14px;color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-weight:700;display:inline-block}.V1MMBW_quizOptCorrect .V1MMBW_quizMarker{color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_quizOptWrong .V1MMBW_quizMarker{color:var(--dsw-alias-state-error-primary,#ff6b6b)}.V1MMBW_quizResult{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_quizCorrectMsg{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);font-weight:600}.V1MMBW_quizWrongMsg{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#ff6b6b);font-weight:600}.V1MMBW_quizFeedback{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);margin-top:3px;font-weight:400;line-height:1.5}.V1MMBW_quizExplanation{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary);padding:var(--dsl-g-gap-sm) 10px;border-top:1px solid var(--dsl-g-border);line-height:1.6}.V1MMBW_quizRetry{border:1px solid var(--dsl-g-border);width:fit-content;color:var(--dsw-alias-label-secondary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit}.V1MMBW_quizRetry:hover{border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}.V1MMBW_tool{margin:4px 0}.V1MMBW_toolFallback{align-items:center;gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-sm) 12px;border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));font-size:var(--dsl-g-font-title);display:flex}.V1MMBW_toolFallbackTitle{color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_toolFallbackMeta{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.V1MMBW_panel{width:calc(100% - var(--dsh-composer-side-clearance,16px) * 2 - var(--dsh-composer-dock-inset,8px) * 4);max-width:calc(var(--dsh-composer-card-max-width,780px) - var(--dsh-composer-dock-inset,8px) * 4);border:1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent);background:var(--dsw-alias-bg-layer-1,#ffffff0a);border-radius:12px;margin:10px auto 2px;overflow:hidden}.V1MMBW_panelHeader{border-bottom:1px solid var(--dsw-alias-border-l1,#7f7f7f40);align-items:center;display:flex}.V1MMBW_panelToggle{min-width:0;color:inherit;font:inherit;font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:10px;padding:9px 14px;display:flex}.V1MMBW_panelToggle:hover{background:#ffffff0a}.V1MMBW_panelClose{width:26px;height:26px;color:inherit;cursor:pointer;opacity:.65;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-right:8px;padding:0;font-size:13px;line-height:1;display:flex}.V1MMBW_panelClose:hover{opacity:1;background:#ffffff14}.V1MMBW_panelClose:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary,#4f8ef7);outline-offset:1px;opacity:1}.V1MMBW_panelTpl{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);height:26px;color:var(--dsw-alias-label-secondary,#fff9);cursor:pointer;opacity:.85;background:0 0;border-radius:8px;flex:none;align-items:center;margin-right:4px;padding:0 10px;font-size:12px;line-height:1.5;display:flex}.V1MMBW_panelTpl:hover{opacity:1;background:#ffffff14}.V1MMBW_panelTplActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_panelOnboard .V1MMBW_panelHeader{cursor:default}.V1MMBW_panelOnboardText{min-width:0;color:var(--dsw-alias-label-secondary,#fff9);flex:1;padding:0 8px;font-size:12px;line-height:1.5}.V1MMBW_panelFlash{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-state-success-primary,#6ccb5f);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#6ccb5f) 8%, transparent);padding:6px 12px;font-size:12px;line-height:1.5}.V1MMBW_panelHint{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 8%, transparent);padding:6px 14px;font-size:12px;line-height:1.5}.V1MMBW_achToasts{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.V1MMBW_achToast{border:1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-2,#000000d9);align-items:flex-start;gap:10px;width:300px;padding:10px 12px;display:flex;box-shadow:0 8px 24px #00000040}.V1MMBW_achToastBadge{flex:none;font-size:18px;line-height:1.2}.V1MMBW_achToastBody{min-width:0}.V1MMBW_achToastName{color:var(--dsw-alias-state-business-primary,#4f8ef7);font-size:13px;font-weight:600}.V1MMBW_achToastDesc{color:var(--dsw-alias-label-secondary,#fff9);margin-top:2px;font-size:12px;line-height:1.5}.V1MMBW_panelBadge{padding:0 var(--dsl-g-gap-sm);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) var(--dsl-g-tint-strong), transparent);color:var(--dsw-alias-state-business-primary,#7ba8ff);letter-spacing:.04em;border-radius:6px;flex:none;font-size:11px;font-weight:600;line-height:1.6}.V1MMBW_panelTitle{color:var(--dsw-alias-label-primary,#e6e6e6);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.V1MMBW_panelChevron{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;margin-left:auto;display:grid}.V1MMBW_panelBody{height:360px;padding:0 16px var(--dsl-g-gap-lg);overflow-y:auto}.V1MMBW_panelResizeHandle{cursor:ns-resize;touch-action:none;background:0 0;border-radius:3px;height:6px;transition:background .15s}.V1MMBW_panelResizeHandle:hover,.V1MMBW_panelResizeHandleActive{background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent)}`,document.head.appendChild(e)}var x={accBody:`V1MMBW_accBody`,accChevron:`V1MMBW_accChevron`,accHead:`V1MMBW_accHead`,accItem:`V1MMBW_accItem`,accent:`V1MMBW_accent`,accordion:`V1MMBW_accordion`,achToast:`V1MMBW_achToast`,achToastBadge:`V1MMBW_achToastBadge`,achToastBody:`V1MMBW_achToastBody`,achToastDesc:`V1MMBW_achToastDesc`,achToastName:`V1MMBW_achToastName`,achToasts:`V1MMBW_achToasts`,avatar:`V1MMBW_avatar`,badge:`V1MMBW_badge`,banner:`V1MMBW_banner`,barCol:`V1MMBW_barCol`,barFill:`V1MMBW_barFill`,barLabel:`V1MMBW_barLabel`,barValue:`V1MMBW_barValue`,baseline:`V1MMBW_baseline`,bcCurrent:`V1MMBW_bcCurrent`,bcItem:`V1MMBW_bcItem`,bcSep:`V1MMBW_bcSep`,bcText:`V1MMBW_bcText`,block:`V1MMBW_block`,body:`V1MMBW_body`,breadcrumb:`V1MMBW_breadcrumb`,btnSent:`V1MMBW_btnSent`,button:`V1MMBW_button`,callout:`V1MMBW_callout`,calloutBody:`V1MMBW_calloutBody`,calloutError:`V1MMBW_calloutError`,calloutInfo:`V1MMBW_calloutInfo`,calloutSuccess:`V1MMBW_calloutSuccess`,calloutTitle:`V1MMBW_calloutTitle`,calloutWarning:`V1MMBW_calloutWarning`,caption:`V1MMBW_caption`,card:`V1MMBW_card`,cardDanger:`V1MMBW_cardDanger`,cardInfo:`V1MMBW_cardInfo`,cardSuccess:`V1MMBW_cardSuccess`,cardTitle:`V1MMBW_cardTitle`,cardWarning:`V1MMBW_cardWarning`,cellBadge:`V1MMBW_cellBadge`,cellBar:`V1MMBW_cellBar`,cellBarFill:`V1MMBW_cellBarFill`,cellBarText:`V1MMBW_cellBarText`,cellIndex:`V1MMBW_cellIndex`,cellRing:`V1MMBW_cellRing`,cellRingText:`V1MMBW_cellRingText`,cellSpark:`V1MMBW_cellSpark`,center:`V1MMBW_center`,chart:`V1MMBW_chart`,chartBody:`V1MMBW_chartBody`,chartLabels:`V1MMBW_chartLabels`,chartLegend:`V1MMBW_chartLegend`,chartPlot:`V1MMBW_chartPlot`,chartTip:`V1MMBW_chartTip`,chartTipRow:`V1MMBW_chartTipRow`,chartTipValue:`V1MMBW_chartTipValue`,chartYAxis:`V1MMBW_chartYAxis`,chartYTick:`V1MMBW_chartYTick`,checkbox:`V1MMBW_checkbox`,col:`V1MMBW_col`,copyChip:`V1MMBW_copyChip`,copyChipDone:`V1MMBW_copyChipDone`,danger:`V1MMBW_danger`,detailBody:`V1MMBW_detailBody`,detailCell:`V1MMBW_detailCell`,detailChevron:`V1MMBW_detailChevron`,detailRow:`V1MMBW_detailRow`,detailToggle:`V1MMBW_detailToggle`,divider:`V1MMBW_divider`,donut:`V1MMBW_donut`,donutLegend:`V1MMBW_donutLegend`,donutPct:`V1MMBW_donutPct`,donutSeg:`V1MMBW_donutSeg`,donutTotal:`V1MMBW_donutTotal`,donutTotalLabel:`V1MMBW_donutTotalLabel`,donutTrack:`V1MMBW_donutTrack`,down:`V1MMBW_down`,"dsl-skeleton":`V1MMBW_dsl-skeleton`,echartCanvas:`V1MMBW_echartCanvas`,echartErr:`V1MMBW_echartErr`,echartFallback:`V1MMBW_echartFallback`,echartHint:`V1MMBW_echartHint`,echartTitle:`V1MMBW_echartTitle`,echartWrap:`V1MMBW_echartWrap`,field:`V1MMBW_field`,fieldGroup:`V1MMBW_fieldGroup`,fieldLabel:`V1MMBW_fieldLabel`,fileTree:`V1MMBW_fileTree`,fill:`V1MMBW_fill`,filterHint:`V1MMBW_filterHint`,filterRow:`V1MMBW_filterRow`,ftChevron:`V1MMBW_ftChevron`,ftChildren:`V1MMBW_ftChildren`,ftDir:`V1MMBW_ftDir`,ftGlyph:`V1MMBW_ftGlyph`,ftGlyphDir:`V1MMBW_ftGlyphDir`,ftGuide:`V1MMBW_ftGuide`,ftName:`V1MMBW_ftName`,ftNameBtn:`V1MMBW_ftNameBtn`,ftRow:`V1MMBW_ftRow`,full:`V1MMBW_full`,genuiPopIn:`V1MMBW_genuiPopIn`,genuiReveal:`V1MMBW_genuiReveal`,ghost:`V1MMBW_ghost`,gradeAns:`V1MMBW_gradeAns`,gradeExp:`V1MMBW_gradeExp`,gradeItem:`V1MMBW_gradeItem`,gradeItemNo:`V1MMBW_gradeItemNo`,gradeItemOk:`V1MMBW_gradeItemOk`,gradeList:`V1MMBW_gradeList`,gradeQ:`V1MMBW_gradeQ`,gradeRight:`V1MMBW_gradeRight`,gradeScore:`V1MMBW_gradeScore`,gradeScoreLabel:`V1MMBW_gradeScoreLabel`,gradeScoreValue:`V1MMBW_gradeScoreValue`,gradeTag:`V1MMBW_gradeTag`,gradeWrap:`V1MMBW_gradeWrap`,grid:`V1MMBW_grid`,gridSpan:`V1MMBW_gridSpan`,gridline:`V1MMBW_gridline`,groupChevron:`V1MMBW_groupChevron`,groupChild:`V1MMBW_groupChild`,groupCount:`V1MMBW_groupCount`,groupRow:`V1MMBW_groupRow`,groupToggle:`V1MMBW_groupToggle`,groupValue:`V1MMBW_groupValue`,groupedBar:`V1MMBW_groupedBar`,groupedBars:`V1MMBW_groupedBars`,groupedFill:`V1MMBW_groupedFill`,h1:`V1MMBW_h1`,h2:`V1MMBW_h2`,h3:`V1MMBW_h3`,hbarFill:`V1MMBW_hbarFill`,hbarLabel:`V1MMBW_hbarLabel`,hbarRow:`V1MMBW_hbarRow`,hbarSeg:`V1MMBW_hbarSeg`,hbarTrack:`V1MMBW_hbarTrack`,hbarTracks:`V1MMBW_hbarTracks`,hbarValue:`V1MMBW_hbarValue`,hbars:`V1MMBW_hbars`,hero:`V1MMBW_hero`,heroDanger:`V1MMBW_heroDanger`,heroLabel:`V1MMBW_heroLabel`,heroSpark:`V1MMBW_heroSpark`,heroSubtitle:`V1MMBW_heroSubtitle`,heroSuccess:`V1MMBW_heroSuccess`,heroTitle:`V1MMBW_heroTitle`,heroTop:`V1MMBW_heroTop`,heroUnit:`V1MMBW_heroUnit`,heroValue:`V1MMBW_heroValue`,heroWarning:`V1MMBW_heroWarning`,inlineCode:`V1MMBW_inlineCode`,inlineLink:`V1MMBW_inlineLink`,inlineMark:`V1MMBW_inlineMark`,inlineStrong:`V1MMBW_inlineStrong`,input:`V1MMBW_input`,jsonScalar:`V1MMBW_jsonScalar`,keyvalue:`V1MMBW_keyvalue`,kvKey:`V1MMBW_kvKey`,kvRow:`V1MMBW_kvRow`,kvValue:`V1MMBW_kvValue`,legendItem:`V1MMBW_legendItem`,legendSwatch:`V1MMBW_legendSwatch`,li:`V1MMBW_li`,liDesc:`V1MMBW_liDesc`,liTitle:`V1MMBW_liTitle`,lineArea:`V1MMBW_lineArea`,lineChart:`V1MMBW_lineChart`,lineDot:`V1MMBW_lineDot`,lineGrid:`V1MMBW_lineGrid`,lineGridAxis:`V1MMBW_lineGridAxis`,lineLabel:`V1MMBW_lineLabel`,lineLabels:`V1MMBW_lineLabels`,linePath:`V1MMBW_linePath`,lineTick:`V1MMBW_lineTick`,link:`V1MMBW_link`,linkText:`V1MMBW_linkText`,list:`V1MMBW_list`,media:`V1MMBW_media`,mediaError:`V1MMBW_mediaError`,mediaLabel:`V1MMBW_mediaLabel`,mediaPlayer:`V1MMBW_mediaPlayer`,mermaid:`V1MMBW_mermaid`,mermaidErr:`V1MMBW_mermaidErr`,mermaidFallback:`V1MMBW_mermaidFallback`,mermaidHint:`V1MMBW_mermaidHint`,muted:`V1MMBW_muted`,panel:`V1MMBW_panel`,panelBadge:`V1MMBW_panelBadge`,panelBody:`V1MMBW_panelBody`,panelChevron:`V1MMBW_panelChevron`,panelClose:`V1MMBW_panelClose`,panelFlash:`V1MMBW_panelFlash`,panelHeader:`V1MMBW_panelHeader`,panelHint:`V1MMBW_panelHint`,panelOnboard:`V1MMBW_panelOnboard`,panelOnboardText:`V1MMBW_panelOnboardText`,panelResizeHandle:`V1MMBW_panelResizeHandle`,panelResizeHandleActive:`V1MMBW_panelResizeHandleActive`,panelTitle:`V1MMBW_panelTitle`,panelToggle:`V1MMBW_panelToggle`,panelTpl:`V1MMBW_panelTpl`,panelTplActive:`V1MMBW_panelTplActive`,playBtn:`V1MMBW_playBtn`,primary:`V1MMBW_primary`,progress:`V1MMBW_progress`,progressRow:`V1MMBW_progressRow`,quiz:`V1MMBW_quiz`,quizCorrectMsg:`V1MMBW_quizCorrectMsg`,quizExplanation:`V1MMBW_quizExplanation`,quizFeedback:`V1MMBW_quizFeedback`,quizMarker:`V1MMBW_quizMarker`,quizOpt:`V1MMBW_quizOpt`,quizOptCorrect:`V1MMBW_quizOptCorrect`,quizOptReveal:`V1MMBW_quizOptReveal`,quizOptWrong:`V1MMBW_quizOptWrong`,quizOptions:`V1MMBW_quizOptions`,quizQuestion:`V1MMBW_quizQuestion`,quizResult:`V1MMBW_quizResult`,quizRetry:`V1MMBW_quizRetry`,quizWrongMsg:`V1MMBW_quizWrongMsg`,radio:`V1MMBW_radio`,resetBtn:`V1MMBW_resetBtn`,reveal:`V1MMBW_reveal`,ring:`V1MMBW_ring`,ringFill:`V1MMBW_ringFill`,ringLabel:`V1MMBW_ringLabel`,ringMeta:`V1MMBW_ringMeta`,ringSub:`V1MMBW_ringSub`,ringTrack:`V1MMBW_ringTrack`,ringValue:`V1MMBW_ringValue`,row:`V1MMBW_row`,scene3dCanvas:`V1MMBW_scene3dCanvas`,scene3dHint:`V1MMBW_scene3dHint`,scene3dTitle:`V1MMBW_scene3dTitle`,scene3dWrap:`V1MMBW_scene3dWrap`,select:`V1MMBW_select`,skeleton:`V1MMBW_skeleton`,skeletonBars:`V1MMBW_skeletonBars`,skeletonBlock:`V1MMBW_skeletonBlock`,skeletonTitle:`V1MMBW_skeletonTitle`,sliderInput:`V1MMBW_sliderInput`,sliderRow:`V1MMBW_sliderRow`,sliderValue:`V1MMBW_sliderValue`,small:`V1MMBW_small`,spacer:`V1MMBW_spacer`,stack:`V1MMBW_stack`,stackSeg:`V1MMBW_stackSeg`,stackValue:`V1MMBW_stackValue`,stat:`V1MMBW_stat`,statDelta:`V1MMBW_statDelta`,statHero:`V1MMBW_statHero`,statLabel:`V1MMBW_statLabel`,statSpark:`V1MMBW_statSpark`,statUnit:`V1MMBW_statUnit`,statValue:`V1MMBW_statValue`,step:`V1MMBW_step`,stepActive:`V1MMBW_stepActive`,stepContent:`V1MMBW_stepContent`,stepDesc:`V1MMBW_stepDesc`,stepDone:`V1MMBW_stepDone`,stepMarker:`V1MMBW_stepMarker`,stepTitle:`V1MMBW_stepTitle`,steps:`V1MMBW_steps`,submit:`V1MMBW_submit`,submitHint:`V1MMBW_submitHint`,submitRow:`V1MMBW_submitRow`,success:`V1MMBW_success`,switch:`V1MMBW_switch`,switchKnob:`V1MMBW_switchKnob`,switchLabel:`V1MMBW_switchLabel`,switchOn:`V1MMBW_switchOn`,switchRow:`V1MMBW_switchRow`,tab:`V1MMBW_tab`,tabActive:`V1MMBW_tabActive`,tabBar:`V1MMBW_tabBar`,table:`V1MMBW_table`,tableTool:`V1MMBW_tableTool`,tableTools:`V1MMBW_tableTools`,tableWrap:`V1MMBW_tableWrap`,tabs:`V1MMBW_tabs`,targetMark:`V1MMBW_targetMark`,tdDelta:`V1MMBW_tdDelta`,tdDeltaDown:`V1MMBW_tdDeltaDown`,tdDeltaUp:`V1MMBW_tdDeltaUp`,tdNum:`V1MMBW_tdNum`,text:`V1MMBW_text`,textarea:`V1MMBW_textarea`,thNum:`V1MMBW_thNum`,thSort:`V1MMBW_thSort`,thSortMark:`V1MMBW_thSortMark`,timeline:`V1MMBW_timeline`,tlBody:`V1MMBW_tlBody`,tlDesc:`V1MMBW_tlDesc`,tlDot:`V1MMBW_tlDot`,tlHead:`V1MMBW_tlHead`,tlItem:`V1MMBW_tlItem`,tlLine:`V1MMBW_tlLine`,tlRail:`V1MMBW_tlRail`,tlTime:`V1MMBW_tlTime`,tlTitle:`V1MMBW_tlTitle`,tool:`V1MMBW_tool`,toolFallback:`V1MMBW_toolFallback`,toolFallbackMeta:`V1MMBW_toolFallbackMeta`,toolFallbackTitle:`V1MMBW_toolFallbackTitle`,track:`V1MMBW_track`,up:`V1MMBW_up`,videoPlayer:`V1MMBW_videoPlayer`,visuallyHidden:`V1MMBW_visuallyHidden`,warn:`V1MMBW_warn`,wrap:`V1MMBW_wrap`};let S={copy:`复制`,copied:`复制成功`,collapseAria:`收起差异`,expandAria(e){return`展开其余 ${e} 行差异`},collapse:`收起`,expand(e){return`… 其余 ${e} 行`},files(e){return`${e} 个文件`}},C={copyLabel:`复制`,copiedLabel:`复制成功`},w={copyValue:`复制值`,copyJson:`复制 JSON`,copyPath:`复制属性路径`,copyPrettyJson:`复制格式化 JSON`,copyCompactJson:`复制紧凑 JSON`,copied:`已复制`,copyFailed:`复制失败`,collapseNode:`收起 JSON 节点`,expandNode:`展开 JSON 节点`,copyButtonTitle(e){return`${e};右键查看复制选项`}},T={display:`flex`,flexDirection:`column`,gap:`4px`,padding:`8px 12px`,margin:`4px 0`,borderRadius:`8px`,border:`1px solid rgba(127,127,127,0.35)`,background:`rgba(127,127,127,0.08)`,color:`inherit`,fontSize:`12px`,lineHeight:1.5,fontFamily:`inherit`};var E=class extends m.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[dsh-genui] render failed:`,e,t.componentStack??``)}render(){let{error:e}=this.state;return e===null?this.props.children:(0,g.jsxs)(`div`,{style:T,role:`alert`,"data-genui-error":!0,children:[(0,g.jsxs)(`span`,{style:{fontWeight:600},children:[`⚠️ `,this.props.label??`此界面`,`渲染失败(已隔离,不影响其他内容)`]}),(0,g.jsx)(`span`,{style:{opacity:.75,overflowWrap:`anywhere`},children:e.message})]})}};let D=`dsh.genui.interaction`;function O(){return{order:[],blocks:{}}}function k(){try{let e=localStorage.getItem(D);if(e===null)return O();let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.blocks!=`object`||t.blocks===null?O():{order:t.order.filter(e=>typeof e==`string`),blocks:t.blocks}}catch{return O()}}function A(e){try{localStorage.setItem(D,JSON.stringify(e))}catch{}}function ee(e){return e===``?null:k().blocks[e]??null}function te(e,t){if(e===``)return;let n=k(),r=n.order.filter(t=>t!==e);r.unshift(e);let i={...n.blocks,[e]:t};for(;r.length>200;){let e=r.pop();e!==void 0&&delete i[e]}A({order:r,blocks:i})}function ne(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(36)}function re(e,t,n){return`f:${e}:${String(t)}:${ne(n)}`}function ie(e,t){return`p:${e}:${ne(t)}`}function ae(e,t){return`t:${e}:${t}`}function oe(){return{fences:0,panels:0,interactions:0,templates:0,charts:0,advanced:0}}let se=e=>t=>t.fences>=e,ce=[{id:`first-fence`,name:`初次相见`,description:`渲染了第一块 GenUI 界面。`,rarity:`common`,check:se(1)},{id:`fence-5`,name:`渐入佳境`,description:`累计渲染 5 个界面。`,rarity:`common`,check:se(5)},{id:`fence-25`,name:`界面编织者`,description:`累计渲染 25 个界面。`,rarity:`rare`,check:se(25)},{id:`fence-50`,name:`蓝图之魂`,description:`累计渲染 50 个界面——你是 GenUI 的老朋友了。`,rarity:`legendary`,hidden:!0,check:se(50)},{id:`first-interaction`,name:`按钮按得动`,description:`触发了一次组件交互(动作回传)。`,rarity:`common`,check:e=>e.interactions>=1},{id:`interaction-10`,name:`小小操纵者`,description:`累计触发 10 次组件交互。`,rarity:`rare`,check:e=>e.interactions>=10},{id:`first-panel`,name:`钉在墙上`,description:`第一次把内容钉进了会话面板。`,rarity:`common`,check:e=>e.panels>=1},{id:`panel-5`,name:`面板管家`,description:`5 个会话都用过面板。`,rarity:`rare`,check:e=>e.panels>=5},{id:`first-chart`,name:`图表爱好者`,description:`渲染了第一张图表(chart/plot/echart)。`,rarity:`common`,check:e=>e.charts>=1},{id:`chart-10`,name:`数据可视化人`,description:`10 个界面里出现过图表。`,rarity:`rare`,check:e=>e.charts>=10},{id:`first-advanced`,name:`高级玩家`,description:`用上了 3D/图表引擎/架构图之一。`,rarity:`rare`,check:e=>e.advanced>=1},{id:`template-1`,name:`模板学员`,description:`从模板中心试用了一个模板。`,rarity:`common`,check:e=>e.templates>=1}];function le(e){let t=0,n=0,r=e=>{if(Array.isArray(e))for(let i of e){if(typeof i!=`object`||!i)continue;let e=i,a=e.type;if((a===`chart`||a===`plot`||a===`echart`)&&(t+=1),(a===`scene3d`||a===`mermaid`||a===`diagram`)&&(n+=1),Array.isArray(e.items)&&r(e.items),Array.isArray(e.tabs))for(let t of e.tabs)r(t.items)}};return r(e.items),{charts:t,advanced:n}}function ue(e,t){let n=ce.length,r=ce.filter(e=>t[e.id]!==void 0).length;return{title:`GenUI 探索成就`,items:[{type:`grid`,cols:3,items:[{type:`stat`,label:`已解锁`,value:`${r} / ${n}`},{type:`stat`,label:`渲染界面`,value:String(e.fences)},{type:`stat`,label:`组件交互`,value:String(e.interactions)}]},{type:`progress`,label:`探索进度`,value:Math.round(r/n*100),valueLabel:`${Math.round(r/n*100)}%`},{type:`list`,items:ce.map(e=>({type:`row`,items:[{type:`badge`,label:e.rarity===`legendary`?`传说`:e.rarity===`rare`?`稀有`:`普通`,tone:t[e.id]===void 0?`warn`:`success`},{type:`text`,size:`body`,content:e.hidden&&t[e.id]===void 0?`?`:e.name},{type:`text`,size:`muted`,content:e.hidden&&t[e.id]===void 0?`继续探索以揭示`:e.description}]}))}]}}function de(e,t){return ce.filter(n=>t[n.id]===void 0&&n.check(e))}let fe=`dsh.genui.achievements`,pe=`dsh.genui.achievements.seen`,j=ge(),me=new Set,he=[];function ge(){try{let e=localStorage.getItem(fe);if(e===null)return{state:oe(),unlocked:{}};let t=JSON.parse(e);return{state:{...oe(),...t.state??{}},unlocked:typeof t.unlocked==`object`&&t.unlocked!==null?t.unlocked:{}}}catch{return{state:oe(),unlocked:{}}}}function _e(){try{localStorage.setItem(fe,JSON.stringify(j))}catch{}}function ve(){try{let e=localStorage.getItem(pe);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function ye(e){try{localStorage.setItem(pe,JSON.stringify(e.slice(0,200)))}catch{}}function be(){for(let e of me)e()}function xe(e){j.state={...j.state,...e};let t=de(j.state,j.unlocked);for(let e of t)j.unlocked[e.id]=Date.now();t.length>0&&he.push(...t),_e(),be()}function Se(e){let t=JSON.stringify(e),n=3735928559,r=1103547991;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return`${(n>>>0).toString(36)}-${(r>>>0).toString(36)}`}function Ce(e){let t=Se(e),n=ve();if(n.includes(t))return;ye([t,...n]);let r=le(e);xe({fences:j.state.fences+1,charts:j.state.charts+ +(r.charts>0),advanced:j.state.advanced+ +(r.advanced>0)})}function we(){xe({panels:j.state.panels+1})}function Te(){xe({interactions:j.state.interactions+1})}function Ee(){xe({templates:j.state.templates+1})}function De(){return j}function Oe(){let e=he;return he=[],e}function ke(e){return me.add(e),()=>me.delete(e)}let M={maxDepth:8,maxNodes:200,maxString:2e3,maxCode:12e3,maxMermaid:8e3,maxGridCols:12,maxTabs:12,maxAccordionItems:24,maxListItems:50,maxOptions:50,maxTableRows:50,maxTableCols:12,maxChartPoints:60,maxPlotSeries:8,maxPlotParams:6,maxMeshes:5,maxQuizOptions:8,maxSteps:24,maxTimelineItems:24,maxBreadcrumbItems:12,maxKeyValuePairs:24,maxTreeDepth:6,maxDiagramNodes:9,maxDiagramEdges:12,maxDiagramZones:3,maxDiagramFocal:2,maxDiagramLabel:14,maxEChartOptionDepth:10,maxEChartArrayLen:500,maxEChartOptionNodes:2e3};function Ae(e,t){return typeof e==`string`&&t.includes(e)}function N(e,t){return typeof e==`string`?e.slice(0,t):void 0}let je=/^(?:#[\da-fA-F]{3,8}|rgba?\([^)]{0,64}\)|hsla?\([^)]{0,64}\)|var\(--dsw-[\w-]+(?:,\s*#[0-9a-fA-F]{3,8})?\))$/;function P(e){if(typeof e!=`string`)return;let t=e.trim();return t.length<=64&&je.test(t)?t:void 0}function Me(e){if(typeof e!=`string`)return;let t=e.trim();if(!(t.length>2048))return/^https?:\/\//i.test(t)||/^mailto:[^@\s]+@[^@\s]+$/i.test(t)?t:void 0}function Ne(e){if(typeof e!=`string`)return;let t=e.trim();if(!(t===``||t.length>2048)&&(/^https?:\/\//i.test(t)||!(/^[a-z][a-z0-9+.-]*:/i.test(t)||/^[/\\]{2}/.test(t))))return t}function F(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,e)):void 0}function I(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,Math.trunc(e))):void 0}function L(e,t){return Ae(e,t)?e:void 0}function R(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function z(e,t){return t===void 0?{}:{[e]:t}}let Pe=/`[^`\n]+`|\*\*[^*\n]+\*\*|==[^=\n]+==|\[[^\]\n]+\]\([^)\s]+\)/g;function Fe(e){return typeof e==`string`&&/[`*=]|\[/.test(e)}function B(e){if(typeof e!=`string`||e===``||!Fe(e))return e;let t=[],n=0,r=0;for(let i of e.matchAll(Pe)){let a=i.index??0,o=i[0];if(a>n&&t.push(e.slice(n,a)),o.startsWith("`"))t.push((0,m.createElement)(`code`,{key:r++,className:x.inlineCode},o.slice(1,-1)));else if(o.startsWith(`**`))t.push((0,m.createElement)(`strong`,{key:r++,className:x.inlineStrong},o.slice(2,-2)));else if(o.startsWith(`==`))t.push((0,m.createElement)(`mark`,{key:r++,className:x.inlineMark},o.slice(2,-2)));else{let e=/^\[([^\]\n]+)\]\(([^)\s]+)\)$/.exec(o);if(e===null)t.push(o);else{let n=Me(e[2]);t.push(n===void 0?e[1]:(0,m.createElement)(`a`,{key:r++,className:x.inlineLink,href:n,target:`_blank`,rel:`noreferrer noopener`},e[1]))}}n=a+o.length}return n<e.length&&t.push(e.slice(n)),t.length===0?e:t}let Ie=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-deepseek-300)`,`var(--dsw-static-neutral-bluish-400)`];function Le(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return Ie[t%Ie.length]}function Re({className:e,disabled:t,onClick:n,children:r}){let[i,a]=(0,m.useState)(!1),o=(0,m.useRef)(null);return(0,m.useEffect)(()=>()=>{o.current!==null&&clearTimeout(o.current)},[]),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`button`,{type:`button`,className:e,disabled:t,onClick:n===void 0?void 0:()=>{n(),o.current!==null&&clearTimeout(o.current),a(!0),o.current=setTimeout(()=>a(!1),1400)},children:[r,i&&(0,g.jsx)(`span`,{className:x.btnSent,"aria-hidden":!0,children:`✓ 已触发`})]}),(0,g.jsx)(`span`,{className:x.visuallyHidden,role:`status`,children:i?`已触发`:``})]})}let ze=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:x.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:x.mediaLabel,children:e.alt}),t?(0,g.jsx)(`div`,{className:x.mediaError,role:`alert`,children:`音频无法播放`}):(0,g.jsx)(`audio`,{className:x.mediaPlayer,src:e.src,"aria-label":e.alt??`音频`,controls:!0,preload:`metadata`,loop:e.loop===!0,onError:()=>n(!0)})]})}),Be=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:x.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:x.mediaLabel,children:e.alt}),t?(0,g.jsx)(`div`,{className:x.mediaError,role:`alert`,children:`视频无法播放`}):(0,g.jsx)(`video`,{className:`${x.mediaPlayer} ${x.videoPlayer}`,src:e.src,poster:e.poster,"aria-label":e.alt??`视频`,controls:!0,preload:`metadata`,playsInline:!0,loop:e.loop===!0,muted:e.muted===!0,style:e.aspectRatio===void 0?void 0:{aspectRatio:e.aspectRatio.replace(`:`,` / `)},onError:()=>n(!0)})]})}),Ve=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-neutral-bluish-400)`,`var(--dsw-static-deepseek-300)`],He=(e,t,n,r)=>n??(r!==void 0&&r.length>0?r[e%r.length]:t>1?Ve[e%Ve.length]:void 0);function Ue(e){if(typeof e==`number`)return Number.isFinite(e)?e:NaN;if(typeof e!=`string`)return NaN;let t=e.trim();if(t===``)return NaN;t=t.replace(/^[¥$€£]/,``),t.endsWith(`%`)&&(t=t.slice(0,-1));let n=1;if(t.endsWith(`万`))n=1e4,t=t.slice(0,-1);else if(t.endsWith(`亿`))n=1e8,t=t.slice(0,-1);else if(/[kmb]$/i.test(t)){let e=t.slice(-1).toLowerCase();n=e===`k`?1e3:e===`m`?1e6:1e9,t=t.slice(0,-1)}t=t.replace(/[,,\s]/g,``);let r=Number(t);return Number.isFinite(r)?r*n:NaN}function We(e,t){return Array.from({length:t},(t,n)=>{let r=!1;for(let t of e){let e=t[n];if(e!=null&&e!==``){if(!Number.isFinite(Ue(e)))return!1;r=!0}}return r})}function Ge(e){if(typeof e!=`string`)return null;let t=e.trim();return!/^[+][\s]*[\d.]/.test(t)&&!/^[-−][\s]*[\d.]/.test(t)?null:t.startsWith(`+`)?`up`:`down`}function Ke({cell:e}){let t=String(e).split(/[\s,;]+/).map(Number).filter(Number.isFinite);if(t.length<2)return(0,g.jsx)(g.Fragment,{children:String(e)});let n=Math.min(...t),r=Math.max(...t)-n||1,i=84/(t.length-1),a=t.map((e,t)=>[2+t*i,20-(e-n)/r*18]),o=a.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),s=a[a.length-1],c=`M 2,20 L ${o.split(` `).join(` L `)} L ${s[0].toFixed(1)},20 Z`;return(0,g.jsxs)(`svg`,{className:x.cellSpark,viewBox:`0 0 88 22`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,g.jsx)(`path`,{d:c,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,g.jsx)(`polyline`,{points:o,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,g.jsx)(`path`,{d:`M ${s[0].toFixed(1)} ${s[1].toFixed(1)} L ${s[0].toFixed(1)} ${s[1].toFixed(1)}`,stroke:`var(--dsl-g-accent)`,strokeWidth:4,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`,fill:`none`})]})}function qe({cell:e}){let t=Ue(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0,r=2*Math.PI*11;return(0,g.jsxs)(`span`,{className:x.cellRing,children:[(0,g.jsxs)(`svg`,{width:28,height:28,viewBox:`0 0 28 28`,"aria-hidden":`true`,children:[(0,g.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,className:x.ringTrack}),(0,g.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,strokeLinecap:`round`,className:x.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 14 14)`})]}),(0,g.jsx)(`span`,{className:x.cellRingText,children:String(e)})]})}function Je(e,t){let n=e=>String(e??``).replace(/\|/g,`\\|`).replace(/\n/g,` `);return[`| ${e.map(n).join(` | `)} |`,`| ${e.map(()=>`---`).join(` | `)} |`,...t.map(t=>`| ${e.map((e,r)=>n(t[r])).join(` | `)} |`)].join(`
|
|
2
|
-
|
|
3
|
-
`)}function Xe({columns:e,rows:t}){let[n,r]=(0,m.useState)(null),i=n=>{let i=n===`md`?Je(e,t):Ye(t);(0,p.writeClipboard)(i).then(e=>{e&&(r(n),window.setTimeout(()=>r(null),1200))})};return(0,g.jsxs)(`div`,{className:x.tableTools,children:[(0,g.jsx)(`button`,{type:`button`,className:x.tableTool,onClick:()=>i(`md`),children:n===`md`?`已复制`:`复制 Markdown`}),(0,g.jsx)(`button`,{type:`button`,className:x.tableTool,onClick:()=>i(`csv`),children:n===`csv`?`已复制`:`复制 CSV`})]})}function Ze({cell:e}){let t=Ue(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0;return(0,g.jsxs)(`span`,{className:x.cellBar,children:[(0,g.jsx)(`span`,{className:x.cellBarFill,style:{width:`${n}%`}}),(0,g.jsx)(`span`,{className:x.cellBarText,children:String(e)})]})}let Qe=(0,m.memo)(function({node:e,renderDetail:t,filterValue:n,sortValue:r}){let i=e.columns.slice(0,M.maxTableCols),a=e.rows.slice(0,M.maxTableRows),o=e.types??[],s=o[0]===`group`,[c,l]=(0,m.useState)(null),[u,d]=(0,m.useState)(()=>new Set),[f,p]=(0,m.useState)(()=>new Set),h=(e,t,n,r)=>{let i=Ue(e[n]),a=Ue(t[n]);if(Number.isFinite(i)&&Number.isFinite(a)&&i!==a)return(i-a)*r;if(Number.isFinite(i)!==Number.isFinite(a))return Number.isFinite(i)?-r:r;let o=String(e[n]??``),s=String(t[n]??``);return(o<s?-1:+(o>s))*r},_=e=>s&&String(e[0]??``).trim()!==``&&e.slice(1).every(e=>String(e??``).trim()===``),v=n?.trim().toLowerCase(),y=(v===void 0||v===``?a.map((e,t)=>({row:e,index:t})):a.map((e,t)=>({row:e,index:t})).filter(({row:t})=>(e.filterColumn===void 0?t:[t[e.filterColumn]]).some(e=>String(e??``).toLowerCase().includes(v)))).map(e=>e.row),b=a.length-y.length,S=[];y.forEach((e,t)=>{if(_(e)){S.push({header:{row:e,index:t},children:[]});return}(S.length===0||S[S.length-1].header===null)&&S.length===0&&S.push({header:null,children:[]}),S[S.length-1].children.push({row:e,index:t})});let C=r===void 0?-1:i.indexOf(r),w=c===null?C>=0?{col:C,dir:1}:null:c,T=S.map(e=>({header:e.header,children:w===null?e.children:[...e.children].sort((e,t)=>h(e.row,t.row,w.col,w.dir))})),E=We(y,i.length),D=e=>{d(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},O=e=>{p(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},k=e=>{l(t=>t!==null&&t.col===e?t.dir===1?{col:e,dir:-1}:null:{col:e,dir:1})},A=i.map((e,t)=>{if(!E[t])return null;let n=0;for(let e of y){if(_(e))continue;let r=Ue(e[t]);Number.isFinite(r)&&(n+=r)}return n}),ee=e.total===!0&&A.some(e=>e!==null),te=e=>Number.isInteger(e)?e.toLocaleString(`en-US`):String(Math.round(e*100)/100),ne=(e,t,n)=>{let r=o[t],i=r===`delta`?String(e).trim().startsWith(`-`)?`down`:`up`:Ge(e);return(0,g.jsx)(`td`,{className:E[t]||r===`num`?x.tdNum:void 0,children:r===`badge`?(0,g.jsx)(`span`,{className:x.cellBadge,children:String(e)}):r===`bar`?(0,g.jsx)(Ze,{cell:e}):r===`spark`?(0,g.jsx)(Ke,{cell:e}):r===`ring`?(0,g.jsx)(qe,{cell:e}):r===`index`?(0,g.jsx)(`span`,{className:x.cellIndex,children:n+1}):i===null?B(String(e)):(0,g.jsx)(`span`,{className:`${x.tdDelta} ${i===`up`?x.tdDeltaUp:x.tdDeltaDown}`,children:String(e)})},t)};return(0,g.jsxs)(`div`,{className:x.tableWrap,children:[e.export===!0&&(0,g.jsx)(Xe,{columns:i,rows:a}),(0,g.jsxs)(`table`,{className:x.table,children:[(0,g.jsx)(`thead`,{children:(0,g.jsx)(`tr`,{children:i.map((e,t)=>(0,g.jsx)(`th`,{className:E[t]?x.thNum:void 0,"aria-sort":c!==null&&c.col===t?c.dir===1?`ascending`:`descending`:`none`,children:(0,g.jsxs)(`button`,{type:`button`,className:x.thSort,onClick:()=>k(t),children:[e,c!==null&&c.col===t&&(0,g.jsx)(`span`,{className:x.thSortMark,"aria-hidden":!0,children:c.dir===1?` ▲`:` ▼`})]})},t))})}),(0,g.jsx)(`tbody`,{children:T.map((n,r)=>{let a=n.header?.index??r,o=u.has(a);return(0,g.jsxs)(m.Fragment,{children:[n.header!==null&&(0,g.jsx)(`tr`,{className:x.groupRow,children:(0,g.jsx)(`td`,{colSpan:i.length,children:(0,g.jsxs)(`button`,{type:`button`,className:x.groupToggle,"aria-expanded":!o,onClick:()=>D(a),children:[(0,g.jsx)(`span`,{className:x.groupChevron,"aria-hidden":!0,children:o?`▸`:`▾`}),String(n.header.row[0]),(0,g.jsx)(`span`,{className:x.groupCount,children:n.children.length})]})})}),!o&&n.children.map(r=>{let a=e.details?.[r.index]??null,o=f.has(r.index);return(0,g.jsxs)(m.Fragment,{children:[(0,g.jsx)(`tr`,{className:n.header===null?void 0:x.groupChild,children:r.row.slice(0,i.length).map((e,t)=>t===0&&a!==null?(0,g.jsx)(`td`,{className:x.detailCell,children:(0,g.jsxs)(`button`,{type:`button`,className:x.detailToggle,"aria-expanded":o,onClick:()=>O(r.index),children:[(0,g.jsx)(`span`,{className:x.detailChevron,"data-open":o,"aria-hidden":!0,children:`▸`}),String(e)]})},t):ne(e,t,r.index))}),o&&a!==null&&(0,g.jsx)(`tr`,{className:x.detailRow,children:(0,g.jsx)(`td`,{colSpan:i.length,children:(0,g.jsx)(`div`,{className:x.detailBody,children:t===void 0?null:t(a)})})})]},r.index)})]},n.header===null?`s-${r}`:`g-${n.header.index}`)})}),b>0&&(0,g.jsx)(`tfoot`,{children:(0,g.jsx)(`tr`,{className:x.filterRow,children:(0,g.jsxs)(`td`,{colSpan:i.length,children:[`筛选后 `,y.length,` / `,a.length,` 行`]})})}),ee&&(0,g.jsx)(`tfoot`,{children:(0,g.jsx)(`tr`,{children:i.map((e,t)=>(0,g.jsx)(`td`,{className:E[t]?x.tdNum:void 0,children:t===0?`合计`:A[t]===null?``:te(A[t])},t))})})]})]})});function $e(){let[e,t]=(0,m.useState)(null);return{tip:e,show:(0,m.useCallback)((e,n)=>{let r=e.currentTarget,i=r.closest(`[data-genui-chart], [data-genui-line], [data-genui-donut]`);if(i===null)return;let a=i.getBoundingClientRect(),o=r.getBoundingClientRect();t({x:o.left-a.left+o.width/2,y:o.top-a.top,rows:n})},[]),hide:(0,m.useCallback)(()=>t(null),[])}}function et({tip:e}){return e===null?null:(0,g.jsx)(`div`,{className:x.chartTip,style:{left:`${e.x}px`,top:`${e.y}px`},role:`tooltip`,children:e.rows.map(([e,t],n)=>(0,g.jsxs)(`span`,{className:x.chartTipRow,children:[(0,g.jsx)(`span`,{children:e}),(0,g.jsx)(`span`,{className:x.chartTipValue,children:t})]},`${e}-${n}`))})}function tt(){let e=(0,m.useRef)(null),[t,n]=(0,m.useState)(560);return(0,m.useLayoutEffect)(()=>{let t=e.current;if(t===null)return;let r=()=>{let e=t.clientWidth;e>0&&n(e)};if(r(),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(r);return i.observe(t),()=>i.disconnect()},[]),[e,t]}function nt(e,t,n=4){let r=Math.min(e,0),i=Math.max(t,0);if(r===i)return[0,1];let a=(i-r)/Math.max(n,1),o=10**Math.floor(Math.log10(Math.max(a,Number.MIN_VALUE))),s=a/o,c=(s<=1?1:s<=2?2:s<=5?5:10)*o,l=Math.floor(r/c)*c,u=Math.ceil(i/c)*c,d=[];for(let e=l;e<=u+c/2;e+=c)d.push(Math.abs(e)<c/1e6?0:e);return d}function rt(e){let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(t%1e9==0?0:1)}b`:t>=1e6?`${(e/1e6).toFixed(t%1e6==0?0:1)}m`:t>=1e3?`${(e/1e3).toFixed(t%1e3==0?0:1)}k`:String(Number.isInteger(e)?e:Math.round(e*100)/100)}function it({ticks:e,lo:t,span:n}){return(0,g.jsx)(`div`,{className:x.chartYAxis,style:{height:160},children:e.map(e=>(0,g.jsx)(`span`,{className:x.chartYTick,style:{bottom:`${(e-t)/n*100}%`},children:rt(e)},e))})}let at=(0,m.memo)(function({chart:e,filterValue:t}){let n=(0,m.useMemo)(()=>ot(e,t),[e,t]),r=n.kind??`bars`;return r===`donut`?(0,g.jsx)(lt,{chart:n}):r===`line`?(0,g.jsx)(ct,{chart:n}):(0,g.jsx)(st,{chart:n})});function ot(e,t){let n=t?.trim().toLowerCase();if(n===void 0||n===``)return e;let r=e=>e.label.toLowerCase().includes(n),i=e.data.filter(r);if(e.series===void 0)return i.length===e.data.length?e:{...e,data:i};let a=e.series.map(e=>({...e,data:e.data.filter(r)}));return{...e,data:i,series:a}}let st=(0,m.memo)(function({chart:e}){let{tip:t,show:n,hide:r}=$e(),i=e.series===void 0?void 0:e.series.slice(0,M.maxPlotSeries),a=i!==void 0&&i.length>0,o=e.data.slice(0,M.maxChartPoints),s=a?i[0].data.map(e=>e.label):o.map(e=>e.label),c=a?i.map(e=>e.data.map(e=>Number(e.value)||0)):[o.map(e=>Number(e.value)||0)],l=c.map((t,n)=>He(n,c.length,a?i[n]?.color:void 0,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`),u=c.flat(),d=s.length<=12,f=e.stacked===!0&&a,p=s.map((e,t)=>c.reduce((e,n)=>e+Math.max(0,n[t]??0),0));if(e.horizontal===!0){let e=Math.max(Math.max(...u,0),1),m=a?(0,g.jsx)(`div`,{className:x.chartLegend,children:i.map((e,t)=>(0,g.jsxs)(`span`,{className:x.legendItem,children:[(0,g.jsx)(`span`,{className:x.legendSwatch,style:{background:l[t]}}),e.label]},t))}):null;return(0,g.jsxs)(`div`,{className:x.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":`横向柱状图,${s.length} 组`,onMouseLeave:r,children:[(0,g.jsx)(`div`,{className:x.hbars,children:s.map((t,r)=>(0,g.jsxs)(`div`,{className:x.hbarRow,children:[(0,g.jsx)(`span`,{className:x.hbarLabel,title:t,children:t}),(0,g.jsx)(`div`,{className:x.hbarTracks,children:f?(0,g.jsx)(`div`,{className:x.hbarTrack,title:`${t}: ${p[r]??0}`,children:c.map((t,a)=>{let o=Math.max(0,t[r]??0),s=p[r]??0,c=s===0?0:o/s*Math.max(0,Math.min(100,s/e*100));return(0,g.jsx)(`div`,{className:x.hbarSeg,style:{width:`${c}%`,background:l[a]},onMouseEnter:e=>n(e,[[i[a].label,String(o)],[`合计`,String(s)]]),onMouseMove:e=>n(e,[[i[a].label,String(o)],[`合计`,String(s)]])},a)})}):c.map((o,s)=>{let c=o[r]??0,u=Math.max(0,Math.min(100,Math.max(0,c)/e*100));return(0,g.jsx)(`div`,{className:x.hbarTrack,children:(0,g.jsx)(`div`,{className:x.hbarFill,style:{width:`${u}%`,background:l[s]},onMouseEnter:e=>n(e,a?[[i[s].label,String(c)],[`合计`,String(p[r]??0)]]:[[t,String(c)]]),onMouseMove:e=>n(e,a?[[i[s].label,String(c)],[`合计`,String(p[r]??0)]]:[[t,String(c)]])})},s)})}),d&&(0,g.jsx)(`span`,{className:x.hbarValue,children:a?p[r]??0:String(o[r]?.value??``)})]},r))}),m,(0,g.jsx)(et,{tip:t})]})}let m=nt(a?0:Math.min(...u,0),Math.max(...u,0),4),h=m[0],_=m[m.length-1]-h||1,v=e=>(e-h)/_*100,y=v(0),b=`柱状图,${s.length} 组,最大 ${rt(Math.max(...u,0))}`;return(0,g.jsxs)(`div`,{className:x.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":b,onMouseLeave:r,children:[(0,g.jsx)(et,{tip:t}),(0,g.jsxs)(`div`,{className:x.chartBody,children:[(0,g.jsx)(it,{ticks:m,lo:h,span:_}),(0,g.jsxs)(`div`,{className:x.chartPlot,children:[m.map(e=>(0,g.jsx)(`span`,{className:e===0?x.baseline:x.gridline,style:{bottom:`${v(e)}%`}},e)),s.map((e,t)=>(0,g.jsx)(`div`,{className:x.barCol,children:f?(0,g.jsxs)(g.Fragment,{children:[d&&(0,g.jsx)(`span`,{className:x.barValue,style:{bottom:`calc(${v(p[t]??0)}% + 4px)`},children:String(p[t]??0)}),(0,g.jsx)(`div`,{className:x.stack,style:{height:`${Math.max(0,v(p[t]??0))}%`},children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0,o=Math.max(0,a),s=p[t]??0,c=s===0?0:o/s*v(s),u=[[e.label,String(a)],[`合计`,String(s)]];return(0,g.jsx)(`div`,{className:x.stackSeg,style:{height:s===0?`0%`:`${o/s*100}%`,background:l[r]},onMouseEnter:e=>n(e,u),onMouseMove:e=>n(e,u),children:c>=11&&(0,g.jsx)(`span`,{className:x.stackValue,children:a})},r)})})]}):a?(0,g.jsx)(`div`,{className:x.groupedBars,children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0;return(0,g.jsxs)(`div`,{className:x.groupedBar,children:[d&&(0,g.jsx)(`span`,{className:x.groupValue,children:i===void 0?``:String(i.value)}),(0,g.jsx)(`div`,{className:x.groupedFill,style:{height:`${Math.max(0,v(Math.max(0,a)))}%`,background:l[r]},onMouseEnter:r=>n(r,[[e.label,String(i?.value??``)],[`合计`,String(p[t]??0)]]),onMouseMove:r=>n(r,[[e.label,String(i?.value??``)],[`合计`,String(p[t]??0)]])})]},r)})}):(()=>{let r=c[0][t]??0,i=Math.max(v(r),y),a=Math.min(v(r),y);return(0,g.jsxs)(g.Fragment,{children:[d&&(0,g.jsx)(`span`,{className:x.barValue,style:{bottom:`calc(${i}% + 4px)`},children:String(o[t]?.value??``)}),(0,g.jsx)(`div`,{className:x.barFill,style:{bottom:`${a}%`,height:`${Math.max(i-a,.6)}%`,...r<0?{borderRadius:`0 0 5px 5px`}:{},...o[t]?.color===void 0?{}:{background:o[t].color}},onMouseEnter:r=>n(r,[[e,String(o[t]?.value??``)]]),onMouseMove:r=>n(r,[[e,String(o[t]?.value??``)]])})]})})()},t))]})]}),(0,g.jsx)(`div`,{className:x.chartLabels,children:s.map((e,t)=>(0,g.jsx)(`span`,{className:x.barLabel,children:e},`${e}-${t}`))}),a&&(0,g.jsx)(`div`,{className:x.chartLegend,children:i.map((e,t)=>(0,g.jsxs)(`span`,{className:x.legendItem,children:[(0,g.jsx)(`span`,{className:x.legendSwatch,style:{background:l[t]}}),e.label]},t))})]})}),ct=(0,m.memo)(function({chart:e}){let[t,n]=tt(),{tip:r,show:i,hide:a}=$e(),o=`genui-line-${(0,m.useId)().replace(/:/g,``)}`,s=e.series!==void 0&&e.series.length>0?e.series.slice(0,M.maxPlotSeries):void 0,c=e.data.slice(0,M.maxChartPoints),l=s===void 0?c.map(e=>e.label):s[0].data.map(e=>e.label),u=s===void 0?[c.map(e=>Number(e.value)||0)]:s.map(e=>e.data.map(e=>Number(e.value)||0)),d=u.map((t,n)=>He(n,u.length,s===void 0?void 0:s[n]?.color,e.palette)??`var(--dsl-g-accent)`),f=u.length>1,p=u.flat(),h=Math.max(...u.map(e=>e.length),0),_=Math.max(n,260),v=nt(Math.min(...p,0),Math.max(...p,0),4),y=v[0],b=v[v.length-1]-y||1,S=_-44-12,C=e=>44+(h<=1?S/2:e/(h-1)*S),w=e=>14+(1-(e-y)/b)*136,T=u.map(e=>e.map((e,t)=>`${t===0?`M`:`L`} ${C(t).toFixed(1)} ${w(e).toFixed(1)}`).join(` `)),E=!f&&h>1?`${T[0]} L ${C(h-1).toFixed(1)} ${w(y).toFixed(1)} L ${C(0).toFixed(1)} ${w(y).toFixed(1)} Z`:null,D=Math.max(1,Math.ceil(h/Math.max(1,Math.floor(S/64)))),O=`折线图,${f?`${u.length} 条序列`:`${h} 个点`},范围 ${rt(Math.min(...p,0))} 到 ${rt(Math.max(...p,0))}`;return(0,g.jsxs)(`div`,{className:x.lineChart,"data-genui-chart":`line`,"data-genui-line":!0,ref:t,role:`img`,"aria-label":O,onMouseLeave:a,children:[(0,g.jsx)(et,{tip:r}),(0,g.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 ${_} 176`,preserveAspectRatio:`none`,children:[(0,g.jsx)(`defs`,{children:(0,g.jsxs)(`linearGradient`,{id:o,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.22`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.02`})]})}),v.map((e,t)=>{let n=w(e);return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:44,x2:_-12,y1:n,y2:n,className:t===0?x.lineGridAxis:x.lineGrid}),(0,g.jsx)(`text`,{x:36,y:n+4,textAnchor:`end`,className:x.lineTick,children:rt(e)})]},e)}),E!==null&&(0,g.jsx)(`path`,{d:E,fill:`url(#${o})`}),T.map((e,t)=>(0,g.jsx)(`path`,{d:e,className:x.linePath,style:{stroke:d[t]}},t)),u.map((e,t)=>e.map((e,n)=>{let r=f?[[s[t].label,String(e)],[`节点`,l[n]??``]]:[[l[n]??``,String(e)]];return(0,g.jsx)(`circle`,{cx:C(n),cy:w(e),r:f?3:3.5,className:x.lineDot,style:{fill:d[t]},onMouseEnter:e=>i(e,r),onMouseMove:e=>i(e,r)},`${t}-${n}`)})),l.map((e,t)=>t%D===0?(0,g.jsx)(`text`,{x:C(t),y:168,textAnchor:`middle`,className:x.lineLabel,children:e},`l-${t}`):null)]}),f&&(0,g.jsx)(`div`,{className:x.chartLegend,children:s.map((e,t)=>(0,g.jsxs)(`span`,{className:x.legendItem,children:[(0,g.jsx)(`span`,{className:x.legendSwatch,style:{background:d[t]}}),e.label]},t))})]})}),lt=(0,m.memo)(function({chart:e}){let{tip:t,show:n,hide:r}=$e(),i=e.data.slice(0,M.maxChartPoints),a=i.map(e=>({...e,v:Math.max(0,Number(e.value)||0)})),o=a.reduce((e,t)=>e+t.v,0)||1,s=o>=1e3?`${Math.round(o/100)/10}k`:Number.isInteger(o)?String(o):o.toFixed(1),c=2*Math.PI*62,l=0,u=`环形图,${a.length} 项,合计 ${s}`;return(0,g.jsxs)(`div`,{className:x.donut,"data-genui-chart":`donut`,"data-genui-donut":!0,role:`img`,"aria-label":u,onMouseLeave:r,children:[(0,g.jsx)(et,{tip:t}),(0,g.jsxs)(`svg`,{width:160,height:160,viewBox:`0 0 160 160`,children:[(0,g.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:x.donutTrack}),a.map((t,r)=>{let a=t.v/o,s=a*c,u=(0,g.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:x.donutSeg,style:{stroke:He(r,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`},strokeDasharray:`${s} ${c-s}`,strokeDashoffset:-l,transform:`rotate(-90 80 80)`,onMouseEnter:e=>n(e,[[t.label,`${String(t.value)} · ${(a*100).toFixed(1)}%`]]),onMouseMove:e=>n(e,[[t.label,`${String(t.value)} · ${(a*100).toFixed(1)}%`]])},r);return l+=s,u}),(0,g.jsx)(`text`,{x:80,y:78,textAnchor:`middle`,className:x.donutTotal,children:s}),(0,g.jsx)(`text`,{x:80,y:96,textAnchor:`middle`,className:x.donutTotalLabel,children:`合计`})]}),(0,g.jsx)(`div`,{className:x.donutLegend,children:a.map((t,n)=>(0,g.jsxs)(`span`,{className:x.legendItem,children:[(0,g.jsx)(`span`,{className:x.legendSwatch,style:{background:He(n,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),(0,g.jsx)(`span`,{children:t.label}),(0,g.jsxs)(`span`,{className:x.donutPct,children:[String(t.value),` · `,(t.v/o*100).toFixed(1),`%`]})]},n))})]})});function ut({node:e,onAction:t,answers:n}){let r=e.action,i=e.group,a=i!==void 0,o=e.options.slice(0,M.maxOptions),s=i!==void 0&&n?.answers[i]!==void 0?o.indexOf(n.answers[i]):-1,[c,l]=(0,m.useState)(s>=0?s:e.selected??null),u=(0,m.useId)(),d=a&&n?.locked===!0;return(0,m.useEffect)(()=>{i!==void 0&&(n?.registerMeta(i,{label:e.label??i,options:o,answer:e.answer,explanation:e.explanation}),e.selected!==void 0&&o[e.selected]!==void 0&&n?.answers[i]===void 0&&n?.setAnswer(i,o[e.selected]))},[i,e.label,e.answer,e.explanation,e.options,e.selected]),(0,g.jsxs)(`div`,{className:x.fieldGroup,role:`radiogroup`,"aria-label":e.label,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:x.fieldLabel,children:e.label}),o.map((e,o)=>(0,g.jsxs)(`label`,{className:x.radio,children:[(0,g.jsx)(`input`,{type:`radio`,name:`genui-radio-${u}`,checked:c===o,disabled:d,onChange:()=>{l(o),a?n?.setAnswer(i,e):r!==void 0&&t!==void 0&&t(r,{type:`radio`,value:e})}}),(0,g.jsx)(`span`,{children:e})]},o))]})}function dt(e){if(e.answer!==void 0)return typeof e.answer==`number`?e.options[e.answer]:e.answer}function ft({node:e,onAction:t,answers:n}){let r=n?.answers??{},i=n?.multiAnswers??{},a=n?.fields??{},o=n?.meta??{},s=e.groups,c=Object.fromEntries(Object.entries(a).filter(([e,t])=>t.trim()!==``&&!n?.secretFields.has(e))),l=Object.entries(i).filter(([,e])=>Array.isArray(e)&&e.length>0).map(([e])=>e),u=new Set([...Object.keys(r),...l]),d=s===void 0?Math.max(u.size,Object.keys(c).length):s.filter(e=>r[e]!==void 0||Array.isArray(i[e])&&i[e].length>0).length,f=s?.length??d,p=s??[...u],m=!p.some(e=>Array.isArray(i[e])&&i[e].length>0)&&p.some(e=>o[e]?.answer!==void 0),h=n?.locked===!0,_={...r,...i},v=d>0&&d>=f&&(m||e.action!==void 0&&t!==void 0);if(h){let i=p.filter(e=>r[e]!==void 0&&o[e]?.answer!==void 0),a=i.filter(e=>r[e]===dt(o[e])).length;return(0,g.jsxs)(`div`,{className:x.gradeWrap,"data-genui-grade":!0,children:[(0,g.jsxs)(`div`,{className:x.gradeScore,children:[(0,g.jsxs)(`span`,{className:x.gradeScoreValue,children:[a,` / `,i.length]}),(0,g.jsxs)(`span`,{className:x.gradeScoreLabel,children:[`得分`,i.length<p.length?`(${p.length-i.length} 题无答案未计分)`:``]})]}),(0,g.jsx)(`div`,{className:x.gradeList,children:p.map(e=>{let t=r[e],n=o[e];if(t===void 0||n===void 0)return null;let i=dt(n);if(i===void 0)return(0,g.jsxs)(`div`,{className:x.gradeItem,children:[(0,g.jsx)(`span`,{className:x.gradeQ,children:n.label}),(0,g.jsxs)(`span`,{className:x.gradeAns,children:[`你的答案:`,t]})]},e);let a=t===i;return(0,g.jsxs)(`div`,{className:`${x.gradeItem} ${a?x.gradeItemOk:x.gradeItemNo}`,children:[(0,g.jsx)(`span`,{className:x.gradeQ,children:n.label}),(0,g.jsx)(`span`,{className:x.gradeTag,children:a?`✓`:`✗`}),(0,g.jsxs)(`span`,{className:x.gradeAns,children:[`你的答案:`,t,!a&&(0,g.jsxs)(`span`,{className:x.gradeRight,children:[` 正确答案:`,i]})]}),n.explanation!==void 0&&(0,g.jsx)(`span`,{className:x.gradeExp,children:n.explanation})]},e)})}),(0,g.jsx)(`button`,{type:`button`,className:`${x.button} ${x.ghost} ${x.submit}`,onClick:()=>{n?.clear(),e.resetAction!==void 0&&t!==void 0&&t(e.resetAction,{type:`submit-reset`,groups:s??Object.keys(r)})},children:`重新作答`})]})}return(0,g.jsxs)(`div`,{className:x.submitRow,children:[(0,g.jsx)(`button`,{type:`button`,className:`${x.button} ${x.primary} ${x.submit}`,disabled:!v,onClick:v?()=>{m?n?.setLocked(!0):e.action!==void 0&&t!==void 0&&t(e.action,{type:`submit`,answers:_,...Object.keys(c).length>0?{fields:c}:{},total:f,answered:d})}:void 0,children:e.label}),f>0&&(0,g.jsxs)(`span`,{className:x.submitHint,"aria-live":`polite`,children:[`已选 `,d,`/`,f]})]})}function pt({node:e,onAction:t}){let[n,r]=(0,m.useState)(e.checked===!0),i=e.action;return(0,g.jsxs)(`label`,{className:x.switchRow,children:[(0,g.jsx)(`span`,{className:x.switchLabel,children:e.label}),(0,g.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n,className:`${x.switch} ${n?x.switchOn:``}`,onClick:()=>{let e=!n;r(e),i!==void 0&&t!==void 0&&t(i,{type:`switch`,checked:e})},children:(0,g.jsx)(`span`,{className:x.switchKnob})})]})}function mt({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=i!==void 0&&n?.fields[i]!==void 0?Number(n.fields[i]):NaN,o=Number.isFinite(a)?a:e.value??e.min??0,[s,c]=(0,m.useState)(o),l=(0,m.useRef)(!1);(0,m.useEffect)(()=>{l.current||(l.current=!0,i!==void 0&&n?.setField(i,String(o)))},[]);let u=e=>{r!==void 0&&t!==void 0&&t(r,{type:`slider`,value:e,...i===void 0?{}:{id:i}})};return(0,g.jsxs)(`label`,{className:x.sliderRow,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:x.fieldLabel,children:e.label}),(0,g.jsx)(`input`,{type:`range`,className:x.sliderInput,min:e.min,max:e.max,step:e.step??1,value:s,"aria-label":e.label,onChange:e=>{let t=Number(e.currentTarget.value);c(t),i!==void 0&&n?.setField(i,String(t)),u(t)}}),(0,g.jsx)(`span`,{className:x.sliderValue,children:Math.round(s*100)/100})]})}function ht(){let e=(0,m.useRef)(!1),t=(0,m.useRef)(null);return(0,m.useEffect)(()=>()=>{t.current!==null&&clearTimeout(t.current)},[]),{isComposing:()=>e.current,onCompositionStart:()=>{e.current=!0,t.current!==null&&(clearTimeout(t.current),t.current=null)},onCompositionEnd:()=>{t.current!==null&&clearTimeout(t.current),t.current=setTimeout(()=>{e.current=!1},10)}}}function gt(e){let t=e.nativeEvent;return t.isComposing===!0||t.keyCode===229}function _t({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=e.options.slice(0,M.maxOptions),o=i!==void 0&&n?.fields[i]!==void 0?a.indexOf(n.fields[i]):-1,s=o>=0?a[o]:e.selected!==void 0&&a[e.selected]!==void 0?a[e.selected]:null,[c,l]=(0,m.useState)(s),u=(0,m.useRef)(!1);(0,m.useEffect)(()=>{u.current||(u.current=!0,i!==void 0&&s!==null&&n?.setField(i,s))},[]);let d=e=>{r!==void 0&&t!==void 0&&t(r,{type:`select`,value:e,...i===void 0?{}:{id:i}})};return(0,g.jsxs)(`label`,{className:x.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:e.label}),(0,g.jsxs)(`select`,{className:x.select,value:c??``,onChange:e=>{let t=e.currentTarget.value;l(t),i!==void 0&&n?.setField(i,t),d(t)},children:[c===null&&(0,g.jsx)(`option`,{value:``,hidden:!0,disabled:!0,children:`请选择…`}),a.map((e,t)=>(0,g.jsx)(`option`,{value:e,children:e},t))]})]})}function vt({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=e.inputType===`password`,o=!a&&i!==void 0?n?.fields[i]:void 0,[s,c]=(0,m.useState)(()=>{let t=a?``:o??e.value??``;return e.inputType===`color`?/^#[0-9a-f]{6}$/i.test(t)?t.toLowerCase():`#000000`:t}),l=(0,m.useRef)(s),u=e=>{r!==void 0&&t!==void 0&&(l.current=s,t(r,{type:`input`,value:s,...i===void 0?{}:{id:i},...e?{submit:!0}:{}}))},d=ht(),f=(0,m.useRef)(!1);return(0,m.useEffect)(()=>{f.current||(f.current=!0,!a&&i!==void 0&&s.trim()!==``&&n?.setField(i,s))},[]),(0,m.useEffect)(()=>{a&&i!==void 0&&n?.registerSecretField(i)},[a,i]),(0,g.jsxs)(`label`,{className:x.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:e.label}),(0,g.jsx)(`input`,{className:x.input,type:e.inputType??`text`,style:e.inputType===`color`?{width:64,height:40,padding:4,boxSizing:`border-box`,alignSelf:`flex-start`,cursor:`pointer`}:void 0,placeholder:e.placeholder,value:s,onChange:e=>{let t=e.currentTarget.value;c(t),i!==void 0&&n?.setField(i,t)},onBlur:()=>{s!==l.current&&u(!1)},onCompositionStart:d.onCompositionStart,onCompositionEnd:d.onCompositionEnd,onKeyDown:e=>{e.key===`Enter`&&(d.isComposing()||gt(e)||(e.preventDefault(),u(!0)))}})]})}function yt({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,[a,o]=(0,m.useState)(()=>e.value??(i===void 0?``:n?.fields[i]??``)),s=(0,m.useRef)(a),c=e=>{r!==void 0&&t!==void 0&&(s.current=a,t(r,{type:`textarea`,value:a,...i===void 0?{}:{id:i},...e?{submit:!0}:{}}))},l=ht(),u=(0,m.useRef)(!1);return(0,m.useEffect)(()=>{u.current||(u.current=!0,i!==void 0&&e.value!==void 0&&e.value.trim()!==``&&n?.setField(i,e.value))},[]),(0,g.jsxs)(`label`,{className:x.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:e.label}),(0,g.jsx)(`textarea`,{className:x.textarea,placeholder:e.placeholder,rows:e.rows??4,value:a,onChange:e=>{let t=e.currentTarget.value;o(t),i!==void 0&&n?.setField(i,t)},onBlur:()=>{a!==s.current&&c(!1)},onCompositionStart:l.onCompositionStart,onCompositionEnd:l.onCompositionEnd,onKeyDown:e=>{!(e.metaKey||e.ctrlKey)||e.key!==`Enter`||l.isComposing()||gt(e)||(e.preventDefault(),c(!0))}})]})}function bt({node:e,onAction:t,answers:n}){let r=e.group,i=r!==void 0,a=r!==void 0&&Object.prototype.hasOwnProperty.call(n?.multiAnswers??{},r),o=r===void 0?void 0:n?.multiAnswers[r],s=a?Array.isArray(o)&&o.includes(e.label):e.checked===!0,[c,l]=(0,m.useState)(e.checked===!0);return(0,m.useEffect)(()=>{r===void 0||e.checked!==!0||a||n?.setMultiAnswer(r,e.label,!0)},[r,e.checked,e.label,a]),(0,g.jsxs)(`label`,{className:x.checkbox,children:[(0,g.jsx)(`input`,{type:`checkbox`,checked:i?s:c,onChange:a=>{let o=a.currentTarget.checked;l(o),i?n?.setMultiAnswer(r,e.label,o):e.action!==void 0&&t!==void 0&&t(e.action,{type:`checkbox`,checked:o})}}),(0,g.jsx)(`span`,{children:e.label})]})}let xt={pi:Math.PI,e:Math.E,tau:Math.PI*2},St={sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,sqrt:Math.sqrt,cbrt:Math.cbrt,exp:Math.exp,log:Math.log10,ln:Math.log,abs:Math.abs,floor:Math.floor,ceil:Math.ceil,round:Math.round,min:Math.min,max:Math.max,pow:(e,t)=>e**+t};var V=class extends Error{pos;constructor(e,t){super(`SafeMath parse error at ${t}: ${e}`),this.pos=t}},Ct=class{src;vars;i=0;constructor(e,t){this.src=e,this.vars=t}parse(){let e=this.parseExpr();if(this.skipWs(),this.i<this.src.length)throw new V(`unexpected trailing input`,this.i);return this.evalNode(e)}evalNode(e){return typeof e==`number`?()=>e:e}parseExpr(){let e=this.parseTerm();for(;;){this.skipWs();let t=this.peek();if(t===`+`||t===`-`){this.i++;let n=this.parseTerm(),r=t,i=e;e=r===`+`?e=>this.asNum(i,e)+this.asNum(n,e):e=>this.asNum(i,e)-this.asNum(n,e)}else return e}}parseTerm(){let e=this.parseUnary();for(;;){this.skipWs();let t=this.peek();if(t===`*`||t===`/`||t===`%`){this.i++;let n=this.parseUnary(),r=t,i=e;e=r===`*`?e=>this.asNum(i,e)*this.asNum(n,e):r===`/`?e=>this.asNum(i,e)/this.asNum(n,e):e=>this.asNum(i,e)%this.asNum(n,e)}else return e}}parseUnary(){this.skipWs();let e=this.char();if(e===`-`||e===`+`){this.i++;let t=this.parseUnary();return e===`-`?e=>-this.asNum(t,e):e=>this.asNum(t,e)}return this.parsePower()}parsePower(){let e=this.parseAtom();if(this.skipWs(),this.peek()===`^`){this.i++;let t=this.parsePower(),n=e;return e=>this.asNum(n,e)**+this.asNum(t,e)}return e}parseAtom(){this.skipWs();let e=this.char();if(e===`(`){this.i++;let e=this.parseExpr();if(this.skipWs(),this.peek()!==`)`)throw new V(`expected )`,this.i);return this.i++,e}if(e>=`0`&&e<=`9`||e===`.`)return this.parseNumber();if(this.isIdentStart(e))return this.parseIdent();throw new V(`unexpected character '${e}'`,this.i)}parseNumber(){let e=this.i,t=!1;for(;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)t=!0,this.i++;if(this.peek()===`.`)for(this.i++;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)t=!0,this.i++;if(!t)throw new V(`invalid number '${this.src.slice(e,this.i)}'`,e);if(this.peek()===`e`||this.peek()===`E`){this.i++,(this.peek()===`+`||this.peek()===`-`)&&this.i++;let t=this.i;for(;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)this.i++;if(this.i===t)throw new V(`invalid number '${this.src.slice(e,this.i)}'`,e)}let n=this.src.slice(e,this.i),r=Number(n);if(Number.isNaN(r))throw new V(`invalid number '${n}'`,e);return r}parseIdent(){let e=this.i;for(;this.i<this.src.length&&this.isIdentChar(this.src[this.i]);)this.i++;let t=this.src.slice(e,this.i);if(this.skipWs(),this.peek()===`(`){let n=St[t];if(n===void 0)throw new V(`unknown function '${t}'`,e);this.i++;let r=[];if(this.skipWs(),this.peek()===`)`)this.i++;else for(;;){r.push(this.parseExpr()),this.skipWs();let e=this.peek();if(e===`,`){this.i++;continue}if(e===`)`){this.i++;break}throw new V(`expected , or ) in call`,this.i)}return e=>n(...r.map(t=>this.asNum(t,e)))}if(Object.hasOwn(xt,t))return xt[t];if(t===`x`)return e=>e;if(Object.hasOwn(this.vars,t)){let e=this.vars[t];return()=>e}if(/^[a-z]$/.test(t))return()=>1;throw new V(`unknown identifier '${t}'`,e)}asNum(e,t){return typeof e==`number`?e:e(t)}skipWs(){for(;this.i<this.src.length&&/\s/.test(this.src[this.i]);)this.i++}peek(){return this.src[this.i]}char(){let e=this.peek();if(e===void 0)throw new V(`unexpected end of input`,this.i);return e}isIdentStart(e){return e!==void 0&&/[a-zA-Z_]/.test(e)}isIdentChar(e){return/[a-zA-Z0-9_]/.test(e)}};function wt(e,t={}){try{let n={...t.vars};return delete n.x,new Ct(e,n).parse()}catch{return null}}function Tt(e,t,n,r=200,i={}){let a=wt(e,{vars:i});if(a===null||!Number.isFinite(t)||!Number.isFinite(n)||n<=t||r<2)return[];let o=[],s=(n-t)/(r-1);for(let e=0;e<r;e++){let n=t+s*e,r=a(n);Number.isFinite(r)&&o.push([n,r])}return o}let Et=`@changfenhuang/dsh-genui/PlotBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(Et)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=Et,e.textContent=`._ctrqa_block{--dsl-g-radius-surface:12px;--dsl-g-radius-control:8px;--dsl-g-font-title:13px;--dsl-g-font-meta:12px;--dsl-g-font-data:11px;--dsl-g-gap-md:12px;--dsl-g-gap-sm:8px;--dsl-g-gap-xs:4px;--dsl-g-border:var(--dsw-alias-border-l1,var(--dsw-alias-border-l2,#ffffff1f));--dsl-g-accent:var(--dsw-alias-state-business-primary,#4f8ef7);--dsl-g-accent-soft:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);--dsl-g-tint:8%;--dsl-g-tint-strong:14%;--dsl-g-font-mono:var(--ds-font-family-code,ui-monospace, "SF Mono", monospace);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);gap:var(--dsl-g-gap-sm);flex-direction:column;padding:14px 16px;display:flex}._ctrqa_title{font-size:var(--dsl-g-font-title);letter-spacing:.01em;color:var(--dsw-alias-label-primary);font-weight:600}._ctrqa_gridLine{stroke:var(--dsw-alias-border-l1,#ffffff12);stroke-width:1px}._ctrqa_axis{stroke:var(--dsw-alias-label-tertiary);stroke-width:1px}._ctrqa_tick{fill:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-data);font-family:var(--dsl-g-font-mono)}._ctrqa_line{fill:none;stroke:var(--dsl-g-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}._ctrqa_area{stroke:none;fill-opacity:.16}._ctrqa_scatterDot{stroke:var(--dsw-alias-bg-base,#17171a);stroke-width:1px}._ctrqa_legend{gap:var(--dsl-g-gap-md);flex-wrap:wrap;display:flex}._ctrqa_legendItem{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);display:inline-flex}._ctrqa_legendSwatch{background:var(--dsl-g-accent);border-radius:2px;width:10px;height:3px}._ctrqa_empty{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-title);gap:var(--dsl-g-gap-xs);flex-direction:column;padding:14px 0;display:flex}._ctrqa_emptyRow{font-family:var(--dsl-g-font-mono)}._ctrqa_surface{cursor:grab;touch-action:pan-y}._ctrqa_plotTools{justify-content:space-between;align-items:center;gap:8px;margin:0 0 4px;display:flex}._ctrqa_plotHint{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12.5px}._ctrqa_plotReset{border:1px solid var(--dsw-alias-border-l2,#ffffff1f);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:2px 9px;font-family:inherit;font-size:12.5px}._ctrqa_plotReset:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-state-business-primary,#4f8ef7)}._ctrqa_surface:active{cursor:grabbing}._ctrqa_sliders{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}._ctrqa_sliderRow{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);display:flex}._ctrqa_sliderName{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:90px;overflow:hidden}._ctrqa_slider{accent-color:var(--dsl-g-accent);cursor:pointer;flex:1;height:4px}._ctrqa_sliderValue{color:var(--dsw-alias-label-primary);font-family:var(--dsl-g-font-mono);text-align:right;min-width:34px}._ctrqa_animBar{align-items:center;gap:var(--dsl-g-gap-md);display:flex}._ctrqa_playBtn{background:var(--dsl-g-accent-soft);border:1px solid color-mix(in srgb, var(--dsl-g-accent) 30%, transparent);width:fit-content;color:var(--dsl-g-accent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;padding:6px 14px;font-family:inherit;font-weight:600}._ctrqa_playBtn:hover{filter:brightness(1.1)}._ctrqa_animTrack{background:var(--dsw-alias-bg-layer-1);height:5px;box-shadow:inset 0 0 0 1px var(--dsl-g-border);border-radius:999px;flex:1;overflow:hidden}._ctrqa_animFill{background:var(--dsl-g-accent);border-radius:999px;height:100%}._ctrqa_resetBtn{border:1px solid var(--dsl-g-border);width:fit-content;color:var(--dsw-alias-label-secondary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit}._ctrqa_resetBtn:hover{border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}._ctrqa_slidersHead{justify-content:space-between;align-items:center;display:flex}._ctrqa_slidersTitle{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}`,document.head.appendChild(e)}var H={animBar:`_ctrqa_animBar`,animFill:`_ctrqa_animFill`,animTrack:`_ctrqa_animTrack`,area:`_ctrqa_area`,axis:`_ctrqa_axis`,block:`_ctrqa_block`,empty:`_ctrqa_empty`,emptyRow:`_ctrqa_emptyRow`,gridLine:`_ctrqa_gridLine`,legend:`_ctrqa_legend`,legendItem:`_ctrqa_legendItem`,legendSwatch:`_ctrqa_legendSwatch`,line:`_ctrqa_line`,playBtn:`_ctrqa_playBtn`,plotHint:`_ctrqa_plotHint`,plotReset:`_ctrqa_plotReset`,plotTools:`_ctrqa_plotTools`,resetBtn:`_ctrqa_resetBtn`,scatterDot:`_ctrqa_scatterDot`,slider:`_ctrqa_slider`,sliderName:`_ctrqa_sliderName`,sliderRow:`_ctrqa_sliderRow`,sliderValue:`_ctrqa_sliderValue`,sliders:`_ctrqa_sliders`,slidersHead:`_ctrqa_slidersHead`,slidersTitle:`_ctrqa_slidersTitle`,surface:`_ctrqa_surface`,tick:`_ctrqa_tick`,title:`_ctrqa_title`};let Dt=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-neutral-bluish-400)`,`var(--dsw-static-deepseek-300)`],Ot=(e,t,n)=>n??(t>1?Dt[e%Dt.length]:void 0);function kt(e){let t=1/0,n=-1/0;for(let[,r]of e)r<t&&(t=r),r>n&&(n=r);if(!Number.isFinite(t)||!Number.isFinite(n))return[-1,1];t===n&&(--t,n+=1);let r=(n-t)*.08;return[t-r,n+r]}function At(e,t,n=5){let r=t-e;if(!Number.isFinite(r)||r<=0)return[];let i=10**Math.floor(Math.log10(r/n)),a=r/n/i,o=i*(a>=7.5?10:a>=3.5?5:a>=1.5?2:1),s=[];for(let n=Math.ceil(e/o)*o;n<=t+o*1e-9;n+=o)s.push(Math.round(n*1e9)/1e9);return s}function jt(e){return Math.abs(e)>=1e5||Math.abs(e)<.001&&e!==0?e.toExponential(1):String(Math.round(e*100)/100)}function Mt({points:e,className:t,color:n}){let r=e.length>40?`${e.slice(0,16)}|${e.slice(-16)}`:e;return(0,g.jsx)(`polyline`,{points:e,className:t,style:n===void 0?void 0:{stroke:n}},r)}let Nt=(0,m.memo)(function({series:e,xMin:t=-5,xMax:n=5,yMin:r,yMax:i,title:a}){let[o,s]=(0,m.useState)(()=>{let a={};for(let[t,n]of e.entries())for(let e of n.params??[])e!=null&&(a[`${t}:${e.name}`]=e.value);let[o,s]=kt(e.map((e,r)=>{let i={};for(let t of e.params??[])t!=null&&(i[t.name]=a[`${r}:${t.name}`]??t.value);return Tt(e.expr,t,n,240,i)}).flatMap(e=>e));return{xMin:t,xMax:n,yMin:r??o,yMax:i??s}}),c=(0,m.useRef)(null),[l,u]=(0,m.useState)(()=>({})),d=(()=>{for(let[t,n]of e.entries())for(let e of n.params??[])if(e!=null&&e.animateTo!==void 0)return{si:t,param:e};return null})(),[f,p]=(0,m.useState)(!1),[h,_]=(0,m.useState)(0),v=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(!f||d===null)return;let e=`${d.si}:${d.param.name}`,t=l[e]??d.param.value,n=d.param.animateTo,r=Math.max(0,d.param.durationMs??4e3),i=performance.now(),a=o=>{let s=r===0?1:Math.min(1,Math.max(0,(o-i)/r)),c=1-(1-s)**3,l=t+(n-t)*c;u(t=>({...t,[e]:l})),_(s),s<1?v.current=requestAnimationFrame(a):d.param.loop===!0?(t=d.param.value,i=o,u(n=>({...n,[e]:t})),_(0),v.current=requestAnimationFrame(a)):(v.current=null,p(!1))};return v.current=requestAnimationFrame(a),()=>{v.current!==null&&cancelAnimationFrame(v.current),v.current=null}},[f,d?.si,d?.param.name,d?.param.value,d?.param.animateTo,d?.param.durationMs,d?.param.loop]);let y=o.xMin,b=o.xMax,x=o.yMin,S=o.yMax,C=e=>y+(e-34)/436*(b-y),w=e=>34+(e-y)/(b-y)*436,T=e=>14+(1-(e-x)/(S-x))*182,E=e.map((e,t)=>{let n={};for(let r of e.params??[])r!=null&&(n[r.name]=l[`${t}:${r.name}`]??r.value);return{series:e,points:Tt(e.expr,y,b,240,n).map(([e,t])=>`${w(e).toFixed(2)},${T(t).toFixed(2)}`).join(` `)}}),D=At(y,b),O=At(x,S),k=E.some(e=>e.points.length>1),A=Number.isFinite(y)&&Number.isFinite(b)&&b>y&&Number.isFinite(S)&&Number.isFinite(x)&&S>x,ee=(e,t,n)=>{let r=Ot(t,E.length,e.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`,i=e.kind??`line`;if(i===`scatter`){let e=n===``?[]:n.split(` `).map(e=>{let[t,n]=e.split(`,`);return[Number(t),Number(n)]});return(0,g.jsx)(`g`,{children:e.map(([e,t],n)=>(0,g.jsx)(`circle`,{cx:e,cy:t,r:2.6,className:H.scatterDot,style:{fill:r}},n))},t)}if(i===`area`){if(n===``)return(0,g.jsx)(Mt,{points:``,className:H.line,color:r},t);let e=n.slice(0,n.indexOf(` `)).split(`,`)[0],i=n.slice(n.lastIndexOf(` `)+1).split(`,`)[0],a=T(x),o=`${e},${a.toFixed(2)} ${n} ${i},${a.toFixed(2)}`;return(0,g.jsx)(`polygon`,{points:o,className:H.area,style:{fill:r}},t)}return(0,g.jsx)(Mt,{points:n,className:H.line,color:r},t)},te=e=>{c.current={startX:e.clientX,startY:e.clientY,xMin:y,xMax:b},e.target.setPointerCapture?.(e.pointerId)},ne=e=>{let t=c.current;if(t===null||Math.abs(e.clientX-t.startX)<4)return;let n=t.xMax-t.xMin,r=(t.startX-e.clientX)/436*n;s(e=>({xMin:t.xMin+r,xMax:t.xMax+r,yMin:e.yMin,yMax:e.yMax}))},re=()=>{c.current=null},ie=(0,m.useRef)(null);(0,m.useEffect)(()=>{let e=ie.current;if(e===null)return;let t=t=>{if(!t.metaKey&&!t.ctrlKey)return;t.preventDefault();let n=b-y,r=n*(t.deltaY>0?1.15:1/1.15),i=e.getBoundingClientRect(),a=C((t.clientX-i.left)/i.width*480),o=a-(a-y)/n*r;s(e=>({xMin:o,xMax:o+r,yMin:e.yMin,yMax:e.yMax}))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[y,b,C]);let ae=e.some(e=>(e.params?.length??0)>0),oe=(0,m.useRef)({min:t,max:n}),se=Math.abs(y-oe.current.min)>1e-6||Math.abs(b-oe.current.max)>1e-6;return(0,g.jsxs)(`div`,{className:H.block,"data-genui-plot":!0,children:[a!==void 0&&(0,g.jsx)(`div`,{className:H.title,children:a}),k&&A&&(0,g.jsxs)(`div`,{className:H.plotTools,children:[(0,g.jsx)(`span`,{className:H.plotHint,children:se?`x ∈ [${jt(y)}, ${jt(b)}]`:`⌘/Ctrl + 滚轮缩放 · 拖拽平移`}),se&&(0,g.jsx)(`button`,{type:`button`,className:H.plotReset,onClick:()=>{s(e=>({...e,xMin:oe.current.min,xMax:oe.current.max}))},children:`↺ 回到初始区间`})]}),k&&A?(0,g.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 480 220`,role:`img`,"aria-label":a??`function plot`,className:H.surface,ref:ie,onPointerDown:te,onPointerMove:ne,onPointerUp:re,onPointerLeave:re,children:[O.map(e=>(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:34,x2:470,y1:T(e),y2:T(e),className:H.gridLine}),(0,g.jsx)(`text`,{x:28,y:T(e)+4,className:H.tick,textAnchor:`end`,children:jt(e)})]},`y${e}`)),D.map(e=>(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:w(e),x2:w(e),y1:14,y2:196,className:H.gridLine}),(0,g.jsx)(`text`,{x:w(e),y:210,className:H.tick,textAnchor:`middle`,children:jt(e)})]},`x${e}`)),(0,g.jsx)(`line`,{x1:34,x2:470,y1:196,y2:196,className:H.axis}),(0,g.jsx)(`line`,{x1:34,x2:34,y1:14,y2:196,className:H.axis}),E.map(({series:e,points:t},n)=>ee(e,n,t))]}):(0,g.jsx)(`div`,{className:H.empty,children:e.map((e,t)=>(0,g.jsxs)(`div`,{className:H.emptyRow,children:[e.expr,` — 无法绘制(表达式无效或范围非法)`]},t))}),ae&&(0,g.jsxs)(`div`,{className:H.sliders,children:[(0,g.jsxs)(`div`,{className:H.slidersHead,children:[(0,g.jsx)(`span`,{className:H.slidersTitle,children:`参数调节`}),(0,g.jsx)(`button`,{type:`button`,className:H.resetBtn,onClick:()=>{p(!1);let t={};for(let[n,r]of e.entries())for(let e of r.params??[])e!=null&&(t[`${n}:${e.name}`]=e.value);u(t),_(0)},children:`↺ 重置`})]}),e.map((e,t)=>(e.params??[]).map(n=>{if(n==null)return null;let r=`${t}:${n.name}`,i=l[r]??n.value;return(0,g.jsxs)(`label`,{className:H.sliderRow,children:[(0,g.jsxs)(`span`,{className:H.sliderName,children:[e.label??e.expr,` · `,n.name]}),(0,g.jsx)(`input`,{type:`range`,className:H.slider,min:n.min??0,max:n.max??10,step:n.step??.1,value:i,onChange:e=>{let t=Number(e.currentTarget.value);u(e=>({...e,[r]:t}))}}),(0,g.jsx)(`span`,{className:H.sliderValue,children:Math.round(i*100)/100})]},r)}))]}),d!==null&&(0,g.jsxs)(`div`,{className:H.animBar,children:[(0,g.jsx)(`button`,{type:`button`,className:H.playBtn,onClick:()=>{f?p(!1):(u(e=>({...e,[`${d.si}:${d.param.name}`]:d.param.value})),_(0),p(!0))},children:f?`⏸ 暂停`:`▶ 播放动画`}),f&&(0,g.jsx)(`div`,{className:H.animTrack,children:(0,g.jsx)(`div`,{className:H.animFill,style:{width:`${h*100}%`}})})]}),(e.length>1||ae)&&(0,g.jsx)(`div`,{className:H.legend,children:e.map((t,n)=>(0,g.jsxs)(`span`,{className:H.legendItem,children:[(0,g.jsx)(`span`,{className:H.legendSwatch,style:{background:Ot(n,e.length,t.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),t.label??t.expr]},n))})]})});function Pt(e){let t=window.__DSH_BOOT__?.entries?.find(e=>e.id===It)?.rev;return`${Lt}/${e}${t===void 0?``:`?rev=${t}`}`}function Ft(e){let t=`${e}.js`,n=Rt.get(t);if(n!==void 0)return n;let r=new Promise((n,r)=>{let i=document.createElement(`script`);i.src=Pt(t),i.async=!0,i.onload=()=>{let i=(window.__GenuiAssets__??{})[e.replace(/-(\w)/g,(e,t)=>t.toUpperCase())];if(i===void 0){r(Error(`genui asset '${t}' loaded but registered no '${e}' engine`));return}n(i)},i.onerror=()=>{r(Error(`genui asset '${t}' failed to load (host asset route missing?)`))},document.head.appendChild(i)});return Rt.set(t,r),r}var It,Lt,Rt,zt=l((()=>{It=`@changfenhuang/dsh-genui`,Lt=`/plugins/${It}/assets`,Rt=new Map}));function Bt(e){if(Ut.test(e))throw Error(`mermaid output failed the sanitization check; refusing to render`)}function Vt(e){let t=/^([A-Za-z]+)/.exec(e.trim())?.[1]??``;if(t!==`graph`&&t!==`flowchart`)return e;let n=e.replace(/`/g,``).replace(/<br\s*\/?>/gi,` `),r=/(--|==|-\.)(?!>)[ \t]*([^-\n]|-(?!--))*?[ \t]*(-->|==>|\.->)/g,i=[],a=n.replace(r,e=>(i.push(e),`\uE000${i.length-1}\uE001`)),o=/\|([^|\n]*[\[\]][^|\n]*)\|/g,s=[];return a.replace(o,(e,t)=>{let n=t.trim();return n.includes(`"`)?e:(s.push(n),`\uE002${s.length-1}\uE003`)}).replace(/([\[\(])([^\[\]\(\)\{\}"'\n]*)([\]\)])/g,(e,t,n,r)=>{let i=n.trim();return i===``?e:/[\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7af]/.test(i)||/\s/.test(i)?`${t}"${i}"${r}`:e}).replace(/\uE000(\d+)\uE001/g,(e,t)=>i[Number(t)]??e).replace(/\uE002(\d+)\uE003/g,(e,t)=>{let n=s[Number(t)];return n===void 0?e:`|"${n}"|`})}function Ht(e){let t=e.trim(),n=/^([A-Za-z]+)/.exec(t)?.[1]??``;return n===`graph`||n===`flowchart`||!Wt.test(t)?e:`graph TD\n${t}`}var Ut,Wt,Gt=l((()=>{Ut=/<script|[\s"']on[a-z]+\s*=|javascript:/i,Wt=/-->(?!>)|==>|-\.->/})),Kt=u({assertSafeSvg:()=>Bt,ensureFlowchartKind:()=>Ht,renderMermaid:()=>qt,repairMermaidSource:()=>Vt});async function qt(e){return(await Ft(`mermaid`)).renderMermaid(e)}var Jt=l((()=>{zt(),Gt()})),Yt=u({mountScene:()=>Xt});async function Xt(e,t){return(await Ft(`three`)).mountScene(e,t)}var Zt=l((()=>{zt()}));let Qt={info:x.calloutInfo,success:x.calloutSuccess,warning:x.calloutWarning,error:x.calloutError},$t=(0,m.memo)(function({node:e}){let t=e.tone??`info`,n=Qt[t]??x.calloutInfo;return(0,g.jsxs)(`div`,{className:`${x.callout} ${n}`,"data-genui-callout":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.calloutTitle,children:B(e.title)}),(0,g.jsx)(`div`,{className:x.calloutBody,children:B(e.content)})]})}),en=(0,m.memo)(function({steps:e}){let t=e.steps.slice(0,M.maxSteps),n=e.current??t.length;return(0,g.jsx)(`ol`,{className:x.steps,children:t.map((e,t)=>{let r=t<n,i=t===n;return(0,g.jsxs)(`li`,{className:`${x.step} ${r?x.stepDone:``} ${i?x.stepActive:``}`,children:[(0,g.jsx)(`span`,{className:x.stepMarker,children:r?`✓`:String(t+1)}),(0,g.jsxs)(`span`,{className:x.stepContent,children:[(0,g.jsx)(`span`,{className:x.stepTitle,children:e.title}),e.desc!==void 0&&(0,g.jsx)(`span`,{className:x.stepDesc,children:e.desc})]})]},t)})})}),tn=(0,m.memo)(function({node:e}){let t=e.pairs.slice(0,M.maxKeyValuePairs);return(0,g.jsx)(`dl`,{className:x.keyvalue,children:t.map((e,t)=>(0,g.jsxs)(`div`,{className:x.kvRow,children:[(0,g.jsx)(`dt`,{className:x.kvKey,children:e.key}),(0,g.jsx)(`dd`,{className:x.kvValue,children:B(e.value)})]},t))})}),nn=(0,m.memo)(function({plot:e}){let t=(0,m.useMemo)(()=>e.series.slice(0,M.maxPlotSeries).map(e=>({expr:e.expr,label:e.label,color:e.color,kind:e.kind,params:e.params})),[e]);return(0,g.jsx)(Nt,{series:t,xMin:e.xMin,xMax:e.xMax,yMin:e.yMin,yMax:e.yMax,title:e.title})}),rn=(0,m.memo)(function({node:e}){return(0,g.jsx)(p.DiffBlock,{diffs:e.diffs,labels:S})}),an=(0,m.memo)(function({node:e}){let t=e.value;return typeof t!=`object`||!t?(0,g.jsx)(`div`,{className:x.jsonScalar,children:String(t)}):(0,g.jsx)(p.JsonTree,{data:t,label:`JSON`,labels:w,copyable:!0})}),on=(0,m.memo)(function({node:e}){return(0,g.jsx)(p.CodeBlock,{...C,code:e.code.slice(0,M.maxCode),lang:e.lang})});function sn({tabs:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,m.useState)(0),o=(0,m.useId)(),s=e.tabs.slice(0,M.maxTabs),c=s.length===0?0:Math.min(i,s.length-1),l=s[c];(0,m.useEffect)(()=>{c!==i&&a(c)},[i,c]);let u=e=>{if(s.length===0)return;let t=(e+s.length)%s.length;a(t),document.getElementById(`${o}-tab-${t}`)?.focus()};return(0,g.jsxs)(`div`,{className:x.tabs,children:[(0,g.jsx)(`div`,{className:x.tabBar,role:`tablist`,"aria-orientation":`horizontal`,onKeyDown:e=>{e.key===`ArrowRight`?(e.preventDefault(),u(c+1)):e.key===`ArrowLeft`?(e.preventDefault(),u(c-1)):e.key===`Home`?(e.preventDefault(),u(0)):e.key===`End`&&(e.preventDefault(),u(s.length-1))},children:s.map((e,t)=>(0,g.jsx)(`button`,{id:`${o}-tab-${t}`,type:`button`,role:`tab`,"aria-selected":t===c,"aria-controls":`${o}-panel-${t}`,tabIndex:t===c?0:-1,className:`${x.tab} ${t===c?x.tabActive:``}`,onClick:()=>a(t),children:e.label},t))}),l!==void 0&&(0,g.jsx)(`div`,{className:x.col,role:`tabpanel`,id:`${o}-panel-${c}`,"aria-labelledby":`${o}-tab-${c}`,children:l.items.map((e,i)=>G(e,i,t,n+1,r))})]})}function cn({node:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,m.useState)(0),o=(0,m.useId)(),s=e.items.slice(0,M.maxAccordionItems);return(0,g.jsx)(`div`,{className:x.accordion,children:s.map((e,s)=>(0,g.jsxs)(`div`,{className:x.accItem,children:[(0,g.jsxs)(`button`,{type:`button`,className:x.accHead,id:`${o}-head-${s}`,"aria-expanded":i===s,"aria-controls":`${o}-body-${s}`,onClick:()=>a(i===s?null:s),children:[(0,g.jsx)(`span`,{className:x.accTitle,children:e.title}),(0,g.jsx)(`span`,{className:x.accChevron,"data-open":i===s,"aria-hidden":!0,children:`▸`})]}),i===s&&(0,g.jsx)(`div`,{className:x.accBody,id:`${o}-body-${s}`,"aria-labelledby":`${o}-head-${s}`,children:e.items.map((e,i)=>G(e,i,t,n+1,r))})]},s))})}async function ln(e){let t=typeof navigator.clipboard?.writeText==`function`,n=await(0,p.writeClipboard)(e);if(n||!t)return n;let r=typeof document.execCommand==`function`?document.execCommand.bind(document):void 0;if(r===void 0)return!1;let i=document.createElement(`textarea`);i.value=e,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.left=`-9999px`,document.body.appendChild(i),i.select();try{return r(`copy`)}catch{return!1}finally{i.remove()}}let un=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(!1);return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`button`,{type:`button`,className:`${x.copyChip} ${t?x.copyChipDone:``}`,onClick:()=>{ln(e.text).then(e=>{e&&(n(!0),setTimeout(()=>n(!1),1500))})},children:t?`✓ 已复制`:e.label??`复制`}),(0,g.jsx)(`span`,{className:x.visuallyHidden,role:`status`,children:t?`已复制到剪贴板`:``})]})}),dn=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)({status:`loading`}),r=e.code.slice(0,M.maxMermaid);return(0,m.useEffect)(()=>{let e=!0;return n({status:`loading`}),(async()=>{try{let t=await(await Promise.resolve().then(()=>(Jt(),Kt))).renderMermaid(r);e&&n({status:`ready`,html:t})}catch{e&&n({status:`error`})}})(),()=>{e=!1}},[r]),t.status===`error`?(0,g.jsxs)(`div`,{className:x.mermaidFallback,children:[(0,g.jsx)(`pre`,{children:r}),(0,g.jsx)(`div`,{className:x.mermaidErr,children:`图语法有误,已降级显示源码`})]}):t.status===`loading`?(0,g.jsxs)(`div`,{className:x.mermaidFallback,children:[(0,g.jsx)(`pre`,{children:r}),(0,g.jsx)(`div`,{className:x.mermaidHint,children:`渲染中…`})]}):(0,g.jsx)(`div`,{className:x.mermaid,dangerouslySetInnerHTML:{__html:t.html},"data-genui-mermaid":!0})}),fn=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(`loading`),r=(0,m.useRef)(null),i=e.meshes.length>M.maxMeshes?{...e,meshes:e.meshes.slice(0,M.maxMeshes)}:e;return(0,m.useEffect)(()=>{let e=!0,t;return Promise.resolve().then(()=>(Zt(),Yt)).then(async a=>{if(!(!e||r.current===null))try{t=await a.mountScene(r.current,i),e&&n(`ready`)}catch{e&&n(`error`)}}),()=>{e=!1,t?.()}},[i]),(0,g.jsxs)(`div`,{className:x.scene3dWrap,"data-genui-scene3d":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.scene3dTitle,children:e.title}),(0,g.jsx)(`div`,{ref:r,className:x.scene3dCanvas}),t===`loading`&&(0,g.jsx)(`div`,{className:x.scene3dHint,children:`加载 3D 场景…`}),t===`error`&&(0,g.jsx)(`div`,{className:x.scene3dHint,children:`3D 渲染失败`})]})}),pn=(0,m.memo)(function({node:e}){let t=e.items.slice(0,M.maxTimelineItems);return(0,g.jsx)(`div`,{className:x.timeline,children:t.map((e,n)=>(0,g.jsxs)(`div`,{className:x.tlItem,children:[(0,g.jsxs)(`div`,{className:x.tlRail,children:[(0,g.jsx)(`span`,{className:x.tlDot}),n<t.length-1&&(0,g.jsx)(`span`,{className:x.tlLine})]}),(0,g.jsxs)(`div`,{className:x.tlBody,children:[(0,g.jsxs)(`div`,{className:x.tlHead,children:[(0,g.jsx)(`span`,{className:x.tlTitle,children:e.title}),e.time!==void 0&&(0,g.jsx)(`span`,{className:x.tlTime,children:e.time})]}),e.desc!==void 0&&(0,g.jsx)(`div`,{className:x.tlDesc,children:e.desc})]})]},n))})});function mn(){return(0,g.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:(0,g.jsx)(`path`,{d:`M1.6 3.4h4.1l1.3 1.7h7.4v7.2a1 1 0 0 1-1 1H2.6a1 1 0 0 1-1-1z`,fill:`currentColor`,opacity:`0.85`})})}function hn(){return(0,g.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:[(0,g.jsx)(`path`,{d:`M3.8 1.6h4.9L13 5.9v8.5a1 1 0 0 1-1 1H4.8a1 1 0 0 1-1-1z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`}),(0,g.jsx)(`path`,{d:`M8.7 1.7v4.3h4.2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`})]})}let gn=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(new Set),r=e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},i=(e,n,a)=>{if(n>M.maxTreeDepth)return null;let o=e.type===`dir`||e.children!==void 0&&e.children.length>0,s=o&&t.has(a);return(0,g.jsxs)(`div`,{children:[(0,g.jsxs)(`div`,{className:x.ftRow,style:{paddingLeft:`${n*14+4}px`},children:[Array.from({length:n},(e,t)=>(0,g.jsx)(`span`,{className:x.ftGuide,style:{left:`${4+t*14+6}px`},"aria-hidden":!0},t)),(0,g.jsxs)(`button`,{type:`button`,className:x.ftNameBtn,"aria-expanded":o?!s:void 0,onClick:o?()=>r(a):void 0,children:[(0,g.jsx)(`span`,{className:x.ftChevron,"data-open":o?String(!s):void 0,"aria-hidden":!0,children:o?`▸`:``}),(0,g.jsx)(`span`,{className:`${x.ftGlyph} ${o?x.ftGlyphDir:``}`,"aria-hidden":!0,children:o?(0,g.jsx)(mn,{}):(0,g.jsx)(hn,{})}),(0,g.jsx)(`span`,{className:`${x.ftName} ${o?x.ftDir:``}`,children:e.name})]})]}),o&&!s&&(0,g.jsx)(`div`,{className:x.ftChildren,children:(e.children??[]).map((e,t)=>i(e,n+1,`${a}/${t}`))})]},a)};return(0,g.jsx)(`div`,{className:x.fileTree,children:e.items.slice(0,M.maxListItems).map((e,t)=>i(e,0,String(t)))})}),_n=(0,m.memo)(function({node:e,onAction:t}){let[n,r]=(0,m.useState)(null),i=e.options.slice(0,M.maxQuizOptions),a=n!==null,o=n===null?void 0:i[n],s=o?.correct===!0,c=e.action;return(0,g.jsxs)(`div`,{className:x.quiz,"data-genui-quiz":!0,children:[(0,g.jsx)(`div`,{className:x.quizQuestion,children:e.question}),(0,g.jsx)(`div`,{className:x.quizOptions,children:i.map((i,o)=>{let s=n===o,l=a?s?i.correct===!0?x.quizOptCorrect:x.quizOptWrong:i.correct===!0?x.quizOptReveal:x.quizOpt:x.quizOpt;return(0,g.jsxs)(`button`,{type:`button`,className:l,disabled:a,onClick:()=>{r(o),c!==void 0&&t!==void 0&&t(c,{type:`quiz`,question:e.question,answer:i.label,correct:i.correct===!0})},children:[(0,g.jsx)(`span`,{className:x.quizMarker,children:a?i.correct===!0?`✓`:s?`✗`:``:s?`●`:`○`}),i.label]},o)})}),a&&(0,g.jsxs)(`div`,{className:x.quizResult,"aria-live":`polite`,children:[(0,g.jsxs)(`div`,{className:s?x.quizCorrectMsg:x.quizWrongMsg,children:[s?`✓ 回答正确!`:`✗ 再想想看`,o?.feedback!==void 0&&(0,g.jsx)(`div`,{className:x.quizFeedback,children:o.feedback})]}),e.explanation!==void 0&&(0,g.jsx)(`div`,{className:x.quizExplanation,children:e.explanation}),(0,g.jsx)(`button`,{type:`button`,className:x.quizRetry,onClick:()=>r(null),children:`重新作答`})]})]})}),vn=(0,m.memo)(function({node:e}){let t=e.items.slice(0,M.maxBreadcrumbItems);return(0,g.jsx)(`nav`,{className:x.breadcrumb,"aria-label":`breadcrumb`,children:t.map((e,n)=>(0,g.jsxs)(`span`,{className:x.bcItem,children:[(0,g.jsx)(`span`,{className:`${x.bcText} ${n===t.length-1?x.bcCurrent:``}`,children:e}),n<t.length-1&&(0,g.jsx)(`span`,{className:x.bcSep,children:`/`})]},n))})}),yn=[`architecture`,`it-state`,`high-level`,`process`,`medallion`,`data-flow`,`dp-integration`];function bn(e){return yn.includes(e)}function xn(e,t){let n=e%t,r=Math.floor(e/t);return{x:40+n*160,y:40+r*96,w:128,h:64}}function Sn(e){return e.map((e,t)=>({node:e,box:{x:40,y:40+t*96,w:128,h:64}}))}function Cn(e){return e.map((e,t)=>({node:e,box:{x:40+t*160,y:40,w:128,h:64}}))}function wn(e,t=3){return e.map((e,n)=>{let r=Math.floor(n/t);return{node:e,box:{x:40+n%t*160,y:40+r*96,w:128,h:64}}})}function Tn(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map,i=[];for(let a of e){let e=t(a.id);if(e===void 0||!n.has(e))i.push(a.id);else{let t=r.get(e)??[];t.push(a.id),r.set(e,t)}}let a=new Map,o=new Map,s=(e,t)=>{let n=o.get(e)??0,i=r.get(e)??[],c=t;if(i.length===0)return a.set(e,{x:t,y:40+n*112,w:128,h:64}),t+128;for(let e of i)c=s(e,c);let l=a.get(i[0]),u=a.get(i[i.length-1]),d=(l.x+u.x+u.w)/2-64;return a.set(e,{x:Math.max(t,d),y:40+n*112,w:128,h:64}),c},c=40;for(let e of i)c=s(e,c)+32;return e.map(e=>({node:e,box:a.get(e.id)??{x:40,y:40,w:128,h:64}}))}function En(e,t){let n=e.nodes,r=e.edges??[],i;i=bn(e.kind)?n.map((e,t)=>({node:e,box:{x:e.x??40+t%3*160,y:e.y??40+Math.floor(t/3)*96,w:e.w??128,h:e.h??64}})):e.kind===`tree`||e.kind===`org-chart`||e.kind===`nested`?Tn(n,t??(()=>void 0)):e.kind===`layers`||e.kind===`pyramid`||e.kind===`gantt`?wn(n):e.kind===`flowchart`||e.kind===`process`||e.kind===`sequence`?Sn(n):e.kind===`timeline`||e.kind===`line`||e.kind===`scatter`||e.kind===`bar`?Cn(n):n.map((e,t)=>({node:e,box:xn(t,3)}));let a=0,o=0;for(let e of i)a=Math.max(a,e.box.x+e.box.w),o=Math.max(o,e.box.y+e.box.h);a=Math.max(320,Math.ceil((a+40)/4)*4),o=Math.max(200,Math.ceil((o+40)/4)*4);let s=r.map(e=>({edge:e,fromId:e.from,toId:e.to}));return{nodes:i,edges:s,width:a,height:o}}function Dn(e){return{x:e.x+e.w/2,y:e.y+e.h/2}}function On(e,t,n){if(n===`left`)return{x:e.x,y:e.y+e.h/2,port:`left`};if(n===`right`)return{x:e.x+e.w,y:e.y+e.h/2,port:`right`};if(n===`top`)return{x:e.x+e.w/2,y:e.y,port:`top`};if(n===`bottom`)return{x:e.x+e.w/2,y:e.y+e.h,port:`bottom`};let r=Dn(e),i=Dn(t),a=i.x-r.x,o=i.y-r.y;return Math.abs(a)>=Math.abs(o)?a>=0?{x:e.x+e.w,y:e.y+e.h/2,port:`right`}:{x:e.x,y:e.y+e.h/2,port:`left`}:o>=0?{x:e.x+e.w/2,y:e.y+e.h,port:`bottom`}:{x:e.x+e.w/2,y:e.y,port:`top`}}function kn(e,t){if(e.x===t.x||e.y===t.y)return`M ${e.x} ${e.y} L ${t.x} ${t.y}`;let n=e.port===`left`||e.port===`right`,r=t.port===`left`||t.port===`right`;if(n&&r){let n=(e.x+t.x)/2,r=e.port===`right`?1:-1;return`M ${e.x} ${e.y} H ${n-r*8} Q ${n} ${e.y} ${n} ${e.y+8} V ${t.y-8} Q ${n} ${t.y} ${n+8} ${t.y} H ${t.x}`}if(!n&&!r){let n=(e.y+t.y)/2,r=e.port===`bottom`?1:-1;return`M ${e.x} ${e.y} V ${n-r*8} Q ${e.x} ${n} ${e.x+8} ${n} H ${t.x-8} Q ${t.x} ${n} ${t.x} ${n+8} V ${t.y}`}if(n){let n=e.port===`right`?1:-1;return`M ${e.x} ${e.y} H ${e.x+n*8*2} Q ${e.x+n*8*2} ${e.y} ${e.x+n*8*2} ${t.y} V ${t.y} H ${t.x}`}let i=e.port===`bottom`?1:-1;return`M ${e.x} ${e.y} V ${e.y+i*8*2} Q ${e.x} ${e.y+i*8*2} ${t.x} ${e.y+i*8*2} H ${t.x} V ${t.y}`}function An(e,t,n){let r=On(e,t,n?.fromPort),i=On(t,e,n?.toPort);return{d:kn(r,i),a:r,b:i}}function jn(e,t){let n=(e.x+t.x)/2,r=(e.y+t.y)/2,i=Math.abs(e.x-t.x)<Math.abs(e.y-t.y);return i?{cx:n+(t.x>=e.x?1:-1)*16,cy:r,maskY:r-6,vertical:i}:{cx:n,cy:r,maskY:r-20,vertical:i}}let Mn={paper:`#f5f5f5`,paper2:`#ececec`,ink:`#2d3142`,muted:`#4f5d75`,soft:`#7a8399`,rule:`rgba(45,49,66,0.12)`,accent:`#eb6c36`,accentTint:`rgba(235,108,54,0.08)`,link:`#2e5aa8`},Nn={paper:`#2d3142`,paper2:`#393e53`,ink:`#f5f5f5`,muted:`#bfc0c0`,soft:`#8e98ac`,rule:`rgba(245,245,245,0.12)`,accent:`#f08a59`,accentTint:`rgba(240,138,89,0.10)`,link:`#6a95d8`};function Pn(e,t){let n=e===`dark`?Nn:Mn;return t===void 0?n:{paper:t.paper??n.paper,paper2:t[`paper-2`]??n.paper2,ink:t.ink??n.ink,muted:t.muted??n.muted,soft:t.soft??n.soft,rule:t.rule??n.rule,accent:t.accent??n.accent,accentTint:t[`accent-tint`]??n.accentTint,link:t.link??n.link}}function Fn(e,t){switch(e){case`focal`:return{fill:t.accentTint,stroke:t.accent};case`store`:return{fill:U(t.ink,.05),stroke:t.muted};case`external`:return{fill:U(t.ink,.03),stroke:U(t.ink,.3)};case`input`:return{fill:U(t.muted,.1),stroke:t.soft};case`optional`:return{fill:U(t.ink,.02),stroke:U(t.ink,.2),dashed:!0};case`security`:return{fill:U(t.accent,.05),stroke:U(t.accent,.5),dashed:!0};default:return{fill:`#ffffff`,stroke:t.ink}}}function In(e,t){switch(e){case`accent`:return t.accent;case`link`:return t.link;default:return t.muted}}function U(e,t){if(e.startsWith(`#`)){let n=e.slice(1),r=n.length===3?n.split(``).map(e=>e+e).join(``):n;return`rgba(${parseInt(r.slice(0,2),16)},${parseInt(r.slice(2,4),16)},${parseInt(r.slice(4,6),16)},${t})`}return e.replace(/rgba?\(([^)]*)\)/,(n,r)=>{let i=r.split(`,`).map(e=>e.trim());return i.length===3?`rgba(${i.join(`,`)},${t})`:i.length===4?`rgba(${i[0]},${i[1]},${i[2]},${t})`:e})}let Ln=`'Geist', -apple-system, 'Segoe UI', sans-serif`,Rn=`'Geist Mono', ui-monospace, 'SF Mono', monospace`;function zn(e){let t=new Map;for(let n of e)t.has(n.to)||t.set(n.to,n.from);return e=>t.get(e)}function Bn(e,t,n,r,i,a,o){let s=Fn(r,o),c=e.x+e.w/2,l=e.y+(e.h-64)/2+28,u=e.y+(e.h-64)/2+44,d=Math.min(44,Math.max(24,(i??``).length*7+8));return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:o.paper}),(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:s.fill,stroke:s.stroke,strokeWidth:1,strokeDasharray:s.dashed===!0?`5,4`:void 0}),i!==void 0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`rect`,{x:e.x+8,y:e.y+6,width:d,height:12,rx:2,fill:`transparent`,stroke:U(s.stroke,.4),strokeWidth:.8}),(0,g.jsx)(`text`,{x:e.x+8+d/2,y:e.y+15,fill:U(s.stroke,.8),fontSize:7,fontFamily:Rn,textAnchor:`middle`,letterSpacing:.8,children:i})]}),(0,g.jsx)(`text`,{x:e.x+e.w-6,y:e.y+e.h-6,fill:U(s.stroke,.12),fontSize:24,fontWeight:600,fontFamily:Rn,textAnchor:`end`,children:String(a).padStart(2,`0`)}),(0,g.jsx)(`text`,{x:c,y:l,fill:o.ink,fontSize:12,fontWeight:600,fontFamily:Ln,textAnchor:`middle`,children:t}),n!==void 0&&(0,g.jsx)(`text`,{x:c,y:u,fill:o.soft,fontSize:9,fontFamily:Rn,textAnchor:`middle`,children:n})]})}function Vn(e,t,n,r){let i=An(e.from,e.to),a=In(e.kind,n),o=e.kind===`dashed`,s=e.kind===`accent`?1.4:1.2,c=jn(i.a,i.b);return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`path`,{d:i.d,fill:`none`,stroke:a,strokeWidth:s,strokeDasharray:o?`5,4`:void 0,markerEnd:`url(#${r})`}),e.label!==void 0&&(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:c.cx-(e.label.length*5+8)/2,y:c.maskY,width:e.label.length*5+8,height:12,rx:2,fill:n.paper}),(0,g.jsx)(`text`,{x:c.cx,y:c.maskY+9,fill:n.soft,fontSize:8,fontFamily:Rn,textAnchor:`middle`,letterSpacing:.5,children:e.label})]})]},t)}function Hn(e,t){return(0,g.jsxs)(`defs`,{children:[(0,g.jsx)(`marker`,{id:`${e}-arrow`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.muted})}),(0,g.jsx)(`marker`,{id:`${e}-arrow-accent`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.accent})}),(0,g.jsx)(`marker`,{id:`${e}-arrow-link`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.link})})]})}function Un(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`defs`,{children:(0,g.jsx)(`pattern`,{id:`${e}-dots`,width:22,height:22,patternUnits:`userSpaceOnUse`,children:(0,g.jsx)(`circle`,{cx:1,cy:1,r:.9,fill:U(t.ink,.1)})})}),(0,g.jsx)(`rect`,{width:`100%`,height:`100%`,fill:t.paper}),(0,g.jsx)(`rect`,{width:`100%`,height:`100%`,fill:`url(#${e}-dots)`,opacity:.55})]})}function Wn(e,t){let n=e.label.length*7+12,r=e.x+e.w/2;return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:8,fill:U(t.ink,.02),stroke:U(t.ink,.1),strokeWidth:.8}),(0,g.jsx)(`rect`,{x:r-n/2,y:e.y+4,width:n,height:12,rx:2,fill:t.paper}),(0,g.jsx)(`text`,{x:r,y:e.y+13,fill:U(t.ink,.4),fontSize:7,fontFamily:Rn,textAnchor:`middle`,letterSpacing:1.2,children:e.label})]})}function Gn(e){return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:40,y1:0,x2:1e3,y2:0,stroke:U(e.ink,.1),strokeWidth:.8}),(0,g.jsx)(`text`,{x:40,y:16,fill:e.soft,fontSize:8,fontFamily:Rn,letterSpacing:1.6,children:`LEGEND`}),[{label:`Focal`,type:`focal`},{label:`Backend`,type:`backend`},{label:`Store`,type:`store`},{label:`External`,type:`external`},{label:`Optional`,type:`optional`},{label:`Security`,type:`security`}].map((t,n)=>{let r=Fn(t.type,e),i=40+n*170;return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:i,y:32,width:14,height:10,rx:2,fill:r.fill,stroke:r.stroke,strokeWidth:1,strokeDasharray:r.dashed===!0?`3,2`:void 0}),(0,g.jsx)(`text`,{x:i+20,y:41,fill:e.soft,fontSize:8.5,fontFamily:Ln,children:t.label})]},t.label)})]})}function Kn(e,t){return e===`accent`?`${t}-arrow-accent`:e===`link`?`${t}-arrow-link`:`${t}-arrow`}let qn=0;function Jn(){return qn+=1,`genui-diagram-${qn}`}function Yn({node:e}){let t=(0,m.useMemo)(Jn,[]),n=(0,m.useMemo)(()=>Pn(e.variant,e.theme),[e.variant,e.theme]),r=(0,m.useMemo)(()=>En(e,zn(e.edges??[])),[e]),i=(0,m.useMemo)(()=>new Map(r.nodes.map(e=>[e.node.id,e.box])),[r]),a=`${t}-title`,o=`${t}-caption`,s=`${t}-desc`,c=r.nodes.slice(0,M.maxDiagramNodes),l=r.edges.slice(0,M.maxDiagramEdges),u=(e.zones??[]).slice(0,M.maxDiagramZones),d=0,f=M.maxDiagramFocal,p=r.height,h=p+56+24;return(0,g.jsxs)(`figure`,{className:`genui-diagram`,"data-genui-diagram":!0,children:[e.title!==void 0&&(0,g.jsx)(`figcaption`,{id:o,style:{fontFamily:`Instrument Serif, 'Times New Roman', serif`,fontSize:20,marginBottom:8,color:n.ink},children:e.title}),(0,g.jsxs)(`svg`,{role:`img`,"aria-labelledby":a,"aria-describedby":s,viewBox:`0 0 ${r.width} ${h}`,style:{maxWidth:`100%`,height:`auto`,background:n.paper},children:[(0,g.jsx)(`title`,{id:a,children:e.title??e.kind}),(0,g.jsx)(`desc`,{id:s,children:`${e.kind} diagram with ${c.length} nodes and ${l.length} connectors`}),Hn(t,n),Un(t,n),(0,g.jsx)(`g`,{children:u.map((e,t)=>(0,g.jsx)(`g`,{children:Wn({label:e.label,x:e.x??0,y:e.y??0,w:e.w??100,h:e.h??100},n)},`zone-${t}`))}),(0,g.jsx)(`g`,{children:l.map((e,r)=>{let a=i.get(e.fromId),o=i.get(e.toId);return a===void 0||o===void 0?null:Vn({from:a,to:o,label:e.edge.label,kind:e.edge.kind},r,n,Kn(e.edge.kind,t))})}),(0,g.jsx)(`g`,{children:c.map((e,t)=>{let r=e.node.type===`focal`&&d>=f?void 0:e.node.type;return e.node.type===`focal`&&(d+=1),(0,g.jsx)(`g`,{children:Bn(e.box,e.node.label,e.node.sub,r,e.node.tag,t+1,n)},e.node.id)})}),(0,g.jsx)(`g`,{transform:`translate(0, ${p+8})`,children:Gn(n)})]})]})}function Xn({node:e}){let[t,n]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:x.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:x.mediaLabel,children:e.alt}),t?(0,g.jsx)(`div`,{className:x.mediaError,role:`alert`,children:`图片无法加载`}):(0,g.jsx)(`img`,{className:x.mediaPlayer,src:e.src,alt:e.alt??`图片`,loading:`lazy`,decoding:`async`,style:{maxHeight:`min(70vh, 720px)`,objectFit:`contain`},onError:()=>n(!0)})]})}zt();async function Zn(e,t,n,r=`core`){return(await Ft(r===`full`?`echarts-full`:`echarts-core`)).createChart(e,t,n)}let Qn=new Set([`bar`,`line`,`area`,`pie`,`scatter`,`bigline`]);function $n(e){return e.option===void 0&&Qn.has(e.preset??`bar`)?`core`:`full`}let er=[`#679efe`,`#4ed17e`,`#f5b83d`,`#f2707a`,`#8b7ff0`,`#3fc7d4`,`#b7c8fe`,`#9aa3b2`];function W(e,t,n){let r=[n??null,typeof document>`u`?null:document.body,typeof document>`u`?null:document.documentElement];for(let t of r){if(t===null)continue;let n=getComputedStyle(t).getPropertyValue(e).trim();if(n!==``)return n}return t}function tr(e){return{accent:W(`--dsw-alias-state-business-primary`,`#4f8ef7`,e),labelPrimary:W(`--dsw-alias-label-primary`,`#e6e6e6`,e),labelSecondary:W(`--dsw-alias-label-secondary`,`#a0a0a0`,e),labelTertiary:W(`--dsw-alias-label-tertiary`,`#6b6b6b`,e),border:W(`--dsw-alias-border-l1`,`rgba(255,255,255,0.12)`,e),bgLayer1:W(`--dsw-alias-bg-layer-1`,`#1a1a1e`,e)}}function nr(e,t){let n=tr(t),r=e.palette!==void 0&&e.palette.length>0?[...e.palette]:Ve.map((e,n)=>W(e.replace(`var(`,``).replace(`)`,``),er[n%er.length],t)),i=e.data??[],a=e.series,o=(e={})=>({renderMode:`richText`,backgroundColor:n.bgLayer1,borderColor:n.border,textStyle:{color:n.labelPrimary},...e}),s={color:r,textStyle:{color:n.labelSecondary,fontFamily:`inherit`},backgroundColor:`transparent`,grid:{left:48,right:16,top:24,bottom:32},tooltip:o({trigger:`item`})};switch(e.preset){case`pie`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c} ({d}%)`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`pie`,radius:[`40%`,`70%`],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:n.bgLayer1,borderWidth:2},label:{color:n.labelSecondary},data:i.map(e=>({name:e.label,value:e.value}))}]};case`scatter`:return{...s,tooltip:o({trigger:`item`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:[{type:`scatter`,symbolSize:10,data:i.map(e=>e.value)}]};case`area`:return{...s,tooltip:o({trigger:`axis`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,areaStyle:{opacity:.15},data:e.data.map(e=>e.value),...rr(e.color,t,a)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}};case`line`:return{...s,tooltip:o({trigger:`axis`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,showSymbol:!0,symbolSize:6,data:e.data.map(e=>e.value),...rr(e.color,t,a)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}};case`radar`:{let e=a??[{label:``,data:i}],t=(e[0]?.data??[]).map(e=>({name:e.label,max:void 0})),r=Math.max(...e.flatMap(e=>e.data.map(e=>Number(e.value)||0)),1);return{...s,tooltip:o({trigger:`item`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},radar:{indicator:t.map(e=>({name:e.name,max:Math.ceil(r*1.1)})),splitLine:{lineStyle:{color:n.border}},splitArea:{show:!1},axisLine:{lineStyle:{color:n.border}},axisName:{color:n.labelTertiary}},series:[{type:`radar`,symbolSize:5,areaStyle:{opacity:.12},data:e.map((e,t)=>({name:e.label,value:e.data.map(e=>Number(e.value)||0),...rr(e.color,t,a)}))}]}}case`gauge`:return{...s,tooltip:o({trigger:`item`}),series:i.slice(0,4).map((e,t)=>({type:`gauge`,startAngle:210,endAngle:-30,min:0,max:Math.max(Number(e.value)||0,100),center:i.length>1?[`${(t+.5)*(100/Math.min(i.length,4))}%`,`58%`]:[`50%`,`58%`],radius:i.length>1?`62%`:`82%`,progress:{show:!0,width:12},axisLine:{lineStyle:{width:12,color:[[1,n.border]]}},axisTick:{show:!1},splitLine:{show:!1},axisLabel:{show:!1},pointer:{show:!1},title:{offsetCenter:[0,`32%`],color:n.labelTertiary,fontSize:12},detail:{valueAnimation:!0,fontSize:26,offsetCenter:[0,`2%`],formatter:`{value}`,color:n.labelPrimary},data:[{value:Number(e.value)||0,name:e.label}]}))};case`funnel`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c}`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`funnel`,left:`8%`,width:`84%`,top:16,bottom:40,gap:2,label:{position:`inside`,color:`#fff`,formatter:`{b} {c}`},itemStyle:{borderWidth:0},data:i.map(e=>({name:e.label,value:Number(e.value)||0}))}]};case`treemap`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c}`}),series:[{type:`treemap`,roam:!1,nodeClick:!1,breadcrumb:{show:!1},upperLabel:{show:!1},label:{color:n.labelPrimary},itemStyle:{borderColor:n.bgLayer1,borderWidth:2,gapWidth:2},data:i.map(e=>({name:e.label,value:Number(e.value)||0}))}]};case`sankey`:{let t=e.links??[],r=i.length>0?i.map(e=>e.label):[...new Set(t.flatMap(e=>[e.from,e.to]))];return{...s,tooltip:o({trigger:`item`}),series:[{type:`sankey`,left:8,right:8,top:12,bottom:12,nodeGap:12,lineStyle:{color:`gradient`,curveness:.5,opacity:.32},label:{color:n.labelSecondary},emphasis:{focus:`adjacency`},data:r.map(e=>({name:e})),links:t.map(e=>({source:e.from,target:e.to,value:e.value??1}))}]}}case`graph`:{let t=e.links??[],r=i.length>0?i.map(e=>e.label):[...new Set(t.flatMap(e=>[e.from,e.to]))],a=new Map;for(let e of t)a.set(e.from,(a.get(e.from)??0)+1),a.set(e.to,(a.get(e.to)??0)+1);return{...s,tooltip:o({trigger:`item`}),series:[{type:`graph`,layout:`force`,roam:!0,label:{show:!0,color:n.labelSecondary,fontSize:11},force:{repulsion:200,edgeLength:80},lineStyle:{color:n.border,curveness:.1},emphasis:{focus:`adjacency`},data:r.map(e=>({name:e,symbolSize:16+(a.get(e)??0)*5})),links:t.map(e=>({source:e.from,target:e.to}))}]}}case`heatmap`:{let e=a??[{label:``,data:i}],t=(e[0]?.data??[]).map(e=>e.label),r=e.flatMap((e,t)=>e.data.map((e,n)=>[n,t,Number(e.value)||0])),c=Math.max(...r.map(e=>e[2]),1);return{...s,tooltip:o({trigger:`item`,position:`top`}),grid:{left:64,right:16,top:16,bottom:48},xAxis:{type:`category`,data:t,splitArea:{show:!1},axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},yAxis:{type:`category`,data:e.map(e=>e.label),splitArea:{show:!1},axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},visualMap:{min:0,max:c,calculable:!0,orient:`horizontal`,left:`center`,bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`heatmap`,data:r,label:{show:r.length<=60,color:n.labelPrimary},itemStyle:{borderColor:n.bgLayer1,borderWidth:2}}]}}case`bigline`:return{...s,tooltip:o({trigger:`axis`}),grid:{left:48,right:20,top:24,bottom:56},dataZoom:[{type:`inside`,start:0,end:45},{type:`slider`,height:16,bottom:8,borderColor:n.border,textStyle:{color:n.labelTertiary}}],xAxis:{type:`category`,boundaryGap:!1,data:i.map(e=>e.label),axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},yAxis:{type:`value`,axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,showSymbol:!1,areaStyle:{opacity:.12},data:e.data.map(e=>e.value),...rr(e.color,t,a)})),legend:a===void 0?void 0:{bottom:26,textStyle:{color:n.labelTertiary}}};default:return{...s,tooltip:o({trigger:`axis`,axisPointer:{type:`shadow`}}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map(e=>({name:e.label,type:`bar`,barMaxWidth:40,itemStyle:{borderRadius:[4,4,2,2],...e.color===void 0?{}:{color:e.color}},data:e.data.map(e=>e.value)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}}}}function rr(e,t,n){return e===void 0?{}:{itemStyle:{color:e}}}function ir({node:e}){let t=(0,m.useRef)(null),[n,r]=(0,m.useState)(`loading`),i=(0,m.useRef)(null);return(0,m.useEffect)(()=>{let n=!0,a=t.current;return a===null?void 0:(Zn(a,e.option??nr(e,a),{height:e.height??300},$n(e)).then(e=>{if(!n){e.dispose();return}i.current=e,r(`ready`)}).catch(()=>{n&&r(`error`)}),()=>{n=!1,i.current?.dispose(),i.current=null})},[]),(0,m.useEffect)(()=>{if(n!==`ready`)return;let e=t.current;if(e===null)return;let r=new ResizeObserver(()=>{i.current?.resize()});return r.observe(e),()=>{r.disconnect()}},[n]),(0,m.useEffect)(()=>{if(n!==`ready`||i.current===null)return;let r=e.option??nr(e,t.current);i.current.setOption(r,!0)},[e,n]),n===`error`?(0,g.jsxs)(`div`,{className:x.echartFallback,"data-genui-echart":!0,children:[(0,g.jsx)(`div`,{className:x.echartErr,children:`ECharts 渲染失败`}),e.title!==void 0&&(0,g.jsx)(`div`,{className:x.echartHint,children:e.title})]}):(0,g.jsxs)(`div`,{className:x.echartWrap,"data-genui-echart":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.echartTitle,children:e.title}),(0,g.jsx)(`div`,{ref:t,className:x.echartCanvas,style:{height:`${e.height??300}px`},role:`img`,"aria-label":e.title??`ECharts chart`}),n===`loading`&&(0,g.jsx)(`div`,{className:x.echartHint,children:`加载图表…`})]})}let ar=p.getGenuiComponent;function or(e){return typeof e==`object`&&!!e&&`type`in e}function sr(e){let t=/^([+\-−]?[\d.,]+(?:[eE][+\-]?\d+)?)\s*(.*)$/.exec(e.trim());if(t===null||t[1]===void 0)return{num:e,unit:``,numeric:void 0,decimals:0};let n=t[1],r=n.replace(/[,,]/g,``),i=Number(r),a=Number.isFinite(i)&&!/[eE]/.test(r)?i:void 0,o=r.includes(`.`)?(r.split(`.`)[1]??``).length:0;return{num:n,unit:t[2]??``,numeric:a,decimals:Math.min(o,4)}}function cr({values:e}){let t=Math.min(...e),n=Math.max(...e)-t||1,r=e.length<=1?0:92/(e.length-1),i=e.map((e,i)=>[2+i*r,22-(e-t)/n*20]),a=i.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),o=i[i.length-1],s=`M 2,22 L ${a.split(` `).join(` L `)} L ${o[0].toFixed(1)},22 Z`;return(0,g.jsxs)(`svg`,{className:x.statSpark,viewBox:`0 0 96 24`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,g.jsx)(`path`,{d:s,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,g.jsx)(`polyline`,{points:a,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,g.jsx)(`path`,{d:`M ${o[0].toFixed(1)} ${o[1].toFixed(1)} L ${o[0].toFixed(1)} ${o[1].toFixed(1)}`,stroke:`var(--dsl-g-accent)`,strokeWidth:5,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`,fill:`none`})]})}function lr(e,t,n){let[r,i]=(0,m.useState)(n?0:e);return(0,m.useEffect)(()=>{if(!n){i(e);return}if(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){i(e);return}let t=0,r=performance.now(),a=n=>{let o=Math.min(1,(n-r)/720),s=1-(1-o)**3;i(e*s),o<1&&(t=requestAnimationFrame(a))};return t=requestAnimationFrame(a),()=>cancelAnimationFrame(t)},[e,n]),r.toFixed(t)}function ur({value:e,unitClass:t,animate:n=!1}){let r=sr(e),i=r.numeric,a=lr(i??0,r.decimals,n&&i!==void 0);return(0,g.jsxs)(g.Fragment,{children:[i===void 0?r.num:a,r.unit!==``&&(0,g.jsx)(`span`,{className:t??x.statUnit,children:r.unit})]})}function dr(e){return typeof e==`string`?e:or(e)?``:`${e.title} ${e.desc??``}`}function fr(e,t){if(t===void 0)return;let n=e?.fields[t];return n===void 0||n===``?void 0:n}function G(e,t,n,r=0,i){if(r>M.maxDepth)return null;switch(e.type){case`text`:{let n=e.size??`body`;return(0,g.jsx)(`div`,{className:`${x.text} ${x[n]}`+(e.center?` ${x.center}`:``),children:B(e.content)},t)}case`row`:return(0,g.jsxs)(`div`,{className:x.row+(e.wrap?` ${x.wrap}`:``),children:[e.items.map((e,t)=>G(e,t,n,r+1,i)),e.spacer&&(0,g.jsx)(`div`,{className:x.spacer})]},t);case`col`:return(0,g.jsx)(`div`,{className:x.col,style:e.gap===void 0?void 0:{gap:`${e.gap}px`},children:e.items.map((e,t)=>G(e,t,n,r+1,i))},t);case`grid`:return(0,g.jsx)(`div`,{className:x.grid,style:{gridTemplateColumns:`repeat(${Math.max(1,e.cols)}, minmax(0, 1fr))`},children:e.items.map((e,t)=>{let a=G(e,t,n,r+1,i),o=typeof e==`object`&&e&&typeof e.span==`number`?Math.max(1,Math.min(12,e.span)):1;return o>1?(0,g.jsx)(`div`,{className:x.gridSpan,style:{gridColumn:`span ${o}`},children:a},t):a})},t);case`card`:{let a=e.tone===void 0?``:` ${x[`card${e.tone[0].toUpperCase()}${e.tone.slice(1)}`]??``}`,o=e.accent===void 0?void 0:{borderColor:`color-mix(in srgb, ${e.accent} 18%, var(--dsl-g-border))`,"--dsl-card-accent":e.accent};return(0,g.jsxs)(`div`,{className:`${x.card}${a}`,style:o,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.cardTitle,children:e.title}),e.items.map((e,t)=>G(e,t,n,r+1,i))]},t)}case`button`:{let r=e.tone??``,i=`${x.button} ${x[r]||``}`+(e.full?` ${x.full}`:``)+(e.small?` ${x.small}`:``),a=e.action,o=a!==void 0&&n!==void 0;return(0,g.jsxs)(Re,{className:i,disabled:!o,onClick:o?()=>n(a,{type:`button`,label:e.label}):void 0,children:[e.icon!==void 0&&(0,g.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),e.label]},t)}case`input`:return(0,g.jsx)(vt,{node:e,onAction:n,answers:i},t);case`select`:return(0,g.jsx)(_t,{node:e,onAction:n,answers:i},t);case`checkbox`:return(0,g.jsx)(bt,{node:e,onAction:n,answers:i},t);case`link`:{let n=e.href;return n===void 0?(0,g.jsx)(`span`,{className:x.linkText,children:e.label},t):(0,g.jsx)(`a`,{className:x.link,href:n,target:`_blank`,rel:`noopener noreferrer`,children:e.label},t)}case`image`:return(0,g.jsx)(Xn,{node:e},`${t}:${e.src}`);case`audio`:return(0,g.jsx)(ze,{node:e},`${t}:${e.src}`);case`video`:return(0,g.jsx)(Be,{node:e},`${t}:${e.src}`);case`badge`:{let n=e.tone??``;return(0,g.jsxs)(`span`,{className:`${x.badge} ${x[n]||``}`,children:[e.icon!==void 0&&(0,g.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),e.label]},t)}case`hero`:{let n=e.tone??`accent`,r=x[`hero${n[0].toUpperCase()}${n.slice(1)}`]??``,i=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,g.jsxs)(`div`,{className:`${x.hero} ${r}`,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:x.heroLabel,children:e.label}),(0,g.jsxs)(`div`,{className:x.heroTop,children:[e.value!==void 0&&(0,g.jsx)(`span`,{className:x.heroValue,children:(0,g.jsx)(ur,{value:e.value,unitClass:x.heroUnit,animate:!0})}),e.delta!==void 0&&(0,g.jsx)(`span`,{className:`${x.statDelta} ${i?x.down:x.up}`,children:e.delta}),e.spark!==void 0&&(0,g.jsx)(`span`,{className:x.heroSpark,children:(0,g.jsx)(cr,{values:e.spark})})]}),(0,g.jsx)(`span`,{className:x.heroTitle,children:e.title}),e.subtitle!==void 0&&(0,g.jsx)(`span`,{className:x.heroSubtitle,children:e.subtitle})]},t)}case`stat`:{let n=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,g.jsxs)(`div`,{className:`${x.stat}${e.size===`hero`?` ${x.statHero}`:``}`,children:[(0,g.jsx)(`span`,{className:x.statLabel,children:e.label}),(0,g.jsx)(`span`,{className:x.statValue,children:(0,g.jsx)(ur,{value:e.value,animate:e.size===`hero`})}),e.delta!==void 0&&(0,g.jsx)(`span`,{className:`${x.statDelta} ${n?x.down:x.up}`,children:e.delta}),e.spark!==void 0&&(0,g.jsx)(cr,{values:e.spark})]},t)}case`progress`:{let n=Math.max(0,Math.min(100,Number(e.value)||0));if(e.variant===`ring`){let r=2*Math.PI*34;return(0,g.jsxs)(`div`,{className:x.ring,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(0,g.jsxs)(`svg`,{width:92,height:92,viewBox:`0 0 92 92`,"aria-hidden":`true`,children:[(0,g.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,className:x.ringTrack}),(0,g.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,strokeLinecap:`round`,className:x.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 46 46)`}),(0,g.jsxs)(`text`,{x:46,y:51,textAnchor:`middle`,className:x.ringValue,children:[n,`%`]})]}),(e.label!==void 0||e.valueLabel!==void 0)&&(0,g.jsxs)(`div`,{className:x.ringMeta,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:x.ringLabel,children:e.label}),e.valueLabel!==void 0&&(0,g.jsx)(`span`,{className:x.ringSub,children:e.valueLabel})]})]},t)}return(0,g.jsxs)(`div`,{className:x.progress,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(e.label!==void 0||e.valueLabel!==void 0)&&(0,g.jsxs)(`div`,{className:x.progressRow,children:[(0,g.jsx)(`span`,{children:e.label}),e.valueLabel!==void 0&&(0,g.jsx)(`span`,{children:e.valueLabel})]}),(0,g.jsxs)(`div`,{className:x.track,children:[(0,g.jsx)(`div`,{className:x.fill,style:{width:`${n}%`}}),e.target!==void 0&&(0,g.jsx)(`span`,{className:x.targetMark,style:{left:`${e.target}%`},title:`目标 ${e.target}%`})]})]},t)}case`divider`:return(0,g.jsx)(`hr`,{className:x.divider},t);case`list`:{let a=fr(i,e.filter)?.toLowerCase(),o=e.items.slice(0,M.maxListItems),s=a===void 0?o:o.filter(e=>dr(e).toLowerCase().includes(a));return(0,g.jsxs)(`div`,{className:x.list,children:[s.map((e,t)=>(0,g.jsx)(`div`,{className:x.li,children:or(e)?G(e,t,n,r+1,i):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:x.liTitle,children:B(typeof e==`string`?e:e.title)}),typeof e!=`string`&&e.desc!==void 0&&(0,g.jsx)(`span`,{className:x.liDesc,children:B(e.desc)})]})},t)),a!==void 0&&(0,g.jsxs)(`span`,{className:x.filterHint,children:[`匹配 `,s.length,` / `,o.length,` 项`]})]},t)}case`table`:return(0,g.jsx)(Qe,{node:e,filterValue:fr(i,e.filter),sortValue:fr(i,e.sortField),renderDetail:e=>e.map((e,t)=>G(e,t,n,r+1,i))},t);case`chart`:return(0,g.jsx)(at,{chart:e,filterValue:fr(i,e.filter)},t);case`tabs`:return(0,g.jsx)(sn,{tabs:e,onAction:n,depth:r+1,answers:i},t);case`avatar`:return(0,g.jsx)(`div`,{className:x.avatar,style:{background:e.color??Le(e.name)},children:e.name.slice(0,1).toUpperCase()},t);case`spacer`:return(0,g.jsx)(`div`,{className:x.spacer},t);case`plot`:return(0,g.jsx)(nn,{plot:e},t);case`callout`:return(0,g.jsx)($t,{node:e},t);case`steps`:return(0,g.jsx)(en,{steps:e},t);case`keyvalue`:return(0,g.jsx)(tn,{node:e},t);case`diff`:return(0,g.jsx)(rn,{node:e},t);case`json`:return(0,g.jsx)(an,{node:e},t);case`code`:return(0,g.jsx)(on,{node:e},t);case`radio`:return(0,g.jsx)(ut,{node:e,onAction:n,answers:i},`${t}:r${i?.round??0}`);case`submit`:return(0,g.jsx)(ft,{node:e,onAction:n,answers:i},t);case`switch`:return(0,g.jsx)(pt,{node:e,onAction:n},t);case`slider`:return(0,g.jsx)(mt,{node:e,onAction:n,answers:i},t);case`textarea`:return(0,g.jsx)(yt,{node:e,onAction:n,answers:i},t);case`accordion`:return(0,g.jsx)(cn,{node:e,onAction:n,depth:r+1,answers:i},t);case`copy`:return(0,g.jsx)(un,{node:e},t);case`mermaid`:return(0,g.jsx)(dn,{node:e},t);case`scene3d`:return(0,g.jsx)(fn,{node:e},t);case`timeline`:return(0,g.jsx)(pn,{node:e},t);case`file-tree`:return(0,g.jsx)(gn,{node:e},t);case`breadcrumb`:return(0,g.jsx)(vn,{node:e},t);case`quiz`:return(0,g.jsx)(_n,{node:e,onAction:n},t);case`diagram`:return(0,g.jsx)(Yn,{node:e},t);case`echart`:return(0,g.jsx)(ir,{node:e},t);default:{let a=e,o=ar?.(a.type);return o===void 0?null:(0,g.jsx)(o,{node:a,onAction:n,renderChildren:(e,t)=>e.map((e,a)=>G(e,Number(t)+a,n,r+1,i))},t)}}}function pr(e){let t=(0,m.useRef)(new Map),n=(0,m.useRef)(e);n.current=e,(0,m.useEffect)(()=>()=>{for(let e of t.current.values())clearTimeout(e);t.current.clear()},[]);let r=(0,m.useCallback)((e,r)=>{let i=t.current.get(e);i!==void 0&&clearTimeout(i),t.current.set(e,setTimeout(()=>{t.current.delete(e),n.current?.(e,r)},300))},[]);return e===void 0?void 0:r}function mr(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}function hr({spec:e,stateKey:t,animateEntrance:n=!0}){let r=e.gap??16,i=pr(y()),[a]=(0,m.useState)(()=>t===void 0?null:ee(t)),[o,s]=(0,m.useState)(a?.answers??{}),[c,l]=(0,m.useState)(a?.multiAnswers??{}),[u,d]=(0,m.useState)(a?.fields??{}),[f,p]=(0,m.useState)({}),[h,_]=(0,m.useState)(a?.locked===!0),[v,b]=(0,m.useState)(0),[S,C]=(0,m.useState)(new Set),w=(0,m.useCallback)((e,t)=>{s(n=>n[e]===t?n:{...n,[e]:t})},[]),T=(0,m.useCallback)((e,t,n)=>{l(r=>{let i=r[e]??[],a=n?i.includes(t)?i:[...i,t]:i.filter(e=>e!==t);return Object.prototype.hasOwnProperty.call(r,e)&&a.length===i.length&&a.every((e,t)=>e===i[t])?r:{...r,[e]:a}})},[]),E=(0,m.useCallback)((e,t)=>{d(n=>n[e]===t?n:{...n,[e]:t})},[]),D=(0,m.useCallback)(e=>{C(t=>t.has(e)?t:new Set(t).add(e))},[]),O=(0,m.useCallback)((e,t)=>{p(n=>{let r=n[e];return r!==void 0&&r.label===t.label&&r.answer===t.answer&&r.explanation===t.explanation?n:{...n,[e]:t}})},[]),k=(0,m.useCallback)(()=>{s({}),l({}),_(!1),b(e=>e+1)},[]),A=(0,m.useMemo)(()=>({answers:o,multiAnswers:c,fields:u,secretFields:S,meta:f,locked:h,round:v,setAnswer:w,setMultiAnswer:T,setField:E,registerSecretField:D,registerMeta:O,clear:k,setLocked:_}),[o,c,u,S,f,h,v,w,T,E,D,O,k]),ne=(0,m.useMemo)(()=>{if(i!==void 0)return(e,t)=>{Te(),i(e,t)}},[i]);return(0,m.useEffect)(()=>{if(t===void 0)return;let e=setTimeout(()=>{let e=Object.fromEntries(Object.entries(u).filter(([e])=>!S.has(e)));te(t,{answers:o,...Object.keys(c).length>0?{multiAnswers:c}:{},locked:h,...Object.keys(e).length>0?{fields:e}:{}})},300);return()=>clearTimeout(e)},[t,o,c,h,u,S]),(0,m.useEffect)(()=>{Ce(e)},[e]),(0,g.jsxs)(`div`,{className:x.block,"data-genui":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.banner,children:e.title}),(0,g.jsx)(`div`,{className:x.col,style:{gap:`${r}px`},children:e.items.map((e,t)=>(0,g.jsx)(`div`,{className:x.reveal,style:{animationDelay:`${Math.min(t*90,720)}ms`,...!n||a!==null?{animation:`none`}:{}},onAnimationEnd:e=>{e.target===e.currentTarget&&(e.currentTarget.style.animation=`none`)},children:G(e,t,ne,0,A)},t))})]})}let gr=(0,m.memo)(function(e){let[t,n]=(0,m.useState)({stateKey:e.stateKey,generation:0});return t.stateKey!==e.stateKey&&n({stateKey:e.stateKey,generation:t.generation+(t.stateKey===void 0?0:1)}),(0,g.jsx)(hr,{...e},t.generation)},(e,t)=>e.stateKey===t.stateKey&&e.animateEntrance===t.animateEntrance&&mr(e.spec,t.spec));function _r(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.type!=`string`||t.type===``)return null;let n={type:`col`,items:[e]};return t.panel===!0&&(n.panel=!0),t.append===!0&&(n.append=!0),n}function vr(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(!Array.isArray(t.items)||t.title!==void 0&&typeof t.title!=`string`||t.gap!==void 0&&typeof t.gap!=`number`)}let yr=[`h1`,`h2`,`h3`,`body`,`muted`,`caption`],br=[`primary`,`danger`,`success`,`ghost`],xr=[`success`,`warn`,`danger`,`accent`],Sr=[`text`,`email`,`password`,`color`],Cr=[`info`,`success`,`warning`,`error`],wr=[`bars`,`line`,`donut`],Tr=[`line`,`area`,`scatter`],Er=[`16:9`,`4:3`,`1:1`,`9:16`],Dr=[`box`,`sphere`,`cone`,`cylinder`,`torus`],Or=[`file`,`dir`],kr=`architecture.it-state.flowchart.sequence.state.er.timeline.swimlane.quadrant.radar.loop.nested.tree.org-chart.layers.venn.pyramid.bar.line.gantt.scatter.high-level.process.medallion.data-flow.dp-integration.dp-security-matrix`.split(`.`),Ar=[`focal`,`backend`,`store`,`external`,`input`,`optional`,`security`],jr=[`light`,`dark`,`editorial`],Mr=[`solid`,`dashed`,`accent`,`link`],Nr=[`auto`,`orthogonal`,`straight`],Pr=[`bar`,`line`,`area`,`pie`,`scatter`,`radar`,`gauge`,`funnel`,`treemap`,`sankey`,`graph`,`heatmap`,`bigline`],Fr=[`hero`],Ir=[`bar`,`ring`],Lr=[`info`,`success`,`warning`,`danger`],Rr=[`accent`,`success`,`warning`,`danger`],zr=[`text`,`num`,`delta`,`bar`,`badge`,`spark`,`ring`,`index`,`group`],K=(e,t,n={},r={})=>{let i=Object.fromEntries(Object.entries(t).filter(([t])=>t!==`type`&&!e.includes(t))),a=r.oneOfRequired??[],o=r.conditionalRequired??[];return{required:e,fields:t,optional:i,aliases:n,oneOfRequired:a,conditionalRequired:o,rules:[...a.map(e=>({kind:`one-of-required`,fields:e})),...o],enums:r.enums??{},nested:r.nested??{},...r.validator===void 0?{}:{validator:r.validator}}},q=(e,t,n={},r={})=>({required:e,fields:t,enums:r,nested:n}),J={type:`string`,span:`number`},Br=q([`label`,`value`],{label:`string`,value:`number`,color:`string`}),Vr=q([`label`,`data`],{label:`string`,color:`string`,data:`array`},{data:Br}),Hr=q([`title`],{title:`string`,desc:`string`}),Ur=q([`key`,`value`],{key:`string`,value:`string`}),Wr=q([`title`],{title:`string`,desc:`string`,time:`string`}),Gr=q([`path`,`newText`],{path:`string`,oldText:`string-or-null`,newText:`string`}),Kr=q([`expr`],{expr:`string`,label:`string`,color:`string`,kind:`string`,params:`array`},{params:q([`name`,`value`],{name:`string`,value:`number`,min:`number`,max:`number`,step:`number`,animateTo:`number`,durationMs:`number`,loop:`boolean`})},{kind:Tr}),qr=q([`shape`],{shape:`string`,color:`string`,position:`array`,rotation:`array`,scale:`unknown`,size:`unknown`},{},{shape:Dr});function Jr(e){return q([`name`],{name:`string`,type:`string`,children:`array`},e>0?{children:Jr(e-1)}:{},{type:Or})}let Yr=Jr(6),Xr=q([`label`,`items`],{label:`string`,items:`nodes`,content:`nodes`}),Zr=q([`title`,`items`],{title:`string`,items:`nodes`}),Qr=q([`id`,`label`],{id:`string`,label:`string`,sub:`string`,type:`string`,x:`number`,y:`number`,w:`number`,h:`number`,tag:`string`},{},{type:Ar}),$r=q([`from`,`to`],{from:`string`,to:`string`,label:`string`,kind:`string`,route:`string`},{},{kind:Mr,route:Nr}),ei=q([`label`],{label:`string`,x:`number`,y:`number`,w:`number`,h:`number`}),ti=q([],{paper:`string`,"paper-2":`string`,ink:`string`,muted:`string`,soft:`string`,rule:`string`,accent:`string`,"accent-tint":`string`,link:`string`}),ni=K([`items`],{title:`string`,gap:`number`,panel:`boolean`,append:`boolean`,items:`nodes`}),ri={accordion:K([`items`],{...J,items:`array`},{},{nested:{items:Zr}}),audio:K([`src`],{...J,src:`string`,alt:`string`,loop:`boolean`}),avatar:K([`name`],{...J,name:`string`,color:`string`}),badge:K([`label`],{...J,label:`string`,tone:`string`,icon:`string`},{text:`label`,value:`label`},{enums:{tone:xr}}),breadcrumb:K([`items`],{...J,items:`array`}),button:K([`label`],{...J,label:`string`,tone:`string`,full:`boolean`,small:`boolean`,icon:`string`,action:`string`},{},{enums:{tone:br}}),callout:K([`content`],{...J,title:`string`,content:`string`,tone:`string`},{kind:`tone`},{enums:{tone:Cr}}),card:K([`items`],{...J,title:`string`,items:`nodes`,tone:`string`,accent:`string`},{label:`title`,content:`items`},{enums:{tone:Lr}}),chart:K([],{...J,kind:`string`,data:`array`,series:`array`,horizontal:`boolean`,stacked:`boolean`,filter:`string`,palette:`array`},{},{oneOfRequired:[[`data`,`series`]],conditionalRequired:[{kind:`required-if`,when:{field:`kind`,equals:`donut`},required:[`data`]}],nested:{data:Br,series:Vr},enums:{kind:wr},validator:{name:`chart-renderability`}}),checkbox:K([`label`],{...J,label:`string`,checked:`boolean`,action:`string`,group:`string`}),code:K([`code`],{...J,lang:`string`,code:`string`}),col:K([`items`],{...J,items:`nodes`,gap:`number`}),copy:K([`text`],{...J,label:`string`,text:`string`}),diagram:K([`kind`,`nodes`],{...J,kind:`string`,variant:`string`,title:`string`,nodes:`array`,edges:`array`,zones:`array`,theme:`object`},{},{nested:{nodes:Qr,edges:$r,zones:ei,theme:ti},enums:{kind:kr,variant:jr}}),diff:K([`diffs`],{...J,diffs:`array`},{},{nested:{diffs:Gr}}),divider:K([],J),echart:K([],{...J,title:`string`,height:`number`,preset:`string`,data:`array`,series:`array`,links:`array`,palette:`array`,option:`object`},{},{oneOfRequired:[[`option`,`data`,`series`,`links`]],enums:{preset:Pr}}),"file-tree":K([`items`],{...J,items:`array`},{},{nested:{items:Yr}}),grid:K([`items`],{...J,cols:`number`,items:`nodes`}),image:K([`src`],{...J,src:`string`,alt:`string`}),input:K([],{...J,label:`string`,placeholder:`string`,value:`string`,inputType:`string`,action:`string`,id:`string`},{},{enums:{inputType:Sr}}),json:K([`value`],{...J,value:`unknown`}),keyvalue:K([`pairs`],{...J,pairs:`array`},{},{nested:{pairs:Ur}}),link:K([`label`],{...J,label:`string`,href:`string`}),list:K([`items`],{...J,items:`array`,filter:`string`}),mermaid:K([`code`],{...J,code:`string`}),plot:K([`series`],{...J,series:`array`,xMin:`number`,xMax:`number`,yMin:`number`,yMax:`number`,title:`string`},{},{nested:{series:Kr}}),progress:K([`value`],{...J,value:`number`,label:`string`,valueLabel:`string`,variant:`string`,target:`number`},{},{enums:{variant:Ir}}),quiz:K([`question`,`options`],{...J,question:`string`,options:`array`,explanation:`string`,id:`string`,action:`string`}),radio:K([`options`],{...J,label:`string`,options:`array`,selected:`number`,action:`string`,group:`string`,answer:`unknown`,explanation:`string`}),row:K([`items`],{...J,items:`nodes`,wrap:`boolean`,spacer:`boolean`}),scene3d:K([`meshes`],{...J,title:`string`,meshes:`array`,ambient:`number`,background:`string`},{},{nested:{meshes:qr}}),select:K([`options`],{...J,label:`string`,options:`array`,action:`string`,selected:`number`,id:`string`}),slider:K([],{...J,label:`string`,min:`number`,max:`number`,step:`number`,value:`number`,action:`string`,id:`string`}),spacer:K([],J),hero:K([`title`],{...J,title:`string`,subtitle:`string`,value:`string`,label:`string`,delta:`string`,spark:`array`,tone:`string`},{},{enums:{tone:Rr}}),stat:K([`label`,`value`],{...J,label:`string`,value:`string`,delta:`string`,spark:`array`,size:`string`},{},{enums:{size:Fr}}),steps:K([`steps`],{...J,steps:`array`,current:`number`},{items:`steps`},{nested:{steps:Hr}}),submit:K([`label`],{...J,label:`string`,action:`string`,resetAction:`string`,groups:`array`}),switch:K([`label`],{...J,label:`string`,checked:`boolean`,action:`string`}),table:K([`columns`,`rows`],{...J,columns:`array`,rows:`array`,types:`array`,total:`boolean`,details:`array`,filter:`string`,filterColumn:`number`,sortField:`string`,export:`boolean`},{headers:`columns`,data:`rows`}),tabs:K([`tabs`],{...J,tabs:`array`},{},{nested:{tabs:Xr}}),text:K([`content`],{...J,content:`string`,size:`string`,center:`boolean`},{text:`content`},{enums:{size:yr}}),textarea:K([],{...J,label:`string`,placeholder:`string`,rows:`number`,value:`string`,action:`string`,id:`string`}),timeline:K([`items`],{...J,items:`array`},{},{nested:{items:Wr}}),video:K([`src`],{...J,src:`string`,alt:`string`,poster:`string`,loop:`boolean`,muted:`boolean`,aspectRatio:`string`},{},{enums:{aspectRatio:Er}})},ii=new Set(Object.keys(ri));function ai(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function oi(e){let t=ai(e);return t!==void 0&&typeof t.type==`string`}function si(e,t,n,r){let i=ri[n];if(i===void 0)return e;let a={...e};for(let[e,o]of Object.entries(i.aliases)){if(!(e in a))continue;let i=`${t}.${e}`,s=o in a;s||(a[o]=a[e]),delete a[e],r.push({kind:`alias`,path:i,message:s?`${i} is ignored because canonical field '${o}' is present`:`${i} normalized/adopted as '${o}'`,type:n,field:e,canonical:o})}return a}function ci(e,t,n){if(!oi(e))return e;let r=e.type;if(ri[r]===void 0)return e;let i=si(e,t,r,n),a=(e,t)=>ci(e,t,n);return r===`row`||r===`col`||r===`grid`||r===`card`||r===`file-tree`||r===`timeline`||r===`breadcrumb`?r!==`file-tree`&&r!==`timeline`&&r!==`breadcrumb`&&(i.items=((e,t)=>Array.isArray(e)?e.map((e,n)=>a(e,`${t}[${n}]`)):e)(i.items,`${t}.items`)):r===`list`&&Array.isArray(i.items)?i.items=i.items.map((e,n)=>oi(e)?a(e,`${t}.items[${n}]`):e):r===`tabs`&&Array.isArray(i.tabs)?i.tabs=i.tabs.map((e,i)=>{let o=ai(e);if(o===void 0)return e;let s={...o};if(`content`in s){let e=`${t}.tabs[${i}].content`,a=`items`in s;a||(s.items=s.content),delete s.content,n.push({kind:`alias`,path:e,message:a?`${e} is ignored because canonical field 'items' is present`:`${e} normalized/adopted as 'items'`,type:r,field:`content`,canonical:`items`})}return s.items=Array.isArray(s.items)?s.items.map((e,n)=>a(e,`${t}.tabs[${i}].items[${n}]`)):s.items===void 0?s.items:[a(s.items,`${t}.tabs[${i}].items[0]`)],s}):r===`accordion`&&Array.isArray(i.items)&&(i.items=i.items.map((e,n)=>{let r=ai(e);return r===void 0?e:{...r,items:Array.isArray(r.items)?r.items.map((e,r)=>a(e,`${t}.items[${n}].items[${r}]`)):r.items}})),i}function li(e){let t=[],n=ai(e);if(n===void 0)return{value:e,warnings:t};let r={...n};if(Array.isArray(r.items))r.items=r.items.map((e,n)=>ci(e,`items[${n}]`,t));else if(typeof r.type==`string`)return{value:ci(r,`spec`,t),warnings:t};return{value:r,warnings:t}}function ui(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function di(e){let t=ui(e);return t!==void 0&&typeof t.type==`string`}function fi(e,t,n){if(!di(e))return;let r=e.type,i=ri[r];if(i===void 0)return;n(e,t,i);let a=(e,t)=>fi(e,t,n);(r===`row`||r===`col`||r===`grid`||r===`card`)&&Array.isArray(e.items)||r===`list`&&Array.isArray(e.items)?e.items.forEach((e,n)=>a(e,`${t}.items[${n}]`)):r===`tabs`&&Array.isArray(e.tabs)?e.tabs.forEach((e,n)=>{let r=ui(e);r!==void 0&&(Array.isArray(r.items)?r.items.forEach((e,r)=>a(e,`${t}.tabs[${n}].items[${r}]`)):a(r.items,`${t}.tabs[${n}].items`))}):r===`accordion`&&Array.isArray(e.items)&&e.items.forEach((e,n)=>{let r=ui(e);r?.items!==void 0&&Array.isArray(r.items)&&r.items.forEach((e,r)=>a(e,`${t}.items[${n}].items[${r}]`))})}function pi(e,t,n,r){e.push({kind:`unknown-field`,path:`${t}.${n}`,message:`${t}.${n}: unknown field for '${r}'`,type:r,field:n})}function mi(e,t,n,r,i){let a=ui(e);if(a!==void 0){for(let e of Object.keys(a))e in n.fields||pi(i,t,e,r);for(let[e,o]of Object.entries(n.nested)){let n=a[e];Array.isArray(n)?n.forEach((n,a)=>mi(n,`${t}.${e}[${a}]`,o,r,i)):n!==void 0&&mi(n,`${t}.${e}`,o,r,i)}}}function hi(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];Array.isArray(n)?n.forEach((n,o)=>mi(n,`${t}.${i}[${o}]`,a,e.type,r)):n!==void 0&&mi(n,`${t}.${i}`,a,e.type,r)}}function gi(e){let t=[],n=ui(e);if(n===void 0)return t;let r=(e,n,r)=>{for(let i of Object.keys(e))i===`type`||i in r.fields||pi(t,n,i,e.type);hi(e,n,r,t)};if(Array.isArray(n.items)){for(let e of Object.keys(n))e in ni.fields||pi(t,`spec`,e,`spec`);n.items.forEach((e,t)=>fi(e,`items[${t}]`,r))}else if(typeof n.type==`string`)fi(n,`spec`,r);else for(let e of Object.keys(n))e in ni.fields||pi(t,`spec`,e,`spec`);return t}function _i(e,t){switch(t){case`string`:return typeof e==`string`;case`string-or-null`:return e===null||typeof e==`string`;case`number`:return typeof e==`number`&&Number.isFinite(e);case`boolean`:return typeof e==`boolean`;case`nodes`:return Array.isArray(e);case`array`:return Array.isArray(e);case`object`:return R(e)!==void 0;case`unknown`:return!0}}function vi(e){switch(e){case`string-or-null`:return`a string or null`;case`number`:return`a finite number`;case`boolean`:return`a boolean`;case`nodes`:case`array`:return`an array`;case`object`:return`an object`;case`unknown`:return`a value`;default:return`a string`}}function Y(e,t,n){return e.some(e=>e.startsWith(`${t}.${n} `)||e.includes(`'${n}'`)||e.includes(`requires ${n}`))}function yi(e,t,n,r,i=[]){for(let[a,o]of Object.entries(n.fields))i.includes(a)||e[a]===void 0||!_i(e[a],o)&&!Y(r,t,a)&&r.push(`${t}.${a} must be ${vi(o)}`);for(let[a,o]of Object.entries(n.enums))i.includes(a)||e[a]===void 0||!_i(e[a],`string`)||!o.includes(e[a])&&!Y(r,t,a)&&r.push(`${t}.${a} must be one of ${o.join(`, `)}`)}function bi(e,t,n,r){let i=R(e);if(i===void 0){r.push(`${t} must be an object`);return}for(let e of n.required){let a=n.fields[e];i[e]===void 0?Y(r,t,e)||r.push(`${t}: requires ${e}${a===void 0?``:` (${vi(a)})`}`):a!==void 0&&!_i(i[e],a)&&(Y(r,t,e)||r.push(`${t}.${e} must be ${vi(a)}`))}for(let[e,a]of Object.entries(n.fields))i[e]!==void 0&&!_i(i[e],a)&&(Y(r,t,e)||r.push(`${t}.${e} must be ${vi(a)}`));for(let[e,a]of Object.entries(n.enums))i[e]!==void 0&&typeof i[e]==`string`&&!a.includes(i[e])&&(Y(r,t,e)||r.push(`${t}.${e} must be one of ${a.join(`, `)}`));for(let[e,a]of Object.entries(n.nested)){let n=i[e];n!==void 0&&(Array.isArray(n)?n.forEach((n,i)=>bi(n,`${t}.${e}[${i}]`,a,r)):bi(n,`${t}.${e}`,a,r))}}function xi(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];n!==void 0&&(Array.isArray(n)?n.forEach((e,n)=>bi(e,`${t}.${i}[${n}]`,a,r)):bi(n,`${t}.${i}`,a,r))}}function Si(e,t,n,r){let i=String(e.type),a=e=>Y(r,t,e);for(let o of n.required){let s=n.fields[o];if(s===void 0||e[o]===void 0){a(o)||r.push(`${t}: type '${i}' requires ${o}${s===void 0?``:` (${vi(s)})`}`);continue}!_i(e[o],s)&&!a(o)&&r.push(`${t}.${o} must be ${vi(s)}`)}yi(e,t,n,r,[`type`]);for(let a of n.oneOfRequired)!a.some(t=>e[t]!==void 0)&&!r.some(e=>e.includes(`requires ${a.join(` or `)}`))&&r.push(`${t}: type '${i}' requires one of ${a.join(` or `)}`);for(let o of n.conditionalRequired)if(e[o.when.field]===o.when.equals)for(let n of o.required)e[n]===void 0&&!a(n)&&r.push(`${t}: type '${i}' requires ${n}${o.message===void 0?``:` (${o.message})`}`);xi(e,t,n,r)}function X(e,t,n){if(!Array.isArray(e))return[];let r=[];for(let i of e){if(t.remaining<=0)break;--t.remaining;let e=Ti(i,t,n);e!==null&&r.push(e)}return r}function Ci(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,12)){let e=P(n);e!==void 0&&t.push(e)}return t.length>0?t:void 0}function wi(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,60)){let e=typeof n==`number`?n:Number(n);if(!Number.isFinite(e))return;t.push(e)}return t.length>=2?t:void 0}function Ti(e,t,n){let r=Ei(e,t,n);if(r===null)return null;let i=I(R(e)?.span,2,12);return i===void 0?r:{...r,span:i}}function Ei(e,t,n){if(n>M.maxDepth)return null;let r=R(e);if(r===void 0)return null;let i=r.type;if(typeof i!=`string`)return null;switch(i){case`text`:{let e=N(r.content,M.maxString)??N(r.text,M.maxString);return e===void 0?null:{type:`text`,content:e,...z(`size`,L(r.size,yr)),...z(`center`,r.center===!0||void 0)}}case`row`:return{type:`row`,items:X(r.items,t,n+1),...z(`wrap`,r.wrap===!0||void 0),...z(`spacer`,r.spacer===!0||void 0)};case`col`:return{type:`col`,items:X(r.items,t,n+1),...z(`gap`,F(r.gap,0,96))};case`grid`:return{type:`grid`,cols:I(r.cols,1,M.maxGridCols)??1,items:X(r.items,t,n+1)};case`card`:return{type:`card`,items:X(r.items,t,n+1),...z(`title`,N(r.title,M.maxString)),...z(`tone`,L(r.tone,Lr)),...z(`accent`,P(r.accent))};case`button`:{let e=N(r.label,M.maxString);return e===void 0?null:{type:`button`,label:e,...z(`tone`,L(r.tone,br)),...z(`full`,r.full===!0||void 0),...z(`small`,r.small===!0||void 0),...z(`icon`,N(r.icon,64)),...z(`action`,N(r.action,200))}}case`input`:return{type:`input`,...z(`label`,N(r.label,M.maxString)),...z(`placeholder`,N(r.placeholder,M.maxString)),...z(`value`,N(r.value,M.maxString)),...z(`inputType`,L(r.inputType,Sr)),...z(`action`,N(r.action,200)),...z(`id`,N(r.id,200))};case`select`:{let e=Di(r.options,M.maxOptions,M.maxString);return e===void 0?null:{type:`select`,options:e,...z(`label`,N(r.label,M.maxString)),...z(`action`,N(r.action,200)),...z(`selected`,I(r.selected,0,e.length-1)),...z(`id`,N(r.id,200))}}case`checkbox`:{let e=N(r.label,M.maxString);return e===void 0?null:{type:`checkbox`,label:e,...z(`checked`,r.checked===!0||void 0),...z(`action`,N(r.action,200)),...z(`group`,N(r.group,200))}}case`link`:{let e=N(r.label,M.maxString);return e===void 0?null:{type:`link`,label:e,...z(`href`,Me(r.href))}}case`image`:{let e=Ne(r.src);return e===void 0?null:{type:`image`,src:e,...z(`alt`,N(r.alt,M.maxString))}}case`audio`:{let e=Ne(r.src);return e===void 0?null:{type:`audio`,src:e,...z(`alt`,N(r.alt,M.maxString)),...z(`loop`,r.loop===!0||void 0)}}case`video`:{let e=Ne(r.src);return e===void 0?null:{type:`video`,src:e,...z(`alt`,N(r.alt,M.maxString)),...z(`poster`,Ne(r.poster)),...z(`loop`,r.loop===!0||void 0),...z(`muted`,r.muted===!0||void 0),...z(`aspectRatio`,L(r.aspectRatio,Er))}}case`badge`:{let e=N(r.label,M.maxString)??N(r.text,M.maxString)??N(r.value,M.maxString);return e===void 0?null:{type:`badge`,label:e,...z(`tone`,L(r.tone,xr)),...z(`icon`,N(r.icon,64))}}case`hero`:{let e=N(r.title,M.maxString);return e===void 0?null:{type:`hero`,title:e,...z(`subtitle`,N(r.subtitle,M.maxString)),...z(`value`,N(r.value,128)),...z(`label`,N(r.label,M.maxString)),...z(`delta`,N(r.delta,64)),...z(`spark`,wi(r.spark)),...z(`tone`,L(r.tone,Rr))}}case`stat`:{let e=N(r.label,M.maxString),t=N(r.value,128);return e===void 0||t===void 0?null:{type:`stat`,label:e,value:t,...z(`delta`,N(r.delta,64)),...z(`spark`,wi(r.spark)),...z(`size`,r.size===`hero`?`hero`:void 0)}}case`progress`:{let e=F(r.value,0,100);return e===void 0?null:{type:`progress`,value:e,...z(`label`,N(r.label,M.maxString)),...z(`valueLabel`,N(r.valueLabel,64)),...z(`variant`,L(r.variant,Ir)),...z(`target`,F(r.target,0,100))}}case`divider`:return{type:`divider`};case`spacer`:return{type:`spacer`};case`avatar`:{let e=N(r.name,64);return e===void 0?null:{type:`avatar`,name:e,...z(`color`,P(r.color))}}case`list`:{let e=Oi(r.items,M.maxListItems,t,n+1);return e===void 0?null:{type:`list`,items:e,...z(`filter`,N(r.filter,64))}}case`table`:{let e=r.columns,i=r.rows===void 0?r.data:r.rows;if(Array.isArray(e)&&e.length>0&&typeof e[0]==`object`&&e[0]!==null&&(e=e.map(e=>Ni(e))),Array.isArray(i)&&i.length>0&&typeof i[0]==`object`&&i[0]!==null&&!Array.isArray(i[0])){let e=Array.isArray(r.columns)&&r.columns.length>0&&typeof r.columns[0]==`object`&&r.columns[0]!==null?r.columns.map(e=>Pi(e)).filter(e=>e!==void 0):Object.keys(i[0]);i=i.map(t=>e.map(e=>Fi(t[e])))}let a=Di(e,M.maxTableCols,128),o=ki(i,M.maxTableRows,M.maxTableCols);if(a===void 0||o===void 0)return null;let s=Array.isArray(r.types)?r.types:void 0,c=s===void 0?void 0:a.map((e,t)=>{let n=s[t];return typeof n==`string`&&zr.includes(n)?n:`text`}),l=Array.isArray(r.details)?r.details:void 0,u=l===void 0?void 0:o.map((e,r)=>{let i=X(l[r],t,n+1);return i.length===0?null:i});return{type:`table`,columns:a,rows:o,...z(`types`,c),...z(`total`,r.total===!0||void 0),...z(`export`,r.export===!0||void 0),...z(`filter`,N(r.filter,64)),...z(`filterColumn`,I(r.filterColumn,0,M.maxTableCols-1)),...z(`sortField`,N(r.sortField,64)),...z(`details`,u!==void 0&&u.some(e=>e!==null)?u:void 0)}}case`chart`:{let e=Ai(r.data,M.maxChartPoints),t=Array.isArray(r.series)?ji(r.series,M.maxPlotSeries,M.maxChartPoints):void 0;return e===void 0&&t===void 0?null:{type:`chart`,data:e??[],...z(`kind`,L(r.kind,wr)),...z(`series`,t),...z(`horizontal`,r.horizontal===!0||void 0),...z(`stacked`,r.stacked===!0||void 0),...z(`filter`,N(r.filter,64)),...z(`palette`,Ci(r.palette))}}case`tabs`:{let e=Mi(r.tabs,t,n);return e===void 0?null:{type:`tabs`,tabs:e}}case`plot`:{let e=Ii(r.series,M.maxPlotSeries);return e===void 0?null:{type:`plot`,series:e,...z(`xMin`,F(r.xMin,-1e6,1e6)),...z(`xMax`,F(r.xMax,-1e6,1e6)),...z(`yMin`,F(r.yMin,-1e9,1e9)),...z(`yMax`,F(r.yMax,-1e9,1e9)),...z(`title`,N(r.title,M.maxString))}}case`callout`:{let e=N(r.content,M.maxString);return e===void 0?null:{type:`callout`,content:e,...z(`tone`,L(r.tone,Cr)),...z(`title`,N(r.title,M.maxString))}}case`steps`:{let e=Li(r.steps);return e===void 0?null:{type:`steps`,steps:e,...z(`current`,I(r.current,0,e.length))}}case`keyvalue`:{let e=Ri(r.pairs,M.maxKeyValuePairs);return e===void 0?null:{type:`keyvalue`,pairs:e}}case`diff`:{let e=zi(r.diffs);return e===void 0?null:{type:`diff`,diffs:e}}case`json`:return`value`in r?{type:`json`,value:r.value}:null;case`code`:{let e=N(r.code,M.maxCode);return e===void 0?null:{type:`code`,code:e,...z(`lang`,N(r.lang,64))}}case`radio`:{let e=Di(r.options,M.maxOptions,M.maxString);return e===void 0?null:{type:`radio`,options:e,...z(`label`,N(r.label,M.maxString)),...z(`selected`,I(r.selected,0,e.length-1)),...z(`action`,N(r.action,200)),...z(`group`,N(r.group,200)),...z(`answer`,typeof r.answer==`number`&&Number.isFinite(r.answer)&&r.answer>=0&&r.answer<e.length?Math.trunc(r.answer):typeof r.answer==`string`?r.answer.slice(0,512):void 0),...z(`explanation`,N(r.explanation,M.maxString))}}case`submit`:{let e=N(r.label,M.maxString),t=N(r.action,200);return e===void 0?null:{type:`submit`,label:e,...z(`action`,t),...z(`resetAction`,N(r.resetAction,200)),...z(`groups`,Di(r.groups,M.maxOptions,200))}}case`switch`:{let e=N(r.label,M.maxString);return e===void 0?null:{type:`switch`,label:e,...z(`checked`,r.checked===!0||void 0),...z(`action`,N(r.action,200))}}case`slider`:{let e=F(r.min,-1e9,1e9)??0,t=F(r.max,-1e9,1e9)??100,n=Math.min(e,t),i=Math.max(e,t),a=F(r.step,1e-9,Math.max(i-n,1e-9)),o=F(r.value,n,i)??n;return{type:`slider`,min:n,max:i,...z(`step`,a),value:o,...z(`label`,N(r.label,M.maxString)),...z(`action`,N(r.action,200)),...z(`id`,N(r.id,200))}}case`textarea`:return{type:`textarea`,...z(`label`,N(r.label,M.maxString)),...z(`placeholder`,N(r.placeholder,M.maxString)),...z(`rows`,I(r.rows,1,30)),...z(`value`,N(r.value,M.maxString)),...z(`action`,N(r.action,200)),...z(`id`,N(r.id,200))};case`accordion`:{let e=Bi(r.items,t,n);return e===void 0?null:{type:`accordion`,items:e}}case`copy`:{let e=N(r.text,M.maxCode);return e===void 0?null:{type:`copy`,text:e,...z(`label`,N(r.label,128))}}case`mermaid`:{let e=N(r.code,M.maxMermaid);return e===void 0?null:{type:`mermaid`,code:e}}case`scene3d`:{let e=Vi(r.meshes);return e===void 0?null:{type:`scene3d`,meshes:e,...z(`title`,N(r.title,M.maxString)),...z(`ambient`,F(r.ambient,0,2)),...z(`background`,P(r.background))}}case`diagram`:return qi(r);case`timeline`:{let e=Ji(r.items,M.maxTimelineItems);return e===void 0?null:{type:`timeline`,items:e}}case`file-tree`:{let e=Yi(r.items,M.maxListItems);return e===void 0?null:{type:`file-tree`,items:e}}case`breadcrumb`:{let e=Di(r.items,M.maxBreadcrumbItems,M.maxString);return e===void 0?null:{type:`breadcrumb`,items:e}}case`quiz`:{let e=N(r.question,M.maxString),t=Zi(r.options,r.answer);return e===void 0||t===void 0?null:{type:`quiz`,question:e,options:t,...z(`explanation`,N(r.explanation,M.maxString)),...z(`id`,N(r.id,200)),...z(`action`,N(r.action,200))}}case`echart`:{let e=r.data===void 0?void 0:Ai(r.data,M.maxChartPoints),t=r.series!==void 0&&Array.isArray(r.series)?ji(r.series,M.maxPlotSeries,M.maxChartPoints):void 0,n=Array.isArray(r.links)?r.links.slice(0,M.maxChartPoints).flatMap(e=>{let t=R(e),n=t===void 0?void 0:N(t.from,64),r=t===void 0?void 0:N(t.to,64);return n===void 0||r===void 0?[]:[{from:n,to:r,...z(`value`,F(t.value,0,1e9))}]}):void 0,i=r.option===void 0?void 0:$i(r.option,0,{count:M.maxEChartOptionNodes}),a=i===void 0||typeof i!=`object`||!i||Array.isArray(i)?void 0:i;return a===void 0&&e===void 0&&t===void 0&&(n===void 0||n.length===0)?null:{type:`echart`,...z(`title`,N(r.title,M.maxString)),...z(`height`,I(r.height,100,800)),...z(`preset`,L(r.preset,Pr)),...z(`data`,e),...z(`series`,t),...z(`links`,n!==void 0&&n.length>0?n:void 0),...z(`palette`,Ci(r.palette)),...z(`option`,a)}}default:return e}}function Di(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;if(typeof i==`string`)r.push(i.slice(0,n));else if(typeof i==`object`&&i){let e=i,t=typeof e.label==`string`?e.label:typeof e.value==`string`?e.value:typeof e.title==`string`?e.title:JSON.stringify(i);r.push(t.slice(0,n))}}return r}function Oi(e,t,n,r){if(!Array.isArray(e))return;let i=[];for(let a of e){if(i.length>=t)break;if(typeof a==`string`){i.push(a.slice(0,M.maxString));continue}let e=R(a),o=e===void 0?void 0:N(e.title,M.maxString);if(o!==void 0){i.push({title:o,...z(`desc`,e===void 0?void 0:N(e.desc,M.maxString))});continue}if(e!==void 0&&typeof e.type==`string`){if(n.remaining<=0)break;--n.remaining;let t=Ti(e,n,r);t!==null&&i.push(t)}}return i}function ki(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;if(!Array.isArray(i))continue;let e=[];for(let t of i){if(e.length>=n)break;typeof t==`string`?e.push(t.slice(0,256)):typeof t==`number`&&Number.isFinite(t)&&e.push(t)}e.length>0&&r.push(e)}return r}function Ai(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=R(r),i=e===void 0?void 0:N(e.label,128),a=e===void 0?void 0:F(e.value,-0xe8d4a51000,0xe8d4a51000);i!==void 0&&a!==void 0&&n.push({label:i,value:a,...z(`color`,e===void 0?void 0:P(e.color))})}return n}function ji(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=R(i),a=e===void 0?void 0:N(e.label,128),o=e===void 0?void 0:Ai(e.data,n);a!==void 0&&o!==void 0&&r.push({label:a,data:o,...z(`color`,e===void 0?void 0:P(e.color))})}return r}function Mi(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=M.maxTabs)break;let e=R(i),a=e===void 0?void 0:N(e.label,128);if(a===void 0||e===void 0)continue;let o=e.items===void 0?e.content===void 0?void 0:Array.isArray(e.content)?e.content:[e.content]:e.items;r.push({label:a,items:X(o,t,n+1)})}return r}function Ni(e){let t=R(e);if(t===void 0)return String(e);for(let e of[`title`,`label`,`key`,`dataIndex`]){let n=t[e];if(typeof n==`string`&&n!==``)return n}return JSON.stringify(e)}function Pi(e){let t=R(e);if(t!==void 0)for(let e of[`key`,`dataIndex`,`title`,`label`]){let n=t[e];if(typeof n==`string`&&n!==``)return n}}function Fi(e){return typeof e==`string`||typeof e==`number`&&Number.isFinite(e)?e:e==null?``:JSON.stringify(e)}function Ii(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=R(r),i=e===void 0?void 0:N(e.expr,512);if(i===void 0||e===void 0)continue;let a=[];if(Array.isArray(e.params))for(let t of e.params){if(a.length>=M.maxPlotParams)break;let e=R(t),n=e===void 0?void 0:N(e.name,64),r=e===void 0?void 0:F(e.value,-1e9,1e9);n!==void 0&&r!==void 0&&a.push({name:n,value:r,...z(`min`,e===void 0?void 0:F(e.min,-1e9,1e9)),...z(`max`,e===void 0?void 0:F(e.max,-1e9,1e9)),...z(`step`,e===void 0?void 0:F(e.step,1e-9,1e9)),...z(`animateTo`,e===void 0?void 0:F(e.animateTo,-1e9,1e9)),...z(`durationMs`,e===void 0?void 0:F(e.durationMs,1,12e4)),...z(`loop`,e===void 0?void 0:e.loop===!0||void 0)})}n.push({expr:i,...z(`label`,N(e.label,128)),...z(`color`,P(e.color)),...z(`kind`,L(e.kind,Tr)),...z(`params`,a.length>0?a:void 0)})}return n}function Li(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=M.maxSteps)break;let e=R(n),r=e===void 0?void 0:N(e.title,256);r!==void 0&&t.push({title:r,...z(`desc`,e===void 0?void 0:N(e.desc,M.maxString))})}return t}function Ri(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=R(r),i=e===void 0?void 0:N(e.key,256),a=e===void 0?void 0:N(e.value,M.maxString);i!==void 0&&a!==void 0&&n.push({key:i,value:a})}return n}function zi(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=24)break;let e=R(n),r=e===void 0?void 0:N(e.path,1024),i=e===void 0?void 0:N(e.newText,2e4);if(r===void 0||i===void 0)continue;let a=e===void 0?void 0:e.oldText;t.push({path:r,newText:i,oldText:a===null||typeof a!=`string`?null:a.slice(0,2e4)})}return t}function Bi(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=M.maxAccordionItems)break;let e=R(i),a=e===void 0?void 0:N(e.title,256);a!==void 0&&e!==void 0&&r.push({title:a,items:X(e.items,t,n+1)})}return r}function Vi(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=M.maxMeshes)break;let e=R(n),r=e===void 0?void 0:L(e.shape,Dr);if(r===void 0)continue;let i=e===void 0?void 0:F(e.scale,-1e6,1e6)??Hi(e.scale),a=e===void 0?void 0:F(e.size,-1e6,1e6)??Hi(e.size);t.push({shape:r,...z(`color`,e===void 0?void 0:P(e.color)),...z(`position`,e===void 0?void 0:Hi(e.position)),...z(`rotation`,e===void 0?void 0:Hi(e.rotation)),...z(`scale`,i),...z(`size`,a)})}return t}function Hi(e){if(!Array.isArray(e)||e.length!==3)return;let[t,n,r]=e;if(!(typeof t!=`number`||!Number.isFinite(t)||typeof n!=`number`||!Number.isFinite(n)||typeof r!=`number`||!Number.isFinite(r)))return[Math.min(1e6,Math.max(-1e6,t)),Math.min(1e6,Math.max(-1e6,n)),Math.min(1e6,Math.max(-1e6,r))]}function Z(e,t,n){return Math.min(n,Math.max(t,Math.round(e/4)*4))}function Ui(e){if(!Array.isArray(e))return;let t=[],n=new Set;for(let r of e){if(t.length>=M.maxDiagramNodes)break;let e=R(r);if(e===void 0)continue;let i=N(e.id,128),a=N(e.label,M.maxString);if(i===void 0||a===void 0||n.has(i))continue;n.add(i);let o=L(e.type,Ar),s=e.x===void 0?void 0:Z(F(e.x,-1e6,1e6)??0,0,1e6),c=e.y===void 0?void 0:Z(F(e.y,-1e6,1e6)??0,0,1e6),l=e.w===void 0?void 0:Z(F(e.w,-1e6,1e6)??96,40,2e3),u=e.h===void 0?void 0:Z(F(e.h,-1e6,1e6)??48,24,1200);t.push({id:i,label:a,...z(`sub`,N(e.sub,256)),...z(`type`,o),...z(`x`,s),...z(`y`,c),...z(`w`,l),...z(`h`,u),...z(`tag`,N(e.tag,32))})}return t}function Wi(e){if(e===void 0)return[];if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=M.maxDiagramEdges)break;let e=R(n);if(e===void 0)continue;let r=N(e.from,128),i=N(e.to,128);r!==void 0&&i!==void 0&&t.push({from:r,to:i,...z(`label`,N(e.label,M.maxDiagramLabel)),...z(`kind`,L(e.kind,Mr)),...z(`route`,L(e.route,Nr))})}return t}function Gi(e){let t=R(e);if(t===void 0)return;let n={};for(let e of[`paper`,`paper-2`,`ink`,`muted`,`soft`,`rule`,`accent`,`accent-tint`,`link`]){let r=P(t[e]);r!==void 0&&(n[e]=r)}return Object.keys(n).length===0?void 0:n}function Ki(e){if(e===void 0)return[];if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=M.maxDiagramZones)break;let e=R(n);if(e===void 0)continue;let r=N(e.label,64);r!==void 0&&t.push({label:r,...z(`x`,e.x===void 0?void 0:Z(F(e.x,-1e6,1e6)??0,0,1e6)),...z(`y`,e.y===void 0?void 0:Z(F(e.y,-1e6,1e6)??0,0,1e6)),...z(`w`,e.w===void 0?void 0:Z(F(e.w,-1e6,1e6)??100,40,2e3)),...z(`h`,e.h===void 0?void 0:Z(F(e.h,-1e6,1e6)??100,40,1200))})}return t}function qi(e){let t=R(e);if(t===void 0)return null;let n=L(t.kind,kr);if(n===void 0)return null;let r=Ui(t.nodes);if(r===void 0)return null;let i=Wi(t.edges);if(i===void 0)return null;let a=Ki(t.zones);return a===void 0?null:{type:`diagram`,kind:n,nodes:r,edges:i,zones:a,...z(`variant`,L(t.variant,jr)),...z(`title`,N(t.title,256)),...z(`theme`,Gi(t.theme))}}function Ji(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=R(r),i=e===void 0?void 0:N(e.title,256);i!==void 0&&n.push({title:i,...z(`desc`,e===void 0?void 0:N(e.desc,M.maxString)),...z(`time`,e===void 0?void 0:N(e.time,128))})}return n}function Yi(e,t){return Xi(e,t,M.maxTreeDepth)}function Xi(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=R(i),a=e===void 0?void 0:N(e.name,256);if(a===void 0)continue;let o=e!==void 0&&n>0&&Array.isArray(e.children)?Xi(e.children,t,n-1):void 0;r.push({name:a,...z(`type`,e===void 0?void 0:L(e.type,Or)),...z(`children`,o)})}return r}function Zi(e,t){if(!Array.isArray(e))return;let n=[];for(let t of e){if(n.length>=M.maxQuizOptions)break;let e=R(t),r=typeof t==`string`?N(t,512):e===void 0?void 0:N(e.label,512);r!==void 0&&n.push({label:r,...z(`correct`,e===void 0?void 0:e.correct===!0||void 0),...z(`feedback`,e===void 0?void 0:N(e.feedback,M.maxString))})}if(n.length===0)return;if(n.some(e=>e.correct===!0))return n;let r=typeof t==`number`&&Number.isFinite(t)?Math.trunc(t):typeof t==`string`?n.findIndex(e=>e.label===t.slice(0,512)):-1;return r<0||r>=n.length?n:n.map((e,t)=>t===r?{...e,correct:!0}:e)}let Qi=/<(?:script|img|svg|iframe|video|audio|object|embed|source)\b|on[a-z]+\s*=|javascript:/i;function $i(e,t,n){if(n.count<=0||(--n.count,t>M.maxEChartOptionDepth))return;if(typeof e==`string`){let t=e.slice(0,M.maxString);return t.toLowerCase().includes(`url(`)||Qi.test(t)?void 0:t}if(typeof e==`number`&&Number.isFinite(e)||typeof e==`boolean`)return e;if(e===null)return null;if(Array.isArray(e)){let r=Math.min(e.length,M.maxEChartArrayLen),i=[];for(let a=0;a<r;a++){let r=$i(e[a],t+1,n);r!==void 0&&i.push(r)}return i.length>0?i:void 0}let r=R(e);if(r===void 0)return;let i={};for(let[e,a]of Object.entries(r)){let r=$i(a,t+1,n);r!==void 0&&(e===`tooltip`&&typeof r==`object`&&r&&!Array.isArray(r)&&(r.renderMode=`richText`),i[e]=r)}return Object.keys(i).length>0?i:void 0}function ea(e){let t=R(e);if(t===void 0)return null;if(!Array.isArray(t.items)){let t=_r(e);return t===null?null:ea(t)}let n={remaining:M.maxNodes};return{...z(`title`,N(t.title,M.maxString)),...z(`gap`,F(t.gap,0,96)),...z(`panel`,t.panel===!0||void 0),...z(`append`,t.append===!0||void 0),items:X(t.items,n,0)}}function ta(e){return ea(li(e).value)}function na(e,t=1/0){let n=0,r=e=>{if(Array.isArray(e))for(let i of e){if(n>=t)return;n+=1;let e=R(i);if(e!==void 0){if(e.type===`tabs`&&Array.isArray(e.tabs))for(let i of e.tabs){if(n>=t)return;let e=R(i);e!==void 0&&r(e.items)}else if(e.type===`accordion`&&Array.isArray(e.items))for(let i of e.items){if(n>=t)return;let e=R(i);e!==void 0&&r(e.items)}else if((e.type===`row`||e.type===`col`||e.type===`grid`||e.type===`card`)&&Array.isArray(e.items))r(e.items);else if(e.type!==`file-tree`&&e.type===`list`&&Array.isArray(e.items))for(let i of e.items){if(n>=t)return;let e=R(i);e!==void 0&&typeof e.type==`string`&&r([e])}}}},i=R(e);return r(i===void 0?[]:i.items),n}let ra=ii;function ia(e,t,n){let r=0,i=e=>{let t=R(e);return t!==void 0&&typeof t.type==`string`&&ra.has(t.type)};function a(e,n){if(Array.isArray(e)){for(let i=0;i<e.length;i++)if(o(e[i],`${n}[${i}]`),r>=t)return}}function o(e,c){if(r>=t||!i(e))return;let l=R(e);if(l!==void 0){if(r+=1,n(l,c),l.type===`tabs`&&Array.isArray(l.tabs))for(let e=0;e<l.tabs.length;e++)s(l.tabs[e],`${c}.tabs[${e}]`);else if(l.type===`accordion`&&Array.isArray(l.items))for(let e=0;e<l.items.length;e++)s(l.items[e],`${c}.items[${e}]`);else if((l.type===`row`||l.type===`col`||l.type===`grid`||l.type===`card`)&&Array.isArray(l.items))a(l.items,`${c}.items`);else if(l.type===`list`&&Array.isArray(l.items))for(let e=0;e<l.items.length;e++)o(l.items[e],`${c}.items[${e}]`)}}function s(e,t){let n=R(e);if(n===void 0)return;let r=n.items===void 0?n.content:n.items;Array.isArray(r)?a(r,`${t}.items`):o(r,`${t}.items`)}let c=R(e);return c===void 0||(!Array.isArray(c.items)&&i(e)?o(e,`spec`):a(c.items,`items`)),r}function aa(e,t=1/0){return ia(e,t,()=>{})}function oa(e,t=1/0){return aa(e,t)}function sa(e){let t=[],n=R(e);if(n===void 0)return{ok:!1,errors:[`spec root must be an object`]};if(!Array.isArray(n.items)){let t=_r(e);return t===null?{ok:!1,errors:[`spec.items must be an array`]}:sa(t)}yi(n,`spec`,ni,t,[`items`]);let r=0,i=!1,a=(e,n,o)=>{if(!i){if(!Array.isArray(e)){t.push(`${o} must be an array`);return}for(let s=0;s<e.length;s++){if(i||r>=M.maxNodes){i||=(t.push(`spec exceeds ${M.maxNodes} nodes; tail elided`),!0);return}r+=1;let c=`${o}[${s}]`;ha(e[s],n,c,t,a)}}};return a(n.items,0,`items`),{ok:t.length===0,errors:t}}function ca(e){let t=li(e),n=ea(t.value),r=sa(t.value),i=aa(t.value,M.maxNodes+1),a=n===null?0:oa(n),o=n===null?0:na(n),s=r.errors.filter(e=>!e.includes(`: unknown type `));return i>a&&s.push(`repair dropped ${i-a} declared native node(s): declared ${i}, rendered ${a}`),{value:t.value,normalized:t.value,repaired:n,spec:n,errors:s,warnings:[...t.warnings,...gi(t.value)],declaredCount:i,renderedCount:o,declaredNativeCount:i,renderedNativeCount:a,renderedTotalCount:o}}function la(e){return e.errors.length>0&&e.errors.every(e=>e.startsWith(`spec exceeds `)||e.startsWith(`repair dropped `))&&e.renderedNativeCount===M.maxNodes&&e.declaredNativeCount===M.maxNodes+1}function ua(e){return e.spec!==null&&(e.errors.length===0||la(e))}function da(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=R(e[r]),a=`${t}[${r}]`;if(i===void 0){n.push(`${a} must be an object`);continue}typeof i.label!=`string`&&n.push(`${a}.label must be a string`),(typeof i.value!=`number`||!Number.isFinite(i.value))&&n.push(`${a}.value must be a finite number`),i.color!==void 0&&typeof i.color!=`string`&&n.push(`${a}.color must be a string`)}}function fa(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=R(e[r]),a=`${t}[${r}]`;if(i===void 0){n.push(`${a} must be an object`);continue}typeof i.label!=`string`&&n.push(`${a}.label must be a string`),i.color!==void 0&&typeof i.color!=`string`&&n.push(`${a}.color must be a string`),Array.isArray(i.data)||n.push(`${a}.data must be an array`),da(i.data,`${a}.data`,n)}}function pa(e,t,n){!Array.isArray(e.data)&&!Array.isArray(e.series)&&n.push(`${t}: type 'chart' requires data or series (array)`),e.variant!==void 0&&n.push(`${t}.variant is unsupported; use kind`),e.data!==void 0&&!Array.isArray(e.data)&&n.push(`${t}.data must be an array`),e.series!==void 0&&!Array.isArray(e.series)&&n.push(`${t}.series must be an array`),e.kind!==void 0&&(typeof e.kind!=`string`||!wr.includes(e.kind))&&n.push(`${t}.kind must be bars, line, or donut`);let r=e.kind===void 0?`bars`:e.kind,i=Array.isArray(e.series)?e.series:void 0;if(Array.isArray(e.data)&&e.data.length===0&&(i===void 0||i.length===0)&&n.push(`${t}.data must not be empty`),i!==void 0){i.length===0&&n.push(`${t}.series must not be empty`),r===`donut`&&n.push(`${t}.series is only supported for bars and line`);for(let e=0;e<i.length;e++){let r=R(i[e]);r!==void 0&&Array.isArray(r.data)&&r.data.length===0&&n.push(`${t}.series[${e}].data must not be empty`)}}r===`donut`&&e.data===void 0&&n.push(`${t}.data is required for donut`),r===`line`&&e.data===void 0&&(i===void 0||i.length===0)&&n.push(`${t}.data is required for line (or provide series)`),da(e.data,`${t}.data`,n),fa(e.series,`${t}.series`,n)}function ma(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=e[r];if(R(i)===void 0){if(!Array.isArray(i)){n.push(`${t}[${r}] must be an array or object`);continue}for(let e=0;e<i.length;e++){let a=i[e];typeof a!=`string`&&(typeof a!=`number`||!Number.isFinite(a))&&n.push(`${t}[${r}][${e}] must be a string or finite number`)}}}}function ha(e,t,n,r,i){if(t>M.maxDepth){r.push(`${n}: exceeds max depth ${M.maxDepth}`);return}let a=R(e);if(a===void 0){r.push(`${n}: must be an object`);return}let o=a.type;if(typeof o!=`string`){r.push(`${n}: missing string 'type'`);return}let s=e=>{a[e]!==void 0&&typeof a[e]!=`string`&&r.push(`${n}: '${e}' must be a string`)},c=e=>{a[e]!==void 0&&(typeof a[e]!=`number`||!Number.isFinite(a[e]))&&r.push(`${n}: '${e}' must be a finite number`)};switch(o){case`text`:typeof a.content!=`string`&&typeof a.text!=`string`&&r.push(`${n}: type 'text' requires content or text (string)`),s(`content`),s(`text`);break;case`row`:case`col`:case`card`:case`grid`:Array.isArray(a.items)||r.push(`${n}: type '${o}' requires items (array)`),i(a.items,t+1,`${n}.items`),o===`grid`&&c(`cols`);break;case`button`:case`checkbox`:case`link`:case`switch`:typeof a.label!=`string`&&r.push(`${n}: type '${o}' requires label (string)`),s(`label`);break;case`image`:case`audio`:case`video`:typeof a.src!=`string`&&r.push(`${n}: type '${o}' requires src (string)`),s(`src`),s(`alt`),o===`video`&&s(`poster`);break;case`slider`:s(`label`),c(`min`),c(`max`),c(`step`),c(`value`);break;case`input`:case`textarea`:s(`label`),s(`placeholder`),s(`value`);break;case`select`:case`radio`:Array.isArray(a.options)||r.push(`${n}: type '${o}' requires options (array)`);break;case`submit`:typeof a.label!=`string`&&r.push(`${n}: type 'submit' requires label (string)`);break;case`badge`:typeof a.label!=`string`&&typeof a.text!=`string`&&typeof a.value!=`string`&&r.push(`${n}: type 'badge' requires label, text, or value (string)`),s(`label`),s(`text`),s(`value`);break;case`hero`:typeof a.title!=`string`&&r.push(`${n}: type 'hero' requires title (string)`),s(`subtitle`);break;case`stat`:typeof a.label!=`string`&&r.push(`${n}: type 'stat' requires label (string)`),typeof a.value!=`string`&&r.push(`${n}: type 'stat' requires value (string)`),s(`delta`);break;case`progress`:(typeof a.value!=`number`||!Number.isFinite(a.value)||a.value<0||a.value>100)&&r.push(`${n}: type 'progress' requires value (number 0..100)`),c(`value`);break;case`avatar`:typeof a.name!=`string`&&r.push(`${n}: type 'avatar' requires name (string)`);break;case`list`:if(Array.isArray(a.items)||r.push(`${n}: type 'list' requires items (array)`),Array.isArray(a.items))for(let e=0;e<a.items.length;e++){let o=R(a.items[e]);o!==void 0&&typeof o.type==`string`&&ha(o,t+1,`${n}.items[${e}]`,r,i)}break;case`table`:Array.isArray(a.columns)||r.push(`${n}: type 'table' requires columns (array)`),Array.isArray(a.rows)||r.push(`${n}: type 'table' requires rows (array)`),a.types!==void 0&&!Array.isArray(a.types)&&r.push(`${n}.types must be an array of column cell types`),a.details!==void 0&&!Array.isArray(a.details)&&r.push(`${n}.details must be an array aligned with rows`),ma(a.rows,`${n}.rows`,r);break;case`chart`:pa(a,n,r);break;case`tabs`:if(Array.isArray(a.tabs)||r.push(`${n}: type 'tabs' requires tabs (array)`),Array.isArray(a.tabs))for(let e=0;e<a.tabs.length;e++){let o=R(a.tabs[e]);if(o===void 0){r.push(`${n}.tabs[${e}] must be an object`);continue}typeof o.label!=`string`&&r.push(`${n}.tabs[${e}].label must be a string`),i(o.items,t+1,`${n}.tabs[${e}].items`)}break;case`plot`:Array.isArray(a.series)||r.push(`${n}: type 'plot' requires series (array)`);break;case`callout`:typeof a.content!=`string`&&r.push(`${n}: type 'callout' requires content (string)`);break;case`steps`:Array.isArray(a.steps)||r.push(`${n}: type 'steps' requires steps (array)`);break;case`keyvalue`:Array.isArray(a.pairs)||r.push(`${n}: type 'keyvalue' requires pairs (array)`);break;case`diff`:Array.isArray(a.diffs)||r.push(`${n}: type 'diff' requires diffs (array)`);break;case`json`:`value`in a||r.push(`${n}: type 'json' requires value`);break;case`code`:typeof a.code!=`string`&&r.push(`${n}: type 'code' requires code (string)`);break;case`accordion`:if(Array.isArray(a.items)||r.push(`${n}: type 'accordion' requires items (array)`),Array.isArray(a.items))for(let e=0;e<a.items.length;e++){let o=R(a.items[e]);if(o===void 0){r.push(`${n}.items[${e}] must be an object`);continue}typeof o.title!=`string`&&r.push(`${n}.items[${e}].title must be a string`),i(o.items,t+1,`${n}.items[${e}].items`)}break;case`copy`:typeof a.text!=`string`&&r.push(`${n}: type 'copy' requires text (string)`);break;case`mermaid`:typeof a.code!=`string`&&r.push(`${n}: type 'mermaid' requires code (string)`);break;case`scene3d`:Array.isArray(a.meshes)||r.push(`${n}: type 'scene3d' requires meshes (array)`);break;case`timeline`:Array.isArray(a.items)||r.push(`${n}: type 'timeline' requires items (array)`);break;case`file-tree`:Array.isArray(a.items)||r.push(`${n}: type 'file-tree' requires items (array)`);break;case`breadcrumb`:Array.isArray(a.items)||r.push(`${n}: type 'breadcrumb' requires items (array)`);break;case`quiz`:typeof a.question!=`string`&&r.push(`${n}: type 'quiz' requires question (string)`),Array.isArray(a.options)||r.push(`${n}: type 'quiz' requires options (array)`);break;case`diagram`:typeof a.kind!=`string`&&r.push(`${n}: type 'diagram' requires kind (string)`),Array.isArray(a.nodes)||r.push(`${n}: type 'diagram' requires nodes (array)`),a.edges!==void 0&&!Array.isArray(a.edges)&&r.push(`${n}: type 'diagram' requires edges (array) when present`);break;case`echart`:a.option===void 0&&a.data===void 0&&a.series===void 0&&(!Array.isArray(a.links)||a.links.length===0)&&r.push(`${n}: type 'echart' requires option, data, series, or links`),c(`height`);break;default:r.push(`${n}: unknown type '${o}' (custom renderer?)`)}let l=ri[o];l!==void 0&&Si(a,n,l,r)}function ga(e){let t=[],n=[],r=e=>{n.length>=32&&n.shift(),n.push(e)},i=!1,a=!1,o=0;for(;o<e.length;o++){let n=e[o];if(i){a?a=!1:n===`\\`?a=!0:n===`"`&&(i=!1);continue}if(n===`"`){i=!0;continue}if(n===`{`||n===`[`){t.push(n);continue}if(n===`}`||n===`]`){if(t.pop()!==(n===`}`?`{`:`[`))break;n===`}`&&t.length===2&&t[0]===`{`&&t[1]===`[`&&r({end:o+1,closingSuffix:`]}`}),t.length===0&&r({end:o+1,closingSuffix:``});continue}}n.sort((e,t)=>t.end-e.end);let s=[];for(let e of n)(s.length===0||s[s.length-1].end!==e.end)&&s.push(e);return{candidates:s.slice(0,32),scannedChars:o}}function _a(e,t){try{let n=JSON.parse(e);return vr(n)?n:t?_r(n):null}catch{return null}}function va(e){let t=e.trim();if(t===``)return null;let n=_a(t,!0);if(n!==null)return n;let{candidates:r}=ga(t);for(let e of r){let n=_a(t.slice(0,e.end)+e.closingSuffix,!1);if(n!==null)return n}return null}let Q={maxNodes:200,maxAppends:200},ya=new Map,ba=new Set;function xa(){return{ops:new Map,seen:new Map,overflow:null,local:null,localBarrier:-1,replayBarrier:-1,maxSeenSeq:-1,snapshot:null}}let Sa=`dsh.genui.panel`;function Ca(){try{let e=localStorage.getItem(Sa);if(e===null)return{order:[],sessions:{}};let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.sessions!=`object`||t.sessions===null?{order:[],sessions:{}}:{order:t.order.filter(e=>typeof e==`string`),sessions:t.sessions}}catch{return{order:[],sessions:{}}}}function wa(e,t){try{let n=Ca(),r=n.order.filter(t=>t!==e);r.unshift(e);let i={...n.sessions,[e]:t};for(;r.length>50;){let e=r.pop();e!==void 0&&delete i[e]}localStorage.setItem(Sa,JSON.stringify({order:r,sessions:i}))}catch{}}function Ta(e){let t=ya.get(e);if(t!==void 0)return t;let n=xa();try{let t=Ca().sessions[e];t!==void 0&&(n={ops:new Map,seen:new Map,overflow:null,local:t.local??null,localBarrier:t.localBarrier??-1,replayBarrier:t.maxSeenSeq??-1,maxSeenSeq:t.maxSeenSeq??-1,snapshot:t.snapshot??null})}catch{}return ya.set(e,n),n}function Ea(e,t){for(let n=0;n<3;n++){let r=e[n]-t[n];if(r!==0)return r}return 0}function Da(e,t){if(t!==null&&(t.order[0]<=e.localBarrier||t.order[0]<=e.replayBarrier||e.seen.has(t.sourceId)||e.overflow!==null&&e.overflow.sourceId===t.sourceId||t.mode===`append`&&e.overflow!==null&&Ea(t.order,e.overflow.order)>0))return null;let n=[...e.ops.values()].filter(t=>t.order[0]>e.localBarrier&&t.order[0]>e.replayBarrier);t!==null&&n.push(t),n.sort((e,t)=>Ea(e.order,t.order));let r=0;for(let e=0;e<n.length;e++){let t=n[e];t.mode===`replace`&&na(t.spec,Q.maxNodes+1)<=Q.maxNodes&&(r=e)}let i=e.local,a=null,o=0,s=[],c=e.maxSeenSeq;for(let e=r;e<n.length;e++){let t=n[e];if(t.order[0]>c&&(c=t.order[0]),t.mode===`replace`){if(na(t.spec,Q.maxNodes+1)>Q.maxNodes){(a===null||Ea(t.order,a.order)<0)&&(a=t);continue}a=null,i=t.spec,s.length=0,o=0,s.push(t);continue}let r=za(i,t.spec);if(o>=Q.maxAppends||na(r,Q.maxNodes+1)>Q.maxNodes){(a===null||Ea(t.order,a.order)<0)&&(a=t);continue}i=r,o+=1,s.push(t)}return t!==null&&s.length===e.ops.size&&s.every(t=>e.ops.get(t.sourceId)?.mode===t.mode)&&(a===null&&e.overflow===null||a!==null&&e.overflow!==null&&a.sourceId===e.overflow.sourceId)?null:{snapshot:i,kept:s,overflow:a,maxSeenSeq:c}}function Oa(e,t,n){e.snapshot=t.snapshot,e.overflow=t.overflow,e.maxSeenSeq=t.maxSeenSeq,e.ops=new Map(t.kept.map(e=>[e.sourceId,e]));for(let n of t.kept)e.seen.set(n.sourceId,n.order);t.overflow!==null&&e.seen.set(t.overflow.sourceId,t.overflow.order),wa(n,{snapshot:e.snapshot,local:e.local,localBarrier:e.localBarrier,maxSeenSeq:e.maxSeenSeq})}function ka(e,t){let n=Ta(e),r=Da(n,t);if(r===null)return n.seen.has(t.sourceId)||n.overflow?.sourceId===t.sourceId?`idempotent`:(n.overflow!==null&&t.mode===`append`&&Ea(t.order,n.overflow.order)>0||ja(e,t,n),`blocked`);let i=r.overflow!==null&&r.overflow.sourceId===t.sourceId?`overflow`:`accepted`,a=n.snapshot!==r.snapshot;if(Oa(n,r,e),a)for(let e of ba)e();return i}let Aa=new Set;function ja(e,t,n){let r=`${e}\u0000${t.sourceId}`;Aa.has(r)||(Aa.add(r),console.warn(`[genui] 面板操作被重放屏障拒绝(source ${t.sourceId},order[0]=${t.order[0]} ≤ replayBarrier ${n.replayBarrier} / localBarrier ${n.localBarrier})。历史消息重放被拒是预期行为;若是刚发送的新消息,说明消息序号推导异常,请报告。`))}function Ma(e,t){let n=Ta(e),r=n.maxSeenSeq;if(n.local!==t||n.localBarrier!==r){n.local=t,n.localBarrier=r,Oa(n,Da(n,null),e);for(let e of ba)e()}}let Na=new Set;function Pa(e,t){let n=`${e}\u0000${t}`;Na.has(n)||(Na.add(n),console.warn(`[genui] 面板已到节点/操作上限(${Q.maxNodes} 节点、${Q.maxAppends} 条追加),本次 append 被拒绝;请让模型发送 replace 更新面板。`))}function Fa(e){let t=ya.delete(e),n=Ba.delete(e),r=`${e}\u0000`;for(let e of Na)e.startsWith(r)&&Na.delete(e);for(let e of Aa)e.startsWith(r)&&Aa.delete(e);if(!(!t&&!n)){for(let e of ba)e();for(let e of Va)e()}}function Ia(e){return Ta(e).snapshot}function La(e){return ba.add(e),()=>{ba.delete(e)}}function Ra(e){if(e.items.length!==1)return null;let t=e.items[0];return t?.type!==`tabs`||!Array.isArray(t.tabs)?null:t.tabs}function za(e,t){if(e===null||e.items.length===0)return t;let n=e.title??t.title,r={...e,...n===void 0?{}:{title:n}},i=Ra(e),a=Ra(t);if(i!==null&&a!==null){let e=new Map(i.map(e=>[e.label,{label:e.label,items:[...e.items]}]));for(let t of a){let n=e.get(t.label);n===void 0?e.set(t.label,{label:t.label,items:[...t.items]}):n.items.push(...t.items)}return{...r,items:[{type:`tabs`,tabs:[...e.values()]}]}}return{...r,items:[...e.items,...t.items]}}let Ba=new Map,Va=new Set;function Ha(e){Ba.set(e,(Ba.get(e)??0)+1);for(let e of Va)e()}function Ua(e){return Ba.get(e)??0}function Wa(e){return Va.add(e),()=>{Va.delete(e)}}function Ga(e){try{return JSON.parse(e),!0}catch{return!1}}function Ka(e){try{return JSON.parse(e),null}catch(e){let t=e instanceof Error?e.message:String(e),n=t.match(/position (\d+)/i);return`${n===null?``:`(字符 ${n[1]} 附近)`}${t.slice(0,140)}`}}function qa(e){try{return JSON.parse(e),null}catch{}let t=``,n=!1,r=!1,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r){t+=o,r=!1;continue}if(n&&o===`\\`){t+=o,r=!0;continue}if(o===`"`){if(!n){n=!0,t+=o;continue}let r=a+1;for(;r<e.length&&(e[r]===` `||e[r]===` `||e[r]===`
|
|
1
|
+
window.__ModuleLoader__.load({id:`@changfenhuang/dsh-genui`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},u=(e,t)=>{let n={};for(var r in e)i(n,r,{get:e[r],enumerable:!0});return t||i(n,Symbol.toStringTag,{value:`Module`}),n},d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var s=o(t),l=0,u=s.length,d;l<u;l++)d=s[l],!c.call(e,d)&&d!==n&&i(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=a(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:r(s(e)),d(t||!e||!e.__esModule||!c.call(e,`default`)?i(n,`default`,{value:e,enumerable:!0}):n,e));let p=e("@deepseek-ai/dsh-client-ui-primitives");p=f(p,1);let m=e("react"),h=e("react-dom/client"),g=e("react/jsx-runtime"),_=(0,m.createContext)(void 0),v=p.GenuiActionContext??_;function y(){return(0,m.useContext)(v)}let b=`@changfenhuang/dsh-genui/GenuiBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(b)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=b,e.textContent=`body[data-ds-dark-theme] .V1MMBW_block,body[data-ds-dark-theme] .V1MMBW_panel{--dsl-g-surface:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block,transparent))));--dsl-g-shadow-card:0 1px 2px #0000003d, 0 8px 24px #0000002e}.V1MMBW_block,.V1MMBW_panel{--dsl-g-radius-surface:12px;--dsl-g-radius-control:8px;--dsl-g-radius-sm:6px;--dsl-g-radius-pill:999px;--dsl-g-font-hero:34px;--dsl-g-font-display:28px;--dsl-g-font-h1:24px;--dsl-g-font-h2:19px;--dsl-g-font-h3:16px;--dsl-g-font-body:14.5px;--dsl-g-font-title:13.5px;--dsl-g-font-meta:12.5px;--dsl-g-font-data:12px;--dsl-g-gap-lg:16px;--dsl-g-gap-md:12px;--dsl-g-gap-sm:8px;--dsl-g-gap-xs:4px;--dsl-g-border:var(--dsw-alias-border-l1,var(--dsw-alias-border-l2,#ffffff1f));--dsl-g-border-strong:var(--dsw-alias-border-l2,#ffffff1f);--dsl-g-accent:var(--dsw-alias-state-business-primary,#4f8ef7);--dsl-g-accent-soft:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);--dsl-g-hover:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, transparent);--dsl-g-zebra:color-mix(in srgb, var(--dsw-alias-label-primary) 2.5%, transparent);--dsl-g-tint:8%;--dsl-g-tint-strong:14%;--dsl-g-font-mono:var(--ds-font-family-code,ui-monospace, "SF Mono", monospace);--dsl-g-surface:var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block,#fff)));--dsl-g-border-surface:color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent);--dsl-g-shadow-card:0 1px 3px #0000001a, 0 8px 24px #0000000f}.V1MMBW_block{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;margin:8px 0}.V1MMBW_block *,.V1MMBW_block :before,.V1MMBW_block :after,.V1MMBW_panel *,.V1MMBW_panel :before,.V1MMBW_panel :after{box-sizing:border-box}.V1MMBW_banner{letter-spacing:-.02em;color:var(--dsw-alias-label-primary);border-bottom:1px solid var(--dsl-g-border);margin-bottom:18px;padding-bottom:14px;font-size:22px;font-weight:800}.V1MMBW_col{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_row{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_row.V1MMBW_wrap{flex-wrap:wrap}.V1MMBW_grid{gap:var(--dsl-g-gap-md);display:grid}.V1MMBW_gridSpan{flex-direction:column;min-width:0;display:flex}.V1MMBW_gridSpan>*{flex:1}@media (width<=560px){.V1MMBW_grid{grid-template-columns:1fr!important}.V1MMBW_row{flex-wrap:wrap}}.V1MMBW_spacer{flex:1}.V1MMBW_divider{background:var(--dsw-alias-markdown-hr,var(--dsl-g-border));height:1px;margin:var(--dsl-g-gap-xs) 0;border:none}.V1MMBW_card{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);padding:var(--dsl-g-gap-lg);gap:var(--dsl-g-gap-md);min-width:0;box-shadow:var(--dsl-g-shadow-card);flex-direction:column;display:flex}.V1MMBW_card>:last-child{flex:auto;min-height:0}.V1MMBW_card>.V1MMBW_chart,.V1MMBW_card>.V1MMBW_lineChart,.V1MMBW_card>.V1MMBW_donut,.V1MMBW_card>.V1MMBW_hbars,.V1MMBW_card>.V1MMBW_col{justify-content:center}.V1MMBW_cardTitle{font-size:var(--dsl-g-font-h3);letter-spacing:-.01em;text-transform:none;color:var(--dsw-alias-label-secondary);font-weight:650}.V1MMBW_text{color:var(--dsw-alias-label-primary)}.V1MMBW_text.V1MMBW_h1{font-size:var(--dsl-g-font-h1);letter-spacing:-.02em;font-weight:800;line-height:1.25}.V1MMBW_text.V1MMBW_h2{font-size:var(--dsl-g-font-h2);letter-spacing:-.015em;font-weight:700;line-height:1.3}.V1MMBW_text.V1MMBW_h3{font-size:var(--dsl-g-font-h3);font-weight:650;line-height:1.45}.V1MMBW_text.V1MMBW_body{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);text-wrap:pretty;max-width:68ch;line-height:1.7}.V1MMBW_text.V1MMBW_muted{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);line-height:1.65}.V1MMBW_text.V1MMBW_caption{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.6}.V1MMBW_text.V1MMBW_center{text-align:center}.V1MMBW_button{border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:var(--dsl-g-radius-control);padding:8px var(--dsl-g-gap-lg);font-size:var(--dsl-g-font-title);cursor:pointer;text-align:center;align-self:flex-start;font-family:inherit;font-weight:600;line-height:1.4;transition:border-color .15s,filter .15s,background .15s,transform .1s}.V1MMBW_button:hover:not(:disabled){border-color:var(--dsl-g-accent);filter:brightness(1.06)}.V1MMBW_button.V1MMBW_primary:hover:not(:disabled){filter:brightness(1.08)}.V1MMBW_button:active:not(:disabled){filter:brightness(.97);transform:translateY(1px)}.V1MMBW_button:disabled{cursor:not-allowed;opacity:.45;filter:none;box-shadow:none;pointer-events:none}.V1MMBW_button.V1MMBW_primary{background:var(--dsl-g-accent);color:#fff;border:none;box-shadow:inset 0 1px #ffffff24}.V1MMBW_button.V1MMBW_danger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent);color:var(--dsw-alias-state-error-primary,#ffb3b3)}.V1MMBW_button.V1MMBW_success{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent);color:var(--dsw-alias-state-success-secondary,#9fe8c5)}.V1MMBW_button.V1MMBW_ghost{background:0 0}.V1MMBW_button.V1MMBW_full{width:100%}.V1MMBW_button.V1MMBW_small{font-size:var(--dsl-g-font-meta);border-radius:var(--dsl-g-radius-control);padding:4px 12px}.V1MMBW_field{gap:var(--dsl-g-gap-xs);flex-direction:column;display:flex}.V1MMBW_field>span{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_input,.V1MMBW_select{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-control);color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-title);outline:none;width:100%;padding:8px 12px;font-family:inherit}.V1MMBW_input:focus,.V1MMBW_select:focus{border-color:var(--dsl-g-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_input::placeholder{color:var(--dsw-alias-label-caption,#5b6378)}.V1MMBW_checkbox{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;display:flex}.V1MMBW_checkbox input{accent-color:var(--dsl-g-accent);width:15px;height:15px}.V1MMBW_checkbox input:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_link{color:var(--dsl-g-accent);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.V1MMBW_link:hover{text-decoration:underline}.V1MMBW_linkText{color:var(--dsl-g-accent);font-size:var(--dsl-g-font-title);font-family:inherit;text-decoration:none}.V1MMBW_media{padding:var(--dsl-g-gap-md);gap:var(--dsl-g-gap-sm);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);flex-direction:column;margin:0;display:flex}.V1MMBW_mediaLabel{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_mediaPlayer{border-radius:var(--dsl-g-radius-control);width:100%;min-width:0;display:block}img.V1MMBW_mediaPlayer{aspect-ratio:16/9;object-fit:cover;background:var(--dsl-g-surface)}.V1MMBW_videoPlayer{object-fit:contain;background:#000;max-height:min(70vh,720px)}.V1MMBW_mediaError{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#f25a5a)}.V1MMBW_hero{border:1px solid var(--dsl-g-border-surface);background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsl-g-accent) 22%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 7%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent));box-shadow:var(--dsl-g-shadow-card);border-radius:14px;flex-direction:column;gap:6px;padding:22px 24px 24px;display:flex;position:relative;overflow:hidden}.V1MMBW_heroSuccess{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 20%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroWarning{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 20%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroDanger{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 18%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroLabel{font-size:var(--dsl-g-font-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--dsw-alias-label-secondary);font-weight:700}.V1MMBW_heroTop{align-items:baseline;gap:var(--dsl-g-gap-md);flex-wrap:wrap;display:flex}.V1MMBW_heroValue{font-family:var(--dsl-g-font-mono);letter-spacing:-.028em;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:52px;font-weight:750;line-height:1;display:inline-flex}.V1MMBW_heroUnit{letter-spacing:0;color:var(--dsw-alias-label-secondary);font-size:.44em;font-weight:650}.V1MMBW_heroSpark{align-self:center;width:168px;margin-left:auto}.V1MMBW_heroTitle{letter-spacing:-.01em;color:var(--dsw-alias-label-primary);font-size:20px;font-weight:700;line-height:1.3}.V1MMBW_heroSubtitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);text-wrap:pretty;line-height:1.6}.V1MMBW_inlineCode{font-family:var(--dsl-g-font-mono);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);white-space:nowrap;border-radius:5px;padding:1px 5px;font-size:.92em}.V1MMBW_inlineStrong{color:var(--dsw-alias-label-primary);font-weight:680}.V1MMBW_inlineMark{background:color-mix(in srgb, var(--dsl-g-accent) 20%, transparent);color:inherit;border-radius:4px;padding:0 3px}.V1MMBW_inlineLink{color:var(--dsl-g-accent);text-underline-offset:2px;text-decoration:underline}.V1MMBW_inlineLink:hover{text-decoration-thickness:2px}.V1MMBW_badge{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-meta);letter-spacing:.01em;border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-tertiary) var(--dsl-g-tint), transparent);width:fit-content;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsl-g-border);padding:1px 10px;font-weight:500;line-height:1.5;display:inline-flex}.V1MMBW_badge.V1MMBW_success{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-success-secondary,#7fe3b4);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent)}.V1MMBW_badge.V1MMBW_warn{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-warn-secondary,#f7cf7d);border-color:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 30%, transparent)}.V1MMBW_badge.V1MMBW_danger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-error-primary,#ff9d9d);border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent)}.V1MMBW_badge.V1MMBW_accent{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-business-primary,#9cc3ff);border-color:color-mix(in srgb, var(--dsl-g-accent) 30%, transparent)}.V1MMBW_stat{border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);min-width:0;box-shadow:var(--dsl-g-shadow-card);flex-direction:column;gap:4px;padding:14px 16px 15px;display:flex;overflow:hidden}.V1MMBW_statHero{padding:18px 20px 20px}.V1MMBW_statHero .V1MMBW_statValue{letter-spacing:-.035em;font-size:44px;line-height:1.02}.V1MMBW_statHero .V1MMBW_statLabel{font-size:13px}.V1MMBW_grid>.V1MMBW_stat,.V1MMBW_row>.V1MMBW_stat{border-left:1px solid var(--dsl-g-border)}.V1MMBW_statLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);letter-spacing:.05em;text-transform:uppercase;line-height:1.4}.V1MMBW_statValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-hero);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;align-items:baseline;gap:3px;font-weight:700;line-height:1.05;display:flex}.V1MMBW_statUnit{letter-spacing:0;color:var(--dsw-alias-label-secondary);font-size:.5em;font-weight:600}.V1MMBW_statHero .V1MMBW_statUnit{font-size:.46em}.V1MMBW_statDelta{font-size:var(--dsl-g-font-meta);border-radius:var(--dsl-g-radius-pill);width:fit-content;color:var(--dsw-alias-label-secondary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 5%, transparent);padding:0 6px;font-weight:600}.V1MMBW_statDelta.V1MMBW_up{color:var(--dsw-alias-state-success-secondary,#1f9d63);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#22c55e) 12%, transparent)}.V1MMBW_statSpark{width:calc(100% + 32px);max-width:none;height:30px;margin:6px -16px -15px;display:block;overflow:visible}.V1MMBW_statHero .V1MMBW_statSpark{width:calc(100% + 40px);margin:8px -20px -20px}.V1MMBW_statDelta.V1MMBW_down{color:var(--dsw-alias-state-error-primary,#d94848);background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#f25a5a) 12%, transparent)}.V1MMBW_progress{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_progressRow{justify-content:space-between;gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);display:flex}.V1MMBW_progressRow span:last-child{font-family:var(--dsl-g-font-mono);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_track{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);height:8px;box-shadow:inset 0 0 0 1px var(--dsl-g-border);overflow:hidden}.V1MMBW_fill{border-radius:var(--dsl-g-radius-pill);background:linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 85%, white), var(--dsl-g-accent));height:100%;transition:width .5s}.V1MMBW_list{flex-direction:column;display:flex}.V1MMBW_li{padding:9px var(--dsl-g-gap-xs) 9px 16px;flex-direction:column;gap:3px;display:flex;position:relative}.V1MMBW_li:before{content:"";background:var(--dsl-g-accent);opacity:.6;border-radius:50%;width:5px;height:5px;position:absolute;top:15px;left:2px}.V1MMBW_li+.V1MMBW_li{border-top:1px solid var(--dsl-g-border)}.V1MMBW_li:last-child{border-bottom:none}.V1MMBW_liTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.5}.V1MMBW_liDesc{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.55}.V1MMBW_tableWrap{border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border-surface);overscroll-behavior-x:contain;min-width:0;max-width:100%;overflow-x:auto}.V1MMBW_table{border-collapse:collapse;width:100%;font-size:var(--dsl-g-font-title)}.V1MMBW_table th{text-align:left;padding:9px var(--dsl-g-gap-md);color:var(--dsw-alias-label-secondary);font-weight:700;font-size:var(--dsl-g-font-meta);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--dsl-g-border-strong);background:var(--dsl-g-zebra);white-space:nowrap}.V1MMBW_table td{padding:10px var(--dsl-g-gap-md);border-bottom:1px solid var(--dsl-g-border);color:var(--dsw-alias-label-primary);white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle;line-height:1.5}.V1MMBW_table td:first-child{font-weight:600}.V1MMBW_table th:first-child{color:var(--dsw-alias-label-primary)}.V1MMBW_table tbody tr:nth-child(2n){background:var(--dsl-g-zebra)}.V1MMBW_table tbody tr:hover{background:var(--dsl-g-hover)}.V1MMBW_table tr:last-child td{border-bottom:none}.V1MMBW_table th.V1MMBW_thNum,.V1MMBW_table td.V1MMBW_tdNum{text-align:right}.V1MMBW_tdDelta{font-weight:600}.V1MMBW_tdDeltaUp{color:var(--dsw-alias-state-success-secondary,#1f9d63)}.V1MMBW_tdDeltaDown{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_thSort{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;transition:color .12s}.V1MMBW_table th.V1MMBW_thNum .V1MMBW_thSort{text-align:right;width:100%}.V1MMBW_thSort:hover,.V1MMBW_table th[aria-sort]:not([aria-sort=none]) .V1MMBW_thSort{color:var(--dsw-alias-label-primary)}.V1MMBW_thSortMark{color:var(--dsl-g-accent)}.V1MMBW_thSort:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px;border-radius:var(--dsl-g-radius-control)}.V1MMBW_chart{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex;position:relative}.V1MMBW_chartBody{align-items:stretch;gap:6px;display:flex}.V1MMBW_chartYAxis{flex-shrink:0;width:42px;position:relative}.V1MMBW_chartYTick{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);white-space:nowrap;position:absolute;right:0;transform:translateY(50%)}.V1MMBW_chartPlot{align-items:flex-end;gap:var(--dsl-g-gap-sm);flex:1;min-width:0;height:160px;display:flex;position:relative}.V1MMBW_baseline{background:var(--dsl-g-border-strong);pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}.V1MMBW_gridline{background:var(--dsw-alias-border-l1,#ffffff0f);pointer-events:none;height:1px;position:absolute;left:0;right:0}.V1MMBW_chartLabels{gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_chartLabels>span{flex:1;min-width:0}.V1MMBW_chartLegend{gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);flex-wrap:wrap;line-height:1.5;display:flex}.V1MMBW_legendItem{align-items:center;gap:6px;display:inline-flex}.V1MMBW_legendSwatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.V1MMBW_lineArea{fill:var(--dsl-g-accent);opacity:.1}.V1MMBW_chartTip{border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border-strong);background:var(--dsw-alias-bg-layer-3,var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,#1c1c1e)));color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-meta);white-space:nowrap;pointer-events:none;z-index:6;flex-direction:column;gap:2px;padding:6px 10px;line-height:1.4;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 8px 22px #0000004d}.V1MMBW_chartTipRow{justify-content:space-between;gap:14px;display:flex}.V1MMBW_chartTipValue{font-family:var(--dsl-g-font-mono);font-variant-numeric:tabular-nums;font-weight:600}.V1MMBW_stackValue{text-align:center;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:#fff;text-shadow:0 1px 2px #0006;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.5;display:block}.V1MMBW_barCol{flex:1;min-width:0;height:100%;position:relative}.V1MMBW_barValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);text-align:center;font-weight:600;line-height:1.2;position:absolute;left:0;right:0}.V1MMBW_stack{border-radius:5px 5px 0 0;flex-direction:column-reverse;gap:2px;transition:height .6s;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.V1MMBW_stackSeg{width:100%;transition:height .6s,filter .15s}.V1MMBW_stackSeg:hover{filter:brightness(1.15)}.V1MMBW_barFill{background:linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 78%, white), var(--dsl-g-accent));border-radius:5px 5px 0 0;min-height:2px;transition:height .6s,filter .15s;position:absolute;left:0;right:0}.V1MMBW_barFill:hover{filter:brightness(1.18)}.V1MMBW_barLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;line-height:1.5;overflow:hidden}.V1MMBW_tabs{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_tabBar{border-bottom:1px solid var(--dsl-g-border);gap:2px;display:flex}.V1MMBW_tab{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-title);border-radius:var(--dsl-g-radius-sm) var(--dsl-g-radius-sm) 0 0;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-family:inherit;font-weight:600;line-height:1.5;transition:color .15s,background .15s,border-bottom-color .15s}.V1MMBW_tab:hover{color:var(--dsw-alias-label-primary);background:var(--dsl-g-hover)}.V1MMBW_tabActive{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsl-g-accent);font-weight:650}.V1MMBW_tab:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:-2px}.V1MMBW_avatar{width:32px;height:32px;font-size:var(--dsl-g-font-title);color:#fff;border:1px solid #ffffff24;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff29}.V1MMBW_callout{border-radius:var(--dsl-g-radius-surface);border:1px solid var(--dsl-g-border-surface);font-size:var(--dsl-g-font-title);background:var(--dsl-g-surface);box-shadow:var(--dsl-g-shadow-card);flex-direction:column;gap:3px;padding:12px 15px;line-height:1.65;display:flex}.V1MMBW_calloutInfo{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent)}.V1MMBW_calloutSuccess{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent)}.V1MMBW_calloutWarning{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent)}.V1MMBW_calloutError{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent)}.V1MMBW_calloutInfo .V1MMBW_calloutTitle{color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_calloutSuccess .V1MMBW_calloutTitle{color:var(--dsw-alias-state-success-primary,#2f9e6b)}.V1MMBW_calloutWarning .V1MMBW_calloutTitle{color:var(--dsw-alias-state-warn-primary,#b8860b)}.V1MMBW_calloutError .V1MMBW_calloutTitle{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_calloutTitle{font-weight:700;font-size:var(--dsl-g-font-h3);letter-spacing:-.005em;color:var(--dsw-alias-label-primary);align-items:center;gap:6px;display:flex}.V1MMBW_calloutBody{color:var(--dsw-alias-label-secondary)}.V1MMBW_steps{gap:var(--dsl-g-gap-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.V1MMBW_step{gap:var(--dsl-g-gap-md);align-items:flex-start;display:flex;position:relative}.V1MMBW_step:not(:last-child):before{content:"";top:27px;left:11px;bottom:calc(-1 * var(--dsl-g-gap-md));background:var(--dsl-g-border);width:1px;position:absolute}.V1MMBW_stepDone:not(:last-child):before{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 45%, transparent)}.V1MMBW_stepTitle{transition:color .15s}.V1MMBW_stepActive .V1MMBW_stepTitle{color:var(--dsl-g-accent)}.V1MMBW_stepMarker{width:24px;height:24px;font-size:var(--dsl-g-font-meta);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);color:var(--dsw-alias-label-secondary);z-index:1;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.V1MMBW_stepDone .V1MMBW_stepMarker{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 18%, transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 55%, transparent);color:var(--dsw-alias-state-success-primary,#2f9e6b);font-size:13px}.V1MMBW_stepActive .V1MMBW_stepMarker{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent);border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}.V1MMBW_stepContent{flex-direction:column;gap:2px;padding-top:2px;display:flex}.V1MMBW_stepTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.45}.V1MMBW_stepDesc{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.55}.V1MMBW_keyvalue{flex-direction:column;margin:0;display:flex}.V1MMBW_kvRow{gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-title);align-items:baseline;padding:7px 0;display:flex}.V1MMBW_kvRow+.V1MMBW_kvRow{border-top:1px solid var(--dsl-g-border)}.V1MMBW_kvRow:last-child{border-bottom:none}.V1MMBW_kvKey{width:120px;color:var(--dsw-alias-label-secondary);flex-shrink:0;font-weight:600}.V1MMBW_kvValue{color:var(--dsw-alias-label-primary);word-break:break-word;font-variant-numeric:tabular-nums;margin:0;font-weight:600;line-height:1.5}.V1MMBW_jsonScalar{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary)}.V1MMBW_lineChart{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex;position:relative}.V1MMBW_linePath{fill:none;stroke:var(--dsl-g-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.V1MMBW_lineDot{fill:var(--dsl-g-accent);transition:filter .15s}.V1MMBW_lineDot:hover{filter:brightness(1.3)}.V1MMBW_lineGrid{stroke:var(--dsw-alias-border-l1,#ffffff12);stroke-width:1px}.V1MMBW_lineGridAxis{stroke:var(--dsl-g-border-strong);stroke-width:1px}.V1MMBW_lineTick{fill:var(--dsw-alias-label-tertiary);font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data)}.V1MMBW_lineLabel{fill:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta)}.V1MMBW_lineLabels{justify-content:space-between;display:flex}.V1MMBW_groupedBars{gap:var(--dsl-g-gap-xs);align-items:flex-end;width:100%;height:100%;display:flex}.V1MMBW_groupedBar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;min-width:0;height:100%;display:flex}.V1MMBW_groupValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;max-width:100%;line-height:1.2;overflow:hidden}.V1MMBW_groupedFill{background:var(--dsl-g-accent);border-radius:4px 4px 2px 2px;flex:none;width:100%;min-height:3px;transition:filter .15s}.V1MMBW_groupedFill:hover{filter:brightness(1.18)}.V1MMBW_donut{align-items:center;gap:var(--dsl-g-gap-lg);display:flex;position:relative}.V1MMBW_donutTrack{stroke:var(--dsw-alias-border-l1,#ffffff14)}.V1MMBW_donutSeg{transition:filter .15s}.V1MMBW_donutSeg:hover{filter:brightness(1.18)}.V1MMBW_donutTotal{fill:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-h2);font-weight:700}.V1MMBW_donutTotalLabel{fill:var(--dsw-alias-label-tertiary);font-size:10px}.V1MMBW_donutLegend{justify-content:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);flex-direction:column;line-height:1.5;display:flex}.V1MMBW_donutPct{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums}.V1MMBW_ring{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_ringTrack{stroke:color-mix(in srgb, var(--dsw-alias-label-primary) 8%, transparent)}.V1MMBW_ringFill{stroke:var(--dsl-g-accent);transition:stroke-dasharray .6s}.V1MMBW_ringValue{fill:var(--dsw-alias-label-primary);font-family:var(--dsl-g-font-mono);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.V1MMBW_ringMeta{flex-direction:column;gap:2px;min-width:0;display:flex}.V1MMBW_ringLabel{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650}.V1MMBW_ringSub{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary)}.V1MMBW_track{position:relative;overflow:visible}.V1MMBW_targetMark{background:var(--dsw-alias-label-primary);opacity:.6;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.V1MMBW_filterRow td{padding:7px var(--dsl-g-gap-md);border-top:1px solid var(--dsl-g-border);color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);font-variant-numeric:tabular-nums;background:0 0}.V1MMBW_filterHint{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);padding-top:6px;display:block}.V1MMBW_tableTools{justify-content:flex-end;gap:6px;padding:6px 8px 4px;display:flex}.V1MMBW_tableTool{border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-pill);color:var(--dsw-alias-label-secondary);font-family:inherit;font-size:var(--dsl-g-font-meta);cursor:pointer;background:0 0;padding:2px 9px;transition:color .15s,border-color .15s,background .15s}.V1MMBW_tableTool:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsl-g-border-strong);background:var(--dsl-g-hover)}.V1MMBW_tableTool:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px}.V1MMBW_card[style*=--dsl-card-accent]>.V1MMBW_cardTitle{color:color-mix(in srgb, var(--dsl-card-accent) 38%, var(--dsw-alias-label-primary))}.V1MMBW_detailCell{padding-left:var(--dsl-g-gap-sm)}.V1MMBW_detailToggle{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.V1MMBW_detailToggle:hover{color:var(--dsl-g-accent)}.V1MMBW_detailToggle:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_detailChevron{color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-size:10px;transition:transform .18s}.V1MMBW_detailChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_table tbody tr.V1MMBW_detailRow>td{padding:0 var(--dsl-g-gap-md) 12px;background:color-mix(in srgb, var(--dsw-alias-label-primary) 3%, transparent);border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_table tbody tr.V1MMBW_detailRow:hover>td{background:color-mix(in srgb, var(--dsw-alias-label-primary) 3%, transparent)}.V1MMBW_detailBody{gap:var(--dsl-g-gap-sm);border-radius:var(--dsl-g-radius-control);background:var(--dsw-alias-bg-layer-1,transparent);box-shadow:inset 2px 0 0 color-mix(in srgb, var(--dsl-g-accent) 45%, transparent);flex-direction:column;padding:12px 14px;display:flex}.V1MMBW_groupRow td{padding:22px var(--dsl-g-gap-md) 6px;box-shadow:inset 0 1px 0 var(--dsl-g-border);background:0 0;border-top:none;border-bottom:none}.V1MMBW_table tbody tr.V1MMBW_groupRow:first-child td{box-shadow:none;padding-top:10px}.V1MMBW_table tbody tr.V1MMBW_groupRow:hover,.V1MMBW_table tbody tr.V1MMBW_groupRow:nth-child(2n){background:0 0}.V1MMBW_groupToggle{font:inherit;font-size:var(--dsl-g-font-title);letter-spacing:.02em;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-weight:650;display:inline-flex}.V1MMBW_groupToggle:hover{color:var(--dsl-g-accent)}.V1MMBW_groupToggle:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_groupChevron{color:var(--dsw-alias-label-tertiary);width:10px;font-size:11px}.V1MMBW_groupCount{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);font-variant-numeric:tabular-nums;padding:0 7px;font-weight:600}.V1MMBW_table tbody tr.V1MMBW_groupChild td:first-child{padding-left:calc(var(--dsl-g-gap-md) + 22px);position:relative}.V1MMBW_table tbody tr.V1MMBW_groupChild td:first-child:before{content:"";left:calc(var(--dsl-g-gap-md) + 8px);background:var(--dsl-g-border);width:1px;position:absolute;top:0;bottom:0}.V1MMBW_table tbody tr.V1MMBW_groupChild:last-child td:first-child:before{bottom:50%}.V1MMBW_table tfoot td{border-top:1px solid var(--dsl-g-border-strong);color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, transparent);border-bottom:none;font-weight:700}.V1MMBW_cardInfo{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent)}.V1MMBW_cardSuccess{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent)}.V1MMBW_cardWarning{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent)}.V1MMBW_cardDanger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent)}.V1MMBW_cardInfo>.V1MMBW_cardTitle{color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_cardSuccess>.V1MMBW_cardTitle{color:var(--dsw-alias-state-success-primary,#2f9e6b)}.V1MMBW_cardWarning>.V1MMBW_cardTitle{color:var(--dsw-alias-state-warn-primary,#b8860b)}.V1MMBW_cardDanger>.V1MMBW_cardTitle{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_hbars{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_hbarRow{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_hbarLabel{text-align:right;width:96px;font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;overflow:hidden}.V1MMBW_hbarTracks{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.V1MMBW_hbarSeg{height:100%}.V1MMBW_hbarTrack{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);height:14px;display:flex;overflow:hidden}.V1MMBW_hbarFill{border-radius:var(--dsl-g-radius-sm);background:var(--dsl-g-accent);min-width:2px;height:100%;transition:width .6s}.V1MMBW_hbarValue{text-align:right;width:64px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;flex-shrink:0}.V1MMBW_cellBadge{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-meta);padding:1px 8px;font-weight:600;display:inline-block}.V1MMBW_cellSpark{width:88px;height:22px;display:block;overflow:visible}.V1MMBW_cellRing{align-items:center;gap:6px;display:inline-flex}.V1MMBW_cellRingText{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums}.V1MMBW_cellIndex{min-width:18px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;display:inline-block}.V1MMBW_cellBar{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);min-width:104px;height:18px;display:block;position:relative;overflow:hidden}.V1MMBW_cellBarFill{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsl-g-accent) 72%, transparent);position:absolute;inset:0 auto 0 0}.V1MMBW_cellBarText{text-align:right;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);padding:0 6px;line-height:18px;display:block;position:relative}.V1MMBW_fieldGroup{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_fieldLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_radio{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;line-height:1.5;display:flex}.V1MMBW_radio input{accent-color:var(--dsl-g-accent)}.V1MMBW_radio input:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:50%}.V1MMBW_submitRow{align-items:center;gap:var(--dsl-g-gap-md);margin-top:2px;display:flex}.V1MMBW_submit{align-self:flex-start}.V1MMBW_submitHint{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_btnSent{margin-left:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-state-success-primary,#3ecf8e);font-weight:600}.V1MMBW_gradeWrap{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_gradeScore{align-items:baseline;gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_gradeScoreValue{font-size:var(--dsl-g-font-display);color:var(--dsw-alias-label-primary);font-weight:700;line-height:1.2}.V1MMBW_gradeScoreLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_gradeList{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_gradeItem{font-size:var(--dsl-g-font-title);padding:var(--dsl-g-gap-sm) 12px;border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 10px;line-height:1.5;display:grid}.V1MMBW_gradeItemOk{border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent)}.V1MMBW_gradeItemNo{border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent)}.V1MMBW_gradeQ{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);grid-column:1/-1;margin-bottom:8px;font-weight:600}.V1MMBW_gradeTag{font-weight:700}.V1MMBW_gradeItemOk .V1MMBW_gradeTag{color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_gradeItemNo .V1MMBW_gradeTag{color:var(--dsw-alias-state-error-primary,#ff6b6b)}.V1MMBW_gradeAns{overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary)}.V1MMBW_gradeRight{color:var(--dsw-alias-state-error-primary,#ffb3b3)}.V1MMBW_gradeExp{overflow-wrap:anywhere;font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary);grid-column:1/-1;line-height:1.5}.V1MMBW_switchRow{justify-content:space-between;align-items:center;gap:var(--dsl-g-gap-md);cursor:pointer;display:flex}.V1MMBW_switchRow:focus-within .V1MMBW_switch{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_switchLabel{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);line-height:1.5}.V1MMBW_switch{border-radius:var(--dsl-g-radius-pill);border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-base,#17171a);width:38px;height:22px;transition:background .2s;position:relative}.V1MMBW_switchOn{background:var(--dsl-g-accent);border-color:#0000}.V1MMBW_switchKnob{background:#fff;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.V1MMBW_switchOn .V1MMBW_switchKnob{left:19px}.V1MMBW_sliderRow{align-items:center;gap:var(--dsl-g-gap-md);width:100%;display:flex}.V1MMBW_sliderInput{min-width:0;accent-color:var(--dsl-g-accent);flex:1}.V1MMBW_sliderInput:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_sliderValue{text-align:right;min-width:44px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary)}.V1MMBW_textarea{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-control);width:100%;color:var(--dsw-alias-label-primary);padding:var(--dsl-g-gap-sm) 12px;font-size:var(--dsl-g-font-title);resize:vertical;outline:none;font-family:inherit;line-height:1.5}.V1MMBW_textarea:focus{border-color:var(--dsl-g-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_accordion{border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);box-shadow:var(--dsl-g-shadow-card);flex-direction:column;display:flex;overflow:hidden}.V1MMBW_accItem{border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_accItem:last-child{border-bottom:none}.V1MMBW_accHead{justify-content:space-between;align-items:center;gap:var(--dsl-g-gap-sm);width:100%;color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-body);cursor:pointer;text-align:left;background:0 0;border:none;padding:12px 15px;font-family:inherit;font-weight:600;line-height:1.5;transition:background .15s,color .15s;display:flex}.V1MMBW_accHead:hover{background:var(--dsl-g-hover)}.V1MMBW_accHead[aria-expanded=true]{border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_accChevron{color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-size:11px;transition:transform .2s}.V1MMBW_accChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_accBody{gap:var(--dsl-g-gap-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 2%, transparent);flex-direction:column;padding:12px 15px 14px;display:flex}.V1MMBW_copyChip{border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;width:fit-content;padding:6px 14px;font-family:inherit;font-weight:600;transition:all .15s}.V1MMBW_copyChip:hover{border-color:var(--dsl-g-accent)}.V1MMBW_copyChip:active{transform:translateY(1px)}.V1MMBW_copyChipDone{border-color:var(--dsw-alias-state-success-primary,#3ecf8e);color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_mermaid{padding:var(--dsl-g-gap-xs) 0;overflow-x:auto}.V1MMBW_mermaid svg{max-width:100%;height:auto}.V1MMBW_mermaidFallback{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_mermaidFallback pre{padding:var(--dsl-g-gap-sm) 10px;background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-control);font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-meta);margin:0;overflow-x:auto}.V1MMBW_mermaidErr{color:var(--dsw-alias-state-error-primary,#ff6b6b);font-size:var(--dsl-g-font-meta)}.V1MMBW_mermaidHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_scene3dWrap{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_echartWrap{gap:var(--dsl-g-gap-sm);padding:var(--dsl-g-gap-md);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_echartTitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_echartCanvas{width:100%;min-height:0}.V1MMBW_echartHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_echartFallback{gap:var(--dsl-g-gap-sm);padding:var(--dsl-g-gap-md);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_echartErr{color:var(--dsw-alias-state-error-primary,#ff6b6b);font-size:var(--dsl-g-font-meta)}.V1MMBW_scene3dTitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:700}.V1MMBW_scene3dCanvas{border-radius:var(--dsl-g-radius-surface);background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);height:240px;overflow:hidden}.V1MMBW_scene3dCanvas canvas{display:block}.V1MMBW_scene3dHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_timeline{flex-direction:column;display:flex}.V1MMBW_tlItem{gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_tlRail{flex-direction:column;flex-shrink:0;align-items:center;width:10px;display:flex}.V1MMBW_tlDot{background:var(--dsl-g-accent);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) 16%, transparent);border-radius:50%;flex-shrink:0;margin-top:5px;transition:transform .15s}.V1MMBW_tlItem:hover .V1MMBW_tlDot{transform:scale(1.15)}.V1MMBW_tlLine{background:var(--dsl-g-border);flex:1;width:1px;margin:4px 0 0}.V1MMBW_tlBody{flex:1;min-width:0;padding-bottom:18px}.V1MMBW_tlItem:last-child .V1MMBW_tlBody{padding-bottom:0}.V1MMBW_tlHead{align-items:baseline;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_tlTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.45}.V1MMBW_tlTime{white-space:nowrap;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;margin-left:auto}.V1MMBW_tlDesc{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);margin-top:3px;line-height:1.55}.V1MMBW_fileTree{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-meta);overscroll-behavior-x:contain;flex-direction:column;min-width:0;max-width:100%;display:flex;overflow-x:auto}.V1MMBW_ftChildren{display:block}.V1MMBW_ftRow{min-height:26px;padding:2px var(--dsl-g-gap-xs);border-radius:var(--dsl-g-radius-sm);align-items:center;gap:6px;transition:background .12s;display:flex;position:relative}.V1MMBW_ftRow:hover{background:color-mix(in srgb, var(--dsw-alias-label-primary) 5%, transparent)}.V1MMBW_ftGuide{background:var(--dsl-g-border);width:1px;position:absolute;top:0;bottom:0}.V1MMBW_ftChevron{width:10px;color:var(--dsw-alias-label-tertiary);transform-origin:50%;flex-shrink:0;font-size:10px;line-height:1;transition:transform .15s}.V1MMBW_ftChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_ftGlyph{color:var(--dsw-alias-label-tertiary);flex-shrink:0;display:inline-flex}.V1MMBW_ftGlyphDir{color:var(--dsl-g-accent)}.V1MMBW_ftName{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-title);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.V1MMBW_ftDir{color:var(--dsw-alias-label-primary);font-weight:650}.V1MMBW_ftNameBtn{align-items:center;gap:var(--dsl-g-gap-sm);min-width:0;max-width:100%;font-family:inherit;font-size:var(--dsl-g-font-title);cursor:default;text-align:left;background:0 0;border:none;padding:0;display:inline-flex}button.V1MMBW_ftNameBtn[aria-expanded]{cursor:pointer}.V1MMBW_ftNameBtn:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px;border-radius:var(--dsl-g-radius-control)}.V1MMBW_breadcrumb{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-title);flex-wrap:wrap;display:flex}.V1MMBW_bcItem{align-items:center;gap:var(--dsl-g-gap-xs);display:inline-flex}.V1MMBW_bcText{color:var(--dsw-alias-label-secondary);cursor:pointer}.V1MMBW_bcText:hover{color:var(--dsl-g-accent)}.V1MMBW_bcCurrent{color:var(--dsw-alias-label-primary);cursor:default;font-weight:600}.V1MMBW_bcSep{color:var(--dsw-alias-label-caption,var(--dsw-alias-label-tertiary))}.V1MMBW_skeleton{gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-lg);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);flex-direction:column;display:flex}.V1MMBW_skeletonTitle{border-radius:var(--dsl-g-radius-pill);width:34%;height:12px;display:block}.V1MMBW_skeletonBars{gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_skeletonBars>span{border-radius:var(--dsl-g-radius-control);height:44px;display:block}.V1MMBW_skeletonBlock{border-radius:var(--dsl-g-radius-control);height:76px;display:block}.V1MMBW_skeletonTitle,.V1MMBW_skeletonBars>span,.V1MMBW_skeletonBlock{background:linear-gradient(90deg, color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent) 0%, color-mix(in srgb, var(--dsw-alias-label-primary) 13%, transparent) 50%, color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite V1MMBW_dsl-skeleton}@keyframes V1MMBW_dsl-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.V1MMBW_skeletonTitle,.V1MMBW_skeletonBars>span,.V1MMBW_skeletonBlock{animation:none}}@keyframes V1MMBW_genuiReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes V1MMBW_genuiPopIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.V1MMBW_reveal{animation:.45s cubic-bezier(.22,1,.36,1) backwards V1MMBW_genuiReveal}.V1MMBW_btnSent{animation:.2s backwards V1MMBW_genuiPopIn}@media (prefers-reduced-motion:reduce){.V1MMBW_reveal,.V1MMBW_btnSent{animation:none}.V1MMBW_fill,.V1MMBW_barFill,.V1MMBW_switch,.V1MMBW_switchKnob{transition:none}}.V1MMBW_tableWrap,.V1MMBW_fileTree,.V1MMBW_mermaid,.V1MMBW_panelBody{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2,#ffffff38) transparent}.V1MMBW_tableWrap::-webkit-scrollbar,.V1MMBW_fileTree::-webkit-scrollbar,.V1MMBW_mermaid::-webkit-scrollbar,.V1MMBW_panelBody::-webkit-scrollbar{width:8px;height:8px}.V1MMBW_tableWrap::-webkit-scrollbar-thumb,.V1MMBW_fileTree::-webkit-scrollbar-thumb,.V1MMBW_mermaid::-webkit-scrollbar-thumb,.V1MMBW_panelBody::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2,#ffffff38);border-radius:4px}.V1MMBW_tableWrap::-webkit-scrollbar-track,.V1MMBW_fileTree::-webkit-scrollbar-track,.V1MMBW_mermaid::-webkit-scrollbar-track,.V1MMBW_panelBody::-webkit-scrollbar-track{background:0 0}.V1MMBW_visuallyHidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.V1MMBW_quiz{gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-lg);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_quizQuestion{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:600;line-height:1.6}.V1MMBW_quizOptions{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_quizOpt{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;padding:10px 14px;font-family:inherit;line-height:1.5;transition:border-color .15s,background .15s;display:flex}.V1MMBW_quizOpt:hover:not(:disabled){border-color:var(--dsl-g-accent);background:var(--dsl-g-accent-soft)}.V1MMBW_quizOpt:focus-visible,.V1MMBW_button:focus-visible,.V1MMBW_tab:focus-visible,.V1MMBW_accHead:focus-visible,.V1MMBW_copyChip:focus-visible,.V1MMBW_link:focus-visible,.V1MMBW_quizRetry:focus-visible,.V1MMBW_resetBtn:focus-visible,.V1MMBW_playBtn:focus-visible,.V1MMBW_bcText:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px}.V1MMBW_quizOpt:disabled{cursor:default;opacity:.85}.V1MMBW_quizOptCorrect{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 40%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);padding:10px 14px;font-family:inherit;font-weight:600;line-height:1.5;display:flex}.V1MMBW_quizOptWrong{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#ff6b6b);padding:10px 14px;font-family:inherit;font-weight:600;line-height:1.5;display:flex}.V1MMBW_quizOptReveal{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border:1px dashed color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 40%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);padding:10px 14px;font-family:inherit;line-height:1.5;display:flex}.V1MMBW_quizMarker{text-align:center;width:14px;color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-weight:700;display:inline-block}.V1MMBW_quizOptCorrect .V1MMBW_quizMarker{color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_quizOptWrong .V1MMBW_quizMarker{color:var(--dsw-alias-state-error-primary,#ff6b6b)}.V1MMBW_quizResult{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_quizCorrectMsg{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);font-weight:600}.V1MMBW_quizWrongMsg{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#ff6b6b);font-weight:600}.V1MMBW_quizFeedback{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);margin-top:3px;font-weight:400;line-height:1.5}.V1MMBW_quizExplanation{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary);padding:var(--dsl-g-gap-sm) 10px;border-top:1px solid var(--dsl-g-border);line-height:1.6}.V1MMBW_quizRetry{border:1px solid var(--dsl-g-border);width:fit-content;color:var(--dsw-alias-label-secondary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit}.V1MMBW_quizRetry:hover{border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}.V1MMBW_tool{margin:4px 0}.V1MMBW_toolFallback{align-items:center;gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-sm) 12px;border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));font-size:var(--dsl-g-font-title);display:flex}.V1MMBW_toolFallbackTitle{color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_toolFallbackMeta{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.V1MMBW_panel{width:calc(100% - var(--dsh-composer-side-clearance,16px) * 2 - var(--dsh-composer-dock-inset,8px) * 4);max-width:calc(var(--dsh-composer-card-max-width,780px) - var(--dsh-composer-dock-inset,8px) * 4);border:1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent);background:var(--dsw-alias-bg-layer-1,#ffffff0a);border-radius:12px;margin:10px auto 2px;overflow:hidden}.V1MMBW_panelHeader{border-bottom:1px solid var(--dsw-alias-border-l1,#7f7f7f40);align-items:center;display:flex}.V1MMBW_panelToggle{min-width:0;color:inherit;font:inherit;font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:10px;padding:9px 14px;display:flex}.V1MMBW_panelToggle:hover{background:#ffffff0a}.V1MMBW_panelClose{width:26px;height:26px;color:inherit;cursor:pointer;opacity:.65;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-right:8px;padding:0;font-size:13px;line-height:1;display:flex}.V1MMBW_panelClose:hover{opacity:1;background:#ffffff14}.V1MMBW_panelClose:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary,#4f8ef7);outline-offset:1px;opacity:1}.V1MMBW_panelTpl{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);height:26px;color:var(--dsw-alias-label-secondary,#fff9);cursor:pointer;opacity:.85;background:0 0;border-radius:8px;flex:none;align-items:center;margin-right:4px;padding:0 10px;font-size:12px;line-height:1.5;display:flex}.V1MMBW_panelTpl:hover{opacity:1;background:#ffffff14}.V1MMBW_panelTplActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_panelOnboard .V1MMBW_panelHeader{cursor:default}.V1MMBW_panelOnboardText{min-width:0;color:var(--dsw-alias-label-secondary,#fff9);flex:1;padding:0 8px;font-size:12px;line-height:1.5}.V1MMBW_panelFlash{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-state-success-primary,#6ccb5f);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#6ccb5f) 8%, transparent);padding:6px 12px;font-size:12px;line-height:1.5}.V1MMBW_panelHint{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 8%, transparent);padding:6px 14px;font-size:12px;line-height:1.5}.V1MMBW_achToasts{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.V1MMBW_achToast{border:1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-2,#000000d9);align-items:flex-start;gap:10px;width:300px;padding:10px 12px;display:flex;box-shadow:0 8px 24px #00000040}.V1MMBW_achToastBadge{flex:none;font-size:18px;line-height:1.2}.V1MMBW_achToastBody{min-width:0}.V1MMBW_achToastName{color:var(--dsw-alias-state-business-primary,#4f8ef7);font-size:13px;font-weight:600}.V1MMBW_achToastDesc{color:var(--dsw-alias-label-secondary,#fff9);margin-top:2px;font-size:12px;line-height:1.5}.V1MMBW_panelBadge{padding:0 var(--dsl-g-gap-sm);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) var(--dsl-g-tint-strong), transparent);color:var(--dsw-alias-state-business-primary,#7ba8ff);letter-spacing:.04em;border-radius:6px;flex:none;font-size:11px;font-weight:600;line-height:1.6}.V1MMBW_panelTitle{color:var(--dsw-alias-label-primary,#e6e6e6);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.V1MMBW_panelChevron{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;margin-left:auto;display:grid}.V1MMBW_panelBody{height:360px;padding:0 16px var(--dsl-g-gap-lg);overflow-y:auto}.V1MMBW_panelResizeHandle{cursor:ns-resize;touch-action:none;background:0 0;border-radius:3px;height:6px;transition:background .15s}.V1MMBW_panelResizeHandle:hover,.V1MMBW_panelResizeHandleActive{background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent)}.V1MMBW_inlineMath{display:inline}.V1MMBW_inlineMath [class~=katex-display]{max-width:100%;overflow:auto hidden}`,document.head.appendChild(e)}var x={accBody:`V1MMBW_accBody`,accChevron:`V1MMBW_accChevron`,accHead:`V1MMBW_accHead`,accItem:`V1MMBW_accItem`,accent:`V1MMBW_accent`,accordion:`V1MMBW_accordion`,achToast:`V1MMBW_achToast`,achToastBadge:`V1MMBW_achToastBadge`,achToastBody:`V1MMBW_achToastBody`,achToastDesc:`V1MMBW_achToastDesc`,achToastName:`V1MMBW_achToastName`,achToasts:`V1MMBW_achToasts`,avatar:`V1MMBW_avatar`,badge:`V1MMBW_badge`,banner:`V1MMBW_banner`,barCol:`V1MMBW_barCol`,barFill:`V1MMBW_barFill`,barLabel:`V1MMBW_barLabel`,barValue:`V1MMBW_barValue`,baseline:`V1MMBW_baseline`,bcCurrent:`V1MMBW_bcCurrent`,bcItem:`V1MMBW_bcItem`,bcSep:`V1MMBW_bcSep`,bcText:`V1MMBW_bcText`,block:`V1MMBW_block`,body:`V1MMBW_body`,breadcrumb:`V1MMBW_breadcrumb`,btnSent:`V1MMBW_btnSent`,button:`V1MMBW_button`,callout:`V1MMBW_callout`,calloutBody:`V1MMBW_calloutBody`,calloutError:`V1MMBW_calloutError`,calloutInfo:`V1MMBW_calloutInfo`,calloutSuccess:`V1MMBW_calloutSuccess`,calloutTitle:`V1MMBW_calloutTitle`,calloutWarning:`V1MMBW_calloutWarning`,caption:`V1MMBW_caption`,card:`V1MMBW_card`,cardDanger:`V1MMBW_cardDanger`,cardInfo:`V1MMBW_cardInfo`,cardSuccess:`V1MMBW_cardSuccess`,cardTitle:`V1MMBW_cardTitle`,cardWarning:`V1MMBW_cardWarning`,cellBadge:`V1MMBW_cellBadge`,cellBar:`V1MMBW_cellBar`,cellBarFill:`V1MMBW_cellBarFill`,cellBarText:`V1MMBW_cellBarText`,cellIndex:`V1MMBW_cellIndex`,cellRing:`V1MMBW_cellRing`,cellRingText:`V1MMBW_cellRingText`,cellSpark:`V1MMBW_cellSpark`,center:`V1MMBW_center`,chart:`V1MMBW_chart`,chartBody:`V1MMBW_chartBody`,chartLabels:`V1MMBW_chartLabels`,chartLegend:`V1MMBW_chartLegend`,chartPlot:`V1MMBW_chartPlot`,chartTip:`V1MMBW_chartTip`,chartTipRow:`V1MMBW_chartTipRow`,chartTipValue:`V1MMBW_chartTipValue`,chartYAxis:`V1MMBW_chartYAxis`,chartYTick:`V1MMBW_chartYTick`,checkbox:`V1MMBW_checkbox`,col:`V1MMBW_col`,copyChip:`V1MMBW_copyChip`,copyChipDone:`V1MMBW_copyChipDone`,danger:`V1MMBW_danger`,detailBody:`V1MMBW_detailBody`,detailCell:`V1MMBW_detailCell`,detailChevron:`V1MMBW_detailChevron`,detailRow:`V1MMBW_detailRow`,detailToggle:`V1MMBW_detailToggle`,divider:`V1MMBW_divider`,donut:`V1MMBW_donut`,donutLegend:`V1MMBW_donutLegend`,donutPct:`V1MMBW_donutPct`,donutSeg:`V1MMBW_donutSeg`,donutTotal:`V1MMBW_donutTotal`,donutTotalLabel:`V1MMBW_donutTotalLabel`,donutTrack:`V1MMBW_donutTrack`,down:`V1MMBW_down`,"dsl-skeleton":`V1MMBW_dsl-skeleton`,echartCanvas:`V1MMBW_echartCanvas`,echartErr:`V1MMBW_echartErr`,echartFallback:`V1MMBW_echartFallback`,echartHint:`V1MMBW_echartHint`,echartTitle:`V1MMBW_echartTitle`,echartWrap:`V1MMBW_echartWrap`,field:`V1MMBW_field`,fieldGroup:`V1MMBW_fieldGroup`,fieldLabel:`V1MMBW_fieldLabel`,fileTree:`V1MMBW_fileTree`,fill:`V1MMBW_fill`,filterHint:`V1MMBW_filterHint`,filterRow:`V1MMBW_filterRow`,ftChevron:`V1MMBW_ftChevron`,ftChildren:`V1MMBW_ftChildren`,ftDir:`V1MMBW_ftDir`,ftGlyph:`V1MMBW_ftGlyph`,ftGlyphDir:`V1MMBW_ftGlyphDir`,ftGuide:`V1MMBW_ftGuide`,ftName:`V1MMBW_ftName`,ftNameBtn:`V1MMBW_ftNameBtn`,ftRow:`V1MMBW_ftRow`,full:`V1MMBW_full`,genuiPopIn:`V1MMBW_genuiPopIn`,genuiReveal:`V1MMBW_genuiReveal`,ghost:`V1MMBW_ghost`,gradeAns:`V1MMBW_gradeAns`,gradeExp:`V1MMBW_gradeExp`,gradeItem:`V1MMBW_gradeItem`,gradeItemNo:`V1MMBW_gradeItemNo`,gradeItemOk:`V1MMBW_gradeItemOk`,gradeList:`V1MMBW_gradeList`,gradeQ:`V1MMBW_gradeQ`,gradeRight:`V1MMBW_gradeRight`,gradeScore:`V1MMBW_gradeScore`,gradeScoreLabel:`V1MMBW_gradeScoreLabel`,gradeScoreValue:`V1MMBW_gradeScoreValue`,gradeTag:`V1MMBW_gradeTag`,gradeWrap:`V1MMBW_gradeWrap`,grid:`V1MMBW_grid`,gridSpan:`V1MMBW_gridSpan`,gridline:`V1MMBW_gridline`,groupChevron:`V1MMBW_groupChevron`,groupChild:`V1MMBW_groupChild`,groupCount:`V1MMBW_groupCount`,groupRow:`V1MMBW_groupRow`,groupToggle:`V1MMBW_groupToggle`,groupValue:`V1MMBW_groupValue`,groupedBar:`V1MMBW_groupedBar`,groupedBars:`V1MMBW_groupedBars`,groupedFill:`V1MMBW_groupedFill`,h1:`V1MMBW_h1`,h2:`V1MMBW_h2`,h3:`V1MMBW_h3`,hbarFill:`V1MMBW_hbarFill`,hbarLabel:`V1MMBW_hbarLabel`,hbarRow:`V1MMBW_hbarRow`,hbarSeg:`V1MMBW_hbarSeg`,hbarTrack:`V1MMBW_hbarTrack`,hbarTracks:`V1MMBW_hbarTracks`,hbarValue:`V1MMBW_hbarValue`,hbars:`V1MMBW_hbars`,hero:`V1MMBW_hero`,heroDanger:`V1MMBW_heroDanger`,heroLabel:`V1MMBW_heroLabel`,heroSpark:`V1MMBW_heroSpark`,heroSubtitle:`V1MMBW_heroSubtitle`,heroSuccess:`V1MMBW_heroSuccess`,heroTitle:`V1MMBW_heroTitle`,heroTop:`V1MMBW_heroTop`,heroUnit:`V1MMBW_heroUnit`,heroValue:`V1MMBW_heroValue`,heroWarning:`V1MMBW_heroWarning`,inlineCode:`V1MMBW_inlineCode`,inlineLink:`V1MMBW_inlineLink`,inlineMark:`V1MMBW_inlineMark`,inlineMath:`V1MMBW_inlineMath`,inlineStrong:`V1MMBW_inlineStrong`,input:`V1MMBW_input`,jsonScalar:`V1MMBW_jsonScalar`,keyvalue:`V1MMBW_keyvalue`,kvKey:`V1MMBW_kvKey`,kvRow:`V1MMBW_kvRow`,kvValue:`V1MMBW_kvValue`,legendItem:`V1MMBW_legendItem`,legendSwatch:`V1MMBW_legendSwatch`,li:`V1MMBW_li`,liDesc:`V1MMBW_liDesc`,liTitle:`V1MMBW_liTitle`,lineArea:`V1MMBW_lineArea`,lineChart:`V1MMBW_lineChart`,lineDot:`V1MMBW_lineDot`,lineGrid:`V1MMBW_lineGrid`,lineGridAxis:`V1MMBW_lineGridAxis`,lineLabel:`V1MMBW_lineLabel`,lineLabels:`V1MMBW_lineLabels`,linePath:`V1MMBW_linePath`,lineTick:`V1MMBW_lineTick`,link:`V1MMBW_link`,linkText:`V1MMBW_linkText`,list:`V1MMBW_list`,media:`V1MMBW_media`,mediaError:`V1MMBW_mediaError`,mediaLabel:`V1MMBW_mediaLabel`,mediaPlayer:`V1MMBW_mediaPlayer`,mermaid:`V1MMBW_mermaid`,mermaidErr:`V1MMBW_mermaidErr`,mermaidFallback:`V1MMBW_mermaidFallback`,mermaidHint:`V1MMBW_mermaidHint`,muted:`V1MMBW_muted`,panel:`V1MMBW_panel`,panelBadge:`V1MMBW_panelBadge`,panelBody:`V1MMBW_panelBody`,panelChevron:`V1MMBW_panelChevron`,panelClose:`V1MMBW_panelClose`,panelFlash:`V1MMBW_panelFlash`,panelHeader:`V1MMBW_panelHeader`,panelHint:`V1MMBW_panelHint`,panelOnboard:`V1MMBW_panelOnboard`,panelOnboardText:`V1MMBW_panelOnboardText`,panelResizeHandle:`V1MMBW_panelResizeHandle`,panelResizeHandleActive:`V1MMBW_panelResizeHandleActive`,panelTitle:`V1MMBW_panelTitle`,panelToggle:`V1MMBW_panelToggle`,panelTpl:`V1MMBW_panelTpl`,panelTplActive:`V1MMBW_panelTplActive`,playBtn:`V1MMBW_playBtn`,primary:`V1MMBW_primary`,progress:`V1MMBW_progress`,progressRow:`V1MMBW_progressRow`,quiz:`V1MMBW_quiz`,quizCorrectMsg:`V1MMBW_quizCorrectMsg`,quizExplanation:`V1MMBW_quizExplanation`,quizFeedback:`V1MMBW_quizFeedback`,quizMarker:`V1MMBW_quizMarker`,quizOpt:`V1MMBW_quizOpt`,quizOptCorrect:`V1MMBW_quizOptCorrect`,quizOptReveal:`V1MMBW_quizOptReveal`,quizOptWrong:`V1MMBW_quizOptWrong`,quizOptions:`V1MMBW_quizOptions`,quizQuestion:`V1MMBW_quizQuestion`,quizResult:`V1MMBW_quizResult`,quizRetry:`V1MMBW_quizRetry`,quizWrongMsg:`V1MMBW_quizWrongMsg`,radio:`V1MMBW_radio`,resetBtn:`V1MMBW_resetBtn`,reveal:`V1MMBW_reveal`,ring:`V1MMBW_ring`,ringFill:`V1MMBW_ringFill`,ringLabel:`V1MMBW_ringLabel`,ringMeta:`V1MMBW_ringMeta`,ringSub:`V1MMBW_ringSub`,ringTrack:`V1MMBW_ringTrack`,ringValue:`V1MMBW_ringValue`,row:`V1MMBW_row`,scene3dCanvas:`V1MMBW_scene3dCanvas`,scene3dHint:`V1MMBW_scene3dHint`,scene3dTitle:`V1MMBW_scene3dTitle`,scene3dWrap:`V1MMBW_scene3dWrap`,select:`V1MMBW_select`,skeleton:`V1MMBW_skeleton`,skeletonBars:`V1MMBW_skeletonBars`,skeletonBlock:`V1MMBW_skeletonBlock`,skeletonTitle:`V1MMBW_skeletonTitle`,sliderInput:`V1MMBW_sliderInput`,sliderRow:`V1MMBW_sliderRow`,sliderValue:`V1MMBW_sliderValue`,small:`V1MMBW_small`,spacer:`V1MMBW_spacer`,stack:`V1MMBW_stack`,stackSeg:`V1MMBW_stackSeg`,stackValue:`V1MMBW_stackValue`,stat:`V1MMBW_stat`,statDelta:`V1MMBW_statDelta`,statHero:`V1MMBW_statHero`,statLabel:`V1MMBW_statLabel`,statSpark:`V1MMBW_statSpark`,statUnit:`V1MMBW_statUnit`,statValue:`V1MMBW_statValue`,step:`V1MMBW_step`,stepActive:`V1MMBW_stepActive`,stepContent:`V1MMBW_stepContent`,stepDesc:`V1MMBW_stepDesc`,stepDone:`V1MMBW_stepDone`,stepMarker:`V1MMBW_stepMarker`,stepTitle:`V1MMBW_stepTitle`,steps:`V1MMBW_steps`,submit:`V1MMBW_submit`,submitHint:`V1MMBW_submitHint`,submitRow:`V1MMBW_submitRow`,success:`V1MMBW_success`,switch:`V1MMBW_switch`,switchKnob:`V1MMBW_switchKnob`,switchLabel:`V1MMBW_switchLabel`,switchOn:`V1MMBW_switchOn`,switchRow:`V1MMBW_switchRow`,tab:`V1MMBW_tab`,tabActive:`V1MMBW_tabActive`,tabBar:`V1MMBW_tabBar`,table:`V1MMBW_table`,tableTool:`V1MMBW_tableTool`,tableTools:`V1MMBW_tableTools`,tableWrap:`V1MMBW_tableWrap`,tabs:`V1MMBW_tabs`,targetMark:`V1MMBW_targetMark`,tdDelta:`V1MMBW_tdDelta`,tdDeltaDown:`V1MMBW_tdDeltaDown`,tdDeltaUp:`V1MMBW_tdDeltaUp`,tdNum:`V1MMBW_tdNum`,text:`V1MMBW_text`,textarea:`V1MMBW_textarea`,thNum:`V1MMBW_thNum`,thSort:`V1MMBW_thSort`,thSortMark:`V1MMBW_thSortMark`,timeline:`V1MMBW_timeline`,tlBody:`V1MMBW_tlBody`,tlDesc:`V1MMBW_tlDesc`,tlDot:`V1MMBW_tlDot`,tlHead:`V1MMBW_tlHead`,tlItem:`V1MMBW_tlItem`,tlLine:`V1MMBW_tlLine`,tlRail:`V1MMBW_tlRail`,tlTime:`V1MMBW_tlTime`,tlTitle:`V1MMBW_tlTitle`,tool:`V1MMBW_tool`,toolFallback:`V1MMBW_toolFallback`,toolFallbackMeta:`V1MMBW_toolFallbackMeta`,toolFallbackTitle:`V1MMBW_toolFallbackTitle`,track:`V1MMBW_track`,up:`V1MMBW_up`,videoPlayer:`V1MMBW_videoPlayer`,visuallyHidden:`V1MMBW_visuallyHidden`,warn:`V1MMBW_warn`,wrap:`V1MMBW_wrap`};let S={copy:`复制`,copied:`复制成功`,collapseAria:`收起差异`,expandAria(e){return`展开其余 ${e} 行差异`},collapse:`收起`,expand(e){return`… 其余 ${e} 行`},files(e){return`${e} 个文件`}},C={copyLabel:`复制`,copiedLabel:`复制成功`},ee={copyValue:`复制值`,copyJson:`复制 JSON`,copyPath:`复制属性路径`,copyPrettyJson:`复制格式化 JSON`,copyCompactJson:`复制紧凑 JSON`,copied:`已复制`,copyFailed:`复制失败`,collapseNode:`收起 JSON 节点`,expandNode:`展开 JSON 节点`,copyButtonTitle(e){return`${e};右键查看复制选项`}},te={display:`flex`,flexDirection:`column`,gap:`4px`,padding:`8px 12px`,margin:`4px 0`,borderRadius:`8px`,border:`1px solid rgba(127,127,127,0.35)`,background:`rgba(127,127,127,0.08)`,color:`inherit`,fontSize:`12px`,lineHeight:1.5,fontFamily:`inherit`};var w=class extends m.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[dsh-genui] render failed:`,e,t.componentStack??``)}render(){let{error:e}=this.state;return e===null?this.props.children:(0,g.jsxs)(`div`,{style:te,role:`alert`,"data-genui-error":!0,children:[(0,g.jsxs)(`span`,{style:{fontWeight:600},children:[`⚠️ `,this.props.label??`此界面`,`渲染失败(已隔离,不影响其他内容)`]}),(0,g.jsx)(`span`,{style:{opacity:.75,overflowWrap:`anywhere`},children:e.message})]})}},T=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},ne=/([A-Z])/g,re=e=>e.replace(ne,`-$1`).toLowerCase(),ie={"&":`&`,">":`>`,"<":`<`,'"':`"`,"'":`'`},ae=/[&><"']/g,oe=e=>String(e).replace(ae,e=>ie[e]),se=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?se(e.body[0]):e:e.type===`font`?se(e.body):e,ce=new Set([`mathord`,`textord`,`atom`]),le=e=>ce.has(se(e).type),ue=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`},de={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 fe(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 Error(`Unexpected schema type; settings must declare an explicit default.`)}}function pe(e){return e.default===void 0?fe(Array.isArray(e.type)?e.type[0]:e.type):e.default}function me(e,t,n,r){var i=n[t];e[t]=i===void 0?pe(r):r.processor?r.processor(i):i}var he=class{constructor(e){e===void 0&&(e={}),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,e||={};for(var t of Object.keys(de)){var n=de[t];n&&me(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),!(!r||r===`ignore`)){if(r===!0||r===`error`)throw new T(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=ue(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},ge=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return Te[Ee[this.id]]}sub(){return Te[De[this.id]]}fracNum(){return Te[Oe[this.id]]}fracDen(){return Te[ke[this.id]]}cramp(){return Te[Ae[this.id]]}text(){return Te[je[this.id]]}isTight(){return this.size>=2}},_e=0,ve=1,ye=2,be=3,xe=4,Se=5,Ce=6,we=7,Te=[new ge(_e,0,!1),new ge(ve,0,!0),new ge(ye,1,!1),new ge(be,1,!0),new ge(xe,2,!1),new ge(Se,2,!0),new ge(Ce,3,!1),new ge(we,3,!0)],Ee=[xe,Se,xe,Se,Ce,we,Ce,we],De=[Se,Se,Se,Se,we,we,we,we],Oe=[ye,be,xe,Se,Ce,we,Ce,we],ke=[be,be,Se,Se,we,we,we,we],Ae=[ve,ve,be,be,Se,Se,we,we],je=[_e,ve,ye,be,ye,be,ye,be],E={DISPLAY:Te[_e],TEXT:Te[ye],SCRIPT:Te[xe],SCRIPTSCRIPT:Te[Ce]},Me=[{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 Ne(e){for(var t=0;t<Me.length;t++)for(var n=Me[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var Pe=[];Me.forEach(e=>e.blocks.forEach(e=>Pe.push(...e)));function Fe(e){for(var t=0;t<Pe.length;t+=2)if(e>=Pe[t]&&e<=Pe[t+1])return!0;return!1}var Ie=e=>e+` `+e,Le=80,Re=function(e,t){return`M95,`+(622+e+t)+`
|
|
2
|
+
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
|
|
3
|
+
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
|
|
4
|
+
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
|
|
5
|
+
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
|
|
6
|
+
c69,-144,104.5,-217.7,106.5,-221
|
|
7
|
+
l`+e/2.075+` -`+e+`
|
|
8
|
+
c5.3,-9.3,12,-14,20,-14
|
|
9
|
+
H400000v`+(40+e)+`H845.2724
|
|
10
|
+
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
|
|
11
|
+
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
|
|
12
|
+
M`+(834+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},ze=function(e,t){return`M263,`+(601+e+t)+`c0.7,0,18,39.7,52,119
|
|
13
|
+
c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
|
|
14
|
+
c340,-704.7,510.7,-1060.3,512,-1067
|
|
15
|
+
l`+e/2.084+` -`+e+`
|
|
16
|
+
c4.7,-7.3,11,-11,19,-11
|
|
17
|
+
H40000v`+(40+e)+`H1012.3
|
|
18
|
+
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
|
|
19
|
+
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
|
|
20
|
+
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
|
|
21
|
+
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
|
|
22
|
+
M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},Be=function(e,t){return`M983 `+(10+e+t)+`
|
|
23
|
+
l`+e/3.13+` -`+e+`
|
|
24
|
+
c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+`
|
|
25
|
+
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
|
|
26
|
+
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
|
|
27
|
+
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
|
|
28
|
+
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
|
|
29
|
+
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
|
|
30
|
+
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
|
|
31
|
+
M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},Ve=function(e,t){return`M424,`+(2398+e+t)+`
|
|
32
|
+
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
|
|
33
|
+
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
|
|
34
|
+
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
|
|
35
|
+
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
|
|
36
|
+
l`+e/4.223+` -`+e+`c4,-6.7,10,-10,18,-10 H400000
|
|
37
|
+
v`+(40+e)+`H1014.6
|
|
38
|
+
s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
|
|
39
|
+
c-2,6,-10,9,-24,9
|
|
40
|
+
c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+` `+t+`
|
|
41
|
+
h400000v`+(40+e)+`h-400000z`},He=function(e,t){return`M473,`+(2713+e+t)+`
|
|
42
|
+
c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+` -`+e+`
|
|
43
|
+
c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7
|
|
44
|
+
s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
|
|
45
|
+
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
|
|
46
|
+
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
|
|
47
|
+
s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
|
|
48
|
+
606zM`+(1001+e)+` `+t+`h400000v`+(40+e)+`H1017.7z`},Ue=function(e){var t=e/2;return`M400000 `+e+` H0 L`+t+` 0 l65 45 L145 `+(e-80)+` H400000z`},We=function(e,t,n){var r=n-54-t-e;return`M702 `+(e+t)+`H400000`+(40+e)+`
|
|
49
|
+
H742v`+r+`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
|
|
50
|
+
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
|
|
51
|
+
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
|
|
52
|
+
219 661 l218 661zM702 `+t+`H400000v`+(40+e)+`H742z`},Ge=function(e,t,n){t=1e3*t;var r=``;switch(e){case`sqrtMain`:r=Re(t,Le);break;case`sqrtSize1`:r=ze(t,Le);break;case`sqrtSize2`:r=Be(t,Le);break;case`sqrtSize3`:r=Ve(t,Le);break;case`sqrtSize4`:r=He(t,Le);break;case`sqrtTall`:r=We(t,Le,n)}return r},Ke=function(e,t){switch(e){case`⎜`:return Ie(`M291 0 H417 V`+t+` H291z`);case`∣`:return Ie(`M145 0 H188 V`+t+` H145z`);case`∥`:return Ie(`M145 0 H188 V`+t+` H145z`)+Ie(`M367 0 H410 V`+t+` H367z`);case`⎟`:return Ie(`M457 0 H583 V`+t+` H457z`);case`⎢`:return Ie(`M319 0 H403 V`+t+` H319z`);case`⎥`:return Ie(`M263 0 H347 V`+t+` H263z`);case`⎪`:return Ie(`M384 0 H504 V`+t+` H384z`);case`⏐`:return Ie(`M312 0 H355 V`+t+` H312z`);case`‖`:return Ie(`M257 0 H300 V`+t+` H257z`)+Ie(`M478 0 H521 V`+t+` H478z`);default:return``}},qe={doubleleftarrow:`M262 157
|
|
53
|
+
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
|
|
54
|
+
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
|
|
55
|
+
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
|
|
56
|
+
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
|
|
57
|
+
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
|
|
58
|
+
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
|
|
59
|
+
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
|
|
60
|
+
m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
|
|
61
|
+
-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
|
|
62
|
+
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
|
|
63
|
+
-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
|
|
64
|
+
-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
|
|
65
|
+
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
|
|
66
|
+
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
|
|
67
|
+
-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
|
|
68
|
+
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
|
|
69
|
+
-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
|
|
70
|
+
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
|
|
71
|
+
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
|
|
72
|
+
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
|
|
73
|
+
l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
|
|
74
|
+
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
|
|
75
|
+
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
|
|
76
|
+
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
|
|
77
|
+
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
|
|
78
|
+
-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
|
|
79
|
+
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
|
|
80
|
+
435 0h399565z`,leftgroupunder:`M400000 262
|
|
81
|
+
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
|
|
82
|
+
435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
|
|
83
|
+
-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
|
|
84
|
+
-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
|
|
85
|
+
-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
|
|
86
|
+
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
|
|
87
|
+
-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
|
|
88
|
+
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
|
|
89
|
+
m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
|
|
90
|
+
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
|
|
91
|
+
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
|
|
92
|
+
-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
|
|
93
|
+
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
|
|
94
|
+
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
|
|
95
|
+
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
|
|
96
|
+
-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
|
|
97
|
+
-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
|
|
98
|
+
71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:Ie(`M40 281 V428 H0 V94 H40 V241 H400000 v40z`),leftbracketunder:Ie(`M0 0 h120 V290 H399995 v120 H0z`),leftbracketover:Ie(`M0 440 h120 V150 H399995 v-120 H0z`),leftmapsto:Ie(`M40 281 V448H0V74H40V241H400000v40z`),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
|
|
99
|
+
-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
|
|
100
|
+
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
|
|
101
|
+
68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:Ie(`M0 50 h400000 v40H0z m0 194h40000v40H0z`),midbrace:`M200428 334
|
|
102
|
+
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
|
|
103
|
+
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
|
|
104
|
+
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
|
|
105
|
+
12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
|
|
106
|
+
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
|
|
107
|
+
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
|
|
108
|
+
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
|
|
109
|
+
-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
|
|
110
|
+
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
|
|
111
|
+
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
|
|
112
|
+
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
|
|
113
|
+
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
|
|
114
|
+
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
|
|
115
|
+
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
|
|
116
|
+
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
|
|
117
|
+
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
|
|
118
|
+
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
|
|
119
|
+
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
|
|
120
|
+
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
|
|
121
|
+
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
|
|
122
|
+
-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
|
|
123
|
+
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
|
|
124
|
+
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
|
|
125
|
+
-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
|
|
126
|
+
-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
|
|
127
|
+
151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
|
|
128
|
+
-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
|
|
129
|
+
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
|
|
130
|
+
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
|
|
131
|
+
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
|
|
132
|
+
-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
|
|
133
|
+
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
|
|
134
|
+
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
|
|
135
|
+
-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
|
|
136
|
+
-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
|
|
137
|
+
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
|
|
138
|
+
-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
|
|
139
|
+
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
|
|
140
|
+
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
|
|
141
|
+
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
|
|
142
|
+
-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
|
|
143
|
+
-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
|
|
144
|
+
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
|
|
145
|
+
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
|
|
146
|
+
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
|
|
147
|
+
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
|
|
148
|
+
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
|
|
149
|
+
-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
|
|
150
|
+
66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:Ie(`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`),rightbracketunder:Ie(`M399995 0 h-120 V290 H0 v120 H400000z`),rightbracketover:Ie(`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
|
|
151
|
+
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
|
|
152
|
+
-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
|
|
153
|
+
-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
|
|
154
|
+
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
|
|
155
|
+
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
|
|
156
|
+
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
|
|
157
|
+
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
|
|
158
|
+
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
|
|
159
|
+
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
|
|
160
|
+
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
|
|
161
|
+
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
|
|
162
|
+
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
|
|
163
|
+
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
|
|
164
|
+
-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
|
|
165
|
+
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
|
|
166
|
+
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
|
|
167
|
+
-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
|
|
168
|
+
-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
|
|
169
|
+
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
|
|
170
|
+
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
|
|
171
|
+
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
|
|
172
|
+
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
|
|
173
|
+
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
|
|
174
|
+
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
|
|
175
|
+
-338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
|
|
176
|
+
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
|
|
177
|
+
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
|
|
178
|
+
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
|
|
179
|
+
-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
|
|
180
|
+
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
|
|
181
|
+
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
|
|
182
|
+
-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
|
|
183
|
+
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
|
|
184
|
+
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
|
|
185
|
+
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
|
|
186
|
+
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
|
|
187
|
+
-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
|
|
188
|
+
-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
|
|
189
|
+
-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,
|
|
190
|
+
-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,
|
|
191
|
+
-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,
|
|
192
|
+
-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,
|
|
193
|
+
-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
|
|
194
|
+
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
|
|
195
|
+
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
|
|
196
|
+
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
|
|
197
|
+
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
|
|
198
|
+
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
|
|
199
|
+
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
|
|
200
|
+
M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
|
|
201
|
+
-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
|
|
202
|
+
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
|
|
203
|
+
-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
|
|
204
|
+
-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
|
|
205
|
+
-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
|
|
206
|
+
151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
|
|
207
|
+
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
|
|
208
|
+
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
|
|
209
|
+
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
|
|
210
|
+
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
|
|
211
|
+
M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
|
|
212
|
+
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,
|
|
213
|
+
-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
|
|
214
|
+
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
|
|
215
|
+
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
|
|
216
|
+
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,
|
|
217
|
+
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,
|
|
218
|
+
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
|
|
219
|
+
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
|
|
220
|
+
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,
|
|
221
|
+
-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
|
|
222
|
+
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
|
|
223
|
+
M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Je=function(e,t){switch(e){case`lbrack`:return`M403 1759 V84 H666 V0 H319 V1759 v`+t+` v1759 v84 h347 v-84
|
|
224
|
+
H403z M403 1759 V0 H319 V1759 v`+t+` v1759 v84 h84z`;case`rbrack`:return`M347 1759 V0 H0 V84 H263 V1759 v`+t+` v1759 H0 v84 H347z
|
|
225
|
+
M347 1759 V0 H263 V1759 v`+t+` v1759 h84z`;case`vert`:return`M145 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15
|
|
226
|
+
c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
|
227
|
+
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z`;case`doublevert`:return`M145 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15
|
|
228
|
+
c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
|
229
|
+
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z
|
|
230
|
+
M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15
|
|
231
|
+
c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
|
232
|
+
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+t+` v585 h43z`;case`lfloor`:return`M319 602 V0 H403 V602 v`+t+` v1715 h263 v84 H319z
|
|
233
|
+
MM319 602 V0 H403 V602 v`+t+` v1715 H319z`;case`rfloor`:return`M319 602 V0 H403 V602 v`+t+` v1799 H0 v-84 H319z
|
|
234
|
+
MM319 602 V0 H403 V602 v`+t+` v1715 H319z`;case`lceil`:return`M403 1759 V84 H666 V0 H319 V1759 v`+t+` v602 h84z
|
|
235
|
+
M403 1759 V0 H319 V1759 v`+t+` v602 h84z`;case`rceil`:return`M347 1759 V0 H0 V84 H263 V1759 v`+t+` v602 h84z
|
|
236
|
+
M347 1759 V0 h-84 V1759 v`+t+` 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
|
|
237
|
+
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,
|
|
238
|
+
-36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
|
|
239
|
+
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
|
|
240
|
+
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,
|
|
241
|
+
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
|
|
242
|
+
l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
|
|
243
|
+
-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,
|
|
244
|
+
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
|
|
245
|
+
c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+`
|
|
246
|
+
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
|
|
247
|
+
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
|
|
248
|
+
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
|
|
249
|
+
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
|
|
250
|
+
l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
251
|
+
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw Error(`Unknown stretchy delimiter.`)}};function Ye(e){return`toText`in e}var Xe=class{constructor(e){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=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e=``,t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){return this.children.map(e=>{if(Ye(e))return e.toText();throw Error(`Expected MathDomNode with toText, got `+e.constructor.name)}).join(``)}},Ze={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},Qe={ex:!0,em:!0,mu:!0},$e=function(e){return typeof e!=`string`&&(e=e.unit),e in Ze||e in Qe||e===`ex`},et=function(e,t){var n;if(e.unit in Ze)n=Ze[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit===`mu`)n=t.fontMetrics().cssEmPerMu;else{var r=t.style.isTight()?t.havingStyle(t.style.text()):t;if(e.unit===`ex`)n=r.fontMetrics().xHeight;else if(e.unit===`em`)n=r.fontMetrics().quad;else throw new T(`Invalid unit: '`+e.unit+`'`);r!==t&&(n*=r.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*n,t.maxSize)},D=function(e){return+e.toFixed(4)+`em`},tt=function(e){return e.filter(e=>e).join(` `)},nt=function(e){var t=``;for(var n of Object.keys(e)){var r=e[n];r!==void 0&&(t+=re(n)+`:`+r+`;`)}return t},rt=function(e,t,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},t){t.style.isTight()&&this.classes.push(`mtight`);var r=t.getColor();r&&(this.style.color=r)}},it=function(e){var t=document.createElement(e);t.className=tt(this.classes),Object.assign(t.style,this.style);for(var n of Object.keys(this.attributes))t.setAttribute(n,this.attributes[n]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},at=/[\s"'>/=\x00-\x1f]/,ot=function(e){var t=`<`+e;this.classes.length&&(t+=` class="`+oe(tt(this.classes))+`"`);var n=nt(this.style);n&&(t+=` style="`+oe(n)+`"`);for(var r of Object.keys(this.attributes)){if(at.test(r))throw new T(`Invalid attribute name '`+r+`'`);t+=` `+r+`="`+oe(this.attributes[r])+`"`}t+=`>`;for(var i=0;i<this.children.length;i++)t+=this.children[i].toMarkup();return t+=`</`+e+`>`,t},st=class{constructor(e,t,n,r){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,rt.call(this,e,n,r),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return it.call(this,`span`)}toMarkup(){return ot.call(this,`span`)}},ct=class{constructor(e,t,n,r){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,rt.call(this,t,r),this.children=n||[],this.setAttribute(`href`,e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return it.call(this,`a`)}toMarkup(){return ot.call(this,`a`)}},lt=class{constructor(e,t,n){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=t,this.src=e,this.classes=[`mord`],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement(`img`);return e.src=this.src,e.alt=this.alt,e.className=`mord`,Object.assign(e.style,this.style),e}toMarkup(){var e=`<img src="`+oe(this.src)+`"`+(` alt="`+oe(this.alt)+`"`),t=nt(this.style);return t&&(e+=` style="`+oe(t)+`"`),e+=`'/>`,e}},ut={î:`ı̂`,ï:`ı̈`,í:`ı́`,ì:`ı̀`},dt=class{constructor(e,t,n,r,i,a,o,s){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=e,this.height=t||0,this.depth=n||0,this.italic=r||0,this.skew=i||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var c=Ne(this.text.charCodeAt(0));c&&this.classes.push(c+`_fallback`),/[îïíì]/.test(this.text)&&(this.text=ut[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return this.italic>0&&(t=document.createElement(`span`),t.style.marginRight=D(this.italic)),this.classes.length>0&&(t||=document.createElement(`span`),t.className=tt(this.classes)),Object.keys(this.style).length>0&&(t||=document.createElement(`span`),Object.assign(t.style,this.style)),t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t=`<span`;this.classes.length&&(e=!0,t+=` class="`,t+=oe(tt(this.classes)),t+=`"`);var n=``;this.italic>0&&(n+=`margin-right:`+D(this.italic)+`;`),n+=nt(this.style),n&&(e=!0,t+=` style="`+oe(n)+`"`);var r=oe(this.text);return e?(t+=`>`,t+=r,t+=`</span>`,t):r}},ft=class{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);for(var n=0;n<this.children.length;n++)e.appendChild(this.children[n].toNode());return e}toMarkup(){var e=`<svg xmlns="http://www.w3.org/2000/svg"`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+oe(this.attributes[t])+`"`;e+=`>`;for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+=`</svg>`,e}},pt=class{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return this.alternate?e.setAttribute(`d`,this.alternate):e.setAttribute(`d`,qe[this.pathName]),e}toMarkup(){return this.alternate?`<path d="`+oe(this.alternate)+`"/>`:`<path d="`+oe(qe[this.pathName])+`"/>`}},mt=class{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`line`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e=`<line`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+oe(this.attributes[t])+`"`;return e+=`/>`,e}};function ht(e){if(e instanceof dt)return e;throw Error(`Expected symbolNode but got `+String(e)+`.`)}function gt(e){if(e instanceof st)return e;throw Error(`Expected span<HtmlDomNode> but got `+String(e)+`.`)}var _t=e=>e instanceof st||e instanceof ct||e instanceof Xe,vt={"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]}},yt={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]},bt={Å:`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 xt(e,t){vt[e]=t}function St(e,t,n){if(!vt[t])throw Error(`Font metrics not found for font: `+t+`.`);var r=e.charCodeAt(0),i=vt[t][r];if(!i&&e[0]in bt&&(r=bt[e[0]].charCodeAt(0),i=vt[t][r]),!i&&n===`text`&&Fe(r)&&(i=vt[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Ct={};function wt(e){var t=e>=5?0:e>=3?1:2;if(!Ct[t]){var n=Ct[t]={cssEmPerMu:yt.quad[t]/18};for(var r in yt)yt.hasOwnProperty(r)&&(n[r]=yt[r][t])}return Ct[t]}var Tt={math:{},text:{}};function O(e,t,n,r,i,a){Tt[e][i]={font:t,group:n,replace:r},a&&r&&(Tt[e][r]=Tt[e][i])}var k=`math`,A=`text`,j=`main`,M=`ams`,Et=`accent-token`,N=`bin`,Dt=`close`,Ot=`inner`,P=`mathord`,kt=`op-token`,At=`open`,jt=`punct`,F=`rel`,Mt=`spacing`,I=`textord`;O(k,j,F,`≡`,`\\equiv`,!0),O(k,j,F,`≺`,`\\prec`,!0),O(k,j,F,`≻`,`\\succ`,!0),O(k,j,F,`∼`,`\\sim`,!0),O(k,j,F,`⊥`,`\\perp`),O(k,j,F,`⪯`,`\\preceq`,!0),O(k,j,F,`⪰`,`\\succeq`,!0),O(k,j,F,`≃`,`\\simeq`,!0),O(k,j,F,`∣`,`\\mid`,!0),O(k,j,F,`≪`,`\\ll`,!0),O(k,j,F,`≫`,`\\gg`,!0),O(k,j,F,`≍`,`\\asymp`,!0),O(k,j,F,`∥`,`\\parallel`),O(k,j,F,`⋈`,`\\bowtie`,!0),O(k,j,F,`⌣`,`\\smile`,!0),O(k,j,F,`⊑`,`\\sqsubseteq`,!0),O(k,j,F,`⊒`,`\\sqsupseteq`,!0),O(k,j,F,`≐`,`\\doteq`,!0),O(k,j,F,`⌢`,`\\frown`,!0),O(k,j,F,`∋`,`\\ni`,!0),O(k,j,F,`∝`,`\\propto`,!0),O(k,j,F,`⊢`,`\\vdash`,!0),O(k,j,F,`⊣`,`\\dashv`,!0),O(k,j,F,`∋`,`\\owns`),O(k,j,jt,`.`,`\\ldotp`),O(k,j,jt,`⋅`,`\\cdotp`),O(k,j,jt,`⋅`,`·`),O(A,j,I,`⋅`,`·`),O(k,j,I,`#`,`\\#`),O(A,j,I,`#`,`\\#`),O(k,j,I,`&`,`\\&`),O(A,j,I,`&`,`\\&`),O(k,j,I,`ℵ`,`\\aleph`,!0),O(k,j,I,`∀`,`\\forall`,!0),O(k,j,I,`ℏ`,`\\hbar`,!0),O(k,j,I,`∃`,`\\exists`,!0),O(k,j,I,`∇`,`\\nabla`,!0),O(k,j,I,`♭`,`\\flat`,!0),O(k,j,I,`ℓ`,`\\ell`,!0),O(k,j,I,`♮`,`\\natural`,!0),O(k,j,I,`♣`,`\\clubsuit`,!0),O(k,j,I,`℘`,`\\wp`,!0),O(k,j,I,`♯`,`\\sharp`,!0),O(k,j,I,`♢`,`\\diamondsuit`,!0),O(k,j,I,`ℜ`,`\\Re`,!0),O(k,j,I,`♡`,`\\heartsuit`,!0),O(k,j,I,`ℑ`,`\\Im`,!0),O(k,j,I,`♠`,`\\spadesuit`,!0),O(k,j,I,`§`,`\\S`,!0),O(A,j,I,`§`,`\\S`),O(k,j,I,`¶`,`\\P`,!0),O(A,j,I,`¶`,`\\P`),O(k,j,I,`†`,`\\dag`),O(A,j,I,`†`,`\\dag`),O(A,j,I,`†`,`\\textdagger`),O(k,j,I,`‡`,`\\ddag`),O(A,j,I,`‡`,`\\ddag`),O(A,j,I,`‡`,`\\textdaggerdbl`),O(k,j,Dt,`⎱`,`\\rmoustache`,!0),O(k,j,At,`⎰`,`\\lmoustache`,!0),O(k,j,Dt,`⟯`,`\\rgroup`,!0),O(k,j,At,`⟮`,`\\lgroup`,!0),O(k,j,N,`∓`,`\\mp`,!0),O(k,j,N,`⊖`,`\\ominus`,!0),O(k,j,N,`⊎`,`\\uplus`,!0),O(k,j,N,`⊓`,`\\sqcap`,!0),O(k,j,N,`∗`,`\\ast`),O(k,j,N,`⊔`,`\\sqcup`,!0),O(k,j,N,`◯`,`\\bigcirc`,!0),O(k,j,N,`∙`,`\\bullet`,!0),O(k,j,N,`‡`,`\\ddagger`),O(k,j,N,`≀`,`\\wr`,!0),O(k,j,N,`⨿`,`\\amalg`),O(k,j,N,`&`,`\\And`),O(k,j,F,`⟵`,`\\longleftarrow`,!0),O(k,j,F,`⇐`,`\\Leftarrow`,!0),O(k,j,F,`⟸`,`\\Longleftarrow`,!0),O(k,j,F,`⟶`,`\\longrightarrow`,!0),O(k,j,F,`⇒`,`\\Rightarrow`,!0),O(k,j,F,`⟹`,`\\Longrightarrow`,!0),O(k,j,F,`↔`,`\\leftrightarrow`,!0),O(k,j,F,`⟷`,`\\longleftrightarrow`,!0),O(k,j,F,`⇔`,`\\Leftrightarrow`,!0),O(k,j,F,`⟺`,`\\Longleftrightarrow`,!0),O(k,j,F,`↦`,`\\mapsto`,!0),O(k,j,F,`⟼`,`\\longmapsto`,!0),O(k,j,F,`↗`,`\\nearrow`,!0),O(k,j,F,`↩`,`\\hookleftarrow`,!0),O(k,j,F,`↪`,`\\hookrightarrow`,!0),O(k,j,F,`↘`,`\\searrow`,!0),O(k,j,F,`↼`,`\\leftharpoonup`,!0),O(k,j,F,`⇀`,`\\rightharpoonup`,!0),O(k,j,F,`↙`,`\\swarrow`,!0),O(k,j,F,`↽`,`\\leftharpoondown`,!0),O(k,j,F,`⇁`,`\\rightharpoondown`,!0),O(k,j,F,`↖`,`\\nwarrow`,!0),O(k,j,F,`⇌`,`\\rightleftharpoons`,!0),O(k,M,F,`≮`,`\\nless`,!0),O(k,M,F,``,`\\@nleqslant`),O(k,M,F,``,`\\@nleqq`),O(k,M,F,`⪇`,`\\lneq`,!0),O(k,M,F,`≨`,`\\lneqq`,!0),O(k,M,F,``,`\\@lvertneqq`),O(k,M,F,`⋦`,`\\lnsim`,!0),O(k,M,F,`⪉`,`\\lnapprox`,!0),O(k,M,F,`⊀`,`\\nprec`,!0),O(k,M,F,`⋠`,`\\npreceq`,!0),O(k,M,F,`⋨`,`\\precnsim`,!0),O(k,M,F,`⪹`,`\\precnapprox`,!0),O(k,M,F,`≁`,`\\nsim`,!0),O(k,M,F,``,`\\@nshortmid`),O(k,M,F,`∤`,`\\nmid`,!0),O(k,M,F,`⊬`,`\\nvdash`,!0),O(k,M,F,`⊭`,`\\nvDash`,!0),O(k,M,F,`⋪`,`\\ntriangleleft`),O(k,M,F,`⋬`,`\\ntrianglelefteq`,!0),O(k,M,F,`⊊`,`\\subsetneq`,!0),O(k,M,F,``,`\\@varsubsetneq`),O(k,M,F,`⫋`,`\\subsetneqq`,!0),O(k,M,F,``,`\\@varsubsetneqq`),O(k,M,F,`≯`,`\\ngtr`,!0),O(k,M,F,``,`\\@ngeqslant`),O(k,M,F,``,`\\@ngeqq`),O(k,M,F,`⪈`,`\\gneq`,!0),O(k,M,F,`≩`,`\\gneqq`,!0),O(k,M,F,``,`\\@gvertneqq`),O(k,M,F,`⋧`,`\\gnsim`,!0),O(k,M,F,`⪊`,`\\gnapprox`,!0),O(k,M,F,`⊁`,`\\nsucc`,!0),O(k,M,F,`⋡`,`\\nsucceq`,!0),O(k,M,F,`⋩`,`\\succnsim`,!0),O(k,M,F,`⪺`,`\\succnapprox`,!0),O(k,M,F,`≆`,`\\ncong`,!0),O(k,M,F,``,`\\@nshortparallel`),O(k,M,F,`∦`,`\\nparallel`,!0),O(k,M,F,`⊯`,`\\nVDash`,!0),O(k,M,F,`⋫`,`\\ntriangleright`),O(k,M,F,`⋭`,`\\ntrianglerighteq`,!0),O(k,M,F,``,`\\@nsupseteqq`),O(k,M,F,`⊋`,`\\supsetneq`,!0),O(k,M,F,``,`\\@varsupsetneq`),O(k,M,F,`⫌`,`\\supsetneqq`,!0),O(k,M,F,``,`\\@varsupsetneqq`),O(k,M,F,`⊮`,`\\nVdash`,!0),O(k,M,F,`⪵`,`\\precneqq`,!0),O(k,M,F,`⪶`,`\\succneqq`,!0),O(k,M,F,``,`\\@nsubseteqq`),O(k,M,N,`⊴`,`\\unlhd`),O(k,M,N,`⊵`,`\\unrhd`),O(k,M,F,`↚`,`\\nleftarrow`,!0),O(k,M,F,`↛`,`\\nrightarrow`,!0),O(k,M,F,`⇍`,`\\nLeftarrow`,!0),O(k,M,F,`⇏`,`\\nRightarrow`,!0),O(k,M,F,`↮`,`\\nleftrightarrow`,!0),O(k,M,F,`⇎`,`\\nLeftrightarrow`,!0),O(k,M,F,`△`,`\\vartriangle`),O(k,M,I,`ℏ`,`\\hslash`),O(k,M,I,`▽`,`\\triangledown`),O(k,M,I,`◊`,`\\lozenge`),O(k,M,I,`Ⓢ`,`\\circledS`),O(k,M,I,`®`,`\\circledR`),O(A,M,I,`®`,`\\circledR`),O(k,M,I,`∡`,`\\measuredangle`,!0),O(k,M,I,`∄`,`\\nexists`),O(k,M,I,`℧`,`\\mho`),O(k,M,I,`Ⅎ`,`\\Finv`,!0),O(k,M,I,`⅁`,`\\Game`,!0),O(k,M,I,`‵`,`\\backprime`),O(k,M,I,`▲`,`\\blacktriangle`),O(k,M,I,`▼`,`\\blacktriangledown`),O(k,M,I,`■`,`\\blacksquare`),O(k,M,I,`⧫`,`\\blacklozenge`),O(k,M,I,`★`,`\\bigstar`),O(k,M,I,`∢`,`\\sphericalangle`,!0),O(k,M,I,`∁`,`\\complement`,!0),O(k,M,I,`ð`,`\\eth`,!0),O(A,j,I,`ð`,`ð`),O(k,M,I,`╱`,`\\diagup`),O(k,M,I,`╲`,`\\diagdown`),O(k,M,I,`□`,`\\square`),O(k,M,I,`□`,`\\Box`),O(k,M,I,`◊`,`\\Diamond`),O(k,M,I,`¥`,`\\yen`,!0),O(A,M,I,`¥`,`\\yen`,!0),O(k,M,I,`✓`,`\\checkmark`,!0),O(A,M,I,`✓`,`\\checkmark`),O(k,M,I,`ℶ`,`\\beth`,!0),O(k,M,I,`ℸ`,`\\daleth`,!0),O(k,M,I,`ℷ`,`\\gimel`,!0),O(k,M,I,`ϝ`,`\\digamma`,!0),O(k,M,I,`ϰ`,`\\varkappa`),O(k,M,At,`┌`,`\\@ulcorner`,!0),O(k,M,Dt,`┐`,`\\@urcorner`,!0),O(k,M,At,`└`,`\\@llcorner`,!0),O(k,M,Dt,`┘`,`\\@lrcorner`,!0),O(k,M,F,`≦`,`\\leqq`,!0),O(k,M,F,`⩽`,`\\leqslant`,!0),O(k,M,F,`⪕`,`\\eqslantless`,!0),O(k,M,F,`≲`,`\\lesssim`,!0),O(k,M,F,`⪅`,`\\lessapprox`,!0),O(k,M,F,`≊`,`\\approxeq`,!0),O(k,M,N,`⋖`,`\\lessdot`),O(k,M,F,`⋘`,`\\lll`,!0),O(k,M,F,`≶`,`\\lessgtr`,!0),O(k,M,F,`⋚`,`\\lesseqgtr`,!0),O(k,M,F,`⪋`,`\\lesseqqgtr`,!0),O(k,M,F,`≑`,`\\doteqdot`),O(k,M,F,`≓`,`\\risingdotseq`,!0),O(k,M,F,`≒`,`\\fallingdotseq`,!0),O(k,M,F,`∽`,`\\backsim`,!0),O(k,M,F,`⋍`,`\\backsimeq`,!0),O(k,M,F,`⫅`,`\\subseteqq`,!0),O(k,M,F,`⋐`,`\\Subset`,!0),O(k,M,F,`⊏`,`\\sqsubset`,!0),O(k,M,F,`≼`,`\\preccurlyeq`,!0),O(k,M,F,`⋞`,`\\curlyeqprec`,!0),O(k,M,F,`≾`,`\\precsim`,!0),O(k,M,F,`⪷`,`\\precapprox`,!0),O(k,M,F,`⊲`,`\\vartriangleleft`),O(k,M,F,`⊴`,`\\trianglelefteq`),O(k,M,F,`⊨`,`\\vDash`,!0),O(k,M,F,`⊪`,`\\Vvdash`,!0),O(k,M,F,`⌣`,`\\smallsmile`),O(k,M,F,`⌢`,`\\smallfrown`),O(k,M,F,`≏`,`\\bumpeq`,!0),O(k,M,F,`≎`,`\\Bumpeq`,!0),O(k,M,F,`≧`,`\\geqq`,!0),O(k,M,F,`⩾`,`\\geqslant`,!0),O(k,M,F,`⪖`,`\\eqslantgtr`,!0),O(k,M,F,`≳`,`\\gtrsim`,!0),O(k,M,F,`⪆`,`\\gtrapprox`,!0),O(k,M,N,`⋗`,`\\gtrdot`),O(k,M,F,`⋙`,`\\ggg`,!0),O(k,M,F,`≷`,`\\gtrless`,!0),O(k,M,F,`⋛`,`\\gtreqless`,!0),O(k,M,F,`⪌`,`\\gtreqqless`,!0),O(k,M,F,`≖`,`\\eqcirc`,!0),O(k,M,F,`≗`,`\\circeq`,!0),O(k,M,F,`≜`,`\\triangleq`,!0),O(k,M,F,`∼`,`\\thicksim`),O(k,M,F,`≈`,`\\thickapprox`),O(k,M,F,`⫆`,`\\supseteqq`,!0),O(k,M,F,`⋑`,`\\Supset`,!0),O(k,M,F,`⊐`,`\\sqsupset`,!0),O(k,M,F,`≽`,`\\succcurlyeq`,!0),O(k,M,F,`⋟`,`\\curlyeqsucc`,!0),O(k,M,F,`≿`,`\\succsim`,!0),O(k,M,F,`⪸`,`\\succapprox`,!0),O(k,M,F,`⊳`,`\\vartriangleright`),O(k,M,F,`⊵`,`\\trianglerighteq`),O(k,M,F,`⊩`,`\\Vdash`,!0),O(k,M,F,`∣`,`\\shortmid`),O(k,M,F,`∥`,`\\shortparallel`),O(k,M,F,`≬`,`\\between`,!0),O(k,M,F,`⋔`,`\\pitchfork`,!0),O(k,M,F,`∝`,`\\varpropto`),O(k,M,F,`◀`,`\\blacktriangleleft`),O(k,M,F,`∴`,`\\therefore`,!0),O(k,M,F,`∍`,`\\backepsilon`),O(k,M,F,`▶`,`\\blacktriangleright`),O(k,M,F,`∵`,`\\because`,!0),O(k,M,F,`⋘`,`\\llless`),O(k,M,F,`⋙`,`\\gggtr`),O(k,M,N,`⊲`,`\\lhd`),O(k,M,N,`⊳`,`\\rhd`),O(k,M,F,`≂`,`\\eqsim`,!0),O(k,j,F,`⋈`,`\\Join`),O(k,M,F,`≑`,`\\Doteq`,!0),O(k,M,N,`∔`,`\\dotplus`,!0),O(k,M,N,`∖`,`\\smallsetminus`),O(k,M,N,`⋒`,`\\Cap`,!0),O(k,M,N,`⋓`,`\\Cup`,!0),O(k,M,N,`⩞`,`\\doublebarwedge`,!0),O(k,M,N,`⊟`,`\\boxminus`,!0),O(k,M,N,`⊞`,`\\boxplus`,!0),O(k,M,N,`⋇`,`\\divideontimes`,!0),O(k,M,N,`⋉`,`\\ltimes`,!0),O(k,M,N,`⋊`,`\\rtimes`,!0),O(k,M,N,`⋋`,`\\leftthreetimes`,!0),O(k,M,N,`⋌`,`\\rightthreetimes`,!0),O(k,M,N,`⋏`,`\\curlywedge`,!0),O(k,M,N,`⋎`,`\\curlyvee`,!0),O(k,M,N,`⊝`,`\\circleddash`,!0),O(k,M,N,`⊛`,`\\circledast`,!0),O(k,M,N,`⋅`,`\\centerdot`),O(k,M,N,`⊺`,`\\intercal`,!0),O(k,M,N,`⋒`,`\\doublecap`),O(k,M,N,`⋓`,`\\doublecup`),O(k,M,N,`⊠`,`\\boxtimes`,!0),O(k,M,F,`⇢`,`\\dashrightarrow`,!0),O(k,M,F,`⇠`,`\\dashleftarrow`,!0),O(k,M,F,`⇇`,`\\leftleftarrows`,!0),O(k,M,F,`⇆`,`\\leftrightarrows`,!0),O(k,M,F,`⇚`,`\\Lleftarrow`,!0),O(k,M,F,`↞`,`\\twoheadleftarrow`,!0),O(k,M,F,`↢`,`\\leftarrowtail`,!0),O(k,M,F,`↫`,`\\looparrowleft`,!0),O(k,M,F,`⇋`,`\\leftrightharpoons`,!0),O(k,M,F,`↶`,`\\curvearrowleft`,!0),O(k,M,F,`↺`,`\\circlearrowleft`,!0),O(k,M,F,`↰`,`\\Lsh`,!0),O(k,M,F,`⇈`,`\\upuparrows`,!0),O(k,M,F,`↿`,`\\upharpoonleft`,!0),O(k,M,F,`⇃`,`\\downharpoonleft`,!0),O(k,j,F,`⊶`,`\\origof`,!0),O(k,j,F,`⊷`,`\\imageof`,!0),O(k,M,F,`⊸`,`\\multimap`,!0),O(k,M,F,`↭`,`\\leftrightsquigarrow`,!0),O(k,M,F,`⇉`,`\\rightrightarrows`,!0),O(k,M,F,`⇄`,`\\rightleftarrows`,!0),O(k,M,F,`↠`,`\\twoheadrightarrow`,!0),O(k,M,F,`↣`,`\\rightarrowtail`,!0),O(k,M,F,`↬`,`\\looparrowright`,!0),O(k,M,F,`↷`,`\\curvearrowright`,!0),O(k,M,F,`↻`,`\\circlearrowright`,!0),O(k,M,F,`↱`,`\\Rsh`,!0),O(k,M,F,`⇊`,`\\downdownarrows`,!0),O(k,M,F,`↾`,`\\upharpoonright`,!0),O(k,M,F,`⇂`,`\\downharpoonright`,!0),O(k,M,F,`⇝`,`\\rightsquigarrow`,!0),O(k,M,F,`⇝`,`\\leadsto`),O(k,M,F,`⇛`,`\\Rrightarrow`,!0),O(k,M,F,`↾`,`\\restriction`),O(k,j,I,`‘`,"`"),O(k,j,I,`$`,`\\$`),O(A,j,I,`$`,`\\$`),O(A,j,I,`$`,`\\textdollar`),O(k,j,I,`%`,`\\%`),O(A,j,I,`%`,`\\%`),O(k,j,I,`_`,`\\_`),O(A,j,I,`_`,`\\_`),O(A,j,I,`_`,`\\textunderscore`),O(k,j,I,`∠`,`\\angle`,!0),O(k,j,I,`∞`,`\\infty`,!0),O(k,j,I,`′`,`\\prime`),O(k,j,I,`△`,`\\triangle`),O(k,j,I,`Γ`,`\\Gamma`,!0),O(k,j,I,`Δ`,`\\Delta`,!0),O(k,j,I,`Θ`,`\\Theta`,!0),O(k,j,I,`Λ`,`\\Lambda`,!0),O(k,j,I,`Ξ`,`\\Xi`,!0),O(k,j,I,`Π`,`\\Pi`,!0),O(k,j,I,`Σ`,`\\Sigma`,!0),O(k,j,I,`Υ`,`\\Upsilon`,!0),O(k,j,I,`Φ`,`\\Phi`,!0),O(k,j,I,`Ψ`,`\\Psi`,!0),O(k,j,I,`Ω`,`\\Omega`,!0),O(k,j,I,`A`,`Α`),O(k,j,I,`B`,`Β`),O(k,j,I,`E`,`Ε`),O(k,j,I,`Z`,`Ζ`),O(k,j,I,`H`,`Η`),O(k,j,I,`I`,`Ι`),O(k,j,I,`K`,`Κ`),O(k,j,I,`M`,`Μ`),O(k,j,I,`N`,`Ν`),O(k,j,I,`O`,`Ο`),O(k,j,I,`P`,`Ρ`),O(k,j,I,`T`,`Τ`),O(k,j,I,`X`,`Χ`),O(k,j,I,`¬`,`\\neg`,!0),O(k,j,I,`¬`,`\\lnot`),O(k,j,I,`⊤`,`\\top`),O(k,j,I,`⊥`,`\\bot`),O(k,j,I,`∅`,`\\emptyset`),O(k,M,I,`∅`,`\\varnothing`),O(k,j,P,`α`,`\\alpha`,!0),O(k,j,P,`β`,`\\beta`,!0),O(k,j,P,`γ`,`\\gamma`,!0),O(k,j,P,`δ`,`\\delta`,!0),O(k,j,P,`ϵ`,`\\epsilon`,!0),O(k,j,P,`ζ`,`\\zeta`,!0),O(k,j,P,`η`,`\\eta`,!0),O(k,j,P,`θ`,`\\theta`,!0),O(k,j,P,`ι`,`\\iota`,!0),O(k,j,P,`κ`,`\\kappa`,!0),O(k,j,P,`λ`,`\\lambda`,!0),O(k,j,P,`μ`,`\\mu`,!0),O(k,j,P,`ν`,`\\nu`,!0),O(k,j,P,`ξ`,`\\xi`,!0),O(k,j,P,`ο`,`\\omicron`,!0),O(k,j,P,`π`,`\\pi`,!0),O(k,j,P,`ρ`,`\\rho`,!0),O(k,j,P,`σ`,`\\sigma`,!0),O(k,j,P,`τ`,`\\tau`,!0),O(k,j,P,`υ`,`\\upsilon`,!0),O(k,j,P,`ϕ`,`\\phi`,!0),O(k,j,P,`χ`,`\\chi`,!0),O(k,j,P,`ψ`,`\\psi`,!0),O(k,j,P,`ω`,`\\omega`,!0),O(k,j,P,`ε`,`\\varepsilon`,!0),O(k,j,P,`ϑ`,`\\vartheta`,!0),O(k,j,P,`ϖ`,`\\varpi`,!0),O(k,j,P,`ϱ`,`\\varrho`,!0),O(k,j,P,`ς`,`\\varsigma`,!0),O(k,j,P,`φ`,`\\varphi`,!0),O(k,j,N,`∗`,`*`,!0),O(k,j,N,`+`,`+`),O(k,j,N,`−`,`-`,!0),O(k,j,N,`⋅`,`\\cdot`,!0),O(k,j,N,`∘`,`\\circ`,!0),O(k,j,N,`÷`,`\\div`,!0),O(k,j,N,`±`,`\\pm`,!0),O(k,j,N,`×`,`\\times`,!0),O(k,j,N,`∩`,`\\cap`,!0),O(k,j,N,`∪`,`\\cup`,!0),O(k,j,N,`∖`,`\\setminus`,!0),O(k,j,N,`∧`,`\\land`),O(k,j,N,`∨`,`\\lor`),O(k,j,N,`∧`,`\\wedge`,!0),O(k,j,N,`∨`,`\\vee`,!0),O(k,j,I,`√`,`\\surd`),O(k,j,At,`⟨`,`\\langle`,!0),O(k,j,At,`∣`,`\\lvert`),O(k,j,At,`∥`,`\\lVert`),O(k,j,Dt,`?`,`?`),O(k,j,Dt,`!`,`!`),O(k,j,Dt,`⟩`,`\\rangle`,!0),O(k,j,Dt,`∣`,`\\rvert`),O(k,j,Dt,`∥`,`\\rVert`),O(k,j,F,`=`,`=`),O(k,j,F,`:`,`:`),O(k,j,F,`≈`,`\\approx`,!0),O(k,j,F,`≅`,`\\cong`,!0),O(k,j,F,`≥`,`\\ge`),O(k,j,F,`≥`,`\\geq`,!0),O(k,j,F,`←`,`\\gets`),O(k,j,F,`>`,`\\gt`,!0),O(k,j,F,`∈`,`\\in`,!0),O(k,j,F,``,`\\@not`),O(k,j,F,`⊂`,`\\subset`,!0),O(k,j,F,`⊃`,`\\supset`,!0),O(k,j,F,`⊆`,`\\subseteq`,!0),O(k,j,F,`⊇`,`\\supseteq`,!0),O(k,M,F,`⊈`,`\\nsubseteq`,!0),O(k,M,F,`⊉`,`\\nsupseteq`,!0),O(k,j,F,`⊨`,`\\models`),O(k,j,F,`←`,`\\leftarrow`,!0),O(k,j,F,`≤`,`\\le`),O(k,j,F,`≤`,`\\leq`,!0),O(k,j,F,`<`,`\\lt`,!0),O(k,j,F,`→`,`\\rightarrow`,!0),O(k,j,F,`→`,`\\to`),O(k,M,F,`≱`,`\\ngeq`,!0),O(k,M,F,`≰`,`\\nleq`,!0),O(k,j,Mt,`\xA0`,`\\ `),O(k,j,Mt,`\xA0`,`\\space`),O(k,j,Mt,`\xA0`,`\\nobreakspace`),O(A,j,Mt,`\xA0`,`\\ `),O(A,j,Mt,`\xA0`,` `),O(A,j,Mt,`\xA0`,`\\space`),O(A,j,Mt,`\xA0`,`\\nobreakspace`),O(k,j,Mt,``,`\\nobreak`),O(k,j,Mt,``,`\\allowbreak`),O(k,j,jt,`,`,`,`),O(k,j,jt,`;`,`;`),O(k,M,N,`⊼`,`\\barwedge`,!0),O(k,M,N,`⊻`,`\\veebar`,!0),O(k,j,N,`⊙`,`\\odot`,!0),O(k,j,N,`⊕`,`\\oplus`,!0),O(k,j,N,`⊗`,`\\otimes`,!0),O(k,j,I,`∂`,`\\partial`,!0),O(k,j,N,`⊘`,`\\oslash`,!0),O(k,M,N,`⊚`,`\\circledcirc`,!0),O(k,M,N,`⊡`,`\\boxdot`,!0),O(k,j,N,`△`,`\\bigtriangleup`),O(k,j,N,`▽`,`\\bigtriangledown`),O(k,j,N,`†`,`\\dagger`),O(k,j,N,`⋄`,`\\diamond`),O(k,j,N,`⋆`,`\\star`),O(k,j,N,`◃`,`\\triangleleft`),O(k,j,N,`▹`,`\\triangleright`),O(k,j,At,`{`,`\\{`),O(A,j,I,`{`,`\\{`),O(A,j,I,`{`,`\\textbraceleft`),O(k,j,Dt,`}`,`\\}`),O(A,j,I,`}`,`\\}`),O(A,j,I,`}`,`\\textbraceright`),O(k,j,At,`{`,`\\lbrace`),O(k,j,Dt,`}`,`\\rbrace`),O(k,j,At,`[`,`\\lbrack`,!0),O(A,j,I,`[`,`\\lbrack`,!0),O(k,j,Dt,`]`,`\\rbrack`,!0),O(A,j,I,`]`,`\\rbrack`,!0),O(k,j,At,`(`,`\\lparen`,!0),O(k,j,Dt,`)`,`\\rparen`,!0),O(A,j,I,`<`,`\\textless`,!0),O(A,j,I,`>`,`\\textgreater`,!0),O(k,j,At,`⌊`,`\\lfloor`,!0),O(k,j,Dt,`⌋`,`\\rfloor`,!0),O(k,j,At,`⌈`,`\\lceil`,!0),O(k,j,Dt,`⌉`,`\\rceil`,!0),O(k,j,I,`\\`,`\\backslash`),O(k,j,I,`∣`,`|`),O(k,j,I,`∣`,`\\vert`),O(A,j,I,`|`,`\\textbar`,!0),O(k,j,I,`∥`,`\\|`),O(k,j,I,`∥`,`\\Vert`),O(A,j,I,`∥`,`\\textbardbl`),O(A,j,I,`~`,`\\textasciitilde`),O(A,j,I,`\\`,`\\textbackslash`),O(A,j,I,`^`,`\\textasciicircum`),O(k,j,F,`↑`,`\\uparrow`,!0),O(k,j,F,`⇑`,`\\Uparrow`,!0),O(k,j,F,`↓`,`\\downarrow`,!0),O(k,j,F,`⇓`,`\\Downarrow`,!0),O(k,j,F,`↕`,`\\updownarrow`,!0),O(k,j,F,`⇕`,`\\Updownarrow`,!0),O(k,j,kt,`∐`,`\\coprod`),O(k,j,kt,`⋁`,`\\bigvee`),O(k,j,kt,`⋀`,`\\bigwedge`),O(k,j,kt,`⨄`,`\\biguplus`),O(k,j,kt,`⋂`,`\\bigcap`),O(k,j,kt,`⋃`,`\\bigcup`),O(k,j,kt,`∫`,`\\int`),O(k,j,kt,`∫`,`\\intop`),O(k,j,kt,`∬`,`\\iint`),O(k,j,kt,`∭`,`\\iiint`),O(k,j,kt,`∏`,`\\prod`),O(k,j,kt,`∑`,`\\sum`),O(k,j,kt,`⨂`,`\\bigotimes`),O(k,j,kt,`⨁`,`\\bigoplus`),O(k,j,kt,`⨀`,`\\bigodot`),O(k,j,kt,`∮`,`\\oint`),O(k,j,kt,`∯`,`\\oiint`),O(k,j,kt,`∰`,`\\oiiint`),O(k,j,kt,`⨆`,`\\bigsqcup`),O(k,j,kt,`∫`,`\\smallint`),O(A,j,Ot,`…`,`\\textellipsis`),O(k,j,Ot,`…`,`\\mathellipsis`),O(A,j,Ot,`…`,`\\ldots`,!0),O(k,j,Ot,`…`,`\\ldots`,!0),O(k,j,Ot,`⋯`,`\\@cdots`,!0),O(k,j,Ot,`⋱`,`\\ddots`,!0),O(k,j,I,`⋮`,`\\varvdots`),O(A,j,I,`⋮`,`\\varvdots`),O(k,j,Et,`ˊ`,`\\acute`),O(k,j,Et,`ˋ`,`\\grave`),O(k,j,Et,`¨`,`\\ddot`),O(k,j,Et,`~`,`\\tilde`),O(k,j,Et,`ˉ`,`\\bar`),O(k,j,Et,`˘`,`\\breve`),O(k,j,Et,`ˇ`,`\\check`),O(k,j,Et,`^`,`\\hat`),O(k,j,Et,`⃗`,`\\vec`),O(k,j,Et,`˙`,`\\dot`),O(k,j,Et,`˚`,`\\mathring`),O(k,j,P,``,`\\@imath`),O(k,j,P,``,`\\@jmath`),O(k,j,I,`ı`,`ı`),O(k,j,I,`ȷ`,`ȷ`),O(A,j,I,`ı`,`\\i`,!0),O(A,j,I,`ȷ`,`\\j`,!0),O(A,j,I,`ß`,`\\ss`,!0),O(A,j,I,`æ`,`\\ae`,!0),O(A,j,I,`œ`,`\\oe`,!0),O(A,j,I,`ø`,`\\o`,!0),O(A,j,I,`Æ`,`\\AE`,!0),O(A,j,I,`Œ`,`\\OE`,!0),O(A,j,I,`Ø`,`\\O`,!0),O(A,j,Et,`ˊ`,`\\'`),O(A,j,Et,`ˋ`,"\\`"),O(A,j,Et,`ˆ`,`\\^`),O(A,j,Et,`˜`,`\\~`),O(A,j,Et,`ˉ`,`\\=`),O(A,j,Et,`˘`,`\\u`),O(A,j,Et,`˙`,`\\.`),O(A,j,Et,`¸`,`\\c`),O(A,j,Et,`˚`,`\\r`),O(A,j,Et,`ˇ`,`\\v`),O(A,j,Et,`¨`,`\\"`),O(A,j,Et,`˝`,`\\H`),O(A,j,Et,`◯`,`\\textcircled`);var Nt={"--":!0,"---":!0,"``":!0,"''":!0};O(A,j,I,`–`,`--`,!0),O(A,j,I,`–`,`\\textendash`),O(A,j,I,`—`,`---`,!0),O(A,j,I,`—`,`\\textemdash`),O(A,j,I,`‘`,"`",!0),O(A,j,I,`‘`,`\\textquoteleft`),O(A,j,I,`’`,`'`,!0),O(A,j,I,`’`,`\\textquoteright`),O(A,j,I,`“`,"``",!0),O(A,j,I,`“`,`\\textquotedblleft`),O(A,j,I,`”`,`''`,!0),O(A,j,I,`”`,`\\textquotedblright`),O(k,j,I,`°`,`\\degree`,!0),O(A,j,I,`°`,`\\degree`),O(A,j,I,`°`,`\\textdegree`,!0),O(k,j,I,`£`,`\\pounds`),O(k,j,I,`£`,`\\mathsterling`,!0),O(A,j,I,`£`,`\\pounds`),O(A,j,I,`£`,`\\textsterling`,!0),O(k,M,I,`✠`,`\\maltese`),O(A,M,I,`✠`,`\\maltese`);for(var Pt=`0123456789/@."`,Ft=0;Ft<Pt.length;Ft++){var It=Pt.charAt(Ft);O(k,j,I,It,It)}for(var Lt=`0123456789!@*()-=+";:?/.,`,Rt=0;Rt<Lt.length;Rt++){var zt=Lt.charAt(Rt);O(A,j,I,zt,zt)}for(var Bt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,Vt=0;Vt<Bt.length;Vt++){var Ht=Bt.charAt(Vt);O(k,j,P,Ht,Ht),O(A,j,I,Ht,Ht)}O(k,M,I,`C`,`ℂ`),O(A,M,I,`C`,`ℂ`),O(k,M,I,`H`,`ℍ`),O(A,M,I,`H`,`ℍ`),O(k,M,I,`N`,`ℕ`),O(A,M,I,`N`,`ℕ`),O(k,M,I,`P`,`ℙ`),O(A,M,I,`P`,`ℙ`),O(k,M,I,`Q`,`ℚ`),O(A,M,I,`Q`,`ℚ`),O(k,M,I,`R`,`ℝ`),O(A,M,I,`R`,`ℝ`),O(k,M,I,`Z`,`ℤ`),O(A,M,I,`Z`,`ℤ`),O(k,j,P,`h`,`ℎ`),O(A,j,P,`h`,`ℎ`);for(var L,Ut=0;Ut<Bt.length;Ut++){var Wt=Bt.charAt(Ut);L=String.fromCharCode(55349,56320+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),L=String.fromCharCode(55349,56372+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),L=String.fromCharCode(55349,56424+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),L=String.fromCharCode(55349,56580+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),L=String.fromCharCode(55349,56684+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),L=String.fromCharCode(55349,56736+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),L=String.fromCharCode(55349,56788+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),L=String.fromCharCode(55349,56840+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),L=String.fromCharCode(55349,56944+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),Ut<26&&(L=String.fromCharCode(55349,56632+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L),L=String.fromCharCode(55349,56476+Ut),O(k,j,P,Wt,L),O(A,j,I,Wt,L))}L=String.fromCharCode(55349,56668),O(k,j,P,`k`,L),O(A,j,I,`k`,L);for(var Gt=0;Gt<10;Gt++){var Kt=Gt.toString();L=String.fromCharCode(55349,57294+Gt),O(k,j,P,Kt,L),O(A,j,I,Kt,L),L=String.fromCharCode(55349,57314+Gt),O(k,j,P,Kt,L),O(A,j,I,Kt,L),L=String.fromCharCode(55349,57324+Gt),O(k,j,P,Kt,L),O(A,j,I,Kt,L),L=String.fromCharCode(55349,57334+Gt),O(k,j,P,Kt,L),O(A,j,I,Kt,L)}for(var qt=`ÐÞþ`,Jt=0;Jt<qt.length;Jt++){var Yt=qt.charAt(Jt);O(k,j,P,Yt,Yt),O(A,j,I,Yt,Yt)}var Xt={mathClass:`mathbf`,textClass:`textbf`,font:`Main-Bold`},Zt={mathClass:`mathnormal`,textClass:`textit`,font:`Math-Italic`},Qt={mathClass:`boldsymbol`,textClass:`boldsymbol`,font:`Main-BoldItalic`},$t={mathClass:`mathscr`,textClass:`textscr`,font:`Script-Regular`},en={mathClass:``,textClass:``,font:``},tn={mathClass:`mathfrak`,textClass:`textfrak`,font:`Fraktur-Regular`},nn={mathClass:`mathbb`,textClass:`textbb`,font:`AMS-Regular`},rn={mathClass:`mathboldfrak`,textClass:`textboldfrak`,font:`Fraktur-Regular`},an={mathClass:`mathsf`,textClass:`textsf`,font:`SansSerif-Regular`},on={mathClass:`mathboldsf`,textClass:`textboldsf`,font:`SansSerif-Bold`},sn={mathClass:`mathitsf`,textClass:`textitsf`,font:`SansSerif-Italic`},cn={mathClass:`mathtt`,textClass:`texttt`,font:`Typewriter-Regular`},ln=[Xt,Xt,Zt,Zt,Qt,Qt,$t,en,en,en,tn,tn,nn,nn,rn,rn,an,an,on,on,sn,sn,en,en,cn,cn],un=[Xt,en,an,on,cn],dn=e=>{var t=e.charCodeAt(0),n=e.charCodeAt(1),r=(t-55296)*1024+(n-56320)+65536;if(119808<=r&&r<120484)return ln[Math.floor((r-119808)/26)];if(120782<=r&&r<=120831)return un[Math.floor((r-120782)/10)];if(r===120485||r===120486)return ln[0];if(120486<r&&r<120782)return en;throw new T(`Unsupported character: `+e)},fn=function(e,t,n){if(Tt[n][e]){var r=Tt[n][e].replace;r&&(e=r)}return{value:e,metrics:St(e,t,n)}},pn=function(e,t,n,r,i){var a=fn(e,t,n),o=a.metrics;e=a.value;var s;if(o){var c=o.italic;(n===`text`||r&&r.font===`mathit`)&&(c=0),s=new dt(e,o.height,o.depth,c,o.skew,o.width,i)}else typeof console<`u`&&console.warn(`No character metrics `+(`for '`+e+`' in style '`+t+`' and mode '`+n+`'`)),s=new dt(e,0,0,0,0,0,i);if(r){s.maxFontSize=r.sizeMultiplier,r.style.isTight()&&s.classes.push(`mtight`);var l=r.getColor();l&&(s.style.color=l)}return s},mn=function(e,t,n,r){return r===void 0&&(r=[]),n.font===`boldsymbol`&&fn(e,`Main-Bold`,t).metrics?pn(e,`Main-Bold`,t,n,r.concat([`mathbf`])):e===`\\`||Tt[t][e].font===`main`?pn(e,`Main-Regular`,t,n,r):pn(e,`AMS-Regular`,t,n,r.concat([`amsrm`]))},hn=function(e,t,n){return n!==`textord`&&fn(e,`Math-BoldItalic`,t).metrics?{fontName:`Math-BoldItalic`,fontClass:`boldsymbol`}:{fontName:`Main-Bold`,fontClass:`mathbf`}},gn=function(e,t,n){var r=e.mode,i=e.text,a=[`mord`],{font:o,fontFamily:s,fontWeight:c,fontShape:l}=t,u=r===`math`||r===`text`&&!!o,d=u?o:s,f=``,p=``;if(i.charCodeAt(0)===55349){var m=dn(i);f=m.font,p=m[r+`Class`]}if(f)return pn(i,f,r,t,a.concat(p));if(d){var h,g;if(d===`boldsymbol`){var _=hn(i,r,n);h=_.fontName,g=[_.fontClass]}else u?(h=On[o].fontName,g=[o]):(h=Dn(s,c,l),g=[s,c,l]);if(fn(i,h,r).metrics)return pn(i,h,r,t,a.concat(g));if(Nt.hasOwnProperty(i)&&h.slice(0,10)===`Typewriter`){for(var v=[],y=0;y<i.length;y++)v.push(pn(i[y],h,r,t,a.concat(g)));return Cn(v)}}if(n===`mathord`)return pn(i,`Math-Italic`,r,t,a.concat([`mathnormal`]));if(n===`textord`){var b=Tt[r][i]&&Tt[r][i].font;if(b===`ams`)return pn(i,Dn(`amsrm`,c,l),r,t,a.concat(`amsrm`,c,l));if(b===`main`||!b)return pn(i,Dn(`textrm`,c,l),r,t,a.concat(c,l));var x=Dn(b,c,l);return pn(i,x,r,t,a.concat(x,c,l))}throw Error(`unexpected type: `+n+` in makeOrd`)},_n=(e,t)=>{if(tt(e.classes)!==tt(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 r of Object.keys(e.style))if(e.style[r]!==t.style[r])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},vn=e=>{for(var t=0;t<e.length-1;t++){var n=e[t],r=e[t+1];n instanceof dt&&r instanceof dt&&_n(n,r)&&(n.text+=r.text,n.height=Math.max(n.height,r.height),n.depth=Math.max(n.depth,r.depth),n.italic=r.italic,e.splice(t+1,1),t--)}return e},yn=function(e){for(var t=0,n=0,r=0,i=0;i<e.children.length;i++){var a=e.children[i];a.height>t&&(t=a.height),a.depth>n&&(n=a.depth),a.maxFontSize>r&&(r=a.maxFontSize)}e.height=t,e.depth=n,e.maxFontSize=r},R=function(e,t,n,r){var i=new st(e,t,n,r);return yn(i),i},bn=(e,t,n,r)=>new st(e,t,n,r),xn=function(e,t,n){var r=R([e],[],t);return r.height=Math.max(n||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),r.style.borderBottomWidth=D(r.height),r.maxFontSize=1,r},Sn=function(e,t,n,r){var i=new ct(e,t,n,r);return yn(i),i},Cn=function(e){var t=new Xe(e);return yn(t),t},wn=function(e,t){return e instanceof Xe?R([],[e],t):e},Tn=function(e){if(e.positionType===`individualShift`){for(var t=e.children,n=[t[0]],r=-t[0].shift-t[0].elem.depth,i=r,a=1;a<t.length;a++){var o=-t[a].shift-i-t[a].elem.depth,s=o-(t[a-1].elem.height+t[a-1].elem.depth);i+=o,n.push({type:`kern`,size:s}),n.push(t[a])}return{children:n,depth:r}}var c;if(e.positionType===`top`){for(var l=e.positionData,u=0;u<e.children.length;u++){var d=e.children[u];l-=d.type===`kern`?d.size:d.elem.height+d.elem.depth}c=l}else if(e.positionType===`bottom`)c=-e.positionData;else{var f=e.children[0];if(f.type!==`elem`)throw Error(`First child must have type "elem".`);if(e.positionType===`shift`)c=-f.elem.depth-e.positionData;else if(e.positionType===`firstBaseline`)c=-f.elem.depth;else throw Error(`Invalid positionType `+e.positionType+`.`)}return{children:e.children,depth:c}},z=function(e,t){for(var{children:n,depth:r}=Tn(e),i=0,a=0;a<n.length;a++){var o=n[a];if(o.type===`elem`){var s=o.elem;i=Math.max(i,s.maxFontSize,s.height)}}i+=2;var c=R([`pstrut`],[]);c.style.height=D(i);for(var l=[],u=r,d=r,f=r,p=0;p<n.length;p++){var m=n[p];if(m.type===`kern`)f+=m.size;else{var h=m.elem,g=m.wrapperClasses||[],_=m.wrapperStyle||{},v=R(g,[c,h],void 0,_);v.style.top=D(-i-f-h.depth),m.marginLeft&&(v.style.marginLeft=m.marginLeft),m.marginRight&&(v.style.marginRight=m.marginRight),l.push(v),f+=h.height+h.depth}u=Math.min(u,f),d=Math.max(d,f)}var y=R([`vlist`],l);y.style.height=D(d);var b;if(u<0){var x=R([`vlist`],[R([],[])]);x.style.height=D(-u),b=[R([`vlist-r`],[y,R([`vlist-s`],[new dt(``)])]),R([`vlist-r`],[x])]}else b=[R([`vlist-r`],[y])];var S=R([`vlist-t`],b);return b.length===2&&S.classes.push(`vlist-t2`),S.height=d,S.depth=-u,S},En=(e,t)=>{var n=R([`mspace`],[],t),r=et(e,t);return n.style.marginRight=D(r),n},Dn=(e,t,n)=>{var r,i;switch(e){case`amsrm`:r=`AMS`;break;case`textrm`:r=`Main`;break;case`textsf`:r=`SansSerif`;break;case`texttt`:r=`Typewriter`;break;default:r=e}return i=t===`textbf`&&n===`textit`?`BoldItalic`:t===`textbf`?`Bold`:n===`textit`?`Italic`:`Regular`,r+`-`+i},On={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`}},kn={vec:[`vec`,.471,.714],oiintSize1:[`oiintSize1`,.957,.499],oiintSize2:[`oiintSize2`,1.472,.659],oiiintSize1:[`oiiintSize1`,1.304,.499],oiiintSize2:[`oiiintSize2`,1.98,.659]},An=function(e,t){var[n,r,i]=kn[e],a=bn([`overlay`],[new ft([new pt(n)],{width:D(r),height:D(i),style:`width:`+D(r),viewBox:`0 0 `+1e3*r+` `+1e3*i,preserveAspectRatio:`xMinYMin`})],t);return a.height=i,a.style.height=D(i),a.style.width=D(r),a},jn={number:3,unit:`mu`},Mn={number:4,unit:`mu`},Nn={number:5,unit:`mu`},Pn={mord:{mop:jn,mbin:Mn,mrel:Nn,minner:jn},mop:{mord:jn,mop:jn,mrel:Nn,minner:jn},mbin:{mord:Mn,mop:Mn,mopen:Mn,minner:Mn},mrel:{mord:Nn,mop:Nn,mopen:Nn,minner:Nn},mopen:{},mclose:{mop:jn,mbin:Mn,mrel:Nn,minner:jn},mpunct:{mord:jn,mop:jn,mrel:Nn,mopen:jn,mclose:jn,mpunct:jn,minner:jn},minner:{mord:jn,mop:jn,mbin:Mn,mrel:Nn,mopen:jn,mpunct:jn,minner:jn}},Fn={mord:{mop:jn},mop:{mord:jn,mop:jn},mbin:{},mrel:{},mopen:{},mclose:{mop:jn},mpunct:{},minner:{mop:jn}},In={},Ln={},Rn={};function B(e){for(var{type:t,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:o}=e,s={type:t,numArgs:r.numArgs,argTypes:r.argTypes,allowedInArgument:!!r.allowedInArgument,allowedInText:!!r.allowedInText,allowedInMath:r.allowedInMath===void 0||r.allowedInMath,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,primitive:!!r.primitive,handler:i},c=0;c<n.length;++c)In[n[c]]=s;t&&(a&&(Ln[t]=a),o&&(Rn[t]=o))}function zn(e){var{type:t,htmlBuilder:n,mathmlBuilder:r}=e;B({type:t,names:[],props:{numArgs:0},handler(){throw Error(`Should never be called.`)},htmlBuilder:n,mathmlBuilder:r})}var Bn=function(e){return e.type===`ordgroup`&&e.body.length===1?e.body[0]:e},Vn=function(e){return e.type===`ordgroup`?e.body:[e]},Hn=new Set([`leftmost`,`mbin`,`mopen`,`mrel`,`mop`,`mpunct`]),Un=new Set([`rightmost`,`mrel`,`mclose`,`mpunct`]),Wn={display:E.DISPLAY,text:E.TEXT,script:E.SCRIPT,scriptscript:E.SCRIPTSCRIPT},Gn={mord:`mord`,mop:`mop`,mbin:`mbin`,mrel:`mrel`,mopen:`mopen`,mclose:`mclose`,mpunct:`mpunct`,minner:`minner`},Kn=function(e,t,n,r){r===void 0&&(r=[null,null]);for(var i=[],a=0;a<e.length;a++){var o=V(e[a],t);if(o instanceof Xe){var s=o.children;i.push(...s)}else i.push(o)}if(vn(i),!n)return i;var c=t;if(e.length===1){var l=e[0];l.type===`sizing`?c=t.havingSize(l.size):l.type===`styling`&&(c=t.havingStyle(Wn[l.style]))}var u=R([r[0]||`leftmost`],[],t),d=R([r[1]||`rightmost`],[],t),f=n===`root`;return qn(i,(e,t)=>{var n=t.classes[0],r=e.classes[0];n===`mbin`&&Un.has(r)?t.classes[0]=`mord`:r===`mbin`&&Hn.has(n)&&(e.classes[0]=`mord`)},{node:u},d,f),qn(i,(e,t)=>{var n=Xn(t),r=Xn(e),i=n&&r?e.hasClass(`mtight`)?Fn[n]?.[r]:Pn[n]?.[r]:null;if(i)return En(i,c)},{node:u},d,f),i},qn=function(e,t,n,r,i){r&&e.push(r);for(var a=0;a<e.length;a++){var o=e[a],s=Jn(o);if(s){qn(s.children,t,n,null,i);continue}var c=!o.hasClass(`mspace`);if(c){var l=t(o,n.node);l&&(n.insertAfter?n.insertAfter(l):(e.unshift(l),a++))}c?n.node=o:i&&o.hasClass(`newline`)&&(n.node=R([`leftmost`])),n.insertAfter=(t=>n=>{e.splice(t+1,0,n),a++})(a)}r&&e.pop()},Jn=function(e){return e instanceof Xe||e instanceof ct||e instanceof st&&e.hasClass(`enclosing`)?e:null},Yn=function(e,t){var n=Jn(e);if(n){var r=n.children;if(r.length){if(t===`right`)return Yn(r[r.length-1],`right`);if(t===`left`)return Yn(r[0],`left`)}}return e},Xn=function(e,t){return e?(t&&(e=Yn(e,t)),Gn[e.classes[0]]||null):null},Zn=function(e,t){var n=[`nulldelimiter`].concat(e.baseSizingClasses());return R(t.concat(n))},V=function(e,t,n){if(!e)return R();if(Ln[e.type]){var r=Ln[e.type](e,t);if(n&&t.size!==n.size){r=R(t.sizingClasses(n),[r],t);var i=t.sizeMultiplier/n.sizeMultiplier;r.height*=i,r.depth*=i}return r}throw new T(`Got group of unknown type: '`+e.type+`'`)};function Qn(e,t){var n=R([`base`],e,t),r=R([`strut`]);return r.style.height=D(n.height+n.depth),n.depth&&(r.style.verticalAlign=D(-n.depth)),n.children.unshift(r),n}function $n(e,t){var n=null;e.length===1&&e[0].type===`tag`&&(n=e[0].tag,e=e[0].body);var r=Kn(e,t,`root`),i;r.length===2&&r[1].hasClass(`tag`)&&(i=r.pop());for(var a=[],o=[],s=0;s<r.length;s++)if(o.push(r[s]),r[s].hasClass(`mbin`)||r[s].hasClass(`mrel`)||r[s].hasClass(`allowbreak`)){for(var c=!1;s<r.length-1&&r[s+1].hasClass(`mspace`)&&!r[s+1].hasClass(`newline`);)s++,o.push(r[s]),r[s].hasClass(`nobreak`)&&(c=!0);c||(a.push(Qn(o,t)),o=[])}else r[s].hasClass(`newline`)&&(o.pop(),o.length>0&&(a.push(Qn(o,t)),o=[]),a.push(r[s]));o.length>0&&a.push(Qn(o,t));var l;n?(l=Qn(Kn(n,t,!0),t),l.classes=[`tag`],a.push(l)):i&&a.push(i);var u=R([`katex-html`],a);if(u.setAttribute(`aria-hidden`,`true`),l){var d=l.children[0];d.style.height=D(u.height+u.depth),u.depth&&(d.style.verticalAlign=D(-u.depth))}return u}function er(e){return new Xe(e)}var H=class{constructor(e,t,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=n||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=tt(this.classes));for(var n=0;n<this.children.length;n++)if(this.children[n]instanceof tr&&this.children[n+1]instanceof tr){for(var r=this.children[n].toText()+this.children[++n].toText();this.children[n+1]instanceof tr;)r+=this.children[++n].toText();e.appendChild(new tr(r).toNode())}else e.appendChild(this.children[n].toNode());return e}toMarkup(){var e=`<`+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=` `+t+`="`,e+=oe(this.attributes[t]),e+=`"`);this.classes.length>0&&(e+=` class ="`+oe(tt(this.classes))+`"`),e+=`>`;for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+=`</`+this.type+`>`,e}toText(){return this.children.map(e=>e.toText()).join(``)}},tr=class{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return oe(this.toText())}toText(){return this.text}},nr=class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?` `:e>=.1666&&e<=.1667?` `:e>=.2222&&e<=.2223?` `:e>=.2777&&e<=.2778?` `:e>=-.05556&&e<=-.05555?` `:e>=-.1667&&e<=-.1666?` `:e>=-.2223&&e<=-.2222?` `:e>=-.2778&&e<=-.2777?` `:null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`mspace`);return e.setAttribute(`width`,D(this.width)),e}toMarkup(){return this.character?`<mtext>`+this.character+`</mtext>`:`<mspace width="`+D(this.width)+`"/>`}toText(){return this.character?this.character:` `}},rr=new Set([`\\imath`,`\\jmath`]),ir=new Set([`mrow`,`mtable`]),ar=function(e,t,n){return Tt[t][e]&&Tt[t][e].replace&&e.charCodeAt(0)!==55349&&!(Nt.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)===`tt`||n.font&&n.font.slice(4,6)===`tt`))&&(e=Tt[t][e].replace),new tr(e)},or=function(e){return e.length===1?e[0]:new H(`mrow`,e)},sr={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`},cr=(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 r=e.mode,i=sr[n];if(i)return typeof i==`function`?i(e):i;var a=e.text;if(rr.has(a))return null;if(Tt[r][a]){var o=Tt[r][a].replace;o&&(a=o)}var s=On[n].fontName;return St(a,s,r)?On[n].variant:null};function lr(e){if(!e)return!1;if(e.type===`mi`&&e.children.length===1){var t=e.children[0];return t instanceof tr&&t.text===`.`}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 tr&&n.text===`,`}return!1}var ur=function(e,t,n){if(e.length===1){var r=fr(e[0],t);return n&&r instanceof H&&r.type===`mo`&&(r.setAttribute(`lspace`,`0em`),r.setAttribute(`rspace`,`0em`)),[r]}for(var i=[],a,o=0;o<e.length;o++){var s=fr(e[o],t);if(s instanceof H&&a instanceof H){if(s.type===`mtext`&&a.type===`mtext`&&s.getAttribute(`mathvariant`)===a.getAttribute(`mathvariant`)){a.children.push(...s.children);continue}if(s.type===`mn`&&a.type===`mn`){a.children.push(...s.children);continue}if(lr(s)&&a.type===`mn`){a.children.push(...s.children);continue}if(s.type===`mn`&&lr(a))s.children=[...a.children,...s.children],i.pop();else if((s.type===`msup`||s.type===`msub`)&&s.children.length>=1&&(a.type===`mn`||lr(a))){var c=s.children[0];c instanceof H&&c.type===`mn`&&(c.children=[...a.children,...c.children],i.pop())}else if(a.type===`mi`&&a.children.length===1){var l=a.children[0];if(l instanceof tr&&l.text===`̸`&&(s.type===`mo`||s.type===`mi`||s.type===`mn`)){var u=s.children[0];u instanceof tr&&u.text.length>0&&(u.text=u.text.slice(0,1)+`̸`+u.text.slice(1),i.pop())}}}i.push(s),a=s}return i},dr=function(e,t,n){return or(ur(e,t,n))},fr=function(e,t){if(!e)return new H(`mrow`);if(Rn[e.type])return Rn[e.type](e,t);throw new T(`Got group of unknown type: '`+e.type+`'`)};function pr(e,t,n,r,i){var a=ur(e,n),o=a.length===1&&a[0]instanceof H&&ir.has(a[0].type)?a[0]:new H(`mrow`,a),s=new H(`annotation`,[new tr(t)]);s.setAttribute(`encoding`,`application/x-tex`);var c=new H(`math`,[new H(`semantics`,[o,s])]);return c.setAttribute(`xmlns`,`http://www.w3.org/1998/Math/MathML`),r&&c.setAttribute(`display`,`block`),R([i?`katex`:`katex-mathml`],[c])}var mr=[[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]],hr=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],gr=function(e,t){return t.size<2?e:mr[e-1][t.size-1]},_r=class e{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||e.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=hr[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 e(n)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:gr(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:hr[e-1]})}havingBaseStyle(t){t||=this.style.text();var n=gr(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:``})}withTextFontWeight(e){return this.extend({fontWeight:e,font:``})}withTextFontShape(e){return this.extend({fontShape:e,font:``})}sizingClasses(e){return e.size===this.size?[]:[`sizing`,`reset-size`+e.size,`size`+this.size]}baseSizingClasses(){return this.size===e.BASESIZE?[]:[`sizing`,`reset-size`+this.size,`size`+e.BASESIZE]}fontMetrics(){return this._fontMetrics||=wt(this.size),this._fontMetrics}getColor(){return this.phantom?`transparent`:this.color}};_r.BASESIZE=6;var vr=function(e){return new _r({style:e.displayMode?E.DISPLAY:E.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},yr=function(e,t){if(t.displayMode){var n=[`katex-display`];t.leqno&&n.push(`leqno`),t.fleqn&&n.push(`fleqn`),e=R(n,[e])}return e},br=function(e,t,n){var r=vr(n),i;return n.output===`mathml`?pr(e,t,r,n.displayMode,!0):(i=n.output===`html`?R([`katex`],[$n(e,r)]):R([`katex`],[pr(e,t,r,n.displayMode,!1),$n(e,r)]),yr(i,n))},xr=function(e,t,n){return yr(R([`katex`],[$n(e,vr(n))]),n)},Sr={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":`=`},Cr=function(e){var t=new H(`mo`,[new tr(Sr[e.replace(/^\\/,``)])]);return t.setAttribute(`stretchy`,`true`),t},wr={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]},Tr=new Set([`widehat`,`widecheck`,`widetilde`,`utilde`]),Er=function(e,t){function n(){var n=4e5,r=e.label.slice(1);if(Tr.has(r)&&`base`in e){var i=e.base.type===`ordgroup`?e.base.body.length:1,a,o,s;if(i>5)r===`widehat`||r===`widecheck`?(a=420,n=2364,s=.42,o=r+`4`):(a=312,n=2340,s=.34,o=`tilde4`);else{var c=[1,1,2,2,3,3][i];r===`widehat`||r===`widecheck`?(n=[0,1062,2364,2364,2364][c],a=[0,239,300,360,420][c],s=[0,.24,.3,.3,.36,.42][c],o=r+c):(n=[0,600,1033,2339,2340][c],a=[0,260,286,306,312][c],s=[0,.26,.286,.3,.306,.34][c],o=`tilde`+c)}return{span:bn([],[new ft([new pt(o)],{width:`100%`,height:D(s),viewBox:`0 0 `+n+` `+a,preserveAspectRatio:`none`})],t),minWidth:0,height:s}}var l=[],u=wr[r];if(!u)throw Error(`No SVG data for "`+r+`".`);var[d,f,p]=u,m=p/1e3,h=d.length,g,_;if(h===1){if(u.length!==4)throw Error(`Expected 4-tuple for single-path SVG data "`+r+`".`);g=[`hide-tail`],_=[u[3]]}else if(h===2)g=[`halfarrow-left`,`halfarrow-right`],_=[`xMinYMin`,`xMaxYMin`];else if(h===3)g=[`brace-left`,`brace-center`,`brace-right`],_=[`xMinYMin`,`xMidYMin`,`xMaxYMin`];else throw Error(`Correct katexImagesData or update code here to support
|
|
252
|
+
`+h+` children.`);for(var v=0;v<h;v++){var y=new ft([new pt(d[v])],{width:`400em`,height:D(m),viewBox:`0 0 `+n+` `+p,preserveAspectRatio:_[v]+` slice`}),b=bn([g[v]],[y],t);if(h===1)return{span:b,minWidth:f,height:m};b.style.height=D(m),l.push(b)}return{span:R([`stretchy`],l,t),minWidth:f,height:m}}var{span:r,minWidth:i,height:a}=n();return r.height=a,r.style.height=D(a),i>0&&(r.style.minWidth=D(i)),r},Dr=function(e,t,n,r,i){var a,o=e.height+e.depth+n+r;if(/fbox|color|angl/.test(t)){if(a=R([`stretchy`,t],[],i),t===`fbox`){var s=i.color&&i.getColor();s&&(a.style.borderColor=s)}}else{var c=[];/^[bx]cancel$/.test(t)&&c.push(new mt({x1:`0`,y1:`0`,x2:`100%`,y2:`100%`,"stroke-width":`0.046em`})),/^x?cancel$/.test(t)&&c.push(new mt({x1:`0`,y1:`100%`,x2:`100%`,y2:`0`,"stroke-width":`0.046em`})),a=bn([],[new ft(c,{width:`100%`,height:D(o)})],i)}return a.height=o,a.style.height=D(o),a},Or={bin:1,close:1,inner:1,open:1,punct:1,rel:1},kr={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function Ar(e){return e in Or}function U(e,t){if(!e||e.type!==t)throw Error(`Expected node of type `+t+`, but got `+(e?`node of type `+e.type:String(e)));return e}function jr(e){var t=Mr(e);if(!t)throw Error(`Expected node of symbol group type, but got `+(e?`node of type `+e.type:String(e)));return t}function Mr(e){return e&&(e.type===`atom`||kr.hasOwnProperty(e.type))?e:null}var Nr=e=>{if(e instanceof dt)return e;if(_t(e)&&e.children.length===1)return Nr(e.children[0])},Pr=(e,t)=>{var n,r,i;e&&e.type===`supsub`?(r=U(e.base,`accent`),n=r.base,e.base=n,i=gt(V(e,t)),e.base=r):(r=U(e,`accent`),n=r.base);var a=V(n,t.havingCrampedStyle()),o=r.isShifty&&le(n),s=0;o&&(s=Nr(a)?.skew??0);var c=r.label===`\\c`,l=c?a.height+a.depth:Math.min(a.height,t.fontMetrics().xHeight),u;if(r.isStretchy)u=Er(r,t),u=z({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`elem`,elem:u,wrapperClasses:[`svg-align`],wrapperStyle:s>0?{width:`calc(100% - `+D(2*s)+`)`,marginLeft:D(2*s)}:void 0}]});else{var d,f;r.label===`\\vec`?(d=An(`vec`,t),f=kn.vec[1]):(d=gn({type:`textord`,mode:r.mode,text:r.label},t,`textord`),d=ht(d),d.italic=0,f=d.width,c&&(l+=d.depth)),u=R([`accent-body`],[d]);var p=r.label===`\\textcircled`;p&&(u.classes.push(`accent-full`),l=a.height);var m=s;p||(m-=f/2),u.style.left=D(m),r.label===`\\textcircled`&&(u.style.top=`.2em`),u=z({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:-l},{type:`elem`,elem:u}]})}var h=R([`mord`,`accent`],[u],t);return i?(i.children[0]=h,i.height=Math.max(h.height,i.height),i.classes[0]=`mord`,i):h},Fr=(e,t)=>{var n=e.isStretchy?Cr(e.label):new H(`mo`,[ar(e.label,e.mode)]),r=new H(`mover`,[fr(e.base,t),n]);return r.setAttribute(`accent`,`true`),r},Ir=new RegExp([`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`].map(e=>`\\`+e).join(`|`));B({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=Bn(t[0]),r=!Ir.test(e.funcName),i=!r||e.funcName===`\\widehat`||e.funcName===`\\widetilde`||e.funcName===`\\widecheck`;return{type:`accent`,mode:e.parser.mode,label:e.funcName,isStretchy:r,isShifty:i,base:n}},htmlBuilder:Pr,mathmlBuilder:Fr}),B({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],r=e.parser.mode;return r===`math`&&(e.parser.settings.reportNonstrict(`mathVsTextAccents`,`LaTeX's accent `+e.funcName+` works only in text mode`),r=`text`),{type:`accent`,mode:r,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}},htmlBuilder:Pr,mathmlBuilder:Fr}),B({type:`accentUnder`,names:[`\\underleftarrow`,`\\underrightarrow`,`\\underleftrightarrow`,`\\undergroup`,`\\underlinesegment`,`\\utilde`],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`accentUnder`,mode:n.mode,label:r,base:i}},htmlBuilder:(e,t)=>{var n=V(e.base,t),r=Er(e,t),i=e.label===`\\utilde`?.12:0;return R([`mord`,`accentunder`],[z({positionType:`top`,positionData:n.height,children:[{type:`elem`,elem:r,wrapperClasses:[`svg-align`]},{type:`kern`,size:i},{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=Cr(e.label),r=new H(`munder`,[fr(e.base,t),n]);return r.setAttribute(`accentunder`,`true`),r}});var Lr=e=>{var t=new H(`mpadded`,e?[e]:[]);return t.setAttribute(`width`,`+0.6em`),t.setAttribute(`lspace`,`0.3em`),t};B({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:r,funcName:i}=e;return{type:`xArrow`,mode:r.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,r=t.havingStyle(n.sup()),i=wn(V(e.body,r,t),t),a=e.label.slice(0,2)===`\\x`?`x`:`cd`;i.classes.push(a+`-arrow-pad`);var o;e.below&&(r=t.havingStyle(n.sub()),o=wn(V(e.below,r,t),t),o.classes.push(a+`-arrow-pad`));var s=Er(e,t),c=-t.fontMetrics().axisHeight+.5*s.height,l=-t.fontMetrics().axisHeight-.5*s.height-.111;(i.depth>.25||e.label===`\\xleftequilibrium`)&&(l-=i.depth);var u;if(o){var d=-t.fontMetrics().axisHeight+o.height+.5*s.height+.111;u=z({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]},{type:`elem`,elem:o,shift:d}]})}else u=z({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]}]});return R([`mrel`,`x-arrow`],[u],t)},mathmlBuilder(e,t){var n=Cr(e.label);n.setAttribute(`minsize`,e.label.charAt(0)===`x`?`1.75em`:`3.0em`);var r;if(e.body){var i=Lr(fr(e.body,t));r=e.below?new H(`munderover`,[n,Lr(fr(e.below,t)),i]):new H(`mover`,[n,i])}else e.below?r=new H(`munder`,[n,Lr(fr(e.below,t))]):(r=Lr(),r=new H(`mover`,[n,r]));return r}});function Rr(e,t){var n=Kn(e.body,t,!0);return R([e.mclass],n,t)}function zr(e,t){var n,r=ur(e.body,t);return e.mclass===`minner`?n=new H(`mpadded`,r):e.mclass===`mord`?e.isCharacterBox?(n=r[0],n.type=`mi`):n=new H(`mi`,r):(e.isCharacterBox?(n=r[0],n.type=`mo`):n=new H(`mo`,r),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}B({type:`mclass`,names:[`\\mathord`,`\\mathbin`,`\\mathrel`,`\\mathopen`,`\\mathclose`,`\\mathpunct`,`\\mathinner`],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`mclass`,mode:n.mode,mclass:`m`+r.slice(5),body:Vn(i),isCharacterBox:le(i)}},htmlBuilder:Rr,mathmlBuilder:zr});var Br=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`};B({type:`mclass`,names:[`\\@binrel`],props:{numArgs:2},handler(e,t){var{parser:n}=e;return{type:`mclass`,mode:n.mode,mclass:Br(t[0]),body:Vn(t[1]),isCharacterBox:le(t[1])}}}),B({type:`mclass`,names:[`\\stackrel`,`\\overset`,`\\underset`],props:{numArgs:2},handler(e,t){var{parser:n,funcName:r}=e,i=t[1],a=t[0],o=r===`\\stackrel`?`mrel`:Br(i),s={type:`op`,mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:r!==`\\stackrel`,body:Vn(i)},c={type:`supsub`,mode:a.mode,base:s,sup:r===`\\underset`?null:a,sub:r===`\\underset`?a:null};return{type:`mclass`,mode:n.mode,mclass:o,body:[c],isCharacterBox:le(c)}},htmlBuilder:Rr,mathmlBuilder:zr}),B({type:`pmb`,names:[`\\pmb`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`pmb`,mode:n.mode,mclass:Br(t[0]),body:Vn(t[0])}},htmlBuilder(e,t){var n=Kn(e.body,t,!0),r=R([e.mclass],n,t);return r.style.textShadow=`0.02em 0.01em 0.04px`,r},mathmlBuilder(e,t){var n=new H(`mstyle`,ur(e.body,t));return n.setAttribute(`style`,`text-shadow: 0.02em 0.01em 0.04px`),n}});var Vr={">":`\\\\cdrightarrow`,"<":`\\\\cdleftarrow`,"=":`\\\\cdlongequal`,A:`\\uparrow`,V:`\\downarrow`,"|":`\\Vert`,".":`no arrow`},Hr=()=>({type:`styling`,body:[],mode:`math`,style:`display`,resetFont:!0}),Ur=e=>e.type===`textord`&&e.text===`@`,Wr=(e,t)=>(e.type===`mathord`||e.type===`atom`)&&e.text===t;function Gr(e,t,n){var r=Vr[e];switch(r){case`\\\\cdrightarrow`:case`\\\\cdleftarrow`:return n.callFunction(r,[t[0]],[t[1]]);case`\\uparrow`:case`\\downarrow`:var i=n.callFunction(`\\\\cdleft`,[t[0]],[]),a={type:`atom`,text:r,mode:`math`,family:`rel`},o={type:`ordgroup`,mode:`math`,body:[i,n.callFunction(`\\Big`,[a],[]),n.callFunction(`\\\\cdright`,[t[1]],[])]};return n.callFunction(`\\\\cdparent`,[o],[]);case`\\\\cdlongequal`:return n.callFunction(`\\\\cdlongequal`,[],[]);case`\\Vert`:return n.callFunction(`\\Big`,[{type:`textord`,text:`\\Vert`,mode:`math`}],[]);default:return{type:`textord`,text:` `,mode:`math`}}}function Kr(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 T(`Expected \\\\ or \\cr or \\end`,e.nextToken)}for(var r=[],i=[r],a=0;a<t.length;a++){for(var o=t[a],s=Hr(),c=0;c<o.length;c++)if(!Ur(o[c]))s.body.push(o[c]);else{r.push(s),c+=1;var l=jr(o[c]).text,u=[,,];if(u[0]={type:`ordgroup`,mode:`math`,body:[]},u[1]={type:`ordgroup`,mode:`math`,body:[]},!`=|.`.includes(l)){if(`<>AV`.includes(l))for(var d=0;d<2;d++){for(var f=!0,p=c+1;p<o.length;p++){if(Wr(o[p],l)){f=!1,c=p;break}if(Ur(o[p]))throw new T(`Missing a `+l+` character to complete a CD arrow.`,o[p]);u[d].body.push(o[p])}if(f)throw new T(`Missing a `+l+` character to complete a CD arrow.`,o[c])}else throw new T(`Expected one of "<>AV=|." after @`,o[c])}var m={type:`styling`,body:[Gr(l,u,e)],mode:`math`,style:`display`,resetFont:!0};r.push(m),s=Hr()}a%2==0?r.push(s):r.shift(),r=[],i.push(r)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:`math`,body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:Array(i[0].length).fill({type:`align`,align:`c`,pregap:.25,postgap:.25}),colSeparationType:`CD`,hLinesBeforeRow:Array(i.length+1).fill([])}}B({type:`cdlabel`,names:[`\\\\cdleft`,`\\\\cdright`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e;return{type:`cdlabel`,mode:n.mode,side:r.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),r=wn(V(e.label,n,t),t);return r.classes.push(`cd-label-`+e.side),r.style.bottom=D(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder(e,t){var n=new H(`mrow`,[fr(e.label,t)]);return n=new H(`mpadded`,[n]),n.setAttribute(`width`,`0`),e.side===`left`&&n.setAttribute(`lspace`,`-1width`),n.setAttribute(`voffset`,`0.7em`),n=new H(`mstyle`,[n]),n.setAttribute(`displaystyle`,`false`),n.setAttribute(`scriptlevel`,`1`),n}}),B({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=wn(V(e.fragment,t),t);return n.classes.push(`cd-vert-arrow`),n},mathmlBuilder(e,t){return new H(`mrow`,[fr(e.fragment,t)])}}),B({type:`textord`,names:[`\\@char`],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var{parser:n}=e,r=U(t[0],`ordgroup`).body,i=``,a=0;a<r.length;a++){var o=U(r[a],`textord`);i+=o.text}var s=parseInt(i),c;if(isNaN(s))throw new T(`\\@char has non-numeric argument `+i);if(s<0||s>=1114111)throw new T(`\\@char with invalid code point `+i);return s<=65535?c=String.fromCharCode(s):(s-=65536,c=String.fromCharCode((s>>10)+55296,(s&1023)+56320)),{type:`textord`,mode:n.mode,text:c}}});var qr=(e,t)=>Cn(Kn(e.body,t.withColor(e.color),!1)),Jr=(e,t)=>{var n=new H(`mstyle`,ur(e.body,t.withColor(e.color)));return n.setAttribute(`mathcolor`,e.color),n};B({type:`color`,names:[`\\textcolor`],props:{numArgs:2,allowedInText:!0,argTypes:[`color`,`original`]},handler(e,t){var{parser:n}=e,r=U(t[0],`color-token`).color,i=t[1];return{type:`color`,mode:n.mode,color:r,body:Vn(i)}},htmlBuilder:qr,mathmlBuilder:Jr}),B({type:`color`,names:[`\\color`],props:{numArgs:1,allowedInText:!0,argTypes:[`color`]},handler(e,t){var{parser:n,breakOnTokenText:r}=e,i=U(t[0],`color-token`).color;n.gullet.macros.set(`\\current@color`,i);var a=n.parseExpression(!0,r);return{type:`color`,mode:n.mode,color:i,body:a}},htmlBuilder:qr,mathmlBuilder:Jr}),B({type:`cr`,names:[`\\\\`],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,n){var{parser:r}=e,i=r.gullet.future().text===`[`?r.parseSizeGroup(!0):null,a=!r.settings.displayMode||!r.settings.useStrictBehavior(`newLineInDisplayMode`,`In LaTeX, \\\\ or \\newline does nothing in display mode`);return{type:`cr`,mode:r.mode,newLine:a,size:i&&U(i,`size`).value}},htmlBuilder(e,t){var n=R([`mspace`],[],t);return e.newLine&&(n.classes.push(`newline`),e.size&&(n.style.marginTop=D(et(e.size,t)))),n},mathmlBuilder(e,t){var n=new H(`mspace`);return e.newLine&&(n.setAttribute(`linebreak`,`newline`),e.size&&n.setAttribute(`height`,D(et(e.size,t)))),n}});var Yr={"\\global":`\\global`,"\\long":`\\\\globallong`,"\\\\globallong":`\\\\globallong`,"\\def":`\\gdef`,"\\gdef":`\\gdef`,"\\edef":`\\xdef`,"\\xdef":`\\xdef`,"\\let":`\\\\globallet`,"\\futurelet":`\\\\globalfuture`},Xr=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new T(`Expected a control sequence`,e);return t},Zr=e=>{var t=e.gullet.popToken();return t.text===`=`&&(t=e.gullet.popToken(),t.text===` `&&(t=e.gullet.popToken())),t},Qr=(e,t,n,r)=>{var i=e.gullet.macros.get(n.text);i??=(n.noexpand=!0,{tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,r)};B({type:`internal`,names:[`\\global`,`\\long`,`\\\\globallong`],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:n}=e;t.consumeSpaces();var r=t.fetch();if(Yr[r.text])return(n===`\\global`||n===`\\\\globallong`)&&(r.text=Yr[r.text]),U(t.parseFunction(),`internal`);throw new T(`Invalid token after macro prefix`,r)}}),B({type:`internal`,names:[`\\def`,`\\gdef`,`\\edef`,`\\xdef`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=t.gullet.popToken(),i=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new T(`Expected a control sequence`,r);for(var a=0,o,s=[[]];t.gullet.future().text!==`{`;)if(r=t.gullet.popToken(),r.text===`#`){if(t.gullet.future().text===`{`){o=t.gullet.future(),s[a].push(`{`);break}if(r=t.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new T(`Invalid argument number "`+r.text+`"`);if(parseInt(r.text)!==a+1)throw new T(`Argument number "`+r.text+`" out of order`);a++,s.push([])}else if(r.text===`EOF`)throw new T(`Expected a macro definition`);else s[a].push(r.text);var{tokens:c}=t.gullet.consumeArg();return o&&c.unshift(o),(n===`\\edef`||n===`\\xdef`)&&(c=t.gullet.expandTokens(c),c.reverse()),t.gullet.macros.set(i,{tokens:c,numArgs:a,delimiters:s},n===Yr[n]),{type:`internal`,mode:t.mode}}}),B({type:`internal`,names:[`\\let`,`\\\\globallet`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=Xr(t.gullet.popToken());return t.gullet.consumeSpaces(),Qr(t,r,Zr(t),n===`\\\\globallet`),{type:`internal`,mode:t.mode}}}),B({type:`internal`,names:[`\\futurelet`,`\\\\globalfuture`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=Xr(t.gullet.popToken()),i=t.gullet.popToken(),a=t.gullet.popToken();return Qr(t,r,a,n===`\\\\globalfuture`),t.gullet.pushToken(a),t.gullet.pushToken(i),{type:`internal`,mode:t.mode}}});var $r=function(e,t,n){var r=St(Tt.math[e]&&Tt.math[e].replace||e,t,n);if(!r)throw Error(`Unsupported symbol `+e+` and font size `+t+`.`);return r},ei=function(e,t,n,r){var i=n.havingBaseStyle(t),a=R(r.concat(i.sizingClasses(n)),[e],n),o=i.sizeMultiplier/n.sizeMultiplier;return a.height*=o,a.depth*=o,a.maxFontSize=i.sizeMultiplier,a},ti=function(e,t,n){var r=t.havingBaseStyle(n),i=(1-t.sizeMultiplier/r.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push(`delimcenter`),e.style.top=D(i),e.height-=i,e.depth+=i},ni=function(e,t,n,r,i,a){var o=ei(pn(e,`Main-Regular`,i,r),t,r,a);return n&&ti(o,r,t),o},ri=function(e,t,n,r){return pn(e,`Size`+t+`-Regular`,n,r)},ii=function(e,t,n,r,i,a){var o=ri(e,t,i,r),s=ei(R([`delimsizing`,`size`+t],[o],r),E.TEXT,r,a);return n&&ti(s,r,E.TEXT),s},ai=function(e,t,n){return{type:`elem`,elem:R([`delimsizinginner`,t===`Size1-Regular`?`delim-size1`:`delim-size4`],[R([],[pn(e,t,n)])])}},oi=function(e,t,n){var r=vt[`Size4-Regular`][e.charCodeAt(0)]?vt[`Size4-Regular`][e.charCodeAt(0)][4]:vt[`Size1-Regular`][e.charCodeAt(0)][4],i=bn([],[new ft([new pt(`inner`,Ke(e,Math.round(1e3*t)))],{width:D(r),height:D(t),style:`width:`+D(r),viewBox:`0 0 `+1e3*r+` `+Math.round(1e3*t),preserveAspectRatio:`xMinYMin`})],n);return i.height=t,i.style.height=D(t),i.style.width=D(r),{type:`elem`,elem:i}},si=.008,ci={type:`kern`,size:-1*si},li=new Set([`|`,`\\lvert`,`\\rvert`,`\\vert`]),ui=new Set([`\\|`,`\\lVert`,`\\rVert`,`\\Vert`]),di=function(e,t,n,r,i,a){var o,s,c,l,u=``,d=0;o=c=l=e,s=null;var f=`Size1-Regular`;e===`\\uparrow`?c=l=`⏐`:e===`\\Uparrow`?c=l=`‖`:e===`\\downarrow`?o=c=`⏐`:e===`\\Downarrow`?o=c=`‖`:e===`\\updownarrow`?(o=`\\uparrow`,c=`⏐`,l=`\\downarrow`):e===`\\Updownarrow`?(o=`\\Uparrow`,c=`‖`,l=`\\Downarrow`):li.has(e)?(c=`∣`,u=`vert`,d=333):ui.has(e)?(c=`∥`,u=`doublevert`,d=556):e===`[`||e===`\\lbrack`?(o=`⎡`,c=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lbrack`,d=667):e===`]`||e===`\\rbrack`?(o=`⎤`,c=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rbrack`,d=667):e===`\\lfloor`||e===`⌊`?(c=o=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lfloor`,d=667):e===`\\lceil`||e===`⌈`?(o=`⎡`,c=l=`⎢`,f=`Size4-Regular`,u=`lceil`,d=667):e===`\\rfloor`||e===`⌋`?(c=o=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rfloor`,d=667):e===`\\rceil`||e===`⌉`?(o=`⎤`,c=l=`⎥`,f=`Size4-Regular`,u=`rceil`,d=667):e===`(`||e===`\\lparen`?(o=`⎛`,c=`⎜`,l=`⎝`,f=`Size4-Regular`,u=`lparen`,d=875):e===`)`||e===`\\rparen`?(o=`⎞`,c=`⎟`,l=`⎠`,f=`Size4-Regular`,u=`rparen`,d=875):e===`\\{`||e===`\\lbrace`?(o=`⎧`,s=`⎨`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\}`||e===`\\rbrace`?(o=`⎫`,s=`⎬`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lgroup`||e===`⟮`?(o=`⎧`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\rgroup`||e===`⟯`?(o=`⎫`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lmoustache`||e===`⎰`?(o=`⎧`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):(e===`\\rmoustache`||e===`⎱`)&&(o=`⎫`,l=`⎩`,c=`⎪`,f=`Size4-Regular`);var p=$r(o,f,i),m=p.height+p.depth,h=$r(c,f,i),g=h.height+h.depth,_=$r(l,f,i),v=_.height+_.depth,y=0,b=1;if(s!==null){var x=$r(s,f,i);y=x.height+x.depth,b=2}var S=m+v+y,C=S+Math.max(0,Math.ceil((t-S)/(b*g)))*b*g,ee=r.fontMetrics().axisHeight;n&&(ee*=r.sizeMultiplier);var te=C/2-ee,w=[];if(u.length>0){var T=C-m-v,ne=Math.round(C*1e3),re=Je(u,Math.round(T*1e3)),ie=new pt(u,re),ae=D(d/1e3),oe=D(ne/1e3),se=bn([],[new ft([ie],{width:ae,height:oe,viewBox:`0 0 `+d+` `+ne})],r);se.height=ne/1e3,se.style.width=ae,se.style.height=oe,w.push({type:`elem`,elem:se})}else{if(w.push(ai(l,f,i)),w.push(ci),s===null){var ce=C-m-v+2*si;w.push(oi(c,ce,r))}else{var le=(C-m-v-y)/2+2*si;w.push(oi(c,le,r)),w.push(ci),w.push(ai(s,f,i)),w.push(ci),w.push(oi(c,le,r))}w.push(ci),w.push(ai(o,f,i))}var ue=r.havingBaseStyle(E.TEXT);return ei(R([`delimsizing`,`mult`],[z({positionType:`bottom`,positionData:te,children:w})],ue),E.TEXT,r,a)},fi=80,pi=.08,mi=function(e,t,n,r,i){return bn([`hide-tail`],[new ft([new pt(e,Ge(e,r,n))],{width:`400em`,height:D(t),viewBox:`0 0 400000 `+n,preserveAspectRatio:`xMinYMin slice`})],i)},hi=function(e,t){var n=t.havingBaseSizing(),r=Ti(`\\surd`,e*n.sizeMultiplier,Ci,n),i=n.sizeMultiplier,a=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),o,s,c,l,u;return r.type===`small`?(l=1e3+1e3*a+fi,e<1?i=1:e<1.4&&(i=.7),s=(1+a+pi)/i,c=(1+a)/i,o=mi(`sqrtMain`,s,l,a,t),o.style.minWidth=`0.853em`,u=.833/i):r.type===`large`?(l=(1e3+fi)*yi[r.size],c=(yi[r.size]+a)/i,s=(yi[r.size]+a+pi)/i,o=mi(`sqrtSize`+r.size,s,l,a,t),o.style.minWidth=`1.02em`,u=1/i):(s=e+a+pi,c=e+a,l=Math.floor(1e3*e+a)+fi,o=mi(`sqrtTall`,s,l,a,t),o.style.minWidth=`0.742em`,u=1.056),o.height=c,o.style.height=D(s),{span:o,advanceWidth:u,ruleWidth:(t.fontMetrics().sqrtRuleThickness+a)*i}},gi=new Set([`(`,`\\lparen`,`)`,`\\rparen`,`[`,`\\lbrack`,`]`,`\\rbrack`,`\\{`,`\\lbrace`,`\\}`,`\\rbrace`,`\\lfloor`,`\\rfloor`,`⌊`,`⌋`,`\\lceil`,`\\rceil`,`⌈`,`⌉`,`\\surd`]),_i=new Set([`\\uparrow`,`\\downarrow`,`\\updownarrow`,`\\Uparrow`,`\\Downarrow`,`\\Updownarrow`,`|`,`\\|`,`\\vert`,`\\Vert`,`\\lvert`,`\\rvert`,`\\lVert`,`\\rVert`,`\\lgroup`,`\\rgroup`,`⟮`,`⟯`,`\\lmoustache`,`\\rmoustache`,`⎰`,`⎱`]),vi=new Set([`<`,`>`,`\\langle`,`\\rangle`,`/`,`\\backslash`,`\\lt`,`\\gt`]),yi=[0,1.2,1.8,2.4,3],bi=function(e,t,n,r,i){if(e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`),gi.has(e)||vi.has(e))return ii(e,t,!1,n,r,i);if(_i.has(e))return di(e,yi[t],!1,n,r,i);throw new T(`Illegal delimiter: '`+e+`'`)},xi=[{type:`small`,style:E.SCRIPTSCRIPT},{type:`small`,style:E.SCRIPT},{type:`small`,style:E.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4}],Si=[{type:`small`,style:E.SCRIPTSCRIPT},{type:`small`,style:E.SCRIPT},{type:`small`,style:E.TEXT},{type:`stack`}],Ci=[{type:`small`,style:E.SCRIPTSCRIPT},{type:`small`,style:E.SCRIPT},{type:`small`,style:E.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4},{type:`stack`}],wi=function(e){if(e.type===`small`)return`Main-Regular`;if(e.type===`large`)return`Size`+e.size+`-Regular`;if(e.type===`stack`)return`Size4-Regular`;var t=e.type;throw Error(`Add support for delim type '`+t+`' here.`)},Ti=function(e,t,n,r){for(var i=Math.min(2,3-r.style.size);i<n.length;i++){var a=n[i];if(a.type===`stack`)break;var o=$r(e,wi(a),`math`),s=o.height+o.depth;if(a.type===`small`){var c=r.havingBaseStyle(a.style);s*=c.sizeMultiplier}if(s>t)return a}return n[n.length-1]},Ei=function(e,t,n,r,i,a){e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`);var o=vi.has(e)?xi:gi.has(e)?Ci:Si,s=Ti(e,t,o,r);return s.type===`small`?ni(e,s.style,n,r,i,a):s.type===`large`?ii(e,s.size,n,r,i,a):di(e,t,n,r,i,a)},Di=function(e,t,n,r,i,a){var o=r.fontMetrics().axisHeight*r.sizeMultiplier,s=901,c=5/r.fontMetrics().ptPerEm,l=Math.max(t-o,n+o);return Ei(e,Math.max(l/500*s,2*l-c),!0,r,i,a)},Oi={"\\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}},ki=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,.`.split(`,`));function Ai(e){return`isMiddle`in e}function ji(e,t){var n=Mr(e);if(n&&ki.has(n.text))return n;throw n?new T(`Invalid delimiter '`+n.text+`' after '`+t.funcName+`'`,e):new T(`Invalid delimiter type '`+e.type+`'`,e)}B({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=ji(t[0],e);return{type:`delimsizing`,mode:e.parser.mode,size:Oi[e.funcName].size,mclass:Oi[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim===`.`?R([e.mclass]):bi(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!==`.`&&t.push(ar(e.delim,e.mode));var n=new H(`mo`,t);e.mclass===`mopen`||e.mclass===`mclose`?n.setAttribute(`fence`,`true`):n.setAttribute(`fence`,`false`),n.setAttribute(`stretchy`,`true`);var r=D(yi[e.size]);return n.setAttribute(`minsize`,r),n.setAttribute(`maxsize`,r),n}});function Mi(e){if(!e.body)throw Error(`Bug: The leftright ParseNode wasn't fully parsed.`)}B({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 T(`\\current@color set to non-string in \\right`);return{type:`leftright-right`,mode:e.parser.mode,delim:ji(t[0],e).text,color:n}}}),B({type:`leftright`,names:[`\\left`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=ji(t[0],e),r=e.parser;++r.leftrightDepth;var i=r.parseExpression(!1);--r.leftrightDepth,r.expect(`\\right`,!1);var a=U(r.parseFunction(),`leftright-right`);return{type:`leftright`,mode:r.mode,body:i,left:n.text,right:a.delim,rightColor:a.color}},htmlBuilder:(e,t)=>{Mi(e);for(var n=Kn(e.body,t,!0,[`mopen`,`mclose`]),r=0,i=0,a=!1,o=0;o<n.length;o++){var s=n[o];Ai(s)?a=!0:(r=Math.max(n[o].height,r),i=Math.max(n[o].depth,i))}r*=t.sizeMultiplier,i*=t.sizeMultiplier;var c=e.left===`.`?Zn(t,[`mopen`]):Di(e.left,r,i,t,e.mode,[`mopen`]);if(n.unshift(c),a)for(var l=1;l<n.length;l++){var u=n[l];if(Ai(u)){var d=u.isMiddle;n[l]=Di(d.delim,r,i,d.options,e.mode,[])}}var f;if(e.right===`.`)f=Zn(t,[`mclose`]);else{var p=e.rightColor?t.withColor(e.rightColor):t;f=Di(e.right,r,i,p,e.mode,[`mclose`])}return n.push(f),R([`minner`],n,t)},mathmlBuilder:(e,t)=>{Mi(e);var n=ur(e.body,t);if(e.left!==`.`){var r=new H(`mo`,[ar(e.left,e.mode)]);r.setAttribute(`fence`,`true`),n.unshift(r)}if(e.right!==`.`){var i=new H(`mo`,[ar(e.right,e.mode)]);i.setAttribute(`fence`,`true`),e.rightColor&&i.setAttribute(`mathcolor`,e.rightColor),n.push(i)}return or(n)}}),B({type:`middle`,names:[`\\middle`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=ji(t[0],e);if(!e.parser.leftrightDepth)throw new T(`\\middle without preceding \\left`,n);return{type:`middle`,mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim===`.`?n=Zn(t,[]):(n=bi(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=new H(`mo`,[e.delim===`\\vert`||e.delim===`|`?ar(`|`,`text`):ar(e.delim,e.mode)]);return n.setAttribute(`fence`,`true`),n.setAttribute(`lspace`,`0.05em`),n.setAttribute(`rspace`,`0.05em`),n}});var Ni=(e,t)=>{var n=wn(V(e.body,t),t),r=e.label.slice(1),i=t.sizeMultiplier,a,o,s=le(e.body);if(r===`sout`)a=R([`stretchy`,`sout`]),a.height=t.fontMetrics().defaultRuleThickness/i,o=-.5*t.fontMetrics().xHeight;else if(r===`phase`){var c=et({number:.6,unit:`pt`},t),l=et({number:.35,unit:`ex`},t),u=t.havingBaseSizing();i/=u.sizeMultiplier;var d=n.height+n.depth+c+l;n.style.paddingLeft=D(d/2+c);var f=Math.floor(1e3*d*i);a=bn([`hide-tail`],[new ft([new pt(`phase`,Ue(f))],{width:`400em`,height:D(f/1e3),viewBox:`0 0 400000 `+f,preserveAspectRatio:`xMinYMin slice`})],t),a.style.height=D(d),o=n.depth+c+l}else{/cancel/.test(r)?s||n.classes.push(`cancel-pad`):r===`angl`?n.classes.push(`anglpad`):n.classes.push(`boxpad`);var p,m,h=0;/box/.test(r)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),p=t.fontMetrics().fboxsep+(r===`colorbox`?0:h),m=p):r===`angl`?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),p=4*h,m=Math.max(0,.25-n.depth)):(p=s?.2:0,m=p),a=Dr(n,r,p,m,t),/fbox|boxed|fcolorbox/.test(r)?(a.style.borderStyle=`solid`,a.style.borderWidth=D(h)):r===`angl`&&h!==.049&&(a.style.borderTopWidth=D(h),a.style.borderRightWidth=D(h)),o=n.depth+m,e.backgroundColor&&(a.style.backgroundColor=e.backgroundColor,e.borderColor&&(a.style.borderColor=e.borderColor))}var g;if(e.backgroundColor)g=z({positionType:`individualShift`,children:[{type:`elem`,elem:a,shift:o},{type:`elem`,elem:n,shift:0}]});else{var _=/cancel|phase/.test(r)?[`svg-align`]:[];g=z({positionType:`individualShift`,children:[{type:`elem`,elem:n,shift:0},{type:`elem`,elem:a,shift:o,wrapperClasses:_}]})}return/cancel/.test(r)&&(g.height=n.height,g.depth=n.depth),/cancel/.test(r)&&!s?R([`mord`,`cancel-lap`],[g],t):R([`mord`],[g],t)},Pi=(e,t)=>{var n,r=new H(e.label.includes(`colorbox`)?`mpadded`:`menclose`,[fr(e.body,t)]);switch(e.label){case`\\cancel`:r.setAttribute(`notation`,`updiagonalstrike`);break;case`\\bcancel`:r.setAttribute(`notation`,`downdiagonalstrike`);break;case`\\phase`:r.setAttribute(`notation`,`phasorangle`);break;case`\\sout`:r.setAttribute(`notation`,`horizontalstrike`);break;case`\\fbox`:r.setAttribute(`notation`,`box`);break;case`\\angl`:r.setAttribute(`notation`,`actuarial`);break;case`\\fcolorbox`:case`\\colorbox`:if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,r.setAttribute(`width`,`+`+2*n+`pt`),r.setAttribute(`height`,`+`+2*n+`pt`),r.setAttribute(`lspace`,n+`pt`),r.setAttribute(`voffset`,n+`pt`),e.label===`\\fcolorbox`){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);r.setAttribute(`style`,`border: `+D(i)+` solid `+e.borderColor)}break;case`\\xcancel`:r.setAttribute(`notation`,`updiagonalstrike downdiagonalstrike`)}return e.backgroundColor&&r.setAttribute(`mathbackground`,e.backgroundColor),r};B({type:`enclose`,names:[`\\colorbox`],props:{numArgs:2,allowedInText:!0,argTypes:[`color`,`hbox`]},handler(e,t,n){var{parser:r,funcName:i}=e,a=U(t[0],`color-token`).color,o=t[1];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:a,body:o}},htmlBuilder:Ni,mathmlBuilder:Pi}),B({type:`enclose`,names:[`\\fcolorbox`],props:{numArgs:3,allowedInText:!0,argTypes:[`color`,`color`,`hbox`]},handler(e,t,n){var{parser:r,funcName:i}=e,a=U(t[0],`color-token`).color,o=U(t[1],`color-token`).color,s=t[2];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:o,borderColor:a,body:s}},htmlBuilder:Ni,mathmlBuilder:Pi}),B({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]}}}),B({type:`enclose`,names:[`\\cancel`,`\\bcancel`,`\\xcancel`,`\\phase`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}},htmlBuilder:Ni,mathmlBuilder:Pi}),B({type:`enclose`,names:[`\\sout`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e;n.mode===`math`&&n.settings.reportNonstrict(`mathVsSout`,`LaTeX's \\sout works only in text mode`);var i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}},htmlBuilder:Ni,mathmlBuilder:Pi}),B({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 Fi={};function Ii(e){for(var{type:t,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:o}=e,s={type:t,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},c=0;c<n.length;++c)Fi[n[c]]=s;a&&(Ln[t]=a),o&&(Rn[t]=o)}var Li={};function W(e,t){Li[e]=t}var Ri=class e{constructor(e,t,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=n}static range(t,n){return n?!t||!t.loc||!n.loc||t.loc.lexer!==n.loc.lexer?null:new e(t.loc.lexer,t.loc.start,n.loc.end):t&&t.loc}},zi=class e{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(t,n){return new e(n,Ri.range(this,t))}};function Bi(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 Vi=e=>{if(!e.parser.settings.displayMode)throw new T(`{`+e.envName+`} can be used only in display mode.`)},Hi=new Set([`gather`,`gather*`]);function Ui(e){if(!e.includes(`ed`))return!e.includes(`*`)}function Wi(e,t,n){var{hskipBeforeAndAfter:r,addJot:i,cols:a,arraystretch:o,colSeparationType:s,autoTag:c,singleRow:l,emptySingleRow:u,maxNumCols:d,leqno:f}=t;if(e.gullet.beginGroup(),l||e.gullet.macros.set(`\\cr`,`\\\\\\relax`),!o){var p=e.gullet.expandMacroAsText(`\\arraystretch`);if(p==null)o=1;else if(o=parseFloat(p),!o||o<0)throw new T(`Invalid \\arraystretch: `+p)}e.gullet.beginGroup();var m=[],h=[m],g=[],_=[],v=c==null?void 0:[];function y(){c&&e.gullet.macros.set(`\\@eqnsw`,`1`,!0)}function b(){v&&(e.gullet.macros.get(`\\df@tag`)?(v.push(e.subparse([new zi(`\\df@tag`)])),e.gullet.macros.set(`\\df@tag`,void 0,!0)):v.push(!!c&&e.gullet.macros.get(`\\@eqnsw`)===`1`))}for(y(),_.push(Bi(e));;){var x=e.parseExpression(!1,l?`\\end`:`\\\\`);e.gullet.endGroup(),e.gullet.beginGroup();var S={type:`ordgroup`,mode:e.mode,body:x};n&&(S={type:`styling`,mode:e.mode,style:n,resetFont:!0,body:[S]}),m.push(S);var C=e.fetch().text;if(C===`&`){if(d&&m.length===d){if(l||s)throw new T(`Too many tab characters: &`,e.nextToken);e.settings.reportNonstrict(`textEnv`,`Too few columns specified in the {array} column argument.`)}e.consume()}else if(C===`\\end`){b(),m.length===1&&S.type===`styling`&&S.body.length===1&&S.body[0].type===`ordgroup`&&S.body[0].body.length===0&&(h.length>1||!u)&&h.pop(),_.length<h.length+1&&_.push([]);break}else if(C===`\\\\`){e.consume();var ee=void 0;e.gullet.future().text!==` `&&(ee=e.parseSizeGroup(!0)),g.push(ee?ee.value:null),b(),_.push(Bi(e)),m=[],h.push(m),y()}else throw new T(`Expected & or \\\\ or \\cr or \\end`,e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:e.mode,addJot:i,arraystretch:o,body:h,cols:a,rowGaps:g,hskipBeforeAndAfter:r,hLinesBeforeRow:_,colSeparationType:s,tags:v,leqno:f}}function Gi(e){return e.slice(0,1)===`d`?`display`:`text`}var Ki=function(e,t){var n,r,i=e.body.length,a=e.hLinesBeforeRow,o=0,s=Array(i),c=[],l=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),u=1/t.fontMetrics().ptPerEm,d=5*u;e.colSeparationType&&e.colSeparationType===`small`&&(d=.2778*(t.havingStyle(E.SCRIPT).sizeMultiplier/t.sizeMultiplier));var f=e.colSeparationType===`CD`?et({number:3,unit:`ex`},t):12*u,p=3*u,m=e.arraystretch*f,h=.7*m,g=.3*m,_=0;function v(e){for(var t=0;t<e.length;++t)t>0&&(_+=.25),c.push({pos:_,isDashed:e[t]})}for(v(a[0]),n=0;n<e.body.length;++n){var y=e.body[n],b=h,x=g;o<y.length&&(o=y.length);var S={cells:Array(y.length),height:0,depth:0,pos:0};for(r=0;r<y.length;++r){var C=V(y[r],t);x<C.depth&&(x=C.depth),b<C.height&&(b=C.height),S.cells[r]=C}var ee=e.rowGaps[n],te=0;ee&&(te=et(ee,t),te>0&&(te+=g,x<te&&(x=te),te=0)),e.addJot&&n<e.body.length-1&&(x+=p),S.height=b,S.depth=x,_+=b,S.pos=_,_+=x+te,s[n]=S,v(a[n+1])}var w=_/2+t.fontMetrics().axisHeight,ne=e.cols||[],re=[],ie,ae,oe=[];if(e.tags&&e.tags.some(e=>e))for(n=0;n<i;++n){var se=s[n],ce=se.pos-w,le=e.tags[n],ue=void 0;ue=le===!0?R([`eqn-num`],[],t):le===!1?R([],[],t):R([],Kn(le,t,!0),t),ue.depth=se.depth,ue.height=se.height,oe.push({type:`elem`,elem:ue,shift:ce})}for(r=0,ae=0;r<o||ae<ne.length;++r,++ae){for(var de=ne[ae],fe=!0;(pe=de)?.type===`separator`;){var pe;if(fe||(ie=R([`arraycolsep`],[]),ie.style.width=D(t.fontMetrics().doubleRuleSep),re.push(ie)),de.separator===`|`||de.separator===`:`){var me=de.separator===`|`?`solid`:`dashed`,he=R([`vertical-separator`],[],t);he.style.height=D(_),he.style.borderRightWidth=D(l),he.style.borderRightStyle=me,he.style.margin=`0 `+D(-l/2);var ge=_-w;ge&&(he.style.verticalAlign=D(-ge)),re.push(he)}else throw new T(`Invalid separator type: `+de.separator);ae++,de=ne[ae],fe=!1}if(!(r>=o)){var _e=void 0;(r>0||e.hskipBeforeAndAfter)&&(_e=de?.pregap??d,_e!==0&&(ie=R([`arraycolsep`],[]),ie.style.width=D(_e),re.push(ie)));var ve=[];for(n=0;n<i;++n){var ye=s[n],be=ye.cells[r];if(be){var xe=ye.pos-w;be.depth=ye.depth,be.height=ye.height,ve.push({type:`elem`,elem:be,shift:xe})}}var Se=z({positionType:`individualShift`,children:ve}),Ce=R([`col-align-`+(de?.align||`c`)],[Se]);re.push(Ce),(r<o-1||e.hskipBeforeAndAfter)&&(_e=de?.postgap??d,_e!==0&&(ie=R([`arraycolsep`],[]),ie.style.width=D(_e),re.push(ie)))}}var we=R([`mtable`],re);if(c.length>0){for(var Te=xn(`hline`,t,l),Ee=xn(`hdashline`,t,l),De=[{type:`elem`,elem:we,shift:0}];c.length>0;){var Oe=c.pop(),ke=Oe.pos-w;Oe.isDashed?De.push({type:`elem`,elem:Ee,shift:ke}):De.push({type:`elem`,elem:Te,shift:ke})}we=z({positionType:`individualShift`,children:De})}if(oe.length===0)return R([`mord`],[we],t);var Ae=R([`tag`],[z({positionType:`individualShift`,children:oe})],t);return Cn([we,Ae])},qi={c:`center `,l:`left `,r:`right `},Ji=function(e,t){for(var n=[],r=new H(`mtd`,[],[`mtr-glue`]),i=new H(`mtd`,[],[`mml-eqn-num`]),a=0;a<e.body.length;a++){for(var o=e.body[a],s=[],c=0;c<o.length;c++)s.push(new H(`mtd`,[fr(o[c],t)]));e.tags&&e.tags[a]&&(s.unshift(r),s.push(r),e.leqno?s.unshift(i):s.push(i)),n.push(new H(`mtr`,s))}var l=new H(`mtable`,n),u=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);l.setAttribute(`rowspacing`,D(u));var d=``,f=``;if(e.cols&&e.cols.length>0){var p=e.cols,m=``,h=!1,g=0,_=p.length;p[0].type===`separator`&&(d+=`top `,g=1),p[p.length-1].type===`separator`&&(d+=`bottom `,--_);for(var v=g;v<_;v++){var y=p[v];y.type===`align`?(f+=qi[y.align],h&&(m+=`none `),h=!0):y.type===`separator`&&(h&&=(m+=y.separator===`|`?`solid `:`dashed `,!1))}l.setAttribute(`columnalign`,f.trim()),/[sd]/.test(m)&&l.setAttribute(`columnlines`,m.trim())}if(e.colSeparationType===`align`){for(var b=e.cols||[],x=``,S=1;S<b.length;S++)x+=S%2?`0em `:`1em `;l.setAttribute(`columnspacing`,x.trim())}else e.colSeparationType===`alignat`||e.colSeparationType===`gather`?l.setAttribute(`columnspacing`,`0em`):e.colSeparationType===`small`?l.setAttribute(`columnspacing`,`0.2778em`):e.colSeparationType===`CD`?l.setAttribute(`columnspacing`,`0.5em`):l.setAttribute(`columnspacing`,`1em`);var C=``,ee=e.hLinesBeforeRow;d+=ee[0].length>0?`left `:``,d+=ee[ee.length-1].length>0?`right `:``;for(var te=1;te<ee.length-1;te++)C+=ee[te].length===0?`none `:ee[te][0]?`dashed `:`solid `;return/[sd]/.test(C)&&l.setAttribute(`rowlines`,C.trim()),d!==``&&(l=new H(`menclose`,[l]),l.setAttribute(`notation`,d.trim())),e.arraystretch&&e.arraystretch<1&&(l=new H(`mstyle`,[l]),l.setAttribute(`scriptlevel`,`1`)),l},Yi=function(e,t){e.envName.includes(`ed`)||Vi(e);var n=[],r=e.envName.includes(`at`)?`alignat`:`align`,i=e.envName===`split`,a=Wi(e.parser,{cols:n,addJot:!0,autoTag:i?void 0:Ui(e.envName),emptySingleRow:!0,colSeparationType:r,maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},`display`),o=0,s=0,c={type:`ordgroup`,mode:e.mode,body:[]};if(t[0]&&t[0].type===`ordgroup`){for(var l=``,u=0;u<t[0].body.length;u++){var d=U(t[0].body[u],`textord`);l+=d.text}o=Number(l),s=o*2}var f=!s;a.body.forEach(function(e){for(var t=1;t<e.length;t+=2)U(U(e[t],`styling`).body[0],`ordgroup`).body.unshift(c);if(f)s<e.length&&(s=e.length);else{var n=e.length/2;if(o<n)throw new T(`Too many math in a row: `+(`expected `+o+`, but got `+n),e[0])}});for(var p=0;p<s;++p){var m=`r`,h=0;p%2==1?m=`l`:p>0&&f&&(h=1),n[p]={type:`align`,align:m,pregap:h,postgap:0}}return a.colSeparationType=f?`align`:`alignat`,a};Ii({type:`array`,names:[`array`,`darray`],props:{numArgs:1},handler(e,t){var n=(Mr(t[0])?[t[0]]:U(t[0],`ordgroup`).body).map(function(e){var t=jr(e).text;if(`lcr`.includes(t))return{type:`align`,align:t};if(t===`|`)return{type:`separator`,separator:`|`};if(t===`:`)return{type:`separator`,separator:`:`};throw new T(`Unknown column alignment: `+t,e)}),r={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return Wi(e.parser,r,Gi(e.envName))},htmlBuilder:Ki,mathmlBuilder:Ji}),Ii({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`,r={hskipBeforeAndAfter:!1,cols:[{type:`align`,align:n}]};if(e.envName.charAt(e.envName.length-1)===`*`){var i=e.parser;if(i.consumeSpaces(),i.fetch().text===`[`){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!`lcr`.includes(n))throw new T(`Expected l or c or r`,i.nextToken);i.consume(),i.consumeSpaces(),i.expect(`]`),i.consume(),r.cols=[{type:`align`,align:n}]}}var a=Wi(e.parser,r,Gi(e.envName)),o=Math.max(0,...a.body.map(e=>e.length));return a.cols=Array(o).fill({type:`align`,align:n}),t?{type:`leftright`,mode:e.mode,body:[a],left:t[0],right:t[1],rightColor:void 0}:a},htmlBuilder:Ki,mathmlBuilder:Ji}),Ii({type:`array`,names:[`smallmatrix`],props:{numArgs:0},handler(e){var t=Wi(e.parser,{arraystretch:.5},`script`);return t.colSeparationType=`small`,t},htmlBuilder:Ki,mathmlBuilder:Ji}),Ii({type:`array`,names:[`subarray`],props:{numArgs:1},handler(e,t){var n=(Mr(t[0])?[t[0]]:U(t[0],`ordgroup`).body).map(function(e){var t=jr(e).text;if(`lc`.includes(t))return{type:`align`,align:t};throw new T(`Unknown column alignment: `+t,e)});if(n.length>1)throw new T(`{subarray} can contain only one column`);var r={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5},i=Wi(e.parser,r,`script`);if(i.body.length>0&&i.body[0].length>1)throw new T(`{subarray} can contain only one column`);return i},htmlBuilder:Ki,mathmlBuilder:Ji}),Ii({type:`array`,names:[`cases`,`dcases`,`rcases`,`drcases`],props:{numArgs:0},handler(e){var t=Wi(e.parser,{arraystretch:1.2,cols:[{type:`align`,align:`l`,pregap:0,postgap:1},{type:`align`,align:`l`,pregap:0,postgap:0}]},Gi(e.envName));return{type:`leftright`,mode:e.mode,body:[t],left:e.envName.includes(`r`)?`.`:`\\{`,right:e.envName.includes(`r`)?`\\}`:`.`,rightColor:void 0}},htmlBuilder:Ki,mathmlBuilder:Ji}),Ii({type:`array`,names:[`align`,`align*`,`aligned`,`split`],props:{numArgs:0},handler:Yi,htmlBuilder:Ki,mathmlBuilder:Ji}),Ii({type:`array`,names:[`gathered`,`gather`,`gather*`],props:{numArgs:0},handler(e){Hi.has(e.envName)&&Vi(e);var t={cols:[{type:`align`,align:`c`}],addJot:!0,colSeparationType:`gather`,autoTag:Ui(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Wi(e.parser,t,`display`)},htmlBuilder:Ki,mathmlBuilder:Ji}),Ii({type:`array`,names:[`alignat`,`alignat*`,`alignedat`],props:{numArgs:1},handler:Yi,htmlBuilder:Ki,mathmlBuilder:Ji}),Ii({type:`array`,names:[`equation`,`equation*`],props:{numArgs:0},handler(e){Vi(e);var t={autoTag:Ui(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Wi(e.parser,t,`display`)},htmlBuilder:Ki,mathmlBuilder:Ji}),Ii({type:`array`,names:[`CD`],props:{numArgs:0},handler(e){return Vi(e),Kr(e.parser)},htmlBuilder:Ki,mathmlBuilder:Ji}),W(`\\nonumber`,`\\gdef\\@eqnsw{0}`),W(`\\notag`,`\\nonumber`),B({type:`text`,names:[`\\hline`,`\\hdashline`],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(e,t){throw new T(e.funcName+` valid only within array environment`)}});var Xi=Fi;B({type:`environment`,names:[`\\begin`,`\\end`],props:{numArgs:1,argTypes:[`text`]},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];if(i.type!==`ordgroup`)throw new T(`Invalid environment name`,i);for(var a=``,o=0;o<i.body.length;++o)a+=U(i.body[o],`textord`).text;if(r===`\\begin`){if(!Xi.hasOwnProperty(a))throw new T(`No such environment: `+a,i);var s=Xi[a],{args:c,optArgs:l}=n.parseArguments(`\\begin{`+a+`}`,s),u={mode:n.mode,envName:a,parser:n},d=s.handler(u,c,l);n.expect(`\\end`,!1);var f=n.nextToken,p=U(n.parseFunction(),`environment`);if(p.name!==a)throw new T(`Mismatch: \\begin{`+a+`} matched by \\end{`+p.name+`}`,f);return d}return{type:`environment`,mode:n.mode,name:a,nameGroup:i}}});var Zi=(e,t)=>{var n=e.font,r=t.withFont(n);return V(e.body,r)},Qi=(e,t)=>{var n=e.font,r=t.withFont(n);return fr(e.body,r)},$i={"\\Bbb":`\\mathbb`,"\\bold":`\\mathbf`,"\\frak":`\\mathfrak`};B({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:r}=e,i=Bn(t[0]),a=r;return a in $i&&(a=$i[a]),{type:`font`,mode:n.mode,font:a.slice(1),body:i}},htmlBuilder:Zi,mathmlBuilder:Qi}),B({type:`mclass`,names:[`\\boldsymbol`,`\\bm`],props:{numArgs:1},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`mclass`,mode:n.mode,mclass:Br(r),body:[{type:`font`,mode:n.mode,font:`boldsymbol`,body:r}],isCharacterBox:le(r)}}}),B({type:`font`,names:[`\\rm`,`\\sf`,`\\tt`,`\\bf`,`\\it`,`\\cal`],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r,breakOnTokenText:i}=e,{mode:a}=n,o=n.parseExpression(!0,i);return{type:`font`,mode:a,font:`math`+r.slice(1),body:{type:`ordgroup`,mode:n.mode,body:o}}},htmlBuilder:Zi,mathmlBuilder:Qi});var ea=(e,t)=>{var n=t.style,r=n.fracNum(),i=n.fracDen(),a=t.havingStyle(r),o=V(e.numer,a,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,c=3.5/t.fontMetrics().ptPerEm;o.height=o.height<s?s:o.height,o.depth=o.depth<c?c:o.depth}a=t.havingStyle(i);var l=V(e.denom,a,t),u,d,f;e.hasBarLine?(e.barSize?(d=et(e.barSize,t),u=xn(`frac-line`,t,d)):u=xn(`frac-line`,t),d=u.height,f=u.height):(u=null,d=0,f=t.fontMetrics().defaultRuleThickness);var p,m,h;n.size===E.DISPLAY.size?(p=t.fontMetrics().num1,m=d>0?3*f:7*f,h=t.fontMetrics().denom1):(d>0?(p=t.fontMetrics().num2,m=f):(p=t.fontMetrics().num3,m=3*f),h=t.fontMetrics().denom2);var g;if(u){var _=t.fontMetrics().axisHeight;p-o.depth-(_+.5*d)<m&&(p+=m-(p-o.depth-(_+.5*d))),_-.5*d-(l.height-h)<m&&(h+=m-(_-.5*d-(l.height-h)));var v=-(_-.5*d);g=z({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:u,shift:v},{type:`elem`,elem:o,shift:-p}]})}else{var y=p-o.depth-(l.height-h);y<m&&(p+=.5*(m-y),h+=.5*(m-y)),g=z({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:o,shift:-p}]})}a=t.havingStyle(n),g.height*=a.sizeMultiplier/t.sizeMultiplier,g.depth*=a.sizeMultiplier/t.sizeMultiplier;var b=n.size===E.DISPLAY.size?t.fontMetrics().delim1:n.size===E.SCRIPTSCRIPT.size?t.havingStyle(E.SCRIPT).fontMetrics().delim2:t.fontMetrics().delim2,x=e.leftDelim==null?Zn(t,[`mopen`]):Ei(e.leftDelim,b,!0,t.havingStyle(n),e.mode,[`mopen`]),S=e.continued?R([]):e.rightDelim==null?Zn(t,[`mclose`]):Ei(e.rightDelim,b,!0,t.havingStyle(n),e.mode,[`mclose`]);return R([`mord`].concat(a.sizingClasses(t)),[x,R([`mfrac`],[g]),S],t)},ta=(e,t)=>{var n=new H(`mfrac`,[fr(e.numer,t),fr(e.denom,t)]);if(!e.hasBarLine)n.setAttribute(`linethickness`,`0px`);else if(e.barSize){var r=et(e.barSize,t);n.setAttribute(`linethickness`,D(r))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var a=new H(`mo`,[new tr(e.leftDelim.replace(`\\`,``))]);a.setAttribute(`fence`,`true`),i.push(a)}if(i.push(n),e.rightDelim!=null){var o=new H(`mo`,[new tr(e.rightDelim.replace(`\\`,``))]);o.setAttribute(`fence`,`true`),i.push(o)}return or(i)}return n},na=(e,t)=>t?{type:`styling`,mode:e.mode,style:t,body:[e]}:e;B({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:r}=e,i=t[0],a=t[1],o,s=null,c=null;switch(r){case`\\cfrac`:case`\\dfrac`:case`\\frac`:case`\\tfrac`:o=!0;break;case`\\\\atopfrac`:o=!1;break;case`\\dbinom`:case`\\binom`:case`\\tbinom`:o=!1,s=`(`,c=`)`;break;case`\\\\bracefrac`:o=!1,s=`\\{`,c=`\\}`;break;case`\\\\brackfrac`:o=!1,s=`[`,c=`]`;break;default:throw Error(`Unrecognized genfrac command`)}var l=r===`\\cfrac`,u=null;return l||r.startsWith(`\\d`)?u=`display`:r.startsWith(`\\t`)&&(u=`text`),na({type:`genfrac`,mode:n.mode,numer:i,denom:a,continued:l,hasBarLine:o,leftDelim:s,rightDelim:c,barSize:null},u)},htmlBuilder:ea,mathmlBuilder:ta}),B({type:`infix`,names:[`\\over`,`\\choose`,`\\atop`,`\\brace`,`\\brack`],props:{numArgs:0,infix:!0},handler(e){var{parser:t,funcName:n,token:r}=e,i;switch(n){case`\\over`:i=`\\frac`;break;case`\\choose`:i=`\\binom`;break;case`\\atop`:i=`\\\\atopfrac`;break;case`\\brace`:i=`\\\\bracefrac`;break;case`\\brack`:i=`\\\\brackfrac`;break;default:throw Error(`Unrecognized infix genfrac command`)}return{type:`infix`,mode:t.mode,replaceWith:i,token:r}}});var ra=[`display`,`text`,`script`,`scriptscript`],ia=function(e){var t=null;return e.length>0&&(t=e,t=t===`.`?null:t),t};B({type:`genfrac`,names:[`\\genfrac`],props:{numArgs:6,allowedInArgument:!0,argTypes:[`math`,`math`,`size`,`text`,`math`,`math`]},handler(e,t){var{parser:n}=e,r=t[4],i=t[5],a=Bn(t[0]),o=a.type===`atom`&&a.family===`open`?ia(a.text):null,s=Bn(t[1]),c=s.type===`atom`&&s.family===`close`?ia(s.text):null,l=U(t[2],`size`),u,d=null;l.isBlank?u=!0:(d=l.value,u=d.number>0);var f=null,p=t[3];if(p.type===`ordgroup`){if(p.body.length>0){var m=U(p.body[0],`textord`);f=ra[Number(m.text)]}}else p=U(p,`textord`),f=ra[Number(p.text)];return na({type:`genfrac`,mode:n.mode,numer:r,denom:i,continued:!1,hasBarLine:u,barSize:d,leftDelim:o,rightDelim:c},f)}}),B({type:`infix`,names:[`\\above`],props:{numArgs:1,argTypes:[`size`],infix:!0},handler(e,t){var{parser:n,funcName:r,token:i}=e;return{type:`infix`,mode:n.mode,replaceWith:`\\\\abovefrac`,size:U(t[0],`size`).value,token:i}}}),B({type:`genfrac`,names:[`\\\\abovefrac`],props:{numArgs:3,argTypes:[`math`,`size`,`math`]},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0],a=U(t[1],`infix`).size;if(!a)throw Error(`\\\\abovefrac expected size, but got `+String(a));var o=t[2],s=a.number>0;return{type:`genfrac`,mode:n.mode,numer:i,denom:o,continued:!1,hasBarLine:s,barSize:a,leftDelim:null,rightDelim:null}}});var aa=(e,t)=>{var n=t.style,r,i;e.type===`supsub`?(r=e.sup?V(e.sup,t.havingStyle(n.sup()),t):V(e.sub,t.havingStyle(n.sub()),t),i=U(e.base,`horizBrace`)):i=U(e,`horizBrace`);var a=V(i.base,t.havingBaseStyle(E.DISPLAY)),o=Er(i,t),s=i.isOver?z({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:.1},{type:`elem`,elem:o,wrapperClasses:[`svg-align`]}]}):z({positionType:`bottom`,positionData:a.depth+.1+o.height,children:[{type:`elem`,elem:o,wrapperClasses:[`svg-align`]},{type:`kern`,size:.1},{type:`elem`,elem:a}]});if(r){var c=R([`minner`,i.isOver?`mover`:`munder`],[s],t);s=i.isOver?z({positionType:`firstBaseline`,children:[{type:`elem`,elem:c},{type:`kern`,size:.2},{type:`elem`,elem:r}]}):z({positionType:`bottom`,positionData:c.depth+.2+r.height+r.depth,children:[{type:`elem`,elem:r},{type:`kern`,size:.2},{type:`elem`,elem:c}]})}return R([`minner`,i.isOver?`mover`:`munder`],[s],t)};B({type:`horizBrace`,names:[`\\overbrace`,`\\underbrace`,`\\overbracket`,`\\underbracket`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e;return{type:`horizBrace`,mode:n.mode,label:r,isOver:r.includes(`\\over`),base:t[0]}},htmlBuilder:aa,mathmlBuilder:(e,t)=>{var n=Cr(e.label);return new H(e.isOver?`mover`:`munder`,[fr(e.base,t),n])}}),B({type:`href`,names:[`\\href`],props:{numArgs:2,argTypes:[`url`,`original`],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[1],i=U(t[0],`url`).url;return n.settings.isTrusted({command:`\\href`,url:i})?{type:`href`,mode:n.mode,href:i,body:Vn(r)}:n.formatUnsupportedCmd(`\\href`)},htmlBuilder:(e,t)=>{var n=Kn(e.body,t,!1);return Sn(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=dr(e.body,t);return n instanceof H||(n=new H(`mrow`,[n])),n.setAttribute(`href`,e.href),n}}),B({type:`href`,names:[`\\url`],props:{numArgs:1,argTypes:[`url`],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=U(t[0],`url`).url;if(!n.settings.isTrusted({command:`\\url`,url:r}))return n.formatUnsupportedCmd(`\\url`);for(var i=[],a=0;a<r.length;a++){var o=r[a];o===`~`&&(o=`\\textasciitilde`),i.push({type:`textord`,mode:`text`,text:o})}var s={type:`text`,mode:n.mode,font:`\\texttt`,body:i};return{type:`href`,mode:n.mode,href:r,body:Vn(s)}}}),B({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){return Cn(Kn(e.body,t.withFont(``),!1))},mathmlBuilder(e,t){return new H(`mrow`,ur(e.body,t.withFont(``)))}}),B({type:`html`,names:[`\\htmlClass`,`\\htmlId`,`\\htmlStyle`,`\\htmlData`],props:{numArgs:2,argTypes:[`raw`,`original`],allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r,token:i}=e,a=U(t[0],`raw`).string,o=t[1];n.settings.strict&&n.settings.reportNonstrict(`htmlExtension`,`HTML extension is disabled on strict mode`);var s,c={};switch(r){case`\\htmlClass`:c.class=a,s={command:`\\htmlClass`,class:a};break;case`\\htmlId`:c.id=a,s={command:`\\htmlId`,id:a};break;case`\\htmlStyle`:c.style=a,s={command:`\\htmlStyle`,style:a};break;case`\\htmlData`:for(var l=a.split(`,`),u=0;u<l.length;u++){var d=l[u],f=d.indexOf(`=`);if(f<0)throw new T(`\\htmlData key/value '`+d+`' missing equals sign`);var p=d.slice(0,f),m=d.slice(f+1);c[`data-`+p.trim()]=m}s={command:`\\htmlData`,attributes:c};break;default:throw Error(`Unrecognized html command`)}return n.settings.isTrusted(s)?{type:`html`,mode:n.mode,attributes:c,body:Vn(o)}:n.formatUnsupportedCmd(r)},htmlBuilder:(e,t)=>{var n=Kn(e.body,t,!1),r=[`enclosing`];e.attributes.class&&r.push(...e.attributes.class.trim().split(/\s+/));var i=R(r,n,t);for(var a in e.attributes)a!==`class`&&e.attributes.hasOwnProperty(a)&&i.setAttribute(a,e.attributes[a]);return i},mathmlBuilder:(e,t)=>dr(e.body,t)}),B({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)=>Cn(Kn(e.html,t,!1)),mathmlBuilder:(e,t)=>dr(e.mathml,t)});var oa=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:`bp`};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new T(`Invalid size: '`+e+`' in \\includegraphics`);var n={number:+(t[1]+t[2]),unit:t[3]};if(!$e(n))throw new T(`Invalid unit: '`+n.unit+`' in \\includegraphics.`);return n};B({type:`includegraphics`,names:[`\\includegraphics`],props:{numArgs:1,numOptionalArgs:1,argTypes:[`raw`,`url`],allowedInText:!1},handler:(e,t,n)=>{var{parser:r}=e,i={number:0,unit:`em`},a={number:.9,unit:`em`},o={number:0,unit:`em`},s=``;if(n[0])for(var c=U(n[0],`raw`).string.split(`,`),l=0;l<c.length;l++){var u=c[l].split(`=`);if(u.length===2){var d=u[1].trim();switch(u[0].trim()){case`alt`:s=d;break;case`width`:i=oa(d);break;case`height`:a=oa(d);break;case`totalheight`:o=oa(d);break;default:throw new T(`Invalid key: '`+u[0]+`' in \\includegraphics.`)}}}var f=U(t[0],`url`).url;return s===``&&(s=f,s=s.replace(/^.*[\\/]/,``),s=s.substring(0,s.lastIndexOf(`.`))),r.settings.isTrusted({command:`\\includegraphics`,url:f})?{type:`includegraphics`,mode:r.mode,alt:s,width:i,height:a,totalheight:o,src:f}:r.formatUnsupportedCmd(`\\includegraphics`)},htmlBuilder:(e,t)=>{var n=et(e.height,t),r=0;e.totalheight.number>0&&(r=et(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=et(e.width,t));var a={height:D(n+r)};i>0&&(a.width=D(i)),r>0&&(a.verticalAlign=D(-r));var o=new lt(e.src,e.alt,a);return o.height=n,o.depth=r,o},mathmlBuilder:(e,t)=>{var n=new H(`mglyph`,[]);n.setAttribute(`alt`,e.alt);var r=et(e.height,t),i=0;if(e.totalheight.number>0&&(i=et(e.totalheight,t)-r,n.setAttribute(`valign`,D(-i))),n.setAttribute(`height`,D(r+i)),e.width.number>0){var a=et(e.width,t);n.setAttribute(`width`,D(a))}return n.setAttribute(`src`,e.src),n}}),B({type:`kern`,names:[`\\kern`,`\\mkern`,`\\hskip`,`\\mskip`],props:{numArgs:1,argTypes:[`size`],primitive:!0,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e,i=U(t[0],`size`);if(n.settings.strict){var a=r[1]===`m`,o=i.value.unit===`mu`;a?(o||n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` supports only mu units, `+(`not `+i.value.unit+` units`)),n.mode!==`math`&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` works only in math mode`)):o&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` doesn't support mu units`)}return{type:`kern`,mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return En(e.dimension,t)},mathmlBuilder(e,t){return new nr(et(e.dimension,t))}}),B({type:`lap`,names:[`\\mathllap`,`\\mathrlap`,`\\mathclap`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`lap`,mode:n.mode,alignment:r.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment===`clap`?(n=R([],[V(e.body,t)]),n=R([`inner`],[n],t)):n=R([`inner`],[V(e.body,t)]);var r=R([`fix`],[]),i=R([e.alignment],[n,r],t),a=R([`strut`]);return a.style.height=D(i.height+i.depth),i.depth&&(a.style.verticalAlign=D(-i.depth)),i.children.unshift(a),i=R([`thinbox`],[i],t),R([`mord`,`vbox`],[i],t)},mathmlBuilder:(e,t)=>{var n=new H(`mpadded`,[fr(e.body,t)]);if(e.alignment!==`rlap`){var r=e.alignment===`llap`?`-1`:`-0.5`;n.setAttribute(`lspace`,r+`width`)}return n.setAttribute(`width`,`0px`),n}}),B({type:`styling`,names:[`\\(`,`$`],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:n,parser:r}=e,i=r.mode;r.switchMode(`math`);var a=n===`\\(`?`\\)`:`$`,o=r.parseExpression(!1,a);return r.expect(a),r.switchMode(i),{type:`styling`,mode:r.mode,style:`text`,resetFont:!0,body:o}}}),B({type:`text`,names:[`\\)`,`\\]`],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new T(`Mismatched `+e.funcName)}});var sa=(e,t)=>{switch(t.style.size){case E.DISPLAY.size:return e.display;case E.TEXT.size:return e.text;case E.SCRIPT.size:return e.script;case E.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};B({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)=>Cn(Kn(sa(e,t),t,!1)),mathmlBuilder:(e,t)=>dr(sa(e,t),t)});var ca=(e,t,n,r,i,a,o)=>{e=R([],[e]);var s=n&&le(n),c,l;if(t){var u=V(t,r.havingStyle(i.sup()),r);l={elem:u,kern:Math.max(r.fontMetrics().bigOpSpacing1,r.fontMetrics().bigOpSpacing3-u.depth)}}if(n){var d=V(n,r.havingStyle(i.sub()),r);c={elem:d,kern:Math.max(r.fontMetrics().bigOpSpacing2,r.fontMetrics().bigOpSpacing4-d.height)}}var f;if(l&&c)f=z({positionType:`bottom`,positionData:r.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+e.depth+o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:D(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:D(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else if(c)f=z({positionType:`top`,positionData:e.height-o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:D(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e}]});else if(l)f=z({positionType:`bottom`,positionData:e.depth+o,children:[{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:D(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else return e;var p=[f];if(c&&a!==0&&!s){var m=R([`mspace`],[],r);m.style.marginRight=D(a),p.unshift(m)}return R([`mop`,`op-limits`],p,r)},la=new Set([`\\smallint`]),ua=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=U(e.base,`op`),i=!0):a=U(e,`op`);var o=t.style,s=!1;o.size===E.DISPLAY.size&&a.symbol&&!la.has(a.name)&&(s=!0);var c,l;if(a.symbol){var u=s?`Size2-Regular`:`Size1-Regular`,d=``;if((a.name===`\\oiint`||a.name===`\\oiiint`)&&(d=a.name.slice(1),a.name=d===`oiint`?`\\iint`:`\\iiint`),c=pn(a.name,u,`math`,t,[`mop`,`op-symbol`,s?`large-op`:`small-op`]),l=c.italic,d.length>0){var f=An(d+`Size`+(s?`2`:`1`),t);c=z({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:0},{type:`elem`,elem:f,shift:s?.08:0}]}),a.name=`\\`+d,c.classes.unshift(`mop`),c.italic=l}}else if(a.body){var p=Kn(a.body,t,!0);p.length===1&&p[0]instanceof dt?(c=p[0],c.classes[0]=`mop`):c=R([`mop`],p,t)}else{for(var m=[],h=1;h<a.name.length;h++)m.push(mn(a.name[h],a.mode,t));c=R([`mop`],m,t)}var g=0,_=0;return(c instanceof dt||a.name===`\\oiint`||a.name===`\\oiiint`)&&!a.suppressBaseShift&&(g=(c.height-c.depth)/2-t.fontMetrics().axisHeight,_=c.italic??0),i?ca(c,n,r,t,o,_,g):(g&&(c.style.position=`relative`,c.style.top=D(g)),c)},da=(e,t)=>{var n;if(e.symbol)n=new H(`mo`,[ar(e.name,e.mode)]),la.has(e.name)&&n.setAttribute(`largeop`,`false`);else if(e.body)n=new H(`mo`,ur(e.body,t));else{n=new H(`mi`,[new tr(e.name.slice(1))]);var r=new H(`mo`,[ar(``,`text`)]);n=e.parentIsSupSub?new H(`mrow`,[n,r]):er([n,r])}return n},fa={"∏":`\\prod`,"∐":`\\coprod`,"∑":`\\sum`,"⋀":`\\bigwedge`,"⋁":`\\bigvee`,"⋂":`\\bigcap`,"⋃":`\\bigcup`,"⨀":`\\bigodot`,"⨁":`\\bigoplus`,"⨂":`\\bigotimes`,"⨄":`\\biguplus`,"⨆":`\\bigsqcup`};B({type:`op`,names:`\\coprod.\\bigvee.\\bigwedge.\\biguplus.\\bigcap.\\bigcup.\\intop.\\prod.\\sum.\\bigotimes.\\bigoplus.\\bigodot.\\bigsqcup.\\smallint.∏.∐.∑.⋀.⋁.⋂.⋃.⨀.⨁.⨂.⨄.⨆`.split(`.`),props:{numArgs:0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=r;return i.length===1&&(i=fa[i]),{type:`op`,mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:ua,mathmlBuilder:da}),B({type:`op`,names:[`\\mathop`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`op`,mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Vn(r)}},htmlBuilder:ua,mathmlBuilder:da});var pa={"∫":`\\int`,"∬":`\\iint`,"∭":`\\iiint`,"∮":`\\oint`,"∯":`\\oiint`,"∰":`\\oiiint`};B({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`.split(`.`),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:ua,mathmlBuilder:da}),B({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:ua,mathmlBuilder:da}),B({type:`op`,names:[`\\int`,`\\iint`,`\\iiint`,`\\oint`,`\\oiint`,`\\oiiint`,`∫`,`∬`,`∭`,`∮`,`∯`,`∰`],props:{numArgs:0,allowedInArgument:!0},handler(e){var{parser:t,funcName:n}=e,r=n;return r.length===1&&(r=pa[r]),{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:ua,mathmlBuilder:da});var ma=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=U(e.base,`operatorname`),i=!0):a=U(e,`operatorname`);var o;if(a.body.length>0){for(var s=Kn(a.body.map(e=>{var t=`text`in e?e.text:void 0;return typeof t==`string`?{type:`textord`,mode:e.mode,text:t}:e}),t.withFont(`mathrm`),!0),c=0;c<s.length;c++){var l=s[c];l instanceof dt&&(l.text=l.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`))}o=R([`mop`],s,t)}else o=R([`mop`],[],t);return i?ca(o,n,r,t,t.style,0,0):o};B({type:`operatorname`,names:[`\\operatorname@`,`\\operatornamewithlimits`],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`operatorname`,mode:n.mode,body:Vn(i),alwaysHandleSupSub:r===`\\operatornamewithlimits`,limits:!1,parentIsSupSub:!1}},htmlBuilder:ma,mathmlBuilder:(e,t)=>{for(var n=ur(e.body,t.withFont(`mathrm`)),r=!0,i=0;i<n.length;i++){var a=n[i];if(!(a instanceof nr)){if(a instanceof H)switch(a.type){case`mi`:case`mn`:case`mspace`:case`mtext`:break;case`mo`:var o=a.children[0];a.children.length===1&&o instanceof tr?o.text=o.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`):r=!1;break;default:r=!1}else r=!1}}r&&(n=[new tr(n.map(e=>e.toText()).join(``))]);var s=new H(`mi`,n);s.setAttribute(`mathvariant`,`normal`);var c=new H(`mo`,[ar(``,`text`)]);return e.parentIsSupSub?new H(`mrow`,[s,c]):er([s,c])}}),W(`\\operatorname`,`\\@ifstar\\operatornamewithlimits\\operatorname@`),zn({type:`ordgroup`,htmlBuilder(e,t){return e.semisimple?Cn(Kn(e.body,t,!1)):R([`mord`],Kn(e.body,t,!0),t)},mathmlBuilder(e,t){return dr(e.body,t,!0)}}),B({type:`overline`,names:[`\\overline`],props:{numArgs:1},handler(e,t){var{parser:n}=e,r=t[0];return{type:`overline`,mode:n.mode,body:r}},htmlBuilder(e,t){var n=V(e.body,t.havingCrampedStyle()),r=xn(`overline-line`,t),i=t.fontMetrics().defaultRuleThickness;return R([`mord`,`overline`],[z({positionType:`firstBaseline`,children:[{type:`elem`,elem:n},{type:`kern`,size:3*i},{type:`elem`,elem:r},{type:`kern`,size:i}]})],t)},mathmlBuilder(e,t){var n=new H(`mo`,[new tr(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new H(`mover`,[fr(e.body,t),n]);return r.setAttribute(`accent`,`true`),r}}),B({type:`phantom`,names:[`\\phantom`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`phantom`,mode:n.mode,body:Vn(r)}},htmlBuilder:(e,t)=>Cn(Kn(e.body,t.withPhantom(),!1)),mathmlBuilder:(e,t)=>new H(`mphantom`,ur(e.body,t))}),W(`\\hphantom`,`\\smash{\\phantom{#1}}`),B({type:`vphantom`,names:[`\\vphantom`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`vphantom`,mode:n.mode,body:r}},htmlBuilder:(e,t)=>R([`mord`,`rlap`],[R([`inner`],[V(e.body,t.withPhantom())]),R([`fix`],[])],t),mathmlBuilder:(e,t)=>{var n=new H(`mpadded`,[new H(`mphantom`,ur(Vn(e.body),t))]);return n.setAttribute(`width`,`0px`),n}}),B({type:`raisebox`,names:[`\\raisebox`],props:{numArgs:2,argTypes:[`size`,`hbox`],allowedInText:!0},handler(e,t){var{parser:n}=e,r=U(t[0],`size`).value,i=t[1];return{type:`raisebox`,mode:n.mode,dy:r,body:i}},htmlBuilder(e,t){var n=V(e.body,t);return z({positionType:`shift`,positionData:-et(e.dy,t),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){var n=new H(`mpadded`,[fr(e.body,t)]),r=e.dy.number+e.dy.unit;return n.setAttribute(`voffset`,r),n}}),B({type:`internal`,names:[`\\relax`],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(e){var{parser:t}=e;return{type:`internal`,mode:t.mode}}}),B({type:`rule`,names:[`\\rule`],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`size`,`size`,`size`]},handler(e,t,n){var{parser:r}=e,i=n[0],a=U(t[0],`size`),o=U(t[1],`size`);return{type:`rule`,mode:r.mode,shift:i&&U(i,`size`).value,width:a.value,height:o.value}},htmlBuilder(e,t){var n=R([`mord`,`rule`],[],t),r=et(e.width,t),i=et(e.height,t),a=e.shift?et(e.shift,t):0;return n.style.borderRightWidth=D(r),n.style.borderTopWidth=D(i),n.style.bottom=D(a),n.width=r,n.height=i+a,n.depth=-a,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=et(e.width,t),r=et(e.height,t),i=e.shift?et(e.shift,t):0,a=t.color&&t.getColor()||`black`,o=new H(`mspace`);o.setAttribute(`mathbackground`,a),o.setAttribute(`width`,D(n)),o.setAttribute(`height`,D(r));var s=new H(`mpadded`,[o]);return i>=0?s.setAttribute(`height`,D(i)):(s.setAttribute(`height`,D(i)),s.setAttribute(`depth`,D(-i))),s.setAttribute(`voffset`,D(i)),s}});function ha(e,t,n){for(var r=Kn(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,a=0;a<r.length;a++){var o=r[a].classes.indexOf(`sizing`);o<0?Array.prototype.push.apply(r[a].classes,t.sizingClasses(n)):r[a].classes[o+1]===`reset-size`+t.size&&(r[a].classes[o+1]=`reset-size`+n.size),r[a].height*=i,r[a].depth*=i}return Cn(r)}var ga=[`\\tiny`,`\\sixptsize`,`\\scriptsize`,`\\footnotesize`,`\\small`,`\\normalsize`,`\\large`,`\\Large`,`\\LARGE`,`\\huge`,`\\Huge`];B({type:`sizing`,names:ga,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:n,funcName:r,parser:i}=e,a=i.parseExpression(!1,n);return{type:`sizing`,mode:i.mode,size:ga.indexOf(r)+1,body:a}},htmlBuilder:(e,t)=>{var n=t.havingSize(e.size);return ha(e.body,n,t)},mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),r=new H(`mstyle`,ur(e.body,n));return r.setAttribute(`mathsize`,D(n.sizeMultiplier)),r}}),B({type:`smash`,names:[`\\smash`],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,n)=>{var{parser:r}=e,i=!1,a=!1,o=n[0]&&U(n[0],`ordgroup`);if(o)for(var s,c=0;c<o.body.length;++c){var l=o.body[c];if(s=jr(l).text,s===`t`)i=!0;else if(s===`b`)a=!0;else{i=!1,a=!1;break}}else i=!0,a=!0;var u=t[0];return{type:`smash`,mode:r.mode,body:u,smashHeight:i,smashDepth:a}},htmlBuilder:(e,t)=>{var n=R([],[V(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 R([`mord`,`smash`],[n],t);if(n.children)for(var r=0;r<n.children.length;r++)e.smashHeight&&(n.children[r].height=0),e.smashDepth&&(n.children[r].depth=0);return R([`mord`],[z({positionType:`firstBaseline`,children:[{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=new H(`mpadded`,[fr(e.body,t)]);return e.smashHeight&&n.setAttribute(`height`,`0px`),e.smashDepth&&n.setAttribute(`depth`,`0px`),n}}),B({type:`sqrt`,names:[`\\sqrt`],props:{numArgs:1,numOptionalArgs:1},handler(e,t,n){var{parser:r}=e,i=n[0],a=t[0];return{type:`sqrt`,mode:r.mode,body:a,index:i}},htmlBuilder(e,t){var n=V(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=wn(n,t);var r=t.fontMetrics().defaultRuleThickness,i=r;t.style.id<E.TEXT.id&&(i=t.fontMetrics().xHeight);var a=r+i/4,{span:o,ruleWidth:s,advanceWidth:c}=hi(n.height+n.depth+a+r,t),l=o.height-s;l>n.height+n.depth+a&&(a=(a+l-n.height-n.depth)/2);var u=o.height-n.height-a-s;n.style.paddingLeft=D(c);var d=z({positionType:`firstBaseline`,children:[{type:`elem`,elem:n,wrapperClasses:[`svg-align`]},{type:`kern`,size:-(n.height+u)},{type:`elem`,elem:o},{type:`kern`,size:s}]});if(e.index){var f=t.havingStyle(E.SCRIPTSCRIPT),p=V(e.index,f,t);return R([`mord`,`sqrt`],[R([`root`],[z({positionType:`shift`,positionData:-(.6*(d.height-d.depth)),children:[{type:`elem`,elem:p}]})]),d],t)}return R([`mord`,`sqrt`],[d],t)},mathmlBuilder(e,t){var{body:n,index:r}=e;return r?new H(`mroot`,[fr(n,t),fr(r,t)]):new H(`msqrt`,[fr(n,t)])}});var _a={display:E.DISPLAY,text:E.TEXT,script:E.SCRIPT,scriptscript:E.SCRIPTSCRIPT};function va(e){return e in _a}B({type:`styling`,names:[`\\displaystyle`,`\\textstyle`,`\\scriptstyle`,`\\scriptscriptstyle`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:n,funcName:r,parser:i}=e,a=i.parseExpression(!0,n),o=r.slice(1,r.length-5);if(!va(o))throw Error(`Unknown style: `+o);return{type:`styling`,mode:i.mode,style:o,body:a}},htmlBuilder(e,t){var n=_a[e.style],r=t.havingStyle(n);return e.resetFont&&(r=r.withFont(``)),ha(e.body,r,t)},mathmlBuilder(e,t){var n=_a[e.style],r=t.havingStyle(n);e.resetFont&&(r=r.withFont(``));var i=new H(`mstyle`,ur(e.body,r)),a={display:[`0`,`true`],text:[`0`,`false`],script:[`1`,`false`],scriptscript:[`2`,`false`]}[e.style];return i.setAttribute(`scriptlevel`,a[0]),i.setAttribute(`displaystyle`,a[1]),i}});var ya=function(e,t){var n=e.base;return n?n.type===`op`?n.limits&&(t.style.size===E.DISPLAY.size||n.alwaysHandleSupSub)?ua:null:n.type===`operatorname`?n.alwaysHandleSupSub&&(t.style.size===E.DISPLAY.size||n.limits)?ma:null:n.type===`accent`?le(n.base)?Pr:null:n.type===`horizBrace`&&!e.sub===n.isOver?aa:null:null};zn({type:`supsub`,htmlBuilder(e,t){var n=ya(e,t);if(n)return n(e,t);var{base:r,sup:i,sub:a}=e,o=V(r,t),s,c,l=t.fontMetrics(),u=0,d=0,f=r&&le(r);if(i){var p=t.havingStyle(t.style.sup());s=V(i,p,t),f||(u=o.height-p.fontMetrics().supDrop*p.sizeMultiplier/t.sizeMultiplier)}if(a){var m=t.havingStyle(t.style.sub());c=V(a,m,t),f||(d=o.depth+m.fontMetrics().subDrop*m.sizeMultiplier/t.sizeMultiplier)}var h=t.style===E.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2,g=t.sizeMultiplier,_=D(.5/l.ptPerEm/g),v=null;if(c){var y=e.base&&e.base.type===`op`&&e.base.name&&(e.base.name===`\\oiint`||e.base.name===`\\oiiint`);(o instanceof dt||y)&&(v=D(-(o.italic??0)))}var b;if(s&&c){u=Math.max(u,h,s.depth+.25*l.xHeight),d=Math.max(d,l.sub2);var x=4*l.defaultRuleThickness;if(u-s.depth-(c.height-d)<x){d=x-(u-s.depth)+c.height;var S=.8*l.xHeight-(u-s.depth);S>0&&(u+=S,d-=S)}b=z({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:d,marginRight:_,marginLeft:v},{type:`elem`,elem:s,shift:-u,marginRight:_}]})}else if(c)d=Math.max(d,l.sub1,c.height-.8*l.xHeight),b=z({positionType:`shift`,positionData:d,children:[{type:`elem`,elem:c,marginLeft:v,marginRight:_}]});else if(s)u=Math.max(u,h,s.depth+.25*l.xHeight),b=z({positionType:`shift`,positionData:-u,children:[{type:`elem`,elem:s,marginRight:_}]});else throw Error(`supsub must have either sup or sub.`);return R([Xn(o,`right`)||`mord`],[o,R([`msupsub`],[b])],t)},mathmlBuilder(e,t){var n=!1,r,i;e.base&&e.base.type===`horizBrace`&&(i=!!e.sup,i===e.base.isOver&&(n=!0,r=e.base.isOver)),e.base&&(e.base.type===`op`||e.base.type===`operatorname`)&&(e.base.parentIsSupSub=!0);var a=[fr(e.base,t)];e.sub&&a.push(fr(e.sub,t)),e.sup&&a.push(fr(e.sup,t));var o;if(n)o=r?`mover`:`munder`;else if(!e.sub){var s=e.base;o=s&&s.type===`op`&&s.limits&&(t.style===E.DISPLAY||s.alwaysHandleSupSub)||s&&s.type===`operatorname`&&s.alwaysHandleSupSub&&(s.limits||t.style===E.DISPLAY)?`mover`:`msup`}else if(e.sup){var c=e.base;o=c&&c.type===`op`&&c.limits&&t.style===E.DISPLAY||c&&c.type===`operatorname`&&c.alwaysHandleSupSub&&(t.style===E.DISPLAY||c.limits)?`munderover`:`msubsup`}else{var l=e.base;o=l&&l.type===`op`&&l.limits&&(t.style===E.DISPLAY||l.alwaysHandleSupSub)||l&&l.type===`operatorname`&&l.alwaysHandleSupSub&&(l.limits||t.style===E.DISPLAY)?`munder`:`msub`}return new H(o,a)}}),zn({type:`atom`,htmlBuilder(e,t){return mn(e.text,e.mode,t,[`m`+e.family])},mathmlBuilder(e,t){var n=new H(`mo`,[ar(e.text,e.mode)]);if(e.family===`bin`){var r=cr(e,t);r===`bold-italic`&&n.setAttribute(`mathvariant`,r)}else e.family===`punct`?n.setAttribute(`separator`,`true`):(e.family===`open`||e.family===`close`)&&n.setAttribute(`stretchy`,`false`);return n}});var ba={mi:`italic`,mn:`normal`,mtext:`normal`};zn({type:`mathord`,htmlBuilder(e,t){return gn(e,t,`mathord`)},mathmlBuilder(e,t){var n=new H(`mi`,[ar(e.text,e.mode,t)]),r=cr(e,t)||`italic`;return r!==ba[n.type]&&n.setAttribute(`mathvariant`,r),n}}),zn({type:`textord`,htmlBuilder(e,t){return gn(e,t,`textord`)},mathmlBuilder(e,t){var n=ar(e.text,e.mode,t),r=cr(e,t)||`normal`,i=e.mode===`text`?new H(`mtext`,[n]):/[0-9]/.test(e.text)?new H(`mn`,[n]):e.text===`\\prime`?new H(`mo`,[n]):new H(`mi`,[n]);return r!==ba[i.type]&&i.setAttribute(`mathvariant`,r),i}});var xa={"\\nobreak":`nobreak`,"\\allowbreak":`allowbreak`},Sa={" ":{},"\\ ":{},"~":{className:`nobreak`},"\\space":{},"\\nobreakspace":{className:`nobreak`}};zn({type:`spacing`,htmlBuilder(e,t){if(Sa.hasOwnProperty(e.text)){var n=Sa[e.text].className||``;if(e.mode===`text`){var r=gn(e,t,`textord`);return r.classes.push(n),r}return R([`mspace`,n],[mn(e.text,e.mode,t)],t)}if(xa.hasOwnProperty(e.text))return R([`mspace`,xa[e.text]],[],t);throw new T(`Unknown type of space "`+e.text+`"`)},mathmlBuilder(e,t){var n;if(Sa.hasOwnProperty(e.text))n=new H(`mtext`,[new tr(`\xA0`)]);else if(xa.hasOwnProperty(e.text))return new H(`mspace`);else throw new T(`Unknown type of space "`+e.text+`"`);return n}});var Ca=()=>{var e=new H(`mtd`,[]);return e.setAttribute(`width`,`50%`),e};zn({type:`tag`,mathmlBuilder(e,t){var n=new H(`mtable`,[new H(`mtr`,[Ca(),new H(`mtd`,[dr(e.body,t)]),Ca(),new H(`mtd`,[dr(e.tag,t)])])]);return n.setAttribute(`width`,`100%`),n}});var wa={"\\text":void 0,"\\textrm":`textrm`,"\\textsf":`textsf`,"\\texttt":`texttt`,"\\textnormal":`textrm`},Ta={"\\textbf":`textbf`,"\\textmd":`textmd`},Ea={"\\textit":`textit`,"\\textup":`textup`},Da=(e,t)=>{var n=e.font;return n?wa[n]?t.withTextFontFamily(wa[n]):Ta[n]?t.withTextFontWeight(Ta[n]):n===`\\emph`?t.fontShape===`textit`?t.withTextFontShape(`textup`):t.withTextFontShape(`textit`):t.withTextFontShape(Ea[n]):t};B({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:r}=e,i=t[0];return{type:`text`,mode:n.mode,body:Vn(i),font:r}},htmlBuilder(e,t){var n=Da(e,t);return R([`mord`,`text`],Kn(e.body,n,!0),n)},mathmlBuilder(e,t){var n=Da(e,t);return dr(e.body,n)}}),B({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=V(e.body,t),r=xn(`underline-line`,t),i=t.fontMetrics().defaultRuleThickness;return R([`mord`,`underline`],[z({positionType:`top`,positionData:n.height,children:[{type:`kern`,size:i},{type:`elem`,elem:r},{type:`kern`,size:3*i},{type:`elem`,elem:n}]})],t)},mathmlBuilder(e,t){var n=new H(`mo`,[new tr(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new H(`munder`,[fr(e.body,t),n]);return r.setAttribute(`accentunder`,`true`),r}}),B({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=V(e.body,t),r=t.fontMetrics().axisHeight;return z({positionType:`shift`,positionData:.5*(n.height-r-(n.depth+r)),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){return new H(`mrow`,[new H(`mpadded`,[fr(e.body,t)],[`vcenter`])])}}),B({type:`verb`,names:[`\\verb`],props:{numArgs:0,allowedInText:!0},handler(e,t,n){throw new T(`\\verb ended by end of line instead of matching delimiter`)},htmlBuilder(e,t){for(var n=Oa(e),r=[],i=t.havingStyle(t.style.text()),a=0;a<n.length;a++){var o=n[a];o===`~`&&(o=`\\textasciitilde`),r.push(pn(o,`Typewriter-Regular`,e.mode,i,[`mord`,`texttt`]))}return R([`mord`,`text`].concat(i.sizingClasses(t)),vn(r),i)},mathmlBuilder(e,t){var n=new H(`mtext`,[new tr(Oa(e))]);return n.setAttribute(`mathvariant`,`monospace`),n}});var Oa=e=>e.body.replace(/ /g,e.star?`␣`:`\xA0`),ka=In,Aa=`[ \r
|
|
253
|
+
]`,ja=`\\\\[a-zA-Z@]+`,Ma=`\\\\[^\ud800-\udfff]`,Na=`(`+ja+`)`+Aa+`*`,Pa=`\\\\(
|
|
254
|
+
|[ \r ]+
|
|
255
|
+
?)[ \r ]*`,Fa=`[̀-ͯ]`,Ia=RegExp(Fa+`+$`),La=`(`+Aa+`+)|`+(Pa+`|`)+`([!-\\[\\]-‧-豈-]`+(Fa+`*`)+`|[\ud800-\udbff][\udc00-\udfff]`+(Fa+`*`)+`|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5`+(`|`+Na)+(`|`+Ma+`)`),Ra=class{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(La,`g`),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new zi(`EOF`,new Ri(this,t,t));var n=this.tokenRegex.exec(e);if(n===null||n.index!==t)throw new T(`Unexpected character: '`+e[t]+`'`,new zi(e[t],new Ri(this,t,t+1)));var r=n[6]||n[3]||(n[2]?`\\ `:` `);if(this.catcodes[r]===14){var i=e.indexOf(`
|
|
256
|
+
`,this.tokenRegex.lastIndex);return i===-1?(this.tokenRegex.lastIndex=e.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=i+1,this.lex()}return new zi(r,new Ri(this,t,this.tokenRegex.lastIndex))}},za=class{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new T(`Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug`);var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,n){if(n===void 0&&(n=!1),n){for(var r=0;r<this.undefStack.length;r++)delete this.undefStack[r][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}},Ba=Li;W(`\\noexpand`,function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),W(`\\expandafter`,function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),W(`\\@firstoftwo`,function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),W(`\\@secondoftwo`,function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),W(`\\@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}}),W(`\\@ifstar`,`\\@ifnextchar *{\\@firstoftwo{#1}}`),W(`\\TextOrMath`,function(e){var t=e.consumeArgs(2);return e.mode===`text`?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var Va={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};W(`\\char`,function(e){var t=e.popToken(),n,r=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]===`\\`)r=t.text.charCodeAt(1);else if(t.text===`EOF`)throw new T("\\char` missing argument");else r=t.text.charCodeAt(0)}else n=10;if(n){if(r=Va[t.text],r==null||r>=n)throw new T(`Invalid base-`+n+` digit `+t.text);for(var i;(i=Va[e.future().text])!=null&&i<n;)r*=n,r+=i,e.popToken()}return`\\@char{`+r+`}`});var Ha=(e,t,n,r)=>{var i=e.consumeArg().tokens;if(i.length!==1)throw new T(`\\newcommand's first argument must be a macro name`);var a=i[0].text,o=e.isDefined(a);if(o&&!t)throw new T(`\\newcommand{`+a+`} attempting to redefine `+(a+`; use \\renewcommand`));if(!o&&!n)throw new T(`\\renewcommand{`+a+`} when command `+a+` does not yet exist; use \\newcommand`);var s=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text===`[`){for(var c=``,l=e.expandNextToken();l.text!==`]`&&l.text!==`EOF`;)c+=l.text,l=e.expandNextToken();if(!c.match(/^\s*[0-9]+\s*$/))throw new T(`Invalid number of arguments: `+c);s=parseInt(c),i=e.consumeArg().tokens}return o&&r||e.macros.set(a,{tokens:i,numArgs:s}),``};W(`\\newcommand`,e=>Ha(e,!1,!0,!1)),W(`\\renewcommand`,e=>Ha(e,!0,!1,!1)),W(`\\providecommand`,e=>Ha(e,!0,!0,!0)),W(`\\message`,e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join(``)),``}),W(`\\errmessage`,e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join(``)),``}),W(`\\show`,e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),ka[n],Tt.math[n],Tt.text[n]),``}),W(`\\bgroup`,`{`),W(`\\egroup`,`}`),W(`~`,`\\nobreakspace`),W(`\\lq`,"`"),W(`\\rq`,`'`),W(`\\aa`,`\\r a`),W(`\\AA`,`\\r A`),W(`\\textcopyright`,"\\html@mathml{\\textcircled{c}}{\\char`©}"),W(`\\copyright`,`\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}`),W(`\\textregistered`,"\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),W(`ℬ`,`\\mathscr{B}`),W(`ℰ`,`\\mathscr{E}`),W(`ℱ`,`\\mathscr{F}`),W(`ℋ`,`\\mathscr{H}`),W(`ℐ`,`\\mathscr{I}`),W(`ℒ`,`\\mathscr{L}`),W(`ℳ`,`\\mathscr{M}`),W(`ℛ`,`\\mathscr{R}`),W(`ℭ`,`\\mathfrak{C}`),W(`ℌ`,`\\mathfrak{H}`),W(`ℨ`,`\\mathfrak{Z}`),W(`\\Bbbk`,`\\Bbb{k}`),W(`\\llap`,`\\mathllap{\\textrm{#1}}`),W(`\\rlap`,`\\mathrlap{\\textrm{#1}}`),W(`\\clap`,`\\mathclap{\\textrm{#1}}`),W(`\\mathstrut`,`\\vphantom{(}`),W(`\\underbar`,`\\underline{\\text{#1}}`),W(`\\not`,`\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}`),W(`\\neq`,"\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),W(`\\ne`,`\\neq`),W(`≠`,`\\neq`),W(`\\notin`,"\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),W(`∉`,`\\notin`),W(`≘`,"\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),W(`≙`,"\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),W(`≚`,"\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),W(`≛`,"\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),W(`≝`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),W(`≞`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),W(`≟`,"\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),W(`⟂`,`\\perp`),W(`‼`,`\\mathclose{!\\mkern-0.8mu!}`),W(`∌`,`\\notni`),W(`⌜`,`\\ulcorner`),W(`⌝`,`\\urcorner`),W(`⌞`,`\\llcorner`),W(`⌟`,`\\lrcorner`),W(`©`,`\\copyright`),W(`®`,`\\textregistered`),W(`\\ulcorner`,`\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}`),W(`\\urcorner`,`\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}`),W(`\\llcorner`,`\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}`),W(`\\lrcorner`,`\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}`),W(`\\vdots`,`{\\varvdots\\rule{0pt}{15pt}}`),W(`⋮`,`\\vdots`),W(`\\varGamma`,`\\mathit{\\Gamma}`),W(`\\varDelta`,`\\mathit{\\Delta}`),W(`\\varTheta`,`\\mathit{\\Theta}`),W(`\\varLambda`,`\\mathit{\\Lambda}`),W(`\\varXi`,`\\mathit{\\Xi}`),W(`\\varPi`,`\\mathit{\\Pi}`),W(`\\varSigma`,`\\mathit{\\Sigma}`),W(`\\varUpsilon`,`\\mathit{\\Upsilon}`),W(`\\varPhi`,`\\mathit{\\Phi}`),W(`\\varPsi`,`\\mathit{\\Psi}`),W(`\\varOmega`,`\\mathit{\\Omega}`),W(`\\substack`,`\\begin{subarray}{c}#1\\end{subarray}`),W(`\\colon`,`\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax`),W(`\\boxed`,`\\fbox{$\\displaystyle{#1}$}`),W(`\\iff`,`\\DOTSB\\;\\Longleftrightarrow\\;`),W(`\\implies`,`\\DOTSB\\;\\Longrightarrow\\;`),W(`\\impliedby`,`\\DOTSB\\;\\Longleftarrow\\;`),W(`\\dddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}`),W(`\\ddddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}`);var Ua={",":`\\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`},Wa=new Set([`bin`,`rel`]);W(`\\dots`,function(e){var t=`\\dotso`,n=e.expandAfterFuture().text;return n in Ua?t=Ua[n]:(n.slice(0,4)===`\\not`||n in Tt.math&&Wa.has(Tt.math[n].group))&&(t=`\\dotsb`),t});var Ga={")":!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};W(`\\dotso`,function(e){return e.future().text in Ga?`\\ldots\\,`:`\\ldots`}),W(`\\dotsc`,function(e){var t=e.future().text;return t in Ga&&t!==`,`?`\\ldots\\,`:`\\ldots`}),W(`\\cdots`,function(e){return e.future().text in Ga?`\\@cdots\\,`:`\\@cdots`}),W(`\\dotsb`,`\\cdots`),W(`\\dotsm`,`\\cdots`),W(`\\dotsi`,`\\!\\cdots`),W(`\\dotsx`,`\\ldots\\,`),W(`\\DOTSI`,`\\relax`),W(`\\DOTSB`,`\\relax`),W(`\\DOTSX`,`\\relax`),W(`\\tmspace`,`\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax`),W(`\\,`,`\\tmspace+{3mu}{.1667em}`),W(`\\thinspace`,`\\,`),W(`\\>`,`\\mskip{4mu}`),W(`\\:`,`\\tmspace+{4mu}{.2222em}`),W(`\\medspace`,`\\:`),W(`\\;`,`\\tmspace+{5mu}{.2777em}`),W(`\\thickspace`,`\\;`),W(`\\!`,`\\tmspace-{3mu}{.1667em}`),W(`\\negthinspace`,`\\!`),W(`\\negmedspace`,`\\tmspace-{4mu}{.2222em}`),W(`\\negthickspace`,`\\tmspace-{5mu}{.277em}`),W(`\\enspace`,`\\kern.5em `),W(`\\enskip`,`\\hskip.5em\\relax`),W(`\\quad`,`\\hskip1em\\relax`),W(`\\qquad`,`\\hskip2em\\relax`),W(`\\tag`,`\\@ifstar\\tag@literal\\tag@paren`),W(`\\tag@paren`,`\\tag@literal{({#1})}`),W(`\\tag@literal`,e=>{if(e.macros.get(`\\df@tag`))throw new T(`Multiple \\tag`);return`\\gdef\\df@tag{\\text{#1}}`}),W(`\\bmod`,`\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}`),W(`\\pod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)`),W(`\\pmod`,`\\pod{{\\rm mod}\\mkern6mu#1}`),W(`\\mod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1`),W(`\\newline`,`\\\\\\relax`),W(`\\TeX`,`\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}`);var Ka=D(vt[`Main-Regular`][84][1]-.7*vt[`Main-Regular`][65][1]);W(`\\LaTeX`,`\\textrm{\\html@mathml{`+(`L\\kern-.36em\\raisebox{`+Ka+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{LaTeX}}`),W(`\\KaTeX`,`\\textrm{\\html@mathml{`+(`K\\kern-.17em\\raisebox{`+Ka+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{KaTeX}}`),W(`\\hspace`,`\\@ifstar\\@hspacer\\@hspace`),W(`\\@hspace`,`\\hskip #1\\relax`),W(`\\@hspacer`,`\\rule{0pt}{0pt}\\hskip #1\\relax`),W(`\\ordinarycolon`,`:`),W(`\\vcentcolon`,`\\mathrel{\\mathop\\ordinarycolon}`),W(`\\dblcolon`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}`),W(`\\coloneqq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}`),W(`\\Coloneqq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}`),W(`\\coloneq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}`),W(`\\Coloneq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}`),W(`\\eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}`),W(`\\Eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}`),W(`\\eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}`),W(`\\Eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}`),W(`\\colonapprox`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}`),W(`\\Colonapprox`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}`),W(`\\colonsim`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}`),W(`\\Colonsim`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}`),W(`∷`,`\\dblcolon`),W(`∹`,`\\eqcolon`),W(`≔`,`\\coloneqq`),W(`≕`,`\\eqqcolon`),W(`⩴`,`\\Coloneqq`),W(`\\ratio`,`\\vcentcolon`),W(`\\coloncolon`,`\\dblcolon`),W(`\\colonequals`,`\\coloneqq`),W(`\\coloncolonequals`,`\\Coloneqq`),W(`\\equalscolon`,`\\eqqcolon`),W(`\\equalscoloncolon`,`\\Eqqcolon`),W(`\\colonminus`,`\\coloneq`),W(`\\coloncolonminus`,`\\Coloneq`),W(`\\minuscolon`,`\\eqcolon`),W(`\\minuscoloncolon`,`\\Eqcolon`),W(`\\coloncolonapprox`,`\\Colonapprox`),W(`\\coloncolonsim`,`\\Colonsim`),W(`\\simcolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),W(`\\simcoloncolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}`),W(`\\approxcolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),W(`\\approxcoloncolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}`),W(`\\notni`,"\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),W(`\\limsup`,`\\DOTSB\\operatorname*{lim\\,sup}`),W(`\\liminf`,`\\DOTSB\\operatorname*{lim\\,inf}`),W(`\\injlim`,`\\DOTSB\\operatorname*{inj\\,lim}`),W(`\\projlim`,`\\DOTSB\\operatorname*{proj\\,lim}`),W(`\\varlimsup`,`\\DOTSB\\operatorname*{\\overline{lim}}`),W(`\\varliminf`,`\\DOTSB\\operatorname*{\\underline{lim}}`),W(`\\varinjlim`,`\\DOTSB\\operatorname*{\\underrightarrow{lim}}`),W(`\\varprojlim`,`\\DOTSB\\operatorname*{\\underleftarrow{lim}}`),W(`\\gvertneqq`,`\\html@mathml{\\@gvertneqq}{≩}`),W(`\\lvertneqq`,`\\html@mathml{\\@lvertneqq}{≨}`),W(`\\ngeqq`,`\\html@mathml{\\@ngeqq}{≱}`),W(`\\ngeqslant`,`\\html@mathml{\\@ngeqslant}{≱}`),W(`\\nleqq`,`\\html@mathml{\\@nleqq}{≰}`),W(`\\nleqslant`,`\\html@mathml{\\@nleqslant}{≰}`),W(`\\nshortmid`,`\\html@mathml{\\@nshortmid}{∤}`),W(`\\nshortparallel`,`\\html@mathml{\\@nshortparallel}{∦}`),W(`\\nsubseteqq`,`\\html@mathml{\\@nsubseteqq}{⊈}`),W(`\\nsupseteqq`,`\\html@mathml{\\@nsupseteqq}{⊉}`),W(`\\varsubsetneq`,`\\html@mathml{\\@varsubsetneq}{⊊}`),W(`\\varsubsetneqq`,`\\html@mathml{\\@varsubsetneqq}{⫋}`),W(`\\varsupsetneq`,`\\html@mathml{\\@varsupsetneq}{⊋}`),W(`\\varsupsetneqq`,`\\html@mathml{\\@varsupsetneqq}{⫌}`),W(`\\imath`,`\\html@mathml{\\@imath}{ı}`),W(`\\jmath`,`\\html@mathml{\\@jmath}{ȷ}`),W(`\\llbracket`,"\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),W(`\\rrbracket`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),W(`⟦`,`\\llbracket`),W(`⟧`,`\\rrbracket`),W(`\\lBrace`,"\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),W(`\\rBrace`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),W(`⦃`,`\\lBrace`),W(`⦄`,`\\rBrace`),W(`\\minuso`,"\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),W(`⦵`,`\\minuso`),W(`\\darr`,`\\downarrow`),W(`\\dArr`,`\\Downarrow`),W(`\\Darr`,`\\Downarrow`),W(`\\lang`,`\\langle`),W(`\\rang`,`\\rangle`),W(`\\uarr`,`\\uparrow`),W(`\\uArr`,`\\Uparrow`),W(`\\Uarr`,`\\Uparrow`),W(`\\N`,`\\mathbb{N}`),W(`\\R`,`\\mathbb{R}`),W(`\\Z`,`\\mathbb{Z}`),W(`\\alef`,`\\aleph`),W(`\\alefsym`,`\\aleph`),W(`\\Alpha`,`\\mathrm{A}`),W(`\\Beta`,`\\mathrm{B}`),W(`\\bull`,`\\bullet`),W(`\\Chi`,`\\mathrm{X}`),W(`\\clubs`,`\\clubsuit`),W(`\\cnums`,`\\mathbb{C}`),W(`\\Complex`,`\\mathbb{C}`),W(`\\Dagger`,`\\ddagger`),W(`\\diamonds`,`\\diamondsuit`),W(`\\empty`,`\\emptyset`),W(`\\Epsilon`,`\\mathrm{E}`),W(`\\Eta`,`\\mathrm{H}`),W(`\\exist`,`\\exists`),W(`\\harr`,`\\leftrightarrow`),W(`\\hArr`,`\\Leftrightarrow`),W(`\\Harr`,`\\Leftrightarrow`),W(`\\hearts`,`\\heartsuit`),W(`\\image`,`\\Im`),W(`\\infin`,`\\infty`),W(`\\Iota`,`\\mathrm{I}`),W(`\\isin`,`\\in`),W(`\\Kappa`,`\\mathrm{K}`),W(`\\larr`,`\\leftarrow`),W(`\\lArr`,`\\Leftarrow`),W(`\\Larr`,`\\Leftarrow`),W(`\\lrarr`,`\\leftrightarrow`),W(`\\lrArr`,`\\Leftrightarrow`),W(`\\Lrarr`,`\\Leftrightarrow`),W(`\\Mu`,`\\mathrm{M}`),W(`\\natnums`,`\\mathbb{N}`),W(`\\Nu`,`\\mathrm{N}`),W(`\\Omicron`,`\\mathrm{O}`),W(`\\plusmn`,`\\pm`),W(`\\rarr`,`\\rightarrow`),W(`\\rArr`,`\\Rightarrow`),W(`\\Rarr`,`\\Rightarrow`),W(`\\real`,`\\Re`),W(`\\reals`,`\\mathbb{R}`),W(`\\Reals`,`\\mathbb{R}`),W(`\\Rho`,`\\mathrm{P}`),W(`\\sdot`,`\\cdot`),W(`\\sect`,`\\S`),W(`\\spades`,`\\spadesuit`),W(`\\sub`,`\\subset`),W(`\\sube`,`\\subseteq`),W(`\\supe`,`\\supseteq`),W(`\\Tau`,`\\mathrm{T}`),W(`\\thetasym`,`\\vartheta`),W(`\\weierp`,`\\wp`),W(`\\Zeta`,`\\mathrm{Z}`),W(`\\argmin`,`\\DOTSB\\operatorname*{arg\\,min}`),W(`\\argmax`,`\\DOTSB\\operatorname*{arg\\,max}`),W(`\\plim`,`\\DOTSB\\mathop{\\operatorname{plim}}\\limits`),W(`\\bra`,`\\mathinner{\\langle{#1}|}`),W(`\\ket`,`\\mathinner{|{#1}\\rangle}`),W(`\\braket`,`\\mathinner{\\langle{#1}\\rangle}`),W(`\\Bra`,`\\left\\langle#1\\right|`),W(`\\Ket`,`\\left|#1\\right\\rangle`);var qa=e=>t=>{var n=t.consumeArg().tokens,r=t.consumeArg().tokens,i=t.consumeArg().tokens,a=t.consumeArg().tokens,o=t.macros.get(`|`),s=t.macros.get(`\\|`);t.macros.beginGroup();var c=t=>n=>{e&&(n.macros.set(`|`,o),i.length&&n.macros.set(`\\|`,s));var a=t;return!t&&i.length&&n.future().text===`|`&&(n.popToken(),a=!0),{tokens:a?i:r,numArgs:0}};t.macros.set(`|`,c(!1)),i.length&&t.macros.set(`\\|`,c(!0));var l=t.consumeArg().tokens,u=t.expandTokens([...a,...l,...n]);return t.macros.endGroup(),{tokens:u.reverse(),numArgs:0}};W(`\\bra@ket`,qa(!1)),W(`\\bra@set`,qa(!0)),W(`\\Braket`,`\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}`),W(`\\Set`,`\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}`),W(`\\set`,`\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}`),W(`\\angln`,`{\\angl n}`),W(`\\blue`,`\\textcolor{##6495ed}{#1}`),W(`\\orange`,`\\textcolor{##ffa500}{#1}`),W(`\\pink`,`\\textcolor{##ff00af}{#1}`),W(`\\red`,`\\textcolor{##df0030}{#1}`),W(`\\green`,`\\textcolor{##28ae7b}{#1}`),W(`\\gray`,`\\textcolor{gray}{#1}`),W(`\\purple`,`\\textcolor{##9d38bd}{#1}`),W(`\\blueA`,`\\textcolor{##ccfaff}{#1}`),W(`\\blueB`,`\\textcolor{##80f6ff}{#1}`),W(`\\blueC`,`\\textcolor{##63d9ea}{#1}`),W(`\\blueD`,`\\textcolor{##11accd}{#1}`),W(`\\blueE`,`\\textcolor{##0c7f99}{#1}`),W(`\\tealA`,`\\textcolor{##94fff5}{#1}`),W(`\\tealB`,`\\textcolor{##26edd5}{#1}`),W(`\\tealC`,`\\textcolor{##01d1c1}{#1}`),W(`\\tealD`,`\\textcolor{##01a995}{#1}`),W(`\\tealE`,`\\textcolor{##208170}{#1}`),W(`\\greenA`,`\\textcolor{##b6ffb0}{#1}`),W(`\\greenB`,`\\textcolor{##8af281}{#1}`),W(`\\greenC`,`\\textcolor{##74cf70}{#1}`),W(`\\greenD`,`\\textcolor{##1fab54}{#1}`),W(`\\greenE`,`\\textcolor{##0d923f}{#1}`),W(`\\goldA`,`\\textcolor{##ffd0a9}{#1}`),W(`\\goldB`,`\\textcolor{##ffbb71}{#1}`),W(`\\goldC`,`\\textcolor{##ff9c39}{#1}`),W(`\\goldD`,`\\textcolor{##e07d10}{#1}`),W(`\\goldE`,`\\textcolor{##a75a05}{#1}`),W(`\\redA`,`\\textcolor{##fca9a9}{#1}`),W(`\\redB`,`\\textcolor{##ff8482}{#1}`),W(`\\redC`,`\\textcolor{##f9685d}{#1}`),W(`\\redD`,`\\textcolor{##e84d39}{#1}`),W(`\\redE`,`\\textcolor{##bc2612}{#1}`),W(`\\maroonA`,`\\textcolor{##ffbde0}{#1}`),W(`\\maroonB`,`\\textcolor{##ff92c6}{#1}`),W(`\\maroonC`,`\\textcolor{##ed5fa6}{#1}`),W(`\\maroonD`,`\\textcolor{##ca337c}{#1}`),W(`\\maroonE`,`\\textcolor{##9e034e}{#1}`),W(`\\purpleA`,`\\textcolor{##ddd7ff}{#1}`),W(`\\purpleB`,`\\textcolor{##c6b9fc}{#1}`),W(`\\purpleC`,`\\textcolor{##aa87ff}{#1}`),W(`\\purpleD`,`\\textcolor{##7854ab}{#1}`),W(`\\purpleE`,`\\textcolor{##543b78}{#1}`),W(`\\mintA`,`\\textcolor{##f5f9e8}{#1}`),W(`\\mintB`,`\\textcolor{##edf2df}{#1}`),W(`\\mintC`,`\\textcolor{##e0e5cc}{#1}`),W(`\\grayA`,`\\textcolor{##f6f7f7}{#1}`),W(`\\grayB`,`\\textcolor{##f0f1f2}{#1}`),W(`\\grayC`,`\\textcolor{##e3e5e6}{#1}`),W(`\\grayD`,`\\textcolor{##d6d8da}{#1}`),W(`\\grayE`,`\\textcolor{##babec2}{#1}`),W(`\\grayF`,`\\textcolor{##888d93}{#1}`),W(`\\grayG`,`\\textcolor{##626569}{#1}`),W(`\\grayH`,`\\textcolor{##3b3e40}{#1}`),W(`\\grayI`,`\\textcolor{##21242c}{#1}`),W(`\\kaBlue`,`\\textcolor{##314453}{#1}`),W(`\\kaGreen`,`\\textcolor{##71B307}{#1}`);var Ja={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},Ya=class{constructor(e,t,n){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=t,this.expansionCount=0,this.feed(e),this.macros=new za(Ba,t.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Ra(e,this.settings)}switchMode(e){this.mode=e}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(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,n,r;if(e){if(this.consumeSpaces(),this.future().text!==`[`)return null;t=this.popToken(),{tokens:r,end:n}=this.consumeArg([`]`])}else({tokens:r,start:t,end:n}=this.consumeArg());return this.pushToken(new zi(`EOF`,n.loc)),this.pushTokens(r),new zi(``,Ri.range(t,n))}consumeSpaces(){for(;this.future().text===` `;)this.stack.pop()}consumeArg(e){var t=[],n=e&&e.length>0;n||this.consumeSpaces();var r=this.future(),i,a=0,o=0;do{if(i=this.popToken(),t.push(i),i.text===`{`)++a;else if(i.text===`}`){if(--a,a===-1)throw new T(`Extra }`,i)}else if(i.text===`EOF`)throw new T(`Unexpected end of input in a macro argument, expected '`+(e&&n?e[o]:`}`)+`'`,i);if(e&&n){if((a===0||a===1&&e[o]===`{`)&&i.text===e[o]){if(++o,o===e.length){t.splice(-o,o);break}}else o=0}}while(a!==0||n);return r.text===`{`&&t[t.length-1].text===`}`&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:r,end:i}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new T(`The length of delimiters doesn't match the number of args!`);for(var n=t[0],r=0;r<n.length;r++){var i=this.popToken();if(n[r]!==i.text)throw new T(`Use of the macro doesn't match its definition`,i)}}for(var a=[],o=0;o<e;o++)a.push(this.consumeArg(t&&t[o+1]).tokens);return a}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new T(`Too many expansions: infinite loop or need to increase maxExpand setting`)}expandOnce(e){var t=this.popToken(),n=t.text,r=t.noexpand?null:this._getExpansion(n);if(r==null||e&&r.unexpandable){if(e&&r==null&&n[0]===`\\`&&!this.isDefined(n))throw new T(`Undefined control sequence: `+n);return this.pushToken(t),!1}this.countExpansion(1);var i=r.tokens,a=this.consumeArgs(r.numArgs,r.delimiters);if(r.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var s=i[o];if(s.text===`#`){if(o===0)throw new T(`Incomplete placeholder at end of macro body`,s);if(s=i[--o],s.text===`#`)i.splice(o+1,1);else if(/^[1-9]$/.test(s.text))i.splice(o,2,...a[s.text-1]);else throw new T(`Not a valid argument number`,s)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text=`\\relax`),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new zi(e)]):void 0}expandTokens(e){var t=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var r=this.stack.pop();r.treatAsRelax&&=(r.noexpand=!1,!1),t.push(r)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(e=>e.text).join(``)}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var r=typeof t==`function`?t(this):t;if(typeof r==`string`){var i=0;if(r.includes(`#`))for(var a=r.replace(/##/g,``);a.includes(`#`+(i+1));)++i;for(var o=new Ra(r,this.settings),s=[],c=o.lex();c.text!==`EOF`;)s.push(c),c=o.lex();return s.reverse(),{tokens:s,numArgs:i}}return r}isDefined(e){return this.macros.has(e)||ka.hasOwnProperty(e)||Tt.math.hasOwnProperty(e)||Tt.text.hasOwnProperty(e)||Ja.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t==null?ka.hasOwnProperty(e)&&!ka[e].primitive:typeof t==`string`||typeof t==`function`||!t.unexpandable}},Xa=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Za=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`,ᵝ:`β`,ᵞ:`γ`,ᵟ:`δ`,ᵠ:`ϕ`,ᵡ:`χ`,ᶿ:`θ`}),Qa={"́":{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`}},$a={á:`á`,à:`à`,ä:`ä`,ǟ:`ǟ`,ã:`ã`,ā:`ā`,ă:`ă`,ắ:`ắ`,ằ:`ằ`,ẵ:`ẵ`,ǎ:`ǎ`,â:`â`,ấ:`ấ`,ầ:`ầ`,ẫ:`ẫ`,ȧ:`ȧ`,ǡ:`ǡ`,å:`å`,ǻ:`ǻ`,ḃ:`ḃ`,ć:`ć`,ḉ:`ḉ`,č:`č`,ĉ:`ĉ`,ċ:`ċ`,ç:`ç`,ď:`ď`,ḋ:`ḋ`,ḑ:`ḑ`,é:`é`,è:`è`,ë:`ë`,ẽ:`ẽ`,ē:`ē`,ḗ:`ḗ`,ḕ:`ḕ`,ĕ:`ĕ`,ḝ:`ḝ`,ě:`ě`,ê:`ê`,ế:`ế`,ề:`ề`,ễ:`ễ`,ė:`ė`,ȩ:`ȩ`,ḟ:`ḟ`,ǵ:`ǵ`,ḡ:`ḡ`,ğ:`ğ`,ǧ:`ǧ`,ĝ:`ĝ`,ġ:`ġ`,ģ:`ģ`,ḧ:`ḧ`,ȟ:`ȟ`,ĥ:`ĥ`,ḣ:`ḣ`,ḩ:`ḩ`,í:`í`,ì:`ì`,ï:`ï`,ḯ:`ḯ`,ĩ:`ĩ`,ī:`ī`,ĭ:`ĭ`,ǐ:`ǐ`,î:`î`,ǰ:`ǰ`,ĵ:`ĵ`,ḱ:`ḱ`,ǩ:`ǩ`,ķ:`ķ`,ĺ:`ĺ`,ľ:`ľ`,ļ:`ļ`,ḿ:`ḿ`,ṁ:`ṁ`,ń:`ń`,ǹ:`ǹ`,ñ:`ñ`,ň:`ň`,ṅ:`ṅ`,ņ:`ņ`,ó:`ó`,ò:`ò`,ö:`ö`,ȫ:`ȫ`,õ:`õ`,ṍ:`ṍ`,ṏ:`ṏ`,ȭ:`ȭ`,ō:`ō`,ṓ:`ṓ`,ṑ:`ṑ`,ŏ:`ŏ`,ǒ:`ǒ`,ô:`ô`,ố:`ố`,ồ:`ồ`,ỗ:`ỗ`,ȯ:`ȯ`,ȱ:`ȱ`,ő:`ő`,ṕ:`ṕ`,ṗ:`ṗ`,ŕ:`ŕ`,ř:`ř`,ṙ:`ṙ`,ŗ:`ŗ`,ś:`ś`,ṥ:`ṥ`,š:`š`,ṧ:`ṧ`,ŝ:`ŝ`,ṡ:`ṡ`,ş:`ş`,ẗ:`ẗ`,ť:`ť`,ṫ:`ṫ`,ţ:`ţ`,ú:`ú`,ù:`ù`,ü:`ü`,ǘ:`ǘ`,ǜ:`ǜ`,ǖ:`ǖ`,ǚ:`ǚ`,ũ:`ũ`,ṹ:`ṹ`,ū:`ū`,ṻ:`ṻ`,ŭ:`ŭ`,ǔ:`ǔ`,û:`û`,ů:`ů`,ű:`ű`,ṽ:`ṽ`,ẃ:`ẃ`,ẁ:`ẁ`,ẅ:`ẅ`,ŵ:`ŵ`,ẇ:`ẇ`,ẘ:`ẘ`,ẍ:`ẍ`,ẋ:`ẋ`,ý:`ý`,ỳ:`ỳ`,ÿ:`ÿ`,ỹ:`ỹ`,ȳ:`ȳ`,ŷ:`ŷ`,ẏ:`ẏ`,ẙ:`ẙ`,ź:`ź`,ž:`ž`,ẑ:`ẑ`,ż:`ż`,Á:`Á`,À:`À`,Ä:`Ä`,Ǟ:`Ǟ`,Ã:`Ã`,Ā:`Ā`,Ă:`Ă`,Ắ:`Ắ`,Ằ:`Ằ`,Ẵ:`Ẵ`,Ǎ:`Ǎ`,Â:`Â`,Ấ:`Ấ`,Ầ:`Ầ`,Ẫ:`Ẫ`,Ȧ:`Ȧ`,Ǡ:`Ǡ`,Å:`Å`,Ǻ:`Ǻ`,Ḃ:`Ḃ`,Ć:`Ć`,Ḉ:`Ḉ`,Č:`Č`,Ĉ:`Ĉ`,Ċ:`Ċ`,Ç:`Ç`,Ď:`Ď`,Ḋ:`Ḋ`,Ḑ:`Ḑ`,É:`É`,È:`È`,Ë:`Ë`,Ẽ:`Ẽ`,Ē:`Ē`,Ḗ:`Ḗ`,Ḕ:`Ḕ`,Ĕ:`Ĕ`,Ḝ:`Ḝ`,Ě:`Ě`,Ê:`Ê`,Ế:`Ế`,Ề:`Ề`,Ễ:`Ễ`,Ė:`Ė`,Ȩ:`Ȩ`,Ḟ:`Ḟ`,Ǵ:`Ǵ`,Ḡ:`Ḡ`,Ğ:`Ğ`,Ǧ:`Ǧ`,Ĝ:`Ĝ`,Ġ:`Ġ`,Ģ:`Ģ`,Ḧ:`Ḧ`,Ȟ:`Ȟ`,Ĥ:`Ĥ`,Ḣ:`Ḣ`,Ḩ:`Ḩ`,Í:`Í`,Ì:`Ì`,Ï:`Ï`,Ḯ:`Ḯ`,Ĩ:`Ĩ`,Ī:`Ī`,Ĭ:`Ĭ`,Ǐ:`Ǐ`,Î:`Î`,İ:`İ`,Ĵ:`Ĵ`,Ḱ:`Ḱ`,Ǩ:`Ǩ`,Ķ:`Ķ`,Ĺ:`Ĺ`,Ľ:`Ľ`,Ļ:`Ļ`,Ḿ:`Ḿ`,Ṁ:`Ṁ`,Ń:`Ń`,Ǹ:`Ǹ`,Ñ:`Ñ`,Ň:`Ň`,Ṅ:`Ṅ`,Ņ:`Ņ`,Ó:`Ó`,Ò:`Ò`,Ö:`Ö`,Ȫ:`Ȫ`,Õ:`Õ`,Ṍ:`Ṍ`,Ṏ:`Ṏ`,Ȭ:`Ȭ`,Ō:`Ō`,Ṓ:`Ṓ`,Ṑ:`Ṑ`,Ŏ:`Ŏ`,Ǒ:`Ǒ`,Ô:`Ô`,Ố:`Ố`,Ồ:`Ồ`,Ỗ:`Ỗ`,Ȯ:`Ȯ`,Ȱ:`Ȱ`,Ő:`Ő`,Ṕ:`Ṕ`,Ṗ:`Ṗ`,Ŕ:`Ŕ`,Ř:`Ř`,Ṙ:`Ṙ`,Ŗ:`Ŗ`,Ś:`Ś`,Ṥ:`Ṥ`,Š:`Š`,Ṧ:`Ṧ`,Ŝ:`Ŝ`,Ṡ:`Ṡ`,Ş:`Ş`,Ť:`Ť`,Ṫ:`Ṫ`,Ţ:`Ţ`,Ú:`Ú`,Ù:`Ù`,Ü:`Ü`,Ǘ:`Ǘ`,Ǜ:`Ǜ`,Ǖ:`Ǖ`,Ǚ:`Ǚ`,Ũ:`Ũ`,Ṹ:`Ṹ`,Ū:`Ū`,Ṻ:`Ṻ`,Ŭ:`Ŭ`,Ǔ:`Ǔ`,Û:`Û`,Ů:`Ů`,Ű:`Ű`,Ṽ:`Ṽ`,Ẃ:`Ẃ`,Ẁ:`Ẁ`,Ẅ:`Ẅ`,Ŵ:`Ŵ`,Ẇ:`Ẇ`,Ẍ:`Ẍ`,Ẋ:`Ẋ`,Ý:`Ý`,Ỳ:`Ỳ`,Ÿ:`Ÿ`,Ỹ:`Ỹ`,Ȳ:`Ȳ`,Ŷ:`Ŷ`,Ẏ:`Ẏ`,Ź:`Ź`,Ž:`Ž`,Ẑ:`Ẑ`,Ż:`Ż`,ά:`ά`,ὰ:`ὰ`,ᾱ:`ᾱ`,ᾰ:`ᾰ`,έ:`έ`,ὲ:`ὲ`,ή:`ή`,ὴ:`ὴ`,ί:`ί`,ὶ:`ὶ`,ϊ:`ϊ`,ΐ:`ΐ`,ῒ:`ῒ`,ῑ:`ῑ`,ῐ:`ῐ`,ό:`ό`,ὸ:`ὸ`,ύ:`ύ`,ὺ:`ὺ`,ϋ:`ϋ`,ΰ:`ΰ`,ῢ:`ῢ`,ῡ:`ῡ`,ῠ:`ῠ`,ώ:`ώ`,ὼ:`ὼ`,Ύ:`Ύ`,Ὺ:`Ὺ`,Ϋ:`Ϋ`,Ῡ:`Ῡ`,Ῠ:`Ῠ`,Ώ:`Ώ`,Ὼ:`Ὼ`},eo=class e{constructor(e,t){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 Ya(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new T(`Expected '`+e+`', got '`+this.fetch().text+`'`,this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken??=this.gullet.expandNextToken(),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set(`\\color`,`\\textcolor`);try{var e=this.parseExpression(!1);return this.expect(`EOF`),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new zi(`}`)),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect(`}`),this.nextToken=t,n}parseExpression(t,n){for(var r=[];;){this.mode===`math`&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&ka[i.text]&&ka[i.text].infix)break;var a=this.parseAtom(n);if(!a)break;a.type!==`internal`&&r.push(a)}return this.mode===`text`&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,n,r=0;r<e.length;r++){var i=e[r];if(i.type===`infix`){if(t!==-1)throw new T(`only one infix operator per group`,i.token);t=r,n=i.replaceWith}}if(t!==-1&&n){var a,o,s=e.slice(0,t),c=e.slice(t+1);return a=s.length===1&&s[0].type===`ordgroup`?s[0]:{type:`ordgroup`,mode:this.mode,body:s},o=c.length===1&&c[0].type===`ordgroup`?c[0]:{type:`ordgroup`,mode:this.mode,body:c},[n===`\\\\abovefrac`?this.callFunction(n,[a,e[t],o],[]):this.callFunction(n,[a,o],[])]}return e}handleSupSubscript(e){var t=this.fetch(),n=t.text;this.consume(),this.consumeSpaces();var r;do r=this.parseGroup(e);while(r?.type===`internal`);if(!r)throw new T(`Expected group after '`+n+`'`,t);return r}formatUnsupportedCmd(e){for(var t=[],n=0;n<e.length;n++)t.push({type:`textord`,mode:`text`,text:e[n]});var r={type:`text`,mode:this.mode,body:t};return{type:`color`,mode:this.mode,color:this.settings.errorColor,body:[r]}}parseAtom(e){var t=this.parseGroup(`atom`,e);if(t?.type===`internal`||this.mode===`text`)return t;for(var n,r;;){this.consumeSpaces();var i=this.fetch();if(i.text===`\\limits`||i.text===`\\nolimits`){if(t&&t.type===`op`)t.limits=i.text===`\\limits`,t.alwaysHandleSupSub=!0;else if(t&&t.type===`operatorname`)t.alwaysHandleSupSub&&(t.limits=i.text===`\\limits`);else throw new T(`Limit controls must follow a math operator`,i);this.consume()}else if(i.text===`^`){if(n)throw new T(`Double superscript`,i);n=this.handleSupSubscript(`superscript`)}else if(i.text===`_`){if(r)throw new T(`Double subscript`,i);r=this.handleSupSubscript(`subscript`)}else if(i.text===`'`){if(n)throw new T(`Double superscript`,i);var a={type:`textord`,mode:this.mode,text:`\\prime`},o=[a];for(this.consume();this.fetch().text===`'`;)o.push(a),this.consume();this.fetch().text===`^`&&o.push(this.handleSupSubscript(`superscript`)),n={type:`ordgroup`,mode:this.mode,body:o}}else if(Za[i.text]){var s=Xa.test(i.text),c=[];for(c.push(new zi(Za[i.text])),this.consume();;){var l=this.fetch().text;if(!Za[l]||Xa.test(l)!==s)break;c.unshift(new zi(Za[l])),this.consume()}var u=this.subparse(c);s?r={type:`ordgroup`,mode:`math`,body:u}:n={type:`ordgroup`,mode:`math`,body:u}}else break}return n||r?{type:`supsub`,mode:this.mode,base:t,sup:n,sub:r}:t}parseFunction(e,t){var n=this.fetch(),r=n.text,i=ka[r];if(!i)return null;if(this.consume(),t&&t!==`atom`&&!i.allowedInArgument)throw new T(`Got function '`+r+`' with no arguments`+(t?` as `+t:``),n);if(this.mode===`text`&&!i.allowedInText)throw new T(`Can't use function '`+r+`' in text mode`,n);if(this.mode===`math`&&i.allowedInMath===!1)throw new T(`Can't use function '`+r+`' in math mode`,n);var{args:a,optArgs:o}=this.parseArguments(r,i);return this.callFunction(r,a,o,n,e)}callFunction(e,t,n,r,i){var a={funcName:e,parser:this,token:r,breakOnTokenText:i},o=ka[e];if(o&&o.handler)return o.handler(a,t,n);throw new T(`No function handler for `+e)}parseArguments(e,t){var n=t.numArgs+t.numOptionalArgs;if(n===0)return{args:[],optArgs:[]};for(var r=[],i=[],a=0;a<n;a++){var o=t.argTypes&&t.argTypes[a],s=a<t.numOptionalArgs;(`primitive`in t&&t.primitive&&o==null||t.type===`sqrt`&&a===1&&i[0]==null)&&(o=`primitive`);var c=this.parseGroupOfType(`argument to '`+e+`'`,o,s);if(s)i.push(c);else if(c!=null)r.push(c);else throw new T(`Null argument, please report this as a bug`)}return{args:r,optArgs:i}}parseGroupOfType(e,t,n){switch(t){case`color`:return this.parseColorGroup(n);case`size`:return this.parseSizeGroup(n);case`url`:return this.parseUrlGroup(n);case`math`:case`text`:return this.parseArgumentGroup(n,t);case`hbox`:var r=this.parseArgumentGroup(n,`text`);return r==null?null:{type:`styling`,mode:r.mode,body:[r],style:`text`,resetFont:!0};case`raw`:var i=this.parseStringGroup(`raw`,n);return i==null?null:{type:`raw`,mode:`text`,string:i.text};case`primitive`:if(n)throw new T(`A primitive argument cannot be optional`);var a=this.parseGroup(e);if(a==null)throw new T(`Expected group as `+e,this.fetch());return a;case`original`:case null:case void 0:return this.parseArgumentGroup(n);default:throw new T(`Unknown group type as `+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===` `;)this.consume()}parseStringGroup(e,t){var n=this.gullet.scanArgument(t);if(n==null)return null;for(var r=``,i;(i=this.fetch()).text!==`EOF`;)r+=i.text,this.consume();return this.consume(),n.text=r,n}parseRegexGroup(e,t){for(var n=this.fetch(),r=n,i=``,a;(a=this.fetch()).text!==`EOF`&&e.test(i+a.text);)r=a,i+=r.text,this.consume();if(i===``)throw new T(`Invalid `+t+`: '`+n.text+`'`,n);return n.range(r,i)}parseColorGroup(e){var t=this.parseStringGroup(`color`,e);if(t==null)return null;var n=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!n)throw new T(`Invalid color: '`+t.text+`'`,t);var r=n[0];return/^[0-9a-f]{6}$/i.test(r)&&(r=`#`+r),{type:`color-token`,mode:this.mode,color:r}}parseSizeGroup(e){var t,n=!1;if(this.gullet.consumeSpaces(),t=!e&&this.gullet.future().text!==`{`?this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,`size`):this.parseStringGroup(`size`,e),!t)return null;!e&&t.text.length===0&&(t.text=`0pt`,n=!0);var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!r)throw new T(`Invalid size: '`+t.text+`'`,t);var i={number:+(r[1]+r[2]),unit:r[3]};if(!$e(i))throw new T(`Invalid unit: '`+i.unit+`'`,t);return{type:`size`,mode:this.mode,value:i,isBlank:n}}parseUrlGroup(e){this.gullet.lexer.setCatcode(`%`,13),this.gullet.lexer.setCatcode(`~`,12);var t=this.parseStringGroup(`url`,e);if(this.gullet.lexer.setCatcode(`%`,14),this.gullet.lexer.setCatcode(`~`,13),t==null)return null;var n=t.text.replace(/\\([#$%&~_^{}])/g,`$1`);return{type:`url`,mode:this.mode,url:n}}parseArgumentGroup(e,t){var n=this.gullet.scanArgument(e);if(n==null)return null;var r=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var i=this.parseExpression(!1,`EOF`);this.expect(`EOF`),this.gullet.endGroup();var a={type:`ordgroup`,mode:this.mode,loc:n.loc,body:i};return t&&this.switchMode(r),a}parseGroup(e,t){var n=this.fetch(),r=n.text,i;if(r===`{`||r===`\\begingroup`){this.consume();var a=r===`{`?`}`:`\\endgroup`;this.gullet.beginGroup();var o=this.parseExpression(!1,a),s=this.fetch();this.expect(a),this.gullet.endGroup(),i={type:`ordgroup`,mode:this.mode,loc:Ri.range(n,s),body:o,semisimple:r===`\\begingroup`||void 0}}else if(i=this.parseFunction(t,e)||this.parseSymbol(),i==null&&r[0]===`\\`&&!Ja.hasOwnProperty(r)){if(this.settings.throwOnError)throw new T(`Undefined control sequence: `+r,n);i=this.formatUnsupportedCmd(r),this.consume()}return i}formLigatures(e){for(var t=e.length-1,n=0;n<t;++n){var r=e[n];if(r.type===`textord`){var i=r.text,a=e[n+1];if(!(!a||a.type!==`textord`)){if(i===`-`&&a.text===`-`){var o=e[n+2];n+1<t&&o&&o.type===`textord`&&o.text===`-`?(e.splice(n,3,{type:`textord`,mode:`text`,loc:Ri.range(r,o),text:`---`}),t-=2):(e.splice(n,2,{type:`textord`,mode:`text`,loc:Ri.range(r,a),text:`--`}),--t)}(i===`'`||i==="`")&&a.text===i&&(e.splice(n,2,{type:`textord`,mode:`text`,loc:Ri.range(r,a),text:i+i}),--t)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var n=t.slice(5),r=n.charAt(0)===`*`;if(r&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new T(`\\verb assertion failed --
|
|
257
|
+
please report what input caused this bug`);return n=n.slice(1,-1),{type:`verb`,mode:`text`,body:n,star:r}}$a.hasOwnProperty(t[0])&&!Tt[this.mode][t[0]]&&(this.settings.strict&&this.mode===`math`&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Accented Unicode text character "`+t[0]+`" used in math mode`,e),t=$a[t[0]]+t.slice(1));var i=Ia.exec(t);i&&(t=t.substring(0,i.index),t===`i`?t=`ı`:t===`j`&&(t=`ȷ`));var a;if(Tt[this.mode][t]){this.settings.strict&&this.mode===`math`&&qt.includes(t)&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Latin-1/Unicode text character "`+t[0]+`" used in math mode`,e);var o=Tt[this.mode][t].group,s=Ri.range(e);a=Ar(o)?{type:`atom`,mode:this.mode,family:o,loc:s,text:t}:{type:o,mode:this.mode,loc:s,text:t}}else if(t.charCodeAt(0)>=128)this.settings.strict&&(Fe(t.charCodeAt(0))?this.mode===`math`&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Unicode text character "`+t[0]+`" used in math mode`,e):this.settings.reportNonstrict(`unknownSymbol`,`Unrecognized Unicode character "`+t[0]+`"`+(` (`+t.charCodeAt(0)+`)`),e)),a={type:`textord`,mode:`text`,loc:Ri.range(e),text:t};else return null;if(this.consume(),i)for(var c=0;c<i[0].length;c++){var l=i[0][c];if(!Qa[l])throw new T(`Unknown accent ' `+l+`'`,e);var u=Qa[l][this.mode]||Qa[l].text;if(!u)throw new T(`Accent `+l+` unsupported in `+this.mode+` mode`,e);a={type:`accent`,mode:this.mode,loc:Ri.range(e),label:u,isStretchy:!1,isShifty:!0,base:a}}return a}};eo.endOfExpression=new Set([`}`,`\\endgroup`,`\\end`,`\\right`,`&`]);var to=function(e,t){if(!(typeof e==`string`||e instanceof String))throw TypeError(`KaTeX can only parse string typed expression`);var n=new eo(e,t);delete n.gullet.macros.current[`\\df@tag`];var r=n.parse();if(delete n.gullet.macros.current[`\\current@color`],delete n.gullet.macros.current[`\\color`],n.gullet.macros.get(`\\df@tag`)){if(!t.displayMode)throw new T(`\\tag works only in display equations`);r=[{type:`tag`,mode:`text`,body:r,tag:n.subparse([new zi(`\\df@tag`)])}]}return r},no=function(e,t,n){t.textContent=``;var r=oo(e,n).toNode();t.appendChild(r)};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.`),no=function(){throw new T(`KaTeX doesn't work in quirks mode.`)});var ro=function(e,t){return oo(e,t).toMarkup()},io=function(e,t){return to(e,new he(t))},ao=function(e,t,n){if(n.throwOnError||!(e instanceof T))throw e;var r=R([`katex-error`],[new dt(t)]);return r.setAttribute(`title`,e.toString()),r.setAttribute(`style`,`color:`+n.errorColor),r},oo=function(e,t){var n=new he(t);try{return br(to(e,n),e,n)}catch(t){return ao(t,e,n)}},so={version:`0.16.47`,render:no,renderToString:ro,ParseError:T,SETTINGS_SCHEMA:de,__parse:io,__renderToDomTree:oo,__renderToHTMLTree:function(e,t){var n=new he(t);try{return xr(to(e,n),e,n)}catch(t){return ao(t,e,n)}},__setFontMetrics:xt,__defineSymbol:O,__defineFunction:B,__defineMacro:W,__domTree:{Span:st,Anchor:ct,SymbolNode:dt,SvgNode:ft,PathNode:pt,LineNode:mt}};function co(e,t){return typeof e==`string`&&t.includes(e)}function G(e,t){return typeof e==`string`?e.slice(0,t):void 0}let lo=/^(?:#[\da-fA-F]{3,8}|rgba?\([^)]{0,64}\)|hsla?\([^)]{0,64}\)|var\(--dsw-[\w-]+(?:,\s*#[0-9a-fA-F]{3,8})?\))$/;function uo(e){if(typeof e!=`string`)return;let t=e.trim();return t.length<=64&&lo.test(t)?t:void 0}function fo(e){if(typeof e!=`string`)return;let t=e.trim();if(!(t.length>2048))return/^https?:\/\//i.test(t)||/^mailto:[^@\s]+@[^@\s]+$/i.test(t)?t:void 0}function po(e){if(typeof e!=`string`)return;let t=e.trim();if(!(t===``||t.length>2048)&&(/^https?:\/\//i.test(t)||!(/^[a-z][a-z0-9+.-]*:/i.test(t)||/^[/\\]{2}/.test(t))))return t}function K(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,e)):void 0}function mo(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,Math.trunc(e))):void 0}function ho(e,t){return co(e,t)?e:void 0}function q(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function J(e,t){return t===void 0?{}:{[e]:t}}function go({source:e,display:t}){let n=(0,m.useRef)(null);return(0,m.useLayoutEffect)(()=>{n.current!==null&&so.render(e,n.current,{displayMode:t,throwOnError:!1,trust:!1,maxExpand:1e3,maxSize:20,output:`htmlAndMathml`})},[e,t]),(0,m.createElement)(`span`,{ref:n,className:x.inlineMath})}let _o=/`[^`\n]+`|\\\\|\\\$|(?<![\\$])\$\$(?:\\.|[^\\])*?\$\$|\\\[(?:\\(?!\])[^]|[^\\])*?\\\]|\\\((?:\\(?!\))[^]|[^\\])*?\\\)|(?<![\\$])\$(?!\s|\$)(?:\\.|[^$\\\n])+(?<!\s)\$(?!\d|\$)|\*\*[\s\S]+?\*\*|==[\s\S]+?==|\[[^\]\n]+\]\([^)\s]+\)/g;function vo(e){return typeof e==`string`&&/[`*=$\\]|\[/.test(e)}function Y(e,t=!0,n=0){if(typeof e!=`string`||e===``||!vo(e)||n>=8)return e;let r=[],i=0,a=0;for(let o of e.matchAll(_o)){let s=o.index??0,c=o[0];if(s>i&&r.push(e.slice(i,s)),c.startsWith("`"))r.push((0,m.createElement)(`code`,{key:a++,className:x.inlineCode},c.slice(1,-1)));else if(c.startsWith(`$`)||c.startsWith(`\\(`)||c.startsWith(`\\[`)){let e=c.startsWith(`$$`)||c.startsWith(`\\[`),t=c.startsWith(`$`)&&!e?1:2;r.push((0,m.createElement)(go,{key:a++,source:c.slice(t,-t),display:e}))}else if(c.startsWith(`**`)||c.startsWith(`==`)){let e=c.startsWith(`**`);r.push((0,m.createElement)(e?`strong`:`mark`,{key:a++,className:e?x.inlineStrong:x.inlineMark},Y(c.slice(2,-2),t,n+1)))}else{let e=/^\[([^\]\n]+)\]\(([^)\s]+)\)$/.exec(c);if(e===null)r.push(c);else{let i=fo(e[2]);r.push(i===void 0||!t?Y(e[1],!1,n+1):(0,m.createElement)(`a`,{key:a++,className:x.inlineLink,href:i,target:`_blank`,rel:`noreferrer noopener`},Y(e[1],!1,n+1)))}}i=s+c.length}return i<e.length&&r.push(e.slice(i)),r.length===0?e:r}let yo=`dsh.genui.interaction`;function bo(){return{order:[],blocks:{}}}function xo(){try{let e=localStorage.getItem(yo);if(e===null)return bo();let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.blocks!=`object`||t.blocks===null?bo():{order:t.order.filter(e=>typeof e==`string`),blocks:t.blocks}}catch{return bo()}}function So(e){try{localStorage.setItem(yo,JSON.stringify(e))}catch{}}function Co(e){return e===``?null:xo().blocks[e]??null}function wo(e,t){if(e===``)return;let n=xo(),r=n.order.filter(t=>t!==e);r.unshift(e);let i={...n.blocks,[e]:t};for(;r.length>200;){let e=r.pop();e!==void 0&&delete i[e]}So({order:r,blocks:i})}function To(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(36)}function Eo(e,t,n){return`f:${e}:${String(t)}:${To(n)}`}function Do(e,t){return`p:${e}:${To(t)}`}function Oo(e,t){return`t:${e}:${t}`}function ko(){return{fences:0,panels:0,interactions:0,templates:0,charts:0,advanced:0}}let Ao=e=>t=>t.fences>=e,jo=[{id:`first-fence`,name:`初次相见`,description:`渲染了第一块 GenUI 界面。`,rarity:`common`,check:Ao(1)},{id:`fence-5`,name:`渐入佳境`,description:`累计渲染 5 个界面。`,rarity:`common`,check:Ao(5)},{id:`fence-25`,name:`界面编织者`,description:`累计渲染 25 个界面。`,rarity:`rare`,check:Ao(25)},{id:`fence-50`,name:`蓝图之魂`,description:`累计渲染 50 个界面——你是 GenUI 的老朋友了。`,rarity:`legendary`,hidden:!0,check:Ao(50)},{id:`first-interaction`,name:`按钮按得动`,description:`触发了一次组件交互(动作回传)。`,rarity:`common`,check:e=>e.interactions>=1},{id:`interaction-10`,name:`小小操纵者`,description:`累计触发 10 次组件交互。`,rarity:`rare`,check:e=>e.interactions>=10},{id:`first-panel`,name:`钉在墙上`,description:`第一次把内容钉进了会话面板。`,rarity:`common`,check:e=>e.panels>=1},{id:`panel-5`,name:`面板管家`,description:`5 个会话都用过面板。`,rarity:`rare`,check:e=>e.panels>=5},{id:`first-chart`,name:`图表爱好者`,description:`渲染了第一张图表(chart/plot/echart)。`,rarity:`common`,check:e=>e.charts>=1},{id:`chart-10`,name:`数据可视化人`,description:`10 个界面里出现过图表。`,rarity:`rare`,check:e=>e.charts>=10},{id:`first-advanced`,name:`高级玩家`,description:`用上了 3D/图表引擎/架构图之一。`,rarity:`rare`,check:e=>e.advanced>=1},{id:`template-1`,name:`模板学员`,description:`从模板中心试用了一个模板。`,rarity:`common`,check:e=>e.templates>=1}];function Mo(e){let t=0,n=0,r=e=>{if(Array.isArray(e))for(let i of e){if(typeof i!=`object`||!i)continue;let e=i,a=e.type;if((a===`chart`||a===`plot`||a===`echart`)&&(t+=1),(a===`scene3d`||a===`mermaid`||a===`diagram`)&&(n+=1),Array.isArray(e.items)&&r(e.items),Array.isArray(e.tabs))for(let t of e.tabs)r(t.items)}};return r(e.items),{charts:t,advanced:n}}function No(e,t){let n=jo.length,r=jo.filter(e=>t[e.id]!==void 0).length;return{title:`GenUI 探索成就`,items:[{type:`grid`,cols:3,items:[{type:`stat`,label:`已解锁`,value:`${r} / ${n}`},{type:`stat`,label:`渲染界面`,value:String(e.fences)},{type:`stat`,label:`组件交互`,value:String(e.interactions)}]},{type:`progress`,label:`探索进度`,value:Math.round(r/n*100),valueLabel:`${Math.round(r/n*100)}%`},{type:`list`,items:jo.map(e=>({type:`row`,items:[{type:`badge`,label:e.rarity===`legendary`?`传说`:e.rarity===`rare`?`稀有`:`普通`,tone:t[e.id]===void 0?`warn`:`success`},{type:`text`,size:`body`,content:e.hidden&&t[e.id]===void 0?`?`:e.name},{type:`text`,size:`muted`,content:e.hidden&&t[e.id]===void 0?`继续探索以揭示`:e.description}]}))}]}}function Po(e,t){return jo.filter(n=>t[n.id]===void 0&&n.check(e))}let Fo=`dsh.genui.achievements`,Io=`dsh.genui.achievements.seen`,Lo=Bo(),Ro=new Set,zo=[];function Bo(){try{let e=localStorage.getItem(Fo);if(e===null)return{state:ko(),unlocked:{}};let t=JSON.parse(e);return{state:{...ko(),...t.state??{}},unlocked:typeof t.unlocked==`object`&&t.unlocked!==null?t.unlocked:{}}}catch{return{state:ko(),unlocked:{}}}}function Vo(){try{localStorage.setItem(Fo,JSON.stringify(Lo))}catch{}}function Ho(){try{let e=localStorage.getItem(Io);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Uo(e){try{localStorage.setItem(Io,JSON.stringify(e.slice(0,200)))}catch{}}function Wo(){for(let e of Ro)e()}function Go(e){Lo.state={...Lo.state,...e};let t=Po(Lo.state,Lo.unlocked);for(let e of t)Lo.unlocked[e.id]=Date.now();t.length>0&&zo.push(...t),Vo(),Wo()}function Ko(e){let t=JSON.stringify(e),n=3735928559,r=1103547991;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return`${(n>>>0).toString(36)}-${(r>>>0).toString(36)}`}function qo(e){let t=Ko(e),n=Ho();if(n.includes(t))return;Uo([t,...n]);let r=Mo(e);Go({fences:Lo.state.fences+1,charts:Lo.state.charts+ +(r.charts>0),advanced:Lo.state.advanced+ +(r.advanced>0)})}function Jo(){Go({panels:Lo.state.panels+1})}function Yo(){Go({interactions:Lo.state.interactions+1})}function Xo(){Go({templates:Lo.state.templates+1})}function Zo(){return Lo}function Qo(){let e=zo;return zo=[],e}function $o(e){return Ro.add(e),()=>Ro.delete(e)}let X={maxDepth:8,maxNodes:200,maxString:2e3,maxCode:12e3,maxMermaid:8e3,maxGridCols:12,maxTabs:12,maxAccordionItems:24,maxListItems:50,maxOptions:50,maxTableRows:50,maxTableCols:12,maxChartPoints:60,maxPlotSeries:8,maxPlotParams:6,maxMeshes:5,maxQuizOptions:8,maxSteps:24,maxTimelineItems:24,maxBreadcrumbItems:12,maxKeyValuePairs:24,maxTreeDepth:6,maxDiagramNodes:9,maxDiagramEdges:12,maxDiagramZones:3,maxDiagramFocal:2,maxDiagramLabel:14,maxEChartOptionDepth:10,maxEChartArrayLen:500,maxEChartOptionNodes:2e3},es=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-deepseek-300)`,`var(--dsw-static-neutral-bluish-400)`];function ts(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return es[t%es.length]}function ns({className:e,disabled:t,onClick:n,children:r}){let[i,a]=(0,m.useState)(!1),o=(0,m.useRef)(null);return(0,m.useEffect)(()=>()=>{o.current!==null&&clearTimeout(o.current)},[]),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`button`,{type:`button`,className:e,disabled:t,onClick:n===void 0?void 0:()=>{n(),o.current!==null&&clearTimeout(o.current),a(!0),o.current=setTimeout(()=>a(!1),1400)},children:[r,i&&(0,g.jsx)(`span`,{className:x.btnSent,"aria-hidden":!0,children:`✓ 已触发`})]}),(0,g.jsx)(`span`,{className:x.visuallyHidden,role:`status`,children:i?`已触发`:``})]})}let rs=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:x.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:x.mediaLabel,children:Y(e.alt)}),t?(0,g.jsx)(`div`,{className:x.mediaError,role:`alert`,children:`音频无法播放`}):(0,g.jsx)(`audio`,{className:x.mediaPlayer,src:e.src,"aria-label":e.alt??`音频`,controls:!0,preload:`metadata`,loop:e.loop===!0,onError:()=>n(!0)})]})}),is=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:x.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:x.mediaLabel,children:Y(e.alt)}),t?(0,g.jsx)(`div`,{className:x.mediaError,role:`alert`,children:`视频无法播放`}):(0,g.jsx)(`video`,{className:`${x.mediaPlayer} ${x.videoPlayer}`,src:e.src,poster:e.poster,"aria-label":e.alt??`视频`,controls:!0,preload:`metadata`,playsInline:!0,loop:e.loop===!0,muted:e.muted===!0,style:e.aspectRatio===void 0?void 0:{aspectRatio:e.aspectRatio.replace(`:`,` / `)},onError:()=>n(!0)})]})}),as=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-neutral-bluish-400)`,`var(--dsw-static-deepseek-300)`],os=(e,t,n,r)=>n??(r!==void 0&&r.length>0?r[e%r.length]:t>1?as[e%as.length]:void 0);function ss(e){if(typeof e==`number`)return Number.isFinite(e)?e:NaN;if(typeof e!=`string`)return NaN;let t=e.trim();if(t===``)return NaN;t=t.replace(/^[¥$€£]/,``),t.endsWith(`%`)&&(t=t.slice(0,-1));let n=1;if(t.endsWith(`万`))n=1e4,t=t.slice(0,-1);else if(t.endsWith(`亿`))n=1e8,t=t.slice(0,-1);else if(/[kmb]$/i.test(t)){let e=t.slice(-1).toLowerCase();n=e===`k`?1e3:e===`m`?1e6:1e9,t=t.slice(0,-1)}t=t.replace(/[,,\s]/g,``);let r=Number(t);return Number.isFinite(r)?r*n:NaN}function cs(e,t){return Array.from({length:t},(t,n)=>{let r=!1;for(let t of e){let e=t[n];if(e!=null&&e!==``){if(!Number.isFinite(ss(e)))return!1;r=!0}}return r})}function ls(e){if(typeof e!=`string`)return null;let t=e.trim();return!/^[+][\s]*[\d.]/.test(t)&&!/^[-−][\s]*[\d.]/.test(t)?null:t.startsWith(`+`)?`up`:`down`}function us({cell:e}){let t=String(e).split(/[\s,;]+/).map(Number).filter(Number.isFinite);if(t.length<2)return(0,g.jsx)(g.Fragment,{children:Y(String(e),!1)});let n=Math.min(...t),r=Math.max(...t)-n||1,i=84/(t.length-1),a=t.map((e,t)=>[2+t*i,20-(e-n)/r*18]),o=a.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),s=a[a.length-1],c=`M 2,20 L ${o.split(` `).join(` L `)} L ${s[0].toFixed(1)},20 Z`;return(0,g.jsxs)(`svg`,{className:x.cellSpark,viewBox:`0 0 88 22`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,g.jsx)(`path`,{d:c,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,g.jsx)(`polyline`,{points:o,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,g.jsx)(`path`,{d:`M ${s[0].toFixed(1)} ${s[1].toFixed(1)} L ${s[0].toFixed(1)} ${s[1].toFixed(1)}`,stroke:`var(--dsl-g-accent)`,strokeWidth:4,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`,fill:`none`})]})}function ds({cell:e}){let t=ss(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0,r=2*Math.PI*11;return(0,g.jsxs)(`span`,{className:x.cellRing,children:[(0,g.jsxs)(`svg`,{width:28,height:28,viewBox:`0 0 28 28`,"aria-hidden":`true`,children:[(0,g.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,className:x.ringTrack}),(0,g.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,strokeLinecap:`round`,className:x.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 14 14)`})]}),(0,g.jsx)(`span`,{className:x.cellRingText,children:Y(String(e),!1)})]})}function fs(e,t){let n=e=>String(e??``).replace(/\|/g,`\\|`).replace(/\n/g,` `);return[`| ${e.map(n).join(` | `)} |`,`| ${e.map(()=>`---`).join(` | `)} |`,...t.map(t=>`| ${e.map((e,r)=>n(t[r])).join(` | `)} |`)].join(`
|
|
258
|
+
`)}function ps(e){let t=e=>{let t=String(e??``);return/[",\n]/.test(t)?`"${t.replace(/"/g,`""`)}"`:t};return e.map(e=>e.map(t).join(`,`)).join(`
|
|
259
|
+
`)}function ms({columns:e,rows:t}){let[n,r]=(0,m.useState)(null),i=n=>{let i=n===`md`?fs(e,t):ps(t);(0,p.writeClipboard)(i).then(e=>{e&&(r(n),window.setTimeout(()=>r(null),1200))})};return(0,g.jsxs)(`div`,{className:x.tableTools,children:[(0,g.jsx)(`button`,{type:`button`,className:x.tableTool,onClick:()=>i(`md`),children:n===`md`?`已复制`:`复制 Markdown`}),(0,g.jsx)(`button`,{type:`button`,className:x.tableTool,onClick:()=>i(`csv`),children:n===`csv`?`已复制`:`复制 CSV`})]})}function hs({cell:e}){let t=ss(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0;return(0,g.jsxs)(`span`,{className:x.cellBar,children:[(0,g.jsx)(`span`,{className:x.cellBarFill,style:{width:`${n}%`}}),(0,g.jsx)(`span`,{className:x.cellBarText,children:Y(String(e),!1)})]})}let gs=(0,m.memo)(function({node:e,renderDetail:t,filterValue:n,sortValue:r}){let i=e.columns.slice(0,X.maxTableCols),a=e.rows.slice(0,X.maxTableRows),o=e.types??[],s=o[0]===`group`,[c,l]=(0,m.useState)(null),[u,d]=(0,m.useState)(()=>new Set),[f,p]=(0,m.useState)(()=>new Set),h=(e,t,n,r)=>{let i=ss(e[n]),a=ss(t[n]);if(Number.isFinite(i)&&Number.isFinite(a)&&i!==a)return(i-a)*r;if(Number.isFinite(i)!==Number.isFinite(a))return Number.isFinite(i)?-r:r;let o=String(e[n]??``),s=String(t[n]??``);return(o<s?-1:+(o>s))*r},_=e=>s&&String(e[0]??``).trim()!==``&&e.slice(1).every(e=>String(e??``).trim()===``),v=n?.trim().toLowerCase(),y=(v===void 0||v===``?a.map((e,t)=>({row:e,index:t})):a.map((e,t)=>({row:e,index:t})).filter(({row:t})=>(e.filterColumn===void 0?t:[t[e.filterColumn]]).some(e=>String(e??``).toLowerCase().includes(v)))).map(e=>e.row),b=a.length-y.length,S=[];y.forEach((e,t)=>{if(_(e)){S.push({header:{row:e,index:t},children:[]});return}(S.length===0||S[S.length-1].header===null)&&S.length===0&&S.push({header:null,children:[]}),S[S.length-1].children.push({row:e,index:t})});let C=r===void 0?-1:i.indexOf(r),ee=c===null?C>=0?{col:C,dir:1}:null:c,te=S.map(e=>({header:e.header,children:ee===null?e.children:[...e.children].sort((e,t)=>h(e.row,t.row,ee.col,ee.dir))})),w=cs(y,i.length),T=e=>{d(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ne=e=>{p(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},re=e=>{l(t=>t!==null&&t.col===e?t.dir===1?{col:e,dir:-1}:null:{col:e,dir:1})},ie=i.map((e,t)=>{if(!w[t])return null;let n=0;for(let e of y){if(_(e))continue;let r=ss(e[t]);Number.isFinite(r)&&(n+=r)}return n}),ae=e.total===!0&&ie.some(e=>e!==null),oe=e=>Number.isInteger(e)?e.toLocaleString(`en-US`):String(Math.round(e*100)/100),se=(e,t,n)=>{let r=o[t],i=r===`delta`?String(e).trim().startsWith(`-`)?`down`:`up`:ls(e);return(0,g.jsx)(`td`,{className:w[t]||r===`num`?x.tdNum:void 0,children:r===`badge`?(0,g.jsx)(`span`,{className:x.cellBadge,children:Y(String(e),!1)}):r===`bar`?(0,g.jsx)(hs,{cell:e}):r===`spark`?(0,g.jsx)(us,{cell:e}):r===`ring`?(0,g.jsx)(ds,{cell:e}):r===`index`?(0,g.jsx)(`span`,{className:x.cellIndex,children:n+1}):i===null?Y(String(e),!1):(0,g.jsx)(`span`,{className:`${x.tdDelta} ${i===`up`?x.tdDeltaUp:x.tdDeltaDown}`,children:Y(String(e),!1)})},t)};return(0,g.jsxs)(`div`,{className:x.tableWrap,children:[e.export===!0&&(0,g.jsx)(ms,{columns:i,rows:a}),(0,g.jsxs)(`table`,{className:x.table,children:[(0,g.jsx)(`thead`,{children:(0,g.jsx)(`tr`,{children:i.map((e,t)=>(0,g.jsx)(`th`,{className:w[t]?x.thNum:void 0,"aria-sort":c!==null&&c.col===t?c.dir===1?`ascending`:`descending`:`none`,children:(0,g.jsxs)(`button`,{type:`button`,className:x.thSort,onClick:()=>re(t),children:[Y(e,!1),c!==null&&c.col===t&&(0,g.jsx)(`span`,{className:x.thSortMark,"aria-hidden":!0,children:c.dir===1?` ▲`:` ▼`})]})},t))})}),(0,g.jsx)(`tbody`,{children:te.map((n,r)=>{let a=n.header?.index??r,o=u.has(a);return(0,g.jsxs)(m.Fragment,{children:[n.header!==null&&(0,g.jsx)(`tr`,{className:x.groupRow,children:(0,g.jsx)(`td`,{colSpan:i.length,children:(0,g.jsxs)(`button`,{type:`button`,className:x.groupToggle,"aria-expanded":!o,onClick:()=>T(a),children:[(0,g.jsx)(`span`,{className:x.groupChevron,"aria-hidden":!0,children:o?`▸`:`▾`}),Y(String(n.header.row[0]),!1),(0,g.jsx)(`span`,{className:x.groupCount,children:n.children.length})]})})}),!o&&n.children.map(r=>{let a=e.details?.[r.index]??null,o=f.has(r.index);return(0,g.jsxs)(m.Fragment,{children:[(0,g.jsx)(`tr`,{className:n.header===null?void 0:x.groupChild,children:r.row.slice(0,i.length).map((e,t)=>t===0&&a!==null?(0,g.jsx)(`td`,{className:x.detailCell,children:(0,g.jsxs)(`button`,{type:`button`,className:x.detailToggle,"aria-expanded":o,onClick:()=>ne(r.index),children:[(0,g.jsx)(`span`,{className:x.detailChevron,"data-open":o,"aria-hidden":!0,children:`▸`}),Y(String(e),!1)]})},t):se(e,t,r.index))}),o&&a!==null&&(0,g.jsx)(`tr`,{className:x.detailRow,children:(0,g.jsx)(`td`,{colSpan:i.length,children:(0,g.jsx)(`div`,{className:x.detailBody,children:t===void 0?null:t(a)})})})]},r.index)})]},n.header===null?`s-${r}`:`g-${n.header.index}`)})}),b>0&&(0,g.jsx)(`tfoot`,{children:(0,g.jsx)(`tr`,{className:x.filterRow,children:(0,g.jsxs)(`td`,{colSpan:i.length,children:[`筛选后 `,y.length,` / `,a.length,` 行`]})})}),ae&&(0,g.jsx)(`tfoot`,{children:(0,g.jsx)(`tr`,{children:i.map((e,t)=>(0,g.jsx)(`td`,{className:w[t]?x.tdNum:void 0,children:t===0?`合计`:ie[t]===null?``:oe(ie[t])},t))})})]})]})});function _s(){let[e,t]=(0,m.useState)(null);return{tip:e,show:(0,m.useCallback)((e,n)=>{let r=e.currentTarget,i=r.closest(`[data-genui-chart], [data-genui-line], [data-genui-donut]`);if(i===null)return;let a=i.getBoundingClientRect(),o=r.getBoundingClientRect();t({x:o.left-a.left+o.width/2,y:o.top-a.top,rows:n})},[]),hide:(0,m.useCallback)(()=>t(null),[])}}function vs({tip:e}){return e===null?null:(0,g.jsx)(`div`,{className:x.chartTip,style:{left:`${e.x}px`,top:`${e.y}px`},role:`tooltip`,children:e.rows.map(([e,t],n)=>(0,g.jsxs)(`span`,{className:x.chartTipRow,children:[(0,g.jsx)(`span`,{children:Y(e)}),(0,g.jsx)(`span`,{className:x.chartTipValue,children:Y(String(t))})]},`${e}-${n}`))})}function ys(){let e=(0,m.useRef)(null),[t,n]=(0,m.useState)(560);return(0,m.useLayoutEffect)(()=>{let t=e.current;if(t===null)return;let r=()=>{let e=t.clientWidth;e>0&&n(e)};if(r(),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(r);return i.observe(t),()=>i.disconnect()},[]),[e,t]}function bs(e,t,n=4){let r=Math.min(e,0),i=Math.max(t,0);if(r===i)return[0,1];let a=(i-r)/Math.max(n,1),o=10**Math.floor(Math.log10(Math.max(a,Number.MIN_VALUE))),s=a/o,c=(s<=1?1:s<=2?2:s<=5?5:10)*o,l=Math.floor(r/c)*c,u=Math.ceil(i/c)*c,d=[];for(let e=l;e<=u+c/2;e+=c)d.push(Math.abs(e)<c/1e6?0:e);return d}function xs(e){let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(t%1e9==0?0:1)}b`:t>=1e6?`${(e/1e6).toFixed(t%1e6==0?0:1)}m`:t>=1e3?`${(e/1e3).toFixed(t%1e3==0?0:1)}k`:String(Number.isInteger(e)?e:Math.round(e*100)/100)}function Ss({ticks:e,lo:t,span:n}){return(0,g.jsx)(`div`,{className:x.chartYAxis,style:{height:160},children:e.map(e=>(0,g.jsx)(`span`,{className:x.chartYTick,style:{bottom:`${(e-t)/n*100}%`},children:xs(e)},e))})}let Cs=(0,m.memo)(function({chart:e,filterValue:t}){let n=(0,m.useMemo)(()=>ws(e,t),[e,t]),r=n.kind??`bars`;return r===`donut`?(0,g.jsx)(Ds,{chart:n}):r===`line`?(0,g.jsx)(Es,{chart:n}):(0,g.jsx)(Ts,{chart:n})});function ws(e,t){let n=t?.trim().toLowerCase();if(n===void 0||n===``)return e;let r=e=>e.label.toLowerCase().includes(n),i=e.data.filter(r);if(e.series===void 0)return i.length===e.data.length?e:{...e,data:i};let a=e.series.map(e=>({...e,data:e.data.filter(r)}));return{...e,data:i,series:a}}let Ts=(0,m.memo)(function({chart:e}){let{tip:t,show:n,hide:r}=_s(),i=e.series===void 0?void 0:e.series.slice(0,X.maxPlotSeries),a=i!==void 0&&i.length>0,o=e.data.slice(0,X.maxChartPoints),s=a?i[0].data.map(e=>e.label):o.map(e=>e.label),c=a?i.map(e=>e.data.map(e=>Number(e.value)||0)):[o.map(e=>Number(e.value)||0)],l=c.map((t,n)=>os(n,c.length,a?i[n]?.color:void 0,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`),u=c.flat(),d=s.length<=12,f=e.stacked===!0&&a,p=s.map((e,t)=>c.reduce((e,n)=>e+Math.max(0,n[t]??0),0));if(e.horizontal===!0){let e=Math.max(Math.max(...u,0),1),m=a?(0,g.jsx)(`div`,{className:x.chartLegend,children:i.map((e,t)=>(0,g.jsxs)(`span`,{className:x.legendItem,children:[(0,g.jsx)(`span`,{className:x.legendSwatch,style:{background:l[t]}}),Y(e.label)]},t))}):null;return(0,g.jsxs)(`div`,{className:x.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":`横向柱状图,${s.length} 组`,onMouseLeave:r,children:[(0,g.jsx)(`div`,{className:x.hbars,children:s.map((t,r)=>(0,g.jsxs)(`div`,{className:x.hbarRow,children:[(0,g.jsx)(`span`,{className:x.hbarLabel,title:t,children:Y(t)}),(0,g.jsx)(`div`,{className:x.hbarTracks,children:f?(0,g.jsx)(`div`,{className:x.hbarTrack,title:`${t}: ${p[r]??0}`,children:c.map((t,a)=>{let o=Math.max(0,t[r]??0),s=p[r]??0,c=s===0?0:o/s*Math.max(0,Math.min(100,s/e*100));return(0,g.jsx)(`div`,{className:x.hbarSeg,style:{width:`${c}%`,background:l[a]},onMouseEnter:e=>n(e,[[i[a].label,String(o)],[`合计`,String(s)]]),onMouseMove:e=>n(e,[[i[a].label,String(o)],[`合计`,String(s)]])},a)})}):c.map((o,s)=>{let c=o[r]??0,u=Math.max(0,Math.min(100,Math.max(0,c)/e*100));return(0,g.jsx)(`div`,{className:x.hbarTrack,children:(0,g.jsx)(`div`,{className:x.hbarFill,style:{width:`${u}%`,background:l[s]},onMouseEnter:e=>n(e,a?[[i[s].label,String(c)],[`合计`,String(p[r]??0)]]:[[t,String(c)]]),onMouseMove:e=>n(e,a?[[i[s].label,String(c)],[`合计`,String(p[r]??0)]]:[[t,String(c)]])})},s)})}),d&&(0,g.jsx)(`span`,{className:x.hbarValue,children:a?p[r]??0:String(o[r]?.value??``)})]},r))}),m,(0,g.jsx)(vs,{tip:t})]})}let m=bs(a?0:Math.min(...u,0),Math.max(...u,0),4),h=m[0],_=m[m.length-1]-h||1,v=e=>(e-h)/_*100,y=v(0),b=`柱状图,${s.length} 组,最大 ${xs(Math.max(...u,0))}`;return(0,g.jsxs)(`div`,{className:x.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":b,onMouseLeave:r,children:[(0,g.jsx)(vs,{tip:t}),(0,g.jsxs)(`div`,{className:x.chartBody,children:[(0,g.jsx)(Ss,{ticks:m,lo:h,span:_}),(0,g.jsxs)(`div`,{className:x.chartPlot,children:[m.map(e=>(0,g.jsx)(`span`,{className:e===0?x.baseline:x.gridline,style:{bottom:`${v(e)}%`}},e)),s.map((e,t)=>(0,g.jsx)(`div`,{className:x.barCol,children:f?(0,g.jsxs)(g.Fragment,{children:[d&&(0,g.jsx)(`span`,{className:x.barValue,style:{bottom:`calc(${v(p[t]??0)}% + 4px)`},children:String(p[t]??0)}),(0,g.jsx)(`div`,{className:x.stack,style:{height:`${Math.max(0,v(p[t]??0))}%`},children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0,o=Math.max(0,a),s=p[t]??0,c=s===0?0:o/s*v(s),u=[[e.label,String(a)],[`合计`,String(s)]];return(0,g.jsx)(`div`,{className:x.stackSeg,style:{height:s===0?`0%`:`${o/s*100}%`,background:l[r]},onMouseEnter:e=>n(e,u),onMouseMove:e=>n(e,u),children:c>=11&&(0,g.jsx)(`span`,{className:x.stackValue,children:a})},r)})})]}):a?(0,g.jsx)(`div`,{className:x.groupedBars,children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0;return(0,g.jsxs)(`div`,{className:x.groupedBar,children:[d&&(0,g.jsx)(`span`,{className:x.groupValue,children:i===void 0?``:String(i.value)}),(0,g.jsx)(`div`,{className:x.groupedFill,style:{height:`${Math.max(0,v(Math.max(0,a)))}%`,background:l[r]},onMouseEnter:r=>n(r,[[e.label,String(i?.value??``)],[`合计`,String(p[t]??0)]]),onMouseMove:r=>n(r,[[e.label,String(i?.value??``)],[`合计`,String(p[t]??0)]])})]},r)})}):(()=>{let r=c[0][t]??0,i=Math.max(v(r),y),a=Math.min(v(r),y);return(0,g.jsxs)(g.Fragment,{children:[d&&(0,g.jsx)(`span`,{className:x.barValue,style:{bottom:`calc(${i}% + 4px)`},children:String(o[t]?.value??``)}),(0,g.jsx)(`div`,{className:x.barFill,style:{bottom:`${a}%`,height:`${Math.max(i-a,.6)}%`,...r<0?{borderRadius:`0 0 5px 5px`}:{},...o[t]?.color===void 0?{}:{background:o[t].color}},onMouseEnter:r=>n(r,[[e,String(o[t]?.value??``)]]),onMouseMove:r=>n(r,[[e,String(o[t]?.value??``)]])})]})})()},t))]})]}),(0,g.jsx)(`div`,{className:x.chartLabels,children:s.map((e,t)=>(0,g.jsx)(`span`,{className:x.barLabel,children:Y(e)},`${e}-${t}`))}),a&&(0,g.jsx)(`div`,{className:x.chartLegend,children:i.map((e,t)=>(0,g.jsxs)(`span`,{className:x.legendItem,children:[(0,g.jsx)(`span`,{className:x.legendSwatch,style:{background:l[t]}}),Y(e.label)]},t))})]})}),Es=(0,m.memo)(function({chart:e}){let[t,n]=ys(),{tip:r,show:i,hide:a}=_s(),o=`genui-line-${(0,m.useId)().replace(/:/g,``)}`,s=e.series!==void 0&&e.series.length>0?e.series.slice(0,X.maxPlotSeries):void 0,c=e.data.slice(0,X.maxChartPoints),l=s===void 0?c.map(e=>e.label):s[0].data.map(e=>e.label),u=s===void 0?[c.map(e=>Number(e.value)||0)]:s.map(e=>e.data.map(e=>Number(e.value)||0)),d=u.map((t,n)=>os(n,u.length,s===void 0?void 0:s[n]?.color,e.palette)??`var(--dsl-g-accent)`),f=u.length>1,p=u.flat(),h=Math.max(...u.map(e=>e.length),0),_=Math.max(n,260),v=bs(Math.min(...p,0),Math.max(...p,0),4),y=v[0],b=v[v.length-1]-y||1,S=_-44-12,C=e=>44+(h<=1?S/2:e/(h-1)*S),ee=e=>14+(1-(e-y)/b)*136,te=u.map(e=>e.map((e,t)=>`${t===0?`M`:`L`} ${C(t).toFixed(1)} ${ee(e).toFixed(1)}`).join(` `)),w=!f&&h>1?`${te[0]} L ${C(h-1).toFixed(1)} ${ee(y).toFixed(1)} L ${C(0).toFixed(1)} ${ee(y).toFixed(1)} Z`:null,T=Math.max(1,Math.ceil(h/Math.max(1,Math.floor(S/64)))),ne=`折线图,${f?`${u.length} 条序列`:`${h} 个点`},范围 ${xs(Math.min(...p,0))} 到 ${xs(Math.max(...p,0))}`;return(0,g.jsxs)(`div`,{className:x.lineChart,"data-genui-chart":`line`,"data-genui-line":!0,ref:t,role:`img`,"aria-label":ne,onMouseLeave:a,children:[(0,g.jsx)(vs,{tip:r}),(0,g.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 ${_} 176`,preserveAspectRatio:`none`,children:[(0,g.jsx)(`defs`,{children:(0,g.jsxs)(`linearGradient`,{id:o,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.22`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.02`})]})}),v.map((e,t)=>{let n=ee(e);return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:44,x2:_-12,y1:n,y2:n,className:t===0?x.lineGridAxis:x.lineGrid}),(0,g.jsx)(`text`,{x:36,y:n+4,textAnchor:`end`,className:x.lineTick,children:xs(e)})]},e)}),w!==null&&(0,g.jsx)(`path`,{d:w,fill:`url(#${o})`}),te.map((e,t)=>(0,g.jsx)(`path`,{d:e,className:x.linePath,style:{stroke:d[t]}},t)),u.map((e,t)=>e.map((e,n)=>{let r=f?[[s[t].label,String(e)],[`节点`,l[n]??``]]:[[l[n]??``,String(e)]];return(0,g.jsx)(`circle`,{cx:C(n),cy:ee(e),r:f?3:3.5,className:x.lineDot,style:{fill:d[t]},onMouseEnter:e=>i(e,r),onMouseMove:e=>i(e,r)},`${t}-${n}`)})),l.map((e,t)=>t%T===0?(0,g.jsx)(`text`,{x:C(t),y:168,textAnchor:`middle`,className:x.lineLabel,children:e},`l-${t}`):null)]}),f&&(0,g.jsx)(`div`,{className:x.chartLegend,children:s.map((e,t)=>(0,g.jsxs)(`span`,{className:x.legendItem,children:[(0,g.jsx)(`span`,{className:x.legendSwatch,style:{background:d[t]}}),Y(e.label)]},t))})]})}),Ds=(0,m.memo)(function({chart:e}){let{tip:t,show:n,hide:r}=_s(),i=e.data.slice(0,X.maxChartPoints),a=i.map(e=>({...e,v:Math.max(0,Number(e.value)||0)})),o=a.reduce((e,t)=>e+t.v,0)||1,s=o>=1e3?`${Math.round(o/100)/10}k`:Number.isInteger(o)?String(o):o.toFixed(1),c=2*Math.PI*62,l=0,u=`环形图,${a.length} 项,合计 ${s}`;return(0,g.jsxs)(`div`,{className:x.donut,"data-genui-chart":`donut`,"data-genui-donut":!0,role:`img`,"aria-label":u,onMouseLeave:r,children:[(0,g.jsx)(vs,{tip:t}),(0,g.jsxs)(`svg`,{width:160,height:160,viewBox:`0 0 160 160`,children:[(0,g.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:x.donutTrack}),a.map((t,r)=>{let a=t.v/o,s=a*c,u=(0,g.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:x.donutSeg,style:{stroke:os(r,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`},strokeDasharray:`${s} ${c-s}`,strokeDashoffset:-l,transform:`rotate(-90 80 80)`,onMouseEnter:e=>n(e,[[t.label,`${String(t.value)} · ${(a*100).toFixed(1)}%`]]),onMouseMove:e=>n(e,[[t.label,`${String(t.value)} · ${(a*100).toFixed(1)}%`]])},r);return l+=s,u}),(0,g.jsx)(`text`,{x:80,y:78,textAnchor:`middle`,className:x.donutTotal,children:s}),(0,g.jsx)(`text`,{x:80,y:96,textAnchor:`middle`,className:x.donutTotalLabel,children:`合计`})]}),(0,g.jsx)(`div`,{className:x.donutLegend,children:a.map((t,n)=>(0,g.jsxs)(`span`,{className:x.legendItem,children:[(0,g.jsx)(`span`,{className:x.legendSwatch,style:{background:os(n,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),(0,g.jsx)(`span`,{children:Y(t.label)}),(0,g.jsxs)(`span`,{className:x.donutPct,children:[String(t.value),` · `,(t.v/o*100).toFixed(1),`%`]})]},n))})]})});function Os({node:e,onAction:t,answers:n}){let r=e.action,i=e.group,a=i!==void 0,o=e.options.slice(0,X.maxOptions),s=i!==void 0&&n?.answers[i]!==void 0?o.indexOf(n.answers[i]):-1,[c,l]=(0,m.useState)(s>=0?s:e.selected??null),u=(0,m.useId)(),d=a&&n?.locked===!0;return(0,m.useEffect)(()=>{i!==void 0&&(n?.registerMeta(i,{label:e.label??i,options:o,answer:e.answer,explanation:e.explanation}),e.selected!==void 0&&o[e.selected]!==void 0&&n?.answers[i]===void 0&&n?.setAnswer(i,o[e.selected]))},[i,e.label,e.answer,e.explanation,e.options,e.selected]),(0,g.jsxs)(`div`,{className:x.fieldGroup,role:`radiogroup`,"aria-label":e.label,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:x.fieldLabel,children:Y(e.label,!1)}),o.map((e,o)=>(0,g.jsxs)(`label`,{className:x.radio,children:[(0,g.jsx)(`input`,{type:`radio`,name:`genui-radio-${u}`,checked:c===o,disabled:d,onChange:()=>{l(o),a?n?.setAnswer(i,e):r!==void 0&&t!==void 0&&t(r,{type:`radio`,value:e})}}),(0,g.jsx)(`span`,{children:Y(e,!1)})]},o))]})}function ks(e){if(e.answer!==void 0)return typeof e.answer==`number`?e.options[e.answer]:e.answer}function As({node:e,onAction:t,answers:n}){let r=n?.answers??{},i=n?.multiAnswers??{},a=n?.fields??{},o=n?.meta??{},s=e.groups,c=Object.fromEntries(Object.entries(a).filter(([e,t])=>t.trim()!==``&&!n?.secretFields.has(e))),l=Object.entries(i).filter(([,e])=>Array.isArray(e)&&e.length>0).map(([e])=>e),u=new Set([...Object.keys(r),...l]),d=s===void 0?Math.max(u.size,Object.keys(c).length):s.filter(e=>r[e]!==void 0||Array.isArray(i[e])&&i[e].length>0).length,f=s?.length??d,p=s??[...u],m=!p.some(e=>Array.isArray(i[e])&&i[e].length>0)&&p.some(e=>o[e]?.answer!==void 0),h=n?.locked===!0,_={...r,...i},v=d>0&&d>=f&&(m||e.action!==void 0&&t!==void 0);if(h){let i=p.filter(e=>r[e]!==void 0&&o[e]?.answer!==void 0),a=i.filter(e=>r[e]===ks(o[e])).length;return(0,g.jsxs)(`div`,{className:x.gradeWrap,"data-genui-grade":!0,children:[(0,g.jsxs)(`div`,{className:x.gradeScore,children:[(0,g.jsxs)(`span`,{className:x.gradeScoreValue,children:[a,` / `,i.length]}),(0,g.jsxs)(`span`,{className:x.gradeScoreLabel,children:[`得分`,i.length<p.length?`(${p.length-i.length} 题无答案未计分)`:``]})]}),(0,g.jsx)(`div`,{className:x.gradeList,children:p.map(e=>{let t=r[e],n=o[e];if(t===void 0||n===void 0)return null;let i=ks(n);if(i===void 0)return(0,g.jsxs)(`div`,{className:x.gradeItem,children:[(0,g.jsx)(`span`,{className:x.gradeQ,children:Y(n.label)}),(0,g.jsxs)(`span`,{className:x.gradeAns,children:[`你的答案:`,Y(t)]})]},e);let a=t===i;return(0,g.jsxs)(`div`,{className:`${x.gradeItem} ${a?x.gradeItemOk:x.gradeItemNo}`,children:[(0,g.jsx)(`span`,{className:x.gradeQ,children:Y(n.label)}),(0,g.jsx)(`span`,{className:x.gradeTag,children:a?`✓`:`✗`}),(0,g.jsxs)(`span`,{className:x.gradeAns,children:[`你的答案:`,Y(t),!a&&(0,g.jsxs)(`span`,{className:x.gradeRight,children:[` 正确答案:`,Y(i??``)]})]}),n.explanation!==void 0&&(0,g.jsx)(`span`,{className:x.gradeExp,children:Y(n.explanation)})]},e)})}),(0,g.jsx)(`button`,{type:`button`,className:`${x.button} ${x.ghost} ${x.submit}`,onClick:()=>{n?.clear(),e.resetAction!==void 0&&t!==void 0&&t(e.resetAction,{type:`submit-reset`,groups:s??Object.keys(r)})},children:`重新作答`})]})}return(0,g.jsxs)(`div`,{className:x.submitRow,children:[(0,g.jsx)(`button`,{type:`button`,className:`${x.button} ${x.primary} ${x.submit}`,disabled:!v,onClick:v?()=>{m?n?.setLocked(!0):e.action!==void 0&&t!==void 0&&t(e.action,{type:`submit`,answers:_,...Object.keys(c).length>0?{fields:c}:{},total:f,answered:d})}:void 0,children:Y(e.label,!1)}),f>0&&(0,g.jsxs)(`span`,{className:x.submitHint,"aria-live":`polite`,children:[`已选 `,d,`/`,f]})]})}function js({node:e,onAction:t}){let[n,r]=(0,m.useState)(e.checked===!0),i=e.action;return(0,g.jsxs)(`label`,{className:x.switchRow,children:[(0,g.jsx)(`span`,{className:x.switchLabel,children:Y(e.label,!1)}),(0,g.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n,className:`${x.switch} ${n?x.switchOn:``}`,onClick:()=>{let e=!n;r(e),i!==void 0&&t!==void 0&&t(i,{type:`switch`,checked:e})},children:(0,g.jsx)(`span`,{className:x.switchKnob})})]})}function Ms({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=i!==void 0&&n?.fields[i]!==void 0?Number(n.fields[i]):NaN,o=Number.isFinite(a)?a:e.value??e.min??0,[s,c]=(0,m.useState)(o),l=(0,m.useRef)(!1);(0,m.useEffect)(()=>{l.current||(l.current=!0,i!==void 0&&n?.setField(i,String(o)))},[]);let u=e=>{r!==void 0&&t!==void 0&&t(r,{type:`slider`,value:e,...i===void 0?{}:{id:i}})};return(0,g.jsxs)(`label`,{className:x.sliderRow,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:x.fieldLabel,children:Y(e.label,!1)}),(0,g.jsx)(`input`,{type:`range`,className:x.sliderInput,min:e.min,max:e.max,step:e.step??1,value:s,"aria-label":e.label,onChange:e=>{let t=Number(e.currentTarget.value);c(t),i!==void 0&&n?.setField(i,String(t)),u(t)}}),(0,g.jsx)(`span`,{className:x.sliderValue,children:Math.round(s*100)/100})]})}function Ns(){let e=(0,m.useRef)(!1),t=(0,m.useRef)(null);return(0,m.useEffect)(()=>()=>{t.current!==null&&clearTimeout(t.current)},[]),{isComposing:()=>e.current,onCompositionStart:()=>{e.current=!0,t.current!==null&&(clearTimeout(t.current),t.current=null)},onCompositionEnd:()=>{t.current!==null&&clearTimeout(t.current),t.current=setTimeout(()=>{e.current=!1},10)}}}function Ps(e){let t=e.nativeEvent;return t.isComposing===!0||t.keyCode===229}function Fs({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=e.options.slice(0,X.maxOptions),o=i!==void 0&&n?.fields[i]!==void 0?a.indexOf(n.fields[i]):-1,s=o>=0?a[o]:e.selected!==void 0&&a[e.selected]!==void 0?a[e.selected]:null,[c,l]=(0,m.useState)(s),u=(0,m.useRef)(!1);(0,m.useEffect)(()=>{u.current||(u.current=!0,i!==void 0&&s!==null&&n?.setField(i,s))},[]);let d=e=>{r!==void 0&&t!==void 0&&t(r,{type:`select`,value:e,...i===void 0?{}:{id:i}})};return(0,g.jsxs)(`label`,{className:x.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:Y(e.label,!1)}),(0,g.jsxs)(`select`,{className:x.select,value:c??``,onChange:e=>{let t=e.currentTarget.value;l(t),i!==void 0&&n?.setField(i,t),d(t)},children:[c===null&&(0,g.jsx)(`option`,{value:``,hidden:!0,disabled:!0,children:`请选择…`}),a.map((e,t)=>(0,g.jsx)(`option`,{value:e,children:e},t))]})]})}function Is({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=e.inputType===`password`,o=!a&&i!==void 0?n?.fields[i]:void 0,[s,c]=(0,m.useState)(()=>{let t=a?``:o??e.value??``;return e.inputType===`color`?/^#[0-9a-f]{6}$/i.test(t)?t.toLowerCase():`#000000`:t}),l=(0,m.useRef)(s),u=e=>{r!==void 0&&t!==void 0&&(l.current=s,t(r,{type:`input`,value:s,...i===void 0?{}:{id:i},...e?{submit:!0}:{}}))},d=Ns(),f=(0,m.useRef)(!1);return(0,m.useEffect)(()=>{f.current||(f.current=!0,!a&&i!==void 0&&s.trim()!==``&&n?.setField(i,s))},[]),(0,m.useEffect)(()=>{a&&i!==void 0&&n?.registerSecretField(i)},[a,i]),(0,g.jsxs)(`label`,{className:x.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:Y(e.label,!1)}),(0,g.jsx)(`input`,{className:x.input,type:e.inputType??`text`,style:e.inputType===`color`?{width:64,height:40,padding:4,boxSizing:`border-box`,alignSelf:`flex-start`,cursor:`pointer`}:void 0,placeholder:e.placeholder,value:s,onChange:e=>{let t=e.currentTarget.value;c(t),i!==void 0&&n?.setField(i,t)},onBlur:()=>{s!==l.current&&u(!1)},onCompositionStart:d.onCompositionStart,onCompositionEnd:d.onCompositionEnd,onKeyDown:e=>{e.key===`Enter`&&(d.isComposing()||Ps(e)||(e.preventDefault(),u(!0)))}})]})}function Ls({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,[a,o]=(0,m.useState)(()=>e.value??(i===void 0?``:n?.fields[i]??``)),s=(0,m.useRef)(a),c=e=>{r!==void 0&&t!==void 0&&(s.current=a,t(r,{type:`textarea`,value:a,...i===void 0?{}:{id:i},...e?{submit:!0}:{}}))},l=Ns(),u=(0,m.useRef)(!1);return(0,m.useEffect)(()=>{u.current||(u.current=!0,i!==void 0&&e.value!==void 0&&e.value.trim()!==``&&n?.setField(i,e.value))},[]),(0,g.jsxs)(`label`,{className:x.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:Y(e.label,!1)}),(0,g.jsx)(`textarea`,{className:x.textarea,placeholder:e.placeholder,rows:e.rows??4,value:a,onChange:e=>{let t=e.currentTarget.value;o(t),i!==void 0&&n?.setField(i,t)},onBlur:()=>{a!==s.current&&c(!1)},onCompositionStart:l.onCompositionStart,onCompositionEnd:l.onCompositionEnd,onKeyDown:e=>{!(e.metaKey||e.ctrlKey)||e.key!==`Enter`||l.isComposing()||Ps(e)||(e.preventDefault(),c(!0))}})]})}function Rs({node:e,onAction:t,answers:n}){let r=e.group,i=r!==void 0,a=r!==void 0&&Object.prototype.hasOwnProperty.call(n?.multiAnswers??{},r),o=r===void 0?void 0:n?.multiAnswers[r],s=a?Array.isArray(o)&&o.includes(e.label):e.checked===!0,[c,l]=(0,m.useState)(e.checked===!0);return(0,m.useEffect)(()=>{r===void 0||e.checked!==!0||a||n?.setMultiAnswer(r,e.label,!0)},[r,e.checked,e.label,a]),(0,g.jsxs)(`label`,{className:x.checkbox,children:[(0,g.jsx)(`input`,{type:`checkbox`,checked:i?s:c,onChange:a=>{let o=a.currentTarget.checked;l(o),i?n?.setMultiAnswer(r,e.label,o):e.action!==void 0&&t!==void 0&&t(e.action,{type:`checkbox`,checked:o})}}),(0,g.jsx)(`span`,{children:Y(e.label,!1)})]})}let zs={pi:Math.PI,e:Math.E,tau:Math.PI*2},Bs={sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,sqrt:Math.sqrt,cbrt:Math.cbrt,exp:Math.exp,log:Math.log10,ln:Math.log,abs:Math.abs,floor:Math.floor,ceil:Math.ceil,round:Math.round,min:Math.min,max:Math.max,pow:(e,t)=>e**+t};var Vs=class extends Error{pos;constructor(e,t){super(`SafeMath parse error at ${t}: ${e}`),this.pos=t}},Hs=class{src;vars;i=0;constructor(e,t){this.src=e,this.vars=t}parse(){let e=this.parseExpr();if(this.skipWs(),this.i<this.src.length)throw new Vs(`unexpected trailing input`,this.i);return this.evalNode(e)}evalNode(e){return typeof e==`number`?()=>e:e}parseExpr(){let e=this.parseTerm();for(;;){this.skipWs();let t=this.peek();if(t===`+`||t===`-`){this.i++;let n=this.parseTerm(),r=t,i=e;e=r===`+`?e=>this.asNum(i,e)+this.asNum(n,e):e=>this.asNum(i,e)-this.asNum(n,e)}else return e}}parseTerm(){let e=this.parseUnary();for(;;){this.skipWs();let t=this.peek();if(t===`*`||t===`/`||t===`%`){this.i++;let n=this.parseUnary(),r=t,i=e;e=r===`*`?e=>this.asNum(i,e)*this.asNum(n,e):r===`/`?e=>this.asNum(i,e)/this.asNum(n,e):e=>this.asNum(i,e)%this.asNum(n,e)}else return e}}parseUnary(){this.skipWs();let e=this.char();if(e===`-`||e===`+`){this.i++;let t=this.parseUnary();return e===`-`?e=>-this.asNum(t,e):e=>this.asNum(t,e)}return this.parsePower()}parsePower(){let e=this.parseAtom();if(this.skipWs(),this.peek()===`^`){this.i++;let t=this.parsePower(),n=e;return e=>this.asNum(n,e)**+this.asNum(t,e)}return e}parseAtom(){this.skipWs();let e=this.char();if(e===`(`){this.i++;let e=this.parseExpr();if(this.skipWs(),this.peek()!==`)`)throw new Vs(`expected )`,this.i);return this.i++,e}if(e>=`0`&&e<=`9`||e===`.`)return this.parseNumber();if(this.isIdentStart(e))return this.parseIdent();throw new Vs(`unexpected character '${e}'`,this.i)}parseNumber(){let e=this.i,t=!1;for(;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)t=!0,this.i++;if(this.peek()===`.`)for(this.i++;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)t=!0,this.i++;if(!t)throw new Vs(`invalid number '${this.src.slice(e,this.i)}'`,e);if(this.peek()===`e`||this.peek()===`E`){this.i++,(this.peek()===`+`||this.peek()===`-`)&&this.i++;let t=this.i;for(;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)this.i++;if(this.i===t)throw new Vs(`invalid number '${this.src.slice(e,this.i)}'`,e)}let n=this.src.slice(e,this.i),r=Number(n);if(Number.isNaN(r))throw new Vs(`invalid number '${n}'`,e);return r}parseIdent(){let e=this.i;for(;this.i<this.src.length&&this.isIdentChar(this.src[this.i]);)this.i++;let t=this.src.slice(e,this.i);if(this.skipWs(),this.peek()===`(`){let n=Bs[t];if(n===void 0)throw new Vs(`unknown function '${t}'`,e);this.i++;let r=[];if(this.skipWs(),this.peek()===`)`)this.i++;else for(;;){r.push(this.parseExpr()),this.skipWs();let e=this.peek();if(e===`,`){this.i++;continue}if(e===`)`){this.i++;break}throw new Vs(`expected , or ) in call`,this.i)}return e=>n(...r.map(t=>this.asNum(t,e)))}if(Object.hasOwn(zs,t))return zs[t];if(t===`x`)return e=>e;if(Object.hasOwn(this.vars,t)){let e=this.vars[t];return()=>e}if(/^[a-z]$/.test(t))return()=>1;throw new Vs(`unknown identifier '${t}'`,e)}asNum(e,t){return typeof e==`number`?e:e(t)}skipWs(){for(;this.i<this.src.length&&/\s/.test(this.src[this.i]);)this.i++}peek(){return this.src[this.i]}char(){let e=this.peek();if(e===void 0)throw new Vs(`unexpected end of input`,this.i);return e}isIdentStart(e){return e!==void 0&&/[a-zA-Z_]/.test(e)}isIdentChar(e){return/[a-zA-Z0-9_]/.test(e)}};function Us(e,t={}){try{let n={...t.vars};return delete n.x,new Hs(e,n).parse()}catch{return null}}function Ws(e,t,n,r=200,i={}){let a=Us(e,{vars:i});if(a===null||!Number.isFinite(t)||!Number.isFinite(n)||n<=t||r<2)return[];let o=[],s=(n-t)/(r-1);for(let e=0;e<r;e++){let n=t+s*e,r=a(n);Number.isFinite(r)&&o.push([n,r])}return o}let Gs=`@changfenhuang/dsh-genui/PlotBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(Gs)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=Gs,e.textContent=`._ctrqa_block{--dsl-g-radius-surface:12px;--dsl-g-radius-control:8px;--dsl-g-font-title:13px;--dsl-g-font-meta:12px;--dsl-g-font-data:11px;--dsl-g-gap-md:12px;--dsl-g-gap-sm:8px;--dsl-g-gap-xs:4px;--dsl-g-border:var(--dsw-alias-border-l1,var(--dsw-alias-border-l2,#ffffff1f));--dsl-g-accent:var(--dsw-alias-state-business-primary,#4f8ef7);--dsl-g-accent-soft:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);--dsl-g-tint:8%;--dsl-g-tint-strong:14%;--dsl-g-font-mono:var(--ds-font-family-code,ui-monospace, "SF Mono", monospace);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);gap:var(--dsl-g-gap-sm);flex-direction:column;padding:14px 16px;display:flex}._ctrqa_title{font-size:var(--dsl-g-font-title);letter-spacing:.01em;color:var(--dsw-alias-label-primary);font-weight:600}._ctrqa_gridLine{stroke:var(--dsw-alias-border-l1,#ffffff12);stroke-width:1px}._ctrqa_axis{stroke:var(--dsw-alias-label-tertiary);stroke-width:1px}._ctrqa_tick{fill:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-data);font-family:var(--dsl-g-font-mono)}._ctrqa_line{fill:none;stroke:var(--dsl-g-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}._ctrqa_area{stroke:none;fill-opacity:.16}._ctrqa_scatterDot{stroke:var(--dsw-alias-bg-base,#17171a);stroke-width:1px}._ctrqa_legend{gap:var(--dsl-g-gap-md);flex-wrap:wrap;display:flex}._ctrqa_legendItem{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);display:inline-flex}._ctrqa_legendSwatch{background:var(--dsl-g-accent);border-radius:2px;width:10px;height:3px}._ctrqa_empty{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-title);gap:var(--dsl-g-gap-xs);flex-direction:column;padding:14px 0;display:flex}._ctrqa_emptyRow{font-family:var(--dsl-g-font-mono)}._ctrqa_surface{cursor:grab;touch-action:pan-y}._ctrqa_plotTools{justify-content:space-between;align-items:center;gap:8px;margin:0 0 4px;display:flex}._ctrqa_plotHint{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12.5px}._ctrqa_plotReset{border:1px solid var(--dsw-alias-border-l2,#ffffff1f);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:2px 9px;font-family:inherit;font-size:12.5px}._ctrqa_plotReset:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-state-business-primary,#4f8ef7)}._ctrqa_surface:active{cursor:grabbing}._ctrqa_sliders{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}._ctrqa_sliderRow{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);display:flex}._ctrqa_sliderName{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:90px;overflow:hidden}._ctrqa_slider{accent-color:var(--dsl-g-accent);cursor:pointer;flex:1;height:4px}._ctrqa_sliderValue{color:var(--dsw-alias-label-primary);font-family:var(--dsl-g-font-mono);text-align:right;min-width:34px}._ctrqa_animBar{align-items:center;gap:var(--dsl-g-gap-md);display:flex}._ctrqa_playBtn{background:var(--dsl-g-accent-soft);border:1px solid color-mix(in srgb, var(--dsl-g-accent) 30%, transparent);width:fit-content;color:var(--dsl-g-accent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;padding:6px 14px;font-family:inherit;font-weight:600}._ctrqa_playBtn:hover{filter:brightness(1.1)}._ctrqa_animTrack{background:var(--dsw-alias-bg-layer-1);height:5px;box-shadow:inset 0 0 0 1px var(--dsl-g-border);border-radius:999px;flex:1;overflow:hidden}._ctrqa_animFill{background:var(--dsl-g-accent);border-radius:999px;height:100%}._ctrqa_resetBtn{border:1px solid var(--dsl-g-border);width:fit-content;color:var(--dsw-alias-label-secondary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit}._ctrqa_resetBtn:hover{border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}._ctrqa_slidersHead{justify-content:space-between;align-items:center;display:flex}._ctrqa_slidersTitle{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}`,document.head.appendChild(e)}var Z={animBar:`_ctrqa_animBar`,animFill:`_ctrqa_animFill`,animTrack:`_ctrqa_animTrack`,area:`_ctrqa_area`,axis:`_ctrqa_axis`,block:`_ctrqa_block`,empty:`_ctrqa_empty`,emptyRow:`_ctrqa_emptyRow`,gridLine:`_ctrqa_gridLine`,legend:`_ctrqa_legend`,legendItem:`_ctrqa_legendItem`,legendSwatch:`_ctrqa_legendSwatch`,line:`_ctrqa_line`,playBtn:`_ctrqa_playBtn`,plotHint:`_ctrqa_plotHint`,plotReset:`_ctrqa_plotReset`,plotTools:`_ctrqa_plotTools`,resetBtn:`_ctrqa_resetBtn`,scatterDot:`_ctrqa_scatterDot`,slider:`_ctrqa_slider`,sliderName:`_ctrqa_sliderName`,sliderRow:`_ctrqa_sliderRow`,sliderValue:`_ctrqa_sliderValue`,sliders:`_ctrqa_sliders`,slidersHead:`_ctrqa_slidersHead`,slidersTitle:`_ctrqa_slidersTitle`,surface:`_ctrqa_surface`,tick:`_ctrqa_tick`,title:`_ctrqa_title`};let Ks=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-neutral-bluish-400)`,`var(--dsw-static-deepseek-300)`],qs=(e,t,n)=>n??(t>1?Ks[e%Ks.length]:void 0);function Js(e){let t=1/0,n=-1/0;for(let[,r]of e)r<t&&(t=r),r>n&&(n=r);if(!Number.isFinite(t)||!Number.isFinite(n))return[-1,1];t===n&&(--t,n+=1);let r=(n-t)*.08;return[t-r,n+r]}function Ys(e,t,n=5){let r=t-e;if(!Number.isFinite(r)||r<=0)return[];let i=10**Math.floor(Math.log10(r/n)),a=r/n/i,o=i*(a>=7.5?10:a>=3.5?5:a>=1.5?2:1),s=[];for(let n=Math.ceil(e/o)*o;n<=t+o*1e-9;n+=o)s.push(Math.round(n*1e9)/1e9);return s}function Xs(e){return Math.abs(e)>=1e5||Math.abs(e)<.001&&e!==0?e.toExponential(1):String(Math.round(e*100)/100)}function Zs({points:e,className:t,color:n}){let r=e.length>40?`${e.slice(0,16)}|${e.slice(-16)}`:e;return(0,g.jsx)(`polyline`,{points:e,className:t,style:n===void 0?void 0:{stroke:n}},r)}let Qs=(0,m.memo)(function({series:e,xMin:t=-5,xMax:n=5,yMin:r,yMax:i,title:a}){let[o,s]=(0,m.useState)(()=>{let a={};for(let[t,n]of e.entries())for(let e of n.params??[])e!=null&&(a[`${t}:${e.name}`]=e.value);let[o,s]=Js(e.map((e,r)=>{let i={};for(let t of e.params??[])t!=null&&(i[t.name]=a[`${r}:${t.name}`]??t.value);return Ws(e.expr,t,n,240,i)}).flatMap(e=>e));return{xMin:t,xMax:n,yMin:r??o,yMax:i??s}}),c=(0,m.useRef)(null),[l,u]=(0,m.useState)(()=>({})),d=(()=>{for(let[t,n]of e.entries())for(let e of n.params??[])if(e!=null&&e.animateTo!==void 0)return{si:t,param:e};return null})(),[f,p]=(0,m.useState)(!1),[h,_]=(0,m.useState)(0),v=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(!f||d===null)return;let e=`${d.si}:${d.param.name}`,t=l[e]??d.param.value,n=d.param.animateTo,r=Math.max(0,d.param.durationMs??4e3),i=performance.now(),a=o=>{let s=r===0?1:Math.min(1,Math.max(0,(o-i)/r)),c=1-(1-s)**3,l=t+(n-t)*c;u(t=>({...t,[e]:l})),_(s),s<1?v.current=requestAnimationFrame(a):d.param.loop===!0?(t=d.param.value,i=o,u(n=>({...n,[e]:t})),_(0),v.current=requestAnimationFrame(a)):(v.current=null,p(!1))};return v.current=requestAnimationFrame(a),()=>{v.current!==null&&cancelAnimationFrame(v.current),v.current=null}},[f,d?.si,d?.param.name,d?.param.value,d?.param.animateTo,d?.param.durationMs,d?.param.loop]);let y=o.xMin,b=o.xMax,x=o.yMin,S=o.yMax,C=e=>y+(e-34)/436*(b-y),ee=e=>34+(e-y)/(b-y)*436,te=e=>14+(1-(e-x)/(S-x))*182,w=e.map((e,t)=>{let n={};for(let r of e.params??[])r!=null&&(n[r.name]=l[`${t}:${r.name}`]??r.value);return{series:e,points:Ws(e.expr,y,b,240,n).map(([e,t])=>`${ee(e).toFixed(2)},${te(t).toFixed(2)}`).join(` `)}}),T=Ys(y,b),ne=Ys(x,S),re=w.some(e=>e.points.length>1),ie=Number.isFinite(y)&&Number.isFinite(b)&&b>y&&Number.isFinite(S)&&Number.isFinite(x)&&S>x,ae=(e,t,n)=>{let r=qs(t,w.length,e.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`,i=e.kind??`line`;if(i===`scatter`){let e=n===``?[]:n.split(` `).map(e=>{let[t,n]=e.split(`,`);return[Number(t),Number(n)]});return(0,g.jsx)(`g`,{children:e.map(([e,t],n)=>(0,g.jsx)(`circle`,{cx:e,cy:t,r:2.6,className:Z.scatterDot,style:{fill:r}},n))},t)}if(i===`area`){if(n===``)return(0,g.jsx)(Zs,{points:``,className:Z.line,color:r},t);let e=n.slice(0,n.indexOf(` `)).split(`,`)[0],i=n.slice(n.lastIndexOf(` `)+1).split(`,`)[0],a=te(x),o=`${e},${a.toFixed(2)} ${n} ${i},${a.toFixed(2)}`;return(0,g.jsx)(`polygon`,{points:o,className:Z.area,style:{fill:r}},t)}return(0,g.jsx)(Zs,{points:n,className:Z.line,color:r},t)},oe=e=>{c.current={startX:e.clientX,startY:e.clientY,xMin:y,xMax:b},e.target.setPointerCapture?.(e.pointerId)},se=e=>{let t=c.current;if(t===null||Math.abs(e.clientX-t.startX)<4)return;let n=t.xMax-t.xMin,r=(t.startX-e.clientX)/436*n;s(e=>({xMin:t.xMin+r,xMax:t.xMax+r,yMin:e.yMin,yMax:e.yMax}))},ce=()=>{c.current=null},le=(0,m.useRef)(null);(0,m.useEffect)(()=>{let e=le.current;if(e===null)return;let t=t=>{if(!t.metaKey&&!t.ctrlKey)return;t.preventDefault();let n=b-y,r=n*(t.deltaY>0?1.15:1/1.15),i=e.getBoundingClientRect(),a=C((t.clientX-i.left)/i.width*480),o=a-(a-y)/n*r;s(e=>({xMin:o,xMax:o+r,yMin:e.yMin,yMax:e.yMax}))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[y,b,C]);let ue=e.some(e=>(e.params?.length??0)>0),de=(0,m.useRef)({min:t,max:n}),fe=Math.abs(y-de.current.min)>1e-6||Math.abs(b-de.current.max)>1e-6;return(0,g.jsxs)(`div`,{className:Z.block,"data-genui-plot":!0,children:[a!==void 0&&(0,g.jsx)(`div`,{className:Z.title,children:Y(a)}),re&&ie&&(0,g.jsxs)(`div`,{className:Z.plotTools,children:[(0,g.jsx)(`span`,{className:Z.plotHint,children:fe?`x ∈ [${Xs(y)}, ${Xs(b)}]`:`⌘/Ctrl + 滚轮缩放 · 拖拽平移`}),fe&&(0,g.jsx)(`button`,{type:`button`,className:Z.plotReset,onClick:()=>{s(e=>({...e,xMin:de.current.min,xMax:de.current.max}))},children:`↺ 回到初始区间`})]}),re&&ie?(0,g.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 480 220`,role:`img`,"aria-label":a??`function plot`,className:Z.surface,ref:le,onPointerDown:oe,onPointerMove:se,onPointerUp:ce,onPointerLeave:ce,children:[ne.map(e=>(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:34,x2:470,y1:te(e),y2:te(e),className:Z.gridLine}),(0,g.jsx)(`text`,{x:28,y:te(e)+4,className:Z.tick,textAnchor:`end`,children:Xs(e)})]},`y${e}`)),T.map(e=>(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:ee(e),x2:ee(e),y1:14,y2:196,className:Z.gridLine}),(0,g.jsx)(`text`,{x:ee(e),y:210,className:Z.tick,textAnchor:`middle`,children:Xs(e)})]},`x${e}`)),(0,g.jsx)(`line`,{x1:34,x2:470,y1:196,y2:196,className:Z.axis}),(0,g.jsx)(`line`,{x1:34,x2:34,y1:14,y2:196,className:Z.axis}),w.map(({series:e,points:t},n)=>ae(e,n,t))]}):(0,g.jsx)(`div`,{className:Z.empty,children:e.map((e,t)=>(0,g.jsxs)(`div`,{className:Z.emptyRow,children:[e.expr,` — 无法绘制(表达式无效或范围非法)`]},t))}),ue&&(0,g.jsxs)(`div`,{className:Z.sliders,children:[(0,g.jsxs)(`div`,{className:Z.slidersHead,children:[(0,g.jsx)(`span`,{className:Z.slidersTitle,children:`参数调节`}),(0,g.jsx)(`button`,{type:`button`,className:Z.resetBtn,onClick:()=>{p(!1);let t={};for(let[n,r]of e.entries())for(let e of r.params??[])e!=null&&(t[`${n}:${e.name}`]=e.value);u(t),_(0)},children:`↺ 重置`})]}),e.map((e,t)=>(e.params??[]).map(n=>{if(n==null)return null;let r=`${t}:${n.name}`,i=l[r]??n.value;return(0,g.jsxs)(`label`,{className:Z.sliderRow,children:[(0,g.jsxs)(`span`,{className:Z.sliderName,children:[e.label??e.expr,` · `,n.name]}),(0,g.jsx)(`input`,{type:`range`,className:Z.slider,min:n.min??0,max:n.max??10,step:n.step??.1,value:i,onChange:e=>{let t=Number(e.currentTarget.value);u(e=>({...e,[r]:t}))}}),(0,g.jsx)(`span`,{className:Z.sliderValue,children:Math.round(i*100)/100})]},r)}))]}),d!==null&&(0,g.jsxs)(`div`,{className:Z.animBar,children:[(0,g.jsx)(`button`,{type:`button`,className:Z.playBtn,onClick:()=>{f?p(!1):(u(e=>({...e,[`${d.si}:${d.param.name}`]:d.param.value})),_(0),p(!0))},children:f?`⏸ 暂停`:`▶ 播放动画`}),f&&(0,g.jsx)(`div`,{className:Z.animTrack,children:(0,g.jsx)(`div`,{className:Z.animFill,style:{width:`${h*100}%`}})})]}),(e.length>1||ue)&&(0,g.jsx)(`div`,{className:Z.legend,children:e.map((t,n)=>(0,g.jsxs)(`span`,{className:Z.legendItem,children:[(0,g.jsx)(`span`,{className:Z.legendSwatch,style:{background:qs(n,e.length,t.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),t.label??t.expr]},n))})]})});function $s(e){if(rc!==void 0)return new URL(e,rc).href;let t=window.__DSH_BOOT__?.entries?.find(e=>e.id===tc)?.rev;return`${nc}/${e}${t===void 0?``:`?rev=${t}`}`}function ec(e){let t=`${e}.js`,n=ic.get(t);if(n!==void 0)return n;let r=new Promise((n,r)=>{let i=document.createElement(`script`);i.src=$s(t),i.async=!0,i.onload=()=>{let i=(window.__GenuiAssets__??{})[e.replace(/-(\w)/g,(e,t)=>t.toUpperCase())];if(i===void 0){r(Error(`genui asset '${t}' loaded but registered no '${e}' engine`));return}n(i)},i.onerror=()=>{r(Error(`genui asset '${t}' failed to load (host asset route missing?)`))},document.head.appendChild(i)});return ic.set(t,r),r}var tc,nc,rc,ic,ac=l((()=>{tc=`@changfenhuang/dsh-genui`,nc=`/plugins/${tc}/assets`,ic=new Map}));function oc(e){if(lc.test(e))throw Error(`mermaid output failed the sanitization check; refusing to render`)}function sc(e){let t=/^([A-Za-z]+)/.exec(e.trim())?.[1]??``;if(t!==`graph`&&t!==`flowchart`)return e;let n=e.replace(/`/g,``).replace(/<br\s*\/?>/gi,` `),r=/(--|==|-\.)(?!>)[ \t]*([^-\n]|-(?!--))*?[ \t]*(-->|==>|\.->)/g,i=[],a=n.replace(r,e=>(i.push(e),`\uE000${i.length-1}\uE001`)),o=/\|([^|\n]*[\[\]][^|\n]*)\|/g,s=[];return a.replace(o,(e,t)=>{let n=t.trim();return n.includes(`"`)?e:(s.push(n),`\uE002${s.length-1}\uE003`)}).replace(/([\[\(])([^\[\]\(\)\{\}"'\n]*)([\]\)])/g,(e,t,n,r)=>{let i=n.trim();return i===``?e:/[\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7af]/.test(i)||/\s/.test(i)?`${t}"${i}"${r}`:e}).replace(/\uE000(\d+)\uE001/g,(e,t)=>i[Number(t)]??e).replace(/\uE002(\d+)\uE003/g,(e,t)=>{let n=s[Number(t)];return n===void 0?e:`|"${n}"|`})}function cc(e){let t=e.trim(),n=/^([A-Za-z]+)/.exec(t)?.[1]??``;return n===`graph`||n===`flowchart`||!uc.test(t)?e:`graph TD\n${t}`}var lc,uc,dc=l((()=>{lc=/<script|[\s"']on[a-z]+\s*=|javascript:/i,uc=/-->(?!>)|==>|-\.->/})),fc=u({assertSafeSvg:()=>oc,ensureFlowchartKind:()=>cc,renderMermaid:()=>pc,repairMermaidSource:()=>sc});async function pc(e){return(await ec(`mermaid`)).renderMermaid(e)}var mc=l((()=>{ac(),dc()})),hc=u({mountScene:()=>gc});async function gc(e,t){return(await ec(`three`)).mountScene(e,t)}var _c=l((()=>{ac()}));let vc={info:x.calloutInfo,success:x.calloutSuccess,warning:x.calloutWarning,error:x.calloutError},yc=(0,m.memo)(function({node:e}){let t=e.tone??`info`,n=vc[t]??x.calloutInfo;return(0,g.jsxs)(`div`,{className:`${x.callout} ${n}`,"data-genui-callout":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.calloutTitle,children:Y(e.title)}),(0,g.jsx)(`div`,{className:x.calloutBody,children:Y(e.content)})]})}),bc=(0,m.memo)(function({steps:e}){let t=e.steps.slice(0,X.maxSteps),n=e.current??t.length;return(0,g.jsx)(`ol`,{className:x.steps,children:t.map((e,t)=>{let r=t<n,i=t===n;return(0,g.jsxs)(`li`,{className:`${x.step} ${r?x.stepDone:``} ${i?x.stepActive:``}`,children:[(0,g.jsx)(`span`,{className:x.stepMarker,children:r?`✓`:String(t+1)}),(0,g.jsxs)(`span`,{className:x.stepContent,children:[(0,g.jsx)(`span`,{className:x.stepTitle,children:Y(e.title)}),e.desc!==void 0&&(0,g.jsx)(`span`,{className:x.stepDesc,children:Y(e.desc)})]})]},t)})})}),xc=(0,m.memo)(function({node:e}){let t=e.pairs.slice(0,X.maxKeyValuePairs);return(0,g.jsx)(`dl`,{className:x.keyvalue,children:t.map((e,t)=>(0,g.jsxs)(`div`,{className:x.kvRow,children:[(0,g.jsx)(`dt`,{className:x.kvKey,children:Y(e.key)}),(0,g.jsx)(`dd`,{className:x.kvValue,children:Y(e.value)})]},t))})}),Sc=(0,m.memo)(function({plot:e}){let t=(0,m.useMemo)(()=>e.series.slice(0,X.maxPlotSeries).map(e=>({expr:e.expr,label:e.label,color:e.color,kind:e.kind,params:e.params})),[e]);return(0,g.jsx)(Qs,{series:t,xMin:e.xMin,xMax:e.xMax,yMin:e.yMin,yMax:e.yMax,title:e.title})}),Cc=(0,m.memo)(function({node:e}){return(0,g.jsx)(p.DiffBlock,{diffs:e.diffs,labels:S})}),wc=(0,m.memo)(function({node:e}){let t=e.value;return typeof t!=`object`||!t?(0,g.jsx)(`div`,{className:x.jsonScalar,children:String(t)}):(0,g.jsx)(p.JsonTree,{data:t,label:`JSON`,labels:ee,copyable:!0})}),Tc=(0,m.memo)(function({node:e}){return(0,g.jsx)(p.CodeBlock,{...C,code:e.code.slice(0,X.maxCode),lang:e.lang})});function Ec({tabs:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,m.useState)(0),o=(0,m.useId)(),s=e.tabs.slice(0,X.maxTabs),c=s.length===0?0:Math.min(i,s.length-1),l=s[c];(0,m.useEffect)(()=>{c!==i&&a(c)},[i,c]);let u=e=>{if(s.length===0)return;let t=(e+s.length)%s.length;a(t),document.getElementById(`${o}-tab-${t}`)?.focus()};return(0,g.jsxs)(`div`,{className:x.tabs,children:[(0,g.jsx)(`div`,{className:x.tabBar,role:`tablist`,"aria-orientation":`horizontal`,onKeyDown:e=>{e.key===`ArrowRight`?(e.preventDefault(),u(c+1)):e.key===`ArrowLeft`?(e.preventDefault(),u(c-1)):e.key===`Home`?(e.preventDefault(),u(0)):e.key===`End`&&(e.preventDefault(),u(s.length-1))},children:s.map((e,t)=>(0,g.jsx)(`button`,{id:`${o}-tab-${t}`,type:`button`,role:`tab`,"aria-selected":t===c,"aria-controls":`${o}-panel-${t}`,tabIndex:t===c?0:-1,className:`${x.tab} ${t===c?x.tabActive:``}`,onClick:()=>a(t),children:Y(e.label,!1)},t))}),l!==void 0&&(0,g.jsx)(`div`,{className:x.col,role:`tabpanel`,id:`${o}-panel-${c}`,"aria-labelledby":`${o}-tab-${c}`,children:l.items.map((e,i)=>Il(e,i,t,n+1,r))})]})}function Dc({node:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,m.useState)(0),o=(0,m.useId)(),s=e.items.slice(0,X.maxAccordionItems);return(0,g.jsx)(`div`,{className:x.accordion,children:s.map((e,s)=>(0,g.jsxs)(`div`,{className:x.accItem,children:[(0,g.jsxs)(`button`,{type:`button`,className:x.accHead,id:`${o}-head-${s}`,"aria-expanded":i===s,"aria-controls":`${o}-body-${s}`,onClick:()=>a(i===s?null:s),children:[(0,g.jsx)(`span`,{className:x.accTitle,children:Y(e.title,!1)}),(0,g.jsx)(`span`,{className:x.accChevron,"data-open":i===s,"aria-hidden":!0,children:`▸`})]}),i===s&&(0,g.jsx)(`div`,{className:x.accBody,id:`${o}-body-${s}`,"aria-labelledby":`${o}-head-${s}`,children:e.items.map((e,i)=>Il(e,i,t,n+1,r))})]},s))})}async function Oc(e){let t=typeof navigator.clipboard?.writeText==`function`,n=await(0,p.writeClipboard)(e);if(n||!t)return n;let r=typeof document.execCommand==`function`?document.execCommand.bind(document):void 0;if(r===void 0)return!1;let i=document.createElement(`textarea`);i.value=e,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.left=`-9999px`,document.body.appendChild(i),i.select();try{return r(`copy`)}catch{return!1}finally{i.remove()}}let kc=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(!1);return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`button`,{type:`button`,className:`${x.copyChip} ${t?x.copyChipDone:``}`,onClick:()=>{Oc(e.text).then(e=>{e&&(n(!0),setTimeout(()=>n(!1),1500))})},children:t?`✓ 已复制`:Y(e.label??`复制`,!1)}),(0,g.jsx)(`span`,{className:x.visuallyHidden,role:`status`,children:t?`已复制到剪贴板`:``})]})}),Ac=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)({status:`loading`}),r=e.code.slice(0,X.maxMermaid);return(0,m.useEffect)(()=>{let e=!0;return n({status:`loading`}),(async()=>{try{let t=await(await Promise.resolve().then(()=>(mc(),fc))).renderMermaid(r);e&&n({status:`ready`,html:t})}catch{e&&n({status:`error`})}})(),()=>{e=!1}},[r]),t.status===`error`?(0,g.jsxs)(`div`,{className:x.mermaidFallback,children:[(0,g.jsx)(`pre`,{children:r}),(0,g.jsx)(`div`,{className:x.mermaidErr,children:`图语法有误,已降级显示源码`})]}):t.status===`loading`?(0,g.jsxs)(`div`,{className:x.mermaidFallback,children:[(0,g.jsx)(`pre`,{children:r}),(0,g.jsx)(`div`,{className:x.mermaidHint,children:`渲染中…`})]}):(0,g.jsx)(`div`,{className:x.mermaid,dangerouslySetInnerHTML:{__html:t.html},"data-genui-mermaid":!0})}),jc=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(`loading`),r=(0,m.useRef)(null),i=e.meshes.length>X.maxMeshes?{...e,meshes:e.meshes.slice(0,X.maxMeshes)}:e;return(0,m.useEffect)(()=>{let e=!0,t;return Promise.resolve().then(()=>(_c(),hc)).then(async a=>{if(!(!e||r.current===null))try{t=await a.mountScene(r.current,i),e&&n(`ready`)}catch{e&&n(`error`)}}),()=>{e=!1,t?.()}},[i]),(0,g.jsxs)(`div`,{className:x.scene3dWrap,"data-genui-scene3d":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.scene3dTitle,children:Y(e.title)}),(0,g.jsx)(`div`,{ref:r,className:x.scene3dCanvas}),t===`loading`&&(0,g.jsx)(`div`,{className:x.scene3dHint,children:`加载 3D 场景…`}),t===`error`&&(0,g.jsx)(`div`,{className:x.scene3dHint,children:`3D 渲染失败`})]})}),Mc=(0,m.memo)(function({node:e}){let t=e.items.slice(0,X.maxTimelineItems);return(0,g.jsx)(`div`,{className:x.timeline,children:t.map((e,n)=>(0,g.jsxs)(`div`,{className:x.tlItem,children:[(0,g.jsxs)(`div`,{className:x.tlRail,children:[(0,g.jsx)(`span`,{className:x.tlDot}),n<t.length-1&&(0,g.jsx)(`span`,{className:x.tlLine})]}),(0,g.jsxs)(`div`,{className:x.tlBody,children:[(0,g.jsxs)(`div`,{className:x.tlHead,children:[(0,g.jsx)(`span`,{className:x.tlTitle,children:Y(e.title,!1)}),e.time!==void 0&&(0,g.jsx)(`span`,{className:x.tlTime,children:Y(e.time)})]}),e.desc!==void 0&&(0,g.jsx)(`div`,{className:x.tlDesc,children:Y(e.desc)})]})]},n))})});function Nc(){return(0,g.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:(0,g.jsx)(`path`,{d:`M1.6 3.4h4.1l1.3 1.7h7.4v7.2a1 1 0 0 1-1 1H2.6a1 1 0 0 1-1-1z`,fill:`currentColor`,opacity:`0.85`})})}function Pc(){return(0,g.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:[(0,g.jsx)(`path`,{d:`M3.8 1.6h4.9L13 5.9v8.5a1 1 0 0 1-1 1H4.8a1 1 0 0 1-1-1z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`}),(0,g.jsx)(`path`,{d:`M8.7 1.7v4.3h4.2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`})]})}let Fc=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(new Set),r=e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},i=(e,n,a)=>{if(n>X.maxTreeDepth)return null;let o=e.type===`dir`||e.children!==void 0&&e.children.length>0,s=o&&t.has(a);return(0,g.jsxs)(`div`,{children:[(0,g.jsxs)(`div`,{className:x.ftRow,style:{paddingLeft:`${n*14+4}px`},children:[Array.from({length:n},(e,t)=>(0,g.jsx)(`span`,{className:x.ftGuide,style:{left:`${4+t*14+6}px`},"aria-hidden":!0},t)),(0,g.jsxs)(`button`,{type:`button`,className:x.ftNameBtn,"aria-expanded":o?!s:void 0,onClick:o?()=>r(a):void 0,children:[(0,g.jsx)(`span`,{className:x.ftChevron,"data-open":o?String(!s):void 0,"aria-hidden":!0,children:o?`▸`:``}),(0,g.jsx)(`span`,{className:`${x.ftGlyph} ${o?x.ftGlyphDir:``}`,"aria-hidden":!0,children:o?(0,g.jsx)(Nc,{}):(0,g.jsx)(Pc,{})}),(0,g.jsx)(`span`,{className:`${x.ftName} ${o?x.ftDir:``}`,children:e.name})]})]}),o&&!s&&(0,g.jsx)(`div`,{className:x.ftChildren,children:(e.children??[]).map((e,t)=>i(e,n+1,`${a}/${t}`))})]},a)};return(0,g.jsx)(`div`,{className:x.fileTree,children:e.items.slice(0,X.maxListItems).map((e,t)=>i(e,0,String(t)))})}),Ic=(0,m.memo)(function({node:e,onAction:t}){let[n,r]=(0,m.useState)(null),i=e.options.slice(0,X.maxQuizOptions),a=n!==null,o=n===null?void 0:i[n],s=o?.correct===!0,c=e.action;return(0,g.jsxs)(`div`,{className:x.quiz,"data-genui-quiz":!0,children:[(0,g.jsx)(`div`,{className:x.quizQuestion,children:Y(e.question)}),(0,g.jsx)(`div`,{className:x.quizOptions,children:i.map((i,o)=>{let s=n===o,l=a?s?i.correct===!0?x.quizOptCorrect:x.quizOptWrong:i.correct===!0?x.quizOptReveal:x.quizOpt:x.quizOpt;return(0,g.jsxs)(`button`,{type:`button`,className:l,disabled:a,onClick:()=>{r(o),c!==void 0&&t!==void 0&&t(c,{type:`quiz`,question:e.question,answer:i.label,correct:i.correct===!0})},children:[(0,g.jsx)(`span`,{className:x.quizMarker,children:a?i.correct===!0?`✓`:s?`✗`:``:s?`●`:`○`}),Y(i.label,!1)]},o)})}),a&&(0,g.jsxs)(`div`,{className:x.quizResult,"aria-live":`polite`,children:[(0,g.jsxs)(`div`,{className:s?x.quizCorrectMsg:x.quizWrongMsg,children:[s?`✓ 回答正确!`:`✗ 再想想看`,o?.feedback!==void 0&&(0,g.jsx)(`div`,{className:x.quizFeedback,children:Y(o.feedback)})]}),e.explanation!==void 0&&(0,g.jsx)(`div`,{className:x.quizExplanation,children:Y(e.explanation)}),(0,g.jsx)(`button`,{type:`button`,className:x.quizRetry,onClick:()=>r(null),children:`重新作答`})]})]})}),Lc=(0,m.memo)(function({node:e}){let t=e.items.slice(0,X.maxBreadcrumbItems);return(0,g.jsx)(`nav`,{className:x.breadcrumb,"aria-label":`breadcrumb`,children:t.map((e,n)=>(0,g.jsxs)(`span`,{className:x.bcItem,children:[(0,g.jsx)(`span`,{className:`${x.bcText} ${n===t.length-1?x.bcCurrent:``}`,children:Y(e)}),n<t.length-1&&(0,g.jsx)(`span`,{className:x.bcSep,children:`/`})]},n))})}),Rc=[`architecture`,`it-state`,`high-level`,`process`,`medallion`,`data-flow`,`dp-integration`];function zc(e){return Rc.includes(e)}function Bc(e,t){let n=e%t,r=Math.floor(e/t);return{x:40+n*160,y:40+r*96,w:128,h:64}}function Vc(e){return e.map((e,t)=>({node:e,box:{x:40,y:40+t*96,w:128,h:64}}))}function Hc(e){return e.map((e,t)=>({node:e,box:{x:40+t*160,y:40,w:128,h:64}}))}function Uc(e,t=3){return e.map((e,n)=>{let r=Math.floor(n/t);return{node:e,box:{x:40+n%t*160,y:40+r*96,w:128,h:64}}})}function Wc(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map,i=[];for(let a of e){let e=t(a.id);if(e===void 0||!n.has(e))i.push(a.id);else{let t=r.get(e)??[];t.push(a.id),r.set(e,t)}}let a=new Map,o=new Map,s=(e,t)=>{let n=o.get(e)??0,i=r.get(e)??[],c=t;if(i.length===0)return a.set(e,{x:t,y:40+n*112,w:128,h:64}),t+128;for(let e of i)c=s(e,c);let l=a.get(i[0]),u=a.get(i[i.length-1]),d=(l.x+u.x+u.w)/2-64;return a.set(e,{x:Math.max(t,d),y:40+n*112,w:128,h:64}),c},c=40;for(let e of i)c=s(e,c)+32;return e.map(e=>({node:e,box:a.get(e.id)??{x:40,y:40,w:128,h:64}}))}function Gc(e,t){let n=e.nodes,r=e.edges??[],i;i=zc(e.kind)?n.map((e,t)=>({node:e,box:{x:e.x??40+t%3*160,y:e.y??40+Math.floor(t/3)*96,w:e.w??128,h:e.h??64}})):e.kind===`tree`||e.kind===`org-chart`||e.kind===`nested`?Wc(n,t??(()=>void 0)):e.kind===`layers`||e.kind===`pyramid`||e.kind===`gantt`?Uc(n):e.kind===`flowchart`||e.kind===`process`||e.kind===`sequence`?Vc(n):e.kind===`timeline`||e.kind===`line`||e.kind===`scatter`||e.kind===`bar`?Hc(n):n.map((e,t)=>({node:e,box:Bc(t,3)}));let a=0,o=0;for(let e of i)a=Math.max(a,e.box.x+e.box.w),o=Math.max(o,e.box.y+e.box.h);a=Math.max(320,Math.ceil((a+40)/4)*4),o=Math.max(96,Math.ceil((o+40)/4)*4);let s=r.map(e=>({edge:e,fromId:e.from,toId:e.to}));return{nodes:i,edges:s,width:a,height:o}}function Kc(e){return{x:e.x+e.w/2,y:e.y+e.h/2}}function qc(e,t,n){if(n===`left`)return{x:e.x,y:e.y+e.h/2,port:`left`};if(n===`right`)return{x:e.x+e.w,y:e.y+e.h/2,port:`right`};if(n===`top`)return{x:e.x+e.w/2,y:e.y,port:`top`};if(n===`bottom`)return{x:e.x+e.w/2,y:e.y+e.h,port:`bottom`};let r=Kc(e),i=Kc(t),a=i.x-r.x,o=i.y-r.y;return Math.abs(a)>=Math.abs(o)?a>=0?{x:e.x+e.w,y:e.y+e.h/2,port:`right`}:{x:e.x,y:e.y+e.h/2,port:`left`}:o>=0?{x:e.x+e.w/2,y:e.y+e.h,port:`bottom`}:{x:e.x+e.w/2,y:e.y,port:`top`}}function Jc(e,t){if(e.x===t.x||e.y===t.y)return`M ${e.x} ${e.y} L ${t.x} ${t.y}`;let n=e.port===`left`||e.port===`right`,r=t.port===`left`||t.port===`right`;if(n&&r){let n=(e.x+t.x)/2,r=e.port===`right`?1:-1;return`M ${e.x} ${e.y} H ${n-r*8} Q ${n} ${e.y} ${n} ${e.y+8} V ${t.y-8} Q ${n} ${t.y} ${n+8} ${t.y} H ${t.x}`}if(!n&&!r){let n=(e.y+t.y)/2,r=e.port===`bottom`?1:-1;return`M ${e.x} ${e.y} V ${n-r*8} Q ${e.x} ${n} ${e.x+8} ${n} H ${t.x-8} Q ${t.x} ${n} ${t.x} ${n+8} V ${t.y}`}if(n){let n=e.port===`right`?1:-1;return`M ${e.x} ${e.y} H ${e.x+n*8*2} Q ${e.x+n*8*2} ${e.y} ${e.x+n*8*2} ${t.y} V ${t.y} H ${t.x}`}let i=e.port===`bottom`?1:-1;return`M ${e.x} ${e.y} V ${e.y+i*8*2} Q ${e.x} ${e.y+i*8*2} ${t.x} ${e.y+i*8*2} H ${t.x} V ${t.y}`}function Yc(e,t,n){let r=qc(e,t,n?.fromPort),i=qc(t,e,n?.toPort);return{d:Jc(r,i),a:r,b:i}}function Xc(e,t){let n=(e.x+t.x)/2,r=(e.y+t.y)/2,i=Math.abs(e.x-t.x)<Math.abs(e.y-t.y);return i?{cx:n+(t.x>=e.x?1:-1)*16,cy:r,maskY:r-6,vertical:i}:{cx:n,cy:r,maskY:r-20,vertical:i}}let Zc={paper:`#f5f5f5`,paper2:`#ececec`,ink:`#2d3142`,muted:`#4f5d75`,soft:`#7a8399`,rule:`rgba(45,49,66,0.12)`,accent:`#eb6c36`,accentTint:`rgba(235,108,54,0.08)`,link:`#2e5aa8`},Qc={paper:`#2d3142`,paper2:`#393e53`,ink:`#f5f5f5`,muted:`#bfc0c0`,soft:`#8e98ac`,rule:`rgba(245,245,245,0.12)`,accent:`#f08a59`,accentTint:`rgba(240,138,89,0.10)`,link:`#6a95d8`};function $c(){let e=`var(--dsw-alias-state-business-primary, #4f8ef7)`;return{paper:`var(--dsw-alias-bg-layer-2, #ffffff)`,paper2:`var(--dsw-alias-bg-layer-3, #f5f5f5)`,ink:`var(--dsw-alias-label-primary, #2d3142)`,muted:`var(--dsw-alias-label-secondary, #4f5d75)`,soft:`var(--dsw-alias-label-tertiary, #7a8399)`,rule:`var(--dsw-alias-border-l2, rgba(45,49,66,0.12))`,accent:e,accentTint:`color-mix(in srgb, ${e} 10%, transparent)`,link:e}}function el(e,t){let n=e===void 0?$c():e===`dark`?Qc:Zc;return t===void 0?n:{paper:t.paper??n.paper,paper2:t[`paper-2`]??n.paper2,ink:t.ink??n.ink,muted:t.muted??n.muted,soft:t.soft??n.soft,rule:t.rule??n.rule,accent:t.accent??n.accent,accentTint:t[`accent-tint`]??n.accentTint,link:t.link??n.link}}function tl(e,t){switch(e){case`focal`:return{fill:t.accentTint,stroke:t.accent};case`store`:return{fill:rl(t.ink,.05),stroke:t.muted};case`external`:return{fill:rl(t.ink,.03),stroke:rl(t.ink,.3)};case`input`:return{fill:rl(t.muted,.1),stroke:t.soft};case`optional`:return{fill:rl(t.ink,.02),stroke:rl(t.ink,.2),dashed:!0};case`security`:return{fill:rl(t.accent,.05),stroke:rl(t.accent,.5),dashed:!0};default:return{fill:t.paper,stroke:t.ink}}}function nl(e,t){switch(e){case`accent`:return t.accent;case`link`:return t.link;default:return t.muted}}function rl(e,t){if(e.startsWith(`var(`))return`color-mix(in srgb, ${e} ${t*100}%, transparent)`;if(e.startsWith(`#`)){let n=e.slice(1),r=n.length===3?n.split(``).map(e=>e+e).join(``):n;return`rgba(${parseInt(r.slice(0,2),16)},${parseInt(r.slice(2,4),16)},${parseInt(r.slice(4,6),16)},${t})`}return e.replace(/rgba?\(([^)]*)\)/,(n,r)=>{let i=r.split(`,`).map(e=>e.trim());return i.length===3?`rgba(${i.join(`,`)},${t})`:i.length===4?`rgba(${i[0]},${i[1]},${i[2]},${t})`:e})}let il=`'Geist', -apple-system, 'Segoe UI', sans-serif`,al=`'Geist Mono', ui-monospace, 'SF Mono', monospace`,ol=[{label:`Focal`,type:`focal`},{label:`Backend`,type:`backend`},{label:`Store`,type:`store`},{label:`External`,type:`external`},{label:`Optional`,type:`optional`},{label:`Security`,type:`security`}];function sl(e){let t=new Map;for(let n of e)t.has(n.to)||t.set(n.to,n.from);return e=>t.get(e)}function cl(e,t,n,r,i,a){let o=tl(r,a),s=e.x+e.w/2,c=e.y+(e.h-64)/2+28,l=e.y+(e.h-64)/2+44,u=Math.min(44,Math.max(24,(i??``).length*7+8));return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:a.paper}),(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:o.fill,stroke:o.stroke,strokeWidth:1,strokeDasharray:o.dashed===!0?`5,4`:void 0}),i!==void 0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`rect`,{x:e.x+8,y:e.y+6,width:u,height:12,rx:2,fill:`transparent`,stroke:rl(o.stroke,.4),strokeWidth:.8}),(0,g.jsx)(`text`,{x:e.x+8+u/2,y:e.y+15,fill:rl(o.stroke,.8),fontSize:7,fontFamily:al,textAnchor:`middle`,letterSpacing:.8,children:i})]}),(0,g.jsx)(`text`,{x:s,y:c,fill:a.ink,fontSize:12,fontWeight:600,fontFamily:il,textAnchor:`middle`,children:t}),n!==void 0&&(0,g.jsx)(`text`,{x:s,y:l,fill:a.soft,fontSize:9,fontFamily:al,textAnchor:`middle`,children:n})]})}function ll(e,t,n,r){let i=Yc(e.from,e.to),a=nl(e.kind,n),o=e.kind===`dashed`,s=e.kind===`accent`?1.4:1.2,c=Xc(i.a,i.b);return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`path`,{d:i.d,fill:`none`,stroke:a,strokeWidth:s,strokeDasharray:o?`5,4`:void 0,markerEnd:`url(#${r})`}),e.label!==void 0&&(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:c.cx-(e.label.length*5+8)/2,y:c.maskY,width:e.label.length*5+8,height:12,rx:2,fill:n.paper}),(0,g.jsx)(`text`,{x:c.cx,y:c.maskY+9,fill:n.soft,fontSize:8,fontFamily:al,textAnchor:`middle`,letterSpacing:.5,children:e.label})]})]},t)}function ul(e,t){return(0,g.jsxs)(`defs`,{children:[(0,g.jsx)(`marker`,{id:`${e}-arrow`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.muted})}),(0,g.jsx)(`marker`,{id:`${e}-arrow-accent`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.accent})}),(0,g.jsx)(`marker`,{id:`${e}-arrow-link`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.link})})]})}function dl(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`defs`,{children:(0,g.jsx)(`pattern`,{id:`${e}-dots`,width:22,height:22,patternUnits:`userSpaceOnUse`,children:(0,g.jsx)(`circle`,{cx:1,cy:1,r:.9,fill:rl(t.ink,.1)})})}),(0,g.jsx)(`rect`,{width:`100%`,height:`100%`,fill:t.paper}),(0,g.jsx)(`rect`,{width:`100%`,height:`100%`,fill:`url(#${e}-dots)`,opacity:.55})]})}function fl(e,t){let n=e.label.length*7+12,r=e.x+e.w/2;return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:8,fill:rl(t.ink,.02),stroke:rl(t.ink,.1),strokeWidth:.8}),(0,g.jsx)(`rect`,{x:r-n/2,y:e.y+4,width:n,height:12,rx:2,fill:t.paper}),(0,g.jsx)(`text`,{x:r,y:e.y+13,fill:rl(t.ink,.4),fontSize:7,fontFamily:al,textAnchor:`middle`,letterSpacing:1.2,children:e.label})]})}function pl(e,t,n,r){return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:40,y1:0,x2:Math.max(120,n-40),y2:0,stroke:rl(e.ink,.1),strokeWidth:.8}),(0,g.jsx)(`text`,{x:40,y:16,fill:e.soft,fontSize:8,fontFamily:al,letterSpacing:1.6,children:`LEGEND`}),t.map((t,n)=>{let i=tl(t.type,e),a=40+n%r*150,o=32+Math.floor(n/r)*22;return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:a,y:o,width:14,height:10,rx:2,fill:i.fill,stroke:i.stroke,strokeWidth:1,strokeDasharray:i.dashed===!0?`3,2`:void 0}),(0,g.jsx)(`text`,{x:a+20,y:o+9,fill:e.soft,fontSize:8.5,fontFamily:il,children:t.label})]},t.label)})]})}function ml(e,t){return e===`accent`?`${t}-arrow-accent`:e===`link`?`${t}-arrow-link`:`${t}-arrow`}let hl=0;function gl(){return hl+=1,`genui-diagram-${hl}`}function _l({node:e}){let t=(0,m.useMemo)(gl,[]),n=(0,m.useMemo)(()=>el(e.variant,e.theme),[e.variant,e.theme]),r=(0,m.useMemo)(()=>Gc(e,sl(e.edges??[])),[e]),i=(0,m.useMemo)(()=>new Map(r.nodes.map(e=>[e.node.id,e.box])),[r]),a=`${t}-title`,o=`${t}-caption`,s=`${t}-desc`,c=r.nodes.slice(0,X.maxDiagramNodes),l=r.edges.slice(0,X.maxDiagramEdges),u=(e.zones??[]).slice(0,X.maxDiagramZones),d=0,f=X.maxDiagramFocal,p=r.height,h=ol.filter(e=>e.type!==void 0&&c.some(t=>(t.node.type??`backend`)===e.type)),_=Math.max(1,Math.floor((r.width-40)/150)),v=p+(24+Math.max(1,Math.ceil(h.length/_))*22)+12;return(0,g.jsxs)(`figure`,{className:`genui-diagram`,"data-genui-diagram":!0,children:[e.title!==void 0&&(0,g.jsx)(`figcaption`,{id:o,style:{fontFamily:`Instrument Serif, 'Times New Roman', serif`,fontSize:20,marginBottom:8,color:n.ink},children:Y(e.title)}),(0,g.jsxs)(`svg`,{role:`img`,"aria-labelledby":a,"aria-describedby":s,viewBox:`0 0 ${r.width} ${v}`,style:{maxWidth:`100%`,height:`auto`,background:n.paper},children:[(0,g.jsx)(`title`,{id:a,children:e.title??e.kind}),(0,g.jsx)(`desc`,{id:s,children:`${e.kind} diagram with ${c.length} nodes and ${l.length} connectors`}),ul(t,n),dl(t,n),(0,g.jsx)(`g`,{children:u.map((e,t)=>(0,g.jsx)(`g`,{children:fl({label:e.label,x:e.x??0,y:e.y??0,w:e.w??100,h:e.h??100},n)},`zone-${t}`))}),(0,g.jsx)(`g`,{children:l.map((e,r)=>{let a=i.get(e.fromId),o=i.get(e.toId);return a===void 0||o===void 0?null:ll({from:a,to:o,label:e.edge.label,kind:e.edge.kind},r,n,ml(e.edge.kind,t))})}),(0,g.jsx)(`g`,{children:c.map(e=>{let t=e.node.type===`focal`&&d>=f?void 0:e.node.type;return e.node.type===`focal`&&(d+=1),(0,g.jsx)(`g`,{children:cl(e.box,e.node.label,e.node.sub,t,e.node.tag,n)},e.node.id)})}),(0,g.jsx)(`g`,{transform:`translate(0, ${p+8})`,children:pl(n,h,r.width,_)})]})]})}function vl({node:e}){let[t,n]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:x.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:x.mediaLabel,children:Y(e.alt)}),t?(0,g.jsx)(`div`,{className:x.mediaError,role:`alert`,children:`图片无法加载`}):(0,g.jsx)(`img`,{className:x.mediaPlayer,src:e.src,alt:e.alt??`图片`,loading:`lazy`,decoding:`async`,style:{maxHeight:`min(70vh, 720px)`,objectFit:`contain`},onError:()=>n(!0)})]})}ac();async function yl(e,t,n,r=`core`){return(await ec(r===`full`?`echarts-full`:`echarts-core`)).createChart(e,t,n)}let bl=new Set([`bar`,`line`,`area`,`pie`,`scatter`,`bigline`]);function xl(e){return e.option===void 0&&bl.has(e.preset??`bar`)?`core`:`full`}let Sl=[`#679efe`,`#4ed17e`,`#f5b83d`,`#f2707a`,`#8b7ff0`,`#3fc7d4`,`#b7c8fe`,`#9aa3b2`];function Cl(e,t,n){let r=[n??null,typeof document>`u`?null:document.body,typeof document>`u`?null:document.documentElement];for(let t of r){if(t===null)continue;let n=getComputedStyle(t).getPropertyValue(e).trim();if(n!==``)return n}return t}function wl(e){return{accent:Cl(`--dsw-alias-state-business-primary`,`#4f8ef7`,e),labelPrimary:Cl(`--dsw-alias-label-primary`,`#e6e6e6`,e),labelSecondary:Cl(`--dsw-alias-label-secondary`,`#a0a0a0`,e),labelTertiary:Cl(`--dsw-alias-label-tertiary`,`#6b6b6b`,e),border:Cl(`--dsw-alias-border-l1`,`rgba(255,255,255,0.12)`,e),bgLayer1:Cl(`--dsw-alias-bg-layer-1`,`#1a1a1e`,e)}}function Tl(e,t){let n=wl(t),r=e.palette!==void 0&&e.palette.length>0?[...e.palette]:as.map((e,n)=>Cl(e.replace(`var(`,``).replace(`)`,``),Sl[n%Sl.length],t)),i=e.data??[],a=e.series,o=(e={})=>({renderMode:`richText`,backgroundColor:n.bgLayer1,borderColor:n.border,textStyle:{color:n.labelPrimary},...e}),s={color:r,textStyle:{color:n.labelSecondary,fontFamily:`inherit`},backgroundColor:`transparent`,grid:{left:48,right:16,top:24,bottom:32},tooltip:o({trigger:`item`})};switch(e.preset){case`pie`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c} ({d}%)`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`pie`,radius:[`40%`,`70%`],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:n.bgLayer1,borderWidth:2},label:{color:n.labelSecondary},data:i.map(e=>({name:e.label,value:e.value}))}]};case`scatter`:return{...s,tooltip:o({trigger:`item`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:[{type:`scatter`,symbolSize:10,data:i.map(e=>e.value)}]};case`area`:return{...s,tooltip:o({trigger:`axis`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,areaStyle:{opacity:.15},data:e.data.map(e=>e.value),...El(e.color,t,a)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}};case`line`:return{...s,tooltip:o({trigger:`axis`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,showSymbol:!0,symbolSize:6,data:e.data.map(e=>e.value),...El(e.color,t,a)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}};case`radar`:{let e=a??[{label:``,data:i}],t=(e[0]?.data??[]).map(e=>({name:e.label,max:void 0})),r=Math.max(...e.flatMap(e=>e.data.map(e=>Number(e.value)||0)),1);return{...s,tooltip:o({trigger:`item`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},radar:{indicator:t.map(e=>({name:e.name,max:Math.ceil(r*1.1)})),splitLine:{lineStyle:{color:n.border}},splitArea:{show:!1},axisLine:{lineStyle:{color:n.border}},axisName:{color:n.labelTertiary}},series:[{type:`radar`,symbolSize:5,areaStyle:{opacity:.12},data:e.map((e,t)=>({name:e.label,value:e.data.map(e=>Number(e.value)||0),...El(e.color,t,a)}))}]}}case`gauge`:return{...s,tooltip:o({trigger:`item`}),series:i.slice(0,4).map((e,t)=>({type:`gauge`,startAngle:210,endAngle:-30,min:0,max:Math.max(Number(e.value)||0,100),center:i.length>1?[`${(t+.5)*(100/Math.min(i.length,4))}%`,`58%`]:[`50%`,`58%`],radius:i.length>1?`62%`:`82%`,progress:{show:!0,width:12},axisLine:{lineStyle:{width:12,color:[[1,n.border]]}},axisTick:{show:!1},splitLine:{show:!1},axisLabel:{show:!1},pointer:{show:!1},title:{offsetCenter:[0,`32%`],color:n.labelTertiary,fontSize:12},detail:{valueAnimation:!0,fontSize:26,offsetCenter:[0,`2%`],formatter:`{value}`,color:n.labelPrimary},data:[{value:Number(e.value)||0,name:e.label}]}))};case`funnel`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c}`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`funnel`,left:`8%`,width:`84%`,top:16,bottom:40,gap:2,label:{position:`inside`,color:`#fff`,formatter:`{b} {c}`},itemStyle:{borderWidth:0},data:i.map(e=>({name:e.label,value:Number(e.value)||0}))}]};case`treemap`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c}`}),series:[{type:`treemap`,roam:!1,nodeClick:!1,breadcrumb:{show:!1},upperLabel:{show:!1},label:{color:n.labelPrimary},itemStyle:{borderColor:n.bgLayer1,borderWidth:2,gapWidth:2},data:i.map(e=>({name:e.label,value:Number(e.value)||0}))}]};case`sankey`:{let t=e.links??[],r=i.length>0?i.map(e=>e.label):[...new Set(t.flatMap(e=>[e.from,e.to]))];return{...s,tooltip:o({trigger:`item`}),series:[{type:`sankey`,left:8,right:8,top:12,bottom:12,nodeGap:12,lineStyle:{color:`gradient`,curveness:.5,opacity:.32},label:{color:n.labelSecondary},emphasis:{focus:`adjacency`},data:r.map(e=>({name:e})),links:t.map(e=>({source:e.from,target:e.to,value:e.value??1}))}]}}case`graph`:{let t=e.links??[],r=i.length>0?i.map(e=>e.label):[...new Set(t.flatMap(e=>[e.from,e.to]))],a=new Map;for(let e of t)a.set(e.from,(a.get(e.from)??0)+1),a.set(e.to,(a.get(e.to)??0)+1);return{...s,tooltip:o({trigger:`item`}),series:[{type:`graph`,layout:`force`,roam:!0,label:{show:!0,color:n.labelSecondary,fontSize:11},force:{repulsion:200,edgeLength:80},lineStyle:{color:n.border,curveness:.1},emphasis:{focus:`adjacency`},data:r.map(e=>({name:e,symbolSize:16+(a.get(e)??0)*5})),links:t.map(e=>({source:e.from,target:e.to}))}]}}case`heatmap`:{let e=a??[{label:``,data:i}],t=(e[0]?.data??[]).map(e=>e.label),r=e.flatMap((e,t)=>e.data.map((e,n)=>[n,t,Number(e.value)||0])),c=Math.max(...r.map(e=>e[2]),1);return{...s,tooltip:o({trigger:`item`,position:`top`}),grid:{left:64,right:16,top:16,bottom:48},xAxis:{type:`category`,data:t,splitArea:{show:!1},axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},yAxis:{type:`category`,data:e.map(e=>e.label),splitArea:{show:!1},axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},visualMap:{min:0,max:c,calculable:!0,orient:`horizontal`,left:`center`,bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`heatmap`,data:r,label:{show:r.length<=60,color:n.labelPrimary},itemStyle:{borderColor:n.bgLayer1,borderWidth:2}}]}}case`bigline`:return{...s,tooltip:o({trigger:`axis`}),grid:{left:48,right:20,top:24,bottom:56},dataZoom:[{type:`inside`,start:0,end:45},{type:`slider`,height:16,bottom:8,borderColor:n.border,textStyle:{color:n.labelTertiary}}],xAxis:{type:`category`,boundaryGap:!1,data:i.map(e=>e.label),axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},yAxis:{type:`value`,axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,showSymbol:!1,areaStyle:{opacity:.12},data:e.data.map(e=>e.value),...El(e.color,t,a)})),legend:a===void 0?void 0:{bottom:26,textStyle:{color:n.labelTertiary}}};default:return{...s,tooltip:o({trigger:`axis`,axisPointer:{type:`shadow`}}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map(e=>({name:e.label,type:`bar`,barMaxWidth:40,itemStyle:{borderRadius:[4,4,2,2],...e.color===void 0?{}:{color:e.color}},data:e.data.map(e=>e.value)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}}}}function El(e,t,n){return e===void 0?{}:{itemStyle:{color:e}}}function Dl({node:e}){let t=(0,m.useRef)(null),[n,r]=(0,m.useState)(`loading`),i=(0,m.useRef)(null);return(0,m.useEffect)(()=>{let n=!0,a=t.current;return a===null?void 0:(yl(a,e.option??Tl(e,a),{height:e.height??300},xl(e)).then(e=>{if(!n){e.dispose();return}i.current=e,r(`ready`)}).catch(()=>{n&&r(`error`)}),()=>{n=!1,i.current?.dispose(),i.current=null})},[]),(0,m.useEffect)(()=>{if(n!==`ready`)return;let e=t.current;if(e===null)return;let r=new ResizeObserver(()=>{i.current?.resize()});return r.observe(e),()=>{r.disconnect()}},[n]),(0,m.useEffect)(()=>{if(n!==`ready`||i.current===null)return;let r=e.option??Tl(e,t.current);i.current.setOption(r,!0)},[e,n]),n===`error`?(0,g.jsxs)(`div`,{className:x.echartFallback,"data-genui-echart":!0,children:[(0,g.jsx)(`div`,{className:x.echartErr,children:`ECharts 渲染失败`}),e.title!==void 0&&(0,g.jsx)(`div`,{className:x.echartHint,children:Y(e.title)})]}):(0,g.jsxs)(`div`,{className:x.echartWrap,"data-genui-echart":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.echartTitle,children:Y(e.title)}),(0,g.jsx)(`div`,{ref:t,className:x.echartCanvas,style:{height:`${e.height??300}px`},role:`img`,"aria-label":e.title??`ECharts chart`}),n===`loading`&&(0,g.jsx)(`div`,{className:x.echartHint,children:`加载图表…`})]})}let Ol=p.getGenuiComponent;function kl(e){return typeof e==`object`&&!!e&&`type`in e}function Al(e){let t=/^([+\-−]?[\d.,]+(?:[eE][+\-]?\d+)?)\s*(.*)$/.exec(e.trim());if(t===null||t[1]===void 0)return{num:e,unit:``,numeric:void 0,decimals:0};let n=t[1],r=n.replace(/[,,]/g,``),i=Number(r),a=Number.isFinite(i)&&!/[eE]/.test(r)?i:void 0,o=r.includes(`.`)?(r.split(`.`)[1]??``).length:0;return{num:n,unit:t[2]??``,numeric:a,decimals:Math.min(o,4)}}function jl({values:e}){let t=Math.min(...e),n=Math.max(...e)-t||1,r=e.length<=1?0:92/(e.length-1),i=e.map((e,i)=>[2+i*r,22-(e-t)/n*20]),a=i.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),o=i[i.length-1],s=`M 2,22 L ${a.split(` `).join(` L `)} L ${o[0].toFixed(1)},22 Z`;return(0,g.jsxs)(`svg`,{className:x.statSpark,viewBox:`0 0 96 24`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,g.jsx)(`path`,{d:s,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,g.jsx)(`polyline`,{points:a,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,g.jsx)(`path`,{d:`M ${o[0].toFixed(1)} ${o[1].toFixed(1)} L ${o[0].toFixed(1)} ${o[1].toFixed(1)}`,stroke:`var(--dsl-g-accent)`,strokeWidth:5,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`,fill:`none`})]})}function Ml(e,t,n){let[r,i]=(0,m.useState)(n?0:e);return(0,m.useEffect)(()=>{if(!n){i(e);return}if(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){i(e);return}let t=0,r=performance.now(),a=n=>{let o=Math.min(1,(n-r)/720),s=1-(1-o)**3;i(e*s),o<1&&(t=requestAnimationFrame(a))};return t=requestAnimationFrame(a),()=>cancelAnimationFrame(t)},[e,n]),r.toFixed(t)}function Nl({value:e,unitClass:t,animate:n=!1}){let r=Al(e),i=r.numeric,a=Ml(i??0,r.decimals,n&&i!==void 0);return(0,g.jsxs)(g.Fragment,{children:[i===void 0?Y(r.num):a,r.unit!==``&&(0,g.jsx)(`span`,{className:t??x.statUnit,children:Y(r.unit)})]})}function Pl(e){return typeof e==`string`?e:kl(e)?``:`${e.title} ${e.desc??``}`}function Fl(e,t){if(t===void 0)return;let n=e?.fields[t];return n===void 0||n===``?void 0:n}function Il(e,t,n,r=0,i){if(r>X.maxDepth)return null;switch(e.type){case`text`:{let n=e.size??`body`;return(0,g.jsx)(`div`,{className:`${x.text} ${x[n]}`+(e.center?` ${x.center}`:``),children:Y(e.content)},t)}case`row`:return(0,g.jsxs)(`div`,{className:x.row+(e.wrap?` ${x.wrap}`:``),children:[e.items.map((e,t)=>Il(e,t,n,r+1,i)),e.spacer&&(0,g.jsx)(`div`,{className:x.spacer})]},t);case`col`:return(0,g.jsx)(`div`,{className:x.col,style:e.gap===void 0?void 0:{gap:`${e.gap}px`},children:e.items.map((e,t)=>Il(e,t,n,r+1,i))},t);case`grid`:return(0,g.jsx)(`div`,{className:x.grid,style:{gridTemplateColumns:`repeat(${Math.max(1,e.cols)}, minmax(0, 1fr))`},children:e.items.map((e,t)=>{let a=Il(e,t,n,r+1,i),o=typeof e==`object`&&e&&typeof e.span==`number`?Math.max(1,Math.min(12,e.span)):1;return o>1?(0,g.jsx)(`div`,{className:x.gridSpan,style:{gridColumn:`span ${o}`},children:a},t):a})},t);case`card`:{let a=e.tone===void 0?``:` ${x[`card${e.tone[0].toUpperCase()}${e.tone.slice(1)}`]??``}`,o=e.accent===void 0?void 0:{borderColor:`color-mix(in srgb, ${e.accent} 18%, var(--dsl-g-border))`,"--dsl-card-accent":e.accent};return(0,g.jsxs)(`div`,{className:`${x.card}${a}`,style:o,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.cardTitle,children:Y(e.title)}),e.items.map((e,t)=>Il(e,t,n,r+1,i))]},t)}case`button`:{let r=e.tone??``,i=`${x.button} ${x[r]||``}`+(e.full?` ${x.full}`:``)+(e.small?` ${x.small}`:``),a=e.action,o=a!==void 0&&n!==void 0;return(0,g.jsxs)(ns,{className:i,disabled:!o,onClick:o?()=>n(a,{type:`button`,label:e.label}):void 0,children:[e.icon!==void 0&&(0,g.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),Y(e.label,!1)]},t)}case`input`:return(0,g.jsx)(Is,{node:e,onAction:n,answers:i},t);case`select`:return(0,g.jsx)(Fs,{node:e,onAction:n,answers:i},t);case`checkbox`:return(0,g.jsx)(Rs,{node:e,onAction:n,answers:i},t);case`link`:{let n=e.href;return n===void 0?(0,g.jsx)(`span`,{className:x.linkText,children:Y(e.label,!1)},t):(0,g.jsx)(`a`,{className:x.link,href:n,target:`_blank`,rel:`noopener noreferrer`,children:Y(e.label,!1)},t)}case`image`:return(0,g.jsx)(vl,{node:e},`${t}:${e.src}`);case`audio`:return(0,g.jsx)(rs,{node:e},`${t}:${e.src}`);case`video`:return(0,g.jsx)(is,{node:e},`${t}:${e.src}`);case`badge`:{let n=e.tone??``;return(0,g.jsxs)(`span`,{className:`${x.badge} ${x[n]||``}`,children:[e.icon!==void 0&&(0,g.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),Y(e.label,!1)]},t)}case`hero`:{let n=e.tone??`accent`,r=x[`hero${n[0].toUpperCase()}${n.slice(1)}`]??``,i=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,g.jsxs)(`div`,{className:`${x.hero} ${r}`,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:x.heroLabel,children:Y(e.label,!1)}),(0,g.jsxs)(`div`,{className:x.heroTop,children:[e.value!==void 0&&(0,g.jsx)(`span`,{className:x.heroValue,children:(0,g.jsx)(Nl,{value:e.value,unitClass:x.heroUnit,animate:!0})}),e.delta!==void 0&&(0,g.jsx)(`span`,{className:`${x.statDelta} ${i?x.down:x.up}`,children:Y(e.delta)}),e.spark!==void 0&&(0,g.jsx)(`span`,{className:x.heroSpark,children:(0,g.jsx)(jl,{values:e.spark})})]}),(0,g.jsx)(`span`,{className:x.heroTitle,children:Y(e.title)}),e.subtitle!==void 0&&(0,g.jsx)(`span`,{className:x.heroSubtitle,children:Y(e.subtitle)})]},t)}case`stat`:{let n=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,g.jsxs)(`div`,{className:`${x.stat}${e.size===`hero`?` ${x.statHero}`:``}`,children:[(0,g.jsx)(`span`,{className:x.statLabel,children:Y(e.label,!1)}),(0,g.jsx)(`span`,{className:x.statValue,children:(0,g.jsx)(Nl,{value:e.value,animate:e.size===`hero`})}),e.delta!==void 0&&(0,g.jsx)(`span`,{className:`${x.statDelta} ${n?x.down:x.up}`,children:Y(e.delta)}),e.spark!==void 0&&(0,g.jsx)(jl,{values:e.spark})]},t)}case`progress`:{let n=Math.max(0,Math.min(100,Number(e.value)||0));if(e.variant===`ring`){let r=2*Math.PI*34;return(0,g.jsxs)(`div`,{className:x.ring,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(0,g.jsxs)(`svg`,{width:92,height:92,viewBox:`0 0 92 92`,"aria-hidden":`true`,children:[(0,g.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,className:x.ringTrack}),(0,g.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,strokeLinecap:`round`,className:x.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 46 46)`}),(0,g.jsxs)(`text`,{x:46,y:51,textAnchor:`middle`,className:x.ringValue,children:[n,`%`]})]}),(e.label!==void 0||e.valueLabel!==void 0)&&(0,g.jsxs)(`div`,{className:x.ringMeta,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:x.ringLabel,children:Y(e.label,!1)}),e.valueLabel!==void 0&&(0,g.jsx)(`span`,{className:x.ringSub,children:Y(e.valueLabel)})]})]},t)}return(0,g.jsxs)(`div`,{className:x.progress,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(e.label!==void 0||e.valueLabel!==void 0)&&(0,g.jsxs)(`div`,{className:x.progressRow,children:[(0,g.jsx)(`span`,{children:Y(e.label??``)}),e.valueLabel!==void 0&&(0,g.jsx)(`span`,{children:Y(e.valueLabel)})]}),(0,g.jsxs)(`div`,{className:x.track,children:[(0,g.jsx)(`div`,{className:x.fill,style:{width:`${n}%`}}),e.target!==void 0&&(0,g.jsx)(`span`,{className:x.targetMark,style:{left:`${e.target}%`},title:`目标 ${e.target}%`})]})]},t)}case`divider`:return(0,g.jsx)(`hr`,{className:x.divider},t);case`list`:{let a=Fl(i,e.filter)?.toLowerCase(),o=e.items.slice(0,X.maxListItems),s=a===void 0?o:o.filter(e=>Pl(e).toLowerCase().includes(a));return(0,g.jsxs)(`div`,{className:x.list,children:[s.map((e,t)=>(0,g.jsx)(`div`,{className:x.li,children:kl(e)?Il(e,t,n,r+1,i):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:x.liTitle,children:Y(typeof e==`string`?e:e.title)}),typeof e!=`string`&&e.desc!==void 0&&(0,g.jsx)(`div`,{className:x.liDesc,children:Y(e.desc)})]})},t)),a!==void 0&&(0,g.jsxs)(`span`,{className:x.filterHint,children:[`匹配 `,s.length,` / `,o.length,` 项`]})]},t)}case`table`:return(0,g.jsx)(gs,{node:e,filterValue:Fl(i,e.filter),sortValue:Fl(i,e.sortField),renderDetail:e=>e.map((e,t)=>Il(e,t,n,r+1,i))},t);case`chart`:return(0,g.jsx)(Cs,{chart:e,filterValue:Fl(i,e.filter)},t);case`tabs`:return(0,g.jsx)(Ec,{tabs:e,onAction:n,depth:r+1,answers:i},t);case`avatar`:return(0,g.jsx)(`div`,{className:x.avatar,style:{background:e.color??ts(e.name)},children:e.name.slice(0,1).toUpperCase()},t);case`spacer`:return(0,g.jsx)(`div`,{className:x.spacer},t);case`plot`:return(0,g.jsx)(Sc,{plot:e},t);case`callout`:return(0,g.jsx)(yc,{node:e},t);case`steps`:return(0,g.jsx)(bc,{steps:e},t);case`keyvalue`:return(0,g.jsx)(xc,{node:e},t);case`diff`:return(0,g.jsx)(Cc,{node:e},t);case`json`:return(0,g.jsx)(wc,{node:e},t);case`code`:return(0,g.jsx)(Tc,{node:e},t);case`radio`:return(0,g.jsx)(Os,{node:e,onAction:n,answers:i},`${t}:r${i?.round??0}`);case`submit`:return(0,g.jsx)(As,{node:e,onAction:n,answers:i},t);case`switch`:return(0,g.jsx)(js,{node:e,onAction:n},t);case`slider`:return(0,g.jsx)(Ms,{node:e,onAction:n,answers:i},t);case`textarea`:return(0,g.jsx)(Ls,{node:e,onAction:n,answers:i},t);case`accordion`:return(0,g.jsx)(Dc,{node:e,onAction:n,depth:r+1,answers:i},t);case`copy`:return(0,g.jsx)(kc,{node:e},t);case`mermaid`:return(0,g.jsx)(Ac,{node:e},t);case`scene3d`:return(0,g.jsx)(jc,{node:e},t);case`timeline`:return(0,g.jsx)(Mc,{node:e},t);case`file-tree`:return(0,g.jsx)(Fc,{node:e},t);case`breadcrumb`:return(0,g.jsx)(Lc,{node:e},t);case`quiz`:return(0,g.jsx)(Ic,{node:e,onAction:n},t);case`diagram`:return(0,g.jsx)(_l,{node:e},t);case`echart`:return(0,g.jsx)(Dl,{node:e},t);default:{let a=e,o=Ol?.(a.type);return o===void 0?null:(0,g.jsx)(o,{node:a,onAction:n,renderChildren:(e,t)=>e.map((e,a)=>Il(e,Number(t)+a,n,r+1,i))},t)}}}function Ll(e){let t=(0,m.useRef)(new Map),n=(0,m.useRef)(e);n.current=e,(0,m.useEffect)(()=>()=>{for(let e of t.current.values())clearTimeout(e);t.current.clear()},[]);let r=(0,m.useCallback)((e,r)=>{let i=t.current.get(e);i!==void 0&&clearTimeout(i),t.current.set(e,setTimeout(()=>{t.current.delete(e),n.current?.(e,r)},300))},[]);return e===void 0?void 0:r}function Rl(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}function zl({spec:e,stateKey:t,animateEntrance:n=!0,initialState:r,onStateChange:i}){let a=e.gap??16,o=Ll(y()),s=(0,m.useRef)(i);s.current=i;let c=i!==void 0,[l]=(0,m.useState)(()=>r??(i!==void 0||t===void 0?null:Co(t))),[u,d]=(0,m.useState)(l?.answers??{}),[f,p]=(0,m.useState)(l?.multiAnswers??{}),[h,_]=(0,m.useState)(l?.fields??{}),[v,b]=(0,m.useState)({}),[S,C]=(0,m.useState)(l?.locked===!0),[ee,te]=(0,m.useState)(0),[w,T]=(0,m.useState)(new Set),ne=(0,m.useCallback)((e,t)=>{d(n=>n[e]===t?n:{...n,[e]:t})},[]),re=(0,m.useCallback)((e,t,n)=>{p(r=>{let i=r[e]??[],a=n?i.includes(t)?i:[...i,t]:i.filter(e=>e!==t);return Object.prototype.hasOwnProperty.call(r,e)&&a.length===i.length&&a.every((e,t)=>e===i[t])?r:{...r,[e]:a}})},[]),ie=(0,m.useCallback)((e,t)=>{_(n=>n[e]===t?n:{...n,[e]:t})},[]),ae=(0,m.useCallback)(e=>{T(t=>t.has(e)?t:new Set(t).add(e))},[]),oe=(0,m.useCallback)((e,t)=>{b(n=>{let r=n[e];return r!==void 0&&r.label===t.label&&r.answer===t.answer&&r.explanation===t.explanation?n:{...n,[e]:t}})},[]),se=(0,m.useCallback)(()=>{d({}),p({}),C(!1),te(e=>e+1)},[]),ce=(0,m.useMemo)(()=>({answers:u,multiAnswers:f,fields:h,secretFields:w,meta:v,locked:S,round:ee,setAnswer:ne,setMultiAnswer:re,setField:ie,registerSecretField:ae,registerMeta:oe,clear:se,setLocked:C}),[u,f,h,w,v,S,ee,ne,re,ie,ae,oe,se]),le=(0,m.useMemo)(()=>{if(o!==void 0)return(e,t)=>{Yo(),o(e,t)}},[o]);return(0,m.useEffect)(()=>{let e=Object.fromEntries(Object.entries(h).filter(([e])=>!w.has(e))),n={answers:u,...Object.keys(f).length>0?{multiAnswers:f}:{},locked:S,...Object.keys(e).length>0?{fields:e}:{}};if(c){s.current?.(n);return}if(t===void 0)return;let r=setTimeout(()=>wo(t,n),300);return()=>clearTimeout(r)},[t,u,f,S,h,w,c]),(0,m.useEffect)(()=>{qo(e)},[e]),(0,g.jsxs)(`div`,{className:x.block,"data-genui":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:x.banner,children:Y(e.title)}),(0,g.jsx)(`div`,{className:x.col,style:{gap:`${a}px`},children:e.items.map((e,t)=>(0,g.jsx)(`div`,{className:x.reveal,style:{animationDelay:`${Math.min(t*90,720)}ms`,...!n||l!==null?{animation:`none`}:{}},onAnimationEnd:e=>{e.target===e.currentTarget&&(e.currentTarget.style.animation=`none`)},children:Il(e,t,le,0,ce)},t))})]})}let Bl=(0,m.memo)(function(e){let[t,n]=(0,m.useState)({stateKey:e.stateKey,generation:0});return t.stateKey!==e.stateKey&&n({stateKey:e.stateKey,generation:t.generation+(t.stateKey===void 0?0:1)}),(0,g.jsx)(zl,{...e},t.generation)},(e,t)=>e.stateKey===t.stateKey&&e.animateEntrance===t.animateEntrance&&e.onStateChange===t.onStateChange&&Rl(e.spec,t.spec));function Vl(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.type!=`string`||t.type===``)return null;let n={type:`col`,items:[e]};return t.panel===!0&&(n.panel=!0),t.append===!0&&(n.append=!0),n}function Hl(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(!Array.isArray(t.items)||t.title!==void 0&&typeof t.title!=`string`||t.gap!==void 0&&typeof t.gap!=`number`)}let Ul=[`h1`,`h2`,`h3`,`body`,`muted`,`caption`],Wl=[`primary`,`danger`,`success`,`ghost`],Gl=[`success`,`warn`,`danger`,`accent`],Kl=[`text`,`email`,`password`,`color`],ql=[`info`,`success`,`warning`,`error`],Jl=[`bars`,`line`,`donut`],Yl=[`line`,`area`,`scatter`],Xl=[`16:9`,`4:3`,`1:1`,`9:16`],Zl=[`box`,`sphere`,`cone`,`cylinder`,`torus`],Ql=[`file`,`dir`],$l=`architecture.it-state.flowchart.sequence.state.er.timeline.swimlane.quadrant.radar.loop.nested.tree.org-chart.layers.venn.pyramid.bar.line.gantt.scatter.high-level.process.medallion.data-flow.dp-integration.dp-security-matrix`.split(`.`),eu=[`focal`,`backend`,`store`,`external`,`input`,`optional`,`security`],tu=[`light`,`dark`,`editorial`],nu=[`solid`,`dashed`,`accent`,`link`],ru=[`auto`,`orthogonal`,`straight`],iu=[`bar`,`line`,`area`,`pie`,`scatter`,`radar`,`gauge`,`funnel`,`treemap`,`sankey`,`graph`,`heatmap`,`bigline`],au=[`hero`],ou=[`bar`,`ring`],su=[`info`,`success`,`warning`,`danger`],cu=[`accent`,`success`,`warning`,`danger`],lu=[`text`,`num`,`delta`,`bar`,`badge`,`spark`,`ring`,`index`,`group`],Q=(e,t,n={},r={})=>{let i=Object.fromEntries(Object.entries(t).filter(([t])=>t!==`type`&&!e.includes(t))),a=r.oneOfRequired??[],o=r.conditionalRequired??[];return{required:e,fields:t,optional:i,aliases:n,oneOfRequired:a,conditionalRequired:o,rules:[...a.map(e=>({kind:`one-of-required`,fields:e})),...o],enums:r.enums??{},nested:r.nested??{},...r.validator===void 0?{}:{validator:r.validator}}},uu=(e,t,n={},r={})=>({required:e,fields:t,enums:r,nested:n}),$={type:`string`,span:`number`},du=uu([`label`,`value`],{label:`string`,value:`number`,color:`string`}),fu=uu([`label`,`data`],{label:`string`,color:`string`,data:`array`},{data:du}),pu=uu([`title`],{title:`string`,desc:`string`}),mu=uu([`key`,`value`],{key:`string`,value:`string`}),hu=uu([`title`],{title:`string`,desc:`string`,time:`string`}),gu=uu([`path`,`newText`],{path:`string`,oldText:`string-or-null`,newText:`string`}),_u=uu([`expr`],{expr:`string`,label:`string`,color:`string`,kind:`string`,params:`array`},{params:uu([`name`,`value`],{name:`string`,value:`number`,min:`number`,max:`number`,step:`number`,animateTo:`number`,durationMs:`number`,loop:`boolean`})},{kind:Yl}),vu=uu([`shape`],{shape:`string`,color:`string`,position:`array`,rotation:`array`,scale:`unknown`,size:`unknown`},{},{shape:Zl});function yu(e){return uu([`name`],{name:`string`,type:`string`,children:`array`},e>0?{children:yu(e-1)}:{},{type:Ql})}let bu=yu(6),xu=uu([`label`,`items`],{label:`string`,items:`nodes`,content:`nodes`}),Su=uu([`title`,`items`],{title:`string`,items:`nodes`}),Cu=uu([`id`,`label`],{id:`string`,label:`string`,sub:`string`,type:`string`,x:`number`,y:`number`,w:`number`,h:`number`,tag:`string`},{},{type:eu}),wu=uu([`from`,`to`],{from:`string`,to:`string`,label:`string`,kind:`string`,route:`string`},{},{kind:nu,route:ru}),Tu=uu([`label`],{label:`string`,x:`number`,y:`number`,w:`number`,h:`number`}),Eu=uu([],{paper:`string`,"paper-2":`string`,ink:`string`,muted:`string`,soft:`string`,rule:`string`,accent:`string`,"accent-tint":`string`,link:`string`}),Du=Q([`items`],{title:`string`,gap:`number`,panel:`boolean`,append:`boolean`,items:`nodes`}),Ou={accordion:Q([`items`],{...$,items:`array`},{},{nested:{items:Su}}),audio:Q([`src`],{...$,src:`string`,alt:`string`,loop:`boolean`}),avatar:Q([`name`],{...$,name:`string`,color:`string`}),badge:Q([`label`],{...$,label:`string`,tone:`string`,icon:`string`},{text:`label`,value:`label`},{enums:{tone:Gl}}),breadcrumb:Q([`items`],{...$,items:`array`}),button:Q([`label`],{...$,label:`string`,tone:`string`,full:`boolean`,small:`boolean`,icon:`string`,action:`string`},{},{enums:{tone:Wl}}),callout:Q([`content`],{...$,title:`string`,content:`string`,tone:`string`},{kind:`tone`},{enums:{tone:ql}}),card:Q([`items`],{...$,title:`string`,items:`nodes`,tone:`string`,accent:`string`},{label:`title`,content:`items`},{enums:{tone:su}}),chart:Q([],{...$,kind:`string`,data:`array`,series:`array`,horizontal:`boolean`,stacked:`boolean`,filter:`string`,palette:`array`},{},{oneOfRequired:[[`data`,`series`]],conditionalRequired:[{kind:`required-if`,when:{field:`kind`,equals:`donut`},required:[`data`]}],nested:{data:du,series:fu},enums:{kind:Jl},validator:{name:`chart-renderability`}}),checkbox:Q([`label`],{...$,label:`string`,checked:`boolean`,action:`string`,group:`string`}),code:Q([`code`],{...$,lang:`string`,code:`string`}),col:Q([`items`],{...$,items:`nodes`,gap:`number`}),copy:Q([`text`],{...$,label:`string`,text:`string`}),diagram:Q([`kind`,`nodes`],{...$,kind:`string`,variant:`string`,title:`string`,nodes:`array`,edges:`array`,zones:`array`,theme:`object`},{},{nested:{nodes:Cu,edges:wu,zones:Tu,theme:Eu},enums:{kind:$l,variant:tu}}),diff:Q([`diffs`],{...$,diffs:`array`},{},{nested:{diffs:gu}}),divider:Q([],$),echart:Q([],{...$,title:`string`,height:`number`,preset:`string`,data:`array`,series:`array`,links:`array`,palette:`array`,option:`object`},{},{oneOfRequired:[[`option`,`data`,`series`,`links`]],enums:{preset:iu}}),"file-tree":Q([`items`],{...$,items:`array`},{},{nested:{items:bu}}),grid:Q([`items`],{...$,cols:`number`,items:`nodes`}),image:Q([`src`],{...$,src:`string`,alt:`string`}),input:Q([],{...$,label:`string`,placeholder:`string`,value:`string`,inputType:`string`,action:`string`,id:`string`},{},{enums:{inputType:Kl}}),json:Q([`value`],{...$,value:`unknown`}),keyvalue:Q([`pairs`],{...$,pairs:`array`},{},{nested:{pairs:mu}}),link:Q([`label`],{...$,label:`string`,href:`string`}),list:Q([`items`],{...$,items:`array`,filter:`string`}),mermaid:Q([`code`],{...$,code:`string`}),plot:Q([`series`],{...$,series:`array`,xMin:`number`,xMax:`number`,yMin:`number`,yMax:`number`,title:`string`},{},{nested:{series:_u}}),progress:Q([`value`],{...$,value:`number`,label:`string`,valueLabel:`string`,variant:`string`,target:`number`},{},{enums:{variant:ou}}),quiz:Q([`question`,`options`],{...$,question:`string`,options:`array`,explanation:`string`,id:`string`,action:`string`}),radio:Q([`options`],{...$,label:`string`,options:`array`,selected:`number`,action:`string`,group:`string`,answer:`unknown`,explanation:`string`}),row:Q([`items`],{...$,items:`nodes`,wrap:`boolean`,spacer:`boolean`}),scene3d:Q([`meshes`],{...$,title:`string`,meshes:`array`,ambient:`number`,background:`string`},{},{nested:{meshes:vu}}),select:Q([`options`],{...$,label:`string`,options:`array`,action:`string`,selected:`number`,id:`string`}),slider:Q([],{...$,label:`string`,min:`number`,max:`number`,step:`number`,value:`number`,action:`string`,id:`string`}),spacer:Q([],$),hero:Q([`title`],{...$,title:`string`,subtitle:`string`,value:`string`,label:`string`,delta:`string`,spark:`array`,tone:`string`},{},{enums:{tone:cu}}),stat:Q([`label`,`value`],{...$,label:`string`,value:`string`,delta:`string`,spark:`array`,size:`string`},{},{enums:{size:au}}),steps:Q([`steps`],{...$,steps:`array`,current:`number`},{items:`steps`},{nested:{steps:pu}}),submit:Q([`label`],{...$,label:`string`,action:`string`,resetAction:`string`,groups:`array`}),switch:Q([`label`],{...$,label:`string`,checked:`boolean`,action:`string`}),table:Q([`columns`,`rows`],{...$,columns:`array`,rows:`array`,types:`array`,total:`boolean`,details:`array`,filter:`string`,filterColumn:`number`,sortField:`string`,export:`boolean`},{headers:`columns`,data:`rows`}),tabs:Q([`tabs`],{...$,tabs:`array`},{},{nested:{tabs:xu}}),text:Q([`content`],{...$,content:`string`,size:`string`,center:`boolean`},{text:`content`},{enums:{size:Ul}}),textarea:Q([],{...$,label:`string`,placeholder:`string`,rows:`number`,value:`string`,action:`string`,id:`string`}),timeline:Q([`items`],{...$,items:`array`},{},{nested:{items:hu}}),video:Q([`src`],{...$,src:`string`,alt:`string`,poster:`string`,loop:`boolean`,muted:`boolean`,aspectRatio:`string`},{},{enums:{aspectRatio:Xl}})},ku=new Set(Object.keys(Ou));function Au(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function ju(e){let t=Au(e);return t!==void 0&&typeof t.type==`string`}function Mu(e,t,n,r){let i=Ou[n];if(i===void 0)return e;let a={...e};for(let[e,o]of Object.entries(i.aliases)){if(!(e in a))continue;let i=`${t}.${e}`,s=o in a;s||(a[o]=a[e]),delete a[e],r.push({kind:`alias`,path:i,message:s?`${i} is ignored because canonical field '${o}' is present`:`${i} normalized/adopted as '${o}'`,type:n,field:e,canonical:o})}return a}function Nu(e,t,n){if(!ju(e))return e;let r=e.type;if(Ou[r]===void 0)return e;let i=Mu(e,t,r,n),a=(e,t)=>Nu(e,t,n);return r===`row`||r===`col`||r===`grid`||r===`card`||r===`file-tree`||r===`timeline`||r===`breadcrumb`?r!==`file-tree`&&r!==`timeline`&&r!==`breadcrumb`&&(i.items=((e,t)=>Array.isArray(e)?e.map((e,n)=>a(e,`${t}[${n}]`)):e)(i.items,`${t}.items`)):r===`list`&&Array.isArray(i.items)?i.items=i.items.map((e,n)=>ju(e)?a(e,`${t}.items[${n}]`):e):r===`tabs`&&Array.isArray(i.tabs)?i.tabs=i.tabs.map((e,i)=>{let o=Au(e);if(o===void 0)return e;let s={...o};if(`content`in s){let e=`${t}.tabs[${i}].content`,a=`items`in s;a||(s.items=s.content),delete s.content,n.push({kind:`alias`,path:e,message:a?`${e} is ignored because canonical field 'items' is present`:`${e} normalized/adopted as 'items'`,type:r,field:`content`,canonical:`items`})}return s.items=Array.isArray(s.items)?s.items.map((e,n)=>a(e,`${t}.tabs[${i}].items[${n}]`)):s.items===void 0?s.items:[a(s.items,`${t}.tabs[${i}].items[0]`)],s}):r===`accordion`&&Array.isArray(i.items)&&(i.items=i.items.map((e,n)=>{let r=Au(e);return r===void 0?e:{...r,items:Array.isArray(r.items)?r.items.map((e,r)=>a(e,`${t}.items[${n}].items[${r}]`)):r.items}})),i}function Pu(e){let t=[],n=Au(e);if(n===void 0)return{value:e,warnings:t};let r={...n};if(Array.isArray(r.items))r.items=r.items.map((e,n)=>Nu(e,`items[${n}]`,t));else if(typeof r.type==`string`)return{value:Nu(r,`spec`,t),warnings:t};return{value:r,warnings:t}}function Fu(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Iu(e){let t=Fu(e);return t!==void 0&&typeof t.type==`string`}function Lu(e,t,n){if(!Iu(e))return;let r=e.type,i=Ou[r];if(i===void 0)return;n(e,t,i);let a=(e,t)=>Lu(e,t,n);(r===`row`||r===`col`||r===`grid`||r===`card`)&&Array.isArray(e.items)||r===`list`&&Array.isArray(e.items)?e.items.forEach((e,n)=>a(e,`${t}.items[${n}]`)):r===`tabs`&&Array.isArray(e.tabs)?e.tabs.forEach((e,n)=>{let r=Fu(e);r!==void 0&&(Array.isArray(r.items)?r.items.forEach((e,r)=>a(e,`${t}.tabs[${n}].items[${r}]`)):a(r.items,`${t}.tabs[${n}].items`))}):r===`accordion`&&Array.isArray(e.items)&&e.items.forEach((e,n)=>{let r=Fu(e);r?.items!==void 0&&Array.isArray(r.items)&&r.items.forEach((e,r)=>a(e,`${t}.items[${n}].items[${r}]`))})}function Ru(e,t,n,r){e.push({kind:`unknown-field`,path:`${t}.${n}`,message:`${t}.${n}: unknown field for '${r}'`,type:r,field:n})}function zu(e,t,n,r,i){let a=Fu(e);if(a!==void 0){for(let e of Object.keys(a))e in n.fields||Ru(i,t,e,r);for(let[e,o]of Object.entries(n.nested)){let n=a[e];Array.isArray(n)?n.forEach((n,a)=>zu(n,`${t}.${e}[${a}]`,o,r,i)):n!==void 0&&zu(n,`${t}.${e}`,o,r,i)}}}function Bu(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];Array.isArray(n)?n.forEach((n,o)=>zu(n,`${t}.${i}[${o}]`,a,e.type,r)):n!==void 0&&zu(n,`${t}.${i}`,a,e.type,r)}}function Vu(e){let t=[],n=Fu(e);if(n===void 0)return t;let r=(e,n,r)=>{for(let i of Object.keys(e))i===`type`||i in r.fields||Ru(t,n,i,e.type);Bu(e,n,r,t)};if(Array.isArray(n.items)){for(let e of Object.keys(n))e in Du.fields||Ru(t,`spec`,e,`spec`);n.items.forEach((e,t)=>Lu(e,`items[${t}]`,r))}else if(typeof n.type==`string`)Lu(n,`spec`,r);else for(let e of Object.keys(n))e in Du.fields||Ru(t,`spec`,e,`spec`);return t}function Hu(e,t){switch(t){case`string`:return typeof e==`string`;case`string-or-null`:return e===null||typeof e==`string`;case`number`:return typeof e==`number`&&Number.isFinite(e);case`boolean`:return typeof e==`boolean`;case`nodes`:return Array.isArray(e);case`array`:return Array.isArray(e);case`object`:return q(e)!==void 0;case`unknown`:return!0}}function Uu(e){switch(e){case`string-or-null`:return`a string or null`;case`number`:return`a finite number`;case`boolean`:return`a boolean`;case`nodes`:case`array`:return`an array`;case`object`:return`an object`;case`unknown`:return`a value`;default:return`a string`}}function Wu(e,t,n){return e.some(e=>e.startsWith(`${t}.${n} `)||e.includes(`'${n}'`)||e.includes(`requires ${n}`))}function Gu(e,t,n,r,i=[]){for(let[a,o]of Object.entries(n.fields))i.includes(a)||e[a]===void 0||!Hu(e[a],o)&&!Wu(r,t,a)&&r.push(`${t}.${a} must be ${Uu(o)}`);for(let[a,o]of Object.entries(n.enums))i.includes(a)||e[a]===void 0||!Hu(e[a],`string`)||!o.includes(e[a])&&!Wu(r,t,a)&&r.push(`${t}.${a} must be one of ${o.join(`, `)}`)}function Ku(e,t,n,r){let i=q(e);if(i===void 0){r.push(`${t} must be an object`);return}for(let e of n.required){let a=n.fields[e];i[e]===void 0?Wu(r,t,e)||r.push(`${t}: requires ${e}${a===void 0?``:` (${Uu(a)})`}`):a!==void 0&&!Hu(i[e],a)&&(Wu(r,t,e)||r.push(`${t}.${e} must be ${Uu(a)}`))}for(let[e,a]of Object.entries(n.fields))i[e]!==void 0&&!Hu(i[e],a)&&(Wu(r,t,e)||r.push(`${t}.${e} must be ${Uu(a)}`));for(let[e,a]of Object.entries(n.enums))i[e]!==void 0&&typeof i[e]==`string`&&!a.includes(i[e])&&(Wu(r,t,e)||r.push(`${t}.${e} must be one of ${a.join(`, `)}`));for(let[e,a]of Object.entries(n.nested)){let n=i[e];n!==void 0&&(Array.isArray(n)?n.forEach((n,i)=>Ku(n,`${t}.${e}[${i}]`,a,r)):Ku(n,`${t}.${e}`,a,r))}}function qu(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];n!==void 0&&(Array.isArray(n)?n.forEach((e,n)=>Ku(e,`${t}.${i}[${n}]`,a,r)):Ku(n,`${t}.${i}`,a,r))}}function Ju(e,t,n,r){let i=String(e.type),a=e=>Wu(r,t,e);for(let o of n.required){let s=n.fields[o];if(s===void 0||e[o]===void 0){a(o)||r.push(`${t}: type '${i}' requires ${o}${s===void 0?``:` (${Uu(s)})`}`);continue}!Hu(e[o],s)&&!a(o)&&r.push(`${t}.${o} must be ${Uu(s)}`)}Gu(e,t,n,r,[`type`]);for(let a of n.oneOfRequired)!a.some(t=>e[t]!==void 0)&&!r.some(e=>e.includes(`requires ${a.join(` or `)}`))&&r.push(`${t}: type '${i}' requires one of ${a.join(` or `)}`);for(let o of n.conditionalRequired)if(e[o.when.field]===o.when.equals)for(let n of o.required)e[n]===void 0&&!a(n)&&r.push(`${t}: type '${i}' requires ${n}${o.message===void 0?``:` (${o.message})`}`);qu(e,t,n,r)}function Yu(e,t,n){if(!Array.isArray(e))return[];let r=[];for(let i of e){if(t.remaining<=0)break;--t.remaining;let e=Qu(i,t,n);e!==null&&r.push(e)}return r}function Xu(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,12)){let e=uo(n);e!==void 0&&t.push(e)}return t.length>0?t:void 0}function Zu(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,60)){let e=typeof n==`number`?n:Number(n);if(!Number.isFinite(e))return;t.push(e)}return t.length>=2?t:void 0}function Qu(e,t,n){let r=$u(e,t,n);if(r===null)return null;let i=mo(q(e)?.span,2,12);return i===void 0?r:{...r,span:i}}function $u(e,t,n){if(n>X.maxDepth)return null;let r=q(e);if(r===void 0)return null;let i=r.type;if(typeof i!=`string`)return null;switch(i){case`text`:{let e=G(r.content,X.maxString)??G(r.text,X.maxString);return e===void 0?null:{type:`text`,content:e,...J(`size`,ho(r.size,Ul)),...J(`center`,r.center===!0||void 0)}}case`row`:return{type:`row`,items:Yu(r.items,t,n+1),...J(`wrap`,r.wrap===!0||void 0),...J(`spacer`,r.spacer===!0||void 0)};case`col`:return{type:`col`,items:Yu(r.items,t,n+1),...J(`gap`,K(r.gap,0,96))};case`grid`:return{type:`grid`,cols:mo(r.cols,1,X.maxGridCols)??1,items:Yu(r.items,t,n+1)};case`card`:return{type:`card`,items:Yu(r.items,t,n+1),...J(`title`,G(r.title,X.maxString)),...J(`tone`,ho(r.tone,su)),...J(`accent`,uo(r.accent))};case`button`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`button`,label:e,...J(`tone`,ho(r.tone,Wl)),...J(`full`,r.full===!0||void 0),...J(`small`,r.small===!0||void 0),...J(`icon`,G(r.icon,64)),...J(`action`,G(r.action,200))}}case`input`:return{type:`input`,...J(`label`,G(r.label,X.maxString)),...J(`placeholder`,G(r.placeholder,X.maxString)),...J(`value`,G(r.value,X.maxString)),...J(`inputType`,ho(r.inputType,Kl)),...J(`action`,G(r.action,200)),...J(`id`,G(r.id,200))};case`select`:{let e=ed(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`select`,options:e,...J(`label`,G(r.label,X.maxString)),...J(`action`,G(r.action,200)),...J(`selected`,mo(r.selected,0,e.length-1)),...J(`id`,G(r.id,200))}}case`checkbox`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`checkbox`,label:e,...J(`checked`,r.checked===!0||void 0),...J(`action`,G(r.action,200)),...J(`group`,G(r.group,200))}}case`link`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`link`,label:e,...J(`href`,fo(r.href))}}case`image`:{let e=po(r.src);return e===void 0?null:{type:`image`,src:e,...J(`alt`,G(r.alt,X.maxString))}}case`audio`:{let e=po(r.src);return e===void 0?null:{type:`audio`,src:e,...J(`alt`,G(r.alt,X.maxString)),...J(`loop`,r.loop===!0||void 0)}}case`video`:{let e=po(r.src);return e===void 0?null:{type:`video`,src:e,...J(`alt`,G(r.alt,X.maxString)),...J(`poster`,po(r.poster)),...J(`loop`,r.loop===!0||void 0),...J(`muted`,r.muted===!0||void 0),...J(`aspectRatio`,ho(r.aspectRatio,Xl))}}case`badge`:{let e=G(r.label,X.maxString)??G(r.text,X.maxString)??G(r.value,X.maxString);return e===void 0?null:{type:`badge`,label:e,...J(`tone`,ho(r.tone,Gl)),...J(`icon`,G(r.icon,64))}}case`hero`:{let e=G(r.title,X.maxString);return e===void 0?null:{type:`hero`,title:e,...J(`subtitle`,G(r.subtitle,X.maxString)),...J(`value`,G(r.value,128)),...J(`label`,G(r.label,X.maxString)),...J(`delta`,G(r.delta,64)),...J(`spark`,Zu(r.spark)),...J(`tone`,ho(r.tone,cu))}}case`stat`:{let e=G(r.label,X.maxString),t=G(r.value,128);return e===void 0||t===void 0?null:{type:`stat`,label:e,value:t,...J(`delta`,G(r.delta,64)),...J(`spark`,Zu(r.spark)),...J(`size`,r.size===`hero`?`hero`:void 0)}}case`progress`:{let e=K(r.value,0,100);return e===void 0?null:{type:`progress`,value:e,...J(`label`,G(r.label,X.maxString)),...J(`valueLabel`,G(r.valueLabel,64)),...J(`variant`,ho(r.variant,ou)),...J(`target`,K(r.target,0,100))}}case`divider`:return{type:`divider`};case`spacer`:return{type:`spacer`};case`avatar`:{let e=G(r.name,64);return e===void 0?null:{type:`avatar`,name:e,...J(`color`,uo(r.color))}}case`list`:{let e=td(r.items,X.maxListItems,t,n+1);return e===void 0?null:{type:`list`,items:e,...J(`filter`,G(r.filter,64))}}case`table`:{let e=r.columns,i=r.rows===void 0?r.data:r.rows;if(Array.isArray(e)&&e.length>0&&typeof e[0]==`object`&&e[0]!==null&&(e=e.map(e=>od(e))),Array.isArray(i)&&i.length>0&&typeof i[0]==`object`&&i[0]!==null&&!Array.isArray(i[0])){let e=Array.isArray(r.columns)&&r.columns.length>0&&typeof r.columns[0]==`object`&&r.columns[0]!==null?r.columns.map(e=>sd(e)).filter(e=>e!==void 0):Object.keys(i[0]);i=i.map(t=>e.map(e=>cd(t[e])))}let a=ed(e,X.maxTableCols,128),o=nd(i,X.maxTableRows,X.maxTableCols);if(a===void 0||o===void 0)return null;let s=Array.isArray(r.types)?r.types:void 0,c=s===void 0?void 0:a.map((e,t)=>{let n=s[t];return typeof n==`string`&&lu.includes(n)?n:`text`}),l=Array.isArray(r.details)?r.details:void 0,u=l===void 0?void 0:o.map((e,r)=>{let i=Yu(l[r],t,n+1);return i.length===0?null:i});return{type:`table`,columns:a,rows:o,...J(`types`,c),...J(`total`,r.total===!0||void 0),...J(`export`,r.export===!0||void 0),...J(`filter`,G(r.filter,64)),...J(`filterColumn`,mo(r.filterColumn,0,X.maxTableCols-1)),...J(`sortField`,G(r.sortField,64)),...J(`details`,u!==void 0&&u.some(e=>e!==null)?u:void 0)}}case`chart`:{let e=rd(r.data,X.maxChartPoints),t=Array.isArray(r.series)?id(r.series,X.maxPlotSeries,X.maxChartPoints):void 0;return e===void 0&&t===void 0?null:{type:`chart`,data:e??[],...J(`kind`,ho(r.kind,Jl)),...J(`series`,t),...J(`horizontal`,r.horizontal===!0||void 0),...J(`stacked`,r.stacked===!0||void 0),...J(`filter`,G(r.filter,64)),...J(`palette`,Xu(r.palette))}}case`tabs`:{let e=ad(r.tabs,t,n);return e===void 0?null:{type:`tabs`,tabs:e}}case`plot`:{let e=ld(r.series,X.maxPlotSeries);return e===void 0?null:{type:`plot`,series:e,...J(`xMin`,K(r.xMin,-1e6,1e6)),...J(`xMax`,K(r.xMax,-1e6,1e6)),...J(`yMin`,K(r.yMin,-1e9,1e9)),...J(`yMax`,K(r.yMax,-1e9,1e9)),...J(`title`,G(r.title,X.maxString))}}case`callout`:{let e=G(r.content,X.maxString);return e===void 0?null:{type:`callout`,content:e,...J(`tone`,ho(r.tone,ql)),...J(`title`,G(r.title,X.maxString))}}case`steps`:{let e=ud(r.steps);return e===void 0?null:{type:`steps`,steps:e,...J(`current`,mo(r.current,0,e.length))}}case`keyvalue`:{let e=dd(r.pairs,X.maxKeyValuePairs);return e===void 0?null:{type:`keyvalue`,pairs:e}}case`diff`:{let e=fd(r.diffs);return e===void 0?null:{type:`diff`,diffs:e}}case`json`:return`value`in r?{type:`json`,value:r.value}:null;case`code`:{let e=G(r.code,X.maxCode);return e===void 0?null:{type:`code`,code:e,...J(`lang`,G(r.lang,64))}}case`radio`:{let e=ed(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`radio`,options:e,...J(`label`,G(r.label,X.maxString)),...J(`selected`,mo(r.selected,0,e.length-1)),...J(`action`,G(r.action,200)),...J(`group`,G(r.group,200)),...J(`answer`,typeof r.answer==`number`&&Number.isFinite(r.answer)&&r.answer>=0&&r.answer<e.length?Math.trunc(r.answer):typeof r.answer==`string`?r.answer.slice(0,512):void 0),...J(`explanation`,G(r.explanation,X.maxString))}}case`submit`:{let e=G(r.label,X.maxString),t=G(r.action,200);return e===void 0?null:{type:`submit`,label:e,...J(`action`,t),...J(`resetAction`,G(r.resetAction,200)),...J(`groups`,ed(r.groups,X.maxOptions,200))}}case`switch`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`switch`,label:e,...J(`checked`,r.checked===!0||void 0),...J(`action`,G(r.action,200))}}case`slider`:{let e=K(r.min,-1e9,1e9)??0,t=K(r.max,-1e9,1e9)??100,n=Math.min(e,t),i=Math.max(e,t),a=K(r.step,1e-9,Math.max(i-n,1e-9)),o=K(r.value,n,i)??n;return{type:`slider`,min:n,max:i,...J(`step`,a),value:o,...J(`label`,G(r.label,X.maxString)),...J(`action`,G(r.action,200)),...J(`id`,G(r.id,200))}}case`textarea`:return{type:`textarea`,...J(`label`,G(r.label,X.maxString)),...J(`placeholder`,G(r.placeholder,X.maxString)),...J(`rows`,mo(r.rows,1,30)),...J(`value`,G(r.value,X.maxString)),...J(`action`,G(r.action,200)),...J(`id`,G(r.id,200))};case`accordion`:{let e=pd(r.items,t,n);return e===void 0?null:{type:`accordion`,items:e}}case`copy`:{let e=G(r.text,X.maxCode);return e===void 0?null:{type:`copy`,text:e,...J(`label`,G(r.label,128))}}case`mermaid`:{let e=G(r.code,X.maxMermaid);return e===void 0?null:{type:`mermaid`,code:e}}case`scene3d`:{let e=md(r.meshes);return e===void 0?null:{type:`scene3d`,meshes:e,...J(`title`,G(r.title,X.maxString)),...J(`ambient`,K(r.ambient,0,2)),...J(`background`,uo(r.background))}}case`diagram`:return xd(r);case`timeline`:{let e=Sd(r.items,X.maxTimelineItems);return e===void 0?null:{type:`timeline`,items:e}}case`file-tree`:{let e=Cd(r.items,X.maxListItems);return e===void 0?null:{type:`file-tree`,items:e}}case`breadcrumb`:{let e=ed(r.items,X.maxBreadcrumbItems,X.maxString);return e===void 0?null:{type:`breadcrumb`,items:e}}case`quiz`:{let e=G(r.question,X.maxString),t=Td(r.options,r.answer);return e===void 0||t===void 0?null:{type:`quiz`,question:e,options:t,...J(`explanation`,G(r.explanation,X.maxString)),...J(`id`,G(r.id,200)),...J(`action`,G(r.action,200))}}case`echart`:{let e=r.data===void 0?void 0:rd(r.data,X.maxChartPoints),t=r.series!==void 0&&Array.isArray(r.series)?id(r.series,X.maxPlotSeries,X.maxChartPoints):void 0,n=Array.isArray(r.links)?r.links.slice(0,X.maxChartPoints).flatMap(e=>{let t=q(e),n=t===void 0?void 0:G(t.from,64),r=t===void 0?void 0:G(t.to,64);return n===void 0||r===void 0?[]:[{from:n,to:r,...J(`value`,K(t.value,0,1e9))}]}):void 0,i=r.option===void 0?void 0:Dd(r.option,0,{count:X.maxEChartOptionNodes}),a=i===void 0||typeof i!=`object`||!i||Array.isArray(i)?void 0:i;return a===void 0&&e===void 0&&t===void 0&&(n===void 0||n.length===0)?null:{type:`echart`,...J(`title`,G(r.title,X.maxString)),...J(`height`,mo(r.height,100,800)),...J(`preset`,ho(r.preset,iu)),...J(`data`,e),...J(`series`,t),...J(`links`,n!==void 0&&n.length>0?n:void 0),...J(`palette`,Xu(r.palette)),...J(`option`,a)}}default:return e}}function ed(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;if(typeof i==`string`)r.push(i.slice(0,n));else if(typeof i==`object`&&i){let e=i,t=typeof e.label==`string`?e.label:typeof e.value==`string`?e.value:typeof e.title==`string`?e.title:JSON.stringify(i);r.push(t.slice(0,n))}}return r}function td(e,t,n,r){if(!Array.isArray(e))return;let i=[];for(let a of e){if(i.length>=t)break;if(typeof a==`string`){i.push(a.slice(0,X.maxString));continue}let e=q(a),o=e===void 0?void 0:G(e.title,X.maxString);if(o!==void 0){i.push({title:o,...J(`desc`,e===void 0?void 0:G(e.desc,X.maxString))});continue}if(e!==void 0&&typeof e.type==`string`){if(n.remaining<=0)break;--n.remaining;let t=Qu(e,n,r);t!==null&&i.push(t)}}return i}function nd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;if(!Array.isArray(i))continue;let e=[];for(let t of i){if(e.length>=n)break;typeof t==`string`?e.push(t.slice(0,256)):typeof t==`number`&&Number.isFinite(t)&&e.push(t)}e.length>0&&r.push(e)}return r}function rd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=q(r),i=e===void 0?void 0:G(e.label,128),a=e===void 0?void 0:K(e.value,-0xe8d4a51000,0xe8d4a51000);i!==void 0&&a!==void 0&&n.push({label:i,value:a,...J(`color`,e===void 0?void 0:uo(e.color))})}return n}function id(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=q(i),a=e===void 0?void 0:G(e.label,128),o=e===void 0?void 0:rd(e.data,n);a!==void 0&&o!==void 0&&r.push({label:a,data:o,...J(`color`,e===void 0?void 0:uo(e.color))})}return r}function ad(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxTabs)break;let e=q(i),a=e===void 0?void 0:G(e.label,128);if(a===void 0||e===void 0)continue;let o=e.items===void 0?e.content===void 0?void 0:Array.isArray(e.content)?e.content:[e.content]:e.items;r.push({label:a,items:Yu(o,t,n+1)})}return r}function od(e){let t=q(e);if(t===void 0)return String(e);for(let e of[`title`,`label`,`key`,`dataIndex`]){let n=t[e];if(typeof n==`string`&&n!==``)return n}return JSON.stringify(e)}function sd(e){let t=q(e);if(t!==void 0)for(let e of[`key`,`dataIndex`,`title`,`label`]){let n=t[e];if(typeof n==`string`&&n!==``)return n}}function cd(e){return typeof e==`string`||typeof e==`number`&&Number.isFinite(e)?e:e==null?``:JSON.stringify(e)}function ld(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=q(r),i=e===void 0?void 0:G(e.expr,512);if(i===void 0||e===void 0)continue;let a=[];if(Array.isArray(e.params))for(let t of e.params){if(a.length>=X.maxPlotParams)break;let e=q(t),n=e===void 0?void 0:G(e.name,64),r=e===void 0?void 0:K(e.value,-1e9,1e9);n!==void 0&&r!==void 0&&a.push({name:n,value:r,...J(`min`,e===void 0?void 0:K(e.min,-1e9,1e9)),...J(`max`,e===void 0?void 0:K(e.max,-1e9,1e9)),...J(`step`,e===void 0?void 0:K(e.step,1e-9,1e9)),...J(`animateTo`,e===void 0?void 0:K(e.animateTo,-1e9,1e9)),...J(`durationMs`,e===void 0?void 0:K(e.durationMs,1,12e4)),...J(`loop`,e===void 0?void 0:e.loop===!0||void 0)})}n.push({expr:i,...J(`label`,G(e.label,128)),...J(`color`,uo(e.color)),...J(`kind`,ho(e.kind,Yl)),...J(`params`,a.length>0?a:void 0)})}return n}function ud(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxSteps)break;let e=q(n),r=e===void 0?void 0:G(e.title,256);r!==void 0&&t.push({title:r,...J(`desc`,e===void 0?void 0:G(e.desc,X.maxString))})}return t}function dd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=q(r),i=e===void 0?void 0:G(e.key,256),a=e===void 0?void 0:G(e.value,X.maxString);i!==void 0&&a!==void 0&&n.push({key:i,value:a})}return n}function fd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=24)break;let e=q(n),r=e===void 0?void 0:G(e.path,1024),i=e===void 0?void 0:G(e.newText,2e4);if(r===void 0||i===void 0)continue;let a=e===void 0?void 0:e.oldText;t.push({path:r,newText:i,oldText:a===null||typeof a!=`string`?null:a.slice(0,2e4)})}return t}function pd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxAccordionItems)break;let e=q(i),a=e===void 0?void 0:G(e.title,256);a!==void 0&&e!==void 0&&r.push({title:a,items:Yu(e.items,t,n+1)})}return r}function md(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxMeshes)break;let e=q(n),r=e===void 0?void 0:ho(e.shape,Zl);if(r===void 0)continue;let i=e===void 0?void 0:K(e.scale,-1e6,1e6)??hd(e.scale),a=e===void 0?void 0:K(e.size,-1e6,1e6)??hd(e.size);t.push({shape:r,...J(`color`,e===void 0?void 0:uo(e.color)),...J(`position`,e===void 0?void 0:hd(e.position)),...J(`rotation`,e===void 0?void 0:hd(e.rotation)),...J(`scale`,i),...J(`size`,a)})}return t}function hd(e){if(!Array.isArray(e)||e.length!==3)return;let[t,n,r]=e;if(!(typeof t!=`number`||!Number.isFinite(t)||typeof n!=`number`||!Number.isFinite(n)||typeof r!=`number`||!Number.isFinite(r)))return[Math.min(1e6,Math.max(-1e6,t)),Math.min(1e6,Math.max(-1e6,n)),Math.min(1e6,Math.max(-1e6,r))]}function gd(e,t,n){return Math.min(n,Math.max(t,Math.round(e/4)*4))}function _d(e){if(!Array.isArray(e))return;let t=[],n=new Set;for(let r of e){if(t.length>=X.maxDiagramNodes)break;let e=q(r);if(e===void 0)continue;let i=G(e.id,128),a=G(e.label,X.maxString);if(i===void 0||a===void 0||n.has(i))continue;n.add(i);let o=ho(e.type,eu),s=e.x===void 0?void 0:gd(K(e.x,-1e6,1e6)??0,0,1e6),c=e.y===void 0?void 0:gd(K(e.y,-1e6,1e6)??0,0,1e6),l=e.w===void 0?void 0:gd(K(e.w,-1e6,1e6)??96,40,2e3),u=e.h===void 0?void 0:gd(K(e.h,-1e6,1e6)??48,24,1200);t.push({id:i,label:a,...J(`sub`,G(e.sub,256)),...J(`type`,o),...J(`x`,s),...J(`y`,c),...J(`w`,l),...J(`h`,u),...J(`tag`,G(e.tag,32))})}return t}function vd(e){if(e===void 0)return[];if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxDiagramEdges)break;let e=q(n);if(e===void 0)continue;let r=G(e.from,128),i=G(e.to,128);r!==void 0&&i!==void 0&&t.push({from:r,to:i,...J(`label`,G(e.label,X.maxDiagramLabel)),...J(`kind`,ho(e.kind,nu)),...J(`route`,ho(e.route,ru))})}return t}function yd(e){let t=q(e);if(t===void 0)return;let n={};for(let e of[`paper`,`paper-2`,`ink`,`muted`,`soft`,`rule`,`accent`,`accent-tint`,`link`]){let r=uo(t[e]);r!==void 0&&(n[e]=r)}return Object.keys(n).length===0?void 0:n}function bd(e){if(e===void 0)return[];if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxDiagramZones)break;let e=q(n);if(e===void 0)continue;let r=G(e.label,64);r!==void 0&&t.push({label:r,...J(`x`,e.x===void 0?void 0:gd(K(e.x,-1e6,1e6)??0,0,1e6)),...J(`y`,e.y===void 0?void 0:gd(K(e.y,-1e6,1e6)??0,0,1e6)),...J(`w`,e.w===void 0?void 0:gd(K(e.w,-1e6,1e6)??100,40,2e3)),...J(`h`,e.h===void 0?void 0:gd(K(e.h,-1e6,1e6)??100,40,1200))})}return t}function xd(e){let t=q(e);if(t===void 0)return null;let n=ho(t.kind,$l);if(n===void 0)return null;let r=_d(t.nodes);if(r===void 0)return null;let i=vd(t.edges);if(i===void 0)return null;let a=bd(t.zones);return a===void 0?null:{type:`diagram`,kind:n,nodes:r,edges:i,...J(`zones`,a.length>0?a:void 0),...J(`variant`,ho(t.variant,tu)),...J(`title`,G(t.title,256)),...J(`theme`,yd(t.theme))}}function Sd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=q(r),i=e===void 0?void 0:G(e.title,256);i!==void 0&&n.push({title:i,...J(`desc`,e===void 0?void 0:G(e.desc,X.maxString)),...J(`time`,e===void 0?void 0:G(e.time,128))})}return n}function Cd(e,t){return wd(e,t,X.maxTreeDepth)}function wd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=q(i),a=e===void 0?void 0:G(e.name,256);if(a===void 0)continue;let o=e!==void 0&&n>0&&Array.isArray(e.children)?wd(e.children,t,n-1):void 0;r.push({name:a,...J(`type`,e===void 0?void 0:ho(e.type,Ql)),...J(`children`,o)})}return r}function Td(e,t){if(!Array.isArray(e))return;let n=[];for(let t of e){if(n.length>=X.maxQuizOptions)break;let e=q(t),r=typeof t==`string`?G(t,512):e===void 0?void 0:G(e.label,512);r!==void 0&&n.push({label:r,...J(`correct`,e===void 0?void 0:e.correct===!0||void 0),...J(`feedback`,e===void 0?void 0:G(e.feedback,X.maxString))})}if(n.length===0)return;if(n.some(e=>e.correct===!0))return n;let r=typeof t==`number`&&Number.isFinite(t)?Math.trunc(t):typeof t==`string`?n.findIndex(e=>e.label===t.slice(0,512)):-1;return r<0||r>=n.length?n:n.map((e,t)=>t===r?{...e,correct:!0}:e)}let Ed=/<(?:script|img|svg|iframe|video|audio|object|embed|source)\b|on[a-z]+\s*=|javascript:/i;function Dd(e,t,n){if(n.count<=0||(--n.count,t>X.maxEChartOptionDepth))return;if(typeof e==`string`){let t=e.slice(0,X.maxString);return t.toLowerCase().includes(`url(`)||Ed.test(t)?void 0:t}if(typeof e==`number`&&Number.isFinite(e)||typeof e==`boolean`)return e;if(e===null)return null;if(Array.isArray(e)){let r=Math.min(e.length,X.maxEChartArrayLen),i=[];for(let a=0;a<r;a++){let r=Dd(e[a],t+1,n);r!==void 0&&i.push(r)}return i.length>0||e.length===0?i:void 0}let r=q(e);if(r===void 0)return;let i={};for(let[e,a]of Object.entries(r)){let r=Dd(a,t+1,n);r!==void 0&&(e===`tooltip`&&typeof r==`object`&&r&&!Array.isArray(r)&&(r.renderMode=`richText`),i[e]=r)}return Object.keys(i).length>0||Object.keys(r).length===0?i:void 0}function Od(e){let t=q(e);if(t===void 0)return null;if(!Array.isArray(t.items)){let t=Vl(e);return t===null?null:Od(t)}let n={remaining:X.maxNodes};return{...J(`title`,G(t.title,X.maxString)),...J(`gap`,K(t.gap,0,96)),...J(`panel`,t.panel===!0||void 0),...J(`append`,t.append===!0||void 0),items:Yu(t.items,n,0)}}function kd(e){return Od(Pu(e).value)}function Ad(e,t=1/0){let n=0,r=e=>{if(Array.isArray(e))for(let i of e){if(n>=t)return;n+=1;let e=q(i);if(e!==void 0){if(e.type===`tabs`&&Array.isArray(e.tabs))for(let i of e.tabs){if(n>=t)return;let e=q(i);e!==void 0&&r(e.items)}else if(e.type===`accordion`&&Array.isArray(e.items))for(let i of e.items){if(n>=t)return;let e=q(i);e!==void 0&&r(e.items)}else if((e.type===`row`||e.type===`col`||e.type===`grid`||e.type===`card`)&&Array.isArray(e.items))r(e.items);else if(e.type!==`file-tree`&&e.type===`list`&&Array.isArray(e.items))for(let i of e.items){if(n>=t)return;let e=q(i);e!==void 0&&typeof e.type==`string`&&r([e])}}}},i=q(e);return r(i===void 0?[]:i.items),n}let jd=ku;function Md(e,t,n){let r=0,i=e=>{let t=q(e);return t!==void 0&&typeof t.type==`string`&&jd.has(t.type)};function a(e,n){if(Array.isArray(e)){for(let i=0;i<e.length;i++)if(o(e[i],`${n}[${i}]`),r>=t)return}}function o(e,c){if(r>=t||!i(e))return;let l=q(e);if(l!==void 0){if(r+=1,n(l,c),l.type===`tabs`&&Array.isArray(l.tabs))for(let e=0;e<l.tabs.length;e++)s(l.tabs[e],`${c}.tabs[${e}]`);else if(l.type===`accordion`&&Array.isArray(l.items))for(let e=0;e<l.items.length;e++)s(l.items[e],`${c}.items[${e}]`);else if((l.type===`row`||l.type===`col`||l.type===`grid`||l.type===`card`)&&Array.isArray(l.items))a(l.items,`${c}.items`);else if(l.type===`list`&&Array.isArray(l.items))for(let e=0;e<l.items.length;e++)o(l.items[e],`${c}.items[${e}]`)}}function s(e,t){let n=q(e);if(n===void 0)return;let r=n.items===void 0?n.content:n.items;Array.isArray(r)?a(r,`${t}.items`):o(r,`${t}.items`)}let c=q(e);return c===void 0||(!Array.isArray(c.items)&&i(e)?o(e,`spec`):a(c.items,`items`)),r}function Nd(e,t=1/0){return Md(e,t,()=>{})}function Pd(e,t=1/0){return Nd(e,t)}function Fd(e){let t=[],n=q(e);if(n===void 0)return{ok:!1,errors:[`spec root must be an object`]};if(!Array.isArray(n.items)){let t=Vl(e);return t===null?{ok:!1,errors:[`spec.items must be an array`]}:Fd(t)}Gu(n,`spec`,Du,t,[`items`]);let r=0,i=!1,a=(e,n,o)=>{if(!i){if(!Array.isArray(e)){t.push(`${o} must be an array`);return}for(let s=0;s<e.length;s++){if(i||r>=X.maxNodes){i||=(t.push(`spec exceeds ${X.maxNodes} nodes; tail elided`),!0);return}r+=1;let c=`${o}[${s}]`;Ud(e[s],n,c,t,a)}}};return a(n.items,0,`items`),{ok:t.length===0,errors:t}}function Id(e){let t=Pu(e),n=Od(t.value),r=Fd(t.value),i=Nd(t.value,X.maxNodes+1),a=n===null?0:Pd(n),o=n===null?0:Ad(n),s=r.errors.filter(e=>!e.includes(`: unknown type `));return i>a&&s.push(`repair dropped ${i-a} declared native node(s): declared ${i}, rendered ${a}`),{value:t.value,normalized:t.value,repaired:n,spec:n,errors:s,warnings:[...t.warnings,...Vu(t.value)],declaredCount:i,renderedCount:o,declaredNativeCount:i,renderedNativeCount:a,renderedTotalCount:o}}function Ld(e){return e.errors.length>0&&e.errors.every(e=>e.startsWith(`spec exceeds `)||e.startsWith(`repair dropped `))&&e.renderedNativeCount===X.maxNodes&&e.declaredNativeCount===X.maxNodes+1}function Rd(e){return e.spec!==null&&(e.errors.length===0||Ld(e))}function zd(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=q(e[r]),a=`${t}[${r}]`;if(i===void 0){n.push(`${a} must be an object`);continue}typeof i.label!=`string`&&n.push(`${a}.label must be a string`),(typeof i.value!=`number`||!Number.isFinite(i.value))&&n.push(`${a}.value must be a finite number`),i.color!==void 0&&typeof i.color!=`string`&&n.push(`${a}.color must be a string`)}}function Bd(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=q(e[r]),a=`${t}[${r}]`;if(i===void 0){n.push(`${a} must be an object`);continue}typeof i.label!=`string`&&n.push(`${a}.label must be a string`),i.color!==void 0&&typeof i.color!=`string`&&n.push(`${a}.color must be a string`),Array.isArray(i.data)||n.push(`${a}.data must be an array`),zd(i.data,`${a}.data`,n)}}function Vd(e,t,n){!Array.isArray(e.data)&&!Array.isArray(e.series)&&n.push(`${t}: type 'chart' requires data or series (array)`),e.variant!==void 0&&n.push(`${t}.variant is unsupported; use kind`),e.data!==void 0&&!Array.isArray(e.data)&&n.push(`${t}.data must be an array`),e.series!==void 0&&!Array.isArray(e.series)&&n.push(`${t}.series must be an array`),e.kind!==void 0&&(typeof e.kind!=`string`||!Jl.includes(e.kind))&&n.push(`${t}.kind must be bars, line, or donut`);let r=e.kind===void 0?`bars`:e.kind,i=Array.isArray(e.series)?e.series:void 0;if(Array.isArray(e.data)&&e.data.length===0&&(i===void 0||i.length===0)&&n.push(`${t}.data must not be empty`),i!==void 0){i.length===0&&n.push(`${t}.series must not be empty`),r===`donut`&&n.push(`${t}.series is only supported for bars and line`);for(let e=0;e<i.length;e++){let r=q(i[e]);r!==void 0&&Array.isArray(r.data)&&r.data.length===0&&n.push(`${t}.series[${e}].data must not be empty`)}}r===`donut`&&e.data===void 0&&n.push(`${t}.data is required for donut`),r===`line`&&e.data===void 0&&(i===void 0||i.length===0)&&n.push(`${t}.data is required for line (or provide series)`),zd(e.data,`${t}.data`,n),Bd(e.series,`${t}.series`,n)}function Hd(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=e[r];if(q(i)===void 0){if(!Array.isArray(i)){n.push(`${t}[${r}] must be an array or object`);continue}for(let e=0;e<i.length;e++){let a=i[e];typeof a!=`string`&&(typeof a!=`number`||!Number.isFinite(a))&&n.push(`${t}[${r}][${e}] must be a string or finite number`)}}}}function Ud(e,t,n,r,i){if(t>X.maxDepth){r.push(`${n}: exceeds max depth ${X.maxDepth}`);return}let a=q(e);if(a===void 0){r.push(`${n}: must be an object`);return}let o=a.type;if(typeof o!=`string`){r.push(`${n}: missing string 'type'`);return}let s=e=>{a[e]!==void 0&&typeof a[e]!=`string`&&r.push(`${n}: '${e}' must be a string`)},c=e=>{a[e]!==void 0&&(typeof a[e]!=`number`||!Number.isFinite(a[e]))&&r.push(`${n}: '${e}' must be a finite number`)};switch(o){case`text`:typeof a.content!=`string`&&typeof a.text!=`string`&&r.push(`${n}: type 'text' requires content or text (string)`),s(`content`),s(`text`);break;case`row`:case`col`:case`card`:case`grid`:Array.isArray(a.items)||r.push(`${n}: type '${o}' requires items (array)`),i(a.items,t+1,`${n}.items`),o===`grid`&&c(`cols`);break;case`button`:case`checkbox`:case`link`:case`switch`:typeof a.label!=`string`&&r.push(`${n}: type '${o}' requires label (string)`),s(`label`);break;case`image`:case`audio`:case`video`:typeof a.src!=`string`&&r.push(`${n}: type '${o}' requires src (string)`),s(`src`),s(`alt`),o===`video`&&s(`poster`);break;case`slider`:s(`label`),c(`min`),c(`max`),c(`step`),c(`value`);break;case`input`:case`textarea`:s(`label`),s(`placeholder`),s(`value`);break;case`select`:case`radio`:Array.isArray(a.options)||r.push(`${n}: type '${o}' requires options (array)`);break;case`submit`:typeof a.label!=`string`&&r.push(`${n}: type 'submit' requires label (string)`);break;case`badge`:typeof a.label!=`string`&&typeof a.text!=`string`&&typeof a.value!=`string`&&r.push(`${n}: type 'badge' requires label, text, or value (string)`),s(`label`),s(`text`),s(`value`);break;case`hero`:typeof a.title!=`string`&&r.push(`${n}: type 'hero' requires title (string)`),s(`subtitle`);break;case`stat`:typeof a.label!=`string`&&r.push(`${n}: type 'stat' requires label (string)`),typeof a.value!=`string`&&r.push(`${n}: type 'stat' requires value (string)`),s(`delta`);break;case`progress`:(typeof a.value!=`number`||!Number.isFinite(a.value)||a.value<0||a.value>100)&&r.push(`${n}: type 'progress' requires value (number 0..100)`),c(`value`);break;case`avatar`:typeof a.name!=`string`&&r.push(`${n}: type 'avatar' requires name (string)`);break;case`list`:if(Array.isArray(a.items)||r.push(`${n}: type 'list' requires items (array)`),Array.isArray(a.items))for(let e=0;e<a.items.length;e++){let o=q(a.items[e]);o!==void 0&&typeof o.type==`string`&&Ud(o,t+1,`${n}.items[${e}]`,r,i)}break;case`table`:Array.isArray(a.columns)||r.push(`${n}: type 'table' requires columns (array)`),Array.isArray(a.rows)||r.push(`${n}: type 'table' requires rows (array)`),a.types!==void 0&&!Array.isArray(a.types)&&r.push(`${n}.types must be an array of column cell types`),a.details!==void 0&&!Array.isArray(a.details)&&r.push(`${n}.details must be an array aligned with rows`),Hd(a.rows,`${n}.rows`,r);break;case`chart`:Vd(a,n,r);break;case`tabs`:if(Array.isArray(a.tabs)||r.push(`${n}: type 'tabs' requires tabs (array)`),Array.isArray(a.tabs))for(let e=0;e<a.tabs.length;e++){let o=q(a.tabs[e]);if(o===void 0){r.push(`${n}.tabs[${e}] must be an object`);continue}typeof o.label!=`string`&&r.push(`${n}.tabs[${e}].label must be a string`),i(o.items,t+1,`${n}.tabs[${e}].items`)}break;case`plot`:Array.isArray(a.series)||r.push(`${n}: type 'plot' requires series (array)`);break;case`callout`:typeof a.content!=`string`&&r.push(`${n}: type 'callout' requires content (string)`);break;case`steps`:Array.isArray(a.steps)||r.push(`${n}: type 'steps' requires steps (array)`);break;case`keyvalue`:Array.isArray(a.pairs)||r.push(`${n}: type 'keyvalue' requires pairs (array)`);break;case`diff`:Array.isArray(a.diffs)||r.push(`${n}: type 'diff' requires diffs (array)`);break;case`json`:`value`in a||r.push(`${n}: type 'json' requires value`);break;case`code`:typeof a.code!=`string`&&r.push(`${n}: type 'code' requires code (string)`);break;case`accordion`:if(Array.isArray(a.items)||r.push(`${n}: type 'accordion' requires items (array)`),Array.isArray(a.items))for(let e=0;e<a.items.length;e++){let o=q(a.items[e]);if(o===void 0){r.push(`${n}.items[${e}] must be an object`);continue}typeof o.title!=`string`&&r.push(`${n}.items[${e}].title must be a string`),i(o.items,t+1,`${n}.items[${e}].items`)}break;case`copy`:typeof a.text!=`string`&&r.push(`${n}: type 'copy' requires text (string)`);break;case`mermaid`:typeof a.code!=`string`&&r.push(`${n}: type 'mermaid' requires code (string)`);break;case`scene3d`:Array.isArray(a.meshes)||r.push(`${n}: type 'scene3d' requires meshes (array)`);break;case`timeline`:Array.isArray(a.items)||r.push(`${n}: type 'timeline' requires items (array)`);break;case`file-tree`:Array.isArray(a.items)||r.push(`${n}: type 'file-tree' requires items (array)`);break;case`breadcrumb`:Array.isArray(a.items)||r.push(`${n}: type 'breadcrumb' requires items (array)`);break;case`quiz`:typeof a.question!=`string`&&r.push(`${n}: type 'quiz' requires question (string)`),Array.isArray(a.options)||r.push(`${n}: type 'quiz' requires options (array)`);break;case`diagram`:typeof a.kind!=`string`&&r.push(`${n}: type 'diagram' requires kind (string)`),Array.isArray(a.nodes)||r.push(`${n}: type 'diagram' requires nodes (array)`),a.edges!==void 0&&!Array.isArray(a.edges)&&r.push(`${n}: type 'diagram' requires edges (array) when present`);break;case`echart`:a.option===void 0&&a.data===void 0&&a.series===void 0&&(!Array.isArray(a.links)||a.links.length===0)&&r.push(`${n}: type 'echart' requires option, data, series, or links`),c(`height`);break;default:r.push(`${n}: unknown type '${o}' (custom renderer?)`)}let l=Ou[o];l!==void 0&&Ju(a,n,l,r)}function Wd(e){let t=[],n=[],r=e=>{n.length>=32&&n.shift(),n.push(e)},i=!1,a=!1,o=0;for(;o<e.length;o++){let n=e[o];if(i){a?a=!1:n===`\\`?a=!0:n===`"`&&(i=!1);continue}if(n===`"`){i=!0;continue}if(n===`{`||n===`[`){t.push(n);continue}if(n===`}`||n===`]`){if(t.pop()!==(n===`}`?`{`:`[`))break;n===`}`&&t.length===2&&t[0]===`{`&&t[1]===`[`&&r({end:o+1,closingSuffix:`]}`}),t.length===0&&r({end:o+1,closingSuffix:``});continue}}n.sort((e,t)=>t.end-e.end);let s=[];for(let e of n)(s.length===0||s[s.length-1].end!==e.end)&&s.push(e);return{candidates:s.slice(0,32),scannedChars:o}}function Gd(e,t){try{let n=JSON.parse(e);return Hl(n)?n:t?Vl(n):null}catch{return null}}function Kd(e){let t=e.trim();if(t===``)return null;let n=Gd(t,!0);if(n!==null)return n;let{candidates:r}=Wd(t);for(let e of r){let n=Gd(t.slice(0,e.end)+e.closingSuffix,!1);if(n!==null)return n}return null}let qd={maxNodes:200,maxAppends:200},Jd=new Map,Yd=new Set;function Xd(){return{ops:new Map,seen:new Map,overflow:null,local:null,localBarrier:-1,replayBarrier:-1,maxSeenSeq:-1,snapshot:null}}let Zd=`dsh.genui.panel`;function Qd(){try{let e=localStorage.getItem(Zd);if(e===null)return{order:[],sessions:{}};let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.sessions!=`object`||t.sessions===null?{order:[],sessions:{}}:{order:t.order.filter(e=>typeof e==`string`),sessions:t.sessions}}catch{return{order:[],sessions:{}}}}function $d(e,t){try{let n=Qd(),r=n.order.filter(t=>t!==e);r.unshift(e);let i={...n.sessions,[e]:t};for(;r.length>50;){let e=r.pop();e!==void 0&&delete i[e]}localStorage.setItem(Zd,JSON.stringify({order:r,sessions:i}))}catch{}}function ef(e){let t=Jd.get(e);if(t!==void 0)return t;let n=Xd();try{let t=Qd().sessions[e];t!==void 0&&(n={ops:new Map,seen:new Map,overflow:null,local:t.local??null,localBarrier:t.localBarrier??-1,replayBarrier:t.maxSeenSeq??-1,maxSeenSeq:t.maxSeenSeq??-1,snapshot:t.snapshot??null})}catch{}return Jd.set(e,n),n}function tf(e,t){for(let n=0;n<3;n++){let r=e[n]-t[n];if(r!==0)return r}return 0}function nf(e,t){if(t!==null&&(t.order[0]<=e.localBarrier||t.order[0]<=e.replayBarrier||e.seen.has(t.sourceId)||e.overflow!==null&&e.overflow.sourceId===t.sourceId||t.mode===`append`&&e.overflow!==null&&tf(t.order,e.overflow.order)>0))return null;let n=[...e.ops.values()].filter(t=>t.order[0]>e.localBarrier&&t.order[0]>e.replayBarrier);t!==null&&n.push(t),n.sort((e,t)=>tf(e.order,t.order));let r=0;for(let e=0;e<n.length;e++){let t=n[e];t.mode===`replace`&&Ad(t.spec,qd.maxNodes+1)<=qd.maxNodes&&(r=e)}let i=e.local,a=null,o=0,s=[],c=e.maxSeenSeq;for(let e=r;e<n.length;e++){let t=n[e];if(t.order[0]>c&&(c=t.order[0]),t.mode===`replace`){if(Ad(t.spec,qd.maxNodes+1)>qd.maxNodes){(a===null||tf(t.order,a.order)<0)&&(a=t);continue}a=null,i=t.spec,s.length=0,o=0,s.push(t);continue}let r=hf(i,t.spec);if(o>=qd.maxAppends||Ad(r,qd.maxNodes+1)>qd.maxNodes){(a===null||tf(t.order,a.order)<0)&&(a=t);continue}i=r,o+=1,s.push(t)}return t!==null&&s.length===e.ops.size&&s.every(t=>e.ops.get(t.sourceId)?.mode===t.mode)&&(a===null&&e.overflow===null||a!==null&&e.overflow!==null&&a.sourceId===e.overflow.sourceId)?null:{snapshot:i,kept:s,overflow:a,maxSeenSeq:c}}function rf(e,t,n){e.snapshot=t.snapshot,e.overflow=t.overflow,e.maxSeenSeq=t.maxSeenSeq,e.ops=new Map(t.kept.map(e=>[e.sourceId,e]));for(let n of t.kept)e.seen.set(n.sourceId,n.order);t.overflow!==null&&e.seen.set(t.overflow.sourceId,t.overflow.order),$d(n,{snapshot:e.snapshot,local:e.local,localBarrier:e.localBarrier,maxSeenSeq:e.maxSeenSeq})}function af(e,t){let n=ef(e),r=nf(n,t);if(r===null)return n.seen.has(t.sourceId)||n.overflow?.sourceId===t.sourceId?`idempotent`:(n.overflow!==null&&t.mode===`append`&&tf(t.order,n.overflow.order)>0||sf(e,t,n),`blocked`);let i=r.overflow!==null&&r.overflow.sourceId===t.sourceId?`overflow`:`accepted`,a=n.snapshot!==r.snapshot;if(rf(n,r,e),a)for(let e of Yd)e();return i}let of=new Set;function sf(e,t,n){let r=`${e}\u0000${t.sourceId}`;of.has(r)||(of.add(r),console.warn(`[genui] 面板操作被重放屏障拒绝(source ${t.sourceId},order[0]=${t.order[0]} ≤ replayBarrier ${n.replayBarrier} / localBarrier ${n.localBarrier})。历史消息重放被拒是预期行为;若是刚发送的新消息,说明消息序号推导异常,请报告。`))}function cf(e,t){let n=ef(e),r=n.maxSeenSeq;if(n.local!==t||n.localBarrier!==r){n.local=t,n.localBarrier=r,rf(n,nf(n,null),e);for(let e of Yd)e()}}let lf=new Set;function uf(e,t){let n=`${e}\u0000${t}`;lf.has(n)||(lf.add(n),console.warn(`[genui] 面板已到节点/操作上限(${qd.maxNodes} 节点、${qd.maxAppends} 条追加),本次 append 被拒绝;请让模型发送 replace 更新面板。`))}function df(e){let t=Jd.delete(e),n=gf.delete(e),r=`${e}\u0000`;for(let e of lf)e.startsWith(r)&&lf.delete(e);for(let e of of)e.startsWith(r)&&of.delete(e);if(!(!t&&!n)){for(let e of Yd)e();for(let e of _f)e()}}function ff(e){return ef(e).snapshot}function pf(e){return Yd.add(e),()=>{Yd.delete(e)}}function mf(e){if(e.items.length!==1)return null;let t=e.items[0];return t?.type!==`tabs`||!Array.isArray(t.tabs)?null:t.tabs}function hf(e,t){if(e===null||e.items.length===0)return t;let n=e.title??t.title,r={...e,...n===void 0?{}:{title:n}},i=mf(e),a=mf(t);if(i!==null&&a!==null){let e=new Map(i.map(e=>[e.label,{label:e.label,items:[...e.items]}]));for(let t of a){let n=e.get(t.label);n===void 0?e.set(t.label,{label:t.label,items:[...t.items]}):n.items.push(...t.items)}return{...r,items:[{type:`tabs`,tabs:[...e.values()]}]}}return{...r,items:[...e.items,...t.items]}}let gf=new Map,_f=new Set;function vf(e){gf.set(e,(gf.get(e)??0)+1);for(let e of _f)e()}function yf(e){return gf.get(e)??0}function bf(e){return _f.add(e),()=>{_f.delete(e)}}function xf(e){try{return JSON.parse(e),!0}catch{return!1}}function Sf(e){try{return JSON.parse(e),null}catch(e){let t=e instanceof Error?e.message:String(e),n=t.match(/position (\d+)/i);return`${n===null?``:`(字符 ${n[1]} 附近)`}${t.slice(0,140)}`}}function Cf(e){try{return JSON.parse(e),null}catch{}let t=``,n=!1,r=!1,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r){t+=o,r=!1;continue}if(n&&o===`\\`){t+=o,r=!0;continue}if(o===`"`){if(!n){n=!0,t+=o;continue}let r=a+1;for(;r<e.length&&(e[r]===` `||e[r]===` `||e[r]===`
|
|
4
260
|
`||e[r]===`\r`);)r++;let s=r<e.length?e[r]:``;s===`,`||s===`]`||s===`}`||s===`:`||s===``?(n=!1,t+=o):(t+=`\\"`,i++);continue}if(o===`,`){let t=a+1;for(;t<e.length&&(e[t]===` `||e[t]===` `||e[t]===`
|
|
5
|
-
`||e[t]===`\r`);)t++;let n=t<e.length?e[t]:``;if(n===`}`||n===`]`||n===``){i++;continue}}t+=o}if(i===0)return null;try{return JSON.parse(t),{text:t,repairs:i}}catch{return null}}function
|
|
261
|
+
`||e[t]===`\r`);)t++;let n=t<e.length?e[t]:``;if(n===`}`||n===`]`||n===``){i++;continue}}t+=o}if(i===0)return null;try{return JSON.parse(t),{text:t,repairs:i}}catch{return null}}function wf(e){try{return JSON.parse(e),null}catch{}let t=``,n=[],r=!1,i=!1,a=0;for(let o=0;o<e.length;o++){let s=e[o];if(i){t+=s,i=!1;continue}if(r){if(s===`\\`){t+=s,i=!0;continue}if(s!==`"`){t+=s;continue}let n=o+1;for(;n<e.length&&(e[n]===` `||e[n]===` `||e[n]===`
|
|
6
262
|
`||e[n]===`\r`);)n++;let c=n<e.length?e[n]:``;c===`,`||c===`]`||c===`}`||c===`:`||c===``?(r=!1,t+=s):(t+=`\\"`,a++);continue}if(s===`"`){r=!0,t+=s;continue}if(s===`{`){n.push(`}`),t+=s;continue}if(s===`[`){n.push(`]`),t+=s;continue}if(s===`}`||s===`]`){n[n.length-1]===s?(n.pop(),t+=s):a++;continue}if(s===`,`){let t=o+1;for(;t<e.length&&(e[t]===` `||e[t]===` `||e[t]===`
|
|
7
|
-
`||e[t]===`\r`);)t++;let n=t<e.length?e[t]:``;if(n===`}`||n===`]`||n===``){a++;continue}}t+=s}for(r&&(t+=`"`,a++);n.length>0;)t+=n.pop(),a++;if(a===0)return null;try{return JSON.parse(t),{text:t,repairs:a}}catch{return null}}let Ya={margin:`0 0 6px`,padding:`6px 10px`,borderRadius:6,background:`rgba(239, 68, 68, 0.14)`,border:`1px solid rgba(239, 68, 68, 0.4)`,color:`#f87171`,fontSize:12,lineHeight:1.55,whiteSpace:`pre-wrap`};function Xa(e){let t=e.filter(e=>/(?:variant is unsupported|kind must be bars, line, or donut|requires data or series|(?:data|series) is required for|(?:\.data|\.series)(?:\[\d+\])?(?:\.(?:data|label|value|color))? must|series is only supported for bars)/.test(e));return t.length===0?null:t.join(`;`)}function Za(e){let t=va(e);if(t===null)return null;let n=ca(t);if(ua(n))return null;let r=Xa(n.errors);return r===null?`GenUI 字段验证失败:${n.errors.join(`;`)}`:`chart 字段验证失败:${r}`}function Qa({raw:e,fenceKey:t}){let n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!1);(0,m.useLayoutEffect)(()=>{let e=n.current;e!==null&&e.closest(`[data-streaming]`)===null&&i(!0)});let a=r?Za(e):null,o=r&&a===null&&e.trim()!==``?Ka(e):null;return(0,g.jsxs)(`div`,{ref:n,children:[a!==null&&(0,g.jsxs)(`div`,{style:Ya,role:`alert`,children:[`⚠️ dsh-ui `,a,` —— 围栏保持为代码块;请修正后重发。`]}),a===null&&o!==null&&(0,g.jsxs)(`div`,{style:Ya,role:`alert`,children:[`⚠️ dsh-ui fence JSON 解析失败`,o,` —— 围栏保持为代码块;请让模型检查并修复 JSON 后重发。`]}),(0,g.jsx)(p.CodeBlock,{...C,code:`${e}\n`,lang:`dsh-ui`},t)]})}function $a({sessionId:e,sourceId:t,order:n,spec:r}){return(0,m.useEffect)(()=>{ka(e,{sourceId:t,order:n,mode:r.append===!0?`append`:`replace`,spec:r})===`overflow`&&Pa(e,t)},[e,t,n,r]),null}function eo(e){let t=ca(e);return ua(t)?t.spec:null}function to(e,t){let n=va(e),r=n===null?null:eo(n);if(r===null){let n=qa(e);if(n!==null){let e=va(n.text);r=e===null?null:eo(e)}if(r===null&&t?.source!==void 0){let t=Ja(e);if(t!==null){let e=va(t.text);r=e===null?null:eo(e)}}}return r}function no(e,t,n){let r=t?.sessionId;return(0,g.jsx)(E,{label:`该界面`,children:(0,g.jsx)(gr,{spec:n,animateEntrance:t?.source===void 0,stateKey:r===void 0||t?.source===void 0?void 0:re(r,t.source.id,JSON.stringify(n))})},JSON.stringify([r,e]))}function ro(e,t,n){let r=to(e,n);return r===null?null:r.panel===!0?n!==void 0&&n.sessionId!==void 0&&n.source!==void 0?r.append===!0&&!Ga(e)?(0,g.jsx)(m.Fragment,{},t):(0,g.jsx)($a,{sessionId:n.sessionId,sourceId:n.source.id,order:n.source.order,spec:r},t):(0,g.jsx)(m.Fragment,{},t):no(t,n,r)}function io(e,t,n){let r=to(e,n);return r===null?(0,g.jsx)(Qa,{fenceKey:t,raw:e},t):r.panel===!0?n!==void 0&&n.sessionId!==void 0&&n.source!==void 0?r.append===!0&&!Ga(e)?null:(0,g.jsx)($a,{sessionId:n.sessionId,sourceId:n.source.id,order:n.source.order,spec:r},t):null:no(t,n,r)}let ao=`.md-code-block, .code-block, .code-block-small`,oo=`data-genui-rendered`,so=`[data-streaming]`,co=`genui-dom-fence`;function lo(e){let t=e.querySelectorAll(`pre`);if(t.length>1)return!1;let n=t[0]??null;for(let t of e.querySelectorAll(`p, ul, ol, dl, table, h1, h2, h3, h4, h5, h6, blockquote, hr, img, figure`))if(!(n!==null&&n.contains(t)))return!1;return!0}function uo(e){return(0,m.isValidElement)(e)&&e.type===m.Fragment}function fo(e){let t=e.trimStart();return t.length<8||!t.startsWith(`{`)?!1:/"(items|type|title|panel)"\s*:/.test(t)}function po(){return(0,g.jsxs)(`div`,{className:x.skeleton,role:`status`,"aria-label":`正在生成界面`,children:[(0,g.jsx)(`span`,{className:x.skeletonTitle}),(0,g.jsxs)(`span`,{className:x.skeletonBars,children:[(0,g.jsx)(`span`,{style:{width:`32%`}}),(0,g.jsx)(`span`,{style:{width:`52%`}}),(0,g.jsx)(`span`,{style:{width:`24%`}})]}),(0,g.jsx)(`span`,{className:x.skeletonBlock})]})}function mo(e){return e.nodeType===Node.TEXT_NODE}function ho(e){let t=e.querySelector(`pre`);for(let n of e.querySelectorAll(`*`)){if(n.childElementCount!==0||n.textContent!==`dsh-ui`||t!==null&&t.contains(n))continue;let r=n.closest(ao);if(r===null||r===e)return`dsh-ui`}return null}function go(e){let t=e.querySelector(`pre`);for(let n of e.querySelectorAll(`*`))if(n.childElementCount===0&&!(t!==null&&t.contains(n)))return n.textContent??``;return``}function _o(e){let t=e.querySelector(`pre`);if(t===null)return``;let n=``;for(let e of t.childNodes)mo(e),n+=e.textContent??``;return n}function vo(e){return e.closest(so)===null}function yo(e,t=document){let n=e.parentElement;for(let e=0;n!==null&&n!==t&&e<4;e+=1,n=n.parentElement)if(ho(n)===`dsh-ui`)return lo(n)?n:null;return null}function bo(e,t=document){let n=e.parentElement;for(let e=0;n!==null&&n!==t&&e<4;e+=1,n=n.parentElement)if(ho(n)===`dsh-ui`&&!lo(n))return n;return null}function xo(e=document){let t=new Set,n=[];for(let r of e.querySelectorAll(ao))(r.parentElement===null||r.parentElement.closest(ao)===null)&&(t.has(r)||lo(r)&&(n.push(r),t.add(r)));for(let r of e.querySelectorAll(`pre`)){if(r.closest(ao)!==null)continue;let i=yo(r,e);if(i===null){bo(r,e)!==null&&!Co&&(Co=!0,console.warn(`[dsh-genui] 跳过带 dsh-ui 标签但疑似消息容器的节点(含段落或多个代码体)——防止 DOM 通道隐藏整条消息(issue #19)`));continue}t.has(i)||(So||(So=!0,console.warn(`[dsh-genui] 围栏表面类名未被已知选择器命中(宿主 DOM 漂移),已按 label+pre 结构识别 dsh-ui 围栏`)),n.push(i),t.add(i))}return n}let So=!1,Co=!1,wo=h.createRoot,To=`[data-chat-flow-key], [data-chat-flow-kind]`;function Eo(e){return e.closest(`[data-chat-anchor-key]`)??e.closest(To)??e}function Do(e,t){let n=e===t?document:e,r=0;for(let e of xo(n))if(e.closest(so)===null&&ho(e)!==null&&(r+=1,e===t))return r;return r+1}function Oo(e){let t=e.getAttribute(`data-chat-anchor-key`)??``,n=/assistant-step(\d+):(\d+)$/.exec(t);if(n!==null){let e=Number(n[1]),t=Number(n[2]);if(Number.isFinite(e)&&Number.isFinite(t))return e*1e3+t}let r=document.querySelectorAll(`[data-chat-anchor-key], ${To}`);for(let t=0;t<r.length;t+=1)if(r[t]===e)return t;return 0}function ko(e,t){if(typeof document>`u`)return()=>{};So=!1,Co=!1;let n=new Map,r=!1,i=null,a=()=>{try{return e.sessions.list.getSnapshot().current}catch{return}};function o(e,t,n){n&&e.getAttribute(`data-chat-anchor-key`)===null&&l(t,`no [data-chat-anchor-key] ancestor for a dsh-ui fence (host render path without row anchor — e.g. Safari); using fallback identity dom:unknown:N`);let r=Do(e,t),i=`dom:${e.getAttribute(`data-chat-anchor-key`)??`unknown`}:${r}`,o=a();return{key:i,context:{...o===void 0?{}:{sessionId:o},...n?{source:{id:i,order:[Oo(e),0,r]}}:{}}}}function s(e){let t=n.get(e);t!==void 0&&(n.delete(e),t.root.unmount(),t.container.remove(),e.style.display=``,e.removeAttribute(oo))}let c=new WeakSet;function l(e,t){c.has(e)||(c.add(e),console.warn(`[dsh-genui] ${t}`))}function u(e){if(e.hasAttribute(oo))return;let r=Eo(e),i=vo(e);if(i&&ho(e)===null)return;let s=_o(e);if(s.trim()===``){i&&l(e,`settled dsh-ui fence has an empty body; keeping the code block`);return}let{key:c,context:u}=o(r,e,i),d=ro(s,c,u),f=d;if(f===null){if(i||!fo(s)){i&&l(e,`settled dsh-ui fence body does not parse; keeping the code block`);return}f=(0,g.jsx)(po,{})}let p=document.createElement(`div`);p.className=co,e.after(p);let m;try{m=wo(p)}catch(t){p.remove(),l(e,`failed to create a React root for a dsh-ui fence (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}try{m.render((0,g.jsx)(v.Provider,{value:(e,n)=>{let r=a();r!==void 0&&t(r,e,n)},children:f}))}catch(t){try{m.unmount()}catch{}p.remove(),l(e,`failed to mount a dsh-ui fence (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}e.style.display=`none`,e.setAttribute(oo,``),n.set(e,{root:m,container:p,block:e,lastRaw:s,lastSettled:i,lastNode:f,skeleton:d===null})}function d(){for(let e of Array.from(n.values())){let t=e.block;if(!t.isConnected){e.container.isConnected&&s(t);continue}if((e.container.parentElement!==t.parentElement||e.container.previousElementSibling!==t)&&t.after(e.container),!e.container.isConnected){t.style.display=``,t.removeAttribute(oo),n.delete(t);try{e.root.unmount()}catch{}e.container.remove(),l(t,`dsh-ui replacement container could not be re-attached after a host re-render; restoring the stock code block`);continue}t.style.display!==`none`&&(t.style.display=`none`),t.hasAttribute(oo)||t.setAttribute(oo,``)}}function f(){if(!r){for(let[e,r]of n){if(!e.isConnected){s(e);continue}let i=_o(e),c=vo(e);if(c&&!r.lastSettled){let t=go(e);if(t!==``&&t!==`dsh-ui`){s(e);continue}}let u=!uo(r.lastNode)&&r.container.childElementCount===0;if(r.lastRaw!==i||r.lastSettled!==c||u){let{key:d,context:f}=o(Eo(e),e,c),p=ro(i,d,f);if(p===null){if(r.skeleton&&!c){r.lastRaw=i,r.lastSettled=c;continue}s(e);continue}if(u){try{r.root.unmount()}catch{}let i=document.createElement(`div`);i.className=co,r.container.remove(),e.after(i);try{let e=wo(i);e.render((0,g.jsx)(v.Provider,{value:(e,n)=>{let r=a();r!==void 0&&t(r,e,n)},children:p})),r.root=e,r.container=i}catch(t){i.remove(),e.style.display=``,e.removeAttribute(oo),n.delete(e),l(e,`failed to rebuild a wiped dsh-ui mount (${t instanceof Error?t.message:String(t)}); restoring the stock code block`);continue}}else try{r.root.render((0,g.jsx)(v.Provider,{value:(e,n)=>{let r=a();r!==void 0&&t(r,e,n)},children:p}))}catch(t){s(e),l(e,`failed to re-render a dsh-ui fence (${t instanceof Error?t.message:String(t)}); restoring the stock code block`);continue}r.lastRaw=i,r.lastSettled=c,r.lastNode=p,r.skeleton=!1}}d();for(let e of xo())u(e)}}let p=()=>{r||i!==null||(i=requestAnimationFrame(()=>{i=null,!r&&f()}))},m=new MutationObserver(e=>{for(let t of[...e].reverse()){if(t.removedNodes.length===0||t.target.childNodes.length>0)continue;let e=[...n.values()].find(e=>e.container===t.target);e===void 0||!e.block.isConnected||uo(e.lastNode)||e.container.append(...t.removedNodes)}d(),p()});m.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-streaming`],characterData:!0});let h=window.setInterval(f,1e3);return f(),()=>{r=!0,m.disconnect(),window.clearInterval(h),i!==null&&(cancelAnimationFrame(i),i=null);for(let e of Array.from(n.keys()))s(e)}}let Ao={title:`GenUI 面板`,items:[{type:`text`,size:`h3`,content:`GenUI 生成式界面`},{type:`text`,size:`muted`,content:`面板会原地更新:对话里说「更新面板」,或再次执行 /panel 刷新。`},{type:`grid`,cols:4,items:[{type:`stat`,label:`组件`,value:`38`},{type:`stat`,label:`单个`,value:`12`},{type:`stat`,label:`组合`,value:`8`},{type:`stat`,label:`高级`,value:`18`}]},{type:`list`,items:[{title:`单个 ×12`,desc:`text button input select checkbox link badge stat progress divider avatar spacer`},{title:`组合 ×8`,desc:`row col grid card list table chart tabs`},{title:`数据 ×7`,desc:`plot callout steps keyvalue diff json code`},{title:`交互 ×5`,desc:`radio switch textarea accordion copy`},{title:`高级 ×5`,desc:`mermaid scene3d timeline file-tree breadcrumb`},{title:`教学 ×1`,desc:`quiz`}]},{type:`callout`,tone:`info`,title:`更新方式`,content:`对话说「更新面板」→ 模型输出 panel:true 围栏;/panel clear 清空面板。`}]};function jo(e,t){let n=t.trim().toLowerCase();if(n===`clear`||n===`off`||n===`close`){Ma(e,null);return}Ma(e,Ao),Ha(e)}function Mo(e,t){return{token:`/panel`,hint:`开启 GenUI 面板;/panel <指令> 让模型定制;/panel clear 清空`,submit:async(n,r)=>{let i=n.trim();return i===``?jo(e,``):/^(clear|off|close)$/i.test(i)?jo(e,i):(jo(e,``),t(e,i)),{kind:`success`}}}}function No(e){return{trigger:`/`,name:`genui`,order:60,candidates:async(e,t)=>{let n=t.query.toLowerCase();return n!==``&&!`panel`.startsWith(n)?[]:[{name:`panel`,description:`开启 GenUI 面板(/panel clear 清空;/panel <指令> 定制内容)`,hint:`/panel`}]},onPick(t){return{claim:Mo(t.session.sessionId,e)}},matchEnter:async(t,n,r)=>{if(/^\/panel(?:\s|$)/.test(n.trim()))return{claim:Mo(t.sessionId,e)}}}}let Po=[{id:`tpl-dashboard`,category:`仪表盘`,name:`项目仪表盘`,description:`一张卡片汇总核心指标:数字 + 环比 + 进度条,决策一眼可见。`,instruction:`请用 dsh-ui 给当前项目做一个仪表盘:4 个关键指标的 stat 卡片(带环比 delta)、整体进度 progress 条、今天的 3 件待办 list。标题用「项目仪表盘」。`,demo:{title:`项目仪表盘(示例)`,gap:12,items:[{type:`card`,title:`本周关键指标`,items:[{type:`grid`,cols:2,items:[{type:`stat`,label:`本周完成`,value:`12 / 18`,delta:`+4`},{type:`stat`,label:`阻塞事项`,value:`2`,delta:`-1`},{type:`stat`,label:`平均耗时`,value:`3.2h`,delta:`-8%`},{type:`stat`,label:`覆盖率`,value:`86%`}]}]},{type:`card`,title:`整体进度`,items:[{type:`progress`,label:`v1.0 里程碑`,value:68,valueLabel:`68 / 100`}]},{type:`card`,title:`今日待办`,items:[{type:`list`,items:[`评审 M1 模板中心 PR`,`同步 vendor 到 SSiD`,`周三周会材料`]}]}]}},{id:`tpl-compare`,category:`数据`,name:`方案对比表`,description:`多方案逐维度对照,表格直接可读,争议点一目了然。`,instruction:`请用 dsh-ui 把以下方案的对比做成一张 table:方案 A/B/C × 维度(成本/复杂度/风险/收益),列首高亮推荐项;顶部加一行 callout 说明结论。`,demo:{title:`方案对比(示例)`,items:[{type:`callout`,tone:`info`,title:`结论`,content:`方案 B 综合最优:成本中、复杂度低、风险低。`},{type:`table`,columns:[`维度`,`方案 A`,`方案 B ★`,`方案 C`],rows:[[`成本`,`高`,`中`,`低`],[`复杂度`,`高`,`中`,`低`],[`风险`,`低`,`低`,`高`],[`收益`,`大`,`中`,`小`]]}]}},{id:`tpl-steps`,category:`流程`,name:`五步上手流程`,description:`关键步骤排成时间线,每步一句要点,适合教程/交接/发布流程。`,instruction:`请用 dsh-ui 把操作步骤做成 steps 教程:5 步(按实际流程),每步标题 + 一两句要点,顶部用 badge 标出预计耗时。`,demo:{title:`上手流程(示例)`,items:[{type:`badge`,label:`约 5 分钟`,tone:`accent`},{type:`steps`,current:2,steps:[{title:`安装插件`,desc:`从插件中心安装,或 npm 安装到 profile`},{title:`发送第一条指令`,desc:`让模型用 dsh-ui 输出一个界面`},{title:`体验交互`,desc:`点按钮/判卷/切 tab,动作会回传模型`},{title:`常驻面板`,desc:`模型用 panel:true 把结果钉在会话面板`},{title:`进阶组件`,desc:`图表/流程/3D 按需懒加载`}]}]}},{id:`tpl-quiz`,category:`测验`,name:`随堂测验`,description:`一题一答即时判卷:选中即知对错,附讲解,适合培训问答。`,instruction:`请用 dsh-ui 出 3 道随堂测验(quiz 组件:question + options,其中一项 correct,附 explanation),标题「随堂测验」,每题即选即评。`,demo:{title:`随堂测验(示例)`,gap:10,items:[{type:`text`,content:`选中即判卷并显示讲解。`,size:`muted`},{type:`quiz`,id:`q-dsh`,question:`DSH 插件的最小单位是?`,options:[{label:`服务`},{label:`插件(cordis 插件)`,correct:!0,feedback:`✓ 一切皆插件:服务、工具、UI 都通过插件注册。`},{label:`工具`}],explanation:`DSH 基于 cordis,任何能力(含服务与工具)都以插件形式注册。`},{type:`quiz`,id:`q-fence`,question:`dsh-ui 围栏由谁输出?`,options:[{label:`用户`},{label:`模型`,correct:!0,feedback:`✓ 模型在回复中输出 dsh-ui fence。`},{label:`宿主`}],explanation:`模型输出 fence,渲染器将其画成真实组件。`},{type:`quiz`,id:`q-panel`,question:`panel:true 的围栏渲染到哪里?`,options:[{label:`消息流`},{label:`会话面板 dock`,correct:!0,feedback:`✓ 面板更新不刷屏。`},{label:`设置页`}]}]}},{id:`tpl-stats`,category:`数据`,name:`关键值 + 进度`,description:`一次交付:数值、进度、里程碑三件套,周报/复盘通用。`,instruction:`请用 dsh-ui 总结本周关键数据:keyvalue 列 3 组关键值、两根 progress 进度(计划 vs 实际)、timeline 放 3 个里程碑,标题「周报速览」。`,demo:{title:`周报速览(示例)`,items:[{type:`keyvalue`,pairs:[{key:`完成项`,value:`12`},{key:`延期`,value:`1`},{key:`风险`,value:`2(均已有缓解)`}]},{type:`progress`,label:`计划进度`,value:75,valueLabel:`75%`},{type:`progress`,label:`实际进度`,value:82,valueLabel:`82%`},{type:`timeline`,items:[{title:`周一`,desc:`完成 M1 开发`,time:`08-25`},{title:`周三`,desc:`全链路验证通过`,time:`08-27`},{title:`周五`,desc:`发布 0.9.4`,time:`08-29`}]}]}},{id:`tpl-chart`,category:`图表`,name:`趋势柱状图`,description:`数据直接画成柱状图,多序列对比,走势一眼看清。`,instruction:`请用 dsh-ui 把下列数据画成 chart(bars,多序列):近 6 周完成量 vs 计划量;图表上方给一句趋势结论。`,demo:{title:`趋势对比(示例)`,items:[{type:`text`,content:`结论:近 3 周完成量连续上升,本周首次反超计划。`},{type:`chart`,kind:`line`,data:[{label:`W21`,value:8},{label:`W22`,value:10},{label:`W23`,value:9},{label:`W24`,value:12},{label:`W25`,value:15},{label:`W26`,value:18}]}]}},{id:`tpl-tabs`,category:`交互`,name:`分标签页`,description:`一大块内容拆成标签页,锚点清晰;面板不挤、消息不刷屏。`,instruction:`请用 dsh-ui 把内容分成 tabs 三个标签:概览/明细/FAQ,每个标签 3 条以内要点;标题「功能速览」。`,demo:{title:`功能速览(示例)`,items:[{type:`tabs`,tabs:[{label:`概览`,items:[{type:`text`,content:`三项能力:实时渲染、交互回传、常驻面板。`}]},{label:`明细`,items:[{type:`list`,items:[`渲染:fence 增量解析,边流边出`,`交互:动作回传模型增量更新`,`面板:会话级 dock,折叠/调高`]}]},{label:`FAQ`,items:[{type:`text`,content:`问:不动模型会怎样?答:组件仍可本地判卷/展开。`}]}]}]}},{id:`tpl-checklist`,category:`流程`,name:`交付检查清单`,description:`提交前逐项打勾:清单即流程,漏项看得见。`,instruction:`请用 dsh-ui 做一张交付检查清单:6 项(测试/文档/发布/回滚/监控/公告),checkbox 可勾选,顶部 badge 提示「全部勾选再合并」。`,demo:{title:`交付清单(示例)`,items:[{type:`badge`,label:`全部勾选再合并`,tone:`warn`},{type:`list`,items:[{type:`checkbox`,label:`单元测试通过`},{type:`checkbox`,label:`文档同步`},{type:`checkbox`,label:`发布套餐就绪`},{type:`checkbox`,label:`回滚预案`}]}]}},{id:`tpl-accordion`,category:`高级`,name:`FAQ 手风琴`,description:`一问一答收在折叠面板里,长文档变短,回答不吓人。`,instruction:`请用 dsh-ui 做 FAQ 手风琴(accordion):5 个高频问题,标题栏就是问题、展开一条给答案;第一问默认展开。`,demo:{title:`FAQ(示例)`,items:[{type:`accordion`,items:[{title:`支持哪些图表?`,items:[{type:`text`,content:`chart(bars/line/donut)、plot 函数图、echart 全功能图表。`}]},{title:`面板能持久吗?`,items:[{type:`text`,content:`同一内容指纹刷新/重放恢复状态;新内容重置。`}]},{title:`交互会打扰模型吗?`,items:[{type:`text`,content:`带 action 的组件才回传;纯展示组件零往返。`}]}]}]}},{id:`tpl-diagram`,category:`高级`,name:`系统架构图`,description:`框架图画成 SVG:节点分层、连接线、分区标注,比截图清楚。`,instruction:`请用 dsh-ui 画一幅架构图(diagram):描述当前系统的 5 个节点与连接(kind: architecture 或 flowchart),包含一个安全区 zone。`,demo:{title:`架构图(示例)`,items:[{type:`diagram`,kind:`flowchart`,title:`DSH 插件链路`,nodes:[{id:`a`,label:`模型`,x:20,y:20,w:120,h:48},{id:`b`,label:`插件`,x:20,y:120,w:120,h:48},{id:`c`,label:`宿主`,x:200,y:70,w:120,h:48}],edges:[{from:`a`,to:`b`},{from:`b`,to:`c`}]}]}},{id:`tpl-3d`,category:`高级`,name:`3D 场景`,description:`一个可旋转的 3D 场景:产品演示/空间示意用得上。`,instruction:`请用 dsh-ui 渲染一个 3D 场景(scene3d):一个立方体 + 一个球体,标题「示例场景」,附一句使用场景说明。`,demo:{title:`3D 场景(示例)`,items:[{type:`text`,content:`首次加载需下载 three.js(约 700KB,懒加载),之后走缓存。`,size:`muted`},{type:`scene3d`,title:`示例场景`,meshes:[{shape:`box`,size:1,color:`#4FC3F7`,position:[-1.2,0,0]},{shape:`sphere`,size:.6,color:`#81C784`,position:[1.2,0,0]}]}]}},{id:`tpl-breadcrumb`,category:`数据`,name:`路径面包屑`,description:`长路径拆成面包屑:文件位置、组织层级一读就懂。`,instruction:`请用 dsh-ui 展示当前工作区结构:breadcrumb 显示文件路径(4 段)、file-tree 描述项目目录(3 个目录、每个 2 个子项)。`,demo:{title:`目录结构(示例)`,items:[{type:`breadcrumb`,items:[`工作区`,`dsh-genui`,`src`,`client`]},{type:`file-tree`,items:[{name:`src`,type:`dir`,children:[{name:`client`,type:`dir`,children:[{name:`panel.tsx`},{name:`templates.ts`}]},{name:`index.tsx`}]},{name:`tests`,type:`dir`,children:[{name:`templates.spec.ts`}]}]}]}}],Fo=`@changfenhuang/dsh-genui/TemplateDrawer.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(Fo)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=Fo,e.textContent=`.fEkRPW_wrap{flex-direction:column;gap:12px;min-height:0;padding:12px 14px;display:flex;overflow:auto}.fEkRPW_achievements{flex-direction:column;gap:8px;min-height:0;display:flex;overflow:auto}.fEkRPW_cats{flex-wrap:wrap;gap:8px;display:flex}.fEkRPW_cat{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-label-secondary,var(--dsl-g-font-muted-fallback,#fff9));cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:12px;line-height:1.5}.fEkRPW_cat:hover{background:var(--dsw-alias-fill-hover,#ffffff0f)}.fEkRPW_catActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 14%, transparent)}.fEkRPW_list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.fEkRPW_card{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-2,#ffffff0a);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.fEkRPW_card:hover{border-color:var(--dsw-alias-border-l2,#fff3)}.fEkRPW_cardActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7)}.fEkRPW_cardName{font-size:13px;font-weight:600;line-height:1.5}.fEkRPW_cardMeta{color:var(--dsw-alias-label-tertiary,#ffffff73);font-size:11px}.fEkRPW_cardDesc{color:var(--dsw-alias-label-secondary,#fff9);font-size:12px;line-height:1.5}.fEkRPW_detail{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);flex-direction:column;gap:8px;padding-top:12px;display:flex}.fEkRPW_toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fEkRPW_toolbarTitle{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:600}.fEkRPW_try,.fEkRPW_copy{border-radius:var(--dsl-g-radius-control,8px);cursor:pointer;border:1px solid #0000;padding:5px 12px;font-size:12px;line-height:1.5}.fEkRPW_try{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 14%, transparent)}.fEkRPW_try:hover{background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 22%, transparent)}.fEkRPW_copy{border-color:var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-label-secondary,#fff9);background:0 0}.fEkRPW_preview{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-1,#00000014);min-height:0;padding:12px;overflow:auto}`,document.head.appendChild(e)}var $={achievements:`fEkRPW_achievements`,card:`fEkRPW_card`,cardActive:`fEkRPW_cardActive`,cardDesc:`fEkRPW_cardDesc`,cardMeta:`fEkRPW_cardMeta`,cardName:`fEkRPW_cardName`,cat:`fEkRPW_cat`,catActive:`fEkRPW_catActive`,cats:`fEkRPW_cats`,copy:`fEkRPW_copy`,detail:`fEkRPW_detail`,list:`fEkRPW_list`,preview:`fEkRPW_preview`,toolbar:`fEkRPW_toolbar`,toolbarTitle:`fEkRPW_toolbarTitle`,try:`fEkRPW_try`,wrap:`fEkRPW_wrap`};let Io=[`全部`,`仪表盘`,`数据`,`流程`,`图表`,`交互`,`测验`,`高级`];function Lo(e){return navigator.clipboard===void 0?new Promise((t,n)=>{try{let n=document.createElement(`textarea`);n.value=e,n.style.position=`fixed`,n.style.opacity=`0`,document.body.appendChild(n),n.select(),document.execCommand(`copy`),n.remove(),t()}catch(e){n(e instanceof Error?e:Error(String(e)))}}):navigator.clipboard.writeText(e)}function Ro({onUse:e,tab:t}){let[n,r]=(0,m.useState)(`全部`),[i,a]=(0,m.useState)(null),[o,s]=(0,m.useState)(!1),c=(0,m.useRef)(0),l=(0,m.useSyncExternalStore)(ke,()=>De()),u=(0,m.useMemo)(()=>ue(l.state,l.unlocked),[l]),d=(0,m.useMemo)(()=>n===`全部`?[...Po]:Po.filter(e=>e.category===n),[n]),f=async e=>{try{await Lo(e),s(!0),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s(!1),1500)}catch{}};return(0,g.jsx)(`div`,{className:$.wrap,"data-genui-templates":t===`templates`?void 0:`achievements`,children:t===`achievements`?(0,g.jsx)(`div`,{className:$.achievements,"data-genui-achievements":!0,children:(0,g.jsx)(E,{label:`成就页`,children:(0,g.jsx)(gr,{spec:u,stateKey:ie(`genui-achievements`,JSON.stringify(u))})})}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:$.cats,role:`tablist`,"aria-label":`模板分类`,children:Io.map(e=>(0,g.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":n===e,className:`${$.cat}${n===e?` ${$.catActive}`:``}`,onClick:()=>{r(e),a(null)},children:e},e))}),(0,g.jsx)(`div`,{className:$.list,children:d.map(e=>(0,g.jsxs)(`button`,{type:`button`,className:`${$.card}${i?.id===e.id?` ${$.cardActive}`:``}`,onClick:()=>a(t=>t?.id===e.id?null:e),children:[(0,g.jsx)(`span`,{className:$.cardName,children:e.name}),(0,g.jsx)(`span`,{className:$.cardMeta,children:e.category}),(0,g.jsx)(`span`,{className:$.cardDesc,children:e.description})]},e.id))}),i!==null&&(0,g.jsxs)(`div`,{className:$.detail,"data-genui-template-preview":!0,children:[(0,g.jsxs)(`div`,{className:$.toolbar,children:[(0,g.jsx)(`span`,{className:$.toolbarTitle,children:i.name}),(0,g.jsx)(`button`,{type:`button`,className:$.try,onClick:()=>e(i.instruction),children:`试用:插入输入框`}),(0,g.jsx)(`button`,{type:`button`,className:$.copy,onClick:()=>void f(i.instruction),children:o?`✓ 已复制`:`复制指令`})]}),(0,g.jsx)(`div`,{className:$.preview,children:(0,g.jsx)(E,{label:`模板预览`,children:(0,g.jsx)(gr,{spec:i.demo,stateKey:ie(`genui-tpl`,i.id)})})})]})]})})}let zo=`dsh.genui.panel-hint`;function Bo({sessionId:e,sendGenuiAction:t,insertTemplate:n}){let r=(0,m.useSyncExternalStore)(La,()=>Ia(e)),i=(0,m.useSyncExternalStore)(Wa,()=>Ua(e)),[a,o]=(0,m.useState)(!0),[s,c]=(0,m.useState)(null),[l,u]=(0,m.useState)(!1),d=(0,m.useRef)(null),f=(0,m.useRef)(null),[h,_]=(0,m.useState)(null),[y,b]=(0,m.useState)(null),S=(0,m.useRef)(0),C=r!==null&&r.items.length>0,[w,T]=(0,m.useState)(()=>{try{return C&&localStorage.getItem(zo)!==`1`}catch{return C}});(0,m.useEffect)(()=>{if(!w)return;let e=window.setTimeout(()=>{try{localStorage.setItem(zo,`1`)}catch{}T(!1)},6e3);return()=>window.clearTimeout(e)},[w]),(0,m.useEffect)(()=>{C&&we()},[C]),(0,m.useEffect)(()=>{i>0&&o(!1)},[i]),(0,m.useEffect)(()=>()=>{Fa(e)},[e]),(0,m.useEffect)(()=>{if(l)return()=>{d.current=null}},[l]),(0,m.useEffect)(()=>()=>window.clearTimeout(S.current),[]);let D=(0,m.useCallback)(e=>{e.preventDefault();let t=e.currentTarget,n=s??360;d.current={y:e.clientY,height:n},u(!0);try{t.setPointerCapture(e.pointerId)}catch{}let r=e=>{let t=d.current;if(t===null)return;let n=Math.min(600,Math.max(120,t.height+(t.y-e.clientY)));c(n)},i=()=>{d.current=null,u(!1),t.removeEventListener(`pointermove`,r),t.removeEventListener(`pointerup`,i),t.removeEventListener(`pointercancel`,i)};t.addEventListener(`pointermove`,r),t.addEventListener(`pointerup`,i),t.addEventListener(`pointercancel`,i)},[s]);if(!C)return null;let O=e=>{b(e),window.clearTimeout(S.current),S.current=window.setTimeout(()=>b(null),2500)};return(0,g.jsxs)(`div`,{className:x.panel,"data-genui-panel":!0,children:[!a&&(0,g.jsx)(`div`,{role:`separator`,"aria-orientation":`horizontal`,"aria-label":`调整面板高度`,className:`${x.panelResizeHandle}${l?` ${x.panelResizeHandleActive}`:``}`,onPointerDown:D}),(0,g.jsxs)(`div`,{className:x.panelHeader,children:[(0,g.jsxs)(`button`,{type:`button`,className:x.panelToggle,"aria-expanded":!a,onClick:()=>o(e=>!e),children:[(0,g.jsx)(`span`,{className:x.panelBadge,children:`面板`}),(0,g.jsx)(`span`,{className:x.panelTitle,children:r?.title??(h===null?`GenUI 面板`:`GenUI 探索`)}),(0,g.jsx)(`span`,{className:x.panelChevron,"aria-hidden":!0,children:a?(0,g.jsx)(p.IconChevronUpOutline14,{}):(0,g.jsx)(p.IconChevronDownOutline14,{})})]}),(0,g.jsx)(`button`,{type:`button`,className:`${x.panelTpl}${h===`templates`?` ${x.panelTplActive}`:``}`,"aria-label":`模板中心`,title:`模板中心:预览并试用 GenUI 示例`,onClick:()=>{o(!1),_(e=>e===`templates`?null:`templates`)},children:`模板`}),(0,g.jsx)(`button`,{type:`button`,className:`${x.panelTpl}${h===`achievements`?` ${x.panelTplActive}`:``}`,"aria-label":`探索成就`,title:`探索成就:解锁徽章与进度`,onClick:()=>{o(!1),_(e=>e===`achievements`?null:`achievements`)},children:`成就`}),(0,g.jsx)(`button`,{type:`button`,className:x.panelClose,"aria-label":`关闭面板`,title:`关闭面板`,onClick:()=>Ma(e,null),children:(0,g.jsx)(`span`,{"aria-hidden":!0,children:`✕`})})]}),w&&h===null&&(0,g.jsx)(`div`,{className:x.panelHint,role:`status`,children:`💡 这是 GenUI 会话面板:点右上角「模板」可浏览并试用示例`}),!a&&(0,g.jsx)(`div`,{ref:f,className:x.panelBody,"data-genui-panel-body":!0,style:s===null?void 0:{height:s},children:h===null?r===null?null:(0,g.jsx)(v.Provider,{value:t,children:(0,g.jsx)(E,{label:`面板`,children:(0,g.jsx)(gr,{spec:r,stateKey:ie(e,JSON.stringify(r))})})}):(0,g.jsx)(Ro,{tab:h,onUse:e=>{Ee(),n(e),O(`指令已插入输入框,发送即可让模型生成`)}})}),y!==null&&(0,g.jsx)(`div`,{className:x.panelFlash,role:`status`,children:y})]})}function Vo({toolName:e,block:t,sessionId:n}){let r=`meta`in t?t.meta:void 0,i=(0,m.useMemo)(()=>r===void 0?null:ta(r),[r]);return(0,m.useEffect)(()=>{i!==null&&i.items.length>0&&ka(n,{sourceId:JSON.stringify([`render_ui`,t.callId]),order:[`seq`in t&&typeof t.seq==`number`?t.seq:0,-1,0],mode:`replace`,spec:i})},[n,i,t]),i===null||i.items.length===0?(0,g.jsxs)(`div`,{className:x.toolFallback,"data-genui-tool":!0,children:[(0,g.jsx)(`span`,{className:x.toolFallbackTitle,children:e}),(0,g.jsx)(`span`,{className:x.toolFallbackMeta,children:t.callId})]}):(0,g.jsx)(`div`,{className:x.tool,"data-genui-tool":!0,children:(0,g.jsx)(E,{label:`工具卡片`,children:(0,g.jsx)(gr,{spec:i,stateKey:ae(n,t.callId)})})})}let Ho=0;function Uo(){let[,e]=(0,m.useSyncExternalStore)(ke,()=>``),[t,n]=(0,m.useState)([]),r=(0,m.useRef)(new Map);return(0,m.useEffect)(()=>{let e=Oe();if(e.length===0)return;let t=e.map(e=>({key:++Ho,ach:e}));n(e=>[...e,...t]);for(let e of t){let t=window.setTimeout(()=>{n(t=>t.filter(t=>t.key!==e.key)),r.current.delete(e.key)},3600);r.current.set(e.key,t)}},[e]),(0,m.useEffect)(()=>()=>{for(let e of r.current.values())window.clearTimeout(e)},[]),t.length===0?null:(0,m.createElement)(`div`,{className:x.achToasts,"data-genui-achievement-toasts":!0},t.map(e=>(0,m.createElement)(`div`,{key:e.key,className:x.achToast},(0,m.createElement)(`span`,{className:x.achToastBadge,"aria-hidden":!0},`🏆`),(0,m.createElement)(`div`,{className:x.achToastBody},(0,m.createElement)(`div`,{className:x.achToastName},`成就解锁:${e.ach.name}`),(0,m.createElement)(`div`,{className:x.achToastDesc},e.ach.description)))))}function Wo(){if(typeof document>`u`)return()=>{};let e=document.createElement(`div`);e.dataset.dshGenuiAchievements=`1`,document.body.appendChild(e);let t=(0,h.createRoot)(e);return t.render((0,m.createElement)(Uo)),()=>{t.unmount(),e.remove()}}zt();function Go(){if(!(typeof document>`u`))for(let e of[`mermaid.js`,`three.js`]){if(document.head.querySelector(`link[rel="prefetch"][href="${Pt(e)}"]`)!==null)continue;let t=document.createElement(`link`);t.rel=`prefetch`,t.as=`script`,t.href=Pt(e),document.head.appendChild(t)}}function Ko(e,t){let n=e.sessions.scope(t),r=n?.get(`conversation`);return{sessionId:t,sendGenuiAction:(e,n)=>{if(r===void 0)return;let i=Object.keys(n).length===0?``:` 组件数据: ${JSON.stringify(n)}`;r.send(`[genui-action] ${e}。用户刚刚在面板中触发了动作 "${e}",请根据组件数据执行相应操作,只输出一个 panel:true 的 dsh-ui 围栏来更新面板,回复文本至多一行 10 字以内的确认(如"已刷新"),不要解释、不要普通围栏。${i}`).catch(n=>{console.warn(`[genui] 面板动作 "${e}" 发送失败(session ${t}):`,n instanceof Error?n.message:String(n))})},insertTemplate:e=>{(r?.input?.for?.(n))?.setDraft(e)}}}function qo(e,t,n){let r=e.sessions.scope(t)?.get(`conversation`);r!==void 0&&r.send(`用户执行了 /panel 并请求:${n}。请只输出一个 panel:true 的 dsh-ui 围栏来更新会话面板,内容按请求定制;回复文本至多一行 10 字以内的确认(如"已更新"),不要解释、不要普通围栏。`).catch(e=>{console.warn(`[genui] /panel 指令发送失败(session ${t}):`,e instanceof Error?e.message:String(e))})}function Jo(e,t,n,r){let i=e.sessions.scope(t)?.get(`conversation`);if(i===void 0)return;let a=Object.keys(r).length===0?``:` 组件数据: ${JSON.stringify(r)}`;i.send(`[genui-action] ${n}。用户刚刚在界面中触发了动作 "${n}",请根据组件数据执行相应操作,并用 dsh-ui 输出更新后的界面。${a}`).catch(()=>{})}function Yo(){return globalThis.__DSH_GENUI_E2E__===!0}function Xo(e){let t=p.registerFenceRenderer,n=typeof t==`function`&&!Yo();console.info(`[genui] client active; fence-channel=${n?`registry`:`dom`}`);let r=n?[t(`dsh-ui`,io)]:[ko(e,(t,n,r)=>Jo(e,t,n,r))];return Go(),r.push(Wo()),r.push(e.slots.inject(`tool.call.toolview`,()=>e.slots.register({name:`tool.call.toolview`,key:`render_ui`},Vo))),r.push(e.slots.inject(`conversation.input.dock`,()=>e.slots.register({name:`conversation.input.dock`,id:`genui-panel`,order:50,inject:t=>Ko(e,t)},Bo))),e.inject([`inputTriggers`],t=>{let n=t.get(`inputTriggers`);n!==void 0&&t.effect(()=>n.registerSource(No((t,n)=>qo(e,t,n))),`genui: /panel`)}),()=>{for(let e of r)e()}}return n.apply=Xo,n.inject=[`slots`,`sessions`],n.prefetchGenuiAssets=Go,n.renderGenuiFence=io,t.exports}});
|
|
263
|
+
`||e[t]===`\r`);)t++;let n=t<e.length?e[t]:``;if(n===`}`||n===`]`||n===``){a++;continue}}t+=s}for(r&&(t+=`"`,a++);n.length>0;)t+=n.pop(),a++;if(a===0)return null;try{return JSON.parse(t),{text:t,repairs:a}}catch{return null}}let Tf={margin:`0 0 6px`,padding:`6px 10px`,borderRadius:6,background:`rgba(239, 68, 68, 0.14)`,border:`1px solid rgba(239, 68, 68, 0.4)`,color:`#f87171`,fontSize:12,lineHeight:1.55,whiteSpace:`pre-wrap`};function Ef(e){let t=e.filter(e=>/(?:variant is unsupported|kind must be bars, line, or donut|requires data or series|(?:data|series) is required for|(?:\.data|\.series)(?:\[\d+\])?(?:\.(?:data|label|value|color))? must|series is only supported for bars)/.test(e));return t.length===0?null:t.join(`;`)}function Df(e){let t=Kd(e);if(t===null)return null;let n=Id(t);if(Rd(n))return null;let r=Ef(n.errors);return r===null?`GenUI 字段验证失败:${n.errors.join(`;`)}`:`chart 字段验证失败:${r}`}function Of({raw:e,fenceKey:t}){let n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!1);(0,m.useLayoutEffect)(()=>{let e=n.current;e!==null&&e.closest(`[data-streaming]`)===null&&i(!0)});let a=r?Df(e):null,o=r&&a===null&&e.trim()!==``?Sf(e):null;return(0,g.jsxs)(`div`,{ref:n,children:[a!==null&&(0,g.jsxs)(`div`,{style:Tf,role:`alert`,children:[`⚠️ dsh-ui `,a,` —— 围栏保持为代码块;请修正后重发。`]}),a===null&&o!==null&&(0,g.jsxs)(`div`,{style:Tf,role:`alert`,children:[`⚠️ dsh-ui fence JSON 解析失败`,o,` —— 围栏保持为代码块;请让模型检查并修复 JSON 后重发。`]}),(0,g.jsx)(p.CodeBlock,{...C,code:`${e}\n`,lang:`dsh-ui`},t)]})}function kf({sessionId:e,sourceId:t,order:n,spec:r}){return(0,m.useEffect)(()=>{af(e,{sourceId:t,order:n,mode:r.append===!0?`append`:`replace`,spec:r})===`overflow`&&uf(e,t)},[e,t,n,r]),null}function Af(e){let t=Id(e);return Rd(t)?t.spec:null}function jf(e,t){let n=Kd(e),r=n===null?null:Af(n);if(r===null){let n=Cf(e);if(n!==null){let e=Kd(n.text);r=e===null?null:Af(e)}if(r===null&&t?.source!==void 0){let t=wf(e);if(t!==null){let e=Kd(t.text);r=e===null?null:Af(e)}}}return r}function Mf(e,t,n){let r=t?.sessionId;return(0,g.jsx)(w,{label:`该界面`,children:(0,g.jsx)(Bl,{spec:n,animateEntrance:t?.source===void 0,stateKey:r===void 0||t?.source===void 0?void 0:Eo(r,t.source.id,JSON.stringify(n))})},JSON.stringify([r,e]))}function Nf(e,t,n){let r=jf(e,n);return r===null?null:r.panel===!0?n!==void 0&&n.sessionId!==void 0&&n.source!==void 0?r.append===!0&&!xf(e)?(0,g.jsx)(m.Fragment,{},t):(0,g.jsx)(kf,{sessionId:n.sessionId,sourceId:n.source.id,order:n.source.order,spec:r},t):(0,g.jsx)(m.Fragment,{},t):Mf(t,n,r)}function Pf(e,t,n){let r=jf(e,n);return r===null?(0,g.jsx)(Of,{fenceKey:t,raw:e},t):r.panel===!0?n!==void 0&&n.sessionId!==void 0&&n.source!==void 0?r.append===!0&&!xf(e)?null:(0,g.jsx)(kf,{sessionId:n.sessionId,sourceId:n.source.id,order:n.source.order,spec:r},t):null:Mf(t,n,r)}let Ff=`.md-code-block, .code-block, .code-block-small`,If=`data-genui-rendered`,Lf=`[data-streaming]`,Rf=`genui-dom-fence`,zf=`p, ul, ol, dl, table, h1, h2, h3, h4, h5, h6, blockquote, hr, img, figure`;function Bf(e){let t=e.querySelectorAll(`pre`);if(t.length>1)return!1;let n=t[0]??null;for(let t of e.querySelectorAll(zf))if(!(n!==null&&n.contains(t)))return!1;return!0}function Vf(e){return(0,m.isValidElement)(e)&&e.type===m.Fragment}function Hf(e){let t=e.trimStart();return t.length<8||!t.startsWith(`{`)?!1:/"(items|type|title|panel)"\s*:/.test(t)}function Uf(){return(0,g.jsxs)(`div`,{className:x.skeleton,role:`status`,"aria-label":`正在生成界面`,children:[(0,g.jsx)(`span`,{className:x.skeletonTitle}),(0,g.jsxs)(`span`,{className:x.skeletonBars,children:[(0,g.jsx)(`span`,{style:{width:`32%`}}),(0,g.jsx)(`span`,{style:{width:`52%`}}),(0,g.jsx)(`span`,{style:{width:`24%`}})]}),(0,g.jsx)(`span`,{className:x.skeletonBlock})]})}function Wf(e){return e.nodeType===Node.TEXT_NODE}function Gf(e){let t=e.querySelector(`pre`);for(let n of e.querySelectorAll(`*`)){if(n.childElementCount!==0||n.textContent?.trim()!==`dsh-ui`||t!==null&&t.contains(n))continue;let r=n.closest(Ff);if(r===null||r===e)return`dsh-ui`}return null}function Kf(e){let t=e.querySelector(`pre`);for(let n of e.querySelectorAll(`*`))if(n.childElementCount===0&&!(t!==null&&t.contains(n)))return n.textContent?.trim()??``;return``}function qf(e){let t=e.querySelector(`pre`);if(t===null)return``;let n=``;for(let e of t.childNodes)Wf(e),n+=e.textContent??``;return n}function Jf(e){return e.closest(Lf)===null}function Yf(e,t=document){let n=e.parentElement;for(let e=0;n!==null&&n!==t&&e<4;e+=1,n=n.parentElement)if(Gf(n)===`dsh-ui`)return Bf(n)?n:null;return null}function Xf(e,t=document){let n=e.parentElement;for(let e=0;n!==null&&n!==t&&e<4;e+=1,n=n.parentElement)if(Gf(n)===`dsh-ui`&&!Bf(n))return n;return null}function Zf(e=document){let t=new Set,n=[];for(let r of e.querySelectorAll(Ff))if((r.parentElement===null||r.parentElement.closest(Ff)===null)&&!t.has(r)){if(!Bf(r)){Gf(r)===`dsh-ui`&&ep(r);continue}n.push(r),t.add(r)}for(let r of e.querySelectorAll(`pre`)){if(r.closest(Ff)!==null)continue;let i=Yf(r,e);if(i===null){let t=Xf(r,e);t!==null&&ep(t);continue}t.has(i)||(Qf||(Qf=!0,console.warn(`[dsh-genui] 围栏表面类名未被已知选择器命中(宿主 DOM 漂移),已按 label+pre 结构识别 dsh-ui 围栏`)),n.push(i),t.add(i))}return n}let Qf=!1,$f=new WeakSet;function ep(e){if($f.has(e))return;$f.add(e);let t=e.querySelectorAll(`pre`),n=[...e.querySelectorAll(zf)].filter(e=>!e.closest(`pre`)).map(e=>e.tagName.toLowerCase());console.warn(`[dsh-genui] 跳过带 dsh-ui 标签但疑似消息容器的节点:pre=${t.length}, outside-code=${[...new Set(n)].join(`,`)||`none`};保留原文,防止隐藏整条消息(issue #19)`)}let tp=h.createRoot,np=`[data-chat-flow-key], [data-chat-flow-kind]`;function rp(e){return e.closest(`[data-chat-anchor-key]`)??e.closest(np)??e}function ip(e,t){let n=e===t?document:e,r=0;for(let e of Zf(n))if(e.closest(Lf)===null&&Gf(e)!==null&&(r+=1,e===t))return r;return r+1}function ap(e){let t=e.getAttribute(`data-chat-anchor-key`)??``,n=/assistant-step(\d+):(\d+)$/.exec(t);if(n!==null){let e=Number(n[1]),t=Number(n[2]);if(Number.isFinite(e)&&Number.isFinite(t))return e*1e3+t}let r=document.querySelectorAll(`[data-chat-anchor-key], ${np}`);for(let t=0;t<r.length;t+=1)if(r[t]===e)return t;return 0}function op(e,t){if(typeof document>`u`)return()=>{};Qf=!1,$f=new WeakSet;let n=new Map,r=!1,i=null,a=()=>{try{return e.sessions.list.getSnapshot().current}catch{return}};function o(e,t,n){n&&e.getAttribute(`data-chat-anchor-key`)===null&&l(t,`no [data-chat-anchor-key] ancestor for a dsh-ui fence (host render path without row anchor — e.g. Safari); using fallback identity dom:unknown:N`);let r=ip(e,t),i=`dom:${e.getAttribute(`data-chat-anchor-key`)??`unknown`}:${r}`,o=a();return{key:i,context:{...o===void 0?{}:{sessionId:o},...n?{source:{id:i,order:[ap(e),0,r]}}:{}}}}function s(e){let t=n.get(e);t!==void 0&&(n.delete(e),t.root.unmount(),t.container.remove(),e.style.display=``,e.removeAttribute(If))}let c=new WeakSet;function l(e,t){c.has(e)||(c.add(e),console.warn(`[dsh-genui] ${t}`))}function u(e){if(e.hasAttribute(If))return;let r=rp(e),i=Jf(e);if(i&&Gf(e)===null)return;let s=qf(e);if(s.trim()===``){i&&l(e,`settled dsh-ui fence has an empty body; keeping the code block`);return}let{key:c,context:u}=o(r,e,i),d=Nf(s,c,u),f=d;if(f===null){if(i||!Hf(s)){i&&l(e,`settled dsh-ui fence body does not parse; keeping the code block`);return}f=(0,g.jsx)(Uf,{})}let p=document.createElement(`div`);p.className=Rf,e.after(p);let m;try{m=tp(p)}catch(t){p.remove(),l(e,`failed to create a React root for a dsh-ui fence (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}try{m.render((0,g.jsx)(v.Provider,{value:(e,n)=>{let r=a();r!==void 0&&t(r,e,n)},children:f}))}catch(t){try{m.unmount()}catch{}p.remove(),l(e,`failed to mount a dsh-ui fence (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}e.style.display=`none`,e.setAttribute(If,``),n.set(e,{root:m,container:p,block:e,lastRaw:s,lastSettled:i,lastNode:f,skeleton:d===null})}function d(){for(let e of Array.from(n.values())){let t=e.block;if(!t.isConnected){e.container.isConnected&&s(t);continue}if((e.container.parentElement!==t.parentElement||e.container.previousElementSibling!==t)&&t.after(e.container),!e.container.isConnected){t.style.display=``,t.removeAttribute(If),n.delete(t);try{e.root.unmount()}catch{}e.container.remove(),l(t,`dsh-ui replacement container could not be re-attached after a host re-render; restoring the stock code block`);continue}t.style.display!==`none`&&(t.style.display=`none`),t.hasAttribute(If)||t.setAttribute(If,``)}}function f(){if(!r){for(let[e,r]of n){if(!e.isConnected){s(e);continue}let i=qf(e),c=Jf(e);if(c&&!r.lastSettled){let t=Kf(e);if(t!==``&&t!==`dsh-ui`){s(e);continue}}let u=!Vf(r.lastNode)&&r.container.childElementCount===0;if(r.lastRaw!==i||r.lastSettled!==c||u){let{key:d,context:f}=o(rp(e),e,c),p=Nf(i,d,f);if(p===null){if(r.skeleton&&!c){r.lastRaw=i,r.lastSettled=c;continue}s(e);continue}if(u){try{r.root.unmount()}catch{}let i=document.createElement(`div`);i.className=Rf,r.container.remove(),e.after(i);try{let e=tp(i);e.render((0,g.jsx)(v.Provider,{value:(e,n)=>{let r=a();r!==void 0&&t(r,e,n)},children:p})),r.root=e,r.container=i}catch(t){i.remove(),e.style.display=``,e.removeAttribute(If),n.delete(e),l(e,`failed to rebuild a wiped dsh-ui mount (${t instanceof Error?t.message:String(t)}); restoring the stock code block`);continue}}else try{r.root.render((0,g.jsx)(v.Provider,{value:(e,n)=>{let r=a();r!==void 0&&t(r,e,n)},children:p}))}catch(t){s(e),l(e,`failed to re-render a dsh-ui fence (${t instanceof Error?t.message:String(t)}); restoring the stock code block`);continue}r.lastRaw=i,r.lastSettled=c,r.lastNode=p,r.skeleton=!1}}d();for(let e of Zf())u(e)}}let p=()=>{r||i!==null||(i=requestAnimationFrame(()=>{i=null,!r&&f()}))},m=new MutationObserver(e=>{for(let t of[...e].reverse()){if(t.removedNodes.length===0||t.target.childNodes.length>0)continue;let e=[...n.values()].find(e=>e.container===t.target);e===void 0||!e.block.isConnected||Vf(e.lastNode)||e.container.append(...t.removedNodes)}d(),p()});m.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-streaming`],characterData:!0});let h=window.setInterval(f,1e3);return f(),()=>{r=!0,m.disconnect(),window.clearInterval(h),i!==null&&(cancelAnimationFrame(i),i=null);for(let e of Array.from(n.keys()))s(e)}}let sp={title:`GenUI 面板`,items:[{type:`text`,size:`h3`,content:`GenUI 生成式界面`},{type:`text`,size:`muted`,content:`面板会原地更新:对话里说「更新面板」,或再次执行 /panel 刷新。`},{type:`grid`,cols:4,items:[{type:`stat`,label:`组件`,value:`38`},{type:`stat`,label:`单个`,value:`12`},{type:`stat`,label:`组合`,value:`8`},{type:`stat`,label:`高级`,value:`18`}]},{type:`list`,items:[{title:`单个 ×12`,desc:`text button input select checkbox link badge stat progress divider avatar spacer`},{title:`组合 ×8`,desc:`row col grid card list table chart tabs`},{title:`数据 ×7`,desc:`plot callout steps keyvalue diff json code`},{title:`交互 ×5`,desc:`radio switch textarea accordion copy`},{title:`高级 ×5`,desc:`mermaid scene3d timeline file-tree breadcrumb`},{title:`教学 ×1`,desc:`quiz`}]},{type:`callout`,tone:`info`,title:`更新方式`,content:`对话说「更新面板」→ 模型输出 panel:true 围栏;/panel clear 清空面板。`}]};function cp(e,t){let n=t.trim().toLowerCase();if(n===`clear`||n===`off`||n===`close`){cf(e,null);return}cf(e,sp),vf(e)}function lp(e,t){return{token:`/panel`,hint:`开启 GenUI 面板;/panel <指令> 让模型定制;/panel clear 清空`,submit:async(n,r)=>{let i=n.trim();return i===``?cp(e,``):/^(clear|off|close)$/i.test(i)?cp(e,i):(cp(e,``),t(e,i)),{kind:`success`}}}}function up(e){return{trigger:`/`,name:`genui`,order:60,candidates:async(e,t)=>{let n=t.query.toLowerCase();return n!==``&&!`panel`.startsWith(n)?[]:[{name:`panel`,description:`开启 GenUI 面板(/panel clear 清空;/panel <指令> 定制内容)`,hint:`/panel`}]},onPick(t){return{claim:lp(t.session.sessionId,e)}},matchEnter:async(t,n,r)=>{if(/^\/panel(?:\s|$)/.test(n.trim()))return{claim:lp(t.sessionId,e)}}}}let dp=[{id:`tpl-dashboard`,category:`仪表盘`,name:`项目仪表盘`,description:`一张卡片汇总核心指标:数字 + 环比 + 进度条,决策一眼可见。`,instruction:`请用 dsh-ui 给当前项目做一个仪表盘:4 个关键指标的 stat 卡片(带环比 delta)、整体进度 progress 条、今天的 3 件待办 list。标题用「项目仪表盘」。`,demo:{title:`项目仪表盘(示例)`,gap:12,items:[{type:`card`,title:`本周关键指标`,items:[{type:`grid`,cols:2,items:[{type:`stat`,label:`本周完成`,value:`12 / 18`,delta:`+4`},{type:`stat`,label:`阻塞事项`,value:`2`,delta:`-1`},{type:`stat`,label:`平均耗时`,value:`3.2h`,delta:`-8%`},{type:`stat`,label:`覆盖率`,value:`86%`}]}]},{type:`card`,title:`整体进度`,items:[{type:`progress`,label:`v1.0 里程碑`,value:68,valueLabel:`68 / 100`}]},{type:`card`,title:`今日待办`,items:[{type:`list`,items:[`评审 M1 模板中心 PR`,`同步 vendor 到 SSiD`,`周三周会材料`]}]}]}},{id:`tpl-compare`,category:`数据`,name:`方案对比表`,description:`多方案逐维度对照,表格直接可读,争议点一目了然。`,instruction:`请用 dsh-ui 把以下方案的对比做成一张 table:方案 A/B/C × 维度(成本/复杂度/风险/收益),列首高亮推荐项;顶部加一行 callout 说明结论。`,demo:{title:`方案对比(示例)`,items:[{type:`callout`,tone:`info`,title:`结论`,content:`方案 B 综合最优:成本中、复杂度低、风险低。`},{type:`table`,columns:[`维度`,`方案 A`,`方案 B ★`,`方案 C`],rows:[[`成本`,`高`,`中`,`低`],[`复杂度`,`高`,`中`,`低`],[`风险`,`低`,`低`,`高`],[`收益`,`大`,`中`,`小`]]}]}},{id:`tpl-steps`,category:`流程`,name:`五步上手流程`,description:`关键步骤排成时间线,每步一句要点,适合教程/交接/发布流程。`,instruction:`请用 dsh-ui 把操作步骤做成 steps 教程:5 步(按实际流程),每步标题 + 一两句要点,顶部用 badge 标出预计耗时。`,demo:{title:`上手流程(示例)`,items:[{type:`badge`,label:`约 5 分钟`,tone:`accent`},{type:`steps`,current:2,steps:[{title:`安装插件`,desc:`从插件中心安装,或 npm 安装到 profile`},{title:`发送第一条指令`,desc:`让模型用 dsh-ui 输出一个界面`},{title:`体验交互`,desc:`点按钮/判卷/切 tab,动作会回传模型`},{title:`常驻面板`,desc:`模型用 panel:true 把结果钉在会话面板`},{title:`进阶组件`,desc:`图表/流程/3D 按需懒加载`}]}]}},{id:`tpl-quiz`,category:`测验`,name:`随堂测验`,description:`一题一答即时判卷:选中即知对错,附讲解,适合培训问答。`,instruction:`请用 dsh-ui 出 3 道随堂测验(quiz 组件:question + options,其中一项 correct,附 explanation),标题「随堂测验」,每题即选即评。`,demo:{title:`随堂测验(示例)`,gap:10,items:[{type:`text`,content:`选中即判卷并显示讲解。`,size:`muted`},{type:`quiz`,id:`q-dsh`,question:`DSH 插件的最小单位是?`,options:[{label:`服务`},{label:`插件(cordis 插件)`,correct:!0,feedback:`✓ 一切皆插件:服务、工具、UI 都通过插件注册。`},{label:`工具`}],explanation:`DSH 基于 cordis,任何能力(含服务与工具)都以插件形式注册。`},{type:`quiz`,id:`q-fence`,question:`dsh-ui 围栏由谁输出?`,options:[{label:`用户`},{label:`模型`,correct:!0,feedback:`✓ 模型在回复中输出 dsh-ui fence。`},{label:`宿主`}],explanation:`模型输出 fence,渲染器将其画成真实组件。`},{type:`quiz`,id:`q-panel`,question:`panel:true 的围栏渲染到哪里?`,options:[{label:`消息流`},{label:`会话面板 dock`,correct:!0,feedback:`✓ 面板更新不刷屏。`},{label:`设置页`}]}]}},{id:`tpl-stats`,category:`数据`,name:`关键值 + 进度`,description:`一次交付:数值、进度、里程碑三件套,周报/复盘通用。`,instruction:`请用 dsh-ui 总结本周关键数据:keyvalue 列 3 组关键值、两根 progress 进度(计划 vs 实际)、timeline 放 3 个里程碑,标题「周报速览」。`,demo:{title:`周报速览(示例)`,items:[{type:`keyvalue`,pairs:[{key:`完成项`,value:`12`},{key:`延期`,value:`1`},{key:`风险`,value:`2(均已有缓解)`}]},{type:`progress`,label:`计划进度`,value:75,valueLabel:`75%`},{type:`progress`,label:`实际进度`,value:82,valueLabel:`82%`},{type:`timeline`,items:[{title:`周一`,desc:`完成 M1 开发`,time:`08-25`},{title:`周三`,desc:`全链路验证通过`,time:`08-27`},{title:`周五`,desc:`发布 0.9.4`,time:`08-29`}]}]}},{id:`tpl-chart`,category:`图表`,name:`趋势柱状图`,description:`数据直接画成柱状图,多序列对比,走势一眼看清。`,instruction:`请用 dsh-ui 把下列数据画成 chart(bars,多序列):近 6 周完成量 vs 计划量;图表上方给一句趋势结论。`,demo:{title:`趋势对比(示例)`,items:[{type:`text`,content:`结论:近 3 周完成量连续上升,本周首次反超计划。`},{type:`chart`,kind:`line`,data:[{label:`W21`,value:8},{label:`W22`,value:10},{label:`W23`,value:9},{label:`W24`,value:12},{label:`W25`,value:15},{label:`W26`,value:18}]}]}},{id:`tpl-tabs`,category:`交互`,name:`分标签页`,description:`一大块内容拆成标签页,锚点清晰;面板不挤、消息不刷屏。`,instruction:`请用 dsh-ui 把内容分成 tabs 三个标签:概览/明细/FAQ,每个标签 3 条以内要点;标题「功能速览」。`,demo:{title:`功能速览(示例)`,items:[{type:`tabs`,tabs:[{label:`概览`,items:[{type:`text`,content:`三项能力:实时渲染、交互回传、常驻面板。`}]},{label:`明细`,items:[{type:`list`,items:[`渲染:fence 增量解析,边流边出`,`交互:动作回传模型增量更新`,`面板:会话级 dock,折叠/调高`]}]},{label:`FAQ`,items:[{type:`text`,content:`问:不动模型会怎样?答:组件仍可本地判卷/展开。`}]}]}]}},{id:`tpl-checklist`,category:`流程`,name:`交付检查清单`,description:`提交前逐项打勾:清单即流程,漏项看得见。`,instruction:`请用 dsh-ui 做一张交付检查清单:6 项(测试/文档/发布/回滚/监控/公告),checkbox 可勾选,顶部 badge 提示「全部勾选再合并」。`,demo:{title:`交付清单(示例)`,items:[{type:`badge`,label:`全部勾选再合并`,tone:`warn`},{type:`list`,items:[{type:`checkbox`,label:`单元测试通过`},{type:`checkbox`,label:`文档同步`},{type:`checkbox`,label:`发布套餐就绪`},{type:`checkbox`,label:`回滚预案`}]}]}},{id:`tpl-accordion`,category:`高级`,name:`FAQ 手风琴`,description:`一问一答收在折叠面板里,长文档变短,回答不吓人。`,instruction:`请用 dsh-ui 做 FAQ 手风琴(accordion):5 个高频问题,标题栏就是问题、展开一条给答案;第一问默认展开。`,demo:{title:`FAQ(示例)`,items:[{type:`accordion`,items:[{title:`支持哪些图表?`,items:[{type:`text`,content:`chart(bars/line/donut)、plot 函数图、echart 全功能图表。`}]},{title:`面板能持久吗?`,items:[{type:`text`,content:`同一内容指纹刷新/重放恢复状态;新内容重置。`}]},{title:`交互会打扰模型吗?`,items:[{type:`text`,content:`带 action 的组件才回传;纯展示组件零往返。`}]}]}]}},{id:`tpl-diagram`,category:`高级`,name:`系统架构图`,description:`框架图画成 SVG:节点分层、连接线、分区标注,比截图清楚。`,instruction:`请用 dsh-ui 画一幅架构图(diagram):描述当前系统的 5 个节点与连接(kind: architecture 或 flowchart),包含一个安全区 zone。`,demo:{title:`架构图(示例)`,items:[{type:`diagram`,kind:`flowchart`,title:`DSH 插件链路`,nodes:[{id:`a`,label:`模型`,x:20,y:20,w:120,h:48},{id:`b`,label:`插件`,x:20,y:120,w:120,h:48},{id:`c`,label:`宿主`,x:200,y:70,w:120,h:48}],edges:[{from:`a`,to:`b`},{from:`b`,to:`c`}]}]}},{id:`tpl-3d`,category:`高级`,name:`3D 场景`,description:`一个可旋转的 3D 场景:产品演示/空间示意用得上。`,instruction:`请用 dsh-ui 渲染一个 3D 场景(scene3d):一个立方体 + 一个球体,标题「示例场景」,附一句使用场景说明。`,demo:{title:`3D 场景(示例)`,items:[{type:`text`,content:`首次加载需下载 three.js(约 700KB,懒加载),之后走缓存。`,size:`muted`},{type:`scene3d`,title:`示例场景`,meshes:[{shape:`box`,size:1,color:`#4FC3F7`,position:[-1.2,0,0]},{shape:`sphere`,size:.6,color:`#81C784`,position:[1.2,0,0]}]}]}},{id:`tpl-breadcrumb`,category:`数据`,name:`路径面包屑`,description:`长路径拆成面包屑:文件位置、组织层级一读就懂。`,instruction:`请用 dsh-ui 展示当前工作区结构:breadcrumb 显示文件路径(4 段)、file-tree 描述项目目录(3 个目录、每个 2 个子项)。`,demo:{title:`目录结构(示例)`,items:[{type:`breadcrumb`,items:[`工作区`,`dsh-genui`,`src`,`client`]},{type:`file-tree`,items:[{name:`src`,type:`dir`,children:[{name:`client`,type:`dir`,children:[{name:`panel.tsx`},{name:`templates.ts`}]},{name:`index.tsx`}]},{name:`tests`,type:`dir`,children:[{name:`templates.spec.ts`}]}]}]}}],fp=`@changfenhuang/dsh-genui/TemplateDrawer.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(fp)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=fp,e.textContent=`.fEkRPW_wrap{flex-direction:column;gap:12px;min-height:0;padding:12px 14px;display:flex;overflow:auto}.fEkRPW_achievements{flex-direction:column;gap:8px;min-height:0;display:flex;overflow:auto}.fEkRPW_cats{flex-wrap:wrap;gap:8px;display:flex}.fEkRPW_cat{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-label-secondary,var(--dsl-g-font-muted-fallback,#fff9));cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:12px;line-height:1.5}.fEkRPW_cat:hover{background:var(--dsw-alias-fill-hover,#ffffff0f)}.fEkRPW_catActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 14%, transparent)}.fEkRPW_list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.fEkRPW_card{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-2,#ffffff0a);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.fEkRPW_card:hover{border-color:var(--dsw-alias-border-l2,#fff3)}.fEkRPW_cardActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7)}.fEkRPW_cardName{font-size:13px;font-weight:600;line-height:1.5}.fEkRPW_cardMeta{color:var(--dsw-alias-label-tertiary,#ffffff73);font-size:11px}.fEkRPW_cardDesc{color:var(--dsw-alias-label-secondary,#fff9);font-size:12px;line-height:1.5}.fEkRPW_detail{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);flex-direction:column;gap:8px;padding-top:12px;display:flex}.fEkRPW_toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fEkRPW_toolbarTitle{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:600}.fEkRPW_try,.fEkRPW_copy{border-radius:var(--dsl-g-radius-control,8px);cursor:pointer;border:1px solid #0000;padding:5px 12px;font-size:12px;line-height:1.5}.fEkRPW_try{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 14%, transparent)}.fEkRPW_try:hover{background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 22%, transparent)}.fEkRPW_copy{border-color:var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-label-secondary,#fff9);background:0 0}.fEkRPW_preview{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-1,#00000014);min-height:0;padding:12px;overflow:auto}`,document.head.appendChild(e)}var pp={achievements:`fEkRPW_achievements`,card:`fEkRPW_card`,cardActive:`fEkRPW_cardActive`,cardDesc:`fEkRPW_cardDesc`,cardMeta:`fEkRPW_cardMeta`,cardName:`fEkRPW_cardName`,cat:`fEkRPW_cat`,catActive:`fEkRPW_catActive`,cats:`fEkRPW_cats`,copy:`fEkRPW_copy`,detail:`fEkRPW_detail`,list:`fEkRPW_list`,preview:`fEkRPW_preview`,toolbar:`fEkRPW_toolbar`,toolbarTitle:`fEkRPW_toolbarTitle`,try:`fEkRPW_try`,wrap:`fEkRPW_wrap`};let mp=[`全部`,`仪表盘`,`数据`,`流程`,`图表`,`交互`,`测验`,`高级`];function hp(e){return navigator.clipboard===void 0?new Promise((t,n)=>{try{let n=document.createElement(`textarea`);n.value=e,n.style.position=`fixed`,n.style.opacity=`0`,document.body.appendChild(n),n.select(),document.execCommand(`copy`),n.remove(),t()}catch(e){n(e instanceof Error?e:Error(String(e)))}}):navigator.clipboard.writeText(e)}function gp({onUse:e,tab:t}){let[n,r]=(0,m.useState)(`全部`),[i,a]=(0,m.useState)(null),[o,s]=(0,m.useState)(!1),c=(0,m.useRef)(0),l=(0,m.useSyncExternalStore)($o,()=>Zo()),u=(0,m.useMemo)(()=>No(l.state,l.unlocked),[l]),d=(0,m.useMemo)(()=>n===`全部`?[...dp]:dp.filter(e=>e.category===n),[n]),f=async e=>{try{await hp(e),s(!0),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s(!1),1500)}catch{}};return(0,g.jsx)(`div`,{className:pp.wrap,"data-genui-templates":t===`templates`?void 0:`achievements`,children:t===`achievements`?(0,g.jsx)(`div`,{className:pp.achievements,"data-genui-achievements":!0,children:(0,g.jsx)(w,{label:`成就页`,children:(0,g.jsx)(Bl,{spec:u,stateKey:Do(`genui-achievements`,JSON.stringify(u))})})}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:pp.cats,role:`tablist`,"aria-label":`模板分类`,children:mp.map(e=>(0,g.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":n===e,className:`${pp.cat}${n===e?` ${pp.catActive}`:``}`,onClick:()=>{r(e),a(null)},children:e},e))}),(0,g.jsx)(`div`,{className:pp.list,children:d.map(e=>(0,g.jsxs)(`button`,{type:`button`,className:`${pp.card}${i?.id===e.id?` ${pp.cardActive}`:``}`,onClick:()=>a(t=>t?.id===e.id?null:e),children:[(0,g.jsx)(`span`,{className:pp.cardName,children:e.name}),(0,g.jsx)(`span`,{className:pp.cardMeta,children:e.category}),(0,g.jsx)(`span`,{className:pp.cardDesc,children:e.description})]},e.id))}),i!==null&&(0,g.jsxs)(`div`,{className:pp.detail,"data-genui-template-preview":!0,children:[(0,g.jsxs)(`div`,{className:pp.toolbar,children:[(0,g.jsx)(`span`,{className:pp.toolbarTitle,children:i.name}),(0,g.jsx)(`button`,{type:`button`,className:pp.try,onClick:()=>e(i.instruction),children:`试用:插入输入框`}),(0,g.jsx)(`button`,{type:`button`,className:pp.copy,onClick:()=>void f(i.instruction),children:o?`✓ 已复制`:`复制指令`})]}),(0,g.jsx)(`div`,{className:pp.preview,children:(0,g.jsx)(w,{label:`模板预览`,children:(0,g.jsx)(Bl,{spec:i.demo,stateKey:Do(`genui-tpl`,i.id)})})})]})]})})}let _p=`dsh.genui.panel-hint`;function vp({sessionId:e,sendGenuiAction:t,insertTemplate:n}){let r=(0,m.useSyncExternalStore)(pf,()=>ff(e)),i=(0,m.useSyncExternalStore)(bf,()=>yf(e)),[a,o]=(0,m.useState)(!0),[s,c]=(0,m.useState)(null),[l,u]=(0,m.useState)(!1),d=(0,m.useRef)(null),f=(0,m.useRef)(null),[h,_]=(0,m.useState)(null),[y,b]=(0,m.useState)(null),S=(0,m.useRef)(0),C=r!==null&&r.items.length>0,[ee,te]=(0,m.useState)(()=>{try{return C&&localStorage.getItem(_p)!==`1`}catch{return C}});(0,m.useEffect)(()=>{if(!ee)return;let e=window.setTimeout(()=>{try{localStorage.setItem(_p,`1`)}catch{}te(!1)},6e3);return()=>window.clearTimeout(e)},[ee]),(0,m.useEffect)(()=>{C&&Jo()},[C]),(0,m.useEffect)(()=>{i>0&&o(!1)},[i]),(0,m.useEffect)(()=>()=>{df(e)},[e]),(0,m.useEffect)(()=>{if(l)return()=>{d.current=null}},[l]),(0,m.useEffect)(()=>()=>window.clearTimeout(S.current),[]);let T=(0,m.useCallback)(e=>{e.preventDefault();let t=e.currentTarget,n=s??360;d.current={y:e.clientY,height:n},u(!0);try{t.setPointerCapture(e.pointerId)}catch{}let r=e=>{let t=d.current;if(t===null)return;let n=Math.min(600,Math.max(120,t.height+(t.y-e.clientY)));c(n)},i=()=>{d.current=null,u(!1),t.removeEventListener(`pointermove`,r),t.removeEventListener(`pointerup`,i),t.removeEventListener(`pointercancel`,i)};t.addEventListener(`pointermove`,r),t.addEventListener(`pointerup`,i),t.addEventListener(`pointercancel`,i)},[s]);if(!C)return null;let ne=e=>{b(e),window.clearTimeout(S.current),S.current=window.setTimeout(()=>b(null),2500)};return(0,g.jsxs)(`div`,{className:x.panel,"data-genui-panel":!0,children:[!a&&(0,g.jsx)(`div`,{role:`separator`,"aria-orientation":`horizontal`,"aria-label":`调整面板高度`,className:`${x.panelResizeHandle}${l?` ${x.panelResizeHandleActive}`:``}`,onPointerDown:T}),(0,g.jsxs)(`div`,{className:x.panelHeader,children:[(0,g.jsxs)(`button`,{type:`button`,className:x.panelToggle,"aria-expanded":!a,onClick:()=>o(e=>!e),children:[(0,g.jsx)(`span`,{className:x.panelBadge,children:`面板`}),(0,g.jsx)(`span`,{className:x.panelTitle,children:r?.title??(h===null?`GenUI 面板`:`GenUI 探索`)}),(0,g.jsx)(`span`,{className:x.panelChevron,"aria-hidden":!0,children:a?(0,g.jsx)(p.IconChevronUpOutline14,{}):(0,g.jsx)(p.IconChevronDownOutline14,{})})]}),(0,g.jsx)(`button`,{type:`button`,className:`${x.panelTpl}${h===`templates`?` ${x.panelTplActive}`:``}`,"aria-label":`模板中心`,title:`模板中心:预览并试用 GenUI 示例`,onClick:()=>{o(!1),_(e=>e===`templates`?null:`templates`)},children:`模板`}),(0,g.jsx)(`button`,{type:`button`,className:`${x.panelTpl}${h===`achievements`?` ${x.panelTplActive}`:``}`,"aria-label":`探索成就`,title:`探索成就:解锁徽章与进度`,onClick:()=>{o(!1),_(e=>e===`achievements`?null:`achievements`)},children:`成就`}),(0,g.jsx)(`button`,{type:`button`,className:x.panelClose,"aria-label":`关闭面板`,title:`关闭面板`,onClick:()=>cf(e,null),children:(0,g.jsx)(`span`,{"aria-hidden":!0,children:`✕`})})]}),ee&&h===null&&(0,g.jsx)(`div`,{className:x.panelHint,role:`status`,children:`💡 这是 GenUI 会话面板:点右上角「模板」可浏览并试用示例`}),!a&&(0,g.jsx)(`div`,{ref:f,className:x.panelBody,"data-genui-panel-body":!0,style:s===null?void 0:{height:s},children:h===null?r===null?null:(0,g.jsx)(v.Provider,{value:t,children:(0,g.jsx)(w,{label:`面板`,children:(0,g.jsx)(Bl,{spec:r,stateKey:Do(e,JSON.stringify(r))})})}):(0,g.jsx)(gp,{tab:h,onUse:e=>{Xo(),n(e),ne(`指令已插入输入框,发送即可让模型生成`)}})}),y!==null&&(0,g.jsx)(`div`,{className:x.panelFlash,role:`status`,children:y})]})}function yp({toolName:e,block:t,sessionId:n}){let r=`meta`in t?t.meta:void 0,i=(0,m.useMemo)(()=>r===void 0?null:kd(r),[r]);return(0,m.useEffect)(()=>{i!==null&&i.items.length>0&&af(n,{sourceId:JSON.stringify([`render_ui`,t.callId]),order:[`seq`in t&&typeof t.seq==`number`?t.seq:0,-1,0],mode:`replace`,spec:i})},[n,i,t]),i===null||i.items.length===0?(0,g.jsxs)(`div`,{className:x.toolFallback,"data-genui-tool":!0,children:[(0,g.jsx)(`span`,{className:x.toolFallbackTitle,children:e}),(0,g.jsx)(`span`,{className:x.toolFallbackMeta,children:t.callId})]}):(0,g.jsx)(`div`,{className:x.tool,"data-genui-tool":!0,children:(0,g.jsx)(w,{label:`工具卡片`,children:(0,g.jsx)(Bl,{spec:i,stateKey:Oo(n,t.callId)})})})}let bp=0;function xp(){let[,e]=(0,m.useSyncExternalStore)($o,()=>``),[t,n]=(0,m.useState)([]),r=(0,m.useRef)(new Map);return(0,m.useEffect)(()=>{let e=Qo();if(e.length===0)return;let t=e.map(e=>({key:++bp,ach:e}));n(e=>[...e,...t]);for(let e of t){let t=window.setTimeout(()=>{n(t=>t.filter(t=>t.key!==e.key)),r.current.delete(e.key)},3600);r.current.set(e.key,t)}},[e]),(0,m.useEffect)(()=>()=>{for(let e of r.current.values())window.clearTimeout(e)},[]),t.length===0?null:(0,m.createElement)(`div`,{className:x.achToasts,"data-genui-achievement-toasts":!0},t.map(e=>(0,m.createElement)(`div`,{key:e.key,className:x.achToast},(0,m.createElement)(`span`,{className:x.achToastBadge,"aria-hidden":!0},`🏆`),(0,m.createElement)(`div`,{className:x.achToastBody},(0,m.createElement)(`div`,{className:x.achToastName},`成就解锁:${e.ach.name}`),(0,m.createElement)(`div`,{className:x.achToastDesc},e.ach.description)))))}function Sp(){if(typeof document>`u`)return()=>{};let e=document.createElement(`div`);e.dataset.dshGenuiAchievements=`1`,document.body.appendChild(e);let t=(0,h.createRoot)(e);return t.render((0,m.createElement)(xp)),()=>{t.unmount(),e.remove()}}ac();function Cp(){if(!(typeof document>`u`))for(let e of[`mermaid.js`,`three.js`]){if(document.head.querySelector(`link[rel="prefetch"][href="${$s(e)}"]`)!==null)continue;let t=document.createElement(`link`);t.rel=`prefetch`,t.as=`script`,t.href=$s(e),document.head.appendChild(t)}}function wp(e,t){let n=e.sessions.scope(t),r=n?.get(`conversation`);return{sessionId:t,sendGenuiAction:(e,n)=>{if(r===void 0)return;let i=Object.keys(n).length===0?``:` 组件数据: ${JSON.stringify(n)}`;r.send(`[genui-action] ${e}。用户刚刚在面板中触发了动作 "${e}",请根据组件数据执行相应操作,只输出一个 panel:true 的 dsh-ui 围栏来更新面板,回复文本至多一行 10 字以内的确认(如"已刷新"),不要解释、不要普通围栏。${i}`).catch(n=>{console.warn(`[genui] 面板动作 "${e}" 发送失败(session ${t}):`,n instanceof Error?n.message:String(n))})},insertTemplate:e=>{(r?.input?.for?.(n))?.setDraft(e)}}}function Tp(e,t,n){let r=e.sessions.scope(t)?.get(`conversation`);r!==void 0&&r.send(`用户执行了 /panel 并请求:${n}。请只输出一个 panel:true 的 dsh-ui 围栏来更新会话面板,内容按请求定制;回复文本至多一行 10 字以内的确认(如"已更新"),不要解释、不要普通围栏。`).catch(e=>{console.warn(`[genui] /panel 指令发送失败(session ${t}):`,e instanceof Error?e.message:String(e))})}function Ep(e,t,n,r){let i=e.sessions.scope(t)?.get(`conversation`);if(i===void 0)return;let a=Object.keys(r).length===0?``:` 组件数据: ${JSON.stringify(r)}`;i.send(`[genui-action] ${n}。用户刚刚在界面中触发了动作 "${n}",请根据组件数据执行相应操作,并用 dsh-ui 输出更新后的界面。${a}`).catch(()=>{})}function Dp(){return globalThis.__DSH_GENUI_E2E__===!0}function Op(e){let t=p.registerFenceRenderer,n=typeof t==`function`&&!Dp();console.info(`[genui] client active; fence-channel=${n?`registry`:`dom`}`);let r=n?[t(`dsh-ui`,Pf)]:[op(e,(t,n,r)=>Ep(e,t,n,r))];return Cp(),r.push(Sp()),r.push(e.slots.inject(`tool.call.toolview`,()=>e.slots.register({name:`tool.call.toolview`,key:`render_ui`},yp))),r.push(e.slots.inject(`conversation.input.dock`,()=>e.slots.register({name:`conversation.input.dock`,id:`genui-panel`,order:50,inject:t=>wp(e,t)},vp))),e.inject([`inputTriggers`],t=>{let n=t.get(`inputTriggers`);n!==void 0&&t.effect(()=>n.registerSource(up((t,n)=>Tp(e,t,n))),`genui: /panel`)}),()=>{for(let e of r)e()}}return n.apply=Op,n.inject=[`slots`,`sessions`],n.prefetchGenuiAssets=Cp,n.renderGenuiFence=Pf,t.exports}});
|