@vibecontrols/agent 2026.601.30

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.
Files changed (108) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +558 -0
  3. package/dist/agent-config-85pskv43.js +2 -0
  4. package/dist/agent-ready-tracker-zp6p8e6f.js +2 -0
  5. package/dist/app-yvjadjmh.js +2 -0
  6. package/dist/bootstrap-workspace-zpm20zez.js +2 -0
  7. package/dist/bootstrap.service-pjmnpxha.js +2 -0
  8. package/dist/bridge-client-341r9rry.js +2 -0
  9. package/dist/cli.js +5 -0
  10. package/dist/daemon-profile-vas1vf2t.js +2 -0
  11. package/dist/esm-9fpye77x.js +2 -0
  12. package/dist/finalize-retry-handle-registry-vv241fsq.js +2 -0
  13. package/dist/finalize-retry-worker-xp1nhv3c.js +2 -0
  14. package/dist/gateway-client-43gzvj5s.js +2 -0
  15. package/dist/getMachineId-bsd-a56s0v8c.js +2 -0
  16. package/dist/getMachineId-darwin-w9k0yw9r.js +3 -0
  17. package/dist/getMachineId-linux-anh31jbf.js +2 -0
  18. package/dist/getMachineId-unsupported-5hv3pwca.js +2 -0
  19. package/dist/getMachineId-win-njb8tery.js +2 -0
  20. package/dist/highlights-8d9mgr01.js +2 -0
  21. package/dist/highlights-eq9cgrbb.scm +604 -0
  22. package/dist/highlights-ghv9g403.scm +205 -0
  23. package/dist/highlights-hk7bwhj4.scm +284 -0
  24. package/dist/highlights-jwvdxm9x.js +2 -0
  25. package/dist/highlights-qbx2vnme.js +2 -0
  26. package/dist/highlights-r3m83kn9.js +2 -0
  27. package/dist/highlights-r812a2qc.scm +150 -0
  28. package/dist/highlights-s7mqapt6.js +2 -0
  29. package/dist/highlights-x6tmsnaa.scm +115 -0
  30. package/dist/index-01qzsnwd.js +16 -0
  31. package/dist/index-0248afsn.js +3 -0
  32. package/dist/index-04n4qgvd.js +407 -0
  33. package/dist/index-0ckffygp.js +5 -0
  34. package/dist/index-0cn9bv8z.js +4 -0
  35. package/dist/index-1hnw0rhc.js +178 -0
  36. package/dist/index-1zw3kea7.js +10 -0
  37. package/dist/index-2gsarrbn.js +4 -0
  38. package/dist/index-2xs9cvjn.js +28 -0
  39. package/dist/index-3ys16efc.js +231 -0
  40. package/dist/index-4wgjx8bf.js +3 -0
  41. package/dist/index-52cp759f.js +3 -0
  42. package/dist/index-5mw3eshk.js +4 -0
  43. package/dist/index-678rwfc0.js +5 -0
  44. package/dist/index-6jq17k9s.js +7 -0
  45. package/dist/index-6jzsthh9.js +3 -0
  46. package/dist/index-6mprnf7p.js +9 -0
  47. package/dist/index-8kvc8ttn.js +15 -0
  48. package/dist/index-8sm0nkh8.js +3 -0
  49. package/dist/index-9bqd8veb.js +21 -0
  50. package/dist/index-b5dhmybd.js +4 -0
  51. package/dist/index-c58g96mb.js +26 -0
  52. package/dist/index-cs78wq6y.js +3 -0
  53. package/dist/index-d5ysy1yn.js +3 -0
  54. package/dist/index-dm6yjmgq.js +3 -0
  55. package/dist/index-e1bw1bwr.js +4 -0
  56. package/dist/index-ef95xr4z.js +9 -0
  57. package/dist/index-g2raeeh4.js +11 -0
  58. package/dist/index-g3ap3xpr.js +5 -0
  59. package/dist/index-g8zv1gta.js +17 -0
  60. package/dist/index-h8a8s8sn.js +3 -0
  61. package/dist/index-hrdamx5j.js +2 -0
  62. package/dist/index-jw1k4vbk.js +3 -0
  63. package/dist/index-mtm8cfyt.js +158 -0
  64. package/dist/index-mxc61yr1.js +3 -0
  65. package/dist/index-n7qyrdr1.js +3 -0
  66. package/dist/index-qfz9fy56.js +3 -0
  67. package/dist/index-rc79x8fw.js +3 -0
  68. package/dist/index-rdp5xq4r.js +15 -0
  69. package/dist/index-scsjyj4m.js +171 -0
  70. package/dist/index-ssjmzqcz.js +13 -0
  71. package/dist/index-tmrbs96r.js +11 -0
  72. package/dist/index-tp4y9jde.js +83 -0
  73. package/dist/index-v9fx5wab.js +83 -0
  74. package/dist/index-vdahdt49.js +2 -0
  75. package/dist/index-x1h8r7pr.js +3 -0
  76. package/dist/index-xjzmb1pn.js +3 -0
  77. package/dist/index-yrgm89r8.js +3 -0
  78. package/dist/index-yy1mm8zs.js +3 -0
  79. package/dist/index-z5a4yxzz.js +8 -0
  80. package/dist/index.js +5 -0
  81. package/dist/injections-73j83es3.scm +27 -0
  82. package/dist/injections-srewsjcz.js +2 -0
  83. package/dist/interactive-22ta89hc.js +2 -0
  84. package/dist/key.cmd-wgcq6kt8.js +2 -0
  85. package/dist/log-shipper-k24m8yw5.js +2 -0
  86. package/dist/path-utils-35re7qf9.js +2 -0
  87. package/dist/plugin-system-c916v9an.js +2 -0
  88. package/dist/postinstall-shim-fix.cjs +382 -0
  89. package/dist/prereqs-runner-ca4kt803.js +2 -0
  90. package/dist/preuninstall.cjs +254 -0
  91. package/dist/profile-mount-npcknw6v.js +2 -0
  92. package/dist/prune-stale-shims-nkx9vq5m.js +2 -0
  93. package/dist/register-core-qrawzyym.js +2 -0
  94. package/dist/secondary-profile-attach-db5cr3e1.js +2 -0
  95. package/dist/subprocess-g9sk1ep9.js +2 -0
  96. package/dist/telemetry-tnq47dcs.js +2 -0
  97. package/dist/tree-sitter-javascript-3h25c6bs.js +2 -0
  98. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  99. package/dist/tree-sitter-markdown-3nemcjhe.js +2 -0
  100. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  101. package/dist/tree-sitter-markdown_inline-16ftwa53.js +2 -0
  102. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  103. package/dist/tree-sitter-typescript-f6mq6ze6.js +2 -0
  104. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  105. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
  106. package/dist/tree-sitter-zig-s2trkm2d.js +2 -0
  107. package/dist/tunnel-bootstrap-2kg79ng8.js +2 -0
  108. package/package.json +122 -0
@@ -0,0 +1,171 @@
1
+ // @bun
2
+ import{he as t0}from"./index-yy1mm8zs.js";import{EventEmitter as s2}from"events";import{Buffer as Q1}from"buffer";import{Buffer as L7}from"buffer";import{EventEmitter as h1}from"events";import{mkdir as u1,writeFile as d1}from"fs/promises";import{dirname as OQ,isAbsolute as a1,resolve as s1}from"path";import{fileURLToPath as K7}from"url";import{resolve as M5,isAbsolute as VU,parse as zU}from"path";import{existsSync as HU}from"fs";import{basename as XU,join as OU}from"path";import A5 from"os";import y8 from"path";import{EventEmitter as AU}from"events";import E5 from"path";import{readFile as MQ,writeFile as AQ,mkdir as LU}from"fs/promises";import*as j0 from"path";import{mkdir as B5,readFile as SJ,writeFile as TJ}from"fs/promises";import*as $$ from"path";import{readdir as IU}from"fs/promises";import{createRequire as bU}from"module";import{fileURLToPath as mU}from"url";import{existsSync as QG,writeFileSync as UG}from"fs";import{EventEmitter as GG}from"events";import{EventEmitter as wG}from"events";import fG from"util";import{EventEmitter as gG}from"events";import{EventEmitter as bQ}from"events";import{Console as bG}from"console";import mG from"fs";import hG from"path";import t5 from"util";import{Writable as pG}from"stream";import{EventEmitter as cG}from"events";import{EventEmitter as dQ}from"events";var g2=Object.defineProperty,b2=($)=>$;function m2($,J){this[$]=b2.bind(null,J)}var rJ=($,J)=>{for(var Z in J)g2($,Z,{get:J[Z],enumerable:!0,configurable:!0,set:m2.bind(J,Z)})};var H7={};rJ(H7,{default:()=>X7,Wrap:()=>W8,Unit:()=>M0,PositionType:()=>P8,Overflow:()=>O8,NodeType:()=>hJ,MeasureMode:()=>A0,LogLevel:()=>S0,Justify:()=>C0,Gutter:()=>T0,FlexDirection:()=>l0,ExperimentalFeature:()=>JQ,Errata:()=>a8,Edge:()=>c,Display:()=>m0,Direction:()=>J8,Dimension:()=>r8,BoxSizing:()=>l8,Align:()=>J0});var h2=(()=>{var $=import.meta.url;return function(J){J=J||{};var Z;Z||(Z=typeof J<"u"?J:{});var Q,U;Z.ready=new Promise(function(Y,V){Q=Y,U=V});var G=Object.assign({},Z),j="";typeof document<"u"&&document.currentScript&&(j=document.currentScript.src),$&&(j=$),j.indexOf("blob:")!==0?j=j.substr(0,j.replace(/[?#].*/,"").lastIndexOf("/")+1):j="";var q=Z.print||console.log.bind(console),K=Z.printErr||console.warn.bind(console);Object.assign(Z,G),G=null;var _;Z.wasmBinary&&(_=Z.wasmBinary);var D=Z.noExitRuntime||!0;typeof WebAssembly!="object"&&u("no native wasm support detected");var z,H=!1;function O(Y,V,M){M=V+M;for(var A="";!(V>=M);){var L=Y[V++];if(!L)break;if(L&128){var S=Y[V++]&63;if((L&224)==192)A+=String.fromCharCode((L&31)<<6|S);else{var R=Y[V++]&63;L=(L&240)==224?(L&15)<<12|S<<6|R:(L&7)<<18|S<<12|R<<6|Y[V++]&63,65536>L?A+=String.fromCharCode(L):(L-=65536,A+=String.fromCharCode(55296|L>>10,56320|L&1023))}}else A+=String.fromCharCode(L)}return A}var X,P,N,W,F,B,I,w,x;function C(){var Y=z.buffer;X=Y,Z.HEAP8=P=new Int8Array(Y),Z.HEAP16=W=new Int16Array(Y),Z.HEAP32=B=new Int32Array(Y),Z.HEAPU8=N=new Uint8Array(Y),Z.HEAPU16=F=new Uint16Array(Y),Z.HEAPU32=I=new Uint32Array(Y),Z.HEAPF32=w=new Float32Array(Y),Z.HEAPF64=x=new Float64Array(Y)}var T,y=[],f=[],m=[];function d(){var Y=Z.preRun.shift();y.unshift(Y)}var h=0,a=null,i=null;function u(Y){if(Z.onAbort)Z.onAbort(Y);throw Y="Aborted("+Y+")",K(Y),H=!0,Y=new WebAssembly.RuntimeError(Y+". Build with -sASSERTIONS for more info."),U(Y),Y}function s(Y){return Y.startsWith("data:application/octet-stream;base64,")}var o="data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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";if(!s(o)){var g0=o;o=Z.locateFile?Z.locateFile(g0,j):j+g0}function p8(){var Y=o;try{if(Y==o&&_)return new Uint8Array(_);if(s(Y))try{var V=x2(Y.slice(37)),M=new Uint8Array(V.length);for(Y=0;Y<V.length;++Y)M[Y]=V.charCodeAt(Y);var A=M}catch(S){throw Error("Converting base64 string to bytes failed.")}else A=void 0;var L=A;if(L)return L;throw"both async and sync fetching of the wasm failed"}catch(S){u(S)}}function jJ(){return _||typeof fetch!="function"?Promise.resolve().then(function(){return p8()}):fetch(o,{credentials:"same-origin"}).then(function(Y){if(!Y.ok)throw"failed to load wasm binary file at '"+o+"'";return Y.arrayBuffer()}).catch(function(){return p8()})}function K8(Y){for(;0<Y.length;)Y.shift()(Z)}function I8(Y){if(Y===void 0)return"_unknown";Y=Y.replace(/[^a-zA-Z0-9_]/g,"$");var V=Y.charCodeAt(0);return 48<=V&&57>=V?"_"+Y:Y}function qJ(Y,V){return Y=I8(Y),function(){return V.apply(this,arguments)}}var i0=[{},{value:void 0},{value:null},{value:!0},{value:!1}],KJ=[];function a6(Y){var V=Error,M=qJ(Y,function(A){this.name=Y,this.message=A,A=Error(A).stack,A!==void 0&&(this.stack=this.toString()+`
3
+ `+A.replace(/^Error(:[^\n]*)?\n/,""))});return M.prototype=Object.create(V.prototype),M.prototype.constructor=M,M.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},M}var K$=void 0;function n(Y){throw new K$(Y)}var w$=(Y)=>{return Y||n("Cannot use deleted val. handle = "+Y),i0[Y].value},s6=(Y)=>{switch(Y){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var V=KJ.length?KJ.pop():i0.length;return i0[V]={ga:1,value:Y},V}},l9=void 0,r9=void 0;function P0(Y){for(var V="";N[Y];)V+=r9[N[Y++]];return V}var k$=[];function _J(){for(;k$.length;){var Y=k$.pop();Y.M.$=!1,Y.delete()}}var v$=void 0,_8={};function DJ(Y,V){for(V===void 0&&n("ptr should not be undefined");Y.R;)V=Y.ba(V),Y=Y.R;return V}var c8={};function i9(Y){Y=G5(Y);var V=P0(Y);return V8(Y),V}function o9(Y,V){var M=c8[Y];return M===void 0&&n(V+" has unknown type "+i9(Y)),M}function l6(){}var YJ=!1;function n9(Y){--Y.count.value,Y.count.value===0&&(Y.T?Y.U.W(Y.T):Y.P.N.W(Y.O))}function t9(Y,V,M){if(V===M)return Y;if(M.R===void 0)return null;return Y=t9(Y,V,M.R),Y===null?null:M.na(Y)}var e9={};function X2(Y,V){return V=DJ(Y,V),_8[V]}var $5=void 0;function r6(Y){throw new $5(Y)}function i6(Y,V){return V.P&&V.O||r6("makeClassHandle requires ptr and ptrType"),!!V.U!==!!V.T&&r6("Both smartPtrType and smartPtr must be specified"),V.count={value:1},_$(Object.create(Y,{M:{value:V}}))}function _$(Y){if(typeof FinalizationRegistry>"u")return _$=(V)=>V,Y;return YJ=new FinalizationRegistry((V)=>{n9(V.M)}),_$=(V)=>{var M=V.M;return M.T&&YJ.register(V,{M},V),V},l6=(V)=>{YJ.unregister(V)},_$(Y)}var o6={};function VJ(Y){for(;Y.length;){var V=Y.pop();Y.pop()(V)}}function x$(Y){return this.fromWireType(B[Y>>2])}var D$={},n6={};function C8(Y,V,M){function A(k){k=M(k),k.length!==Y.length&&r6("Mismatched type converter count");for(var g=0;g<Y.length;++g)D8(Y[g],k[g])}Y.forEach(function(k){n6[k]=V});var L=Array(V.length),S=[],R=0;V.forEach((k,g)=>{c8.hasOwnProperty(k)?L[g]=c8[k]:(S.push(k),D$.hasOwnProperty(k)||(D$[k]=[]),D$[k].push(()=>{L[g]=c8[k],++R,R===S.length&&A(L)}))}),S.length===0&&A(L)}function zJ(Y){switch(Y){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw TypeError("Unknown type size: "+Y)}}function D8(Y,V,M={}){if(!("argPackAdvance"in V))throw TypeError("registerType registeredInstance requires argPackAdvance");var A=V.name;if(Y||n('type "'+A+'" must have a positive integer typeid pointer'),c8.hasOwnProperty(Y)){if(M.ua)return;n("Cannot register type '"+A+"' twice")}c8[Y]=V,delete n6[Y],D$.hasOwnProperty(Y)&&(V=D$[Y],delete D$[Y],V.forEach((L)=>L()))}function HJ(Y){n(Y.M.P.N.name+" instance already deleted")}function S8(){}function XJ(Y,V,M){if(Y[V].S===void 0){var A=Y[V];Y[V]=function(){return Y[V].S.hasOwnProperty(arguments.length)||n("Function '"+M+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+Y[V].S+")!"),Y[V].S[arguments.length].apply(this,arguments)},Y[V].S=[],Y[V].S[A.Z]=A}}function O2(Y,V){Z.hasOwnProperty(Y)?(n("Cannot register public name '"+Y+"' twice"),XJ(Z,Y,Y),Z.hasOwnProperty(void 0)&&n("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),Z[Y].S[void 0]=V):Z[Y]=V}function P2(Y,V,M,A,L,S,R,k){this.name=Y,this.constructor=V,this.X=M,this.W=A,this.R=L,this.pa=S,this.ba=R,this.na=k,this.ja=[]}function OJ(Y,V,M){for(;V!==M;)V.ba||n("Expected null or instance of "+M.name+", got an instance of "+V.name),Y=V.ba(Y),V=V.R;return Y}function W2(Y,V){if(V===null)return this.ea&&n("null is not a valid "+this.name),0;return V.M||n('Cannot pass "'+FJ(V)+'" as a '+this.name),V.M.O||n("Cannot pass deleted object as a pointer of type "+this.name),OJ(V.M.O,V.M.P.N,this.N)}function N2(Y,V){if(V===null){if(this.ea&&n("null is not a valid "+this.name),this.da){var M=this.fa();return Y!==null&&Y.push(this.W,M),M}return 0}if(V.M||n('Cannot pass "'+FJ(V)+'" as a '+this.name),V.M.O||n("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&V.M.P.ca&&n("Cannot convert argument of type "+(V.M.U?V.M.U.name:V.M.P.name)+" to parameter type "+this.name),M=OJ(V.M.O,V.M.P.N,this.N),this.da)switch(V.M.T===void 0&&n("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:V.M.U===this?M=V.M.T:n("Cannot convert argument of type "+(V.M.U?V.M.U.name:V.M.P.name)+" to parameter type "+this.name);break;case 1:M=V.M.T;break;case 2:if(V.M.U===this)M=V.M.T;else{var A=V.clone();M=this.xa(M,s6(function(){A.delete()})),Y!==null&&Y.push(this.W,M)}break;default:n("Unsupporting sharing policy")}return M}function F2(Y,V){if(V===null)return this.ea&&n("null is not a valid "+this.name),0;return V.M||n('Cannot pass "'+FJ(V)+'" as a '+this.name),V.M.O||n("Cannot pass deleted object as a pointer of type "+this.name),V.M.P.ca&&n("Cannot convert argument of type "+V.M.P.name+" to parameter type "+this.name),OJ(V.M.O,V.M.P.N,this.N)}function Y8(Y,V,M,A){this.name=Y,this.N=V,this.ea=M,this.ca=A,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,V.R!==void 0?this.toWireType=N2:(this.toWireType=A?W2:F2,this.V=null)}function M2(Y,V){Z.hasOwnProperty(Y)||r6("Replacing nonexistant public symbol"),Z[Y]=V,Z[Y].Z=void 0}function A2(Y,V){var M=[];return function(){if(M.length=0,Object.assign(M,arguments),Y.includes("j")){var A=Z["dynCall_"+Y];A=M&&M.length?A.apply(null,[V].concat(M)):A.call(null,V)}else A=T.get(V).apply(null,M);return A}}function o0(Y,V){Y=P0(Y);var M=Y.includes("j")?A2(Y,V):T.get(V);return typeof M!="function"&&n("unknown function pointer with signature "+Y+": "+V),M}var J5=void 0;function t6(Y,V){function M(S){L[S]||c8[S]||(n6[S]?n6[S].forEach(M):(A.push(S),L[S]=!0))}var A=[],L={};throw V.forEach(M),new J5(Y+": "+A.map(i9).join([", "]))}function PJ(Y,V,M,A,L){var S=V.length;2>S&&n("argTypes array size mismatch! Must at least get return value and 'this' types!");var R=V[1]!==null&&M!==null,k=!1;for(M=1;M<V.length;++M)if(V[M]!==null&&V[M].V===void 0){k=!0;break}var g=V[0].name!=="void",v=S-2,p=Array(v),r=[],$0=[];return function(){if(arguments.length!==v&&n("function "+Y+" called with "+arguments.length+" arguments, expected "+v+" args!"),$0.length=0,r.length=R?2:1,r[0]=L,R){var z0=V[1].toWireType($0,this);r[1]=z0}for(var U0=0;U0<v;++U0)p[U0]=V[U0+2].toWireType($0,arguments[U0]),r.push(p[U0]);if(U0=A.apply(null,r),k)VJ($0);else for(var b0=R?1:2;b0<V.length;b0++){var n0=b0===1?z0:p[b0-2];V[b0].V!==null&&V[b0].V(n0)}return z0=g?V[0].fromWireType(U0):void 0,z0}}function WJ(Y,V){for(var M=[],A=0;A<Y;A++)M.push(I[V+4*A>>2]);return M}function NJ(Y){4<Y&&--i0[Y].ga===0&&(i0[Y]=void 0,KJ.push(Y))}function FJ(Y){if(Y===null)return"null";var V=typeof Y;return V==="object"||V==="array"||V==="function"?Y.toString():""+Y}function E2(Y,V){switch(V){case 2:return function(M){return this.fromWireType(w[M>>2])};case 3:return function(M){return this.fromWireType(x[M>>3])};default:throw TypeError("Unknown float type: "+Y)}}function B2(Y,V,M){switch(V){case 0:return M?function(A){return P[A]}:function(A){return N[A]};case 1:return M?function(A){return W[A>>1]}:function(A){return F[A>>1]};case 2:return M?function(A){return B[A>>2]}:function(A){return I[A>>2]};default:throw TypeError("Unknown integer type: "+Y)}}function L2(Y,V){for(var M="",A=0;!(A>=V/2);++A){var L=W[Y+2*A>>1];if(L==0)break;M+=String.fromCharCode(L)}return M}function I2(Y,V,M){if(M===void 0&&(M=2147483647),2>M)return 0;M-=2;var A=V;M=M<2*Y.length?M/2:Y.length;for(var L=0;L<M;++L)W[V>>1]=Y.charCodeAt(L),V+=2;return W[V>>1]=0,V-A}function C2(Y){return 2*Y.length}function S2(Y,V){for(var M=0,A="";!(M>=V/4);){var L=B[Y+4*M>>2];if(L==0)break;++M,65536<=L?(L-=65536,A+=String.fromCharCode(55296|L>>10,56320|L&1023)):A+=String.fromCharCode(L)}return A}function T2(Y,V,M){if(M===void 0&&(M=2147483647),4>M)return 0;var A=V;M=A+M-4;for(var L=0;L<Y.length;++L){var S=Y.charCodeAt(L);if(55296<=S&&57343>=S){var R=Y.charCodeAt(++L);S=65536+((S&1023)<<10)|R&1023}if(B[V>>2]=S,V+=4,V+4>M)break}return B[V>>2]=0,V-A}function y2(Y){for(var V=0,M=0;M<Y.length;++M){var A=Y.charCodeAt(M);55296<=A&&57343>=A&&++M,V+=4}return V}var R2={};function Z5(Y){var V=R2[Y];return V===void 0?P0(Y):V}var e6=[];function w2(Y){var V=e6.length;return e6.push(Y),V}function k2(Y,V){for(var M=Array(Y),A=0;A<Y;++A)M[A]=o9(I[V+4*A>>2],"parameter "+A);return M}var Q5=[],v2=[null,[],[]];K$=Z.BindingError=a6("BindingError"),Z.count_emval_handles=function(){for(var Y=0,V=5;V<i0.length;++V)i0[V]!==void 0&&++Y;return Y},Z.get_first_emval=function(){for(var Y=5;Y<i0.length;++Y)if(i0[Y]!==void 0)return i0[Y];return null},l9=Z.PureVirtualError=a6("PureVirtualError");for(var U5=Array(256),$7=0;256>$7;++$7)U5[$7]=String.fromCharCode($7);r9=U5,Z.getInheritedInstanceCount=function(){return Object.keys(_8).length},Z.getLiveInheritedInstances=function(){var Y=[],V;for(V in _8)_8.hasOwnProperty(V)&&Y.push(_8[V]);return Y},Z.flushPendingDeletes=_J,Z.setDelayFunction=function(Y){v$=Y,k$.length&&v$&&v$(_J)},$5=Z.InternalError=a6("InternalError"),S8.prototype.isAliasOf=function(Y){if(!(this instanceof S8&&Y instanceof S8))return!1;var V=this.M.P.N,M=this.M.O,A=Y.M.P.N;for(Y=Y.M.O;V.R;)M=V.ba(M),V=V.R;for(;A.R;)Y=A.ba(Y),A=A.R;return V===A&&M===Y},S8.prototype.clone=function(){if(this.M.O||HJ(this),this.M.aa)return this.M.count.value+=1,this;var Y=_$,V=Object,M=V.create,A=Object.getPrototypeOf(this),L=this.M;return Y=Y(M.call(V,A,{M:{value:{count:L.count,$:L.$,aa:L.aa,O:L.O,P:L.P,T:L.T,U:L.U}}})),Y.M.count.value+=1,Y.M.$=!1,Y},S8.prototype.delete=function(){this.M.O||HJ(this),this.M.$&&!this.M.aa&&n("Object already scheduled for deletion"),l6(this),n9(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},S8.prototype.isDeleted=function(){return!this.M.O},S8.prototype.deleteLater=function(){return this.M.O||HJ(this),this.M.$&&!this.M.aa&&n("Object already scheduled for deletion"),k$.push(this),k$.length===1&&v$&&v$(_J),this.M.$=!0,this},Y8.prototype.qa=function(Y){return this.ka&&(Y=this.ka(Y)),Y},Y8.prototype.ha=function(Y){this.W&&this.W(Y)},Y8.prototype.argPackAdvance=8,Y8.prototype.readValueFromPointer=x$,Y8.prototype.deleteObject=function(Y){if(Y!==null)Y.delete()},Y8.prototype.fromWireType=function(Y){function V(){return this.da?i6(this.N.X,{P:this.wa,O:M,U:this,T:Y}):i6(this.N.X,{P:this,O:Y})}var M=this.qa(Y);if(!M)return this.ha(Y),null;var A=X2(this.N,M);if(A!==void 0){if(A.M.count.value===0)return A.M.O=M,A.M.T=Y,A.clone();return A=A.clone(),this.ha(Y),A}if(A=this.N.pa(M),A=e9[A],!A)return V.call(this);A=this.ca?A.la:A.pointerType;var L=t9(M,this.N,A.N);return L===null?V.call(this):this.da?i6(A.N.X,{P:A,O:L,U:this,T:Y}):i6(A.N.X,{P:A,O:L})},J5=Z.UnboundTypeError=a6("UnboundTypeError");var x2=typeof atob=="function"?atob:function(Y){var V="",M=0;Y=Y.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(M++)),L="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(M++)),S="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(M++)),R="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(M++));A=A<<2|L>>4,L=(L&15)<<4|S>>2;var k=(S&3)<<6|R;V+=String.fromCharCode(A),S!==64&&(V+=String.fromCharCode(L)),R!==64&&(V+=String.fromCharCode(k))}while(M<Y.length);return V},f2={l:function(Y,V,M,A){u("Assertion failed: "+(Y?O(N,Y):"")+", at: "+[V?V?O(N,V):"":"unknown filename",M,A?A?O(N,A):"":"unknown function"])},q:function(Y,V,M){Y=P0(Y),V=o9(V,"wrapper"),M=w$(M);var A=[].slice,L=V.N,S=L.X,R=L.R.X,k=L.R.constructor;Y=qJ(Y,function(){L.R.ja.forEach(function(v){if(this[v]===R[v])throw new l9("Pure virtual function "+v+" must be implemented in JavaScript")}.bind(this)),Object.defineProperty(this,"__parent",{value:S}),this.__construct.apply(this,A.call(arguments))}),S.__construct=function(){this===S&&n("Pass correct 'this' to __construct");var v=k.implement.apply(void 0,[this].concat(A.call(arguments)));l6(v);var p=v.M;v.notifyOnDestruction(),p.aa=!0,Object.defineProperties(this,{M:{value:p}}),_$(this),v=p.O,v=DJ(L,v),_8.hasOwnProperty(v)?n("Tried to register registered instance: "+v):_8[v]=this},S.__destruct=function(){this===S&&n("Pass correct 'this' to __destruct"),l6(this);var v=this.M.O;v=DJ(L,v),_8.hasOwnProperty(v)?delete _8[v]:n("Tried to unregister unregistered instance: "+v)},Y.prototype=Object.create(S);for(var g in M)Y.prototype[g]=M[g];return s6(Y)},j:function(Y){var V=o6[Y];delete o6[Y];var{fa:M,W:A,ia:L}=V,S=L.map((R)=>R.ta).concat(L.map((R)=>R.za));C8([Y],S,(R)=>{var k={};return L.forEach((g,v)=>{var p=R[v],r=g.ra,$0=g.sa,z0=R[v+L.length],U0=g.ya,b0=g.Aa;k[g.oa]={read:(n0)=>p.fromWireType(r($0,n0)),write:(n0,f$)=>{var z8=[];U0(b0,n0,z0.toWireType(z8,f$)),VJ(z8)}}}),[{name:V.name,fromWireType:function(g){var v={},p;for(p in k)v[p]=k[p].read(g);return A(g),v},toWireType:function(g,v){for(var p in k)if(!(p in v))throw TypeError('Missing field: "'+p+'"');var r=M();for(p in k)k[p].write(r,v[p]);return g!==null&&g.push(A,r),r},argPackAdvance:8,readValueFromPointer:x$,V:A}]})},v:function(){},B:function(Y,V,M,A,L){var S=zJ(M);V=P0(V),D8(Y,{name:V,fromWireType:function(R){return!!R},toWireType:function(R,k){return k?A:L},argPackAdvance:8,readValueFromPointer:function(R){if(M===1)var k=P;else if(M===2)k=W;else if(M===4)k=B;else throw TypeError("Unknown boolean type size: "+V);return this.fromWireType(k[R>>S])},V:null})},f:function(Y,V,M,A,L,S,R,k,g,v,p,r,$0){p=P0(p),S=o0(L,S),k&&(k=o0(R,k)),v&&(v=o0(g,v)),$0=o0(r,$0);var z0=I8(p);O2(z0,function(){t6("Cannot construct "+p+" due to unbound types",[A])}),C8([Y,V,M],A?[A]:[],function(U0){if(U0=U0[0],A)var b0=U0.N,n0=b0.X;else n0=S8.prototype;U0=qJ(z0,function(){if(Object.getPrototypeOf(this)!==f$)throw new K$("Use 'new' to construct "+p);if(z8.Y===void 0)throw new K$(p+" has no accessible constructor");var K5=z8.Y[arguments.length];if(K5===void 0)throw new K$("Tried to invoke ctor of "+p+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(z8.Y).toString()+") parameters instead!");return K5.apply(this,arguments)});var f$=Object.create(n0,{constructor:{value:U0}});U0.prototype=f$;var z8=new P2(p,U0,f$,$0,b0,S,k,v);b0=new Y8(p,z8,!0,!1),n0=new Y8(p+"*",z8,!1,!1);var q5=new Y8(p+" const*",z8,!1,!0);return e9[Y]={pointerType:n0,la:q5},M2(z0,U0),[b0,n0,q5]})},d:function(Y,V,M,A,L,S,R){var k=WJ(M,A);V=P0(V),S=o0(L,S),C8([],[Y],function(g){function v(){t6("Cannot call "+p+" due to unbound types",k)}g=g[0];var p=g.name+"."+V;V.startsWith("@@")&&(V=Symbol[V.substring(2)]);var r=g.N.constructor;return r[V]===void 0?(v.Z=M-1,r[V]=v):(XJ(r,V,p),r[V].S[M-1]=v),C8([],k,function($0){return $0=PJ(p,[$0[0],null].concat($0.slice(1)),null,S,R),r[V].S===void 0?($0.Z=M-1,r[V]=$0):r[V].S[M-1]=$0,[]}),[]})},p:function(Y,V,M,A,L,S){0<V||u();var R=WJ(V,M);L=o0(A,L),C8([],[Y],function(k){k=k[0];var g="constructor "+k.name;if(k.N.Y===void 0&&(k.N.Y=[]),k.N.Y[V-1]!==void 0)throw new K$("Cannot register multiple constructors with identical number of parameters ("+(V-1)+") for class '"+k.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return k.N.Y[V-1]=()=>{t6("Cannot construct "+k.name+" due to unbound types",R)},C8([],R,function(v){return v.splice(1,0,null),k.N.Y[V-1]=PJ(g,v,null,L,S),[]}),[]})},a:function(Y,V,M,A,L,S,R,k){var g=WJ(M,A);V=P0(V),S=o0(L,S),C8([],[Y],function(v){function p(){t6("Cannot call "+r+" due to unbound types",g)}v=v[0];var r=v.name+"."+V;V.startsWith("@@")&&(V=Symbol[V.substring(2)]),k&&v.N.ja.push(V);var $0=v.N.X,z0=$0[V];return z0===void 0||z0.S===void 0&&z0.className!==v.name&&z0.Z===M-2?(p.Z=M-2,p.className=v.name,$0[V]=p):(XJ($0,V,r),$0[V].S[M-2]=p),C8([],g,function(U0){return U0=PJ(r,U0,v,S,R),$0[V].S===void 0?(U0.Z=M-2,$0[V]=U0):$0[V].S[M-2]=U0,[]}),[]})},A:function(Y,V){V=P0(V),D8(Y,{name:V,fromWireType:function(M){var A=w$(M);return NJ(M),A},toWireType:function(M,A){return s6(A)},argPackAdvance:8,readValueFromPointer:x$,V:null})},n:function(Y,V,M){M=zJ(M),V=P0(V),D8(Y,{name:V,fromWireType:function(A){return A},toWireType:function(A,L){return L},argPackAdvance:8,readValueFromPointer:E2(V,M),V:null})},e:function(Y,V,M,A,L){V=P0(V),L===-1&&(L=4294967295),L=zJ(M);var S=(k)=>k;if(A===0){var R=32-8*M;S=(k)=>k<<R>>>R}M=V.includes("unsigned")?function(k,g){return g>>>0}:function(k,g){return g},D8(Y,{name:V,fromWireType:S,toWireType:M,argPackAdvance:8,readValueFromPointer:B2(V,L,A!==0),V:null})},b:function(Y,V,M){function A(S){S>>=2;var R=I;return new L(X,R[S+1],R[S])}var L=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][V];M=P0(M),D8(Y,{name:M,fromWireType:A,argPackAdvance:8,readValueFromPointer:A},{ua:!0})},o:function(Y,V){V=P0(V);var M=V==="std::string";D8(Y,{name:V,fromWireType:function(A){var L=I[A>>2],S=A+4;if(M)for(var R=S,k=0;k<=L;++k){var g=S+k;if(k==L||N[g]==0){if(R=R?O(N,R,g-R):"",v===void 0)var v=R;else v+=String.fromCharCode(0),v+=R;R=g+1}}else{v=Array(L);for(k=0;k<L;++k)v[k]=String.fromCharCode(N[S+k]);v=v.join("")}return V8(A),v},toWireType:function(A,L){L instanceof ArrayBuffer&&(L=new Uint8Array(L));var S,R=typeof L=="string";if(R||L instanceof Uint8Array||L instanceof Uint8ClampedArray||L instanceof Int8Array||n("Cannot pass non-string to std::string"),M&&R){var k=0;for(S=0;S<L.length;++S){var g=L.charCodeAt(S);127>=g?k++:2047>=g?k+=2:55296<=g&&57343>=g?(k+=4,++S):k+=3}S=k}else S=L.length;if(k=MJ(4+S+1),g=k+4,I[k>>2]=S,M&&R){if(R=g,g=S+1,S=N,0<g){g=R+g-1;for(var v=0;v<L.length;++v){var p=L.charCodeAt(v);if(55296<=p&&57343>=p){var r=L.charCodeAt(++v);p=65536+((p&1023)<<10)|r&1023}if(127>=p){if(R>=g)break;S[R++]=p}else{if(2047>=p){if(R+1>=g)break;S[R++]=192|p>>6}else{if(65535>=p){if(R+2>=g)break;S[R++]=224|p>>12}else{if(R+3>=g)break;S[R++]=240|p>>18,S[R++]=128|p>>12&63}S[R++]=128|p>>6&63}S[R++]=128|p&63}}S[R]=0}}else if(R)for(R=0;R<S;++R)v=L.charCodeAt(R),255<v&&(V8(g),n("String has UTF-16 code units that do not fit in 8 bits")),N[g+R]=v;else for(R=0;R<S;++R)N[g+R]=L[R];return A!==null&&A.push(V8,k),k},argPackAdvance:8,readValueFromPointer:x$,V:function(A){V8(A)}})},i:function(Y,V,M){if(M=P0(M),V===2)var A=L2,L=I2,S=C2,R=()=>F,k=1;else V===4&&(A=S2,L=T2,S=y2,R=()=>I,k=2);D8(Y,{name:M,fromWireType:function(g){for(var v=I[g>>2],p=R(),r,$0=g+4,z0=0;z0<=v;++z0){var U0=g+4+z0*V;if(z0==v||p[U0>>k]==0)$0=A($0,U0-$0),r===void 0?r=$0:(r+=String.fromCharCode(0),r+=$0),$0=U0+V}return V8(g),r},toWireType:function(g,v){typeof v!="string"&&n("Cannot pass non-string to C++ string type "+M);var p=S(v),r=MJ(4+p+V);return I[r>>2]=p>>k,L(v,r+4,p+V),g!==null&&g.push(V8,r),r},argPackAdvance:8,readValueFromPointer:x$,V:function(g){V8(g)}})},k:function(Y,V,M,A,L,S){o6[Y]={name:P0(V),fa:o0(M,A),W:o0(L,S),ia:[]}},h:function(Y,V,M,A,L,S,R,k,g,v){o6[Y].ia.push({oa:P0(V),ta:M,ra:o0(A,L),sa:S,za:R,ya:o0(k,g),Aa:v})},C:function(Y,V){V=P0(V),D8(Y,{va:!0,name:V,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(Y,V,M,A,L){Y=e6[Y],V=w$(V),M=Z5(M);var S=[];return I[A>>2]=s6(S),Y(V,M,S,L)},t:function(Y,V,M,A){Y=e6[Y],V=w$(V),M=Z5(M),Y(V,M,null,A)},g:NJ,m:function(Y,V){var M=k2(Y,V),A=M[0];V=A.name+"_$"+M.slice(1).map(function(R){return R.name}).join("_")+"$";var L=Q5[V];if(L!==void 0)return L;var S=Array(Y-1);return L=w2((R,k,g,v)=>{for(var p=0,r=0;r<Y-1;++r)S[r]=M[r+1].readValueFromPointer(v+p),p+=M[r+1].argPackAdvance;R=R[k].apply(R,S);for(r=0;r<Y-1;++r)M[r+1].ma&&M[r+1].ma(S[r]);if(!A.va)return A.toWireType(g,R)}),Q5[V]=L},D:function(Y){4<Y&&(i0[Y].ga+=1)},r:function(Y){var V=w$(Y);VJ(V),NJ(Y)},c:function(){u("")},x:function(Y,V,M){N.copyWithin(Y,V,V+M)},w:function(Y){var V=N.length;if(Y>>>=0,2147483648<Y)return!1;for(var M=1;4>=M;M*=2){var A=V*(1+0.2/M);A=Math.min(A,Y+100663296);var L=Math;A=Math.max(Y,A),L=L.min.call(L,2147483648,A+(65536-A%65536)%65536);$:{try{z.grow(L-X.byteLength+65535>>>16),C();var S=1;break $}catch(R){}S=void 0}if(S)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(Y,V,M,A){for(var L=0,S=0;S<M;S++){var R=I[V>>2],k=I[V+4>>2];V+=8;for(var g=0;g<k;g++){var v=N[R+g],p=v2[Y];v===0||v===10?((Y===1?q:K)(O(p,0)),p.length=0):p.push(v)}L+=k}return I[A>>2]=L,0}};(function(){function Y(L){Z.asm=L.exports,z=Z.asm.E,C(),T=Z.asm.J,f.unshift(Z.asm.F),h--,Z.monitorRunDependencies&&Z.monitorRunDependencies(h),h==0&&(a!==null&&(clearInterval(a),a=null),i&&(L=i,i=null,L()))}function V(L){Y(L.instance)}function M(L){return jJ().then(function(S){return WebAssembly.instantiate(S,A)}).then(function(S){return S}).then(L,function(S){K("failed to asynchronously prepare wasm: "+S),u(S)})}var A={a:f2};if(h++,Z.monitorRunDependencies&&Z.monitorRunDependencies(h),Z.instantiateWasm)try{return Z.instantiateWasm(A,Y)}catch(L){K("Module.instantiateWasm callback failed with error: "+L),U(L)}return function(){return _||typeof WebAssembly.instantiateStreaming!="function"||s(o)||typeof fetch!="function"?M(V):fetch(o,{credentials:"same-origin"}).then(function(L){return WebAssembly.instantiateStreaming(L,A).then(V,function(S){return K("wasm streaming compile failed: "+S),K("falling back to ArrayBuffer instantiation"),M(V)})})}().catch(U),{}})(),Z.___wasm_call_ctors=function(){return(Z.___wasm_call_ctors=Z.asm.F).apply(null,arguments)};var G5=Z.___getTypeName=function(){return(G5=Z.___getTypeName=Z.asm.G).apply(null,arguments)};Z.__embind_initialize_bindings=function(){return(Z.__embind_initialize_bindings=Z.asm.H).apply(null,arguments)};var MJ=Z._malloc=function(){return(MJ=Z._malloc=Z.asm.I).apply(null,arguments)},V8=Z._free=function(){return(V8=Z._free=Z.asm.K).apply(null,arguments)};Z.dynCall_jiji=function(){return(Z.dynCall_jiji=Z.asm.L).apply(null,arguments)};var J7;i=function Y(){J7||j5(),J7||(i=Y)};function j5(){function Y(){if(!J7&&(J7=!0,Z.calledRun=!0,!H)){if(K8(f),Q(Z),Z.onRuntimeInitialized)Z.onRuntimeInitialized();if(Z.postRun)for(typeof Z.postRun=="function"&&(Z.postRun=[Z.postRun]);Z.postRun.length;){var V=Z.postRun.shift();m.unshift(V)}K8(m)}}if(!(0<h)){if(Z.preRun)for(typeof Z.preRun=="function"&&(Z.preRun=[Z.preRun]);Z.preRun.length;)d();K8(y),0<h||(Z.setStatus?(Z.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Z.setStatus("")},1),Y()},1)):Y())}}if(Z.preInit)for(typeof Z.preInit=="function"&&(Z.preInit=[Z.preInit]);0<Z.preInit.length;)Z.preInit.pop()();return j5(),J.ready}})(),p2=h2,J0=function($){return $[$.Auto=0]="Auto",$[$.FlexStart=1]="FlexStart",$[$.Center=2]="Center",$[$.FlexEnd=3]="FlexEnd",$[$.Stretch=4]="Stretch",$[$.Baseline=5]="Baseline",$[$.SpaceBetween=6]="SpaceBetween",$[$.SpaceAround=7]="SpaceAround",$[$.SpaceEvenly=8]="SpaceEvenly",$}({}),l8=function($){return $[$.BorderBox=0]="BorderBox",$[$.ContentBox=1]="ContentBox",$}({}),r8=function($){return $[$.Width=0]="Width",$[$.Height=1]="Height",$}({}),J8=function($){return $[$.Inherit=0]="Inherit",$[$.LTR=1]="LTR",$[$.RTL=2]="RTL",$}({}),m0=function($){return $[$.Flex=0]="Flex",$[$.None=1]="None",$[$.Contents=2]="Contents",$}({}),c=function($){return $[$.Left=0]="Left",$[$.Top=1]="Top",$[$.Right=2]="Right",$[$.Bottom=3]="Bottom",$[$.Start=4]="Start",$[$.End=5]="End",$[$.Horizontal=6]="Horizontal",$[$.Vertical=7]="Vertical",$[$.All=8]="All",$}({}),a8=function($){return $[$.None=0]="None",$[$.StretchFlexBasis=1]="StretchFlexBasis",$[$.AbsolutePositionWithoutInsetsExcludesPadding=2]="AbsolutePositionWithoutInsetsExcludesPadding",$[$.AbsolutePercentAgainstInnerSize=4]="AbsolutePercentAgainstInnerSize",$[$.All=2147483647]="All",$[$.Classic=2147483646]="Classic",$}({}),JQ=function($){return $[$.WebFlexBasis=0]="WebFlexBasis",$}({}),l0=function($){return $[$.Column=0]="Column",$[$.ColumnReverse=1]="ColumnReverse",$[$.Row=2]="Row",$[$.RowReverse=3]="RowReverse",$}({}),T0=function($){return $[$.Column=0]="Column",$[$.Row=1]="Row",$[$.All=2]="All",$}({}),C0=function($){return $[$.FlexStart=0]="FlexStart",$[$.Center=1]="Center",$[$.FlexEnd=2]="FlexEnd",$[$.SpaceBetween=3]="SpaceBetween",$[$.SpaceAround=4]="SpaceAround",$[$.SpaceEvenly=5]="SpaceEvenly",$}({}),S0=function($){return $[$.Error=0]="Error",$[$.Warn=1]="Warn",$[$.Info=2]="Info",$[$.Debug=3]="Debug",$[$.Verbose=4]="Verbose",$[$.Fatal=5]="Fatal",$}({}),A0=function($){return $[$.Undefined=0]="Undefined",$[$.Exactly=1]="Exactly",$[$.AtMost=2]="AtMost",$}({}),hJ=function($){return $[$.Default=0]="Default",$[$.Text=1]="Text",$}({}),O8=function($){return $[$.Visible=0]="Visible",$[$.Hidden=1]="Hidden",$[$.Scroll=2]="Scroll",$}({}),P8=function($){return $[$.Static=0]="Static",$[$.Relative=1]="Relative",$[$.Absolute=2]="Absolute",$}({}),M0=function($){return $[$.Undefined=0]="Undefined",$[$.Point=1]="Point",$[$.Percent=2]="Percent",$[$.Auto=3]="Auto",$}({}),W8=function($){return $[$.NoWrap=0]="NoWrap",$[$.Wrap=1]="Wrap",$[$.WrapReverse=2]="WrapReverse",$}({}),c2={ALIGN_AUTO:J0.Auto,ALIGN_FLEX_START:J0.FlexStart,ALIGN_CENTER:J0.Center,ALIGN_FLEX_END:J0.FlexEnd,ALIGN_STRETCH:J0.Stretch,ALIGN_BASELINE:J0.Baseline,ALIGN_SPACE_BETWEEN:J0.SpaceBetween,ALIGN_SPACE_AROUND:J0.SpaceAround,ALIGN_SPACE_EVENLY:J0.SpaceEvenly,BOX_SIZING_BORDER_BOX:l8.BorderBox,BOX_SIZING_CONTENT_BOX:l8.ContentBox,DIMENSION_WIDTH:r8.Width,DIMENSION_HEIGHT:r8.Height,DIRECTION_INHERIT:J8.Inherit,DIRECTION_LTR:J8.LTR,DIRECTION_RTL:J8.RTL,DISPLAY_FLEX:m0.Flex,DISPLAY_NONE:m0.None,DISPLAY_CONTENTS:m0.Contents,EDGE_LEFT:c.Left,EDGE_TOP:c.Top,EDGE_RIGHT:c.Right,EDGE_BOTTOM:c.Bottom,EDGE_START:c.Start,EDGE_END:c.End,EDGE_HORIZONTAL:c.Horizontal,EDGE_VERTICAL:c.Vertical,EDGE_ALL:c.All,ERRATA_NONE:a8.None,ERRATA_STRETCH_FLEX_BASIS:a8.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:a8.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:a8.AbsolutePercentAgainstInnerSize,ERRATA_ALL:a8.All,ERRATA_CLASSIC:a8.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:JQ.WebFlexBasis,FLEX_DIRECTION_COLUMN:l0.Column,FLEX_DIRECTION_COLUMN_REVERSE:l0.ColumnReverse,FLEX_DIRECTION_ROW:l0.Row,FLEX_DIRECTION_ROW_REVERSE:l0.RowReverse,GUTTER_COLUMN:T0.Column,GUTTER_ROW:T0.Row,GUTTER_ALL:T0.All,JUSTIFY_FLEX_START:C0.FlexStart,JUSTIFY_CENTER:C0.Center,JUSTIFY_FLEX_END:C0.FlexEnd,JUSTIFY_SPACE_BETWEEN:C0.SpaceBetween,JUSTIFY_SPACE_AROUND:C0.SpaceAround,JUSTIFY_SPACE_EVENLY:C0.SpaceEvenly,LOG_LEVEL_ERROR:S0.Error,LOG_LEVEL_WARN:S0.Warn,LOG_LEVEL_INFO:S0.Info,LOG_LEVEL_DEBUG:S0.Debug,LOG_LEVEL_VERBOSE:S0.Verbose,LOG_LEVEL_FATAL:S0.Fatal,MEASURE_MODE_UNDEFINED:A0.Undefined,MEASURE_MODE_EXACTLY:A0.Exactly,MEASURE_MODE_AT_MOST:A0.AtMost,NODE_TYPE_DEFAULT:hJ.Default,NODE_TYPE_TEXT:hJ.Text,OVERFLOW_VISIBLE:O8.Visible,OVERFLOW_HIDDEN:O8.Hidden,OVERFLOW_SCROLL:O8.Scroll,POSITION_TYPE_STATIC:P8.Static,POSITION_TYPE_RELATIVE:P8.Relative,POSITION_TYPE_ABSOLUTE:P8.Absolute,UNIT_UNDEFINED:M0.Undefined,UNIT_POINT:M0.Point,UNIT_PERCENT:M0.Percent,UNIT_AUTO:M0.Auto,WRAP_NO_WRAP:W8.NoWrap,WRAP_WRAP:W8.Wrap,WRAP_WRAP_REVERSE:W8.WrapReverse},u2=c2;function d2($){function J(U,G,j){let q=U[G];U[G]=function(){for(var K=arguments.length,_=Array(K),D=0;D<K;D++)_[D]=arguments[D];return j.call(this,q,..._)}}for(let U of["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding","setGap"]){let G={[M0.Point]:$.Node.prototype[U],[M0.Percent]:$.Node.prototype[`${U}Percent`],[M0.Auto]:$.Node.prototype[`${U}Auto`]};J($.Node.prototype,U,function(j){for(var q=arguments.length,K=Array(q>1?q-1:0),_=1;_<q;_++)K[_-1]=arguments[_];let D=K.pop(),z,H;if(D==="auto")z=M0.Auto,H=void 0;else if(typeof D==="object")z=D.unit,H=D.valueOf();else if(z=typeof D==="string"&&D.endsWith("%")?M0.Percent:M0.Point,H=parseFloat(D),D!==void 0&&!Number.isNaN(D)&&Number.isNaN(H))throw Error(`Invalid value ${D} for ${U}`);if(!G[z])throw Error(`Failed to execute "${U}": Unsupported unit '${D}'`);if(H!==void 0)return G[z].call(this,...K,H);else return G[z].call(this,...K)})}function Z(U){return $.MeasureCallback.implement({measure:function(){let{width:G,height:j}=U(...arguments);return{width:G??NaN,height:j??NaN}}})}J($.Node.prototype,"setMeasureFunc",function(U,G){if(G)return U.call(this,Z(G));else return this.unsetMeasureFunc()});function Q(U){return $.DirtiedCallback.implement({dirtied:U})}return J($.Node.prototype,"setDirtiedFunc",function(U,G){U.call(this,Q(G))}),J($.Config.prototype,"free",function(){$.Config.destroy(this)}),J($.Node,"create",(U,G)=>{return G?$.Node.createWithConfig(G):$.Node.createDefault()}),J($.Node.prototype,"free",function(){$.Node.destroy(this)}),J($.Node.prototype,"freeRecursive",function(){for(let U=0,G=this.getChildCount();U<G;++U)this.getChild(0).freeRecursive();this.free()}),J($.Node.prototype,"calculateLayout",function(U){let G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J8.LTR;return U.call(this,G,j,q)}),{Config:$.Config,Node:$.Node,...u2}}var a2=d2(await p2()),X7=a2,ZQ=["single","double","rounded","heavy"];function O7($){return typeof $==="string"&&ZQ.includes($)}function g8($,J="single"){if(O7($))return $;if($!==void 0&&$!==null)console.warn(`Invalid borderStyle "${$}", falling back to "${J}". Valid values are: ${ZQ.join(", ")}`);return J}var i8={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",topT:"\u252C",bottomT:"\u2534",leftT:"\u251C",rightT:"\u2524",cross:"\u253C"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551",topT:"\u2566",bottomT:"\u2569",leftT:"\u2560",rightT:"\u2563",cross:"\u256C"},rounded:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502",topT:"\u252C",bottomT:"\u2534",leftT:"\u251C",rightT:"\u2524",cross:"\u253C"},heavy:{topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2501",vertical:"\u2503",topT:"\u2533",bottomT:"\u253B",leftT:"\u2523",rightT:"\u252B",cross:"\u254B"}};function iJ($){let J=[];if($.top)J.push("top");if($.right)J.push("right");if($.bottom)J.push("bottom");if($.left)J.push("left");return J.length>0?J:!1}function P$($){return $===!0?{top:!0,right:!0,bottom:!0,left:!0}:Array.isArray($)?{top:$.includes("top"),right:$.includes("right"),bottom:$.includes("bottom"),left:$.includes("left")}:{top:!1,right:!1,bottom:!1,left:!1}}function N8($){let J=new Uint32Array(11);return J[0]=$.topLeft.codePointAt(0),J[1]=$.topRight.codePointAt(0),J[2]=$.bottomLeft.codePointAt(0),J[3]=$.bottomRight.codePointAt(0),J[4]=$.horizontal.codePointAt(0),J[5]=$.vertical.codePointAt(0),J[6]=$.topT.codePointAt(0),J[7]=$.bottomT.codePointAt(0),J[8]=$.leftT.codePointAt(0),J[9]=$.rightT.codePointAt(0),J[10]=$.cross.codePointAt(0),J}var J6={single:N8(i8.single),double:N8(i8.double),rounded:N8(i8.rounded),heavy:N8(i8.heavy)};class n8{name;ctrl;meta;shift;option;sequence;number;raw;eventType;source;code;super;hyper;capsLock;numLock;baseCode;repeated;_defaultPrevented=!1;_propagationStopped=!1;constructor($){this.name=$.name,this.ctrl=$.ctrl,this.meta=$.meta,this.shift=$.shift,this.option=$.option,this.sequence=$.sequence,this.number=$.number,this.raw=$.raw,this.eventType=$.eventType,this.source=$.source,this.code=$.code,this.super=$.super,this.hyper=$.hyper,this.capsLock=$.capsLock,this.numLock=$.numLock,this.baseCode=$.baseCode,this.repeated=$.repeated}get defaultPrevented(){return this._defaultPrevented}get propagationStopped(){return this._propagationStopped}preventDefault(){this._defaultPrevented=!0}stopPropagation(){this._propagationStopped=!0}}class Z6{type="paste";bytes;metadata;_defaultPrevented=!1;_propagationStopped=!1;constructor($,J){this.bytes=$,this.metadata=J}get defaultPrevented(){return this._defaultPrevented}get propagationStopped(){return this._propagationStopped}preventDefault(){this._defaultPrevented=!0}stopPropagation(){this._propagationStopped=!0}}class L$ extends s2{processParsedKey($){try{switch($.eventType){case"press":this.emit("keypress",new n8($));break;case"release":this.emit("keyrelease",new n8($));break;default:this.emit("keypress",new n8($));break}}catch(J){return console.error("[KeyHandler] Error processing parsed key:",J),!0}return!0}processPaste($,J){try{this.emit("paste",new Z6($,J))}catch(Z){console.error("[KeyHandler] Error processing paste:",Z)}}}class I$ extends L${renderableHandlers=new Map;emit($,...J){return this.emitWithPriority($,...J)}emitWithPriority($,...J){let Z=!1,Q=this.listeners($);if(Q.length>0){Z=!0;for(let q of Q){try{q(...J)}catch(K){console.error(`[KeyHandler] Error in global ${$} handler:`,K)}if($==="keypress"||$==="keyrelease"||$==="paste"){if(J[0].propagationStopped)return Z}}}let U=this.renderableHandlers.get($),G=U&&U.size>0?[...U]:[],j=!1;if(U&&U.size>0){if(j=!0,$==="keypress"||$==="keyrelease"||$==="paste"){let q=J[0];if(q.defaultPrevented)return Z||j;if(q.propagationStopped)return Z||j}for(let q of G){try{q(...J)}catch(K){console.error(`[KeyHandler] Error in renderable ${$} handler:`,K)}if($==="keypress"||$==="keyrelease"||$==="paste"){if(J[0].propagationStopped)return Z||j}}}return Z||j}onInternal($,J){if(!this.renderableHandlers.has($))this.renderableHandlers.set($,new Set);this.renderableHandlers.get($).add(J)}offInternal($,J){let Z=this.renderableHandlers.get($);if(Z)Z.delete(J)}}var Q6=[255,255,255],U6=[0,0,0],_5=0,D5=1,AJ=2,Y5=[[0,0,0],[128,0,0],[0,128,0],[128,128,0],[0,0,128],[128,0,128],[0,128,128],[192,192,192],[128,128,128],[255,0,0],[0,255,0],[255,255,0],[0,0,255],[255,0,255],[0,255,255],[255,255,255]],EJ=[0,95,135,175,215,255];function g$($,J=0){return(J&255|($&255)<<8)>>>0}function T8($){return Math.round(Math.max(0,Math.min(1,Number.isFinite($)?$:0))*255)}function Z7($){return Math.round(Math.max(0,Math.min(255,Number.isFinite($)?$:0)))}function b$($,J,Z,Q,U){return new Uint16Array([Z7($)&255|(U>>>0&255)<<8,Z7(J)&255|(U>>>8&255)<<8,Z7(Z)&255|(U>>>16&255)<<8,Z7(Q)&255|(U>>>24&255)<<8])}function l2($){let[J,Z,Q]=j6($);return l.fromInts(J,Z,Q)}function G6($){if(!Number.isInteger($)||$<0||$>255)throw RangeError(`Indexed color must be an integer in the range 0..255, got ${$}`);return $}function j6($){let J=G6($);if(J<Y5.length)return Y5[J];if(J<232){let Q=J-16,U=Math.floor(Q/36),G=Math.floor(Q/6)%6,j=Q%6;return[EJ[U],EJ[G],EJ[j]]}let Z=8+(J-232)*10;return[Z,Z,Z]}class l{buffer;constructor($){this.buffer=new Uint16Array(4),this.buffer.set($.subarray(0,4))}static fromArray($){return new l($)}static fromValues($,J,Z,Q=1){return new l(b$(T8($),T8(J),T8(Z),T8(Q),g$(_5)))}static clone($){return new l($.buffer)}static fromInts($,J,Z,Q=255){return new l(b$($,J,Z,Q,g$(_5)))}static fromHex($){return N$($)}static fromIndex($,J){let Z=G6($),Q=J?E(J):l2(Z),[U,G,j,q]=Q.toInts();return new l(b$(U,G,j,q,g$(D5,Z)))}static defaultForeground($){let J=$?E($):l.fromInts(...Q6),[Z,Q,U,G]=J.toInts();return new l(b$(Z,Q,U,G,g$(AJ)))}static defaultBackground($){let J=$?E($):l.fromInts(...U6),[Z,Q,U,G]=J.toInts();return new l(b$(Z,Q,U,G,g$(AJ)))}toInts(){return[this.buffer[0]&255,this.buffer[1]&255,this.buffer[2]&255,this.buffer[3]&255]}get r(){return(this.buffer[0]&255)/255}set r($){this.buffer[0]=this.buffer[0]&65280|T8($)}get g(){return(this.buffer[1]&255)/255}set g($){this.buffer[1]=this.buffer[1]&65280|T8($)}get b(){return(this.buffer[2]&255)/255}set b($){this.buffer[2]=this.buffer[2]&65280|T8($)}get a(){return(this.buffer[3]&255)/255}set a($){this.buffer[3]=this.buffer[3]&65280|T8($)}get meta(){return(this.buffer[0]>>>8|this.buffer[1]>>>8<<8|this.buffer[2]>>>8<<16|this.buffer[3]>>>8<<24)>>>0}get intent(){switch(this.meta>>>8&255){case D5:return"indexed";case AJ:return"default";default:return"rgb"}}get slot(){return this.meta&255}map($){return[$(this.r),$(this.g),$(this.b),$(this.a)]}toString(){return`rgba(${this.r.toFixed(2)}, ${this.g.toFixed(2)}, ${this.b.toFixed(2)}, ${this.a.toFixed(2)})`}equals($){if(!$)return!1;return this.buffer[0]===$.buffer[0]&&this.buffer[1]===$.buffer[1]&&this.buffer[2]===$.buffer[2]&&this.buffer[3]===$.buffer[3]}}function d$($){if($==null)return null;return{rgba:E($)}}function N$($){if($=$.replace(/^#/,""),$.length===3)$=$[0]+$[0]+$[1]+$[1]+$[2]+$[2];else if($.length===4)$=$[0]+$[0]+$[1]+$[1]+$[2]+$[2]+$[3]+$[3];if(!/^[0-9A-Fa-f]{6}$/.test($)&&!/^[0-9A-Fa-f]{8}$/.test($))return console.warn(`Invalid hex color: ${$}, defaulting to magenta`),l.fromValues(1,0,1,1);let J=parseInt($.substring(0,2),16),Z=parseInt($.substring(2,4),16),Q=parseInt($.substring(4,6),16),U=$.length===8?parseInt($.substring(6,8),16):255;return l.fromInts(J,Z,Q,U)}function oJ($){let[J,Z,Q,U]=$.toInts();return"#"+(U===255?[J,Z,Q]:[J,Z,Q,U]).map((j)=>j.toString(16).padStart(2,"0")).join("")}function nJ($,J,Z){let Q=0,U=0,G=0,j=Math.floor($/60)%6,q=$/60-Math.floor($/60),K=Z*(1-J),_=Z*(1-q*J),D=Z*(1-(1-q)*J);switch(j){case 0:Q=Z,U=D,G=K;break;case 1:Q=_,U=Z,G=K;break;case 2:Q=K,U=Z,G=D;break;case 3:Q=K,U=_,G=Z;break;case 4:Q=D,U=K,G=Z;break;case 5:Q=Z,U=K,G=_;break}return l.fromValues(Q,U,G,1)}var V5={black:"#000000",white:"#FFFFFF",red:"#FF0000",green:"#008000",blue:"#0000FF",yellow:"#FFFF00",cyan:"#00FFFF",magenta:"#FF00FF",silver:"#C0C0C0",gray:"#808080",grey:"#808080",maroon:"#800000",olive:"#808000",lime:"#00FF00",aqua:"#00FFFF",teal:"#008080",navy:"#000080",fuchsia:"#FF00FF",purple:"#800080",orange:"#FFA500",brightblack:"#666666",brightred:"#FF6666",brightgreen:"#66FF66",brightblue:"#6666FF",brightyellow:"#FFFF66",brightcyan:"#66FFFF",brightmagenta:"#FF66FF",brightwhite:"#FFFFFF"};function E($){if(typeof $==="string"){let J=$.toLowerCase();if(J==="transparent")return l.fromValues(0,0,0,0);if(V5[J])return N$(V5[J]);return N$($)}return $}var r2={name:"block",version:"0.2.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:6,buffer:["","","","","",""],letterspace:[" "," "," "," "," "," "],letterspace_size:1,chars:{A:[" <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2> ","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],B:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],C:[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],D:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],E:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u255D </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],F:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c2>\u255A\u2550\u255D </c2>"],G:[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],H:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],I:["<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D</c2>"],J:["<c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588 \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u255D </c2>"],K:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],L:["<c1>\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],M:["<c1>\u2588\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551\u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551 \u255A\u2550\u255D</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],N:["<c1>\u2588\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551 \u255A</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D</c2>"],O:[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],P:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2>","<c2>\u255A\u2550\u255D </c2>"],Q:[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2584\u2584 \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550</c2><c1>\u2580\u2580</c1><c2>\u2550\u255D </c2>"],R:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],S:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],T:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u255D</c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c2> \u255A\u2550\u255D </c2>"],U:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],V:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c2> \u255A\u2550\u2550\u2550\u255D </c2>"],W:["<c1>\u2588\u2588</c1><c2>\u2557 </c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551 </c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588\u2588</c1><c2>\u2557</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u255D\u255A\u2550\u2550\u255D </c2>"],X:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A</c2><c1>\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>"," <c1>\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],Y:["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c2> \u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c2> \u255A\u2550\u255D </c2>"],Z:["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550</c2><c1>\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>"," <c1>\u2588\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],"0":[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588</c1><c2>\u2554</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],"1":[" <c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>"," <c1>\u2588\u2588</c1><c2>\u2551</c2>"," <c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2> \u255A\u2550\u255D</c2>"],"2":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>"," <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u255D </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],"3":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>"," <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],"4":["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1> \u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1> \u2588\u2588</c1><c2>\u2551</c2>","<c2> \u255A\u2550\u255D</c2>"],"5":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],"6":[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],"7":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c2> \u255A\u2550\u255D </c2>"],"8":[" <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u255D </c2>"],"9":[" <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2> \u255A\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>"," <c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u2550\u2550\u2550\u255D </c2>"],"!":["<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>"],"?":["<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1> \u2584\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2580\u2580</c1><c2>\u2550\u2550\u255D </c2>","<c1> \u2588\u2588</c1><c2>\u2557 </c2>","<c2> \u255A\u2550\u255D </c2>"],".":[" "," "," "," ","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>"],"+":[" ","<c1> \u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2> \u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550\u255D</c2>","<c2> \u255A\u2550\u255D </c2>"," "],"-":[" "," ","<c1>\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u255D</c2>"," "," "],_:[" "," "," "," ","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D</c2>"],"=":[" ","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D</c2>"," "],"@":[" <c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588</c1><c2>\u2557</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A</c2><c1>\u2588</c1><c2>\u2551</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u255D\u255A\u2550\u2550\u2550\u255D </c2>"],"#":[" <c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557 </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2> \u255A\u2550\u255D \u255A\u2550\u255D </c2>"],$:["<c1>\u2584\u2584\u2588\u2588\u2588\u2584\u2584</c1><c2>\xB7</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550\u2550\u2550\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u2550\u2550\u2550</c2><c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551</c2>","<c2>\u255A\u2550</c2><c1>\u2580\u2580\u2580</c1><c2>\u2550\u2550\u255D</c2>"],"%":["<c1>\u2588\u2588</c1><c2>\u2557</c2><c1> \u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2><c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D </c2>"," <c1>\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D \u255A\u2550\u255D</c2>"],"&":["<c1> \u2588\u2588</c1><c2>\u2557 </c2>","<c1> \u2588\u2588</c1><c2>\u2551 </c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u2550</c2><c1>\u2588\u2588</c1><c2>\u2554\u2550\u255D</c2>","<c1>\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2551 </c2>","<c2>\u255A\u2550\u2550\u2550\u2550\u2550\u255D </c2>"],"(":[" <c1>\u2588\u2588</c1><c2>\u2557</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2551 ","<c1>\u2588\u2588</c1><c2>\u2551 ","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2> \u255A\u2550\u255D</c2>"],")":["<c1>\u2588\u2588</c1><c2>\u2557 </c2>","<c2>\u255A</c2><c1>\u2588\u2588</c1><c2>\u2557</c2>"," <c1>\u2588\u2588</c1><c2>\u2551</c2>"," <c1>\u2588\u2588</c1><c2>\u2551</c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D</c2>","<c2>\u255A\u2550\u255D </c2>"],"/":["<c1> \u2588\u2588</c1><c2>\u2557</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D</c2>","<c1> \u2588\u2588</c1><c2>\u2554\u255D </c2>"," <c1>\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c1>\u2588\u2588</c1><c2>\u2554\u255D </c2>","<c2>\u255A\u2550\u255D </c2>"],":":[" ","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>"," "],";":[" "," ","<c1>\u2588\u2588</c1><c2>\u2557</c2>","<c2>\u255A\u2550\u255D</c2>","<c1>\u2584\u2588</c1><c2>\u2557</c2>","<c1>\u2580</c1><c2>\u2550\u255D</c2>"],",":[" "," "," "," ","<c1>\u2584\u2588</c1><c2>\u2557</c2>","<c1>\u2580</c1><c2>\u2550\u255D</c2>"],"'":["<c1>\u2588</c1><c2>\u2557</c2> ","<c2>\u255A\u255D</c2> "," "," "," "," "],'"':["<c1>\u2588</c1><c2>\u2557</c2><c1>\u2588</c1><c2>\u2557</c2> ","<c2>\u255A\u255D\u255A\u255D</c2> "," "," "," "," "]," ":[" "," "," "," "," "," "]}},i2={name:"shade",version:"0.2.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:8,buffer:["","","","","","","",""],letterspace:["<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>","<c2>\u2591</c2>"],letterspace_size:1,chars:{A:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],B:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],C:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],D:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],E:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],F:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>"," <c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],G:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2> <c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],H:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],I:["<c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c1>\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591</c2>"],J:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>"," <c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>"," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],K:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],L:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],M:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],N:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588</c1><c2>\u2591</c2><c1>\u2588</c1>","<c1>\u2588 \u2588\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2> <c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],O:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],P:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588</c1> ","<c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>"," <c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],Q:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588\u2588\u2588</c1>","<c2>\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],R:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],S:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c1>\u2588</c1> "," <c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2> <c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],T:["<c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591</c2>"],U:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],V:["<c2>\u2591\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1> ","<c2>\u2591</c2> <c1>\u2588</c1> <c2>\u2591</c2>","<c2>\u2591\u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591</c2>"],W:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],X:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c1>\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588</c1>"," <c2>\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],Y:["<c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591</c2>"],Z:["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588</c1> <c2>\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],"0":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u258C\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2> <c1>\u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"1":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588</c1><c2>\u2591\u2591</c2>"," <c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>"," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"2":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2590\u2588\u2588</c1><c2>\u2591</c2>"," <c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],"3":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588\u2588</c1>","<c2>\u2591\u2591</c2> <c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],"4":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1>","<c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c2>\u2591\u2591\u2591</c2> ","<c2>\u2591\u2591\u2591\u2591</c2>"],"5":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>"," <c1>\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"6":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c1>\u2588</c1> ","<c1>\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"7":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u2588</c1> ","<c1>\u2588</c1> <c2>\u2591\u2591</c2>"," <c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"8":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>"," <c1>\u2588\u2588</c1> ","<c1>\u2588 \u2588</c1>"," <c1>\u2588\u2588</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"9":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>"," <c1>\u2588\u2588\u2588</c1>","<c2>\u2591</c2> <c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"!":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591 \u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"?":["<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2590\u2588\u2588</c1><c2>\u2591</c2>"," <c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],".":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"+":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c2>\u2591</c2> <c1>\u2588</c1> ","<c2>\u2591\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"-":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],_:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," "],"=":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c1>\u2588\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],"@":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588</c1><c2>\u2591</c2>","<c1>\u2588 \u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u258C\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1> "," <c1>\u2588\u2588\u2588</c1>"," ","<c2>\u2591\u2591\u2591\u2591</c2>"],"#":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2>","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u258C\u2590</c1> ","<c1>\u2588\u2588\u2588\u2588</c1>"," <c1>\u258C\u2590</c1> ","<c2>\u2591 \u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],$:["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u258C</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1> "," <c1>\u2588\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u258C\u2588</c1>","<c1>\u2588\u2588\u2588</c1> "," <c2>\u2591</c2>"],"%":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1> "," <c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1>","<c1>\u2588</c1> <c2>\u2591</c2> "," <c2>\u2591\u2591\u2591</c2>"],"&":["<c2>\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>","<c1>\u2588\u2588\u2588\u2588\u2588</c1>","<c1>\u2588 \u2588</c1> ","<c1>\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2>","<c2> </c2> ","<c2>\u2591\u2591\u2591\u2591\u2591</c2>"],"(":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c1>\u2588</c1> <c2>\u2591\u2591</c2>","<c1>\u2588</c1><c2>\u2591\u2591\u2591</c2>"," <c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2> <c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591 \u2591</c2>"],")":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2> <c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591\u2591</c2> <c1>\u2588</c1>","<c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>"],"/":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2><c1>\u2588</c1>","<c2>\u2591\u2591</c2><c1>\u2588</c1> ","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c1>\u2588</c1> <c2>\u2591\u2591</c2>"," <c2>\u2591\u2591\u2591</c2>"],":":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],";":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>"],",":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591</c2><c1>\u2588</c1><c2>\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1> <c2>\u2591</c2>"],"'":["<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591</c2>"],'"':["<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591\u2591</c2>","<c2>\u2591 \u2591 \u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2>"]," ":["<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>","<c2>\u2591\u2591\u2591</c2>"]}},o2={name:"slick",version:"0.1.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:6,buffer:["","","","","",""],letterspace:["<c2>\u2571</c2>","<c2>\u2571</c2>","<c2>\u2571</c2>","<c2>\u2571</c2>","<c2>\u2571</c2>","<c2>\u2571</c2>"],letterspace_size:1,chars:{A:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u2570\u256F</c1>"],B:["<c1>\u256D\u2501\u2501\u256E</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2570\u256F\u2570\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],C:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2570\u256F</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],D:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2570\u256E\u256D\u256E\u2503</c1>","<c2>\u2571</c2><c1>\u2503\u2503\u2503\u2503</c1>","<c2>\u2571</c2><c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u256D\u256F\u2570\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],E:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],F:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2503</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2570\u256F</c1><c2>\u2571\u2571\u2571</c2>"],G:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2570\u256F</c1>","<c1>\u2503\u2503\u256D\u2501\u256E</c1>","<c1>\u2503\u2570\u253B\u2501\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],H:["<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u2570\u256F</c1>"],I:["<c1>\u256D\u2501\u2501\u256E</c1>","<c1>\u2570\u252B\u2523\u256F</c1>","<c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u256D\u252B\u2523\u256E</c1>","<c1>\u2570\u2501\u2501\u256F</c1>"],J:["<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u256D\u256E\u2503\u2503</c1>","<c1>\u2503\u2570\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u256F</c1>"],K:["<c1>\u256D\u256E\u256D\u2501\u256E</c1>","<c1>\u2503\u2503\u2503\u256D\u256F</c1>","<c1>\u2503\u2570\u256F\u256F</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503\u2503\u2570\u256E</c1>","<c1>\u2570\u256F\u2570\u2501\u256F</c1>"],L:["<c1>\u256D\u256E</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],M:["<c1>\u256D\u2501\u256E\u256D\u2501\u256E</c1>","<c1>\u2503\u2503\u2570\u256F\u2503\u2503</c1>","<c1>\u2503\u256D\u256E\u256D\u256E\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2570\u256F\u2570\u256F\u2570\u256F</c1>"],N:["<c1>\u256D\u2501\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2503\u2570\u256E\u2503\u2503</c1>","<c1>\u2503\u256D\u256E\u2570\u256F\u2503</c1>","<c1>\u2503\u2503\u2570\u256E\u2503\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503\u2503</c1>","<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u2570\u2501\u256F</c1>"],O:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],P:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2503</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2570\u256F</c1><c2>\u2571\u2571\u2571</c2>"],Q:["<c1>\u256D\u2501\u2501\u2501\u256E</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u2501\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2570\u2501\u256F\u2503\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u2501\u256F</c1>"],R:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u256E\u256D\u256F</c1>","<c1>\u2503\u2503\u2503\u2570\u256E</c1>","<c1>\u2570\u256F\u2570\u2501\u256F</c1>"],S:["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],T:["<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u256E\u256D\u256E\u2503</c1>","<c1>\u2570\u256F\u2503\u2503\u2570\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"],U:["<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],V:["<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2570\u256E\u256D\u256F\u2503</c1>","<c1>\u2570\u256E\u2503\u2503\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2503\u2570\u256F\u2503</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"],W:["<c1>\u256D\u256E\u256D\u256E\u256D\u256E</c1>","<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2570\u256F\u2570\u256F\u2503</c1>","<c1>\u2570\u256E\u256D\u256E\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256F\u2570\u256F</c1><c2>\u2571</c2>"],X:["<c1>\u256D\u2501\u256E\u256D\u2501\u256E</c1>","<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u256D\u256F\u2570\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u256D\u256E\u2570\u256E</c1>","<c1>\u2570\u2501\u256F\u2570\u2501\u256F</c1>"],Y:["<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2570\u256E\u256D\u256F\u2503</c1>","<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"],Z:["<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256E\u2501\u2503</c1>","<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u2501\u2570\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u2501\u256F</c1>"],"0":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"1":["<c2>\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u2503</c1><c2>\u2571</c2>","<c1>\u2570\u256E\u2503</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u2570\u256E</c1>","<c1>\u2570\u2501\u2501\u256F</c1>"],"2":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F\u256D\u256F\u2503</c1>","<c1>\u256D\u2501\u256F\u256D\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"3":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F\u256D\u256F\u2503</c1>","<c1>\u256D\u256E\u2570\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"4":["<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c2>\u2571\u2571\u2571</c2><c1>\u2503\u2503</c1>","<c2>\u2571\u2571\u2571</c2><c1>\u2570\u256F</c1>"],"5":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c1>\u256D\u2501\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"6":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u2501\u256F</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"7":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F\u256D\u256F\u2503</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u256D\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"],"8":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"9":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2503\u2570\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c1>\u256D\u2501\u2501\u256F\u2503</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"!":["<c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1>","<c1>\u2570\u256F</c1>","<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>"],"?":["<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2503\u256D\u2501\u256E\u2503</c1>","<c1>\u2570\u256F\u256D\u256F\u2503</c1>","<c2>\u2571\u2571</c2><c1>\u2503\u256D\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>","<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"],".":["<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>"],"+":["<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u2570\u256E</c1>","<c1>\u2570\u256E\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"],"-":["<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c1>\u256D\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256F</c1>","<c2>\u2571\u2571\u2571\u2571</c2>"],_:["<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c1>\u256D\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256F</c1>"],"=":["<c2>\u2571\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571\u2571</c2>","<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>","<c1>\u256D\u2501\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"@":["<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u2501\u2501\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503\u256D\u2501\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2503\u2570\u256F\u2503\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2570\u2501\u2501\u256F\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u2501\u2501\u256F</c1>"],"#":["<c2>\u2571</c2><c1>\u256D\u2501\u2501\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u256F\u256D\u256E\u2570\u256E</c1>","<c1>\u2570\u256E\u2503\u2503\u256D\u256F</c1>","<c1>\u256D\u256F\u2503\u2503\u2570\u256E</c1>","<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u2501\u2501\u256F</c1><c2>\u2571</c2>"],$:["<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>","<c1>\u256D\u2501\u256F\u2570\u256E</c1>","<c1>\u2503\u2570\u2501\u2501\u256E</c1>","<c1>\u2570\u2501\u2501\u256E\u2503</c1>","<c1>\u2570\u256E\u256D\u2501\u256F</c1>","<c2>\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"],"%":["<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>","<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571</c2>","<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>","<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571</c2><c1>\u2570\u256F</c1>"],"&":["<c2>\u2571</c2><c1>\u256D\u2501\u2501\u256E</c1>","<c2>\u2571</c2><c1>\u2503\u256D\u2501\u256F</c1>","<c1>\u256D\u256F\u2570\u256E</c1><c2>\u2571</c2>","<c1>\u2503\u256D\u256E\u2503</c1><c2>\u2571</c2>","<c1>\u2503\u2570\u256F\u2503\u256E</c1>","<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],"(":["<c2>\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c1>\u2570\u256E\u2570\u256E</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2570\u256E\u2570\u256E</c1>","<c2>\u2571\u2571</c2><c1>\u2570\u2501\u256F</c1>"],")":["<c1>\u256D\u2501\u256E</c1><c2>\u2571\u2571</c2>","<c1>\u2570\u256E\u2570\u256E</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u2570\u256E\u2570\u256E</c1>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571</c2>"],"/":["<c2>\u2571\u2571\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>","<c2>\u2571\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>","<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>","<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571</c2>","<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571\u2571</c2>","<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571\u2571\u2571</c2>"],":":["<c2>\u2571\u2571</c2>","<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>","<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>","<c2>\u2571\u2571</c2>"],";":["<c1>\u256D\u256E</c1>","<c1>\u2503\u2503</c1>","<c1>\u2570\u256F</c1>","<c1>\u256D\u256E</c1>","<c1>\u2570\u252B</c1>","<c2>\u2571</c2><c1>\u256F</c1>"],",":["<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c1>\u256D\u256E</c1>","<c1>\u2570\u252B</c1>","<c2>\u2571</c2><c1>\u256F</c1>"],"'":["<c1>\u256D\u256E</c1>","<c1>\u2570\u256F</c1>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>","<c2>\u2571\u2571</c2>"],'"':["<c1>\u256D\u256E\u256D\u256E</c1>","<c1>\u2570\u256F\u2570\u256F</c1>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571\u2571</c2>"]," ":["<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>","<c2>\u2571\u2571\u2571</c2>"]}},n2={name:"tiny",version:"0.2.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:1,lines:2,buffer:["",""],letterspace:[" "," "],letterspace_size:1,chars:{A:["\u2584\u2580\u2588","\u2588\u2580\u2588"],B:["\u2588\u2584\u2584","\u2588\u2584\u2588"],C:["\u2588\u2580\u2580","\u2588\u2584\u2584"],D:["\u2588\u2580\u2584","\u2588\u2584\u2580"],E:["\u2588\u2580\u2580","\u2588\u2588\u2584"],F:["\u2588\u2580\u2580","\u2588\u2580 "],G:["\u2588\u2580\u2580","\u2588\u2584\u2588"],H:["\u2588 \u2588","\u2588\u2580\u2588"],I:["\u2588","\u2588"],J:[" \u2588","\u2588\u2584\u2588"],K:["\u2588\u2584\u2580","\u2588 \u2588"],L:["\u2588 ","\u2588\u2584\u2584"],M:["\u2588\u2580\u2584\u2580\u2588","\u2588 \u2580 \u2588"],N:["\u2588\u2584 \u2588","\u2588 \u2580\u2588"],O:["\u2588\u2580\u2588","\u2588\u2584\u2588"],P:["\u2588\u2580\u2588","\u2588\u2580\u2580"],Q:["\u2588\u2580\u2588","\u2580\u2580\u2588"],R:["\u2588\u2580\u2588","\u2588\u2580\u2584"],S:["\u2588\u2580\u2580","\u2584\u2584\u2588"],T:["\u2580\u2588\u2580"," \u2588 "],U:["\u2588 \u2588","\u2588\u2584\u2588"],V:["\u2588 \u2588","\u2580\u2584\u2580"],W:["\u2588 \u2588 \u2588","\u2580\u2584\u2580\u2584\u2580"],X:["\u2580\u2584\u2580","\u2588 \u2588"],Y:["\u2588\u2584\u2588"," \u2588 "],Z:["\u2580\u2588","\u2588\u2584"],"0":["\u259E\u2588\u259A","\u259A\u2588\u259E"],"1":["\u2584\u2588"," \u2588"],"2":["\u2580\u2588","\u2588\u2584"],"3":["\u2580\u2580\u2588","\u2584\u2588\u2588"],"4":["\u2588 \u2588","\u2580\u2580\u2588"],"5":["\u2588\u2580","\u2584\u2588"],"6":["\u2588\u2584\u2584","\u2588\u2584\u2588"],"7":["\u2580\u2580\u2588"," \u2588"],"8":["\u2588\u2588\u2588","\u2588\u2584\u2588"],"9":["\u2588\u2580\u2588","\u2580\u2580\u2588"],"!":["\u2588","\u2584"],"?":["\u2580\u2588"," \u2584"],".":[" ","\u2584"],"+":["\u2584\u2588\u2584"," \u2580 "],"-":["\u2584\u2584"," "],_:[" ","\u2584\u2584"],"=":["\u2580\u2580","\u2580\u2580"],"@":["\u259B\u2588\u259C","\u2599\u259F\u2583"],"#":["\u259F\u2584\u2599","\u259C\u2580\u259B"],$:["\u2596\u2588\u2597","\u2598\u2588\u259D"],"%":["\u2580 \u2584\u2580","\u2584\u2580 \u2584"],"&":["\u2584\u2584\u2588","\u2588\u2584\u2588"],"(":["\u2584\u2580","\u2580\u2584"],")":["\u2580\u2584","\u2584\u2580"],"/":[" \u2584\u2580","\u2584\u2580 "],":":["\u2580","\u2584"],";":[" ","\u2584\u2580"],",":[" ","\u2588"],"'":["\u2580"," "],'"':["\u259B \u259C"," "]," ":[" "," "]}},t2={name:"huge",version:"0.2.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:11,buffer:["","","","","","","","","","",""],letterspace:[" "," "," "," "," "," "," "," "," "," "," "],letterspace_size:1,chars:{A:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],B:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],C:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],D:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],E:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],F:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],G:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],H:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],I:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],J:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],K:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],L:[" <c1>\u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],M:[" <c1>\u2584\u2584 \u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],N:[" <c1>\u2584\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580\u2580</c1> "],O:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],P:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],Q:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],R:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],S:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],T:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],U:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],V:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],W:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580 \u2580\u2580</c1> "],X:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580 \u2580</c1> "],Y:[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],Z:[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"0":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"1":[" <c1>\u2584\u2584\u2584\u2584</c1> "," <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580 \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"2":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"3":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"4":[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2580</c1> "],"5":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"6":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"7":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],"8":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"9":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"!":[" <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "],"?":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> "," <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u2588\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580 \u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u2588</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2580\u2580\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580</c1> "," <c1>\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580</c1> "],".":[" "," "," "," "," "," "," "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "],"+":[" "," "," <c1>\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2580\u2580</c1> "," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580</c1> "," "," "],"-":[" "," "," "," "," <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "," "," "," "," "],_:[" "," "," "," "," "," "," "," <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "," "],"=":[" "," "," <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "," "," <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "," "," "],"@":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584\u2584\u2584\u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2588</c1><c2>\u2591\u2591\u2591\u2591</c2><c1>\u2588 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2><c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2584\u2584\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "],"#":[" <c1>\u2584 \u2584</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580 \u2580</c1> "],$:[" <c1>\u2584</c1> "," <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> "," <c1>\u2580</c1> "],"%":[" <c1>\u2584</c1> "," <c1>\u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580</c1> "," <c1>\u2580</c1> "],"&":[" <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580\u2580 \u2580</c1> "],"(":[" <c1>\u2584\u2584\u2584\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u2588\u2580\u2580\u2580</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584\u2584</c1> "," <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "],")":[" <c1>\u2584\u2584\u2584\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>","<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> "," <c1>\u2580\u2580\u2580\u2580\u2580</c1> "],"/":[" <c1>\u2584</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>"," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> "," <c1>\u2580</c1> "],":":[" "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "," "," "],";":[" "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u2580</c1> "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u258C</c1> "," <c1>\u2580</c1> "," "],",":[" "," "," "," "," "," "," "," <c1>\u2584\u2584</c1> ","<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>"," <c1>\u2580\u258C</c1> "," <c1>\u2580</c1> "],"'":[" <c1>\u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>"," <c1>\u2580</c1> "," "," "," "," "," "," "," "],'"':[" <c1>\u2584 \u2584</c1> ","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>","<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>"," <c1>\u2580 \u2580</c1> "," "," "," "," "," "," "," "]," ":[" "," "," "," "," "," "," "," "," "," "," "]}},e2={name:"grid",version:"0.1.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:6,buffer:["","","","","",""],letterspace:["<c2>\u254B</c2>","<c2>\u254B</c2>","<c2>\u254B</c2>","<c2>\u254B</c2>","<c2>\u254B</c2>","<c2>\u254B</c2>"],letterspace_size:1,chars:{A:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],B:["<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>","<c1>\u2503\u2517\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],C:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u251B</c1>","<c1>\u2503\u2517\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],D:["<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1>","<c1>\u250F\u2501\u251B\u2503</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],E:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u2503\u2501\u252B</c1>","<c1>\u2503\u2503\u2501\u252B</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],F:["<c2>\u254B</c2><c1>\u250F\u2501\u2513</c1>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"],G:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2513\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>"],H:["<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>","<c1>\u2503\u2517\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],I:["<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c1>\u250F\u2513</c1>","<c1>\u2503\u2503</c1>","<c1>\u2517\u251B</c1>","<c2>\u254B\u254B</c2>"],J:["<c2>\u254B</c2><c1>\u250F\u2513</c1>","<c2>\u254B</c2><c1>\u2517\u251B</c1>","<c2>\u254B</c2><c1>\u250F\u2513</c1>","<c2>\u254B</c2><c1>\u2503\u2503</c1>","<c1>\u250F\u251B\u2503</c1>","<c1>\u2517\u2501\u251B</c1>"],K:["<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>","<c1>\u2503\u2503\u250F\u2513</c1>","<c1>\u2503\u2517\u251B\u251B</c1>","<c1>\u2503\u250F\u2513\u2513</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],L:["<c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2517\u2513</c1>","<c1>\u2517\u2501\u251B</c1>","<c2>\u254B\u254B\u254B</c2>"],M:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u2517\u253B\u253B\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],N:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2513</c1><c2>\u254B</c2>","<c1>\u2503\u250F\u2513\u2513</c1>","<c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],O:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],P:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2503\u250F\u2501\u251B</c1>","<c1>\u2517\u251B</c1><c2>\u254B\u254B</c2>"],Q:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2513\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2513\u2503</c1>","<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1>"],R:["<c2>\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2513</c1>","<c1>\u2503\u250F\u251B</c1>","<c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B</c2>"],S:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2503\u2501\u2501\u252B</c1>","<c1>\u2523\u2501\u2501\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],T:["<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2503\u2517\u2513</c1>","<c2>\u254B</c2><c1>\u2517\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],U:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],V:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2503\u2517\u251B\u2503</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"],W:["<c2>\u254B\u254B\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513\u250F\u2513</c1>","<c1>\u2503\u2517\u251B\u2517\u251B\u2503</c1>","<c1>\u2517\u2513\u250F\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u251B\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B\u254B\u254B</c2>"],X:["<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2517\u254B\u254B\u251B</c1>","<c1>\u250F\u254B\u254B\u2513</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>"],Y:["<c2>\u254B\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2513</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2513\u250F\u251B</c1>","<c1>\u2517\u2501\u2501\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],Z:["<c2>\u254B\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2523\u2501\u2501\u2503\u2503</c1>","<c1>\u2503\u2503\u2501\u2501\u252B</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],"0":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2503\u2503\u2503\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"1":["<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2503</c1><c2>\u254B</c2>","<c1>\u2517\u2513\u2503</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2517\u2501\u2501\u251B</c1>"],"2":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2517\u251B\u250F\u251B\u2503</c1>","<c1>\u250F\u2501\u251B\u250F\u251B</c1>","<c1>\u2503\u2517\u2501\u253B\u2513</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"3":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2517\u251B\u250F\u251B\u2503</c1>","<c1>\u250F\u2513\u2517\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"4":["<c1>\u250F\u2513</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>","<c1>\u2503\u2503</c1><c2>\u254B</c2><c1>\u2503\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2513\u2503</c1>","<c2>\u254B\u254B\u254B</c2><c1>\u2503\u2503</c1>","<c2>\u254B\u254B\u254B</c2><c1>\u2517\u251B</c1>"],"5":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2501\u251B</c1>","<c1>\u2503\u2517\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u2513\u2503</c1>","<c1>\u250F\u2501\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"6":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2501\u251B</c1>","<c1>\u2503\u2517\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"7":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2517\u251B\u250F\u251B\u2503</c1>","<c2>\u254B\u254B</c2><c1>\u2503\u250F\u251B</c1>","<c2>\u254B\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>","<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"],"8":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"9":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2503\u2517\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2513\u2503</c1>","<c1>\u250F\u2501\u2501\u251B\u2503</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],"!":["<c1>\u250F\u2513</c1>","<c1>\u2503\u2503</c1>","<c1>\u2503\u2503</c1>","<c1>\u2517\u251B</c1>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>"],"?":["<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2503\u250F\u2501\u2513\u2503</c1>","<c1>\u2517\u251B\u250F\u251B\u2503</c1>","<c2>\u254B\u254B</c2><c1>\u2503\u250F\u251B</c1>","<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"],".":["<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>"],"+":["<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"],"-":["<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"],_:["<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u251B</c1>"],"=":["<c2>\u254B\u254B\u254B\u254B\u254B</c2>","<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>","<c1>\u250F\u2501\u2501\u2501\u2513</c1>","<c1>\u2517\u2501\u2501\u2501\u251B</c1>","<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],"@":["<c1>\u250F\u2501\u2501\u2501\u2501\u2513</c1><c2>\u254B</c2>","<c1>\u2503\u250F\u2501\u2501\u2513\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2503\u250F\u2501\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2503\u2517\u251B\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u2503\u2517\u2501\u2501\u251B\u2517\u2513</c1>","<c1>\u2517\u2501\u2501\u2501\u2501\u2501\u251B</c1>"],"#":["<c2>\u254B</c2><c1>\u250F\u2501\u2501\u2501\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u250F\u2501\u2513\u2517\u2513</c1>","<c1>\u2517\u2513\u2503\u2503\u2503\u250F\u251B</c1>","<c1>\u250F\u251B\u2503\u2503\u2503\u2517\u2513</c1>","<c1>\u2517\u2513\u2517\u2501\u251B\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u2501\u2501\u2501\u251B</c1><c2>\u254B</c2>"],$:["<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c1>\u250F\u251B\u2517\u2513</c1>","<c1>\u2503\u2501\u2501\u252B</c1>","<c1>\u2523\u2501\u2501\u2503</c1>","<c1>\u2517\u2513\u250F\u251B</c1>","<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"],"%":["<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>","<c1>\u2517\u251B</c1><c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>","<c2>\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B</c2>","<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>","<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B</c2><c1>\u2517\u251B</c1>"],"&":["<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>","<c2>\u254B\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>","<c1>\u250F\u2501\u251B\u2517\u2513</c1>","<c1>\u2503\u250F\u2513\u250F\u251B</c1>","<c1>\u2503\u2517\u251B\u2503</c1><c2>\u254B</c2>","<c1>\u2517\u2501\u2501\u251B</c1><c2>\u254B</c2>"],"(":["<c2>\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>","<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>","<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>","<c1>\u2517\u2513\u2517\u2513</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u2517\u2513\u2517\u2513</c1>","<c2>\u254B\u254B</c2><c1>\u2517\u2501\u251B</c1>"],")":["<c1>\u250F\u2501\u2513</c1><c2>\u254B\u254B</c2>","<c1>\u2517\u2513\u2517\u2513</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u2517\u2513\u2517\u2513</c1>","<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>","<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>","<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B</c2>"],"/":["<c2>\u254B\u254B\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>","<c2>\u254B\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>","<c2>\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>","<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B</c2>","<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B\u254B</c2>","<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B\u254B\u254B</c2>"],":":["<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c2>\u254B\u254B</c2>"],";":["<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u252B</c1>"],",":["<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c1>\u250F\u2513</c1>","<c1>\u2517\u252B</c1>"],"'":["<c1>\u250F\u2513</c1>","<c1>\u2517\u251B</c1>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>"],'"':["<c1>\u250F\u2513\u250F\u2513</c1>","<c1>\u2517\u251B\u2517\u251B</c1>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>","<c2>\u254B\u254B\u254B\u254B</c2>"]," ":["<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>","<c2>\u254B\u254B</c2>"]}},$1={name:"pallet",version:"0.1.0",homepage:"https://github.com/dominikwilkowski/cfonts",colors:2,lines:6,buffer:["","","","","",""],letterspace:["<c2>\u2500</c2>","<c2>\u2500</c2>","<c2>\u2500</c2>","<c2>\u2500</c2>","<c2>\u2500</c2>","<c2>\u2500</c2>"],letterspace_size:1,chars:{A:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>"],B:["<c1>\u2554\u2550\u2550\u2557</c1><c2>\u2500</c2>","<c1>\u2551\u2554\u2557\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u255A\u255D\u255A\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],C:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],D:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u255A\u2557\u2554\u2557\u2551</c1>","<c2>\u2500</c2><c1>\u2551\u2551\u2551\u2551</c1>","<c2>\u2500</c2><c1>\u2551\u2551\u2551\u2551</c1>","<c1>\u2554\u255D\u255A\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],E:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],F:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u255A\u255D</c1><c2>\u2500\u2500\u2500</c2>"],G:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>","<c1>\u2551\u2551\u2554\u2550\u2557</c1>","<c1>\u2551\u255A\u2569\u2550\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],H:["<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>"],I:["<c1>\u2554\u2550\u2550\u2557</c1>","<c1>\u255A\u2563\u2560\u255D</c1>","<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2554\u2563\u2560\u2557</c1>","<c1>\u255A\u2550\u2550\u255D</c1>"],J:["<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2554\u2557\u2551\u2551</c1>","<c1>\u2551\u255A\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u255D</c1>"],K:["<c1>\u2554\u2557\u2554\u2550\u2557</c1>","<c1>\u2551\u2551\u2551\u2554\u255D</c1>","<c1>\u2551\u255A\u255D\u255D</c1><c2>\u2500</c2>","<c1>\u2551\u2554\u2557\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551\u2551\u255A\u2557</c1>","<c1>\u255A\u255D\u255A\u2550\u255D</c1>"],L:["<c1>\u2554\u2557</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],M:["<c1>\u2554\u2550\u2557\u2554\u2550\u2557</c1>","<c1>\u2551\u2551\u255A\u255D\u2551\u2551</c1>","<c1>\u2551\u2554\u2557\u2554\u2557\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u255A\u255D\u255A\u255D\u255A\u255D</c1>"],N:["<c1>\u2554\u2550\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u2551\u255A\u2557\u2551\u2551</c1>","<c1>\u2551\u2554\u2557\u255A\u255D\u2551</c1>","<c1>\u2551\u2551\u255A\u2557\u2551\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551\u2551</c1>","<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u2550\u255D</c1>"],O:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],P:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u255A\u255D</c1><c2>\u2500\u2500\u2500</c2>"],Q:["<c1>\u2554\u2550\u2550\u2550\u2557</c1><c2>\u2500</c2>","<c1>\u2551\u2554\u2550\u2557\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u255A\u2550\u255D\u2560\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u2550\u255D</c1>"],R:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2557\u2554\u255D</c1>","<c1>\u2551\u2551\u2551\u255A\u2557</c1>","<c1>\u255A\u255D\u255A\u2550\u255D</c1>"],S:["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],T:["<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2557\u2554\u2557\u2551</c1>","<c1>\u255A\u255D\u2551\u2551\u255A\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"],U:["<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],V:["<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u255A\u2557\u2554\u255D\u2551</c1>","<c1>\u255A\u2557\u2551\u2551\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u2551\u255A\u255D\u2551</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"],W:["<c1>\u2554\u2557\u2554\u2557\u2554\u2557</c1>","<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u255A\u255D\u255A\u255D\u2551</c1>","<c1>\u255A\u2557\u2554\u2557\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u255D\u255A\u255D</c1><c2>\u2500</c2>"],X:["<c1>\u2554\u2550\u2557\u2554\u2550\u2557</c1>","<c1>\u255A\u2557\u255A\u255D\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2554\u255D\u255A\u2557</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u2554\u2557\u255A\u2557</c1>","<c1>\u255A\u2550\u255D\u255A\u2550\u255D</c1>"],Y:["<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u255A\u2557\u2554\u255D\u2551</c1>","<c1>\u255A\u2557\u255A\u255D\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"],Z:["<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2557\u2550\u2551</c1>","<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u2550\u255A\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u2550\u255D</c1>"],"0":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u2551\u2551\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"1":["<c2>\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u2551</c1><c2>\u2500</c2>","<c1>\u255A\u2557\u2551</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u255A\u2557</c1>","<c1>\u255A\u2550\u2550\u255D</c1>"],"2":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D\u2554\u255D\u2551</c1>","<c1>\u2554\u2550\u255D\u2554\u255D</c1>","<c1>\u2551\u2551\u255A\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"3":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D\u2554\u255D\u2551</c1>","<c1>\u2554\u2557\u255A\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"4":["<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c2>\u2500\u2500\u2500</c2><c1>\u2551\u2551</c1>","<c2>\u2500\u2500\u2500</c2><c1>\u255A\u255D</c1>"],"5":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c1>\u2554\u2550\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"6":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2550\u255D</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"7":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D\u2554\u255D\u2551</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2554\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"],"8":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"9":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c1>\u2554\u2550\u2550\u255D\u2551</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],"!":["<c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1>","<c1>\u2551\u2551</c1>","<c1>\u255A\u255D</c1>","<c1>\u2554\u2557</c1>","<c1>\u255A\u255D</c1>"],"?":["<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u255A\u255D\u2554\u255D\u2551</c1>","<c2>\u2500\u2500</c2><c1>\u2551\u2554\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"],".":["<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c1>\u2554\u2557</c1>","<c1>\u255A\u255D</c1>"],"+":["<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u255A\u2557</c1>","<c1>\u255A\u2557\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"],"-":["<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c1>\u2554\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u255D</c1>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>"],_:["<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c1>\u2554\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u255D</c1>"],"=":["<c2>\u2500\u2500\u2500\u2500\u2500</c2>","<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>","<c1>\u2554\u2550\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u255D</c1>","<c2>\u2500\u2500\u2500\u2500\u2500</c2>"],"@":["<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1><c2>\u2500</c2>","<c1>\u2551\u2554\u2550\u2550\u2557\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551\u2554\u2550\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u2551\u255A\u255D\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2551\u255A\u2550\u2550\u255D\u2560\u2557</c1>","<c1>\u255A\u2550\u2550\u2550\u2550\u2550\u255D</c1>"],"#":["<c2>\u2500</c2><c1>\u2554\u2569\u2569\u2569\u2557</c1><c2>\u2500</c2>","<c1>\u2554\u255D\u2554\u2550\u2557\u255A\u2557</c1>","<c1>\u255A\u2557\u2560\u2550\u2563\u2554\u255D</c1>","<c1>\u2554\u255D\u2560\u2550\u2563\u255A\u2557</c1>","<c1>\u255A\u2557\u255A\u2550\u255D\u2554\u255D</c1>","<c2>\u2500</c2><c1>\u255A\u2566\u2566\u2566\u255D</c1><c2>\u2500</c2>"],$:["<c1>\u2554\u255D\u2569\u255A\u2557</c1>","<c1>\u2551\u2554\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u2550\u2557</c1>","<c1>\u255A\u2550\u2550\u2557\u2551</c1>","<c1>\u2551\u255A\u2550\u255D\u2551</c1>","<c1>\u255A\u2557\u2566\u2554\u255D</c1>"],"%":["<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>","<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500</c2>","<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>","<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500</c2><c1>\u255A\u255D</c1>"],"&":["<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>","<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>","<c1>\u2554\u2550\u255D\u255A\u2557</c1>","<c1>\u2551\u2554\u2557\u2554\u255D</c1>","<c1>\u2551\u255A\u255D\u2551</c1><c2>\u2500</c2>","<c1>\u255A\u2550\u2550\u255D</c1><c2>\u2500</c2>"],"(":["<c2>\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c1>\u255A\u2557\u255A\u2557</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u255A\u2557\u255A\u2557</c1>","<c2>\u2500\u2500</c2><c1>\u255A\u2550\u255D</c1>"],")":["<c1>\u2554\u2550\u2557</c1><c2>\u2500\u2500</c2>","<c1>\u255A\u2557\u255A\u2557</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u255A\u2557\u255A\u2557</c1>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500</c2>"],"/":["<c2>\u2500\u2500\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>","<c2>\u2500\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>","<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>","<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500</c2>","<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500\u2500</c2>","<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500\u2500\u2500</c2>"],":":["<c2>\u2500\u2500</c2>","<c1>\u2554\u2557</c1>","<c1>\u255A\u255D</c1>","<c1>\u2554\u2557</c1>","<c1>\u255A\u255D</c1>","<c2>\u2500\u2500</c2>"],";":["<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c1>\u2554\u2557</c1>","<c1>\u255A\u2563</c1>","<c2>\u2500</c2><c1>\u255D</c1>"],",":["<c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1>","<c1>\u255A\u255D</c1>","<c1>\u2554\u2557</c1>","<c1>\u255A\u2563</c1>","<c2>\u2500</c2><c1>\u255D</c1>"],"'":["<c1>\u2554\u2557</c1>","<c1>\u2551\u2551</c1>","<c1>\u255A\u255D</c1>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>","<c2>\u2500\u2500</c2>"],'"':["<c1>\u2554\u2557\u2554\u2557</c1>","<c1>\u2551\u2551\u2551\u2551</c1>","<c1>\u255A\u255D\u255A\u255D</c1>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500\u2500</c2>"]," ":["<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>","<c2>\u2500\u2500\u2500</c2>"]}},P7={tiny:n2,block:r2,shade:i2,slick:o2,huge:t2,grid:e2,pallet:$1},BJ={};function J1($){let J=[],Z=0,Q=/<c(\d+)>(.*?)<\/c\d+>/g,U=0,G;while((G=Q.exec($))!==null){if(G.index>U){let K=$.slice(U,G.index);if(K)J.push({text:K,colorIndex:0})}let j=parseInt(G[1])-1,q=G[2];J.push({text:q,colorIndex:Math.max(0,j)}),U=G.index+G[0].length}if(U<$.length){let j=$.slice(U);if(j)J.push({text:j,colorIndex:0})}return J}function tJ($){if(!BJ[$]){let J=P7[$],Z={};for(let[Q,U]of Object.entries(J.chars))Z[Q]=U.map((G)=>J1(G));BJ[$]={...J,colors:J.colors||1,chars:Z}}return BJ[$]}function b8({text:$,font:J="tiny"}){let Z=tJ(J);if(!Z)return console.warn(`Font '${J}' not found`),{width:0,height:0};let Q=0;for(let U=0;U<$.length;U++){let G=$[U].toUpperCase(),j=Z.chars[G];if(!j){let K=Z.chars[" "];if(K&&K[0]){let _=0;for(let D of K[0])_+=D.text.length;Q+=_}else Q+=1;continue}let q=0;if(j[0])for(let K of j[0])q+=K.text.length;if(Q+=q,U<$.length-1)Q+=Z.letterspace_size}return{width:Q,height:Z.lines}}function q6($,J="tiny"){let Z=tJ(J);if(!Z)return[0];let Q=[0],U=0;for(let G=0;G<$.length;G++){let j=$[G].toUpperCase(),q=Z.chars[j],K=0;if(!q){let _=Z.chars[" "];if(_&&_[0])for(let D of _[0])K+=D.text.length;else K=1}else if(q[0])for(let _ of q[0])K+=_.text.length;if(U+=K,G<$.length-1)U+=Z.letterspace_size;Q.push(U)}return Q}function W$($,J,Z="tiny"){let Q=q6(J,Z);if($<0)return 0;for(let U=0;U<Q.length-1;U++){let G=Q[U],j=Q[U+1];if($>=G&&$<j){let q=G+(j-G)/2;return $<q?U:U+1}}if(Q.length>0&&$>=Q[Q.length-1])return J.length;return 0}function C$($,{text:J,x:Z=0,y:Q=0,color:U=[l.fromInts(255,255,255,255)],backgroundColor:G=l.fromInts(0,0,0,255),font:j="tiny"}){let{width:q,height:K}=$,_=tJ(j);if(!_)return console.warn(`Font '${j}' not found`),{width:0,height:0};let D=Array.isArray(U)?U:[U];if(Q<0||Q+_.lines>K)return{width:0,height:_.lines};let z=Z,H=Z;for(let O=0;O<J.length;O++){let X=J[O].toUpperCase(),P=_.chars[X];if(!P){let W=_.chars[" "];if(W&&W[0]){let F=0;for(let B of W[0])F+=B.text.length;z+=F}else z+=1;continue}let N=0;if(P[0])for(let W of P[0])N+=W.text.length;if(z>=q)break;if(z+N<0){z+=N+_.letterspace_size;continue}for(let W=0;W<_.lines&&W<P.length;W++){let F=P[W],B=Q+W;if(B>=0&&B<K){let I=z;for(let w of F){let x=D[w.colorIndex]||D[0];for(let C=0;C<w.text.length;C++){let T=I+C;if(T>=0&&T<q){let y=w.text[C];if(y!==" ")$.setCellWithAlphaBlending(T,B,y,E(x),E(G))}}I+=w.text.length}}}if(z+=N,O<J.length-1)z+=_.letterspace_size}return{width:z-H,height:_.lines}}var G0={NONE:0,BOLD:1,DIM:2,ITALIC:4,UNDERLINE:8,BLINK:16,INVERSE:32,HIDDEN:64,STRIKETHROUGH:128},eJ=8,W7=255;function $Z($){return $&W7}var N7;(($)=>{$[$.topLeft=0]="topLeft",$[$.topRight=1]="topRight",$[$.bottomLeft=2]="bottomLeft",$[$.bottomRight=3]="bottomRight"})(N7||={});var F7;(($)=>{$[$.FG=1]="FG",$[$.BG=2]="BG",$[$.Both=3]="Both"})(F7||={});function h0({bold:$=!1,italic:J=!1,underline:Z=!1,dim:Q=!1,blink:U=!1,inverse:G=!1,hidden:j=!1,strikethrough:q=!1}={}){let K=G0.NONE;if($)K|=G0.BOLD;if(J)K|=G0.ITALIC;if(Z)K|=G0.UNDERLINE;if(Q)K|=G0.DIM;if(U)K|=G0.BLINK;if(G)K|=G0.INVERSE;if(j)K|=G0.HIDDEN;if(q)K|=G0.STRIKETHROUGH;return K}var Z1=255,QQ=8,UQ=16777215;function JZ($,J){let Z=$&Z1,Q=(J&UQ)<<QQ;return Z|Q}function ZZ($){return $>>>QQ&UQ}function QZ($,J=10){function Z(U,G="",j="",q=!0,K=0){if(K>=J)return[`${G}${U.id} ... (max depth reached)`];let _=[],D=U.getChildren();if(_.push(`${G}${U.id}`),D.length>0){let z=D.length-1;D.forEach((H,O)=>{let X=O===z,P=X?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ",N=j+(q?" ":"\u2502 "),W=Z(H,N+P,N,X,K+1);_.push(...W)})}return _}let Q=Z($);console.log(`Renderable Tree:
4
+ `+Q.join(`
5
+ `))}var GQ=Symbol.for("@opentui/core/StyledText");function M7($){return $&&$[GQ]}class u0{[GQ]=!0;chunks;constructor($){this.chunks=$}}function f8($){return new u0([{__isChunk:!0,text:$}])}function e($,J){if(typeof $==="object"&&"__isChunk"in $){let Z=$,Q=J.fg?E(J.fg):Z.fg,U=J.bg?E(J.bg):Z.bg,G=h0(J),j=Z.attributes?Z.attributes|G:G;return{__isChunk:!0,text:Z.text,fg:Q,bg:U,attributes:j,link:Z.link}}else{let Z=String($),Q=J.fg?E(J.fg):void 0,U=J.bg?E(J.bg):void 0,G=h0(J);return{__isChunk:!0,text:Z,fg:Q,bg:U,attributes:G}}}var UZ=($)=>e($,{fg:"black"}),GZ=($)=>e($,{fg:"red"}),jZ=($)=>e($,{fg:"green"}),qZ=($)=>e($,{fg:"yellow"}),KZ=($)=>e($,{fg:"blue"}),_Z=($)=>e($,{fg:"magenta"}),DZ=($)=>e($,{fg:"cyan"}),YZ=($)=>e($,{fg:"white"}),VZ=($)=>e($,{fg:"brightBlack"}),zZ=($)=>e($,{fg:"brightRed"}),HZ=($)=>e($,{fg:"brightGreen"}),XZ=($)=>e($,{fg:"brightYellow"}),OZ=($)=>e($,{fg:"brightBlue"}),PZ=($)=>e($,{fg:"brightMagenta"}),WZ=($)=>e($,{fg:"brightCyan"}),NZ=($)=>e($,{fg:"brightWhite"}),FZ=($)=>e($,{bg:"black"}),MZ=($)=>e($,{bg:"red"}),AZ=($)=>e($,{bg:"green"}),EZ=($)=>e($,{bg:"yellow"}),BZ=($)=>e($,{bg:"blue"}),LZ=($)=>e($,{bg:"magenta"}),IZ=($)=>e($,{bg:"cyan"}),CZ=($)=>e($,{bg:"white"}),SZ=($)=>e($,{bold:!0}),TZ=($)=>e($,{italic:!0}),yZ=($)=>e($,{underline:!0}),RZ=($)=>e($,{strikethrough:!0}),wZ=($)=>e($,{dim:!0}),kZ=($)=>e($,{reverse:!0}),vZ=($)=>e($,{blink:!0}),A7=($)=>(J)=>e(J,{fg:$}),xZ=($)=>(J)=>e(J,{bg:$}),fZ=($)=>(J)=>{return{...typeof J==="object"&&"__isChunk"in J?J:{__isChunk:!0,text:String(J)},link:{url:$}}};function gZ($,...J){let Z=[];for(let Q=0;Q<$.length;Q++){let U=$[Q];if(U)Z.push({__isChunk:!0,text:U,attributes:0});let G=J[Q];if(typeof G==="object"&&"__isChunk"in G)Z.push(G);else if(G!==void 0){let j=String(G);Z.push({__isChunk:!0,text:j,attributes:0})}}return new u0(Z)}function jQ($,J,Z=[]){let Q=[];if($.type==="text"){let U=Z.length>0?Z:["default"],G=J.mergeStyles(...U);Q.push({__isChunk:!0,text:$.value,fg:G.fg,bg:G.bg,attributes:G.attributes})}else if($.type==="element"){let U=[...Z];if($.properties?.className){let G=$.properties.className.split(" ");for(let j of G)U.push(j)}for(let G of $.children)Q.push(...jQ(G,J,U))}return Q}function bZ($,J){let Z=jQ($,J);return new u0(Z)}class m8{now(){if(!globalThis.performance||typeof globalThis.performance.now!=="function")throw Error("SystemClock requires globalThis.performance.now()");return globalThis.performance.now()}setTimeout($,J){return globalThis.setTimeout($,J)}clearTimeout($){globalThis.clearTimeout($)}setInterval($,J){return globalThis.setInterval($,J)}clearInterval($){globalThis.clearInterval($)}}var pJ={27:"escape",9:"tab",13:"return",127:"backspace",57344:"escape",57345:"return",57346:"tab",57347:"backspace",57348:"insert",57349:"delete",57350:"left",57351:"right",57352:"up",57353:"down",57354:"pageup",57355:"pagedown",57356:"home",57357:"end",57358:"capslock",57359:"scrolllock",57360:"numlock",57361:"printscreen",57362:"pause",57363:"menu",57364:"f1",57365:"f2",57366:"f3",57367:"f4",57368:"f5",57369:"f6",57370:"f7",57371:"f8",57372:"f9",57373:"f10",57374:"f11",57375:"f12",57376:"f13",57377:"f14",57378:"f15",57379:"f16",57380:"f17",57381:"f18",57382:"f19",57383:"f20",57384:"f21",57385:"f22",57386:"f23",57387:"f24",57388:"f25",57389:"f26",57390:"f27",57391:"f28",57392:"f29",57393:"f30",57394:"f31",57395:"f32",57396:"f33",57397:"f34",57398:"f35",57399:"kp0",57400:"kp1",57401:"kp2",57402:"kp3",57403:"kp4",57404:"kp5",57405:"kp6",57406:"kp7",57407:"kp8",57408:"kp9",57409:"kpdecimal",57410:"kpdivide",57411:"kpmultiply",57412:"kpminus",57413:"kpplus",57414:"kpenter",57415:"kpequal",57416:"kpseparator",57417:"kpleft",57418:"kpright",57419:"kpup",57420:"kpdown",57421:"kppageup",57422:"kppagedown",57423:"kphome",57424:"kpend",57425:"kpinsert",57426:"kpdelete",57427:"clear",57428:"mediaplay",57429:"mediapause",57430:"mediaplaypause",57431:"mediareverse",57432:"mediastop",57433:"mediafastforward",57434:"mediarewind",57435:"medianext",57436:"mediaprev",57437:"mediarecord",57438:"volumedown",57439:"volumeup",57440:"mute",57441:"leftshift",57442:"leftctrl",57443:"leftalt",57444:"leftsuper",57445:"lefthyper",57446:"leftmeta",57447:"rightshift",57448:"rightctrl",57449:"rightalt",57450:"rightsuper",57451:"righthyper",57452:"rightmeta",57453:"iso_level3_shift",57454:"iso_level5_shift"},U1=[...new Set(Object.values(pJ))];function qQ($){return{shift:!!($&1),alt:!!($&2),ctrl:!!($&4),super:!!($&8),hyper:!!($&16),meta:!!($&32),capsLock:!!($&64),numLock:!!($&128)}}var G1={A:"up",B:"down",C:"right",D:"left",H:"home",F:"end",E:"clear",P:"f1",Q:"f2",S:"f4"},j1={"1":"home","2":"insert","3":"delete","4":"end","5":"pageup","6":"pagedown","7":"home","8":"end","11":"f1","12":"f2","13":"f3","14":"f4","15":"f5","17":"f6","18":"f7","19":"f8","20":"f9","21":"f10","23":"f11","24":"f12","29":"menu","57427":"clear"};function q1($){let Z=/^\x1b\[(\d+);(\d+):(\d+)([A-Z~])$/.exec($);if(!Z)return null;let Q=Z[1],U=Z[2],G=Z[3],j=Z[4],q;if(j==="~")q=j1[Q];else{if(Q!=="1")return null;q=G1[j]}if(!q)return null;let K={name:q,ctrl:!1,meta:!1,shift:!1,option:!1,number:!1,sequence:$,raw:$,eventType:"press",source:"kitty",super:!1,hyper:!1,capsLock:!1,numLock:!1};if(U){let _=parseInt(U,10);if(!isNaN(_)&&_>1){let D=qQ(_-1);K.shift=D.shift,K.ctrl=D.ctrl,K.meta=D.alt||D.meta,K.option=D.alt,K.super=D.super,K.hyper=D.hyper,K.capsLock=D.capsLock,K.numLock=D.numLock}}if(G==="1"||!G)K.eventType="press";else if(G==="2")K.eventType="press",K.repeated=!0;else if(G==="3")K.eventType="release";return K}function K1($){let J=q1($);if(J)return J;let Q=/^\x1b\[([^\x1b]+)u$/.exec($);if(!Q)return null;let G=Q[1].split(";");if(G.length<1)return null;let j={name:"",ctrl:!1,meta:!1,shift:!1,option:!1,number:!1,sequence:$,raw:$,eventType:"press",source:"kitty",super:!1,hyper:!1,capsLock:!1,numLock:!1},q="",K=G[0]?.split(":")||[],_=K[0];if(!_)return null;let D=parseInt(_,10);if(isNaN(D))return null;let z,H;if(K[1]){let X=parseInt(K[1],10);if(!isNaN(X)&&X>0&&X<=1114111)z=X}if(K[2]){let X=parseInt(K[2],10);if(!isNaN(X)&&X>0&&X<=1114111)H=X}let O=pJ[D];if(O)j.name=O,j.code=`[${D}u`;else if(D===0)j.name="";else if(D>0&&D<=1114111){let X=String.fromCodePoint(D);if(j.name=X,H)j.baseCode=H}else return null;if(G[1]){let X=G[1].split(":"),P=X[0],N=X[1];if(P){let W=parseInt(P,10);if(!isNaN(W)&&W>1){let F=qQ(W-1);j.shift=F.shift,j.ctrl=F.ctrl,j.meta=F.alt||F.meta,j.option=F.alt,j.super=F.super,j.hyper=F.hyper,j.capsLock=F.capsLock,j.numLock=F.numLock}}if(N==="1"||!N)j.eventType="press";else if(N==="2")j.eventType="press",j.repeated=!0;else if(N==="3")j.eventType="release";else j.eventType="press"}if(G[2]){let X=G[2].split(":");for(let P of X){let N=parseInt(P,10);if(!isNaN(N)&&N>0&&N<=1114111)q+=String.fromCodePoint(N)}}if(q===""){if(j.name.length>0&&!pJ[D])if(j.shift&&z)q=String.fromCodePoint(z);else if(j.shift&&j.name.length===1)q=j.name.toLocaleUpperCase();else q=j.name}if(j.name===" "&&j.shift&&!j.ctrl&&!j.meta)q=" ";if(q){if(D===0)j.name=q;j.sequence=q}if(D===0&&q==="")return null;return j}var _1=/^(?:\x1b)([a-zA-Z0-9])$/,D1=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,KQ={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[29~":"menu","[57427~":"clear","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home","[P":"f1","[Q":"f2","[S":"f4",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear",f:"right",b:"left",p:"up",n:"down","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},E7=[...Object.values(KQ),"backspace"],mZ=[...new Set(["return","linefeed","tab","escape","space",...E7,...U1])],Y1=($)=>{return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes($)},V1=($)=>{return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes($)},z5=($)=>{if($===0)return"space";if($>=1&&$<=26)return String.fromCharCode($+97-1);if($>=28&&$<=31)return String.fromCharCode($+64);return},z1=/^\x1b\[27;(\d+);(\d+)~$/,a$=($="",J={})=>{let Z;if(Q1.isBuffer($))if($[0]>127&&$[1]===void 0)$[0]-=128,$="\x1B"+String($);else $=String($);else if($!==void 0&&typeof $!=="string")$=String($);else if(!$)$="";if(/^\x1b\[<\d+;\d+;\d+[Mm]$/.test($))return null;if(/^\[<\d+;\d+;\d+[Mm]$/.test($))return null;if(/^\x1b\[<[\d;]*$/.test($))return null;if(/^\[<[\d;]*$/.test($))return null;if($.startsWith("\x1B[M")&&$.length>=6)return null;if(/^\x1b\[\d+;\d+;\d+t$/.test($))return null;if(/^\x1b\[\d+;\d+R$/.test($))return null;if(/^\x1b\[\?[\d;]+c$/.test($))return null;if(/^\x1b\[\?[\d;]+\$y$/.test($))return null;if($==="\x1B[I"||$==="\x1B[O")return null;if(/^\x1b\][\d;].*(\x1b\\|\x07)$/.test($))return null;if($==="\x1B[200~"||$==="\x1B[201~")return null;let Q={name:"",ctrl:!1,meta:!1,shift:!1,option:!1,number:!1,sequence:$,raw:$,eventType:"press",source:"raw"};Q.sequence=Q.sequence||$||Q.name;let U=$.length===1?z5($.charCodeAt(0)):void 0,G=$.length===2&&$[0]==="\x1B"?z5($.charCodeAt(1)):void 0;if(J.useKittyKeyboard){let q=K1($);if(q)return q}let j=z1.exec($);if(j){let q=parseInt(j[1],10)-1,K=parseInt(j[2],10);if(Q.ctrl=!!(q&4),Q.meta=!!(q&2),Q.shift=!!(q&1),Q.option=!!(q&2),Q.super=!!(q&8),Q.hyper=!!(q&16),K===13)Q.name="return";else if(K===27)Q.name="escape";else if(K===9)Q.name="tab";else if(K===32)Q.name="space";else if(K===127||K===8)Q.name="backspace";else{let _=String.fromCharCode(K);if(Q.name=_,Q.sequence=_,K>=48&&K<=57)Q.number=!0}return Q}if($==="\r"||$==="\x1B\r")Q.name="return",Q.meta=$.length===2;else if($===`
6
+ `||$===`\x1B
7
+ `)Q.name="linefeed",Q.meta=$.length===2;else if($==="\t")Q.name="tab";else if($==="\b"||$==="\x1B\b"||$==="\x7F"||$==="\x1B\x7F")Q.name="backspace",Q.meta=$.charAt(0)==="\x1B";else if($==="\x1B"||$==="\x1B\x1B")Q.name="escape",Q.meta=$.length===2;else if($===" "||$==="\x1B ")Q.name="space",Q.meta=$.length===2;else if(U)Q.name=U,Q.ctrl=!0;else if($.length===1&&$>="0"&&$<="9")Q.name=$,Q.number=!0;else if($.length===1&&$>="a"&&$<="z")Q.name=$;else if($.length===1&&$>="A"&&$<="Z")Q.name=$.toLowerCase(),Q.shift=!0;else if($.length===1||$.length===2&&$.codePointAt(0)>65535)Q.name=$;else if(Z=_1.exec($)){Q.meta=!0;let q=Z[1],K=/^[A-Z]$/.test(q);if(q==="F")Q.name="right";else if(q==="B")Q.name="left";else if(K)Q.shift=!0,Q.name=q;else Q.name=q}else if(G)Q.meta=!0,Q.ctrl=!0,Q.name=G;else if(Z=D1.exec($)){let q=[...$];if(q[0]==="\x1B"&&q[1]==="\x1B")Q.option=!0,Q.meta=!0;let K=[Z[1],Z[2],Z[4],Z[6]].filter(Boolean).join(""),_=parseInt(Z[3]||Z[5]||"1",10)-1;Q.ctrl=Q.ctrl||!!(_&4),Q.meta=Q.meta||!!(_&2),Q.shift=Q.shift||!!(_&1),Q.option=Q.option||!!(_&2),Q.super=!!(_&8),Q.hyper=!!(_&16),Q.code=K;let D=KQ[K];if(D)Q.name=D,Q.shift=Y1(K)||Q.shift,Q.ctrl=V1(K)||Q.ctrl;else Q.name="",Q.code=void 0}else if($==="\x1B[3~")Q.name="delete",Q.meta=!1,Q.code="[3~";return Q};class K6{tick($){return 1}reset(){}}class B7{opts;lastTickTime=0;velocityHistory=[];historySize=3;streakTimeout=150;minTickInterval=6;constructor($={}){this.opts=$}tick($=Date.now()){let J=this.opts.A??0.8,Z=this.opts.tau??3,Q=this.opts.maxMultiplier??6,U=this.lastTickTime?$-this.lastTickTime:1/0;if(U===1/0||U>this.streakTimeout)return this.lastTickTime=$,this.velocityHistory=[],1;if(U<this.minTickInterval)return 1;if(this.lastTickTime=$,this.velocityHistory.push(U),this.velocityHistory.length>this.historySize)this.velocityHistory.shift();let K=100/(this.velocityHistory.reduce((D,z)=>D+z,0)/this.velocityHistory.length)/Z,_=1+J*(Math.exp(K)-1);return Math.min(_,Q)}reset(){this.lastTickTime=0,this.velocityHistory=[]}}function s$($){if($==null)return J0.Auto;switch($.toLowerCase()){case"auto":return J0.Auto;case"flex-start":return J0.FlexStart;case"center":return J0.Center;case"flex-end":return J0.FlexEnd;case"stretch":return J0.Stretch;case"baseline":return J0.Baseline;case"space-between":return J0.SpaceBetween;case"space-around":return J0.SpaceAround;case"space-evenly":return J0.SpaceEvenly;default:return J0.Auto}}function l$($){if($==null)return J0.Stretch;switch($.toLowerCase()){case"auto":return J0.Auto;case"flex-start":return J0.FlexStart;case"center":return J0.Center;case"flex-end":return J0.FlexEnd;case"stretch":return J0.Stretch;case"baseline":return J0.Baseline;case"space-between":return J0.SpaceBetween;case"space-around":return J0.SpaceAround;case"space-evenly":return J0.SpaceEvenly;default:return J0.Stretch}}function hZ($){if($==null)return l8.BorderBox;switch($.toLowerCase()){case"border-box":return l8.BorderBox;case"content-box":return l8.ContentBox;default:return l8.BorderBox}}function pZ($){if($==null)return r8.Width;switch($.toLowerCase()){case"width":return r8.Width;case"height":return r8.Height;default:return r8.Width}}function cZ($){if($==null)return J8.LTR;switch($.toLowerCase()){case"inherit":return J8.Inherit;case"ltr":return J8.LTR;case"rtl":return J8.RTL;default:return J8.LTR}}function uZ($){if($==null)return m0.Flex;switch($.toLowerCase()){case"flex":return m0.Flex;case"none":return m0.None;case"contents":return m0.Contents;default:return m0.Flex}}function dZ($){if($==null)return c.All;switch($.toLowerCase()){case"left":return c.Left;case"top":return c.Top;case"right":return c.Right;case"bottom":return c.Bottom;case"start":return c.Start;case"end":return c.End;case"horizontal":return c.Horizontal;case"vertical":return c.Vertical;case"all":return c.All;default:return c.All}}function r$($){if($==null)return l0.Column;switch($.toLowerCase()){case"column":return l0.Column;case"column-reverse":return l0.ColumnReverse;case"row":return l0.Row;case"row-reverse":return l0.RowReverse;default:return l0.Column}}function aZ($){if($==null)return T0.All;switch($.toLowerCase()){case"column":return T0.Column;case"row":return T0.Row;case"all":return T0.All;default:return T0.All}}function i$($){if($==null)return C0.FlexStart;switch($.toLowerCase()){case"flex-start":return C0.FlexStart;case"center":return C0.Center;case"flex-end":return C0.FlexEnd;case"space-between":return C0.SpaceBetween;case"space-around":return C0.SpaceAround;case"space-evenly":return C0.SpaceEvenly;default:return C0.FlexStart}}function sZ($){if($==null)return S0.Info;switch($.toLowerCase()){case"error":return S0.Error;case"warn":return S0.Warn;case"info":return S0.Info;case"debug":return S0.Debug;case"verbose":return S0.Verbose;case"fatal":return S0.Fatal;default:return S0.Info}}function lZ($){if($==null)return A0.Undefined;switch($.toLowerCase()){case"undefined":return A0.Undefined;case"exactly":return A0.Exactly;case"at-most":return A0.AtMost;default:return A0.Undefined}}function o$($){if($==null)return O8.Visible;switch($.toLowerCase()){case"visible":return O8.Visible;case"hidden":return O8.Hidden;case"scroll":return O8.Scroll;default:return O8.Visible}}function n$($){if($==null)return P8.Relative;switch($.toLowerCase()){case"static":return P8.Static;case"relative":return P8.Relative;case"absolute":return P8.Absolute;default:return P8.Static}}function rZ($){if($==null)return M0.Point;switch($.toLowerCase()){case"undefined":return M0.Undefined;case"point":return M0.Point;case"percent":return M0.Percent;case"auto":return M0.Auto;default:return M0.Point}}function t$($){if($==null)return W8.NoWrap;switch($.toLowerCase()){case"no-wrap":return W8.NoWrap;case"wrap":return W8.Wrap;case"wrap-reverse":return W8.WrapReverse;default:return W8.NoWrap}}class t8{mouseButtonsPressed=new Set;static SCROLL_DIRECTIONS={0:"up",1:"down",2:"left",3:"right"};reset(){this.mouseButtonsPressed.clear()}decodeInput($){return(Buffer.isBuffer($)?$:Buffer.from($.buffer,$.byteOffset,$.byteLength)).toString("latin1")}parseMouseEvent($){let J=this.decodeInput($);return this.parseMouseSequenceAt(J,0)?.event??null}parseAllMouseEvents($){let J=this.decodeInput($),Z=[],Q=0;while(Q<J.length){let U=this.parseMouseSequenceAt(J,Q);if(!U)break;Z.push(U.event),Q+=U.consumed}return Z}parseMouseSequenceAt($,J){if(!$.startsWith("\x1B[",J))return null;let Z=$[J+2];if(Z==="<")return this.parseSgrSequence($,J);if(Z==="M")return this.parseBasicSequence($,J);return null}parseSgrSequence($,J){let Z=J+3,Q=[0,0,0],U=0,G=!1;while(Z<$.length){let j=$[Z],q=$.charCodeAt(Z);if(q>=48&&q<=57){G=!0,Q[U]=Q[U]*10+(q-48),Z++;continue}switch(j){case";":{if(!G||U>=2)return null;U++,G=!1,Z++;break}case"M":case"m":{if(!G||U!==2)return null;return{event:this.decodeSgrEvent(Q[0],Q[1],Q[2],j),consumed:Z-J+1}}default:return null}}return null}parseBasicSequence($,J){if(J+6>$.length)return null;let Z=$.charCodeAt(J+3)-32,Q=$.charCodeAt(J+4)-33,U=$.charCodeAt(J+5)-33;return{event:this.decodeBasicEvent(Z,Q,U),consumed:6}}decodeSgrEvent($,J,Z,Q){let U=$&3,G=($&64)!==0,j=!G?void 0:t8.SCROLL_DIRECTIONS[U],q=($&32)!==0,K={shift:($&4)!==0,alt:($&8)!==0,ctrl:($&16)!==0},_,D;if(q){let z=this.mouseButtonsPressed.size>0;if(U===3)_="move";else if(z)_="drag";else _="move"}else if(G&&Q==="M")_="scroll",D={direction:j,delta:1};else if(_=Q==="M"?"down":"up",_==="down"&&U!==3)this.mouseButtonsPressed.add(U);else if(_==="up")this.mouseButtonsPressed.clear();return{type:_,button:U===3?0:U,x:J-1,y:Z-1,modifiers:K,scroll:D}}decodeBasicEvent($,J,Z){let Q=$&3,U=($&64)!==0,G=($&32)!==0,j=!U?void 0:t8.SCROLL_DIRECTIONS[Q],q={shift:($&4)!==0,alt:($&8)!==0,ctrl:($&16)!==0},K,_,D;if(G)K="move",_=Q===3?-1:Q;else if(U)K="scroll",_=0,D={direction:j,delta:1};else K=Q===3?"up":"down",_=Q===3?0:Q;return{type:K,button:_,x:J,y:Z,modifiers:q,scroll:D}}}class _Q{renderable;relativeX;relativeY;constructor($,J,Z){this.renderable=$,this.relativeX=J-this.renderable.x,this.relativeY=Z-this.renderable.y}get x(){return this.renderable.x+this.relativeX}get y(){return this.renderable.y+this.relativeY}}class _6{_anchor;_focus;_selectedRenderables=[];_touchedRenderables=[];_isActive=!0;_isDragging=!0;_isStart=!1;constructor($,J,Z){this._anchor=new _Q($,J.x,J.y),this._focus={...Z}}get isStart(){return this._isStart}set isStart($){this._isStart=$}get anchor(){return{x:this._anchor.x,y:this._anchor.y}}get focus(){return{...this._focus}}set focus($){this._focus={...$}}get isActive(){return this._isActive}set isActive($){this._isActive=$}get isDragging(){return this._isDragging}set isDragging($){this._isDragging=$}get bounds(){let $=Math.min(this._anchor.x,this._focus.x),J=Math.max(this._anchor.x,this._focus.x),Z=Math.min(this._anchor.y,this._focus.y),Q=Math.max(this._anchor.y,this._focus.y),U=J-$+1,G=Q-Z+1;return{x:$,y:Z,width:U,height:G}}updateSelectedRenderables($){this._selectedRenderables=$}get selectedRenderables(){return this._selectedRenderables}updateTouchedRenderables($){this._touchedRenderables=$}get touchedRenderables(){return this._touchedRenderables}getSelectedText(){return this._selectedRenderables.sort((J,Z)=>{let Q=J.y,U=Z.y;if(Q!==U)return Q-U;return J.x-Z.x}).filter((J)=>!J.isDestroyed).map((J)=>J.getSelectedText()).filter((J)=>J).join(`
8
+ `)}}function J$($,J,Z){if(!$?.isActive)return null;return{anchorX:$.anchor.x-J,anchorY:$.anchor.y-Z,focusX:$.focus.x-J,focusY:$.focus.y-Z,isActive:!0}}class D6{getText;getFont;localSelection=null;constructor($,J){this.getText=$,this.getFont=J}hasSelection(){return this.localSelection!==null}getSelection(){return this.localSelection}shouldStartSelection($,J,Z,Q){if($<0||$>=Z||J<0||J>=Q)return!1;let U=this.getText(),G=this.getFont(),j=W$($,U,G);return j>=0&&j<=U.length}onLocalSelectionChanged($,J,Z){let Q=this.localSelection;if(!$?.isActive)return this.localSelection=null,Q!==null;let U=this.getText(),G=this.getFont(),j={x:$.anchorX,y:$.anchorY},q={x:$.focusX,y:$.focusY};if(Z-1<j.y||0>q.y)return this.localSelection=null,Q!==null;let K=0,_=U.length;if(j.y>Z-1)return this.localSelection=null,Q!==null;else if(j.y>=0&&j.y<=Z-1){if(j.x>0)K=W$(j.x,U,G)}if(q.y<0)return this.localSelection=null,Q!==null;else if(q.y>=0&&q.y<=Z-1)if(q.x>=0)_=W$(q.x,U,G);else _=0;if(K<_&&K>=0&&_<=U.length)this.localSelection={start:K,end:_};else this.localSelection=null;return Q?.start!==this.localSelection?.start||Q?.end!==this.localSelection?.end}}var iZ=Symbol.for("@opentui/core/singleton");function Z$($,J){let Z=globalThis[iZ]??={};if(!($ in Z))Z[$]=J();return Z[$]}function H1($){let J=globalThis[iZ];if(J&&$ in J)delete J[$]}function X1($){let J=globalThis[iZ];return J&&$ in J}var Z8=Z$("env-registry",()=>({}));function Y0($){let J=Z8[$.name];if(J){if(J.description!==$.description||J.type!==$.type||J.default!==$.default)throw Error(`Environment variable "${$.name}" is already registered with different configuration. Existing: ${JSON.stringify(J)}, New: ${JSON.stringify($)}`);return}Z8[$.name]=$}function O1($){let J=$.toLowerCase();return["true","1","on","yes"].includes(J)}function P1($){let J=process.env[$.name];if(J===void 0&&$.default!==void 0)return $.default;if(J===void 0)throw Error(`Required environment variable ${$.name} is not set. ${$.description}`);switch($.type){case"boolean":return typeof J==="boolean"?J:O1(J);case"number":let Z=Number(J);if(isNaN(Z))throw Error(`Environment variable ${$.name} must be a valid number, got: ${J}`);return Z;case"string":default:return J}}class DQ{parsedValues=new Map;get($){if(this.parsedValues.has($))return this.parsedValues.get($);if(!($ in Z8))throw Error(`Environment variable ${$} is not registered.`);try{let J=P1(Z8[$]);return this.parsedValues.set($,J),J}catch(J){throw Error(`Failed to parse env var ${$}: ${J instanceof Error?J.message:String(J)}`)}}has($){return $ in Z8}clearCache(){this.parsedValues.clear()}}var h$=Z$("env-store",()=>new DQ);function oZ(){h$.clearCache()}function nZ(){let $=Object.values(Z8);if($.length===0)return`# Environment Variables
9
+
10
+ No environment variables registered.
11
+ `;let J=`# Environment Variables
12
+
13
+ `;for(let Z of $){if(J+=`## ${Z.name}
14
+
15
+ `,J+=`${Z.description}
16
+
17
+ `,J+=`**Type:** \`${Z.type||"string"}\`
18
+ `,Z.default!==void 0){let Q=typeof Z.default==="string"?`"${Z.default}"`:String(Z.default);J+=`**Default:** \`${Q}\`
19
+ `}else J+=`**Default:** *Required*
20
+ `;J+=`
21
+ `}return J}function tZ(){let $=Object.values(Z8);if($.length===0)return`\x1B[1;36mEnvironment Variables\x1B[0m
22
+
23
+ No environment variables registered.
24
+ `;let J=`\x1B[1;36mEnvironment Variables\x1B[0m
25
+
26
+ `;for(let Z of $){if(J+=`\x1B[1;33m${Z.name}\x1B[0m
27
+ `,J+=`${Z.description}
28
+ `,J+=`\x1B[32mType:\x1B[0m \x1B[36m${Z.type||"string"}\x1B[0m
29
+ `,Z.default!==void 0){let Q=typeof Z.default==="string"?`"${Z.default}"`:String(Z.default);J+=`\x1B[32mDefault:\x1B[0m \x1B[35m${Q}\x1B[0m
30
+ `}else J+=`\x1B[32mDefault:\x1B[0m \x1B[31mRequired\x1B[0m
31
+ `;J+=`
32
+ `}return J}var K0=new Proxy({},{get($,J){if(typeof J!=="string")return;return h$.get(J)},has($,J){return h$.has(J)},ownKeys(){return Object.keys(Z8)},getOwnPropertyDescriptor($,J){if(h$.has(J))return{enumerable:!0,configurable:!0,get:()=>h$.get(J)};return}}),W1=20,N1=65536,D7=256,L0=27,F1=7,LJ=L7.from("\x1B[200~"),IJ=L7.from("\x1B[201~"),eZ=new Uint8Array(0),M1=new TextDecoder,A1={kittyKeyboardEnabled:!1,privateCapabilityRepliesActive:!1,pixelResolutionQueryActive:!1,explicitWidthCprActive:!1,startupCursorCprActive:!1},E1=/^\x1b\[\d+\$$/,B1=new m8;class YQ{buf;start=0;end=0;constructor($=D7){this.buf=new Uint8Array($)}get length(){return this.end-this.start}get capacity(){return this.buf.length}view(){return this.buf.subarray(this.start,this.end)}take(){let $=this.view();return this.start=0,this.end=0,$}append($){if($.length===0)return;this.ensureCapacity(this.length+$.length),this.buf.set($,this.end),this.end+=$.length}consume($){if($<=0)return;if($>=this.length){this.start=0,this.end=0;return}if(this.start+=$,this.start>=this.buf.length/2)this.buf.copyWithin(0,this.start,this.end),this.end-=this.start,this.start=0}clear(){this.start=0,this.end=0}reset($=D7){this.buf=new Uint8Array($),this.start=0,this.end=0}ensureCapacity($){let J=this.length;if($<=this.buf.length){if(this.buf.length-this.end>=$-J)return;if(this.buf.copyWithin(0,this.start,this.end),this.end=J,this.start=0,$<=this.buf.length)return}let Z=this.buf.length;while(Z<$)Z*=2;let Q=new Uint8Array(Z);Q.set(this.view(),0),this.buf=Q,this.start=0,this.end=J}}function H5($,J){if(typeof $!=="number"||!Number.isFinite($)||$<=0)return J;return Math.floor($)}function L1($){if($<128)return 1;if($>=194&&$<=223)return 2;if($>=224&&$<=239)return 3;if($>=240&&$<=244)return 4;return 0}function I1($,J){if($.length!==J.length)return!1;for(let Z=0;Z<$.length;Z+=1)if($[Z]!==J[Z])return!1;return!0}function X5($){if($.length<7)return!1;if($[0]!==L0||$[1]!==91||$[2]!==60)return!1;let J=$[$.length-1];if(J!==77&&J!==109)return!1;let Z=0,Q=!1;for(let U=3;U<$.length-1;U+=1){let G=$[U];if(G>=48&&G<=57){Q=!0;continue}if(G===59&&Q&&Z<2){Z+=1,Q=!1;continue}return!1}return Z===2&&Q}function j8($){return $>=48&&$<=57}function VQ($,J,Z){if(J>=Z)return null;let Q=0,U=!1;for(let G=J;G<Z;G+=1){let j=$[G];if(!j8(j))return null;U=!0,Q=Q*10+(j-48)}return U?Q:null}function C1($,J,Z){if(J>=Z)return null;let Q=-1;for(let G=J;G<Z;G+=1)if($[G]===58){Q=G;break}if(Q===-1)return null;let U=VQ($,J,Q);if(U===null)return null;for(let G=Q+1;G<Z;G+=1){let j=$[G];if(j!==58&&!j8(j))return null}return U}function S1($){return $.semicolons>=1}function T1($){return $.semicolons===1&&$.segments>1}function zQ($){return $.firstParamValue===1&&$.semicolons===1}function y1($){return $.semicolons===1}function R1($){return $.segments===1&&$.semicolons<=1}function w1($){return $.firstParamValue===4&&$.semicolons===2}function O5($,J){return J.kittyKeyboardEnabled&&(S1($)||T1($))||J.explicitWidthCprActive&&zQ($)||J.startupCursorCprActive&&y1($)||J.pixelResolutionQueryActive&&w1($)}function k1($,J,Z){if(Z.kittyKeyboardEnabled){if($.hasDigit&&J===117)return!0;if($.hasDigit&&$.semicolons===1&&$.segments>1&&(J===126||J>=65&&J<=90))return!0}if(Z.explicitWidthCprActive&&$.hasDigit&&$.firstParamValue===1&&$.semicolons===1&&J===82)return!0;if(Z.startupCursorCprActive&&$.hasDigit&&$.semicolons===1&&J===82)return!0;if(Z.pixelResolutionQueryActive&&$.hasDigit&&$.firstParamValue===4&&$.semicolons===2&&J===116)return!0;return!1}function v1($,J){if(J===82&&$.semicolons===1&&$.segments===1&&$.hasDigit)return"cpr";return"csi"}function P5($){return $.privateCapabilityRepliesActive}function x1($,J,Z){if(!Z.privateCapabilityRepliesActive)return!1;if($.sawDollar)return $.hasDigit&&J===121;if(J===99)return $.hasDigit||$.semicolons>0;if(J===110)return $.hasDigit;return $.hasDigit&&J===117}function f1($,J){if($.length===0)return J;if(J.length===0)return $;let Z=new Uint8Array($.length+J.length);return Z.set($,0),Z.set(J,$.length),Z}function W5($,J){if(J.length===0)return 0;let Z=$.length-J.length;for(let Q=0;Q<=Z;Q+=1){let U=!0;for(let G=0;G<J.length;G+=1)if($[Q+G]!==J[G]){U=!1;break}if(U)return Q}return-1}function N5($){return L7.from($.buffer,$.byteOffset,$.byteLength).toString("latin1")}function e0($){return M1.decode($)}function g1(){return{tail:eZ,parts:[],totalLength:0}}function b1($,J){if(J===0)return eZ;if($.length===1)return $[0];let Z=new Uint8Array(J),Q=0;for(let U of $)Z.set(U,Q),Q+=U.length;return Z}class Y6{pending=new YQ(D7);events=[];timeoutMs;maxPendingBytes;armTimeouts;onTimeoutFlush;useKittyKeyboard;mouseParser=new t8;clock;protocolContext;timeoutId=null;destroyed=!1;pendingSinceMs=null;forceFlush=!1;justFlushedEsc=!1;state={tag:"ground"};cursor=0;unitStart=0;paste=null;constructor($={}){this.timeoutMs=H5($.timeoutMs,W1),this.maxPendingBytes=H5($.maxPendingBytes,N1),this.armTimeouts=$.armTimeouts??!0,this.onTimeoutFlush=$.onTimeoutFlush??null,this.useKittyKeyboard=$.useKittyKeyboard??!0,this.clock=$.clock??B1,this.protocolContext={...A1,kittyKeyboardEnabled:$.protocolContext?.kittyKeyboardEnabled??!1,privateCapabilityRepliesActive:$.protocolContext?.privateCapabilityRepliesActive??!1,pixelResolutionQueryActive:$.protocolContext?.pixelResolutionQueryActive??!1,explicitWidthCprActive:$.protocolContext?.explicitWidthCprActive??!1,startupCursorCprActive:$.protocolContext?.startupCursorCprActive??!1}}get bufferCapacity(){return this.pending.capacity}updateProtocolContext($){this.ensureAlive(),this.protocolContext={...this.protocolContext,...$},this.reconcileDeferredStateWithProtocolContext(),this.reconcileTimeoutState()}getAbortableStartupCursorCprState(){if(this.pending.length===0)return null;switch(this.state.tag){case"csi":{let $=this.pending.view(),J=this.unitStart+2;if(this.cursor<J)return null;let Z=null;for(let Q=J;Q<this.cursor;Q+=1){let U=$[Q];if(!j8(U))return null;Z=(Z??0)*10+(U-48)}return{tag:"csi_parametric_ignored",semicolons:0,segments:1,hasDigit:this.cursor>J,firstParamValue:Z}}case"csi_parametric":case"csi_parametric_deferred":if(!R1(this.state)||this.protocolContext.explicitWidthCprActive&&zQ(this.state))return null;return{tag:"csi_parametric_ignored",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:this.state.hasDigit,firstParamValue:this.state.firstParamValue}}return null}abortPendingStartupCursorCpr(){this.ensureAlive();let $=this.getAbortableStartupCursorCprState();if(!$)return;if(this.state=$,this.pendingSinceMs===null)this.markPending();this.forceFlush=!1,this.reconcileTimeoutState()}push($){if(this.ensureAlive(),$.length===0){this.emitKeyOrResponse("unknown","");return}let J=$;while(J.length>0){if(this.paste){J=this.consumePasteBytes(J);continue}let Z=this.state.tag==="ground"&&this.pending.length===0?W5(J,LJ):-1,Q=Z===-1?J.length:Z+LJ.length;if(this.pending.append(J.subarray(0,Q)),J=J.subarray(Q),this.scanPending(),this.paste&&this.pending.length>0){J=this.consumePasteBytes(this.takePendingBytes());continue}if(!this.paste&&this.pending.length>this.maxPendingBytes){if(this.flushPendingOverflow(),this.scanPending(),this.paste&&this.pending.length>0)J=this.consumePasteBytes(this.takePendingBytes())}}this.reconcileTimeoutState()}read(){if(this.ensureAlive(),this.events.length===0&&this.forceFlush)this.scanPending(),this.reconcileTimeoutState();return this.events.shift()??null}drain($){this.ensureAlive();while(!0){if(this.destroyed)return;let J=this.read();if(!J)return;$(J)}}flushTimeout($=this.clock.now()){if(this.ensureAlive(),this.pendingSinceMs!==null&&($<this.pendingSinceMs||$-this.pendingSinceMs<this.timeoutMs))return;this.tryForceFlush()}tryForceFlush(){if(this.paste||this.pendingSinceMs===null||this.pending.length===0)return;this.forceFlush=!0}reset(){if(this.destroyed)return;this.clearTimeout(),this.resetState()}resetMouseState(){this.ensureAlive(),this.mouseParser.reset()}destroy(){if(this.destroyed)return;this.clearTimeout(),this.destroyed=!0,this.resetState()}ensureAlive(){if(this.destroyed)throw Error("StdinParser has been destroyed")}scanPending(){while(!this.paste){let $=this.pending.view();if(this.state.tag==="ground"&&this.cursor>=$.length){this.pending.clear(),this.cursor=0,this.unitStart=0,this.pendingSinceMs=null,this.forceFlush=!1;return}let J=this.cursor<$.length?$[this.cursor]:-1;switch(this.state.tag){case"ground":{if(this.unitStart=this.cursor,this.justFlushedEsc){if(J===91){this.justFlushedEsc=!1,this.cursor+=1,this.state={tag:"esc_recovery"};continue}this.justFlushedEsc=!1}if(J===L0){this.cursor+=1,this.state={tag:"esc"};continue}if(J<128){this.emitKeyOrResponse("unknown",e0($.subarray(this.cursor,this.cursor+1))),this.consumePrefix(this.cursor+1);continue}let Z=L1(J);if(Z===0){if(!this.forceFlush&&this.cursor+1===$.length){this.markPending();return}this.emitLegacyHighByte(J),this.consumePrefix(this.cursor+1);continue}this.cursor+=1,this.state={tag:"utf8",expected:Z,seen:1};continue}case"utf8":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.emitLegacyHighByte($[this.unitStart]),this.state={tag:"ground"},this.consumePrefix(this.unitStart+1);continue}if((J&192)!==128){this.emitLegacyHighByte($[this.unitStart]),this.state={tag:"ground"},this.consumePrefix(this.unitStart+1);continue}let Z=this.state.seen+1;if(this.cursor+=1,Z<this.state.expected){this.state={tag:"utf8",expected:this.state.expected,seen:Z};continue}this.emitKeyOrResponse("unknown",e0($.subarray(this.unitStart,this.cursor))),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"esc":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}let Z=this.cursor===this.unitStart+1&&$[this.unitStart]===L0;this.emitKeyOrResponse("unknown",e0($.subarray(this.unitStart,this.cursor))),this.justFlushedEsc=Z,this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}switch(J){case 91:this.cursor+=1,this.state={tag:"csi"};continue;case 79:this.cursor+=1,this.state={tag:"ss3"};continue;case 93:this.cursor+=1,this.state={tag:"osc",sawEsc:!1};continue;case 80:this.cursor+=1,this.state={tag:"dcs",sawEsc:!1};continue;case 95:this.cursor+=1,this.state={tag:"apc",sawEsc:!1};continue;case L0:this.cursor+=1;continue;default:this.cursor+=1,this.emitKeyOrResponse("unknown",e0($.subarray(this.unitStart,this.cursor))),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}}case"ss3":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(J===L0){this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}this.cursor+=1,this.emitKeyOrResponse("unknown",e0($.subarray(this.unitStart,this.cursor))),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"esc_recovery":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.emitKeyOrResponse("unknown",e0($.subarray(this.unitStart,this.cursor))),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(J===60){this.cursor+=1,this.state={tag:"esc_less_mouse"};continue}if(J===77){this.cursor+=1,this.state={tag:"esc_less_x10_mouse"};continue}this.emitKeyOrResponse("unknown",e0($.subarray(this.unitStart,this.unitStart+1))),this.state={tag:"ground"},this.consumePrefix(this.unitStart+1);continue}case"csi":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(J===L0){this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(J===77&&this.cursor===this.unitStart+2){let Z=this.cursor+4;if($.length<Z){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,$.length)),this.state={tag:"ground"},this.consumePrefix($.length);continue}this.emitMouse($.subarray(this.unitStart,Z),"x10"),this.state={tag:"ground"},this.consumePrefix(Z);continue}if(J===36){let Z=this.cursor+1,Q=e0($.subarray(this.unitStart,Z));if(E1.test(Q)){this.emitKeyOrResponse("csi",Q),this.state={tag:"ground"},this.consumePrefix(Z);continue}if(!this.forceFlush&&Z>=$.length){this.markPending();return}}if(J===60&&this.cursor===this.unitStart+2){this.cursor+=1,this.state={tag:"csi_sgr_mouse",part:0,hasDigit:!1};continue}if(J===91&&this.cursor===this.unitStart+2){this.cursor+=1;continue}if(J===63&&this.cursor===this.unitStart+2){this.cursor+=1,this.state={tag:"csi_private_reply",semicolons:0,hasDigit:!1,sawDollar:!1};continue}if(J===59){let Z=this.unitStart+2,Q=this.cursor,U=VQ($,Z,Q);if(U===null&&this.protocolContext.kittyKeyboardEnabled)U=C1($,Z,Q);if(U!==null){this.cursor+=1,this.state={tag:"csi_parametric",semicolons:1,segments:1,hasDigit:!1,firstParamValue:U};continue}}if(J>=64&&J<=126){let Z=this.cursor+1,Q=$.subarray(this.unitStart,Z);if(I1(Q,LJ)){this.state={tag:"ground"},this.consumePrefix(Z),this.paste=g1();continue}if(X5(Q)){this.emitMouse(Q,"sgr"),this.state={tag:"ground"},this.consumePrefix(Z);continue}this.emitKeyOrResponse("csi",e0(Q)),this.state={tag:"ground"},this.consumePrefix(Z);continue}this.cursor+=1;continue}case"csi_sgr_mouse":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.state={tag:"csi_sgr_mouse_deferred",part:this.state.part,hasDigit:this.state.hasDigit},this.pendingSinceMs=null,this.forceFlush=!1;return}if(J===L0){this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(j8(J)){this.cursor+=1,this.state={tag:"csi_sgr_mouse",part:this.state.part,hasDigit:!0};continue}if(J===59&&this.state.hasDigit&&this.state.part<2){this.cursor+=1,this.state={tag:"csi_sgr_mouse",part:this.state.part+1,hasDigit:!1};continue}if(J>=64&&J<=126){let Z=this.cursor+1,Q=$.subarray(this.unitStart,Z);if(X5(Q))this.emitMouse(Q,"sgr");else this.emitKeyOrResponse("csi",e0(Q));this.state={tag:"ground"},this.consumePrefix(Z);continue}this.state={tag:"csi"};continue}case"csi_sgr_mouse_deferred":{if(this.cursor>=$.length){this.pendingSinceMs=null,this.forceFlush=!1;return}if(J===L0){this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(j8(J)||J===59||J===77||J===109){this.state={tag:"csi_sgr_mouse",part:this.state.part,hasDigit:this.state.hasDigit};continue}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"csi_parametric":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}if(O5(this.state,this.protocolContext)){this.state={tag:"csi_parametric_deferred",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:this.state.hasDigit,firstParamValue:this.state.firstParamValue},this.pendingSinceMs=null,this.forceFlush=!1;return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(J===L0){this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(j8(J)){this.cursor+=1,this.state={tag:"csi_parametric",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:!0,firstParamValue:this.state.firstParamValue};continue}if(J===58&&this.state.hasDigit&&this.state.segments<3){this.cursor+=1,this.state={tag:"csi_parametric",semicolons:this.state.semicolons,segments:this.state.segments+1,hasDigit:!1,firstParamValue:this.state.firstParamValue};continue}if(J===59&&this.state.semicolons<2){this.cursor+=1,this.state={tag:"csi_parametric",semicolons:this.state.semicolons+1,segments:1,hasDigit:!1,firstParamValue:this.state.firstParamValue};continue}if(J>=64&&J<=126){let Z=this.cursor+1,Q=v1(this.state,J);this.emitKeyOrResponse(Q,e0($.subarray(this.unitStart,Z))),this.state={tag:"ground"},this.consumePrefix(Z);continue}this.state={tag:"csi"};continue}case"csi_parametric_deferred":{if(this.cursor>=$.length){this.pendingSinceMs=null,this.forceFlush=!1;return}if(J===L0){this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(j8(J)||J===58||J===59){this.state={tag:"csi_parametric",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:this.state.hasDigit,firstParamValue:this.state.firstParamValue};continue}if(k1(this.state,J,this.protocolContext)){this.state={tag:"csi_parametric",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:this.state.hasDigit,firstParamValue:this.state.firstParamValue};continue}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"csi_parametric_ignored":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(J===L0){this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(j8(J)){this.cursor+=1,this.state={tag:"csi_parametric_ignored",semicolons:this.state.semicolons,segments:this.state.segments,hasDigit:!0,firstParamValue:this.state.semicolons===0?(this.state.firstParamValue??0)*10+(J-48):this.state.firstParamValue};continue}if(J===59&&this.state.semicolons===0&&this.state.hasDigit){if(this.protocolContext.explicitWidthCprActive&&this.state.firstParamValue===1){this.state={tag:"csi"};continue}this.cursor+=1,this.state={tag:"csi_parametric_ignored",semicolons:1,segments:1,hasDigit:!1,firstParamValue:this.state.firstParamValue};continue}if(J===82&&this.state.semicolons===1&&this.state.hasDigit){let Z=this.cursor+1;this.state={tag:"ground"},this.consumePrefix(Z);continue}if(this.state.semicolons===0){this.state={tag:"csi"};continue}this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"csi_private_reply":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}if(P5(this.protocolContext)){this.state={tag:"csi_private_reply_deferred",semicolons:this.state.semicolons,hasDigit:this.state.hasDigit,sawDollar:this.state.sawDollar},this.pendingSinceMs=null,this.forceFlush=!1;return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(J===L0){this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(j8(J)){this.cursor+=1,this.state={tag:"csi_private_reply",semicolons:this.state.semicolons,hasDigit:!0,sawDollar:this.state.sawDollar};continue}if(J===59){this.cursor+=1,this.state={tag:"csi_private_reply",semicolons:this.state.semicolons+1,hasDigit:!1,sawDollar:!1};continue}if(J===36&&this.state.hasDigit&&!this.state.sawDollar){this.cursor+=1,this.state={tag:"csi_private_reply",semicolons:this.state.semicolons,hasDigit:!0,sawDollar:!0};continue}if(J>=64&&J<=126){let Z=this.cursor+1;this.emitOpaqueResponse("csi",$.subarray(this.unitStart,Z)),this.state={tag:"ground"},this.consumePrefix(Z);continue}this.state={tag:"csi"};continue}case"csi_private_reply_deferred":{if(this.cursor>=$.length){this.pendingSinceMs=null,this.forceFlush=!1;return}if(J===L0){this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(j8(J)||J===59||J===36){this.state={tag:"csi_private_reply",semicolons:this.state.semicolons,hasDigit:this.state.hasDigit,sawDollar:this.state.sawDollar};continue}if(x1(this.state,J,this.protocolContext)){this.state={tag:"csi_private_reply",semicolons:this.state.semicolons,hasDigit:this.state.hasDigit,sawDollar:this.state.sawDollar};continue}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"osc":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(this.state.sawEsc){if(J===92){let Z=this.cursor+1;this.emitOpaqueResponse("osc",$.subarray(this.unitStart,Z)),this.state={tag:"ground"},this.consumePrefix(Z);continue}this.state={tag:"osc",sawEsc:!1};continue}if(J===F1){let Z=this.cursor+1;this.emitOpaqueResponse("osc",$.subarray(this.unitStart,Z)),this.state={tag:"ground"},this.consumePrefix(Z);continue}if(J===L0){this.cursor+=1,this.state={tag:"osc",sawEsc:!0};continue}this.cursor+=1;continue}case"dcs":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(this.state.sawEsc){if(J===92){let Z=this.cursor+1;this.emitOpaqueResponse("dcs",$.subarray(this.unitStart,Z)),this.state={tag:"ground"},this.consumePrefix(Z);continue}this.state={tag:"dcs",sawEsc:!1};continue}if(J===L0){this.cursor+=1,this.state={tag:"dcs",sawEsc:!0};continue}this.cursor+=1;continue}case"apc":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(this.state.sawEsc){if(J===92){let Z=this.cursor+1;this.emitOpaqueResponse("apc",$.subarray(this.unitStart,Z)),this.state={tag:"ground"},this.consumePrefix(Z);continue}this.state={tag:"apc",sawEsc:!1};continue}if(J===L0){this.cursor+=1,this.state={tag:"apc",sawEsc:!0};continue}this.cursor+=1;continue}case"esc_less_mouse":{if(this.cursor>=$.length){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}if(J>=48&&J<=57||J===59){this.cursor+=1;continue}if(J===77||J===109){let Z=this.cursor+1;this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,Z)),this.state={tag:"ground"},this.consumePrefix(Z);continue}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);continue}case"esc_less_x10_mouse":{let Z=this.unitStart+5;if($.length<Z){if(!this.forceFlush){this.markPending();return}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,$.length)),this.state={tag:"ground"},this.consumePrefix($.length);continue}this.emitOpaqueResponse("unknown",$.subarray(this.unitStart,Z)),this.state={tag:"ground"},this.consumePrefix(Z);continue}}}}emitKeyOrResponse($,J){let Z=a$(J,{useKittyKeyboard:this.useKittyKeyboard});if(Z){this.events.push({type:"key",raw:Z.raw,key:Z});return}this.events.push({type:"response",protocol:$,sequence:J})}emitMouse($,J){let Z=this.mouseParser.parseMouseEvent($);if(!Z){this.emitOpaqueResponse("unknown",$);return}this.events.push({type:"mouse",raw:N5($),encoding:J,event:Z})}emitLegacyHighByte($){let J=a$(L7.from([$]),{useKittyKeyboard:this.useKittyKeyboard});if(J){this.events.push({type:"key",raw:J.raw,key:J});return}this.events.push({type:"response",protocol:"unknown",sequence:String.fromCharCode($)})}emitOpaqueResponse($,J){this.events.push({type:"response",protocol:$,sequence:N5(J)})}consumePrefix($){this.pending.consume($),this.cursor=0,this.unitStart=0,this.pendingSinceMs=null,this.forceFlush=!1}takePendingBytes(){let $=this.pending.take();return this.cursor=0,this.unitStart=0,this.pendingSinceMs=null,this.forceFlush=!1,$}flushPendingOverflow(){if(this.pending.length===0)return;this.emitOpaqueResponse("unknown",this.pending.view()),this.pending.clear(),this.cursor=0,this.unitStart=0,this.pendingSinceMs=null,this.forceFlush=!1,this.state={tag:"ground"}}markPending(){this.pendingSinceMs=this.clock.now()}consumePasteBytes($){let J=this.paste,Z=f1(J.tail,$),Q=W5(Z,IJ);if(Q!==-1)return this.pushPasteBytes(Z.subarray(0,Q)),this.events.push({type:"paste",bytes:b1(J.parts,J.totalLength)}),this.paste=null,Z.subarray(Q+IJ.length);let U=Math.min(IJ.length-1,Z.length),G=Z.length-U;if(G>0)this.pushPasteBytes(Z.subarray(0,G));return J.tail=Uint8Array.from(Z.subarray(G)),eZ}pushPasteBytes($){if($.length===0)return;this.paste.parts.push(Uint8Array.from($)),this.paste.totalLength+=$.length}reconcileDeferredStateWithProtocolContext(){switch(this.state.tag){case"csi_parametric_deferred":if(!O5(this.state,this.protocolContext))this.emitOpaqueResponse("unknown",this.pending.view().subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);return;case"csi_private_reply_deferred":if(!P5(this.protocolContext))this.emitOpaqueResponse("unknown",this.pending.view().subarray(this.unitStart,this.cursor)),this.state={tag:"ground"},this.consumePrefix(this.cursor);return}}reconcileTimeoutState(){if(!this.armTimeouts)return;if(this.paste||this.pendingSinceMs===null||this.pending.length===0){this.clearTimeout();return}this.clearTimeout(),this.timeoutId=this.clock.setTimeout(()=>{if(this.timeoutId=null,this.destroyed)return;try{this.tryForceFlush(),this.onTimeoutFlush?.()}catch($){console.error("stdin parser timeout flush failed",$)}},this.timeoutMs)}clearTimeout(){if(!this.timeoutId)return;this.clock.clearTimeout(this.timeoutId),this.timeoutId=null}resetState(){this.pending.reset(D7),this.events.length=0,this.pendingSinceMs=null,this.forceFlush=!1,this.justFlushedEsc=!1,this.state={tag:"ground"},this.cursor=0,this.unitStart=0,this.paste=null,this.mouseParser.reset()}}Y0({name:"OTUI_TS_STYLE_WARN",default:!1,description:"Enable warnings for missing syntax styles"});function F5($){return $.split(".").length}function m1($,J){if(J?.isInjection)return!1;return $==="markup.raw.block"}function V6($,J,Z,Q){let U=[],G=Z.getStyle("default"),j=Q?.enabled??!0,q=Q?.baseHighlight?Z.getStyle(Q.baseHighlight):void 0,K=[],_=[];for(let H=0;H<J.length;H++){let[O,X,,P]=J[H];if(O===X)continue;if(P?.containsInjection)K.push({start:O,end:X});_.push({offset:O,type:"start",highlightIndex:H}),_.push({offset:X,type:"end",highlightIndex:H})}_.sort((H,O)=>{if(H.offset!==O.offset)return H.offset-O.offset;if(H.type==="end"&&O.type==="start")return-1;if(H.type==="start"&&O.type==="end")return 1;return 0});let D=new Set,z=0;for(let H=0;H<_.length;H++){let O=_[H];if(z<O.offset&&D.size>0){let X=$.slice(z,O.offset),P=[];for(let W of D){let[,,F,B]=J[W];P.push({group:F,meta:B,index:W})}let N=j?P.find((W)=>W.meta?.conceal!==void 0||W.group==="conceal"||W.group.startsWith("conceal.")):void 0;if(N){let W="";if(N.meta?.conceal!==void 0)W=N.meta.conceal;else if(N.group==="conceal.with.space")W=" ";if(W)U.push({__isChunk:!0,text:W,fg:G?.fg,bg:G?.bg,attributes:G?h0({bold:G.bold,italic:G.italic,underline:G.underline,dim:G.dim}):0})}else{let W=K.some((x)=>z>=x.start&&z<x.end),B=P.filter((x)=>{if(W&&m1(x.group,x.meta))return!1;return!0}).sort((x,C)=>{let T=F5(x.group),y=F5(C.group);if(T!==y)return T-y;return x.index-C.index}),I=q?{...q}:{};for(let{group:x}of B){let C=Z.getStyle(x);if(!C&&x.includes(".")){let T=x.split(".")[0];C=Z.getStyle(T)}if(C){if(C.fg!==void 0)I.fg=C.fg;if(C.bg!==void 0)I.bg=C.bg;if(C.bold!==void 0)I.bold=C.bold;if(C.italic!==void 0)I.italic=C.italic;if(C.underline!==void 0)I.underline=C.underline;if(C.dim!==void 0)I.dim=C.dim}else if(x.includes(".")){let T=x.split(".")[0];if(K0.OTUI_TS_STYLE_WARN)console.warn(`Syntax style not found for group "${x}" or base scope "${T}", using default style`)}else if(K0.OTUI_TS_STYLE_WARN)console.warn(`Syntax style not found for group "${x}", using default style`)}let w=Object.keys(I).length>0?I:G;U.push({__isChunk:!0,text:X,fg:w?.fg,bg:w?.bg,attributes:w?h0({bold:w.bold,italic:w.italic,underline:w.underline,dim:w.dim}):0})}}else if(z<O.offset){let X=$.slice(z,O.offset),P=q??G;U.push({__isChunk:!0,text:X,fg:P?.fg,bg:P?.bg,attributes:P?h0({bold:P.bold,italic:P.italic,underline:P.underline,dim:P.dim}):0})}if(O.type==="start")D.add(O.highlightIndex);else if(D.delete(O.highlightIndex),j){let[,,X,P]=J[O.highlightIndex];if(P?.concealLines!==void 0){if(O.offset<$.length&&$[O.offset]===`
33
+ `){z=O.offset+1;continue}}if(P?.conceal!==void 0){if(P.conceal===" "){if(O.offset<$.length&&$[O.offset]===" "){z=O.offset+1;continue}}else if(P.conceal===""&&X==="conceal"&&!P.isInjection){if(O.offset<$.length&&$[O.offset]===" "){z=O.offset+1;continue}}}}z=O.offset}if(z<$.length){let H=$.slice(z),O=q??G;U.push({__isChunk:!0,text:H,fg:O?.fg,bg:O?.bg,attributes:O?h0({bold:O.bold,italic:O.italic,underline:O.underline,dim:O.dim}):0})}return U}async function $9($,J,Z,Q,U){let G=await Q.highlightOnce($,J);if(G.highlights&&G.highlights.length>0||U?.baseHighlight){let j=V6($,G.highlights??[],Z,{enabled:U?.conceal?.enabled??!0,baseHighlight:U?.baseHighlight});return new u0(j)}else{let j=Z.mergeStyles("default"),q=[{__isChunk:!0,text:$,fg:j.fg,bg:j.bg,attributes:j.attributes}];return new u0(q)}}var H$=new Map;class HQ{scopeId;constructor($){if(this.scopeId=$,!H$.has(this.scopeId))H$.set(this.scopeId,new Map)}debounce($,J,Z){let Q=H$.get(this.scopeId);return new Promise((U,G)=>{if(Q.has($))clearTimeout(Q.get($));let j=setTimeout(()=>{try{U(Z())}catch(q){G(q)}Q.delete($)},J);Q.set($,j)})}clearDebounce($){let J=H$.get(this.scopeId);if(J&&J.has($))clearTimeout(J.get($)),J.delete($)}clear(){let $=H$.get(this.scopeId);if($)$.forEach((J)=>clearTimeout(J)),$.clear()}}function p1($){return new HQ($)}function c1($){let J=H$.get($);if(J)J.forEach((Z)=>clearTimeout(Z)),J.clear()}class XQ{processor;queue=[];processing=!1;autoProcess=!0;constructor($,J=!0){this.processor=$,this.autoProcess=J}enqueue($){if(this.queue.push($),!this.processing&&this.autoProcess)this.processQueue()}processQueue(){if(this.queue.length===0)return;this.processing=!0,queueMicrotask(async()=>{if(this.queue.length===0){this.processing=!1;return}let $=this.queue.shift();try{await this.processor($)}catch(J){console.error("Error processing queue item:",J)}if(this.queue.length>0)this.processQueue();else this.processing=!1})}clear(){this.queue=[]}isProcessing(){return this.processing}size(){return this.queue.length}}function l1({onlyFirst:$=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",$?void 0:"g")}var r1=l1();function PQ($){if(typeof $!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof $}\``);return $.replace(r1,"")}function i1($){return $===161||$===164||$===167||$===168||$===170||$===173||$===174||$>=176&&$<=180||$>=182&&$<=186||$>=188&&$<=191||$===198||$===208||$===215||$===216||$>=222&&$<=225||$===230||$>=232&&$<=234||$===236||$===237||$===240||$===242||$===243||$>=247&&$<=250||$===252||$===254||$===257||$===273||$===275||$===283||$===294||$===295||$===299||$>=305&&$<=307||$===312||$>=319&&$<=322||$===324||$>=328&&$<=331||$===333||$===338||$===339||$===358||$===359||$===363||$===462||$===464||$===466||$===468||$===470||$===472||$===474||$===476||$===593||$===609||$===708||$===711||$>=713&&$<=715||$===717||$===720||$>=728&&$<=731||$===733||$===735||$>=768&&$<=879||$>=913&&$<=929||$>=931&&$<=937||$>=945&&$<=961||$>=963&&$<=969||$===1025||$>=1040&&$<=1103||$===1105||$===8208||$>=8211&&$<=8214||$===8216||$===8217||$===8220||$===8221||$>=8224&&$<=8226||$>=8228&&$<=8231||$===8240||$===8242||$===8243||$===8245||$===8251||$===8254||$===8308||$===8319||$>=8321&&$<=8324||$===8364||$===8451||$===8453||$===8457||$===8467||$===8470||$===8481||$===8482||$===8486||$===8491||$===8531||$===8532||$>=8539&&$<=8542||$>=8544&&$<=8555||$>=8560&&$<=8569||$===8585||$>=8592&&$<=8601||$===8632||$===8633||$===8658||$===8660||$===8679||$===8704||$===8706||$===8707||$===8711||$===8712||$===8715||$===8719||$===8721||$===8725||$===8730||$>=8733&&$<=8736||$===8739||$===8741||$>=8743&&$<=8748||$===8750||$>=8756&&$<=8759||$===8764||$===8765||$===8776||$===8780||$===8786||$===8800||$===8801||$>=8804&&$<=8807||$===8810||$===8811||$===8814||$===8815||$===8834||$===8835||$===8838||$===8839||$===8853||$===8857||$===8869||$===8895||$===8978||$>=9312&&$<=9449||$>=9451&&$<=9547||$>=9552&&$<=9587||$>=9600&&$<=9615||$>=9618&&$<=9621||$===9632||$===9633||$>=9635&&$<=9641||$===9650||$===9651||$===9654||$===9655||$===9660||$===9661||$===9664||$===9665||$>=9670&&$<=9672||$===9675||$>=9678&&$<=9681||$>=9698&&$<=9701||$===9711||$===9733||$===9734||$===9737||$===9742||$===9743||$===9756||$===9758||$===9792||$===9794||$===9824||$===9825||$>=9827&&$<=9829||$>=9831&&$<=9834||$===9836||$===9837||$===9839||$===9886||$===9887||$===9919||$>=9926&&$<=9933||$>=9935&&$<=9939||$>=9941&&$<=9953||$===9955||$===9960||$===9961||$>=9963&&$<=9969||$===9972||$>=9974&&$<=9977||$===9979||$===9980||$===9982||$===9983||$===10045||$>=10102&&$<=10111||$>=11094&&$<=11097||$>=12872&&$<=12879||$>=57344&&$<=63743||$>=65024&&$<=65039||$===65533||$>=127232&&$<=127242||$>=127248&&$<=127277||$>=127280&&$<=127337||$>=127344&&$<=127373||$===127375||$===127376||$>=127387&&$<=127404||$>=917760&&$<=917999||$>=983040&&$<=1048573||$>=1048576&&$<=1114109}function o1($){return $===12288||$>=65281&&$<=65376||$>=65504&&$<=65510}function n1($){return $>=4352&&$<=4447||$===8986||$===8987||$===9001||$===9002||$>=9193&&$<=9196||$===9200||$===9203||$===9725||$===9726||$===9748||$===9749||$>=9776&&$<=9783||$>=9800&&$<=9811||$===9855||$>=9866&&$<=9871||$===9875||$===9889||$===9898||$===9899||$===9917||$===9918||$===9924||$===9925||$===9934||$===9940||$===9962||$===9970||$===9971||$===9973||$===9978||$===9981||$===9989||$===9994||$===9995||$===10024||$===10060||$===10062||$>=10067&&$<=10069||$===10071||$>=10133&&$<=10135||$===10160||$===10175||$===11035||$===11036||$===11088||$===11093||$>=11904&&$<=11929||$>=11931&&$<=12019||$>=12032&&$<=12245||$>=12272&&$<=12287||$>=12289&&$<=12350||$>=12353&&$<=12438||$>=12441&&$<=12543||$>=12549&&$<=12591||$>=12593&&$<=12686||$>=12688&&$<=12773||$>=12783&&$<=12830||$>=12832&&$<=12871||$>=12880&&$<=42124||$>=42128&&$<=42182||$>=43360&&$<=43388||$>=44032&&$<=55203||$>=63744&&$<=64255||$>=65040&&$<=65049||$>=65072&&$<=65106||$>=65108&&$<=65126||$>=65128&&$<=65131||$>=94176&&$<=94180||$>=94192&&$<=94198||$>=94208&&$<=101589||$>=101631&&$<=101662||$>=101760&&$<=101874||$>=110576&&$<=110579||$>=110581&&$<=110587||$===110589||$===110590||$>=110592&&$<=110882||$===110898||$>=110928&&$<=110930||$===110933||$>=110948&&$<=110951||$>=110960&&$<=111355||$>=119552&&$<=119638||$>=119648&&$<=119670||$===126980||$===127183||$===127374||$>=127377&&$<=127386||$>=127488&&$<=127490||$>=127504&&$<=127547||$>=127552&&$<=127560||$===127568||$===127569||$>=127584&&$<=127589||$>=127744&&$<=127776||$>=127789&&$<=127797||$>=127799&&$<=127868||$>=127870&&$<=127891||$>=127904&&$<=127946||$>=127951&&$<=127955||$>=127968&&$<=127984||$===127988||$>=127992&&$<=128062||$===128064||$>=128066&&$<=128252||$>=128255&&$<=128317||$>=128331&&$<=128334||$>=128336&&$<=128359||$===128378||$===128405||$===128406||$===128420||$>=128507&&$<=128591||$>=128640&&$<=128709||$===128716||$>=128720&&$<=128722||$>=128725&&$<=128728||$>=128732&&$<=128735||$===128747||$===128748||$>=128756&&$<=128764||$>=128992&&$<=129003||$===129008||$>=129292&&$<=129338||$>=129340&&$<=129349||$>=129351&&$<=129535||$>=129648&&$<=129660||$>=129664&&$<=129674||$>=129678&&$<=129734||$===129736||$>=129741&&$<=129756||$>=129759&&$<=129770||$>=129775&&$<=129784||$>=131072&&$<=196605||$>=196608&&$<=262141}function t1($){if(!Number.isSafeInteger($))throw TypeError(`Expected a code point, got \`${typeof $}\`.`)}function e1($,{ambiguousAsWide:J=!1}={}){if(t1($),o1($)||n1($)||J&&i1($))return 2;return 1}var $U=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g},JU=new Intl.Segmenter,ZU=/^\p{Default_Ignorable_Code_Point}$/u;function QU($,J={}){if(typeof $!=="string"||$.length===0)return 0;let{ambiguousIsNarrow:Z=!0,countAnsiEscapeCodes:Q=!1}=J;if(!Q)$=PQ($);if($.length===0)return 0;let U=0,G={ambiguousAsWide:!Z};for(let{segment:j}of JU.segment($)){let q=j.codePointAt(0);if(q<=31||q>=127&&q<=159)continue;if(q>=8203&&q<=8207||q===65279)continue;if(q>=768&&q<=879||q>=6832&&q<=6911||q>=7616&&q<=7679||q>=8400&&q<=8447||q>=65056&&q<=65071)continue;if(q>=55296&&q<=57343)continue;if(q>=65024&&q<=65039)continue;if(ZU.test(j))continue;if($U().test(j)){U+=2;continue}U+=e1(q,G)}return U}var UU=new TextEncoder,z6=globalThis.Bun,GU=z6?.sleep??KU,e8=z6?.stringWidth??QU,jU=z6?.stripANSI??PQ,qU=z6?.write??_U;async function $8($,J,Z){if(!z6){let U=typeof J==="function"?J():J;return K7(U instanceof URL?U:new URL(U,Z))}let Q=(await $()).default;if(Q.startsWith("file:"))return K7(Q);if(a1(Q))return Q;return s1(OQ(K7(Z)),Q)}function KU($){let J=$ instanceof Date?$.getTime()-Date.now():$;return new Promise((Z)=>setTimeout(Z,J))}async function _U($,J,Z){let Q=$ instanceof URL?K7($):$;if(Z?.createPath)await u1(OQ(Q),{recursive:!0});let U=typeof J==="string"?UU.encode(J):new Uint8Array(J.buffer,J.byteOffset,J.byteLength);return await d1(Q,U,{mode:Z?.mode}),U.byteLength}var CJ;function DU(){if(!CJ)CJ=YU();return CJ}async function YU(){let $=await $8(()=>import("./highlights-s7mqapt6.js",{with:{type:"file"}}),"./assets/javascript/highlights.scm",import.meta.url),J=await $8(()=>import("./tree-sitter-javascript-3h25c6bs.js",{with:{type:"file"}}),"./assets/javascript/tree-sitter-javascript.wasm",import.meta.url),Z=await $8(()=>import("./highlights-qbx2vnme.js",{with:{type:"file"}}),"./assets/typescript/highlights.scm",import.meta.url),Q=await $8(()=>import("./tree-sitter-typescript-f6mq6ze6.js",{with:{type:"file"}}),"./assets/typescript/tree-sitter-typescript.wasm",import.meta.url),U=await $8(()=>import("./highlights-jwvdxm9x.js",{with:{type:"file"}}),"./assets/markdown/highlights.scm",import.meta.url),G=await $8(()=>import("./tree-sitter-markdown-3nemcjhe.js",{with:{type:"file"}}),"./assets/markdown/tree-sitter-markdown.wasm",import.meta.url),j=await $8(()=>import("./injections-srewsjcz.js",{with:{type:"file"}}),"./assets/markdown/injections.scm",import.meta.url),q=await $8(()=>import("./highlights-8d9mgr01.js",{with:{type:"file"}}),"./assets/markdown_inline/highlights.scm",import.meta.url),K=await $8(()=>import("./tree-sitter-markdown_inline-16ftwa53.js",{with:{type:"file"}}),"./assets/markdown_inline/tree-sitter-markdown_inline.wasm",import.meta.url),_=await $8(()=>import("./highlights-r3m83kn9.js",{with:{type:"file"}}),"./assets/zig/highlights.scm",import.meta.url),D=await $8(()=>import("./tree-sitter-zig-s2trkm2d.js",{with:{type:"file"}}),"./assets/zig/tree-sitter-zig.wasm",import.meta.url);return[{filetype:"javascript",aliases:["javascriptreact"],queries:{highlights:[$]},wasm:J},{filetype:"typescript",aliases:["typescriptreact"],queries:{highlights:[Z]},wasm:Q},{filetype:"markdown",queries:{highlights:[U],injections:[j]},wasm:G,injectionMapping:{nodeTypes:{inline:"markdown_inline",pipe_table_cell:"markdown_inline"},infoStringMap:{javascript:"javascript",js:"javascript",jsx:"javascriptreact",javascriptreact:"javascriptreact",typescript:"typescript",ts:"typescript",tsx:"typescriptreact",typescriptreact:"typescriptreact",markdown:"markdown",md:"markdown"}}},{filetype:"markdown_inline",queries:{highlights:[q]},wasm:K},{filetype:"zig",queries:{highlights:[_]},wasm:D}]}function WQ($){return $.includes("$bunfs")||/^B:[\\/]~BUN/i.test($)}function PU(){return process.platform==="win32"?"B:\\~BUN\\root":"/$bunfs/root"}function WU($){return OU(PU(),XU($))}var NU="OpenTUI tree-sitter workers are not available for this runtime yet.";class NQ{constructor(){throw Error(NU)}}var FU=globalThis.Worker??NQ;Y0({name:"OTUI_TREE_SITTER_WORKER_PATH",description:"Path to the TreeSitter worker entry script",type:"string",default:""});var Y7=[];function J9($){for(let J of $)Y7=[...Y7.filter((Z)=>Z.filetype!==J.filetype),J]}var MU=($)=>$.startsWith("http://")||$.startsWith("https://");class H6 extends h1{initialized=!1;worker;buffers=new Map;initializePromise;initializeResolvers;messageCallbacks=new Map;messageIdCounter=0;editQueues=new Map;debouncer;options;constructor($){super();this.options=$,this.debouncer=p1("tree-sitter-client"),this.startWorker()}emitError($,J){if(this.listenerCount("error")>0)this.emit("error",$,J)}emitWarning($,J){if(this.listenerCount("warning")>0)this.emit("warning",$,J)}startWorker(){if(this.worker)return;let $=this.resolveWorkerPath();this.worker=new FU($),this.worker.onmessage=this.handleWorkerMessage.bind(this),this.worker.onerror=(J)=>{if(console.error("TreeSitter worker error:",J.message),this.initializeResolvers)clearTimeout(this.initializeResolvers.timeoutId),this.initializeResolvers.reject(Error(`Worker error: ${J.message}`)),this.initializeResolvers=void 0;this.emitError(`Worker error: ${J.message}`)}}resolveWorkerPath(){if(K0.OTUI_TREE_SITTER_WORKER_PATH)return K0.OTUI_TREE_SITTER_WORKER_PATH;if(typeof OTUI_TREE_SITTER_WORKER_PATH<"u")return OTUI_TREE_SITTER_WORKER_PATH;if(this.options.workerPath)return this.options.workerPath;let $=new URL("./parser.worker.js",import.meta.url).href;if(!HU(M5(import.meta.dirname,"parser.worker.js")))$=new URL("./parser.worker.ts",import.meta.url).href;return $}stopWorker(){if(!this.worker)return;this.worker.terminate(),this.worker=void 0}handleReset(){return this.buffers.clear(),this.stopWorker(),this.startWorker(),this.initialized=!1,this.initializePromise=void 0,this.initializeResolvers=void 0,this.initialize()}async initialize(){if(this.initializePromise)return this.initializePromise;return this.initializePromise=this.initializeClient(),this.initializePromise}async initializeClient(){await new Promise(($,J)=>{let Z=this.options.initTimeout??1e4,Q=setTimeout(()=>{let U=Error("Worker initialization timed out");console.error("TreeSitter client:",U.message),this.initializeResolvers=void 0,J(U)},Z);this.initializeResolvers={resolve:$,reject:J,timeoutId:Q},this.worker?.postMessage({type:"INIT",dataPath:this.options.dataPath})}),await this.registerDefaultParsers(),this.initialized=!0}async registerDefaultParsers(){let $=await DU(),J=new Set(Y7.map((Z)=>Z.filetype));for(let Z of[...$.filter((Q)=>!J.has(Q.filetype)),...Y7])this.addFiletypeParser(Z)}resolvePath($){if(MU($))return $;if(WQ($))return WU(zU($).base);if(!VU($))return M5($);return $}addFiletypeParser($){let J={...$,aliases:$.aliases?[...new Set($.aliases.filter((Z)=>Z!==$.filetype))]:void 0,wasm:this.resolvePath($.wasm),queries:{highlights:$.queries.highlights.map((Z)=>this.resolvePath(Z)),injections:$.queries.injections?.map((Z)=>this.resolvePath(Z))}};this.worker?.postMessage({type:"ADD_FILETYPE_PARSER",filetypeParser:J})}async getPerformance(){let $=`performance_${this.messageIdCounter++}`;return new Promise((J)=>{this.messageCallbacks.set($,J),this.worker?.postMessage({type:"GET_PERFORMANCE",messageId:$})})}async highlightOnce($,J){if(!this.initialized)try{await this.initialize()}catch(Q){return{error:"Could not highlight because of initialization error"}}let Z=`oneshot_${this.messageIdCounter++}`;return new Promise((Q)=>{this.messageCallbacks.set(Z,Q),this.worker?.postMessage({type:"ONESHOT_HIGHLIGHT",content:$,filetype:J,messageId:Z})})}handleWorkerMessage($){let{type:J,bufferId:Z,error:Q,highlights:U,warning:G,messageId:j,hasParser:q,performance:K,version:_}=$.data;if(J==="HIGHLIGHT_RESPONSE"){let D=this.buffers.get(Z);if(!D||!D.hasParser)return;if(D.version!==_){this.resetBuffer(Z,D.version,D.content);return}this.emit("highlights:response",Z,_,U)}if(J==="INIT_RESPONSE"){if(this.initializeResolvers){if(clearTimeout(this.initializeResolvers.timeoutId),Q)console.error("TreeSitter client initialization failed:",Q),this.initializeResolvers.reject(Error(Q));else this.initializeResolvers.resolve();this.initializeResolvers=void 0;return}}if(J==="PARSER_INIT_RESPONSE"){let D=this.messageCallbacks.get(j);if(D)this.messageCallbacks.delete(j),D({hasParser:q,warning:G,error:Q});return}if(J==="PRELOAD_PARSER_RESPONSE"){let D=this.messageCallbacks.get(j);if(D)this.messageCallbacks.delete(j),D({hasParser:q});return}if(J==="BUFFER_DISPOSED"){let D=this.messageCallbacks.get(`dispose_${Z}`);if(D)this.messageCallbacks.delete(`dispose_${Z}`),D(!0);this.emit("buffer:disposed",Z);return}if(J==="PERFORMANCE_RESPONSE"){let D=this.messageCallbacks.get(j);if(D)this.messageCallbacks.delete(j),D(K);return}if(J==="ONESHOT_HIGHLIGHT_RESPONSE"){let D=this.messageCallbacks.get(j);if(D)this.messageCallbacks.delete(j),D({highlights:U,warning:G,error:Q});return}if(J==="UPDATE_DATA_PATH_RESPONSE"){let D=this.messageCallbacks.get(j);if(D)this.messageCallbacks.delete(j),D({error:Q});return}if(J==="CLEAR_CACHE_RESPONSE"){let D=this.messageCallbacks.get(j);if(D)this.messageCallbacks.delete(j),D({error:Q});return}if(G){this.emitWarning(G,Z);return}if(Q){this.emitError(Q,Z);return}if(J==="WORKER_LOG"){let{logType:D,data:z}=$.data,H=z.join(" ");this.emit("worker:log",D,H);return}}async preloadParser($){let J=`has_parser_${this.messageIdCounter++}`;return(await new Promise((Q)=>{this.messageCallbacks.set(J,Q),this.worker?.postMessage({type:"PRELOAD_PARSER",filetype:$,messageId:J})})).hasParser}async createBuffer($,J,Z,Q=1,U=!0){if(!this.initialized){if(!U)return this.emitError("Could not create buffer because client is not initialized"),!1;try{await this.initialize()}catch(K){return this.emitError("Could not create buffer because of initialization error"),!1}}if(this.buffers.has($))throw Error(`Buffer with id ${$} already exists`);this.buffers.set($,{id:$,content:J,filetype:Z,version:Q,hasParser:!1});let G=`init_${this.messageIdCounter++}`,j=await new Promise((K)=>{this.messageCallbacks.set(G,K),this.worker?.postMessage({type:"INITIALIZE_PARSER",bufferId:$,version:Q,content:J,filetype:Z,messageId:G})});if(!j.hasParser){if(this.emit("buffer:initialized",$,!1),Z!=="plaintext")this.emitWarning(j.warning||j.error||"Buffer has no parser",$);return!1}let q={id:$,content:J,filetype:Z,version:Q,hasParser:!0};return this.buffers.set($,q),this.emit("buffer:initialized",$,!0),!0}async updateBuffer($,J,Z,Q){if(!this.initialized)return;let U=this.buffers.get($);if(!U||!U.hasParser)return;if(this.buffers.set($,{...U,content:Z,version:Q}),!this.editQueues.has($))this.editQueues.set($,new XQ((j)=>this.processEdit($,j.edits,j.newContent,j.version,j.isReset)));this.editQueues.get($).enqueue({edits:J,newContent:Z,version:Q})}async processEdit($,J,Z,Q,U=!1){this.worker?.postMessage({type:U?"RESET_BUFFER":"HANDLE_EDITS",bufferId:$,version:Q,content:Z,edits:J})}async removeBuffer($){if(!this.initialized)return;if(this.buffers.delete($),this.editQueues.has($))this.editQueues.get($)?.clear(),this.editQueues.delete($);if(this.worker)await new Promise((J)=>{let Z=`dispose_${$}`;this.messageCallbacks.set(Z,J);try{this.worker.postMessage({type:"DISPOSE_BUFFER",bufferId:$})}catch(Q){console.error("Error disposing buffer",Q),J(!1)}setTimeout(()=>{if(this.messageCallbacks.has(Z))this.messageCallbacks.delete(Z),console.warn({bufferId:$},"Timed out waiting for buffer to be disposed"),J(!1)},3000)});this.debouncer.clearDebounce(`reset-${$}`)}async destroy(){if(this.initializeResolvers)clearTimeout(this.initializeResolvers.timeoutId),this.initializeResolvers.reject(Error("Client destroyed during initialization")),this.initializeResolvers=void 0;for(let[$,J]of this.messageCallbacks.entries())if(typeof J==="function")try{J({error:"Client destroyed"})}catch(Z){}this.messageCallbacks.clear(),c1("tree-sitter-client"),this.debouncer.clear(),this.editQueues.clear(),this.buffers.clear(),this.stopWorker(),this.initialized=!1,this.initializePromise=void 0}async resetBuffer($,J,Z){if(!this.initialized)return;let Q=this.buffers.get($);if(!Q||!Q.hasParser){this.emitError("Cannot reset buffer with no parser",$);return}this.buffers.set($,{...Q,content:Z,version:J}),this.debouncer.debounce(`reset-${$}`,10,()=>this.processEdit($,[],Z,J,!0))}getBuffer($){return this.buffers.get($)}getAllBuffers(){return Array.from(this.buffers.values())}isInitialized(){return this.initialized}async setDataPath($){if(this.options.dataPath===$)return;if(this.options.dataPath=$,this.initialized&&this.worker){let J=`update_datapath_${this.messageIdCounter++}`;return new Promise((Z,Q)=>{this.messageCallbacks.set(J,(U)=>{if(U.error)Q(Error(U.error));else Z()}),this.worker.postMessage({type:"UPDATE_DATA_PATH",dataPath:$,messageId:J})})}}async clearCache(){if(!this.initialized||!this.worker)throw Error("Cannot clear cache: client is not initialized");let $=`clear_cache_${this.messageIdCounter++}`;return new Promise((J,Z)=>{this.messageCallbacks.set($,(Q)=>{if(Q.error)Z(Error(Q.error));else J()}),this.worker.postMessage({type:"CLEAR_CACHE",messageId:$})})}}function EU($){if(!$||typeof $!=="string")return!1;if($.trim().length===0)return!1;if(["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"].includes($.toUpperCase()))return!1;if(/[<>:"|?*/\\\x00-\x1f]/.test($))return!1;if($.endsWith(".")||$.endsWith(" "))return!1;if($==="."||$==="..")return!1;return!0}Y0({name:"XDG_CONFIG_HOME",description:"Base directory for user-specific configuration files",type:"string",default:""});Y0({name:"XDG_DATA_HOME",description:"Base directory for user-specific data files",type:"string",default:""});class X6 extends AU{_appName;_globalConfigPath;_globalConfigFile;_localConfigFile;_globalDataPath;constructor(){super();this._appName="opentui"}get appName(){return this._appName}set appName($){if(!EU($))throw Error(`Invalid app name "${$}": must be a valid directory name`);if(this._appName!==$)this._appName=$,this._globalConfigPath=void 0,this._globalConfigFile=void 0,this._localConfigFile=void 0,this._globalDataPath=void 0,this.emit("paths:changed",this.toObject())}get globalConfigPath(){if(this._globalConfigPath===void 0){let $=A5.homedir(),Z=K0.XDG_CONFIG_HOME||y8.join($,".config");this._globalConfigPath=y8.join(Z,this._appName)}return this._globalConfigPath}get globalConfigFile(){if(this._globalConfigFile===void 0)this._globalConfigFile=y8.join(this.globalConfigPath,"init.ts");return this._globalConfigFile}get localConfigFile(){if(this._localConfigFile===void 0)this._localConfigFile=y8.join(process.cwd(),`.${this._appName}.ts`);return this._localConfigFile}get globalDataPath(){if(this._globalDataPath===void 0){let $=A5.homedir(),Z=K0.XDG_DATA_HOME||y8.join($,".local/share");this._globalDataPath=y8.join(Z,this._appName)}return this._globalDataPath}toObject(){return{globalConfigPath:this.globalConfigPath,globalConfigFile:this.globalConfigFile,localConfigFile:this.localConfigFile,globalDataPath:this.globalDataPath}}}function I7(){return Z$("data-paths-opentui",()=>new X6)}var C7=new Map([["astro","astro"],["bash","bash"],["c","c"],["cc","cpp"],["cjs","javascript"],["clj","clojure"],["cljs","clojure"],["cljc","clojure"],["cpp","cpp"],["cxx","cpp"],["cs","csharp"],["cts","typescript"],["ctsx","typescriptreact"],["dart","dart"],["diff","diff"],["edn","clojure"],["go","go"],["gemspec","ruby"],["groovy","groovy"],["h","c"],["handlebars","handlebars"],["hbs","handlebars"],["hpp","cpp"],["hxx","cpp"],["h++","cpp"],["hh","cpp"],["hrl","erlang"],["hs","haskell"],["htm","html"],["html","html"],["ini","ini"],["js","javascript"],["jsx","javascriptreact"],["jl","julia"],["json","json"],["ksh","bash"],["kt","kotlin"],["kts","kotlin"],["latex","latex"],["less","less"],["lua","lua"],["markdown","markdown"],["md","markdown"],["mdown","markdown"],["mkd","markdown"],["mjs","javascript"],["ml","ocaml"],["mli","ocaml"],["mts","typescript"],["mtsx","typescriptreact"],["patch","diff"],["php","php"],["pl","perl"],["pm","perl"],["ps1","powershell"],["psm1","powershell"],["py","python"],["pyi","python"],["r","r"],["rb","ruby"],["rake","ruby"],["rs","rust"],["ru","ruby"],["sass","sass"],["sc","scala"],["scala","scala"],["scss","scss"],["sh","bash"],["sql","sql"],["svelte","svelte"],["swift","swift"],["ts","typescript"],["tsx","typescriptreact"],["tex","latex"],["toml","toml"],["vue","vue"],["vim","vim"],["xml","xml"],["xsl","xsl"],["yaml","yaml"],["yml","yaml"],["zig","zig"],["zon","zig"],["zsh","bash"],["c++","cpp"],["erl","erlang"],["exs","elixir"],["ex","elixir"],["elm","elm"],["fsharp","fsharp"],["fs","fsharp"],["fsx","fsharp"],["fsscript","fsharp"],["fsi","fsharp"],["java","java"],["css","css"]]),F$=new Map([[".bash_aliases","bash"],[".bash_logout","bash"],[".bash_profile","bash"],[".bashrc","bash"],[".kshrc","bash"],[".profile","bash"],[".vimrc","vim"],[".zlogin","bash"],[".zlogout","bash"],[".zprofile","bash"],[".zshenv","bash"],[".zshrc","bash"],["appfile","ruby"],["berksfile","ruby"],["brewfile","ruby"],["cheffile","ruby"],["containerfile","dockerfile"],["dockerfile","dockerfile"],["fastfile","ruby"],["gemfile","ruby"],["gnumakefile","make"],["gvimrc","vim"],["guardfile","ruby"],["makefile","make"],["podfile","ruby"],["rakefile","ruby"],["thorfile","ruby"],["vagrantfile","ruby"]]);function FQ($){return $.trim().replace(/^\./,"").toLowerCase()||void 0}function BU($){let J=$.trim().replaceAll("\\","/");if(!J)return;return E5.posix.basename(J).toLowerCase()||void 0}function O6($){let J=FQ($);if(!J)return;return C7.get(J)}function S7($){if(typeof $!=="string")return;let J=BU($);if(!J)return;let Z=F$.get(J);if(Z)return Z;let Q=J.lastIndexOf(".");if(Q===-1||Q===J.length-1)return;let U=J.substring(Q+1);return O6(U)}function P6($){if(typeof $!=="string")return;let J=$.trim().split(/\s+/,1)[0],Z=F$.get(J.toLowerCase());if(Z)return Z;let Q=FQ(J);if(!Q)return;return F$.get(Q)??S7(Q)??O6(Q)??Q}class EQ{static hashUrl($){let J=0;for(let Z=0;Z<$.length;Z++){let Q=$.charCodeAt(Z);J=(J<<5)-J+Q,J=J&J}return Math.abs(J).toString(16)}static async downloadOrLoad($,J,Z,Q,U=!0,G){if($.startsWith("http://")||$.startsWith("https://")){let q;if(U){let _=this.hashUrl($);q=G?`${G}-${_}${Q}`:`${_}${Q}`}else q=$$.basename($);let K=$$.join(J,Z,q);await B5($$.dirname(K),{recursive:!0});try{let _=await SJ(K);if(_.byteLength>0)return console.log(`Loaded from cache: ${K} (${$})`),{content:_,filePath:K}}catch(_){}try{console.log(`Downloading from URL: ${$}`);let _=await fetch($);if(!_.ok)return{error:`Failed to fetch from ${$}: ${_.statusText}`};let D=Buffer.from(await _.arrayBuffer());try{await TJ(K,Buffer.from(D)),console.log(`Cached: ${$}`)}catch(z){console.warn(`Failed to cache: ${z}`)}return{content:D,filePath:K}}catch(_){return{error:`Error downloading from ${$}: ${_}`}}}else try{return console.log(`Loading from local path: ${$}`),{content:await SJ($),filePath:$}}catch(q){return{error:`Error loading from local path ${$}: ${q}`}}}static async downloadToPath($,J){let Z=$.startsWith("http://")||$.startsWith("https://");if(await B5($$.dirname(J),{recursive:!0}),Z)try{console.log(`Downloading from URL: ${$}`);let Q=await fetch($);if(!Q.ok)return{error:`Failed to fetch from ${$}: ${Q.statusText}`};let U=Buffer.from(await Q.arrayBuffer());return await TJ(J,Buffer.from(U)),console.log(`Downloaded: ${$} -> ${J}`),{content:U,filePath:J}}catch(Q){return{error:`Error downloading from ${$}: ${Q}`}}else try{console.log(`Copying from local path: ${$}`);let Q=await SJ($);return await TJ(J,Buffer.from(Q)),{content:Q,filePath:J}}catch(Q){return{error:`Error copying from local path ${$}: ${Q}`}}}static async fetchHighlightQueries($,J,Z){let Q=$.map((j)=>this.fetchHighlightQuery(j,J,Z));return(await Promise.all(Q)).filter((j)=>j.trim().length>0).join(`
34
+ `)}static async fetchHighlightQuery($,J,Z){let Q=await this.downloadOrLoad($,J,"queries",".scm",!0,Z);if(Q.error)return console.error(`Error fetching highlight query from ${$}:`,Q.error),"";if(Q.content)return new TextDecoder().decode(Q.content);return""}}var yJ="/Users/runner/work/opentui/opentui/packages/core/src/lib/tree-sitter/assets";function CU(){return{configPath:j0.resolve(yJ,"../parsers-config"),assetsDir:j0.resolve(yJ),outputPath:j0.resolve(yJ,"../default-parsers.ts")}}async function SU($){let J=j0.extname($),Z=$;if(J===""){let U=(await IU(j0.dirname($))).find((G)=>G.startsWith(j0.basename($))&&(G.endsWith(".json")||G.endsWith(".ts")||G.endsWith(".js")));if(!U)throw Error(`No config file found for ${$}`);Z=j0.join(j0.dirname($),U),J=j0.extname(Z)}if(J===".json"){let Q=await MQ(Z,"utf-8");return JSON.parse(Q)}else if(J===".ts"||J===".js"){let{default:Q}=await import(Z);return Q}throw Error(`Unsupported config file extension: ${J}`)}async function TU($,J,Z,Q){let U=j0.join(Z,$),G=j0.basename(J),j=j0.join(U,G),q=await EQ.downloadToPath(J,j);if(q.error)throw Error(`Failed to download language for ${$}: ${q.error}`);return"./"+j0.relative(j0.dirname(Q),j)}async function L5($,J,Z,Q,U,G){let j=j0.join(Z,$),q=j0.join(j,`${U}.scm`),K=[];for(let D=0;D<J.length;D++){let z=J[D];if(z.startsWith("./")){console.log(` Using local query ${D+1}/${J.length}: ${z}`);try{let H=j0.resolve(j0.dirname(G),z),O=await MQ(H,"utf-8");if(O.trim())K.push(O),console.log(` \u2713 Loaded ${O.split(`
35
+ `).length} lines from local file`)}catch(H){console.warn(`Failed to read local query from ${z}: ${H}`);continue}}else{console.log(` Downloading query ${D+1}/${J.length}: ${z}`);try{let H=await fetch(z);if(!H.ok){console.warn(`Failed to download query from ${z}: ${H.statusText}`);continue}let O=await H.text();if(O.trim())K.push(`; Query from: ${z}
36
+ ${O}`),console.log(` \u2713 Downloaded ${O.split(`
37
+ `).length} lines`)}catch(H){console.warn(`Failed to download query from ${z}: ${H}`);continue}}}let _=K.join(`
38
+
39
+ `);return await AQ(q,_,"utf-8"),console.log(` Combined ${K.length} queries into ${q}`),"./"+j0.relative(j0.dirname(Q),q)}async function yU($,J){let Z=$.map((G)=>{let j=G.filetype.replace(/[^a-zA-Z0-9]/g,"_"),q=[`const ${j}_highlights = await resolveBundledFilePath(`,` () => import("${G.highlightsPath}" as string, { with: { type: "file" } }),`,` "${G.highlightsPath}",`," import.meta.url,",")",`const ${j}_language = await resolveBundledFilePath(`,` () => import("${G.languagePath}" as string, { with: { type: "file" } }),`,` "${G.languagePath}",`," import.meta.url,",")"];if(G.injectionsPath)q.push(`const ${j}_injections = await resolveBundledFilePath(`,` () => import("${G.injectionsPath}" as string, { with: { type: "file" } }),`,` "${G.injectionsPath}",`," import.meta.url,",")");return q.join(`
40
+ `)}).join(`
41
+ `),Q=$.map((G)=>{let j=G.filetype.replace(/[^a-zA-Z0-9]/g,"_"),q=[` highlights: [${j}_highlights],`];if(G.injectionsPath)q.push(` injections: [${j}_injections],`);let K=G.injectionMapping?` injectionMapping: ${JSON.stringify(G.injectionMapping,null,10)},`:"",_=G.aliases?.length?` aliases: ${JSON.stringify(G.aliases)},`:"";return` {
42
+ filetype: "${G.filetype}",
43
+ ${_?_+`
44
+ `:""} queries: {
45
+ ${q.join(`
46
+ `)}
47
+ },
48
+ wasm: ${j}_language,${K?`
49
+ `+K:""}
50
+ }`}).join(`,
51
+ `),U=`// This file is generated by assets/update.ts - DO NOT EDIT MANUALLY
52
+ // Run 'bun assets/update.ts' to regenerate this file
53
+ // Last generated: ${new Date().toISOString()}
54
+
55
+ import type { FiletypeParserOptions } from "./types.js"
56
+ import { resolveBundledFilePath } from "../../platform/runtime.js"
57
+
58
+ // Cached parsers to avoid re-resolving paths on every call
59
+ let _cachedParsers: Promise<FiletypeParserOptions[]> | undefined
60
+
61
+ export function getParsers(): Promise<FiletypeParserOptions[]> {
62
+ if (!_cachedParsers) {
63
+ _cachedParsers = loadParsers()
64
+ }
65
+ return _cachedParsers
66
+ }
67
+
68
+ async function loadParsers(): Promise<FiletypeParserOptions[]> {
69
+ ${Z}
70
+
71
+ return [
72
+ ${Q},
73
+ ]
74
+ }
75
+ `;await LU(j0.dirname(J),{recursive:!0}),await AQ(J,U,"utf-8"),console.log(`Generated ${j0.basename(J)} with ${$.length} parsers`)}async function Z9($){let J={...CU(),...$};try{console.log("Loading parsers configuration..."),console.log(` Config: ${J.configPath}`),console.log(` Assets Dir: ${J.assetsDir}`),console.log(` Output: ${J.outputPath}`);let Z=await SU(J.configPath);console.log(`Found ${Z.parsers.length} parsers to process`);let Q=[];for(let U of Z.parsers){console.log(`Processing ${U.filetype}...`),console.log(" Downloading language...");let G=await TU(U.filetype,U.wasm,J.assetsDir,J.outputPath);console.log(` Downloading ${U.queries.highlights.length} highlight queries...`);let j=await L5(U.filetype,U.queries.highlights,J.assetsDir,J.outputPath,"highlights",J.configPath),q;if(U.queries.injections&&U.queries.injections.length>0)console.log(` Downloading ${U.queries.injections.length} injection queries...`),q=await L5(U.filetype,U.queries.injections,J.assetsDir,J.outputPath,"injections",J.configPath);Q.push({filetype:U.filetype,aliases:U.aliases,languagePath:G,highlightsPath:j,injectionsPath:q,injectionMapping:U.injectionMapping}),console.log(` \u2713 Completed ${U.filetype}`)}console.log("Generating output file..."),await yU(Q,J.outputPath),console.log("\u2705 Update completed successfully!")}catch(Z){console.error("\u274C Update failed:",Z),process.exit(1)}}function W6(){let $=I7(),J={dataPath:$.globalDataPath};return Z$("tree-sitter-client",()=>{let Z=new H6(J);return $.on("paths:changed",(Q)=>{Z.setDataPath(Q.globalDataPath)}),Z})}class BQ{undoStack=[];redoStack=[];saveSnapshot($,J){let Z={extmarks:new Map(Array.from($.entries()).map(([Q,U])=>[Q,{...U}])),nextId:J};this.undoStack.push(Z),this.redoStack=[]}undo(){if(this.undoStack.length===0)return null;return this.undoStack.pop()}redo(){if(this.redoStack.length===0)return null;return this.redoStack.pop()}pushRedo($){this.redoStack.push($)}pushUndo($){this.undoStack.push($)}clear(){this.undoStack=[],this.redoStack=[]}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}}class N6{editBuffer;editorView;extmarks=new Map;extmarksByTypeId=new Map;metadata=new Map;nextId=1;destroyed=!1;history=new BQ;typeNameToId=new Map;typeIdToName=new Map;nextTypeId=1;originalMoveCursorLeft;originalMoveCursorRight;originalSetCursorByOffset;originalMoveUpVisual;originalMoveDownVisual;originalDeleteCharBackward;originalDeleteChar;originalInsertText;originalInsertChar;originalDeleteRange;originalSetText;originalReplaceText;originalClear;originalNewLine;originalDeleteLine;originalEditorViewDeleteSelectedText;originalUndo;originalRedo;constructor($,J){this.editBuffer=$,this.editorView=J,this.originalMoveCursorLeft=$.moveCursorLeft.bind($),this.originalMoveCursorRight=$.moveCursorRight.bind($),this.originalSetCursorByOffset=$.setCursorByOffset.bind($),this.originalMoveUpVisual=J.moveUpVisual.bind(J),this.originalMoveDownVisual=J.moveDownVisual.bind(J),this.originalDeleteCharBackward=$.deleteCharBackward.bind($),this.originalDeleteChar=$.deleteChar.bind($),this.originalInsertText=$.insertText.bind($),this.originalInsertChar=$.insertChar.bind($),this.originalDeleteRange=$.deleteRange.bind($),this.originalSetText=$.setText.bind($),this.originalReplaceText=$.replaceText.bind($),this.originalClear=$.clear.bind($),this.originalNewLine=$.newLine.bind($),this.originalDeleteLine=$.deleteLine.bind($),this.originalEditorViewDeleteSelectedText=J.deleteSelectedText.bind(J),this.originalUndo=$.undo.bind($),this.originalRedo=$.redo.bind($),this.wrapCursorMovement(),this.wrapDeletion(),this.wrapInsertion(),this.wrapEditorViewDeleteSelectedText(),this.wrapUndoRedo(),this.setupContentChangeListener()}wrapCursorMovement(){this.editBuffer.moveCursorLeft=()=>{if(this.destroyed){this.originalMoveCursorLeft();return}let $=this.editorView.getVisualCursor().offset;if(this.editorView.hasSelection()){this.originalMoveCursorLeft();return}let Z=$-1;if(Z<0){this.originalMoveCursorLeft();return}let Q=this.findVirtualExtmarkContaining(Z);if(Q&&$>=Q.end){this.editBuffer.setCursorByOffset(Q.start-1);return}this.originalMoveCursorLeft()},this.editBuffer.moveCursorRight=()=>{if(this.destroyed){this.originalMoveCursorRight();return}let $=this.editorView.getVisualCursor().offset;if(this.editorView.hasSelection()){this.originalMoveCursorRight();return}let Z=$+1,Q=this.editBuffer.getText().length;if(Z>Q){this.originalMoveCursorRight();return}let U=this.findVirtualExtmarkContaining(Z);if(U&&$<=U.start){this.editBuffer.setCursorByOffset(U.end);return}this.originalMoveCursorRight()},this.editorView.moveUpVisual=()=>{if(this.destroyed){this.originalMoveUpVisual();return}if(this.editorView.hasSelection()){this.originalMoveUpVisual();return}let J=this.editorView.getVisualCursor().offset;this.originalMoveUpVisual();let Z=this.editorView.getVisualCursor().offset,Q=this.findVirtualExtmarkContaining(Z);if(Q){let U=Z-Q.start,G=Q.end-Z;if(U<G)this.editorView.setCursorByOffset(Q.start-1);else this.editorView.setCursorByOffset(Q.end)}},this.editorView.moveDownVisual=()=>{if(this.destroyed){this.originalMoveDownVisual();return}if(this.editorView.hasSelection()){this.originalMoveDownVisual();return}let J=this.editorView.getVisualCursor().offset;this.originalMoveDownVisual();let Z=this.editorView.getVisualCursor().offset,Q=this.findVirtualExtmarkContaining(Z);if(Q){let U=Z-Q.start,G=Q.end-Z;if(U<G){let j=Q.start-1,q=j<=J?Q.end:j;this.editorView.setCursorByOffset(q)}else this.editorView.setCursorByOffset(Q.end)}},this.editBuffer.setCursorByOffset=($)=>{if(this.destroyed){this.originalSetCursorByOffset($);return}let J=this.editorView.getVisualCursor().offset;if(this.editorView.hasSelection()){this.originalSetCursorByOffset($);return}if($>J){let U=this.findVirtualExtmarkContaining($);if(U&&J<=U.start){this.originalSetCursorByOffset(U.end);return}}else for(let U of this.extmarks.values())if(U.virtual&&J>=U.end&&$<U.end&&$>=U.start){this.originalSetCursorByOffset(U.start-1);return}this.originalSetCursorByOffset($)}}wrapDeletion(){this.editBuffer.deleteCharBackward=()=>{if(this.destroyed){this.originalDeleteCharBackward();return}this.saveSnapshot();let $=this.editorView.getVisualCursor().offset,J=this.editorView.hasSelection();if($===0){this.originalDeleteCharBackward();return}if(J){this.originalDeleteCharBackward();return}let Z=$-1,Q=this.findVirtualExtmarkContaining(Z);if(Q&&$===Q.end){let U=this.offsetToPosition(Q.start),G=this.offsetToPosition(Q.end),j=Q.start,q=Q.end-Q.start;this.deleteExtmarkById(Q.id),this.originalDeleteRange(U.row,U.col,G.row,G.col),this.adjustExtmarksAfterDeletion(j,q),this.updateHighlights();return}this.originalDeleteCharBackward(),this.adjustExtmarksAfterDeletion(Z,1)},this.editBuffer.deleteChar=()=>{if(this.destroyed){this.originalDeleteChar();return}this.saveSnapshot();let $=this.editorView.getVisualCursor().offset,J=this.editBuffer.getText().length,Z=this.editorView.hasSelection();if($>=J){this.originalDeleteChar();return}if(Z){this.originalDeleteChar();return}let Q=$,U=this.findVirtualExtmarkContaining(Q);if(U&&$===U.start){let G=this.offsetToPosition(U.start),j=this.offsetToPosition(U.end),q=U.start,K=U.end-U.start;this.deleteExtmarkById(U.id),this.originalDeleteRange(G.row,G.col,j.row,j.col),this.adjustExtmarksAfterDeletion(q,K),this.updateHighlights();return}this.originalDeleteChar(),this.adjustExtmarksAfterDeletion(Q,1)},this.editBuffer.deleteRange=($,J,Z,Q)=>{if(this.destroyed){this.originalDeleteRange($,J,Z,Q);return}this.saveSnapshot();let U=this.positionToOffset($,J),j=this.positionToOffset(Z,Q)-U;this.originalDeleteRange($,J,Z,Q),this.adjustExtmarksAfterDeletion(U,j)},this.editBuffer.deleteLine=()=>{if(this.destroyed){this.originalDeleteLine();return}this.saveSnapshot();let $=this.editBuffer.getText(),J=this.editorView.getVisualCursor().offset,Z=0;for(let G=J-1;G>=0;G--)if($[G]===`
76
+ `){Z=G+1;break}let Q=$.length;for(let G=J;G<$.length;G++)if($[G]===`
77
+ `){Q=G+1;break}let U=Q-Z;this.originalDeleteLine(),this.adjustExtmarksAfterDeletion(Z,U)}}wrapInsertion(){this.editBuffer.insertText=($)=>{if(this.destroyed){this.originalInsertText($);return}this.saveSnapshot();let J=this.editorView.getVisualCursor().offset;this.originalInsertText($),this.adjustExtmarksAfterInsertion(J,$.length)},this.editBuffer.insertChar=($)=>{if(this.destroyed){this.originalInsertChar($);return}this.saveSnapshot();let J=this.editorView.getVisualCursor().offset;this.originalInsertChar($),this.adjustExtmarksAfterInsertion(J,1)},this.editBuffer.setText=($)=>{if(this.destroyed){this.originalSetText($);return}this.clear(),this.originalSetText($)},this.editBuffer.replaceText=($)=>{if(this.destroyed){this.originalReplaceText($);return}this.saveSnapshot(),this.clear(),this.originalReplaceText($)},this.editBuffer.clear=()=>{if(this.destroyed){this.originalClear();return}this.saveSnapshot(),this.clear(),this.originalClear()},this.editBuffer.newLine=()=>{if(this.destroyed){this.originalNewLine();return}this.saveSnapshot();let $=this.editorView.getVisualCursor().offset;this.originalNewLine(),this.adjustExtmarksAfterInsertion($,1)}}wrapEditorViewDeleteSelectedText(){this.editorView.deleteSelectedText=()=>{if(this.destroyed){this.originalEditorViewDeleteSelectedText();return}this.saveSnapshot();let $=this.editorView.getSelection();if(!$){this.originalEditorViewDeleteSelectedText();return}let J=Math.min($.start,$.end),Z=Math.abs($.end-$.start);if(this.originalEditorViewDeleteSelectedText(),Z>0)this.adjustExtmarksAfterDeletion(J,Z)}}setupContentChangeListener(){this.editBuffer.on("content-changed",()=>{if(this.destroyed)return;this.updateHighlights()})}deleteExtmarkById($){let J=this.extmarks.get($);if(J)this.extmarks.delete($),this.extmarksByTypeId.get(J.typeId)?.delete($),this.metadata.delete($)}findVirtualExtmarkContaining($){for(let J of this.extmarks.values())if(J.virtual&&$>=J.start&&$<J.end)return J;return null}adjustExtmarksAfterInsertion($,J){for(let Z of this.extmarks.values())if(Z.start>=$)Z.start+=J,Z.end+=J;else if(Z.end>$)Z.end+=J;this.updateHighlights()}adjustExtmarksAfterDeletion($,J){let Z=[];for(let Q of this.extmarks.values()){if(Q.end<=$)continue;if(Q.start>=$+J)Q.start-=J,Q.end-=J;else if(Q.start>=$&&Q.end<=$+J)Z.push(Q.id);else if(Q.start<$&&Q.end>$+J)Q.end-=J;else if(Q.start<$&&Q.end>$)Q.end-=Math.min(Q.end,$+J)-$;else if(Q.start<$+J&&Q.end>$+J){let U=$+J-Q.start;Q.start=$,Q.end-=J}}for(let Q of Z)this.deleteExtmarkById(Q);this.updateHighlights()}offsetToPosition($){let J=this.editBuffer.offsetToPosition($);if(!J)return{row:0,col:0};return J}positionToOffset($,J){return this.editBuffer.positionToOffset($,J)}updateHighlights(){this.editBuffer.clearAllHighlights();for(let $ of this.extmarks.values())if($.styleId!==void 0){let J=this.offsetExcludingNewlines($.start),Z=this.offsetExcludingNewlines($.end);this.editBuffer.addHighlightByCharRange({start:J,end:Z,styleId:$.styleId,priority:$.priority??0,hlRef:$.id})}}offsetExcludingNewlines($){let J=this.editBuffer.getText(),Z=0,Q=0,U=0;while(U<J.length&&Z<$)if(J[U]===`
78
+ `)Z++,Q++,U++;else{let G=U;while(G<J.length&&J[G]!==`
79
+ `)G++;let j=J.substring(U,G),q=e8(j);if(Z+q<$)Z+=q,U=G;else{for(let K=U;K<G&&Z<$;K++){let _=e8(J[K]);Z+=_}break}}return $-Q}create($){if(this.destroyed)throw Error("ExtmarksController is destroyed");let J=this.nextId++,Z=$.typeId??0,Q={id:J,start:$.start,end:$.end,virtual:$.virtual??!1,styleId:$.styleId,priority:$.priority,data:$.data,typeId:Z};if(this.extmarks.set(J,Q),!this.extmarksByTypeId.has(Z))this.extmarksByTypeId.set(Z,new Set);if(this.extmarksByTypeId.get(Z).add(J),$.metadata!==void 0)this.metadata.set(J,$.metadata);return this.updateHighlights(),J}delete($){if(this.destroyed)throw Error("ExtmarksController is destroyed");if(!this.extmarks.get($))return!1;return this.deleteExtmarkById($),this.updateHighlights(),!0}get($){if(this.destroyed)return null;return this.extmarks.get($)??null}getAll(){if(this.destroyed)return[];return Array.from(this.extmarks.values())}getVirtual(){if(this.destroyed)return[];return Array.from(this.extmarks.values()).filter(($)=>$.virtual)}getAtOffset($){if(this.destroyed)return[];return Array.from(this.extmarks.values()).filter((J)=>$>=J.start&&$<J.end)}getAllForTypeId($){if(this.destroyed)return[];let J=this.extmarksByTypeId.get($);if(!J)return[];return Array.from(J).map((Z)=>this.extmarks.get(Z)).filter((Z)=>Z!==void 0)}clear(){if(this.destroyed)return;this.extmarks.clear(),this.extmarksByTypeId.clear(),this.metadata.clear(),this.updateHighlights()}saveSnapshot(){this.history.saveSnapshot(this.extmarks,this.nextId)}restoreSnapshot($){this.extmarks=new Map(Array.from($.extmarks.entries()).map(([J,Z])=>[J,{...Z}])),this.nextId=$.nextId,this.updateHighlights()}wrapUndoRedo(){this.editBuffer.undo=()=>{if(this.destroyed)return this.originalUndo();if(!this.history.canUndo())return this.originalUndo();let $={extmarks:new Map(Array.from(this.extmarks.entries()).map(([Z,Q])=>[Z,{...Q}])),nextId:this.nextId};this.history.pushRedo($);let J=this.history.undo();return this.restoreSnapshot(J),this.originalUndo()},this.editBuffer.redo=()=>{if(this.destroyed)return this.originalRedo();if(!this.history.canRedo())return this.originalRedo();let $={extmarks:new Map(Array.from(this.extmarks.entries()).map(([Z,Q])=>[Z,{...Q}])),nextId:this.nextId};this.history.pushUndo($);let J=this.history.redo();return this.restoreSnapshot(J),this.originalRedo()}}registerType($){if(this.destroyed)throw Error("ExtmarksController is destroyed");let J=this.typeNameToId.get($);if(J!==void 0)return J;let Z=this.nextTypeId++;return this.typeNameToId.set($,Z),this.typeIdToName.set(Z,$),Z}getTypeId($){if(this.destroyed)return null;return this.typeNameToId.get($)??null}getTypeName($){if(this.destroyed)return null;return this.typeIdToName.get($)??null}getMetadataFor($){if(this.destroyed)return;return this.metadata.get($)}destroy(){if(this.destroyed)return;this.editBuffer.moveCursorLeft=this.originalMoveCursorLeft,this.editBuffer.moveCursorRight=this.originalMoveCursorRight,this.editBuffer.setCursorByOffset=this.originalSetCursorByOffset,this.editorView.moveUpVisual=this.originalMoveUpVisual,this.editorView.moveDownVisual=this.originalMoveDownVisual,this.editBuffer.deleteCharBackward=this.originalDeleteCharBackward,this.editBuffer.deleteChar=this.originalDeleteChar,this.editBuffer.insertText=this.originalInsertText,this.editBuffer.insertChar=this.originalInsertChar,this.editBuffer.deleteRange=this.originalDeleteRange,this.editBuffer.setText=this.originalSetText,this.editBuffer.replaceText=this.originalReplaceText,this.editBuffer.clear=this.originalClear,this.editBuffer.newLine=this.originalNewLine,this.editBuffer.deleteLine=this.originalDeleteLine,this.editorView.deleteSelectedText=this.originalEditorViewDeleteSelectedText,this.editBuffer.undo=this.originalUndo,this.editBuffer.redo=this.originalRedo,this.extmarks.clear(),this.extmarksByTypeId.clear(),this.metadata.clear(),this.typeNameToId.clear(),this.typeIdToName.clear(),this.history.clear(),this.destroyed=!0}}function T7($,J){return new N6($,J)}var RU=new m8;Y0({name:"OTUI_PALETTE_IDLE_TIMEOUT_MS",description:"Milliseconds of silence after palette queries before using fallback colors.",type:"number",default:300});var Q7=/\x1b]4;(\d+);(?:(?:rgb:)([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)|#([0-9a-fA-F]{6}))(?:\x07|\x1b\\)/g,I5=/\x1b](\d+);(?:(?:rgb:)([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)|#([0-9a-fA-F]{6}))(?:\x07|\x1b\\)/g;function RJ($){let J=parseInt($,16),Z=(1<<4*$.length)-1;return Math.round(J/Z*255).toString(16).padStart(2,"0")}function C5($,J,Z,Q){if(Q)return`#${Q.toLowerCase()}`;if($&&J&&Z)return`#${RJ($)}${RJ(J)}${RJ(Z)}`;return"#000000"}function wU($){return`\x1BPtmux;${$.replace(/\x1b/g,"\x1B\x1B")}\x1B\\`}class F6{stdin;stdout;writeFn;activeQuerySessions=[];inLegacyTmux;inTmux;oscSource;clock;constructor($){let{stdin:J,stdout:Z,writeFn:Q,isLegacyTmux:U,isTmux:G,oscSource:j,clock:q}=$;this.stdin=J,this.stdout=Z,this.writeFn=Q||((K)=>Z.write(K)),this.inLegacyTmux=U??!1,this.inTmux=G??this.inLegacyTmux,this.oscSource=j,this.clock=q??RU}writeOsc($,J=!1){let Z=J&&this.inLegacyTmux?wU($):$;return this.writeFn(Z)}cleanup(){for(let $ of[...this.activeQuerySessions])$();this.activeQuerySessions=[]}subscribeInput($){if(this.oscSource)return this.oscSource.subscribeOsc((J)=>{$(J)});return this.stdin.on("data",$),()=>{this.stdin.removeListener("data",$)}}createQuerySession(){let $=new Set,J=new Set,Z=!1,Q=()=>{if(Z)return;Z=!0;for(let G of $)this.clock.clearTimeout(G);$.clear();for(let G of J)G();J.clear();let U=this.activeQuerySessions.indexOf(Q);if(U!==-1)this.activeQuerySessions.splice(U,1)};return this.activeQuerySessions.push(Q),{setTimer:(U,G)=>{let j=this.clock.setTimeout(U,G);return $.add(j),j},resetTimer:(U,G,j)=>{if(U)this.clock.clearTimeout(U),$.delete(U);let q=this.clock.setTimeout(G,j);return $.add(q),q},subscribeInput:(U)=>{let G=this.subscribeInput(U);return J.add(G),()=>{if(!J.has(G))return;J.delete(G),G()}},cleanup:Q}}async detectOSCSupport($=300){if(!this.stdout.isTTY||!this.stdin.isTTY)return!1;return new Promise((Z)=>{let Q=this.createQuerySession(),U="",G=!1,j=(K)=>{if(G)return;G=!0,Q.cleanup(),Z(K)},q=(K)=>{if(U+=K.toString(),Q7.lastIndex=0,Q7.test(U))j(!0)};Q.setTimer(()=>{j(!1)},$),Q.subscribeInput(q),this.writeOsc("\x1B]4;0;?\x07",!0)})}async queryPalette($,J=1200,Z=K0.OTUI_PALETTE_IDLE_TIMEOUT_MS){let Q=this.stdout,U=new Map;if($.forEach((G)=>U.set(G,null)),!Q.isTTY||!this.stdin.isTTY)return U;return new Promise((G)=>{let j=this.createQuerySession(),q="",K=null,_=!1,D=()=>{if(_)return;_=!0,j.cleanup(),G(U)},z=(H)=>{q+=H.toString();let O;Q7.lastIndex=0;while(O=Q7.exec(q)){let P=parseInt(O[1],10);if(U.has(P))U.set(P,C5(O[2],O[3],O[4],O[5]))}if(q.length>8192)q=q.slice(-4096);if([...U.values()].filter((P)=>P!==null).length===U.size){D();return}K=j.resetTimer(K,D,Z)};j.setTimer(D,J),j.subscribeInput(z),this.writeOsc($.map((H)=>`\x1B]4;${H};?\x07`).join(""),!0),K=j.resetTimer(K,D,Z)})}async querySpecialColors($=1200,J=K0.OTUI_PALETTE_IDLE_TIMEOUT_MS){let Z=this.stdout,Q={10:null,11:null,12:null,13:null,14:null,15:null,16:null,17:null,19:null},U=this.inTmux?[10,11,12]:[10,11,12,13,14,15,16,17,19];if(!Z.isTTY||!this.stdin.isTTY)return Q;return new Promise((G)=>{let j=this.createQuerySession(),q="",K=null,_=!1,D=()=>{if(_)return;_=!0,j.cleanup(),G(Q)},z=(H)=>{q+=H.toString();let O=!1,X;I5.lastIndex=0;while(X=I5.exec(q)){let P=parseInt(X[1],10);if(P in Q)Q[P]=C5(X[2],X[3],X[4],X[5]),O=!0}if(q.length>8192)q=q.slice(-4096);if(U.every((P)=>Q[P]!==null)){D();return}if(!O)return;K=j.resetTimer(K,D,J)};j.setTimer(D,$),j.subscribeInput(z),this.writeOsc(U.map((H)=>`\x1B]${H};?\x07`).join("")),K=j.resetTimer(K,D,J)})}async detect($){let{timeout:J=5000,size:Z=16}=$||{};if(!await this.detectOSCSupport())return{palette:Array(Z).fill(null),defaultForeground:null,defaultBackground:null,cursorColor:null,mouseForeground:null,mouseBackground:null,tekForeground:null,tekBackground:null,highlightBackground:null,highlightForeground:null};let U=[...Array(Z).keys()],G=K0.OTUI_PALETTE_IDLE_TIMEOUT_MS,[j,q]=await Promise.all([this.queryPalette(U,J,G),this.querySpecialColors(J,G)]);return{palette:[...Array(Z).keys()].map((K)=>j.get(K)??null),defaultForeground:q[10],defaultBackground:q[11],cursorColor:q[12],mouseForeground:q[13],mouseBackground:q[14],tekForeground:q[15],tekBackground:q[16],highlightBackground:q[17],highlightForeground:q[19]}}}function y7($){return new F6($)}var kU=l.fromInts(...Q6),vU=l.fromInts(...U6),wJ=null;function xU(){if(!wJ)wJ=Array.from({length:256},($,J)=>{let[Z,Q,U]=j6(J);return l.fromInts(Z,Q,U)});return wJ}function M6($){let J=xU();return{palette:Array.from({length:256},(Z,Q)=>{let U=$?.palette[Q];return U?l.fromHex(U):l.clone(J[Q])}),defaultForeground:$?.defaultForeground?l.fromHex($.defaultForeground):l.clone(kU),defaultBackground:$?.defaultBackground?l.fromHex($.defaultBackground):l.clone(vU)}}function e$($){let J=M6($);return[J.palette.map((Q)=>Q.toInts().join(",")).join(";"),J.defaultForeground.toInts().join(","),J.defaultBackground.toInts().join(",")].join("|")}var fU=new TextDecoder;function A6($){return fU.decode($)}function E6($){return jU($)}var gU=["markup.link.url","string.special.url"];function R7($,J){let{content:Z,highlights:Q}=J,U=[];for(let j=0;j<Q.length;j++){let[q,K,_]=Q[j];if(!gU.includes(_))continue;let D=Z.slice(q,K);U.push({start:q,end:K,url:D});for(let z=j-1;z>=0;z--){let[H,O,X]=Q[z];if(X==="markup.link.label"){U.push({start:H,end:O,url:D});break}if(!X.startsWith("markup.link"))break}}if(U.length===0)return $;let G=0;for(let j of $){if(j.text.length<=1)continue;let q=Z.indexOf(j.text,G);if(q<0)continue;for(let K of U)if(q<K.end&&q+j.text.length>K.start){j.link={url:K.url};break}G=q+j.text.length}return $}var t={char:"char",int8_t:"int8_t",i8:"i8",uint8_t:"uint8_t",u8:"u8",int16_t:"int16_t",i16:"i16",uint16_t:"uint16_t",u16:"u16",int32_t:"int32_t",i32:"i32",int:"int",uint32_t:"uint32_t",u32:"u32",int64_t:"int64_t",i64:"i64",uint64_t:"uint64_t",u64:"u64",double:"double",f64:"f64",float:"float",f32:"f32",bool:"bool",ptr:"ptr",pointer:"pointer",void:"void",cstring:"cstring",function:"function",usize:"usize",callback:"callback",napi_env:"napi_env",napi_value:"napi_value",buffer:"buffer"},hU="OpenTUI native FFI is not available for this runtime yet",pU="Bun FFI backend does not support dlopen(null)",LQ="Cannot create FFI callback after library.close() has been called",cU="Node FFI callbacks are same-thread only and do not support threadsafe callbacks",uU="Node FFI backend does not support Bun N-API FFI types",dU="Node FFI backend does not support FFIFunction.ptr overrides",S5="node:ffi ptr() only supports ArrayBuffer and ArrayBufferView values backed by ArrayBuffer",aU="Node FFI backend does not normalize string return values (yet)",sU="Node FFI backend does not support usize until (yet)",Q9="Pointer must be non-negative",IQ="Pointer exceeds safe integer range";function kJ($){throw Error(hU,{cause:$})}function lU($){return{dlopen(){return kJ($)},ptr(){return kJ($)},suffix:"",toArrayBuffer(){return kJ($)}}}var cJ=typeof process<"u"&&typeof process.versions==="object"&&process.versions!==null&&typeof process.versions.bun==="string",T5=bU(import.meta.url),w7=rU();function rU(){if(cJ)return oU(T5("bun:ffi"));try{let $=T5("node:ffi");return nU($.default??$)}catch($){return lU($)}}function V7($){if(cJ&&typeof $==="bigint")return CQ($);if(!cJ&&typeof $==="number")return SQ($);return $}function _0($){return $?1:0}function CQ($){if($<0n)throw Error(Q9);if($>BigInt(Number.MAX_SAFE_INTEGER))throw Error(IQ);return Number($)}function SQ($){if($<0)throw Error(Q9);if(!Number.isSafeInteger($))throw Error(IQ);return BigInt($)}function TQ($,J){let Z=$.ptr,Q=!1,U={get ptr(){return Z},get threadsafe(){return $.threadsafe},close(){if(Q)return;Q=!0,J.delete(U);try{$.close()}finally{Z=null}}};return J.add(U),U}function iU($){return Object.fromEntries(Object.entries($).map(([J,Z])=>[J,yQ(Z)]))}function yQ($){return{args:$.args,returns:$.returns,ptr:$.ptr==null?void 0:RQ($.ptr),threadsafe:$.threadsafe}}function RQ($){return typeof $==="bigint"?CQ($):$}function oU($){return{dlopen(J,Z){if(J===null)throw Error(pU);let Q=$.dlopen(J,iU(Z)),U=new Set,G=!1;return{symbols:Q.symbols,createCallback(j,q){if(G)throw Error(LQ);let K=new $.JSCallback(j,yQ(q));return TQ(K,U)},close(){if(G)return;G=!0;try{Q.close()}finally{for(let j of[...U])j.close()}}}},ptr:$.ptr,suffix:$.suffix,toArrayBuffer(J,Z,Q){return $.toArrayBuffer(RQ(J),Z,Q)}}}function nU($){return{dlopen(J,Z){let{lib:Q,functions:U}=$.dlopen(tU(J),eU(Z)),G=new Set,j=!1,q=!1;return{symbols:U,createCallback(K,_){if(j)throw Error(LQ);if(_.threadsafe)throw Error(cU);let D=Q.registerCallback(wQ(_),K);return TQ({ptr:D,threadsafe:!1,close(){if(!q)Q.unregisterCallback(D)}},G)},close(){if(j)return;j=!0;try{q=!0,Q.close()}finally{for(let K of[...G])K.close()}}}},ptr(J){if(ArrayBuffer.isView(J)){if(!(J.buffer instanceof ArrayBuffer))throw TypeError(S5);return $.getRawPointer(J.buffer)+BigInt(J.byteOffset)}if(J instanceof ArrayBuffer)return $.getRawPointer(J);throw TypeError(S5)},suffix:$.suffix,toArrayBuffer(J,Z,Q){return $.toArrayBuffer(JG(J)+BigInt(Z??0),Q,!1)}}}function tU($){return $ instanceof URL?mU($):$}function eU($){return Object.fromEntries(Object.entries($).map(([J,Z])=>[J,wQ(Z)]))}function wQ($){if($.ptr!=null)throw Error(dU);return{parameters:($.args??[]).map((J)=>y5(J,"parameter")),result:y5($.returns??t.void,"result")}}function y5($,J){switch($){case t.char:return"char";case t.int8_t:case t.i8:return"i8";case t.uint8_t:case t.u8:return"u8";case t.int16_t:case t.i16:return"i16";case t.uint16_t:case t.u16:return"u16";case t.int32_t:case t.int:case t.i32:return"i32";case t.uint32_t:case t.u32:return"u32";case t.int64_t:case t.i64:return"i64";case t.uint64_t:case t.u64:return"u64";case t.double:case t.f64:return"f64";case t.float:case t.f32:return"f32";case t.bool:return"bool";case t.ptr:case t.pointer:return"pointer";case t.void:return"void";case t.cstring:if(J==="result")throw Error(aU);return"string";case t.function:case t.callback:return"pointer";case t.usize:throw Error(sU);case t.napi_env:case t.napi_value:throw Error(uU);case t.buffer:return"buffer";default:return $G($)}}function $G($){throw Error(`Unsupported FFIType for node:ffi: ${String($)}`)}function JG($){if(typeof $==="bigint"){if($<0n)throw Error(Q9);return $}return SQ($)}var{dlopen:ZG,ptr:b,suffix:vq,toArrayBuffer:x0}=w7;function jG($,J,Z,Q){let U=0;if($===!0)U|=15;else if(Array.isArray($)){if($.includes("top"))U|=8;if($.includes("right"))U|=4;if($.includes("bottom"))U|=2;if($.includes("left"))U|=1}if(J)U|=16;let G={left:0,center:1,right:2},j=G[Z],q=G[Q];return U|=j<<5,U|=q<<7,U}class I0{static fbIdCounter=0;id;lib;bufferPtr;_width;_height;_widthMethod;respectAlpha=!1;_rawBuffers=null;_destroyed=!1;get ptr(){return this.bufferPtr}guard(){if(this._destroyed)throw Error(`Buffer ${this.id} is destroyed`)}ensureRawBufferViews(){if(this._rawBuffers!==null)return;let $=this._width*this._height,J=this.lib.bufferGetCharPtr(this.bufferPtr),Z=this.lib.bufferGetFgPtr(this.bufferPtr),Q=this.lib.bufferGetBgPtr(this.bufferPtr),U=this.lib.bufferGetAttributesPtr(this.bufferPtr);this._rawBuffers={char:new Uint32Array(x0(J,0,$*4)),fg:new Uint16Array(x0(Z,0,$*4*2)),bg:new Uint16Array(x0(Q,0,$*4*2)),attributes:new Uint32Array(x0(U,0,$*4))}}get buffers(){return this.guard(),this.ensureRawBufferViews(),this._rawBuffers}constructor($,J,Z,Q,U){this.id=U.id||`fb_${I0.fbIdCounter++}`,this.lib=$,this.respectAlpha=U.respectAlpha||!1,this._width=Z,this._height=Q,this._widthMethod=U.widthMethod||"unicode",this.bufferPtr=J}static create($,J,Z,Q={}){let U=E0(),G=Q.respectAlpha||!1,j=Q.id&&Q.id.trim()!==""?Q.id:"unnamed buffer";return U.createOptimizedBuffer($,J,Z,G,j)}get widthMethod(){return this._widthMethod}get width(){return this._width}get height(){return this._height}setRespectAlpha($){this.guard(),this.lib.bufferSetRespectAlpha(this.bufferPtr,$),this.respectAlpha=$}getNativeId(){return this.guard(),this.lib.bufferGetId(this.bufferPtr)}getRealCharBytes($=!1){this.guard();let J=this.lib.bufferGetRealCharSize(this.bufferPtr),Z=new Uint8Array(J),Q=this.lib.bufferWriteResolvedChars(this.bufferPtr,Z,$);return Z.slice(0,Q)}getSpanLines(){this.guard();let{char:$,fg:J,bg:Z,attributes:Q}=this.buffers,U=[],G=-1073741824,j=-1073741824,q=this.getRealCharBytes(!0),K=new TextDecoder().decode(q).split(`
80
+ `);for(let _=0;_<this._height;_++){let D=[],z=null,H=[...K[_]||""],O=0;for(let X=0;X<this._width;X++){let P=_*this._width+X,N=$[P],W=l.fromArray(J.slice(P*4,P*4+4)),F=l.fromArray(Z.slice(P*4,P*4+4)),B=Q[P]&255,w=(N&j)===G?"":H[O++]??" ";if(z&&z.fg.equals(W)&&z.bg.equals(F)&&z.attributes===B)z.text+=w,z.width+=1;else{if(z)D.push(z);z={text:w,fg:W,bg:F,attributes:B,width:1}}}if(z)D.push(z);U.push({spans:D})}return U}clear($=l.fromValues(0,0,0,1)){this.guard(),this.lib.bufferClear(this.bufferPtr,$)}setCell($,J,Z,Q,U,G=0){this.guard(),this.lib.bufferSetCell(this.bufferPtr,$,J,Z,Q,U,G)}setCellWithAlphaBlending($,J,Z,Q,U,G=0){this.guard(),this.lib.bufferSetCellWithAlphaBlending(this.bufferPtr,$,J,Z,Q,U,G)}drawText($,J,Z,Q,U,G=0,j){if(this.guard(),!j){this.lib.bufferDrawText(this.bufferPtr,$,J,Z,Q,U,G);return}let{start:q,end:K}=j,_,D;if(j.bgColor)_=j.bgColor,D=j.fgColor||Q;else{let z=U||l.fromValues(0,0,0,0);D=z.a>0?z:l.fromValues(0,0,0,1),_=Q}if(q>0){let z=$.slice(0,q);this.lib.bufferDrawText(this.bufferPtr,z,J,Z,Q,U,G)}if(K>q){let z=$.slice(q,K);this.lib.bufferDrawText(this.bufferPtr,z,J+q,Z,D,_,G)}if(K<$.length){let z=$.slice(K);this.lib.bufferDrawText(this.bufferPtr,z,J+K,Z,Q,U,G)}}fillRect($,J,Z,Q,U){this.lib.bufferFillRect(this.bufferPtr,$,J,Z,Q,U)}colorMatrix($,J,Z=1,Q=3){if(this.guard(),$.length!==16)throw RangeError(`colorMatrix matrix must have length 16, got ${$.length}`);let U=Math.floor(J.length/3);this.lib.bufferColorMatrix(this.bufferPtr,b($),b(J),U,Z,Q)}colorMatrixUniform($,J=1,Z=3){if(this.guard(),$.length!==16)throw RangeError(`colorMatrixUniform matrix must have length 16, got ${$.length}`);if(J===0)return;this.lib.bufferColorMatrixUniform(this.bufferPtr,b($),J,Z)}drawFrameBuffer($,J,Z,Q,U,G,j){this.guard(),this.lib.drawFrameBuffer(this.bufferPtr,$,J,Z.ptr,Q,U,G,j)}destroy(){if(this._destroyed)return;this._destroyed=!0,this.lib.destroyOptimizedBuffer(this.bufferPtr)}drawTextBuffer($,J,Z){this.guard(),this.lib.bufferDrawTextBufferView(this.bufferPtr,$.ptr,J,Z)}drawEditorView($,J,Z){this.guard(),this.lib.bufferDrawEditorView(this.bufferPtr,$.ptr,J,Z)}drawSuperSampleBuffer($,J,Z,Q,U,G){this.guard(),this.lib.bufferDrawSuperSampleBuffer(this.bufferPtr,$,J,V7(Z),Q,U,G)}drawPackedBuffer($,J,Z,Q,U,G){this.guard(),this.lib.bufferDrawPackedBuffer(this.bufferPtr,V7($),J,Z,Q,U,G)}drawGrayscaleBuffer($,J,Z,Q,U,G=null,j=null){this.guard(),this.lib.bufferDrawGrayscaleBuffer(this.bufferPtr,$,J,b(Z),Q,U,G,j)}drawGrayscaleBufferSupersampled($,J,Z,Q,U,G=null,j=null){this.guard(),this.lib.bufferDrawGrayscaleBufferSupersampled(this.bufferPtr,$,J,b(Z),Q,U,G,j)}resize($,J){if(this.guard(),this._width===$&&this._height===J)return;this._width=$,this._height=J,this._rawBuffers=null,this.lib.bufferResize(this.bufferPtr,$,J)}drawBox($){this.guard();let J=g8($.borderStyle,"single"),Z=$.customBorderChars??J6[J],Q=jG($.border,$.shouldFill??!1,$.titleAlignment||"left",$.bottomTitleAlignment||"left");this.lib.bufferDrawBox(this.bufferPtr,$.x,$.y,$.width,$.height,Z,Q,$.borderColor,$.backgroundColor,$.title??null,$.bottomTitle??null)}pushScissorRect($,J,Z,Q){this.guard(),this.lib.bufferPushScissorRect(this.bufferPtr,$,J,Z,Q)}popScissorRect(){this.guard(),this.lib.bufferPopScissorRect(this.bufferPtr)}clearScissorRects(){this.guard(),this.lib.bufferClearScissorRects(this.bufferPtr)}pushOpacity($){this.guard(),this.lib.bufferPushOpacity(this.bufferPtr,Math.max(0,Math.min(1,$)))}popOpacity(){this.guard(),this.lib.bufferPopOpacity(this.bufferPtr)}getCurrentOpacity(){return this.guard(),this.lib.bufferGetCurrentOpacity(this.bufferPtr)}clearOpacity(){this.guard(),this.lib.bufferClearOpacity(this.bufferPtr)}encodeUnicode($){return this.guard(),this.lib.encodeUnicode($,this._widthMethod)}freeUnicode($){this.guard(),this.lib.freeUnicode($)}drawGrid($){this.guard();let J=Math.max(0,$.columnOffsets.length-1),Z=Math.max(0,$.rowOffsets.length-1);this.lib.bufferDrawGrid(this.bufferPtr,$.borderChars,$.borderFg,$.borderBg,$.columnOffsets,J,$.rowOffsets,Z,{drawInner:$.drawInner,drawOuter:$.drawOuter})}drawChar($,J,Z,Q,U,G=0){this.guard(),this.lib.bufferDrawChar(this.bufferPtr,$,J,Z,Q,U,G)}}var qG="bun-ffi-structs requires Bun or Node.js with node:ffi enabled (--experimental-ffi --allow-ffi).",kQ=await KG();async function KG(){if(typeof process<"u"&&"bun"in process.versions)return _G(await R5("bun:ffi"));try{return DG(await R5("node:ffi"))}catch($){throw Error(qG,{cause:$ instanceof Error?$:void 0})}}function R5($){return import($).then((J)=>J.default??J)}function _G($){return{ptr:$.ptr,toArrayBuffer(J,Z,Q){return $.toArrayBuffer(VG(J),Z,Q)}}}function DG($){return{ptr(J){if(ArrayBuffer.isView(J))return $.getRawPointer(J.buffer)+BigInt(J.byteOffset);if(J instanceof ArrayBuffer)return $.getRawPointer(J);throw TypeError("node:ffi ptr() only supports ArrayBuffer and ArrayBufferView values.")},toArrayBuffer(J,Z,Q){return $.toArrayBuffer(YG(J)+BigInt(Z??0),Q,!1)}}}function YG($){return typeof $==="bigint"?$:BigInt($)}function VG($){return typeof $==="bigint"?Number($):$}var{ptr:u8,toArrayBuffer:vJ}=kQ;function X$(...$){let J=$.join(" ");throw console.error("FATAL ERROR:",J),Error(J)}var F0=process.arch==="x64"||process.arch==="arm64"?8:4,zG=typeof process<"u"&&"bun"in process.versions,s8={u8:1,bool_u8:1,bool_u32:4,u16:2,i16:2,u32:4,u64:8,f32:4,f64:8,pointer:F0,i32:4,i64:8},HG=Object.keys(s8);function U7($){return typeof $==="string"&&HG.includes($)}var w5={...s8},XG={u8:($,J)=>$.getUint8(J),bool_u8:($,J)=>Boolean($.getUint8(J)),bool_u32:($,J)=>Boolean($.getUint32(J,!0)),u16:($,J)=>$.getUint16(J,!0),i16:($,J)=>$.getInt16(J,!0),u32:($,J)=>$.getUint32(J,!0),u64:($,J)=>$.getBigUint64(J,!0),f32:($,J)=>$.getFloat32(J,!0),f64:($,J)=>$.getFloat64(J,!0),i32:($,J)=>$.getInt32(J,!0),i64:($,J)=>$.getBigInt64(J,!0),pointer:($,J)=>F0===8?$.getBigUint64(J,!0):BigInt($.getUint32(J,!0))};function k5($){return typeof $==="object"&&$!==null&&$.__type==="objectPointer"}function v5($,J){return $+(J-1)&~(J-1)}function x5($){throw TypeError(`Invalid enum value: ${$}`)}function vQ($,J="u32"){let Z=Object.fromEntries(Object.entries($).map(([Q,U])=>[U,Q]));return{__type:"enum",type:J,to(Q){return typeof Q==="number"?Q:$[Q]??x5(String(Q))},from(Q){return Z[Q]??x5(String(Q))},enum:$}}function f5($){return typeof $==="object"&&$.__type==="enum"}function xJ($){return typeof $==="object"&&$.__type==="struct"}function O$($){let J,Z;switch($){case"u8":J=(Q,U,G)=>Q.setUint8(U,G),Z=(Q,U)=>Q.getUint8(U);break;case"bool_u8":J=(Q,U,G)=>Q.setUint8(U,G?1:0),Z=(Q,U)=>Boolean(Q.getUint8(U));break;case"bool_u32":J=(Q,U,G)=>Q.setUint32(U,G?1:0,!0),Z=(Q,U)=>Boolean(Q.getUint32(U,!0));break;case"u16":J=(Q,U,G)=>Q.setUint16(U,G,!0),Z=(Q,U)=>Q.getUint16(U,!0);break;case"i16":J=(Q,U,G)=>Q.setInt16(U,G,!0),Z=(Q,U)=>Q.getInt16(U,!0);break;case"u32":J=(Q,U,G)=>Q.setUint32(U,G,!0),Z=(Q,U)=>Q.getUint32(U,!0);break;case"i32":J=(Q,U,G)=>Q.setInt32(U,G,!0),Z=(Q,U)=>Q.getInt32(U,!0);break;case"i64":J=(Q,U,G)=>Q.setBigInt64(U,BigInt(G),!0),Z=(Q,U)=>Q.getBigInt64(U,!0);break;case"u64":J=(Q,U,G)=>Q.setBigUint64(U,BigInt(G),!0),Z=(Q,U)=>Q.getBigUint64(U,!0);break;case"f32":J=(Q,U,G)=>Q.setFloat32(U,G,!0),Z=(Q,U)=>Q.getFloat32(U,!0);break;case"f64":J=(Q,U,G)=>Q.setFloat64(U,G,!0),Z=(Q,U)=>Q.getFloat64(U,!0);break;case"pointer":J=(Q,U,G)=>{F0===8?Q.setBigUint64(U,G?BigInt(G):0n,!0):Q.setUint32(U,G?Number(G):0,!0)},Z=(Q,U)=>{if(F0===8){let G=Q.getBigUint64(U,!0);return zG?Number(G):G}return Q.getUint32(U,!0)};break;default:X$(`Unsupported primitive type: ${$}`)}return{pack:J,unpack:Z}}var{pack:W0,unpack:Y$}=O$("pointer"),uJ=new WeakMap;function v8($,J){let Z=uJ.get($);if(Z)Z.push(J);else uJ.set($,[J])}function OG($,J){if(uJ.has(J))v8($,J)}function m$($){return $==null||$===0||$===0n}function fJ($){return typeof $==="bigint"?Number($):$}function PG($){let J=new ArrayBuffer($.length*F0),Z=new DataView(J);for(let Q=0;Q<$.length;Q++){let G=$[Q]?.ptr??null;W0(Z,Q*F0,G)}return Z}var g5=new TextEncoder,WG=new TextDecoder;function V0($,J){let Z=0,Q=1,U=[],G={},j=[],q={};for(let[H,O,X={}]of $){if(X.condition&&!X.condition())continue;let P=0,N=0,W,F,B=!1,I=null;if(U7(O))P=s8[O],N=w5[O],{pack:W,unpack:F}=O$(O);else if(typeof O==="string"&&O==="cstring")P=F0,N=F0,W=(C,T,y)=>{if(!y){W0(C,T,null);return}let f=g5.encode(y+"\x00"),m=u8(f);W0(C,T,m),v8(C.buffer,f)},F=(C,T)=>{return Y$(C,T)};else if(typeof O==="string"&&O==="char*")P=F0,N=F0,W=(C,T,y)=>{if(!y){W0(C,T,null);return}let f=g5.encode(y),m=u8(f);W0(C,T,m),v8(C.buffer,f)},F=(C,T)=>{return Y$(C,T)},B=!0;else if(f5(O)){let C=O.type;P=s8[C],N=w5[C];let{pack:T}=O$(C);W=(y,f,m)=>{let d=O.to(m);T(y,f,d)},F=(y,f)=>{let m=XG[C](y,f);return O.from(m)}}else if(xJ(O))if(X.asPointer===!0)P=F0,N=F0,W=(C,T,y,f,m)=>{if(!y){W0(C,T,null);return}let d=O.pack(y,m);W0(C,T,u8(d)),v8(C.buffer,d)},F=(C,T)=>{throw Error("Not implemented yet")};else P=O.size,N=O.align,W=(C,T,y,f,m)=>{let d=O.pack(y,m),h=new Uint8Array(d);new Uint8Array(C.buffer).set(h,T),OG(C.buffer,d)},F=(C,T)=>{let y=C.buffer.slice(T,T+P);return O.unpack(y)};else if(k5(O))P=F0,N=F0,W=(C,T,y)=>{let f=y?.ptr??null;if(f===void 0)console.warn(`Field '${H}' expected object with '.ptr' property, but got undefined pointer value from:`,y),W0(C,T,null);else W0(C,T,f)},F=(C,T)=>{return Y$(C,T)};else if(Array.isArray(O)&&O.length===1&&O[0]!==void 0){let[C]=O;P=F0,N=F0;let T;if(f5(C))T=s8[C.type],W=(f,m,d,h)=>{if(!d||d.length===0){W0(f,m,null);return}let a=new ArrayBuffer(d.length*T),i=new DataView(a);for(let u=0;u<d.length;u++){let s=C.to(d[u]);i.setUint32(u*T,s,!0)}W0(f,m,u8(a)),v8(f.buffer,a)},F=null,B=!0,I=C;else if(xJ(C))T=C.size,W=(f,m,d,h,a)=>{if(!d||d.length===0){W0(f,m,null);return}let i=new ArrayBuffer(d.length*T),u=new DataView(i);for(let s=0;s<d.length;s++)C.packInto(d[s],u,s*T,a);W0(f,m,u8(i)),v8(f.buffer,i)},F=(f,m)=>{throw Error("Not implemented yet")};else if(U7(C)){T=s8[C];let{pack:f}=O$(C);W=(m,d,h)=>{if(!h||h.length===0){W0(m,d,null);return}let a=new ArrayBuffer(h.length*T),i=new DataView(a);for(let u=0;u<h.length;u++)f(i,u*T,h[u]);W0(m,d,u8(a)),v8(m.buffer,a)},F=null,B=!0,I=C}else if(k5(C))T=F0,W=(f,m,d)=>{if(!d||d.length===0){W0(f,m,null);return}let h=PG(d);W0(f,m,u8(h.buffer)),v8(f.buffer,h.buffer)},F=()=>{throw Error("not implemented yet")};else throw Error(`Unsupported array element type for ${H}: ${JSON.stringify(C)}`);let y=Object.values(G).find((f)=>f.lengthOf===H);if(y&&U7(y.type)){let{pack:f}=O$(y.type);q[H]={elementSize:T,arrayOffset:Z,lengthOffset:y.offset,lengthPack:f}}}else throw Error(`Unsupported field type for ${H}: ${JSON.stringify(O)}`);if(Z=v5(Z,N),X.unpackTransform){let C=F;F=(T,y)=>X.unpackTransform(C(T,y))}if(X.packTransform){let C=W;W=(T,y,f,m,d)=>C(T,y,X.packTransform(f),m,d)}if(X.optional){let C=W;if(xJ(O)&&!X.asPointer)W=(T,y,f,m,d)=>{if(f||X.mapOptionalInline)C(T,y,f,m,d)};else W=(T,y,f,m,d)=>C(T,y,f??0,m,d)}if(X.lengthOf){let C=W;W=(T,y,f,m,d)=>{let h=m[X.lengthOf],a=0;if(h)if(typeof h==="string")a=Buffer.byteLength(h);else a=h.length;return C(T,y,a,m,d)}}let w;if(X.validate)w=Array.isArray(X.validate)?X.validate:[X.validate];let x={name:H,offset:Z,size:P,align:N,validate:w,optional:!!X.optional||!!X.lengthOf||X.default!==void 0,default:X.default,pack:W,unpack:F,type:O,lengthOf:X.lengthOf};if(U.push(x),X.lengthOf)G[X.lengthOf]=x;if(B){let C=typeof O==="string"&&O==="char*"?"char*":I;if(!C)X$(`Internal error: needsLengthOf=true but def is null for ${H}`);j.push({requester:x,def:C})}Z+=P,Q=Math.max(Q,N)}for(let{requester:H,def:O}of j){let X=G[H.name];if(!X){if(O==="char*")continue;throw Error(`lengthOf field not found for array field ${H.name}`)}if(O==="char*"){let P=X.offset-H.offset;H.unpack=(N,W)=>{let F=Y$(N,W),B=X.unpack(N,W+P);if(m$(F))return null;let I=fJ(B);if(I===0)return"";let w=vJ(F,0,I);return WG.decode(w)}}else if(U7(O)){let P=s8[O],{unpack:N}=O$(O),W=X.offset-H.offset;H.unpack=(F,B)=>{let I=[],w=X.unpack(F,B+W),x=fJ(w),C=Y$(F,B);if(m$(C)&&x>0)throw Error(`Array field ${H.name} has null pointer but length ${w}.`);if(m$(C)||x===0)return[];let T=vJ(C,0,x*P),y=new DataView(T);for(let f=0;f<x;f++)I.push(N(y,f*P));return I}}else{let P=O.type==="u32"?4:8,N=X.offset-H.offset;H.unpack=(W,F)=>{let B=[],I=X.unpack(W,F+N),w=fJ(I),x=Y$(W,F);if(m$(x)&&w>0)throw Error(`Array field ${H.name} has null pointer but length ${I}.`);if(m$(x)||w===0)return[];let C=vJ(x,0,w*P),T=new DataView(C);for(let y=0;y<w;y++)B.push(O.from(T.getUint32(y*P,!0)));return B}}}let K=v5(Z,Q),_=U.map((H)=>({name:H.name,offset:H.offset,size:H.size,align:H.align,optional:H.optional,type:H.type,lengthOf:H.lengthOf})),D=new Map(_.map((H)=>[H.name,H])),z=new Map(Object.entries(q));return{__type:"struct",size:K,align:Q,hasMapValue:!!J?.mapValue,layoutByName:D,arrayFields:z,pack(H,O){let X=new ArrayBuffer(K),P=new DataView(X),N=H;if(J?.mapValue)N=J.mapValue(H);for(let W of U){let F=N[W.name]??W.default;if(!W.optional&&F===void 0)X$(`Packing non-optional field '${W.name}' but value is undefined (and no default provided)`);if(W.validate)for(let B of W.validate)B(F,W.name,{hints:O?.validationHints,input:N});W.pack(P,W.offset,F,N,O)}return P.buffer},packInto(H,O,X,P){let N=H;if(J?.mapValue)N=J.mapValue(H);for(let W of U){let F=N[W.name]??W.default;if(!W.optional&&F===void 0)console.warn(`packInto missing value for non-optional field '${W.name}' at offset ${X+W.offset}. Writing default or zero.`);if(W.validate)for(let B of W.validate)B(F,W.name,{hints:P?.validationHints,input:N});W.pack(O,X+W.offset,F,N,P)}},unpack(H){if(H.byteLength<K)X$(`Buffer size (${H.byteLength}) is smaller than struct size (${K}) for unpacking.`);let O=new DataView(H),X=J?.default?{...J.default}:{};for(let P of U){if(!P.unpack)continue;try{X[P.name]=P.unpack(O,P.offset)}catch(N){throw console.error(`Error unpacking field '${P.name}' at offset ${P.offset}:`,N),N}}if(J?.reduceValue)return J.reduceValue(X);return X},packList(H,O){if(H.length===0)return new ArrayBuffer(0);let X=new ArrayBuffer(K*H.length),P=new DataView(X);for(let N=0;N<H.length;N++){let W=H[N];if(J?.mapValue)W=J.mapValue(H[N]);for(let F of U){let B=W[F.name]??F.default;if(!F.optional&&B===void 0)X$(`Packing non-optional field '${F.name}' at index ${N} but value is undefined (and no default provided)`);if(F.validate)for(let I of F.validate)I(B,F.name,{hints:O?.validationHints,input:W});F.pack(P,N*K+F.offset,B,W,O)}}return X},unpackList(H,O){if(O===0)return[];let X=K*O;if(H.byteLength<X)X$(`Buffer size (${H.byteLength}) is smaller than expected size (${X}) for unpacking ${O} structs.`);let P=new DataView(H),N=[];for(let W=0;W<O;W++){let F=W*K,B=J?.default?{...J.default}:{};for(let I of U){if(!I.unpack)continue;try{B[I.name]=I.unpack(P,F+I.offset)}catch(w){throw console.error(`Error unpacking field '${I.name}' at index ${W}, offset ${F+I.offset}:`,w),w}}if(J?.reduceValue)N.push(J.reduceValue(B));else N.push(B)}return N},describe(){return _}}}var dJ=($)=>$?b($.buffer):null,aJ=($)=>$?l.fromArray(new Uint16Array(x0($,0,8))):void 0,b5=V0([["text","char*"],["text_len","u64",{lengthOf:"text"}],["fg","pointer",{optional:!0,packTransform:dJ,unpackTransform:aJ}],["bg","pointer",{optional:!0,packTransform:dJ,unpackTransform:aJ}],["attributes","u32",{default:0}],["link","char*",{default:""}],["link_len","u64",{lengthOf:"link"}]],{mapValue:($)=>{let J=d$($.fg??null),Z=d$($.bg??null);if(!$.link||typeof $.link==="string")return{...$,fg:J?.rgba??null,bg:Z?.rgba??null};return{...$,fg:J?.rgba??null,bg:Z?.rgba??null,link:$.link.url}}}),G7=V0([["start","u32"],["end","u32"],["styleId","u32"],["priority","u8",{default:0}],["hlRef","u16",{default:0}]]),G8=V0([["row","u32"],["col","u32"],["offset","u32"]]),a0=V0([["visualRow","u32"],["visualCol","u32"],["logicalRow","u32"],["logicalCol","u32"],["offset","u32"]]),NG=vQ({wcwidth:0,unicode:1},"u8"),m5=V0([["kitty_keyboard","bool_u8"],["kitty_graphics","bool_u8"],["rgb","bool_u8"],["ansi256","bool_u8"],["unicode",NG],["sgr_pixels","bool_u8"],["color_scheme_updates","bool_u8"],["explicit_width","bool_u8"],["scaled_text","bool_u8"],["sixel","bool_u8"],["focus_tracking","bool_u8"],["sync","bool_u8"],["bracketed_paste","bool_u8"],["hyperlinks","bool_u8"],["osc52","bool_u8"],["notifications","bool_u8"],["explicit_cursor_positioning","bool_u8"],["in_tmux","bool_u8"],["term_name","char*"],["term_name_len","u64",{lengthOf:"term_name"}],["term_version","char*"],["term_version_len","u64",{lengthOf:"term_version"}],["term_from_xtversion","bool_u8"]]),h5=V0([["width","u8"],["char","u32"]]),R8=V0([["startCols",["u32"]],["startColsLen","u32",{lengthOf:"startCols"}],["widthCols",["u32"]],["widthColsLen","u32",{lengthOf:"widthCols"}],["sources",["u32"]],["sourcesLen","u32",{lengthOf:"sources"}],["wraps",["u32"]],["wrapsLen","u32",{lengthOf:"wraps"}],["widthColsMax","u32"]]),p5=V0([["lineCount","u32"],["widthColsMax","u32"]]),c5=V0([["x","u32"],["y","u32"],["visible","bool_u8"],["style","u8"],["blinking","bool_u8"],["r","f32"],["g","f32"],["b","f32"],["a","f32"]]),FG=V0([["style","u8",{default:255}],["blinking","u8",{default:255}],["color","pointer",{optional:!0,packTransform:dJ,unpackTransform:aJ}],["cursor","u8",{default:255}]]),MG=V0([["drawInner","bool_u8",{default:!0}],["drawOuter","bool_u8",{default:!0}]]),u5=V0([["gpaSafeStats","bool_u8"],["gpaMemoryLimitTracking","bool_u8"]]),d5=V0([["totalRequestedBytes","u64"],["activeAllocations","u64"],["smallAllocations","u64"],["largeAllocations","u64"],["requestedBytesValid","bool_u8"]]),AG=vQ({grow:0,block:1},"u8"),a5=V0([["chunkSize","u32",{default:65536}],["initialChunks","u32",{default:2}],["maxBytes","u64",{default:0n}],["growthPolicy",AG,{default:"grow"}],["autoCommitOnFull","bool_u8",{default:!0}],["spanQueueCapacity","u32",{default:0}]]),s5=V0([["bytesWritten","u64"],["spansCommitted","u64"],["chunks","u32"],["pendingSpans","u32"]]),k7=V0([["chunkPtr","pointer"],["offset","u32"],["len","u32"],["chunkIndex","u32"],["reserved","u32",{default:0}]],{reduceValue:($)=>({chunkPtr:$.chunkPtr,offset:$.offset,len:$.len,chunkIndex:$.chunkIndex})}),l5=V0([["ptr","pointer"],["len","u32"],["reserved","u32",{default:0}]],{reduceValue:($)=>({ptr:$.ptr,len:$.len})}),EG=V0([["sampleRate","u32",{default:48000}],["playbackChannels","u32",{default:2}]]),BG=V0([["periodSizeInFrames","u32",{default:0}],["periodSizeInMilliseconds","u32",{default:0}],["periods","u32",{default:0}],["performanceProfile","u8",{default:0}],["shareMode","u8",{default:0}],["noPreSilencedOutputBuffer","bool_u8",{default:!1}],["noClip","bool_u8",{default:!1}],["noDisableDenormals","bool_u8",{default:!1}],["noFixedSizedCallback","bool_u8",{default:!1}],["wasapiNoAutoConvertSrc","bool_u8",{default:!1}],["wasapiNoDefaultQualitySrc","bool_u8",{default:!1}],["alsaNoMMap","bool_u8",{default:!1}],["alsaNoAutoFormat","bool_u8",{default:!1}],["alsaNoAutoChannels","bool_u8",{default:!1}],["alsaNoAutoResample","bool_u8",{default:!1}]]),LG=V0([["volume","f32",{default:1}],["pan","f32",{default:0}],["loop","bool_u8",{default:!1}],["groupId","u32",{default:0}]]),r5=V0([["soundsLoaded","u32"],["voicesActive","u32"],["framesMixed","u64"],["lockMisses","u32"],["lastPeak","f32"],["lastRms","f32"]]),IG=await import(`@opentui/core-${process.platform}-${process.arch}`),c$=IG.default;if(WQ(c$))c$=c$.replace("../","");if(!QG(c$))throw Error(`opentui is not supported on the current platform: ${process.platform}-${process.arch}`);Y0({name:"OTUI_DEBUG_FFI",description:"Enable debug logging for the FFI bindings.",type:"boolean",default:!1});Y0({name:"OTUI_TRACE_FFI",description:"Enable tracing for the FFI bindings.",type:"boolean",default:!1});Y0({name:"OPENTUI_FORCE_WCWIDTH",description:"Use wcwidth for character width calculations",type:"boolean",default:!1});Y0({name:"OPENTUI_FORCE_UNICODE",description:"Force Mode 2026 Unicode support in terminal capabilities",type:"boolean",default:!1});Y0({name:"OPENTUI_GRAPHICS",description:"Enable Kitty graphics protocol detection",type:"boolean",default:!0});Y0({name:"OPENTUI_FORCE_NOZWJ",description:"Use no_zwj width method (Unicode without ZWJ joining)",type:"boolean",default:!1});var CG={block:0,line:1,underline:2,default:3},SG=["block","line","underline","default"],TG={default:0,pointer:1,text:2,crosshair:3,move:4,"not-allowed":5},d8=null,j7=null,i5=!1;function V$($){return typeof $==="bigint"?Number($):$}function H0($){return b($.buffer)}function D0($){return $?H0($):null}function yG($){let Z=ZG($||c$,{setLogCallback:{args:["ptr"],returns:"void"},setEventCallback:{args:["ptr"],returns:"void"},createRenderer:{args:["u32","u32","bool","bool"],returns:"ptr"},setTerminalEnvVar:{args:["ptr","ptr","usize","ptr","usize"],returns:"bool"},destroyRenderer:{args:["ptr"],returns:"void"},setUseThread:{args:["ptr","bool"],returns:"void"},setClearOnShutdown:{args:["ptr","bool"],returns:"void"},setBackgroundColor:{args:["ptr","ptr"],returns:"void"},setRenderOffset:{args:["ptr","u32"],returns:"void"},resetSplitScrollback:{args:["ptr","u32","u32"],returns:"u32"},syncSplitScrollback:{args:["ptr","u32"],returns:"u32"},getSplitOutputOffset:{args:["ptr","u32"],returns:"u32"},setPendingSplitFooterTransition:{args:["ptr","u8","u32","u32","u32","u32","u32"],returns:"void"},clearPendingSplitFooterTransition:{args:["ptr"],returns:"void"},updateStats:{args:["ptr","f64","u32","f64"],returns:"void"},updateMemoryStats:{args:["ptr","u32","u32","u32"],returns:"void"},render:{args:["ptr","bool"],returns:"void"},repaintSplitFooter:{args:["ptr","u32","bool"],returns:"u32"},commitSplitFooterSnapshot:{args:["ptr","ptr","u32","bool","bool","u32","bool","bool","bool"],returns:"u32"},getNextBuffer:{args:["ptr"],returns:"ptr"},getCurrentBuffer:{args:["ptr"],returns:"ptr"},rendererSetPaletteState:{args:["ptr","ptr","usize","ptr","ptr","u32"],returns:"void"},queryPixelResolution:{args:["ptr"],returns:"void"},queryThemeColors:{args:["ptr"],returns:"void"},createOptimizedBuffer:{args:["u32","u32","bool","u8","ptr","usize"],returns:"ptr"},destroyOptimizedBuffer:{args:["ptr"],returns:"void"},drawFrameBuffer:{args:["ptr","i32","i32","ptr","u32","u32","u32","u32"],returns:"void"},getBufferWidth:{args:["ptr"],returns:"u32"},getBufferHeight:{args:["ptr"],returns:"u32"},bufferClear:{args:["ptr","ptr"],returns:"void"},bufferGetCharPtr:{args:["ptr"],returns:"ptr"},bufferGetFgPtr:{args:["ptr"],returns:"ptr"},bufferGetBgPtr:{args:["ptr"],returns:"ptr"},bufferGetAttributesPtr:{args:["ptr"],returns:"ptr"},bufferGetRespectAlpha:{args:["ptr"],returns:"bool"},bufferSetRespectAlpha:{args:["ptr","bool"],returns:"void"},bufferGetId:{args:["ptr","ptr","usize"],returns:"usize"},bufferGetRealCharSize:{args:["ptr"],returns:"u32"},bufferWriteResolvedChars:{args:["ptr","ptr","usize","bool"],returns:"u32"},bufferDrawText:{args:["ptr","ptr","u32","u32","u32","ptr","ptr","u32"],returns:"void"},bufferSetCellWithAlphaBlending:{args:["ptr","u32","u32","u32","ptr","ptr","u32"],returns:"void"},bufferSetCell:{args:["ptr","u32","u32","u32","ptr","ptr","u32"],returns:"void"},bufferFillRect:{args:["ptr","u32","u32","u32","u32","ptr"],returns:"void"},bufferColorMatrix:{args:["ptr","ptr","ptr","usize","f32","u8"],returns:"void"},bufferColorMatrixUniform:{args:["ptr","ptr","f32","u8"],returns:"void"},bufferResize:{args:["ptr","u32","u32"],returns:"void"},linkAlloc:{args:["ptr","u32"],returns:"u32"},linkGetUrl:{args:["u32","ptr","u32"],returns:"u32"},attributesWithLink:{args:["u32","u32"],returns:"u32"},attributesGetLinkId:{args:["u32"],returns:"u32"},resizeRenderer:{args:["ptr","u32","u32"],returns:"void"},setCursorPosition:{args:["ptr","i32","i32","bool"],returns:"void"},setCursorColor:{args:["ptr","ptr"],returns:"void"},getCursorState:{args:["ptr","ptr"],returns:"void"},setCursorStyleOptions:{args:["ptr","ptr"],returns:"void"},setDebugOverlay:{args:["ptr","bool","u8"],returns:"void"},clearTerminal:{args:["ptr"],returns:"void"},setTerminalTitle:{args:["ptr","ptr","usize"],returns:"void"},copyToClipboardOSC52:{args:["ptr","u8","ptr","usize"],returns:"bool"},clearClipboardOSC52:{args:["ptr","u8"],returns:"bool"},triggerNotification:{args:["ptr","ptr","usize","ptr","usize"],returns:"bool"},bufferDrawSuperSampleBuffer:{args:["ptr","u32","u32","ptr","usize","u8","u32"],returns:"void"},bufferDrawPackedBuffer:{args:["ptr","ptr","usize","u32","u32","u32","u32"],returns:"void"},bufferDrawGrayscaleBuffer:{args:["ptr","i32","i32","ptr","u32","u32","ptr","ptr"],returns:"void"},bufferDrawGrayscaleBufferSupersampled:{args:["ptr","i32","i32","ptr","u32","u32","ptr","ptr"],returns:"void"},bufferDrawGrid:{args:["ptr","ptr","ptr","ptr","ptr","u32","ptr","u32","ptr"],returns:"void"},bufferDrawBox:{args:["ptr","i32","i32","u32","u32","ptr","u32","ptr","ptr","ptr","u32","ptr","u32"],returns:"void"},bufferPushScissorRect:{args:["ptr","i32","i32","u32","u32"],returns:"void"},bufferPopScissorRect:{args:["ptr"],returns:"void"},bufferClearScissorRects:{args:["ptr"],returns:"void"},bufferPushOpacity:{args:["ptr","f32"],returns:"void"},bufferPopOpacity:{args:["ptr"],returns:"void"},bufferGetCurrentOpacity:{args:["ptr"],returns:"f32"},bufferClearOpacity:{args:["ptr"],returns:"void"},addToHitGrid:{args:["ptr","i32","i32","u32","u32","u32"],returns:"void"},clearCurrentHitGrid:{args:["ptr"],returns:"void"},hitGridPushScissorRect:{args:["ptr","i32","i32","u32","u32"],returns:"void"},hitGridPopScissorRect:{args:["ptr"],returns:"void"},hitGridClearScissorRects:{args:["ptr"],returns:"void"},addToCurrentHitGridClipped:{args:["ptr","i32","i32","u32","u32","u32"],returns:"void"},checkHit:{args:["ptr","u32","u32"],returns:"u32"},getHitGridDirty:{args:["ptr"],returns:"bool"},dumpHitGrid:{args:["ptr"],returns:"void"},dumpBuffers:{args:["ptr","i64"],returns:"void"},dumpStdoutBuffer:{args:["ptr","i64"],returns:"void"},restoreTerminalModes:{args:["ptr"],returns:"void"},enableMouse:{args:["ptr","bool"],returns:"void"},disableMouse:{args:["ptr"],returns:"void"},enableKittyKeyboard:{args:["ptr","u8"],returns:"void"},disableKittyKeyboard:{args:["ptr"],returns:"void"},setKittyKeyboardFlags:{args:["ptr","u8"],returns:"void"},getKittyKeyboardFlags:{args:["ptr"],returns:"u8"},setupTerminal:{args:["ptr","bool"],returns:"void"},suspendRenderer:{args:["ptr"],returns:"void"},resumeRenderer:{args:["ptr"],returns:"void"},writeOut:{args:["ptr","ptr","u64"],returns:"void"},createTextBuffer:{args:["u8"],returns:"ptr"},destroyTextBuffer:{args:["ptr"],returns:"void"},textBufferGetLength:{args:["ptr"],returns:"u32"},textBufferGetByteSize:{args:["ptr"],returns:"u32"},textBufferReset:{args:["ptr"],returns:"void"},textBufferClear:{args:["ptr"],returns:"void"},textBufferSetDefaultFg:{args:["ptr","ptr"],returns:"void"},textBufferSetDefaultBg:{args:["ptr","ptr"],returns:"void"},textBufferSetDefaultAttributes:{args:["ptr","ptr"],returns:"void"},textBufferResetDefaults:{args:["ptr"],returns:"void"},textBufferGetTabWidth:{args:["ptr"],returns:"u8"},textBufferSetTabWidth:{args:["ptr","u8"],returns:"void"},textBufferRegisterMemBuffer:{args:["ptr","ptr","usize","bool"],returns:"u16"},textBufferReplaceMemBuffer:{args:["ptr","u8","ptr","usize","bool"],returns:"bool"},textBufferClearMemRegistry:{args:["ptr"],returns:"void"},textBufferSetTextFromMem:{args:["ptr","u8"],returns:"void"},textBufferAppend:{args:["ptr","ptr","usize"],returns:"void"},textBufferAppendFromMemId:{args:["ptr","u8"],returns:"void"},textBufferLoadFile:{args:["ptr","ptr","usize"],returns:"bool"},textBufferSetStyledText:{args:["ptr","ptr","usize"],returns:"void"},textBufferGetLineCount:{args:["ptr"],returns:"u32"},textBufferGetPlainText:{args:["ptr","ptr","usize"],returns:"usize"},textBufferAddHighlightByCharRange:{args:["ptr","ptr"],returns:"void"},textBufferAddHighlight:{args:["ptr","u32","ptr"],returns:"void"},textBufferRemoveHighlightsByRef:{args:["ptr","u16"],returns:"void"},textBufferClearLineHighlights:{args:["ptr","u32"],returns:"void"},textBufferClearAllHighlights:{args:["ptr"],returns:"void"},textBufferSetSyntaxStyle:{args:["ptr","ptr"],returns:"void"},textBufferGetLineHighlightsPtr:{args:["ptr","u32","ptr"],returns:"ptr"},textBufferFreeLineHighlights:{args:["ptr","usize"],returns:"void"},textBufferGetHighlightCount:{args:["ptr"],returns:"u32"},textBufferGetTextRange:{args:["ptr","u32","u32","ptr","usize"],returns:"usize"},textBufferGetTextRangeByCoords:{args:["ptr","u32","u32","u32","u32","ptr","usize"],returns:"usize"},createTextBufferView:{args:["ptr"],returns:"ptr"},destroyTextBufferView:{args:["ptr"],returns:"void"},textBufferViewSetSelection:{args:["ptr","u32","u32","ptr","ptr"],returns:"void"},textBufferViewResetSelection:{args:["ptr"],returns:"void"},textBufferViewGetSelectionInfo:{args:["ptr"],returns:"u64"},textBufferViewSetLocalSelection:{args:["ptr","i32","i32","i32","i32","ptr","ptr"],returns:"bool"},textBufferViewUpdateSelection:{args:["ptr","u32","ptr","ptr"],returns:"void"},textBufferViewUpdateLocalSelection:{args:["ptr","i32","i32","i32","i32","ptr","ptr"],returns:"bool"},textBufferViewResetLocalSelection:{args:["ptr"],returns:"void"},textBufferViewSetWrapWidth:{args:["ptr","u32"],returns:"void"},textBufferViewSetWrapMode:{args:["ptr","u8"],returns:"void"},textBufferViewSetFirstLineOffset:{args:["ptr","u32"],returns:"void"},textBufferViewSetViewportSize:{args:["ptr","u32","u32"],returns:"void"},textBufferViewSetViewport:{args:["ptr","u32","u32","u32","u32"],returns:"void"},textBufferViewGetVirtualLineCount:{args:["ptr"],returns:"u32"},textBufferViewGetLineInfoDirect:{args:["ptr","ptr"],returns:"void"},textBufferViewGetLogicalLineInfoDirect:{args:["ptr","ptr"],returns:"void"},textBufferViewGetSelectedText:{args:["ptr","ptr","usize"],returns:"usize"},textBufferViewGetPlainText:{args:["ptr","ptr","usize"],returns:"usize"},textBufferViewSetTabIndicator:{args:["ptr","u32"],returns:"void"},textBufferViewSetTabIndicatorColor:{args:["ptr","ptr"],returns:"void"},textBufferViewSetTruncate:{args:["ptr","bool"],returns:"void"},textBufferViewMeasureForDimensions:{args:["ptr","u32","u32","ptr"],returns:"bool"},bufferDrawTextBufferView:{args:["ptr","ptr","i32","i32"],returns:"void"},bufferDrawEditorView:{args:["ptr","ptr","i32","i32"],returns:"void"},createEditorView:{args:["ptr","u32","u32"],returns:"ptr"},destroyEditorView:{args:["ptr"],returns:"void"},editorViewSetViewportSize:{args:["ptr","u32","u32"],returns:"void"},editorViewSetViewport:{args:["ptr","u32","u32","u32","u32","bool"],returns:"void"},editorViewGetViewport:{args:["ptr","ptr","ptr","ptr","ptr"],returns:"void"},editorViewSetScrollMargin:{args:["ptr","f32"],returns:"void"},editorViewSetWrapMode:{args:["ptr","u8"],returns:"void"},editorViewGetVirtualLineCount:{args:["ptr"],returns:"u32"},editorViewGetTotalVirtualLineCount:{args:["ptr"],returns:"u32"},editorViewGetTextBufferView:{args:["ptr"],returns:"ptr"},editorViewGetLineInfoDirect:{args:["ptr","ptr"],returns:"void"},editorViewGetLogicalLineInfoDirect:{args:["ptr","ptr"],returns:"void"},createEditBuffer:{args:["u8"],returns:"ptr"},destroyEditBuffer:{args:["ptr"],returns:"void"},editBufferSetText:{args:["ptr","ptr","usize"],returns:"void"},editBufferSetTextFromMem:{args:["ptr","u8"],returns:"void"},editBufferReplaceText:{args:["ptr","ptr","usize"],returns:"void"},editBufferReplaceTextFromMem:{args:["ptr","u8"],returns:"void"},editBufferGetText:{args:["ptr","ptr","usize"],returns:"usize"},editBufferInsertChar:{args:["ptr","ptr","usize"],returns:"void"},editBufferInsertText:{args:["ptr","ptr","usize"],returns:"void"},editBufferDeleteChar:{args:["ptr"],returns:"void"},editBufferDeleteCharBackward:{args:["ptr"],returns:"void"},editBufferDeleteRange:{args:["ptr","u32","u32","u32","u32"],returns:"void"},editBufferNewLine:{args:["ptr"],returns:"void"},editBufferDeleteLine:{args:["ptr"],returns:"void"},editBufferMoveCursorLeft:{args:["ptr"],returns:"void"},editBufferMoveCursorRight:{args:["ptr"],returns:"void"},editBufferMoveCursorUp:{args:["ptr"],returns:"void"},editBufferMoveCursorDown:{args:["ptr"],returns:"void"},editBufferGotoLine:{args:["ptr","u32"],returns:"void"},editBufferSetCursor:{args:["ptr","u32","u32"],returns:"void"},editBufferSetCursorToLineCol:{args:["ptr","u32","u32"],returns:"void"},editBufferSetCursorByOffset:{args:["ptr","u32"],returns:"void"},editBufferGetCursorPosition:{args:["ptr","ptr"],returns:"void"},editBufferGetId:{args:["ptr"],returns:"u16"},editBufferGetTextBuffer:{args:["ptr"],returns:"ptr"},editBufferDebugLogRope:{args:["ptr"],returns:"void"},editBufferUndo:{args:["ptr","ptr","usize"],returns:"usize"},editBufferRedo:{args:["ptr","ptr","usize"],returns:"usize"},editBufferCanUndo:{args:["ptr"],returns:"bool"},editBufferCanRedo:{args:["ptr"],returns:"bool"},editBufferClearHistory:{args:["ptr"],returns:"void"},editBufferClear:{args:["ptr"],returns:"void"},editBufferGetNextWordBoundary:{args:["ptr","ptr"],returns:"void"},editBufferGetPrevWordBoundary:{args:["ptr","ptr"],returns:"void"},editBufferGetEOL:{args:["ptr","ptr"],returns:"void"},editBufferOffsetToPosition:{args:["ptr","u32","ptr"],returns:"bool"},editBufferPositionToOffset:{args:["ptr","u32","u32"],returns:"u32"},editBufferGetLineStartOffset:{args:["ptr","u32"],returns:"u32"},editBufferGetTextRange:{args:["ptr","u32","u32","ptr","usize"],returns:"usize"},editBufferGetTextRangeByCoords:{args:["ptr","u32","u32","u32","u32","ptr","usize"],returns:"usize"},editorViewSetSelection:{args:["ptr","u32","u32","ptr","ptr"],returns:"void"},editorViewResetSelection:{args:["ptr"],returns:"void"},editorViewGetSelection:{args:["ptr"],returns:"u64"},editorViewSetLocalSelection:{args:["ptr","i32","i32","i32","i32","ptr","ptr","bool","bool"],returns:"bool"},editorViewUpdateSelection:{args:["ptr","u32","ptr","ptr"],returns:"void"},editorViewUpdateLocalSelection:{args:["ptr","i32","i32","i32","i32","ptr","ptr","bool","bool"],returns:"bool"},editorViewResetLocalSelection:{args:["ptr"],returns:"void"},editorViewGetSelectedTextBytes:{args:["ptr","ptr","usize"],returns:"usize"},editorViewGetCursor:{args:["ptr","ptr","ptr"],returns:"void"},editorViewGetText:{args:["ptr","ptr","usize"],returns:"usize"},editorViewGetVisualCursor:{args:["ptr","ptr"],returns:"void"},editorViewMoveUpVisual:{args:["ptr"],returns:"void"},editorViewMoveDownVisual:{args:["ptr"],returns:"void"},editorViewDeleteSelectedText:{args:["ptr"],returns:"void"},editorViewSetCursorByOffset:{args:["ptr","u32"],returns:"void"},editorViewGetNextWordBoundary:{args:["ptr","ptr"],returns:"void"},editorViewGetPrevWordBoundary:{args:["ptr","ptr"],returns:"void"},editorViewGetEOL:{args:["ptr","ptr"],returns:"void"},editorViewGetVisualSOL:{args:["ptr","ptr"],returns:"void"},editorViewGetVisualEOL:{args:["ptr","ptr"],returns:"void"},editorViewSetPlaceholderStyledText:{args:["ptr","ptr","usize"],returns:"void"},editorViewSetTabIndicator:{args:["ptr","u32"],returns:"void"},editorViewSetTabIndicatorColor:{args:["ptr","ptr"],returns:"void"},getArenaAllocatedBytes:{args:[],returns:"usize"},getBuildOptions:{args:["ptr"],returns:"void"},getAllocatorStats:{args:["ptr"],returns:"void"},createSyntaxStyle:{args:[],returns:"ptr"},destroySyntaxStyle:{args:["ptr"],returns:"void"},syntaxStyleRegister:{args:["ptr","ptr","usize","ptr","ptr","u32"],returns:"u32"},syntaxStyleResolveByName:{args:["ptr","ptr","usize"],returns:"u32"},syntaxStyleGetStyleCount:{args:["ptr"],returns:"usize"},getTerminalCapabilities:{args:["ptr","ptr"],returns:"void"},processCapabilityResponse:{args:["ptr","ptr","usize"],returns:"void"},encodeUnicode:{args:["ptr","usize","ptr","ptr","u8"],returns:"bool"},freeUnicode:{args:["ptr","usize"],returns:"void"},bufferDrawChar:{args:["ptr","u32","u32","u32","ptr","ptr","u32"],returns:"void"},createAudioEngine:{args:["ptr"],returns:"ptr"},destroyAudioEngine:{args:["ptr"],returns:"void"},audioRefreshPlaybackDevices:{args:["ptr"],returns:"i32"},audioGetPlaybackDeviceCount:{args:["ptr"],returns:"u32"},audioGetPlaybackDeviceName:{args:["ptr","u32","ptr","usize"],returns:"usize"},audioIsPlaybackDeviceDefault:{args:["ptr","u32"],returns:"bool"},audioSelectPlaybackDevice:{args:["ptr","u32"],returns:"i32"},audioClearPlaybackDeviceSelection:{args:["ptr"],returns:"void"},audioStart:{args:["ptr","ptr"],returns:"i32"},audioStartMixer:{args:["ptr"],returns:"i32"},audioStop:{args:["ptr"],returns:"i32"},audioLoad:{args:["ptr","ptr","u64","ptr"],returns:"i32"},audioUnload:{args:["ptr","u32"],returns:"i32"},audioPlay:{args:["ptr","u32","ptr","ptr"],returns:"i32"},audioStopVoice:{args:["ptr","u32"],returns:"i32"},audioSetVoiceGroup:{args:["ptr","u32","u32"],returns:"i32"},audioCreateGroup:{args:["ptr","ptr","u64","ptr"],returns:"i32"},audioSetGroupVolume:{args:["ptr","u32","f32"],returns:"i32"},audioSetMasterVolume:{args:["ptr","f32"],returns:"i32"},audioMixToBuffer:{args:["ptr","ptr","u32","u8"],returns:"i32"},audioEnableTap:{args:["ptr","bool","u32"],returns:"i32"},audioReadTap:{args:["ptr","ptr","u32","u8","ptr"],returns:"i32"},audioGetStats:{args:["ptr","ptr"],returns:"i32"},createNativeSpanFeed:{args:["ptr"],returns:"ptr"},attachNativeSpanFeed:{args:["ptr"],returns:"i32"},destroyNativeSpanFeed:{args:["ptr"],returns:"void"},streamWrite:{args:["ptr","ptr","u64"],returns:"i32"},streamCommit:{args:["ptr"],returns:"i32"},streamDrainSpans:{args:["ptr","ptr","u32"],returns:"u32"},streamClose:{args:["ptr"],returns:"i32"},streamReserve:{args:["ptr","u32","ptr"],returns:"i32"},streamCommitReserved:{args:["ptr","u32"],returns:"i32"},streamSetOptions:{args:["ptr","ptr"],returns:"i32"},streamGetStats:{args:["ptr","ptr"],returns:"i32"},streamSetCallback:{args:["ptr","ptr"],returns:"void"}});if(K0.OTUI_DEBUG_FFI||K0.OTUI_TRACE_FFI)return{...Z,symbols:RG(Z.symbols)};return Z}function RG($){if(!d8)d8={};if(K0.OTUI_DEBUG_FFI&&!j7)j7=`ffi_otui_debug_${new Date().toISOString().replace(/[:.]/g,"-").replace(/T/,"_").split("Z")[0]}.log`;let J={},Z=!1;if(Object.entries($).forEach(([Q,U])=>{J[Q]=U}),K0.OTUI_DEBUG_FFI&&j7){let Q=j7,U=(G)=>{UG(Q,G+`
81
+ `,{flag:"a"})};Object.entries($).forEach(([G,j])=>{if(typeof j==="function")J[G]=(...q)=>{U(`${G}(${q.map((_)=>String(_)).join(", ")})`);let K=j(...q);return U(`${G} returned: ${String(K)}`),K}})}if(K0.OTUI_TRACE_FFI)Z=!0,Object.entries($).forEach(([Q,U])=>{if(typeof U==="function"){if(!d8[Q])d8[Q]=[];let G=J[Q];J[Q]=(...j)=>{let q=performance.now(),K=G(...j),_=performance.now();return d8[Q].push(_-q),K}}});if((K0.OTUI_DEBUG_FFI||K0.OTUI_TRACE_FFI)&&!i5)i5=!0,process.on("exit",()=>{if(d8){let Q=[];for(let[j,q]of Object.entries(d8)){if(!Array.isArray(q)||q.length===0)continue;let K=[...q].sort((I,w)=>I-w),_=K.length,D=K.reduce((I,w)=>I+w,0),z=D/_,H=K[0],O=K[_-1],X=Math.floor(_/2),P=Math.floor(_*0.9),N=Math.floor(_*0.99),W=K[X],F=K[Math.min(P,_-1)],B=K[Math.min(N,_-1)];Q.push({name:j,count:_,total:D,average:z,min:H,max:O,median:W,p90:F,p99:B})}Q.sort((j,q)=>q.total-j.total);let U=[];if(U.push(`
82
+ --- OpenTUI FFI Call Performance ---`),U.push("Sorted by total time spent (descending)"),U.push("-------------------------------------------------------------------------------------------------------------------------"),Q.length===0)U.push("No trace data collected or all symbols had zero calls.");else{let P=Math.max(6,...Q.map((T)=>T.name.length)),N=Math.max(5,...Q.map((T)=>String(T.count).length)),W=Math.max(10,...Q.map((T)=>T.total.toFixed(2).length)),F=Math.max(8,...Q.map((T)=>T.average.toFixed(2).length)),B=Math.max(8,...Q.map((T)=>T.min.toFixed(2).length)),I=Math.max(8,...Q.map((T)=>T.max.toFixed(2).length)),w=Math.max(8,...Q.map((T)=>T.median.toFixed(2).length)),x=Math.max(8,...Q.map((T)=>T.p90.toFixed(2).length)),C=Math.max(8,...Q.map((T)=>T.p99.toFixed(2).length));U.push(`${"Symbol".padEnd(P)} | ${"Calls".padStart(N)} | ${"Total (ms)".padStart(W)} | ${"Avg (ms)".padStart(F)} | ${"Min (ms)".padStart(B)} | ${"Max (ms)".padStart(I)} | ${"Med (ms)".padStart(w)} | ${"P90 (ms)".padStart(x)} | ${"P99 (ms)".padStart(C)}`),U.push(`${"-".repeat(P)}-+-${"-".repeat(N)}-+-${"-".repeat(W)}-+-${"-".repeat(F)}-+-${"-".repeat(B)}-+-${"-".repeat(I)}-+-${"-".repeat(w)}-+-${"-".repeat(x)}-+-${"-".repeat(C)}`),Q.forEach((T)=>{U.push(`${T.name.padEnd(P)} | ${String(T.count).padStart(N)} | ${T.total.toFixed(2).padStart(W)} | ${T.average.toFixed(2).padStart(F)} | ${T.min.toFixed(2).padStart(B)} | ${T.max.toFixed(2).padStart(I)} | ${T.median.toFixed(2).padStart(w)} | ${T.p90.toFixed(2).padStart(x)} | ${T.p99.toFixed(2).padStart(C)}`)})}U.push("-------------------------------------------------------------------------------------------------------------------------");let G=U.join(`
83
+ `);console.log(G);try{let K=`ffi_otui_trace_${new Date().toISOString().replace(/[:.]/g,"-").replace(/T/,"_").split("Z")[0]}.log`;qU(K,G).catch((_)=>{console.error("Failed to write FFI trace file:",_)})}catch(j){console.error("Failed to write FFI trace file:",j)}}});return J}var v7;(($)=>{$[$.Error=0]="Error",$[$.Warn=1]="Warn",$[$.Info=2]="Info",$[$.Debug=3]="Debug"})(v7||={});class U9{opentui;encoder=new TextEncoder;decoder=new TextDecoder;logCallbackWrapper=null;eventCallbackWrapper=null;_nativeEvents=new GG;_anyEventHandlers=[];nativeSpanFeedCallbackWrapper=null;nativeSpanFeedHandlers=new Map;constructor($){this.opentui=yG($),this.setupLogging(),this.setupEventBus()}setupLogging(){if(this.logCallbackWrapper)return;let $=this.opentui.createCallback((J,Z,Q)=>{try{let U=typeof Q==="bigint"?Number(Q):Q;if(U===0||!Z)return;let G=x0(Z,0,U),j=new Uint8Array(G),q=this.decoder.decode(j);switch(J){case 0:console.error(q);break;case 1:console.warn(q);break;case 2:console.info(q);break;case 3:console.debug(q);break;default:console.log(q)}}catch(U){console.error("Error in Zig log callback:",U)}},{args:["u8","ptr","usize"],returns:"void"});if(this.logCallbackWrapper=$,!$.ptr)throw Error("Failed to create log callback");this.setLogCallback($.ptr)}setLogCallback($){this.opentui.symbols.setLogCallback($)}setupEventBus(){if(this.eventCallbackWrapper)return;let $=this.opentui.createCallback((J,Z,Q,U)=>{try{let G=typeof Z==="bigint"?Number(Z):Z,j=typeof U==="bigint"?Number(U):U;if(G===0||!J)return;let q=x0(J,0,G),K=new Uint8Array(q),_=this.decoder.decode(K),D;if(j>0&&Q)D=x0(Q,0,j).slice();else D=new ArrayBuffer(0);queueMicrotask(()=>{this._nativeEvents.emit(_,D);for(let z of this._anyEventHandlers)z(_,D)})}catch(G){console.error("Error in native event callback:",G)}},{args:["ptr","usize","ptr","usize"],returns:"void"});if(this.eventCallbackWrapper=$,!$.ptr)throw Error("Failed to create event callback");this.setEventCallback($.ptr)}ensureNativeSpanFeedCallback(){if(this.nativeSpanFeedCallbackWrapper)return this.nativeSpanFeedCallbackWrapper;let $=this.opentui.createCallback((J,Z,Q,U)=>{let G=this.nativeSpanFeedHandlers.get(J);if(G)G(Z,Q,U)},{args:["ptr","u32","ptr","u64"],returns:"void"});if(this.nativeSpanFeedCallbackWrapper=$,!$.ptr)throw Error("Failed to create native span feed callback");return $}setEventCallback($){this.opentui.symbols.setEventCallback($)}createRenderer($,J,Z={}){let Q=Z.testing??!1,U=Z.remote??!1;return this.opentui.symbols.createRenderer($,J,_0(Q),_0(U))}setTerminalEnvVar($,J,Z){let Q=this.encoder.encode(J),U=this.encoder.encode(Z);return this.opentui.symbols.setTerminalEnvVar($,Q,Q.length,U,U.length)}destroyRenderer($){this.opentui.symbols.destroyRenderer($)}setUseThread($,J){this.opentui.symbols.setUseThread($,_0(J))}setClearOnShutdown($,J){this.opentui.symbols.setClearOnShutdown($,_0(J))}setBackgroundColor($,J){this.opentui.symbols.setBackgroundColor($,H0(J))}setRenderOffset($,J){this.opentui.symbols.setRenderOffset($,J)}resetSplitScrollback($,J,Z){return this.opentui.symbols.resetSplitScrollback($,J,Z)}syncSplitScrollback($,J){return this.opentui.symbols.syncSplitScrollback($,J)}getSplitOutputOffset($,J){return this.opentui.symbols.getSplitOutputOffset($,J)}setPendingSplitFooterTransition($,J,Z,Q,U,G,j){this.opentui.symbols.setPendingSplitFooterTransition($,J,Z,Q,U,G,j)}clearPendingSplitFooterTransition($){this.opentui.symbols.clearPendingSplitFooterTransition($)}updateStats($,J,Z,Q){this.opentui.symbols.updateStats($,J,Z,Q)}updateMemoryStats($,J,Z,Q){this.opentui.symbols.updateMemoryStats($,J,Z,Q)}getNextBuffer($){let J=this.opentui.symbols.getNextBuffer($);if(!J)throw Error("Failed to get next buffer");let Z=this.opentui.symbols.getBufferWidth(J),Q=this.opentui.symbols.getBufferHeight(J);return new I0(this,J,Z,Q,{id:"next buffer",widthMethod:"unicode"})}getCurrentBuffer($){let J=this.opentui.symbols.getCurrentBuffer($);if(!J)throw Error("Failed to get current buffer");let Z=this.opentui.symbols.getBufferWidth(J),Q=this.opentui.symbols.getBufferHeight(J);return new I0(this,J,Z,Q,{id:"current buffer",widthMethod:"unicode"})}rendererSetPaletteState($,J,Z,Q,U){let G=new Uint16Array(J.length*4);for(let j=0;j<J.length;j++)G.set(J[j].buffer,j*4);this.opentui.symbols.rendererSetPaletteState($,b(G),J.length,H0(Z),H0(Q),U>>>0)}bufferGetCharPtr($){let J=this.opentui.symbols.bufferGetCharPtr($);if(!J)throw Error("Failed to get char pointer");return J}bufferGetFgPtr($){let J=this.opentui.symbols.bufferGetFgPtr($);if(!J)throw Error("Failed to get fg pointer");return J}bufferGetBgPtr($){let J=this.opentui.symbols.bufferGetBgPtr($);if(!J)throw Error("Failed to get bg pointer");return J}bufferGetAttributesPtr($){let J=this.opentui.symbols.bufferGetAttributesPtr($);if(!J)throw Error("Failed to get attributes pointer");return J}bufferGetRespectAlpha($){return this.opentui.symbols.bufferGetRespectAlpha($)}bufferSetRespectAlpha($,J){this.opentui.symbols.bufferSetRespectAlpha($,_0(J))}bufferGetId($){let Z=new Uint8Array(256),Q=this.opentui.symbols.bufferGetId($,Z,256),U=typeof Q==="bigint"?Number(Q):Q;return this.decoder.decode(Z.slice(0,U))}bufferGetRealCharSize($){return this.opentui.symbols.bufferGetRealCharSize($)}bufferWriteResolvedChars($,J,Z){let Q=this.opentui.symbols.bufferWriteResolvedChars($,J,J.length,_0(Z));return typeof Q==="bigint"?Number(Q):Q}getBufferWidth($){return this.opentui.symbols.getBufferWidth($)}getBufferHeight($){return this.opentui.symbols.getBufferHeight($)}bufferClear($,J){this.opentui.symbols.bufferClear($,H0(J))}bufferDrawText($,J,Z,Q,U,G,j){let q=this.encoder.encode(J),K=q.byteLength,_=D0(G),D=H0(U);this.opentui.symbols.bufferDrawText($,q,K,Z,Q,D,_,j??0)}bufferSetCellWithAlphaBlending($,J,Z,Q,U,G,j){let q=Q.codePointAt(0)??" ".codePointAt(0),K=H0(G),_=H0(U);this.opentui.symbols.bufferSetCellWithAlphaBlending($,J,Z,q,_,K,j??0)}bufferSetCell($,J,Z,Q,U,G,j){let q=Q.codePointAt(0)??" ".codePointAt(0),K=H0(G),_=H0(U);this.opentui.symbols.bufferSetCell($,J,Z,q,_,K,j??0)}bufferFillRect($,J,Z,Q,U,G){let j=H0(G);this.opentui.symbols.bufferFillRect($,J,Z,Q,U,j)}bufferColorMatrix($,J,Z,Q,U,G){this.opentui.symbols.bufferColorMatrix($,J,Z,Q,U,G)}bufferColorMatrixUniform($,J,Z,Q){this.opentui.symbols.bufferColorMatrixUniform($,J,Z,Q)}bufferDrawSuperSampleBuffer($,J,Z,Q,U,G,j){let q=G==="bgra8unorm"?0:1;this.opentui.symbols.bufferDrawSuperSampleBuffer($,J,Z,Q,U,q,j)}bufferDrawPackedBuffer($,J,Z,Q,U,G,j){this.opentui.symbols.bufferDrawPackedBuffer($,J,Z,Q,U,G,j)}bufferDrawGrayscaleBuffer($,J,Z,Q,U,G,j,q){this.opentui.symbols.bufferDrawGrayscaleBuffer($,J,Z,Q,U,G,D0(j),D0(q))}bufferDrawGrayscaleBufferSupersampled($,J,Z,Q,U,G,j,q){this.opentui.symbols.bufferDrawGrayscaleBufferSupersampled($,J,Z,Q,U,G,D0(j),D0(q))}bufferDrawGrid($,J,Z,Q,U,G,j,q,K){let _=MG.pack({drawInner:K.drawInner,drawOuter:K.drawOuter});this.opentui.symbols.bufferDrawGrid($,J,H0(Z),H0(Q),U,G,j,q,b(_))}bufferDrawBox($,J,Z,Q,U,G,j,q,K,_,D){let z=_?this.encoder.encode(_):null,H=_?z.length:0,O=_?z:null,X=D?this.encoder.encode(D):null,P=D?X.length:0,N=D?X:null;this.opentui.symbols.bufferDrawBox($,J,Z,Q,U,G,j,H0(q),H0(K),O,H,N,P)}bufferResize($,J,Z){this.opentui.symbols.bufferResize($,J,Z)}linkAlloc($){let J=this.encoder.encode($);return this.opentui.symbols.linkAlloc(J,J.length)}linkGetUrl($,J=512){let Z=new Uint8Array(J),Q=this.opentui.symbols.linkGetUrl($,Z,J);return this.decoder.decode(Z.slice(0,Q))}attributesWithLink($,J){return this.opentui.symbols.attributesWithLink($,J)}attributesGetLinkId($){return this.opentui.symbols.attributesGetLinkId($)}resizeRenderer($,J,Z){this.opentui.symbols.resizeRenderer($,J,Z)}setCursorPosition($,J,Z,Q){this.opentui.symbols.setCursorPosition($,J,Z,_0(Q))}setCursorColor($,J){this.opentui.symbols.setCursorColor($,H0(J))}getCursorState($){let J=new ArrayBuffer(c5.size);this.opentui.symbols.getCursorState($,b(J));let Z=c5.unpack(J);return{x:Z.x,y:Z.y,visible:Z.visible,style:SG[Z.style]??"block",blinking:Z.blinking,color:l.fromValues(Z.r,Z.g,Z.b,Z.a)}}setCursorStyleOptions($,J){let Z=J.style!=null?CG[J.style]:255,Q=J.blinking!=null?J.blinking?1:0:255,U=J.cursor!=null?TG[J.cursor]:255,G=FG.pack({style:Z,blinking:Q,color:J.color,cursor:U});this.opentui.symbols.setCursorStyleOptions($,b(G))}render($,J){this.opentui.symbols.render($,_0(J))}repaintSplitFooter($,J,Z){return this.opentui.symbols.repaintSplitFooter($,J,_0(Z))}commitSplitFooterSnapshot($,J,Z,Q,U,G,j,q=!0,K=!0){return this.opentui.symbols.commitSplitFooterSnapshot($,J.ptr,Z,_0(Q),_0(U),G,_0(j),_0(q),_0(K))}createOptimizedBuffer($,J,Z,Q=!1,U){if(Number.isNaN($)||Number.isNaN(J))console.error(Error(`Invalid dimensions for OptimizedBuffer: ${$}x${J}`).stack);let G=Z==="wcwidth"?0:1,j=U||"unnamed buffer",q=this.encoder.encode(j),K=this.opentui.symbols.createOptimizedBuffer($,J,_0(Q),G,q,q.length);if(!K)throw Error(`Failed to create optimized buffer: ${$}x${J}`);return new I0(this,K,$,J,{respectAlpha:Q,id:U,widthMethod:Z})}destroyOptimizedBuffer($){this.opentui.symbols.destroyOptimizedBuffer($)}drawFrameBuffer($,J,Z,Q,U,G,j,q){let K=U??0,_=G??0,D=j??0,z=q??0;this.opentui.symbols.drawFrameBuffer($,J,Z,Q,K,_,D,z)}setDebugOverlay($,J,Z){this.opentui.symbols.setDebugOverlay($,_0(J),Z)}clearTerminal($){this.opentui.symbols.clearTerminal($)}setTerminalTitle($,J){let Z=this.encoder.encode(J);this.opentui.symbols.setTerminalTitle($,Z,Z.length)}copyToClipboardOSC52($,J,Z){return this.opentui.symbols.copyToClipboardOSC52($,J,Z,Z.length)}clearClipboardOSC52($,J){return this.opentui.symbols.clearClipboardOSC52($,J)}triggerNotification($,J,Z){let Q=this.encoder.encode(J),U=Z===void 0?null:this.encoder.encode(Z);return this.opentui.symbols.triggerNotification($,Q,Q.length,U,U?.length??0)}addToHitGrid($,J,Z,Q,U,G){this.opentui.symbols.addToHitGrid($,J,Z,Q,U,G)}clearCurrentHitGrid($){this.opentui.symbols.clearCurrentHitGrid($)}hitGridPushScissorRect($,J,Z,Q,U){this.opentui.symbols.hitGridPushScissorRect($,J,Z,Q,U)}hitGridPopScissorRect($){this.opentui.symbols.hitGridPopScissorRect($)}hitGridClearScissorRects($){this.opentui.symbols.hitGridClearScissorRects($)}addToCurrentHitGridClipped($,J,Z,Q,U,G){this.opentui.symbols.addToCurrentHitGridClipped($,J,Z,Q,U,G)}checkHit($,J,Z){return this.opentui.symbols.checkHit($,J,Z)}getHitGridDirty($){return this.opentui.symbols.getHitGridDirty($)}dumpHitGrid($){this.opentui.symbols.dumpHitGrid($)}dumpBuffers($,J){let Z=J??Date.now();this.opentui.symbols.dumpBuffers($,Z)}dumpStdoutBuffer($,J){let Z=J??Date.now();this.opentui.symbols.dumpStdoutBuffer($,Z)}restoreTerminalModes($){this.opentui.symbols.restoreTerminalModes($)}enableMouse($,J){this.opentui.symbols.enableMouse($,_0(J))}disableMouse($){this.opentui.symbols.disableMouse($)}enableKittyKeyboard($,J){this.opentui.symbols.enableKittyKeyboard($,J)}disableKittyKeyboard($){this.opentui.symbols.disableKittyKeyboard($)}setKittyKeyboardFlags($,J){this.opentui.symbols.setKittyKeyboardFlags($,J)}getKittyKeyboardFlags($){return this.opentui.symbols.getKittyKeyboardFlags($)}setupTerminal($,J){this.opentui.symbols.setupTerminal($,_0(J))}suspendRenderer($){this.opentui.symbols.suspendRenderer($)}resumeRenderer($){this.opentui.symbols.resumeRenderer($)}queryPixelResolution($){this.opentui.symbols.queryPixelResolution($)}queryThemeColors($){this.opentui.symbols.queryThemeColors($)}writeOut($,J){let Z=typeof J==="string"?new TextEncoder().encode(J):J;if(Z.length===0)return;this.opentui.symbols.writeOut($,b(Z),Z.length)}createTextBuffer($){let J=$==="wcwidth"?0:1,Z=this.opentui.symbols.createTextBuffer(J);if(!Z)throw Error("Failed to create TextBuffer");return new Q$(this,Z)}destroyTextBuffer($){this.opentui.symbols.destroyTextBuffer($)}textBufferGetLength($){return this.opentui.symbols.textBufferGetLength($)}textBufferGetByteSize($){return this.opentui.symbols.textBufferGetByteSize($)}textBufferReset($){this.opentui.symbols.textBufferReset($)}textBufferClear($){this.opentui.symbols.textBufferClear($)}textBufferSetDefaultFg($,J){let Z=D0(J);this.opentui.symbols.textBufferSetDefaultFg($,Z)}textBufferSetDefaultBg($,J){let Z=D0(J);this.opentui.symbols.textBufferSetDefaultBg($,Z)}textBufferSetDefaultAttributes($,J){let Z=J===null?null:new Uint8Array([J]);this.opentui.symbols.textBufferSetDefaultAttributes($,Z)}textBufferResetDefaults($){this.opentui.symbols.textBufferResetDefaults($)}textBufferGetTabWidth($){return this.opentui.symbols.textBufferGetTabWidth($)}textBufferSetTabWidth($,J){this.opentui.symbols.textBufferSetTabWidth($,J)}textBufferRegisterMemBuffer($,J,Z=!1){let Q=this.opentui.symbols.textBufferRegisterMemBuffer($,J,J.length,_0(Z));if(Q===65535)throw Error("Failed to register memory buffer");return Q}textBufferReplaceMemBuffer($,J,Z,Q=!1){return this.opentui.symbols.textBufferReplaceMemBuffer($,J,Z,Z.length,_0(Q))}textBufferClearMemRegistry($){this.opentui.symbols.textBufferClearMemRegistry($)}textBufferSetTextFromMem($,J){this.opentui.symbols.textBufferSetTextFromMem($,J)}textBufferAppend($,J){this.opentui.symbols.textBufferAppend($,J,J.length)}textBufferAppendFromMemId($,J){this.opentui.symbols.textBufferAppendFromMemId($,J)}textBufferLoadFile($,J){let Z=this.encoder.encode(J);return this.opentui.symbols.textBufferLoadFile($,Z,Z.length)}textBufferSetStyledText($,J){if(J.length===0){this.textBufferClear($);return}let Z=b5.packList(J);this.opentui.symbols.textBufferSetStyledText($,b(Z),J.length)}textBufferGetLineCount($){return this.opentui.symbols.textBufferGetLineCount($)}textBufferGetPlainText($,J,Z){let Q=this.opentui.symbols.textBufferGetPlainText($,J,Z);return typeof Q==="bigint"?Number(Q):Q}getPlainTextBytes($,J){let Z=new Uint8Array(J),Q=this.textBufferGetPlainText($,b(Z),J);if(Q===0)return null;return Z.slice(0,Q)}textBufferGetTextRange($,J,Z,Q){let U=new Uint8Array(Q),G=this.opentui.symbols.textBufferGetTextRange($,J,Z,b(U),Q),j=typeof G==="bigint"?Number(G):G;if(j===0)return null;return U.slice(0,j)}textBufferGetTextRangeByCoords($,J,Z,Q,U,G){let j=new Uint8Array(G),q=this.opentui.symbols.textBufferGetTextRangeByCoords($,J,Z,Q,U,b(j),G),K=typeof q==="bigint"?Number(q):q;if(K===0)return null;return j.slice(0,K)}createTextBufferView($){let J=this.opentui.symbols.createTextBufferView($);if(!J)throw Error("Failed to create TextBufferView");return J}destroyTextBufferView($){this.opentui.symbols.destroyTextBufferView($)}textBufferViewSetSelection($,J,Z,Q,U){let G=D0(Q),j=D0(U);this.opentui.symbols.textBufferViewSetSelection($,J,Z,G,j)}textBufferViewResetSelection($){this.opentui.symbols.textBufferViewResetSelection($)}textBufferViewGetSelection($){let J=this.textBufferViewGetSelectionInfo($);if(J===0xffff_ffff_ffff_ffffn)return null;let Z=Number(J>>32n),Q=Number(J&0xffff_ffffn);return{start:Z,end:Q}}textBufferViewGetSelectionInfo($){return this.opentui.symbols.textBufferViewGetSelectionInfo($)}textBufferViewSetLocalSelection($,J,Z,Q,U,G,j){let q=D0(G),K=D0(j);return this.opentui.symbols.textBufferViewSetLocalSelection($,J,Z,Q,U,q,K)}textBufferViewUpdateSelection($,J,Z,Q){let U=D0(Z),G=D0(Q);this.opentui.symbols.textBufferViewUpdateSelection($,J,U,G)}textBufferViewUpdateLocalSelection($,J,Z,Q,U,G,j){let q=D0(G),K=D0(j);return this.opentui.symbols.textBufferViewUpdateLocalSelection($,J,Z,Q,U,q,K)}textBufferViewResetLocalSelection($){this.opentui.symbols.textBufferViewResetLocalSelection($)}textBufferViewSetWrapWidth($,J){this.opentui.symbols.textBufferViewSetWrapWidth($,J)}textBufferViewSetWrapMode($,J){let Z=J==="none"?0:J==="char"?1:2;this.opentui.symbols.textBufferViewSetWrapMode($,Z)}textBufferViewSetFirstLineOffset($,J){this.opentui.symbols.textBufferViewSetFirstLineOffset($,J)}textBufferViewSetViewportSize($,J,Z){this.opentui.symbols.textBufferViewSetViewportSize($,J,Z)}textBufferViewSetViewport($,J,Z,Q,U){this.opentui.symbols.textBufferViewSetViewport($,J,Z,Q,U)}textBufferViewGetLineInfo($){let J=new ArrayBuffer(R8.size);this.textBufferViewGetLineInfoDirect($,b(J));let Z=R8.unpack(J),Q=Z.startCols,U=Z.widthCols,G=Z.widthColsMax;return{lineStartCols:Q,lineWidthCols:U,lineWidthColsMax:G,lineSources:Z.sources,lineWraps:Z.wraps}}textBufferViewGetLogicalLineInfo($){let J=new ArrayBuffer(R8.size);this.textBufferViewGetLogicalLineInfoDirect($,b(J));let Z=R8.unpack(J),Q=Z.startCols,U=Z.widthCols,G=Z.widthColsMax;return{lineStartCols:Q,lineWidthCols:U,lineWidthColsMax:G,lineSources:Z.sources,lineWraps:Z.wraps}}textBufferViewGetVirtualLineCount($){return this.opentui.symbols.textBufferViewGetVirtualLineCount($)}textBufferViewGetLineInfoDirect($,J){this.opentui.symbols.textBufferViewGetLineInfoDirect($,J)}textBufferViewGetLogicalLineInfoDirect($,J){this.opentui.symbols.textBufferViewGetLogicalLineInfoDirect($,J)}textBufferViewGetSelectedText($,J,Z){let Q=this.opentui.symbols.textBufferViewGetSelectedText($,J,Z);return typeof Q==="bigint"?Number(Q):Q}textBufferViewGetPlainText($,J,Z){let Q=this.opentui.symbols.textBufferViewGetPlainText($,J,Z);return typeof Q==="bigint"?Number(Q):Q}textBufferViewGetSelectedTextBytes($,J){let Z=new Uint8Array(J),Q=this.textBufferViewGetSelectedText($,b(Z),J);if(Q===0)return null;return Z.slice(0,Q)}textBufferViewGetPlainTextBytes($,J){let Z=new Uint8Array(J),Q=this.textBufferViewGetPlainText($,b(Z),J);if(Q===0)return null;return Z.slice(0,Q)}textBufferViewSetTabIndicator($,J){this.opentui.symbols.textBufferViewSetTabIndicator($,J)}textBufferViewSetTabIndicatorColor($,J){this.opentui.symbols.textBufferViewSetTabIndicatorColor($,H0(J))}textBufferViewSetTruncate($,J){this.opentui.symbols.textBufferViewSetTruncate($,_0(J))}textBufferViewMeasureForDimensions($,J,Z){let Q=new ArrayBuffer(p5.size),U=b(new Uint8Array(Q));if(!this.opentui.symbols.textBufferViewMeasureForDimensions($,J,Z,U))return null;return p5.unpack(Q)}textBufferAddHighlightByCharRange($,J){let Z=G7.pack(J);this.opentui.symbols.textBufferAddHighlightByCharRange($,b(Z))}textBufferAddHighlight($,J,Z){let Q=G7.pack(Z);this.opentui.symbols.textBufferAddHighlight($,J,b(Q))}textBufferRemoveHighlightsByRef($,J){this.opentui.symbols.textBufferRemoveHighlightsByRef($,J)}textBufferClearLineHighlights($,J){this.opentui.symbols.textBufferClearLineHighlights($,J)}textBufferClearAllHighlights($){this.opentui.symbols.textBufferClearAllHighlights($)}textBufferSetSyntaxStyle($,J){this.opentui.symbols.textBufferSetSyntaxStyle($,J)}textBufferGetLineHighlights($,J){let Z=new BigUint64Array(1),Q=this.opentui.symbols.textBufferGetLineHighlightsPtr($,J,b(Z));if(!Q)return[];let U=Number(Z[0]),G=U*G7.size,j=x0(Q,0,G),q=G7.unpackList(j,U);return this.opentui.symbols.textBufferFreeLineHighlights(Q,U),q}textBufferGetHighlightCount($){return this.opentui.symbols.textBufferGetHighlightCount($)}getArenaAllocatedBytes(){let $=this.opentui.symbols.getArenaAllocatedBytes();return typeof $==="bigint"?Number($):$}getBuildOptions(){let $=new ArrayBuffer(u5.size);this.opentui.symbols.getBuildOptions(b($));let J=u5.unpack($);return{gpaSafeStats:!!J.gpaSafeStats,gpaMemoryLimitTracking:!!J.gpaMemoryLimitTracking}}getAllocatorStats(){let $=new ArrayBuffer(d5.size);this.opentui.symbols.getAllocatorStats(b($));let J=d5.unpack($);return{totalRequestedBytes:V$(J.totalRequestedBytes),activeAllocations:V$(J.activeAllocations),smallAllocations:V$(J.smallAllocations),largeAllocations:V$(J.largeAllocations),requestedBytesValid:!!J.requestedBytesValid}}bufferDrawTextBufferView($,J,Z,Q){this.opentui.symbols.bufferDrawTextBufferView($,J,Z,Q)}bufferDrawEditorView($,J,Z,Q){this.opentui.symbols.bufferDrawEditorView($,J,Z,Q)}createEditorView($,J,Z){let Q=this.opentui.symbols.createEditorView($,J,Z);if(!Q)throw Error("Failed to create EditorView");return Q}destroyEditorView($){this.opentui.symbols.destroyEditorView($)}editorViewSetViewportSize($,J,Z){this.opentui.symbols.editorViewSetViewportSize($,J,Z)}editorViewSetViewport($,J,Z,Q,U,G){this.opentui.symbols.editorViewSetViewport($,J,Z,Q,U,_0(G))}editorViewGetViewport($){let J=new Uint32Array(1),Z=new Uint32Array(1),Q=new Uint32Array(1),U=new Uint32Array(1);return this.opentui.symbols.editorViewGetViewport($,b(J),b(Z),b(Q),b(U)),{offsetX:J[0],offsetY:Z[0],width:Q[0],height:U[0]}}editorViewSetScrollMargin($,J){this.opentui.symbols.editorViewSetScrollMargin($,J)}editorViewSetWrapMode($,J){let Z=J==="none"?0:J==="char"?1:2;this.opentui.symbols.editorViewSetWrapMode($,Z)}editorViewGetVirtualLineCount($){return this.opentui.symbols.editorViewGetVirtualLineCount($)}editorViewGetTotalVirtualLineCount($){return this.opentui.symbols.editorViewGetTotalVirtualLineCount($)}editorViewGetTextBufferView($){let J=this.opentui.symbols.editorViewGetTextBufferView($);if(!J)throw Error("Failed to get TextBufferView from EditorView");return J}editorViewGetLineInfo($){let J=new ArrayBuffer(R8.size);this.opentui.symbols.editorViewGetLineInfoDirect($,b(J));let Z=R8.unpack(J),Q=Z.startCols,U=Z.widthCols,G=Z.widthColsMax;return{lineStartCols:Q,lineWidthCols:U,lineWidthColsMax:G,lineSources:Z.sources,lineWraps:Z.wraps}}editorViewGetLogicalLineInfo($){let J=new ArrayBuffer(R8.size);this.opentui.symbols.editorViewGetLogicalLineInfoDirect($,b(J));let Z=R8.unpack(J),Q=Z.startCols,U=Z.widthCols,G=Z.widthColsMax;return{lineStartCols:Q,lineWidthCols:U,lineWidthColsMax:G,lineSources:Z.sources,lineWraps:Z.wraps}}createEditBuffer($){let J=$==="wcwidth"?0:1,Z=this.opentui.symbols.createEditBuffer(J);if(!Z)throw Error("Failed to create EditBuffer");return Z}destroyEditBuffer($){this.opentui.symbols.destroyEditBuffer($)}editBufferSetText($,J){this.opentui.symbols.editBufferSetText($,J,J.length)}editBufferSetTextFromMem($,J){this.opentui.symbols.editBufferSetTextFromMem($,J)}editBufferReplaceText($,J){this.opentui.symbols.editBufferReplaceText($,J,J.length)}editBufferReplaceTextFromMem($,J){this.opentui.symbols.editBufferReplaceTextFromMem($,J)}editBufferGetText($,J){let Z=new Uint8Array(J),Q=this.opentui.symbols.editBufferGetText($,b(Z),J),U=typeof Q==="bigint"?Number(Q):Q;if(U===0)return null;return Z.slice(0,U)}editBufferInsertChar($,J){let Z=this.encoder.encode(J);this.opentui.symbols.editBufferInsertChar($,Z,Z.length)}editBufferInsertText($,J){let Z=this.encoder.encode(J);this.opentui.symbols.editBufferInsertText($,Z,Z.length)}editBufferDeleteChar($){this.opentui.symbols.editBufferDeleteChar($)}editBufferDeleteCharBackward($){this.opentui.symbols.editBufferDeleteCharBackward($)}editBufferDeleteRange($,J,Z,Q,U){this.opentui.symbols.editBufferDeleteRange($,J,Z,Q,U)}editBufferNewLine($){this.opentui.symbols.editBufferNewLine($)}editBufferDeleteLine($){this.opentui.symbols.editBufferDeleteLine($)}editBufferMoveCursorLeft($){this.opentui.symbols.editBufferMoveCursorLeft($)}editBufferMoveCursorRight($){this.opentui.symbols.editBufferMoveCursorRight($)}editBufferMoveCursorUp($){this.opentui.symbols.editBufferMoveCursorUp($)}editBufferMoveCursorDown($){this.opentui.symbols.editBufferMoveCursorDown($)}editBufferGotoLine($,J){this.opentui.symbols.editBufferGotoLine($,J)}editBufferSetCursor($,J,Z){this.opentui.symbols.editBufferSetCursor($,J,Z)}editBufferSetCursorToLineCol($,J,Z){this.opentui.symbols.editBufferSetCursorToLineCol($,J,Z)}editBufferSetCursorByOffset($,J){this.opentui.symbols.editBufferSetCursorByOffset($,J)}editBufferGetCursorPosition($){let J=new ArrayBuffer(G8.size);return this.opentui.symbols.editBufferGetCursorPosition($,b(J)),G8.unpack(J)}editBufferGetId($){return this.opentui.symbols.editBufferGetId($)}editBufferGetTextBuffer($){let J=this.opentui.symbols.editBufferGetTextBuffer($);if(!J)throw Error("Failed to get TextBuffer from EditBuffer");return J}editBufferDebugLogRope($){this.opentui.symbols.editBufferDebugLogRope($)}editBufferUndo($,J){let Z=new Uint8Array(J),Q=this.opentui.symbols.editBufferUndo($,b(Z),J),U=typeof Q==="bigint"?Number(Q):Q;if(U===0)return null;return Z.slice(0,U)}editBufferRedo($,J){let Z=new Uint8Array(J),Q=this.opentui.symbols.editBufferRedo($,b(Z),J),U=typeof Q==="bigint"?Number(Q):Q;if(U===0)return null;return Z.slice(0,U)}editBufferCanUndo($){return this.opentui.symbols.editBufferCanUndo($)}editBufferCanRedo($){return this.opentui.symbols.editBufferCanRedo($)}editBufferClearHistory($){this.opentui.symbols.editBufferClearHistory($)}editBufferClear($){this.opentui.symbols.editBufferClear($)}editBufferGetNextWordBoundary($){let J=new ArrayBuffer(G8.size);return this.opentui.symbols.editBufferGetNextWordBoundary($,b(J)),G8.unpack(J)}editBufferGetPrevWordBoundary($){let J=new ArrayBuffer(G8.size);return this.opentui.symbols.editBufferGetPrevWordBoundary($,b(J)),G8.unpack(J)}editBufferGetEOL($){let J=new ArrayBuffer(G8.size);return this.opentui.symbols.editBufferGetEOL($,b(J)),G8.unpack(J)}editBufferOffsetToPosition($,J){let Z=new ArrayBuffer(G8.size);if(!this.opentui.symbols.editBufferOffsetToPosition($,J,b(Z)))return null;return G8.unpack(Z)}editBufferPositionToOffset($,J,Z){return this.opentui.symbols.editBufferPositionToOffset($,J,Z)}editBufferGetLineStartOffset($,J){return this.opentui.symbols.editBufferGetLineStartOffset($,J)}editBufferGetTextRange($,J,Z,Q){let U=new Uint8Array(Q),G=this.opentui.symbols.editBufferGetTextRange($,J,Z,b(U),Q),j=typeof G==="bigint"?Number(G):G;if(j===0)return null;return U.slice(0,j)}editBufferGetTextRangeByCoords($,J,Z,Q,U,G){let j=new Uint8Array(G),q=this.opentui.symbols.editBufferGetTextRangeByCoords($,J,Z,Q,U,b(j),G),K=typeof q==="bigint"?Number(q):q;if(K===0)return null;return j.slice(0,K)}editorViewSetSelection($,J,Z,Q,U){let G=D0(Q),j=D0(U);this.opentui.symbols.editorViewSetSelection($,J,Z,G,j)}editorViewResetSelection($){this.opentui.symbols.editorViewResetSelection($)}editorViewGetSelection($){let J=this.opentui.symbols.editorViewGetSelection($);if(J===0xffff_ffff_ffff_ffffn)return null;let Z=Number(J>>32n),Q=Number(J&0xffff_ffffn);return{start:Z,end:Q}}editorViewSetLocalSelection($,J,Z,Q,U,G,j,q,K){let _=D0(G),D=D0(j);return this.opentui.symbols.editorViewSetLocalSelection($,J,Z,Q,U,_,D,_0(q),_0(K))}editorViewUpdateSelection($,J,Z,Q){let U=D0(Z),G=D0(Q);this.opentui.symbols.editorViewUpdateSelection($,J,U,G)}editorViewUpdateLocalSelection($,J,Z,Q,U,G,j,q,K){let _=D0(G),D=D0(j);return this.opentui.symbols.editorViewUpdateLocalSelection($,J,Z,Q,U,_,D,_0(q),_0(K))}editorViewResetLocalSelection($){this.opentui.symbols.editorViewResetLocalSelection($)}editorViewGetSelectedTextBytes($,J){let Z=new Uint8Array(J),Q=this.opentui.symbols.editorViewGetSelectedTextBytes($,b(Z),J),U=typeof Q==="bigint"?Number(Q):Q;if(U===0)return null;return Z.slice(0,U)}editorViewGetCursor($){let J=new Uint32Array(1),Z=new Uint32Array(1);return this.opentui.symbols.editorViewGetCursor($,b(J),b(Z)),{row:J[0],col:Z[0]}}editorViewGetText($,J){let Z=new Uint8Array(J),Q=this.opentui.symbols.editorViewGetText($,b(Z),J),U=typeof Q==="bigint"?Number(Q):Q;if(U===0)return null;return Z.slice(0,U)}editorViewGetVisualCursor($){let J=new ArrayBuffer(a0.size);return this.opentui.symbols.editorViewGetVisualCursor($,b(J)),a0.unpack(J)}editorViewMoveUpVisual($){this.opentui.symbols.editorViewMoveUpVisual($)}editorViewMoveDownVisual($){this.opentui.symbols.editorViewMoveDownVisual($)}editorViewDeleteSelectedText($){this.opentui.symbols.editorViewDeleteSelectedText($)}editorViewSetCursorByOffset($,J){this.opentui.symbols.editorViewSetCursorByOffset($,J)}editorViewGetNextWordBoundary($){let J=new ArrayBuffer(a0.size);return this.opentui.symbols.editorViewGetNextWordBoundary($,b(J)),a0.unpack(J)}editorViewGetPrevWordBoundary($){let J=new ArrayBuffer(a0.size);return this.opentui.symbols.editorViewGetPrevWordBoundary($,b(J)),a0.unpack(J)}editorViewGetEOL($){let J=new ArrayBuffer(a0.size);return this.opentui.symbols.editorViewGetEOL($,b(J)),a0.unpack(J)}editorViewGetVisualSOL($){let J=new ArrayBuffer(a0.size);return this.opentui.symbols.editorViewGetVisualSOL($,b(J)),a0.unpack(J)}editorViewGetVisualEOL($){let J=new ArrayBuffer(a0.size);return this.opentui.symbols.editorViewGetVisualEOL($,b(J)),a0.unpack(J)}bufferPushScissorRect($,J,Z,Q,U){this.opentui.symbols.bufferPushScissorRect($,J,Z,Q,U)}bufferPopScissorRect($){this.opentui.symbols.bufferPopScissorRect($)}bufferClearScissorRects($){this.opentui.symbols.bufferClearScissorRects($)}bufferPushOpacity($,J){this.opentui.symbols.bufferPushOpacity($,J)}bufferPopOpacity($){this.opentui.symbols.bufferPopOpacity($)}bufferGetCurrentOpacity($){return this.opentui.symbols.bufferGetCurrentOpacity($)}bufferClearOpacity($){this.opentui.symbols.bufferClearOpacity($)}getTerminalCapabilities($){let J=new ArrayBuffer(m5.size);this.opentui.symbols.getTerminalCapabilities($,b(J));let Z=m5.unpack(J);return{kitty_keyboard:Z.kitty_keyboard,kitty_graphics:Z.kitty_graphics,rgb:Z.rgb,ansi256:Z.ansi256,unicode:Z.unicode,sgr_pixels:Z.sgr_pixels,color_scheme_updates:Z.color_scheme_updates,explicit_width:Z.explicit_width,scaled_text:Z.scaled_text,sixel:Z.sixel,focus_tracking:Z.focus_tracking,sync:Z.sync,bracketed_paste:Z.bracketed_paste,hyperlinks:Z.hyperlinks,osc52:Z.osc52,notifications:Z.notifications,explicit_cursor_positioning:Z.explicit_cursor_positioning,in_tmux:Z.in_tmux,terminal:{name:Z.term_name??"",version:Z.term_version??"",from_xtversion:Z.term_from_xtversion}}}processCapabilityResponse($,J){let Z=this.encoder.encode(J);this.opentui.symbols.processCapabilityResponse($,Z,Z.length)}encodeUnicode($,J){let Z=this.encoder.encode($),Q=J==="wcwidth"?0:1,U=new ArrayBuffer(8),G=new ArrayBuffer(8);if(!this.opentui.symbols.encodeUnicode(Z,Z.length,b(U),b(G),Q))return null;let q=new BigUint64Array(U),K=new BigUint64Array(G),_=V7(q[0]),D=Number(K[0]);if(D===0)return{ptr:_,data:[]};let z=D*h5.size,H=x0(_,0,z),O=h5.unpackList(H,D);return{ptr:_,data:O}}freeUnicode($){this.opentui.symbols.freeUnicode($.ptr,$.data.length)}bufferDrawChar($,J,Z,Q,U,G,j=0){this.opentui.symbols.bufferDrawChar($,J,Z,Q,H0(U),H0(G),j)}createAudioEngine($){let J=$==null?null:EG.pack($),Z=this.opentui.symbols.createAudioEngine(J?b(J):null);return Z?V7(Z):null}destroyAudioEngine($){this.opentui.symbols.destroyAudioEngine($)}audioRefreshPlaybackDevices($){return this.opentui.symbols.audioRefreshPlaybackDevices($)}audioGetPlaybackDeviceCount($){return this.opentui.symbols.audioGetPlaybackDeviceCount($)}audioGetPlaybackDeviceName($,J){let Z=new Uint8Array(512),Q=V$(this.opentui.symbols.audioGetPlaybackDeviceName($,J,b(Z),Z.length)),U=Math.max(0,Math.min(Z.length,Q));return this.decoder.decode(Z.subarray(0,U))}audioIsPlaybackDeviceDefault($,J){return this.opentui.symbols.audioIsPlaybackDeviceDefault($,J)}audioSelectPlaybackDevice($,J){return this.opentui.symbols.audioSelectPlaybackDevice($,J)}audioClearPlaybackDeviceSelection($){this.opentui.symbols.audioClearPlaybackDeviceSelection($)}audioStart($,J){let Z=J==null?null:BG.pack(J);return this.opentui.symbols.audioStart($,Z?b(Z):null)}audioStartMixer($){return this.opentui.symbols.audioStartMixer($)}audioStop($){return this.opentui.symbols.audioStop($)}audioLoad($,J){let Z=new ArrayBuffer(4),Q=this.opentui.symbols.audioLoad($,b(J),J.length,b(Z));if(Q!==0)return{status:Q,soundId:null};let U=new Uint32Array(Z);return{status:Q,soundId:U[0]}}audioUnload($,J){return this.opentui.symbols.audioUnload($,J)}audioPlay($,J,Z){let Q=new ArrayBuffer(4),U=Z?LG.pack(Z):null,G=this.opentui.symbols.audioPlay($,J,U?b(U):null,b(Q));if(G!==0)return{status:G,voiceId:null};let j=new Uint32Array(Q);return{status:G,voiceId:j[0]}}audioStopVoice($,J){return this.opentui.symbols.audioStopVoice($,J)}audioSetVoiceGroup($,J,Z){return this.opentui.symbols.audioSetVoiceGroup($,J,Z)}audioCreateGroup($,J){let Z=new ArrayBuffer(4),Q=this.encoder.encode(J),U=this.opentui.symbols.audioCreateGroup($,b(Q),Q.length,b(Z));if(U!==0)return{status:U,groupId:null};let G=new Uint32Array(Z);return{status:U,groupId:G[0]}}audioSetGroupVolume($,J,Z){return this.opentui.symbols.audioSetGroupVolume($,J,Z)}audioSetMasterVolume($,J){return this.opentui.symbols.audioSetMasterVolume($,J)}audioMixToBuffer($,J,Z,Q){return this.opentui.symbols.audioMixToBuffer($,b(J),Z,Q)}audioEnableTap($,J,Z){return this.opentui.symbols.audioEnableTap($,J,Z)}audioReadTap($,J,Z,Q){let U=new ArrayBuffer(4),G=this.opentui.symbols.audioReadTap($,b(J),Z,Q,b(U));if(G!==0)return{status:G,framesRead:0};let j=new Uint32Array(U);return{status:G,framesRead:j[0]??0}}audioGetStats($){let J=new ArrayBuffer(r5.size);if(this.opentui.symbols.audioGetStats($,b(J))!==0)return null;let Q=r5.unpack(J);return{soundsLoaded:Q.soundsLoaded,voicesActive:Q.voicesActive,framesMixed:typeof Q.framesMixed==="bigint"?Q.framesMixed:BigInt(Q.framesMixed),lockMisses:Q.lockMisses,lastPeak:Q.lastPeak,lastRms:Q.lastRms}}registerNativeSpanFeedStream($,J){let Z=this.ensureNativeSpanFeedCallback();this.nativeSpanFeedHandlers.set($,J),this.opentui.symbols.streamSetCallback($,Z.ptr)}unregisterNativeSpanFeedStream($){this.opentui.symbols.streamSetCallback($,null),this.nativeSpanFeedHandlers.delete($)}createNativeSpanFeed($){let J=$==null?null:a5.pack($),Z=this.opentui.symbols.createNativeSpanFeed(J?b(J):null);if(!Z)throw Error("Failed to create stream");return Z}attachNativeSpanFeed($){return this.opentui.symbols.attachNativeSpanFeed($)}destroyNativeSpanFeed($){this.opentui.symbols.destroyNativeSpanFeed($),this.nativeSpanFeedHandlers.delete($)}streamWrite($,J){let Z=typeof J==="string"?this.encoder.encode(J):J;return this.opentui.symbols.streamWrite($,b(Z),Z.length)}streamCommit($){return this.opentui.symbols.streamCommit($)}streamDrainSpans($,J,Z){let Q=this.opentui.symbols.streamDrainSpans($,b(J),Z);return V$(Q)}streamClose($){return this.opentui.symbols.streamClose($)}streamSetOptions($,J){let Z=a5.pack(J);return this.opentui.symbols.streamSetOptions($,b(Z))}streamGetStats($){let J=new ArrayBuffer(s5.size);if(this.opentui.symbols.streamGetStats($,b(J))!==0)return null;let Q=s5.unpack(J);return{bytesWritten:typeof Q.bytesWritten==="bigint"?Q.bytesWritten:BigInt(Q.bytesWritten),spansCommitted:typeof Q.spansCommitted==="bigint"?Q.spansCommitted:BigInt(Q.spansCommitted),chunks:Q.chunks,pendingSpans:Q.pendingSpans}}streamReserve($,J){let Z=new ArrayBuffer(l5.size),Q=this.opentui.symbols.streamReserve($,J,b(Z));if(Q!==0)return{status:Q,info:null};return{status:Q,info:l5.unpack(Z)}}streamCommitReserved($,J){return this.opentui.symbols.streamCommitReserved($,J)}createSyntaxStyle(){let $=this.opentui.symbols.createSyntaxStyle();if(!$)throw Error("Failed to create SyntaxStyle");return $}destroySyntaxStyle($){this.opentui.symbols.destroySyntaxStyle($)}syntaxStyleRegister($,J,Z,Q,U){let G=this.encoder.encode(J),j=D0(Z),q=D0(Q);return this.opentui.symbols.syntaxStyleRegister($,G,G.length,j,q,U)}syntaxStyleResolveByName($,J){let Z=this.encoder.encode(J),Q=this.opentui.symbols.syntaxStyleResolveByName($,Z,Z.length);return Q===0?null:Q}syntaxStyleGetStyleCount($){let J=this.opentui.symbols.syntaxStyleGetStyleCount($);return typeof J==="bigint"?Number(J):J}editorViewSetPlaceholderStyledText($,J){let Z=J.filter((U)=>U.text.length>0);if(Z.length===0){this.opentui.symbols.editorViewSetPlaceholderStyledText($,null,0);return}let Q=b5.packList(Z);this.opentui.symbols.editorViewSetPlaceholderStyledText($,b(Q),Z.length)}editorViewSetTabIndicator($,J){this.opentui.symbols.editorViewSetTabIndicator($,J)}editorViewSetTabIndicatorColor($,J){this.opentui.symbols.editorViewSetTabIndicatorColor($,H0(J))}onNativeEvent($,J){this._nativeEvents.on($,J)}onceNativeEvent($,J){this._nativeEvents.once($,J)}offNativeEvent($,J){this._nativeEvents.off($,J)}onAnyNativeEvent($){this._anyEventHandlers.push($)}}var z7,u$;function G9($){if(z7!==$)z7=$,u$=void 0}function E0(){if(!u$)try{u$=new U9(z7)}catch($){throw Error(`Failed to initialize OpenTUI render library: ${$ instanceof Error?$.message:"Unknown error"}`)}return u$}try{u$=new U9(z7)}catch($){}class Q${lib;bufferPtr;_length=0;_byteSize=0;_lineInfo;_destroyed=!1;_syntaxStyle;_textBytes;_memId;_appendedChunks=[];constructor($,J){this.lib=$,this.bufferPtr=J}static create($){return E0().createTextBuffer($)}guard(){if(this._destroyed)throw Error("TextBuffer is destroyed")}setText($){if(this.guard(),this._textBytes=this.lib.encoder.encode($),this._memId===void 0)this._memId=this.lib.textBufferRegisterMemBuffer(this.bufferPtr,this._textBytes,!1);else this.lib.textBufferReplaceMemBuffer(this.bufferPtr,this._memId,this._textBytes,!1);this.lib.textBufferSetTextFromMem(this.bufferPtr,this._memId),this._length=this.lib.textBufferGetLength(this.bufferPtr),this._byteSize=this.lib.textBufferGetByteSize(this.bufferPtr),this._lineInfo=void 0,this._appendedChunks=[]}append($){this.guard();let J=this.lib.encoder.encode($);this._appendedChunks.push(J),this.lib.textBufferAppend(this.bufferPtr,J),this._length=this.lib.textBufferGetLength(this.bufferPtr),this._byteSize=this.lib.textBufferGetByteSize(this.bufferPtr),this._lineInfo=void 0}loadFile($){if(this.guard(),!this.lib.textBufferLoadFile(this.bufferPtr,$))throw Error(`Failed to load file: ${$}`);this._length=this.lib.textBufferGetLength(this.bufferPtr),this._byteSize=this.lib.textBufferGetByteSize(this.bufferPtr),this._lineInfo=void 0,this._textBytes=void 0}setStyledText($){this.guard(),this.lib.textBufferSetStyledText(this.bufferPtr,$.chunks),this._length=this.lib.textBufferGetLength(this.bufferPtr),this._byteSize=this.lib.textBufferGetByteSize(this.bufferPtr),this._lineInfo=void 0}setDefaultFg($){this.guard(),this.lib.textBufferSetDefaultFg(this.bufferPtr,$)}setDefaultBg($){this.guard(),this.lib.textBufferSetDefaultBg(this.bufferPtr,$)}setDefaultAttributes($){this.guard(),this.lib.textBufferSetDefaultAttributes(this.bufferPtr,$)}resetDefaults(){this.guard(),this.lib.textBufferResetDefaults(this.bufferPtr)}getLineCount(){return this.guard(),this.lib.textBufferGetLineCount(this.bufferPtr)}get length(){return this.guard(),this._length}get byteSize(){return this.guard(),this._byteSize}get ptr(){return this.guard(),this.bufferPtr}getPlainText(){if(this.guard(),this._byteSize===0)return"";let $=this.lib.getPlainTextBytes(this.bufferPtr,this._byteSize);if(!$)return"";return this.lib.decoder.decode($)}getTextRange($,J){if(this.guard(),$>=J)return"";if(this._byteSize===0)return"";let Z=this.lib.textBufferGetTextRange(this.bufferPtr,$,J,this._byteSize);if(!Z)return"";return this.lib.decoder.decode(Z)}addHighlightByCharRange($){this.guard(),this.lib.textBufferAddHighlightByCharRange(this.bufferPtr,$)}addHighlight($,J){this.guard(),this.lib.textBufferAddHighlight(this.bufferPtr,$,J)}removeHighlightsByRef($){this.guard(),this.lib.textBufferRemoveHighlightsByRef(this.bufferPtr,$)}clearLineHighlights($){this.guard(),this.lib.textBufferClearLineHighlights(this.bufferPtr,$)}clearAllHighlights(){this.guard(),this.lib.textBufferClearAllHighlights(this.bufferPtr)}getLineHighlights($){return this.guard(),this.lib.textBufferGetLineHighlights(this.bufferPtr,$)}getHighlightCount(){return this.guard(),this.lib.textBufferGetHighlightCount(this.bufferPtr)}setSyntaxStyle($){this.guard(),this._syntaxStyle=$??void 0,this.lib.textBufferSetSyntaxStyle(this.bufferPtr,$?.ptr??null)}getSyntaxStyle(){return this.guard(),this._syntaxStyle??null}setTabWidth($){this.guard(),this.lib.textBufferSetTabWidth(this.bufferPtr,$)}getTabWidth(){return this.guard(),this.lib.textBufferGetTabWidth(this.bufferPtr)}clear(){this.guard(),this.lib.textBufferClear(this.bufferPtr),this._length=0,this._byteSize=0,this._lineInfo=void 0,this._textBytes=void 0,this._appendedChunks=[]}reset(){this.guard(),this.lib.textBufferReset(this.bufferPtr),this._length=0,this._byteSize=0,this._lineInfo=void 0,this._textBytes=void 0,this._memId=void 0,this._appendedChunks=[]}destroy(){if(this._destroyed)return;this._destroyed=!0,this.lib.destroyTextBuffer(this.bufferPtr)}}function kG($,J){if(typeof J.width==="number"){if(J.width<0)throw TypeError(`Invalid width for Renderable ${$}: ${J.width}`)}if(typeof J.height==="number"){if(J.height<0)throw TypeError(`Invalid height for Renderable ${$}: ${J.height}`)}}function B6($){if(typeof $==="string"&&$.endsWith("%")){let J=$.slice(0,-1),Z=parseFloat(J);return!Number.isNaN(Z)}return!1}function w0($){if(typeof $==="number"&&!Number.isNaN($))return!0;if($==="auto")return!0;return B6($)}function k0($){if(typeof $==="number"&&!Number.isNaN($))return!0;return B6($)}function X8($){if(typeof $==="number"&&!Number.isNaN($))return!0;if($==="auto")return!0;return B6($)}function vG($){return $==="relative"||$==="absolute"}function xG($){return $==="visible"||$==="hidden"||$==="scroll"}function q7($){return X8($)}function o5($){if($===void 0||$==="auto")return!0;if(typeof $==="number"&&!Number.isNaN($))return!0;return!1}function w8($){if($===void 0)return!0;if(typeof $==="number"&&!Number.isNaN($))return!0;return B6($)}var xQ=Symbol.for("@opentui/core/Renderable"),x7;(($)=>{$.LAYOUT_CHANGED="layout-changed",$.ADDED="added",$.REMOVED="removed",$.RESIZED="resized"})(x7||={});var f7;(($)=>{$.FOCUSED="focused",$.BLURRED="blurred",$.DESTROYED="destroyed"})(f7||={});function F8($){return!!$?.[xQ]}class h8 extends wG{[xQ]=!0;static renderableNumber=1;_id;num;_dirty=!1;parent=null;_visible=!0;constructor($){super();this.num=h8.renderableNumber++,this._id=$.id??`renderable-${this.num}`}get id(){return this._id}set id($){this._id=$}get isDirty(){return this._dirty}markClean(){this._dirty=!1}markDirty(){this._dirty=!0}destroy(){}destroyRecursively(){}get visible(){return this._visible}set visible($){this._visible=$}}var g7=X7.Config.create();g7.setUseWebDefaults(!1);g7.setPointScaleFactor(1);class Q0 extends h8{static renderablesByNumber=new Map;_isDestroyed=!1;_ctx;_translateX=0;_translateY=0;_x=0;_y=0;_screenX=0;_screenY=0;_width;_height;_widthValue=0;_heightValue=0;_zIndex;selectable=!1;buffered;frameBuffer=null;_focusable=!1;_focused=!1;_hasFocusedDescendant=!1;keypressHandler=null;pasteHandler=null;_live=!1;_liveCount=0;_sizeChangeListener=void 0;_mouseListener=null;_mouseListeners={};_pasteListener=void 0;_keyListeners={};yogaNode;_positionType="relative";_overflow="visible";_position={};_opacity=1;_flexShrink=1;renderableMapById=new Map;_childrenInLayoutOrder=[];_childrenInZIndexOrder=[];needsZIndexSort=!1;parent=null;childrenPrimarySortDirty=!0;childrenSortedByPrimaryAxis=[];_shouldUpdateBefore=new Set;_lastLayoutFrame=-1;onLifecyclePass=null;renderBefore;renderAfter;constructor($,J){super(J);if(this._ctx=$,Q0.renderablesByNumber.set(this.num,this),kG(this.id,J),this.renderBefore=J.renderBefore,this.renderAfter=J.renderAfter,this._width=J.width??"auto",this._height=J.height??"auto",typeof this._width==="number")this._widthValue=this._width;if(typeof this._height==="number")this._heightValue=this._height;if(this._zIndex=J.zIndex??0,this._visible=J.visible!==!1,this.buffered=J.buffered??!1,this._live=J.live??!1,this._liveCount=this._live&&this._visible?1:0,this._opacity=J.opacity!==void 0?Math.max(0,Math.min(1,J.opacity)):1,this.yogaNode=X7.Node.create(g7),this.yogaNode.setDisplay(this._visible?m0.Flex:m0.None),this.setupYogaProperties(J),this.applyEventOptions(J),this.buffered)this.createFrameBuffer()}get id(){return this._id}set id($){if(this.parent)this.parent.renderableMapById.delete(this.id),this.parent.renderableMapById.set($,this);super.id=$}get focusable(){return this._focusable}set focusable($){this._focusable=$}get ctx(){return this._ctx}get visible(){return this._visible}get primaryAxis(){let $=this.yogaNode.getFlexDirection();return $===2||$===3?"row":"column"}set visible($){if(this._visible===$)return;let J=this._visible;if(this._visible=$,this.yogaNode.setDisplay($?m0.Flex:m0.None),this._live){if(!J&&$)this.propagateLiveCount(1);else if(J&&!$)this.propagateLiveCount(-1)}if(this._focused)this.blur();this.requestRender()}get opacity(){return this._opacity}set opacity($){let J=Math.max(0,Math.min(1,$));if(this._opacity!==J)this._opacity=J,this.requestRender()}hasSelection(){return!1}onSelectionChanged($){return!1}getSelectedText(){return""}shouldStartSelection($,J){return!1}focus(){if(this._isDestroyed||this._focused||!this._focusable)return;this._focused=!0,this._ctx.focusRenderable(this),this.requestRender(),this.keypressHandler=($)=>{if(this._isDestroyed)return;if(this._keyListeners.down?.($),this._isDestroyed)return;if(!$.defaultPrevented&&this.handleKeyPress)this.handleKeyPress($)},this.pasteHandler=($)=>{if(this._isDestroyed)return;if(this._pasteListener?.call(this,$),this._isDestroyed)return;if(!$.defaultPrevented&&this.handlePaste)this.handlePaste($)},this.ctx._internalKeyInput.onInternal("keypress",this.keypressHandler),this.ctx._internalKeyInput.onInternal("paste",this.pasteHandler),this.propagateFocusChange(!0),this.emit("focused")}propagateFocusChange($){let J=this.parent;while(J){if(J._hasFocusedDescendant!==$)J._hasFocusedDescendant=$,J.markDirty();J=J.parent}this.requestRender()}blur(){if(!this._focused||!this._focusable)return;if(this._ctx.blurRenderable(this),this._focused=!1,this.requestRender(),this.keypressHandler)this.ctx._internalKeyInput.offInternal("keypress",this.keypressHandler),this.keypressHandler=null;if(this.pasteHandler)this.ctx._internalKeyInput.offInternal("paste",this.pasteHandler),this.pasteHandler=null;this.propagateFocusChange(!1),this.emit("blurred")}get focused(){return this._focused}get hasFocusedDescendant(){return this._hasFocusedDescendant}get live(){return this._live}get liveCount(){return this._liveCount}set live($){if(this._live===$)return;if(this._live=$,this._visible){let J=$?1:-1;this.propagateLiveCount(J)}}propagateLiveCount($){this._liveCount+=$,this.parent?.propagateLiveCount($)}findDescendantById($){for(let J of this._childrenInLayoutOrder){if(J.id===$)return J;if(F8(J)){let Z=J.findDescendantById($);if(Z)return Z}}return}requestRender(){this.markDirty(),this._ctx.requestRender()}get translateX(){return this._translateX}set translateX($){if(this._translateX===$)return;this._translateX=$;let J=this.parent?this.parent._screenX:0;if(this._screenX=J+this._x+this._translateX,this.parent)this.parent.childrenPrimarySortDirty=!0;this.requestRender()}get translateY(){return this._translateY}set translateY($){if(this._translateY===$)return;this._translateY=$;let J=this.parent?this.parent._screenY:0;if(this._screenY=J+this._y+this._translateY,this.parent)this.parent.childrenPrimarySortDirty=!0;this.requestRender()}get screenX(){return(this.parent?this.parent._screenX:0)+this._x+this._translateX}get screenY(){return(this.parent?this.parent._screenY:0)+this._y+this._translateY}get x(){if(this.parent)return this.parent.x+this._x+this._translateX;return this._x+this._translateX}set x($){this.left=$}get top(){return this._position.top}set top($){if(X8($)||$===void 0)this.setPosition({top:$})}get right(){return this._position.right}set right($){if(X8($)||$===void 0)this.setPosition({right:$})}get bottom(){return this._position.bottom}set bottom($){if(X8($)||$===void 0)this.setPosition({bottom:$})}get left(){return this._position.left}set left($){if(X8($)||$===void 0)this.setPosition({left:$})}get y(){if(this.parent)return this.parent.y+this._y+this._translateY;return this._y+this._translateY}set y($){this.top=$}get width(){return this._widthValue}set width($){if(!q7($)||this._width===$)return;if(this._width=$,this.yogaNode.setWidth($),typeof $==="number"&&this._flexShrink===1)this._flexShrink=0,this.yogaNode.setFlexShrink(0);this.requestRender()}get height(){return this._heightValue}set height($){if(!q7($)||this._height===$)return;if(this._height=$,this.yogaNode.setHeight($),typeof $==="number"&&this._flexShrink===1)this._flexShrink=0,this.yogaNode.setFlexShrink(0);this.requestRender()}get zIndex(){return this._zIndex}set zIndex($){if(this._zIndex!==$)this._zIndex=$,this.parent?.requestZIndexSort(),this.requestRender()}requestZIndexSort(){this.needsZIndexSort=!0}ensureZIndexSorted(){if(this.needsZIndexSort)this._childrenInZIndexOrder.sort(($,J)=>$.zIndex>J.zIndex?1:$.zIndex<J.zIndex?-1:0),this.needsZIndexSort=!1}getChildrenSortedByPrimaryAxis(){if(!this.childrenPrimarySortDirty&&this.childrenSortedByPrimaryAxis.length===this._childrenInLayoutOrder.length)return this.childrenSortedByPrimaryAxis;let $=this.yogaNode.getFlexDirection(),J=$===2||$===3?"x":"y",Z=[...this._childrenInLayoutOrder];return Z.sort((Q,U)=>{let G=J==="y"?Q.screenY:Q.screenX,j=J==="y"?U.screenY:U.screenX;return G-j}),this.childrenSortedByPrimaryAxis=Z,this.childrenPrimarySortDirty=!1,this.childrenSortedByPrimaryAxis}setupYogaProperties($){let J=this.yogaNode;if(o5($.flexBasis))J.setFlexBasis($.flexBasis);if(w8($.minWidth))J.setMinWidth($.minWidth);if(w8($.minHeight))J.setMinHeight($.minHeight);if($.flexGrow!==void 0)J.setFlexGrow($.flexGrow);else J.setFlexGrow(0);if($.flexShrink!==void 0)this._flexShrink=$.flexShrink,J.setFlexShrink($.flexShrink);else{let Q=typeof $.width==="number",U=typeof $.height==="number";this._flexShrink=Q||U?0:1,J.setFlexShrink(this._flexShrink)}if(J.setFlexDirection(r$($.flexDirection)),J.setFlexWrap(t$($.flexWrap)),J.setAlignItems(l$($.alignItems)),J.setJustifyContent(i$($.justifyContent)),J.setAlignSelf(s$($.alignSelf)),q7($.width))this._width=$.width,this.yogaNode.setWidth($.width);if(q7($.height))this._height=$.height,this.yogaNode.setHeight($.height);if(this._positionType=$.position==="absolute"?"absolute":"relative",this._positionType!=="relative")J.setPositionType(n$(this._positionType));if(this._overflow=$.overflow==="hidden"?"hidden":$.overflow==="scroll"?"scroll":"visible",this._overflow!=="visible")J.setOverflow(o$(this._overflow));if($.top!==void 0||$.right!==void 0||$.bottom!==void 0||$.left!==void 0)this._position={top:$.top,right:$.right,bottom:$.bottom,left:$.left},this.updateYogaPosition(this._position);if(w8($.maxWidth))J.setMaxWidth($.maxWidth);if(w8($.maxHeight))J.setMaxHeight($.maxHeight);this.setupMarginAndPadding($)}setupMarginAndPadding($){let J=this.yogaNode;if(w0($.margin))J.setMargin(c.All,$.margin);if(w0($.marginX))J.setMargin(c.Horizontal,$.marginX);if(w0($.marginY))J.setMargin(c.Vertical,$.marginY);if(w0($.marginTop))J.setMargin(c.Top,$.marginTop);if(w0($.marginRight))J.setMargin(c.Right,$.marginRight);if(w0($.marginBottom))J.setMargin(c.Bottom,$.marginBottom);if(w0($.marginLeft))J.setMargin(c.Left,$.marginLeft);if(k0($.padding))J.setPadding(c.All,$.padding);if(k0($.paddingX))J.setPadding(c.Horizontal,$.paddingX);if(k0($.paddingY))J.setPadding(c.Vertical,$.paddingY);if(k0($.paddingTop))J.setPadding(c.Top,$.paddingTop);if(k0($.paddingRight))J.setPadding(c.Right,$.paddingRight);if(k0($.paddingBottom))J.setPadding(c.Bottom,$.paddingBottom);if(k0($.paddingLeft))J.setPadding(c.Left,$.paddingLeft)}set position($){if(!vG($)||this._positionType===$)return;this._positionType=$,this.yogaNode.setPositionType(n$($)),this.requestRender()}get overflow(){return this._overflow}set overflow($){if(!xG($)||this._overflow===$)return;this._overflow=$,this.yogaNode.setOverflow(o$($)),this.requestRender()}setPosition($){this._position={...this._position,...$},this.updateYogaPosition($)}updateYogaPosition($){let J=this.yogaNode,{top:Z,right:Q,bottom:U,left:G}=$;if(X8(Z))if(Z==="auto")J.setPositionAuto(c.Top);else J.setPosition(c.Top,Z);if(X8(Q))if(Q==="auto")J.setPositionAuto(c.Right);else J.setPosition(c.Right,Q);if(X8(U))if(U==="auto")J.setPositionAuto(c.Bottom);else J.setPosition(c.Bottom,U);if(X8(G))if(G==="auto")J.setPositionAuto(c.Left);else J.setPosition(c.Left,G);this.requestRender()}set flexGrow($){if($==null)this.yogaNode.setFlexGrow(0);else this.yogaNode.setFlexGrow($);this.requestRender()}set flexShrink($){let J=$==null?1:$;this._flexShrink=J,this.yogaNode.setFlexShrink(J),this.requestRender()}set flexDirection($){this.yogaNode.setFlexDirection(r$($)),this.requestRender()}set flexWrap($){this.yogaNode.setFlexWrap(t$($)),this.requestRender()}set alignItems($){this.yogaNode.setAlignItems(l$($)),this.requestRender()}set justifyContent($){this.yogaNode.setJustifyContent(i$($)),this.requestRender()}set alignSelf($){this.yogaNode.setAlignSelf(s$($)),this.requestRender()}set flexBasis($){if(o5($))this.yogaNode.setFlexBasis($),this.requestRender()}set minWidth($){if(w8($))this.yogaNode.setMinWidth($),this.requestRender()}set maxWidth($){if(w8($))this.yogaNode.setMaxWidth($),this.requestRender()}set minHeight($){if(w8($))this.yogaNode.setMinHeight($),this.requestRender()}set maxHeight($){if(w8($))this.yogaNode.setMaxHeight($),this.requestRender()}set margin($){if(w0($))this.yogaNode.setMargin(c.All,$),this.requestRender()}set marginX($){if(w0($))this.yogaNode.setMargin(c.Horizontal,$),this.requestRender()}set marginY($){if(w0($))this.yogaNode.setMargin(c.Vertical,$),this.requestRender()}set marginTop($){if(w0($))this.yogaNode.setMargin(c.Top,$),this.requestRender()}get marginTop(){let $=this.yogaNode.getMargin(c.Top);if(typeof $==="number")return $;if(typeof $==="object"&&$&&"value"in $&&typeof $.value==="number")return $.value;return 0}set marginRight($){if(w0($))this.yogaNode.setMargin(c.Right,$),this.requestRender()}set marginBottom($){if(w0($))this.yogaNode.setMargin(c.Bottom,$),this.requestRender()}set marginLeft($){if(w0($))this.yogaNode.setMargin(c.Left,$),this.requestRender()}set padding($){if(k0($))this.yogaNode.setPadding(c.All,$),this.requestRender()}set paddingX($){if(k0($))this.yogaNode.setPadding(c.Horizontal,$),this.requestRender()}set paddingY($){if(k0($))this.yogaNode.setPadding(c.Vertical,$),this.requestRender()}set paddingTop($){if(k0($))this.yogaNode.setPadding(c.Top,$),this.requestRender()}set paddingRight($){if(k0($))this.yogaNode.setPadding(c.Right,$),this.requestRender()}set paddingBottom($){if(k0($))this.yogaNode.setPadding(c.Bottom,$),this.requestRender()}set paddingLeft($){if(k0($))this.yogaNode.setPadding(c.Left,$),this.requestRender()}getLayoutNode(){return this.yogaNode}updateFromLayout(){let $=this._ctx.frameId;if(this._lastLayoutFrame===$)return;this._lastLayoutFrame=$;let J=this.yogaNode.getComputedLayout(),Z=this._x,Q=this._y,U=this._widthValue,G=this._heightValue;this._x=J.left,this._y=J.top;let j=this.parent?this.parent._screenX:0,q=this.parent?this.parent._screenY:0;this._screenX=j+this._x+this._translateX,this._screenY=q+this._y+this._translateY;let K=Math.max(J.width,1),_=Math.max(J.height,1),D=U!==K||G!==_;if(this._widthValue=K,this._heightValue=_,D)this.onLayoutResize(K,_);if(Z!==this._x||Q!==this._y){if(this.parent)this.parent.childrenPrimarySortDirty=!0}}onLayoutResize($,J){if(this._visible)this.handleFrameBufferResize($,J),this.onResize($,J),this.requestRender()}handleFrameBufferResize($,J){if(!this.buffered)return;if($<=0||J<=0)return;if(this.frameBuffer)this.frameBuffer.resize($,J);else this.createFrameBuffer()}createFrameBuffer(){let $=this.width,J=this.height;if($<=0||J<=0)return;try{let Z=this._ctx.widthMethod;this.frameBuffer=I0.create($,J,Z,{respectAlpha:!0,id:`framebuffer-${this.id}`})}catch(Z){console.error(`Failed to create frame buffer for ${this.id}:`,Z),this.frameBuffer=null}}onResize($,J){this.onSizeChange?.(),this.emit("resize")}replaceParent($){if($.parent)$.parent.remove($.id);$.parent=this}add($,J){if(!$)return-1;let Z=$6(this._ctx,$);if(!Z)return-1;if(Z.isDestroyed)return console.warn(`Renderable with id ${Z.id} was already destroyed, skipping add`),-1;let Q=J!==void 0?this._childrenInLayoutOrder[J]:void 0;if(Q)return this.insertBefore(Z,Q);if(Z.parent===this)this.yogaNode.removeChild(Z.getLayoutNode()),this._childrenInLayoutOrder.splice(this._childrenInLayoutOrder.indexOf(Z),1);else{if(this.replaceParent(Z),this.needsZIndexSort=!0,this.renderableMapById.set(Z.id,Z),this._childrenInZIndexOrder.push(Z),typeof Z.onLifecyclePass==="function")this._ctx.registerLifecyclePass(Z);if(Z._liveCount>0)this.propagateLiveCount(Z._liveCount)}let U=Z.getLayoutNode(),G=this._childrenInLayoutOrder.length;return this._childrenInLayoutOrder.push(Z),this.yogaNode.insertChild(U,G),this.childrenPrimarySortDirty=!0,this._shouldUpdateBefore.add(Z),this.requestRender(),G}insertBefore($,J){if(!J)return this.add($);if(!$)return-1;let Z=$6(this._ctx,$);if(!Z)return-1;if(Z.isDestroyed)return console.warn(`Renderable with id ${Z.id} was already destroyed, skipping insertBefore`),-1;if(!F8(J))throw Error("Anchor must be a Renderable");if(J.isDestroyed)return console.warn(`Anchor with id ${J.id} was already destroyed, skipping insertBefore`),-1;if(!this.renderableMapById.has(J.id))return console.warn(`Anchor with id ${J.id} does not exist within the parent ${this.id}, skipping insertBefore`),-1;if(Z===J||Z.id===J.id)return console.warn(`Anchor is the same as the node ${Z.id} being inserted, skipping insertBefore`),-1;if(Z.parent===this)this.yogaNode.removeChild(Z.getLayoutNode()),this._childrenInLayoutOrder.splice(this._childrenInLayoutOrder.indexOf(Z),1);else{if(this.replaceParent(Z),this.needsZIndexSort=!0,this.renderableMapById.set(Z.id,Z),this._childrenInZIndexOrder.push(Z),typeof Z.onLifecyclePass==="function")this._ctx.registerLifecyclePass(Z);if(Z._liveCount>0)this.propagateLiveCount(Z._liveCount)}this.childrenPrimarySortDirty=!0;let Q=this._childrenInLayoutOrder.indexOf(J),U=Math.max(0,Math.min(Q,this._childrenInLayoutOrder.length));return this._childrenInLayoutOrder.splice(U,0,Z),this.yogaNode.insertChild(Z.getLayoutNode(),U),this._shouldUpdateBefore.add(Z),this.requestRender(),U}getRenderable($){return this.renderableMapById.get($)}remove($){if(!$)return;if(this.renderableMapById.has($)){let J=this.renderableMapById.get($);if(J){if(J._liveCount>0)this.propagateLiveCount(-J._liveCount);let Z=J.getLayoutNode();this.yogaNode.removeChild(Z),this.requestRender(),J.onRemove(),J.parent=null,this._ctx.unregisterLifecyclePass(J),this.renderableMapById.delete($);let Q=this._childrenInLayoutOrder.findIndex((G)=>G.id===$);if(Q!==-1)this._childrenInLayoutOrder.splice(Q,1);let U=this._childrenInZIndexOrder.findIndex((G)=>G.id===$);if(U!==-1)this._childrenInZIndexOrder.splice(U,1);this.childrenPrimarySortDirty=!0}}}onRemove(){}getChildren(){return[...this._childrenInLayoutOrder]}getChildrenCount(){return this._childrenInLayoutOrder.length}updateLayout($,J=[]){if(!this.visible)return;if(this.onUpdate($),this._isDestroyed)return;if(this.updateFromLayout(),this._shouldUpdateBefore.size>0){for(let U of this._shouldUpdateBefore)if(!U.isDestroyed)U.updateFromLayout();this._shouldUpdateBefore.clear()}if(this._isDestroyed)return;let Z=this._opacity<1;if(Z)J.push({action:"pushOpacity",opacity:this._opacity});J.push({action:"render",renderable:this}),this.ensureZIndexSorted();let Q=this._overflow!=="visible"&&this.width>0&&this.height>0;if(Q){let U=this.getScissorRect();J.push({action:"pushScissorRect",x:U.x,y:U.y,width:U.width,height:U.height,screenX:this._screenX,screenY:this._screenY})}if(!this._hasVisibleChildFilter())for(let U of this._childrenInZIndexOrder)U.updateLayout($,J);else{for(let j of this._childrenInZIndexOrder){if(j.isDestroyed)continue;j.updateFromLayout()}let U=this._getVisibleChildren(),G=new Set(U);for(let j of this._childrenInZIndexOrder){if(!G.has(j.num))continue;j.updateLayout($,J)}}if(Q)J.push({action:"popScissorRect"});if(Z)J.push({action:"popOpacity"})}render($,J){let Z=$;if(this.buffered&&this.frameBuffer)Z=this.frameBuffer;if(this.renderBefore)this.renderBefore.call(this,Z,J);if(this.renderSelf(Z,J),this.renderAfter)this.renderAfter.call(this,Z,J);let Q=this._screenX,U=this._screenY;if(this.markClean(),this._ctx.addToHitGrid(Q,U,this.width,this.height,this.num),this.buffered&&this.frameBuffer)$.drawFrameBuffer(Q,U,this.frameBuffer)}_hasVisibleChildFilter(){return this._getVisibleChildren!==Q0.prototype._getVisibleChildren}_getVisibleChildren(){return this._childrenInZIndexOrder.map(($)=>$.num)}onUpdate($){}getScissorRect(){return{x:this.buffered?0:this._screenX,y:this.buffered?0:this._screenY,width:this.width,height:this.height}}renderSelf($,J){}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)return;if(this._isDestroyed=!0,this.emit("destroyed"),this.parent)this.parent.remove(this.id);if(this.frameBuffer)this.frameBuffer.destroy(),this.frameBuffer=null;for(let $ of this._childrenInLayoutOrder)this.remove($.id);this._childrenInLayoutOrder=[],this.renderableMapById.clear(),Q0.renderablesByNumber.delete(this.num),this.blur(),this.removeAllListeners(),this.destroySelf();try{this.yogaNode.free()}catch($){}}destroyRecursively(){let $=[...this._childrenInLayoutOrder];for(let J of $)J.destroyRecursively();this.destroy()}destroySelf(){}processMouseEvent($){if(this._mouseListener?.call(this,$),this._mouseListeners[$.type]?.call(this,$),this.onMouseEvent($),this.parent&&!$.propagationStopped)this.parent.processMouseEvent($)}onMouseEvent($){}set onMouse($){if($)this._mouseListener=$;else this._mouseListener=null}set onMouseDown($){if($)this._mouseListeners.down=$;else delete this._mouseListeners.down}set onMouseUp($){if($)this._mouseListeners.up=$;else delete this._mouseListeners.up}set onMouseMove($){if($)this._mouseListeners.move=$;else delete this._mouseListeners.move}set onMouseDrag($){if($)this._mouseListeners.drag=$;else delete this._mouseListeners.drag}set onMouseDragEnd($){if($)this._mouseListeners["drag-end"]=$;else delete this._mouseListeners["drag-end"]}set onMouseDrop($){if($)this._mouseListeners.drop=$;else delete this._mouseListeners.drop}set onMouseOver($){if($)this._mouseListeners.over=$;else delete this._mouseListeners.over}set onMouseOut($){if($)this._mouseListeners.out=$;else delete this._mouseListeners.out}set onMouseScroll($){if($)this._mouseListeners.scroll=$;else delete this._mouseListeners.scroll}set onPaste($){this._pasteListener=$}get onPaste(){return this._pasteListener}set onKeyDown($){if($)this._keyListeners.down=$;else delete this._keyListeners.down}get onKeyDown(){return this._keyListeners.down}set onSizeChange($){this._sizeChangeListener=$}get onSizeChange(){return this._sizeChangeListener}applyEventOptions($){this.onMouse=$.onMouse,this.onMouseDown=$.onMouseDown,this.onMouseUp=$.onMouseUp,this.onMouseMove=$.onMouseMove,this.onMouseDrag=$.onMouseDrag,this.onMouseDragEnd=$.onMouseDragEnd,this.onMouseDrop=$.onMouseDrop,this.onMouseOver=$.onMouseOver,this.onMouseOut=$.onMouseOut,this.onMouseScroll=$.onMouseScroll,this.onPaste=$.onPaste,this.onKeyDown=$.onKeyDown,this.onSizeChange=$.onSizeChange}}class x8 extends Q0{renderList=[];constructor($){super($,{id:"__root__",zIndex:0,visible:!0,width:$.width,height:$.height,enableLayout:!0});if(this.yogaNode)this.yogaNode.free();this.yogaNode=X7.Node.create(g7),this.yogaNode.setWidth($.width),this.yogaNode.setHeight($.height),this.yogaNode.setFlexDirection(l0.Column),this.calculateLayout()}render($,J){if(!this.visible)return;for(let Z of this._ctx.getLifecyclePasses())Z.onLifecyclePass?.call(Z);if(this.yogaNode.isDirty())this.calculateLayout();this.renderList.length=0,this.updateLayout(J,this.renderList),this._ctx.clearHitGridScissorRects();for(let Z=1;Z<this.renderList.length;Z++){let Q=this.renderList[Z];switch(Q.action){case"render":if(!Q.renderable.isDestroyed)Q.renderable.render($,J);break;case"pushScissorRect":$.pushScissorRect(Q.x,Q.y,Q.width,Q.height),this._ctx.pushHitGridScissorRect(Q.screenX,Q.screenY,Q.width,Q.height);break;case"popScissorRect":$.popScissorRect(),this._ctx.popHitGridScissorRect();break;case"pushOpacity":$.pushOpacity(Q.opacity);break;case"popOpacity":$.popOpacity();break}}}propagateLiveCount($){let J=this._liveCount;if(this._liveCount+=$,J===0&&this._liveCount>0)this._ctx.requestLive();else if(J>0&&this._liveCount===0)this._ctx.dropLive()}calculateLayout(){this.yogaNode.calculateLayout(this.width,this.height,J8.LTR),this.emit("layout-changed")}resize($,J){this.width=$,this.height=J,this.emit("resized",{width:$,height:J})}}var fQ=Symbol.for("@opentui/core/VNode");function sJ($){return typeof $==="function"&&$.prototype&&Q0.prototype.isPrototypeOf($.prototype)}function j9($){let J=[];for(let Z of $)if(Array.isArray(Z))J.push(...j9(Z));else if(Z!==null&&Z!==void 0&&Z!==!1)J.push(Z);return J}function d0($,J,...Z){if(typeof $!=="function")throw TypeError("h() received an invalid vnode type");let Q={[fQ]:!0,type:$,props:J,children:j9(Z),__pendingCalls:[]};if(sJ($))return new Proxy(Q,{get(U,G,j){if(G in U)return Reflect.get(U,G,j);if(typeof G==="string"){let q=$.prototype;if(q&&(typeof q[G]==="function"||Object.getOwnPropertyDescriptor(q,G)||Object.getOwnPropertyDescriptor(Object.getPrototypeOf(q),G)))return(..._)=>{return U.__pendingCalls=U.__pendingCalls||[],U.__pendingCalls.push({method:G,args:_}),U}}return Reflect.get(U,G,j)},set(U,G,j,q){if(typeof G==="string"&&sJ($)){let K=$.prototype,_=Object.getOwnPropertyDescriptor(K,G)||Object.getOwnPropertyDescriptor(Object.getPrototypeOf(K),G);if(_&&_.set)return U.__pendingCalls=U.__pendingCalls||[],U.__pendingCalls.push({method:G,args:[j],isProperty:!0}),!0}return Reflect.set(U,G,j,q)}});return Q}function b7($){return $&&$[fQ]}function $6($,J){if(F8(J))return J;if(b7(J))return A$($,J);return console.warn("maybeMakeRenderable received an invalid node",fG.inspect(J,{depth:2})),null}function M$($,J){if(!J||Object.keys(J).length===0)return $;let Z=new Map,Q=(G)=>{if(Z.has(G)){let q=Z.get(G);if(q!==void 0)return q}let j=$.findDescendantById(G);if(j)Z.set(G,j);return j};return new Proxy($,{get(G,j,q){if(typeof j==="string"&&J[j]){let K=Q(J[j]);if(K){let _=K[j];if(typeof _==="function")return _.bind(K);return _}}return Reflect.get(G,j,q)},set(G,j,q,K){if(typeof j==="string"&&J[j]){let _=Q(J[j]);if(_)return Reflect.set(_,j,q)}return Reflect.set(G,j,q,K)}})}function A$($,J){if(F8(J))return J;if(!J||typeof J!=="object")throw TypeError("mount() received an invalid vnode");let Z=J,{type:Q,props:U}=Z,G=j9(Z.children||[]),j=Z.__delegateMap;if(sJ(Q)){let _=new Q($,U||{});for(let H of G)if(F8(H))_.add(H);else{let O=A$($,H);_.add(O)}let D=M$(_,j),z=Z.__pendingCalls;if(z)for(let H of z)if(H.isProperty)D[H.method]=H.args[0];else D[H.method].apply(D,H.args);return D}let q=Q(U||{},G),K=A$($,q);return M$(K,j)}function q9($,J){if(F8(J))return M$(J,$);if(!J||typeof J!=="object")return J;return J.__delegateMap={...J.__delegateMap||{},...$},J}class U${lib;viewPtr;textBuffer;_destroyed=!1;constructor($,J,Z){this.lib=$,this.viewPtr=J,this.textBuffer=Z}static create($){let J=E0(),Z=J.createTextBufferView($.ptr);return new U$(J,Z,$)}guard(){if(this._destroyed)throw Error("TextBufferView is destroyed")}get ptr(){return this.guard(),this.viewPtr}setSelection($,J,Z,Q){this.guard(),this.lib.textBufferViewSetSelection(this.viewPtr,$,J,Z||null,Q||null)}updateSelection($,J,Z){this.guard(),this.lib.textBufferViewUpdateSelection(this.viewPtr,$,J||null,Z||null)}resetSelection(){this.guard(),this.lib.textBufferViewResetSelection(this.viewPtr)}getSelection(){return this.guard(),this.lib.textBufferViewGetSelection(this.viewPtr)}hasSelection(){return this.guard(),this.getSelection()!==null}setLocalSelection($,J,Z,Q,U,G){return this.guard(),this.lib.textBufferViewSetLocalSelection(this.viewPtr,$,J,Z,Q,U||null,G||null)}updateLocalSelection($,J,Z,Q,U,G){return this.guard(),this.lib.textBufferViewUpdateLocalSelection(this.viewPtr,$,J,Z,Q,U||null,G||null)}resetLocalSelection(){this.guard(),this.lib.textBufferViewResetLocalSelection(this.viewPtr)}setWrapWidth($){this.guard(),this.lib.textBufferViewSetWrapWidth(this.viewPtr,$??0)}setWrapMode($){this.guard(),this.lib.textBufferViewSetWrapMode(this.viewPtr,$)}setFirstLineOffset($){this.guard(),this.lib.textBufferViewSetFirstLineOffset(this.viewPtr,$)}setViewportSize($,J){this.guard(),this.lib.textBufferViewSetViewportSize(this.viewPtr,$,J)}setViewport($,J,Z,Q){this.guard(),this.lib.textBufferViewSetViewport(this.viewPtr,$,J,Z,Q)}get lineInfo(){return this.guard(),this.lib.textBufferViewGetLineInfo(this.viewPtr)}get logicalLineInfo(){return this.guard(),this.lib.textBufferViewGetLogicalLineInfo(this.viewPtr)}getSelectedText(){this.guard();let $=this.textBuffer.byteSize;if($===0)return"";let J=this.lib.textBufferViewGetSelectedTextBytes(this.viewPtr,$);if(!J)return"";return this.lib.decoder.decode(J)}getPlainText(){this.guard();let $=this.textBuffer.byteSize;if($===0)return"";let J=this.lib.textBufferViewGetPlainTextBytes(this.viewPtr,$);if(!J)return"";return this.lib.decoder.decode(J)}setTabIndicator($){this.guard();let J=typeof $==="string"?$.codePointAt(0)??0:$;this.lib.textBufferViewSetTabIndicator(this.viewPtr,J)}setTabIndicatorColor($){this.guard(),this.lib.textBufferViewSetTabIndicatorColor(this.viewPtr,$)}setTruncate($){this.guard(),this.lib.textBufferViewSetTruncate(this.viewPtr,$)}measureForDimensions($,J){return this.guard(),this.lib.textBufferViewMeasureForDimensions(this.viewPtr,$,J)}getVirtualLineCount(){return this.guard(),this.lib.textBufferViewGetVirtualLineCount(this.viewPtr)}destroy(){if(this._destroyed)return;this._destroyed=!0,this.lib.destroyTextBufferView(this.viewPtr)}}class s0 extends gG{static registry=new Map;static nativeEventsSubscribed=!1;lib;bufferPtr;textBufferPtr;id;_destroyed=!1;_textBytes=[];_singleTextBytes=null;_singleTextMemId=null;_syntaxStyle;constructor($,J){super();this.lib=$,this.bufferPtr=J,this.textBufferPtr=$.editBufferGetTextBuffer(J),this.id=$.editBufferGetId(J),s0.registry.set(this.id,this),s0.subscribeToNativeEvents($)}static create($){let J=E0(),Z=J.createEditBuffer($);return new s0(J,Z)}static subscribeToNativeEvents($){if(s0.nativeEventsSubscribed)return;s0.nativeEventsSubscribed=!0,$.onAnyNativeEvent((J,Z)=>{let Q=new Uint16Array(Z);if(J.startsWith("eb_")&&Q.length>=1){let U=Q[0],G=s0.registry.get(U);if(G){let j=J.slice(3),q=Z.slice(2);G.emit(j,q)}}})}guard(){if(this._destroyed)throw Error("EditBuffer is destroyed")}get ptr(){return this.guard(),this.bufferPtr}setText($){this.guard();let J=this.lib.encoder.encode($);if(this._singleTextMemId!==null)this.lib.textBufferReplaceMemBuffer(this.textBufferPtr,this._singleTextMemId,J,!1);else this._singleTextMemId=this.lib.textBufferRegisterMemBuffer(this.textBufferPtr,J,!1);this._singleTextBytes=J,this.lib.editBufferSetTextFromMem(this.bufferPtr,this._singleTextMemId)}setTextOwned($){this.guard();let J=this.lib.encoder.encode($);this.lib.editBufferSetText(this.bufferPtr,J)}replaceText($){this.guard();let J=this.lib.encoder.encode($);this._textBytes.push(J);let Z=this.lib.textBufferRegisterMemBuffer(this.textBufferPtr,J,!1);this.lib.editBufferReplaceTextFromMem(this.bufferPtr,Z)}replaceTextOwned($){this.guard();let J=this.lib.encoder.encode($);this.lib.editBufferReplaceText(this.bufferPtr,J)}getLineCount(){return this.guard(),this.lib.textBufferGetLineCount(this.textBufferPtr)}getText(){this.guard();let $=1048576,J=this.lib.editBufferGetText(this.bufferPtr,$);if(!J)return"";return this.lib.decoder.decode(J)}insertChar($){this.guard(),this.lib.editBufferInsertChar(this.bufferPtr,$)}insertText($){this.guard(),this.lib.editBufferInsertText(this.bufferPtr,$)}deleteChar(){this.guard(),this.lib.editBufferDeleteChar(this.bufferPtr)}deleteCharBackward(){this.guard(),this.lib.editBufferDeleteCharBackward(this.bufferPtr)}deleteRange($,J,Z,Q){this.guard(),this.lib.editBufferDeleteRange(this.bufferPtr,$,J,Z,Q)}newLine(){this.guard(),this.lib.editBufferNewLine(this.bufferPtr)}deleteLine(){this.guard(),this.lib.editBufferDeleteLine(this.bufferPtr)}moveCursorLeft(){this.guard(),this.lib.editBufferMoveCursorLeft(this.bufferPtr)}moveCursorRight(){this.guard(),this.lib.editBufferMoveCursorRight(this.bufferPtr)}moveCursorUp(){this.guard(),this.lib.editBufferMoveCursorUp(this.bufferPtr)}moveCursorDown(){this.guard(),this.lib.editBufferMoveCursorDown(this.bufferPtr)}gotoLine($){this.guard(),this.lib.editBufferGotoLine(this.bufferPtr,$)}setCursor($,J){this.guard(),this.lib.editBufferSetCursor(this.bufferPtr,$,J)}setCursorToLineCol($,J){this.guard(),this.lib.editBufferSetCursorToLineCol(this.bufferPtr,$,J)}setCursorByOffset($){this.guard(),this.lib.editBufferSetCursorByOffset(this.bufferPtr,$)}getCursorPosition(){return this.guard(),this.lib.editBufferGetCursorPosition(this.bufferPtr)}getNextWordBoundary(){this.guard();let $=this.lib.editBufferGetNextWordBoundary(this.bufferPtr);return{row:$.row,col:$.col,offset:$.offset}}getPrevWordBoundary(){this.guard();let $=this.lib.editBufferGetPrevWordBoundary(this.bufferPtr);return{row:$.row,col:$.col,offset:$.offset}}getEOL(){this.guard();let $=this.lib.editBufferGetEOL(this.bufferPtr);return{row:$.row,col:$.col,offset:$.offset}}offsetToPosition($){this.guard();let J=this.lib.editBufferOffsetToPosition(this.bufferPtr,$);if(!J)return null;return{row:J.row,col:J.col}}positionToOffset($,J){return this.guard(),this.lib.editBufferPositionToOffset(this.bufferPtr,$,J)}getLineStartOffset($){return this.guard(),this.lib.editBufferGetLineStartOffset(this.bufferPtr,$)}getTextRange($,J){if(this.guard(),$>=J)return"";let Z=1048576,Q=this.lib.editBufferGetTextRange(this.bufferPtr,$,J,Z);if(!Q)return"";return this.lib.decoder.decode(Q)}getTextRangeByCoords($,J,Z,Q){this.guard();let U=1048576,G=this.lib.editBufferGetTextRangeByCoords(this.bufferPtr,$,J,Z,Q,U);if(!G)return"";return this.lib.decoder.decode(G)}debugLogRope(){this.guard(),this.lib.editBufferDebugLogRope(this.bufferPtr)}undo(){this.guard();let $=256,J=this.lib.editBufferUndo(this.bufferPtr,$);if(!J)return null;return this.lib.decoder.decode(J)}redo(){this.guard();let $=256,J=this.lib.editBufferRedo(this.bufferPtr,$);if(!J)return null;return this.lib.decoder.decode(J)}canUndo(){return this.guard(),this.lib.editBufferCanUndo(this.bufferPtr)}canRedo(){return this.guard(),this.lib.editBufferCanRedo(this.bufferPtr)}clearHistory(){this.guard(),this.lib.editBufferClearHistory(this.bufferPtr)}setDefaultFg($){this.guard(),this.lib.textBufferSetDefaultFg(this.textBufferPtr,$)}setDefaultBg($){this.guard(),this.lib.textBufferSetDefaultBg(this.textBufferPtr,$)}setDefaultAttributes($){this.guard(),this.lib.textBufferSetDefaultAttributes(this.textBufferPtr,$)}resetDefaults(){this.guard(),this.lib.textBufferResetDefaults(this.textBufferPtr)}setSyntaxStyle($){this.guard(),this._syntaxStyle=$??void 0,this.lib.textBufferSetSyntaxStyle(this.textBufferPtr,$?.ptr??null)}getSyntaxStyle(){return this.guard(),this._syntaxStyle??null}addHighlight($,J){this.guard(),this.lib.textBufferAddHighlight(this.textBufferPtr,$,J)}addHighlightByCharRange($){this.guard(),this.lib.textBufferAddHighlightByCharRange(this.textBufferPtr,$)}removeHighlightsByRef($){this.guard(),this.lib.textBufferRemoveHighlightsByRef(this.textBufferPtr,$)}clearLineHighlights($){this.guard(),this.lib.textBufferClearLineHighlights(this.textBufferPtr,$)}clearAllHighlights(){this.guard(),this.lib.textBufferClearAllHighlights(this.textBufferPtr)}getLineHighlights($){return this.guard(),this.lib.textBufferGetLineHighlights(this.textBufferPtr,$)}clear(){this.guard(),this.lib.editBufferClear(this.bufferPtr)}destroy(){if(this._destroyed)return;this._destroyed=!0,s0.registry.delete(this.id),this.lib.destroyEditBuffer(this.bufferPtr)}}class S${lib;viewPtr;editBuffer;_destroyed=!1;_extmarksController;_textBufferViewPtr;constructor($,J,Z){this.lib=$,this.viewPtr=J,this.editBuffer=Z}static create($,J,Z){let Q=E0(),U=Q.createEditorView($.ptr,J,Z);return new S$(Q,U,$)}guard(){if(this._destroyed)throw Error("EditorView is destroyed")}get ptr(){return this.guard(),this.viewPtr}setViewportSize($,J){this.guard(),this.lib.editorViewSetViewportSize(this.viewPtr,$,J)}setViewport($,J,Z,Q,U=!0){this.guard(),this.lib.editorViewSetViewport(this.viewPtr,$,J,Z,Q,U)}getViewport(){return this.guard(),this.lib.editorViewGetViewport(this.viewPtr)}setScrollMargin($){this.guard(),this.lib.editorViewSetScrollMargin(this.viewPtr,$)}setWrapMode($){this.guard(),this.lib.editorViewSetWrapMode(this.viewPtr,$)}getVirtualLineCount(){return this.guard(),this.lib.editorViewGetVirtualLineCount(this.viewPtr)}getTotalVirtualLineCount(){return this.guard(),this.lib.editorViewGetTotalVirtualLineCount(this.viewPtr)}setSelection($,J,Z,Q){this.guard(),this.lib.editorViewSetSelection(this.viewPtr,$,J,Z||null,Q||null)}updateSelection($,J,Z){this.guard(),this.lib.editorViewUpdateSelection(this.viewPtr,$,J||null,Z||null)}resetSelection(){this.guard(),this.lib.editorViewResetSelection(this.viewPtr)}getSelection(){return this.guard(),this.lib.editorViewGetSelection(this.viewPtr)}hasSelection(){return this.guard(),this.getSelection()!==null}setLocalSelection($,J,Z,Q,U,G,j,q){return this.guard(),this.lib.editorViewSetLocalSelection(this.viewPtr,$,J,Z,Q,U||null,G||null,j??!1,q??!1)}updateLocalSelection($,J,Z,Q,U,G,j,q){return this.guard(),this.lib.editorViewUpdateLocalSelection(this.viewPtr,$,J,Z,Q,U||null,G||null,j??!1,q??!1)}resetLocalSelection(){this.guard(),this.lib.editorViewResetLocalSelection(this.viewPtr)}getSelectedText(){this.guard();let $=1048576,J=this.lib.editorViewGetSelectedTextBytes(this.viewPtr,$);if(!J)return"";return this.lib.decoder.decode(J)}getCursor(){return this.guard(),this.lib.editorViewGetCursor(this.viewPtr)}getText(){this.guard();let $=1048576,J=this.lib.editorViewGetText(this.viewPtr,$);if(!J)return"";return this.lib.decoder.decode(J)}getVisualCursor(){return this.guard(),this.lib.editorViewGetVisualCursor(this.viewPtr)}moveUpVisual(){this.guard(),this.lib.editorViewMoveUpVisual(this.viewPtr)}moveDownVisual(){this.guard(),this.lib.editorViewMoveDownVisual(this.viewPtr)}deleteSelectedText(){this.guard(),this.lib.editorViewDeleteSelectedText(this.viewPtr)}setCursorByOffset($){this.guard(),this.lib.editorViewSetCursorByOffset(this.viewPtr,$)}getNextWordBoundary(){return this.guard(),this.lib.editorViewGetNextWordBoundary(this.viewPtr)}getPrevWordBoundary(){return this.guard(),this.lib.editorViewGetPrevWordBoundary(this.viewPtr)}getEOL(){return this.guard(),this.lib.editorViewGetEOL(this.viewPtr)}getVisualSOL(){return this.guard(),this.lib.editorViewGetVisualSOL(this.viewPtr)}getVisualEOL(){return this.guard(),this.lib.editorViewGetVisualEOL(this.viewPtr)}getLineInfo(){return this.guard(),this.lib.editorViewGetLineInfo(this.viewPtr)}getLogicalLineInfo(){return this.guard(),this.lib.editorViewGetLogicalLineInfo(this.viewPtr)}get extmarks(){if(!this._extmarksController)this._extmarksController=T7(this.editBuffer,this);return this._extmarksController}setPlaceholderStyledText($){this.guard(),this.lib.editorViewSetPlaceholderStyledText(this.viewPtr,$)}setTabIndicator($){this.guard();let J=typeof $==="string"?$.codePointAt(0)??0:$;this.lib.editorViewSetTabIndicator(this.viewPtr,J)}setTabIndicatorColor($){this.guard(),this.lib.editorViewSetTabIndicatorColor(this.viewPtr,$)}measureForDimensions($,J){if(this.guard(),!this._textBufferViewPtr)this._textBufferViewPtr=this.lib.editorViewGetTextBufferView(this.viewPtr);return this.lib.textBufferViewMeasureForDimensions(this._textBufferViewPtr,$,J)}destroy(){if(this._destroyed)return;if(this._extmarksController)this._extmarksController.destroy(),this._extmarksController=void 0;this._destroyed=!0,this.lib.destroyEditorView(this.viewPtr)}}function m7($){let J={};for(let Z of $){let Q={};if(Z.style.foreground)Q.fg=E(Z.style.foreground);if(Z.style.background)Q.bg=E(Z.style.background);if(Z.style.bold!==void 0)Q.bold=Z.style.bold;if(Z.style.italic!==void 0)Q.italic=Z.style.italic;if(Z.style.underline!==void 0)Q.underline=Z.style.underline;if(Z.style.dim!==void 0)Q.dim=Z.style.dim;for(let U of Z.scope)J[U]=Q}return J}class Q8{lib;stylePtr;_destroyed=!1;nameCache=new Map;styleDefs=new Map;mergedCache=new Map;constructor($,J){this.lib=$,this.stylePtr=J}static create(){let $=E0(),J=$.createSyntaxStyle();return new Q8($,J)}static fromTheme($){let J=Q8.create(),Z=m7($);for(let[Q,U]of Object.entries(Z))J.registerStyle(Q,U);return J}static fromStyles($){let J=Q8.create();for(let[Z,Q]of Object.entries($))J.registerStyle(Z,Q);return J}guard(){if(this._destroyed)throw Error("NativeSyntaxStyle is destroyed")}registerStyle($,J){this.guard();let Z=h0({bold:J.bold,italic:J.italic,underline:J.underline,dim:J.dim}),Q=J.fg?E(J.fg):null,U=J.bg?E(J.bg):null,G=this.lib.syntaxStyleRegister(this.stylePtr,$,Q,U,Z);return this.nameCache.set($,G),this.styleDefs.set($,{...J,fg:Q??void 0,bg:U??void 0}),G}resolveStyleId($){this.guard();let J=this.nameCache.get($);if(J!==void 0)return J;let Z=this.lib.syntaxStyleResolveByName(this.stylePtr,$);if(Z!==null)this.nameCache.set($,Z);return Z}getStyleId($){this.guard();let J=this.resolveStyleId($);if(J!==null)return J;if($.includes(".")){let Z=$.split(".")[0];return this.resolveStyleId(Z)}return null}get ptr(){return this.guard(),this.stylePtr}getStyleCount(){return this.guard(),this.lib.syntaxStyleGetStyleCount(this.stylePtr)}clearNameCache(){this.nameCache.clear()}getStyle($){if(this.guard(),Object.prototype.hasOwnProperty.call(this.styleDefs,$))return;let J=this.styleDefs.get($);if(J)return J;if($.includes(".")){let Z=$.split(".")[0];if(Object.prototype.hasOwnProperty.call(this.styleDefs,Z))return;return this.styleDefs.get(Z)}return}mergeStyles(...$){this.guard();let J=$.join(":"),Z=this.mergedCache.get(J);if(Z)return Z;let Q={};for(let j of $){let q=this.getStyle(j);if(!q)continue;if(q.fg)Q.fg=q.fg;if(q.bg)Q.bg=q.bg;if(q.bold!==void 0)Q.bold=q.bold;if(q.italic!==void 0)Q.italic=q.italic;if(q.underline!==void 0)Q.underline=q.underline;if(q.dim!==void 0)Q.dim=q.dim}let U=h0({bold:Q.bold,italic:Q.italic,underline:Q.underline,dim:Q.dim}),G={fg:Q.fg,bg:Q.bg,attributes:U};return this.mergedCache.set(J,G),G}clearCache(){this.guard(),this.mergedCache.clear()}getCacheSize(){return this.guard(),this.mergedCache.size}getAllStyles(){return this.guard(),new Map(this.styleDefs)}getRegisteredNames(){return this.guard(),Array.from(this.styleDefs.keys())}destroy(){if(this._destroyed)return;this._destroyed=!0,this.nameCache.clear(),this.styleDefs.clear(),this.mergedCache.clear(),this.lib.destroySyntaxStyle(this.stylePtr)}}function z$($){if($===void 0)return!0;if(typeof $==="number"&&!Number.isNaN($))return!0;return B6($)}class y0 extends Q0{_backgroundColor;_border;_borderStyle;_borderColor;_focusedBorderColor;_customBorderCharsObj;_customBorderChars;borderSides;shouldFill;_title;_titleAlignment;_bottomTitle;_bottomTitleAlignment;_defaultOptions={backgroundColor:"transparent",borderStyle:"single",border:!1,borderColor:"#FFFFFF",shouldFill:!0,titleAlignment:"left",bottomTitleAlignment:"left",focusedBorderColor:"#00AAFF"};constructor($,J){super($,J);if(J.focusable===!0)this._focusable=!0;if(this._backgroundColor=E(J.backgroundColor||this._defaultOptions.backgroundColor),this._border=J.border??this._defaultOptions.border,!J.border&&(J.borderStyle||J.borderColor||J.focusedBorderColor||J.customBorderChars))this._border=!0;if(this._borderStyle=g8(J.borderStyle,this._defaultOptions.borderStyle),this._borderColor=E(J.borderColor||this._defaultOptions.borderColor),this._focusedBorderColor=E(J.focusedBorderColor||this._defaultOptions.focusedBorderColor),this._customBorderCharsObj=J.customBorderChars,this._customBorderChars=this._customBorderCharsObj?N8(this._customBorderCharsObj):void 0,this.borderSides=P$(this._border),this.shouldFill=J.shouldFill??this._defaultOptions.shouldFill,this._title=J.title,this._titleAlignment=J.titleAlignment||this._defaultOptions.titleAlignment,this._bottomTitle=J.bottomTitle,this._bottomTitleAlignment=J.bottomTitleAlignment||this._defaultOptions.bottomTitleAlignment,this.applyYogaBorders(),J.gap!==void 0||J.rowGap!==void 0||J.columnGap!==void 0)this.applyYogaGap(J)}initializeBorder(){if(this._border===!1)this._border=!0,this.borderSides=P$(this._border),this.applyYogaBorders()}get customBorderChars(){return this._customBorderCharsObj}set customBorderChars($){this._customBorderCharsObj=$,this._customBorderChars=$?N8($):void 0,this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor($){let J=E($??this._defaultOptions.backgroundColor);if(this._backgroundColor!==J)this._backgroundColor=J,this.requestRender()}get border(){return this._border}set border($){if(this._border!==$)this._border=$,this.borderSides=P$($),this.applyYogaBorders(),this.requestRender()}get borderStyle(){return this._borderStyle}set borderStyle($){let J=g8($,this._defaultOptions.borderStyle);if(this._borderStyle!==J||!this._border)this._borderStyle=J,this._customBorderChars=void 0,this.initializeBorder(),this.requestRender()}get borderColor(){return this._borderColor}set borderColor($){let J=E($??this._defaultOptions.borderColor);if(this._borderColor!==J)this._borderColor=J,this.initializeBorder(),this.requestRender()}get focusedBorderColor(){return this._focusedBorderColor}set focusedBorderColor($){let J=E($??this._defaultOptions.focusedBorderColor);if(this._focusedBorderColor!==J){if(this._focusedBorderColor=J,this.initializeBorder(),this._focused)this.requestRender()}}get title(){return this._title}set title($){if(this._title!==$)this._title=$,this.requestRender()}get titleAlignment(){return this._titleAlignment}set titleAlignment($){if(this._titleAlignment!==$)this._titleAlignment=$,this.requestRender()}get bottomTitle(){return this._bottomTitle}set bottomTitle($){if(this._bottomTitle!==$)this._bottomTitle=$,this.requestRender()}get bottomTitleAlignment(){return this._bottomTitleAlignment}set bottomTitleAlignment($){if(this._bottomTitleAlignment!==$)this._bottomTitleAlignment=$,this.requestRender()}renderSelf($){let J=this.borderSides.top||this.borderSides.right||this.borderSides.bottom||this.borderSides.left,Z=this.shouldFill&&this._backgroundColor.a>0;if(!J&&!Z)return;let U=this._focusable&&(this._focused||this._hasFocusedDescendant)?this._focusedBorderColor:this._borderColor,G=this._screenX,j=this._screenY;$.drawBox({x:G,y:j,width:this.width,height:this.height,borderStyle:this._borderStyle,customBorderChars:this._customBorderChars,border:this._border,borderColor:U,backgroundColor:this._backgroundColor,shouldFill:this.shouldFill,title:this._title,titleAlignment:this._titleAlignment,bottomTitle:this._bottomTitle,bottomTitleAlignment:this._bottomTitleAlignment})}getScissorRect(){let $=super.getScissorRect();if(!this.borderSides.top&&!this.borderSides.right&&!this.borderSides.bottom&&!this.borderSides.left)return $;let J=this.borderSides.left?1:0,Z=this.borderSides.right?1:0,Q=this.borderSides.top?1:0,U=this.borderSides.bottom?1:0;return{x:$.x+J,y:$.y+Q,width:Math.max(0,$.width-J-Z),height:Math.max(0,$.height-Q-U)}}applyYogaBorders(){let $=this.yogaNode;$.setBorder(c.Left,this.borderSides.left?1:0),$.setBorder(c.Right,this.borderSides.right?1:0),$.setBorder(c.Top,this.borderSides.top?1:0),$.setBorder(c.Bottom,this.borderSides.bottom?1:0),this.requestRender()}applyYogaGap($){let J=this.yogaNode;if(z$($.gap))J.setGap(T0.All,$.gap);if(z$($.rowGap))J.setGap(T0.Row,$.rowGap);if(z$($.columnGap))J.setGap(T0.Column,$.columnGap)}set gap($){if(z$($))this.yogaNode.setGap(T0.All,$),this.requestRender()}set rowGap($){if(z$($))this.yogaNode.setGap(T0.Row,$),this.requestRender()}set columnGap($){if(z$($))this.yogaNode.setGap(T0.Column,$),this.requestRender()}}class T$ extends Q0{selectable=!0;_defaultFg;_defaultBg;_defaultAttributes;_selectionBg;_selectionFg;_wrapMode="word";lastLocalSelection=null;_tabIndicator;_tabIndicatorColor;_scrollX=0;_scrollY=0;_truncate=!1;_firstLineOffset=0;textBuffer;textBufferView;_textBufferSyntaxStyle;_defaultOptions={fg:l.fromValues(1,1,1,1),bg:l.fromValues(0,0,0,0),selectionBg:void 0,selectionFg:void 0,selectable:!0,attributes:0,wrapMode:"word",tabIndicator:void 0,tabIndicatorColor:void 0,truncate:!1};constructor($,J){super($,J);if(this._defaultFg=E(J.fg??this._defaultOptions.fg),this._defaultBg=E(J.bg??this._defaultOptions.bg),this._defaultAttributes=J.attributes??this._defaultOptions.attributes,this._selectionBg=J.selectionBg?E(J.selectionBg):this._defaultOptions.selectionBg,this._selectionFg=J.selectionFg?E(J.selectionFg):this._defaultOptions.selectionFg,this.selectable=J.selectable??this._defaultOptions.selectable,this._wrapMode=J.wrapMode??this._defaultOptions.wrapMode,this._tabIndicator=J.tabIndicator??this._defaultOptions.tabIndicator,this._tabIndicatorColor=J.tabIndicatorColor?E(J.tabIndicatorColor):this._defaultOptions.tabIndicatorColor,this._truncate=J.truncate??this._defaultOptions.truncate,this.textBuffer=Q$.create(this._ctx.widthMethod),this.textBufferView=U$.create(this.textBuffer),this._firstLineOffset=$.claimFirstLineOffset?.(this)??0,this._textBufferSyntaxStyle=Q8.create(),this.textBuffer.setSyntaxStyle(this._textBufferSyntaxStyle),this.textBufferView.setWrapMode(this._wrapMode),this.textBufferView.setFirstLineOffset(this._firstLineOffset),this.setupMeasureFunc(),this.textBuffer.setDefaultFg(this._defaultFg),this.textBuffer.setDefaultBg(this._defaultBg),this.textBuffer.setDefaultAttributes(this._defaultAttributes),this._tabIndicator!==void 0)this.textBufferView.setTabIndicator(this._tabIndicator);if(this._tabIndicatorColor!==void 0)this.textBufferView.setTabIndicatorColor(this._tabIndicatorColor);if(this._wrapMode!=="none"&&this.width>0)this.textBufferView.setWrapWidth(this.width);if(this.width>0&&this.height>0)this.textBufferView.setViewport(this._scrollX,this._scrollY,this.width,this.height);this.textBufferView.setTruncate(this._truncate),this.updateTextInfo()}onMouseEvent($){if($.type==="scroll")this.handleScroll($)}handleScroll($){if(!$.scroll)return;let{direction:J,delta:Z}=$.scroll;if(J==="up")this.scrollY-=Z;else if(J==="down")this.scrollY+=Z;if(this._wrapMode==="none"){if(J==="left")this.scrollX-=Z;else if(J==="right")this.scrollX+=Z}}get lineInfo(){return this.textBufferView.logicalLineInfo}get lineCount(){return this.textBuffer.getLineCount()}get virtualLineCount(){return this.textBufferView.getVirtualLineCount()}get scrollY(){return this._scrollY}set scrollY($){let J=Math.max(0,this.scrollHeight-this.height),Z=Math.max(0,Math.min($,J));if(this._scrollY!==Z)this._scrollY=Z,this.updateViewportOffset(),this.requestRender()}get scrollX(){return this._scrollX}set scrollX($){let J=Math.max(0,this.scrollWidth-this.width),Z=Math.max(0,Math.min($,J));if(this._scrollX!==Z)this._scrollX=Z,this.updateViewportOffset(),this.requestRender()}get scrollWidth(){return this.lineInfo.lineWidthColsMax}get scrollHeight(){return this.lineInfo.lineStartCols.length}get maxScrollY(){return Math.max(0,this.scrollHeight-this.height)}get maxScrollX(){return Math.max(0,this.scrollWidth-this.width)}updateViewportOffset(){if(this.width>0&&this.height>0)this.textBufferView.setViewport(this._scrollX,this._scrollY,this.width,this.height)}get plainText(){return this.textBuffer.getPlainText()}get textLength(){return this.textBuffer.length}get fg(){return this._defaultFg}set fg($){let J=E($??this._defaultOptions.fg);if(this._defaultFg!==J)this._defaultFg=J,this.textBuffer.setDefaultFg(this._defaultFg),this.onFgChanged(J),this.requestRender()}get selectionBg(){return this._selectionBg}set selectionBg($){let J=$?E($):this._defaultOptions.selectionBg;if(this._selectionBg!==J){if(this._selectionBg=J,this.lastLocalSelection)this.updateLocalSelection(this.lastLocalSelection);this.requestRender()}}get selectionFg(){return this._selectionFg}set selectionFg($){let J=$?E($):this._defaultOptions.selectionFg;if(this._selectionFg!==J){if(this._selectionFg=J,this.lastLocalSelection)this.updateLocalSelection(this.lastLocalSelection);this.requestRender()}}get bg(){return this._defaultBg}set bg($){let J=E($??this._defaultOptions.bg);if(this._defaultBg!==J)this._defaultBg=J,this.textBuffer.setDefaultBg(this._defaultBg),this.onBgChanged(J),this.requestRender()}get attributes(){return this._defaultAttributes}set attributes($){if(this._defaultAttributes!==$)this._defaultAttributes=$,this.textBuffer.setDefaultAttributes(this._defaultAttributes),this.onAttributesChanged($),this.requestRender()}get wrapMode(){return this._wrapMode}set wrapMode($){if(this._wrapMode!==$){if(this._wrapMode=$,this.textBufferView.setWrapMode(this._wrapMode),$!=="none"&&this.width>0)this.textBufferView.setWrapWidth(this.width);this.yogaNode.markDirty(),this.requestRender()}}get tabIndicator(){return this._tabIndicator}set tabIndicator($){if(this._tabIndicator!==$){if(this._tabIndicator=$,$!==void 0)this.textBufferView.setTabIndicator($);this.requestRender()}}get tabIndicatorColor(){return this._tabIndicatorColor}set tabIndicatorColor($){let J=$?E($):void 0;if(this._tabIndicatorColor!==J){if(this._tabIndicatorColor=J,J!==void 0)this.textBufferView.setTabIndicatorColor(J);this.requestRender()}}get truncate(){return this._truncate}set truncate($){if(this._truncate!==$)this._truncate=$,this.textBufferView.setTruncate($),this.requestRender()}onResize($,J){this.textBufferView.setViewport(this._scrollX,this._scrollY,$,J),this.yogaNode.markDirty(),this.requestRender(),this.emit("line-info-change")}refreshLocalSelection(){if(this.lastLocalSelection)return this.updateLocalSelection(this.lastLocalSelection);return!1}updateLocalSelection($){if(!$?.isActive)return this.textBufferView.resetLocalSelection(),!0;return this.textBufferView.setLocalSelection($.anchorX,$.anchorY,$.focusX,$.focusY,this._selectionBg,this._selectionFg)}updateTextInfo(){if(this.lastLocalSelection)this.updateLocalSelection(this.lastLocalSelection);this.yogaNode.markDirty(),this.requestRender(),this.emit("line-info-change")}setupMeasureFunc(){let $=(J,Z,Q,U)=>{let G;if(Z===A0.Undefined||isNaN(J))G=0;else G=J;let j=isNaN(Q)?1:Q,q=this.textBufferView.measureForDimensions(Math.floor(G),Math.floor(j)),K=q?Math.max(1,q.widthColsMax):1,_=q?Math.max(1,q.lineCount):1;if(Z===A0.AtMost&&this._positionType!=="absolute")return{width:Math.min(G,K),height:Math.min(j,_)};return{width:K,height:_}};this.yogaNode.setMeasureFunc($)}shouldStartSelection($,J){if(!this.selectable)return!1;let Z=$-this.x,Q=J-this.y;return Z>=0&&Z<this.width&&Q>=0&&Q<this.height}onSelectionChanged($){let J=J$($,this.x,this.y);this.lastLocalSelection=J;let Z;if(!J?.isActive)this.textBufferView.resetLocalSelection(),Z=!0;else if($?.isStart)Z=this.textBufferView.setLocalSelection(J.anchorX,J.anchorY,J.focusX,J.focusY,this._selectionBg,this._selectionFg);else Z=this.textBufferView.updateLocalSelection(J.anchorX,J.anchorY,J.focusX,J.focusY,this._selectionBg,this._selectionFg);if(Z)this.requestRender();return this.hasSelection()}getSelectedText(){return this.textBufferView.getSelectedText()}hasSelection(){return this.textBufferView.hasSelection()}getSelection(){return this.textBufferView.getSelection()}render($,J){if(!this.visible)return;let Z=this._screenX,Q=this._screenY;if(this.markClean(),this._ctx.addToHitGrid(Z,Q,this.width,this.height,this.num),this.renderSelf($),this.buffered&&this.frameBuffer)$.drawFrameBuffer(Z,Q,this.frameBuffer)}renderSelf($){if(this.textBuffer.ptr)$.drawTextBuffer(this.textBufferView,this._screenX,this._screenY)}destroy(){if(this.isDestroyed)return;this.textBuffer.setSyntaxStyle(null),this._textBufferSyntaxStyle.destroy(),this.textBufferView.destroy(),this.textBuffer.destroy(),super.destroy()}onFgChanged($){}onBgChanged($){}onAttributesChanged($){}}class X0 extends T${_content;_filetype;_syntaxStyle;_isHighlighting=!1;_treeSitterClient;_highlightsDirty=!1;_highlightSnapshotId=0;_conceal;_drawUnstyledText;_shouldRenderTextBuffer=!0;_streaming;_hadInitialContent=!1;_lastHighlights=[];_baseHighlight;_onHighlight;_onChunks;_highlightingPromise=Promise.resolve();_contentDefaultOptions={content:"",conceal:!0,drawUnstyledText:!0,streaming:!1};constructor($,J){super($,J);if(this._content=J.content??this._contentDefaultOptions.content,this._filetype=J.filetype,this._syntaxStyle=J.syntaxStyle,this._treeSitterClient=J.treeSitterClient??W6(),this._conceal=J.conceal??this._contentDefaultOptions.conceal,this._drawUnstyledText=J.drawUnstyledText??this._contentDefaultOptions.drawUnstyledText,this._streaming=J.streaming??this._contentDefaultOptions.streaming,this._baseHighlight=J.baseHighlight,this._onHighlight=J.onHighlight,this._onChunks=J.onChunks,this._content.length>0)this.textBuffer.setText(this._content),this.updateTextInfo(),this._shouldRenderTextBuffer=this._drawUnstyledText||!this._filetype;this._highlightsDirty=this._content.length>0}get content(){return this._content}set content($){if(this._content!==$){if(this._content=$,this._highlightsDirty=!0,this._highlightSnapshotId++,this._streaming&&!this._drawUnstyledText&&this._filetype){this.requestRender();return}this.textBuffer.setText($),this.updateTextInfo()}}get filetype(){return this._filetype}set filetype($){if(this._filetype!==$)this._filetype=$,this._highlightsDirty=!0}get syntaxStyle(){return this._syntaxStyle}set syntaxStyle($){if(this._syntaxStyle!==$)this._syntaxStyle=$,this._highlightsDirty=!0}get conceal(){return this._conceal}set conceal($){if(this._conceal!==$)this._conceal=$,this._highlightsDirty=!0}get drawUnstyledText(){return this._drawUnstyledText}set drawUnstyledText($){if(this._drawUnstyledText!==$)this._drawUnstyledText=$,this._highlightsDirty=!0}get streaming(){return this._streaming}set streaming($){if(this._streaming!==$)this._streaming=$,this._hadInitialContent=!1,this._lastHighlights=[],this._highlightsDirty=!0}get treeSitterClient(){return this._treeSitterClient}set treeSitterClient($){if(this._treeSitterClient!==$)this._treeSitterClient=$,this._highlightsDirty=!0}get onHighlight(){return this._onHighlight}get baseHighlight(){return this._baseHighlight}set baseHighlight($){if(this._baseHighlight!==$)this._baseHighlight=$,this._highlightsDirty=!0}set onHighlight($){if(this._onHighlight!==$)this._onHighlight=$,this._highlightsDirty=!0}get onChunks(){return this._onChunks}set onChunks($){if(this._onChunks!==$)this._onChunks=$,this._highlightsDirty=!0}get isHighlighting(){return this._isHighlighting}get highlightingDone(){return this._highlightingPromise}async transformChunks($,J){if(!this._onChunks)return $;return await this._onChunks($,J)??$}ensureVisibleTextBeforeHighlight(){if(this.isDestroyed)return;let $=this._content;if(!this._filetype){this._shouldRenderTextBuffer=!0;return}let J=this._streaming&&!this._hadInitialContent,Z=this._streaming?J&&this._drawUnstyledText:this._drawUnstyledText;if(this._streaming&&!J)this._shouldRenderTextBuffer=!0;else if(Z)this.textBuffer.setText($),this._shouldRenderTextBuffer=!0;else this._shouldRenderTextBuffer=!1}async startHighlight(){let $=this._content,J=this._filetype,Z=++this._highlightSnapshotId;if(!J)return;if(this._streaming&&!this._hadInitialContent)this._hadInitialContent=!0;this._isHighlighting=!0;try{let U=await this._treeSitterClient.highlightOnce($,J);if(Z!==this._highlightSnapshotId){this.requestRender();return}if(this.isDestroyed)return;let G=U.highlights??[];if(this._onHighlight&&G.length>=0){let j={content:$,filetype:J,syntaxStyle:this._syntaxStyle},q=await this._onHighlight(G,j);if(q!==void 0)G=q}if(Z!==this._highlightSnapshotId){this.requestRender();return}if(this.isDestroyed)return;if(G.length>0){if(this._streaming)this._lastHighlights=G}if(G.length>0||this._onChunks||this._baseHighlight){let j={content:$,filetype:J,syntaxStyle:this._syntaxStyle,highlights:G},q=V6($,G,this._syntaxStyle,{enabled:this._conceal,baseHighlight:this._baseHighlight});if(q=await this.transformChunks(q,j),Z!==this._highlightSnapshotId){this.requestRender();return}if(this.isDestroyed)return;let K=new u0(q);this.textBuffer.setStyledText(K)}else this.textBuffer.setText($);this._shouldRenderTextBuffer=!0,this._isHighlighting=!1,this._highlightsDirty=!1,this.updateTextInfo(),this.requestRender()}catch(U){if(Z!==this._highlightSnapshotId){this.requestRender();return}if(console.warn("Code highlighting failed, falling back to plain text:",U),this.isDestroyed)return;this.textBuffer.setText($),this._shouldRenderTextBuffer=!0,this._isHighlighting=!1,this._highlightsDirty=!1,this.updateTextInfo(),this.requestRender()}}getLineHighlights($){return this.textBuffer.getLineHighlights($)}renderSelf($){if(this._highlightsDirty){if(this.isDestroyed)return;if(this._content.length===0)this._shouldRenderTextBuffer=!1,this._highlightsDirty=!1;else if(!this._filetype)this._shouldRenderTextBuffer=!0,this._highlightsDirty=!1;else this.ensureVisibleTextBeforeHighlight(),this._highlightsDirty=!1,this._highlightingPromise=this.startHighlight()}if(!this._shouldRenderTextBuffer)return;super.renderSelf($)}}var gQ=Symbol.for("@opentui/core/TextNodeRenderable");function o8($){return!!$?.[gQ]}function n5($){return $.chunks.map((J)=>{let Z=new M8({fg:J.fg,bg:J.bg,attributes:J.attributes,link:J.link});return Z.add(J.text),Z})}class M8 extends h8{[gQ]=!0;_fg;_bg;_attributes;_link;_children=[];parent=null;constructor($){super($);this._fg=$.fg?E($.fg):void 0,this._bg=$.bg?E($.bg):void 0,this._attributes=$.attributes??0,this._link=$.link}get children(){return this._children}set children($){this._children=$,this.requestRender()}requestRender(){this.markDirty(),this.parent?.requestRender()}add($,J){if(typeof $==="string"){if(J!==void 0)return this._children.splice(J,0,$),this.requestRender(),J;let Z=this._children.length;return this._children.push($),this.requestRender(),Z}if(o8($)){if(J!==void 0)return this._children.splice(J,0,$),$.parent=this,this.requestRender(),J;let Z=this._children.length;return this._children.push($),$.parent=this,this.requestRender(),Z}if(M7($)){let Z=n5($);if(J!==void 0)return this._children.splice(J,0,...Z),Z.forEach((U)=>U.parent=this),this.requestRender(),J;let Q=this._children.length;return this._children.push(...Z),Z.forEach((U)=>U.parent=this),this.requestRender(),Q}throw Error("TextNodeRenderable only accepts strings, TextNodeRenderable instances, or StyledText instances")}replace($,J){if(this._children[J]=$,typeof $!=="string")$.parent=this;this.requestRender()}insertBefore($,J){if(!J||!o8(J))throw Error("Anchor must be a TextNodeRenderable");let Z=this._children.indexOf(J);if(Z===-1)throw Error("Anchor node not found in children");if(typeof $==="string")this._children.splice(Z,0,$);else if(o8($))this._children.splice(Z,0,$),$.parent=this;else if($ instanceof u0){let Q=n5($);this._children.splice(Z,0,...Q),Q.forEach((U)=>U.parent=this)}else throw Error("Child must be a string, TextNodeRenderable, or StyledText instance");return this.requestRender(),this}remove($){let J=this.getRenderableIndex($);if(J===-1)throw Error("Child not found in children");let Z=this._children[J];return this._children.splice(J,1),Z.parent=null,this.requestRender(),this}clear(){this._children=[],this.requestRender()}mergeStyles($){return{fg:this._fg??$.fg,bg:this._bg??$.bg,attributes:this._attributes|$.attributes,link:this._link??$.link}}gatherWithInheritedStyle($={fg:void 0,bg:void 0,attributes:0}){let J=this.mergeStyles($),Z=[];for(let Q of this._children)if(typeof Q==="string")Z.push({__isChunk:!0,text:Q,fg:J.fg,bg:J.bg,attributes:J.attributes,link:J.link});else{let U=Q.gatherWithInheritedStyle(J);Z.push(...U)}return this.markClean(),Z}static fromString($,J={}){let Z=new M8(J);return Z.add($),Z}static fromNodes($,J={}){let Z=new M8(J);for(let Q of $)Z.add(Q);return Z}toChunks($={fg:void 0,bg:void 0,attributes:0}){return this.gatherWithInheritedStyle($)}getChildren(){return this._children.filter(($)=>typeof $!=="string")}getChildrenCount(){return this._children.length}getRenderable($){return this._children.find((J)=>typeof J!=="string"&&J.id===$)}getRenderableIndex($){return this._children.findIndex((J)=>o8(J)&&J.id===$)}get fg(){return this._fg}set fg($){if(!$){this._fg=void 0,this.requestRender();return}this._fg=E($),this.requestRender()}set bg($){if(!$){this._bg=void 0,this.requestRender();return}this._bg=E($),this.requestRender()}get bg(){return this._bg}set attributes($){this._attributes=$,this.requestRender()}get attributes(){return this._attributes}set link($){this._link=$,this.requestRender()}get link(){return this._link}findDescendantById($){return}}class L6 extends M8{ctx;textParent;constructor($,J,Z){super(J);this.ctx=$,this.textParent=Z}requestRender(){this.markDirty(),this.ctx.requestRender()}}class G$ extends T${_text;_hasManualStyledText=!1;rootTextNode;_contentDefaultOptions={content:""};constructor($,J){super($,J);let Z=J.content??this._contentDefaultOptions.content,Q=typeof Z==="string"?f8(Z):Z;this._text=Q,this._hasManualStyledText=J.content!==void 0&&Z!=="",this.rootTextNode=new L6($,{id:`${this.id}-root`,fg:this._defaultFg,bg:this._defaultBg,attributes:this._defaultAttributes},this),this.updateTextBuffer(Q)}updateTextBuffer($){this.textBuffer.setStyledText($),this.clearChunks($)}clearChunks($){}get content(){return this._text}get chunks(){return this._text.chunks}get textNode(){return this.rootTextNode}set content($){this._hasManualStyledText=!0;let J=typeof $==="string"?f8($):$;if(this._text!==J)this._text=J,this.updateTextBuffer(J),this.updateTextInfo()}updateTextFromNodes(){if(this.rootTextNode.isDirty&&!this._hasManualStyledText){let $=this.rootTextNode.gatherWithInheritedStyle({fg:this._defaultFg,bg:this._defaultBg,attributes:this._defaultAttributes,link:void 0});this.textBuffer.setStyledText(new u0($)),this.refreshLocalSelection(),this.yogaNode.markDirty()}}add($,J){return this.rootTextNode.add($,J)}remove($){this.rootTextNode.remove($)}insertBefore($,J){return this.rootTextNode.insertBefore($,J),this.rootTextNode.children.indexOf($)}getTextChildren(){return this.rootTextNode.getChildren()}clear(){this.rootTextNode.clear();let $=f8("");this._text=$,this.updateTextBuffer($),this.updateTextInfo(),this.requestRender()}onLifecyclePass=()=>{this.updateTextFromNodes()};onFgChanged($){this.rootTextNode.fg=$}onBgChanged($){this.rootTextNode.bg=$}onAttributesChanged($){this.rootTextNode.attributes=$}destroy(){this.rootTextNode.children.length=0,super.destroy()}}class mQ extends cG{output=[];constructor(){super()}get size(){return this.output.length}write($,J){this.output.push({stream:$,output:J}),this.emit("write",$,J)}claimOutput(){let $=this.output.map((J)=>J.output).join("");return this.clear(),$}clear(){this.output=[]}}class lJ extends pG{stream;capture;isTTY=!0;columns=process.stdout.columns||80;rows=process.stdout.rows||24;constructor($,J){super();this.stream=$,this.capture=J}_write($,J,Z){let Q=$.toString();this.capture.write(this.stream,Q),Z()}getColorDepth(){return process.stdout.getColorDepth?.()||8}}var A8={enter:"return",esc:"escape",kp0:"0",kp1:"1",kp2:"2",kp3:"3",kp4:"4",kp5:"5",kp6:"6",kp7:"7",kp8:"8",kp9:"9",kpdecimal:".",kpdivide:"/",kpmultiply:"*",kpminus:"-",kpplus:"+",kpenter:"enter",kpequal:"=",kpseparator:",",kpleft:"left",kpright:"right",kpup:"up",kpdown:"down",kppageup:"pageup",kppagedown:"pagedown",kphome:"home",kpend:"end",kpinsert:"insert",kpdelete:"delete"};function E8($,J){return{...$,...J}}function p0($,J){let Z=new Map;for(let Q of $){let U=E$(Q);Z.set(U,Q)}for(let Q of J){let U=E$(Q);Z.set(U,Q)}return Array.from(Z.values())}function E$($){return`${$.name}:${$.ctrl?1:0}:${$.shift?1:0}:${$.meta?1:0}:${$.super?1:0}`}function uG($){if($===void 0||$<32||$===127)return;try{let J=String.fromCodePoint($);if(J.length===1&&J>="A"&&J<="Z")return J.toLowerCase();return J}catch{return}}function hQ($){let J=new Set([$.name]),Z=uG($.baseCode);if(Z)J.add(Z);return[...J].map((Q)=>E$({...$,name:Q}))}function I6($,J){for(let Z of hQ(J)){let Q=$.get(Z);if(Q!==void 0)return Q}return}function dG($,J){let Z=E$(J);return hQ($).includes(Z)}function c0($,J){let Z=new Map,Q=J||{};for(let U of $){let G=E$(U);Z.set(G,U.action)}for(let U of $){let G=Q[U.name]||U.name;if(G!==U.name){let j=E$({...U,name:G});Z.set(j,U.action)}}return Z}function aG($){let J=[];if($.ctrl)J.push("ctrl");if($.shift)J.push("shift");if($.meta)J.push("meta");if($.super)J.push("super");return J.push($.name),J.join("+")}function sG(){let J=Error().stack?.split(`
84
+ `).slice(5)||[];if(!J.length)return null;let Z=J[0].trim(),Q=/at\s+(?:([\w$.<>]+)\s+\()?((?:\/|[A-Za-z]:\\)[^:]+):(\d+):(\d+)\)?/,U=Z.match(Q);if(!U)return null;let G=U[1]||"<anonymous>",j=U[2],q=j.split(/[\\/]/).pop()||"<unknown>",K=parseInt(U[3],10)||0,_=parseInt(U[4],10)||0;return{functionName:G,fullPath:j,fileName:q,lineNumber:K,columnNumber:_}}var B$=Z$("ConsoleCapture",()=>new mQ);Y0({name:"OTUI_USE_CONSOLE",description:"Whether to use the console. Will not capture console output if set to false.",type:"boolean",default:!0});Y0({name:"SHOW_CONSOLE",description:"Show the console at startup if set to true.",type:"boolean",default:!1});class pQ extends bQ{_cachedLogs=[];MAX_CACHE_SIZE=1000;_collectCallerInfo=!1;_cachingEnabled=!0;_originalConsole=null;get cachedLogs(){return this._cachedLogs}constructor(){super()}activate(){if(!this._originalConsole)this._originalConsole=global.console;this.setupConsoleCapture(),this.overrideConsoleMethods()}setupConsoleCapture(){if(!K0.OTUI_USE_CONSOLE)return;let $=new lJ("stdout",B$),J=new lJ("stderr",B$);global.console=new bG({stdout:$,stderr:J,colorMode:!0,inspectOptions:{compact:!1,breakLength:80,depth:2}})}overrideConsoleMethods(){if(console.log=(...$)=>{this.appendToConsole("LOG",...$)},console.info=(...$)=>{this.appendToConsole("INFO",...$)},console.warn=(...$)=>{this.appendToConsole("WARN",...$)},console.error=(...$)=>{this.appendToConsole("ERROR",...$)},console.debug=(...$)=>{this.appendToConsole("DEBUG",...$)},typeof console.timeStamp!=="function")console.timeStamp=()=>{}}setCollectCallerInfo($){this._collectCallerInfo=$}clearConsole(){this._cachedLogs=[]}setCachingEnabled($){this._cachingEnabled=$}deactivate(){this.restoreOriginalConsole()}restoreOriginalConsole(){if(this._originalConsole)global.console=this._originalConsole}addLogEntry($,...J){let Z=this._collectCallerInfo?sG():null,Q=[new Date,$,J,Z];if(this._cachingEnabled){if(this._cachedLogs.length>=this.MAX_CACHE_SIZE)this._cachedLogs.shift();this._cachedLogs.push(Q)}return Q}appendToConsole($,...J){if(this._cachedLogs.length>=this.MAX_CACHE_SIZE)this._cachedLogs.shift();let Z=this.addLogEntry($,...J);this.emit("entry",Z)}destroy(){this.deactivate()}}var v0=Z$("TerminalConsoleCache",()=>{let $=new pQ;return process.on("exit",()=>{$.destroy()}),$}),h7;(($)=>{$.TOP="top",$.BOTTOM="bottom",$.LEFT="left",$.RIGHT="right"})(h7||={});var gJ=[{name:"up",action:"scroll-up"},{name:"down",action:"scroll-down"},{name:"up",shift:!0,action:"scroll-to-top"},{name:"down",shift:!0,action:"scroll-to-bottom"},{name:"p",ctrl:!0,action:"position-previous"},{name:"o",ctrl:!0,action:"position-next"},{name:"+",action:"size-increase"},{name:"=",shift:!0,action:"size-increase"},{name:"-",action:"size-decrease"},{name:"s",ctrl:!0,action:"save-logs"},{name:"c",ctrl:!0,shift:!0,action:"copy-selection"}],lG={position:"bottom",sizePercent:30,zIndex:1/0,colorInfo:"#00FFFF",colorWarn:"#FFFF00",colorError:"#FF0000",colorDebug:"#808080",colorDefault:"#FFFFFF",backgroundColor:l.fromValues(0.1,0.1,0.1,0.7),startInDebugMode:!1,title:"Console",titleBarColor:l.fromValues(0.05,0.05,0.05,0.7),titleBarTextColor:"#FFFFFF",cursorColor:"#00A0FF",maxStoredLogs:2000,maxDisplayLines:3000,onCopySelection:void 0,keyBindings:void 0,keyAliasMap:void 0,selectionColor:l.fromValues(0.3,0.5,0.8,0.5),copyButtonColor:"#00A0FF"},k8=2;class C6 extends bQ{isVisible=!1;isFocused=!1;renderer;keyHandler;options;_debugModeEnabled=!1;frameBuffer=null;consoleX=0;consoleY=0;consoleWidth=0;consoleHeight=0;scrollTopIndex=0;isScrolledToBottom=!0;currentLineIndex=0;_displayLines=[];_allLogEntries=[];_needsFrameBufferUpdate=!1;_entryListener;_selectionStart=null;_selectionEnd=null;_isDragging=!1;_copyButtonBounds={x:0,y:0,width:0,height:0};_autoScrollInterval=null;clock;_keyBindingsMap;_keyAliasMap;_keyBindings;_mergedKeyBindings;_actionHandlers;markNeedsRerender(){this._needsFrameBufferUpdate=!0,this.renderer.requestRender()}getCopyButtonLabel(){let $=this._mergedKeyBindings.filter((Z)=>Z.action==="copy-selection"),J=$[$.length-1];if(J)return`[Copy (${aG(J)})]`;return"[Copy]"}_rgbaInfo;_rgbaWarn;_rgbaError;_rgbaDebug;_rgbaDefault;backgroundColor;_rgbaTitleBar;_rgbaTitleBarText;_title;_rgbaCursor;_rgbaSelection;_rgbaCopyButton;_positions=["top","right","bottom","left"];constructor($,J={}){super();if(this.renderer=$,this.clock=J.clock??new m8,this.options={...lG,...J},this.keyHandler=this.handleKeyPress.bind(this),this._debugModeEnabled=this.options.startInDebugMode,v0.setCollectCallerInfo(this._debugModeEnabled),this._rgbaInfo=E(this.options.colorInfo),this._rgbaWarn=E(this.options.colorWarn),this._rgbaError=E(this.options.colorError),this._rgbaDebug=E(this.options.colorDebug),this._rgbaDefault=E(this.options.colorDefault),this.backgroundColor=E(this.options.backgroundColor),this._rgbaTitleBar=E(this.options.titleBarColor),this._rgbaTitleBarText=E(this.options.titleBarTextColor||this.options.colorDefault),this._title=this.options.title,this._rgbaCursor=E(this.options.cursorColor),this._rgbaSelection=E(this.options.selectionColor),this._rgbaCopyButton=E(this.options.copyButtonColor),this._keyAliasMap=E8(A8,J.keyAliasMap||{}),this._keyBindings=J.keyBindings||[],this._mergedKeyBindings=p0(gJ,this._keyBindings),this._keyBindingsMap=c0(this._mergedKeyBindings,this._keyAliasMap),this._actionHandlers=this.buildActionHandlers(),this._updateConsoleDimensions(),this._scrollToBottom(!0),this._entryListener=(Z)=>{this._handleNewLog(Z)},v0.on("entry",this._entryListener),K0.SHOW_CONSOLE)this.show()}buildActionHandlers(){return new Map([["scroll-up",()=>this.scrollUp()],["scroll-down",()=>this.scrollDown()],["scroll-to-top",()=>this.scrollToTop()],["scroll-to-bottom",()=>this.scrollToBottomAction()],["position-previous",()=>this.positionPrevious()],["position-next",()=>this.positionNext()],["size-increase",()=>this.sizeIncrease()],["size-decrease",()=>this.sizeDecrease()],["save-logs",()=>this.saveLogsAction()],["copy-selection",()=>this.triggerCopyAction()]])}activate(){v0.activate()}deactivate(){v0.deactivate()}_handleNewLog($){if(!this.isVisible)return;if(this._allLogEntries.push($),this._allLogEntries.length>this.options.maxStoredLogs)this._allLogEntries.splice(0,this._allLogEntries.length-this.options.maxStoredLogs);let J=this._processLogEntry($);if(this._displayLines.push(...J),this._displayLines.length>this.options.maxDisplayLines){this._displayLines.splice(0,this._displayLines.length-this.options.maxDisplayLines);let Z=this._displayLines.length-this.options.maxDisplayLines;this.scrollTopIndex=Math.max(0,this.scrollTopIndex-Z)}if(this.isScrolledToBottom)this._scrollToBottom();this.markNeedsRerender()}_updateConsoleDimensions($,J){let Z=$??this.renderer.width,Q=J??this.renderer.height,U=this.options.sizePercent/100;switch(this.options.position){case"top":this.consoleX=0,this.consoleY=0,this.consoleWidth=Z,this.consoleHeight=Math.max(1,Math.floor(Q*U));break;case"bottom":this.consoleHeight=Math.max(1,Math.floor(Q*U)),this.consoleWidth=Z,this.consoleX=0,this.consoleY=Q-this.consoleHeight;break;case"left":this.consoleWidth=Math.max(1,Math.floor(Z*U)),this.consoleHeight=Q,this.consoleX=0,this.consoleY=0;break;case"right":this.consoleWidth=Math.max(1,Math.floor(Z*U)),this.consoleHeight=Q,this.consoleY=0,this.consoleX=Z-this.consoleWidth;break}this.currentLineIndex=Math.max(0,Math.min(this.currentLineIndex,this.consoleHeight-1))}handleKeyPress($){if($.name==="escape"){this.blur();return}let J=I6(this._keyBindingsMap,$);if(J){let Z=this._actionHandlers.get(J);if(Z){Z();return}}}scrollUp(){let $=Math.max(1,this.consoleHeight-1);if(this.currentLineIndex>0)this.currentLineIndex--,this.markNeedsRerender();else if(this.scrollTopIndex>0)this.scrollTopIndex--,this.isScrolledToBottom=!1,this.markNeedsRerender();return!0}scrollDown(){let $=this._displayLines.length,J=Math.max(1,this.consoleHeight-1),Z=Math.max(0,$-J);if(this.currentLineIndex<J-1&&this.scrollTopIndex+this.currentLineIndex<$-1)this.currentLineIndex++,this.markNeedsRerender();else if(this.scrollTopIndex<Z)this.scrollTopIndex++,this.isScrolledToBottom=this.scrollTopIndex===Z,this.markNeedsRerender();return!0}scrollToTop(){if(this.scrollTopIndex>0||this.currentLineIndex>0)this.scrollTopIndex=0,this.currentLineIndex=0,this.isScrolledToBottom=this._displayLines.length<=Math.max(1,this.consoleHeight-1),this.markNeedsRerender();return!0}scrollToBottomAction(){let $=Math.max(1,this.consoleHeight-1),J=Math.max(0,this._displayLines.length-$);if(this.scrollTopIndex<J||!this.isScrolledToBottom)this._scrollToBottom(!0),this.markNeedsRerender();return!0}positionPrevious(){let J=(this._positions.indexOf(this.options.position)-1+this._positions.length)%this._positions.length;return this.options.position=this._positions[J],this.resize(this.renderer.width,this.renderer.height),!0}positionNext(){let J=(this._positions.indexOf(this.options.position)+1)%this._positions.length;return this.options.position=this._positions[J],this.resize(this.renderer.width,this.renderer.height),!0}sizeIncrease(){return this.options.sizePercent=Math.min(100,this.options.sizePercent+5),this.resize(this.renderer.width,this.renderer.height),!0}sizeDecrease(){return this.options.sizePercent=Math.max(10,this.options.sizePercent-5),this.resize(this.renderer.width,this.renderer.height),!0}saveLogsAction(){return this.saveLogsToFile(),!0}triggerCopyAction(){return this.triggerCopy(),!0}attachStdin(){if(this.isFocused)return;this.renderer.keyInput.on("keypress",this.keyHandler),this.isFocused=!0}detachStdin(){if(!this.isFocused)return;this.renderer.keyInput.off("keypress",this.keyHandler),this.isFocused=!1}formatTimestamp($){return new Intl.DateTimeFormat("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format($)}formatArguments($){return $.map((J)=>{if(J instanceof Error){let Z=J;return`Error: ${Z.message}
85
+ `+(Z.stack?`${Z.stack}
86
+ `:"")}if(typeof J==="object"&&J!==null)try{return t5.inspect(J,{depth:2})}catch(Z){return String(J)}try{return t5.inspect(J,{depth:2})}catch(Z){return String(J)}}).join(" ")}resize($,J){if(this._updateConsoleDimensions($,J),this.frameBuffer){this.frameBuffer.resize(this.consoleWidth,this.consoleHeight);let Z=this._displayLines.length,Q=Math.max(1,this.consoleHeight-1),U=Math.max(0,Z-Q);this.scrollTopIndex=Math.min(this.scrollTopIndex,U),this.isScrolledToBottom=this.scrollTopIndex===U;let G=Math.min(Q,Z-this.scrollTopIndex);if(this.currentLineIndex=Math.max(0,Math.min(this.currentLineIndex,G-1)),this.isVisible)this.markNeedsRerender()}}clear(){v0.clearConsole(),this._allLogEntries=[],this._displayLines=[],this.markNeedsRerender()}toggle(){if(this.isVisible)if(this.isFocused)this.hide();else this.focus();else this.show();if(!this.renderer.isRunning)this.renderer.requestRender()}focus(){this.attachStdin(),this._scrollToBottom(!0),this.markNeedsRerender()}blur(){this.detachStdin(),this.markNeedsRerender()}show(){if(!this.isVisible){if(this.isVisible=!0,this._processCachedLogs(),v0.setCachingEnabled(!1),!this.frameBuffer)this.frameBuffer=I0.create(this.consoleWidth,this.consoleHeight,this.renderer.widthMethod,{respectAlpha:this.backgroundColor.a<1,id:"console framebuffer"});let $=v0.cachedLogs.length,J=Math.min(this.consoleHeight,$);this.currentLineIndex=Math.max(0,J-1),this.scrollTopIndex=0,this._scrollToBottom(!0),this.focus(),this.markNeedsRerender()}}hide(){if(this.isVisible)this.isVisible=!1,this.blur(),v0.setCachingEnabled(!0)}destroy(){this.stopAutoScroll(),this.hide(),this.deactivate(),v0.off("entry",this._entryListener)}getCachedLogs(){return v0.cachedLogs.map(($)=>$[0].toISOString()+" "+$.slice(1).join(" ")).join(`
87
+ `)}updateFrameBuffer(){if(!this.frameBuffer)return;this.frameBuffer.clear(this.backgroundColor);let $=this._displayLines,J=$.length,Z=Math.max(1,this.consoleHeight-1);this.frameBuffer.fillRect(0,0,this.consoleWidth,1,this._rgbaTitleBar);let Q=`${this._title}${this.isFocused?" (Focused)":""}`,U=Math.max(0,Math.floor((this.consoleWidth-Q.length)/2));this.frameBuffer.drawText(Q,U,0,this._rgbaTitleBarText,this._rgbaTitleBar);let G=this.getCopyButtonLabel(),j=this.consoleWidth-G.length-1;if(j>=0){let z=this.hasSelection(),H=l.fromInts(100,100,100,255),O=z?this._rgbaCopyButton:H;this.frameBuffer.drawText(G,j,0,O,this._rgbaTitleBar),this._copyButtonBounds={x:j,y:0,width:G.length,height:1}}else this._copyButtonBounds={x:-1,y:-1,width:0,height:0};let q=this.scrollTopIndex,K=Math.min(q+Z,J),_=$.slice(q,K),D=1;for(let z=0;z<_.length;z++){if(D>=this.consoleHeight)break;let H=_[z],O=q+z,X=this._rgbaDefault;switch(H.level){case"INFO":X=this._rgbaInfo;break;case"WARN":X=this._rgbaWarn;break;case"ERROR":X=this._rgbaError;break;case"DEBUG":X=this._rgbaDebug;break}let P=H.indent?" ".repeat(k8):"",N=H.text,W=this.consoleWidth-1-(H.indent?k8:0);if(this.isFocused&&D-1===this.currentLineIndex)this.frameBuffer.drawText(">",0,D,this._rgbaCursor,this.backgroundColor);else this.frameBuffer.drawText(" ",0,D,this._rgbaDefault,this.backgroundColor);let B=`${P}${N.substring(0,W)}`,I=this.getLineSelectionRange(O);if(I){let w=Math.max(0,I.start),x=Math.min(B.length,I.end);if(w>0)this.frameBuffer.drawText(B.substring(0,w),1,D,X);if(w<x)this.frameBuffer.fillRect(1+w,D,x-w,1,this._rgbaSelection),this.frameBuffer.drawText(B.substring(w,x),1+w,D,X,this._rgbaSelection);if(x<B.length)this.frameBuffer.drawText(B.substring(x),1+x,D,X)}else this.frameBuffer.drawText(B,1,D,X);D++}}renderToBuffer($){if(!this.isVisible||!this.frameBuffer)return;if(this._needsFrameBufferUpdate)this.updateFrameBuffer(),this._needsFrameBufferUpdate=!1;$.drawFrameBuffer(this.consoleX,this.consoleY,this.frameBuffer)}setDebugMode($){if(this._debugModeEnabled=$,v0.setCollectCallerInfo($),this.isVisible)this.markNeedsRerender()}toggleDebugMode(){this.setDebugMode(!this._debugModeEnabled)}set keyBindings($){this._keyBindings=$,this._mergedKeyBindings=p0(gJ,$),this._keyBindingsMap=c0(this._mergedKeyBindings,this._keyAliasMap),this.markNeedsRerender()}set keyAliasMap($){this._keyAliasMap=E8(A8,$),this._mergedKeyBindings=p0(gJ,this._keyBindings),this._keyBindingsMap=c0(this._mergedKeyBindings,this._keyAliasMap),this.markNeedsRerender()}set onCopySelection($){this.options.onCopySelection=$}get onCopySelection(){return this.options.onCopySelection}_scrollToBottom($=!1){let J=this._displayLines.length,Z=Math.max(1,this.consoleHeight-1),Q=Math.max(0,J-Z);this.scrollTopIndex=Q,this.isScrolledToBottom=!0;let U=Math.min(Z,J-this.scrollTopIndex);if($||this.currentLineIndex>=U)this.currentLineIndex=Math.max(0,U-1)}_processLogEntry($){let[J,Z,Q,U]=$,G=[],j=this.formatTimestamp(J),q=U?`${U.fileName}:${U.lineNumber}`:"unknown",K=`[${j}] [${Z}]`+(this._debugModeEnabled?` [${q}]`:"")+" ",D=this.formatArguments(Q).split(`
88
+ `);for(let z=0;z<D.length;z++){let H=D[z],O=z===0,X=this.consoleWidth-1-(O?0:k8),P=O?K:" ".repeat(k8),N=O?P+H:H,W=0;while(W<N.length||O&&W===0&&N.length===0){let F=N.substring(W,W+X),B=W===0;if(G.push({text:B&&!O?P+F:F,level:Z,indent:!O||!B}),W+=X,O&&W===0&&N.length===0)break}}return G}_processCachedLogs(){let $=[...v0.cachedLogs];if(v0.clearConsole(),this._allLogEntries.push(...$),this._allLogEntries.length>this.options.maxStoredLogs)this._allLogEntries.splice(0,this._allLogEntries.length-this.options.maxStoredLogs);for(let J of $){let Z=this._processLogEntry(J);this._displayLines.push(...Z)}if(this._displayLines.length>this.options.maxDisplayLines)this._displayLines.splice(0,this._displayLines.length-this.options.maxDisplayLines)}hasSelection(){if(this._selectionStart===null||this._selectionEnd===null)return!1;return this._selectionStart.line!==this._selectionEnd.line||this._selectionStart.col!==this._selectionEnd.col}normalizeSelection(){if(!this._selectionStart||!this._selectionEnd)return null;let $=this._selectionStart,J=this._selectionEnd;if($.line<J.line||$.line===J.line&&$.col<=J.col)return{startLine:$.line,startCol:$.col,endLine:J.line,endCol:J.col};else return{startLine:J.line,startCol:J.col,endLine:$.line,endCol:$.col}}getSelectedText(){let $=this.normalizeSelection();if(!$)return"";let J=[];for(let Z=$.startLine;Z<=$.endLine;Z++){if(Z<0||Z>=this._displayLines.length)continue;let Q=this._displayLines[Z],U=Q.indent?" ".repeat(k8):"",G=this.consoleWidth-1-(Q.indent?k8:0),j=U+Q.text.substring(0,G),q=j;if(Z===$.startLine&&Z===$.endLine)q=j.substring($.startCol,$.endCol);else if(Z===$.startLine)q=j.substring($.startCol);else if(Z===$.endLine)q=j.substring(0,$.endCol);J.push(q)}return J.join(`
89
+ `)}clearSelection(){this._selectionStart=null,this._selectionEnd=null,this._isDragging=!1,this.stopAutoScroll()}stopAutoScroll(){if(this._autoScrollInterval!==null)this.clock.clearInterval(this._autoScrollInterval),this._autoScrollInterval=null}startAutoScroll($){this.stopAutoScroll(),this._autoScrollInterval=this.clock.setInterval(()=>{if($==="up")if(this.scrollTopIndex>0){if(this.scrollTopIndex--,this.isScrolledToBottom=!1,this._selectionEnd)this._selectionEnd={line:this.scrollTopIndex,col:this._selectionEnd.col};this.markNeedsRerender()}else this.stopAutoScroll();else{let J=this._displayLines.length,Z=Math.max(1,this.consoleHeight-1),Q=Math.max(0,J-Z);if(this.scrollTopIndex<Q){if(this.scrollTopIndex++,this.isScrolledToBottom=this.scrollTopIndex===Q,this._selectionEnd){let U=this.scrollTopIndex+Z-1;this._selectionEnd={line:Math.min(U,J-1),col:this._selectionEnd.col}}this.markNeedsRerender()}else this.stopAutoScroll()}},50)}triggerCopy(){if(!this.hasSelection())return;let $=this.getSelectedText();if($&&this.options.onCopySelection){try{this.options.onCopySelection($)}catch{}this.clearSelection(),this.markNeedsRerender()}}getLineSelectionRange($){let J=this.normalizeSelection();if(!J)return null;if($<J.startLine||$>J.endLine)return null;let Z=this._displayLines[$];if(!Z)return null;let Q=Z.indent?" ".repeat(k8):"",U=this.consoleWidth-1-(Z.indent?k8:0),G=Q.length+Math.min(Z.text.length,U),j=0,q=G;if($===J.startLine)j=Math.max(0,J.startCol);if($===J.endLine)q=Math.min(G,J.endCol);if(j>=q)return null;return{start:j,end:q}}handleMouse($){if(!this.isVisible)return!1;let J=$.x-this.consoleX,Z=$.y-this.consoleY;if(J<0||J>=this.consoleWidth||Z<0||Z>=this.consoleHeight)return!1;if($.type==="scroll"&&$.scroll){if($.scroll.direction==="up")this.scrollUp();else if($.scroll.direction==="down")this.scrollDown();return!0}if(Z===0){if($.type==="down"&&$.button===0&&J>=this._copyButtonBounds.x&&J<this._copyButtonBounds.x+this._copyButtonBounds.width)return this.triggerCopy(),!0;return!0}let Q=this.scrollTopIndex+(Z-1),U=Math.max(0,J-1);if($.type==="down"&&$.button===0)return this.clearSelection(),this._selectionStart={line:Q,col:U},this._selectionEnd={line:Q,col:U},this._isDragging=!0,this.markNeedsRerender(),!0;if($.type==="drag"&&this._isDragging){this._selectionEnd={line:Q,col:U};let G=Math.max(1,this.consoleHeight-1),j=Z-1;if(j<=0)this.startAutoScroll("up");else if(j>=G-1)this.startAutoScroll("down");else this.stopAutoScroll();return this.markNeedsRerender(),!0}if($.type==="up"){if(this._isDragging)this._selectionEnd={line:Q,col:U},this._isDragging=!1,this.stopAutoScroll(),this.markNeedsRerender();return!0}return!0}get visible(){return this.isVisible}get bounds(){return{x:this.consoleX,y:this.consoleY,width:this.consoleWidth,height:this.consoleHeight}}saveLogsToFile(){try{let J=`_console_${Date.now()}.log`,Z=hG.join(process.cwd(),J),Q=[...this._allLogEntries,...v0.cachedLogs],U=[];for(let[j,q,K,_]of Q){let D=this.formatTimestamp(j),z=_?`${_.fileName}:${_.lineNumber}`:"unknown",H=`[${D}] [${q}]`+(this._debugModeEnabled?` [${z}]`:"")+" ",O=this.formatArguments(K);U.push(H+O)}let G=U.join(`
90
+ `);mG.writeFileSync(Z,G,"utf8"),console.info(`Console logs saved to: ${J}`)}catch($){console.error("Failed to save console logs:",$)}}}var cQ=Symbol.for("@opentui/core/EditBufferRenderable"),p7;(($)=>{$.TRAITS_CHANGED="traits-changed"})(p7||={});function rG($,J){if($===J)return!0;if(!$||!J)return!$&&!J;if($.length!==J.length)return!1;return $.every((Z,Q)=>Z===J[Q])}function iG($,J){return $.suspend===J.suspend&&$.status===J.status&&rG($.capture,J.capture)}function S6($){return!!($&&typeof $==="object"&&(cQ in $))}class T6 extends Q0{[cQ]=!0;_focusable=!0;selectable=!0;_traits={};_textColor;_backgroundColor;_defaultAttributes;_selectionBg;_selectionFg;_wrapMode="word";_scrollMargin=0.2;_showCursor=!0;_cursorColor;_cursorStyle;lastLocalSelection=null;_tabIndicator;_tabIndicatorColor;_cursorChangeListener=void 0;_contentChangeListener=void 0;_autoScrollVelocity=0;_autoScrollAccumulator=0;_scrollSpeed=16;_keyboardSelectionActive=!1;editBuffer;editorView;_defaultOptions={textColor:l.fromValues(1,1,1,1),backgroundColor:"transparent",selectionBg:void 0,selectionFg:void 0,selectable:!0,attributes:0,wrapMode:"word",scrollMargin:0.2,scrollSpeed:16,showCursor:!0,cursorColor:l.fromValues(1,1,1,1),cursorStyle:{style:"block",blinking:!0},tabIndicator:void 0,tabIndicatorColor:void 0};constructor($,J){super($,J);if(this._textColor=E(J.textColor??this._defaultOptions.textColor),this._backgroundColor=E(J.backgroundColor??this._defaultOptions.backgroundColor),this._defaultAttributes=J.attributes??this._defaultOptions.attributes,this._selectionBg=J.selectionBg?E(J.selectionBg):this._defaultOptions.selectionBg,this._selectionFg=J.selectionFg?E(J.selectionFg):this._defaultOptions.selectionFg,this.selectable=J.selectable??this._defaultOptions.selectable,this._wrapMode=J.wrapMode??this._defaultOptions.wrapMode,this._scrollMargin=J.scrollMargin??this._defaultOptions.scrollMargin,this._scrollSpeed=J.scrollSpeed??this._defaultOptions.scrollSpeed,this._showCursor=J.showCursor??this._defaultOptions.showCursor,this._cursorColor=E(J.cursorColor??this._defaultOptions.cursorColor),this._cursorStyle=J.cursorStyle??this._defaultOptions.cursorStyle,this._tabIndicator=J.tabIndicator??this._defaultOptions.tabIndicator,this._tabIndicatorColor=J.tabIndicatorColor?E(J.tabIndicatorColor):this._defaultOptions.tabIndicatorColor,this.editBuffer=s0.create(this._ctx.widthMethod),this.editorView=S$.create(this.editBuffer,this.width||80,this.height||24),this.editorView.setWrapMode(this._wrapMode),this.editorView.setScrollMargin(this._scrollMargin),this.editBuffer.setDefaultFg(this._textColor),this.editBuffer.setDefaultBg(this._backgroundColor),this.editBuffer.setDefaultAttributes(this._defaultAttributes),J.syntaxStyle)this.editBuffer.setSyntaxStyle(J.syntaxStyle);if(this._tabIndicator!==void 0)this.editorView.setTabIndicator(this._tabIndicator);if(this._tabIndicatorColor!==void 0)this.editorView.setTabIndicatorColor(this._tabIndicatorColor);this.setupMeasureFunc(),this.setupEventListeners(J)}get lineInfo(){return this.editorView.getLogicalLineInfo()}setupEventListeners($){this._cursorChangeListener=$.onCursorChange,this._contentChangeListener=$.onContentChange,this.editBuffer.on("cursor-changed",()=>{if(this._cursorChangeListener){let J=this.editBuffer.getCursorPosition();this._cursorChangeListener({line:J.row,visualColumn:J.col})}}),this.editBuffer.on("content-changed",()=>{if(this.yogaNode.markDirty(),this.requestRender(),this.emit("line-info-change"),this._contentChangeListener)this._contentChangeListener({})})}get lineCount(){return this.editBuffer.getLineCount()}get virtualLineCount(){return this.editorView.getVirtualLineCount()}get scrollY(){return this.editorView.getViewport().offsetY}get plainText(){return this.editBuffer.getText()}get logicalCursor(){return this.editBuffer.getCursorPosition()}get visualCursor(){return this.editorView.getVisualCursor()}get cursorOffset(){return this.editorView.getVisualCursor().offset}set cursorOffset($){this.editorView.setCursorByOffset($),this.requestRender()}get cursorCharacterOffset(){let $=this.plainText.length;if($<=0)return;let J=this.logicalCursor,Z=this.cursorOffset;if(Z>=$){if(J.col>0)return $-1;return 0}if(this.plainText[Z]===`
91
+ `&&J.col>0)return Z-1;return Z}get textColor(){return this._textColor}set textColor($){let J=E($??this._defaultOptions.textColor);if(this._textColor!==J)this._textColor=J,this.editBuffer.setDefaultFg(J),this.requestRender()}get selectionBg(){return this._selectionBg}get traits(){return this._traits}set traits($){if(iG(this._traits,$))return;let J=this._traits;this._traits=$,this.emit("traits-changed",$,J)}set selectionBg($){let J=$?E($):this._defaultOptions.selectionBg;if(this._selectionBg!==J)this._selectionBg=J,this.refreshSelectionStyle(),this.requestRender()}get selectionFg(){return this._selectionFg}set selectionFg($){let J=$?E($):this._defaultOptions.selectionFg;if(this._selectionFg!==J)this._selectionFg=J,this.refreshSelectionStyle(),this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor($){let J=E($??this._defaultOptions.backgroundColor);if(this._backgroundColor!==J)this._backgroundColor=J,this.editBuffer.setDefaultBg(J),this.requestRender()}get attributes(){return this._defaultAttributes}set attributes($){if(this._defaultAttributes!==$)this._defaultAttributes=$,this.editBuffer.setDefaultAttributes($),this.requestRender()}get wrapMode(){return this._wrapMode}set wrapMode($){if(this._wrapMode!==$)this._wrapMode=$,this.editorView.setWrapMode($),this.yogaNode.markDirty(),this.requestRender()}get showCursor(){return this._showCursor}set showCursor($){if(this._showCursor!==$){if(this._showCursor=$,!$&&this._focused)this._ctx.setCursorPosition(0,0,!1);this.requestRender()}}get cursorColor(){return this._cursorColor}set cursorColor($){let J=E($);if(this._cursorColor!==J){if(this._cursorColor=J,this._focused)this.requestRender()}}get cursorStyle(){return this._cursorStyle}set cursorStyle($){let J=$;if(this.cursorStyle.style!==J.style||this.cursorStyle.blinking!==J.blinking){if(this._cursorStyle=J,this._focused)this.requestRender()}}get tabIndicator(){return this._tabIndicator}set tabIndicator($){if(this._tabIndicator!==$){if(this._tabIndicator=$,$!==void 0)this.editorView.setTabIndicator($);this.requestRender()}}get tabIndicatorColor(){return this._tabIndicatorColor}set tabIndicatorColor($){let J=$?E($):void 0;if(this._tabIndicatorColor!==J){if(this._tabIndicatorColor=J,J!==void 0)this.editorView.setTabIndicatorColor(J);this.requestRender()}}get scrollSpeed(){return this._scrollSpeed}set scrollSpeed($){this._scrollSpeed=Math.max(0,$)}onMouseEvent($){if($.type==="scroll")this.handleScroll($)}handleScroll($){if(!$.scroll)return;let{direction:J,delta:Z}=$.scroll,Q=this.editorView.getViewport();if(J==="up"){let U=Math.max(0,Q.offsetY-Z);this.editorView.setViewport(Q.offsetX,U,Q.width,Q.height,!0),this.requestRender()}else if(J==="down"){let U=this.editorView.getTotalVirtualLineCount(),G=Math.max(0,U-Q.height),j=Math.min(Q.offsetY+Z,G);this.editorView.setViewport(Q.offsetX,j,Q.width,Q.height,!0),this.requestRender()}if(this._wrapMode==="none"){if(J==="left"){let U=Math.max(0,Q.offsetX-Z);this.editorView.setViewport(U,Q.offsetY,Q.width,Q.height,!0),this.requestRender()}else if(J==="right"){let U=Q.offsetX+Z;this.editorView.setViewport(U,Q.offsetY,Q.width,Q.height,!0),this.requestRender()}}}onResize($,J){this.editorView.setViewportSize($,J)}refreshLocalSelection(){if(this.lastLocalSelection)return this.updateLocalSelection(this.lastLocalSelection);return!1}updateLocalSelection($){if(!$?.isActive)return this.editorView.resetLocalSelection(),!0;return this.editorView.setLocalSelection($.anchorX,$.anchorY,$.focusX,$.focusY,this._selectionBg,this._selectionFg,!1)}shouldStartSelection($,J){if(!this.selectable)return!1;let Z=$-this.x,Q=J-this.y;return Z>=0&&Z<this.width&&Q>=0&&Q<this.height}onSelectionChanged($){let J=J$($,this.x,this.y);this.lastLocalSelection=J;let Z=!0,Q=this._keyboardSelectionActive,U;if(!J?.isActive)this._keyboardSelectionActive=!1,this.editorView.resetLocalSelection(),U=!0;else if($?.isStart)U=this.editorView.setLocalSelection(J.anchorX,J.anchorY,J.focusX,J.focusY,this._selectionBg,this._selectionFg,Z,Q);else U=this.editorView.updateLocalSelection(J.anchorX,J.anchorY,J.focusX,J.focusY,this._selectionBg,this._selectionFg,Z,Q);if(U&&J?.isActive&&$?.isDragging){let G=this.editorView.getViewport(),j=J.focusY,q=Math.max(1,Math.floor(G.height*this._scrollMargin));if(j<q)this._autoScrollVelocity=-this._scrollSpeed;else if(j>=G.height-q)this._autoScrollVelocity=this._scrollSpeed;else this._autoScrollVelocity=0}else this._keyboardSelectionActive=!1,this._autoScrollVelocity=0,this._autoScrollAccumulator=0;if(U)this.requestRender();return this.hasSelection()}onUpdate($){if(super.onUpdate($),this._autoScrollVelocity!==0&&this.hasSelection()){let J=$/1000;this._autoScrollAccumulator+=this._autoScrollVelocity*J;let Z=Math.floor(Math.abs(this._autoScrollAccumulator));if(Z>0){let Q=this._autoScrollVelocity>0?1:-1,U=this.editorView.getViewport(),G=this.editorView.getTotalVirtualLineCount(),j=Math.max(0,G-U.height),q=Math.max(0,Math.min(U.offsetY+Q*Z,j));if(q!==U.offsetY)this.editorView.setViewport(U.offsetX,q,U.width,U.height,!1),this._ctx.requestSelectionUpdate();this._autoScrollAccumulator-=Q*Z}}}getSelectedText(){return this.editorView.getSelectedText()}hasSelection(){return this.editorView.hasSelection()}getSelection(){return this.editorView.getSelection()}refreshSelectionStyle(){if(this.lastLocalSelection){this.updateLocalSelection(this.lastLocalSelection);return}let $=this.getSelection();if(!$)return;this.editorView.setSelection($.start,$.end,this._selectionBg,this._selectionFg)}deleteSelectedText(){this.editorView.deleteSelectedText(),this._ctx.clearSelection(),this.requestRender()}setSelection($,J){this.lastLocalSelection=null,this.editorView.resetLocalSelection(),this._ctx.clearSelection(),this.editorView.setSelection($,J,this._selectionBg,this._selectionFg),this.requestRender()}setSelectionInclusive($,J){this.setSelection(Math.min($,J),Math.max($,J)+1)}clearSelection(){let $=this.hasSelection();if(this.lastLocalSelection=null,this.editorView.resetSelection(),this.editorView.resetLocalSelection(),this._ctx.clearSelection(),$)this.requestRender();return $}deleteSelection(){if(!this.hasSelection())return!1;return this.lastLocalSelection=null,this.deleteSelectedText(),!0}setCursor($,J){this.editBuffer.setCursor($,J),this.requestRender()}insertChar($){if(this.hasSelection())this.deleteSelectedText();this.editBuffer.insertChar($),this.requestRender()}insertText($){if(this.hasSelection())this.deleteSelectedText();this.editBuffer.insertText($),this.requestRender()}deleteChar(){if(this.hasSelection())return this.deleteSelectedText(),!0;return this._ctx.clearSelection(),this.editBuffer.deleteChar(),this.requestRender(),!0}deleteCharBackward(){if(this.hasSelection())return this.deleteSelectedText(),!0;return this._ctx.clearSelection(),this.editBuffer.deleteCharBackward(),this.requestRender(),!0}newLine(){return this._ctx.clearSelection(),this.editBuffer.newLine(),this.requestRender(),!0}deleteLine(){return this._ctx.clearSelection(),this.editBuffer.deleteLine(),this.requestRender(),!0}moveCursorLeft($){let J=$?.select??!1;if(!J&&this.hasSelection()){let Z=this.getSelection();return this.editBuffer.setCursorByOffset(Z.start),this._ctx.clearSelection(),this.requestRender(),!0}return this.updateSelectionForMovement(J,!0),this.editBuffer.moveCursorLeft(),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}moveCursorRight($){let J=$?.select??!1;if(!J&&this.hasSelection()){let Z=this.getSelection(),Q=this.cursorOffset===Z.start?Z.end-1:Z.end;return this.editBuffer.setCursorByOffset(Q),this._ctx.clearSelection(),this.requestRender(),!0}return this.updateSelectionForMovement(J,!0),this.editBuffer.moveCursorRight(),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}moveCursorUp($){let J=$?.select??!1;return this.updateSelectionForMovement(J,!0),this.editorView.moveUpVisual(),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}moveCursorDown($){let J=$?.select??!1;return this.updateSelectionForMovement(J,!0),this.editorView.moveDownVisual(),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}gotoLine($){this.editBuffer.gotoLine($),this.requestRender()}gotoLineStart(){this.setCursor(this.logicalCursor.row,0)}gotoLineTextEnd(){let $=this.editBuffer.getEOL();this.setCursor($.row,$.col)}gotoLineHome($){let J=$?.select??!1;this.updateSelectionForMovement(J,!0);let Z=this.editorView.getCursor();if(Z.col===0&&Z.row>0){this.editBuffer.setCursor(Z.row-1,0);let Q=this.editBuffer.getEOL();this.editBuffer.setCursor(Q.row,Q.col)}else this.editBuffer.setCursor(Z.row,0);return this.updateSelectionForMovement(J,!1),this.requestRender(),!0}gotoLineEnd($){let J=$?.select??!1;this.updateSelectionForMovement(J,!0);let Z=this.editorView.getCursor(),Q=this.editBuffer.getEOL(),U=this.editBuffer.getLineCount();if(Z.col===Q.col&&Z.row<U-1)this.editBuffer.setCursor(Z.row+1,0);else this.editBuffer.setCursor(Q.row,Q.col);return this.updateSelectionForMovement(J,!1),this.requestRender(),!0}gotoVisualLineHome($){let J=$?.select??!1;this.updateSelectionForMovement(J,!0);let Z=this.editorView.getVisualSOL();return this.editBuffer.setCursor(Z.logicalRow,Z.logicalCol),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}gotoVisualLineEnd($){let J=$?.select??!1;this.updateSelectionForMovement(J,!0);let Z=this.editorView.getVisualEOL();return this.editBuffer.setCursor(Z.logicalRow,Z.logicalCol),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}gotoBufferHome($){let J=$?.select??!1;return this.updateSelectionForMovement(J,!0),this.editBuffer.setCursor(0,0),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}gotoBufferEnd($){let J=$?.select??!1;return this.updateSelectionForMovement(J,!0),this.editBuffer.gotoLine(999999),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}selectAll(){return this.updateSelectionForMovement(!1,!0),this.editBuffer.setCursor(0,0),this.gotoBufferEnd({select:!0})}deleteToLineEnd(){let $=this.editorView.getCursor(),J=this.editBuffer.getEOL();if(J.col>$.col)this.editBuffer.deleteRange($.row,$.col,J.row,J.col);return this.requestRender(),!0}deleteToLineStart(){let $=this.editorView.getCursor();if($.col>0)this.editBuffer.deleteRange($.row,0,$.row,$.col);else if($.row>0)this.editBuffer.deleteCharBackward();return this.requestRender(),!0}undo(){return this._ctx.clearSelection(),this.editBuffer.undo(),this.requestRender(),!0}redo(){return this._ctx.clearSelection(),this.editBuffer.redo(),this.requestRender(),!0}moveWordForward($){let J=$?.select??!1;this.updateSelectionForMovement(J,!0);let Z=this.editBuffer.getNextWordBoundary();return this.editBuffer.setCursorByOffset(Z.offset),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}moveWordBackward($){let J=$?.select??!1;this.updateSelectionForMovement(J,!0);let Z=this.editBuffer.getPrevWordBoundary();return this.editBuffer.setCursorByOffset(Z.offset),this.updateSelectionForMovement(J,!1),this.requestRender(),!0}deleteWordForward(){if(this.hasSelection())return this.deleteSelectedText(),!0;let $=this.editBuffer.getCursorPosition(),J=this.editBuffer.getNextWordBoundary();if(J.offset>$.offset)this.editBuffer.deleteRange($.row,$.col,J.row,J.col);return this._ctx.clearSelection(),this.requestRender(),!0}deleteWordBackward(){if(this.hasSelection())return this.deleteSelectedText(),!0;let $=this.editBuffer.getCursorPosition(),J=this.editBuffer.getPrevWordBoundary();if(J.offset<$.offset)this.editBuffer.deleteRange(J.row,J.col,$.row,$.col);return this._ctx.clearSelection(),this.requestRender(),!0}setupMeasureFunc(){let $=(J,Z,Q,U)=>{let G;if(Z===A0.Undefined||isNaN(J))G=0;else G=J;let j=isNaN(Q)?1:Q,q=this.editorView.measureForDimensions(Math.floor(G),Math.floor(j)),K=q?Math.max(1,q.widthColsMax):1,_=q?Math.max(1,q.lineCount):1;if(Z===A0.AtMost&&this._positionType!=="absolute")return{width:Math.min(G,K),height:Math.min(j,_)};return{width:K,height:_}};this.yogaNode.setMeasureFunc($)}render($,J){if(!this.visible)return;if(this.isDestroyed)return;let Z=this._screenX,Q=this._screenY;this.markClean(),this._ctx.addToHitGrid(Z,Q,this.width,this.height,this.num),this.renderSelf($),this.renderCursor($)}renderSelf($){$.drawEditorView(this.editorView,this._screenX,this._screenY)}renderCursor($){if(!this._showCursor||!this._focused)return;let J=this.editorView.getVisualCursor(),Z=this._screenX,Q=this._screenY,U=Z+J.visualCol+1,G=Q+J.visualRow+1;this._ctx.setCursorPosition(U,G,!0),this._ctx.setCursorStyle({...this._cursorStyle,color:this._cursorColor})}focus(){super.focus(),this._ctx.setCursorStyle({...this._cursorStyle,color:this._cursorColor}),this.requestRender()}blur(){super.blur(),this._ctx.setCursorPosition(0,0,!1),this.requestRender()}onRemove(){if(this._focused)this._ctx.setCursorPosition(0,0,!1)}destroy(){if(this.isDestroyed)return;if(this.traits={},this._focused)this._ctx.setCursorPosition(0,0,!1),this.blur();this.editorView.destroy(),this.editBuffer.destroy(),super.destroy()}set onCursorChange($){this._cursorChangeListener=$}get onCursorChange(){return this._cursorChangeListener}set onContentChange($){this._contentChangeListener=$}get onContentChange(){return this._contentChangeListener}get syntaxStyle(){return this.editBuffer.getSyntaxStyle()}set syntaxStyle($){this.editBuffer.setSyntaxStyle($),this.requestRender()}addHighlight($,J){this.editBuffer.addHighlight($,J),this.requestRender()}addHighlightByCharRange($){this.editBuffer.addHighlightByCharRange($),this.requestRender()}removeHighlightsByRef($){this.editBuffer.removeHighlightsByRef($),this.requestRender()}clearLineHighlights($){this.editBuffer.clearLineHighlights($),this.requestRender()}clearAllHighlights(){this.editBuffer.clearAllHighlights(),this.requestRender()}getLineHighlights($){return this.editBuffer.getLineHighlights($)}setText($){this.editBuffer.setText($),this.yogaNode.markDirty(),this.requestRender()}replaceText($){this.editBuffer.replaceText($),this.yogaNode.markDirty(),this.requestRender()}clear(){this.editBuffer.clear(),this.editBuffer.clearAllHighlights(),this.yogaNode.markDirty(),this.requestRender()}deleteRange($,J,Z,Q){this.editBuffer.deleteRange($,J,Z,Q),this.yogaNode.markDirty(),this.requestRender()}getTextRange($,J){return this.editBuffer.getTextRange($,J)}getTextRangeByCoords($,J,Z,Q){return this.editBuffer.getTextRangeByCoords($,J,Z,Q)}updateSelectionForMovement($,J){if(!this.selectable)return;if(!$){this._keyboardSelectionActive=!1,this._ctx.clearSelection();return}this._keyboardSelectionActive=!0;let Z=this.editorView.getVisualCursor(),Q=this.x+Z.visualCol,U=this.y+Z.visualRow;if(J){if(!this._ctx.hasSelection)this._ctx.startSelection(this,Q,U);return}this._ctx.updateSelection(this,Q,U,{finishDragging:!0})}}var H8={switchToAlternateScreen:"\x1B[?1049h",switchToMainScreen:"\x1B[?1049l",reset:"\x1B[0m",scrollDown:($)=>`\x1B[${$}T`,scrollUp:($)=>`\x1B[${$}S`,moveCursor:($,J)=>`\x1B[${$};${J}H`,moveCursorAndClear:($,J)=>`\x1B[${$};${J}H\x1B[J`,setRgbBackground:($,J,Z)=>`\x1B[48;2;${$};${J};${Z}m`,resetBackground:"\x1B[49m",bracketedPasteStart:"\x1B[200~",bracketedPasteEnd:"\x1B[201~"};function oG($,J=new TextEncoder){let Z=Buffer.from($).toString("base64");return J.encode(Z)}class uQ{lib;rendererPtr;constructor($,J){this.lib=$,this.rendererPtr=J}copyToClipboardOSC52($,J=0){if(!this.isOsc52Supported())return!1;let Z=oG($,this.lib.encoder);return this.lib.copyToClipboardOSC52(this.rendererPtr,J,Z)}clearClipboardOSC52($=0){if(!this.isOsc52Supported())return!1;return this.lib.clearClipboardOSC52(this.rendererPtr,$)}isOsc52Supported(){let $=this.lib.getTerminalCapabilities(this.rendererPtr);return Boolean($?.osc52)}}function K9($,J,Z="column",Q=10,U=16){if($.width<=0||$.height<=0)return[];if(J.length===0)return[];if(J.length<U)return J;let G=$.y-Q,j=$.y+$.height+Q,q=$.x-Q,K=$.x+$.width+Q,_=Z==="row",D=J,z=D.length;if(z===0)return[];let H=_?q:G,O=_?K:j,X=0,P=z-1,N=-1;while(X<=P){let x=X+P>>1,C=D[x],T=_?C.screenX:C.screenY;if((_?C.screenX+C.width:C.screenY+C.height)<H)X=x+1;else if(T>O)P=x-1;else{N=x;break}}let W=[];if(N===-1)N=X>0?X-1:0;let F=50,B=N,I=0;while(B-1>=0){let x=D[B-1];if((_?x.screenX+x.width:x.screenY+x.height)<=H){if(I++,I>=F)break}else I=0;B--}let w=N+1;while(w<z){let x=D[w];if((_?x.screenX:x.screenY)>=O)break;w++}for(let x=B;x<w;x++){let C=D[x],T=_?C.screenX:C.screenY;if((_?C.screenX+C.width:C.screenY+C.height)<=H)continue;if(T>=O)break;if(_){if(C.screenY+C.height<G)continue;if(C.screenY>j)continue}else{if(C.screenX+C.width<q)continue;if(C.screenX>K)continue}W.push(C)}if(W.length>1)W.sort((x,C)=>x.zIndex>C.zIndex?1:x.zIndex<C.zIndex?-1:0);return W}function p$($,J,Z,Q){let U=Math.max(J,0),G=Math.max(Z,0);if($!=="split-footer")return{effectiveFooterHeight:0,renderOffset:0,renderWidth:U,renderHeight:G};let j=Math.min(Q,G);return{effectiveFooterHeight:j,renderOffset:G-j,renderWidth:U,renderHeight:j}}function nG($){if(/\x1b\[\?\d+(?:;\d+)*\$y/.test($))return!0;if(/\x1b\[1;(?!1R)\d+R/.test($))return!0;if(/\x1bP>\|[\s\S]*?\x1b\\/.test($))return!0;if(/\x1b_G[\s\S]*?\x1b\\/.test($))return!0;if(/\x1b\[\?\d+(?:;\d+)?u/.test($))return!0;if(/\x1b\[\?[0-9;]*c/.test($))return!0;if(/\x1b\]99;[^\x07\x1b]*i=opentui-notifications[^\x07\x1b]*p=\?[\s\S]*?(?:\x07|\x1b\\)/.test($))return!0;if(/\x1b\]1337;Capabilities=[\s\S]*?(?:\x07|\x1b\\)/.test($))return!0;return!1}function tG($){return/\x1b\[4;\d+;\d+t/.test($)}function eG($){let J=$.match(/\x1b\[4;(\d+);(\d+)t/);if(J)return{width:parseInt(J[2]),height:parseInt(J[1])};return null}var e5=/\x1b](10|11);(?:(?:rgb:)([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)|#([0-9a-fA-F]{6}))(?:\x07|\x1b\\)/g;function bJ($){let J=parseInt($,16),Z=(1<<4*$.length)-1;return Math.round(J/Z*255).toString(16).padStart(2,"0")}function $j($,J,Z,Q){if(Q)return`#${Q.toLowerCase()}`;if($&&J&&Z)return`#${bJ($)}${bJ(J)}${bJ(Z)}`;return"#000000"}function Jj($){let[J,Z,Q]=E($).toInts();return(J*299+Z*587+Q*114)/1000>128?"light":"dark"}class _9{host;clock;static QUERY_TIMEOUT_MS=250;_themeMode=null;themeQueryPending=!0;themeOscForeground=null;themeOscBackground=null;themeRefreshTimeoutId=null;waiters=new Set;constructor($,J){this.host=$,this.clock=J}get themeMode(){return this._themeMode}waitForThemeMode($,J){if(this._themeMode!==null||J||$===0)return Promise.resolve(this._themeMode);return new Promise((Z)=>{let Q={resolve:Z,timeoutHandle:null};if($>0)Q.timeoutHandle=this.clock.setTimeout(()=>{this.waiters.delete(Q),Q.timeoutHandle=null,Z(this._themeMode)},$);this.waiters.add(Q)})}cancelRefresh(){if(this.themeRefreshTimeoutId===null)return;this.clock.clearTimeout(this.themeRefreshTimeoutId),this.themeRefreshTimeoutId=null,this.themeQueryPending=!1}dispose(){this.cancelRefresh();for(let $ of this.waiters){if($.timeoutHandle!==null)this.clock.clearTimeout($.timeoutHandle);$.resolve(this._themeMode)}this.waiters.clear()}handleSequence($){if($==="\x1B[?997;1n"||$==="\x1B[?997;2n")return this.requestThemeOscColors(),{handled:!0,changedMode:null};let J=!1,Z;e5.lastIndex=0;while(Z=e5.exec($)){J=!0;let G=$j(Z[2],Z[3],Z[4],Z[5]);if(Z[1]==="10")this.themeOscForeground=G;else this.themeOscBackground=G}if(!J)return{handled:!1,changedMode:null};if(!this.themeQueryPending)return{handled:!0,changedMode:null};if(!this.themeOscForeground||!this.themeOscBackground)return{handled:!0,changedMode:null};let Q=Jj(this.themeOscBackground),U=this.applyThemeMode(Q);return this.completeThemeQuery(),{handled:!0,changedMode:U}}clearThemeRefreshTimeout(){if(this.themeRefreshTimeoutId===null)return;this.clock.clearTimeout(this.themeRefreshTimeoutId),this.themeRefreshTimeoutId=null}completeThemeQuery(){this.clearThemeRefreshTimeout(),this.themeQueryPending=!1}requestThemeOscColors(){if(this.themeRefreshTimeoutId!==null)return;this.themeQueryPending=!0,this.themeOscForeground=null,this.themeOscBackground=null,this.host.queryThemeColors(),this.clearThemeRefreshTimeout(),this.themeRefreshTimeoutId=this.clock.setTimeout(()=>{this.completeThemeQuery()},_9.QUERY_TIMEOUT_MS)}applyThemeMode($){let J=this._themeMode!==$;if(this._themeMode=$,!J)return null;for(let Z of this.waiters){if(Z.timeoutHandle!==null)this.clock.clearTimeout(Z.timeoutHandle);Z.resolve($)}return this.waiters.clear(),$}}Y0({name:"OTUI_DUMP_CAPTURES",description:"Dump captured stdout and console caches when the renderer exit handler runs.",type:"boolean",default:!1});Y0({name:"OTUI_NO_NATIVE_RENDER",description:"Skip the Zig/native frame renderer. Useful for debugging the render loop; split-footer stdout flushing may still write ANSI.",type:"boolean",default:!1});Y0({name:"OTUI_USE_ALTERNATE_SCREEN",description:"When explicitly set, force screen mode selection: true=alternate-screen, false=main-screen.",type:"boolean",default:!0});Y0({name:"OTUI_OVERRIDE_STDOUT",description:"When explicitly set, force stdout routing: false=passthrough, true=capture in split-footer mode.",type:"boolean",default:!0});Y0({name:"OTUI_DEBUG",description:"Enable debug mode to capture all raw input for debugging purposes.",type:"boolean",default:!1});Y0({name:"OTUI_SHOW_STATS",description:"Show the debug overlay at startup.",type:"boolean",default:!1});var D9=12,Zj=4,Qj=l.fromValues(0,0,0,0),Uj=0;function aQ($){if($===void 0)return D9;if(!Number.isFinite($))throw Error("footerHeight must be a finite number");let J=Math.trunc($);if(J<=0)throw Error("footerHeight must be greater than 0");return J}function sQ($){let J=$.screenMode??"alternate-screen";if(process.env.OTUI_USE_ALTERNATE_SCREEN!==void 0)J=K0.OTUI_USE_ALTERNATE_SCREEN?"alternate-screen":"main-screen";let Z=J==="split-footer"?aQ($.footerHeight):D9,Q=$.externalOutputMode??(J==="split-footer"?"capture-stdout":"passthrough");if(process.env.OTUI_OVERRIDE_STDOUT!==void 0)Q=K0.OTUI_OVERRIDE_STDOUT&&J==="split-footer"?"capture-stdout":"passthrough";if(Q==="capture-stdout"&&J!=="split-footer")throw Error('externalOutputMode "capture-stdout" requires screenMode "split-footer"');return{screenMode:J,footerHeight:Z,externalOutputMode:Q}}class lQ{commits=[];get size(){return this.commits.length}writeSnapshot($){this.commits.push($)}peek(){return this.commits}claim($=Number.POSITIVE_INFINITY){if(this.commits.length===0)return[];let J=Number.isFinite($)?Math.max(1,Math.trunc($)):this.commits.length;if(J>=this.commits.length){let Q=this.commits;return this.commits=[],Q}let Z=this.commits.slice(0,J);return this.commits=this.commits.slice(J),Z}clear(){for(let $ of this.commits)$.snapshot.destroy();this.commits=[]}}var Gj=3221225472,jj=3221225472;class _7 extends dQ{width;height;frameId=0;widthMethod;capabilities=null;hasSelection=!1;currentFocusedRenderable=null;keyInput;_internalKeyInput;lifecyclePasses=new Set;constructor($,J,Z){super();this.width=$,this.height=J,this.widthMethod=Z,this.keyInput=new L$,this._internalKeyInput=new I$}addToHitGrid($,J,Z,Q,U){}pushHitGridScissorRect($,J,Z,Q){}popHitGridScissorRect(){}clearHitGridScissorRects(){}requestRender(){}setCursorPosition($,J,Z){}setCursorStyle($){}setCursorColor($){}setMousePointer($){}requestLive(){}dropLive(){}getSelection(){return null}get currentFocusedEditor(){if(!this.currentFocusedRenderable)return null;if(!S6(this.currentFocusedRenderable))return null;return this.currentFocusedRenderable}requestSelectionUpdate(){}focusRenderable($){this.currentFocusedRenderable=$}blurRenderable($){if(this.currentFocusedRenderable===$)this.currentFocusedRenderable=null}registerLifecyclePass($){this.lifecyclePasses.add($)}unregisterLifecyclePass($){this.lifecyclePasses.delete($)}getLifecyclePasses(){return this.lifecyclePasses}clearSelection(){}startSelection($,J,Z){}updateSelection($,J,Z,Q){}}var qj=["TMUX","TERM","OPENTUI_GRAPHICS","TERM_PROGRAM","TERM_PROGRAM_VERSION","TERM_FEATURES","ALACRITTY_SOCKET","ALACRITTY_LOG","COLORTERM","TERMUX_VERSION","VHS_RECORD","OPENTUI_FORCE_WCWIDTH","OPENTUI_FORCE_UNICODE","OPENTUI_FORCE_NOZWJ","OPENTUI_FORCE_EXPLICIT_WIDTH","WT_SESSION","STY","WSL_DISTRO_NAME","WSL_INTEROP"],rQ=1,Kj=2,iQ=4,_j=8,Dj=16,Yj=67108864,mJ=16;function c7($){if(!$)return 0;let J=0;if($.disambiguate!==!1)J|=rQ;if($.alternateKeys!==!1)J|=iQ;if($.events===!0)J|=Kj;if($.allKeysAsEscapes===!0)J|=_j;if($.reportText===!0)J|=Dj;return J}class N0{type;button;x;y;source;modifiers;scroll;target;isDragging;_propagationStopped=!1;_defaultPrevented=!1;get propagationStopped(){return this._propagationStopped}get defaultPrevented(){return this._defaultPrevented}constructor($,J){this.target=$,this.type=J.type,this.button=J.button,this.x=J.x,this.y=J.y,this.modifiers=J.modifiers,this.scroll=J.scroll,this.source=J.source,this.isDragging=J.isDragging}stopPropagation(){this._propagationStopped=!0}preventDefault(){this._defaultPrevented=!0}}var u7;(($)=>{$[$.LEFT=0]="LEFT",$[$.MIDDLE=1]="MIDDLE",$[$.RIGHT=2]="RIGHT",$[$.WHEEL_UP=4]="WHEEL_UP",$[$.WHEEL_DOWN=5]="WHEEL_DOWN"})(u7||={});var $Q=Z$("RendererTracker",()=>{let $=new Set;return{addRenderer:(J)=>{$.add(J)},removeRenderer:(J)=>{if($.delete(J),$.size===0){if(process.stdin.pause(),X1("tree-sitter-client"))W6().destroy(),H1("tree-sitter-client")}}}});async function Y9($={}){if(process.argv.includes("--delay-start"))await new Promise((O)=>setTimeout(O,5000));let J=$.stdin||process.stdin,Z=$.stdout||process.stdout,{screenMode:Q,footerHeight:U}=sQ($),G=Z.columns||80,j=Z.rows||24,q=p$(Q,G,j,U),K=E0(),_=K.createRenderer(q.renderWidth,q.renderHeight,{remote:$.remote??!1,testing:$.testing??!1});if(!_)throw Error("Failed to create renderer");if($.useThread===void 0)$.useThread=!0;if(process.platform==="linux")$.useThread=!1;K.setUseThread(_,$.useThread);let D=$.useKittyKeyboard??{},z=c7(D);K.setKittyKeyboardFlags(_,z);let H=new y$(K,_,J,Z,G,j,$);if(!$.testing)await H.setupTerminal();return H}var d7;(($)=>{$.RESIZE="resize",$.FOCUS="focus",$.BLUR="blur",$.FOCUSED_RENDERABLE="focused_renderable",$.FOCUSED_EDITOR="focused_editor",$.THEME_MODE="theme_mode",$.PALETTE="palette",$.CAPABILITIES="capabilities",$.SELECTION="selection",$.DEBUG_OVERLAY_TOGGLE="debugOverlay:toggle",$.DESTROY="destroy",$.MEMORY_SNAPSHOT="memory:snapshot"})(d7||={});var a7;(($)=>{$.IDLE="idle",$.AUTO_STARTED="auto_started",$.EXPLICIT_STARTED="explicit_started",$.EXPLICIT_PAUSED="explicit_paused",$.EXPLICIT_SUSPENDED="explicit_suspended",$.EXPLICIT_STOPPED="explicit_stopped"})(a7||={});class y$ extends dQ{static animationFrameId=0;lib;rendererPtr;stdin;stdout;exitOnCtrlC;exitSignals;_exitListenersAdded=!1;_isDestroyed=!1;_destroyPending=!1;_destroyFinalized=!1;_destroyCleanupPrepared=!1;nextRenderBuffer;currentRenderBuffer;_isRunning=!1;_targetFps=30;_maxFps=60;automaticMemorySnapshot=!1;memorySnapshotInterval;memorySnapshotTimer=null;lastMemorySnapshot={heapUsed:0,heapTotal:0,arrayBuffers:0};root;width;height;_useThread=!1;gatherStats=!1;frameTimes=[];maxStatSamples=300;postProcessFns=[];backgroundColor=l.fromInts(0,0,0,0);waitingForPixelResolution=!1;clock;rendering=!1;renderingNative=!1;renderTimeout=null;lastTime=0;frameCount=0;_frameId=0;lastFpsTime=0;currentFps=0;targetFrameTime=1000/this._targetFps;minTargetFrameTime=1000/this._maxFps;immediateRerenderRequested=!1;updateScheduled=!1;liveRequestCounter=0;_controlState="idle";frameCallbacks=[];renderStats={frameCount:0,fps:0,renderTime:0,frameCallbackTime:0};debugOverlay={enabled:K0.OTUI_SHOW_STATS,corner:3};_console;_resolution=null;_keyHandler;stdinParser=null;oscSubscribers=new Set;hasLoggedStdinParserError=!1;animationRequest=new Map;resizeTimeoutId=null;capabilityTimeoutId=null;xtVersionWaiters=new Set;splitStartupSeedTimeoutId=null;pendingSplitStartupCursorSeed=!1;resizeDebounceDelay=100;enableMouseMovement=!1;_useMouse=!0;autoFocus=!0;_screenMode="alternate-screen";_footerHeight=D9;_externalOutputMode="passthrough";clearOnShutdown=!0;_suspendedMouseEnabled=!1;_previousControlState="idle";pendingSuspendedTerminalSetup=!1;suspendedNonAltSurfacePreserved=!1;capturedRenderable;lastOverRenderableNum=0;lastOverRenderable;currentSelection=null;selectionContainers=[];clipboard;_splitHeight=0;renderOffset=0;splitTailColumn=0;pendingSplitFooterTransition=null;forceFullRepaintRequested=!1;maxSplitCommitsPerFrame=8;_terminalWidth=0;_terminalHeight=0;_terminalIsSetup=!1;externalOutputQueue=new lQ;pendingExternalOutputMode=null;realStdoutWrite;_useConsole=!0;sigwinchHandler=(()=>{let $=this.stdout.columns||80,J=this.stdout.rows||24;this.handleResize($,J)}).bind(this);_capabilities=null;_latestPointer={x:0,y:0};_hasPointer=!1;_lastPointerModifiers={shift:!1,alt:!1,ctrl:!1};_currentMousePointerStyle=void 0;_currentFocusedRenderable=null;lifecyclePasses=new Set;_openConsoleOnError=!0;_paletteDetector=null;_paletteCache=new Map;_paletteDetectionPromise=null;_paletteDetectionSize=0;_paletteEpoch=0;_nativePaletteSignature=null;_emittedPaletteSignature=null;_palettePublishGeneration=0;_onDestroy;themeModeState;_terminalFocusState=null;sequenceHandlers=[];prependedInputHandlers=[];shouldRestoreModesOnNextFocus=!1;themeModeHandler;idleResolvers=[];_debugInputs=[];_debugModeEnabled=K0.OTUI_DEBUG;handleError=(($)=>{if(console.error($),this._openConsoleOnError)this.console.show()}).bind(this);dumpOutputCache($=""){let J=this.console.getCachedLogs(),Z=B$.claimOutput(),Q=this.externalOutputQueue.claim(),U="";for(let G of Q)U+=`[snapshot ${G.snapshot.width}x${G.snapshot.height}]
92
+ `,G.snapshot.destroy();if(Z.length>0||U.length>0||J.length>0)this.realStdoutWrite.call(this.stdout,$);if(J.length>0)this.realStdoutWrite.call(this.stdout,`Console cache:
93
+ `),this.realStdoutWrite.call(this.stdout,J);if(Z.length>0)this.realStdoutWrite.call(this.stdout,`
94
+ Captured console output:
95
+ `),this.realStdoutWrite.call(this.stdout,Z+`
96
+ `);if(U.length>0)this.realStdoutWrite.call(this.stdout,`
97
+ Captured external output:
98
+ `),this.realStdoutWrite.call(this.stdout,U+`
99
+ `);this.realStdoutWrite.call(this.stdout,H8.reset)}exitHandler=(()=>{if(this.destroy(),K0.OTUI_DUMP_CAPTURES)GU(100).then(()=>{this.dumpOutputCache(`=== CAPTURED OUTPUT ===
100
+ `)})}).bind(this);warningHandler=(($)=>{console.warn(JSON.stringify($.message,null,2))}).bind(this);get controlState(){return this._controlState}constructor($,J,Z,Q,U,G,j={}){super();$Q.addRenderer(this),this.stdin=Z,this.stdout=Q,this.realStdoutWrite=Q.write,this.lib=$,this._terminalWidth=Q.columns??U,this._terminalHeight=Q.rows??G,this._useThread=j.useThread===void 0?!1:j.useThread;let{screenMode:q,footerHeight:K,externalOutputMode:_}=sQ(j);this._externalOutputMode=_;let D=p$(q,this._terminalWidth,this._terminalHeight,K);this.width=D.renderWidth,this.height=D.renderHeight,this._splitHeight=D.effectiveFooterHeight,this.renderOffset=q==="split-footer"?0:D.renderOffset,this._footerHeight=K,this.rendererPtr=J,this.clearOnShutdown=j.clearOnShutdown??!0,this.lib.setClearOnShutdown(this.rendererPtr,this.clearOnShutdown);let z=j.forwardEnvKeys??(j.remote?[]:[...qj]);for(let N of z){let W=process.env[N];if(W===void 0)continue;this.lib.setTerminalEnvVar(this.rendererPtr,N,W)}if(this.exitOnCtrlC=j.exitOnCtrlC===void 0?!0:j.exitOnCtrlC,this.exitSignals=j.exitSignals||["SIGINT","SIGTERM","SIGQUIT","SIGABRT","SIGHUP","SIGBREAK","SIGPIPE","SIGBUS"],this.clipboard=new uQ(this.lib,this.rendererPtr),this.resizeDebounceDelay=j.debounceDelay||100,this.targetFps=j.targetFps||30,this.maxFps=j.maxFps||60,this.clock=j.clock??new m8,this.themeModeState=new _9({queryThemeColors:()=>{this.lib.queryThemeColors(this.rendererPtr)}},this.clock),this.themeModeHandler=(N)=>{let W=this.themeModeState.handleSequence(N);if(W.changedMode){if(this.clearPaletteCache(),this.shouldSyncNativePaletteState()||this.listenerCount("palette")>0)this.refreshPalette();this.emit("theme_mode",W.changedMode)}return W.handled},this.memorySnapshotInterval=j.memorySnapshotInterval??0,this.gatherStats=j.gatherStats||!1,this.maxStatSamples=j.maxStatSamples||300,this.enableMouseMovement=j.enableMouseMovement??!0,this._useMouse=j.useMouse??!0,this.autoFocus=j.autoFocus??!0,this.nextRenderBuffer=this.lib.getNextBuffer(this.rendererPtr),this.currentRenderBuffer=this.lib.getCurrentBuffer(this.rendererPtr),this.postProcessFns=j.postProcessFns||[],this.prependedInputHandlers=j.prependInputHandlers||[],this.root=new x8(this),this.memorySnapshotInterval>0)this.startMemorySnapshotTimer();process.on("SIGWINCH",this.sigwinchHandler),process.on("warning",this.warningHandler),process.on("uncaughtException",this.handleError),process.on("unhandledRejection",this.handleError),process.on("beforeExit",this.exitHandler);let O=(j.useKittyKeyboard??{})!==null;this._keyHandler=new I$,this._keyHandler.on("keypress",(N)=>{if(this.exitOnCtrlC&&dG(N,{name:"c",ctrl:!0})){process.nextTick(()=>{this.destroy()});return}}),this.addExitListeners();let X=j.stdinParserMaxBufferBytes??Yj;if(this.stdinParser=new Y6({timeoutMs:20,maxPendingBytes:X,armTimeouts:!0,onTimeoutFlush:()=>{this.drainStdinParser()},useKittyKeyboard:O,protocolContext:{kittyKeyboardEnabled:O,privateCapabilityRepliesActive:!1,pixelResolutionQueryActive:!1,explicitWidthCprActive:!1,startupCursorCprActive:!1},clock:this.clock}),this._console=new C6(this,{...j.consoleOptions??{},clock:this.clock}),this.consoleMode=j.consoleMode??"console-overlay",this.applyScreenMode(q,!1,!1),this.stdout.write=_==="capture-stdout"?this.interceptStdoutWrite:this.realStdoutWrite,this._openConsoleOnError=j.openConsoleOnError??!0,this._onDestroy=j.onDestroy,global.requestAnimationFrame=(N)=>{let W=y$.animationFrameId++;return this.animationRequest.set(W,N),this.requestLive(),W},global.cancelAnimationFrame=(N)=>{this.animationRequest.delete(N)},!global.window)global.window={};if(global.window.requestAnimationFrame=requestAnimationFrame,K0.OTUI_NO_NATIVE_RENDER)this.renderNative=()=>{if(this._splitHeight>0)this.flushStdoutCache(this._splitHeight)};this.setupInput()}addExitListeners(){if(this._exitListenersAdded||this.exitSignals.length===0)return;this.exitSignals.forEach(($)=>{process.addListener($,this.exitHandler)}),this._exitListenersAdded=!0}removeExitListeners(){if(!this._exitListenersAdded||this.exitSignals.length===0)return;this.exitSignals.forEach(($)=>{process.removeListener($,this.exitHandler)}),this._exitListenersAdded=!1}get isDestroyed(){return this._isDestroyed}registerLifecyclePass($){this.lifecyclePasses.add($)}unregisterLifecyclePass($){this.lifecyclePasses.delete($)}getLifecyclePasses(){return this.lifecyclePasses}get currentFocusedRenderable(){return this._currentFocusedRenderable}get currentFocusedEditor(){if(!this._currentFocusedRenderable)return null;if(!S6(this._currentFocusedRenderable))return null;return this._currentFocusedRenderable}normalizeClockTime($,J){if(Number.isFinite($))return $;return Number.isFinite(J)?J:0}getElapsedMs($,J){if(!Number.isFinite($)||!Number.isFinite(J))return 0;return Math.max($-J,0)}focusRenderable($){if(this._currentFocusedRenderable===$)return;let J=this._currentFocusedRenderable,Z=this.currentFocusedEditor;this._currentFocusedRenderable=$,J?.blur();let Q=this.currentFocusedEditor;if(Z!==Q)this.emit("focused_editor",Q,Z);this.emit("focused_renderable",$,J)}blurRenderable($){if(this._currentFocusedRenderable!==$)return;let J=this.currentFocusedEditor;if(this._currentFocusedRenderable=null,J!==null)this.emit("focused_editor",null,J);this.emit("focused_renderable",null,$)}setCapturedRenderable($){if(this.capturedRenderable===$)return;this.capturedRenderable=$}addToHitGrid($,J,Z,Q,U){if(U!==this.capturedRenderable?.num)this.lib.addToHitGrid(this.rendererPtr,$,J,Z,Q,U)}pushHitGridScissorRect($,J,Z,Q){this.lib.hitGridPushScissorRect(this.rendererPtr,$,J,Z,Q)}popHitGridScissorRect(){this.lib.hitGridPopScissorRect(this.rendererPtr)}clearHitGridScissorRects(){this.lib.hitGridClearScissorRects(this.rendererPtr)}get widthMethod(){return this.capabilities?.unicode==="wcwidth"?"wcwidth":"unicode"}get frameId(){return this._frameId}writeOut($,J,Z){if(this.rendererPtr&&this._useThread){let Q=typeof $==="string"?$:$?.toString()??"";if(this.lib.writeOut(this.rendererPtr,Q),typeof Z==="function")process.nextTick(Z);return!0}return this.realStdoutWrite.call(this.stdout,$,J,Z)}requestRender(){if(this._controlState==="explicit_suspended")return;if(this._isRunning)return;if(this.rendering){this.immediateRerenderRequested=!0;return}if(!this.updateScheduled&&!this.renderTimeout){this.updateScheduled=!0;let $=this.normalizeClockTime(this.clock.now(),this.lastTime),J=this.getElapsedMs($,this.lastTime),Z=Math.max(this.minTargetFrameTime-J,0);if(Z===0){process.nextTick(()=>this.activateFrame());return}this.clock.setTimeout(()=>this.activateFrame(),Z)}}async activateFrame(){if(!this.updateScheduled){this.resolveIdleIfNeeded();return}try{await this.loop()}finally{this.updateScheduled=!1,this.resolveIdleIfNeeded()}}get consoleMode(){return this._useConsole?"console-overlay":"disabled"}set consoleMode($){if(this._useConsole=$==="console-overlay",this._useConsole)this.console.activate();else this.console.deactivate()}get isRunning(){return this._isRunning}isIdleNow(){return!this._isRunning&&!this.rendering&&!this.renderTimeout&&!this.updateScheduled&&!this.immediateRerenderRequested}resolveIdleIfNeeded(){if(!this.isIdleNow())return;let $=this.idleResolvers.splice(0);for(let J of $)J()}idle(){if(this._isDestroyed)return Promise.resolve();if(this.isIdleNow())return Promise.resolve();return new Promise(($)=>{this.idleResolvers.push($)})}get resolution(){return this._resolution}get console(){return this._console}get keyInput(){return this._keyHandler}get _internalKeyInput(){return this._keyHandler}get terminalWidth(){return this._terminalWidth}get terminalHeight(){return this._terminalHeight}get useThread(){return this._useThread}get targetFps(){return this._targetFps}set targetFps($){this._targetFps=$,this.targetFrameTime=1000/this._targetFps}get maxFps(){return this._maxFps}set maxFps($){this._maxFps=$,this.minTargetFrameTime=1000/this._maxFps}get useMouse(){return this._useMouse}set useMouse($){if(this._useMouse===$)return;if(this._useMouse=$,$)this.enableMouse();else this.disableMouse()}get screenMode(){return this._screenMode}set screenMode($){if(this.externalOutputMode==="capture-stdout"&&$!=="split-footer"){if(this.pendingExternalOutputMode==="passthrough")this.flushPendingSplitOutputBeforeLeavingSplitFooter();if(this.externalOutputMode!=="capture-stdout"){this.applyScreenMode($);return}throw Error('externalOutputMode "capture-stdout" requires screenMode "split-footer"')}this.applyScreenMode($)}get footerHeight(){return this._footerHeight}set footerHeight($){let J=aQ($);if(J===this._footerHeight)return;if(this._footerHeight=J,this.screenMode==="split-footer")this.applyScreenMode("split-footer")}get externalOutputMode(){return this._externalOutputMode}set externalOutputMode($){if($==="capture-stdout"&&this.screenMode!=="split-footer")throw Error('externalOutputMode "capture-stdout" requires screenMode "split-footer"');let J=this._externalOutputMode;if(J===$){if(this.pendingExternalOutputMode!==null&&this.pendingExternalOutputMode!==$)this.pendingExternalOutputMode=null;return}let Z=this.canFlushSplitOutputBeforeTransition(),Q=J==="capture-stdout"&&$==="passthrough"&&this._screenMode==="split-footer"&&this._splitHeight>0;if(Q&&this.externalOutputQueue.size>0&&!Z){this.pendingExternalOutputMode="passthrough";return}if(Q&&Z)this.flushPendingSplitOutputBeforeTransition();this.pendingExternalOutputMode=null,this.applyExternalOutputMode($),this.afterExternalOutputModeChanged(J,$)}applyExternalOutputMode($){this._externalOutputMode=$,this.stdout.write=$==="capture-stdout"?this.interceptStdoutWrite:this.realStdoutWrite}afterExternalOutputModeChanged($,J){if(this._screenMode==="split-footer"&&this._splitHeight>0&&J==="capture-stdout"){let Z=this.renderOffset+1,Q=this._splitHeight;if(this.clearPendingSplitFooterTransition(),this.resetSplitScrollback(this.getSplitCursorSeedRows()),$==="passthrough"&&this._terminalIsSetup){let U=this.renderOffset+1;if(Z!==U)this.setPendingSplitFooterTransition({mode:"clear-stale-rows",sourceTopLine:Z,sourceHeight:Q,targetTopLine:U,targetHeight:this._splitHeight,scrollLines:0}),this.forceFullRepaintRequested=!0}this.requestRender();return}if(this._screenMode==="split-footer"&&this._splitHeight>0&&$==="capture-stdout"&&J==="passthrough"){this.clearPendingSplitFooterTransition();return}this.syncSplitFooterState()}applyPendingExternalOutputModeIfReady(){let $=this.pendingExternalOutputMode;if($===null||this.externalOutputQueue.size>0)return;let J=this._externalOutputMode;if(this.pendingExternalOutputMode=null,J===$)return;this.applyExternalOutputMode($),this.afterExternalOutputModeChanged(J,$)}flushPendingSplitOutputBeforeLeavingSplitFooter(){if(this.pendingExternalOutputMode!=="passthrough")return;if(this.isSplitCursorSeedFrameBlocked()&&this._controlState!=="explicit_suspended")this.abortSplitStartupCursorSeed();if(this.flushPendingSplitOutputBeforeTransition(),this.pendingExternalOutputMode!==null)throw Error("Cannot leave split-footer while captured output is pending")}get liveRequestCount(){return this.liveRequestCounter}get currentControlState(){return this._controlState}get capabilities(){return this._capabilities}triggerNotification($,J){if(this._isDestroyed)return!1;return this.lib.triggerNotification(this.rendererPtr,$,J)}get themeMode(){return this.themeModeState.themeMode}waitForThemeMode($=1000){if(!Number.isFinite($)||$<0)throw Error("timeoutMs must be a non-negative finite number");return this.themeModeState.waitForThemeMode($,this._isDestroyed)}getDebugInputs(){return[...this._debugInputs]}get useKittyKeyboard(){return this.lib.getKittyKeyboardFlags(this.rendererPtr)>0}set useKittyKeyboard($){let J=$?rQ|iQ:0;this.lib.setKittyKeyboardFlags(this.rendererPtr,J)}createScrollbackSurface($={}){if(this._screenMode!=="split-footer"||this._externalOutputMode!=="capture-stdout")throw Error('createScrollbackSurface requires screenMode "split-footer" and externalOutputMode "capture-stdout"');let J=this,Z=Uj++,Q=$.startOnNewLine??!0,U=J.getPendingSplitTailColumn(),G=!Q&&U>0&&U<J.width?U:0,j=new _7(J.width,1,J.widthMethod),q=null,K=Object.create(j);Object.defineProperty(K,"claimFirstLineOffset",{value:(h)=>{if(q?.isDestroyed)q=null;if(q)return 0;return q=h??null,G},enumerable:!0,configurable:!0});let _=new x8(K),D=new y0(K,{id:`scrollback-surface-root-${Z}`,position:"absolute",left:0,top:0,width:J.width,height:"auto",border:!1,backgroundColor:"transparent",shouldFill:!1,flexDirection:"column"});_.add(D);let z=J.width,H=1,O=J.widthMethod,X=!1,P=!1,N=Q,W=I0.create(z,H,O,{id:`scrollback-surface-buffer-${Z}`}),F=()=>{d()},B=()=>{if(X)throw Error("ScrollbackSurface is destroyed")},I=()=>{if(!P)throw Error("ScrollbackSurface.commitRows requires render() before commitRows()")},w=()=>{if(J.width!==z||J.widthMethod!==O)throw Error("ScrollbackSurface.commitRows requires render() after renderer geometry changes")},x=(h,a)=>{if(!Number.isInteger(h)||!Number.isInteger(a))throw Error("ScrollbackSurface.commitRows requires finite integer row bounds");if(h<0)throw Error("ScrollbackSurface.commitRows requires startRow >= 0");if(a<h)throw Error("ScrollbackSurface.commitRows requires endRowExclusive >= startRow");if(a>H)throw Error("ScrollbackSurface.commitRows row range exceeds rendered surface height")},C=(h)=>{let a=[];if(h instanceof X0&&h.isHighlighting)a.push(h);for(let i of h.getChildren())a.push(...C(i));return a},T=async(h,a)=>{await new Promise((i,u)=>{let s=!1,o=J.clock.setTimeout(()=>{if(s)return;s=!0,u(Error("ScrollbackSurface.settle timed out waiting for CodeRenderable highlighting"))},a);Promise.all(h.map((g0)=>g0.highlightingDone)).then(()=>{if(s)return;s=!0,J.clock.clearTimeout(o),i()},(g0)=>{if(s)return;s=!0,J.clock.clearTimeout(o),u(g0)})})},y=()=>{B();let{width:h,widthMethod:a}=J;j.width=h,j.widthMethod=a,D.width=h;let i=(s)=>{j.height=s,_.resize(h,s),W.resize(h,s),W.clear(Qj),j.frameId+=1,_.render(W,0)},u=Math.max(1,H);if(O!==a)W.destroy(),W=I0.create(h,u,a,{id:`scrollback-surface-buffer-${Z}`});else W.resize(h,u);for(let s=0;s<Zj;s+=1){i(u);let o=Math.max(1,D.height);if(o===u){z=h,H=o,O=a,P=!0;return}u=o}i(u),z=h,H=u,O=a,P=!0},f=async(h=2000)=>{B();let a=J.clock.now();y();while(!0){B();let i=C(D);if(i.length===0)return;let u=h-(J.clock.now()-a);if(u<=0)throw Error("ScrollbackSurface.settle timed out waiting for CodeRenderable highlighting");await T(i,u),B(),y()}},m=(h,a,i={})=>{if(B(),I(),w(),x(h,a),h===a)return;let u=a-h,s=I0.create(z,u,O,{id:`scrollback-surface-commit-${Z}`});try{s.drawFrameBuffer(0,0,W,0,h,z,u),J.enqueueRenderedScrollbackCommit({snapshot:s,rowColumns:i.rowColumns,startOnNewLine:N,trailingNewline:i.trailingNewline??!0}),N=!1}catch(o){throw s.destroy(),o}},d=()=>{if(X)return;X=!0,J.off("destroy",F);let h=null;try{_.destroyRecursively()}catch(a){h=a}try{W.destroy()}catch(a){if(h===null)h=a}if(K.removeAllListeners(),j.removeAllListeners(),h!==null)throw h};return J.on("destroy",F),{get renderContext(){return K},get root(){return D},get width(){return z},get height(){return H},get isDestroyed(){return X},render:y,settle:f,commitRows:m,destroy:d}}writeToScrollback($){if(this._screenMode!=="split-footer"||this._externalOutputMode!=="capture-stdout")throw Error('writeToScrollback requires screenMode "split-footer" and externalOutputMode "capture-stdout"');let J=new _7(this.width,this.height,this.widthMethod),Z=$({width:this.width,widthMethod:this.widthMethod,tailColumn:this.getPendingSplitTailColumn(),renderContext:J});if(!Z||!Z.root)throw Error("writeToScrollback must return a snapshot root renderable");let Q=!1,U=null,G=null;try{let j=Z.root,q=this.getSnapshotWidth(Z.width,j.width),K=this.getSnapshotHeight(Z.height,j.height);J.width=q,J.height=K,J.widthMethod=this.widthMethod,U=new x8(J),G=I0.create(q,K,this.widthMethod,{id:"scrollback-snapshot-commit"}),U.add(j),U.render(G,0),this.enqueueRenderedScrollbackCommit({snapshot:G,rowColumns:Z.rowColumns,startOnNewLine:Z.startOnNewLine,trailingNewline:Z.trailingNewline})}catch(j){throw Q=!0,G?.destroy(),j}finally{let j=null;try{if(U)U.destroyRecursively();else Z.root.destroyRecursively()}catch(q){j=q}try{Z.teardown?.()}catch(q){if(j===null)j=q}if(!Q&&j)throw j}}getSnapshotWidth($,J){let Z=$??J;if(!Number.isFinite(Z))throw Error("writeToScrollback produced a non-finite width");return Math.min(Math.max(Math.trunc(Z),1),Math.max(this.width,1))}getSnapshotHeight($,J){let Z=$??J;if(!Number.isFinite(Z))throw Error("writeToScrollback produced a non-finite height");return Math.max(Math.trunc(Z),1)}getSnapshotRowWidths($,J){let Z=[],Q=Math.min(Math.max(Math.trunc(J),0),$.width),U=$.buffers.char;for(let G=0;G<$.height;G+=1){let j=Q;while(j>0){let q=U[G*$.width+j-1];if(q===0||(q&jj)===Gj){j-=1;continue}break}Z.push(j)}return Z}advanceSplitTailColumn($,J,Z){if(J<=0)return $;let Q=$,U=J;while(U>0){if(Q>=Z)Q=0;let G=Math.min(U,Z-Q);if(Q+=G,U-=G,U>0&&Q>=Z)Q=0}return Q}getSplitTailColumnAfterCommit($,J,Z){let Q=J;if($.startOnNewLine&&Q>0)Q=0;let U=this.getSnapshotRowWidths($.snapshot,$.rowColumns);for(let[G,j]of U.entries())if(Q=this.advanceSplitTailColumn(Q,j,Z),G<U.length-1||$.trailingNewline)Q=0;return Q}recordSplitCommit($){this.splitTailColumn=this.getSplitTailColumnAfterCommit($,this.splitTailColumn,Math.max(this.width,1))}getPendingSplitTailColumn(){let $=Math.max(this.width,1),J=this.splitTailColumn;for(let Z of this.externalOutputQueue.peek())J=this.getSplitTailColumnAfterCommit(Z,J,$);return J}enqueueRenderedScrollbackCommit($){if(this._screenMode!=="split-footer"||this._externalOutputMode!=="capture-stdout")throw Error('scrollback commit requires screenMode "split-footer" and externalOutputMode "capture-stdout"');let J=Math.min(Math.max(Math.trunc($.rowColumns??$.snapshot.width),0),$.snapshot.width);this.enqueueSplitCommit({snapshot:$.snapshot,rowColumns:J,startOnNewLine:$.startOnNewLine??!0,trailingNewline:$.trailingNewline??!0}),this.requestRender()}enqueueSplitCommit($){this.externalOutputQueue.writeSnapshot($)}createStdoutSnapshotCommit($,J){let Z=new _7(this.width,1,this.widthMethod),Q=Math.max(1,this.width),U=[...$],G=Math.min(U.length,Q),j=U.slice(0,Q).join(""),q=new x8(Z),K=new G$(Z,{id:"captured-stdout-snapshot",position:"absolute",left:0,top:0,width:Math.max(1,G),height:1,content:j}),_=I0.create(Math.max(1,G),1,this.widthMethod,{id:"captured-stdout-snapshot"});try{return q.add(K),q.render(_,0),{snapshot:_,rowColumns:G,startOnNewLine:!1,trailingNewline:J}}catch(D){throw _.destroy(),D}finally{q.destroyRecursively()}}splitStdoutRows($){let J=[],Z="";for(let Q of $){if(Q==="\r"){Z="";continue}if(Q===`
101
+ `){J.push({line:Z,trailingNewline:!0}),Z="";continue}Z+=Q}if(Z.length>0)J.push({line:Z,trailingNewline:!1});return J}createStdoutSnapshotCommits($){if($.length===0)return[];let J=[],Z=Math.max(1,this.width);for(let Q of this.splitStdoutRows($)){let U=[...Q.line];if(U.length===0){J.push(this.createStdoutSnapshotCommit("",Q.trailingNewline));continue}let G=0;while(G<U.length){let j=U.slice(G,G+Z).join("");G+=Z;let q=G>=U.length;J.push(this.createStdoutSnapshotCommit(j,q?Q.trailingNewline:!1))}}return J}flushPendingSplitCommits($=!1,J=!1){let Z=this.externalOutputQueue.claim(J?Number.POSITIVE_INFINITY:this.maxSplitCommitsPerFrame),Q=!1,U=Z.length-1;for(let[G,j]of Z.entries()){let q=$&&G===U,K=G===0,_=G===U;try{this.renderOffset=this.lib.commitSplitFooterSnapshot(this.rendererPtr,j.snapshot,j.rowColumns,j.startOnNewLine,j.trailingNewline,this.getSplitPinnedRenderOffset(),q,K,_),this.recordSplitCommit(j),Q=!0}finally{j.snapshot.destroy()}}if(!Q)this.renderOffset=this.lib.repaintSplitFooter(this.rendererPtr,this.getSplitPinnedRenderOffset(),$);if(this.pendingSplitFooterTransition=null,this.externalOutputQueue.size>0)this.requestRender();else this.applyPendingExternalOutputModeIfReady()}interceptStdoutWrite=($,J,Z)=>{let Q=typeof J==="function"?J:Z,U=typeof J==="string"?J:void 0,G=typeof $==="string"?$:$?.toString(U)??"";if(this._externalOutputMode==="capture-stdout"&&this._screenMode==="split-footer"&&this._splitHeight>0){let j=this.createStdoutSnapshotCommits(G);for(let q of j)this.enqueueSplitCommit(q);if(j.length>0)this.requestRender()}if(typeof Q==="function")process.nextTick(Q);return!0};getSplitPinnedRenderOffset(){return this._screenMode==="split-footer"?Math.max(this._terminalHeight-this._splitHeight,0):0}getSplitCursorSeedRows(){let $=this.lib.getCursorState(this.rendererPtr),J=Number.isFinite($.y)?Math.max(Math.trunc($.y),1):1;return Math.min(J,Math.max(this._terminalHeight,1))}isSplitCursorSeedFrameBlocked(){return this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout"&&this._splitHeight>0&&this.pendingSplitStartupCursorSeed&&this.splitStartupSeedTimeoutId!==null}canFlushSplitOutputBeforeTransition($=!1){return this._terminalIsSetup&&($||this._controlState!=="explicit_suspended")&&!this.isSplitCursorSeedFrameBlocked()}clearSplitStartupCursorSeed(){if(this.pendingSplitStartupCursorSeed=!1,this.splitStartupSeedTimeoutId!==null)this.clock.clearTimeout(this.splitStartupSeedTimeoutId),this.splitStartupSeedTimeoutId=null}abortSplitStartupCursorSeed(){this.clearSplitStartupCursorSeed(),this.stdinParser?.abortPendingStartupCursorCpr(),this.updateStdinParserProtocolContext({startupCursorCprActive:!1})}flushPendingSplitOutputBeforeTransition($=!1,J={}){let Z=this.externalOutputQueue.size>0||this.pendingExternalOutputMode!==null;if(this._screenMode!=="split-footer"||this._splitHeight<=0||this._externalOutputMode!=="capture-stdout"&&!(J.allowPassthrough&&Z))return;if(!this.canFlushSplitOutputBeforeTransition(J.allowSuspended??!1))return;if(this.externalOutputQueue.size===0&&!$){this.applyPendingExternalOutputModeIfReady();return}this.flushPendingSplitCommits(this._externalOutputMode==="capture-stdout"?$:!1,!0)}resetSplitScrollback($=0){this.splitTailColumn=0,this.renderOffset=this.lib.resetSplitScrollback(this.rendererPtr,$,this.getSplitPinnedRenderOffset())}syncSplitScrollback(){this.renderOffset=this.lib.syncSplitScrollback(this.rendererPtr,this.getSplitPinnedRenderOffset())}getSplitOutputOffset($=this.renderOffset){return this.lib.getSplitOutputOffset(this.rendererPtr,$)}clearPendingSplitFooterTransition(){if(this.pendingSplitFooterTransition===null)return;this.pendingSplitFooterTransition=null,this.lib.clearPendingSplitFooterTransition(this.rendererPtr)}setPendingSplitFooterTransition($){this.pendingSplitFooterTransition=$,this.lib.setPendingSplitFooterTransition(this.rendererPtr,$.mode==="viewport-scroll"?1:2,$.sourceTopLine,$.sourceHeight,$.targetTopLine,$.targetHeight,$.scrollLines??0)}syncSplitFooterState(){if(!(this._screenMode==="split-footer"&&this._splitHeight>0)){this.clearPendingSplitFooterTransition(),this.splitTailColumn=0,this.lib.resetSplitScrollback(this.rendererPtr,0,0),this.renderOffset=0,this.lib.setRenderOffset(this.rendererPtr,this.renderOffset);return}if(this._externalOutputMode==="capture-stdout")this.syncSplitScrollback();else this.clearPendingSplitFooterTransition(),this.splitTailColumn=0,this.lib.resetSplitScrollback(this.rendererPtr,0,0),this.renderOffset=this.getSplitPinnedRenderOffset(),this.lib.setRenderOffset(this.rendererPtr,this.renderOffset)}clearStaleSplitSurfaceRows($,J,Z,Q){if(!this._terminalIsSetup||J<=0||this._terminalHeight<=0)return;let U=this._terminalHeight,G=Math.max(1,$),j=Math.min(U,$+J-1);if(j<G)return;let q=Math.max(1,Z),K=Math.min(U,Z+Math.max(Q,0)-1),_="";for(let D=G;D<=j;D+=1){if(D>=q&&D<=K)continue;_+=`${H8.moveCursor(D,1)}\x1B[2K`}if(_.length>0)this.writeOut(_)}applyScreenMode($,J=!0,Z=!0){let Q=this._screenMode,U=this._splitHeight,G=p$($,this._terminalWidth,this._terminalHeight,this._footerHeight),j=G.effectiveFooterHeight;if(Q===$&&U===j)return;let q=this._terminalIsSetup&&this._controlState!=="explicit_suspended",K=Q==="alternate-screen",_=$==="alternate-screen",D=this._terminalIsSetup&&K!==_,z=U>0&&j===0;if(q&&U>0)this.flushPendingSplitOutputBeforeTransition();let H=this.renderOffset+1,O=this._terminalIsSetup&&Q==="split-footer"&&$==="split-footer"&&this._externalOutputMode==="capture-stdout"&&U>0&&j>0&&!D,X=this.pendingSplitStartupCursorSeed&&this.splitStartupSeedTimeoutId!==null,P=this.pendingSplitFooterTransition?.sourceTopLine??H,N=this.pendingSplitFooterTransition?.sourceHeight??U,W=Math.max(P-1,0),F=Q==="split-footer"&&U>0&&this._externalOutputMode==="capture-stdout"?this.getSplitOutputOffset(W):W,B=G.renderOffset,I=$==="split-footer"&&j>0&&this._externalOutputMode==="capture-stdout"?this.getSplitOutputOffset(B):B,w=this.pendingSplitFooterTransition,x=w!==null&&j===N,C=x&&w.mode==="viewport-scroll"&&(w.scrollLines??0)>0,T=j>0&&j<N,y=j>N&&N>0,f=$!=="split-footer"||j===0?0:C?w.targetTopLine-1:x?W:T&&W>0?W:T?I:y?Math.max(I,Math.min(W,B)):B,m=f+1,d=C?w.scrollLines??0:j>0&&!x?Math.max(F-I,0):0,h=(!T||C)&&d>0?"viewport-scroll":"clear-stale-rows",i=f>W||T,u=q&&!D&&!O&&i&&j>0;if(q&&z)this.clearPendingSplitFooterTransition(),this.renderOffset=0,this.lib.setRenderOffset(this.rendererPtr,0);if(q&&!D&&!O){if(U===0&&j>0){let s=this._terminalHeight-j,o=H8.scrollDown(s);this.writeOut(o)}else if(d>0){let s=d,o=H8.scrollUp(s);this.writeOut(o)}}if(this._screenMode=$,this._splitHeight=j,this.width=G.renderWidth,this.height=G.renderHeight,this.lib.resizeRenderer(this.rendererPtr,this.width,this.height),this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout"){if(Q!=="split-footer")this.resetSplitScrollback(this.getSplitCursorSeedRows());else this.renderOffset=f,this.lib.setRenderOffset(this.rendererPtr,this.renderOffset);if(O){if(X)this.clearPendingSplitFooterTransition();else this.setPendingSplitFooterTransition({mode:h,sourceTopLine:P,sourceHeight:N,targetTopLine:m,targetHeight:j,scrollLines:d});this.forceFullRepaintRequested=!0}else if(u)this.clearPendingSplitFooterTransition(),this.clearStaleSplitSurfaceRows(P,N,m,j);else this.clearPendingSplitFooterTransition()}else if(this.syncSplitFooterState(),u)this.clearStaleSplitSurfaceRows(P,N,this.renderOffset+1,j);if(this.nextRenderBuffer=this.lib.getNextBuffer(this.rendererPtr),this.currentRenderBuffer=this.lib.getCurrentBuffer(this.rendererPtr),this._console.resize(this.width,this.height),this.root.resize(this.width,this.height),D){if(q)this.lib.suspendRenderer(this.rendererPtr),this.lib.setupTerminal(this.rendererPtr,_),this.pendingSuspendedTerminalSetup=!1;else this.pendingSuspendedTerminalSetup=!0;if(q&&this._useMouse)this.enableMouse()}if(J)this.emit("resize",this.width,this.height);if(Z)this.requestRender()}flushStdoutCache($,J=!1){if(this.externalOutputQueue.size===0&&!J)return!1;let Z=this.externalOutputQueue.claim(),Q="";for(let _ of Z)Q+=`[snapshot ${_.snapshot.width}x${_.snapshot.height}]
102
+ `,_.snapshot.destroy();let U=this.renderOffset+1,G=H8.moveCursorAndClear(U,1),j=this.renderOffset+1,q=H8.moveCursor(j,1),K="";if($>0){let _=this.backgroundColor.toInts(),D=" ".repeat(this.width)+`
103
+ `.repeat($);if(_[3]===0)K=D;else K=H8.setRgbBackground(_[0],_[1],_[2])+D+H8.resetBackground}return this.writeOut(G+q+Q+K),!0}enableMouse(){this._useMouse=!0,this.lib.enableMouse(this.rendererPtr,this.enableMouseMovement)}disableMouse(){this._useMouse=!1,this.setCapturedRenderable(void 0),this.stdinParser?.resetMouseState(),this.lib.disableMouse(this.rendererPtr)}enableKittyKeyboard($=3){this.lib.enableKittyKeyboard(this.rendererPtr,$),this.updateStdinParserProtocolContext({kittyKeyboardEnabled:!0})}disableKittyKeyboard(){this.lib.disableKittyKeyboard(this.rendererPtr),this.updateStdinParserProtocolContext({kittyKeyboardEnabled:!1},!0)}set useThread($){this._useThread=$,this.lib.setUseThread(this.rendererPtr,$)}async setupTerminal(){if(this._terminalIsSetup)return;this._terminalIsSetup=!0;let $=this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout";if(this.updateStdinParserProtocolContext({privateCapabilityRepliesActive:!0,explicitWidthCprActive:!0,startupCursorCprActive:$}),this.lib.setupTerminal(this.rendererPtr,this._screenMode==="alternate-screen"),this._capabilities=this.lib.getTerminalCapabilities(this.rendererPtr),this.debugOverlay.enabled){if(this.lib.setDebugOverlay(this.rendererPtr,!0,this.debugOverlay.corner),!this.memorySnapshotInterval)this.memorySnapshotInterval=3000,this.startMemorySnapshotTimer(),this.automaticMemorySnapshot=!0}if(this.capabilityTimeoutId=this.clock.setTimeout(()=>{if(this.capabilityTimeoutId=null,this.clearSplitStartupCursorSeed(),this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout")this.requestRender();this.removeInputHandler(this.capabilityHandler),this.updateStdinParserProtocolContext({privateCapabilityRepliesActive:!1,explicitWidthCprActive:!1,startupCursorCprActive:!1},!0),this.resolveXtVersionWaiters()},5000),this._useMouse)this.enableMouse();if(this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout"){if(this.pendingSplitStartupCursorSeed=!0,this.splitStartupSeedTimeoutId!==null)this.clock.clearTimeout(this.splitStartupSeedTimeoutId);this.splitStartupSeedTimeoutId=this.clock.setTimeout(()=>{if(this.splitStartupSeedTimeoutId=null,!this.pendingSplitStartupCursorSeed)return;if(this.updateStdinParserProtocolContext({startupCursorCprActive:!1}),this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout")this.requestRender();this.flushPendingSplitOutputBeforeTransition(!1,{allowPassthrough:!0})},120)}if(this.queryPixelResolution(),this.shouldSyncNativePaletteState())this.refreshPalette()}stdinListener=(($)=>{let J=Buffer.isBuffer($)?$:Buffer.from($);if(!this.stdinParser)return;try{this.stdinParser.push(J),this.drainStdinParser()}catch(Z){this.handleStdinParserFailure(Z)}}).bind(this);addInputHandler($){this.sequenceHandlers.push($)}prependInputHandler($){this.sequenceHandlers.unshift($)}removeInputHandler($){this.sequenceHandlers=this.sequenceHandlers.filter((J)=>J!==$)}updateStdinParserProtocolContext($,J=!1){if(!this.stdinParser)return;if(this.stdinParser.updateProtocolContext($),J)this.drainStdinParser()}subscribeOsc($){return this.oscSubscribers.add($),()=>{this.oscSubscribers.delete($)}}processCapabilitySequence($,J){let Z=nG($);if(!(Z||J&&this.capabilityTimeoutId!==null))return!1;if(this.lib.processCapabilityResponse(this.rendererPtr,$),this._capabilities=this.lib.getTerminalCapabilities(this.rendererPtr),this._capabilities?.terminal?.from_xtversion)this.resolveXtVersionWaiters();if(Z)this.forceFullRepaintRequested=!0,this.requestRender();this.emit("capabilities",this._capabilities);let U=this.pendingSplitStartupCursorSeed;if(U&&J&&this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout"){if(this.resetSplitScrollback(this.getSplitCursorSeedRows()),this.clearPendingSplitFooterTransition(),this.clearSplitStartupCursorSeed(),this.updateStdinParserProtocolContext({startupCursorCprActive:!1}),this.requestRender(),this.pendingExternalOutputMode==="passthrough")this.flushPendingSplitOutputBeforeTransition()}let G=U&&J&&this.splitStartupSeedTimeoutId!==null;return Z||G}capabilityHandler=(($)=>{return this.processCapabilitySequence($,!1)}).bind(this);focusHandler=(($)=>{if($==="\x1B[I"){if(this.shouldRestoreModesOnNextFocus)this.lib.restoreTerminalModes(this.rendererPtr),this.shouldRestoreModesOnNextFocus=!1;if(this._terminalFocusState!==!0)this._terminalFocusState=!0,this.emit("focus");return!0}if($==="\x1B[O"){if(this.shouldRestoreModesOnNextFocus=!0,this._terminalFocusState!==!1)this._terminalFocusState=!1,this.emit("blur");return!0}return!1}).bind(this);dispatchSequenceHandlers($){if(this._debugModeEnabled)this._debugInputs.push({timestamp:new Date().toISOString(),sequence:$});for(let J of this.sequenceHandlers)if(J($))return!0;return!1}drainStdinParser(){if(!this.stdinParser)return;this.stdinParser.drain(($)=>{this.handleStdinEvent($)})}handleStdinEvent($){switch($.type){case"key":if(this.dispatchSequenceHandlers($.raw))return;this._keyHandler.processParsedKey($.key);return;case"mouse":if(this._useMouse&&this.processSingleMouseEvent($.event))return;this.dispatchSequenceHandlers($.raw);return;case"paste":this._keyHandler.processPaste($.bytes,$.metadata);return;case"response":if($.protocol==="osc")for(let J of this.oscSubscribers)J($.sequence);if($.protocol==="cpr"&&this.processCapabilitySequence($.sequence,!0))return;this.dispatchSequenceHandlers($.sequence);return}}handleStdinParserFailure($){if(!this.hasLoggedStdinParserError)this.hasLoggedStdinParserError=!0,console.error("[stdin-parser-error] parser failure, resetting parser",$);try{this.stdinParser?.reset()}catch(J){console.error("stdin parser reset failed after parser error",J)}}setupInput(){for(let $ of this.prependedInputHandlers)this.addInputHandler($);if(this.addInputHandler(($)=>{if(tG($)&&this.waitingForPixelResolution){let J=eG($);if(J)this._resolution=J;return this.waitingForPixelResolution=!1,this.updateStdinParserProtocolContext({pixelResolutionQueryActive:!1},!0),!0}return!1}),this.addInputHandler(this.capabilityHandler),this.addInputHandler(this.focusHandler),this.addInputHandler(this.themeModeHandler),this.stdin.setRawMode)this.stdin.setRawMode(!0);this.stdin.on("data",this.stdinListener),this.stdin.resume()}dispatchMouseEvent($,J){let Z=new N0($,J);if($.processMouseEvent(Z),this.autoFocus&&Z.type==="down"&&Z.button===0&&!Z.defaultPrevented){let Q=$;while(Q){if(Q.focusable){Q.focus();break}Q=Q.parent}}return Z}processSingleMouseEvent($){if(this._splitHeight>0){if($.y<this.renderOffset)return!1;$.y-=this.renderOffset}if(this._latestPointer.x=$.x,this._latestPointer.y=$.y,this._hasPointer=!0,this._lastPointerModifiers=$.modifiers,this._console.visible){let G=this._console.bounds;if($.x>=G.x&&$.x<G.x+G.width&&$.y>=G.y&&$.y<G.y+G.height){let j=new N0(null,$);if(this._console.handleMouse(j))return!0}}if($.type==="scroll"){let G=this.hitTest($.x,$.y),j=Q0.renderablesByNumber.get(G),q=this._currentFocusedRenderable&&!this._currentFocusedRenderable.isDestroyed&&this._currentFocusedRenderable.focused?this._currentFocusedRenderable:null,K=j??q;if(K){let _=new N0(K,$);K.processMouseEvent(_)}return!0}let J=this.hitTest($.x,$.y),Z=J===this.lastOverRenderableNum;this.lastOverRenderableNum=J;let Q=Q0.renderablesByNumber.get(J);if($.type==="down"&&$.button===0&&!this.currentSelection?.isDragging&&!$.modifiers.ctrl){if(Boolean(Q&&Q.selectable&&!Q.isDestroyed&&Q.shouldStartSelection($.x,$.y))&&Q)return this.startSelection(Q,$.x,$.y),this.dispatchMouseEvent(Q,$),!0}if($.type==="drag"&&this.currentSelection?.isDragging){if(this.updateSelection(Q,$.x,$.y),Q){let G=new N0(Q,{...$,isDragging:!0});Q.processMouseEvent(G)}return!0}if($.type==="up"&&this.currentSelection?.isDragging){if(Q){let G=new N0(Q,{...$,isDragging:!0});Q.processMouseEvent(G)}return this.finishSelection(),!0}if($.type==="down"&&$.button===0&&this.currentSelection){if($.modifiers.ctrl)return this.currentSelection.isDragging=!0,this.updateSelection(Q,$.x,$.y),!0}if(!Z&&($.type==="drag"||$.type==="move")){if(this.lastOverRenderable&&this.lastOverRenderable!==this.capturedRenderable&&!this.lastOverRenderable.isDestroyed){let G=new N0(this.lastOverRenderable,{...$,type:"out"});this.lastOverRenderable.processMouseEvent(G)}if(this.lastOverRenderable=Q,Q){let G=new N0(Q,{...$,type:"over",source:this.capturedRenderable});Q.processMouseEvent(G)}}if(this.capturedRenderable&&$.type!=="up"){let G=new N0(this.capturedRenderable,$);return this.capturedRenderable.processMouseEvent(G),!0}if(this.capturedRenderable&&$.type==="up"){let G=new N0(this.capturedRenderable,{...$,type:"drag-end"});if(this.capturedRenderable.processMouseEvent(G),this.capturedRenderable.processMouseEvent(new N0(this.capturedRenderable,$)),Q){let j=new N0(Q,{...$,type:"drop",source:this.capturedRenderable});Q.processMouseEvent(j)}this.lastOverRenderable=this.capturedRenderable,this.lastOverRenderableNum=this.capturedRenderable.num,this.setCapturedRenderable(void 0),this.requestRender()}let U;if(Q){if($.type==="drag"&&$.button===0)this.setCapturedRenderable(Q);else this.setCapturedRenderable(void 0);U=this.dispatchMouseEvent(Q,$)}else this.setCapturedRenderable(void 0),this.lastOverRenderable=void 0;if(!U?.defaultPrevented&&$.type==="down"&&this.currentSelection)this.clearSelection();return!0}recheckHoverState(){if(this._isDestroyed||!this._hasPointer)return;if(this.capturedRenderable)return;let $=this.hitTest(this._latestPointer.x,this._latestPointer.y),J=Q0.renderablesByNumber.get($),Z=this.lastOverRenderable;if(Z?.num===$){this.lastOverRenderableNum=$;return}let Q={type:"move",button:0,x:this._latestPointer.x,y:this._latestPointer.y,modifiers:this._lastPointerModifiers};if(Z&&!Z.isDestroyed){let U=new N0(Z,{...Q,type:"out"});Z.processMouseEvent(U)}if(this.lastOverRenderable=J,this.lastOverRenderableNum=$,J){let U=new N0(J,{...Q,type:"over"});J.processMouseEvent(U)}}setMousePointer($){this._currentMousePointerStyle=$,this.lib.setCursorStyleOptions(this.rendererPtr,{cursor:$})}hitTest($,J){return this.lib.checkHit(this.rendererPtr,$,J)}takeMemorySnapshot(){if(this._isDestroyed)return;let $=process.memoryUsage();this.lastMemorySnapshot={heapUsed:$.heapUsed,heapTotal:$.heapTotal,arrayBuffers:$.arrayBuffers},this.lib.updateMemoryStats(this.rendererPtr,this.lastMemorySnapshot.heapUsed,this.lastMemorySnapshot.heapTotal,this.lastMemorySnapshot.arrayBuffers),this.emit("memory:snapshot",this.lastMemorySnapshot)}startMemorySnapshotTimer(){this.stopMemorySnapshotTimer(),this.memorySnapshotTimer=this.clock.setInterval(()=>{this.takeMemorySnapshot()},this.memorySnapshotInterval)}stopMemorySnapshotTimer(){if(this.memorySnapshotTimer)this.clock.clearInterval(this.memorySnapshotTimer),this.memorySnapshotTimer=null}setMemorySnapshotInterval($){if(this.memorySnapshotInterval=$,this._isRunning&&$>0)this.startMemorySnapshotTimer();else if($<=0&&this.memorySnapshotTimer)this.clock.clearInterval(this.memorySnapshotTimer),this.memorySnapshotTimer=null}handleResize($,J){if(this._isDestroyed)return;if(this._splitHeight>0){this.processResize($,J);return}if(this.resizeTimeoutId!==null)this.clock.clearTimeout(this.resizeTimeoutId),this.resizeTimeoutId=null;this.resizeTimeoutId=this.clock.setTimeout(()=>{this.resizeTimeoutId=null,this.processResize($,J)},this.resizeDebounceDelay)}queryPixelResolution(){this.waitingForPixelResolution=!0,this.updateStdinParserProtocolContext({pixelResolutionQueryActive:!0}),this.lib.queryPixelResolution(this.rendererPtr)}processResize($,J){if($===this._terminalWidth&&J===this._terminalHeight)return;if(this._terminalIsSetup&&this._controlState!=="explicit_suspended"&&!this.isSplitCursorSeedFrameBlocked())this.flushPendingSplitOutputBeforeTransition();let Z=this.pendingSplitFooterTransition,Q=p$(this._screenMode,this._terminalWidth,this._terminalHeight,this._footerHeight),U=this._terminalWidth,G=this._terminalHeight,j=Z?.sourceHeight??Q.effectiveFooterHeight;this._terminalWidth=$,this._terminalHeight=J,this.queryPixelResolution(),this.setCapturedRenderable(void 0),this.stdinParser?.resetMouseState();let q=p$(this._screenMode,this._terminalWidth,this._terminalHeight,this._footerHeight);if(this._screenMode==="split-footer"){let _=null;if($<U&&j>0)_=Math.max(G-j*2,1);if(Z!==null)_=_===null?Z.sourceTopLine:Math.min(_,Z.sourceTopLine);if(_!==null){let D=H8.moveCursorAndClear(_,1);this.writeOut(D)}this.currentRenderBuffer.clear(this.backgroundColor)}if(this.clearPendingSplitFooterTransition(),this._splitHeight=q.effectiveFooterHeight,this.width=q.renderWidth,this.height=q.renderHeight,this.lib.resizeRenderer(this.rendererPtr,this.width,this.height),this._screenMode==="split-footer"&&this._externalOutputMode==="capture-stdout")this.syncSplitScrollback();else this.syncSplitFooterState();this.nextRenderBuffer=this.lib.getNextBuffer(this.rendererPtr),this.currentRenderBuffer=this.lib.getCurrentBuffer(this.rendererPtr),this._console.resize(this.width,this.height),this.root.resize(this.width,this.height),this.emit("resize",this.width,this.height),this.requestRender()}setBackgroundColor($){let J=E($);this.lib.setBackgroundColor(this.rendererPtr,J),this.backgroundColor=J,this.nextRenderBuffer.clear(J),this.requestRender()}toggleDebugOverlay(){let $=!this.debugOverlay.enabled;if($&&!this.memorySnapshotInterval)this.memorySnapshotInterval=3000,this.startMemorySnapshotTimer(),this.automaticMemorySnapshot=!0;else if(!$&&this.automaticMemorySnapshot)this.stopMemorySnapshotTimer(),this.memorySnapshotInterval=0,this.automaticMemorySnapshot=!1;this.debugOverlay.enabled=!this.debugOverlay.enabled,this.lib.setDebugOverlay(this.rendererPtr,this.debugOverlay.enabled,this.debugOverlay.corner),this.emit("debugOverlay:toggle",this.debugOverlay.enabled),this.requestRender()}configureDebugOverlay($){this.debugOverlay.enabled=$.enabled??this.debugOverlay.enabled,this.debugOverlay.corner=$.corner??this.debugOverlay.corner,this.lib.setDebugOverlay(this.rendererPtr,this.debugOverlay.enabled,this.debugOverlay.corner),this.requestRender()}setTerminalTitle($){this.lib.setTerminalTitle(this.rendererPtr,$)}resetTerminalBgColor(){process.stdout.write("\x1B]111\x07")}copyToClipboardOSC52($,J){return this.clipboard.copyToClipboardOSC52($,J)}clearClipboardOSC52($){return this.clipboard.clearClipboardOSC52($)}isOsc52Supported(){return this._capabilities?.osc52??this.clipboard.isOsc52Supported()}dumpHitGrid(){this.lib.dumpHitGrid(this.rendererPtr)}dumpBuffers($){this.lib.dumpBuffers(this.rendererPtr,$)}dumpStdoutBuffer($){this.lib.dumpStdoutBuffer(this.rendererPtr,$)}static setCursorPosition($,J,Z,Q=!0){E0().setCursorPosition($.rendererPtr,J,Z,Q)}static setCursorStyle($,J){if(E0().setCursorStyleOptions($.rendererPtr,J),J.cursor!==void 0)$._currentMousePointerStyle=J.cursor}static setCursorColor($,J){E0().setCursorColor($.rendererPtr,J)}setCursorPosition($,J,Z=!0){this.lib.setCursorPosition(this.rendererPtr,$,J,Z)}setCursorStyle($){if(this.lib.setCursorStyleOptions(this.rendererPtr,$),$.cursor!==void 0)this._currentMousePointerStyle=$.cursor}setCursorColor($){this.lib.setCursorColor(this.rendererPtr,$)}getCursorState(){return this.lib.getCursorState(this.rendererPtr)}addPostProcessFn($){this.postProcessFns.push($)}removePostProcessFn($){this.postProcessFns=this.postProcessFns.filter((J)=>J!==$)}clearPostProcessFns(){this.postProcessFns=[]}setFrameCallback($){this.frameCallbacks.push($)}removeFrameCallback($){this.frameCallbacks=this.frameCallbacks.filter((J)=>J!==$)}clearFrameCallbacks(){this.frameCallbacks=[]}requestLive(){if(this.liveRequestCounter++,this._controlState==="idle"&&this.liveRequestCounter>0)this._controlState="auto_started",this.internalStart()}dropLive(){if(this.liveRequestCounter=Math.max(0,this.liveRequestCounter-1),this._controlState==="auto_started"&&this.liveRequestCounter===0)this._controlState="idle",this.internalPause()}start(){this._controlState="explicit_started",this.internalStart()}auto(){this._controlState=this._isRunning?"auto_started":"idle"}internalStart(){if(!this._isRunning&&!this._isDestroyed){if(this._isRunning=!0,this.updateScheduled=!1,this.memorySnapshotInterval>0)this.startMemorySnapshotTimer();this.startRenderLoop()}}pause(){this._controlState="explicit_paused",this.internalPause()}suspend(){if(this._previousControlState=this._controlState,this._controlState="explicit_suspended",this.internalPause(),this._terminalIsSetup)this.clearSplitStartupCursorSeed(),this.flushPendingSplitOutputBeforeTransition(!0,{allowSuspended:!0}),this.suspendedNonAltSurfacePreserved=this._screenMode!=="alternate-screen"&&this.renderOffset>0;else this.suspendedNonAltSurfacePreserved=!1;if(this._suspendedMouseEnabled=this._useMouse,this.disableMouse(),this.removeExitListeners(),this.waitingForPixelResolution=!1,this.updateStdinParserProtocolContext({privateCapabilityRepliesActive:!1,pixelResolutionQueryActive:!1,explicitWidthCprActive:!1,startupCursorCprActive:!1}),this.stdinParser?.reset(),this.stdin.removeListener("data",this.stdinListener),this.themeModeState.cancelRefresh(),this.lib.suspendRenderer(this.rendererPtr),this.stdin.setRawMode)this.stdin.setRawMode(!1);this.stdin.pause()}resume(){if(this.stdin.setRawMode)this.stdin.setRawMode(!0);while(this.stdin.read()!==null);this.stdin.on("data",this.stdinListener),this.stdin.resume(),this.addExitListeners();let $=this.pendingSuspendedTerminalSetup&&this._screenMode!=="alternate-screen"&&this.suspendedNonAltSurfacePreserved&&this.renderOffset>0;if(this.pendingSuspendedTerminalSetup)if(this.pendingSuspendedTerminalSetup=!1,$)this.lib.resumeRenderer(this.rendererPtr);else this.lib.setupTerminal(this.rendererPtr,this._screenMode==="alternate-screen");else this.lib.resumeRenderer(this.rendererPtr);if(this.suspendedNonAltSurfacePreserved=!1,this.flushPendingSplitOutputBeforeTransition(!1,{allowSuspended:!0,allowPassthrough:!0}),this._screenMode==="split-footer"&&this._splitHeight>0)this.syncSplitFooterState();if(this._suspendedMouseEnabled)this.enableMouse();if(this.forceFullRepaintRequested=!0,this._controlState=this._previousControlState,this._previousControlState==="auto_started"||this._previousControlState==="explicit_started")this.internalStart();else this.requestRender()}internalPause(){if(this._isRunning=!1,this.renderTimeout)this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null;if(!this.rendering)this.resolveIdleIfNeeded()}stop(){this._controlState="explicit_stopped",this.internalStop()}internalStop(){if(this.isRunning&&!this._isDestroyed){if(this._isRunning=!1,this.memorySnapshotTimer)this.clock.clearInterval(this.memorySnapshotTimer),this.memorySnapshotTimer=null;if(this.renderTimeout)this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null;if(!this.rendering)this.resolveIdleIfNeeded()}}destroy(){if(this._isDestroyed)return;if(this._isDestroyed=!0,this._destroyPending=!0,this._palettePublishGeneration++,this.rendering){this.prepareDestroyDuringRender();return}this.finalizeDestroy()}cleanupBeforeDestroy(){if(this._destroyCleanupPrepared)return;if(this._destroyCleanupPrepared=!0,process.removeListener("SIGWINCH",this.sigwinchHandler),process.removeListener("uncaughtException",this.handleError),process.removeListener("unhandledRejection",this.handleError),process.removeListener("warning",this.warningHandler),process.removeListener("beforeExit",this.exitHandler),this.removeExitListeners(),this.resizeTimeoutId!==null)this.clock.clearTimeout(this.resizeTimeoutId),this.resizeTimeoutId=null;if(this.capabilityTimeoutId!==null)this.clock.clearTimeout(this.capabilityTimeoutId),this.capabilityTimeoutId=null;if(this.clearSplitStartupCursorSeed(),this.memorySnapshotTimer)this.clock.clearInterval(this.memorySnapshotTimer),this.memorySnapshotTimer=null;if(this.renderTimeout)this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null;if(this.themeModeState.cancelRefresh(),this._isRunning=!1,this.waitingForPixelResolution=!1,this.updateStdinParserProtocolContext({privateCapabilityRepliesActive:!1,pixelResolutionQueryActive:!1,explicitWidthCprActive:!1,startupCursorCprActive:!1},!0),this._useMouse=!1,this.setCapturedRenderable(void 0),this.stdin.removeListener("data",this.stdinListener),this.stdin.setRawMode)this.stdin.setRawMode(!1);if(this.externalOutputMode="passthrough",this._splitHeight>0)this.flushStdoutCache(this._splitHeight,!0)}prepareDestroyDuringRender(){this.cleanupBeforeDestroy(),this.lib.suspendRenderer(this.rendererPtr)}finalizeDestroy(){if(this._destroyFinalized)return;if(this._destroyFinalized=!0,this._destroyPending=!1,this.cleanupBeforeDestroy(),this._paletteDetector)this._paletteDetector.cleanup(),this._paletteDetector=null;this._paletteCache.clear(),this._paletteDetectionPromise=null,this._paletteDetectionSize=0,this._nativePaletteSignature=null,this._emittedPaletteSignature=null,this._paletteEpoch=0,this.resolveXtVersionWaiters(),this.themeModeState.dispose(),this.emit("destroy");try{this.root.destroyRecursively()}catch($){console.error("Error destroying root renderable:",$ instanceof Error?$.stack:String($))}if(this.stdinParser?.destroy(),this.stdinParser=null,this.oscSubscribers.clear(),this._console.destroy(),this._splitHeight>0&&this._terminalIsSetup&&this._controlState!=="explicit_suspended"){if(this.flushPendingSplitOutputBeforeTransition(!0),this.renderOffset=0,this.clearOnShutdown)this.lib.setRenderOffset(this.rendererPtr,0)}if(this._externalOutputMode="passthrough",this.pendingExternalOutputMode=null,this.stdout.write=this.realStdoutWrite,this.externalOutputQueue.clear(),this.lib.destroyRenderer(this.rendererPtr),$Q.removeRenderer(this),this._onDestroy)try{this._onDestroy()}catch($){console.error("Error in onDestroy callback:",$ instanceof Error?$.stack:String($))}this.resolveIdleIfNeeded()}startRenderLoop(){if(!this._isRunning)return;this.lastTime=this.normalizeClockTime(this.clock.now(),0),this.frameCount=0,this.lastFpsTime=this.lastTime,this.currentFps=0,this.loop()}async loop(){if(this.rendering||this._isDestroyed)return;if(this.renderTimeout=null,this.rendering=!0,this.renderTimeout)this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null;try{this._frameId++;let $=this.normalizeClockTime(this.clock.now(),this.lastTime),Z=this.getElapsedMs($,this.lastTime);if(this.lastTime=$,this.frameCount++,this.getElapsedMs($,this.lastFpsTime)>=1000)this.currentFps=this.frameCount,this.frameCount=0,this.lastFpsTime=$;this.renderStats.frameCount++,this.renderStats.fps=this.currentFps;let Q=performance.now(),U=Array.from(this.animationRequest.values());this.animationRequest.clear();let G=performance.now();for(let D of U)D(Z),this.dropLive();let q=performance.now()-G,K=performance.now();for(let D of this.frameCallbacks)try{await D(Z)}catch(z){console.error("Error in frame callback:",z)}let _=performance.now();this.renderStats.frameCallbackTime=_-K,this.root.render(this.nextRenderBuffer,Z);for(let D of this.postProcessFns)D(this.nextRenderBuffer,Z);if(this._console.renderToBuffer(this.nextRenderBuffer),!this._isDestroyed){if(this.renderNative(),this._useMouse&&this.lib.getHitGridDirty(this.rendererPtr))this.recheckHoverState();let D=performance.now()-Q;if(this.lib.updateStats(this.rendererPtr,D,this.renderStats.fps,this.renderStats.frameCallbackTime),this.gatherStats)this.collectStatSample(D);if(this._isRunning||this.immediateRerenderRequested){let z=this.immediateRerenderRequested?this.minTargetFrameTime:this.targetFrameTime,H=Math.max(1,z-Math.floor(D));this.immediateRerenderRequested=!1,this.renderTimeout=this.clock.setTimeout(()=>{this.renderTimeout=null,this.loop()},H)}else this.clock.clearTimeout(this.renderTimeout),this.renderTimeout=null}}finally{if(this.rendering=!1,this._destroyPending)this.finalizeDestroy();this.resolveIdleIfNeeded()}}intermediateRender(){this.immediateRerenderRequested=!0,this.loop()}renderNative(){if(this.renderingNative)throw console.error("Rendering called concurrently"),Error("Rendering called concurrently");if(this.renderingNative=!0,this.isSplitCursorSeedFrameBlocked()){this.renderingNative=!1;return}if(this._splitHeight>0&&this._externalOutputMode==="capture-stdout"){let $=this.forceFullRepaintRequested;this.forceFullRepaintRequested=!1,this.flushPendingSplitCommits($,this.pendingExternalOutputMode==="passthrough"),this.pendingSplitFooterTransition=null}else{let $=this.forceFullRepaintRequested;this.forceFullRepaintRequested=!1,this.pendingSplitFooterTransition=null,this.lib.render(this.rendererPtr,$)}this.renderingNative=!1}collectStatSample($){if(this.frameTimes.push($),this.frameTimes.length>this.maxStatSamples)this.frameTimes.shift()}getStats(){let $=[...this.frameTimes],J=$.reduce((G,j)=>G+j,0),Z=$.length?J/$.length:0,Q=$.length?Math.min(...$):0,U=$.length?Math.max(...$):0;return{fps:this.renderStats.fps,frameCount:this.renderStats.frameCount,frameTimes:$,averageFrameTime:Z,minFrameTime:Q,maxFrameTime:U}}resetStats(){this.frameTimes=[],this.renderStats.frameCount=0}setGatherStats($){if(this.gatherStats=$,!$)this.frameTimes=[]}getSelection(){return this.currentSelection}get hasSelection(){return!!this.currentSelection}getSelectionContainer(){return this.selectionContainers.length>0?this.selectionContainers[this.selectionContainers.length-1]:null}clearSelection(){if(this.currentSelection){for(let $ of this.currentSelection.touchedRenderables)if($.selectable&&!$.isDestroyed)$.onSelectionChanged(null);this.currentSelection=null}this.selectionContainers=[]}startSelection($,J,Z){if(!$.selectable)return;this.clearSelection(),this.selectionContainers.push($.parent||this.root),this.currentSelection=new _6($,{x:J,y:Z},{x:J,y:Z}),this.currentSelection.isStart=!0,this.notifySelectablesOfSelectionChange()}updateSelection($,J,Z,Q){if(this.currentSelection){if(this.currentSelection.isStart=!1,this.currentSelection.focus={x:J,y:Z},Q?.finishDragging)this.currentSelection.isDragging=!1;if(this.selectionContainers.length>0){let U=this.selectionContainers[this.selectionContainers.length-1];if(!$||!this.isWithinContainer($,U)){let G=U.parent||this.root;this.selectionContainers.push(G)}else if($&&this.selectionContainers.length>1){let G=this.selectionContainers.indexOf($);if(G===-1){let j=$.parent||this.root;G=this.selectionContainers.indexOf(j)}if(G!==-1&&G<this.selectionContainers.length-1)this.selectionContainers=this.selectionContainers.slice(0,G+1)}}this.notifySelectablesOfSelectionChange()}}requestSelectionUpdate(){if(this.currentSelection?.isDragging){let $=this._latestPointer,J=this.hitTest($.x,$.y),Z=Q0.renderablesByNumber.get(J);this.updateSelection(Z,$.x,$.y)}}isWithinContainer($,J){let Z=$;while(Z){if(Z===J)return!0;Z=Z.parent}return!1}finishSelection(){if(this.currentSelection)this.currentSelection.isDragging=!1,this.emit("selection",this.currentSelection),this.notifySelectablesOfSelectionChange()}notifySelectablesOfSelectionChange(){let $=[],J=[],Z=this.selectionContainers.length>0?this.selectionContainers[this.selectionContainers.length-1]:this.root;if(this.currentSelection){this.walkSelectableRenderables(Z,this.currentSelection.bounds,$,J);for(let Q of this.currentSelection.touchedRenderables)if(!J.includes(Q)&&!Q.isDestroyed)Q.onSelectionChanged(null);this.currentSelection.updateSelectedRenderables($),this.currentSelection.updateTouchedRenderables(J)}}walkSelectableRenderables($,J,Z,Q){let U=K9(J,$.getChildrenSortedByPrimaryAxis(),$.primaryAxis,0,0);for(let G of U){if(G.selectable){if(G.onSelectionChanged(this.currentSelection))Z.push(G);Q.push(G)}if(G.getChildrenCount()>0)this.walkSelectableRenderables(G,J,Z,Q)}}get paletteDetectionStatus(){if(this._paletteDetectionPromise)return"detecting";if(this._paletteCache.size>0)return"cached";return"idle"}getCachedPaletteBySize($){let J=this._paletteCache.get($);if(J)return J;let Z=[...this._paletteCache.keys()].sort((G,j)=>G-j).find((G)=>G>=$);if(Z===void 0)return null;let Q=this._paletteCache.get(Z);if(!Q)return null;let U={...Q,palette:Q.palette.slice(0,$)};return this._paletteCache.set($,U),U}ensurePaletteDetector(){if(!this._paletteDetector){let $=Boolean(this.capabilities?.in_tmux||this.capabilities?.terminal?.name?.toLowerCase()?.includes("tmux")),J=this.capabilities?.terminal?.name?.toLowerCase()?.includes("tmux")&&this.capabilities?.terminal?.version?.localeCompare("3.6")<0;this._paletteDetector=y7({stdin:this.stdin,stdout:this.stdout,writeFn:(Z)=>this._isDestroyed?!1:this.writeOut(Z),isLegacyTmux:J,isTmux:$,oscSource:{subscribeOsc:this.subscribeOsc.bind(this)},clock:this.clock})}return this._paletteDetector}syncNativePaletteState($){let J=e$($);if(this._nativePaletteSignature!==J)this._paletteEpoch=this._paletteEpoch+1>>>0;this._nativePaletteSignature=J;let Z=M6($);this.lib.rendererSetPaletteState(this.rendererPtr,Z.palette,Z.defaultForeground,Z.defaultBackground,this._paletteEpoch)}emitPaletteChange($){if(this.listenerCount("palette")===0)return;let J=e$($);if(this._emittedPaletteSignature===J)return;this._emittedPaletteSignature=J,this.emit("palette",$)}resolveXtVersionWaiters(){if(this.xtVersionWaiters.size===0)return;let $=[...this.xtVersionWaiters];this.xtVersionWaiters.clear();for(let J of $)J()}waitForXtVersion(){if(this.capabilityTimeoutId===null||this._capabilities?.terminal?.from_xtversion)return Promise.resolve();return new Promise(($)=>{this.xtVersionWaiters.add($)})}shouldSyncNativePaletteState(){return Boolean(this._terminalIsSetup&&!this._isDestroyed&&this._capabilities?.ansi256&&!this._capabilities?.rgb)}refreshPalette(){let $=this._palettePublishGeneration;this.getPalette({size:mJ}).then(()=>{if(this._isDestroyed)return;if(this._palettePublishGeneration===$)this.requestRender()}).catch(()=>{})}clearPaletteCache(){this._palettePublishGeneration++,this._paletteCache.clear()}async getPalette($){if(this._controlState==="explicit_suspended")throw Error("Cannot detect palette while renderer is suspended");let J=$?.size??16,Z=$?.timeout,Q=this.getCachedPaletteBySize(J);if(Q)return Q;let U=this._capabilities?.terminal,G=U?.name?.toLowerCase()==="tmux"&&Boolean(U.version);if(this._capabilities?.in_tmux&&!G){await this.waitForXtVersion();let D=this.getCachedPaletteBySize(J);if(D)return D}if(this._paletteDetectionPromise){if(this._paletteDetectionSize>=J)return this._paletteDetectionPromise.then((z)=>{let H=this.getCachedPaletteBySize(J);if(H)return H;let O={...z,palette:z.palette.slice(0,J)};return this._paletteCache.set(J,O),O});await this._paletteDetectionPromise;let D=this.getCachedPaletteBySize(J);if(D)return D}let j=this.ensurePaletteDetector(),q=this._palettePublishGeneration;this._paletteDetectionSize=J,this._paletteDetectionPromise=j.detect({...$,timeout:Z}).then((D)=>{if(this._paletteCache.set(D.palette.length,D),this._paletteDetectionPromise=null,this._paletteDetectionSize=0,!this._isDestroyed&&this._palettePublishGeneration===q){if(this.emitPaletteChange(D),this.shouldSyncNativePaletteState()&&D.palette.length>=mJ)this.syncNativePaletteState(D);else if(this.shouldSyncNativePaletteState()&&!this._paletteCache.has(mJ))this.refreshPalette()}return D}).catch((D)=>{throw this._paletteDetectionPromise=null,this._paletteDetectionSize=0,D});let K=await this._paletteDetectionPromise;return this.getCachedPaletteBySize(J)??K}}import{EventEmitter as Ej}from"events";import{readFile as Bj}from"fs/promises";var Vj={};rJ(Vj,{yellow:()=>qZ,wrapWithDelegates:()=>M$,white:()=>YZ,vstyles:()=>$2,visualizeRenderableTree:()=>QZ,updateAssets:()=>Z9,underline:()=>yZ,treeSitterToTextChunks:()=>V6,treeSitterToStyledText:()=>$9,terminalNamedSingleStrokeKeys:()=>mZ,t:()=>gZ,stripAnsiSequences:()=>E6,stringToStyledText:()=>f8,strikethrough:()=>RZ,setupAudio:()=>u4,setRenderLibPath:()=>G9,rgbToHex:()=>oJ,reverse:()=>kZ,resolveRenderLib:()=>E0,resolveCoreSlot:()=>p4,renderFontToFrameBuffer:()=>C$,registerEnvVar:()=>Y0,registerCorePlugin:()=>h4,red:()=>GZ,pathToFiletype:()=>S7,parseWrap:()=>t$,parseUnit:()=>rZ,parsePositionType:()=>n$,parseOverflow:()=>o$,parseMeasureMode:()=>lZ,parseLogLevel:()=>sZ,parseKeypress:()=>a$,parseJustify:()=>i$,parseGutter:()=>aZ,parseFlexDirection:()=>r$,parseEdge:()=>dZ,parseDisplay:()=>uZ,parseDirection:()=>cZ,parseDimension:()=>pZ,parseColor:()=>E,parseBoxSizing:()=>hZ,parseBorderStyle:()=>g8,parseAlignItems:()=>l$,parseAlign:()=>s$,normalizeTerminalPalette:()=>M6,normalizeIndexedColorIndex:()=>G6,normalizeColorValue:()=>d$,nonAlphanumericKeys:()=>E7,measureText:()=>b8,maybeMakeRenderable:()=>$6,magenta:()=>_Z,link:()=>fZ,italic:()=>TZ,isValidBorderStyle:()=>O7,isVNode:()=>b7,isTextNodeRenderable:()=>o8,isStyledText:()=>M7,isRenderable:()=>F8,isEditBufferRenderable:()=>S6,instantiate:()=>A$,infoStringToFiletype:()=>P6,hsvToRgb:()=>nJ,hexToRgb:()=>N$,hastToStyledText:()=>bZ,h:()=>d0,green:()=>jZ,getTreeSitterClient:()=>W6,getLinkId:()=>ZZ,getDataPaths:()=>I7,getCharacterPositions:()=>q6,getBorderSides:()=>P$,getBorderFromSides:()=>iJ,getBaseAttributes:()=>$Z,generateEnvMarkdown:()=>nZ,generateEnvColored:()=>tZ,fonts:()=>P7,fg:()=>A7,extensionToFiletype:()=>C7,extToFiletype:()=>O6,envRegistry:()=>Z8,env:()=>K0,engine:()=>T9,dim:()=>wZ,detectLinks:()=>R7,delegate:()=>q9,defaultTextareaKeyBindings:()=>v6,decodePasteBytes:()=>A6,cyan:()=>DZ,createTimeline:()=>b4,createTextAttributes:()=>h0,createTerminalPalette:()=>y7,createSlotRegistry:()=>y9,createExtmarksController:()=>T7,createCoreSlotRegistry:()=>m4,createCliRenderer:()=>Y9,coordinateToCharacterIndex:()=>W$,convertThemeToStyles:()=>m7,convertGlobalToLocalSelection:()=>J$,clearEnvCache:()=>oZ,capture:()=>B$,buildTerminalPaletteSignature:()=>e$,buildKittyKeyboardFlags:()=>c7,brightYellow:()=>XZ,brightWhite:()=>NZ,brightRed:()=>zZ,brightMagenta:()=>PZ,brightGreen:()=>HZ,brightCyan:()=>WZ,brightBlue:()=>OZ,brightBlack:()=>VZ,borderCharsToArray:()=>N8,bold:()=>SZ,blue:()=>KZ,blink:()=>vZ,black:()=>UZ,bgYellow:()=>EZ,bgWhite:()=>CZ,bgRed:()=>MZ,bgMagenta:()=>LZ,bgGreen:()=>AZ,bgCyan:()=>IZ,bgBlue:()=>BZ,bgBlack:()=>FZ,bg:()=>xZ,basenameToFiletype:()=>F$,attributesWithLink:()=>JZ,applyScanlines:()=>X4,applySaturation:()=>A4,applyNoise:()=>P4,applyInvert:()=>O4,applyGain:()=>M4,applyChromaticAberration:()=>W4,applyBrightness:()=>F4,applyAsciiArt:()=>N4,ansi256IndexToRgb:()=>j6,addDefaultParsers:()=>J9,Yoga:()=>H7,VignetteEffect:()=>o7,VRenderable:()=>e7,TreeSitterClient:()=>H6,Timeline:()=>n7,TimeToFirstDrawRenderable:()=>s9,TextareaRenderable:()=>q8,TextTableRenderable:()=>L8,TextRenderable:()=>G$,TextNodeRenderable:()=>M8,TextBufferView:()=>U$,TextBufferRenderable:()=>T$,TextBuffer:()=>Q$,TextAttributes:()=>G0,Text:()=>s4,TerminalPalette:()=>F6,TerminalConsole:()=>C6,TargetChannel:()=>F7,TabSelectRenderableEvents:()=>a9,TabSelectRenderable:()=>GJ,TabSelect:()=>o4,TRITANOPIA_SIM_MATRIX:()=>I4,TRITANOPIA_COMP_MATRIX:()=>y4,TECHNICOLOR_MATRIX:()=>R4,SystemClock:()=>m8,SyntaxStyle:()=>Q8,StyledText:()=>u0,StdinParser:()=>Y6,SlotRenderable:()=>R9,SlotRegistry:()=>t7,SliderRenderable:()=>QJ,Selection:()=>_6,SelectRenderableEvents:()=>d9,SelectRenderable:()=>UJ,Select:()=>i4,ScrollBoxRenderable:()=>d6,ScrollBox:()=>e4,ScrollBarRenderable:()=>g6,SYNTHWAVE_MATRIX:()=>k4,SOLARIZATION_MATRIX:()=>w4,SEPIA_MATRIX:()=>E4,RootTextNodeRenderable:()=>L6,RootRenderable:()=>x8,RendererControlState:()=>a7,RenderableEvents:()=>f7,Renderable:()=>Q0,RainbowTextEffect:()=>C9,RGBA:()=>l,PasteEvent:()=>Z6,PROTANOPIA_SIM_MATRIX:()=>B4,PROTANOPIA_COMP_MATRIX:()=>S4,OptimizedBuffer:()=>I0,NativeSpanFeed:()=>f6,MouseParser:()=>t8,MouseEvent:()=>N0,MouseButton:()=>u7,MarkdownRenderable:()=>u9,MacOSScrollAccel:()=>B7,LogLevel:()=>v7,LinearScrollAccel:()=>K6,LineNumberRenderable:()=>$J,LayoutEvents:()=>x7,KeyHandler:()=>L$,KeyEvent:()=>n8,InternalKeyHandler:()=>I$,InputRenderableEvents:()=>k9,InputRenderable:()=>c6,Input:()=>r4,INVERT_MATRIX:()=>f4,Generic:()=>d4,GREENSCALE_MATRIX:()=>v4,GRAYSCALE_MATRIX:()=>x4,FrameBufferRenderable:()=>h6,FrameBuffer:()=>n4,FlamesEffect:()=>L9,ExtmarksController:()=>N6,EditorView:()=>S$,EditBufferRenderableEvents:()=>p7,EditBufferRenderable:()=>T6,EditBuffer:()=>s0,DistortionEffect:()=>A9,DiffRenderable:()=>w9,DebugOverlayCorner:()=>N7,DataPathsManager:()=>X6,DEUTERANOPIA_SIM_MATRIX:()=>L4,DEUTERANOPIA_COMP_MATRIX:()=>T4,DEFAULT_FOREGROUND_RGB:()=>Q6,DEFAULT_BACKGROUND_RGB:()=>U6,ConsolePosition:()=>h7,CodeRenderable:()=>X0,Code:()=>t4,CloudsEffect:()=>B9,CliRenderer:()=>y$,CliRenderEvents:()=>d7,CRTRollingBarEffect:()=>I9,BoxRenderable:()=>y0,Box:()=>a4,BorderChars:()=>i8,BorderCharArrays:()=>J6,BloomEffect:()=>S9,BaseRenderable:()=>h8,Audio:()=>m6,ArrowRenderable:()=>b6,ATTRIBUTE_BASE_MASK:()=>W7,ATTRIBUTE_BASE_BITS:()=>eJ,ASCIIFontSelectionHelper:()=>D6,ASCIIFontRenderable:()=>p6,ASCIIFont:()=>l4,ACHROMATOPSIA_MATRIX:()=>C4});function V9($){return Math.round(Math.max(0,Math.min(1,Number.isFinite($)?$:0))*255)}function r0($,J){return($[J]&255)/255}function R$($,J,Z,Q,U){let G=$[J+3]&255;$[J]=V9(Z),$[J+1]=V9(Q),$[J+2]=V9(U),$[J+3]=G}class A9{glitchChancePerSecond=0.5;maxGlitchLines=3;minGlitchDuration=0.05;maxGlitchDuration=0.2;maxShiftAmount=10;shiftFlipRatio=0.6;colorGlitchChance=0.2;lastGlitchTime=0;glitchDuration=0;activeGlitches=[];constructor($){if($)Object.assign(this,$)}apply($,J){let{width:Z,height:Q,buffers:U}=$;if(this.lastGlitchTime+=J,this.activeGlitches.length>0&&this.lastGlitchTime>=this.glitchDuration)this.activeGlitches=[],this.glitchDuration=0;if(this.activeGlitches.length===0&&Math.random()<this.glitchChancePerSecond*J){this.lastGlitchTime=0,this.glitchDuration=this.minGlitchDuration+Math.random()*(this.maxGlitchDuration-this.minGlitchDuration);let G=1+Math.floor(Math.random()*this.maxGlitchLines);for(let j=0;j<G;j++){let q=Math.floor(Math.random()*Q),K,_=0,D=Math.random();if(D<this.colorGlitchChance)K="color";else if((D-this.colorGlitchChance)/(1-this.colorGlitchChance)<this.shiftFlipRatio)K="shift",_=Math.floor((Math.random()-0.5)*2*this.maxShiftAmount);else K="flip";if(!this.activeGlitches.some((z)=>z.y===q))this.activeGlitches.push({y:q,type:K,amount:_})}}if(this.activeGlitches.length>0){let G=null,j=null,q=null,K=null;for(let _ of this.activeGlitches){let D=_.y;if(D<0||D>=Q)continue;let z=D*Z;if(_.type==="shift"||_.type==="flip"){if(!G)G=new Uint32Array(Z),j=new Uint16Array(Z*4),q=new Uint16Array(Z*4),K=new Uint8Array(Z);try{G.set(U.char.subarray(z,z+Z)),j.set(U.fg.subarray(z*4,(z+Z)*4)),q.set(U.bg.subarray(z*4,(z+Z)*4)),K.set(U.attributes.subarray(z,z+Z))}catch(H){console.error(`Error copying row ${D} for distortion:`,H);continue}if(_.type==="shift"){let H=_.amount;for(let O=0;O<Z;O++){let X=(O-H+Z)%Z,P=z+O,N=X;U.char[P]=G[N],U.attributes[P]=K[N];let W=P*4,F=N*4;U.fg.set(j.subarray(F,F+4),W),U.bg.set(q.subarray(F,F+4),W)}}else for(let H=0;H<Z;H++){let O=Z-1-H,X=z+H,P=O;U.char[X]=G[P],U.attributes[X]=K[P];let N=X*4,W=P*4;U.fg.set(j.subarray(W,W+4),N),U.bg.set(q.subarray(W,W+4),N)}}else if(_.type==="color"){let H=Math.floor(Math.random()*Z),O=Z-H,X=Math.floor(Math.random()*O)+1;if(Math.random()<0.2)X=Math.floor(Math.random()*(Z/4))+1;X=Math.min(X,O);for(let P=H;P<H+X;P++){if(P>=Z)break;let W=(z+P)*4,F,B,I,w,x,C,T=Math.random();if(T<0.33)F=Math.random(),B=Math.random(),I=Math.random(),w=Math.random(),x=Math.random(),C=Math.random();else if(T<0.66){let y=Math.random();if(y<0.25)F=Math.random(),B=0,I=0;else if(y<0.5)F=0,B=Math.random(),I=0;else if(y<0.75)F=0,B=0,I=Math.random();else{let f=Math.random();if(f<0.33)F=1,B=0,I=1;else if(f<0.66)F=0,B=1,I=1;else F=1,B=1,I=0}if(Math.random()<0.5)w=1-F,x=1-B,C=1-I;else w=F*(Math.random()*0.5+0.2),x=B*(Math.random()*0.5+0.2),C=I*(Math.random()*0.5+0.2)}else F=Math.random()>0.5?1:0,B=Math.random()>0.5?1:0,I=Math.random()>0.5?1:0,w=1-F,x=1-B,C=1-I;R$(U.fg,W,F,B,I),R$(U.bg,W,w,x,C)}}}}}}class o7{_strength;precomputedAttenuationCellMask=null;cachedWidth=-1;cachedHeight=-1;static zeroMatrix=new Float32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);constructor($=0.5){this._strength=$}set strength($){this._strength=Math.max(0,$),this.cachedWidth=-1,this.cachedHeight=-1,this.precomputedAttenuationCellMask=null}get strength(){return this._strength}_computeFactors($,J){this.precomputedAttenuationCellMask=new Float32Array($*J*3);let Z=$/2,Q=J/2,U=Z*Z+Q*Q,G=U===0?1:U,j=this._strength,q=0;for(let K=0;K<J;K++){let _=K-Q,D=_*_;for(let z=0;z<$;z++){let H=z-Z,O=H*H+D,P=Math.min(1,O/G)*j;this.precomputedAttenuationCellMask[q++]=z,this.precomputedAttenuationCellMask[q++]=K,this.precomputedAttenuationCellMask[q++]=P}}this.cachedWidth=$,this.cachedHeight=J}apply($){let{width:J,height:Z}=$;if(J!==this.cachedWidth||Z!==this.cachedHeight||!this.precomputedAttenuationCellMask)this._computeFactors(J,Z);$.colorMatrix(o7.zeroMatrix,this.precomputedAttenuationCellMask,1,3)}}class E9{perm;grad3=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]];constructor(){this.perm=new Uint8Array(512);let $=new Uint8Array(256);for(let J=0;J<256;J++)$[J]=J;for(let J=255;J>0;J--){let Z=Math.floor(Math.random()*(J+1));[$[J],$[Z]]=[$[Z],$[J]]}for(let J=0;J<512;J++)this.perm[J]=$[J&255]}dot($,J,Z,Q){return $[0]*J+$[1]*Z+$[2]*Q}mix($,J,Z){return $+(J-$)*Z}fade($){return $*$*$*($*($*6-15)+10)}noise3d($,J,Z){let Q=Math.floor($)&255,U=Math.floor(J)&255,G=Math.floor(Z)&255,j=$-Math.floor($),q=J-Math.floor(J),K=Z-Math.floor(Z),_=this.fade(j),D=this.fade(q),z=this.fade(K),H=this.perm[Q]+U,O=this.perm[H]+G,X=this.perm[H+1]+G,P=this.perm[Q+1]+U,N=this.perm[P]+G,W=this.perm[P+1]+G;return this.mix(this.mix(this.mix(this.dot(this.grad3[this.perm[O]%12],j,q,K),this.dot(this.grad3[this.perm[N]%12],j-1,q,K),_),this.mix(this.dot(this.grad3[this.perm[X]%12],j,q-1,K),this.dot(this.grad3[this.perm[W]%12],j-1,q-1,K),_),D),this.mix(this.mix(this.dot(this.grad3[this.perm[O+1]%12],j,q,K-1),this.dot(this.grad3[this.perm[N+1]%12],j-1,q,K-1),_),this.mix(this.dot(this.grad3[this.perm[X+1]%12],j,q-1,K-1),this.dot(this.grad3[this.perm[W+1]%12],j-1,q-1,K-1),_),D),z)}}class B9{noise;_scale;_speed;_density;_darkness;time=0;constructor($=0.02,J=0.5,Z=0.6,Q=0.7){this.noise=new E9,this._scale=$,this._speed=J,this._density=Z,this._darkness=Q}set scale($){this._scale=Math.max(0.001,$)}get scale(){return this._scale}set speed($){this._speed=Math.max(0,$)}get speed(){return this._speed}set density($){this._density=Math.max(0,Math.min(1,$))}get density(){return this._density}set darkness($){this._darkness=Math.max(0,Math.min(1,$))}get darkness(){return this._darkness}apply($,J){let{width:Z,height:Q}=$;this.time+=J*this._speed;let U=this._scale,G=this.time,j=new Float32Array(Z*Q*3),q=0;for(let _=0;_<Q;_++)for(let D=0;D<Z;D++){let z=0,H=1,O=1,X=0;for(let W=0;W<4;W++){let F=(D*U*O+G)*0.5,B=_*U*O*0.5,I=G*0.3;z+=this.noise.noise3d(F,B,I)*H,X+=H,H*=0.5,O*=2}z=(z/X+1)*0.5;let N=Math.max(0,z-(1-this._density))*this._darkness;j[q++]=D,j[q++]=_,j[q++]=N}let K=new Float32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);$.colorMatrix(K,j,1,2)}}class L9{noise;_scale;_speed;_intensity;time=0;constructor($=0.03,J=0.02,Z=0.8){this.noise=new E9,this._scale=$,this._speed=J,this._intensity=Z}set scale($){this._scale=Math.max(0.001,$)}get scale(){return this._scale}set speed($){this._speed=Math.max(0,$)}get speed(){return this._speed}set intensity($){this._intensity=Math.max(0,Math.min(1,$))}get intensity(){return this._intensity}apply($,J){let{width:Z,height:Q}=$,U=$.buffers.bg;this.time+=J*this._speed;let G=this._scale,j=this.time;for(let q=0;q<Q;q++){let K=1-q/Q;for(let _=0;_<Z;_++){let D=0,z=1,H=1,O=0;for(let P=0;P<3;P++){let N=(_*G*H+j)*0.5,W=(Q-q)*G*H*2*0.5,F=j*2;D+=this.noise.noise3d(N,W,F)*z,O+=z,z*=0.5,H*=2}D=(D/O+1)*0.5;let X=D*K*this._intensity;if(X>0){let P=(q*Z+_)*4,N,W,F;if(X>0.7)N=1,W=1,F=0.3+(X-0.7)*2.3;else if(X>0.4)N=1,W=0.5+(X-0.4)*1.67,F=0;else N=0.3+X*1.75,W=X*0.5,F=0;R$(U,P,Math.max(r0(U,P),N*X),Math.max(r0(U,P+1),W*X),Math.max(r0(U,P+2),F*X))}}}}}class I9{_speed;_height;_intensity;_fadeDistance;position=0;constructor($=0.5,J=0.15,Z=0.3,Q=0.3){this._speed=$,this._height=Math.max(0.01,Math.min(0.5,J)),this._intensity=Math.max(0,Math.min(1,Z)),this._fadeDistance=Math.max(0,Math.min(1,Q))}set speed($){this._speed=$}get speed(){return this._speed}set height($){this._height=Math.max(0.01,Math.min(0.5,$))}get height(){return this._height}set intensity($){this._intensity=Math.max(0,Math.min(1,$))}get intensity(){return this._intensity}set fadeDistance($){this._fadeDistance=Math.max(0,Math.min(1,$))}get fadeDistance(){return this._fadeDistance}apply($,J){let{width:Z,height:Q}=$,U=$.buffers.fg,G=$.buffers.bg;this.position+=J/1000*this._speed;let j=Q+this._height*Q*2;this.position=this.position%j;let q=this._height*Q,K=this._fadeDistance*q,_=q+K*2,D=this.position-_/2+q/2;for(let z=0;z<Q;z++){let H=Math.abs(z-D),O=0;if(H<=_/2){let X=H/(_/2);O=Math.cos(X*Math.PI/2)}if(O>0.001){let X=1+this._intensity*O;for(let P=0;P<Z;P++){let N=(z*Z+P)*4;R$(U,N,Math.min(1,r0(U,N)*X),Math.min(1,r0(U,N+1)*X),Math.min(1,r0(U,N+2)*X)),R$(G,N,Math.min(1,r0(G,N)*X),Math.min(1,r0(G,N+1)*X),Math.min(1,r0(G,N+2)*X))}}}}}class C9{_speed;_saturation;_value;_repeats;time=0;constructor($=0.01,J=1,Z=1,Q=3){this._speed=$,this._saturation=J,this._value=Z,this._repeats=Q}set speed($){this._speed=Math.max(0,$)}get speed(){return this._speed}set saturation($){this._saturation=Math.max(0,Math.min(1,$))}get saturation(){return this._saturation}set value($){this._value=Math.max(0,Math.min(1,$))}get value(){return this._value}set repeats($){this._repeats=Math.max(0.1,$)}get repeats(){return this._repeats}hsvToRgb($,J,Z){let Q=0,U=0,G=0,j=Math.floor($*6),q=$*6-j,K=Z*(1-J),_=Z*(1-q*J),D=Z*(1-(1-q)*J);switch(j%6){case 0:Q=Z,U=D,G=K;break;case 1:Q=_,U=Z,G=K;break;case 2:Q=K,U=Z,G=D;break;case 3:Q=K,U=_,G=Z;break;case 4:Q=D,U=K,G=Z;break;case 5:Q=Z,U=K,G=_;break}return[Q,U,G]}apply($,J){let{width:Z,height:Q}=$,U=$.buffers.fg;this.time+=J*this._speed;let G=this._saturation,j=this._value,q=this._repeats,K=25*Math.PI/180,_=Math.cos(K),D=Math.sin(K),z=0.9;for(let H=0;H<Q;H++)for(let O=0;O<Z;O++){let X=(H*Z+O)*4,P=r0(U,X),N=r0(U,X+1),W=r0(U,X+2);if(P>=z&&N>=z&&W>=z){let F=O*_+H*D,B=Z*_+Q*D,I=(F/B*q+this.time*0.1)%1,[w,x,C]=this.hsvToRgb(I,G,j);R$(U,X,w,x,C)}}}}function z9($){return Math.round(Math.max(0,Math.min(1,Number.isFinite($)?$:0))*255)}function O0($,J){return($[J]&255)/255}function N9($,J,Z,Q,U){let G=$[J+3]&255;$[J]=z9(Z),$[J+1]=z9(Q),$[J+2]=z9(U),$[J+3]=G}function X4($,J=0.8,Z=2){if(J===1||Z<1)return;let{width:Q,height:U}=$,G=Math.ceil(U/Z),j=Q*G,q=new Float32Array(j*3),K=0;for(let z=0;z<U;z+=Z)for(let H=0;H<Q;H++)q[K++]=H,q[K++]=z,q[K++]=1;let _=J,D=new Float32Array([_,0,0,0,0,_,0,0,0,0,_,0,0,0,0,1]);$.colorMatrix(D,q,1,2)}function O4($,J=1){if(J===0)return;let Z=new Float32Array([-1,0,0,1,0,-1,0,1,0,0,-1,1,0,0,0,1]);$.colorMatrixUniform(Z,J,3)}function P4($,J=0.1){let{width:Z,height:Q}=$,U=Z*Q;if(J===0)return;let G=new Float32Array(U*3),j=0;for(let _=0;_<Q;_++)for(let D=0;D<Z;D++)G[j++]=D,G[j++]=_,G[j++]=(Math.random()-0.5)*2;let q=1+J,K=new Float32Array([q,0,0,0,0,q,0,0,0,0,q,0,0,0,0,1]);$.colorMatrix(K,G,1,3)}function W4($,J=1){let{width:Z,height:Q}=$,U=Uint16Array.from($.buffers.fg),G=$.buffers.fg,j=Z/2,q=Q/2;for(let K=0;K<Q;K++)for(let _=0;_<Z;_++){let D=_-j,z=K-q,H=Math.round(Math.sqrt(D*D+z*z)/Math.max(j,q)*J),O=Math.max(0,Math.min(Z-1,_-H)),X=Math.max(0,Math.min(Z-1,_+H)),P=(K*Z+O)*4,N=(K*Z+_)*4,W=(K*Z+X)*4,F=(K*Z+_)*4;N9(G,F,O0(U,P),O0(U,N+1),O0(U,W+2))}}function N4($,J=' .\'`^"",:;Il!i><~+_-?][}{1)(|\\/tfjrxnuvczXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$',Z={r:1,g:1,b:1},Q={r:0,g:0,b:0}){let{width:U,height:G}=$,j=$.buffers.char,q=$.buffers.bg,K=J.length;for(let z=0;z<G;z++)for(let H=0;H<U;H++){let O=z*U+H,X=O*4,P=O0(q,X),N=O0(q,X+1),W=O0(q,X+2),F=0.299*P+0.587*N+0.114*W,B=Math.min(K-1,Math.floor(F*K));j[O]=J[B].charCodeAt(0)}let _=new Float32Array([0,0,0,Z.r,0,0,0,Z.g,0,0,0,Z.b,0,0,0,1]),D=new Float32Array([0,0,0,Q.r,0,0,0,Q.g,0,0,0,Q.b,0,0,0,1]);$.colorMatrixUniform(_,1,1),$.colorMatrixUniform(D,1,2)}function F4($,J=0,Z){if(J===0)return;let Q=J,U=new Float32Array([1,0,0,Q,0,1,0,Q,0,0,1,Q,0,0,0,1]);if(!Z||Z.length===0)$.colorMatrixUniform(U,1,3);else $.colorMatrix(U,Z,1,3)}function M4($,J=1,Z){if(J===1)return;let Q=Math.max(0,J),U=new Float32Array([Q,0,0,0,0,Q,0,0,0,0,Q,0,0,0,0,1]);if(!Z||Z.length===0)$.colorMatrixUniform(U,1,3);else $.colorMatrix(U,Z,1,3)}function zj($){let J=Math.max(0,$),Z=0.299*(1-J),Q=0.587*(1-J),U=0.114*(1-J),G=Z+J,j=Q,q=U,K=Z,_=Q+J,D=U,z=Z,H=Q,O=U+J;return new Float32Array([G,j,q,0,K,_,D,0,z,H,O,0,0,0,0,1])}function A4($,J,Z=1){if(Z===1||Z===0)return;let Q=zj(Z);if(!J||J.length===0)$.colorMatrixUniform(Q,1,3);else $.colorMatrix(Q,J,1,3)}class S9{_threshold;_strength;_radius;constructor($=0.8,J=0.2,Z=2){this._threshold=Math.max(0,Math.min(1,$)),this._strength=Math.max(0,J),this._radius=Math.max(0,Math.round(Z))}set threshold($){this._threshold=Math.max(0,Math.min(1,$))}get threshold(){return this._threshold}set strength($){this._strength=Math.max(0,$)}get strength(){return this._strength}set radius($){this._radius=Math.max(0,Math.round($))}get radius(){return this._radius}apply($){let J=this._threshold,Z=this._strength,Q=this._radius;if(Z<=0||Q<=0)return;let{width:U,height:G}=$,j=Uint16Array.from($.buffers.fg),q=Uint16Array.from($.buffers.bg),K=$.buffers.fg,_=$.buffers.bg,D=[];for(let z=0;z<G;z++)for(let H=0;H<U;H++){let O=(z*U+H)*4,X=0.299*O0(j,O)+0.587*O0(j,O+1)+0.114*O0(j,O+2),P=0.299*O0(q,O)+0.587*O0(q,O+1)+0.114*O0(q,O+2),N=Math.max(X,P);if(N>J){let W=(N-J)/(1-J+0.000001);D.push({x:H,y:z,intensity:Math.max(0,W)})}}if(D.length===0)return;K.set(j),_.set(q);for(let z of D)for(let H=-Q;H<=Q;H++)for(let O=-Q;O<=Q;O++){if(O===0&&H===0)continue;let X=z.x+O,P=z.y+H;if(X>=0&&X<U&&P>=0&&P<G){let N=O*O+H*H,W=Q*Q;if(N<=W){let F=1-N/W,B=z.intensity*Z*F,I=(P*U+X)*4;N9(K,I,Math.min(1,O0(K,I)+B),Math.min(1,O0(K,I+1)+B),Math.min(1,O0(K,I+2)+B)),N9(_,I,Math.min(1,O0(_,I)+B),Math.min(1,O0(_,I+1)+B),Math.min(1,O0(_,I+2)+B))}}}}}var E4=new Float32Array([0.393,0.769,0.189,0,0.349,0.686,0.168,0,0.272,0.534,0.131,0,0,0,0,1]),B4=new Float32Array([0.567,0.433,0,0,0.558,0.442,0,0,0,0.242,0.758,0,0,0,0,1]),L4=new Float32Array([0.625,0.375,0,0,0.7,0.3,0,0,0,0.3,0.7,0,0,0,0,1]),I4=new Float32Array([0.95,0.05,0,0,0,0.433,0.567,0,0,0.475,0.525,0,0,0,0,1]),C4=new Float32Array([0.299,0.587,0.114,0,0.299,0.587,0.114,0,0.299,0.587,0.114,0,0,0,0,1]),S4=new Float32Array([1,0.2,0,0,0,0.9,0.1,0,0,0.1,0.9,0,0,0,0,1]),T4=new Float32Array([0.9,0.1,0,0,0.2,0.8,0,0,0,0,1,0,0,0,0,1]),y4=new Float32Array([1,0,0,0,0,0.9,0.1,0,0.1,0,0.9,0,0,0,0,1]),R4=new Float32Array([1.5,-0.2,-0.3,0,-0.3,1.4,-0.1,0,-0.2,-0.2,1.4,0,0,0,0,1]),w4=new Float32Array([-0.5,0.5,0.5,0,0.5,-0.5,0.5,0,0.5,0.5,-0.5,0,0,0,0,1]),k4=new Float32Array([1,0,0.25,0,0.1,0.1,0.1,0,0.25,0,1,0,0,0,0,1]),v4=new Float32Array([0,0,0,0,0.299,0.587,0.114,0,0,0,0,0,0,0,0,1]),x4=new Float32Array([0.299,0.587,0.114,0,0.299,0.587,0.114,0,0.299,0.587,0.114,0,0,0,0,1]),f4=new Float32Array([-1,0,0,1,0,-1,0,1,0,0,-1,1,0,0,0,1]),F9={linear:($)=>$,inQuad:($)=>$*$,outQuad:($)=>$*(2-$),inOutQuad:($)=>$<0.5?2*$*$:-1+(4-2*$)*$,inExpo:($)=>$===0?0:Math.pow(2,10*($-1)),outExpo:($)=>$===1?1:1-Math.pow(2,-10*$),inOutSine:($)=>-(Math.cos(Math.PI*$)-1)/2,outBounce:($)=>{if($<0.36363636363636365)return 7.5625*$*$;else if($<0.7272727272727273)return 7.5625*($-=0.5454545454545454)*$+0.75;else if($<0.9090909090909091)return 7.5625*($-=0.8181818181818182)*$+0.9375;else return 7.5625*($-=0.9545454545454546)*$+0.984375},outElastic:($)=>{let J=2*Math.PI/3;return $===0?0:$===1?1:Math.pow(2,-10*$)*Math.sin(($*10-0.75)*J)+1},inBounce:($)=>1-F9.outBounce(1-$),inCirc:($)=>1-Math.sqrt(1-$*$),outCirc:($)=>Math.sqrt(1-Math.pow($-1,2)),inOutCirc:($)=>{if(($*=2)<1)return-0.5*(Math.sqrt(1-$*$)-1);return 0.5*(Math.sqrt(1-($-=2)*$)+1)},inBack:($,J=1.70158)=>$*$*((J+1)*$-J),outBack:($,J=1.70158)=>--$*$*((J+1)*$+J)+1,inOutBack:($,J=1.70158)=>{if(J*=1.525,($*=2)<1)return 0.5*($*$*((J+1)*$-J));return 0.5*(($-=2)*$*((J+1)*$+J)+2)}};function Hj($){if(!$.properties)return;if(!$.initialValues||$.initialValues.length===0){let J=[];for(let Z=0;Z<$.target.length;Z++){let Q=$.target[Z],U={};for(let G of Object.keys($.properties))if(typeof Q[G]==="number")U[G]=Q[G];J.push(U)}$.initialValues=J}}function y6($,J,Z,Q,U=0){if(!$.properties||!$.initialValues)return;let j=(F9[$.ease||"linear"]||F9.linear)(Math.max(0,Math.min(1,J))),q=Z?1-j:j;for(let K=0;K<$.target.length;K++){let _=$.target[K],D=$.initialValues[K];if(!D)continue;for(let[z,H]of Object.entries($.properties)){let O=D[z],X=O+(H-O)*q;_[z]=X}}if($.onUpdate){let K={targets:$.target,progress:j,currentTime:Q,deltaTime:U};$.onUpdate(K)}}function Xj($,J,Z=0){if(J<$.startTime)return;let Q=J-$.startTime,U=$.duration||0;if(J>=$.startTime&&!$.started){if(Hj($),$.onStart)$.onStart();$.started=!0}if(U===0){if(!$.completed){if(y6($,1,!1,J,Z),$.onComplete)$.onComplete();$.completed=!0}return}let G=!$.loop||$.loop===1?1:typeof $.loop==="number"?$.loop:1/0,j=$.loopDelay||0,q=U+j,K=Math.floor(Q/q),_=Q%q;if($.onLoop&&$.currentLoop!==void 0&&K>$.currentLoop&&K<G)$.onLoop();if($.currentLoop=K,$.onComplete&&!$.completed&&K===G-1&&_>=U){let H=($.alternate||!1)&&K%2===1;y6($,1,H,J,Z),$.onComplete(),$.completed=!0;return}if(K>=G){if(!$.completed){let H=($.alternate||!1)&&(G-1)%2===1;if(y6($,1,H,J,Z),$.onComplete)$.onComplete();$.completed=!0}return}if(_===0&&Q>0&&K<G)K=K-1,_=q;if(_>=U){let H=($.alternate||!1)&&K%2===1;y6($,1,H,J,Z);return}let D=_/U,z=($.alternate||!1)&&K%2===1;y6($,D,z,J,Z)}function Oj($,J){if(!$.executed&&J>=$.startTime&&$.callback)$.callback(),$.executed=!0}function Pj($,J,Z=0){if(!$.timeline)return;if(J<$.startTime)return;if(!$.timelineStarted){$.timelineStarted=!0,$.timeline.play();let Q=J-$.startTime;$.timeline.update(Q);return}$.timeline.update(Z)}function Wj($,J,Z=0){if($.type==="animation")Xj($,J,Z);else if($.type==="callback")Oj($,J)}class n7{items=[];subTimelines=[];currentTime=0;isPlaying=!1;isComplete=!1;duration;loop;synced=!1;autoplay;onComplete;onPause;stateChangeListeners=[];constructor($={}){this.duration=$.duration||1000,this.loop=$.loop===!0,this.autoplay=$.autoplay!==!1,this.onComplete=$.onComplete,this.onPause=$.onPause}addStateChangeListener($){this.stateChangeListeners.push($)}removeStateChangeListener($){this.stateChangeListeners=this.stateChangeListeners.filter((J)=>J!==$)}notifyStateChange(){for(let $ of this.stateChangeListeners)$(this)}add($,J,Z=0){let Q=typeof Z==="string"?0:Z,U={};for(let G in J)if(!["duration","ease","onUpdate","onComplete","onStart","onLoop","loop","loopDelay","alternate"].includes(G)){if(typeof J[G]==="number")U[G]=J[G]}return this.items.push({type:"animation",startTime:Q,target:Array.isArray($)?$:[$],properties:U,initialValues:[],duration:J.duration!==void 0?J.duration:1000,ease:J.ease||"linear",loop:J.loop,loopDelay:J.loopDelay||0,alternate:J.alternate||!1,onUpdate:J.onUpdate,onComplete:J.onComplete,onStart:J.onStart,onLoop:J.onLoop,completed:!1,started:!1,currentLoop:0,once:J.once??!1}),this}once($,J){return this.add($,{...J,once:!0},this.currentTime),this}call($,J=0){let Z=typeof J==="string"?0:J;return this.items.push({type:"callback",startTime:Z,callback:$,executed:!1}),this}sync($,J=0){if($.synced)throw Error("Timeline already synced");return this.subTimelines.push({type:"timeline",startTime:J,timeline:$}),$.synced=!0,this}play(){if(this.isComplete)return this.restart();return this.subTimelines.forEach(($)=>{if($.timelineStarted)$.timeline.play()}),this.isPlaying=!0,this.notifyStateChange(),this}pause(){if(this.subTimelines.forEach(($)=>{$.timeline.pause()}),this.isPlaying=!1,this.onPause)this.onPause();return this.notifyStateChange(),this}resetItems(){this.items.forEach(($)=>{if($.type==="callback")$.executed=!1;else if($.type==="animation")$.completed=!1,$.started=!1,$.currentLoop=0}),this.subTimelines.forEach(($)=>{if($.timelineStarted=!1,$.timeline)$.timeline.restart(),$.timeline.pause()})}restart(){return this.isComplete=!1,this.currentTime=0,this.isPlaying=!0,this.resetItems(),this.notifyStateChange(),this}update($){for(let J of this.subTimelines)Pj(J,this.currentTime+$,$);if(!this.isPlaying)return;this.currentTime+=$;for(let J of this.items)Wj(J,this.currentTime,$);for(let J=this.items.length-1;J>=0;J--){let Z=this.items[J];if(Z.type==="animation"&&Z.once&&Z.completed)this.items.splice(J,1)}if(this.loop&&this.currentTime>=this.duration){let J=this.currentTime%this.duration;if(this.resetItems(),this.currentTime=0,J>0)this.update(J)}else if(!this.loop&&this.currentTime>=this.duration){if(this.currentTime=this.duration,this.isPlaying=!1,this.isComplete=!0,this.onComplete)this.onComplete();this.notifyStateChange()}}}class g4{timelines=new Set;renderer=null;frameCallback=null;isLive=!1;defaults={frameRate:60};attach($){if(this.renderer)this.detach();this.renderer=$,this.frameCallback=async(J)=>{this.update(J)},$.setFrameCallback(this.frameCallback)}detach(){if(this.renderer&&this.frameCallback){if(this.renderer.removeFrameCallback(this.frameCallback),this.isLive)this.renderer.dropLive(),this.isLive=!1}this.renderer=null,this.frameCallback=null}updateLiveState(){if(!this.renderer)return;let $=Array.from(this.timelines).some((J)=>!J.synced&&J.isPlaying&&!J.isComplete);if($&&!this.isLive)this.renderer.requestLive(),this.isLive=!0;else if(!$&&this.isLive)this.renderer.dropLive(),this.isLive=!1}onTimelineStateChange=($)=>{this.updateLiveState()};register($){if(!this.timelines.has($))this.timelines.add($),$.addStateChangeListener(this.onTimelineStateChange),this.updateLiveState()}unregister($){if(this.timelines.has($))this.timelines.delete($),$.removeStateChangeListener(this.onTimelineStateChange),this.updateLiveState()}clear(){for(let $ of this.timelines)$.removeStateChangeListener(this.onTimelineStateChange);this.timelines.clear(),this.updateLiveState()}update($){for(let J of this.timelines)if(!J.synced)J.update($)}}var T9=new g4;function b4($={}){let J=new n7($);if($.autoplay!==!1)J.play();return T9.register(J),J}var Nj=()=>{},oQ=!1,nQ=100;function Fj($){if($ instanceof Error)return $;if(typeof $==="string")return Error($);return Error(`Unknown plugin error: ${String($)}`)}class t7{plugins=[];sortedPluginsCache=null;listeners=new Set;errorListeners=new Set;pluginErrors=[];registrationOrder=0;batchDepth=0;batchedNotify=!1;rendererInstance;hostContext;options;constructor($,J,Z={}){this.rendererInstance=$,this.hostContext=J,this.options={debugPluginErrors:Z.debugPluginErrors??oQ,maxPluginErrors:Z.maxPluginErrors??nQ,onPluginError:Z.onPluginError}}get renderer(){return this.rendererInstance}get context(){return this.hostContext}configure($){if("debugPluginErrors"in $)this.options.debugPluginErrors=$.debugPluginErrors??oQ;if("maxPluginErrors"in $)this.options.maxPluginErrors=$.maxPluginErrors??nQ;if("onPluginError"in $)this.options.onPluginError=$.onPluginError}register($){if(this.plugins.some((J)=>J.plugin.id===$.id))throw Error(`Plugin with id "${$.id}" is already registered`);try{$.setup?.(this.hostContext,this.rendererInstance)}catch(J){return this.reportPluginError({pluginId:$.id,phase:"setup",source:"registry",error:J}),Nj}return this.plugins.push({plugin:$,registrationOrder:this.registrationOrder++,cachedOrder:$.order??0,cachedId:$.id}),this.invalidateSortedPluginsCache(),this.notifyListeners(),()=>{this.unregister($.id)}}unregister($){let J=this.plugins.findIndex((Q)=>Q.plugin.id===$);if(J===-1)return!1;let[Z]=this.plugins.splice(J,1);this.invalidateSortedPluginsCache();try{Z?.plugin.dispose?.()}catch(Q){this.reportPluginError({pluginId:$,phase:"dispose",source:"registry",error:Q})}return this.notifyListeners(),!0}updateOrder($,J){let Z=this.plugins.find((Q)=>Q.plugin.id===$);if(!Z)return!1;if((Z.plugin.order??0)===J)return!0;return Z.plugin.order=J,Z.cachedOrder=J,this.invalidateSortedPluginsCache(),this.notifyListeners(),!0}clear(){if(this.plugins.length===0)return;let $=[...this.plugins];this.plugins=[],this.invalidateSortedPluginsCache();for(let J of $)try{J.plugin.dispose?.()}catch(Z){this.reportPluginError({pluginId:J.plugin.id,phase:"dispose",source:"registry",error:Z})}this.notifyListeners()}subscribe($){return this.listeners.add($),()=>{this.listeners.delete($)}}onPluginError($){return this.errorListeners.add($),()=>{this.errorListeners.delete($)}}batch($){this.batchDepth+=1;try{return $()}finally{if(this.batchDepth-=1,this.batchDepth===0&&this.batchedNotify)this.batchedNotify=!1,this.flushListeners()}}getPluginErrors(){return this.pluginErrors}clearPluginErrors(){this.pluginErrors=[]}reportPluginError($){let J={pluginId:$.pluginId,slot:$.slot,phase:$.phase,source:$.source??"registry",error:Fj($.error),timestamp:Date.now()};if(this.pluginErrors.push(J),this.pluginErrors.length>this.options.maxPluginErrors)this.pluginErrors.splice(0,this.pluginErrors.length-this.options.maxPluginErrors);if(this.options.debugPluginErrors){let Z=J.slot?` slot="${J.slot}"`:"";console.debug(`[SlotRegistry][PluginError] plugin="${J.pluginId}" phase="${J.phase}" source="${J.source}"${Z}`),console.debug(J.error)}for(let Z of this.errorListeners)try{Z(J)}catch(Q){console.error("Error in plugin error listener:",Q)}try{this.options.onPluginError?.(J)}catch(Z){console.error("Error in plugin error callback:",Z)}return J}resolve($){return this.resolveEntries($).map((J)=>J.renderer)}resolveEntries($){let J=[];for(let Z of this.getSortedPlugins()){let Q=Z.plugin.slots[$];if(Q)J.push({id:Z.plugin.id,renderer:Q})}return J}getSortedPlugins(){if(this.syncPluginSortMetadata(),this.sortedPluginsCache)return this.sortedPluginsCache;return this.sortedPluginsCache=[...this.plugins].sort(($,J)=>{let Z=$.cachedOrder,Q=J.cachedOrder;if(Z!==Q)return Z-Q;if($.registrationOrder!==J.registrationOrder)return $.registrationOrder-J.registrationOrder;return $.cachedId.localeCompare(J.cachedId)}),this.sortedPluginsCache}syncPluginSortMetadata(){let $=!1;for(let J of this.plugins){let Z=J.plugin.order??0,Q=J.plugin.id;if(J.cachedOrder!==Z||J.cachedId!==Q)J.cachedOrder=Z,J.cachedId=Q,$=!0}if($)this.invalidateSortedPluginsCache()}invalidateSortedPluginsCache(){this.sortedPluginsCache=null}notifyListeners(){if(this.batchDepth>0){this.batchedNotify=!0;return}this.flushListeners()}flushListeners(){for(let $ of this.listeners)try{$()}catch(J){console.error("Error in slot registry listener:",J)}}}var H9=new WeakMap;function Mj($){let J=H9.get($);if(J)return J;let Z=new Map;return H9.set($,Z),$.once("destroy",()=>{for(let Q of Z.values())try{Q.clear()}catch(U){console.error("Error disposing slot registry:",U)}Z.clear(),H9.delete($)}),Z}function y9($,J,Z,Q={}){let U=Mj($),G=U.get(J);if(G){if(G.context!==Z)throw Error(`createSlotRegistry called with a different context for renderer key "${J}". Reuse the original context object.`);let q=G;return q.configure(Q),q}let j=new t7($,Z,Q);return U.set(J,j),j}function tQ($){return typeof $==="object"&&$!==null&&"render"in $}function Aj($){let J={};for(let[Z,Q]of Object.entries($.slots)){let U=(G,j)=>{if(tQ(Q))return Q.render(G,j);return Q(G,j)};if(tQ(Q))U.__coreSlotOwnership="plugin",U.__coreManagedSlot=Q;else U.__coreSlotOwnership="host";J[Z]=U}return{id:$.id,order:$.order,setup:$.setup,dispose:$.dispose,slots:J}}function eQ($){if(!$)return[];return Array.isArray($)?[...$]:[$]}function X9($,J,Z){if(!$)throw Error(`Plugin "${J}" did not return a renderable node`);if(typeof $.then==="function")throw Error(`Plugin "${J}" returned an async value. Core slots require synchronous renderers.`);if(!($ instanceof h8))throw Error(`Plugin "${J}" must return a BaseRenderable`);if($===Z)throw Error(`Plugin "${J}" returned the slot mount container as its node`);if($.parent&&$.parent!==Z)throw Error(`Plugin "${J}" returned a renderable already attached to another parent`)}function m4($,J,Z={}){return y9($,"core:slot-registry",J,Z)}function h4($,J){return $.register(Aj(J))}function p4($,J){return c4($,J).map((Z)=>{return{id:Z.id,renderer:Z.renderer}})}function c4($,J){return $.resolveEntries(J).map((Z)=>{let Q=Z.renderer;return{id:Z.id,renderer:(U,G)=>Q(U,G),ownership:Q.__coreSlotOwnership??"host",managedSlot:Q.__coreManagedSlot}})}class R9 extends Q0{_mode;_slotRegistry;_slotName;_data;_fallbackOption;_pluginFailurePlaceholder;_disposed=!1;_mountedNodes=[];_pluginNodes=new Map;_activePluginIds=new Set;_fallbackNodes=null;_unsubscribe=null;constructor($,J){super($,J);this._slotRegistry=J.registry,this._slotName=J.name,this._data=J.data??{},this._mode=J.mode??"append",this._fallbackOption=J.fallback,this._pluginFailurePlaceholder=J.pluginFailurePlaceholder,this._unsubscribe=this._slotRegistry.subscribe(()=>this.refresh());try{this.refresh()}catch(Z){throw this._cleanupAll(),Z}}get mode(){return this._mode}set mode($){this._mode=$,this.refresh()}get data(){return this._data}set data($){this._data=$,this.refresh()}refresh(){if(this._disposed)return;let $=c4(this._slotRegistry,this._slotName),J=this._mode==="single_winner"&&$.length>0?[$[0]]:$,Z=new Set(J.map((G)=>G.id)),Q=new Set($.map((G)=>G.id));this._cleanupInactivePluginNodes(Z,Q);for(let G of J){let j=this._pluginNodes.get(G.id);if(!j||j.ownership==="plugin"&&j.nodes.length===0||j.dataRef!==this._data){let K=j;try{let _=G.renderer(this._slotRegistry.context,this._data);X9(_,G.id,this),j={nodes:[_],ownership:G.ownership,managedSlot:G.managedSlot??j?.managedSlot,dataRef:this._data}}catch(_){let D=this._slotRegistry.reportPluginError({pluginId:G.id,slot:String(this._slotName),phase:"render",source:"core",error:_});j={nodes:this._resolvePluginFailurePlaceholder(D),ownership:"host",managedSlot:G.managedSlot??j?.managedSlot,dataRef:this._data}}if(K)this._cleanupReplacedPluginNodes(K,j.nodes);this._pluginNodes.set(G.id,j)}if(!this._activePluginIds.has(G.id)){let K=this._pluginNodes.get(G.id);if(K)this._callManagedHook(G.id,K.managedSlot,"onActivate","setup")}}let U=[];if(this._mode==="append"||J.length===0)U.push(...this._ensureFallbackNodes());for(let G of J){let j=this._pluginNodes.get(G.id);if(j)U.push(...j.nodes)}if(this._mode!=="append"&&U.length===0)U.push(...this._ensureFallbackNodes());this._reconcileMountedNodes(U),this._activePluginIds=Z}destroySelf(){this._cleanupAll()}_cleanupAll(){if(this._disposed)return;this._disposed=!0,this._unsubscribe?.(),this._unsubscribe=null;for(let[$,J]of this._pluginNodes){if(this._activePluginIds.has($))this._callManagedHook($,J.managedSlot,"onDeactivate","dispose");this._callManagedHook($,J.managedSlot,"onDispose","dispose");for(let Z of J.nodes)this._detachNodeFromMount(Z);if(J.ownership==="host")for(let Z of J.nodes)Z.destroyRecursively()}if(this._pluginNodes.clear(),this._activePluginIds=new Set,this._fallbackNodes){for(let $ of this._fallbackNodes)$.destroyRecursively();this._fallbackNodes=null}this._mountedNodes=[]}_ensureFallbackNodes(){if(this._fallbackNodes!==null)return this._fallbackNodes;let $=typeof this._fallbackOption==="function"?this._fallbackOption():this._fallbackOption,J=eQ($);for(let Z of J)X9(Z,"fallback",this);return this._fallbackNodes=J,this._fallbackNodes}_callManagedHook($,J,Z,Q){let U=J?.[Z];if(!U)return;try{U(this._slotRegistry.context)}catch(G){this._slotRegistry.reportPluginError({pluginId:$,slot:String(this._slotName),phase:Q,source:"core",error:G})}}_detachNodeFromMount($){if($.parent===this)this.remove($.id)}_cleanupInactivePluginNodes($,J){for(let[Z,Q]of this._pluginNodes){if($.has(Z))continue;if(this._activePluginIds.has(Z))this._callManagedHook(Z,Q.managedSlot,"onDeactivate","dispose");for(let U of Q.nodes)this._detachNodeFromMount(U);if(!J.has(Z)){if(this._callManagedHook(Z,Q.managedSlot,"onDispose","dispose"),Q.ownership==="host")for(let U of Q.nodes)U.destroyRecursively();this._pluginNodes.delete(Z);continue}if(Q.ownership==="host"){for(let U of Q.nodes)U.destroyRecursively();this._pluginNodes.delete(Z);continue}Q.nodes=[]}}_cleanupReplacedPluginNodes($,J){let Z=new Set(J);for(let Q of $.nodes){if(Z.has(Q))continue;if(this._detachNodeFromMount(Q),$.ownership==="host")Q.destroyRecursively()}}_resolvePluginFailurePlaceholder($){if(!this._pluginFailurePlaceholder)return[];try{let J=this._pluginFailurePlaceholder($,this._slotRegistry.context),Z=eQ(J);for(let Q of Z)X9(Q,`${$.pluginId}:error-placeholder`,this);return Z}catch(J){return this._slotRegistry.reportPluginError({pluginId:$.pluginId,slot:String(this._slotName),phase:"error_placeholder",source:"core",error:J}),[]}}_reconcileMountedNodes($){let J=new Set($);for(let Z of this._mountedNodes)if(!J.has(Z)){if(Z.parent===this)this.remove(Z.id)}for(let Z=0;Z<$.length;Z++){let Q=$[Z];if(Q.parent!==this){this.add(Q,Z);continue}if(this.getChildren()[Z]?.id!==Q.id)this.add(Q,Z)}this._mountedNodes=[...$]}}function O9($){return typeof $==="bigint"?Number($):$}class f6{static create($){let J=E0(),Z=J.createNativeSpanFeed($),Q=new f6(Z);J.registerNativeSpanFeedStream(Z,Q.eventHandler);let U=J.attachNativeSpanFeed(Z);if(U!==0)throw J.unregisterNativeSpanFeedStream(Z),J.destroyNativeSpanFeed(Z),Error(`Failed to attach stream: ${U}`);return Q}static attach($,J){let Z=E0(),Q=new f6($);Z.registerNativeSpanFeedStream($,Q.eventHandler);let U=Z.attachNativeSpanFeed($);if(U!==0)throw Z.unregisterNativeSpanFeedStream($),Error(`Failed to attach stream: ${U}`);return Q}streamPtr;lib=E0();eventHandler;chunkMap=new Map;chunkSizes=new Map;dataHandlers=new Set;errorHandlers=new Set;drainBuffer=null;stateBuffer=null;closed=!1;destroyed=!1;draining=!1;pendingDataAvailable=!1;pendingClose=!1;closing=!1;pendingAsyncHandlers=0;inCallback=!1;closeQueued=!1;constructor($){this.streamPtr=$,this.eventHandler=(J,Z,Q)=>{this.handleEvent(J,Z,Q)},this.ensureDrainBuffer()}ensureDrainBuffer(){if(this.drainBuffer)return;let $=256;this.drainBuffer=new Uint8Array($*k7.size)}onData($){if(this.dataHandlers.add($),this.pendingDataAvailable)this.pendingDataAvailable=!1,this.drainAll();return()=>this.dataHandlers.delete($)}onError($){return this.errorHandlers.add($),()=>this.errorHandlers.delete($)}close(){if(this.destroyed)return;if(this.inCallback||this.draining||this.pendingAsyncHandlers>0){if(this.pendingClose=!0,!this.closeQueued)this.closeQueued=!0,queueMicrotask(()=>{this.closeQueued=!1,this.processPendingClose()});return}this.performClose()}processPendingClose(){if(!this.pendingClose||this.destroyed)return;if(this.inCallback||this.draining||this.pendingAsyncHandlers>0)return;this.pendingClose=!1,this.performClose()}performClose(){if(this.closing)return;if(this.closing=!0,!this.closed){if(this.lib.streamClose(this.streamPtr)!==0){this.closing=!1;return}this.closed=!0}this.finalizeDestroy()}finalizeDestroy(){if(this.destroyed)return;this.lib.unregisterNativeSpanFeedStream(this.streamPtr),this.lib.destroyNativeSpanFeed(this.streamPtr),this.destroyed=!0,this.chunkMap.clear(),this.chunkSizes.clear(),this.stateBuffer=null,this.drainBuffer=null,this.dataHandlers.clear(),this.errorHandlers.clear(),this.pendingDataAvailable=!1}handleEvent($,J,Z){this.inCallback=!0;try{switch($){case 8:{let Q=O9(Z);if(Q>0&&J){let U=x0(J,0,Q);this.stateBuffer=new Uint8Array(U)}break}case 7:{if(this.closing)break;if(this.dataHandlers.size===0){this.pendingDataAvailable=!0;break}this.drainAll();break}case 2:{let Q=O9(Z);if(Q>0&&J){if(!this.chunkMap.has(J)){let U=x0(J,0,Q);this.chunkMap.set(J,U)}this.chunkSizes.set(J,Q)}break}case 6:{let Q=O9(J);for(let U of this.errorHandlers)U(Q);break}case 5:{this.closed=!0;break}default:break}}finally{this.inCallback=!1}}decrementRefcount($){if(this.stateBuffer&&$<this.stateBuffer.length){let J=this.stateBuffer[$];this.stateBuffer[$]=J>0?J-1:0}}drainOnce(){if(!this.drainBuffer||this.draining||this.pendingClose)return 0;let $=Math.floor(this.drainBuffer.byteLength/k7.size);if($===0)return 0;let J=this.lib.streamDrainSpans(this.streamPtr,this.drainBuffer,$);if(J===0)return 0;this.draining=!0;let Z=k7.unpackList(this.drainBuffer.buffer,J),Q=null;try{for(let U of Z){if(U.len===0)continue;let G=this.chunkMap.get(U.chunkPtr);if(!G){let _=this.chunkSizes.get(U.chunkPtr);if(!_)continue;G=x0(U.chunkPtr,0,_),this.chunkMap.set(U.chunkPtr,G)}if(U.offset+U.len>G.byteLength)continue;let j=new Uint8Array(G,U.offset,U.len),q=null;for(let _ of this.dataHandlers)try{let D=_(j);if(D&&typeof D.then==="function")q??=[],q.push(D)}catch(D){Q??=D}let K=this.pendingClose;if(q){let _=U.chunkIndex;this.pendingAsyncHandlers+=1,Promise.allSettled(q).then(()=>{this.decrementRefcount(_),this.pendingAsyncHandlers-=1,this.processPendingClose()})}else this.decrementRefcount(U.chunkIndex);if(K)break}}finally{this.draining=!1}if(Q)throw Q;return J}drainAll(){let $=this.drainOnce();while($>0)$=this.drainOnce()}}function Lj($,J){return Error(`Audio ${$} failed: ${J}`)}function Ij($){return $ instanceof Uint8Array?$:new Uint8Array($)}class m6 extends Ej{static create($={}){return new m6(E0(),$)}lib;defaultStartOptions;engine=null;groups=new Map;playbackStarted=!1;mixerStarted=!1;constructor($,J){super();this.lib=$,this.defaultStartOptions=J.startOptions;let Z=J.sampleRate==null&&J.playbackChannels==null?void 0:{sampleRate:J.sampleRate==null?void 0:Math.max(0,Math.trunc(J.sampleRate)),playbackChannels:J.playbackChannels==null?void 0:Math.max(0,Math.trunc(J.playbackChannels))};if(this.engine=this.lib.createAudioEngine(Z),!this.engine){this.emitError("createAudioEngine",void 0,"Audio createAudioEngine returned null");return}if(J.autoStart??!1)this.start(this.defaultStartOptions)}emitError($,J,Z,Q){let U=Z?Error(Z):Lj($,J??-1);if(Q)U.cause=Q;this.emit("error",U,{action:$,status:J})}start($){if(this.playbackStarted)return!0;let J=this.engine;if(!J)return this.emitError("start",void 0,"Audio engine unavailable during start"),!1;let Z=$??this.defaultStartOptions,Q=this.lib.audioStart(J,Z);if(Q!==0)return this.emitError("start",Q),!1;return this.playbackStarted=!0,this.mixerStarted=!0,this.emit("started"),!0}startMixer(){if(this.mixerStarted)return!0;let $=this.engine;if(!$)return this.emitError("startMixer",void 0,"Audio engine unavailable during startMixer"),!1;let J=this.lib.audioStartMixer($);if(J!==0)return this.emitError("startMixer",J),!1;return this.mixerStarted=!0,this.emit("mixerStarted"),!0}stop(){if(!this.mixerStarted)return!0;let $=this.engine;if(!$)return this.emitError("stop",void 0,"Audio engine unavailable during stop"),!1;let J=this.lib.audioStop($);if(J!==0)return this.emitError("stop",J),!1;return this.playbackStarted=!1,this.mixerStarted=!1,this.emit("stopped"),!0}isStarted(){return this.playbackStarted}isMixerStarted(){return this.mixerStarted}loadSound($){let J=this.engine;if(!J)return this.emitError("loadSound",void 0,"Audio engine unavailable during loadSound"),null;let Z=this.lib.audioLoad(J,Ij($));if(Z.status!==0||Z.soundId==null)return this.emitError("loadSound",Z.status),null;return Z.soundId}async loadSoundFile($){let J=await Bj($).catch((Z)=>{return this.emitError("loadSoundFile",void 0,`Failed to read file '${$}': ${Z.message}`,Z),null});if(J==null)return null;return this.loadSound(J)}unloadSound($){let J=this.engine;if(!J)return this.emitError("unloadSound",void 0,"Audio engine unavailable during unloadSound"),!1;let Z=this.lib.audioUnload(J,$);if(Z!==0)return this.emitError("unloadSound",Z),!1;return!0}group($){let J=this.groups.get($);if(J!=null)return J;let Z=this.engine;if(!Z)return this.emitError("group",void 0,"Audio engine unavailable during group"),null;let Q=this.lib.audioCreateGroup(Z,$);if(Q.status!==0||Q.groupId==null)return this.emitError("group",Q.status),null;return this.groups.set($,Q.groupId),Q.groupId}play($,J){let Z=J?{volume:J.volume,pan:J.pan,loop:J.loop,groupId:J.groupId??0}:void 0,Q=this.engine;if(!Q)return this.emitError("play",void 0,"Audio engine unavailable during play"),null;let U=this.lib.audioPlay(Q,$,Z);if(U.status!==0||U.voiceId==null)return this.emitError("play",U.status),null;return U.voiceId}stopVoice($){let J=this.engine;if(!J)return this.emitError("stopVoice",void 0,"Audio engine unavailable during stopVoice"),!1;let Z=this.lib.audioStopVoice(J,$);if(Z!==0)return this.emitError("stopVoice",Z),!1;return!0}setVoiceGroup($,J){let Z=this.engine;if(!Z)return this.emitError("setVoiceGroup",void 0,"Audio engine unavailable during setVoiceGroup"),!1;let Q=this.lib.audioSetVoiceGroup(Z,$,J);if(Q!==0)return this.emitError("setVoiceGroup",Q),!1;return!0}setGroupVolume($,J){let Z=this.engine;if(!Z)return this.emitError("setGroupVolume",void 0,"Audio engine unavailable during setGroupVolume"),!1;let Q=this.lib.audioSetGroupVolume(Z,$,J);if(Q!==0)return this.emitError("setGroupVolume",Q),!1;return!0}setMasterVolume($){let J=this.engine;if(!J)return this.emitError("setMasterVolume",void 0,"Audio engine unavailable during setMasterVolume"),!1;let Z=this.lib.audioSetMasterVolume(J,$);if(Z!==0)return this.emitError("setMasterVolume",Z),!1;return!0}mixFrames($,J=2){let Z=this.engine;if(!Z)return this.emitError("mixFrames",void 0,"Audio engine unavailable during mixFrames"),null;let Q=new Float32Array($*J),U=this.lib.audioMixToBuffer(Z,Q,$,J);if(U!==0)return this.emitError("mixFrames",U),null;return Q}enableTap($=8192){let J=this.engine;if(!J)return this.emitError("enableTap",void 0,"Audio engine unavailable during enableTap"),!1;let Z=this.lib.audioEnableTap(J,!0,$);if(Z!==0)return this.emitError("enableTap",Z),!1;return!0}disableTap(){let $=this.engine;if(!$)return this.emitError("enableTap",void 0,"Audio engine unavailable during disableTap"),!1;let J=this.lib.audioEnableTap($,!1,0);if(J!==0)return this.emitError("enableTap",J),!1;return!0}readTapFrames($,J=2){let Z=this.engine;if(!Z)return this.emitError("readTapFrames",void 0,"Audio engine unavailable during readTapFrames"),null;let Q=new Float32Array($*J),U=this.lib.audioReadTap(Z,Q,$,J);if(U.status!==0)return this.emitError("readTapFrames",U.status),null;return{frames:Q,framesRead:U.framesRead}}listPlaybackDevices(){let $=this.engine;if(!$)return this.emitError("listPlaybackDevices",void 0,"Audio engine unavailable during listPlaybackDevices"),null;let J=this.lib.audioRefreshPlaybackDevices($);if(J!==0)return this.emitError("listPlaybackDevices",J),null;let Z=this.lib.audioGetPlaybackDeviceCount($),Q=[];for(let U=0;U<Z;U+=1)Q.push({index:U,name:this.lib.audioGetPlaybackDeviceName($,U),isDefault:this.lib.audioIsPlaybackDeviceDefault($,U)});return Q}selectPlaybackDevice($){let J=this.engine;if(!J)return this.emitError("selectPlaybackDevice",void 0,"Audio engine unavailable during selectPlaybackDevice"),!1;let Z=this.lib.audioRefreshPlaybackDevices(J);if(Z!==0)return this.emitError("selectPlaybackDevice",Z),!1;let Q=this.lib.audioSelectPlaybackDevice(J,$);if(Q!==0)return this.emitError("selectPlaybackDevice",Q),!1;return!0}clearPlaybackDeviceSelection(){let $=this.engine;if(!$){this.emitError("clearPlaybackDeviceSelection",void 0,"Audio engine unavailable during clearPlaybackDeviceSelection");return}this.lib.audioClearPlaybackDeviceSelection($)}getStats(){let $=this.engine;if(!$)return this.emitError("getStats",void 0,"Audio engine unavailable during getStats"),null;let J=this.lib.audioGetStats($);if(J==null)this.emitError("getStats",void 0,"Failed to retrieve audio stats");return J}dispose(){if(!this.engine)return;if(this.mixerStarted)this.stop();this.groups.clear(),this.lib.destroyAudioEngine(this.engine),this.engine=null,this.emit("disposed")}}function u4($={}){return m6.create($)}class h6 extends Q0{frameBuffer;respectAlpha;constructor($,J){super($,J);this.respectAlpha=J.respectAlpha||!1,this.frameBuffer=I0.create(J.width,J.height,this._ctx.widthMethod,{respectAlpha:this.respectAlpha,id:J.id||`framebufferrenderable-${this.id}`})}onResize($,J){if($<=0||J<=0)throw Error(`Invalid resize dimensions for FrameBufferRenderable ${this.id}: ${$}x${J}`);this.frameBuffer.resize($,J),super.onResize($,J),this.requestRender()}renderSelf($){if(!this.visible||this.isDestroyed)return;$.drawFrameBuffer(this.x,this.y,this.frameBuffer)}destroySelf(){this.frameBuffer?.destroy(),super.destroySelf()}}class p6 extends h6{selectable=!0;static _defaultOptions={text:"",font:"tiny",color:"#FFFFFF",backgroundColor:"transparent",selectionBg:void 0,selectionFg:void 0,selectable:!0};_text;_font;_color;_backgroundColor;_selectionBg;_selectionFg;lastLocalSelection=null;selectionHelper;constructor($,J){let Z=p6._defaultOptions,Q=J.font||Z.font,U=J.text||Z.text,G=b8({text:U,font:Q});super($,{flexShrink:0,...J,width:G.width||1,height:G.height||1,respectAlpha:!0});this._text=U,this._font=Q,this._color=J.color||Z.color,this._backgroundColor=J.backgroundColor||Z.backgroundColor,this._selectionBg=J.selectionBg?E(J.selectionBg):void 0,this._selectionFg=J.selectionFg?E(J.selectionFg):void 0,this.selectable=J.selectable??!0,this.selectionHelper=new D6(()=>this._text,()=>this._font),this.renderFontToBuffer()}get text(){return this._text}set text($){if(this._text=$,this.updateDimensions(),this.lastLocalSelection)this.selectionHelper.onLocalSelectionChanged(this.lastLocalSelection,this.width,this.height);this.renderFontToBuffer(),this.requestRender()}get font(){return this._font}set font($){if(this._font=$,this.updateDimensions(),this.lastLocalSelection)this.selectionHelper.onLocalSelectionChanged(this.lastLocalSelection,this.width,this.height);this.renderFontToBuffer(),this.requestRender()}get color(){return this._color}set color($){this._color=$,this.renderFontToBuffer(),this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor($){this._backgroundColor=$,this.renderFontToBuffer(),this.requestRender()}updateDimensions(){let $=b8({text:this._text,font:this._font});this.width=$.width,this.height=$.height}shouldStartSelection($,J){let Z=$-this.x,Q=J-this.y;return this.selectionHelper.shouldStartSelection(Z,Q,this.width,this.height)}onSelectionChanged($){let J=J$($,this.x,this.y);this.lastLocalSelection=J;let Z=this.selectionHelper.onLocalSelectionChanged(J,this.width,this.height);if(Z)this.renderFontToBuffer(),this.requestRender();return Z}getSelectedText(){let $=this.selectionHelper.getSelection();if(!$)return"";return this._text.slice($.start,$.end)}hasSelection(){return this.selectionHelper.hasSelection()}onResize($,J){super.onResize($,J),this.renderFontToBuffer()}renderFontToBuffer(){if(this.isDestroyed)return;this.frameBuffer.clear(E(this._backgroundColor)),C$(this.frameBuffer,{text:this._text,x:0,y:0,color:this.color,backgroundColor:this._backgroundColor,font:this._font});let $=this.selectionHelper.getSelection();if($&&(this._selectionBg||this._selectionFg))this.renderSelectionHighlight($)}renderSelectionHighlight($){if(!this._selectionBg&&!this._selectionFg)return;let J=this._text.slice($.start,$.end);if(!J)return;let Z=q6(this._text,this._font),Q=Z[$.start]||0,U=$.end<Z.length?Z[$.end]:b8({text:this._text,font:this._font}).width;if(this._selectionBg)this.frameBuffer.fillRect(Q,0,U-Q,this.height,E(this._selectionBg));if(this._selectionFg||this._selectionBg)C$(this.frameBuffer,{text:J,x:Q,y:0,color:this._selectionFg?this._selectionFg:this._color,backgroundColor:this._selectionBg?this._selectionBg:this._backgroundColor,font:this._font})}}function d4($,...J){return d0(e7,$||{},...J)}function a4($,...J){return d0(y0,$||{},...J)}function s4($,...J){return d0(G$,$||{},...J)}function l4($,...J){return d0(p6,$||{},...J)}function r4($,...J){return d0(c6,$||{},...J)}function i4($,...J){return d0(UJ,$||{},...J)}function o4($,...J){return d0(GJ,$||{},...J)}function n4($,...J){return d0(h6,$,...J)}function t4($,...J){return d0(X0,$,...J)}function e4($,...J){return d0(d6,$||{},...J)}function B0($,...J){let Z=$,Q={...Z,attributes:Z?.attributes??0},U=new M8(Q);for(let G of J)U.add(G);return U}var $2={bold:(...$)=>B0({attributes:G0.BOLD},...$),italic:(...$)=>B0({attributes:G0.ITALIC},...$),underline:(...$)=>B0({attributes:G0.UNDERLINE},...$),dim:(...$)=>B0({attributes:G0.DIM},...$),blink:(...$)=>B0({attributes:G0.BLINK},...$),inverse:(...$)=>B0({attributes:G0.INVERSE},...$),hidden:(...$)=>B0({attributes:G0.HIDDEN},...$),strikethrough:(...$)=>B0({attributes:G0.STRIKETHROUGH},...$),boldItalic:(...$)=>B0({attributes:G0.BOLD|G0.ITALIC},...$),boldUnderline:(...$)=>B0({attributes:G0.BOLD|G0.UNDERLINE},...$),italicUnderline:(...$)=>B0({attributes:G0.ITALIC|G0.UNDERLINE},...$),boldItalicUnderline:(...$)=>B0({attributes:G0.BOLD|G0.ITALIC|G0.UNDERLINE},...$),color:($,...J)=>B0({fg:$},...J),bgColor:($,...J)=>B0({bg:$},...J),fg:($,...J)=>B0({fg:$},...J),bg:($,...J)=>B0({bg:$},...J),styled:($=0,...J)=>B0({attributes:$},...J)};class e7 extends Q0{options;constructor($,J){super($,J);this.options=J}renderSelf($,J){if(this.options.render)this.options.render.call(this.options,$,J,this)}}var $4="#888888",J4="transparent";class J2 extends Q0{target;_fg;_bg;_minWidth;_paddingRight;_lineColorsGutter;_lineColorsContent;_lineSigns;_lineNumberOffset;_hideLineNumbers;_lineNumbers;_maxBeforeWidth=0;_maxAfterWidth=0;_lastKnownLineCount=0;_lastKnownScrollY=0;constructor($,J,Z){super($,{id:Z.id,width:"auto",height:"auto",flexGrow:0,flexShrink:0,buffered:Z.buffered});this.target=J,this._fg=Z.fg,this._bg=Z.bg,this._minWidth=Z.minWidth,this._paddingRight=Z.paddingRight,this._lineColorsGutter=Z.lineColorsGutter,this._lineColorsContent=Z.lineColorsContent,this._lineSigns=Z.lineSigns,this._lineNumberOffset=Z.lineNumberOffset,this._hideLineNumbers=Z.hideLineNumbers,this._lineNumbers=Z.lineNumbers??new Map,this._lastKnownLineCount=this.target.virtualLineCount,this._lastKnownScrollY=this.target.scrollY,this.calculateSignWidths(),this.setupMeasureFunc(),this.onLifecyclePass=()=>{let Q=this.target.virtualLineCount;if(Q!==this._lastKnownLineCount)this._lastKnownLineCount=Q,this.yogaNode.markDirty(),this.requestRender()}}setupMeasureFunc(){let $=(J,Z,Q,U)=>{let G=this.calculateWidth(),j=this.target.virtualLineCount;return{width:G,height:j}};this.yogaNode.setMeasureFunc($)}remeasure(){this.yogaNode.markDirty()}setLineNumberOffset($){if(this._lineNumberOffset!==$)this._lineNumberOffset=$,this.yogaNode.markDirty(),this.requestRender()}setHideLineNumbers($){this._hideLineNumbers=$,this.yogaNode.markDirty(),this.requestRender()}setLineNumbers($){this._lineNumbers=$,this.yogaNode.markDirty(),this.requestRender()}calculateSignWidths(){this._maxBeforeWidth=0,this._maxAfterWidth=0;for(let $ of this._lineSigns.values()){if($.before){let J=e8($.before);this._maxBeforeWidth=Math.max(this._maxBeforeWidth,J)}if($.after){let J=e8($.after);this._maxAfterWidth=Math.max(this._maxAfterWidth,J)}}}calculateWidth(){let J=this.target.virtualLineCount+this._lineNumberOffset;if(this._lineNumbers.size>0)for(let U of this._lineNumbers.values())J=Math.max(J,U);let Z=J>0?Math.floor(Math.log10(J))+1:1;return Math.max(this._minWidth,Z+this._paddingRight+1)+this._maxBeforeWidth+this._maxAfterWidth}setLineColors($,J){this._lineColorsGutter=$,this._lineColorsContent=J,this.requestRender()}get fg(){return this._fg}setFg($){if(this._fg!==$)this._fg=$,this.requestRender()}get bg(){return this._bg}setBg($){if(this._bg!==$)this._bg=$,this.requestRender()}getLineColors(){return{gutter:this._lineColorsGutter,content:this._lineColorsContent}}setLineSigns($){let J=this._maxBeforeWidth,Z=this._maxAfterWidth;if(this._lineSigns=$,this.calculateSignWidths(),this._maxBeforeWidth!==J||this._maxAfterWidth!==Z)this.yogaNode.markDirty();this.requestRender()}getLineSigns(){return this._lineSigns}renderSelf($){let J=this.target.scrollY,Z=J!==this._lastKnownScrollY;if(this.buffered&&!this.isDirty&&!Z)return;this._lastKnownScrollY=J,this.refreshFrameBuffer($)}refreshFrameBuffer($){let J=this.buffered?0:this.x,Z=this.buffered?0:this.y;if(this.buffered)$.clear(this._bg);else if(this._bg.a>0)$.fillRect(J,Z,this.width,this.height,this._bg);let Q=this.target.lineInfo;if(!Q||!Q.lineSources)return;let U=Q.lineSources,G=-1,j=this.target.scrollY;if(j>=U.length)return;G=j>0?U[j-1]:-1;for(let q=0;q<this.height;q++){let K=j+q;if(K>=U.length)break;let _=U[K],D=this._lineColorsGutter.get(_)??this._bg;if(D!==this._bg)$.fillRect(J,Z+q,this.width,1,D);if(_===G);else{let z=J,H=this._lineSigns.get(_);if(H?.before){let O=e8(H.before),X=this._maxBeforeWidth-O;z+=X;let P=H.beforeColor?E(H.beforeColor):this._fg;$.drawText(H.before,z,Z+q,P,D),z+=O}else if(this._maxBeforeWidth>0)z+=this._maxBeforeWidth;if(!this._hideLineNumbers.has(_)){let O=this._lineNumbers.get(_),P=(O!==void 0?O:_+1+this._lineNumberOffset).toString(),N=P.length,W=this.width-this._maxBeforeWidth-this._maxAfterWidth-this._paddingRight,F=J+this._maxBeforeWidth+1+W-N-1;if(F>=J+this._maxBeforeWidth+1)$.drawText(P,F,Z+q,this._fg,D)}if(H?.after){let O=J+this.width-this._paddingRight-this._maxAfterWidth,X=H.afterColor?E(H.afterColor):this._fg;$.drawText(H.after,O,Z+q,X,D)}}G=_}}}function Z4($){return l.fromValues($.r*0.8,$.g*0.8,$.b*0.8,$.a)}class $J extends Q0{gutter=null;target=null;_lineColorsGutter;_lineColorsContent;_lineSigns;_fg;_bg;_minWidth;_paddingRight;_lineNumberOffset;_hideLineNumbers;_lineNumbers;_isDestroying=!1;handleLineInfoChange=()=>{this.gutter?.remeasure(),this.requestRender()};parseLineColor($,J){if(typeof J==="object"&&"gutter"in J){let Z=J;if(Z.gutter)this._lineColorsGutter.set($,E(Z.gutter));if(Z.content)this._lineColorsContent.set($,E(Z.content));else if(Z.gutter)this._lineColorsContent.set($,Z4(E(Z.gutter)))}else{let Z=E(J);this._lineColorsGutter.set($,Z),this._lineColorsContent.set($,Z4(Z))}}constructor($,J){super($,{...J,flexDirection:"row",height:"auto"});if(this._fg=E(J.fg??$4),this._bg=E(J.bg??J4),this._minWidth=J.minWidth??3,this._paddingRight=J.paddingRight??1,this._lineNumberOffset=J.lineNumberOffset??0,this._hideLineNumbers=J.hideLineNumbers??new Set,this._lineNumbers=J.lineNumbers??new Map,this._lineColorsGutter=new Map,this._lineColorsContent=new Map,J.lineColors)for(let[Z,Q]of J.lineColors)this.parseLineColor(Z,Q);if(this._lineSigns=new Map,J.lineSigns)for(let[Z,Q]of J.lineSigns)this._lineSigns.set(Z,Q);if(J.target)this.setTarget(J.target)}setTarget($){if(this.target===$)return;if(this.target)this.target.off("line-info-change",this.handleLineInfoChange),super.remove(this.target.id);if(this.gutter)super.remove(this.gutter.id),this.gutter=null;this.target=$,this.target.on("line-info-change",this.handleLineInfoChange),this.gutter=new J2(this.ctx,this.target,{fg:this._fg,bg:this._bg,minWidth:this._minWidth,paddingRight:this._paddingRight,lineColorsGutter:this._lineColorsGutter,lineColorsContent:this._lineColorsContent,lineSigns:this._lineSigns,lineNumberOffset:this._lineNumberOffset,hideLineNumbers:this._hideLineNumbers,lineNumbers:this._lineNumbers,id:this.id?`${this.id}-gutter`:void 0,buffered:!0}),super.add(this.gutter),super.add(this.target)}add($){if(!this.target&&"lineInfo"in $&&"lineCount"in $&&"virtualLineCount"in $&&"scrollY"in $)return this.setTarget($),this.getChildrenCount()-1;return-1}remove($){if(this._isDestroying){super.remove($);return}if(this.gutter&&$===this.gutter.id)throw Error("LineNumberRenderable: Cannot remove gutter directly.");if(this.target&&$===this.target.id)throw Error("LineNumberRenderable: Cannot remove target directly. Use clearTarget() instead.");super.remove($)}destroyRecursively(){if(this._isDestroying=!0,this.target)this.target.off("line-info-change",this.handleLineInfoChange);super.destroyRecursively(),this.gutter=null,this.target=null}clearTarget(){if(this.target)this.target.off("line-info-change",this.handleLineInfoChange),super.remove(this.target.id),this.target=null;if(this.gutter)super.remove(this.gutter.id),this.gutter=null}renderSelf($){if(!this.target||!this.gutter)return;let J=this.target.lineInfo;if(!J||!J.lineSources)return;let Z=J.lineSources,Q=this.target.scrollY;if(Q>=Z.length)return;let U=this.gutter.visible?this.gutter.width:0,G=this.width-U;for(let j=0;j<this.height;j++){let q=Q+j;if(q>=Z.length)break;let K=Z[q],_=this._lineColorsContent.get(K);if(_)$.fillRect(this.x+U,this.y+j,G,1,_)}}set showLineNumbers($){if(this.gutter)this.gutter.visible=$}get showLineNumbers(){return this.gutter?.visible??!1}get fg(){return this._fg}set fg($){let J=E($??$4);if(this._fg!==J)this._fg=J,this.gutter?.setFg(J)}get bg(){return this._bg}set bg($){let J=E($??J4);if(this._bg!==J)this._bg=J,this.gutter?.setBg(J)}setLineColor($,J){if(this.parseLineColor($,J),this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}clearLineColor($){if(this._lineColorsGutter.delete($),this._lineColorsContent.delete($),this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}clearAllLineColors(){if(this._lineColorsGutter.clear(),this._lineColorsContent.clear(),this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}setLineColors($){this._lineColorsGutter.clear(),this._lineColorsContent.clear();for(let[J,Z]of $)this.parseLineColor(J,Z);if(this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}getLineColors(){return{gutter:this._lineColorsGutter,content:this._lineColorsContent}}setLineSign($,J){if(this._lineSigns.set($,J),this.gutter)this.gutter.setLineSigns(this._lineSigns)}clearLineSign($){if(this._lineSigns.delete($),this.gutter)this.gutter.setLineSigns(this._lineSigns)}clearAllLineSigns(){if(this._lineSigns.clear(),this.gutter)this.gutter.setLineSigns(this._lineSigns)}setLineSigns($){this._lineSigns.clear();for(let[J,Z]of $)this._lineSigns.set(J,Z);if(this.gutter)this.gutter.setLineSigns(this._lineSigns)}getLineSigns(){return this._lineSigns}set lineNumberOffset($){if(this._lineNumberOffset!==$){if(this._lineNumberOffset=$,this.gutter)this.gutter.setLineNumberOffset($)}}get lineNumberOffset(){return this._lineNumberOffset}setHideLineNumbers($){if(this._hideLineNumbers=$,this.gutter)this.gutter.setHideLineNumbers($)}getHideLineNumbers(){return this._hideLineNumbers}setLineNumbers($){if(this._lineNumbers=$,this.gutter)this.gutter.setLineNumbers($)}getLineNumbers(){return this._lineNumbers}highlightLines($,J,Z){for(let Q=$;Q<=J;Q++)this.parseLineColor(Q,Z);if(this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}clearHighlightLines($,J){for(let Z=$;Z<=J;Z++)this._lineColorsGutter.delete(Z),this._lineColorsContent.delete(Z);if(this.gutter)this.gutter.setLineColors(this._lineColorsGutter,this._lineColorsContent)}}function Cj($){let J=$.split(/\n/),Z=[],Q=0;function U(X){return/^diff --git /.test(X)}function G(X){return U(X)||/^Index:\s/.test(X)||/^diff(?: -r \w+)+\s/.test(X)}function j(X){return/^(---|\+\+\+)\s/.test(X)}function q(X){return/^@@\s/.test(X)}function K(){var X;let P={};P.hunks=[],Z.push(P);let N=!1;while(Q<J.length){let W=J[Q];if(j(W)||q(W))break;if(U(W)){if(N)return;N=!0,P.isGit=!0;let F=_(W);if(F)P.oldFileName=F.oldFileName,P.newFileName=F.newFileName;Q++;while(Q<J.length){let B=J[Q];if(j(B)||q(B)||G(B))break;let I=/^rename from (.*)/.exec(B);if(I)P.oldFileName="a/"+D(I[1]),P.isRename=!0;let w=/^rename to (.*)/.exec(B);if(w)P.newFileName="b/"+D(w[1]),P.isRename=!0;let x=/^copy from (.*)/.exec(B);if(x)P.oldFileName="a/"+D(x[1]),P.isCopy=!0;let C=/^copy to (.*)/.exec(B);if(C)P.newFileName="b/"+D(C[1]),P.isCopy=!0;let T=/^new file mode (\d+)/.exec(B);if(T)P.isCreate=!0,P.newMode=T[1];let y=/^deleted file mode (\d+)/.exec(B);if(y)P.isDelete=!0,P.oldMode=y[1];let f=/^old mode (\d+)/.exec(B);if(f)P.oldMode=f[1];let m=/^new mode (\d+)/.exec(B);if(m)P.newMode=m[1];if(/^Binary files /.test(B))P.isBinary=!0;Q++}continue}else if(G(W)){if(N)return;N=!0;let F=/^(?:Index:|diff(?: -r \w+)+)\s+/.exec(W);if(F)P.index=W.substring(F[0].length).trim()}Q++}if(H(P),H(P),P.oldFileName===void 0!==(P.newFileName===void 0))throw Error("Missing "+(P.oldFileName!==void 0?'"+++ ..."':'"--- ..."')+" file header for "+((X=P.oldFileName)!==null&&X!==void 0?X:P.newFileName));while(Q<J.length){let W=J[Q];if(G(W)||j(W)||/^===================================================================/.test(W))break;else if(q(W))P.hunks.push(O());else Q++}}function _(X){let P=X.substring(11);if(P.startsWith('"')){let W=z(P);if(W===null)return null;let F=P.substring(W.rawLength+1),B;if(F.startsWith('"')){let I=z(F);if(I===null)return null;B=I.fileName}else B=F;return{oldFileName:W.fileName,newFileName:B}}let N=P.indexOf('"');if(N>0){let W=P.substring(0,N-1),F=z(P.substring(N));if(F===null)return null;return{oldFileName:W,newFileName:F.fileName}}if(P.startsWith("a/")){let W=[],F=0;while(!0){if(F=P.indexOf(" b/",F+1),F===-1)break;W.push(F)}if(W.length>0){let B=W[Math.floor(W.length/2)];return{oldFileName:P.substring(0,B),newFileName:P.substring(B+1)}}}return null}function D(X){if(X.startsWith('"')){let P=z(X);if(P)return P.fileName}return X}function z(X){if(!X.startsWith('"'))return null;let P="",N=1;while(N<X.length){if(X[N]==='"')return{fileName:P,rawLength:N+1};if(X[N]==="\\"&&N+1<X.length)switch(N++,X[N]){case"a":P+="\x07";break;case"b":P+="\b";break;case"f":P+="\f";break;case"n":P+=`
104
+ `;break;case"r":P+="\r";break;case"t":P+="\t";break;case"v":P+="\v";break;case"\\":P+="\\";break;case'"':P+='"';break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{if(N+2>=X.length||X[N+1]<"0"||X[N+1]>"7"||X[N+2]<"0"||X[N+2]>"7")return null;let W=[parseInt(X.substring(N,N+3),8)];N+=3;while(X[N]==="\\"&&X[N+1]>="0"&&X[N+1]<="7"){if(N+3>=X.length||X[N+2]<"0"||X[N+2]>"7"||X[N+3]<"0"||X[N+3]>"7")return null;W.push(parseInt(X.substring(N+1,N+4),8)),N+=4}P+=new TextDecoder("utf-8").decode(new Uint8Array(W));continue}default:return null}else P+=X[N];N++}return null}function H(X){let P=/^(---|\+\+\+)\s+/.exec(J[Q]);if(P){let N=P[1],W=J[Q].substring(3).trim().split("\t",2),F=(W[1]||"").trim(),B=W[0];if(B.startsWith('"'))B=D(B);else B=B.replace(/\\\\/g,"\\");if(N==="---")X.oldFileName=B,X.oldHeader=F;else X.newFileName=B,X.newHeader=F;Q++}}function O(){var X;let P=Q,N=J[Q++],W=N.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),F={oldStart:+W[1],oldLines:typeof W[2]>"u"?1:+W[2],newStart:+W[3],newLines:typeof W[4]>"u"?1:+W[4],lines:[]};if(F.oldLines===0)F.oldStart+=1;if(F.newLines===0)F.newStart+=1;let B=0,I=0;for(;Q<J.length&&(I<F.oldLines||B<F.newLines||((X=J[Q])===null||X===void 0?void 0:X.startsWith("\\")));Q++){let w=J[Q].length==0&&Q!=J.length-1?" ":J[Q][0];if(w==="+"||w==="-"||w===" "||w==="\\"){if(F.lines.push(J[Q]),w==="+")B++;else if(w==="-")I++;else if(w===" ")B++,I++}else throw Error(`Hunk at line ${P+1} contained invalid line ${J[Q]}`)}if(!B&&F.newLines===1)F.newLines=0;if(!I&&F.oldLines===1)F.oldLines=0;if(B!==F.newLines)throw Error("Added line count did not match for hunk at line "+(P+1));if(I!==F.oldLines)throw Error("Removed line count did not match for hunk at line "+(P+1));if(Q<J.length&&J[Q]&&/^[+ -]/.test(J[Q])&&!j(J[Q]))throw Error("Hunk at line "+(P+1)+" has more lines than expected (expected "+F.oldLines+" old lines and "+F.newLines+" new lines)");return F}while(Q<J.length)K();return Z}class w9 extends Q0{_diff;_syncScroll=!1;_view;_parsedDiff=null;_parseError=null;_fg;_filetype;_syntaxStyle;_wrapMode;_conceal;_selectionBg;_selectionFg;_treeSitterClient;_showLineNumbers;_lineNumberFg;_lineNumberBg;_addedBg;_removedBg;_contextBg;_addedContentBg;_removedContentBg;_contextContentBg;_addedSignColor;_removedSignColor;_addedLineNumberBg;_removedLineNumberBg;leftSide=null;rightSide=null;leftSideAdded=!1;rightSideAdded=!1;leftCodeRenderable=null;rightCodeRenderable=null;pendingRebuild=!1;_lastWidth=0;errorTextRenderable=null;errorCodeRenderable=null;_waitingForHighlight=!1;_lineInfoChangeHandler=null;constructor($,J){super($,{...J,flexDirection:J.view==="split"?"row":"column"});if(this._diff=J.diff??"",this._syncScroll=J.syncScroll??!1,this._view=J.view??"unified",this._fg=J.fg?E(J.fg):void 0,this._filetype=J.filetype,this._syntaxStyle=J.syntaxStyle,this._wrapMode=J.wrapMode,this._conceal=J.conceal??!1,this._selectionBg=J.selectionBg?E(J.selectionBg):void 0,this._selectionFg=J.selectionFg?E(J.selectionFg):void 0,this._treeSitterClient=J.treeSitterClient,this._showLineNumbers=J.showLineNumbers??!0,this._lineNumberFg=E(J.lineNumberFg??"#888888"),this._lineNumberBg=E(J.lineNumberBg??"transparent"),this._addedBg=E(J.addedBg??"#1a4d1a"),this._removedBg=E(J.removedBg??"#4d1a1a"),this._contextBg=E(J.contextBg??"transparent"),this._addedContentBg=J.addedContentBg?E(J.addedContentBg):null,this._removedContentBg=J.removedContentBg?E(J.removedContentBg):null,this._contextContentBg=J.contextContentBg?E(J.contextContentBg):null,this._addedSignColor=E(J.addedSignColor??"#22c55e"),this._removedSignColor=E(J.removedSignColor??"#ef4444"),this._addedLineNumberBg=E(J.addedLineNumberBg??"transparent"),this._removedLineNumberBg=E(J.removedLineNumberBg??"transparent"),this._diff)this.parseDiff(),this.buildView()}parseDiff(){if(!this._diff){this._parsedDiff=null,this._parseError=null;return}try{let $=Cj(this._diff);if($.length===0){this._parsedDiff=null,this._parseError=null;return}this._parsedDiff=$[0],this._parseError=null}catch($){this._parsedDiff=null,this._parseError=$ instanceof Error?$:Error(String($))}}buildView(){if(this._parseError){this.buildErrorView();return}if(!this._parsedDiff||this._parsedDiff.hunks.length===0)return;if(this._view==="unified")this.buildUnifiedView();else this.buildSplitView()}onMouseEvent($){if($.type!=="scroll"||this._view!=="split"||!this._syncScroll)return;if(!this.leftCodeRenderable||!this.rightCodeRenderable)return;if(!$.target)return;if(this.isInsideSide($.target,"left"))this.rightCodeRenderable.scrollY=this.leftCodeRenderable.scrollY,this.rightCodeRenderable.scrollX=this.leftCodeRenderable.scrollX;else if(this.isInsideSide($.target,"right"))this.leftCodeRenderable.scrollY=this.rightCodeRenderable.scrollY,this.leftCodeRenderable.scrollX=this.rightCodeRenderable.scrollX}isInsideSide($,J){let Z=J==="left"?this.leftCodeRenderable:this.rightCodeRenderable,Q=$;while(Q){if(Q===Z)return!0;Q=Q.parent}return!1}onResize($,J){if(super.onResize($,J),this._view==="split"&&this._wrapMode!=="none"&&this._wrapMode!==void 0){if(this._lastWidth!==$)this._lastWidth=$,this.requestRebuild()}}requestRebuild(){if(this.pendingRebuild)return;this.pendingRebuild=!0,queueMicrotask(()=>{if(!this.isDestroyed&&this.pendingRebuild)this.pendingRebuild=!1,this.buildView(),this.requestRender()})}rebuildView(){if(this._view==="split")this.requestRebuild();else this.buildView()}handleLineInfoChange=()=>{if(!this._waitingForHighlight)return;if(!this.leftCodeRenderable||!this.rightCodeRenderable)return;let $=this.leftCodeRenderable.isHighlighting,J=this.rightCodeRenderable.isHighlighting;if(!$&&!J)this._waitingForHighlight=!1,this.requestRebuild()};attachLineInfoListeners(){if(this._lineInfoChangeHandler)return;if(!this.leftCodeRenderable||!this.rightCodeRenderable)return;this._lineInfoChangeHandler=this.handleLineInfoChange,this.leftCodeRenderable.on("line-info-change",this._lineInfoChangeHandler),this.rightCodeRenderable.on("line-info-change",this._lineInfoChangeHandler)}detachLineInfoListeners(){if(!this._lineInfoChangeHandler)return;if(this.leftCodeRenderable)this.leftCodeRenderable.off("line-info-change",this._lineInfoChangeHandler);if(this.rightCodeRenderable)this.rightCodeRenderable.off("line-info-change",this._lineInfoChangeHandler);this._lineInfoChangeHandler=null}destroyRecursively(){this.detachLineInfoListeners(),this.pendingRebuild=!1,this.leftSideAdded=!1,this.rightSideAdded=!1,super.destroyRecursively()}buildErrorView(){if(this.flexDirection="column",this.leftSide&&this.leftSideAdded)super.remove(this.leftSide.id),this.leftSideAdded=!1;if(this.rightSide&&this.rightSideAdded)super.remove(this.rightSide.id),this.rightSideAdded=!1;let $=`Error parsing diff: ${this._parseError?.message||"Unknown error"}
105
+ `;if(!this.errorTextRenderable)this.errorTextRenderable=new G$(this.ctx,{id:this.id?`${this.id}-error-text`:void 0,content:$,fg:"#ef4444",width:"100%",flexShrink:0}),super.add(this.errorTextRenderable);else if(this.errorTextRenderable.content=$,this.getChildren().indexOf(this.errorTextRenderable)===-1)super.add(this.errorTextRenderable);if(!this.errorCodeRenderable)this.errorCodeRenderable=new X0(this.ctx,{id:this.id?`${this.id}-error-code`:void 0,content:this._diff,filetype:"diff",syntaxStyle:this._syntaxStyle??Q8.create(),wrapMode:this._wrapMode,conceal:this._conceal,width:"100%",flexGrow:1,flexShrink:1,...this._treeSitterClient!==void 0&&{treeSitterClient:this._treeSitterClient}}),super.add(this.errorCodeRenderable);else{if(this.errorCodeRenderable.content=this._diff,this.errorCodeRenderable.wrapMode=this._wrapMode??"none",this._syntaxStyle)this.errorCodeRenderable.syntaxStyle=this._syntaxStyle;if(this.getChildren().indexOf(this.errorCodeRenderable)===-1)super.add(this.errorCodeRenderable)}}createOrUpdateCodeRenderable($,J,Z,Q){let U=$==="left"?this.leftCodeRenderable:this.rightCodeRenderable;if(!U){let G={id:this.id?`${this.id}-${$}-code`:void 0,content:J,filetype:this._filetype,wrapMode:Z,conceal:this._conceal,syntaxStyle:this._syntaxStyle??Q8.create(),width:"100%",height:"100%",...this._fg!==void 0&&{fg:this._fg},...Q!==void 0&&{drawUnstyledText:Q},...this._selectionBg!==void 0&&{selectionBg:this._selectionBg},...this._selectionFg!==void 0&&{selectionFg:this._selectionFg},...this._treeSitterClient!==void 0&&{treeSitterClient:this._treeSitterClient}},j=new X0(this.ctx,G);if($==="left")this.leftCodeRenderable=j;else this.rightCodeRenderable=j;return j}else{if(U.content=J,U.wrapMode=Z??"none",U.conceal=this._conceal,Q!==void 0)U.drawUnstyledText=Q;if(this._filetype!==void 0)U.filetype=this._filetype;if(this._syntaxStyle!==void 0)U.syntaxStyle=this._syntaxStyle;if(this._selectionBg!==void 0)U.selectionBg=this._selectionBg;if(this._selectionFg!==void 0)U.selectionFg=this._selectionFg;if(this._fg!==void 0)U.fg=this._fg;return U}}createOrUpdateSide($,J,Z,Q,U,G,j){let q=$==="left"?this.leftSide:this.rightSide,K=$==="left"?this.leftSideAdded:this.rightSideAdded;if(!q){let _=new $J(this.ctx,{id:this.id?`${this.id}-${$}`:void 0,target:J,fg:this._lineNumberFg,bg:this._lineNumberBg,lineColors:Z,lineSigns:Q,lineNumbers:U,lineNumberOffset:0,hideLineNumbers:G,width:j,height:"100%"});if(_.showLineNumbers=this._showLineNumbers,super.add(_),$==="left")this.leftSide=_,this.leftSideAdded=!0;else this.rightSide=_,this.rightSideAdded=!0}else if(q.width=j,q.fg=this._lineNumberFg,q.bg=this._lineNumberBg,q.setLineColors(Z),q.setLineSigns(Q),q.setLineNumbers(U),q.setHideLineNumbers(G),!K)if(super.add(q),$==="left")this.leftSideAdded=!0;else this.rightSideAdded=!0}buildUnifiedView(){if(!this._parsedDiff)return;if(this.flexDirection="column",this.errorTextRenderable){if(this.getChildren().indexOf(this.errorTextRenderable)!==-1)super.remove(this.errorTextRenderable.id)}if(this.errorCodeRenderable){if(this.getChildren().indexOf(this.errorCodeRenderable)!==-1)super.remove(this.errorCodeRenderable.id)}let $=[],J=new Map,Z=new Map,Q=new Map,U=0;for(let q of this._parsedDiff.hunks){let{oldStart:K,newStart:_}=q;for(let D of q.lines){let z=D[0],H=D.slice(1);if(z==="+"){$.push(H);let O={gutter:this._addedLineNumberBg};if(this._addedContentBg)O.content=this._addedContentBg;else O.content=this._addedBg;J.set(U,O),Z.set(U,{after:" +",afterColor:this._addedSignColor}),Q.set(U,_),_++,U++}else if(z==="-"){$.push(H);let O={gutter:this._removedLineNumberBg};if(this._removedContentBg)O.content=this._removedContentBg;else O.content=this._removedBg;J.set(U,O),Z.set(U,{after:" -",afterColor:this._removedSignColor}),Q.set(U,K),K++,U++}else if(z===" "){$.push(H);let O={gutter:this._lineNumberBg};if(this._contextContentBg)O.content=this._contextContentBg;else O.content=this._contextBg;J.set(U,O),Q.set(U,_),K++,_++,U++}}}let G=$.join(`
106
+ `),j=this.createOrUpdateCodeRenderable("left",G,this._wrapMode);if(this.createOrUpdateSide("left",j,J,Z,Q,new Set,"100%"),this.rightSide&&this.rightSideAdded)super.remove(this.rightSide.id),this.rightSideAdded=!1}buildSplitView(){if(!this._parsedDiff)return;if(this.flexDirection="row",this.errorTextRenderable){if(this.getChildren().indexOf(this.errorTextRenderable)!==-1)super.remove(this.errorTextRenderable.id)}if(this.errorCodeRenderable){if(this.getChildren().indexOf(this.errorCodeRenderable)!==-1)super.remove(this.errorCodeRenderable.id)}let $=[],J=[];for(let y of this._parsedDiff.hunks){let{oldStart:f,newStart:m}=y,d=0;while(d<y.lines.length){let h=y.lines[d],a=h[0];if(a===" "){let i=h.slice(1);$.push({content:i,lineNum:f,color:this._contextBg,type:"context"}),J.push({content:i,lineNum:m,color:this._contextBg,type:"context"}),f++,m++,d++}else if(a==="\\")d++;else{let i=[],u=[];while(d<y.lines.length){let o=y.lines[d],g0=o[0];if(g0===" "||g0==="\\")break;let p8=o.slice(1);if(g0==="-")i.push({content:p8,lineNum:f}),f++;else if(g0==="+")u.push({content:p8,lineNum:m}),m++;d++}let s=Math.max(i.length,u.length);for(let o=0;o<s;o++){if(o<i.length)$.push({content:i[o].content,lineNum:i[o].lineNum,color:this._removedBg,sign:{after:" -",afterColor:this._removedSignColor},type:"remove"});else $.push({content:"",hideLineNumber:!0,type:"empty"});if(o<u.length)J.push({content:u[o].content,lineNum:u[o].lineNum,color:this._addedBg,sign:{after:" +",afterColor:this._addedSignColor},type:"add"});else J.push({content:"",hideLineNumber:!0,type:"empty"})}}}}let Z=this.width>0&&(this._wrapMode==="word"||this._wrapMode==="char"),Q=$.map((y)=>y.content).join(`
107
+ `),U=J.map((y)=>y.content).join(`
108
+ `),G=(this._wrapMode==="word"||this._wrapMode==="char")&&this._conceal&&this._filetype,j=!G,q=this.createOrUpdateCodeRenderable("left",Q,this._wrapMode,j),K=this.createOrUpdateCodeRenderable("right",U,this._wrapMode,j),_,D,z=q.isHighlighting,H=K.isHighlighting,O=G&&(z||H);if(O)this._waitingForHighlight=!0,this.attachLineInfoListeners();if(Z&&!O){let y=q.lineInfo,f=K.lineInfo,m=y.lineSources||[],d=f.lineSources||[],h=new Map,a=new Map;for(let s of m)h.set(s,(h.get(s)||0)+1);for(let s of d)a.set(s,(a.get(s)||0)+1);_=[],D=[];let i=0,u=0;for(let s=0;s<$.length;s++){let o=$[s],g0=J[s],p8=h.get(s)||1,jJ=a.get(s)||1;if(i<u){let K8=u-i;for(let I8=0;I8<K8;I8++)_.push({content:"",hideLineNumber:!0,type:"empty"});i+=K8}else if(u<i){let K8=i-u;for(let I8=0;I8<K8;I8++)D.push({content:"",hideLineNumber:!0,type:"empty"});u+=K8}_.push(o),D.push(g0),i+=p8,u+=jJ}if(i<u){let s=u-i;for(let o=0;o<s;o++)_.push({content:"",hideLineNumber:!0,type:"empty"})}else if(u<i){let s=i-u;for(let o=0;o<s;o++)D.push({content:"",hideLineNumber:!0,type:"empty"})}}else _=$,D=J;let P=new Map,N=new Map,W=new Map,F=new Map,B=new Set,I=new Set,w=new Map,x=new Map;_.forEach((y,f)=>{if(y.lineNum!==void 0)w.set(f,y.lineNum);if(y.hideLineNumber)B.add(f);if(y.type==="remove"){let m={gutter:this._removedLineNumberBg};if(this._removedContentBg)m.content=this._removedContentBg;else m.content=this._removedBg;P.set(f,m)}else if(y.type==="context"){let m={gutter:this._lineNumberBg};if(this._contextContentBg)m.content=this._contextContentBg;else m.content=this._contextBg;P.set(f,m)}if(y.sign)W.set(f,y.sign)}),D.forEach((y,f)=>{if(y.lineNum!==void 0)x.set(f,y.lineNum);if(y.hideLineNumber)I.add(f);if(y.type==="add"){let m={gutter:this._addedLineNumberBg};if(this._addedContentBg)m.content=this._addedContentBg;else m.content=this._addedBg;N.set(f,m)}else if(y.type==="context"){let m={gutter:this._lineNumberBg};if(this._contextContentBg)m.content=this._contextContentBg;else m.content=this._contextBg;N.set(f,m)}if(y.sign)F.set(f,y.sign)});let C=_.map((y)=>y.content).join(`
109
+ `),T=D.map((y)=>y.content).join(`
110
+ `);q.content=C,K.content=T,this.createOrUpdateSide("left",q,P,W,w,B,"50%"),this.createOrUpdateSide("right",K,N,F,x,I,"50%")}get diff(){return this._diff}set diff($){if(this._diff!==$)this._diff=$,this._waitingForHighlight=!1,this.parseDiff(),this.rebuildView()}get syncScroll(){return this._syncScroll}set syncScroll($){if(this._syncScroll!==$){if(this._syncScroll=$,!$)this.detachLineInfoListeners()}}get view(){return this._view}set view($){if(this._view!==$)this._view=$,this.flexDirection=$==="split"?"row":"column",this.buildView()}get filetype(){return this._filetype}set filetype($){if(this._filetype!==$)this._filetype=$,this.rebuildView()}get syntaxStyle(){return this._syntaxStyle}set syntaxStyle($){if(this._syntaxStyle!==$)this._syntaxStyle=$,this.rebuildView()}get wrapMode(){return this._wrapMode}set wrapMode($){if(this._wrapMode!==$){if(this._wrapMode=$,this._view==="unified"&&this.leftCodeRenderable)this.leftCodeRenderable.wrapMode=$??"none";else if(this._view==="split")this.requestRebuild()}}get showLineNumbers(){return this._showLineNumbers}set showLineNumbers($){if(this._showLineNumbers!==$){if(this._showLineNumbers=$,this.leftSide)this.leftSide.showLineNumbers=$;if(this.rightSide)this.rightSide.showLineNumbers=$}}get addedBg(){return this._addedBg}set addedBg($){let J=E($);if(this._addedBg!==J)this._addedBg=J,this.rebuildView()}get removedBg(){return this._removedBg}set removedBg($){let J=E($);if(this._removedBg!==J)this._removedBg=J,this.rebuildView()}get contextBg(){return this._contextBg}set contextBg($){let J=E($);if(this._contextBg!==J)this._contextBg=J,this.rebuildView()}get addedSignColor(){return this._addedSignColor}set addedSignColor($){let J=E($);if(this._addedSignColor!==J)this._addedSignColor=J,this.rebuildView()}get removedSignColor(){return this._removedSignColor}set removedSignColor($){let J=E($);if(this._removedSignColor!==J)this._removedSignColor=J,this.rebuildView()}get addedLineNumberBg(){return this._addedLineNumberBg}set addedLineNumberBg($){let J=E($);if(this._addedLineNumberBg!==J)this._addedLineNumberBg=J,this.rebuildView()}get removedLineNumberBg(){return this._removedLineNumberBg}set removedLineNumberBg($){let J=E($);if(this._removedLineNumberBg!==J)this._removedLineNumberBg=J,this.rebuildView()}get lineNumberFg(){return this._lineNumberFg}set lineNumberFg($){let J=E($);if(this._lineNumberFg!==J)this._lineNumberFg=J,this.rebuildView()}get lineNumberBg(){return this._lineNumberBg}set lineNumberBg($){let J=E($);if(this._lineNumberBg!==J)this._lineNumberBg=J,this.rebuildView()}get addedContentBg(){return this._addedContentBg}set addedContentBg($){let J=$?E($):null;if(this._addedContentBg!==J)this._addedContentBg=J,this.rebuildView()}get removedContentBg(){return this._removedContentBg}set removedContentBg($){let J=$?E($):null;if(this._removedContentBg!==J)this._removedContentBg=J,this.rebuildView()}get contextContentBg(){return this._contextContentBg}set contextContentBg($){let J=$?E($):null;if(this._contextContentBg!==J)this._contextContentBg=J,this.rebuildView()}get selectionBg(){return this._selectionBg}set selectionBg($){let J=$?E($):void 0;if(this._selectionBg!==J){if(this._selectionBg=J,this.leftCodeRenderable)this.leftCodeRenderable.selectionBg=J;if(this.rightCodeRenderable)this.rightCodeRenderable.selectionBg=J}}get selectionFg(){return this._selectionFg}set selectionFg($){let J=$?E($):void 0;if(this._selectionFg!==J){if(this._selectionFg=J,this.leftCodeRenderable)this.leftCodeRenderable.selectionFg=J;if(this.rightCodeRenderable)this.rightCodeRenderable.selectionFg=J}}get conceal(){return this._conceal}set conceal($){if(this._conceal!==$)this._conceal=$,this.rebuildView()}get fg(){return this._fg}set fg($){let J=$?E($):void 0;if(this._fg!==J){if(this._fg=J,this.leftCodeRenderable)this.leftCodeRenderable.fg=J;if(this.rightCodeRenderable)this.rightCodeRenderable.fg=J}}setLineColor($,J){this.leftSide?.setLineColor($,J),this.rightSide?.setLineColor($,J)}clearLineColor($){this.leftSide?.clearLineColor($),this.rightSide?.clearLineColor($)}setLineColors($){this.leftSide?.setLineColors($),this.rightSide?.setLineColors($)}clearAllLineColors(){this.leftSide?.clearAllLineColors(),this.rightSide?.clearAllLineColors()}highlightLines($,J,Z){this.leftSide?.highlightLines($,J,Z),this.rightSide?.highlightLines($,J,Z)}clearHighlightLines($,J){this.leftSide?.clearHighlightLines($,J),this.rightSide?.clearHighlightLines($,J)}}var v6=[{name:"left",action:"move-left"},{name:"right",action:"move-right"},{name:"up",action:"move-up"},{name:"down",action:"move-down"},{name:"left",shift:!0,action:"select-left"},{name:"right",shift:!0,action:"select-right"},{name:"up",shift:!0,action:"select-up"},{name:"down",shift:!0,action:"select-down"},{name:"home",action:"buffer-home"},{name:"end",action:"buffer-end"},{name:"home",shift:!0,action:"select-buffer-home"},{name:"end",shift:!0,action:"select-buffer-end"},{name:"a",ctrl:!0,action:"line-home"},{name:"e",ctrl:!0,action:"line-end"},{name:"a",ctrl:!0,shift:!0,action:"select-line-home"},{name:"e",ctrl:!0,shift:!0,action:"select-line-end"},{name:"a",meta:!0,action:"visual-line-home"},{name:"e",meta:!0,action:"visual-line-end"},{name:"a",meta:!0,shift:!0,action:"select-visual-line-home"},{name:"e",meta:!0,shift:!0,action:"select-visual-line-end"},{name:"f",ctrl:!0,action:"move-right"},{name:"b",ctrl:!0,action:"move-left"},{name:"w",ctrl:!0,action:"delete-word-backward"},{name:"backspace",ctrl:!0,action:"delete-word-backward"},{name:"d",meta:!0,action:"delete-word-forward"},{name:"delete",meta:!0,action:"delete-word-forward"},{name:"delete",ctrl:!0,action:"delete-word-forward"},{name:"d",ctrl:!0,shift:!0,action:"delete-line"},{name:"k",ctrl:!0,action:"delete-to-line-end"},{name:"u",ctrl:!0,action:"delete-to-line-start"},{name:"backspace",action:"backspace"},{name:"backspace",shift:!0,action:"backspace"},{name:"d",ctrl:!0,action:"delete"},{name:"delete",action:"delete"},{name:"delete",shift:!0,action:"delete"},{name:"return",action:"newline"},{name:"linefeed",action:"newline"},{name:"return",meta:!0,action:"submit"},{name:"-",ctrl:!0,action:"undo"},{name:".",ctrl:!0,action:"redo"},{name:"z",super:!0,action:"undo"},{name:"z",super:!0,shift:!0,action:"redo"},{name:"f",meta:!0,action:"word-forward"},{name:"b",meta:!0,action:"word-backward"},{name:"right",meta:!0,action:"word-forward"},{name:"left",meta:!0,action:"word-backward"},{name:"right",ctrl:!0,action:"word-forward"},{name:"left",ctrl:!0,action:"word-backward"},{name:"f",meta:!0,shift:!0,action:"select-word-forward"},{name:"b",meta:!0,shift:!0,action:"select-word-backward"},{name:"right",meta:!0,shift:!0,action:"select-word-forward"},{name:"left",meta:!0,shift:!0,action:"select-word-backward"},{name:"backspace",meta:!0,action:"delete-word-backward"},{name:"left",super:!0,action:"visual-line-home"},{name:"right",super:!0,action:"visual-line-end"},{name:"up",super:!0,action:"buffer-home"},{name:"down",super:!0,action:"buffer-end"},{name:"left",super:!0,shift:!0,action:"select-visual-line-home"},{name:"right",super:!0,shift:!0,action:"select-visual-line-end"},{name:"up",super:!0,shift:!0,action:"select-buffer-home"},{name:"down",super:!0,shift:!0,action:"select-buffer-end"},{name:"a",super:!0,action:"select-all"}];class q8 extends T6{_placeholder;_placeholderColor;_unfocusedBackgroundColor;_unfocusedTextColor;_focusedBackgroundColor;_focusedTextColor;_keyBindingsMap;_keyAliasMap;_keyBindings;_actionHandlers;_initialValueSet=!1;_submitListener=void 0;static defaults={backgroundColor:"transparent",textColor:"#FFFFFF",focusedBackgroundColor:"transparent",focusedTextColor:"#FFFFFF",placeholder:null,placeholderColor:"#666666"};constructor($,J){let Z=q8.defaults,Q={...J,backgroundColor:J.backgroundColor||Z.backgroundColor,textColor:J.textColor||Z.textColor};super($,Q);this._unfocusedBackgroundColor=E(J.backgroundColor||Z.backgroundColor),this._unfocusedTextColor=E(J.textColor||Z.textColor),this._focusedBackgroundColor=E(J.focusedBackgroundColor||J.backgroundColor||Z.focusedBackgroundColor),this._focusedTextColor=E(J.focusedTextColor||J.textColor||Z.focusedTextColor),this._placeholder=J.placeholder??Z.placeholder,this._placeholderColor=E(J.placeholderColor??Z.placeholderColor),this._keyAliasMap=E8(A8,J.keyAliasMap||{}),this._keyBindings=J.keyBindings||[];let U=p0(v6,this._keyBindings);if(this._keyBindingsMap=c0(U,this._keyAliasMap),this._actionHandlers=this.buildActionHandlers(),this._submitListener=J.onSubmit,J.initialValue)this.setText(J.initialValue),this._initialValueSet=!0;this.updateColors(),this.applyPlaceholder(this._placeholder)}applyPlaceholder($){if($===null){this.editorView.setPlaceholderStyledText([]);return}if(typeof $==="string"){let Z=[A7(this._placeholderColor)($)];this.editorView.setPlaceholderStyledText(Z)}else this.editorView.setPlaceholderStyledText($.chunks)}buildActionHandlers(){return new Map([["move-left",()=>this.moveCursorLeft()],["move-right",()=>this.moveCursorRight()],["move-up",()=>this.moveCursorUp()],["move-down",()=>this.moveCursorDown()],["select-left",()=>this.moveCursorLeft({select:!0})],["select-right",()=>this.moveCursorRight({select:!0})],["select-up",()=>this.moveCursorUp({select:!0})],["select-down",()=>this.moveCursorDown({select:!0})],["line-home",()=>this.gotoLineHome()],["line-end",()=>this.gotoLineEnd()],["select-line-home",()=>this.gotoLineHome({select:!0})],["select-line-end",()=>this.gotoLineEnd({select:!0})],["visual-line-home",()=>this.gotoVisualLineHome()],["visual-line-end",()=>this.gotoVisualLineEnd()],["select-visual-line-home",()=>this.gotoVisualLineHome({select:!0})],["select-visual-line-end",()=>this.gotoVisualLineEnd({select:!0})],["select-buffer-home",()=>this.gotoBufferHome({select:!0})],["select-buffer-end",()=>this.gotoBufferEnd({select:!0})],["buffer-home",()=>this.gotoBufferHome()],["buffer-end",()=>this.gotoBufferEnd()],["delete-line",()=>this.deleteLine()],["delete-to-line-end",()=>this.deleteToLineEnd()],["delete-to-line-start",()=>this.deleteToLineStart()],["backspace",()=>this.deleteCharBackward()],["delete",()=>this.deleteChar()],["newline",()=>this.newLine()],["undo",()=>this.undo()],["redo",()=>this.redo()],["word-forward",()=>this.moveWordForward()],["word-backward",()=>this.moveWordBackward()],["select-word-forward",()=>this.moveWordForward({select:!0})],["select-word-backward",()=>this.moveWordBackward({select:!0})],["delete-word-forward",()=>this.deleteWordForward()],["delete-word-backward",()=>this.deleteWordBackward()],["select-all",()=>this.selectAll()],["submit",()=>this.submit()]])}handlePaste($){this.insertText(E6(A6($.bytes)))}handleKeyPress($){if(this.traits.suspend!==!0){let J=I6(this._keyBindingsMap,$);if(J){let Z=this._actionHandlers.get(J);if(Z)return Z()}}if(!$.ctrl&&!$.meta&&!$.super&&!$.hyper){if($.name==="space")return this.insertText(" "),!0;if($.sequence){let J=$.sequence.charCodeAt(0);if(J<32)return!1;if(J===127)return!1;return this.insertText($.sequence),!0}}return!1}updateColors(){let $=this._focused?this._focusedBackgroundColor:this._unfocusedBackgroundColor,J=this._focused?this._focusedTextColor:this._unfocusedTextColor;super.backgroundColor=$,super.textColor=J}focus(){super.focus(),this.updateColors()}blur(){if(super.blur(),!this.isDestroyed)this.updateColors()}get placeholder(){return this._placeholder}set placeholder($){let J=$??null;if(this._placeholder!==J)this._placeholder=J,this.applyPlaceholder(J),this.requestRender()}get placeholderColor(){return this._placeholderColor}set placeholderColor($){let J=E($??q8.defaults.placeholderColor);if(this._placeholderColor!==J)this._placeholderColor=J,this.applyPlaceholder(this._placeholder),this.requestRender()}get backgroundColor(){return this._unfocusedBackgroundColor}set backgroundColor($){let J=E($??q8.defaults.backgroundColor);if(this._unfocusedBackgroundColor!==J)this._unfocusedBackgroundColor=J,this.updateColors()}get textColor(){return this._unfocusedTextColor}set textColor($){let J=E($??q8.defaults.textColor);if(this._unfocusedTextColor!==J)this._unfocusedTextColor=J,this.updateColors()}set focusedBackgroundColor($){let J=E($??q8.defaults.focusedBackgroundColor);if(this._focusedBackgroundColor!==J)this._focusedBackgroundColor=J,this.updateColors()}set focusedTextColor($){let J=E($??q8.defaults.focusedTextColor);if(this._focusedTextColor!==J)this._focusedTextColor=J,this.updateColors()}set initialValue($){if(!this._initialValueSet)this.setText($),this._initialValueSet=!0}submit(){if(this._submitListener)this._submitListener({});return!0}set onSubmit($){this._submitListener=$}get onSubmit(){return this._submitListener}set keyBindings($){this._keyBindings=$;let J=p0(v6,$);this._keyBindingsMap=c0(J,this._keyAliasMap)}set keyAliasMap($){this._keyAliasMap=E8(A8,$);let J=p0(v6,this._keyBindings);this._keyBindingsMap=c0(J,this._keyAliasMap)}get extmarks(){return this.editorView.extmarks}}var k9;(($)=>{$.INPUT="input",$.CHANGE="change",$.ENTER="enter"})(k9||={});class c6 extends q8{_maxLength;_lastCommittedValue="";static defaultOptions={placeholder:"",maxLength:1000,value:""};constructor($,J){let Z=c6.defaultOptions,Q=J.maxLength??Z.maxLength,G=(J.value??Z.value).replace(/[\n\r]/g,"").substring(0,Q);super($,{...J,placeholder:J.placeholder??Z.placeholder,initialValue:G,height:1,wrapMode:"none",keyBindings:[{name:"return",action:"submit"},{name:"linefeed",action:"submit"},...J.keyBindings||[]]});if(this._maxLength=Q,this._lastCommittedValue=this.plainText,G)this.cursorOffset=G.length}newLine(){return!1}handlePaste($){let J=E6(A6($.bytes)).replace(/[\n\r]/g,"");if(J)this.insertText(J)}insertText($){let J=$.replace(/[\n\r]/g,"");if(!J)return;let Z=this.plainText.length,Q=this._maxLength-Z;if(Q<=0)return;let U=J.substring(0,Q);super.insertText(U),this.emit("input",this.plainText)}get value(){return this.plainText}set value($){let J=$.substring(0,this._maxLength).replace(/[\n\r]/g,"");if(this.plainText!==J)this.setText(J),this.cursorOffset=J.length,this.emit("input",J)}focus(){super.focus(),this._lastCommittedValue=this.plainText}blur(){if(!this.isDestroyed){let $=this.plainText;if($!==this._lastCommittedValue)this._lastCommittedValue=$,this.emit("change",$)}super.blur()}submit(){let $=this.plainText;if($!==this._lastCommittedValue)this._lastCommittedValue=$,this.emit("change",$);return this.emit("enter",$),!0}deleteCharBackward(){let $=super.deleteCharBackward();return this.emit("input",this.plainText),$}deleteChar(){let $=super.deleteChar();return this.emit("input",this.plainText),$}deleteLine(){let $=super.deleteLine();return this.emit("input",this.plainText),$}deleteWordBackward(){let $=super.deleteWordBackward();return this.emit("input",this.plainText),$}deleteWordForward(){let $=super.deleteWordForward();return this.emit("input",this.plainText),$}deleteToLineStart(){let $=super.deleteToLineStart();return this.emit("input",this.plainText),$}deleteToLineEnd(){let $=super.deleteToLineEnd();return this.emit("input",this.plainText),$}undo(){let $=super.undo();return this.emit("input",this.plainText),$}redo(){let $=super.redo();return this.emit("input",this.plainText),$}deleteCharacter($){if($==="backward")this.deleteCharBackward();else this.deleteChar()}set maxLength($){this._maxLength=$;let J=this.plainText;if(J.length>$)this.setText(J.substring(0,$))}get maxLength(){return this._maxLength}set placeholder($){super.placeholder=$}get placeholder(){let $=super.placeholder;return typeof $==="string"?$:""}set initialValue($){}}var Q4=1e4;class L8 extends Q0{_content;_wrapMode;_columnWidthMode;_columnFitter;_cellPaddingX;_cellPaddingY;_columnGap;_showBorders;_border;_outerBorder;_hasExplicitOuterBorder;_borderStyle;_borderColor;_borderBackgroundColor;_backgroundColor;_defaultFg;_defaultBg;_defaultAttributes;_selectionBg;_selectionFg;_lastLocalSelection=null;_lastSelectionMode=null;_cells=[];_prevCellContent=[];_rowCount=0;_columnCount=0;_layout=this.createEmptyLayout();_layoutDirty=!0;_rasterDirty=!0;_cachedMeasureLayout=null;_cachedMeasureWidth=void 0;_defaultOptions={content:[],wrapMode:"word",columnWidthMode:"full",columnFitter:"proportional",cellPadding:0,cellPaddingX:void 0,cellPaddingY:void 0,columnGap:0,showBorders:!0,border:!0,outerBorder:!0,selectable:!0,selectionBg:void 0,selectionFg:void 0,borderStyle:"single",borderColor:"#FFFFFF",borderBackgroundColor:"transparent",backgroundColor:"transparent",fg:"#FFFFFF",bg:"transparent",attributes:0};constructor($,J={}){super($,{...J,flexShrink:J.flexShrink??0,buffered:!0});this._content=J.content??this._defaultOptions.content,this._wrapMode=J.wrapMode??this._defaultOptions.wrapMode,this._columnWidthMode=J.columnWidthMode??this._defaultOptions.columnWidthMode,this._columnFitter=this.resolveColumnFitter(J.columnFitter),this._cellPaddingX=this.resolveCellPadding(J.cellPaddingX??J.cellPadding),this._cellPaddingY=this.resolveCellPadding(J.cellPaddingY??J.cellPadding),this._columnGap=this.resolveColumnGap(J.columnGap),this._showBorders=J.showBorders??this._defaultOptions.showBorders,this._border=J.border??this._defaultOptions.border,this._hasExplicitOuterBorder=J.outerBorder!==void 0,this._outerBorder=J.outerBorder??this._border,this.selectable=J.selectable??this._defaultOptions.selectable,this._selectionBg=J.selectionBg?E(J.selectionBg):void 0,this._selectionFg=J.selectionFg?E(J.selectionFg):void 0,this._borderStyle=g8(J.borderStyle,this._defaultOptions.borderStyle),this._borderColor=E(J.borderColor??this._defaultOptions.borderColor),this._borderBackgroundColor=E(J.borderBackgroundColor??this._defaultOptions.borderBackgroundColor),this._backgroundColor=E(J.backgroundColor??this._defaultOptions.backgroundColor),this._defaultFg=E(J.fg??this._defaultOptions.fg),this._defaultBg=E(J.bg??this._defaultOptions.bg),this._defaultAttributes=J.attributes??this._defaultOptions.attributes,this.setupMeasureFunc(),this.rebuildCells()}get content(){return this._content}set content($){this._content=$??[],this.rebuildCells()}get wrapMode(){return this._wrapMode}set wrapMode($){if(this._wrapMode===$)return;this._wrapMode=$;for(let J of this._cells)for(let Z of J)Z.textBufferView.setWrapMode($);this.invalidateLayoutAndRaster()}get columnWidthMode(){return this._columnWidthMode}set columnWidthMode($){if(this._columnWidthMode===$)return;this._columnWidthMode=$,this.invalidateLayoutAndRaster()}get columnFitter(){return this._columnFitter}set columnFitter($){let J=this.resolveColumnFitter($);if(this._columnFitter===J)return;this._columnFitter=J,this.invalidateLayoutAndRaster()}get cellPadding(){return this._cellPaddingX===this._cellPaddingY?this._cellPaddingX:0}set cellPadding($){let J=this.resolveCellPadding($);if(this._cellPaddingX===J&&this._cellPaddingY===J)return;this._cellPaddingX=J,this._cellPaddingY=J,this.invalidateLayoutAndRaster()}get cellPaddingX(){return this._cellPaddingX}set cellPaddingX($){let J=this.resolveCellPadding($);if(this._cellPaddingX===J)return;this._cellPaddingX=J,this.invalidateLayoutAndRaster()}get cellPaddingY(){return this._cellPaddingY}set cellPaddingY($){let J=this.resolveCellPadding($);if(this._cellPaddingY===J)return;this._cellPaddingY=J,this.invalidateLayoutAndRaster()}get columnGap(){return this._columnGap}set columnGap($){let J=this.resolveColumnGap($);if(this._columnGap===J)return;this._columnGap=J,this.invalidateLayoutAndRaster()}get showBorders(){return this._showBorders}set showBorders($){if(this._showBorders===$)return;this._showBorders=$,this.invalidateRasterOnly()}get outerBorder(){return this._outerBorder}set outerBorder($){if(this._outerBorder===$)return;this._hasExplicitOuterBorder=!0,this._outerBorder=$,this.invalidateLayoutAndRaster()}get border(){return this._border}set border($){if(this._border===$)return;if(this._border=$,!this._hasExplicitOuterBorder)this._outerBorder=$;this.invalidateLayoutAndRaster()}get borderStyle(){return this._borderStyle}set borderStyle($){let J=g8($,this._defaultOptions.borderStyle);if(this._borderStyle===J)return;this._borderStyle=J,this.invalidateRasterOnly()}get borderColor(){return this._borderColor}set borderColor($){let J=E($);if(this._borderColor===J)return;this._borderColor=J,this.invalidateRasterOnly()}shouldStartSelection($,J){if(!this.selectable)return!1;this.ensureLayoutReady();let Z=$-this.x,Q=J-this.y;return this.getCellAtLocalPosition(Z,Q)!==null}onSelectionChanged($){this.ensureLayoutReady();let J=this._lastLocalSelection,Z=J$($,this.x,this.y);this._lastLocalSelection=Z;let Q=this.getDirtySelectionRowRange(J,Z);if(!Z?.isActive)this.resetCellSelections(),this._lastSelectionMode=null;else this.applySelectionToCells(Z,$?.isStart??!1);if(Q!==null)this.redrawSelectionRows(Q.firstRow,Q.lastRow);return this.hasSelection()}hasSelection(){for(let $ of this._cells)for(let J of $)if(J.textBufferView.hasSelection())return!0;return!1}getSelection(){for(let $ of this._cells)for(let J of $){let Z=J.textBufferView.getSelection();if(Z)return Z}return null}getSelectedText(){let $=[];for(let J=0;J<this._rowCount;J++){let Z=[];for(let Q=0;Q<this._columnCount;Q++){let U=this._cells[J]?.[Q];if(!U||!U.textBufferView.hasSelection())continue;let G=U.textBufferView.getSelectedText();if(G.length>0)Z.push(G)}if(Z.length>0)$.push(Z.join("\t"))}return $.join(`
111
+ `)}onResize($,J){this.invalidateLayoutAndRaster(!1),super.onResize($,J)}renderSelf($){if(!this.visible||this.isDestroyed)return;if(this._layoutDirty)this.rebuildLayoutForCurrentWidth();if(!this._rasterDirty)return;if($.clear(this._backgroundColor),this._rowCount===0||this._columnCount===0){this._rasterDirty=!1;return}this.drawBorders($),this.drawCells($),this._rasterDirty=!1}destroySelf(){this.destroyCells(),super.destroySelf()}setupMeasureFunc(){let $=(J,Z,Q,U)=>{let j=Z!==A0.Undefined&&Number.isFinite(J)?Math.max(1,Math.floor(J)):void 0,q=this.resolveLayoutWidthConstraint(j),K=this.computeLayout(q);this._cachedMeasureLayout=K,this._cachedMeasureWidth=q;let _=K.tableWidth>0?K.tableWidth:1,D=K.tableHeight>0?K.tableHeight:1;if(Z===A0.AtMost&&j!==void 0&&this._positionType!=="absolute")_=Math.min(j,_);return{width:_,height:D}};this.yogaNode.setMeasureFunc($)}rebuildCells(){let $=this._content.length,J=this._content.reduce((Z,Q)=>Math.max(Z,Q.length),0);if(this._cells.length===0){this._rowCount=$,this._columnCount=J,this._cells=[],this._prevCellContent=[];for(let Z=0;Z<$;Z++){let Q=this._content[Z]??[],U=[],G=[];for(let j=0;j<J;j++){let q=Q[j];U.push(this.createCell(q)),G.push(q)}this._cells.push(U),this._prevCellContent.push(G)}this.invalidateLayoutAndRaster();return}this.updateCellsDiff($,J),this.invalidateLayoutAndRaster()}updateCellsDiff($,J){let Z=this._rowCount,Q=this._columnCount,U=Math.min(Z,$),G=Math.min(Q,J);for(let j=0;j<U;j++){let q=this._content[j]??[],K=this._cells[j],_=this._prevCellContent[j];for(let D=0;D<G;D++){let z=q[D];if(z===_[D])continue;let H=K[D];H.textBufferView.destroy(),H.textBuffer.destroy(),H.syntaxStyle.destroy(),K[D]=this.createCell(z),_[D]=z}if(J>Q)for(let D=Q;D<J;D++){let z=q[D];K.push(this.createCell(z)),_.push(z)}else if(J<Q){for(let D=J;D<Q;D++){let z=K[D];z.textBufferView.destroy(),z.textBuffer.destroy(),z.syntaxStyle.destroy()}K.length=J,_.length=J}}if($>Z)for(let j=Z;j<$;j++){let q=this._content[j]??[],K=[],_=[];for(let D=0;D<J;D++){let z=q[D];K.push(this.createCell(z)),_.push(z)}this._cells.push(K),this._prevCellContent.push(_)}else if($<Z){for(let j=$;j<Z;j++){let q=this._cells[j];for(let K of q)K.textBufferView.destroy(),K.textBuffer.destroy(),K.syntaxStyle.destroy()}this._cells.length=$,this._prevCellContent.length=$}this._rowCount=$,this._columnCount=J}createCell($){let J=this.toStyledText($),Z=Q$.create(this._ctx.widthMethod),Q=Q8.create();Z.setDefaultFg(this._defaultFg),Z.setDefaultBg(this._defaultBg),Z.setDefaultAttributes(this._defaultAttributes),Z.setSyntaxStyle(Q),Z.setStyledText(J);let U=U$.create(Z);return U.setWrapMode(this._wrapMode),{textBuffer:Z,textBufferView:U,syntaxStyle:Q}}toStyledText($){if(Array.isArray($))return new u0($);if($===null||$===void 0)return f8("");return f8(String($))}destroyCells(){for(let $ of this._cells)for(let J of $)J.textBufferView.destroy(),J.textBuffer.destroy(),J.syntaxStyle.destroy();this._cells=[],this._prevCellContent=[],this._rowCount=0,this._columnCount=0,this._layout=this.createEmptyLayout()}rebuildLayoutForCurrentWidth(){let $=this.resolveLayoutWidthConstraint(this.width),J;if(this._cachedMeasureLayout!==null&&this._cachedMeasureWidth===$)J=this._cachedMeasureLayout;else J=this.computeLayout($);if(this._cachedMeasureLayout=null,this._cachedMeasureWidth=void 0,this._layout=J,this.applyLayoutToViews(J),this._layoutDirty=!1,this._lastLocalSelection?.isActive)this.applySelectionToCells(this._lastLocalSelection,!0)}computeLayout($){if(this._rowCount===0||this._columnCount===0)return this.createEmptyLayout();let J=this.resolveBorderLayout(),Z=this.computeColumnWidths($,J),Q=this.computeRowHeights(Z),U=this.computeOffsets(Z,J.left,J.right,J.innerVertical,this.getInterColumnGap(J)),G=this.computeOffsets(Q,J.top,J.bottom,J.innerHorizontal);return{columnWidths:Z,rowHeights:Q,columnOffsets:U,rowOffsets:G,columnOffsetsI32:new Int32Array(U),rowOffsetsI32:new Int32Array(G),tableWidth:(U[U.length-1]??0)+1,tableHeight:(G[G.length-1]??0)+1}}isFullWidthMode(){return this._columnWidthMode==="full"}computeColumnWidths($,J){let Z=this.getHorizontalCellPadding(),Q=Array(this._columnCount).fill(1+Z);for(let j=0;j<this._rowCount;j++)for(let q=0;q<this._columnCount;q++){let K=this._cells[j]?.[q];if(!K)continue;let _=K.textBufferView.measureForDimensions(0,Q4),D=Math.max(1,_?.widthColsMax??0)+Z;Q[q]=Math.max(Q[q],D)}if($===void 0||!Number.isFinite($)||$<=0)return Q;let U=Math.max(1,Math.floor($)-this.getVerticalBorderCount(J)-this.getTotalInterColumnGap(J)),G=Q.reduce((j,q)=>j+q,0);if(G===U)return Q;if(G<U){if(this.isFullWidthMode())return this.expandColumnWidths(Q,U);return Q}if(this._wrapMode==="none")return Q;return this.fitColumnWidths(Q,U)}expandColumnWidths($,J){let Z=$.map((_)=>Math.max(1,Math.floor(_))),Q=Z.reduce((_,D)=>_+D,0);if(Q>=J)return Z;let U=[...Z],G=U.length,j=J-Q,q=Math.floor(j/G),K=j%G;for(let _=0;_<G;_++)if(U[_]+=q,_<K)U[_]+=1;return U}fitColumnWidths($,J){if(this._columnFitter==="balanced")return this.fitColumnWidthsBalanced($,J);return this.fitColumnWidthsProportional($,J)}fitColumnWidthsProportional($,J){let Z=1+this.getHorizontalCellPadding(),Q=Array($.length).fill(Z),U=$.map((F)=>Math.max(1,Math.floor(F))),G=U.map((F)=>Math.min(F,Z+1)),q=G.reduce((F,B)=>F+B,0)<=J?G:Q,K=q.reduce((F,B)=>F+B,0),_=Math.max(K,J),D=U.reduce((F,B)=>F+B,0);if(D<=_)return U;let z=U.map((F,B)=>F-q[B]),H=z.reduce((F,B)=>F+B,0);if(H<=0)return[...q];let O=D-_,X=Array(U.length).fill(0),P=Array(U.length).fill(0),N=0;for(let F=0;F<U.length;F++){if(z[F]<=0)continue;let B=z[F]/H*O,I=Math.min(z[F],Math.floor(B));X[F]=I,P[F]=B-I,N+=I}let W=O-N;while(W>0){let F=-1,B=-1;for(let I=0;I<U.length;I++){if(z[I]-X[I]<=0)continue;if(P[I]>B)B=P[I],F=I}if(F===-1)break;X[F]+=1,P[F]=0,W-=1}return U.map((F,B)=>Math.max(q[B],F-X[B]))}fitColumnWidthsBalanced($,J){let Z=1+this.getHorizontalCellPadding(),Q=Array($.length).fill(Z),U=$.map((W)=>Math.max(1,Math.floor(W))),G=U.reduce((W,F)=>W+F,0),j=U.length;if(j===0||G<=J)return U;let q=Math.max(Z,Math.floor(J/j)),K=U.map((W)=>Math.min(W,q)),D=K.reduce((W,F)=>W+F,0)<=J?K:Q,z=D.reduce((W,F)=>W+F,0),H=Math.max(z,J);if(G<=H)return U;let O=U.map((W,F)=>W-D[F]);if(O.reduce((W,F)=>W+F,0)<=0)return[...D];let P=G-H,N=this.allocateShrinkByWeight(O,P,"sqrt");return U.map((W,F)=>Math.max(D[F],W-N[F]))}allocateShrinkByWeight($,J,Z){let Q=Array($.length).fill(0);if(J<=0)return Q;let U=$.map((_)=>{if(_<=0)return 0;return Z==="sqrt"?Math.sqrt(_):_}),G=U.reduce((_,D)=>_+D,0);if(G<=0)return Q;let j=Array($.length).fill(0),q=0;for(let _=0;_<$.length;_++){if($[_]<=0||U[_]<=0)continue;let D=U[_]/G*J,z=Math.min($[_],Math.floor(D));Q[_]=z,j[_]=D-z,q+=z}let K=J-q;while(K>0){let _=-1,D=-1;for(let z=0;z<$.length;z++){if($[z]-Q[z]<=0)continue;if(_===-1||j[z]>D||j[z]===D&&$[z]>$[_])_=z,D=j[z]}if(_===-1)break;Q[_]+=1,j[_]=0,K-=1}return Q}computeRowHeights($){let J=this.getHorizontalCellPadding(),Z=this.getVerticalCellPadding(),Q=Array(this._rowCount).fill(1+Z);for(let U=0;U<this._rowCount;U++)for(let G=0;G<this._columnCount;G++){let j=this._cells[U]?.[G];if(!j)continue;let q=Math.max(1,($[G]??1)-J),K=j.textBufferView.measureForDimensions(q,Q4),_=Math.max(1,K?.lineCount??1);Q[U]=Math.max(Q[U],_+Z)}return Q}computeOffsets($,J,Z,Q,U=0){let G=[J?0:-1],j=G[0]??0;for(let q=0;q<$.length;q++){let K=$[q]??1,_=q<$.length-1?Q?1:U:Z?1:0;j+=K+_,G.push(j)}return G}getInterColumnGap($){if($.innerVertical)return 0;return this._columnGap}getTotalInterColumnGap($){return Math.max(0,this._columnCount-1)*this.getInterColumnGap($)}applyLayoutToViews($){let J=this.getHorizontalCellPadding(),Z=this.getVerticalCellPadding();for(let Q=0;Q<this._rowCount;Q++)for(let U=0;U<this._columnCount;U++){let G=this._cells[Q]?.[U];if(!G)continue;let j=$.columnWidths[U]??1,q=$.rowHeights[Q]??1,K=Math.max(1,j-J),_=Math.max(1,q-Z);if(this._wrapMode==="none")G.textBufferView.setWrapWidth(null);else G.textBufferView.setWrapWidth(K);G.textBufferView.setViewport(0,0,K,_)}}resolveBorderLayout(){return{left:this._outerBorder,right:this._outerBorder,top:this._outerBorder,bottom:this._outerBorder,innerVertical:this._border&&this._columnCount>1,innerHorizontal:this._border&&this._rowCount>1}}getVerticalBorderCount($){return($.left?1:0)+($.right?1:0)+($.innerVertical?Math.max(0,this._columnCount-1):0)}getHorizontalBorderCount($){return($.top?1:0)+($.bottom?1:0)+($.innerHorizontal?Math.max(0,this._rowCount-1):0)}drawBorders($){if(!this._showBorders)return;let J=this.resolveBorderLayout();if(this.getVerticalBorderCount(J)===0&&this.getHorizontalBorderCount(J)===0)return;$.drawGrid({borderChars:J6[this._borderStyle],borderFg:this._borderColor,borderBg:this._borderBackgroundColor,columnOffsets:this._layout.columnOffsetsI32,rowOffsets:this._layout.rowOffsetsI32,drawInner:this._border,drawOuter:this._outerBorder})}drawCells($){this.drawCellRange($,0,this._rowCount-1)}drawCellRange($,J,Z){let Q=this._layout.columnOffsets,U=this._layout.rowOffsets,G=this._cellPaddingX,j=this._cellPaddingY;for(let q=J;q<=Z;q++){let K=(U[q]??0)+1+j;for(let _=0;_<this._columnCount;_++){let D=this._cells[q]?.[_];if(!D)continue;$.drawTextBuffer(D.textBufferView,(Q[_]??0)+1+G,K)}}}redrawSelectionRows($,J){if($>J)return;if(this._backgroundColor.a<1){this.invalidateRasterOnly();return}let Z=this.frameBuffer;if(!Z)return;this.clearCellRange(Z,$,J),this.drawCellRange(Z,$,J),this.requestRender()}clearCellRange($,J,Z){let Q=this._layout.columnWidths,U=this._layout.rowHeights,G=this._layout.columnOffsets,j=this._layout.rowOffsets;for(let q=J;q<=Z;q++){let K=(j[q]??0)+1,_=U[q]??1;for(let D=0;D<this._columnCount;D++){let z=(G[D]??0)+1,H=Q[D]??1;if(this._backgroundColor.a<1)for(let O=K;O<K+_;O++)for(let X=z;X<z+H;X++)$.setCell(X,O," ",this._defaultFg,this._backgroundColor,this._defaultAttributes);else $.fillRect(z,K,H,_,this._backgroundColor)}}}ensureLayoutReady(){if(!this._layoutDirty)return;this.rebuildLayoutForCurrentWidth()}getCellAtLocalPosition($,J){if(this._rowCount===0||this._columnCount===0)return null;if($<0||J<0||$>=this._layout.tableWidth||J>=this._layout.tableHeight)return null;let Z=-1;for(let U=0;U<this._rowCount;U++){let G=(this._layout.rowOffsets[U]??0)+1,j=G+(this._layout.rowHeights[U]??1)-1;if(J>=G&&J<=j){Z=U;break}}if(Z<0)return null;let Q=-1;for(let U=0;U<this._columnCount;U++){let G=(this._layout.columnOffsets[U]??0)+1,j=G+(this._layout.columnWidths[U]??1)-1;if($>=G&&$<=j){Q=U;break}}if(Q<0)return null;return{rowIdx:Z,colIdx:Q}}applySelectionToCells($,J){if($.anchorX===$.focusX&&$.anchorY===$.focusY){this.resetCellSelections(),this._lastSelectionMode=null;return}let Z=Math.min($.anchorY,$.focusY),Q=Math.max($.anchorY,$.focusY),U=this.findRowForLocalY(Z),G=this.findRowForLocalY(Q),j=this.resolveSelectionResolution($),q=this._lastSelectionMode!==j.mode;this._lastSelectionMode=j.mode;let K=j.mode==="column-locked"&&j.anchorColumn!==null;for(let _=0;_<this._rowCount;_++){if(_<U||_>G){this.resetRowSelection(_);continue}let D=(this._layout.rowOffsets[_]??0)+1+this._cellPaddingY;for(let z=0;z<this._columnCount;z++){let H=this._cells[_]?.[z];if(!H)continue;if(K&&z!==j.anchorColumn){H.textBufferView.resetLocalSelection();continue}let O=(this._layout.columnOffsets[z]??0)+1+this._cellPaddingX,X={anchorX:$.anchorX-O,anchorY:$.anchorY-D,focusX:$.focusX-O,focusY:$.focusY-D},P=j.anchorCell!==null&&j.anchorCell.rowIdx===_&&j.anchorCell.colIdx===z;if(j.mode==="single-cell"&&!P){H.textBufferView.resetLocalSelection();continue}let N=P&&j.mode!=="single-cell";if(N)X=this.getFullCellSelectionCoords(_,z);if(J||q||N)H.textBufferView.setLocalSelection(X.anchorX,X.anchorY,X.focusX,X.focusY,this._selectionBg,this._selectionFg);else H.textBufferView.updateLocalSelection(X.anchorX,X.anchorY,X.focusX,X.focusY,this._selectionBg,this._selectionFg)}}}resolveSelectionResolution($){let J=this.getCellAtLocalPosition($.anchorX,$.anchorY),Z=this.getCellAtLocalPosition($.focusX,$.focusY),Q=J?.colIdx??this.getColumnAtLocalX($.anchorX);if(J!==null&&Z!==null&&J.rowIdx===Z.rowIdx&&J.colIdx===Z.colIdx)return{mode:"single-cell",anchorCell:J,anchorColumn:Q};let U=this.getColumnAtLocalX($.focusX);if(Q!==null&&U===Q)return{mode:"column-locked",anchorCell:J,anchorColumn:Q};return{mode:"grid",anchorCell:J,anchorColumn:Q}}getColumnAtLocalX($){if(this._columnCount===0)return null;if($<0||$>=this._layout.tableWidth)return null;for(let J=0;J<this._columnCount;J++){let Z=(this._layout.columnOffsets[J]??0)+1,Q=Z+(this._layout.columnWidths[J]??1)-1;if($>=Z&&$<=Q)return J}return null}getFullCellSelectionCoords($,J){let Z=this._layout.columnWidths[J]??1,Q=this._layout.rowHeights[$]??1,U=Math.max(1,Z-this.getHorizontalCellPadding()),G=Math.max(1,Q-this.getVerticalCellPadding());return{anchorX:-1,anchorY:0,focusX:U,focusY:G}}findRowForLocalY($){if(this._rowCount===0)return 0;if($<0)return 0;for(let J=0;J<this._rowCount;J++){let Q=(this._layout.rowOffsets[J]??0)+1+(this._layout.rowHeights[J]??1)-1;if($<=Q)return J}return this._rowCount-1}getSelectionRowRange($){if(!$?.isActive||this._rowCount===0)return null;let J=Math.min($.anchorY,$.focusY),Z=Math.max($.anchorY,$.focusY);return{firstRow:this.findRowForLocalY(J),lastRow:this.findRowForLocalY(Z)}}getDirtySelectionRowRange($,J){let Z=this.getSelectionRowRange($),Q=this.getSelectionRowRange(J);if(Z===null)return Q;if(Q===null)return Z;return{firstRow:Math.min(Z.firstRow,Q.firstRow),lastRow:Math.max(Z.lastRow,Q.lastRow)}}resetRowSelection($){let J=this._cells[$];if(!J)return;for(let Z of J)Z.textBufferView.resetLocalSelection()}resetCellSelections(){for(let $=0;$<this._rowCount;$++)this.resetRowSelection($)}createEmptyLayout(){return{columnWidths:[],rowHeights:[],columnOffsets:[0],rowOffsets:[0],columnOffsetsI32:new Int32Array([0]),rowOffsetsI32:new Int32Array([0]),tableWidth:0,tableHeight:0}}resolveLayoutWidthConstraint($){if($===void 0||!Number.isFinite($)||$<=0)return;if(this._wrapMode!=="none"||this.isFullWidthMode())return Math.max(1,Math.floor($));return}getHorizontalCellPadding(){return this._cellPaddingX*2}getVerticalCellPadding(){return this._cellPaddingY*2}resolveColumnFitter($){if($===void 0)return this._defaultOptions.columnFitter;return $==="balanced"?"balanced":"proportional"}resolveCellPadding($){if($===void 0||!Number.isFinite($))return this._defaultOptions.cellPadding;return Math.max(0,Math.floor($))}resolveColumnGap($){if($===void 0||!Number.isFinite($))return this._defaultOptions.columnGap;return Math.max(0,Math.floor($))}invalidateLayoutAndRaster($=!0){if(this._layoutDirty=!0,this._rasterDirty=!0,this._cachedMeasureLayout=null,this._cachedMeasureWidth=void 0,$)this.yogaNode.markDirty();this.requestRender()}invalidateRasterOnly(){this._rasterDirty=!0,this.requestRender()}}function v9(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var q$=v9();function Z2($){q$=$}var x6={exec:()=>null};function Z0($,J=""){let Z=typeof $=="string"?$:$.source,Q={replace:(U,G)=>{let j=typeof G=="string"?G:G.source;return j=j.replace(R0.caret,"$1"),Z=Z.replace(U,j),Q},getRegex:()=>new RegExp(Z,J)};return Q}var Sj=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),R0={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:($)=>new RegExp(`^( {0,3}${$})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}#`),htmlBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}<(?:[a-z].*>|!--)`,"i")},Tj=/^(?:[ \t]*(?:\n|$))+/,yj=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Rj=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,u6=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,wj=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,x9=/(?:[*+-]|\d{1,9}[.)])/,Q2=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,U2=Z0(Q2).replace(/bull/g,x9).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),kj=Z0(Q2).replace(/bull/g,x9).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),f9=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,vj=/^[^\n]+/,g9=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,xj=Z0(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",g9).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),fj=Z0(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,x9).getRegex(),JJ="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",b9=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,gj=Z0("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",b9).replace("tag",JJ).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),G2=Z0(f9).replace("hr",u6).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",JJ).getRegex(),bj=Z0(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",G2).getRegex(),m9={blockquote:bj,code:yj,def:xj,fences:Rj,heading:wj,hr:u6,html:gj,lheading:U2,list:fj,newline:Tj,paragraph:G2,table:x6,text:vj},U4=Z0("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",u6).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",JJ).getRegex(),mj={...m9,lheading:kj,table:U4,paragraph:Z0(f9).replace("hr",u6).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",U4).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",JJ).getRegex()},hj={...m9,html:Z0(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",b9).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:x6,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Z0(f9).replace("hr",u6).replace("heading",` *#{1,6} *[^
112
+ ]`).replace("lheading",U2).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},pj=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,cj=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,j2=/^( {2,}|\\)\n(?!\s*$)/,uj=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ZJ=/[\p{P}\p{S}]/u,h9=/[\s\p{P}\p{S}]/u,q2=/[^\s\p{P}\p{S}]/u,dj=Z0(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,h9).getRegex(),K2=/(?!~)[\p{P}\p{S}]/u,aj=/(?!~)[\s\p{P}\p{S}]/u,sj=/(?:[^\s\p{P}\p{S}]|~)/u,lj=Z0(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Sj?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),_2=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,rj=Z0(_2,"u").replace(/punct/g,ZJ).getRegex(),ij=Z0(_2,"u").replace(/punct/g,K2).getRegex(),D2="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",oj=Z0(D2,"gu").replace(/notPunctSpace/g,q2).replace(/punctSpace/g,h9).replace(/punct/g,ZJ).getRegex(),nj=Z0(D2,"gu").replace(/notPunctSpace/g,sj).replace(/punctSpace/g,aj).replace(/punct/g,K2).getRegex(),tj=Z0("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,q2).replace(/punctSpace/g,h9).replace(/punct/g,ZJ).getRegex(),ej=Z0(/\\(punct)/,"gu").replace(/punct/g,ZJ).getRegex(),$q=Z0(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Jq=Z0(b9).replace("(?:-->|$)","-->").getRegex(),Zq=Z0("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Jq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),l7=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Qq=Z0(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",l7).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Y2=Z0(/^!?\[(label)\]\[(ref)\]/).replace("label",l7).replace("ref",g9).getRegex(),V2=Z0(/^!?\[(ref)\](?:\[\])?/).replace("ref",g9).getRegex(),Uq=Z0("reflink|nolink(?!\\()","g").replace("reflink",Y2).replace("nolink",V2).getRegex(),G4=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,p9={_backpedal:x6,anyPunctuation:ej,autolink:$q,blockSkip:lj,br:j2,code:cj,del:x6,emStrongLDelim:rj,emStrongRDelimAst:oj,emStrongRDelimUnd:tj,escape:pj,link:Qq,nolink:V2,punctuation:dj,reflink:Y2,reflinkSearch:Uq,tag:Zq,text:uj,url:x6},Gq={...p9,link:Z0(/^!?\[(label)\]\((.*?)\)/).replace("label",l7).getRegex(),reflink:Z0(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",l7).getRegex()},M9={...p9,emStrongRDelimAst:nj,emStrongLDelim:ij,url:Z0(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",G4).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Z0(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",G4).getRegex()},jq={...M9,br:Z0(j2).replace("{2,}","*").getRegex(),text:Z0(M9.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},s7={normal:m9,gfm:mj,pedantic:hj},R6={normal:p9,gfm:M9,breaks:jq,pedantic:Gq},qq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},j4=($)=>qq[$];function B8($,J){if(J){if(R0.escapeTest.test($))return $.replace(R0.escapeReplace,j4)}else if(R0.escapeTestNoEncode.test($))return $.replace(R0.escapeReplaceNoEncode,j4);return $}function q4($){try{$=encodeURI($).replace(R0.percentDecode,"%")}catch{return null}return $}function K4($,J){let Z=$.replace(R0.findPipe,(G,j,q)=>{let K=!1,_=j;for(;--_>=0&&q[_]==="\\";)K=!K;return K?"|":" |"}),Q=Z.split(R0.splitPipe),U=0;if(Q[0].trim()||Q.shift(),Q.length>0&&!Q.at(-1)?.trim()&&Q.pop(),J)if(Q.length>J)Q.splice(J);else for(;Q.length<J;)Q.push("");for(;U<Q.length;U++)Q[U]=Q[U].trim().replace(R0.slashPipe,"|");return Q}function w6($,J,Z){let Q=$.length;if(Q===0)return"";let U=0;for(;U<Q;){let G=$.charAt(Q-U-1);if(G===J&&!Z)U++;else if(G!==J&&Z)U++;else break}return $.slice(0,Q-U)}function Kq($,J){if($.indexOf(J[1])===-1)return-1;let Z=0;for(let Q=0;Q<$.length;Q++)if($[Q]==="\\")Q++;else if($[Q]===J[0])Z++;else if($[Q]===J[1]&&(Z--,Z<0))return Q;return Z>0?-2:-1}function _4($,J,Z,Q,U){let G=J.href,j=J.title||null,q=$[1].replace(U.other.outputLinkReplace,"$1");Q.state.inLink=!0;let K={type:$[0].charAt(0)==="!"?"image":"link",raw:Z,href:G,title:j,text:q,tokens:Q.inlineTokens(q)};return Q.state.inLink=!1,K}function _q($,J,Z){let Q=$.match(Z.other.indentCodeCompensation);if(Q===null)return J;let U=Q[1];return J.split(`
113
+ `).map((G)=>{let j=G.match(Z.other.beginningSpace);if(j===null)return G;let[q]=j;return q.length>=U.length?G.slice(U.length):G}).join(`
114
+ `)}var r7=class{options;rules;lexer;constructor($){this.options=$||q$}space($){let J=this.rules.block.newline.exec($);if(J&&J[0].length>0)return{type:"space",raw:J[0]}}code($){let J=this.rules.block.code.exec($);if(J){let Z=J[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:J[0],codeBlockStyle:"indented",text:this.options.pedantic?Z:w6(Z,`
115
+ `)}}}fences($){let J=this.rules.block.fences.exec($);if(J){let Z=J[0],Q=_q(Z,J[3]||"",this.rules);return{type:"code",raw:Z,lang:J[2]?J[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):J[2],text:Q}}}heading($){let J=this.rules.block.heading.exec($);if(J){let Z=J[2].trim();if(this.rules.other.endingHash.test(Z)){let Q=w6(Z,"#");(this.options.pedantic||!Q||this.rules.other.endingSpaceChar.test(Q))&&(Z=Q.trim())}return{type:"heading",raw:J[0],depth:J[1].length,text:Z,tokens:this.lexer.inline(Z)}}}hr($){let J=this.rules.block.hr.exec($);if(J)return{type:"hr",raw:w6(J[0],`
116
+ `)}}blockquote($){let J=this.rules.block.blockquote.exec($);if(J){let Z=w6(J[0],`
117
+ `).split(`
118
+ `),Q="",U="",G=[];for(;Z.length>0;){let j=!1,q=[],K;for(K=0;K<Z.length;K++)if(this.rules.other.blockquoteStart.test(Z[K]))q.push(Z[K]),j=!0;else if(!j)q.push(Z[K]);else break;Z=Z.slice(K);let _=q.join(`
119
+ `),D=_.replace(this.rules.other.blockquoteSetextReplace,`
120
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");Q=Q?`${Q}
121
+ ${_}`:_,U=U?`${U}
122
+ ${D}`:D;let z=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(D,G,!0),this.lexer.state.top=z,Z.length===0)break;let H=G.at(-1);if(H?.type==="code")break;if(H?.type==="blockquote"){let O=H,X=O.raw+`
123
+ `+Z.join(`
124
+ `),P=this.blockquote(X);G[G.length-1]=P,Q=Q.substring(0,Q.length-O.raw.length)+P.raw,U=U.substring(0,U.length-O.text.length)+P.text;break}else if(H?.type==="list"){let O=H,X=O.raw+`
125
+ `+Z.join(`
126
+ `),P=this.list(X);G[G.length-1]=P,Q=Q.substring(0,Q.length-H.raw.length)+P.raw,U=U.substring(0,U.length-O.raw.length)+P.raw,Z=X.substring(G.at(-1).raw.length).split(`
127
+ `);continue}}return{type:"blockquote",raw:Q,tokens:G,text:U}}}list($){let J=this.rules.block.list.exec($);if(J){let Z=J[1].trim(),Q=Z.length>1,U={type:"list",raw:"",ordered:Q,start:Q?+Z.slice(0,-1):"",loose:!1,items:[]};Z=Q?`\\d{1,9}\\${Z.slice(-1)}`:`\\${Z}`,this.options.pedantic&&(Z=Q?Z:"[*+-]");let G=this.rules.other.listItemRegex(Z),j=!1;for(;$;){let K=!1,_="",D="";if(!(J=G.exec($))||this.rules.block.hr.test($))break;_=J[0],$=$.substring(_.length);let z=J[2].split(`
128
+ `,1)[0].replace(this.rules.other.listReplaceTabs,(P)=>" ".repeat(3*P.length)),H=$.split(`
129
+ `,1)[0],O=!z.trim(),X=0;if(this.options.pedantic?(X=2,D=z.trimStart()):O?X=J[1].length+1:(X=J[2].search(this.rules.other.nonSpaceChar),X=X>4?1:X,D=z.slice(X),X+=J[1].length),O&&this.rules.other.blankLine.test(H)&&(_+=H+`
130
+ `,$=$.substring(H.length+1),K=!0),!K){let P=this.rules.other.nextBulletRegex(X),N=this.rules.other.hrRegex(X),W=this.rules.other.fencesBeginRegex(X),F=this.rules.other.headingBeginRegex(X),B=this.rules.other.htmlBeginRegex(X);for(;$;){let I=$.split(`
131
+ `,1)[0],w;if(H=I,this.options.pedantic?(H=H.replace(this.rules.other.listReplaceNesting," "),w=H):w=H.replace(this.rules.other.tabCharGlobal," "),W.test(H)||F.test(H)||B.test(H)||P.test(H)||N.test(H))break;if(w.search(this.rules.other.nonSpaceChar)>=X||!H.trim())D+=`
132
+ `+w.slice(X);else{if(O||z.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||W.test(z)||F.test(z)||N.test(z))break;D+=`
133
+ `+H}!O&&!H.trim()&&(O=!0),_+=I+`
134
+ `,$=$.substring(I.length+1),z=w.slice(X)}}U.loose||(j?U.loose=!0:this.rules.other.doubleBlankLine.test(_)&&(j=!0)),U.items.push({type:"list_item",raw:_,task:!!this.options.gfm&&this.rules.other.listIsTask.test(D),loose:!1,text:D,tokens:[]}),U.raw+=_}let q=U.items.at(-1);if(q)q.raw=q.raw.trimEnd(),q.text=q.text.trimEnd();else return;U.raw=U.raw.trimEnd();for(let K of U.items){if(this.lexer.state.top=!1,K.tokens=this.lexer.blockTokens(K.text,[]),K.task){if(K.text=K.text.replace(this.rules.other.listReplaceTask,""),K.tokens[0]?.type==="text"||K.tokens[0]?.type==="paragraph"){K.tokens[0].raw=K.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),K.tokens[0].text=K.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let D=this.lexer.inlineQueue.length-1;D>=0;D--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[D].src)){this.lexer.inlineQueue[D].src=this.lexer.inlineQueue[D].src.replace(this.rules.other.listReplaceTask,"");break}}let _=this.rules.other.listTaskCheckbox.exec(K.raw);if(_){let D={type:"checkbox",raw:_[0]+" ",checked:_[0]!=="[ ]"};K.checked=D.checked,U.loose?K.tokens[0]&&["paragraph","text"].includes(K.tokens[0].type)&&"tokens"in K.tokens[0]&&K.tokens[0].tokens?(K.tokens[0].raw=D.raw+K.tokens[0].raw,K.tokens[0].text=D.raw+K.tokens[0].text,K.tokens[0].tokens.unshift(D)):K.tokens.unshift({type:"paragraph",raw:D.raw,text:D.raw,tokens:[D]}):K.tokens.unshift(D)}}if(!U.loose){let _=K.tokens.filter((z)=>z.type==="space"),D=_.length>0&&_.some((z)=>this.rules.other.anyLine.test(z.raw));U.loose=D}}if(U.loose)for(let K of U.items){K.loose=!0;for(let _ of K.tokens)_.type==="text"&&(_.type="paragraph")}return U}}html($){let J=this.rules.block.html.exec($);if(J)return{type:"html",block:!0,raw:J[0],pre:J[1]==="pre"||J[1]==="script"||J[1]==="style",text:J[0]}}def($){let J=this.rules.block.def.exec($);if(J){let Z=J[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),Q=J[2]?J[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",U=J[3]?J[3].substring(1,J[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):J[3];return{type:"def",tag:Z,raw:J[0],href:Q,title:U}}}table($){let J=this.rules.block.table.exec($);if(!J||!this.rules.other.tableDelimiter.test(J[2]))return;let Z=K4(J[1]),Q=J[2].replace(this.rules.other.tableAlignChars,"").split("|"),U=J[3]?.trim()?J[3].replace(this.rules.other.tableRowBlankLine,"").split(`
135
+ `):[],G={type:"table",raw:J[0],header:[],align:[],rows:[]};if(Z.length===Q.length){for(let j of Q)this.rules.other.tableAlignRight.test(j)?G.align.push("right"):this.rules.other.tableAlignCenter.test(j)?G.align.push("center"):this.rules.other.tableAlignLeft.test(j)?G.align.push("left"):G.align.push(null);for(let j=0;j<Z.length;j++)G.header.push({text:Z[j],tokens:this.lexer.inline(Z[j]),header:!0,align:G.align[j]});for(let j of U)G.rows.push(K4(j,G.header.length).map((q,K)=>({text:q,tokens:this.lexer.inline(q),header:!1,align:G.align[K]})));return G}}lheading($){let J=this.rules.block.lheading.exec($);if(J)return{type:"heading",raw:J[0],depth:J[2].charAt(0)==="="?1:2,text:J[1],tokens:this.lexer.inline(J[1])}}paragraph($){let J=this.rules.block.paragraph.exec($);if(J){let Z=J[1].charAt(J[1].length-1)===`
136
+ `?J[1].slice(0,-1):J[1];return{type:"paragraph",raw:J[0],text:Z,tokens:this.lexer.inline(Z)}}}text($){let J=this.rules.block.text.exec($);if(J)return{type:"text",raw:J[0],text:J[0],tokens:this.lexer.inline(J[0])}}escape($){let J=this.rules.inline.escape.exec($);if(J)return{type:"escape",raw:J[0],text:J[1]}}tag($){let J=this.rules.inline.tag.exec($);if(J)return!this.lexer.state.inLink&&this.rules.other.startATag.test(J[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(J[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(J[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(J[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:J[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:J[0]}}link($){let J=this.rules.inline.link.exec($);if(J){let Z=J[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(Z)){if(!this.rules.other.endAngleBracket.test(Z))return;let G=w6(Z.slice(0,-1),"\\");if((Z.length-G.length)%2===0)return}else{let G=Kq(J[2],"()");if(G===-2)return;if(G>-1){let j=(J[0].indexOf("!")===0?5:4)+J[1].length+G;J[2]=J[2].substring(0,G),J[0]=J[0].substring(0,j).trim(),J[3]=""}}let Q=J[2],U="";if(this.options.pedantic){let G=this.rules.other.pedanticHrefTitle.exec(Q);G&&(Q=G[1],U=G[3])}else U=J[3]?J[3].slice(1,-1):"";return Q=Q.trim(),this.rules.other.startAngleBracket.test(Q)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(Z)?Q=Q.slice(1):Q=Q.slice(1,-1)),_4(J,{href:Q&&Q.replace(this.rules.inline.anyPunctuation,"$1"),title:U&&U.replace(this.rules.inline.anyPunctuation,"$1")},J[0],this.lexer,this.rules)}}reflink($,J){let Z;if((Z=this.rules.inline.reflink.exec($))||(Z=this.rules.inline.nolink.exec($))){let Q=(Z[2]||Z[1]).replace(this.rules.other.multipleSpaceGlobal," "),U=J[Q.toLowerCase()];if(!U){let G=Z[0].charAt(0);return{type:"text",raw:G,text:G}}return _4(Z,U,Z[0],this.lexer,this.rules)}}emStrong($,J,Z=""){let Q=this.rules.inline.emStrongLDelim.exec($);if(!Q||Q[3]&&Z.match(this.rules.other.unicodeAlphaNumeric))return;if(!(Q[1]||Q[2])||!Z||this.rules.inline.punctuation.exec(Z)){let U=[...Q[0]].length-1,G,j,q=U,K=0,_=Q[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(_.lastIndex=0,J=J.slice(-1*$.length+U);(Q=_.exec(J))!=null;){if(G=Q[1]||Q[2]||Q[3]||Q[4]||Q[5]||Q[6],!G)continue;if(j=[...G].length,Q[3]||Q[4]){q+=j;continue}else if((Q[5]||Q[6])&&U%3&&!((U+j)%3)){K+=j;continue}if(q-=j,q>0)continue;j=Math.min(j,j+q+K);let D=[...Q[0]][0].length,z=$.slice(0,U+Q.index+D+j);if(Math.min(U,j)%2){let O=z.slice(1,-1);return{type:"em",raw:z,text:O,tokens:this.lexer.inlineTokens(O)}}let H=z.slice(2,-2);return{type:"strong",raw:z,text:H,tokens:this.lexer.inlineTokens(H)}}}}codespan($){let J=this.rules.inline.code.exec($);if(J){let Z=J[2].replace(this.rules.other.newLineCharGlobal," "),Q=this.rules.other.nonSpaceChar.test(Z),U=this.rules.other.startingSpaceChar.test(Z)&&this.rules.other.endingSpaceChar.test(Z);return Q&&U&&(Z=Z.substring(1,Z.length-1)),{type:"codespan",raw:J[0],text:Z}}}br($){let J=this.rules.inline.br.exec($);if(J)return{type:"br",raw:J[0]}}del($){let J=this.rules.inline.del.exec($);if(J)return{type:"del",raw:J[0],text:J[2],tokens:this.lexer.inlineTokens(J[2])}}autolink($){let J=this.rules.inline.autolink.exec($);if(J){let Z,Q;return J[2]==="@"?(Z=J[1],Q="mailto:"+Z):(Z=J[1],Q=Z),{type:"link",raw:J[0],text:Z,href:Q,tokens:[{type:"text",raw:Z,text:Z}]}}}url($){let J;if(J=this.rules.inline.url.exec($)){let Z,Q;if(J[2]==="@")Z=J[0],Q="mailto:"+Z;else{let U;do U=J[0],J[0]=this.rules.inline._backpedal.exec(J[0])?.[0]??"";while(U!==J[0]);Z=J[0],J[1]==="www."?Q="http://"+J[0]:Q=J[0]}return{type:"link",raw:J[0],text:Z,href:Q,tokens:[{type:"text",raw:Z,text:Z}]}}}inlineText($){let J=this.rules.inline.text.exec($);if(J){let Z=this.lexer.state.inRawBlock;return{type:"text",raw:J[0],text:J[0],escaped:Z}}}},f0=class ${tokens;options;state;inlineQueue;tokenizer;constructor(J){this.tokens=[],this.tokens.links=Object.create(null),this.options=J||q$,this.options.tokenizer=this.options.tokenizer||new r7,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let Z={other:R0,block:s7.normal,inline:R6.normal};this.options.pedantic?(Z.block=s7.pedantic,Z.inline=R6.pedantic):this.options.gfm&&(Z.block=s7.gfm,this.options.breaks?Z.inline=R6.breaks:Z.inline=R6.gfm),this.tokenizer.rules=Z}static get rules(){return{block:s7,inline:R6}}static lex(J,Z){return new $(Z).lex(J)}static lexInline(J,Z){return new $(Z).inlineTokens(J)}lex(J){J=J.replace(R0.carriageReturn,`
137
+ `),this.blockTokens(J,this.tokens);for(let Z=0;Z<this.inlineQueue.length;Z++){let Q=this.inlineQueue[Z];this.inlineTokens(Q.src,Q.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(J,Z=[],Q=!1){for(this.options.pedantic&&(J=J.replace(R0.tabCharGlobal," ").replace(R0.spaceLine,""));J;){let U;if(this.options.extensions?.block?.some((j)=>(U=j.call({lexer:this},J,Z))?(J=J.substring(U.raw.length),Z.push(U),!0):!1))continue;if(U=this.tokenizer.space(J)){J=J.substring(U.raw.length);let j=Z.at(-1);U.raw.length===1&&j!==void 0?j.raw+=`
138
+ `:Z.push(U);continue}if(U=this.tokenizer.code(J)){J=J.substring(U.raw.length);let j=Z.at(-1);j?.type==="paragraph"||j?.type==="text"?(j.raw+=(j.raw.endsWith(`
139
+ `)?"":`
140
+ `)+U.raw,j.text+=`
141
+ `+U.text,this.inlineQueue.at(-1).src=j.text):Z.push(U);continue}if(U=this.tokenizer.fences(J)){J=J.substring(U.raw.length),Z.push(U);continue}if(U=this.tokenizer.heading(J)){J=J.substring(U.raw.length),Z.push(U);continue}if(U=this.tokenizer.hr(J)){J=J.substring(U.raw.length),Z.push(U);continue}if(U=this.tokenizer.blockquote(J)){J=J.substring(U.raw.length),Z.push(U);continue}if(U=this.tokenizer.list(J)){J=J.substring(U.raw.length),Z.push(U);continue}if(U=this.tokenizer.html(J)){J=J.substring(U.raw.length),Z.push(U);continue}if(U=this.tokenizer.def(J)){J=J.substring(U.raw.length);let j=Z.at(-1);j?.type==="paragraph"||j?.type==="text"?(j.raw+=(j.raw.endsWith(`
142
+ `)?"":`
143
+ `)+U.raw,j.text+=`
144
+ `+U.raw,this.inlineQueue.at(-1).src=j.text):this.tokens.links[U.tag]||(this.tokens.links[U.tag]={href:U.href,title:U.title},Z.push(U));continue}if(U=this.tokenizer.table(J)){J=J.substring(U.raw.length),Z.push(U);continue}if(U=this.tokenizer.lheading(J)){J=J.substring(U.raw.length),Z.push(U);continue}let G=J;if(this.options.extensions?.startBlock){let j=1/0,q=J.slice(1),K;this.options.extensions.startBlock.forEach((_)=>{K=_.call({lexer:this},q),typeof K=="number"&&K>=0&&(j=Math.min(j,K))}),j<1/0&&j>=0&&(G=J.substring(0,j+1))}if(this.state.top&&(U=this.tokenizer.paragraph(G))){let j=Z.at(-1);Q&&j?.type==="paragraph"?(j.raw+=(j.raw.endsWith(`
145
+ `)?"":`
146
+ `)+U.raw,j.text+=`
147
+ `+U.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=j.text):Z.push(U),Q=G.length!==J.length,J=J.substring(U.raw.length);continue}if(U=this.tokenizer.text(J)){J=J.substring(U.raw.length);let j=Z.at(-1);j?.type==="text"?(j.raw+=(j.raw.endsWith(`
148
+ `)?"":`
149
+ `)+U.raw,j.text+=`
150
+ `+U.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=j.text):Z.push(U);continue}if(J){let j="Infinite loop on byte: "+J.charCodeAt(0);if(this.options.silent){console.error(j);break}else throw Error(j)}}return this.state.top=!0,Z}inline(J,Z=[]){return this.inlineQueue.push({src:J,tokens:Z}),Z}inlineTokens(J,Z=[]){let Q=J,U=null;if(this.tokens.links){let K=Object.keys(this.tokens.links);if(K.length>0)for(;(U=this.tokenizer.rules.inline.reflinkSearch.exec(Q))!=null;)K.includes(U[0].slice(U[0].lastIndexOf("[")+1,-1))&&(Q=Q.slice(0,U.index)+"["+"a".repeat(U[0].length-2)+"]"+Q.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(U=this.tokenizer.rules.inline.anyPunctuation.exec(Q))!=null;)Q=Q.slice(0,U.index)+"++"+Q.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let G;for(;(U=this.tokenizer.rules.inline.blockSkip.exec(Q))!=null;)G=U[2]?U[2].length:0,Q=Q.slice(0,U.index+G)+"["+"a".repeat(U[0].length-G-2)+"]"+Q.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);Q=this.options.hooks?.emStrongMask?.call({lexer:this},Q)??Q;let j=!1,q="";for(;J;){j||(q=""),j=!1;let K;if(this.options.extensions?.inline?.some((D)=>(K=D.call({lexer:this},J,Z))?(J=J.substring(K.raw.length),Z.push(K),!0):!1))continue;if(K=this.tokenizer.escape(J)){J=J.substring(K.raw.length),Z.push(K);continue}if(K=this.tokenizer.tag(J)){J=J.substring(K.raw.length),Z.push(K);continue}if(K=this.tokenizer.link(J)){J=J.substring(K.raw.length),Z.push(K);continue}if(K=this.tokenizer.reflink(J,this.tokens.links)){J=J.substring(K.raw.length);let D=Z.at(-1);K.type==="text"&&D?.type==="text"?(D.raw+=K.raw,D.text+=K.text):Z.push(K);continue}if(K=this.tokenizer.emStrong(J,Q,q)){J=J.substring(K.raw.length),Z.push(K);continue}if(K=this.tokenizer.codespan(J)){J=J.substring(K.raw.length),Z.push(K);continue}if(K=this.tokenizer.br(J)){J=J.substring(K.raw.length),Z.push(K);continue}if(K=this.tokenizer.del(J)){J=J.substring(K.raw.length),Z.push(K);continue}if(K=this.tokenizer.autolink(J)){J=J.substring(K.raw.length),Z.push(K);continue}if(!this.state.inLink&&(K=this.tokenizer.url(J))){J=J.substring(K.raw.length),Z.push(K);continue}let _=J;if(this.options.extensions?.startInline){let D=1/0,z=J.slice(1),H;this.options.extensions.startInline.forEach((O)=>{H=O.call({lexer:this},z),typeof H=="number"&&H>=0&&(D=Math.min(D,H))}),D<1/0&&D>=0&&(_=J.substring(0,D+1))}if(K=this.tokenizer.inlineText(_)){J=J.substring(K.raw.length),K.raw.slice(-1)!=="_"&&(q=K.raw.slice(-1)),j=!0;let D=Z.at(-1);D?.type==="text"?(D.raw+=K.raw,D.text+=K.text):Z.push(K);continue}if(J){let D="Infinite loop on byte: "+J.charCodeAt(0);if(this.options.silent){console.error(D);break}else throw Error(D)}}return Z}},i7=class{options;parser;constructor($){this.options=$||q$}space($){return""}code({text:$,lang:J,escaped:Z}){let Q=(J||"").match(R0.notSpaceStart)?.[0],U=$.replace(R0.endingNewline,"")+`
151
+ `;return Q?'<pre><code class="language-'+B8(Q)+'">'+(Z?U:B8(U,!0))+`</code></pre>
152
+ `:"<pre><code>"+(Z?U:B8(U,!0))+`</code></pre>
153
+ `}blockquote({tokens:$}){return`<blockquote>
154
+ ${this.parser.parse($)}</blockquote>
155
+ `}html({text:$}){return $}def($){return""}heading({tokens:$,depth:J}){return`<h${J}>${this.parser.parseInline($)}</h${J}>
156
+ `}hr($){return`<hr>
157
+ `}list($){let{ordered:J,start:Z}=$,Q="";for(let j=0;j<$.items.length;j++){let q=$.items[j];Q+=this.listitem(q)}let U=J?"ol":"ul",G=J&&Z!==1?' start="'+Z+'"':"";return"<"+U+G+`>
158
+ `+Q+"</"+U+`>
159
+ `}listitem($){return`<li>${this.parser.parse($.tokens)}</li>
160
+ `}checkbox({checked:$}){return"<input "+($?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:$}){return`<p>${this.parser.parseInline($)}</p>
161
+ `}table($){let J="",Z="";for(let U=0;U<$.header.length;U++)Z+=this.tablecell($.header[U]);J+=this.tablerow({text:Z});let Q="";for(let U=0;U<$.rows.length;U++){let G=$.rows[U];Z="";for(let j=0;j<G.length;j++)Z+=this.tablecell(G[j]);Q+=this.tablerow({text:Z})}return Q&&(Q=`<tbody>${Q}</tbody>`),`<table>
162
+ <thead>
163
+ `+J+`</thead>
164
+ `+Q+`</table>
165
+ `}tablerow({text:$}){return`<tr>
166
+ ${$}</tr>
167
+ `}tablecell($){let J=this.parser.parseInline($.tokens),Z=$.header?"th":"td";return($.align?`<${Z} align="${$.align}">`:`<${Z}>`)+J+`</${Z}>
168
+ `}strong({tokens:$}){return`<strong>${this.parser.parseInline($)}</strong>`}em({tokens:$}){return`<em>${this.parser.parseInline($)}</em>`}codespan({text:$}){return`<code>${B8($,!0)}</code>`}br($){return"<br>"}del({tokens:$}){return`<del>${this.parser.parseInline($)}</del>`}link({href:$,title:J,tokens:Z}){let Q=this.parser.parseInline(Z),U=q4($);if(U===null)return Q;$=U;let G='<a href="'+$+'"';return J&&(G+=' title="'+B8(J)+'"'),G+=">"+Q+"</a>",G}image({href:$,title:J,text:Z,tokens:Q}){Q&&(Z=this.parser.parseInline(Q,this.parser.textRenderer));let U=q4($);if(U===null)return B8(Z);$=U;let G=`<img src="${$}" alt="${Z}"`;return J&&(G+=` title="${B8(J)}"`),G+=">",G}text($){return"tokens"in $&&$.tokens?this.parser.parseInline($.tokens):("escaped"in $)&&$.escaped?$.text:B8($.text)}},c9=class{strong({text:$}){return $}em({text:$}){return $}codespan({text:$}){return $}del({text:$}){return $}html({text:$}){return $}text({text:$}){return $}link({text:$}){return""+$}image({text:$}){return""+$}br(){return""}checkbox({raw:$}){return $}},U8=class ${options;renderer;textRenderer;constructor(J){this.options=J||q$,this.options.renderer=this.options.renderer||new i7,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new c9}static parse(J,Z){return new $(Z).parse(J)}static parseInline(J,Z){return new $(Z).parseInline(J)}parse(J){let Z="";for(let Q=0;Q<J.length;Q++){let U=J[Q];if(this.options.extensions?.renderers?.[U.type]){let j=U,q=this.options.extensions.renderers[j.type].call({parser:this},j);if(q!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(j.type)){Z+=q||"";continue}}let G=U;switch(G.type){case"space":{Z+=this.renderer.space(G);break}case"hr":{Z+=this.renderer.hr(G);break}case"heading":{Z+=this.renderer.heading(G);break}case"code":{Z+=this.renderer.code(G);break}case"table":{Z+=this.renderer.table(G);break}case"blockquote":{Z+=this.renderer.blockquote(G);break}case"list":{Z+=this.renderer.list(G);break}case"checkbox":{Z+=this.renderer.checkbox(G);break}case"html":{Z+=this.renderer.html(G);break}case"def":{Z+=this.renderer.def(G);break}case"paragraph":{Z+=this.renderer.paragraph(G);break}case"text":{Z+=this.renderer.text(G);break}default:{let j='Token with "'+G.type+'" type was not found.';if(this.options.silent)return console.error(j),"";throw Error(j)}}}return Z}parseInline(J,Z=this.renderer){let Q="";for(let U=0;U<J.length;U++){let G=J[U];if(this.options.extensions?.renderers?.[G.type]){let q=this.options.extensions.renderers[G.type].call({parser:this},G);if(q!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(G.type)){Q+=q||"";continue}}let j=G;switch(j.type){case"escape":{Q+=Z.text(j);break}case"html":{Q+=Z.html(j);break}case"link":{Q+=Z.link(j);break}case"image":{Q+=Z.image(j);break}case"checkbox":{Q+=Z.checkbox(j);break}case"strong":{Q+=Z.strong(j);break}case"em":{Q+=Z.em(j);break}case"codespan":{Q+=Z.codespan(j);break}case"br":{Q+=Z.br(j);break}case"del":{Q+=Z.del(j);break}case"text":{Q+=Z.text(j);break}default:{let q='Token with "'+j.type+'" type was not found.';if(this.options.silent)return console.error(q),"";throw Error(q)}}}return Q}},k6=class{options;block;constructor($){this.options=$||q$}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess($){return $}postprocess($){return $}processAllTokens($){return $}emStrongMask($){return $}provideLexer(){return this.block?f0.lex:f0.lexInline}provideParser(){return this.block?U8.parse:U8.parseInline}},Dq=class{defaults=v9();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=U8;Renderer=i7;TextRenderer=c9;Lexer=f0;Tokenizer=r7;Hooks=k6;constructor(...$){this.use(...$)}walkTokens($,J){let Z=[];for(let Q of $)switch(Z=Z.concat(J.call(this,Q)),Q.type){case"table":{let U=Q;for(let G of U.header)Z=Z.concat(this.walkTokens(G.tokens,J));for(let G of U.rows)for(let j of G)Z=Z.concat(this.walkTokens(j.tokens,J));break}case"list":{let U=Q;Z=Z.concat(this.walkTokens(U.items,J));break}default:{let U=Q;this.defaults.extensions?.childTokens?.[U.type]?this.defaults.extensions.childTokens[U.type].forEach((G)=>{let j=U[G].flat(1/0);Z=Z.concat(this.walkTokens(j,J))}):U.tokens&&(Z=Z.concat(this.walkTokens(U.tokens,J)))}}return Z}use(...$){let J=this.defaults.extensions||{renderers:{},childTokens:{}};return $.forEach((Z)=>{let Q={...Z};if(Q.async=this.defaults.async||Q.async||!1,Z.extensions&&(Z.extensions.forEach((U)=>{if(!U.name)throw Error("extension name required");if("renderer"in U){let G=J.renderers[U.name];G?J.renderers[U.name]=function(...j){let q=U.renderer.apply(this,j);return q===!1&&(q=G.apply(this,j)),q}:J.renderers[U.name]=U.renderer}if("tokenizer"in U){if(!U.level||U.level!=="block"&&U.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let G=J[U.level];G?G.unshift(U.tokenizer):J[U.level]=[U.tokenizer],U.start&&(U.level==="block"?J.startBlock?J.startBlock.push(U.start):J.startBlock=[U.start]:U.level==="inline"&&(J.startInline?J.startInline.push(U.start):J.startInline=[U.start]))}"childTokens"in U&&U.childTokens&&(J.childTokens[U.name]=U.childTokens)}),Q.extensions=J),Z.renderer){let U=this.defaults.renderer||new i7(this.defaults);for(let G in Z.renderer){if(!(G in U))throw Error(`renderer '${G}' does not exist`);if(["options","parser"].includes(G))continue;let j=G,q=Z.renderer[j],K=U[j];U[j]=(..._)=>{let D=q.apply(U,_);return D===!1&&(D=K.apply(U,_)),D||""}}Q.renderer=U}if(Z.tokenizer){let U=this.defaults.tokenizer||new r7(this.defaults);for(let G in Z.tokenizer){if(!(G in U))throw Error(`tokenizer '${G}' does not exist`);if(["options","rules","lexer"].includes(G))continue;let j=G,q=Z.tokenizer[j],K=U[j];U[j]=(..._)=>{let D=q.apply(U,_);return D===!1&&(D=K.apply(U,_)),D}}Q.tokenizer=U}if(Z.hooks){let U=this.defaults.hooks||new k6;for(let G in Z.hooks){if(!(G in U))throw Error(`hook '${G}' does not exist`);if(["options","block"].includes(G))continue;let j=G,q=Z.hooks[j],K=U[j];k6.passThroughHooks.has(G)?U[j]=(_)=>{if(this.defaults.async&&k6.passThroughHooksRespectAsync.has(G))return(async()=>{let z=await q.call(U,_);return K.call(U,z)})();let D=q.call(U,_);return K.call(U,D)}:U[j]=(..._)=>{if(this.defaults.async)return(async()=>{let z=await q.apply(U,_);return z===!1&&(z=await K.apply(U,_)),z})();let D=q.apply(U,_);return D===!1&&(D=K.apply(U,_)),D}}Q.hooks=U}if(Z.walkTokens){let U=this.defaults.walkTokens,G=Z.walkTokens;Q.walkTokens=function(j){let q=[];return q.push(G.call(this,j)),U&&(q=q.concat(U.call(this,j))),q}}this.defaults={...this.defaults,...Q}}),this}setOptions($){return this.defaults={...this.defaults,...$},this}lexer($,J){return f0.lex($,J??this.defaults)}parser($,J){return U8.parse($,J??this.defaults)}parseMarkdown($){return(J,Z)=>{let Q={...Z},U={...this.defaults,...Q},G=this.onError(!!U.silent,!!U.async);if(this.defaults.async===!0&&Q.async===!1)return G(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof J>"u"||J===null)return G(Error("marked(): input parameter is undefined or null"));if(typeof J!="string")return G(Error("marked(): input parameter is of type "+Object.prototype.toString.call(J)+", string expected"));if(U.hooks&&(U.hooks.options=U,U.hooks.block=$),U.async)return(async()=>{let j=U.hooks?await U.hooks.preprocess(J):J,q=await(U.hooks?await U.hooks.provideLexer():$?f0.lex:f0.lexInline)(j,U),K=U.hooks?await U.hooks.processAllTokens(q):q;U.walkTokens&&await Promise.all(this.walkTokens(K,U.walkTokens));let _=await(U.hooks?await U.hooks.provideParser():$?U8.parse:U8.parseInline)(K,U);return U.hooks?await U.hooks.postprocess(_):_})().catch(G);try{U.hooks&&(J=U.hooks.preprocess(J));let j=(U.hooks?U.hooks.provideLexer():$?f0.lex:f0.lexInline)(J,U);U.hooks&&(j=U.hooks.processAllTokens(j)),U.walkTokens&&this.walkTokens(j,U.walkTokens);let q=(U.hooks?U.hooks.provideParser():$?U8.parse:U8.parseInline)(j,U);return U.hooks&&(q=U.hooks.postprocess(q)),q}catch(j){return G(j)}}}onError($,J){return(Z)=>{if(Z.message+=`
169
+ Please report this to https://github.com/markedjs/marked.`,$){let Q="<p>An error occurred:</p><pre>"+B8(Z.message+"",!0)+"</pre>";return J?Promise.resolve(Q):Q}if(J)return Promise.reject(Z);throw Z}}},j$=new Dq;function q0($,J){return j$.parse($,J)}q0.options=q0.setOptions=function($){return j$.setOptions($),q0.defaults=j$.defaults,Z2(q0.defaults),q0};q0.getDefaults=v9;q0.defaults=q$;q0.use=function(...$){return j$.use(...$),q0.defaults=j$.defaults,Z2(q0.defaults),q0};q0.walkTokens=function($,J){return j$.walkTokens($,J)};q0.parseInline=j$.parseInline;q0.Parser=U8;q0.parser=U8.parse;q0.Renderer=i7;q0.TextRenderer=c9;q0.Lexer=f0;q0.lexer=f0.lex;q0.Tokenizer=r7;q0.Hooks=k6;q0.parse=q0;var{options:tq,setOptions:eq,use:$K,walkTokens:JK,parseInline:ZK}=q0,QK=U8.parse,UK=f0.lex;function Yq($,J,Z=2){if(!J||J.tokens.length===0)try{let q=f0.lex($,{gfm:!0});return{content:$,tokens:q,stableTokenCount:Math.max(0,q.length-Z)}}catch{return{content:$,tokens:[],stableTokenCount:0}}let Q=0,U=0;for(let q of J.tokens){let K=q.raw.length;if(Q+K<=$.length&&$.startsWith(q.raw,Q))U++,Q+=K;else break}U=Math.max(0,U-Z),Q=0;for(let q=0;q<U;q++)Q+=J.tokens[q].raw.length;let G=J.tokens.slice(0,U),j=$.slice(Q);if(!j)return{content:$,tokens:G,stableTokenCount:G.length};try{let q=f0.lex(j,{gfm:!0});return{content:$,tokens:[...G,...q],stableTokenCount:Z===0?G.length+q.length:G.length}}catch{try{let q=f0.lex($,{gfm:!0});return{content:$,tokens:q,stableTokenCount:0}}catch{return{content:$,tokens:[],stableTokenCount:0}}}}var D4=/(?:\r?\n){2,}$/,Vq=/(?:\r?\n)+$/;function Y4($,J){if(!$||!J)return $===J;return $.equals(J)}class u9 extends Q0{_content="";_syntaxStyle;_fg;_bg;_conceal;_concealCode;_treeSitterClient;_tableOptions;_renderNode;_internalBlockMode;_parseState=null;_streaming=!1;_blockStates=[];_stableBlockCount=0;_styleDirty=!1;_linkifyMarkdownChunks=($,J)=>R7($,{content:J.content,highlights:J.highlights});_contentDefaultOptions={content:"",conceal:!0,concealCode:!1,streaming:!1,internalBlockMode:"coalesced"};constructor($,J){super($,{...J,flexDirection:"column",flexShrink:J.flexShrink??0});this._syntaxStyle=J.syntaxStyle,this._fg=J.fg?E(J.fg):void 0,this._bg=J.bg?E(J.bg):void 0,this._conceal=J.conceal??this._contentDefaultOptions.conceal,this._concealCode=J.concealCode??this._contentDefaultOptions.concealCode,this._content=J.content??this._contentDefaultOptions.content,this._treeSitterClient=J.treeSitterClient,this._tableOptions=J.tableOptions,this._renderNode=J.renderNode,this._streaming=J.streaming??this._contentDefaultOptions.streaming,this._internalBlockMode=J.internalBlockMode??this._contentDefaultOptions.internalBlockMode,this.updateBlocks()}get content(){return this._content}set content($){if(this.isDestroyed)return;if(this._content!==$)this._content=$,this.updateBlocks(),this.requestRender()}get syntaxStyle(){return this._syntaxStyle}set syntaxStyle($){if(this._syntaxStyle!==$)this._syntaxStyle=$,this._styleDirty=!0}get fg(){return this._fg}set fg($){let J=$?E($):void 0;if(!Y4(this._fg,J))this._fg=J,this._styleDirty=!0}get bg(){return this._bg}set bg($){let J=$?E($):void 0;if(!Y4(this._bg,J))this._bg=J,this._styleDirty=!0}get conceal(){return this._conceal}set conceal($){if(this._conceal!==$)this._conceal=$,this._styleDirty=!0}get concealCode(){return this._concealCode}set concealCode($){if(this._concealCode!==$)this._concealCode=$,this._styleDirty=!0}get streaming(){return this._streaming}set streaming($){if(this.isDestroyed)return;if(this._streaming!==$)this._streaming=$,this.updateBlocks(!0)}get tableOptions(){return this._tableOptions}set tableOptions($){this._tableOptions=$,this.applyTableOptionsToBlocks()}get renderNode(){return this._renderNode}set renderNode($){if(this._renderNode===$)return;this._renderNode=$,this.clearBlockStates(),this._parseState=null,this.updateBlocks(!0),this.requestRender()}get internalBlockMode(){return this._internalBlockMode}set internalBlockMode($){if(this._internalBlockMode===$)return;this._internalBlockMode=$,this.updateBlocks(!0),this.requestRender()}getStyle($){if(!this._syntaxStyle)return;let J=this._syntaxStyle.getStyle($);if(!J&&$.includes(".")){let Z=$.split(".")[0];J=this._syntaxStyle.getStyle(Z)}return J}createChunk($,J,Z){let Q=this.getStyle(J)||this.getStyle("default");return{__isChunk:!0,text:$,fg:Q?.fg,bg:Q?.bg,attributes:Q?h0({bold:Q.bold,italic:Q.italic,underline:Q.underline,dim:Q.dim}):0,link:Z}}createDefaultChunk($){return this.createChunk($,"default")}renderInlineContent($,J){for(let Z of $)this.renderInlineToken(Z,J)}renderInlineToken($,J){switch($.type){case"text":J.push(this.createDefaultChunk($.text));break;case"escape":J.push(this.createDefaultChunk($.text));break;case"codespan":if(this._conceal)J.push(this.createChunk($.text,"markup.raw"));else J.push(this.createChunk("`","markup.raw")),J.push(this.createChunk($.text,"markup.raw")),J.push(this.createChunk("`","markup.raw"));break;case"strong":if(!this._conceal)J.push(this.createChunk("**","markup.strong"));for(let Z of $.tokens)this.renderInlineTokenWithStyle(Z,J,"markup.strong");if(!this._conceal)J.push(this.createChunk("**","markup.strong"));break;case"em":if(!this._conceal)J.push(this.createChunk("*","markup.italic"));for(let Z of $.tokens)this.renderInlineTokenWithStyle(Z,J,"markup.italic");if(!this._conceal)J.push(this.createChunk("*","markup.italic"));break;case"del":if(!this._conceal)J.push(this.createChunk("~~","markup.strikethrough"));for(let Z of $.tokens)this.renderInlineTokenWithStyle(Z,J,"markup.strikethrough");if(!this._conceal)J.push(this.createChunk("~~","markup.strikethrough"));break;case"link":{let Z={url:$.href};if(this._conceal){for(let Q of $.tokens)this.renderInlineTokenWithStyle(Q,J,"markup.link.label",Z);J.push(this.createChunk(" (","markup.link",Z)),J.push(this.createChunk($.href,"markup.link.url",Z)),J.push(this.createChunk(")","markup.link",Z))}else{J.push(this.createChunk("[","markup.link",Z));for(let Q of $.tokens)this.renderInlineTokenWithStyle(Q,J,"markup.link.label",Z);J.push(this.createChunk("](","markup.link",Z)),J.push(this.createChunk($.href,"markup.link.url",Z)),J.push(this.createChunk(")","markup.link",Z))}break}case"image":{let Z={url:$.href};if(this._conceal)J.push(this.createChunk($.text||"image","markup.link.label",Z));else J.push(this.createChunk("![","markup.link",Z)),J.push(this.createChunk($.text||"","markup.link.label",Z)),J.push(this.createChunk("](","markup.link",Z)),J.push(this.createChunk($.href,"markup.link.url",Z)),J.push(this.createChunk(")","markup.link",Z));break}case"br":J.push(this.createDefaultChunk(`
170
+ `));break;default:if("tokens"in $&&Array.isArray($.tokens))this.renderInlineContent($.tokens,J);else if("text"in $&&typeof $.text==="string")J.push(this.createDefaultChunk($.text));break}}renderInlineTokenWithStyle($,J,Z,Q){switch($.type){case"text":J.push(this.createChunk($.text,Z,Q));break;case"escape":J.push(this.createChunk($.text,Z,Q));break;case"codespan":if(this._conceal)J.push(this.createChunk($.text,"markup.raw",Q));else J.push(this.createChunk("`","markup.raw",Q)),J.push(this.createChunk($.text,"markup.raw",Q)),J.push(this.createChunk("`","markup.raw",Q));break;default:this.renderInlineToken($,J);break}}applyMargins($,J,Z){$.marginTop=J,$.marginBottom=Z}createMarkdownCodeRenderable($,J,Z=0,Q=this._linkifyMarkdownChunks,U){return new X0(this.ctx,{id:J,content:$,filetype:"markdown",syntaxStyle:this._syntaxStyle,fg:this._fg,bg:this._bg,conceal:this._conceal,drawUnstyledText:!1,streaming:!0,baseHighlight:U,onChunks:Q,treeSitterClient:this._treeSitterClient,width:"100%",marginBottom:Z})}getBlockquoteContent($){return"text"in $&&typeof $.text==="string"&&$.text?$.text:" "}getBlockquoteBorderColor(){return this.getStyle("conceal")?.fg??this.getStyle("default")?.fg??this._fg??"#FFFFFF"}createBlockquoteRenderable($,J,Z=0){let Q=new y0(this.ctx,{id:J,width:"100%",border:["left"],borderColor:this.getBlockquoteBorderColor(),paddingLeft:1,flexShrink:0,marginBottom:Z});return Q.add(this.createMarkdownCodeRenderable(this.getBlockquoteContent($),`${J}-content`,0,this._linkifyMarkdownChunks,"markup.quote")),Q}createHorizontalRuleRenderable($,J=0){return new y0(this.ctx,{id:$,width:"100%",height:1,border:["top"],borderColor:this.getStyle("conceal")?.fg??this._fg??"#888888",flexShrink:0,marginBottom:J})}createCodeRenderable($,J,Z=0){return new X0(this.ctx,{id:J,content:$.text,filetype:P6($.lang??""),syntaxStyle:this._syntaxStyle,fg:this._fg,bg:this._bg,conceal:this._concealCode,drawUnstyledText:!(this._streaming&&this._concealCode),streaming:this._streaming,treeSitterClient:this._treeSitterClient,width:"100%",marginBottom:Z})}applyMarkdownCodeRenderable($,J,Z,Q){$.content=J,$.filetype="markdown",$.syntaxStyle=this._syntaxStyle,$.fg=this._fg,$.bg=this._bg,$.conceal=this._conceal,$.drawUnstyledText=!1,$.streaming=!0,$.baseHighlight=Q,$.marginBottom=Z}applyBlockquoteRenderable($,J,Z){if(!($ instanceof y0))return;$.borderColor=this.getBlockquoteBorderColor(),$.marginBottom=Z;let Q=$.getChildren()[0];if(Q instanceof X0){this.applyMarkdownCodeRenderable(Q,this.getBlockquoteContent(J),0,"markup.quote");return}for(let U of $.getChildren())U.destroyRecursively();$.add(this.createMarkdownCodeRenderable(this.getBlockquoteContent(J),`${$.id}-content`,0,this._linkifyMarkdownChunks,"markup.quote"))}applyCodeBlockRenderable($,J,Z){if(!($ instanceof X0))return;$.content=J.text,$.filetype=P6(J.lang??""),$.syntaxStyle=this._syntaxStyle,$.fg=this._fg,$.bg=this._bg,$.conceal=this._concealCode,$.drawUnstyledText=!(this._streaming&&this._concealCode),$.streaming=this._streaming,$.marginBottom=Z}shouldRenderSeparately($){return $.type==="code"||$.type==="table"||$.type==="blockquote"||$.type==="hr"}getInterBlockMargin($,J){if(!J)return 0;return this.shouldRenderSeparately($)?1:0}createMarkdownBlockToken($){return{type:"paragraph",raw:$,text:$,tokens:[]}}normalizeMarkdownBlockRaw($){return $.replace(D4,`
171
+ `)}normalizeScrollbackMarkdownBlockRaw($){return $.replace(Vq,"")}buildRenderableTokens($){if(this._renderNode)return $.filter((U)=>U.type!=="space");let J=[],Z="",Q=()=>{if(Z.length===0)return;let U=this.normalizeMarkdownBlockRaw(Z);if(U.length>0)J.push(this.createMarkdownBlockToken(U));Z=""};for(let U=0;U<$.length;U+=1){let G=$[U];if(G.type==="space"){if(Z.length===0)continue;let j=U+1;while(j<$.length&&$[j].type==="space")j+=1;let q=$[j];if(q&&!this.shouldRenderSeparately(q))Z+=G.raw;continue}if(this.shouldRenderSeparately(G)){Q(),J.push(G);continue}Z+=G.raw}return Q(),J}buildTopLevelRenderBlocks($){let J=[],Z="";for(let Q=0;Q<$.length;Q+=1){let U=$[Q];if(U.type==="space"){Z+=U.raw;continue}let G=J[J.length-1],j=G?D4.test(G.token.raw+Z):!1,q=G&&this.shouldAddTopLevelMargin(G.token,U,j)?1:0;J.push({token:U,sourceTokenEnd:Q+1,marginTop:q}),Z=""}return J}shouldAddTopLevelMargin($,J,Z){if(J.type==="heading"||$.type==="heading")return!0;if(J.type==="list")return Z;if(this.shouldRenderSeparately($)||this.shouldRenderSeparately(J))return!0;return Z&&$.type==="paragraph"&&J.type==="paragraph"}getTableRowsToRender($){return $.rows}hashString($,J){let Z=J>>>0;for(let Q=0;Q<$.length;Q+=1)Z^=$.charCodeAt(Q),Z=Math.imul(Z,16777619);return Z>>>0}hashTableToken($,J,Z=0){let Q=this.hashString($.type,J);if("raw"in $&&typeof $.raw==="string")return this.hashString($.raw,Q);if("text"in $&&typeof $.text==="string")Q=this.hashString($.text,Q);if(Z<2&&"tokens"in $&&Array.isArray($.tokens))for(let U of $.tokens)Q=this.hashTableToken(U,Q,Z+1);return Q>>>0}getTableCellKey($,J){let Z=J?2902232141:1371922141;if(!$)return Z;if(typeof $.text==="string")return this.hashString($.text,Z);if(Array.isArray($.tokens)&&$.tokens.length>0){let Q=Z^$.tokens.length;for(let U of $.tokens)Q=this.hashTableToken(U,Q);return Q>>>0}return(Z^2654435769)>>>0}createTableDataCellChunks($){let J=[];if($)this.renderInlineContent($.tokens,J);return J.length>0?J:[this.createDefaultChunk(" ")]}createTableHeaderCellChunks($){let J=[];this.renderInlineContent($.tokens,J);let Z=J.length>0?J:[this.createDefaultChunk(" ")],Q=this.getStyle("markup.heading")||this.getStyle("default");if(!Q)return Z;let U=h0({bold:Q.bold,italic:Q.italic,underline:Q.underline,dim:Q.dim});return Z.map((G)=>({...G,fg:Q.fg??G.fg,bg:Q.bg??G.bg,attributes:U}))}buildTableContentCache($,J,Z=!1){let Q=$.header.length,U=this.getTableRowsToRender($);if(Q===0||U.length===0)return{cache:null,changed:J!==void 0};let G=[],j=[],q=U.length+1,K=Z||!J;for(let _=0;_<q;_+=1){let D=[],z=new Uint32Array(Q);for(let H=0;H<Q;H+=1){let O=_===0,X=O?$.header[H]:U[_-1]?.[H],P=this.getTableCellKey(X,O);z[H]=P;let N=J?.cellKeys[_]?.[H],W=J?.content[_]?.[H];if(!Z&&N===P&&Array.isArray(W)){D.push(W);continue}K=!0,D.push(O?this.createTableHeaderCellChunks($.header[H]):this.createTableDataCellChunks(X))}G.push(D),j.push(z)}if(J&&!K){if(J.content.length!==G.length)K=!0;else for(let _=0;_<G.length;_+=1)if((J.content[_]?.length??0)!==G[_].length){K=!0;break}}return{cache:{content:G,cellKeys:j},changed:K}}resolveTableStyle($=this._tableOptions){if($?.style==="columns")return"columns";if($?.style==="grid")return"grid";return this._internalBlockMode==="top-level"?"columns":"grid"}usesBorderlessColumnSpacing($=this._tableOptions){let J=this.resolveTableStyle($),Z=$?.borders??J==="grid";return J==="columns"&&!Z}resolveTableRenderableOptions(){let $=this.resolveTableStyle(),J=this._tableOptions?.borders??$==="grid";return{columnWidthMode:this._tableOptions?.widthMode??($==="columns"?"content":"full"),columnFitter:this._tableOptions?.columnFitter??"proportional",wrapMode:this._tableOptions?.wrapMode??"word",cellPadding:this._tableOptions?.cellPadding??0,cellPaddingX:this._tableOptions?.cellPaddingX??this._tableOptions?.cellPadding??0,cellPaddingY:this._tableOptions?.cellPaddingY??this._tableOptions?.cellPadding??0,columnGap:this.usesBorderlessColumnSpacing()?2:0,border:J,outerBorder:this._tableOptions?.outerBorder??J,showBorders:J,borderStyle:this._tableOptions?.borderStyle??"single",borderColor:this._tableOptions?.borderColor??this.getStyle("conceal")?.fg??"#888888",selectable:this._tableOptions?.selectable??!0}}applyTableRenderableOptions($,J){$.columnWidthMode=J.columnWidthMode,$.columnFitter=J.columnFitter,$.wrapMode=J.wrapMode,$.cellPaddingX=J.cellPaddingX,$.cellPaddingY=J.cellPaddingY,$.columnGap=J.columnGap,$.border=J.border,$.outerBorder=J.outerBorder,$.showBorders=J.showBorders,$.borderStyle=J.borderStyle,$.borderColor=J.borderColor,$.selectable=J.selectable}applyTableOptionsToBlocks(){let $=this.resolveTableRenderableOptions(),J=!1;for(let Z of this._blockStates)if(Z.renderable instanceof L8)this.applyTableRenderableOptions(Z.renderable,$),J=!0;if(J)this.requestRender()}createTextTableRenderable($,J,Z=0){let Q=this.resolveTableRenderableOptions();return new L8(this.ctx,{id:J,content:$,width:"100%",marginBottom:Z,columnWidthMode:Q.columnWidthMode,columnFitter:Q.columnFitter,wrapMode:Q.wrapMode,cellPadding:Q.cellPadding,cellPaddingX:Q.cellPaddingX,cellPaddingY:Q.cellPaddingY,columnGap:Q.columnGap,border:Q.border,outerBorder:Q.outerBorder,showBorders:Q.showBorders,borderStyle:Q.borderStyle,borderColor:Q.borderColor,selectable:Q.selectable})}createTableBlock($,J,Z=0,Q,U=!1){let{cache:G}=this.buildTableContentCache($,Q,U);if(!G)return{renderable:this.createMarkdownCodeRenderable($.raw,J,Z)};return{renderable:this.createTextTableRenderable(G.content,J,Z),tableContentCache:G}}getStableBlockCount($,J){if(this._internalBlockMode!=="top-level")return 0;let Z=0;for(let Q of $){if(Q.sourceTokenEnd<=J){Z+=1;continue}break}return Z}syncTopLevelBlockState($,J,Z=$.tableContentCache){$.token=J.token,$.tokenRaw=J.token.raw,$.marginTop=J.marginTop,$.tableContentCache=Z}getTopLevelBlockRaw($){if(!$.raw)return;return this.shouldRenderSeparately($)?$.raw:this.normalizeScrollbackMarkdownBlockRaw($.raw)}createTopLevelDefaultRenderable($,J){let{token:Z,marginTop:Q}=$,U=`${this.id}-block-${J}`;if(Z.type==="code"){let q=this.createCodeRenderable(Z,U);return q.marginTop=Q,{renderable:q}}if(Z.type==="table"){let q=this.createTableBlock(Z,U);return q.renderable.marginTop=Q,q}if(Z.type==="blockquote"){let q=this.createBlockquoteRenderable(Z,U);return q.marginTop=Q,{renderable:q}}if(Z.type==="hr"){let q=this.createHorizontalRuleRenderable(U);return q.marginTop=Q,{renderable:q}}let G=this.getTopLevelBlockRaw(Z);if(!G)return{renderable:void 0};let j=this.createMarkdownCodeRenderable(G,U);return j.marginTop=Q,{renderable:j}}createTopLevelRenderable($,J){if(!this._renderNode)return this.createTopLevelDefaultRenderable($,J);let Z,Q={syntaxStyle:this._syntaxStyle,conceal:this._conceal,concealCode:this._concealCode,treeSitterClient:this._treeSitterClient,defaultRender:()=>{return Z=this.createTopLevelDefaultRenderable($,J),Z.renderable??null}},U=this._renderNode($.token,Q);if(U){let G=typeof U.marginTop==="number"?Math.max(U.marginTop,$.marginTop):$.marginTop;return this.applyMargins(U,G,0),{renderable:U}}return Z??this.createTopLevelDefaultRenderable($,J)}createDefaultRenderable($,J,Z=!1){let Q=`${this.id}-block-${J}`,U=this.getInterBlockMargin($,Z);if($.type==="code")return this.createCodeRenderable($,Q,U);if($.type==="blockquote")return this.createBlockquoteRenderable($,Q,U);if($.type==="hr")return this.createHorizontalRuleRenderable(Q,U);if($.type==="table")return this.createTableBlock($,Q,U).renderable;if($.type==="space")return null;if(!$.raw)return null;return this.createMarkdownCodeRenderable($.raw,Q,U)}updateBlockRenderable($,J,Z,Q){let U=this.getInterBlockMargin(J,Q);if(J.type==="code"){this.applyCodeBlockRenderable($.renderable,J,U);return}if(J.type==="blockquote"){this.applyBlockquoteRenderable($.renderable,J,U);return}if(J.type==="hr"){$.renderable.marginBottom=U;return}if(J.type==="table"){let j=J,{cache:q,changed:K}=this.buildTableContentCache(j,$.tableContentCache);if(!q){if($.renderable instanceof X0){this.applyMarkdownCodeRenderable($.renderable,j.raw,U),$.tableContentCache=void 0;return}$.renderable.destroyRecursively();let D=this.createMarkdownCodeRenderable(j.raw,`${this.id}-block-${Z}`,U);this.add(D),$.renderable=D,$.tableContentCache=void 0;return}if($.renderable instanceof L8){if(K)$.renderable.content=q.content;this.applyTableRenderableOptions($.renderable,this.resolveTableRenderableOptions()),$.renderable.marginBottom=U,$.tableContentCache=q;return}$.renderable.destroyRecursively();let _=this.createTextTableRenderable(q.content,`${this.id}-block-${Z}`,U);this.add(_),$.renderable=_,$.tableContentCache=q;return}if($.renderable instanceof X0){this.applyMarkdownCodeRenderable($.renderable,this.getTopLevelBlockRaw(J)??J.raw,U);return}$.renderable.destroyRecursively();let G=this.createMarkdownCodeRenderable(this.getTopLevelBlockRaw(J)??J.raw,`${this.id}-block-${Z}`,U);this.add(G),$.renderable=G}updateTopLevelBlocks($,J){let Z=this.buildTopLevelRenderBlocks($);this._stableBlockCount=this.getStableBlockCount(Z,this._parseState?.stableTokenCount??0);let Q=0;for(let U=0;U<Z.length;U+=1){let G=Z[U],j=this._blockStates[Q];if(j&&j.token===G.token&&!J){if(j.marginTop!==G.marginTop)this.applyMargins(j.renderable,G.marginTop,0);this.syncTopLevelBlockState(j,G),Q++;continue}if(j&&j.tokenRaw===G.token.raw&&j.token.type===G.token.type&&!J){if(j.marginTop!==G.marginTop)this.applyMargins(j.renderable,G.marginTop,0);this.syncTopLevelBlockState(j,G),Q++;continue}if(j&&!J&&!this._renderNode&&j.token.type===G.token.type&&this.canUpdateBlockRenderable(j.renderable,G.token)){if(this.updateBlockRenderable(j,G.token,Q,Q<Z.length-1),j.renderable.marginBottom=0,j.marginTop!==G.marginTop)this.applyMargins(j.renderable,G.marginTop,0);this.syncTopLevelBlockState(j,G),Q++;continue}if(j)j.renderable.destroyRecursively();let q=this.createTopLevelRenderable(G,Q);if(q.renderable)this.add(q.renderable),this._blockStates[Q]={token:G.token,tokenRaw:G.token.raw,marginTop:G.marginTop,renderable:q.renderable,tableContentCache:q.tableContentCache};Q++}while(this._blockStates.length>Q)this._blockStates.pop().renderable.destroyRecursively()}canUpdateBlockRenderable($,J){if(J.type==="code")return $ instanceof X0;if(J.type==="table")return $ instanceof L8;if(J.type==="blockquote")return $ instanceof y0;if(J.type==="hr")return $ instanceof y0;return $ instanceof X0}updateBlocks($=!1){if(this.isDestroyed)return;if(!this._content){this.clearBlockStates(),this._parseState=null,this._stableBlockCount=0;return}let J=this._streaming?2:0;this._parseState=Yq(this._content,this._parseState,J);let Z=this._parseState.tokens;if(Z.length===0&&this._content.length>0){this.clearBlockStates(),this._stableBlockCount=0;let j=this.createMarkdownCodeRenderable(this._content,`${this.id}-fallback`);this.add(j),this._blockStates=[{token:{type:"text",raw:this._content,text:this._content},tokenRaw:this._content,marginTop:0,renderable:j}];return}if(this._internalBlockMode==="top-level"){this.updateTopLevelBlocks(Z,$);return}this._stableBlockCount=0;let Q=this.buildRenderableTokens(Z),U=Q.length-1,G=0;for(let j=0;j<Q.length;j++){let q=Q[j],K=j<U,_=this._blockStates[G],D=$;if(_&&_.token===q){if(D)this.updateBlockRenderable(_,q,G,K),_.tokenRaw=q.raw;G++;continue}if(_&&_.tokenRaw===q.raw&&_.token.type===q.type){if(_.token=q,D)this.updateBlockRenderable(_,q,G,K),_.tokenRaw=q.raw;G++;continue}if(_&&_.token.type===q.type){this.updateBlockRenderable(_,q,G,K),_.token=q,_.tokenRaw=q.raw,G++;continue}if(_)_.renderable.destroyRecursively();let z,H;if(this._renderNode){let O={syntaxStyle:this._syntaxStyle,conceal:this._conceal,concealCode:this._concealCode,treeSitterClient:this._treeSitterClient,defaultRender:()=>this.createDefaultRenderable(q,G,K)},X=this._renderNode(q,O);if(X)z=X}if(!z)if(q.type==="table"){let O=this.createTableBlock(q,`${this.id}-block-${G}`,this.getInterBlockMargin(q,K));z=O.renderable,H=O.tableContentCache}else z=this.createDefaultRenderable(q,G,K)??void 0;if(q.type==="table"&&!H&&z instanceof L8){let{cache:O}=this.buildTableContentCache(q);H=O??void 0}if(z)this.add(z),this._blockStates[G]={token:q,tokenRaw:q.raw,renderable:z,tableContentCache:H};G++}while(this._blockStates.length>G)this._blockStates.pop().renderable.destroyRecursively()}clearBlockStates(){for(let $ of this._blockStates)$.renderable.destroyRecursively();this._blockStates=[],this._stableBlockCount=0}rerenderBlocks(){if(this._internalBlockMode==="top-level"){this.updateBlocks(!0);return}for(let $=0;$<this._blockStates.length;$++){let J=this._blockStates[$],Z=$<this._blockStates.length-1,Q=this.getInterBlockMargin(J.token,Z);if(J.token.type==="code"){this.applyCodeBlockRenderable(J.renderable,J.token,Q);continue}if(J.token.type==="blockquote"){this.applyBlockquoteRenderable(J.renderable,J.token,Q);continue}if(J.token.type==="hr"){J.renderable.marginBottom=Q;continue}if(J.token.type==="table"){let G=J.token,{cache:j}=this.buildTableContentCache(G,J.tableContentCache,!0);if(!j){if(J.renderable instanceof X0)this.applyMarkdownCodeRenderable(J.renderable,G.raw,Q);else{J.renderable.destroyRecursively();let K=this.createMarkdownCodeRenderable(G.raw,`${this.id}-block-${$}`,Q);this.add(K),J.renderable=K}J.tableContentCache=void 0;continue}if(J.renderable instanceof L8){J.renderable.content=j.content,this.applyTableRenderableOptions(J.renderable,this.resolveTableRenderableOptions()),J.renderable.marginBottom=Q,J.tableContentCache=j;continue}J.renderable.destroyRecursively();let q=this.createTextTableRenderable(j.content,`${this.id}-block-${$}`,Q);this.add(q),J.renderable=q,J.tableContentCache=j;continue}if(J.renderable instanceof X0){this.applyMarkdownCodeRenderable(J.renderable,this.getTopLevelBlockRaw(J.token)??J.token.raw,Q);continue}J.renderable.destroyRecursively();let U=this.createMarkdownCodeRenderable(this.getTopLevelBlockRaw(J.token)??J.token.raw,`${this.id}-block-${$}`,Q);this.add(U),J.renderable=U}}clearCache(){this._parseState=null,this.clearBlockStates(),this.updateBlocks(),this.requestRender()}refreshStyles(){this._styleDirty=!1,this.rerenderBlocks(),this.requestRender()}renderSelf($,J){if(this._styleDirty)this._styleDirty=!1,this.rerenderBlocks();super.renderSelf($,J)}}var zq=l.fromHex("#9a9ea3"),Hq=l.fromHex("#252527");class QJ extends Q0{orientation;_value;_min;_max;_viewPortSize;_backgroundColor;_foregroundColor;_onChange;constructor($,J){super($,{flexShrink:0,...J});this.orientation=J.orientation,this._min=J.min??0,this._max=J.max??100,this._value=J.value??this._min,this._viewPortSize=J.viewPortSize??Math.max(1,(this._max-this._min)*0.1),this._onChange=J.onChange,this._backgroundColor=J.backgroundColor?E(J.backgroundColor):Hq,this._foregroundColor=J.foregroundColor?E(J.foregroundColor):zq,this.setupMouseHandling()}get value(){return this._value}set value($){let J=Math.max(this._min,Math.min(this._max,$));if(J!==this._value)this._value=J,this._onChange?.(J),this.emit("change",{value:J}),this.requestRender()}get min(){return this._min}set min($){if($!==this._min){if(this._min=$,this._value<$)this.value=$;this.requestRender()}}get max(){return this._max}set max($){if($!==this._max){if(this._max=$,this._value>$)this.value=$;this.requestRender()}}set viewPortSize($){let J=Math.max(0.01,Math.min($,this._max-this._min));if(J!==this._viewPortSize)this._viewPortSize=J,this.requestRender()}get viewPortSize(){return this._viewPortSize}get backgroundColor(){return this._backgroundColor}set backgroundColor($){this._backgroundColor=E($),this.requestRender()}get foregroundColor(){return this._foregroundColor}set foregroundColor($){this._foregroundColor=E($),this.requestRender()}calculateDragOffsetVirtual($){let J=this.orientation==="vertical"?this.y:this.x,Z=(this.orientation==="vertical"?$.y:$.x)-J,Q=Math.max(0,Math.min((this.orientation==="vertical"?this.height:this.width)*2,Z*2)),U=this.getVirtualThumbStart(),G=this.getVirtualThumbSize();return Math.max(0,Math.min(G,Q-U))}setupMouseHandling(){let $=!1,J=0;this.onMouseDown=(Z)=>{Z.stopPropagation(),Z.preventDefault();let Q=this.getThumbRect();if(Z.x>=Q.x&&Z.x<Q.x+Q.width&&Z.y>=Q.y&&Z.y<Q.y+Q.height)$=!0,J=this.calculateDragOffsetVirtual(Z);else this.updateValueFromMouseDirect(Z),$=!0,J=this.calculateDragOffsetVirtual(Z)},this.onMouseDrag=(Z)=>{if(!$)return;Z.stopPropagation(),this.updateValueFromMouseWithOffset(Z,J)},this.onMouseUp=(Z)=>{if($)this.updateValueFromMouseWithOffset(Z,J);$=!1}}updateValueFromMouseDirect($){let J=this.orientation==="vertical"?this.y:this.x,Z=this.orientation==="vertical"?this.height:this.width,U=(this.orientation==="vertical"?$.y:$.x)-J,G=Math.max(0,Math.min(Z,U)),j=Z===0?0:G/Z,q=this._max-this._min,K=this._min+j*q;this.value=K}updateValueFromMouseWithOffset($,J){let Z=this.orientation==="vertical"?this.y:this.x,Q=this.orientation==="vertical"?this.height:this.width,U=this.orientation==="vertical"?$.y:$.x,G=Q*2,j=U-Z,K=Math.max(0,Math.min(Q,j))*2,_=this.getVirtualThumbSize(),D=Math.max(0,G-_),z=K-J;z=Math.max(0,Math.min(D,z));let H=D===0?0:z/D,O=this._max-this._min,X=this._min+H*O;this.value=X}getThumbRect(){let $=this.getVirtualThumbSize(),J=this.getVirtualThumbStart(),Z=Math.floor(J/2),Q=Math.ceil((J+$)/2)-Z;if(this.orientation==="vertical")return{x:this.x,y:this.y+Z,width:this.width,height:Math.max(1,Q)};else return{x:this.x+Z,y:this.y,width:Math.max(1,Q),height:this.height}}renderSelf($){if(this.orientation==="horizontal")this.renderHorizontal($);else this.renderVertical($)}renderHorizontal($){let J=this.getVirtualThumbSize(),Z=this.getVirtualThumbStart(),Q=Z+J;$.fillRect(this.x,this.y,this.width,this.height,this._backgroundColor);let U=Math.floor(Z/2),G=Math.ceil(Q/2)-1,j=Math.max(0,U),q=Math.min(this.width-1,G);for(let K=j;K<=q;K++){let _=K*2,D=_+2,z=Math.max(Z,_),O=Math.min(Q,D)-z,X=" ";if(O>=2)X="\u2588";else if(z===_)X="\u258C";else X="\u2590";for(let P=0;P<this.height;P++)$.setCellWithAlphaBlending(this.x+K,this.y+P,X,this._foregroundColor,this._backgroundColor)}}renderVertical($){let J=this.getVirtualThumbSize(),Z=this.getVirtualThumbStart(),Q=Z+J;$.fillRect(this.x,this.y,this.width,this.height,this._backgroundColor);let U=Math.floor(Z/2),G=Math.ceil(Q/2)-1,j=Math.max(0,U),q=Math.min(this.height-1,G);for(let K=j;K<=q;K++){let _=K*2,D=_+2,z=Math.max(Z,_),O=Math.min(Q,D)-z,X=" ";if(O>=2)X="\u2588";else if(O>0)if(z-_===0)X="\u2580";else X="\u2584";for(let P=0;P<this.width;P++)$.setCellWithAlphaBlending(this.x+P,this.y+K,X,this._foregroundColor,this._backgroundColor)}}getVirtualThumbSize(){let $=this.orientation==="vertical"?this.height*2:this.width*2,J=this._max-this._min;if(J===0)return $;let Z=Math.max(1,this._viewPortSize),Q=J+Z;if(Q<=Z)return $;let U=Z/Q,G=Math.floor($*U);return Math.max(1,Math.min(G,$))}getVirtualThumbStart(){let $=this.orientation==="vertical"?this.height*2:this.width*2,J=this._max-this._min;if(J===0)return 0;let Z=(this._value-this._min)/J,Q=this.getVirtualThumbSize();return Math.round(Z*($-Q))}}class g6 extends Q0{slider;startArrow;endArrow;orientation;_focusable=!0;_scrollSize=0;_scrollPosition=0;_viewportSize=0;_showArrows=!1;_manualVisibility=!1;_onChange;scrollStep=null;get visible(){return super.visible}set visible($){this._manualVisibility=!0,super.visible=$}resetVisibilityControl(){this._manualVisibility=!1,this.recalculateVisibility()}get scrollSize(){return this._scrollSize}get scrollPosition(){return this._scrollPosition}get viewportSize(){return this._viewportSize}set scrollSize($){if($===this.scrollSize)return;this._scrollSize=$,this.recalculateVisibility(),this.updateSliderFromScrollState(),this.scrollPosition=this.scrollPosition}set scrollPosition($){let J=Math.round(Math.min(Math.max(0,$),this.scrollSize-this.viewportSize));if(J!==this._scrollPosition)this._scrollPosition=J,this.updateSliderFromScrollState()}set viewportSize($){if($===this.viewportSize)return;this._viewportSize=$,this.slider.viewPortSize=Math.max(1,this._viewportSize),this.recalculateVisibility(),this.updateSliderFromScrollState(),this.scrollPosition=this.scrollPosition}get showArrows(){return this._showArrows}set showArrows($){if($===this._showArrows)return;this._showArrows=$,this.startArrow.visible=$,this.endArrow.visible=$}constructor($,{trackOptions:J,arrowOptions:Z,orientation:Q,showArrows:U=!1,...G}){super($,{flexDirection:Q==="vertical"?"column":"row",alignSelf:"stretch",alignItems:"stretch",...G});this._onChange=G.onChange,this.orientation=Q,this._showArrows=U;let j=Math.max(0,this._scrollSize-this._viewportSize),q=Math.max(1,this._viewportSize),K=J?.viewPortSize??q;this.slider=new QJ($,{orientation:Q,min:0,max:j,value:this._scrollPosition,viewPortSize:K,onChange:(H)=>{this._scrollPosition=Math.round(H),this._onChange?.(this._scrollPosition),this.emit("change",{position:this._scrollPosition})},...Q==="vertical"?{width:Math.max(1,Math.min(2,this.width)),height:"100%",marginLeft:"auto"}:{width:"100%",height:1,marginTop:"auto"},flexGrow:1,flexShrink:1,...J}),this.updateSliderFromScrollState();let _=Z?{foregroundColor:Z.backgroundColor,backgroundColor:Z.backgroundColor,attributes:Z.attributes,...Z}:{};this.startArrow=new b6($,{alignSelf:"center",visible:this.showArrows,direction:this.orientation==="vertical"?"up":"left",height:this.orientation==="vertical"?1:1,..._}),this.endArrow=new b6($,{alignSelf:"center",visible:this.showArrows,direction:this.orientation==="vertical"?"down":"right",height:this.orientation==="vertical"?1:1,..._}),this.add(this.startArrow),this.add(this.slider),this.add(this.endArrow);let D=void 0,z=void 0;this.startArrow.onMouseDown=(H)=>{H.stopPropagation(),H.preventDefault(),this.scrollBy(-0.5,"viewport"),D=setTimeout(()=>{this.scrollBy(-0.5,"viewport"),D=setInterval(()=>{this.scrollBy(-0.2,"viewport")},200)},500)},this.startArrow.onMouseUp=(H)=>{H.stopPropagation(),clearInterval(D)},this.endArrow.onMouseDown=(H)=>{H.stopPropagation(),H.preventDefault(),this.scrollBy(0.5,"viewport"),z=setTimeout(()=>{this.scrollBy(0.5,"viewport"),z=setInterval(()=>{this.scrollBy(0.2,"viewport")},200)},500)},this.endArrow.onMouseUp=(H)=>{H.stopPropagation(),clearInterval(z)}}set arrowOptions($){Object.assign(this.startArrow,$),Object.assign(this.endArrow,$),this.requestRender()}set trackOptions($){Object.assign(this.slider,$),this.requestRender()}updateSliderFromScrollState(){let $=Math.max(0,this._scrollSize-this._viewportSize);this.slider.min=0,this.slider.max=$,this.slider.value=Math.min(this._scrollPosition,$)}scrollBy($,J="absolute"){let Q=(J==="viewport"?this.viewportSize:J==="content"?this.scrollSize:J==="step"?this.scrollStep??1:1)*$;this.scrollPosition+=Q}recalculateVisibility(){if(!this._manualVisibility){let $=this.scrollSize<=this.viewportSize?1:this.viewportSize/this.scrollSize;super.visible=$<1}}handleKeyPress($){switch($.name){case"left":case"h":if(this.orientation!=="horizontal")return!1;return this.scrollBy(-0.2,"viewport"),!0;case"right":case"l":if(this.orientation!=="horizontal")return!1;return this.scrollBy(0.2,"viewport"),!0;case"up":case"k":if(this.orientation!=="vertical")return!1;return this.scrollBy(-0.2,"viewport"),!0;case"down":case"j":if(this.orientation!=="vertical")return!1;return this.scrollBy(0.2,"viewport"),!0;case"pageup":return this.scrollBy(-0.5,"viewport"),!0;case"pagedown":return this.scrollBy(0.5,"viewport"),!0;case"home":return this.scrollBy(-1,"content"),!0;case"end":return this.scrollBy(1,"content"),!0}return!1}}class b6 extends Q0{_direction;_foregroundColor;_backgroundColor;_attributes;_arrowChars;constructor($,J){super($,J);if(this._direction=J.direction,this._foregroundColor=J.foregroundColor?E(J.foregroundColor):l.fromValues(1,1,1,1),this._backgroundColor=J.backgroundColor?E(J.backgroundColor):l.fromValues(0,0,0,0),this._attributes=J.attributes??0,this._arrowChars={up:"\u25B2",down:"\u25BC",left:"\u25C0",right:"\u25B6",...J.arrowChars},!J.width)this.width=e8(this.getArrowChar())}get direction(){return this._direction}set direction($){if(this._direction!==$)this._direction=$,this.requestRender()}get foregroundColor(){return this._foregroundColor}set foregroundColor($){if(this._foregroundColor!==$)this._foregroundColor=E($),this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor($){if(this._backgroundColor!==$)this._backgroundColor=E($),this.requestRender()}get attributes(){return this._attributes}set attributes($){if(this._attributes!==$)this._attributes=$,this.requestRender()}set arrowChars($){this._arrowChars={...this._arrowChars,...$},this.requestRender()}renderSelf($){let J=this.getArrowChar();$.drawText(J,this.x,this.y,this._foregroundColor,this._backgroundColor,this._attributes)}getArrowChar(){switch(this._direction){case"up":return this._arrowChars.up;case"down":return this._arrowChars.down;case"left":return this._arrowChars.left;case"right":return this._arrowChars.right;default:return"?"}}}class z2 extends y0{viewport;_viewportCulling;constructor($,J,Z,Q){super($,Q);this.viewport=J,this._viewportCulling=Z}get viewportCulling(){return this._viewportCulling}set viewportCulling($){this._viewportCulling=$}_hasVisibleChildFilter(){return this._viewportCulling}_getVisibleChildren(){if(this._viewportCulling)return K9({x:this.viewport.screenX,y:this.viewport.screenY,width:this.viewport.width,height:this.viewport.height},this.getChildrenSortedByPrimaryAxis(),this.primaryAxis,0).map(($)=>$.num);return super._getVisibleChildren()}}var H2=["padding","paddingX","paddingY","paddingTop","paddingRight","paddingBottom","paddingLeft"];function V4($){if(!$)return{};let J={};for(let Z of H2){let Q=$[Z];if(Q!==void 0)J[Z]=Q}return J}function z4($){let J={...$};for(let Z of H2)delete J[Z];return J}class d6 extends y0{static idCounter=0;internalId=0;wrapper;viewport;content;horizontalScrollBar;verticalScrollBar;_focusable=!0;selectionListener;autoScrollMouseX=0;autoScrollMouseY=0;autoScrollThresholdVertical=3;autoScrollThresholdHorizontal=3;autoScrollSpeedSlow=6;autoScrollSpeedMedium=36;autoScrollSpeedFast=72;isAutoScrolling=!1;cachedAutoScrollSpeed=3;autoScrollAccumulatorX=0;autoScrollAccumulatorY=0;scrollAccumulatorX=0;scrollAccumulatorY=0;_stickyScroll;_stickyScrollTop=!1;_stickyScrollBottom=!1;_stickyScrollLeft=!1;_stickyScrollRight=!1;_stickyStart;_hasManualScroll=!1;_isApplyingStickyScroll=!1;scrollAccel;get stickyScroll(){return this._stickyScroll}set stickyScroll($){this._stickyScroll=$,this.updateStickyState()}get stickyStart(){return this._stickyStart}set stickyStart($){this._stickyStart=$,this.updateStickyState()}get scrollTop(){return this.verticalScrollBar.scrollPosition}set scrollTop($){if(this.verticalScrollBar.scrollPosition=$,!this._isApplyingStickyScroll){let J=Math.max(0,this.scrollHeight-this.viewport.height);if(!this.isAtStickyPosition()&&J>1)this._hasManualScroll=!0}this.updateStickyState()}get scrollLeft(){return this.horizontalScrollBar.scrollPosition}set scrollLeft($){if(this.horizontalScrollBar.scrollPosition=$,!this._isApplyingStickyScroll){let J=Math.max(0,this.scrollWidth-this.viewport.width);if(!this.isAtStickyPosition()&&J>1)this._hasManualScroll=!0}this.updateStickyState()}get scrollWidth(){return this.horizontalScrollBar.scrollSize}get scrollHeight(){return this.verticalScrollBar.scrollSize}updateStickyState(){if(!this._stickyScroll)return;let $=Math.max(0,this.scrollHeight-this.viewport.height),J=Math.max(0,this.scrollWidth-this.viewport.width);if(this.scrollTop<=0){if(this._stickyScrollTop=!0,this._stickyScrollBottom=!1,!this._isApplyingStickyScroll&&(this._stickyStart==="top"||this._stickyStart==="bottom"&&$===0))this._hasManualScroll=!1}else if(this.scrollTop>=$){if(this._stickyScrollTop=!1,this._stickyScrollBottom=!0,!this._isApplyingStickyScroll&&this._stickyStart==="bottom")this._hasManualScroll=!1}else this._stickyScrollTop=!1,this._stickyScrollBottom=!1;if(this.scrollLeft<=0){if(this._stickyScrollLeft=!0,this._stickyScrollRight=!1,!this._isApplyingStickyScroll&&(this._stickyStart==="left"||this._stickyStart==="right"&&J===0))this._hasManualScroll=!1}else if(this.scrollLeft>=J){if(this._stickyScrollLeft=!1,this._stickyScrollRight=!0,!this._isApplyingStickyScroll&&this._stickyStart==="right")this._hasManualScroll=!1}else this._stickyScrollLeft=!1,this._stickyScrollRight=!1}applyStickyStart($){let J=this._isApplyingStickyScroll;this._isApplyingStickyScroll=!0;try{switch($){case"top":this._stickyScrollTop=!0,this._stickyScrollBottom=!1,this.verticalScrollBar.scrollPosition=0;break;case"bottom":this._stickyScrollTop=!1,this._stickyScrollBottom=!0,this.verticalScrollBar.scrollPosition=Math.max(0,this.scrollHeight-this.viewport.height);break;case"left":this._stickyScrollLeft=!0,this._stickyScrollRight=!1,this.horizontalScrollBar.scrollPosition=0;break;case"right":this._stickyScrollLeft=!1,this._stickyScrollRight=!0,this.horizontalScrollBar.scrollPosition=Math.max(0,this.scrollWidth-this.viewport.width);break}}finally{this._isApplyingStickyScroll=J}}constructor($,J){let{wrapperOptions:Z,viewportOptions:Q,contentOptions:U,rootOptions:G,scrollbarOptions:j,verticalScrollbarOptions:q,horizontalScrollbarOptions:K,stickyScroll:_=!1,stickyStart:D,scrollX:z=!1,scrollY:H=!0,scrollAcceleration:O,viewportCulling:X=!0,...P}=J,N={...V4(P),...V4(G)},W=z4(P),F=G?z4(G):void 0,B={...N,...U};super($,{flexDirection:"row",alignItems:"stretch",...W,...F});if(this.internalId=d6.idCounter++,this._stickyScroll=_,this._stickyStart=D,this.scrollAccel=O??new K6,this.wrapper=new y0($,{flexDirection:"column",flexGrow:1,...Z,id:`scroll-box-wrapper-${this.internalId}`}),super.add(this.wrapper),this.viewport=new y0($,{flexDirection:"column",flexGrow:1,overflow:"hidden",onSizeChange:()=>{this.recalculateBarProps()},...Q,id:`scroll-box-viewport-${this.internalId}`}),this.wrapper.add(this.viewport),this.content=new z2($,this.viewport,X,{alignSelf:"flex-start",flexShrink:0,...z?{minWidth:"100%"}:{minWidth:"100%",maxWidth:"100%"},...H?{minHeight:"100%"}:{minHeight:"100%",maxHeight:"100%"},onSizeChange:()=>{this.recalculateBarProps()},...B,id:`scroll-box-content-${this.internalId}`}),this.viewport.add(this.content),this.verticalScrollBar=new g6($,{...j,...q,arrowOptions:{...j?.arrowOptions,...q?.arrowOptions},id:`scroll-box-vertical-scrollbar-${this.internalId}`,orientation:"vertical",onChange:(I)=>{if(this.content.translateY=-I,!this._isApplyingStickyScroll){let w=Math.max(0,this.scrollHeight-this.viewport.height);if(!this.isAtStickyPosition()&&w>1)this._hasManualScroll=!0}this.updateStickyState()}}),super.add(this.verticalScrollBar),this.horizontalScrollBar=new g6($,{...j,...K,arrowOptions:{...j?.arrowOptions,...K?.arrowOptions},id:`scroll-box-horizontal-scrollbar-${this.internalId}`,orientation:"horizontal",onChange:(I)=>{if(this.content.translateX=-I,!this._isApplyingStickyScroll){let w=Math.max(0,this.scrollWidth-this.viewport.width);if(!this.isAtStickyPosition()&&w>1)this._hasManualScroll=!0}this.updateStickyState()}}),this.wrapper.add(this.horizontalScrollBar),this.recalculateBarProps(),D&&_)this.applyStickyStart(D);this.selectionListener=()=>{let I=this._ctx.getSelection();if(!I||!I.isDragging)this.stopAutoScroll()},this._ctx.on("selection",this.selectionListener)}onUpdate($){this.handleAutoScroll($)}scrollBy($,J="absolute"){if(typeof $==="number")this.verticalScrollBar.scrollBy($,J);else this.verticalScrollBar.scrollBy($.y,J),this.horizontalScrollBar.scrollBy($.x,J)}scrollChildIntoView($){let J=this.content.findDescendantById($);if(!J)return;let Z=(O,X,P,N)=>{let W=X-O,F=N-P,B=O<P,I=X>N;if(B&&I)return 0;if(B&&W<F||I&&W>F)return O-P;if(B&&W>F||I&&W<F)return X-N;return 0},Q=J.y,U=J.y+J.height,G=this.viewport.y,j=this.viewport.y+this.viewport.height,q=Z(Q,U,G,j),K=J.x,_=J.x+J.width,D=this.viewport.x,z=this.viewport.x+this.viewport.width,H=Z(K,_,D,z);if(H!==0||q!==0)this.scrollBy({x:H,y:q})}scrollTo($){if(typeof $==="number")this.scrollTop=$;else this.scrollTop=$.y,this.scrollLeft=$.x}isAtStickyPosition(){if(!this._stickyScroll||!this._stickyStart)return!1;let $=Math.max(0,this.scrollHeight-this.viewport.height),J=Math.max(0,this.scrollWidth-this.viewport.width);switch(this._stickyStart){case"top":return this.scrollTop===0;case"bottom":return this.scrollTop>=$;case"left":return this.scrollLeft===0;case"right":return this.scrollLeft>=J;default:return!1}}add($,J){return this.content.add($,J)}insertBefore($,J){return this.content.insertBefore($,J)}remove($){this.content.remove($)}getChildren(){return this.content.getChildren()}onMouseEvent($){if($.type==="scroll"){let J=$.scroll?.direction;if($.modifiers.shift)J=J==="up"?"left":J==="down"?"right":J==="right"?"down":"up";let Z=$.scroll?.delta??0,Q=Date.now(),U=this.scrollAccel.tick(Q),G=Z*U;if(J==="up"){this.scrollAccumulatorY-=G;let K=Math.trunc(this.scrollAccumulatorY);if(K!==0)this.scrollTop+=K,this.scrollAccumulatorY-=K}else if(J==="down"){this.scrollAccumulatorY+=G;let K=Math.trunc(this.scrollAccumulatorY);if(K!==0)this.scrollTop+=K,this.scrollAccumulatorY-=K}else if(J==="left"){this.scrollAccumulatorX-=G;let K=Math.trunc(this.scrollAccumulatorX);if(K!==0)this.scrollLeft+=K,this.scrollAccumulatorX-=K}else if(J==="right"){this.scrollAccumulatorX+=G;let K=Math.trunc(this.scrollAccumulatorX);if(K!==0)this.scrollLeft+=K,this.scrollAccumulatorX-=K}let j=Math.max(0,this.scrollHeight-this.viewport.height),q=Math.max(0,this.scrollWidth-this.viewport.width);if(j>1||q>1)this._hasManualScroll=!0}if($.type==="drag"&&$.isDragging)this.updateAutoScroll($.x,$.y);else if($.type==="up")this.stopAutoScroll()}handleKeyPress($){if(this.verticalScrollBar.handleKeyPress($))return this._hasManualScroll=!0,this.scrollAccel.reset(),this.resetScrollAccumulators(),!0;if(this.horizontalScrollBar.handleKeyPress($))return this._hasManualScroll=!0,this.scrollAccel.reset(),this.resetScrollAccumulators(),!0;return!1}resetScrollAccumulators(){this.scrollAccumulatorX=0,this.scrollAccumulatorY=0}startAutoScroll($,J){if(this.stopAutoScroll(),this.autoScrollMouseX=$,this.autoScrollMouseY=J,this.cachedAutoScrollSpeed=this.getAutoScrollSpeed($,J),this.isAutoScrolling=!0,!this.live)this.live=!0}updateAutoScroll($,J){this.autoScrollMouseX=$,this.autoScrollMouseY=J,this.cachedAutoScrollSpeed=this.getAutoScrollSpeed($,J);let Z=this.getAutoScrollDirectionX($),Q=this.getAutoScrollDirectionY(J);if(Z===0&&Q===0)this.stopAutoScroll();else if(!this.isAutoScrolling)this.startAutoScroll($,J)}stopAutoScroll(){let $=this.isAutoScrolling;if(this.isAutoScrolling=!1,this.autoScrollAccumulatorX=0,this.autoScrollAccumulatorY=0,$&&!this.hasOtherLiveReasons())this.live=!1}hasOtherLiveReasons(){return!1}handleAutoScroll($){if(!this.isAutoScrolling)return;let J=this.getAutoScrollDirectionX(this.autoScrollMouseX),Z=this.getAutoScrollDirectionY(this.autoScrollMouseY),Q=this.cachedAutoScrollSpeed*($/1000),U=!1;if(J!==0){this.autoScrollAccumulatorX+=J*Q;let G=Math.trunc(this.autoScrollAccumulatorX);if(G!==0)this.scrollLeft+=G,this.autoScrollAccumulatorX-=G,U=!0}if(Z!==0){this.autoScrollAccumulatorY+=Z*Q;let G=Math.trunc(this.autoScrollAccumulatorY);if(G!==0)this.scrollTop+=G,this.autoScrollAccumulatorY-=G,U=!0}if(U)this._ctx.requestSelectionUpdate();if(J===0&&Z===0)this.stopAutoScroll()}getAutoScrollDirectionX($){let J=$-this.x,Z=J,Q=this.width-J;if(Z<=this.autoScrollThresholdHorizontal)return this.scrollLeft>0?-1:0;else if(Q<=this.autoScrollThresholdHorizontal){let U=this.scrollWidth-this.viewport.width;return this.scrollLeft<U?1:0}return 0}getAutoScrollDirectionY($){let J=$-this.y,Z=J,Q=this.height-J;if(Z<=this.autoScrollThresholdVertical)return this.scrollTop>0?-1:0;else if(Q<=this.autoScrollThresholdVertical){let U=this.scrollHeight-this.viewport.height;return this.scrollTop<U?1:0}return 0}getAutoScrollSpeed($,J){let Z=$-this.x,Q=J-this.y,U=Z,G=this.width-Z,j=Q,q=this.height-Q,K=Math.min(U,G,j,q);if(K<=1)return this.autoScrollSpeedFast;else if(K<=2)return this.autoScrollSpeedMedium;else return this.autoScrollSpeedSlow}recalculateBarProps(){let $=this._isApplyingStickyScroll;this._isApplyingStickyScroll=!0;try{if(this.verticalScrollBar.scrollSize=this.content.height,this.verticalScrollBar.viewportSize=this.viewport.height,this.horizontalScrollBar.scrollSize=this.content.width,this.horizontalScrollBar.viewportSize=this.viewport.width,this._stickyScroll){let J=Math.max(0,this.scrollHeight-this.viewport.height),Z=Math.max(0,this.scrollWidth-this.viewport.width);if(this._stickyStart&&!this._hasManualScroll)this.applyStickyStart(this._stickyStart);else{if(this._stickyScrollTop)this.scrollTop=0;else if(this._stickyScrollBottom&&J>0)this.scrollTop=J;if(this._stickyScrollLeft)this.scrollLeft=0;else if(this._stickyScrollRight&&Z>0)this.scrollLeft=Z}}}finally{this._isApplyingStickyScroll=$}process.nextTick(()=>{this.requestRender()})}set padding($){this.content.padding=$,this.requestRender()}set paddingX($){this.content.paddingX=$,this.requestRender()}set paddingY($){this.content.paddingY=$,this.requestRender()}set paddingTop($){this.content.paddingTop=$,this.requestRender()}set paddingRight($){this.content.paddingRight=$,this.requestRender()}set paddingBottom($){this.content.paddingBottom=$,this.requestRender()}set paddingLeft($){this.content.paddingLeft=$,this.requestRender()}set rootOptions($){Object.assign(this,$),this.requestRender()}set wrapperOptions($){Object.assign(this.wrapper,$),this.requestRender()}set viewportOptions($){Object.assign(this.viewport,$),this.requestRender()}set contentOptions($){Object.assign(this.content,$),this.requestRender()}set scrollbarOptions($){Object.assign(this.verticalScrollBar,$),Object.assign(this.horizontalScrollBar,$),this.requestRender()}set verticalScrollbarOptions($){Object.assign(this.verticalScrollBar,$),this.requestRender()}set horizontalScrollbarOptions($){Object.assign(this.horizontalScrollBar,$),this.requestRender()}get scrollAcceleration(){return this.scrollAccel}set scrollAcceleration($){this.scrollAccel=$}get viewportCulling(){return this.content.viewportCulling}set viewportCulling($){this.content.viewportCulling=$,this.requestRender()}destroySelf(){if(this.selectionListener)this._ctx.off("selection",this.selectionListener),this.selectionListener=void 0;super.destroySelf()}}var P9=[{name:"up",action:"move-up"},{name:"k",action:"move-up"},{name:"down",action:"move-down"},{name:"j",action:"move-down"},{name:"up",shift:!0,action:"move-up-fast"},{name:"down",shift:!0,action:"move-down-fast"},{name:"return",action:"select-current"},{name:"linefeed",action:"select-current"}],d9;(($)=>{$.SELECTION_CHANGED="selectionChanged",$.ITEM_SELECTED="itemSelected"})(d9||={});class UJ extends Q0{_focusable=!0;_options=[];_selectedIndex=0;scrollOffset=0;maxVisibleItems;_backgroundColor;_textColor;_focusedBackgroundColor;_focusedTextColor;_selectedBackgroundColor;_selectedTextColor;_descriptionColor;_selectedDescriptionColor;_showScrollIndicator;_wrapSelection;_showDescription;_font;_itemSpacing;linesPerItem;fontHeight;_fastScrollStep;_keyBindingsMap;_keyAliasMap;_keyBindings;_defaultOptions={backgroundColor:"transparent",textColor:"#FFFFFF",focusedBackgroundColor:"#1a1a1a",focusedTextColor:"#FFFFFF",selectedBackgroundColor:"#334455",selectedTextColor:"#FFFF00",selectedIndex:0,descriptionColor:"#888888",selectedDescriptionColor:"#CCCCCC",showScrollIndicator:!1,wrapSelection:!1,showDescription:!0,itemSpacing:0,fastScrollStep:5};constructor($,J){super($,{...J,buffered:!0});this._options=J.options||[];let Z=J.selectedIndex??this._defaultOptions.selectedIndex;this._selectedIndex=this._options.length>0?Math.min(Z,this._options.length-1):0,this._backgroundColor=E(J.backgroundColor||this._defaultOptions.backgroundColor),this._textColor=E(J.textColor||this._defaultOptions.textColor),this._focusedBackgroundColor=E(J.focusedBackgroundColor||this._defaultOptions.focusedBackgroundColor),this._focusedTextColor=E(J.focusedTextColor||this._defaultOptions.focusedTextColor),this._showScrollIndicator=J.showScrollIndicator??this._defaultOptions.showScrollIndicator,this._wrapSelection=J.wrapSelection??this._defaultOptions.wrapSelection,this._showDescription=J.showDescription??this._defaultOptions.showDescription,this._font=J.font,this._itemSpacing=J.itemSpacing||this._defaultOptions.itemSpacing,this.fontHeight=this._font?b8({text:"A",font:this._font}).height:1,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this._selectedBackgroundColor=E(J.selectedBackgroundColor||this._defaultOptions.selectedBackgroundColor),this._selectedTextColor=E(J.selectedTextColor||this._defaultOptions.selectedTextColor),this._descriptionColor=E(J.descriptionColor||this._defaultOptions.descriptionColor),this._selectedDescriptionColor=E(J.selectedDescriptionColor||this._defaultOptions.selectedDescriptionColor),this._fastScrollStep=J.fastScrollStep||this._defaultOptions.fastScrollStep,this._keyAliasMap=E8(A8,J.keyAliasMap||{}),this._keyBindings=J.keyBindings||[];let Q=p0(P9,this._keyBindings);this._keyBindingsMap=c0(Q,this._keyAliasMap),this.requestRender()}renderSelf($,J){if(!this.visible||!this.frameBuffer)return;if(this.isDirty)this.refreshFrameBuffer()}refreshFrameBuffer(){if(!this.frameBuffer)return;let $=this._focused?this._focusedBackgroundColor:this._backgroundColor;if(this.frameBuffer.clear($),this._options.length===0)return;let J=0,Z=0,Q=this.width,U=this.height,G=this._options.slice(this.scrollOffset,this.scrollOffset+this.maxVisibleItems);for(let j=0;j<G.length;j++){let q=this.scrollOffset+j,K=G[j],_=q===this._selectedIndex,D=Z+j*this.linesPerItem;if(D+this.linesPerItem-1>=Z+U)break;if(_){let P=this.linesPerItem-this._itemSpacing;this.frameBuffer.fillRect(J,D,Q,P,this._selectedBackgroundColor)}let z=`${_?"\u25B6 ":" "}${K.name}`,H=this._focused?this._focusedTextColor:this._textColor,O=_?this._selectedTextColor:H,X=J+3;if(this._font){let P=_?"\u25B6 ":" ";this.frameBuffer.drawText(P,J+1,D,O);let N=2;C$(this.frameBuffer,{text:K.name,x:J+1+N,y:D,color:O,backgroundColor:_?this._selectedBackgroundColor:$,font:this._font}),X=J+1+N}else this.frameBuffer.drawText(z,J+1,D,O);if(this._showDescription&&D+this.fontHeight<Z+U){let P=_?this._selectedDescriptionColor:this._descriptionColor;this.frameBuffer.drawText(K.description,X,D+this.fontHeight,P)}}if(this._showScrollIndicator&&this._options.length>this.maxVisibleItems)this.renderScrollIndicatorToFrameBuffer(J,Z,Q,U)}renderScrollIndicatorToFrameBuffer($,J,Z,Q){if(!this.frameBuffer)return;let U=this._selectedIndex/Math.max(1,this._options.length-1),G=Math.max(1,Q-2),j=J+1+Math.floor(U*G),q=$+Z-1;this.frameBuffer.drawText("\u2588",q,j,E("#666666"))}get options(){return this._options}set options($){this._options=$,this._selectedIndex=Math.min(this._selectedIndex,Math.max(0,$.length-1)),this.updateScrollOffset(),this.requestRender()}getSelectedOption(){return this._options[this._selectedIndex]||null}getSelectedIndex(){return this._selectedIndex}moveUp($=1){let J=this._selectedIndex-$;if(J>=0)this._selectedIndex=J;else if(this._wrapSelection&&this._options.length>0)this._selectedIndex=this._options.length-1;else this._selectedIndex=0;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}moveDown($=1){let J=this._selectedIndex+$;if(J<this._options.length)this._selectedIndex=J;else if(this._wrapSelection&&this._options.length>0)this._selectedIndex=0;else this._selectedIndex=this._options.length-1;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}selectCurrent(){let $=this.getSelectedOption();if($)this.emit("itemSelected",this._selectedIndex,$)}setSelectedIndex($){if($>=0&&$<this._options.length)this._selectedIndex=$,this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}updateScrollOffset(){if(!this._options)return;let $=Math.floor(this.maxVisibleItems/2),J=Math.max(0,Math.min(this._selectedIndex-$,this._options.length-this.maxVisibleItems));if(J!==this.scrollOffset)this.scrollOffset=J,this.requestRender()}onResize($,J){this.maxVisibleItems=Math.max(1,Math.floor(J/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}handleKeyPress($){let J=I6(this._keyBindingsMap,$);if(J)switch(J){case"move-up":return this.moveUp(1),!0;case"move-down":return this.moveDown(1),!0;case"move-up-fast":return this.moveUp(this._fastScrollStep),!0;case"move-down-fast":return this.moveDown(this._fastScrollStep),!0;case"select-current":return this.selectCurrent(),!0}return!1}get showScrollIndicator(){return this._showScrollIndicator}set showScrollIndicator($){this._showScrollIndicator=$,this.requestRender()}get showDescription(){return this._showDescription}set showDescription($){if(this._showDescription!==$)this._showDescription=$,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}get wrapSelection(){return this._wrapSelection}set wrapSelection($){this._wrapSelection=$}set backgroundColor($){let J=E($??this._defaultOptions.backgroundColor);if(this._backgroundColor!==J)this._backgroundColor=J,this.requestRender()}set textColor($){let J=E($??this._defaultOptions.textColor);if(this._textColor!==J)this._textColor=J,this.requestRender()}set focusedBackgroundColor($){let J=E($??this._defaultOptions.focusedBackgroundColor);if(this._focusedBackgroundColor!==J)this._focusedBackgroundColor=J,this.requestRender()}set focusedTextColor($){let J=E($??this._defaultOptions.focusedTextColor);if(this._focusedTextColor!==J)this._focusedTextColor=J,this.requestRender()}set selectedBackgroundColor($){let J=E($??this._defaultOptions.selectedBackgroundColor);if(this._selectedBackgroundColor!==J)this._selectedBackgroundColor=J,this.requestRender()}set selectedTextColor($){let J=E($??this._defaultOptions.selectedTextColor);if(this._selectedTextColor!==J)this._selectedTextColor=J,this.requestRender()}set descriptionColor($){let J=E($??this._defaultOptions.descriptionColor);if(this._descriptionColor!==J)this._descriptionColor=J,this.requestRender()}set selectedDescriptionColor($){let J=E($??this._defaultOptions.selectedDescriptionColor);if(this._selectedDescriptionColor!==J)this._selectedDescriptionColor=J,this.requestRender()}set font($){this._font=$,this.fontHeight=b8({text:"A",font:this._font}).height,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}set itemSpacing($){this._itemSpacing=$,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}set fastScrollStep($){this._fastScrollStep=$}set keyBindings($){this._keyBindings=$;let J=p0(P9,$);this._keyBindingsMap=c0(J,this._keyAliasMap)}set keyAliasMap($){this._keyAliasMap=E8(A8,$);let J=p0(P9,this._keyBindings);this._keyBindingsMap=c0(J,this._keyAliasMap)}set selectedIndex($){let J=$??this._defaultOptions.selectedIndex,Z=this._options.length>0?Math.min(Math.max(0,J),this._options.length-1):0;if(this._selectedIndex!==Z)this._selectedIndex=Z,this.updateScrollOffset(),this.requestRender()}}var W9=[{name:"left",action:"move-left"},{name:"[",action:"move-left"},{name:"right",action:"move-right"},{name:"]",action:"move-right"},{name:"return",action:"select-current"},{name:"linefeed",action:"select-current"}],a9;(($)=>{$.SELECTION_CHANGED="selectionChanged",$.ITEM_SELECTED="itemSelected"})(a9||={});function H4($,J){let Z=1;if($)Z+=1;if(J)Z+=1;return Z}class GJ extends Q0{_focusable=!0;_options=[];selectedIndex=0;scrollOffset=0;_tabWidth;maxVisibleTabs;_backgroundColor;_textColor;_focusedBackgroundColor;_focusedTextColor;_selectedBackgroundColor;_selectedTextColor;_selectedDescriptionColor;_showScrollArrows;_showDescription;_showUnderline;_wrapSelection;_keyBindingsMap;_keyAliasMap;_keyBindings;constructor($,J){let Z=H4(J.showUnderline??!0,J.showDescription??!0);super($,{...J,height:Z,buffered:!0});this._backgroundColor=E(J.backgroundColor||"transparent"),this._textColor=E(J.textColor||"#FFFFFF"),this._focusedBackgroundColor=E(J.focusedBackgroundColor||J.backgroundColor||"#1a1a1a"),this._focusedTextColor=E(J.focusedTextColor||J.textColor||"#FFFFFF"),this._options=J.options||[],this._tabWidth=J.tabWidth||20,this._showDescription=J.showDescription??!0,this._showUnderline=J.showUnderline??!0,this._showScrollArrows=J.showScrollArrows??!0,this._wrapSelection=J.wrapSelection??!1,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this._selectedBackgroundColor=E(J.selectedBackgroundColor||"#334455"),this._selectedTextColor=E(J.selectedTextColor||"#FFFF00"),this._selectedDescriptionColor=E(J.selectedDescriptionColor||"#CCCCCC"),this._keyAliasMap=E8(A8,J.keyAliasMap||{}),this._keyBindings=J.keyBindings||[];let Q=p0(W9,this._keyBindings);this._keyBindingsMap=c0(Q,this._keyAliasMap)}calculateDynamicHeight(){return H4(this._showUnderline,this._showDescription)}renderSelf($,J){if(!this.visible||!this.frameBuffer)return;if(this.isDirty)this.refreshFrameBuffer()}refreshFrameBuffer(){if(!this.frameBuffer)return;let $=this._focused?this._focusedBackgroundColor:this._backgroundColor;if(this.frameBuffer.clear($),this._options.length===0)return;let J=0,Z=0,Q=this.width,U=this.height,G=this._options.slice(this.scrollOffset,this.scrollOffset+this.maxVisibleTabs);for(let j=0;j<G.length;j++){let q=this.scrollOffset+j,K=G[j],_=q===this.selectedIndex,D=J+j*this._tabWidth;if(D>=J+Q)break;let z=Math.min(this._tabWidth,Q-j*this._tabWidth);if(_)this.frameBuffer.fillRect(D,Z,z,1,this._selectedBackgroundColor);let H=this._focused?this._focusedTextColor:this._textColor,O=_?this._selectedTextColor:H,X=this.truncateText(K.name,z-2);if(this.frameBuffer.drawText(X,D+1,Z,O),_&&this._showUnderline&&U>=2){let P=Z+1,N=_?this._selectedBackgroundColor:$;this.frameBuffer.drawText("\u25AC".repeat(z),D,P,O,N)}}if(this._showDescription&&U>=(this._showUnderline?3:2)){let j=this.getSelectedOption();if(j){let q=Z+(this._showUnderline?2:1),K=this._selectedDescriptionColor,_=this.truncateText(j.description,Q-2);this.frameBuffer.drawText(_,J+1,q,K)}}if(this._showScrollArrows&&this._options.length>this.maxVisibleTabs)this.renderScrollArrowsToFrameBuffer(J,Z,Q,U)}truncateText($,J){if($.length<=J)return $;return $.substring(0,Math.max(0,J-1))+"\u2026"}renderScrollArrowsToFrameBuffer($,J,Z,Q){if(!this.frameBuffer)return;let U=this.scrollOffset>0,G=this.scrollOffset+this.maxVisibleTabs<this._options.length;if(U)this.frameBuffer.drawText("\u2039",$,J,E("#AAAAAA"));if(G)this.frameBuffer.drawText("\u203A",$+Z-1,J,E("#AAAAAA"))}setOptions($){this._options=$,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,$.length-1)),this.updateScrollOffset(),this.requestRender()}getSelectedOption(){return this._options[this.selectedIndex]||null}getSelectedIndex(){return this.selectedIndex}moveLeft(){if(this.selectedIndex>0)this.selectedIndex--;else if(this._wrapSelection&&this._options.length>0)this.selectedIndex=this._options.length-1;else return;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}moveRight(){if(this.selectedIndex<this._options.length-1)this.selectedIndex++;else if(this._wrapSelection&&this._options.length>0)this.selectedIndex=0;else return;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}selectCurrent(){let $=this.getSelectedOption();if($)this.emit("itemSelected",this.selectedIndex,$)}setSelectedIndex($){if($>=0&&$<this._options.length)this.selectedIndex=$,this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}updateScrollOffset(){let $=Math.floor(this.maxVisibleTabs/2),J=Math.max(0,Math.min(this.selectedIndex-$,this._options.length-this.maxVisibleTabs));if(J!==this.scrollOffset)this.scrollOffset=J,this.requestRender()}onResize($,J){this.maxVisibleTabs=Math.max(1,Math.floor($/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}setTabWidth($){if(this._tabWidth===$)return;this._tabWidth=$,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}getTabWidth(){return this._tabWidth}handleKeyPress($){let J=I6(this._keyBindingsMap,$);if(J)switch(J){case"move-left":return this.moveLeft(),!0;case"move-right":return this.moveRight(),!0;case"select-current":return this.selectCurrent(),!0}return!1}get options(){return this._options}set options($){this._options=$,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,$.length-1)),this.updateScrollOffset(),this.requestRender()}set backgroundColor($){this._backgroundColor=E($),this.requestRender()}set textColor($){this._textColor=E($),this.requestRender()}set focusedBackgroundColor($){this._focusedBackgroundColor=E($),this.requestRender()}set focusedTextColor($){this._focusedTextColor=E($),this.requestRender()}set selectedBackgroundColor($){this._selectedBackgroundColor=E($),this.requestRender()}set selectedTextColor($){this._selectedTextColor=E($),this.requestRender()}set selectedDescriptionColor($){this._selectedDescriptionColor=E($),this.requestRender()}get showDescription(){return this._showDescription}set showDescription($){if(this._showDescription!==$){this._showDescription=$;let J=this.calculateDynamicHeight();this.height=J,this.requestRender()}}get showUnderline(){return this._showUnderline}set showUnderline($){if(this._showUnderline!==$){this._showUnderline=$;let J=this.calculateDynamicHeight();this.height=J,this.requestRender()}}get showScrollArrows(){return this._showScrollArrows}set showScrollArrows($){if(this._showScrollArrows!==$)this._showScrollArrows=$,this.requestRender()}get wrapSelection(){return this._wrapSelection}set wrapSelection($){this._wrapSelection=$}get tabWidth(){return this._tabWidth}set tabWidth($){if(this._tabWidth===$)return;this._tabWidth=$,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}set keyBindings($){this._keyBindings=$;let J=p0(W9,$);this._keyBindingsMap=c0(J,this._keyAliasMap)}set keyAliasMap($){this._keyAliasMap=E8(A8,$);let J=p0(W9,this._keyBindings);this._keyBindingsMap=c0(J,this._keyAliasMap)}}class s9 extends Q0{_runtimeMs=null;textColor;label;precision;constructor($,J={}){super($,{width:"100%",height:1,flexShrink:0,alignSelf:"center",...J});this.textColor=E(J.fg??"#AAAAAA"),this.label=J.label??"Time to first draw",this.precision=this.normalizePrecision(J.precision??2)}get runtimeMs(){return this._runtimeMs}set fg($){this.textColor=E($),this.requestRender()}set color($){this.fg=$}set textLabel($){if($===this.label)return;this.label=$,this.requestRender()}set decimals($){let J=this.normalizePrecision($);if(J===this.precision)return;this.precision=J,this.requestRender()}reset(){this._runtimeMs=null,this.requestRender()}renderSelf($){if(this._runtimeMs===null)this._runtimeMs=performance.now();let J=`${this.label}: ${this._runtimeMs.toFixed(this.precision)}ms`,Z=Math.max(this.width,1),Q=J.length>Z?J.slice(0,Z):J,U=this.x+Math.max(0,Math.floor((Z-Q.length)/2));$.drawText(Q,U,this.y,this.textColor)}normalizePrecision($){if(!Number.isFinite($))return 2;return Math.max(0,Math.floor($))}}export{qZ as yellow,M$ as wrapWithDelegates,YZ as white,$2 as vstyles,QZ as visualizeRenderableTree,Z9 as updateAssets,yZ as underline,V6 as treeSitterToTextChunks,$9 as treeSitterToStyledText,mZ as terminalNamedSingleStrokeKeys,gZ as t,E6 as stripAnsiSequences,f8 as stringToStyledText,RZ as strikethrough,u4 as setupAudio,G9 as setRenderLibPath,oJ as rgbToHex,kZ as reverse,E0 as resolveRenderLib,p4 as resolveCoreSlot,C$ as renderFontToFrameBuffer,Y0 as registerEnvVar,h4 as registerCorePlugin,GZ as red,S7 as pathToFiletype,t$ as parseWrap,rZ as parseUnit,n$ as parsePositionType,o$ as parseOverflow,lZ as parseMeasureMode,sZ as parseLogLevel,a$ as parseKeypress,i$ as parseJustify,aZ as parseGutter,r$ as parseFlexDirection,dZ as parseEdge,uZ as parseDisplay,cZ as parseDirection,pZ as parseDimension,E as parseColor,hZ as parseBoxSizing,g8 as parseBorderStyle,l$ as parseAlignItems,s$ as parseAlign,M6 as normalizeTerminalPalette,G6 as normalizeIndexedColorIndex,d$ as normalizeColorValue,E7 as nonAlphanumericKeys,b8 as measureText,$6 as maybeMakeRenderable,_Z as magenta,fZ as link,TZ as italic,O7 as isValidBorderStyle,b7 as isVNode,o8 as isTextNodeRenderable,M7 as isStyledText,F8 as isRenderable,S6 as isEditBufferRenderable,A$ as instantiate,P6 as infoStringToFiletype,nJ as hsvToRgb,N$ as hexToRgb,bZ as hastToStyledText,d0 as h,jZ as green,W6 as getTreeSitterClient,ZZ as getLinkId,I7 as getDataPaths,q6 as getCharacterPositions,P$ as getBorderSides,iJ as getBorderFromSides,$Z as getBaseAttributes,nZ as generateEnvMarkdown,tZ as generateEnvColored,P7 as fonts,A7 as fg,C7 as extensionToFiletype,O6 as extToFiletype,Z8 as envRegistry,K0 as env,T9 as engine,wZ as dim,R7 as detectLinks,q9 as delegate,v6 as defaultTextareaKeyBindings,A6 as decodePasteBytes,DZ as cyan,b4 as createTimeline,h0 as createTextAttributes,y7 as createTerminalPalette,y9 as createSlotRegistry,T7 as createExtmarksController,m4 as createCoreSlotRegistry,Y9 as createCliRenderer,W$ as coordinateToCharacterIndex,m7 as convertThemeToStyles,J$ as convertGlobalToLocalSelection,oZ as clearEnvCache,B$ as capture,e$ as buildTerminalPaletteSignature,c7 as buildKittyKeyboardFlags,XZ as brightYellow,NZ as brightWhite,zZ as brightRed,PZ as brightMagenta,HZ as brightGreen,WZ as brightCyan,OZ as brightBlue,VZ as brightBlack,N8 as borderCharsToArray,SZ as bold,KZ as blue,vZ as blink,UZ as black,EZ as bgYellow,CZ as bgWhite,MZ as bgRed,LZ as bgMagenta,AZ as bgGreen,IZ as bgCyan,BZ as bgBlue,FZ as bgBlack,xZ as bg,F$ as basenameToFiletype,JZ as attributesWithLink,X4 as applyScanlines,A4 as applySaturation,P4 as applyNoise,O4 as applyInvert,M4 as applyGain,W4 as applyChromaticAberration,F4 as applyBrightness,N4 as applyAsciiArt,j6 as ansi256IndexToRgb,J9 as addDefaultParsers,H7 as Yoga,o7 as VignetteEffect,e7 as VRenderable,H6 as TreeSitterClient,n7 as Timeline,s9 as TimeToFirstDrawRenderable,q8 as TextareaRenderable,L8 as TextTableRenderable,G$ as TextRenderable,M8 as TextNodeRenderable,U$ as TextBufferView,T$ as TextBufferRenderable,Q$ as TextBuffer,G0 as TextAttributes,s4 as Text,F6 as TerminalPalette,C6 as TerminalConsole,F7 as TargetChannel,a9 as TabSelectRenderableEvents,GJ as TabSelectRenderable,o4 as TabSelect,I4 as TRITANOPIA_SIM_MATRIX,y4 as TRITANOPIA_COMP_MATRIX,R4 as TECHNICOLOR_MATRIX,m8 as SystemClock,Q8 as SyntaxStyle,u0 as StyledText,Y6 as StdinParser,R9 as SlotRenderable,t7 as SlotRegistry,QJ as SliderRenderable,_6 as Selection,d9 as SelectRenderableEvents,UJ as SelectRenderable,i4 as Select,d6 as ScrollBoxRenderable,e4 as ScrollBox,g6 as ScrollBarRenderable,k4 as SYNTHWAVE_MATRIX,w4 as SOLARIZATION_MATRIX,E4 as SEPIA_MATRIX,L6 as RootTextNodeRenderable,x8 as RootRenderable,a7 as RendererControlState,f7 as RenderableEvents,Q0 as Renderable,C9 as RainbowTextEffect,l as RGBA,Z6 as PasteEvent,B4 as PROTANOPIA_SIM_MATRIX,S4 as PROTANOPIA_COMP_MATRIX,I0 as OptimizedBuffer,f6 as NativeSpanFeed,t8 as MouseParser,N0 as MouseEvent,u7 as MouseButton,u9 as MarkdownRenderable,B7 as MacOSScrollAccel,v7 as LogLevel,K6 as LinearScrollAccel,$J as LineNumberRenderable,x7 as LayoutEvents,L$ as KeyHandler,n8 as KeyEvent,I$ as InternalKeyHandler,k9 as InputRenderableEvents,c6 as InputRenderable,r4 as Input,f4 as INVERT_MATRIX,d4 as Generic,v4 as GREENSCALE_MATRIX,x4 as GRAYSCALE_MATRIX,h6 as FrameBufferRenderable,n4 as FrameBuffer,L9 as FlamesEffect,N6 as ExtmarksController,S$ as EditorView,p7 as EditBufferRenderableEvents,T6 as EditBufferRenderable,s0 as EditBuffer,A9 as DistortionEffect,w9 as DiffRenderable,N7 as DebugOverlayCorner,X6 as DataPathsManager,L4 as DEUTERANOPIA_SIM_MATRIX,T4 as DEUTERANOPIA_COMP_MATRIX,Q6 as DEFAULT_FOREGROUND_RGB,U6 as DEFAULT_BACKGROUND_RGB,h7 as ConsolePosition,X0 as CodeRenderable,t4 as Code,B9 as CloudsEffect,y$ as CliRenderer,d7 as CliRenderEvents,I9 as CRTRollingBarEffect,y0 as BoxRenderable,a4 as Box,i8 as BorderChars,J6 as BorderCharArrays,S9 as BloomEffect,h8 as BaseRenderable,m6 as Audio,b6 as ArrowRenderable,W7 as ATTRIBUTE_BASE_MASK,eJ as ATTRIBUTE_BASE_BITS,D6 as ASCIIFontSelectionHelper,p6 as ASCIIFontRenderable,l4 as ASCIIFont,C4 as ACHROMATOPSIA_MATRIX};