pi-roundtable-web 0.24.2 → 0.26.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 +48 -0
- package/README.md +195 -16
- package/dist/account-zk4efb87.css +102 -0
- package/dist/chunk-account-hw49gd0d.js +1 -0
- package/dist/chunk-action-menu-rm5cyqkj.js +1 -0
- package/dist/chunk-agent-b017vswv.js +1 -0
- package/dist/chunk-arranged-rooms-q5v3dm1r.js +1 -0
- package/dist/chunk-character-creator-5dxcvd16.js +1 -0
- package/dist/chunk-codeeditor-pyt09fwg.js +2 -0
- package/dist/chunk-confirm-521yqmta.js +1 -0
- package/dist/chunk-connectors-hrm06nx8.js +1 -0
- package/dist/chunk-conversations-e26rrf01.js +1 -0
- package/dist/chunk-drag-v41gx2mc.js +1 -0
- package/dist/chunk-entry-jxxb3ath.js +1 -0
- package/dist/chunk-folder-list-b97xk12b.js +1 -0
- package/dist/chunk-folds-b8q7eags.js +1 -0
- package/dist/chunk-gate-8k61stsc.js +1 -0
- package/dist/chunk-group-scene-dx6wt19m.js +1 -0
- package/dist/chunk-group-table-e4jr8r3a.js +1 -0
- package/dist/chunk-host-state-g7e7c0k5.js +1 -0
- package/dist/chunk-host-ui-x7k6n07v.js +939 -0
- package/dist/chunk-index-014rjv9k.js +2 -0
- package/dist/chunk-index-2d0kg096.js +2 -0
- package/dist/chunk-index-2qd81wbx.js +2 -0
- package/dist/chunk-index-2stynxw6.css +1 -0
- package/dist/chunk-index-459drsft.js +2 -0
- package/dist/chunk-index-4mfj596y.js +2 -0
- package/dist/chunk-index-66nskrdj.js +47 -0
- package/dist/chunk-index-awx6nnta.js +2 -0
- package/dist/chunk-index-bbsytycb.js +2 -0
- package/dist/chunk-index-c07p8k0x.js +4 -0
- package/dist/chunk-index-cq1e9xdz.js +2 -0
- package/dist/chunk-index-d1prgfbp.js +2 -0
- package/dist/chunk-index-dhpt8qr9.js +2 -0
- package/dist/chunk-index-e5sd30xy.js +2 -0
- package/dist/chunk-index-g351921r.js +1 -0
- package/dist/chunk-index-hby0ap91.js +2 -0
- package/dist/chunk-index-hssjbr1k.js +2 -0
- package/dist/chunk-index-k2qq1gdj.js +2 -0
- package/dist/chunk-index-ke9ynm0n.js +2 -0
- package/dist/chunk-index-km40bhsz.js +2 -0
- package/dist/chunk-index-kpscvg85.js +2 -0
- package/dist/chunk-index-m0d100mg.js +2 -0
- package/dist/chunk-index-mb72snk9.js +2 -0
- package/dist/chunk-index-mjqqver5.js +4 -0
- package/dist/chunk-index-nqfkwkfp.js +2 -0
- package/dist/chunk-index-nwqk447w.js +2 -0
- package/dist/chunk-index-pcfhpm8v.js +302 -0
- package/dist/chunk-index-q8h8xzbm.js +2 -0
- package/dist/chunk-index-r5vszgfs.js +2 -0
- package/dist/{chunk-index-mpm90318.js → chunk-index-rhtvcbsq.js} +2 -2
- package/dist/chunk-index-rjv7vrwd.js +13 -0
- package/dist/chunk-index-v23m38p6.js +50 -0
- package/dist/chunk-index-va0g7d88.js +1 -0
- package/dist/{chunk-index-6t68gbex.js → chunk-index-wnjp6wv0.js} +2 -2
- package/dist/chunk-index-xgkd15n3.js +2 -0
- package/dist/chunk-index-y8rnq8zf.js +14 -0
- package/dist/chunk-index-z3k18atc.js +2 -0
- package/dist/chunk-lang-css-6bepqpnx.js +1 -0
- package/dist/{chunk-lang-dockerfile-ey0nvhhm.js → chunk-lang-dockerfile-hrav55t7.js} +1 -1
- package/dist/{chunk-lang-go-403qsw9f.js → chunk-lang-go-x9ahv6e5.js} +3 -3
- package/dist/chunk-lang-html-8jc72zt4.js +1 -0
- package/dist/chunk-lang-javascript-2p2qtbnf.js +1 -0
- package/dist/chunk-lang-json-hsemyd0r.js +1 -0
- package/dist/chunk-lang-markdown-zkwb4c9n.js +6 -0
- package/dist/{chunk-lang-python-9jk5a49y.js → chunk-lang-python-tewx7006.js} +2 -2
- package/dist/chunk-lang-rust-0ydx84s1.js +1 -0
- package/dist/{chunk-lang-shell-cgq6q0kj.js → chunk-lang-shell-gq1tmdz4.js} +1 -1
- package/dist/chunk-lang-sql-xt1qyycg.js +2 -0
- package/dist/{chunk-lang-toml-xh45nm68.js → chunk-lang-toml-0hamc5fc.js} +1 -1
- package/dist/chunk-lang-typescript-82xf7z2e.js +1 -0
- package/dist/{chunk-lang-xml-1mh879j9.js → chunk-lang-xml-wf6h5pt2.js} +1 -1
- package/dist/{chunk-lang-yaml-jac98srt.js → chunk-lang-yaml-7vk521h1.js} +1 -1
- package/dist/chunk-layout-actions-zh7bezk7.js +1 -0
- package/dist/chunk-menu-items-1n9qargb.js +2 -0
- package/dist/chunk-notes-t15bh04m.js +1 -0
- package/dist/chunk-notice-bell-w3y0h0sr.js +1 -0
- package/dist/chunk-notices-fa3g7qze.js +1 -0
- package/dist/chunk-onboarding-34v3nr17.js +1 -0
- package/dist/chunk-overview-km5vq375.js +1 -0
- package/dist/chunk-palette-a8txdgd0.js +1 -0
- package/dist/chunk-placement-items-wgaxsbvs.js +1 -0
- package/dist/chunk-profile-ypxdbsk1.js +1 -0
- package/dist/chunk-prompt-history-wm9dsy6s.js +1 -0
- package/dist/chunk-prompts-7mhhq7zs.js +1 -0
- package/dist/chunk-room-confirms-t11a1gsw.js +1 -0
- package/dist/chunk-room-menu-2tm2xtfx.js +1 -0
- package/dist/chunk-rooms-menu-button-wxnsxjwc.js +1 -0
- package/dist/chunk-schedules-2ft6xxyw.js +1 -0
- package/dist/chunk-seat-menu-d3npdtx1.js +1 -0
- package/dist/chunk-sheet-hosts-vngvp7wv.js +1 -0
- package/dist/chunk-skill-editor-65n2hsq4.js +8 -0
- package/dist/chunk-skills-shkdwes8.js +1 -0
- package/dist/chunk-switcher-list-g6hhmr1t.js +1 -0
- package/dist/chunk-table-1b6bsq2y.js +1 -0
- package/dist/chunk-table-seats-vy1qhdks.js +1 -0
- package/dist/chunk-table2d-n26b7gd0.js +1 -0
- package/dist/chunk-table3d-8aysyf56.js +4220 -0
- package/dist/chunk-transcript-355faceq.js +1 -0
- package/dist/chunk-where-j5qdt8a4.js +1 -0
- package/dist/chunk-workspace-vrbs6zx1.js +1 -0
- package/dist/chunk-zh-tw-zeg600bk.js +1 -0
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +5 -4
- package/src/api-types.ts +515 -6
- package/src/app/api-http.ts +66 -0
- package/src/app/app.ts +214 -33
- package/src/app/card-log.ts +6 -0
- package/src/app/desk.ts +47 -22
- package/src/app/files.ts +73 -7
- package/src/app/layout-routes.ts +239 -0
- package/src/app/layout.ts +133 -0
- package/src/app/presence.ts +2 -2
- package/src/app/prompt-routes.ts +167 -0
- package/src/app/protocol.ts +63 -1
- package/src/app/room-log.ts +148 -14
- package/src/app/rooms.ts +23 -0
- package/src/app/routes.ts +278 -156
- package/src/app/skill-doc-routes.ts +122 -0
- package/src/app/socket.ts +309 -77
- package/src/app/sockets.ts +108 -20
- package/src/app/surface.ts +72 -36
- package/src/app/team-routes.ts +457 -0
- package/src/app/threads.ts +14 -0
- package/src/app/uploads.ts +33 -7
- package/src/auth/authenticator.ts +71 -8
- package/src/auth/next.ts +52 -0
- package/src/auth/oidc-pages.ts +60 -0
- package/src/auth/oidc.ts +611 -0
- package/src/auth/sessions.ts +193 -0
- package/src/authz.ts +172 -0
- package/src/console-api.ts +122 -25
- package/src/console-server.ts +70 -6
- package/src/gate.ts +90 -0
- package/src/host/access.ts +161 -0
- package/src/host/cards.ts +99 -0
- package/src/host/context.ts +141 -0
- package/src/host/forms.ts +237 -0
- package/src/host/frames.ts +342 -0
- package/src/host/host-app.ts +176 -0
- package/src/host/host-context.ts +49 -0
- package/src/host/host-routes.ts +363 -0
- package/src/host/pages.ts +266 -0
- package/src/host/reads.ts +155 -0
- package/src/host/retention.ts +41 -0
- package/src/host/room-views.ts +137 -0
- package/src/host/rooms-service.ts +414 -0
- package/src/host/stored-json.ts +13 -0
- package/src/host/views.ts +103 -0
- package/src/i18n/zh-tw.ts +309 -10
- package/src/layout-order.ts +210 -0
- package/src/notices/api.ts +43 -0
- package/src/notices/mount.ts +292 -0
- package/src/notices/service.ts +294 -0
- package/src/notices/store.ts +298 -0
- package/src/notices/urls.ts +38 -0
- package/src/onboarding/api.ts +32 -0
- package/src/onboarding/service.ts +149 -0
- package/src/onboarding/steps.ts +75 -0
- package/src/onboarding/waivers.ts +40 -0
- package/src/options.ts +498 -34
- package/src/profile/api.ts +175 -0
- package/src/profile/links.ts +162 -0
- package/src/push/api.ts +189 -52
- package/src/push/dispatch.ts +156 -0
- package/src/push/drain.ts +139 -0
- package/src/push/mutes.ts +17 -0
- package/src/push/outbox.ts +218 -0
- package/src/push/prefs.ts +118 -0
- package/src/push/sender.ts +7 -2
- package/src/push/triggers.ts +56 -5
- package/src/push/vapid.ts +19 -0
- package/src/push/web-push-transport.ts +106 -0
- package/src/push-sender/index.ts +14 -0
- package/src/push-sender/run.ts +118 -0
- package/src/push-sender/session.ts +54 -0
- package/src/visitors.ts +94 -6
- package/src/web-app.ts +674 -0
- package/src/web-plugin.ts +293 -26
- package/dist/chunk-action-menu-7v5fce2v.js +0 -1
- package/dist/chunk-agent-2rw4ydw2.js +0 -1
- package/dist/chunk-agent-sheet-2q24dkkf.js +0 -3
- package/dist/chunk-character-creator-8q6ympxj.js +0 -1
- package/dist/chunk-codeeditor-fgmq298t.js +0 -2
- package/dist/chunk-connectors-mr53r7fh.js +0 -1
- package/dist/chunk-conversations-4vy2z6w9.js +0 -1
- package/dist/chunk-entry-jg1eem82.js +0 -1
- package/dist/chunk-group-scene-na95b1te.js +0 -1
- package/dist/chunk-index-11rjg8a8.js +0 -1
- package/dist/chunk-index-1y50d6sj.js +0 -2
- package/dist/chunk-index-5y2r0eaj.js +0 -47
- package/dist/chunk-index-7fphxxzd.js +0 -14
- package/dist/chunk-index-80f1zkp6.css +0 -1
- package/dist/chunk-index-87h45frg.js +0 -2
- package/dist/chunk-index-bnwmssyn.js +0 -2
- package/dist/chunk-index-ckgbszwt.js +0 -51
- package/dist/chunk-index-fmjjekhd.js +0 -2
- package/dist/chunk-index-t1m65yn6.js +0 -13
- package/dist/chunk-index-t711t17m.js +0 -2
- package/dist/chunk-index-txv7qvyy.js +0 -2
- package/dist/chunk-index-wr3dg24d.js +0 -2
- package/dist/chunk-index-yx683d5n.js +0 -2
- package/dist/chunk-lang-css-fkdg3x8x.js +0 -1
- package/dist/chunk-lang-html-v8h9g977.js +0 -1
- package/dist/chunk-lang-javascript-ykb2vhaa.js +0 -1
- package/dist/chunk-lang-json-2rze3rpy.js +0 -1
- package/dist/chunk-lang-markdown-6w2htnfc.js +0 -6
- package/dist/chunk-lang-rust-24fggcqx.js +0 -1
- package/dist/chunk-lang-sql-gjywb9ke.js +0 -2
- package/dist/chunk-lang-typescript-qh6rebyb.js +0 -1
- package/dist/chunk-menu-items-zjpyj51b.js +0 -2
- package/dist/chunk-notes-sjba7kw3.js +0 -1
- package/dist/chunk-overview-26r77kb6.js +0 -1
- package/dist/chunk-room-confirms-851184ep.js +0 -1
- package/dist/chunk-room-menu-8y9c026y.js +0 -1
- package/dist/chunk-skills-56s4hdbn.js +0 -1
- package/dist/chunk-table-qykpvp32.js +0 -1
- package/dist/chunk-table2d-k60ressj.js +0 -1
- package/dist/chunk-table3d-bv2ajk39.js +0 -4220
- package/dist/chunk-transcript-vekz1mh6.js +0 -1
- package/dist/chunk-workspace-hevefd0d.js +0 -1
- package/dist/chunk-zh-tw-5r2wjre0.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{M,J,It,gn,Dt,Xe,ee,a,h,de,ye,Je,be,C,Y,H,T,Ie,De,ve,te,v,F,fe,u,Fe,yn,bn,vn,Ut,Tt,xn,Sn,wn,_n,p,n,x,Qe,nt,Mt,nn,mt,Ot,Qn,Pn,Ne}from"./chunk-index-t1m65yn6.js";import{Q}from"./chunk-index-ckgbszwt.js";var hn=(e)=>{let{state:t}=e,r=t.doc.lineAt(t.selection.main.from),o=Ee(e.state,r.from);return o.line?fn(e):o.block?mn(e):!1};function Be(e,t){return({state:r,dispatch:o})=>{if(r.readOnly)return!1;let l=e(t,r);if(!l)return!1;return o(r.update(l)),!0}}var fn=Be(Cn,0);var dn=Be(lt,0);var mn=Be((e,t)=>lt(e,t,kn(t)),0);function Ee(e,t){let r=e.languageDataAt("commentTokens",t,1);return r.length?r[0]:{}}var U=50;function pn(e,{open:t,close:r},o,l){let i=e.sliceDoc(o-U,o),s=e.sliceDoc(l,l+U),c=/\s*$/.exec(i)[0].length,f=/^\s*/.exec(s)[0].length,m=i.length-c;if(i.slice(m-t.length,m)==t&&s.slice(f,f+r.length)==r)return{open:{pos:o-c,margin:c&&1},close:{pos:l+f,margin:f&&1}};let d,g;if(l-o<=2*U)d=g=e.sliceDoc(o,l);else d=e.sliceDoc(o,o+U),g=e.sliceDoc(l-U,l);let y=/^\s*/.exec(d)[0].length,W=/\s*$/.exec(g)[0].length,B=g.length-W-r.length;if(d.slice(y,y+t.length)==t&&g.slice(B,B+r.length)==r)return{open:{pos:o+y+t.length,margin:/\s/.test(d.charAt(y+t.length))?1:0},close:{pos:l-W-r.length,margin:/\s/.test(g.charAt(B-1))?1:0}};return null}function kn(e){let t=[];for(let r of e.selection.ranges){let o=e.doc.lineAt(r.from),l=r.to<=o.to?o:e.doc.lineAt(r.to);if(l.from>o.from&&l.from==r.to)l=r.to==o.to+1?o:e.doc.lineAt(r.to-1);let i=t.length-1;if(i>=0&&t[i].to>o.from)t[i].to=l.to;else t.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:l.to})}return t}function lt(e,t,r=t.selection.ranges){let o=r.map((i)=>Ee(t,i.from).block);if(!o.every((i)=>i))return null;let l=r.map((i,s)=>pn(t,o[s],i.from,i.to));if(e!=2&&!l.every((i)=>i))return{changes:t.changes(r.map((i,s)=>{if(l[s])return[];return[{from:i.from,insert:o[s].open+" "},{from:i.to,insert:" "+o[s].close}]}))};else if(e!=1&&l.some((i)=>i)){let i=[];for(let s=0,c;s<l.length;s++)if(c=l[s]){let f=o[s],{open:m,close:d}=c;i.push({from:m.pos-f.open.length,to:m.pos+m.margin},{from:d.pos-d.margin,to:d.pos+f.close.length})}return{changes:i}}return null}function Cn(e,t,r=t.selection.ranges){let o=[],l=-1;e:for(let{from:i,to:s}of r){let c=o.length,f=1e9,m;for(let d=i;d<=s;){let g=t.doc.lineAt(d);if(m==null){if(m=Ee(t,g.from).line,!m)continue e}if(g.from>l&&(i==s||s>g.from)){l=g.from;let y=/^\s*/.exec(g.text)[0].length,W=y==g.length,B=g.text.slice(y,y+m.length)==m?y:-1;if(y<g.text.length&&y<f)f=y;o.push({line:g,comment:B,token:m,indent:y,empty:W,single:!1})}d=g.to+1}if(f<1e9){for(let d=c;d<o.length;d++)if(o[d].indent<o[d].line.text.length)o[d].indent=f}if(o.length==c+1)o[c].single=!0}if(e!=2&&o.some((i)=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:c,token:f,indent:m,empty:d,single:g}of o)if(g||!d)i.push({from:c.from+m,insert:f+" "});let s=t.changes(i);return{changes:s,selection:t.selection.map(s,1)}}else if(e!=1&&o.some((i)=>i.comment>=0)){let i=[];for(let{line:s,comment:c,token:f}of o)if(c>=0){let m=s.from+c,d=m+f.length;if(s.text[d-s.from]==" ")d++;i.push({from:m,to:d})}return{changes:i}}return null}var Me=be.define(),Mn=be.define(),An=h.define(),it=h.define({combine(e){return Ie(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,r)=>r},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,r)=>(o,l)=>t(o,l)||r(o,l)})}}),st=de.define({create(){return w.empty},update(e,t){let r=t.state.facet(it),o=t.annotation(Me);if(o){let f=k.fromTransaction(t,o.selection),m=o.side,d=m==0?e.undone:e.done;if(f)d=Z(d,d.length,r.minDepth,f);else d=ut(d,t.startState.selection);return new w(m==0?o.rest:d,m==0?d:o.rest)}let l=t.annotation(Mn);if(l=="full"||l=="before")e=e.isolate();if(t.annotation(Y.addToHistory)===!1)return!t.changes.empty?e.addMapping(t.changes.desc):e;let i=k.fromTransaction(t),s=t.annotation(Y.time),c=t.annotation(Y.userEvent);if(i)e=e.addChanges(i,s,c,r,t);else if(t.selection)e=e.addSelection(t.startState.selection,s,c,r.newGroupDelay);if(l=="full"||l=="after")e=e.isolate();return e},toJSON(e){return{done:e.done.map((t)=>t.toJSON()),undone:e.undone.map((t)=>t.toJSON())}},fromJSON(e){return new w(e.done.map(k.fromJSON),e.undone.map(k.fromJSON))}});function ct(e={}){return[st,it.of(e),u.domEventHandlers({beforeinput(t,r){let o=t.inputType=="historyUndo"?re:t.inputType=="historyRedo"?z:null;if(!o)return!1;return t.preventDefault(),o(r)}})]}function ne(e,t){return function({state:r,dispatch:o}){if(!t&&r.readOnly)return!1;let l=r.field(st,!1);if(!l)return!1;let i=l.pop(e,r,t);if(!i)return!1;return o(i),!0}}var re=ne(0,!1),z=ne(1,!1),Ln=ne(0,!0),Bn=ne(1,!0);class k{constructor(e,t,r,o,l){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=o,this.selectionsAfter=l}setSelAfter(e){return new k(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map((o)=>o.toJSON())}}static fromJSON(e){return new k(e.changes&&ee.fromJSON(e.changes),[],e.mapped&&Xe.fromJSON(e.mapped),e.startSelection&&a.fromJSON(e.startSelection),e.selectionsAfter.map(a.fromJSON))}static fromTransaction(e,t){let r=A;for(let o of e.startState.facet(An)){let l=o(e);if(l.length)r=r.concat(l)}if(!r.length&&e.changes.empty)return null;return new k(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,A)}static selection(e){return new k(void 0,A,void 0,void 0,e)}}function Z(e,t,r,o){let l=t+1>r+20?t-r-1:0,i=e.slice(l,t);return i.push(o),i}function Dn(e,t){let r=[],o=!1;return e.iterChangedRanges((l,i)=>r.push(l,i)),t.iterChangedRanges((l,i,s,c)=>{for(let f=0;f<r.length;){let m=r[f++],d=r[f++];if(c>=m&&s<=d)o=!0}}),o}function En(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((r,o)=>r.empty!=t.ranges[o].empty).length===0}function at(e,t){return!e.length?t:!t.length?e:e.concat(t)}var A=[],Tn=200;function ut(e,t){if(!e.length)return[k.selection([t])];else{let r=e[e.length-1],o=r.selectionsAfter.slice(Math.max(0,r.selectionsAfter.length-Tn));if(o.length&&o[o.length-1].eq(t))return e;return o.push(t),Z(e,e.length-1,1e9,r.setSelAfter(o))}}function Wn(e){let t=e[e.length-1],r=e.slice();return r[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),r}function Ce(e,t){if(!e.length)return e;let r=e.length,o=A;while(r){let l=Rn(e[r-1],t,o);if(l.changes&&!l.changes.empty||l.effects.length){let i=e.slice(0,r);return i[r-1]=l,i}else t=l.mapped,r--,o=l.selectionsAfter}return o.length?[k.selection(o)]:A}function Rn(e,t,r){let o=at(e.selectionsAfter.length?e.selectionsAfter.map((c)=>c.map(t)):A,r);if(!e.changes)return k.selection(o);let l=e.changes.map(t),i=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(i):i;return new k(l,C.mapEffects(e.effects,t),s,e.startSelection.map(i),o)}var On=/^(input\.type|delete)($|\.)/;class w{constructor(e,t,r=0,o=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=o}isolate(){return this.prevTime?new w(this.done,this.undone):this}addChanges(e,t,r,o,l){let i=this.done,s=i[i.length-1];if(s&&s.changes&&!s.changes.empty&&e.changes&&(!r||On.test(r))&&(!s.selectionsAfter.length&&t-this.prevTime<o.newGroupDelay&&o.joinToEvent(l,Dn(s.changes,e.changes))||r=="input.type.compose"))i=Z(i,i.length-1,o.minDepth,new k(e.changes.compose(s.changes),at(C.mapEffects(e.effects,s.changes),s.effects),s.mapped,s.startSelection,A));else i=Z(i,i.length,o.minDepth,e);return new w(i,A,t,r)}addSelection(e,t,r,o){let l=this.done.length?this.done[this.done.length-1].selectionsAfter:A;if(l.length>0&&t-this.prevTime<o&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&En(l[l.length-1],e))return this;return new w(ut(this.done,e),this.undone,t,r)}addMapping(e){return new w(Ce(this.done,e),Ce(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let o=e==0?this.done:this.undone;if(o.length==0)return null;let l=o[o.length-1],i=l.selectionsAfter[0]||(l.startSelection?l.startSelection.map(l.changes.invertedDesc,1):t.selection);if(r&&l.selectionsAfter.length)return t.update({selection:l.selectionsAfter[l.selectionsAfter.length-1],annotations:Me.of({side:e,rest:Wn(o),selection:i}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});else if(!l.changes)return null;else{let s=o.length==1?A:o.slice(0,o.length-1);if(l.mapped)s=Ce(s,l.mapped);return t.update({changes:l.changes,selection:l.startSelection,effects:l.effects,annotations:Me.of({side:e,rest:s,selection:i}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}}}w.empty=new w(A,A);var ht=[{key:"Mod-z",run:re,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:z,preventDefault:!0},{linux:"Ctrl-Shift-z",run:z,preventDefault:!0},{key:"Mod-u",run:Ln,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Bn,preventDefault:!0}];function N(e,t){return a.create(e.ranges.map(t),e.mainIndex)}function D(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function E({state:e,dispatch:t},r){let o=N(e.selection,r);if(o.eq(e.selection,!0))return!1;return t(D(e,o)),!0}function oe(e,t){return a.cursor(t?e.to:e.from)}function ft(e,t){return E(e,(r)=>r.empty?e.moveByChar(r,t):oe(r,t))}function S(e){return e.textDirectionAt(e.state.selection.main.head)==F.LTR}var dt=(e)=>ft(e,!S(e)),pt=(e)=>ft(e,S(e));function gt(e,t){return E(e,(r)=>r.empty?e.moveByGroup(r,t):oe(r,t))}var Fn=(e)=>gt(e,!S(e)),In=(e)=>gt(e,S(e));var io=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Nn(e,t,r){if(t.type.prop(r))return!0;let o=t.to-t.from;return o&&(o>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function le(e,t,r){let o=x(e).resolveInner(t.head),l=r?p.closedBy:p.openedBy;for(let f=t.head;;){let m=r?o.childAfter(f):o.childBefore(f);if(!m)break;if(Nn(e,m,l))o=m;else f=r?m.to:m.from}let i=o.type.prop(l),s,c;if(i&&(s=r?Ne(e,o.from,1):Ne(e,o.to,-1))&&s.matched)c=r?s.end.to:s.end.from;else c=r?o.to:o.from;return a.cursor(c,r?-1:1)}var qn=(e)=>E(e,(t)=>le(e.state,t,!S(e))),Vn=(e)=>E(e,(t)=>le(e.state,t,S(e)));function yt(e,t){return E(e,(r)=>{if(!r.empty)return oe(r,t);let o=e.moveVertically(r,t);return o.head!=r.head?o:e.moveToLineBoundary(r,t)})}var xt=(e)=>yt(e,!1),St=(e)=>yt(e,!0);function kt(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,r=0,o=0,l;if(t){for(let i of e.state.facet(u.scrollMargins)){let s=i(e);if(s===null||s===void 0?void 0:s.top)r=Math.max(s===null||s===void 0?void 0:s.top,r);if(s===null||s===void 0?void 0:s.bottom)o=Math.max(s===null||s===void 0?void 0:s.bottom,o)}l=e.scrollDOM.clientHeight-r-o}else l=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:r,marginBottom:o,selfScroll:t,height:Math.max(e.defaultLineHeight,l-5)}}function vt(e,t){let r=kt(e),{state:o}=e,l=N(o.selection,(s)=>s.empty?e.moveVertically(s,t,r.height):oe(s,t));if(l.eq(o.selection))return!1;let i;if(r.selfScroll){let s=e.coordsAtPos(o.selection.main.head),c=e.scrollDOM.getBoundingClientRect(),f=c.top+r.marginTop,m=c.bottom-r.marginBottom;if(s&&s.top>f&&s.bottom<m)i=u.scrollIntoView(l.main.head,{y:"start",yMargin:s.top-f})}return e.dispatch(D(o,l),{effects:i}),!0}var He=(e)=>vt(e,!1),Ae=(e)=>vt(e,!0);function R(e,t,r){let o=e.lineBlockAt(t.head),l=e.moveToLineBoundary(t,r);if(l.head==t.head&&l.head!=(r?o.to:o.from))l=e.moveToLineBoundary(t,r,!1);if(!r&&l.head==o.from&&o.length){let i=/^\s*/.exec(e.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;if(i&&t.head!=o.from+i)l=a.cursor(o.from+i)}return l}var Gn=(e)=>E(e,(t)=>R(e,t,!0)),Un=(e)=>E(e,(t)=>R(e,t,!1)),zn=(e)=>E(e,(t)=>R(e,t,!S(e))),Jn=(e)=>E(e,(t)=>R(e,t,S(e))),$n=(e)=>E(e,(t)=>e.moveToLineBoundary(t,!1,!1)),Kn=(e)=>E(e,(t)=>e.moveToLineBoundary(t,!0,!1));function Hn(e,t,r){let o=!1,l=N(e.selection,(i)=>{let s=Ne(e,i.head,-1)||Ne(e,i.head,1)||i.head>0&&Ne(e,i.head-1,1)||i.head<e.doc.length&&Ne(e,i.head+1,-1);if(!s||!s.end)return i;o=!0;let c=s.start.from==i.head?s.end.to:s.end.from;return r?a.range(i.anchor,c):a.cursor(c)});if(!o)return!1;return t(D(e,l)),!0}var jn=({state:e,dispatch:t})=>Hn(e,t,!1);function L(e,t,r){let o=N(e.state.selection,(l)=>{if(l.undirectional&&l.head>=l.anchor!=t)l=a.range(l.head,l.anchor);let i=r(l);return a.range(l.anchor,i.head,i.goalColumn,i.bidiLevel||void 0,i.assoc)});if(o.eq(e.state.selection))return!1;return e.dispatch(D(e.state,o)),!0}function bt(e,t){return L(e,t,(r)=>e.moveByChar(r,t))}var Ct=(e)=>bt(e,!S(e)),At=(e)=>bt(e,S(e));function Lt(e,t){return L(e,t,(r)=>e.moveByGroup(r,t))}var Xn=(e)=>Lt(e,!S(e)),Yn=(e)=>Lt(e,S(e));var Zn=(e)=>{let t=!S(e);return L(e,t,(r)=>le(e.state,r,t))},er=(e)=>{let t=S(e);return L(e,t,(r)=>le(e.state,r,t))};function Bt(e,t){return L(e,t,(r)=>e.moveVertically(r,t))}var Et=(e)=>Bt(e,!1),wt=(e)=>Bt(e,!0);function Wt(e,t){return L(e,t,(r)=>e.moveVertically(r,t,kt(e).height))}var je=(e)=>Wt(e,!1),Ye=(e)=>Wt(e,!0),tr=(e)=>L(e,!0,(t)=>R(e,t,!0)),nr=(e)=>L(e,!1,(t)=>R(e,t,!1)),rr=(e)=>{let t=!S(e);return L(e,t,(r)=>R(e,r,t))},or=(e)=>{let t=S(e);return L(e,t,(r)=>R(e,r,t))},lr=(e)=>L(e,!1,(t)=>a.cursor(e.lineBlockAt(t.head).from)),ir=(e)=>L(e,!0,(t)=>a.cursor(e.lineBlockAt(t.head).to)),Ze=({state:e,dispatch:t})=>(t(D(e,{anchor:0})),!0),et=({state:e,dispatch:t})=>(t(D(e,{anchor:e.doc.length})),!0),tt=({state:e,dispatch:t})=>(t(D(e,{anchor:e.selection.main.anchor,head:0})),!0),rt=({state:e,dispatch:t})=>(t(D(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),sr=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),cr=({state:e,dispatch:t})=>{let r=ie(e).map(({from:o,to:l})=>a.undirectionalRange(o,Math.min(l+1,e.doc.length)));return t(e.update({selection:a.create(r),userEvent:"select"})),!0},ar=({state:e,dispatch:t})=>{let r=N(e.selection,(o)=>{let l=x(e),i=l.resolveStack(o.from,1);if(o.empty){let s=l.resolveStack(o.from,-1);if(s.node.from>=i.node.from&&s.node.to<=i.node.to)i=s}for(let s=i;s;s=s.next){let{node:c}=s;if((c.from<o.from&&c.to>=o.to||c.to>o.to&&c.from<=o.from)&&s.next)return a.undirectionalRange(c.from,c.to)}return o});if(r.eq(e.selection))return!1;return t(D(e,r)),!0};function Rt(e,t){let{state:r}=e,o=r.selection,l=r.selection.ranges.slice();for(let i of r.selection.ranges){let s=r.doc.lineAt(i.head);if(t?s.to<e.state.doc.length:s.from>0)for(let c=i;;){let f=e.moveVertically(c,t);if(f.head<s.from||f.head>s.to){if(!l.some((m)=>m.head==f.head))l.push(f);break}else if(f.head==c.head)break;else c=f}}if(l.length==o.ranges.length)return!1;return e.dispatch(D(r,a.create(l,l.length-1))),!0}var ur=(e)=>Rt(e,!1),hr=(e)=>Rt(e,!0),fr=({state:e,dispatch:t})=>{let r=e.selection,o=null;if(r.ranges.length>1)o=a.create([r.main]);else if(!r.main.empty)o=a.create([a.cursor(r.main.head)]);if(!o)return!1;return t(D(e,o)),!0};function _(e,t){if(e.state.readOnly)return!1;let r="delete.selection",{state:o}=e,l=o.changeByRange((i)=>{let{from:s,to:c}=i;if(s==c){let f=t(i);if(f<s)r="delete.backward",f=X(e,f,!1);else if(f>s)r="delete.forward",f=X(e,f,!0);s=Math.min(s,f),c=Math.max(c,f)}else s=X(e,s,!1),c=X(e,c,!0);return s==c?{range:i}:{changes:{from:s,to:c},range:a.cursor(s,s<i.head?-1:1)}});if(l.changes.empty)return!1;return e.dispatch(o.update(l,{scrollIntoView:!0,userEvent:r,effects:r=="delete.selection"?u.announce.of(o.phrase("Selection deleted")):void 0})),!0}function X(e,t,r){if(e instanceof u)for(let o of e.state.facet(u.atomicRanges).map((l)=>l(e)))o.between(t,t,(l,i)=>{if(l<t&&i>t)t=r?i:l});return t}var Ft=(e,t,r)=>_(e,(o)=>{let l=o.from,{state:i}=e,s=i.doc.lineAt(l),c,f;if(r&&!t&&l>s.from&&l<s.from+200&&!/[^ \t]/.test(c=s.text.slice(0,l-s.from))){if(c[c.length-1]=="\t")return l-1;let m=ve(c,i.tabSize),d=m%nt(i)||nt(i);for(let g=0;g<d&&c[c.length-1-g]==" ";g++)l--;f=l}else if(f=J(s.text,l-s.from,t,t)+s.from,f==l&&s.number!=(t?i.doc.lines:1))f+=t?1:-1;else if(!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(f-s.from,l-s.from)))f=J(s.text,f-s.from,!1,!1)+s.from;return f}),Le=(e)=>Ft(e,!1,!0);var Pt=(e)=>Ft(e,!0,!1),Nt=(e,t)=>_(e,(r)=>{let o=r.head,{state:l}=e,i=l.doc.lineAt(o),s=l.charCategorizer(o);for(let c=null;;){if(o==(t?i.to:i.from)){if(o==r.head&&i.number!=(t?l.doc.lines:1))o+=t?1:-1;break}let f=J(i.text,o-i.from,t)+i.from,m=i.text.slice(Math.min(o,f)-i.from,Math.max(o,f)-i.from),d=s(m);if(c!=null&&d!=c)break;if(m!=" "||o!=r.head)c=d;o=f}return o}),qt=(e)=>Nt(e,!1),dr=(e)=>Nt(e,!0);var mr=(e)=>_(e,(t)=>{let r=e.lineBlockAt(t.head).to;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)});var pr=(e)=>_(e,(t)=>{let r=e.moveToLineBoundary(t,!1).head;return t.head>r?r:Math.max(0,t.head-1)}),gr=(e)=>_(e,(t)=>{let r=e.moveToLineBoundary(t,!0).head;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)});var yr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((o)=>({changes:{from:o.from,to:o.to,insert:M.of(["",""])},range:a.cursor(o.from)}));return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0},xr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((o)=>{if(!o.empty||o.from==0||o.from==e.doc.length)return{range:o};let l=o.from,i=e.doc.lineAt(l),s=l==i.from?l-1:J(i.text,l-i.from,!1)+i.from,c=l==i.to?l+1:J(i.text,l-i.from,!0)+i.from;return{changes:{from:s,to:c,insert:e.doc.slice(l,c).append(e.doc.slice(s,l))},range:a.cursor(c)}});if(r.changes.empty)return!1;return t(e.update(r,{scrollIntoView:!0,userEvent:"move.character"})),!0};function ie(e){let t=[],r=-1;for(let o of e.selection.ranges){let l=e.doc.lineAt(o.from),i=e.doc.lineAt(o.to);if(!o.empty&&o.to==i.from)i=e.doc.lineAt(o.to-1);if(r>=l.number){let s=t[t.length-1];s.to=i.to,s.ranges.push(o)}else t.push({from:l.from,to:i.to,ranges:[o]});r=i.number+1}return t}function Vt(e,t,r){if(e.readOnly)return!1;let o=[],l=[];for(let i of ie(e)){if(r?i.to==e.doc.length:i.from==0)continue;let s=e.doc.lineAt(r?i.to+1:i.from-1),c=s.length+1;if(r){o.push({from:i.to,to:s.to},{from:i.from,insert:s.text+e.lineBreak});for(let f of i.ranges)l.push(a.range(Math.min(e.doc.length,f.anchor+c),Math.min(e.doc.length,f.head+c)))}else{o.push({from:s.from,to:i.from},{from:i.to,insert:e.lineBreak+s.text});for(let f of i.ranges)l.push(a.range(f.anchor-c,f.head-c))}}if(!o.length)return!1;return t(e.update({changes:o,scrollIntoView:!0,selection:a.create(l,e.selection.mainIndex),userEvent:"move.line"})),!0}var Sr=({state:e,dispatch:t})=>Vt(e,t,!1),kr=({state:e,dispatch:t})=>Vt(e,t,!0);function Gt(e,t,r){if(e.readOnly)return!1;let o=[];for(let i of ie(e))if(r)o.push({from:i.from,insert:e.doc.slice(i.from,i.to)+e.lineBreak});else o.push({from:i.to,insert:e.lineBreak+e.doc.slice(i.from,i.to)});let l=e.changes(o);return t(e.update({changes:l,selection:e.selection.map(l,r?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var vr=({state:e,dispatch:t})=>Gt(e,t,!1),br=({state:e,dispatch:t})=>Gt(e,t,!0),Cr=(e)=>{if(e.state.readOnly)return!1;let{state:t}=e,r=t.changes(ie(t).map(({from:l,to:i})=>{if(l>0)l--;else if(i<t.doc.length)i++;return{from:l,to:i}})),o=N(t.selection,(l)=>{let i=void 0;if(e.lineWrapping){let s=e.lineBlockAt(l.head),c=e.coordsAtPos(l.head,l.assoc||1);if(c)i=s.bottom+e.documentTop-c.bottom+e.defaultLineHeight/2}return e.moveVertically(l,!0,i)}).map(r);return e.dispatch({changes:r,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Mr(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let r=x(e).resolveInner(t),o=r.childBefore(t),l=r.childAfter(t),i;if(o&&l&&o.to<=t&&l.from>=t&&(i=o.type.prop(p.closedBy))&&i.indexOf(l.name)>-1&&e.doc.lineAt(o.to).from==e.doc.lineAt(l.from).from&&!/\S/.test(e.sliceDoc(o.to,l.from)))return{from:o.to,to:l.from};return null}var ot=zt(!1),Ar=zt(!0);function zt(e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let o=t.changeByRange((l)=>{let{from:i,to:s}=l,c=t.doc.lineAt(i),f=!e&&i==s&&Mr(t,i);if(e)i=s=(s<=c.to?c:t.doc.lineAt(s)).to;let m=new mt(t,{simulateBreak:i,simulateDoubleBreak:!!f}),d=nn(m,i);if(d==null)d=ve(/^\s*/.exec(t.doc.lineAt(i).text)[0],t.tabSize);while(s<c.to&&/\s/.test(c.text[s-c.from]))s++;if(f)({from:i,to:s}=f);else if(i>c.from&&i<c.from+100&&!/\S/.test(c.text.slice(0,i)))i=c.from;let g=["",Mt(t,d)];if(f)g.push(Mt(t,m.lineIndent(c.from,-1)));return{changes:{from:i,to:s,insert:M.of(g)},range:a.cursor(i+1+g[1].length)}});return r(t.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function Te(e,t){let r=-1;return e.changeByRange((o)=>{let l=[];for(let s=o.from;s<=o.to;){let c=e.doc.lineAt(s);if(c.number>r&&(o.empty||o.to>c.from))t(c,l,o),r=c.number;s=c.to+1}let i=e.changes(l);return{changes:l,range:a.range(i.mapPos(o.anchor,1),i.mapPos(o.head,1))}})}var Lr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=Object.create(null),o=new mt(e,{overrideIndentation:(i)=>{let s=r[i];return s==null?-1:s}}),l=Te(e,(i,s,c)=>{let f=nn(o,i.from);if(f==null)return;if(!/\S/.test(i.text))f=0;let m=/^\s*/.exec(i.text)[0],d=Mt(e,f);if(m!=d||c.from<i.from+m.length)r[i.from]=f,s.push({from:i.from,to:i.from+m.length,insert:d})});if(!l.changes.empty)t(e.update(l,{userEvent:"indent"}));return!0},se=({state:e,dispatch:t})=>{if(e.readOnly)return!1;return t(e.update(Te(e,(r,o)=>{o.push({from:r.from,insert:e.facet(Qe)})}),{userEvent:"input.indent"})),!0},_t=({state:e,dispatch:t})=>{if(e.readOnly)return!1;return t(e.update(Te(e,(r,o)=>{let l=/^\s*/.exec(r.text)[0];if(!l)return;let i=ve(l,e.tabSize),s=0,c=Mt(e,Math.max(0,i-nt(e)));while(s<l.length&&s<c.length&&l.charCodeAt(s)==c.charCodeAt(s))s++;o.push({from:r.from+s,to:r.from+l.length,insert:c.slice(s)})}),{userEvent:"delete.dedent"})),!0},Br=(e)=>(e.setTabFocusMode(),!0);var Dr=[{key:"Ctrl-b",run:dt,shift:Ct,preventDefault:!0},{key:"Ctrl-f",run:pt,shift:At},{key:"Ctrl-p",run:xt,shift:Et},{key:"Ctrl-n",run:St,shift:wt},{key:"Ctrl-a",run:$n,shift:lr},{key:"Ctrl-e",run:Kn,shift:ir},{key:"Ctrl-d",run:Pt},{key:"Ctrl-h",run:Le},{key:"Ctrl-k",run:mr},{key:"Ctrl-Alt-h",run:qt},{key:"Ctrl-o",run:yr},{key:"Ctrl-t",run:xr},{key:"Ctrl-v",run:Ae}],Er=[{key:"ArrowLeft",run:dt,shift:Ct,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Fn,shift:Xn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:zn,shift:rr,preventDefault:!0},{key:"ArrowRight",run:pt,shift:At,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:In,shift:Yn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Jn,shift:or,preventDefault:!0},{key:"ArrowUp",run:xt,shift:Et,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Ze,shift:tt},{mac:"Ctrl-ArrowUp",run:He,shift:je},{key:"ArrowDown",run:St,shift:wt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:et,shift:rt},{mac:"Ctrl-ArrowDown",run:Ae,shift:Ye},{key:"PageUp",run:He,shift:je},{key:"PageDown",run:Ae,shift:Ye},{key:"Home",run:Un,shift:nr,preventDefault:!0},{key:"Mod-Home",run:Ze,shift:tt},{key:"End",run:Gn,shift:tr,preventDefault:!0},{key:"Mod-End",run:et,shift:rt},{key:"Enter",run:ot,shift:ot},{key:"Mod-a",run:sr},{key:"Backspace",run:Le,shift:Le,preventDefault:!0},{key:"Delete",run:Pt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:qt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:dr,preventDefault:!0},{mac:"Mod-Backspace",run:pr,preventDefault:!0},{mac:"Mod-Delete",run:gr,preventDefault:!0}].concat(Dr.map((e)=>({mac:e.key,run:e.run,shift:e.shift}))),Jt=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:qn,shift:Zn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Vn,shift:er},{key:"Alt-ArrowUp",run:Sr},{key:"Shift-Alt-ArrowUp",run:vr},{key:"Alt-ArrowDown",run:kr},{key:"Shift-Alt-ArrowDown",run:br},{key:"Mod-Alt-ArrowUp",run:ur},{key:"Mod-Alt-ArrowDown",run:hr},{key:"Escape",run:fr},{key:"Mod-Enter",run:Ar},{key:"Alt-l",mac:"Ctrl-l",run:cr},{key:"Mod-i",run:ar,preventDefault:!0},{key:"Mod-[",run:_t},{key:"Mod-]",run:se},{key:"Mod-Alt-\\",run:Lr},{key:"Shift-Mod-k",run:Cr},{key:"Shift-Mod-\\",run:jn},{key:"Mod-/",run:hn},{key:"Alt-A",mac:"Ctrl-A",run:dn},{key:"Ctrl-m",mac:"Shift-Alt-m",run:Br}].concat(Er),$t={key:"Tab",run:se,shift:_t};var Kt=typeof String.prototype.normalize=="function"?(e)=>e.normalize("NFKD"):(e)=>e;class I{constructor(e,t,r=0,o=e.length,l,i){this.test=i,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,o),this.bufferStart=r,this.normalize=l?(s)=>l(Kt(s)):Kt,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return It(this.buffer,this.bufferPos)}next(){while(this.matches.length)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=gn(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Dt(e);let o=this.normalize(t);if(o.length)for(let l=0,i=r,s=!0;;l++){let c=o.charCodeAt(l),f=this.match(c,i,s,this.bufferPos+this.bufferStart,l==o.length-1);if(f)return this.value=f,this;if(l==o.length-1)break;if(s&&l<t.length&&t.charCodeAt(l)==c)i++;else s=!1}}}match(e,t,r,o,l){let i=null;for(let s=0;s<this.matches.length;){let c=this.matches[s],f=!1;if(this.query.charCodeAt(c.index)==e)if(c.index==this.query.length-1)i={from:c.from,to:o,precise:l&&c.precise};else c.index++,f=!0;if(f)s++;else this.matches.splice(s,1)}if(this.query.charCodeAt(0)==e)if(this.query.length==1)i={from:t,to:o,precise:r&&l};else this.matches.push({from:t,index:1,precise:r});if(i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart))i=null;return i}}if(typeof Symbol<"u")I.prototype[Symbol.iterator]=function(){return this};var jt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Oe="gm"+(/x/.unicode==null?"":"u");class Pe{constructor(e,t,r,o=0,l=e.length){if(this.text=e,this.to=l,this.curLine="",this.done=!1,this.value=jt,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new qe(e,t,r,o,l);this.re=new RegExp(t,Oe+((r===null||r===void 0?void 0:r.ignoreCase)?"i":"")),this.test=r===null||r===void 0?void 0:r.test,this.iter=e.iter();let i=e.lineAt(o);this.curLineStart=i.from,this.matchPos=he(e,o),this.getLine(this.curLineStart)}getLine(e){if(this.iter.next(e),this.iter.lineBreak)this.curLine="";else{if(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to)this.curLine=this.curLine.slice(0,this.to-this.curLineStart);this.iter.next()}}nextLine(){if(this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to)this.curLine="";else this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,o=r+t[0].length;if(this.matchPos=he(this.text,o+(r==o?1:0)),r==this.curLineStart+this.curLine.length)this.nextLine();if((r<o||r>this.value.to)&&(!this.test||this.test(r,o,t)))return this.value={from:r,to:o,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}var we=new WeakMap;class G{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let o=we.get(e);if(!o||o.from>=r||o.to<=t){let s=new G(t,e.sliceString(t,r));return we.set(e,s),s}if(o.from==t&&o.to==r)return o;let{text:l,from:i}=o;if(i>t)l=e.sliceString(t,i)+l,i=t;if(o.to<r)l+=e.sliceString(o.to,r);return we.set(e,new G(i,l)),new G(t,l.slice(t-i,r-i))}}class qe{constructor(e,t,r,o,l){this.text=e,this.to=l,this.done=!1,this.value=jt,this.matchPos=he(e,o),this.re=new RegExp(t,Oe+((r===null||r===void 0?void 0:r.ignoreCase)?"i":"")),this.test=r===null||r===void 0?void 0:r.test,this.flat=G.get(e,o,this.chunkEnd(o+5000))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e)this.re.lastIndex=e+1,t=this.re.exec(this.flat.text);if(t){let r=this.flat.from+t.index,o=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,o,t)))return this.value={from:r,to:o,precise:!0,match:t},this.matchPos=he(this.text,o+(r==o?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=G.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}if(typeof Symbol<"u")Pe.prototype[Symbol.iterator]=qe.prototype[Symbol.iterator]=function(){return this};function Tr(e){try{return new RegExp(e,Oe),!0}catch(t){return!1}}function he(e,t){if(t>=e.length)return t;let r=e.lineAt(t),o;while(t<r.to&&(o=r.text.charCodeAt(t-r.from))>=56320&&o<57344)t++;return t}var wr=(e)=>{let t=Sn(e,"cm-goto-line");if(t){let s=t.dom.querySelector("input[type=text]");if(s)s.select();return!0}let{state:r}=e,o=String(r.doc.lineAt(e.state.selection.main.head).number),{close:l,result:i}=xn(e,{class:"cm-goto-line",label:r.phrase("Go to line"),input:{type:"text",name:"line",value:o},focus:!0,submitLabel:r.phrase("go")});return i.then((s)=>{let c=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!c){e.dispatch({effects:l});return}let f=r.doc.lineAt(r.selection.main.head),[,m,d,g,y]=c,W=g?+g.slice(1):0,B=d?+d:f.number;if(d&&y){let ke=B/100;if(m)ke=ke*(m=="-"?-1:1)+f.number/r.doc.lines;B=Math.round(r.doc.lines*ke)}else if(d&&m)B=B*(m=="-"?-1:1)+f.number;let $e=r.doc.line(Math.max(1,Math.min(r.doc.lines,B))),Ke=a.cursor($e.from+Math.max(0,Math.min(W,$e.length)));e.dispatch({effects:[l,u.scrollIntoView(Ke.from,{y:"center"})],selection:Ke})}),!0},Wr={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Xt=h.define({combine(e){return Ie(e,Wr,{highlightWordAroundCursor:(t,r)=>t||r,minSelectionLength:Math.min,maxMatches:Math.min})}});function Yt(e){let t=[Pr,Ir];if(e)t.push(Xt.of(e));return t}var Rr=v.mark({class:"cm-selectionMatch"}),Or=v.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Ht(e,t,r,o){return(r==0||e(t.sliceDoc(r-1,r))!=H.Word)&&(o==t.doc.length||e(t.sliceDoc(o,o+1))!=H.Word)}function Fr(e,t,r,o){return e(t.sliceDoc(r,r+1))==H.Word&&e(t.sliceDoc(o-1,o))==H.Word}var Ir=fe.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){if(e.selectionSet||e.docChanged||e.viewportChanged)this.decorations=this.getDeco(e.view)}getDeco(e){let t=e.state.facet(Xt),{state:r}=e,o=r.selection;if(o.ranges.length>1)return v.none;let l=o.main,i,s=null;if(l.empty){if(!t.highlightWordAroundCursor)return v.none;let f=r.wordAt(l.head);if(!f)return v.none;s=r.charCategorizer(l.head),i=r.sliceDoc(f.from,f.to)}else{let f=l.to-l.from;if(f<t.minSelectionLength||f>200)return v.none;if(t.wholeWords){if(i=r.sliceDoc(l.from,l.to),s=r.charCategorizer(l.head),!(Ht(s,r,l.from,l.to)&&Fr(s,r,l.from,l.to)))return v.none}else if(i=r.sliceDoc(l.from,l.to),!i)return v.none}let c=[];for(let f of e.visibleRanges){let m=new I(r.doc,i,f.from,f.to);while(!m.next().done){let{from:d,to:g}=m.value;if(!s||Ht(s,r,d,g)){if(l.empty&&d<=l.from&&g>=l.to)c.push(Or.range(d,g));else if(d>=l.to||g<=l.from)c.push(Rr.range(d,g));if(c.length>t.maxMatches)return v.none}}}return v.set(c)}},{decorations:(e)=>e.decorations}),Pr=u.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Nr=({state:e,dispatch:t})=>{let{selection:r}=e,o=a.create(r.ranges.map((l)=>e.wordAt(l.head)||a.cursor(l.head)),r.mainIndex);if(o.eq(r))return!1;return t(e.update({selection:o})),!0};function qr(e,t){let{main:r,ranges:o}=e.selection,l=e.wordAt(r.head),i=l&&l.from==r.from&&l.to==r.to;for(let s=!1,c=new I(e.doc,t,o[o.length-1].to);;)if(c.next(),c.done){if(s)return null;c=new I(e.doc,t,0,Math.max(0,o[o.length-1].from-1)),s=!0}else{if(s&&o.some((f)=>f.from==c.value.from))continue;if(i){let f=e.wordAt(c.value.from);if(!f||f.from!=c.value.from||f.to!=c.value.to)continue}return c.value}}var Vr=({state:e,dispatch:t})=>{let{ranges:r}=e.selection;if(r.some((i)=>i.from===i.to))return Nr({state:e,dispatch:t});let o=e.sliceDoc(r[0].from,r[0].to);if(e.selection.ranges.some((i)=>e.sliceDoc(i.from,i.to)!=o))return!1;let l=qr(e,o);if(!l)return!1;return t(e.update({selection:e.selection.addRange(a.range(l.from,l.to),!1),effects:u.scrollIntoView(l.to)})),!0},P=h.define({combine(e){return Ie(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:(t)=>new cn(t),scrollToMatch:(t)=>u.scrollIntoView(t)})}});function Zt(e){return e?[P.of(e),Re]:Re}class Ve{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||Tr(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?`
|
|
2
|
-
`:r=="r"?"\r":r=="t"?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new tn(this):new en(this)}getCursor(e,t=0,r){let o=e.doc?e:T.create({doc:e});if(r==null)r=o.doc.length;return this.regexp?V(this,o,t,r):q(this,o,t,r)}}class Ge{constructor(e){this.spec=e}}function Gr(e,t,r){return(o,l,i,s)=>{if(r&&!r(o,l,i,s))return!1;let c=o>=s&&l<=s+i.length?i.slice(o-s,l-s):t.doc.sliceString(o,l);return e(c,t,o,l)}}function q(e,t,r,o){let l;if(e.wholeWord)l=Ur(t.doc,t.charCategorizer(t.selection.main.head));if(e.test)l=Gr(e.test,t,l);return new I(t.doc,e.unquoted,r,o,e.caseSensitive?void 0:(i)=>i.toLowerCase(),l)}function Ur(e,t){return(r,o,l,i)=>{if(i>r||i+l.length<o)i=Math.max(0,r-2),l=e.sliceString(i,Math.min(e.length,o+2));return(t(me(l,r-i))!=H.Word||t(pe(l,r-i))!=H.Word)&&(t(pe(l,o-i))!=H.Word||t(me(l,o-i))!=H.Word)}}class en extends Ge{constructor(e){super(e)}nextMatch(e,t,r){let o=q(this.spec,e,r,e.doc.length).nextOverlapping();if(o.done){let l=Math.min(e.doc.length,t+this.spec.unquoted.length);o=q(this.spec,e,0,l).nextOverlapping()}return o.done||o.value.from==t&&o.value.to==r?null:o.value}prevMatchInRange(e,t,r){for(let o=r;;){let l=Math.max(t,o-1e4-this.spec.unquoted.length),i=q(this.spec,e,l,o),s=null;while(!i.nextOverlapping().done)s=i.value;if(s)return s;if(l==t)return null;o-=1e4}}prevMatch(e,t,r){let o=this.prevMatchInRange(e,0,t);if(!o)o=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length);return o&&(o.from!=t||o.to!=r)?o:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=q(this.spec,e,0,e.doc.length),o=[];while(!r.next().done){if(o.length>=t)return null;o.push(r.value)}return o}highlight(e,t,r,o){let l=q(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));while(!l.next().done)o(l.value.from,l.value.to)}}function zr(e,t,r){return(o,l,i)=>(!r||r(o,l,i))&&e(i[0],t,o,l)}function V(e,t,r,o){let l;if(e.wholeWord)l=_r(t.charCategorizer(t.selection.main.head));if(e.test)l=zr(e.test,t,l);return new Pe(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:l},r,o)}function me(e,t){return e.slice(J(e,t,!1),t)}function pe(e,t){return e.slice(t,J(e,t))}function _r(e){return(t,r,o)=>!o[0].length||(e(me(o.input,o.index))!=H.Word||e(pe(o.input,o.index))!=H.Word)&&(e(pe(o.input,o.index+o[0].length))!=H.Word||e(me(o.input,o.index+o[0].length))!=H.Word)}class tn extends Ge{nextMatch(e,t,r){let o=V(this.spec,e,r,e.doc.length).next();if(o.done)o=V(this.spec,e,0,t).next();return o.done?null:o.value}prevMatchInRange(e,t,r){for(let o=1;;o++){let l=Math.max(t,r-o*1e4),i=V(this.spec,e,l,r),s=null;while(!i.next().done)s=i.value;if(s&&(l==t||s.from>l+10))return s;if(l==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let o=r.length;o>0;o--){let l=+r.slice(0,o);if(l>0&&l<e.match.length)return e.match[l]+r.slice(o)}return t})}matchAll(e,t){let r=V(this.spec,e,0,e.doc.length),o=[];while(!r.next().done){if(o.length>=t)return null;o.push(r.value)}return o}highlight(e,t,r,o){let l=V(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));while(!l.next().done)o(l.value.from,l.value.to)}}var K=C.define(),Ue=C.define(),O=de.define({create(e){return new ue(We(e).create(),null)},update(e,t){for(let r of t.effects)if(r.is(K))e=new ue(r.value.create(),e.panel);else if(r.is(Ue))e=new ue(e.query,r.value?ze:null);return e},provide:(e)=>Tt.from(e,(t)=>t.panel)});class ue{constructor(e,t){this.query=e,this.panel=t}}var Jr=v.mark({class:"cm-searchMatch"}),$r=v.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Kr=fe.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(O))}update(e){let t=e.state.field(O);if(t!=e.startState.field(O)||e.docChanged||e.selectionSet||e.viewportChanged)this.decorations=this.highlight(t)}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return v.none;let{view:r}=this,o=new De;for(let l=0,i=r.visibleRanges,s=i.length;l<s;l++){let{from:c,to:f}=i[l];while(l<s-1&&f>i[l+1].from-500)f=i[++l].to;e.highlight(r.state,c,f,(m,d)=>{let g=r.state.selection.ranges.some((y)=>y.from==m&&y.to==d);o.add(m,d,g?$r:Jr)})}return o.finish()}},{decorations:(e)=>e.decorations});function j(e){return(t)=>{let r=t.state.field(O,!1);return r&&r.query.spec.valid?e(t,r):Se(t)}}var ge=j((e,{query:t})=>{let{to:r}=e.state.selection.main,o=t.nextMatch(e.state,r,r);if(!o)return!1;let l=a.single(o.from,o.to),i=e.state.facet(P);return e.dispatch({selection:l,effects:[_e(e,o),i.scrollToMatch(l.main,e)],userEvent:"select.search"}),on(e),!0}),xe=j((e,{query:t})=>{let{state:r}=e,{from:o}=r.selection.main,l=t.prevMatch(r,o,o);if(!l)return!1;let i=a.single(l.from,l.to),s=e.state.facet(P);return e.dispatch({selection:i,effects:[_e(e,l),s.scrollToMatch(i.main,e)],userEvent:"select.search"}),on(e),!0}),Hr=j((e,{query:t})=>{let r=t.matchAll(e.state,1000);if(!r||!r.length)return!1;return e.dispatch({selection:a.create(r.map((o)=>a.range(o.from,o.to))),userEvent:"select.search.matches"}),!0}),Qr=({state:e,dispatch:t})=>{let r=e.selection;if(r.ranges.length>1||r.main.empty)return!1;let{from:o,to:l}=r.main,i=[],s=0;for(let c=new I(e.doc,e.sliceDoc(o,l));!c.next().done;){if(i.length>1000)return!1;if(c.value.from==o)s=i.length;i.push(a.range(c.value.from,c.value.to))}return t(e.update({selection:a.create(i,s),userEvent:"select.search.matches"})),!0},Qt=j((e,{query:t})=>{let{state:r}=e,{from:o,to:l}=r.selection.main;if(r.readOnly)return!1;let i=t.nextMatch(r,o,o);if(!i)return!1;let s=i,c=[],f,m,d=[];if(!s.precise)s=t.nextMatch(r,s.from,s.to);else if(s.from==o&&s.to==l)m=r.toText(t.getReplacement(s)),c.push({from:s.from,to:s.to,insert:m}),s=t.nextMatch(r,s.from,s.to),d.push(u.announce.of(r.phrase("replaced match on line $",r.doc.lineAt(o).number)+"."));let g=e.state.changes(c);if(s)f=a.single(s.from,s.to).map(g),d.push(_e(e,s)),d.push(r.facet(P).scrollToMatch(f.main,e));return e.dispatch({changes:g,selection:f,effects:d,userEvent:"input.replace"}),!0}),jr=j((e,{query:t})=>{if(e.state.readOnly)return!1;let r=[];for(let l of t.matchAll(e.state,1e9)){let{from:i,to:s,precise:c}=l;if(c)r.push({from:i,to:s,insert:t.getReplacement(l)})}if(!r.length)return!1;let o=e.state.phrase("replaced $ matches",r.length)+".";return e.dispatch({changes:r,effects:u.announce.of(o),userEvent:"input.replace.all"}),!0});function ze(e){return e.state.facet(P).createPanel(e)}function We(e,t){var r,o,l,i,s;let c=e.selection.main,f=c.empty||c.to>c.from+100?"":e.sliceDoc(c.from,c.to);if(t&&!f)return t;let m=e.facet(P);return new Ve({search:((r=t===null||t===void 0?void 0:t.literal)!==null&&r!==void 0?r:m.literal)?f:f.replace(/\n/g,"\\n"),caseSensitive:(o=t===null||t===void 0?void 0:t.caseSensitive)!==null&&o!==void 0?o:m.caseSensitive,literal:(l=t===null||t===void 0?void 0:t.literal)!==null&&l!==void 0?l:m.literal,regexp:(i=t===null||t===void 0?void 0:t.regexp)!==null&&i!==void 0?i:m.regexp,wholeWord:(s=t===null||t===void 0?void 0:t.wholeWord)!==null&&s!==void 0?s:m.wholeWord})}function rn(e){let t=Ut(e,ze);return t&&t.dom.querySelector("[main-field]")}function on(e){let t=rn(e);if(t&&t==e.root.activeElement)t.select()}var Se=(e)=>{let t=e.state.field(O,!1);if(t&&t.panel){let r=rn(e);if(r&&r!=e.root.activeElement){let o=We(e.state,t.query.spec);if(o.valid)e.dispatch({effects:K.of(o)});r.focus(),r.select()}}else e.dispatch({effects:[Ue.of(!0),t?K.of(We(e.state,t.query.spec)):C.appendConfig.of(Re)]});return!0},ln=(e)=>{let t=e.state.field(O,!1);if(!t||!t.panel)return!1;let r=Ut(e,ze);if(r&&r.dom.contains(e.root.activeElement))e.focus();return e.dispatch({effects:Ue.of(!1)}),!0},sn=[{key:"Mod-f",run:Se,scope:"editor search-panel"},{key:"F3",run:ge,shift:xe,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ge,shift:xe,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ln,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Qr},{key:"Mod-Alt-g",run:wr},{key:"Mod-d",run:Vr,preventDefault:!0}];class cn{constructor(e){this.view=e;let t=this.query=e.state.field(O).query.spec;this.commit=this.commit.bind(this),this.searchField=te("input",{value:t.search,placeholder:b(e,"Find"),"aria-label":b(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=te("input",{value:t.replace,placeholder:b(e,"Replace"),"aria-label":b(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=te("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=te("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=te("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(o,l,i){return te("button",{class:"cm-button",name:o,onclick:l,type:"button"},i)}this.dom=te("div",{onkeydown:(o)=>this.keydown(o),class:"cm-search"},[this.searchField,r("next",()=>ge(e),[b(e,"next")]),r("prev",()=>xe(e),[b(e,"previous")]),r("select",()=>Hr(e),[b(e,"all")]),te("label",null,[this.caseField,b(e,"match case")]),te("label",null,[this.reField,b(e,"regexp")]),te("label",null,[this.wordField,b(e,"by word")]),...e.state.readOnly?[]:[te("br"),this.replaceField,r("replace",()=>Qt(e),[b(e,"replace")]),r("replaceAll",()=>jr(e),[b(e,"replace all")])],te("button",{name:"close",onclick:()=>ln(e),"aria-label":b(e,"close"),type:"button"},["×"])])}commit(){let e=new Ve({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});if(!e.eq(this.query))this.query=e,this.view.dispatch({effects:K.of(e)})}keydown(e){if(yn(this.view,e,"search-panel"))e.preventDefault();else if(e.keyCode==13&&e.target==this.searchField)e.preventDefault(),(e.shiftKey?xe:ge)(this.view);else if(e.keyCode==13&&e.target==this.replaceField)e.preventDefault(),Qt(this.view)}update(e){for(let t of e.transactions)for(let r of t.effects)if(r.is(K)&&!r.value.eq(this.query))this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(P).top}}function b(e,t){return e.state.phrase(t)}var ce=30,ae=/[\s\.,:;?!]/;function _e(e,{from:t,to:r}){let o=e.state.doc.lineAt(t),l=e.state.doc.lineAt(r).to,i=Math.max(o.from,t-ce),s=Math.min(l,r+ce),c=e.state.sliceDoc(i,s);if(i!=o.from){for(let f=0;f<ce;f++)if(!ae.test(c[f+1])&&ae.test(c[f])){c=c.slice(f);break}}if(s!=l){for(let f=c.length-1;f>c.length-ce;f--)if(!ae.test(c[f-1])&&ae.test(c[f])){c=c.slice(0,f);break}}return u.announce.of(`${e.state.phrase("current match")}. ${c} ${e.state.phrase("on line")} ${o.number}.`)}var Xr=u.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Re=[O,ye.low(Kr),Xr];var Yr=u.theme({"&":{color:"var(--code-fg)",backgroundColor:"var(--code-bg)",height:"100%",fontSize:"var(--code-size, 13px)"},"&.cm-focused":{outline:"none"},".cm-scroller":{fontFamily:"var(--font-mono)",lineHeight:"1.55",overflow:"auto"},".cm-content":{caretColor:"var(--code-fg)",padding:"0.5rem 0"},".cm-line":{padding:"0 0.75rem"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--code-fg)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"var(--code-selection)"},".cm-activeLine":{backgroundColor:"var(--code-active-line)"},".cm-gutters":{backgroundColor:"var(--code-gutter-bg)",color:"var(--code-gutter)",border:"none",borderRight:"1px solid var(--border)"},".cm-activeLineGutter":{backgroundColor:"var(--code-active-line)",color:"var(--code-fg)"},".cm-lineNumbers .cm-gutterElement":{padding:"0 0.5rem 0 0.5rem",minWidth:"2.25rem"},".cm-matchingBracket, .cm-nonmatchingBracket":{backgroundColor:"var(--code-selection)",outline:"1px solid var(--border-strong)"},".cm-searchMatch":{backgroundColor:"var(--warn-soft)",outline:"1px solid var(--warn)"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"var(--accent-soft)",outline:"1px solid var(--accent)"},".cm-panels":{backgroundColor:"var(--surface-2)",color:"var(--text)",borderColor:"var(--border)",fontFamily:"var(--font)"},".cm-panels-top":{borderBottom:"1px solid var(--border)"},".cm-panel.cm-search":{padding:"0.5rem 2rem 0.5rem 0.5rem"},".cm-panel.cm-search input, .cm-panel.cm-search button, .cm-panel.cm-search label":{fontSize:"0.875rem"},".cm-panel.cm-search input[type=text]":{backgroundColor:"var(--surface)",color:"var(--text)",border:"1px solid var(--control-border)",borderRadius:"var(--radius-sm)",padding:"0.25rem 0.5rem"},".cm-panel.cm-search button":{backgroundColor:"var(--surface-3)",color:"var(--text)",border:"1px solid var(--border-strong)",borderRadius:"var(--radius-sm)",backgroundImage:"none",padding:"0.25rem 0.625rem"},".cm-panel.cm-search [name=close]":{color:"var(--muted)"}}),Zr=Ot.define([{tag:[n.keyword,n.modifier,n.operatorKeyword,n.controlKeyword],color:"var(--code-keyword)"},{tag:[n.string,n.regexp,n.special(n.string),n.inserted],color:"var(--code-string)"},{tag:[n.number,n.bool,n.null,n.atom,n.literal],color:"var(--code-number)"},{tag:[n.comment,n.lineComment,n.blockComment,n.docComment],color:"var(--code-comment)",fontStyle:"italic"},{tag:[n.typeName,n.className,n.namespace,n.tagName,n.standard(n.tagName)],color:"var(--code-type)"},{tag:[n.function(n.variableName),n.function(n.propertyName),n.definition(n.variableName),n.labelName],color:"var(--code-function)"},{tag:[n.meta,n.processingInstruction,n.annotation,n.attributeName,n.propertyName,n.heading],color:"var(--code-meta)"},{tag:n.heading,fontWeight:"bold"},{tag:n.strong,fontWeight:"bold"},{tag:n.emphasis,fontStyle:"italic"},{tag:n.strikethrough,textDecoration:"line-through"},{tag:n.link,color:"var(--code-function)",textDecoration:"underline"},{tag:n.url,color:"var(--code-function)"},{tag:n.invalid,color:"var(--danger)"},{tag:n.deleted,color:"var(--danger)"}]),an=[Yr,Qn(Zr)];var eo={typescript:()=>(Q("qh6rebyb"),import("./chunk-lang-typescript-qh6rebyb.js")),javascript:()=>(Q("ykb2vhaa"),import("./chunk-lang-javascript-ykb2vhaa.js")),json:()=>(Q("2rze3rpy"),import("./chunk-lang-json-2rze3rpy.js")),markdown:()=>(Q("6w2htnfc"),import("./chunk-lang-markdown-6w2htnfc.js")),css:()=>(Q("fkdg3x8x"),import("./chunk-lang-css-fkdg3x8x.js")),html:()=>(Q("v8h9g977"),import("./chunk-lang-html-v8h9g977.js")),python:()=>(Q("9jk5a49y"),import("./chunk-lang-python-9jk5a49y.js")),yaml:()=>(Q("jac98srt"),import("./chunk-lang-yaml-jac98srt.js")),go:()=>(Q("403qsw9f"),import("./chunk-lang-go-403qsw9f.js")),rust:()=>(Q("24fggcqx"),import("./chunk-lang-rust-24fggcqx.js")),sql:()=>(Q("gjywb9ke"),import("./chunk-lang-sql-gjywb9ke.js")),xml:()=>(Q("1mh879j9"),import("./chunk-lang-xml-1mh879j9.js")),shell:()=>(Q("cgq6q0kj"),import("./chunk-lang-shell-cgq6q0kj.js")),toml:()=>(Q("xh45nm68"),import("./chunk-lang-toml-xh45nm68.js")),dockerfile:()=>(Q("ey0nvhhm"),import("./chunk-lang-dockerfile-ey0nvhhm.js"))};async function un(e){if(e==="plain")return;try{return(await eo[e]()).language()}catch(t){console.warn("a language for the editor failed to load",t);return}}function to(e){if(typeof e.attachShadow!=="function"||typeof CSSStyleSheet>"u"||!("adoptedStyleSheets"in Document.prototype))return{parent:e,root:void 0};let t=e.shadowRoot??e.attachShadow({mode:"open"}),r=new CSSStyleSheet;return r.replaceSync(":host{display:flex;flex-direction:column;min-height:0}.cm-editor{flex:1;min-height:0}"),t.adoptedStyleSheets=[...t.adoptedStyleSheets,r],{parent:t,root:t}}async function Ao(e){let t=new Je,r=new Je,o=new Je,l=await un(e.language),i=(g)=>[T.readOnly.of(!g),u.editable.of(g)],s={editable:e.editable,wrap:e.wrap,language:l??[]},c,f=(g)=>[wn(),vn(),_n(),ct(),bn(),Pn(),Yt(),Zt({top:!0}),Qe.of(" "),T.phrases.of(e.phrases),an,Fe.of([{key:"Mod-s",preventDefault:!0,run:()=>(e.onSave(),!0)},{key:"Escape",run:()=>(e.onEscape(),!0)},$t,...sn,...ht,...Jt]),T.lineSeparator.of(g),t.of(i(s.editable)),r.of(s.wrap?u.lineWrapping:[]),o.of(s.language),u.updateListener.of((y)=>{if(y.docChanged)e.onChange()})],m=to(e.parent),d=new u({parent:m.parent,root:m.root,state:T.create({doc:e.text,extensions:f(e.eol)})});return c=d.state.doc,{text:()=>d.state.doc.sliceString(0,void 0,d.state.lineBreak),dirty:()=>c===void 0||!d.state.doc.eq(c),snapshot:()=>d.state.doc,markSaved:(g)=>{c=g??d.state.doc},replace:(g,y)=>{let W=d.scrollDOM.scrollTop;d.setState(T.create({doc:g,extensions:f(y)})),c=d.state.doc,d.scrollDOM.scrollTop=W},setEditable:(g)=>{s.editable=g,d.dispatch({effects:t.reconfigure(i(g))})},setWrap:(g)=>{s.wrap=g,d.dispatch({effects:r.reconfigure(g?u.lineWrapping:[])})},setLanguage:async(g)=>{s.language=await un(g)??[],d.dispatch({effects:o.reconfigure(s.language)})},undo:()=>{re(d)},redo:()=>{z(d)},find:()=>{Se(d)},tab:()=>{se(d)},focus:()=>d.focus(),scrollTop:()=>d.scrollDOM.scrollTop,scrollTo:(g)=>{d.scrollDOM.scrollTop=g},destroy:()=>d.destroy()}}export{Ao as createEditor};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t,m,e,i,P,S,I,V,d,A,oe}from"./chunk-index-ckgbszwt.js";function g(){let{connectorAdminUrl:n}=A(),{data:r,error:s}=oe(()=>d.connectors(),"connectors");return i("section",{className:"stack",children:[i("div",{className:"card-head",children:[i("div",{children:[e("h2",{children:t("Connectors")}),e("p",{className:"hint",children:t("Upstream MCP gateways and virtual servers used by the assistant.")})]}),n?e("a",{href:n,target:"_blank",rel:"noreferrer",children:t("Open connector admin")}):null]}),s?e(S,{message:s}):null,!r&&!s?e(P,{}):null,r?i(m,{children:[e("h3",{children:t("Upstream gateways")}),r.gateways.length===0?e(I,{children:t("No gateways.")}):null,r.gateways.map((a)=>e("article",{className:"card",children:i("div",{className:"card-head",children:[e("strong",{children:a.name}),e(V,{children:a.enabled?t("Enabled"):t("Disabled")}),e(V,{tone:a.reachable?"plain":"warn",children:a.reachable?t("Reachable"):t("Unreachable")}),e(V,{children:t("{count} tools",{count:a.tools})})]})},a.name)),e("h3",{children:t("Virtual servers")}),r.servers.length===0?e(I,{children:t("No virtual servers.")}):null,r.servers.map((a)=>i("article",{className:"card",children:[i("div",{className:"card-head",children:[e("strong",{children:a.name}),e(V,{children:t("{count} tools",{count:a.tools.length})})]}),i("p",{children:[t("Used by"),": ",a.usedBy.join(", ")||t("None")]}),i("details",{children:[e("summary",{children:t("Tool list")}),e("ul",{children:a.tools.map((o)=>e("li",{children:o},o))})]})]},a.name))]}):null]})}export{g as ConnectorsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t,s,m,e,i,R,P,S,I,V,d,A,ue,ze,se,pe,dt,$t,oe}from"./chunk-index-ckgbszwt.js";var g=[{kind:"owner",title:s("Owner channels"),note:s("Direct messages and channels where the owner talks to the assistant.")},{kind:"agent",title:s("Agent channels"),note:s("The agent server's one-to-one channels.")},{kind:"group",title:s("Group channels"),note:s("The agent server's group channels.")},{kind:"outside",title:s("Outside agents"),note:s("Conversations an agent outside Discord holds over MCP.")},{kind:"plugin",title:s("Plugin conversations"),note:s("Conversations a plugin runs, such as a web chat, as the host recorded them.")}];function B(){let{timeZone:o}=A(),{now:n}=ue(),{data:r,error:a}=oe(()=>d.conversations(),"conversations"),h=r?.conversations;if(!h)return a?e(S,{message:a}):e(P,{});return i(m,{children:[a?e(S,{message:a}):null,g.map((l)=>{let u=h.filter((c)=>c.kind===l.kind);return i("section",{className:"stack",children:[e("h2",{children:t(l.title)}),e("p",{className:"hint",children:t(l.note)}),u.length===0?e(I,{children:t("None stored.")}):null,u.map((c)=>e(p,{item:c,now:n,timeZone:o},c.key))]},l.kind)})]})}function p(o){let{item:n}=o,r=dt(n.channel,n.id),a=$t(n);return i("a",{className:"card card-link",href:R("conversations",n.key),children:[i("div",{className:"card-head",children:[e("strong",{children:a}),n.busy>0?e(V,{tone:"busy",children:t("running")}):null,n.liveBytes===0?e(V,{children:t("archived only")}):null]}),i("p",{className:"meta",children:[(n.kind==="outside"||n.kind==="plugin")&&n.startedAt?`${t("Started")} ${se(n.startedAt,o.timeZone)} · `:r.detail?`${r.detail} · `:"",n.principal?`${n.visibility==="private"?t("Private to {name}",{name:n.principal.name}):t("Shared · {name}",{name:n.principal.name})} · `:"",t("Last active")," ",ze(n.lastActive,o.now,o.timeZone)," ·"," ",pe(n.liveBytes)," ·"," ",t("{count} archived",{count:n.archives})]})]})}export{B as ConversationsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q}from"./chunk-index-ckgbszwt.js";import{at}from"./chunk-index-1y50d6sj.js";function w(){try{let c=document.createElement("canvas");return!!(c.getContext("webgl2")||c.getContext("webgl"))}catch{return!1}}function L(c,a){return[c,a.includes("?")?a.slice(a.indexOf("?")):""].some((d)=>{let i=new URLSearchParams(d).get("nogl");return i!==null&&i!=="0"&&i!=="false"})}async function A(c,a,g){let d=a.variant==="compact",i=a.labels??at,s=new Map,v=(e)=>{s.clear();for(let t of e)s.set(t.id,{...t})};v(a.seats);let u={t:a.theme,s:a.scheme},n=null,o=document.createElement("div");o.className="rt-table",o.dataset.variant=d?"compact":"full";let b=document.createElement("div");b.className="rt-table-stage",o.appendChild(b);let r=null,T=!1,y=()=>!d&&(Boolean(a.listBelow)||T);c.appendChild(o);let m=new Map,f=()=>{if(!y()){r?.remove(),r=null,m.clear(),delete o.dataset.list;return}if(!r)r=document.createElement("ul"),r.className="rt-table-list",r.setAttribute("aria-label",i.table),o.appendChild(r),o.dataset.list="";for(let e of[...m.keys()])if(!s.has(e))m.delete(e);for(let e of s.values()){let t=m.get(e.id);if(!t){t=document.createElement("button"),t.type="button";let l=e.id;t.addEventListener("click",()=>{let S=s.get(l);if(S)a.onSeatClick({id:S.id,name:S.name})}),m.set(e.id,t)}t.textContent=i.seat(e.name,e.state??"idle"),t.style.setProperty("--seat",e.color)}r.replaceChildren(...[...s.values()].map((e)=>{let t=document.createElement("li"),l=m.get(e.id);if(l)t.appendChild(l);return t}))};f();let h=(e)=>{T=!e,f(),a.onNames?.(e)},p=async()=>{let{createTable2D:e}=await (Q("k60ressj"),import("./chunk-table2d-k60ressj.js"));n=e(b,{...a,theme:u.t,scheme:u.s,seats:[...s.values()]}),h(!0)},E=async()=>{let{createTable3D:e}=await (Q("bv2ajk39"),import("./chunk-table3d-bv2ajk39.js"));n=e(b,{...a,theme:u.t,scheme:u.s,seats:[...s.values()],onNames:h},()=>{n?.dispose(),p()})};if(d||g==="svg"||g!=="webgl"&&(L(location.search,location.hash)||!w()))await p();else try{await E()}catch{await p()}return{get kind(){return n.kind},setTheme(e,t){u={t:e,s:t},n.setTheme(e,t)},setSeats(e){v(e),f(),n.setSeats(e)},setState(e,t){let l=s.get(e);if(l)l.state=t;f(),n.setState(e,t)},setAvatar(e,t){let l=s.get(e);if(l)l.avatarSvg=t;return n.setAvatar(e,t)},setReducedMotion:(e)=>n.setReducedMotion(e),resetCamera:()=>n.resetCamera(),focus:(e,t)=>n.focus(e,t),focused:()=>n.focused(),getStats:()=>n.getStats(),dispose(){n?.dispose(),o.remove()}}}export{A as mountRoundTable};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r,e,i,ft}from"./chunk-index-ckgbszwt.js";import{zn,In,mn,zt}from"./chunk-index-bnwmssyn.js";function b(t){let{roomKey:o,members:s}=t,{line:n}=mn(o),[l,a]=r(),u=In(zn(n,s),n?.id,l),m=(f)=>a({lineId:n?.id,member:f});return i("div",{className:"table-frame room-scene","data-focused":"",children:[e(ft,{members:s,groupRoom:o,variant:"full",focus:u,onFocus:m,onSeat:m}),e(zt,{roomKey:o,open:!0,streams:!1})]})}export{b as GroupScene};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_e,cn,rt,un,X,G,Lt,hn,Dn,Un,dn,Vn,qn,Bn,jt}from"./chunk-index-5y2r0eaj.js";export{rt as AVATAR_STATES,X as CATALOG,_e as CLASS_IDS,G as CharacterError,Un as EAST_ASIAN_SKINS,cn as EXPRESSIONS,un as STATE_EXPRESSION,qn as accentOf,Bn as characterCss,dn as checkSkins,Vn as composeSvg,hn as parseCharacter,Dn as readCharacter,Lt as resolveCharacter,jt as suggestCharacter};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
function ae(e){if(e&&typeof e==="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.values(e))ae(r)}return e}var _e=["wizard","knight","scholar","smith","ranger","bard","alchemist","healer","steward","navigator","seer","scribe","engineer","druid","innkeeper","sentinel","envoy","rogue","monk","falconer","shipwright","jester","paladin","archivist"],_=["robe","scholar","armor","plate","apron","chef","cloak","tunic","coat","overalls","vest","habit","surplice","motley","sailor"],N=["none","wizard","helm","mortar","goggcap","hood","beret","goggles","coif","tallcap","tricorn","turban","softcap","hardhat","wreath","toque","kettle","cavalier","cowl","headband","fcap","sailor","jester","winghelm"],D=["staff","shield","scroll","hammer","bow","lute","flask","quill","tome","bell","keys","map","telescope","wrench","spade","ladle","lantern","seal","dagger","beads","bird","anchor","marotte","sword"],z=["none","short","bob","long","bun","curly","ponytail","braid"],pe=["full","mustache","goatee"],U=[...pe,"none"],fe=["glasses","freckles","scar"],K=[...fe,"none"],P=["slim","regular","stout"],W=[0,1,2,3,4,5],cn=["neutral","happy","thinking","concerned","apologetic","surprised","proud","amused","curious","sympathetic","playful","determined","sleepy"],rt=["idle","thinking","working","waiting","done","error","sleepy"],un=ae({idle:"neutral",thinking:"thinking",working:"determined",waiting:"curious",done:"proud",error:"apologetic",sleepy:"sleepy"}),se={azure:{primary:"#3b6fd8",secondary:"#eef2ff",trim:"#f0c04a"},gules:{primary:"#d8473d",secondary:"#fff1e4",trim:"#f0c04a"},vert:{primary:"#2f9e6b",secondary:"#eefbea",trim:"#f0c04a"},purpure:{primary:"#7d52cc",secondary:"#f1e9ff",trim:"#f0c04a"},amber:{primary:"#e2a02a",secondary:"#fff6dc",trim:"#d5dbe8"},sable:{primary:"#454a5c",secondary:"#e9ecf4",trim:"#f0c04a"},teal:{primary:"#1f9aa6",secondary:"#e6fbfa",trim:"#f0c04a"},rose:{primary:"#d6507f",secondary:"#ffeef3",trim:"#d5dbe8"}},De=["#f7d6b8","#eab98c","#d4a070","#b9784c","#8e5b3c","#5c3a26"],ze=["#2b2233","#6a4a33","#b0562f","#e0b45a","#aeb4c3","#f1f3fa"];function h(e){let{palette:r,...t}=e;return{...t,colors:{...se[r]},palette:r}}var qe={wizard:{label:"Wizard",jobs:"coordinator, planner, main assistant",keywords:["coordinat","orchestrat","lead","chief","manager","協調","統籌","總管","主管"],preset:h({outfit:"robe",hat:"wizard",prop:"staff",hair:"none",beard:"full",accessory:"none",build:"regular",skin:0,hairColor:"#f1f3fa",palette:"azure"})},knight:{label:"Knight",jobs:"reviewer, QA gate, guardian",keywords:["review","qa","quality","gate","lint","guardian","審查","審核","把關","品質"],preset:h({outfit:"armor",hat:"helm",prop:"shield",hair:"short",beard:"none",accessory:"none",build:"regular",skin:1,hairColor:"#6a4a33",palette:"gules"})},scholar:{label:"Scholar",jobs:"researcher, literature review",keywords:["research","literature","paper","study","survey","academic","研究","文獻","論文","學者"],preset:h({outfit:"scholar",hat:"mortar",prop:"scroll",hair:"bun",beard:"none",accessory:"glasses",build:"slim",skin:2,hairColor:"#2b2233",palette:"purpure"})},smith:{label:"Smith",jobs:"coder, builder, refactorer",keywords:["coder","coding","code","builder","implement","develop","refactor","software","程式","開發","實作","重構"],preset:h({outfit:"apron",hat:"goggcap",prop:"hammer",hair:"short",beard:"none",accessory:"none",build:"stout",skin:3,hairColor:"#7a4a2a",palette:"amber"})},ranger:{label:"Ranger",jobs:"scout, web search, crawler",keywords:["scout","search","crawl","explore","browse","web","搜尋","爬蟲","偵查","探索"],preset:h({outfit:"cloak",hat:"hood",prop:"bow",hair:"none",beard:"none",accessory:"freckles",build:"slim",skin:1,hairColor:"#a8683a",palette:"vert"})},bard:{label:"Bard",jobs:"writer, announcer, copywriter",keywords:["writer","write","copywrit","announce","content","blog","story","poet","寫作","文案","文章","公告"],preset:h({outfit:"tunic",hat:"beret",prop:"lute",hair:"long",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#c0453d",palette:"rose"})},alchemist:{label:"Alchemist",jobs:"data analyst, ETL, transformer",keywords:["analyst","data","etl","transform","convert","spreadsheet","資料","數據","轉換","分析師"],preset:h({outfit:"coat",hat:"goggles",prop:"flask",hair:"curly",beard:"none",accessory:"none",build:"regular",skin:5,hairColor:"#2b2233",palette:"teal"})},healer:{label:"Healer",jobs:"debugger, fixer, support",keywords:["debug","fix","doctor","heal","bug","repair","triage","support","醫","修","除錯","診斷"],preset:h({outfit:"surplice",hat:"coif",prop:"bell",hair:"none",beard:"none",accessory:"none",build:"stout",skin:5,hairColor:"#2b2233",palette:"rose"})},steward:{label:"Steward",jobs:"ops, billing, access keys",keywords:["ops","billing","admin","account","access","finance","invoice","procure","帳務","財務","營運","請款","管理"],preset:h({outfit:"vest",hat:"tallcap",prop:"keys",hair:"short",beard:"mustache",accessory:"none",build:"stout",skin:0,hairColor:"#8a8f9c",palette:"sable"})},navigator:{label:"Navigator",jobs:"planner, routing, roadmap",keywords:["planner","planning","roadmap","route","routing","navigat","itinerary","規劃","路線","導航","行程"],preset:h({outfit:"coat",hat:"tricorn",prop:"map",hair:"ponytail",beard:"none",accessory:"none",build:"slim",skin:2,hairColor:"#6a4a33",palette:"azure"})},seer:{label:"Seer",jobs:"forecaster, monitoring, analytics",keywords:["forecast","monitor","predict","analytics","metric","observab","trend","預測","監控","觀測","趨勢"],preset:h({outfit:"habit",hat:"turban",prop:"telescope",hair:"none",beard:"none",accessory:"none",build:"slim",skin:3,hairColor:"#2b2233",palette:"purpure"})},scribe:{label:"Scribe",jobs:"documentation, notes, minutes",keywords:["document","docs","notes","minutes","transcri","changelog","文件","記錄","紀錄","筆記","會議"],preset:h({outfit:"scholar",hat:"softcap",prop:"quill",hair:"short",beard:"none",accessory:"glasses",build:"regular",skin:1,hairColor:"#3a2f45",palette:"sable"})},engineer:{label:"Engineer",jobs:"devops, infra, CI",keywords:["infra","devops","ci","sre","platform","kubernetes","server","cluster","維運","運維","基礎設施","伺服器"],preset:h({outfit:"overalls",hat:"hardhat",prop:"wrench",hair:"braid",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#2b2233",palette:"amber"})},druid:{label:"Druid",jobs:"cleanup, data hygiene, maintenance",keywords:["cleanup","clean","hygiene","maintenance","garbage","prune","tidy","清理","整理","維護","保養"],preset:h({outfit:"cloak",hat:"wreath",prop:"spade",hair:"long",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#6a4a33",palette:"vert"})},innkeeper:{label:"Innkeeper",jobs:"concierge, onboarding, scheduler",keywords:["concierge","onboard","scheduler","schedule","host","welcome","reception","接待","迎賓","排程","新人"],preset:h({outfit:"chef",hat:"toque",prop:"ladle",hair:"none",beard:"mustache",accessory:"none",build:"stout",skin:2,hairColor:"#2b2233",palette:"gules"})},sentinel:{label:"Sentinel",jobs:"security, on-call, alerts",keywords:["security","alert","incident","oncall","on-call","vulnerab","patrol","資安","安全","告警","警報","值班"],preset:h({outfit:"plate",hat:"kettle",prop:"lantern",hair:"none",beard:"none",accessory:"scar",build:"stout",skin:5,hairColor:"#2b2233",palette:"sable"})},envoy:{label:"Envoy",jobs:"email, partner comms, notifications",keywords:["email","mail","partner","notif","message","outreach","comms","信件","郵件","通知","聯絡"],preset:h({outfit:"tunic",hat:"cavalier",prop:"seal",hair:"bun",beard:"none",accessory:"none",build:"regular",skin:1,hairColor:"#aeb4c3",palette:"purpure"})},rogue:{label:"Rogue",jobs:"pen-tester, auditor, intel",keywords:["pentest","pen-test","penetration","auditor","audit","intel","exploit","osint","滲透","稽核","情報","紅隊"],preset:h({outfit:"cloak",hat:"cowl",prop:"dagger",hair:"none",beard:"none",accessory:"scar",build:"slim",skin:0,hairColor:"#2b2233",palette:"sable"})},monk:{label:"Monk",jobs:"long-running jobs, batch, patience",keywords:["long-running","batch","patient","background","overnight","meditat","cron","長時間","批次","批量","耐心"],preset:h({outfit:"habit",hat:"headband",prop:"beads",hair:"none",beard:"none",accessory:"none",build:"regular",skin:3,hairColor:"#2b2233",palette:"amber"})},falconer:{label:"Falconer",jobs:"retrieval, fetch, RAG lookup",keywords:["retriev","fetch","rag","lookup","vector","embedding","檢索","擷取","抓取","查詢"],preset:h({outfit:"cloak",hat:"fcap",prop:"bird",hair:"short",beard:"goatee",accessory:"none",build:"slim",skin:4,hairColor:"#2b2233",palette:"vert"})},shipwright:{label:"Shipwright",jobs:"release, build pipeline, packaging",keywords:["release","ship","packag","publish","deploy","pipeline","發版","發布","打包","上線","部署"],preset:h({outfit:"sailor",hat:"sailor",prop:"anchor",hair:"short",beard:"goatee",accessory:"none",build:"stout",skin:2,hairColor:"#e0b45a",palette:"azure"})},jester:{label:"Jester",jobs:"brainstorm, ideation, humor",keywords:["brainstorm","ideation","idea","humor","joke","creative","fun","腦力激盪","發想","創意","幽默","點子"],preset:h({outfit:"motley",hat:"jester",prop:"marotte",hair:"none",beard:"none",accessory:"freckles",build:"slim",skin:0,hairColor:"#b0562f",palette:"gules"})},paladin:{label:"Paladin",jobs:"compliance, policy, approvals",keywords:["compliance","policy","approval","approve","govern","legal","ethic","合規","法遵","核准","政策","規範"],preset:h({outfit:"plate",hat:"winghelm",prop:"sword",hair:"none",beard:"none",accessory:"none",build:"regular",skin:5,hairColor:"#2b2233",palette:"amber"})},archivist:{label:"Archivist",jobs:"knowledge base, indexing, memory",keywords:["knowledge","archive","index","memory","wiki","catalog","library","知識","索引","記憶","歸檔","典藏"],preset:h({outfit:"scholar",hat:"none",prop:"tome",hair:"bun",beard:"none",accessory:"glasses",build:"regular",skin:2,hairColor:"#e4e7f0",palette:"teal"})}},X=ae({classes:qe,outfits:_,hats:N,props:D,hair:z,beards:pe,accessories:fe,palettes:se,skins:De,hairColors:ze}),bt=Object.keys(se);var ie=(e)=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0");function le(e){let r=(t)=>Number.parseInt(e.slice(t,t+2),16);return[r(1),r(3),r(5)]}function Be([e,r,t]){return`#${ie(e)}${ie(r)}${ie(t)}`}function A(e,r,t){let o=le(e),a=le(r);return Be([o[0]+(a[0]-o[0])*t,o[1]+(a[1]-o[1])*t,o[2]+(a[2]-o[2])*t])}var q=(e,r)=>A(e,"#ffffff",r),j=(e,r)=>A(e,"#1a1330",r);function he(e){let[r,t,o]=le(e).map((a)=>{let i=a/255;return i<=0.03928?i/12.92:((i+0.055)/1.055)**2.4});return 0.2126*r+0.7152*t+0.0722*o}function Fe(e,r){let[t,o]=[he(e),he(r)].sort((a,i)=>i-a);return(t+0.05)/(o+0.05)}var Xe={light:"#ffffff",dark:"#0d1018","modern-light":"#ffffff","modern-dark":"#0d1018","camelot-light":"#e3d2a9","camelot-dark":"#243557"};function ke(e,r){let t=Xe[r],o=r.endsWith("light")?"#1a1330":"#ffffff";for(let a=0;a<=20;a++){let i=a===0?e:A(e,o,a/20);if(Fe(i,t)>=3)return i}return o}class G extends Error{field;constructor(e,r){super(`${e}: ${r}`);this.name="CharacterError",this.field=e}}var Ge=/^#[0-9a-f]{6}$/;function Q(e,r){if(typeof e!=="string")throw new G(r,"must be a #rrggbb color");let t=e.toLowerCase();if(!Ge.test(t))throw new G(r,"must be a #rrggbb color");return t}function n(e,r,t){let o=e.find((a)=>a===r);if(o===void 0)throw new G(t,`must be one of ${e.map(String).join(", ")}`);return o}function V(e){if(typeof e!=="object"||e===null||Array.isArray(e))return!1;let r=Object.getPrototypeOf(e);return r===Object.prototype||r===null}function B(e){for(let[r,t]of Object.entries(X.palettes))if(t.primary===e.primary&&t.secondary===e.secondary&&t.trim===e.trim)return r;return}function J(e){let r=X.classes[e].preset;return{v:1,class:e,outfit:r.outfit,hat:r.hat,prop:r.prop,hair:r.hair,beard:r.beard,accessory:r.accessory,build:r.build,skin:r.skin,hairColor:r.hairColor,colors:{...r.colors},...r.palette?{palette:r.palette}:{}}}var Ye=new Set(["class","outfit","hat","prop","hair","beard","accessory","build","skin","hairColor","colors","palette"]),ye=["primary","secondary","trim"];function Ue(e,r,t){if(r!==void 0){let a=n(Object.keys(X.palettes),r,"palette");e.colors={...X.palettes[a]}}if(t!==void 0){if(!V(t))throw new G("colors","must be an object");for(let i of Object.keys(t))if(!ye.includes(i))throw new G(`colors.${i}`,"is not a known color");let a={...e.colors};for(let i of ye)if(t[i]!==void 0)a[i]=Q(t[i],`colors.${i}`);e.colors=a}let o=B(e.colors);if(o)e.palette=o;else delete e.palette}function Lt(e,r){if(!V(e))throw new G("character","must be an object");for(let a of Object.keys(e))if(!Ye.has(a))throw new G(a,"is not a known field");let t=e.class===void 0?r?.class:n(_e,e.class,"class");if(!t)throw new G("class","is required");let o=r&&r.class===t?{...r,colors:{...r.colors}}:J(t);if(e.outfit!==void 0)o.outfit=n(_,e.outfit,"outfit");if(e.hat!==void 0)o.hat=n(N,e.hat,"hat");if(e.prop!==void 0)o.prop=n(D,e.prop,"prop");if(e.hair!==void 0)o.hair=n(z,e.hair,"hair");if(e.beard!==void 0)o.beard=n(U,e.beard,"beard");if(e.accessory!==void 0)o.accessory=n(K,e.accessory,"accessory");if(e.build!==void 0)o.build=n(P,e.build,"build");if(e.skin!==void 0)o.skin=n(W,e.skin,"skin");if(e.hairColor!==void 0)o.hairColor=Q(e.hairColor,"hairColor");return Ue(o,e.palette,e.colors),o}var be=new Set(["v","class","outfit","hat","prop","hair","beard","accessory","build","skin","hairColor","colors","palette"]),Ke=[...be].filter((e)=>e!=="palette"),ne=["primary","secondary","trim"];function $e(e,r){if(!Object.hasOwn(e,r))throw new G(r,"is required")}function hn(e){if(!V(e))throw new G("character","must be an object");for(let a of Object.keys(e))if(!be.has(a))throw new G(a,"is not a known field");for(let a of Ke)$e(e,a);if(e.v!==1)throw new G("v","must be 1");let r=e.colors;if(!V(r))throw new G("colors","must be an object");for(let a of Object.keys(r))if(!ne.includes(a))throw new G(`colors.${a}`,"is not a known color");for(let a of ne)$e(r,a);let t={primary:Q(r.primary,"colors.primary"),secondary:Q(r.secondary,"colors.secondary"),trim:Q(r.trim,"colors.trim")},o=B(t);if(e.palette!==void 0){if(n(Object.keys(X.palettes),e.palette,"palette")!==o)throw new G("palette","does not match the colors")}return{v:1,class:n(_e,e.class,"class"),outfit:n(_,e.outfit,"outfit"),hat:n(N,e.hat,"hat"),prop:n(D,e.prop,"prop"),hair:n(z,e.hair,"hair"),beard:n(U,e.beard,"beard"),accessory:n(K,e.accessory,"accessory"),build:n(P,e.build,"build"),skin:n(W,e.skin,"skin"),hairColor:Q(e.hairColor,"hairColor"),colors:t,...o?{palette:o}:{}}}function ue(e,r){try{return e()}catch(t){if(t instanceof G)return r;throw t}}function Dn(e){if(!V(e))return;let r=ue(()=>n(_e,e.class,"class"),void 0);if(!r)return;let t=J(r),o=(i,l)=>{let p=Symbol("none"),c=ue(i,p);if(c!==p)l(c)};if(o(()=>n(_,e.outfit,"outfit"),(i)=>{t.outfit=i}),o(()=>n(N,e.hat,"hat"),(i)=>{t.hat=i}),o(()=>n(D,e.prop,"prop"),(i)=>{t.prop=i}),o(()=>n(z,e.hair,"hair"),(i)=>{t.hair=i}),o(()=>n(U,e.beard,"beard"),(i)=>{t.beard=i}),o(()=>n(K,e.accessory,"accessory"),(i)=>{t.accessory=i}),o(()=>n(P,e.build,"build"),(i)=>{t.build=i}),o(()=>n(W,e.skin,"skin"),(i)=>{t.skin=i}),o(()=>Q(e.hairColor,"hairColor"),(i)=>{t.hairColor=i}),V(e.colors)){let i=e.colors;for(let l of ne)o(()=>Q(i[l],`colors.${l}`),(p)=>{t.colors[l]=p})}let a=B(t.colors);if(a)t.palette=a;else delete t.palette;return t}var We={neutral:{eye:"open",look:[0,0],bl:[0,0],br:[0,0],mouth:"smile",fx:[]},happy:{eye:"sparkle",look:[0,0],bl:[-2,0],br:[-2,0],mouth:"grin",fx:["blush"]},thinking:{eye:"open",look:[2.2,-2.4],bl:[-0.5,0],br:[-4,-8],mouth:"flatR",fx:["dots"]},concerned:{eye:"open",look:[0,0.6],bl:[-1,-13],br:[-1,-13],mouth:"wobble",fx:[]},apologetic:{eye:"soft",look:[0,0],bl:[-1,-20],br:[-1,-20],mouth:"wobble",fx:["sweat","blush"]},surprised:{eye:"wide",look:[0,0],bl:[-4,-4],br:[-4,4],mouth:"o",fx:["burst"]},proud:{eye:"arc",look:[0,0],bl:[-3,0],br:[-3,0],mouth:"smirk",fx:["sparkle"]},amused:{eye:"xd",look:[0,0],bl:[-2,0],br:[-2,0],mouth:"grin",fx:["tear"]},curious:{eye:"open",look:[2.6,-0.4],bl:[-4,-6],br:[0,0],mouth:"tilt",fx:[],big:1},sympathetic:{eye:"soft",look:[0,1],bl:[-1,-10],br:[-1,-10],mouth:"smileS",fx:["blush"]},playful:{eye:"wink",look:[0,0],bl:[-3,-2],br:[1,0],mouth:"tongue",fx:["blush"]},determined:{eye:"narrow",look:[0,0],bl:[1,15],br:[1,15],mouth:"firm",fx:[]},sleepy:{eye:"closed",look:[0,0],bl:[2,6],br:[2,6],mouth:"yawn",fx:[]}},s=(e)=>+e.toFixed(2),oe={ex:[39,61],ey:52,rx:5.2,ry:6.4,sw:2.5,msw:2.2,bl:8.6,bw:2.2,bdy:-9.8,mx:50,my:64,ms:1,bx:6.5,by:8,br:4,fx:[76,40],fs:1,hw:28,by0:42},T={badge:[17,19],badgeR:9.5,orbit:[50,50,45],zz:[73,28]},v={eyes:`50px ${oe.ey}px`,badge:`${T.badge[0]}px ${T.badge[1]}px`,orbit:`${T.orbit[0]}px ${T.orbit[1]}px`,character:"50px 94px"},ee="#2b2440";function Je(e,r,t){let{rx:o,ry:a,sw:i}=oe,l=(c=1)=>`<ellipse rx="${s(o*c)}" ry="${s(a*c)}" fill="${t}"/><circle cx="${s(-o*0.3)}" cy="${s(-a*0.36)}" r="${s(o*0.4)}" fill="#fff"/><circle cx="${s(o*0.38)}" cy="${s(a*0.36)}" r="${s(o*0.18)}" fill="#fff"/>`,p=`<path d="M${s(-o*1.05)} ${s(a*0.35)}Q0 ${s(-a*1.15)} ${s(o*1.05)} ${s(a*0.35)}" fill="none" stroke="${t}" stroke-width="${i}" stroke-linecap="round"/>`;switch(e){case"open":return l();case"sparkle":return`${l(1.1)}<circle cx="${s(-o*0.1)}" cy="${s(a*0.5)}" r="${s(o*0.14)}" fill="#fff" opacity=".8"/>`;case"wide":return`<circle r="${s(a*1.12)}" fill="#fff" stroke="${t}" stroke-width="${s(i*0.7)}"/><circle r="${s(a*0.5)}" fill="${t}"/>`;case"arc":return p;case"closed":return`<path d="M${s(-o)} ${s(-a*0.1)}Q0 ${s(a*0.85)} ${s(o)} ${s(-a*0.1)}" fill="none" stroke="${t}" stroke-width="${i}" stroke-linecap="round"/>`;case"soft":return`<path d="M${s(-o)} ${s(-a*0.25)}H${s(o)}A${s(o)} ${s(a*1.05)} 0 0 1 ${s(-o)} ${s(-a*0.25)}Z" fill="${t}"/><circle cx="${s(-o*0.25)}" cy="${s(a*0.25)}" r="${s(o*0.34)}" fill="#fff"/>`;case"narrow":return`<ellipse rx="${s(o*0.98)}" ry="${s(a*0.6)}" fill="${t}"/><circle cx="${s(-o*0.3)}" cy="${s(-a*0.15)}" r="${s(o*0.26)}" fill="#fff"/>`;case"xd":{let c=r?-1:1;return`<path d="M${s(-c*o*0.85)} ${s(-a*0.75)}L${s(c*o*0.6)} 0L${s(-c*o*0.85)} ${s(a*0.75)}" fill="none" stroke="${t}" stroke-width="${i}" stroke-linecap="round" stroke-linejoin="round"/>`}case"wink":return r?p:l()}}function ve(e,r){let t=`fill="none" stroke="${r}" stroke-width="${oe.msw}" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"smile":return`<path d="M-6 0Q0 5 6 0" ${t}/>`;case"smileS":return`<path d="M-4.2 0.4Q0 3.8 4.2 0.4" ${t}/>`;case"grin":return`<path d="M-7 -1Q0 3 7 -1Q5.5 8 0 8Q-5.5 8 -7 -1Z" fill="${r}"/><ellipse cy="6.3" rx="2.9" ry="1.5" fill="#ef7b8a"/>`;case"o":return`<ellipse cy="3" rx="2.9" ry="3.5" fill="${r}"/>`;case"flatR":return`<path d="M-3.5 2.4L4.5 0.4" ${t}/>`;case"firm":return`<path d="M-5 1.2H4.2L5.6 -0.4" ${t}/>`;case"wobble":return`<path d="M-6 3.2q1.5 -3 3 0t3 0t3 0t3 0" ${t}/>`;case"smirk":return`<path d="M-6 2.4Q0 4 6.4 -1.6" ${t}/>`;case"tongue":return`<path d="M-6.5 -0.5Q0 4.5 6.5 -0.5Z" fill="${r}"/><path d="M-2.6 2.2Q0 10 2.8 2.4Z" fill="#ef7b8a"/>`;case"yawn":return`<ellipse cy="3.4" rx="3.4" ry="4.2" fill="${r}"/><ellipse cy="5.6" rx="2" ry="1.4" fill="#ef7b8a"/>`;case"tilt":return`<ellipse cx="3" cy="2" rx="1.9" ry="2.4" fill="${r}"/>`}}var me=(e,r,t,o)=>`<path d="M${e} ${r-t}Q${e+t*0.22} ${r-t*0.22} ${e+t} ${r}Q${e+t*0.22} ${r+t*0.22} ${e} ${r+t}Q${e-t*0.22} ${r+t*0.22} ${e-t} ${r}Q${e-t*0.22} ${r-t*0.22} ${e} ${r-t}Z" fill="${o}"/>`,ge=(e,r,t,o)=>`<path d="M${e} ${r-3.6*t}Q${e+3*t} ${r+0.2*t} ${e} ${r+2.8*t}Q${e-3*t} ${r+0.2*t} ${e} ${r-3.6*t}Z" fill="${o}"/>`;function xe(e,r){let t=oe,o=We[r],[a,i]=o.look,l=(f,m)=>{let d=o.big&&!m;return`<g transform="translate(${s(f+a)} ${s(t.ey+i)})${d?" scale(1.12)":""}">${Je(o.eye,m,e.ink)}</g>`},p=`<g class="eyes">${l(t.ex[0],0)}${l(t.ex[1],1)}</g>`,c=(f,[m,d],g)=>`<path d="M${-t.bl/2} 0H${t.bl/2}" transform="translate(${f} ${s(t.ey+t.bdy+m)}) rotate(${g?-d:d})" stroke="${e.brow}" stroke-width="${t.bw}" stroke-linecap="round" fill="none"/>`,S=`<g class="brows">${c(t.ex[0],o.bl,0)}${c(t.ex[1],o.br,1)}</g>`,Z=`<g class="mouth" transform="translate(${t.mx} ${t.my}) scale(${t.ms})">${ve(o.mouth,e.ink)}</g>`,[x,L]=t.fx,M=(f)=>`<ellipse cx="${f}" cy="${t.ey+t.by}" rx="${t.br}" ry="${s(t.br*0.62)}" fill="#ff7a8e" opacity=".5"/>`,u={blush:M(t.ex[0]-t.bx)+M(t.ex[1]+t.bx),sweat:ge(x,L,t.fs,"#7fd0ff"),tear:ge(t.ex[1]+t.rx+1.5,t.ey+t.ry*0.9,t.fs*0.8,"#7fd0ff"),sparkle:me(x,L-1,4.4*t.fs,"#ffd84a")+me(x+5*t.fs,L+5*t.fs,2*t.fs,"#fff1a8"),dots:[1,1.5,2.1].map((f,m)=>`<circle cx="${s(x-1+m*4.2*t.fs)}" cy="${s(L-2-m*3.6*t.fs)}" r="${s(f*t.fs)}" fill="${e.dot}"/>`).join(""),burst:[-1,1].map((f)=>`<path d="M${50+f*(t.hw+1)} ${t.by0-3}l${f*4.5} -3M${50+f*(t.hw+2)} ${t.by0+3}l${f*5.5} 0M${50+f*(t.hw+1)} ${t.by0+9}l${f*4.5} 3" stroke="${e.dot}" stroke-width="1.7" stroke-linecap="round"/>`).join("")};return{eyes:p,brows:S,mouth:Z,fx:`<g class="fx">${o.fx.map((f)=>u[f]).join("")}</g>`}}function we(e,r,t){let[o,a]=T.badge,i=T.badgeR,l=i/8,p=(E,R,O)=>`<g class="ov ${E}"><circle cx="${o}" cy="${a}" r="${i}" fill="${R}" stroke="#fff" stroke-width="1.6"/>${O}</g>`,c=p("o-wait","#f2a81d",`<path d="M${o} ${a-4.2*l}V${a+0.6*l}" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round"/><circle cx="${o}" cy="${s(a+3.6*l)}" r="${s(1.25*l)}" fill="#fff"/>`),S=p("o-done","#2fb36b",`<path d="M${s(o-3.6*l)} ${s(a+0.2*l)}L${s(o-1*l)} ${s(a+3*l)}L${s(o+3.8*l)} ${s(a-2.8*l)}" fill="none" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round" stroke-linejoin="round"/>`),Z=p("o-err","#e5484d",`<path d="M${s(o-3*l)} ${s(a-3*l)}L${s(o+3*l)} ${s(a+3*l)}M${s(o+3*l)} ${s(a-3*l)}L${s(o-3*l)} ${s(a+3*l)}" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round"/>`),[x,L,M]=T.orbit,u=`<g class="ov o-think"><circle cx="${x}" cy="${s(L-M)}" r="3.3" fill="${e}" stroke="#fff" stroke-width="1.3"/></g>`,[f,m]=T.zz,d=(E,R,O,te)=>`<path d="M${E} ${R}H${E+O}L${E} ${R+O*1.15}H${E+O}" fill="none" stroke="${r}" stroke-width="${te}" stroke-linecap="round" stroke-linejoin="round"/>`,g=`<g class="ov o-zz">${d(f,m,7,2.2)}${d(f+8,m-9,5,1.8)}</g>`;return`<g class="fg">${t?{thinking:u,waiting:c,done:S,error:Z,sleepy:g}[t]??"":u+c+S+Z+g}</g>`}var Me={none:()=>({back:"",front:""}),short:(e)=>({back:"",front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),bob:(e)=>({back:`<path d="M19 46C17 66 23 77 33 77H67C77 77 83 66 81 46C78 26 22 26 19 46Z" fill="${e.hr}"/>`,front:`<path d="M23 50C22 28 78 28 77 50C68 38 58 36 50 41C42 36 32 38 23 50Z" fill="${e.hr}"/>`}),long:(e)=>({back:`<path d="M18 48C14 72 20 92 34 92H66C80 92 86 72 82 48C80 26 20 26 18 48Z" fill="${e.hr}"/>`,front:`<path d="M23 52C22 28 78 28 77 52C70 38 62 36 56 38Q44 44 36 46Q28 48 23 52Z" fill="${e.hr}"/>`}),bun:(e)=>({back:`<circle cx="50" cy="21" r="9.5" fill="${e.hr}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),curly:(e)=>({back:"",front:`<g fill="${e.hr}"><circle cx="30" cy="38" r="9"/><circle cx="41" cy="30" r="9.5"/><circle cx="55" cy="29" r="9.5"/><circle cx="68" cy="35" r="9"/><circle cx="23" cy="50" r="6"/><circle cx="77" cy="50" r="6"/></g>`}),ponytail:(e)=>({back:`<path d="M70 40C92 42 94 66 82 76C86 62 80 54 68 52Z" fill="${e.hr}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),braid:(e)=>({back:`<path d="M24 46C14 60 20 76 28 90L34 88C28 76 28 62 32 52Z" fill="${e.hr}"/><circle cx="28" cy="90" r="3.6" fill="${e.p}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`})},Ce={full:(e)=>`<path d="M23.4 47C22 59 36 59 50 59.4C64 59 78 59 76.6 47C81 66 66 88 50 91.5C34 88 19 66 23.4 47Z" fill="${e.hr}"/><path d="M50 62V88" stroke="${e.hd}" stroke-width="1.2" opacity=".5"/><path d="M36 60Q50 66 64 60" fill="none" stroke="${e.hd}" stroke-width="1.2" opacity=".5"/>`,mustache:(e)=>`<path d="M38 60C42 54 48 58 50 60C52 58 58 54 62 60C58 62 53 60 50 61.4C47 60 42 62 38 60Z" fill="${e.hr}"/>`,goatee:(e)=>`<path d="M44 68C46 66 54 66 56 68C56 76 52 78 50 78C48 78 44 76 44 68Z" fill="${e.hr}"/>`},Se={glasses:(e)=>`<g fill="none" stroke="${e.ink}" stroke-width="1.7"><circle cx="39" cy="52" r="8.4"/><circle cx="61" cy="52" r="8.4"/><path d="M47.4 51Q50 49 52.6 51M30.6 50L25 47M69.4 50L75 47"/></g><path d="M33 47L37 45M56 47L60 45" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".7"/>`,freckles:(e)=>`<g fill="${e.kd}"><circle cx="32.5" cy="60" r="1"/><circle cx="36" cy="62" r="1"/><circle cx="39.5" cy="60.4" r="1"/><circle cx="60.5" cy="60.4" r="1"/><circle cx="64" cy="62" r="1"/><circle cx="67.5" cy="60" r="1"/></g>`,scar:(e)=>`<path d="M64 44L70 57M62.4 51H67M65 47.6H69" stroke="${e.kd}" stroke-width="1.5" stroke-linecap="round" opacity=".85"/><path d="M64 44L70 57" stroke="#e9a0a0" stroke-width=".8" opacity=".7"/>`};var k=(e,r,t,o=4.8)=>`<circle cx="${r}" cy="${t}" r="${o}" fill="${e.k}"/>`,C=(e)=>`<path d="M31 94C29 79 35 71 50 71C65 71 71 79 69 94Z" fill="${e}"/>`,w=(e)=>`<ellipse cx="28.5" cy="80" rx="5.2" ry="8" transform="rotate(14 28.5 80)" fill="${e}"/><ellipse cx="71.5" cy="80" rx="5.2" ry="8" transform="rotate(-14 71.5 80)" fill="${e}"/>`,F=(e,r,t)=>`<path d="M${e} ${r-4}l1.5 3.2 3.5.4-2.6 2.4.7 3.5-3.1-1.8-3.1 1.8.7-3.5-2.6-2.4 3.5-.4z" fill="${t}"/>`,Le={robe:(e)=>w(e.p)+C(e.p)+`<path d="M30 89H70L69.6 94H30.4Z" fill="${e.t}"/><path d="M31 82.6Q50 87 69 82.6" fill="none" stroke="#8b5a33" stroke-width="2.6"/><path d="M50 83.6V92" stroke="#8b5a33" stroke-width="1.8" stroke-linecap="round"/><circle cx="50" cy="93" r="1.8" fill="${e.t}"/>`+F(50,77,e.t)+k(e,27,88,4.4),scholar:(e)=>w(e.pd)+C(e.pd)+`<path d="M39 71.5L50 85L61 71.5Z" fill="${e.s}"/><path d="M50 85V94" stroke="${e.t}" stroke-width="1.6"/><path d="M33 88H67" stroke="${e.p}" stroke-width="2.4" opacity=".7"/>`,armor:(e)=>w("#c7cfdd")+C("#c7cfdd")+`<g fill="none" stroke="#9aa5ba" stroke-width=".9" stroke-linecap="round" opacity=".8"><path d="M24 79q2 1.6 4 0t4 0M23.4 84q2 1.6 4 0t4 0M68 79q2 1.6 4 0t4 0M68.6 84q2 1.6 4 0t4 0"/></g><ellipse cx="50" cy="72.6" rx="12.6" ry="3.6" fill="#9aa5ba"/><path d="M37 73L63 73L66.4 94H33.6Z" fill="${e.p}"/><path d="M36 73.4L38.6 73.4L37 76ZM64 73.4L61.4 73.4L63 76Z" fill="#9aa5ba"/><path d="M33.8 89H66.2L66.4 94H33.6Z" fill="${e.t}"/><path d="M34.6 83.6H65.4" stroke="#8b5a33" stroke-width="2.4"/><rect x="47" y="81.8" width="6" height="3.6" rx="1" fill="${e.t}"/><path d="M50 74.6V80M47.4 77H52.6" stroke="${e.t}" stroke-width="2.2" stroke-linecap="round"/><circle cx="31" cy="76" r="5.6" fill="#9aa5ba"/><circle cx="29.6" cy="74.2" r="1.7" fill="#fff" opacity=".6"/><circle cx="69" cy="76" r="5.6" fill="#9aa5ba"/><circle cx="67.6" cy="74.2" r="1.7" fill="#fff" opacity=".6"/>`,plate:(e)=>w("#e6eaf3")+C("#e6eaf3")+`<path d="M44 71H56L58 94H42Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M50 74V92M45 81H55" stroke="${e.p}" stroke-width="3"/><circle cx="31" cy="75.5" r="6.4" fill="${e.t}"/><circle cx="69" cy="75.5" r="6.4" fill="${e.t}"/><circle cx="29.5" cy="73.5" r="2" fill="#fff" opacity=".6"/><circle cx="67.5" cy="73.5" r="2" fill="#fff" opacity=".6"/>`,apron:(e)=>w(e.s)+C(e.s)+'<path d="M38 71H62L66 94H34Z" fill="#a6713f"/><path d="M38 71L42 75M62 71L58 75" stroke="#7a4f27" stroke-width="2"/><rect x="43.5" y="82" width="13" height="8" rx="2" fill="#8d5c30"/><rect x="24" y="85" width="9" height="3" rx="1.5" fill="#8d5c30"/>',chef:(e)=>w("#f6f1e4")+C("#f6f1e4")+`<path d="M33 89H67L68.2 94H31.8Z" fill="${e.s}"/><path d="M42 71.6L50 80L58 71.6" fill="none" stroke="#d6cdb4" stroke-width="1.6"/><path d="M46 74.6L50 78.4L54 74.6" fill="none" stroke="${e.p}" stroke-width="1.4"/><path d="M33 83.4Q50 88 67 83.4" fill="none" stroke="#a6713f" stroke-width="2.6"/><path d="M50 84.4V91.6" stroke="#a6713f" stroke-width="1.8" stroke-linecap="round"/><path d="M24.5 86.4h7M68.5 86.4h7" stroke="#d6cdb4" stroke-width="1.4"/>`,cloak:(e)=>`<path d="M26 79Q50 66 74 79L72 94H28Z" fill="${e.pd}"/>`+w(e.p)+C(e.p)+`<path d="M32 87H68" stroke="#8b5a33" stroke-width="3.2"/><rect x="46" y="84.8" width="8" height="4.4" rx="1.4" fill="${e.t}"/><circle cx="50" cy="72.5" r="2.6" fill="${e.t}"/>`,tunic:(e)=>w(e.p)+C(e.p)+`<path d="M31 83L69 76V82L31 89Z" fill="${e.s}"/><circle cx="44" cy="90" r="1.8" fill="${e.t}"/><circle cx="56" cy="88" r="1.8" fill="${e.t}"/><path d="M37 71.5q3 5 6.3 0t6.4 0t6.3 0t6.3 0V75H37Z" fill="${e.s}"/>`,coat:(e)=>w(e.pd)+C(e.pd)+`<path d="M50 72V94" stroke="${e.ink}" stroke-width="1" opacity=".35"/><path d="M37 71.6Q50 78 63 71.6L64 74.6Q50 81 36 74.6Z" fill="${e.s}"/><circle cx="50" cy="80.4" r="1.7" fill="${e.t}"/><circle cx="50" cy="85.8" r="1.7" fill="${e.t}"/><path d="M32 89.6Q50 93.6 68 89.6" fill="none" stroke="${e.t}" stroke-width="2"/><path d="M24.5 87.4h7M68.5 87.4h7" stroke="${e.t}" stroke-width="1.8"/>`,overalls:(e)=>w("#efe6cf")+C(e.p)+`<path d="M40 71.6L50 76L60 71.6V94H40Z" fill="#efe6cf"/><path d="M50 76V94" stroke="${e.pd}" stroke-width="1" opacity=".6"/><path d="M46.4 78.4h7.2M46.4 83h7.2M46.4 87.6h7.2" stroke="${e.pd}" stroke-width="1.2" stroke-linecap="round"/><path d="M31.4 89Q50 93 68.6 89V94H31.4Z" fill="${e.pd}"/><path d="M33 83.4Q50 87.6 67 83.4" fill="none" stroke="#a6713f" stroke-width="2.4"/><rect x="46.6" y="81.4" width="6.8" height="4.2" rx="1" fill="${e.t}"/>`,vest:(e)=>w(e.s)+C(e.p)+`<path d="M38 71.5L50 94H36ZM62 71.5L50 94H64Z" fill="${e.s}" opacity="0"/><path d="M50 72V94" stroke="${e.ink}" stroke-width="1" opacity=".35"/><path d="M36.6 73.6Q50 80 63.4 73.6" fill="none" stroke="${e.t}" stroke-width="1.4"/><circle cx="50" cy="80.6" r="1.6" fill="${e.t}"/><circle cx="50" cy="86.4" r="1.6" fill="${e.t}"/><path d="M38 72Q35 84 50 90Q65 84 62 72" fill="none" stroke="${e.t}" stroke-width="1.8" stroke-linecap="round"/><circle cx="50" cy="90.4" r="2.4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,habit:(e)=>w(e.p)+`<path d="M29 94C27 78 35 71 50 71C65 71 73 78 71 94Z" fill="${e.p}"/><path d="M40 71.5L50 82L60 71.5" fill="none" stroke="${e.s}" stroke-width="3.2" stroke-linejoin="round"/><path d="M29 87H71" stroke="${e.s}" stroke-width="3"/><circle cx="50" cy="87" r="2" fill="${e.t}"/>`,surplice:(e)=>w(e.s)+C(e.s)+`<path d="M46 74H54V79H59V85H54V93H46V85H41V79H46Z" fill="${e.p}"/><path d="M31 90H69" stroke="${e.sd}" stroke-width="2"/>`,motley:(e)=>w(e.p)+C(e.p)+`<path d="M50 71C65 71 71 79 69 94H50Z" fill="${e.s}"/><path d="M71.5 72A8 8 0 0 1 71.5 88Z" fill="${e.s}" opacity="0"/><path d="M41 82L50 90L59 82L50 74Z" fill="${e.t}" opacity=".9"/><path d="M36 71.5q3 5 6.5 0t7.5 0t7.5 0t6.5 0V75H36Z" fill="${e.t}"/>`,sailor:(e)=>w(e.s)+C(e.s)+`<path d="M40 71.6L50 79L60 71.6" fill="none" stroke="${e.pd}" stroke-width="2.2" stroke-linejoin="round"/><path d="M45 73.6L55 73.6M46.4 76.4L53.6 76.4" stroke="${e.pd}" stroke-width="1.1" stroke-linecap="round"/><path d="M31 83.4Q50 88 69 83.4" fill="none" stroke="#d8c38c" stroke-width="3" stroke-linecap="round" stroke-dasharray="3.4 1.6"/><path d="M50 85V92" stroke="#d8c38c" stroke-width="2.2" stroke-linecap="round"/><path d="M31 89.6Q50 93.6 69 89.6V94H31Z" fill="${e.p}"/><rect x="55.6" y="75.6" width="6" height="5.4" rx="1" fill="${e.p}" opacity=".85"/>`};var ce="#c7cfdd",Y="#9aa5ba",Ie={none:()=>"",wizard:(e)=>`<path d="M30 31C32 20 42 11 60 3C57 13 62 22 70 31Z" fill="${e.p}"/><path d="M30 31C32 20 42 11 60 3" fill="none" stroke="#fff" stroke-width="1.6" opacity=".35"/><ellipse cx="50" cy="30" rx="37" ry="7.6" fill="${e.pd}"/><path d="M30.6 27.6Q50 33 69.4 27.6L70 31Q50 36.5 30 31Z" fill="${e.t}"/>`+F(49,16,e.t),helm:(e)=>`<path d="M50 24C42 6 66 -1 80 12C68 9 60 15 57 25Z" fill="${e.p}"/><path d="M23 47C21 23 79 23 77 47L72 39Q50 31 28 39Z" fill="${ce}"/><path d="M26 36Q50 24 74 36" fill="none" stroke="#fff" stroke-width="2" opacity=".55"/><path d="M28 39Q50 31 72 39" fill="none" stroke="${e.t}" stroke-width="3"/><circle cx="50" cy="26.5" r="3.4" fill="${e.t}"/>`,mortar:(e)=>`<path d="M30 29L33 13Q50 8 67 13L70 29Q50 34 30 29Z" fill="${e.p}"/><path d="M41 10.6L39 30.4M50 9.2V32M59 10.6L61 30.4" fill="none" stroke="${e.pd}" stroke-width="2" stroke-linecap="round"/><path d="M27.6 29.4Q50 36 72.4 29.4V36.6Q50 43.4 27.6 36.6Z" fill="${e.pd}"/><path d="M28 33Q50 39.6 72 33" fill="none" stroke="${e.t}" stroke-width="1.6" opacity=".9"/><circle cx="50" cy="8.2" r="3.2" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,goggcap:(e)=>`<path d="M22.4 42Q20.4 53 24.4 61Q29 59.6 30 52L30.4 42Z" fill="${e.pd}"/><path d="M77.6 42Q79.6 53 75.6 61Q71 59.6 70 52L69.6 42Z" fill="${e.pd}"/><path d="M24.4 61l-1 4.4M75.6 61l1 4.4" stroke="${e.t}" stroke-width="1.4" stroke-linecap="round"/><path d="M23 42C22 20 78 20 77 42Q50 33 23 42Z" fill="${e.p}"/><path d="M50 25V34.6" fill="none" stroke="${e.pd}" stroke-width="1.6" opacity=".6"/><path d="M22.4 38.5Q50 29.5 77.6 38.5L77 43.5Q50 34.5 23 43.5Z" fill="${e.pd}"/><circle cx="36.5" cy="37.8" r="1.4" fill="${e.t}"/><circle cx="50" cy="36.4" r="1.4" fill="${e.t}"/><circle cx="63.5" cy="37.8" r="1.4" fill="${e.t}"/>`,hood:(e)=>`<path d="M21 53C20 26 80 26 79 53C76 40 66 33.5 50 33.5C34 33.5 24 40 21 53Z" fill="${e.p}"/><path d="M21 53C20 26 80 26 79 53" fill="none" stroke="${e.pd}" stroke-width="2"/><path d="M70 33Q90 24 93 8Q76 12 66 30Z" fill="${e.t}"/><path d="M72 29Q84 20 91 10" fill="none" stroke="${e.td}" stroke-width="1.2"/>`,beret:(e)=>`<path d="M27 36C20 14 56 6 70 16C84 26 80 36 74 40Q50 33 27 36Z" fill="${e.p}"/><path d="M60 12C70 10 76 14 74 18" fill="none" stroke="${e.pd}" stroke-width="1.6" stroke-linecap="round"/><path d="M22 38C22 30 78 30 78 38C78 47 66 43 50 43C34 43 22 47 22 38Z" fill="${e.pd}"/><path d="M26 38.4Q50 33 74 38.4" fill="none" stroke="${e.t}" stroke-width="1.6" stroke-dasharray="2.6 2.2" stroke-linecap="round"/><path d="M71 17C88 22 93 42 88 66L83 64C86 46 80 34 70 26Z" fill="${e.p}" stroke="${e.pd}" stroke-width="1"/><circle cx="85.4" cy="67" r="2.6" fill="${e.t}"/>`,goggles:(e)=>`<path d="M23 42C22 26 40 15 55 12C62 9 66 13 61 17C73 23 78 32 77 42Q50 33 23 42Z" fill="${e.p}"/><path d="M36 30Q50 21 62 24" fill="none" stroke="${e.pd}" stroke-width="1.6" stroke-linecap="round" opacity=".6"/><path d="M22.4 38.5Q50 29.5 77.6 38.5L77 43.5Q50 34.5 23 43.5Z" fill="${e.pl}"/><circle cx="50" cy="36.6" r="1.8" fill="${e.t}"/>`,coif:(e)=>`<path d="M19 55C17 22 83 22 81 55C77 38 65 32 50 32C35 32 23 38 19 55Z" fill="#fff" stroke="#d9deeb" stroke-width="1.2"/><path d="M24 44Q50 30 76 44" fill="none" stroke="${e.t}" stroke-width="2.4"/><path d="M48.4 18H51.6V23H56.4V26H51.6V32H48.4V26H43.6V23H48.4Z" fill="${e.p}" transform="translate(0 4)"/>`,tallcap:(e)=>`<path d="M31 38L36 12Q50 4 64 12L69 38Z" fill="${e.pd}"/><path d="M40 12Q50 8 60 12" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".3"/><path d="M28 39C28 32 72 32 72 39C72 45 28 45 28 39Z" fill="${e.pl}" stroke="${e.p}" stroke-width="1.2"/><path d="M33 38l2.4 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2" fill="none" stroke="${e.p}" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" opacity=".7"/><circle cx="62" cy="35" r="2.8" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><path d="M62 33Q74 20 80 8Q77 24 65 36Z" fill="${e.s}" stroke="${e.sd}" stroke-width="1"/>`,tricorn:(e)=>`<path d="M7 38Q50 24 93 38Q50 49 7 38Z" fill="${e.pd}"/><path d="M28 37C26 14 74 14 72 37Q50 31 28 37Z" fill="${e.p}"/><path d="M27.4 34.6Q50 41 72.6 34.6" fill="none" stroke="${e.t}" stroke-width="2.4"/><path d="M50 36C41 36 40 26 42 23.6Q46 21 50 20.4Q54 21 58 23.6C60 26 59 36 50 36Z" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><path d="M50 35V21M45.6 34L43.6 25M54.4 34L56.4 25" fill="none" stroke="${e.td}" stroke-width="1"/>`,turban:(e)=>`<path d="M21 46C19 18 81 18 79 46C70 34 30 34 21 46Z" fill="${e.pl}"/><path d="M26 38Q50 22 74 38M23 44Q50 28 77 44" fill="none" stroke="${e.p}" stroke-width="2.4"/><path d="M50 22l2.6 4 4.6.6-3.4 3.2.9 4.6-4.7-2.4-4.7 2.4.9-4.6-3.4-3.2 4.6-.6z" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,softcap:(e)=>`<path d="M25 38C14 24 28 12 50 12C72 12 86 24 75 38Z" fill="${e.pl}"/><path d="M33 22Q50 14 67 22" fill="none" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round" opacity=".55"/><path d="M22 37Q50 27 78 37V44Q50 34 22 44Z" fill="${e.p}"/><path d="M25 38.6Q50 29.6 75 38.6" fill="none" stroke="${e.t}" stroke-width="1.4" stroke-dasharray="2.4 2" stroke-linecap="round"/><circle cx="50" cy="12.4" r="2.4" fill="${e.p}"/>`,hardhat:(e)=>`<path d="M25 40C23 10 77 10 75 40Z" fill="${ce}" stroke="${Y}" stroke-width="1.4"/><path d="M50 12V37" fill="none" stroke="${Y}" stroke-width="2.4"/><path d="M30 25Q36 17 44 15" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round" opacity=".7"/><rect x="21.6" y="34.4" width="56.8" height="6" rx="3" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="34" cy="37.4" r="1.3" fill="${Y}"/><circle cx="50" cy="37.4" r="1.3" fill="${Y}"/><circle cx="66" cy="37.4" r="1.3" fill="${Y}"/>`,wreath:(e)=>`<g fill="#4fae6c"><ellipse cx="28" cy="40" rx="6" ry="3.2" transform="rotate(60 28 40)"/><ellipse cx="31" cy="31" rx="6" ry="3.2" transform="rotate(30 31 31)"/><ellipse cx="40" cy="26" rx="6" ry="3.2" transform="rotate(8 40 26)"/><ellipse cx="50" cy="24" rx="6" ry="3.2"/><ellipse cx="60" cy="26" rx="6" ry="3.2" transform="rotate(-8 60 26)"/><ellipse cx="69" cy="31" rx="6" ry="3.2" transform="rotate(-30 69 31)"/><ellipse cx="72" cy="40" rx="6" ry="3.2" transform="rotate(-60 72 40)"/></g><g fill="#2f8a50"><ellipse cx="36" cy="28" rx="5" ry="2.6" transform="rotate(-20 36 28)"/><ellipse cx="64" cy="28" rx="5" ry="2.6" transform="rotate(20 64 28)"/></g><circle cx="50" cy="24" r="2.6" fill="${e.p}"/><circle cx="31" cy="32" r="2.2" fill="${e.t}"/><circle cx="69" cy="32" r="2.2" fill="${e.t}"/>`,toque:(e)=>`<path d="M26 40C22 26 34 17 50 17C66 17 78 26 74 40Z" fill="#fff" stroke="#d9deeb" stroke-width="1.2"/><path d="M36 22Q50 16 64 22M31 31Q50 24 69 31" fill="none" stroke="#e1e5f0" stroke-width="1.4" stroke-linecap="round"/><path d="M23 38Q50 29 77 38Q79 44 73 44Q50 36 27 44Q21 44 23 38Z" fill="#f3f5fb" stroke="#d9deeb" stroke-width="1.2"/><path d="M74 38Q86 38 88 48M75 41Q82 50 79 58" fill="none" stroke="#d9deeb" stroke-width="2.2" stroke-linecap="round"/><circle cx="50" cy="17.4" r="1.8" fill="${e.p}"/>`,kettle:(e)=>`<path d="M28 33C28 8 72 8 72 33Z" fill="${ce}"/><ellipse cx="50" cy="33" rx="38" ry="6.4" fill="${Y}"/><path d="M34 22Q50 12 66 22" fill="none" stroke="#fff" stroke-width="2" opacity=".5"/><circle cx="50" cy="17" r="2.4" fill="${e.t}"/><path d="M28 27H72" stroke="${e.p}" stroke-width="3"/>`,cavalier:(e)=>`<path d="M63 18Q82 2 94 6Q91 26 72 30Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.4"/><path d="M66 21Q80 10 92 7" fill="none" stroke="${e.t}" stroke-width="1"/><path d="M31 36C28 12 72 12 69 36Z" fill="${e.p}"/><path d="M21 38Q23 29 31 33Q50 40 69 33Q77 29 79 38Q50 47 21 38Z" fill="${e.pd}"/><path d="M30.4 32.4Q50 38.4 69.6 32.4" fill="none" stroke="${e.t}" stroke-width="2.2"/><circle cx="62" cy="33" r="2.6" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,cowl:(e)=>`<path d="M19 54C16 30 38 14 58 3C58 18 82 32 81 54C75 41 63 34 50 34C37 34 25 41 19 54Z" fill="${e.pd}"/><path d="M26 44Q50 30 74 44" fill="none" stroke="${e.ink}" stroke-width="2" opacity=".3"/>`,headband:(e)=>`<path d="M22 39Q50 29 78 39V44.5Q50 34.5 22 44.5Z" fill="${e.p}"/><path d="M76 40Q86 38 90 46M76 42Q88 46 88 56" fill="none" stroke="${e.p}" stroke-width="3.2" stroke-linecap="round"/><circle cx="50" cy="31.5" r="2.4" fill="${e.t}"/>`,fcap:(e)=>`<path d="M28 37C27 15 71 11 73 36Z" fill="${e.pd}"/><path d="M60 24Q78 22 94 8Q87 29 70 35Z" fill="${e.s}" stroke="${e.td}" stroke-width="1.2"/><path d="M62 27Q79 22 92 10" fill="none" stroke="${e.td}" stroke-width="1"/><path d="M14 33Q50 26 86 33Q76 42 50 41Q24 42 14 33Z" fill="${e.p}"/><path d="M28 33Q50 38 72 33" fill="none" stroke="${e.t}" stroke-width="1.8"/>`,sailor:(e)=>`<path d="M9 37Q50 26 91 37Q50 49 9 37Z" fill="#e8d194" stroke="#c9a867" stroke-width="1.2"/><path d="M29 36C27 15 73 15 71 36Q50 31 29 36Z" fill="#f2e0a8"/><path d="M29.4 33.2Q50 38.4 70.6 33.2" fill="none" stroke="${e.p}" stroke-width="3.4"/><path d="M36 22Q50 17 64 22M33 28Q50 22 67 28" fill="none" stroke="#d9c07a" stroke-width="1.2" stroke-linecap="round"/><path d="M14 37.6Q50 44 86 37.6" fill="none" stroke="#c9a867" stroke-width="1" opacity=".7"/>`,jester:(e)=>`<path d="M26 40C14 30 12 14 18 6C28 16 32 26 42 33Z" fill="${e.p}"/><path d="M74 40C86 30 88 14 82 6C72 16 68 26 58 33Z" fill="${e.s}" stroke="${e.sd}" stroke-width="1"/><path d="M26 40C26 28 74 28 74 40Q50 34 26 40Z" fill="${e.pd}"/><circle cx="18" cy="6" r="4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="82" cy="6" r="4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="50" cy="31" r="3.4" fill="${e.t}"/>`,winghelm:(e)=>`<path d="M24 36Q6 31 3 14Q18 14 30 27Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M76 36Q94 31 97 14Q82 14 70 27Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M23 47C21 23 79 23 77 47L72 39Q50 31 28 39Z" fill="#e6eaf3"/><path d="M28 39Q50 31 72 39" fill="none" stroke="${e.t}" stroke-width="3"/><path d="M26 36Q50 24 74 36" fill="none" stroke="#fff" stroke-width="2" opacity=".7"/><path d="M50 26l2.4 4.4 4.8.8-3.4 3.4.8 4.8-4.6-2.2-4.6 2.2.8-4.8-3.4-3.4 4.8-.8z" fill="${e.t}" transform="translate(0 -1)"/>`};var I="#8b5a33",et="#a6713f",y=(e)=>e,Qe={staff:"73px 82px",shield:"27px 82px",scroll:"76px 76px",hammer:"79px 84px",bow:"78px 70px",lute:"75px 70px",flask:"73px 66px",quill:"72px 82px",tome:"78px 76px",bell:"76px 62px",keys:"78px 62px",map:"77px 58px",telescope:"76px 74px",wrench:"78px 86px",spade:"76px 60px",ladle:"78px 78px",lantern:"76px 62px",seal:"76px 66px",dagger:"78px 86px",beads:"78px 62px",bird:"78px 76px",anchor:"76px 76px",marotte:"76px 62px",sword:"76px 82px"},He={staff:(e)=>y(`<circle class="glow" cx="73" cy="15" r="13" fill="${e.gl}"/><path d="M73 15V92" stroke="${I}" stroke-width="4.2" stroke-linecap="round"/><circle cx="73" cy="14" r="6.4" fill="${e.gl}" stroke="${e.t}" stroke-width="2"/><circle cx="71" cy="12" r="1.8" fill="#fff" opacity=".85"/>${k(e,73,82)}`),shield:(e)=>y(`<path class="glow" d="M17 70H37V80Q37 89 27 93.5Q17 89 17 80Z" fill="none" stroke="${e.gl}" stroke-width="6"/><path d="M17 70H37V80Q37 89 27 93.5Q17 89 17 80Z" fill="${e.s}" stroke="${e.t}" stroke-width="2"/><path d="M17 70H27V93.5Q17 89 17 80Z" fill="${e.p}"/>`+F(27,79,e.t)),scroll:(e)=>y(`<g transform="rotate(-16 76 74)"><path class="glow" d="M76 38l2.4 5.4 5.7.6-4.3 3.9 1.2 5.7-5-2.9-5 2.9 1.2-5.7-4.3-3.9 5.7-.6z" fill="${e.t}"/><rect x="69.5" y="56" width="13" height="30" rx="2" fill="#fbefd0" stroke="#c9a867" stroke-width="1.2"/><ellipse cx="76" cy="56" rx="7.4" ry="2.8" fill="#f1d99b" stroke="#c9a867" stroke-width="1.2"/><ellipse cx="76" cy="86" rx="7.4" ry="2.8" fill="#f1d99b" stroke="#c9a867" stroke-width="1.2"/><path d="M72.5 63H79.5M72.5 68H79.5M72.5 73H77" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round"/></g>${k(e,75.5,74,4.6)}`),hammer:(e)=>y(`<path class="glow" d="M89 49l1.8 4 4.2.4-3.2 2.9.9 4.2-3.7-2.2-3.7 2.2.9-4.2-3.2-2.9 4.2-.4z" fill="${e.t}"/><path d="M78 95L82 70" stroke="${I}" stroke-width="4.4" stroke-linecap="round"/><g transform="rotate(8 81 66)"><rect x="68" y="59" width="26" height="14" rx="3.4" fill="#aab3c5" stroke="#7d879b" stroke-width="1.4"/><rect x="68" y="59" width="7" height="14" rx="3" fill="#8b95a9"/><path d="M73 61.4H90" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".6"/></g>${k(e,79.4,85)}`),bow:(e)=>y(`<circle class="glow" cx="94" cy="70" r="8" fill="${e.gl}"/><path d="M74 40Q98 68 74 96" fill="none" stroke="${I}" stroke-width="4.2" stroke-linecap="round"/><path d="M74 40V96" stroke="#9aa5ba" stroke-width="1" opacity=".9"/><path d="M66 70H94" stroke="${I}" stroke-width="1.8" stroke-linecap="round"/><path d="M93 66.5L99 70L93 73.5Z" fill="${e.t}"/><path d="M66 70l-3.4-3M66 70l-3.4 3" stroke="${e.p}" stroke-width="1.8" stroke-linecap="round"/>${k(e,78,70)}`),lute:(e)=>y(`<g transform="rotate(18 76 80)"><path d="M74.2 70V44" stroke="${I}" stroke-width="3.8"/><rect x="72.6" y="38" width="6.4" height="8" rx="1.6" fill="#6d4426"/><ellipse cx="76" cy="82" rx="11.4" ry="12.6" fill="#cd8b4a" stroke="#9a5f2c" stroke-width="1.6"/><circle cx="76" cy="82" r="3.6" fill="${e.ink}"/><path d="M74.8 46V88M77.2 46V88" stroke="#fff" stroke-width=".8" opacity=".85"/></g><g class="glow"><circle cx="89" cy="54" r="2.8" fill="${e.gl}"/><path d="M91.5 54V41q4.2 1 4.4 6" fill="none" stroke="${e.gl}" stroke-width="2" stroke-linecap="round"/></g>${k(e,75,68,4.6)}`),flask:(e)=>y(`<circle class="glow" cx="73.5" cy="78" r="17" fill="${e.gl}"/><rect x="70" y="56" width="7" height="12" fill="#eaf7fb" stroke="#9fc9d8" stroke-width="1.4"/><rect x="69" y="51.5" width="9" height="5.6" rx="1.6" fill="#b7773f"/><circle cx="73.5" cy="78" r="12.4" fill="#eaf7fb" stroke="#9fc9d8" stroke-width="1.6"/><path d="M61.4 77Q73.5 72.6 85.6 77A12.2 12.2 0 0 1 61.4 77Z" fill="${e.gl}"/><circle cx="70" cy="80" r="1.8" fill="#fff" opacity=".8"/><circle cx="76.5" cy="83.5" r="1.2" fill="#fff" opacity=".8"/>${k(e,73.5,64)}`),quill:(e)=>y(`<circle class="glow" cx="92" cy="30" r="8" fill="${e.t}"/><path d="M70 88C70 62 80 40 92 30C95 50 86 72 70 88Z" fill="${e.s}" stroke="${e.td}" stroke-width="1.3"/><path d="M70 88Q80 58 92 30" fill="none" stroke="${e.td}" stroke-width="1.5"/><path d="M80 52Q86 54 89 48M77 62Q84 63 88 57" fill="none" stroke="${e.sd}" stroke-width="1.3"/><path d="M70 88l-3 5" stroke="${e.ink}" stroke-width="2" stroke-linecap="round"/>${k(e,72.4,80)}`),tome:(e)=>y(`<circle class="glow" cx="80" cy="60" r="9" fill="${e.t}"/><g transform="rotate(-12 78 76)"><rect x="65" y="63" width="25" height="24" rx="2.4" fill="${e.pd}" stroke="${e.ink}" stroke-width="1" stroke-opacity=".3"/><rect x="67.4" y="65.4" width="20" height="19" rx="1.4" fill="none" stroke="${e.t}" stroke-width="1.2"/><path d="M90 66V84" stroke="#f8efd6" stroke-width="3"/><rect x="72" y="71" width="9" height="7" rx="1.4" fill="${e.t}"/></g>${k(e,66,80,4.4)}`),bell:(e)=>y(`<g class="glow"><path d="M90 66q4 6 0 12M94 62q7 10 0 20" fill="none" stroke="${e.gl}" stroke-width="2" stroke-linecap="round"/></g><path d="M66 85C70 83 69 68 76 66C83 68 82 83 86 85Z" fill="${e.t}" stroke="${e.td}" stroke-width="1.4" stroke-linejoin="round"/><circle cx="76" cy="87.6" r="2.4" fill="${e.td}"/><rect x="73.4" y="60" width="5.2" height="6.4" rx="1.6" fill="${I}"/>${k(e,76,60,4.4)}`),keys:(e)=>y(`<circle class="glow" cx="79" cy="80" r="14" fill="${e.t}"/><circle cx="78" cy="62" r="5.6" fill="none" stroke="${e.t}" stroke-width="2.6"/><path d="M82 66L90 88M90 88L93 87M87 82L90 81" fill="none" stroke="${e.t}" stroke-width="2.6" stroke-linecap="round"/><path d="M74 66L70 84M70 84L73 85M71 78L74 78" fill="none" stroke="${e.td}" stroke-width="2.6" stroke-linecap="round"/>${k(e,78,62,4.4)}`),map:(e)=>y(`<circle class="glow" cx="81" cy="76" r="8" fill="${e.p}"/><rect x="66" y="58" width="24" height="29" rx="2" fill="#f3e2b5" stroke="#c9a867" stroke-width="1.3"/><path d="M70 66Q78 62 82 70T86 80M70 82L74 76" fill="none" stroke="#8ec7d8" stroke-width="2" stroke-linecap="round" stroke-dasharray="3 2.4"/><path d="M81 71.4l1.4 3.6 3.6 1.4-3.6 1.4-1.4 3.6-1.4-3.6-3.6-1.4 3.6-1.4z" fill="${e.p}"/>${k(e,78,58,4.4)}`),telescope:(e)=>y(`<circle class="glow" cx="76" cy="72" r="17" fill="${e.gl}"/><circle cx="76" cy="54.6" r="3.6" fill="none" stroke="${e.td}" stroke-width="2"/><path d="M73 57.4Q76 60 79 57.4" fill="none" stroke="${e.t}" stroke-width="2.4"/><circle cx="76" cy="72" r="13.4" fill="${e.t}" stroke="${e.td}" stroke-width="1.6"/><circle cx="76" cy="72" r="10" fill="#fbefd0" stroke="${e.td}" stroke-width="1"/><path d="M66 72H86M76 62V82" stroke="${e.td}" stroke-width="1.2"/><circle cx="76" cy="72" r="5.6" fill="none" stroke="${e.td}" stroke-width="1"/><path d="M70 66.6L82 77.4" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round"/><circle cx="82" cy="65.6" r="1.8" fill="${e.p}"/>${k(e,76,57,4.4)}`),wrench:(e)=>y(`<path class="glow" d="M90 52l1.6 3.6 3.8.4-2.8 2.6.8 3.8-3.4-2-3.4 2 .8-3.8-2.8-2.6 3.8-.4z" fill="${e.t}"/><path d="M79 60L71 93M79 60L87 91" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/><path d="M79 60L71 93M79 60L87 91" stroke="#fff" stroke-width="1" stroke-linecap="round" opacity=".5"/><path d="M71 93l-.8 2.2M87 91l.8 2.2" stroke="#7d879b" stroke-width="1.6" stroke-linecap="round"/><path d="M73.4 81Q79 85 84.6 81" fill="none" stroke="#7d879b" stroke-width="1.6" stroke-linecap="round"/><circle cx="79" cy="60" r="3.4" fill="${e.t}" stroke="${e.td}" stroke-width="1.2"/>${k(e,79,63.4,4.4)}`),spade:(e)=>y(`<g class="glow"><ellipse cx="88" cy="62" rx="4.4" ry="2.4" transform="rotate(-30 88 62)" fill="#4fae6c"/><ellipse cx="91" cy="70" rx="4" ry="2.2" transform="rotate(20 91 70)" fill="#4fae6c"/></g><path d="M76 92V56" stroke="${I}" stroke-width="4" stroke-linecap="round"/><path d="M70 56H82" stroke="${I}" stroke-width="3.4" stroke-linecap="round"/><path d="M69.5 78H82.5V88Q76 97 69.5 88Z" fill="#aab3c5" stroke="#7d879b" stroke-width="1.3" stroke-linejoin="round"/>${k(e,76,59)}`),ladle:(e)=>y(`<g class="glow"><path d="M88 48q-3-4 0-8M93 50q-3-4 0-8" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round"/></g><path d="M74 94L82 62" stroke="${I}" stroke-width="4" stroke-linecap="round"/><path d="M73 58H93A10 8 0 0 1 73 58Z" fill="#aab3c5" stroke="#7d879b" stroke-width="1.3" stroke-linejoin="round" transform="rotate(-14 83 58)"/><ellipse cx="83" cy="57" rx="8" ry="2" fill="#c97b3a" transform="rotate(-14 83 57)"/>${k(e,76.4,82)}`),lantern:(e)=>y(`<circle class="glow" cx="77" cy="78" r="20" fill="#ffd84a"/><path d="M69 66Q77 52 85 66" fill="none" stroke="${e.td}" stroke-width="2.2"/><rect x="69" y="66" width="16" height="4" rx="1.6" fill="${e.t}"/><rect x="70.4" y="70" width="13.2" height="16" fill="#fff3c2" stroke="${e.td}" stroke-width="1.4"/><path d="M77 73Q81 78 77 83Q73 78 77 73Z" fill="#ffa63a"/><rect x="69" y="86" width="16" height="4" rx="1.6" fill="${e.t}"/>${k(e,77,60,4.4)}`),seal:(e)=>y(`<circle class="glow" cx="79" cy="78" r="9" fill="${e.p}"/><g transform="rotate(-10 78 74)"><rect x="66" y="64" width="26" height="18" rx="2" fill="#fff7e6" stroke="#d3bd8e" stroke-width="1.2"/><path d="M66 65L79 75L92 65" fill="none" stroke="#d3bd8e" stroke-width="1.2"/><circle cx="79" cy="75" r="4.6" fill="${e.p}" stroke="${e.pd}" stroke-width="1"/>${F(79,75,e.t).replace('d="M','transform="scale(.6) translate(52 50)" d="M')}</g>${k(e,70,82,4.4)}`),dagger:(e)=>y(`<path class="glow" d="M78 50V80" stroke="#fff" stroke-width="5" stroke-linecap="round"/><path d="M78 52L82.4 78H73.6Z" fill="#dfe5f0" stroke="#9aa5ba" stroke-width="1.2" stroke-linejoin="round"/><path d="M78 56V76" stroke="#fff" stroke-width="1.2" opacity=".7"/><rect x="71" y="78" width="14" height="3.4" rx="1.6" fill="${e.t}"/><rect x="76.4" y="81" width="3.2" height="8" fill="${I}"/>${k(e,78,86)}`),beads:(e)=>y(`<g class="glow"><circle cx="78" cy="78" r="12" fill="${e.t}"/></g><g fill="${e.t}" stroke="${e.td}" stroke-width="1"><circle cx="78" cy="66" r="2.4"/><circle cx="84.4" cy="68.4" r="2.4"/><circle cx="87" cy="75" r="2.4"/><circle cx="85.6" cy="82" r="2.4"/><circle cx="80.4" cy="86.6" r="2.4"/><circle cx="73.6" cy="86.6" r="2.4"/><circle cx="68.4" cy="82" r="2.4"/><circle cx="67" cy="75" r="2.4"/><circle cx="71.6" cy="68.4" r="2.4"/></g>${k(e,78,62,4.4)}`),bird:(e)=>y(`<circle class="glow" cx="88" cy="55" r="8" fill="${e.t}"/><ellipse cx="80" cy="64" rx="9" ry="6.4" transform="rotate(-24 80 64)" fill="#8a6a4a"/><path d="M72 70L66 76L76 70Z" fill="#6f5338"/><path d="M76 66Q82 64 86 66Q82 70 78 70Z" fill="#f1e2c4"/><circle cx="87" cy="56" r="5" fill="#8a6a4a"/><path d="M91 55L96 57L91 59Z" fill="${e.t}"/><circle cx="88" cy="55" r="1.3" fill="${e.ink}"/><path d="M78 70V75" stroke="${e.t}" stroke-width="2"/><circle cx="78" cy="79" r="6.2" fill="${et}" stroke="#7a4f27" stroke-width="1.2"/>`),anchor:(e)=>y(`<path class="glow" d="M76 54l2 4.4 4.8.5-3.6 3.2 1 4.7-4.2-2.4-4.2 2.4 1-4.7-3.6-3.2 4.8-.5z" fill="${e.t}" transform="translate(11 -4)"/><circle cx="76" cy="58" r="3.4" fill="none" stroke="#aab3c5" stroke-width="2.4"/><path d="M76 61.4V90M69.6 66H82.4M65 82Q76 98 87 82" fill="none" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/><path d="M65 82L63 86M87 82L89 86" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/>${k(e,76,74)}`),marotte:(e)=>y(`<g class="glow"><circle cx="66" cy="40" r="3" fill="${e.t}"/><circle cx="86" cy="40" r="3" fill="${e.t}"/></g><path d="M76 94V52" stroke="${I}" stroke-width="4" stroke-linecap="round"/><circle cx="76" cy="46" r="7" fill="${e.k}" stroke="${e.kd}" stroke-width="1"/><path d="M70 42Q64 36 66 40Q68 42 71 44ZM82 42Q88 36 86 40Q84 42 81 44Z" fill="${e.p}"/><path d="M69 42C64 38 62 36 66 40ZM83 42C88 38 90 36 86 40Z" fill="none"/><circle cx="74" cy="46" r="1" fill="${e.ink}"/><circle cx="78" cy="46" r="1" fill="${e.ink}"/><path d="M73.4 49Q76 51.4 78.6 49" fill="none" stroke="${e.ink}" stroke-width="1" stroke-linecap="round"/>${k(e,76,62,4.4)}`),sword:(e)=>y(`<path class="glow" d="M76 20V76" stroke="#fff" stroke-width="8" stroke-linecap="round"/><path d="M76 17L80.4 24V76H71.6V24Z" fill="#e1e7f2" stroke="#9aa5ba" stroke-width="1.2" stroke-linejoin="round"/><path d="M76 24V74" stroke="#fff" stroke-width="1.4" opacity=".8"/><rect x="67" y="76" width="18" height="4" rx="2" fill="${e.t}"/><rect x="74.4" y="80" width="3.6" height="8" fill="${I}"/><circle cx="76.2" cy="90" r="2.4" fill="${e.t}"/>${k(e,76.2,83)}`)};var Ee=6,Un=Object.freeze(["#fbebe0","#f8e1d2","#f5d8c5","#f1cfb8","#edc6ac","#e9bf9f"]);function dn(e,r="skins"){if(!Array.isArray(e)||e.length!==Ee)throw new G(r,`must be a list of exactly ${Ee} #rrggbb colors`);return Object.freeze(Array.from(e,(t,o)=>Q(t,`${r}[${o}]`)))}var tt=["modern-light","modern-dark","camelot-light","camelot-dark"],ot=["disc","shield"],at=/^[a-z0-9]{1,16}$/,Oe=200,Ae=4096,st={"modern-light":{bg:(e)=>q(e,0.8),ring:(e)=>e,width:3,line:null},"modern-dark":{bg:(e)=>A(e,"#0d1018",0.68),ring:(e)=>q(e,0.15),width:3,line:null},"camelot-light":{bg:(e)=>A("#f2e6c6",e,0.1),ring:()=>"#b98a2c",width:4.2,line:"#8a5f12"},"camelot-dark":{bg:(e)=>A("#16224c",e,0.16),ring:()=>"#e6b94c",width:4.2,line:"#ffe08a"}},Ze="M12 14H88V50Q88 78 50 97Q12 78 12 50Z",it="#e5484d";function lt(e){return e.replace(/[&<>"'=()]/g,(r)=>`&#${r.charCodeAt(0)};`).replace(/href/gi,(r)=>`${r[0]}&#${r.charCodeAt(1)};${r.slice(2)}`)}function nt(e,r,t,o){let{primary:a,secondary:i,trim:l}=e.colors,p=o[e.skin];return{tones:{p:a,pd:j(a,0.3),pl:q(a,0.35),pll:q(a,0.65),s:i,sd:j(i,0.16),t:l,td:j(l,0.3),k:p,kd:j(p,0.12),hr:e.hairColor,hd:j(e.hairColor,0.2),ink:ee,gl:q(a,0.5)},bg:r.bg(a),ring:t?it:r.ring(a)}}function H(e,r,t=""){return r?`<g class="${e}" data-part="${e}"${t}>${r}</g>`:""}function Vn(e,r={}){let t=hn(e),o=r.state===void 0?void 0:n(rt,r.state,"state"),a=n(cn,r.expr??un[o??"idle"],"expr"),i=n(tt,r.look??"modern-light","look"),l=n(ot,r.frame??"disc","frame"),p=r.uid??"a";if(typeof p!=="string"||!at.test(p))throw new G("uid","must match /^[a-z0-9]{1,16}$/");let{size:c,label:S}=r;if(c!==void 0&&!(Number.isInteger(c)&&c>=1&&c<=Ae))throw new G("size",`must be an integer up to ${Ae}`);if(S!==void 0&&(typeof S!=="string"||S.length>Oe))throw new G("label",`must be text of at most ${Oe} characters`);let Z=r.skins===void 0?X.skins:dn(r.skins,"skins"),x=r.bare===!0,L=r.still===!0,M=st[i],{tones:u,bg:f,ring:m}=nt(t,M,o==="error",Z),d=xe({ink:ee,brow:A(t.hairColor,ee,0.5),dot:A(u.p,ee,0.1)},a),g=Me[t.hair](u),de=t.hat==="hood"?`<path d="M17 62C12 22 88 22 83 62C81 72 72 77 66 78H34C28 77 19 72 17 62Z" fill="${u.pd}"/>`:"",E=Le[t.outfit](u),R={slim:0.8,regular:1,stout:1.3}[t.build],O=R===1?E:`<g transform="translate(${+(50-50*R).toFixed(2)} 0) scale(${R} 1)">${E}</g>`,te=O;if(!x)te=l==="shield"?`<g clip-path="url(#as${p})">${O}</g>`:`<clipPath id="ad${p}"><circle cx="50" cy="50" r="44.6"/></clipPath><g clip-path="url(#ad${p})">${O}</g>`;let re=M.line,je=l==="shield"?`<clipPath id="as${p}"><path d="${Ze}"/></clipPath><path d="${Ze}" fill="${f}" stroke="${m}" stroke-width="${M.width}" stroke-linejoin="round" class="ring"/>${re?`<path d="M16.5 18.5H83.5V50Q83.5 74 50 91.6Q16.5 74 16.5 50Z" fill="none" stroke="${re}" stroke-width=".9" opacity=".55"/>`:""}`:`<circle cx="50" cy="50" r="46.4" fill="${f}" stroke="${m}" stroke-width="${M.width}" class="ring"/>${re?`<circle cx="50" cy="50" r="40.6" fill="none" stroke="${re}" stroke-width=".9" opacity=".55"/>`:""}<ellipse cx="50" cy="93" rx="19" ry="2.6" fill="#000" opacity=".12"/>`,Ve=`<circle cx="22.6" cy="54" r="4.2" fill="${u.k}"/><circle cx="77.4" cy="54" r="4.2" fill="${u.k}"/><ellipse cx="50" cy="51" rx="28" ry="26" fill="${u.k}"/><path d="M23 58Q50 88 77 58Q77 76 50 77Q23 76 23 58Z" fill="${u.kd}" opacity=".3"/><ellipse cx="50" cy="58.4" rx="1.7" ry="1.2" fill="${u.kd}"/>`+g.front+(t.beard==="none"?"":Ce[t.beard](u)),Ne=(x?"":H("frame",je))+'<g class="ch">'+H("back",g.back+de)+H("body",te)+H("head",Ve)+H("hat",Ie[t.hat](u))+H("eyes-brows",d.eyes+d.brows)+H("mouth",d.mouth)+H("fx",d.fx)+H("acc",t.accessory==="none"?"":Se[t.accessory](u))+H("prop",He[t.prop](u),` data-prop="${t.prop}"`)+"</g>"+H("state",we(u.p,j(u.p,0.1),L?o??"idle":null));return`<svg ${['xmlns="http://www.w3.org/2000/svg"','viewBox="0 0 100 100"',c===void 0?"":`width="${c}" height="${c}"`,`class="${L?"av static":"av"}"`,o===void 0&&!L?"":`data-state="${o??"idle"}"`,`data-expr="${a}"`,S===void 0?'aria-hidden="true"':`role="img" aria-label="${lt(S)}"`].filter(Boolean).join(" ")}>${Ne}</svg>`.replace(/class="glow"/g,'class="glow" opacity=".3"')}function qn(e,r){return ke(e.colors.primary,r)}var b=(e)=>`:is(.av,.av-host)[data-state=${e}]`;function Bn(){let e=Object.entries(Qe).map(([r,t])=>`.av [data-prop=${r}]{transform-origin:${t}}`).join(`
|
|
2
|
-
`);return`/* Generated from src/characters/css.ts by scripts/build-character-css.ts; do not edit. */
|
|
3
|
-
/* State motion for composed characters. Put data-state on the <svg class="av"> or on an .av-host around it. */
|
|
4
|
-
.av{overflow:visible}
|
|
5
|
-
.av .ov{opacity:0}
|
|
6
|
-
.av .glow{opacity:.28}
|
|
7
|
-
.av .ch,.av .prop,.av .eyes,.av .ov{transform-box:view-box}
|
|
8
|
-
.av .ch{transform-origin:${v.character}}
|
|
9
|
-
.av .eyes{transform-origin:${v.eyes};animation:av-blink 5.2s infinite}
|
|
10
|
-
.av .o-wait,.av .o-done,.av .o-err{transform-origin:${v.badge}}
|
|
11
|
-
.av .o-think{transform-origin:${v.orbit}}
|
|
12
|
-
${e}
|
|
13
|
-
${b("idle")} .ch{animation:av-breathe 3.8s ease-in-out infinite}
|
|
14
|
-
${b("thinking")} .ch{animation:av-tilt 3.2s ease-in-out infinite}
|
|
15
|
-
${b("thinking")} .o-think{opacity:1;animation:av-orbit 2.6s linear infinite}
|
|
16
|
-
${b("working")} .ch{animation:av-bob .56s ease-in-out infinite}
|
|
17
|
-
${b("working")} .prop{animation:av-sweep .56s ease-in-out infinite alternate}
|
|
18
|
-
${b("working")} .glow{animation:av-glow .56s ease-in-out infinite alternate}
|
|
19
|
-
${b("waiting")} .ch{animation:av-lean 1.6s ease-in-out infinite}
|
|
20
|
-
${b("waiting")} .o-wait{opacity:1;animation:av-badge 1.2s ease-in-out infinite}
|
|
21
|
-
${b("waiting")} .glow{animation:av-glow 1.2s ease-in-out infinite alternate}
|
|
22
|
-
${b("done")} .ch{animation:av-pop .7s cubic-bezier(.3,1.6,.5,1) 1}
|
|
23
|
-
${b("done")} .o-done{opacity:1;animation:av-badge-in .5s ease-out 1}
|
|
24
|
-
${b("done")} .glow{opacity:.7}
|
|
25
|
-
${b("error")} .ch{animation:av-shake .5s ease-in-out 2}
|
|
26
|
-
${b("error")} .o-err{opacity:1;animation:av-badge-in .3s ease-out 1}
|
|
27
|
-
${b("error")} .ring{stroke:#e5484d}
|
|
28
|
-
${b("error")} .glow{opacity:0}
|
|
29
|
-
${b("sleepy")} .ch{animation:av-breathe 6s ease-in-out infinite}
|
|
30
|
-
${b("sleepy")} .o-zz{opacity:1;animation:av-float 3s ease-in-out infinite}
|
|
31
|
-
${b("sleepy")} .glow{opacity:.08}
|
|
32
|
-
@keyframes av-blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.08)}}
|
|
33
|
-
@keyframes av-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.012,1.03)}}
|
|
34
|
-
@keyframes av-tilt{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
|
|
35
|
-
@keyframes av-orbit{to{transform:rotate(360deg)}}
|
|
36
|
-
@keyframes av-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.4px)}}
|
|
37
|
-
@keyframes av-sweep{from{transform:rotate(-9deg)}to{transform:rotate(9deg)}}
|
|
38
|
-
@keyframes av-glow{from{opacity:.2}to{opacity:.85}}
|
|
39
|
-
@keyframes av-lean{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(-6deg) translateY(1px)}}
|
|
40
|
-
@keyframes av-badge{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
|
|
41
|
-
@keyframes av-badge-in{from{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}
|
|
42
|
-
@keyframes av-pop{0%{transform:scale(1)}40%{transform:scale(1.1,.94)}70%{transform:scale(.97,1.05)}100%{transform:scale(1)}}
|
|
43
|
-
@keyframes av-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-2.4px)}40%{transform:translateX(2.4px)}60%{transform:translateX(-1.6px)}80%{transform:translateX(1.6px)}}
|
|
44
|
-
@keyframes av-float{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:1}}
|
|
45
|
-
@media (prefers-reduced-motion:reduce){.av *{animation:none!important}.av .o-think{opacity:0!important}}
|
|
46
|
-
.av.static *{animation:none!important}
|
|
47
|
-
`}var Re=3,ct=1,dt=600,pt=/^[ -~]+$/,ft=3;function Te(e){let r=2166136261;for(let t=0;t<e.length;t++)r^=e.charCodeAt(t),r=Math.imul(r,16777619)>>>0;return r>>>0}var ht=(e)=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function kt(e){let r=e.toLowerCase();if(!pt.test(r))return(o)=>o.includes(r);let t=new RegExp(`(?<![a-z0-9])${ht(r)}${r.length<=ft?"(?![a-z0-9])":""}`);return(o)=>t.test(o)}var yt=Object.fromEntries(_e.map((e)=>[e,X.classes[e].keywords.map(kt)]));function $t(e,r){let t=0;for(let o of yt[e])for(let[a,i]of r)if(o(a))t+=i;return t}var Pe=(e,r)=>e%r;function jt(e,r=[]){let t=Te(e.name),o=[[e.displayName.toLowerCase(),Re],[e.name.toLowerCase(),Re],[e.prompt.slice(0,dt).toLowerCase(),ct]],a=0,i=[];for(let d of _e){let g=$t(d,o);if(g>a)a=g,i=[d];else if(g===a&&g>0)i.push(d)}let l=a>0?i:[..._e],p=new Set(r.map((d)=>d.class)),c=l.filter((d)=>!p.has(d)),S=c.length>0?c:l,Z=S[Pe(t,S.length)],x=J(Z);x.skin=t%6,x.build=P[Te(`build:${e.name}`)%3];let L=Object.keys(X.palettes),M=new Map(L.map((d)=>[d,0]));for(let d of r){let g=d.palette??B(d.colors);if(g)M.set(g,(M.get(g)??0)+1)}let u=Math.min(...M.values()),f=L.filter((d)=>M.get(d)===u),m=f[Pe(t,f.length)];return x.colors={...X.palettes[m]},x.palette=m,x}export{_e,cn,rt,un,X,G,Lt,hn,Dn,Un,dn,Vn,qn,Bn,jt};
|